Packaging hints for binary package distributors =============================================== Although the source of the gettext package comes as a single package, I recommend that in distributions of binary packages the installed files be split into five packages: gettext-runtime Contents: Runtime libraries and programs. Audience: Anyone who wants to run internationalized programs. gettext-runtime-d Contents: Runtime libraries specifically for the D programming language. Audience: Anyone who wants to run internationalized D programs. Dependencies: requires gettext-runtime. gettext-runtime-m2 Contents: Runtime libraries specifically for the Modula-2 programming language. Audience: Anyone who wants to run internationalized Modula-2 programs. Dependencies: requires gettext-runtime. libtextstyle Contents: Text styling library. Audience: Anyone who wants to run or develop programs that produce styled text, to be displayed in a terminal emulator. gettext-tools Contents: Tools and documentation for developers and translators. Audience: Anyone who wants to develop or localize internationalized programs, i.e. developers and translators. Dependencies: requires gettext-runtime. The 'gettext-runtime' binary package is much smaller than the 'gettext-tools' binary package (420 KB versus 5.5 MB). I recommend to include it in the default installation list, like GNU 'coreutils'; in fact, the runtime programs are utilities for sh programs. The three 'gettext-runtime*' binary packages can be installed by doing cd gettext-runtime ./configure make make install The 'libtextstyle' binary package can be installed by doing cd libtextstyle ./configure make make install The 'gettext-tools' binary package can be installed by building 'gettext-runtime' first, and then cd gettext-tools ./configure --with-installed-libtextstyle --with-installed-csharp-dll make make install If you want to install all five at the same time, you simply do at the top-level directory: ./configure make make install The precise split between gettext-runtime, gettext-runtime-d, gettext-runtime-m2, libtextstyle, and gettext-tools is according to the following file list. gettext-runtime $prefix/share/gettext/ABOUT-NLS $prefix/bin/gettext $prefix/bin/ngettext $prefix/bin/printf_gettext $prefix/bin/printf_ngettext $prefix/bin/envsubst $prefix/bin/gettext.sh $prefix/share/man/man1/gettext.1 $prefix/share/man/man1/ngettext.1 $prefix/share/man/man1/printf_gettext.1 $prefix/share/man/man1/printf_ngettext.1 $prefix/share/man/man1/envsubst.1 $prefix/share/doc/gettext/gettext.1.html $prefix/share/doc/gettext/ngettext.1.html $prefix/share/doc/gettext/printf_gettext.1.html $prefix/share/doc/gettext/printf_ngettext.1.html $prefix/share/doc/gettext/envsubst.1.html $prefix/share/locale/*/LC_MESSAGES/gettext-runtime.mo $prefix/lib/libintl.* (not installed on glibc and Solaris 11 systems) $prefix/include/libintl.h (not installed on glibc and Solaris 11 systems) $prefix/share/man/man3/* $prefix/share/doc/gettext/*.3.html $prefix/share/gettext/libintl.jar $prefix/share/doc/gettext/javadoc2/* $prefix/lib/GNU.Gettext.dll $prefix/lib/gettext/GNU.Gettext.dll $prefix/share/doc/gettext/csharpdoc/* $prefix/lib/libasprintf.* $prefix/include/autosprintf.h $prefix/share/doc/libasprintf/autosprintf*.html $prefix/share/info/autosprintf.info gettext-runtime-d $prefix/lib/libintl_d.a $prefix/include/d/gnu/libintl/package.d $prefix/include/d/gnu/libintl/libintl.d $prefix/include/d/gnu/libintl/internal/low.d gettext-runtime-m2 $prefix/lib/libintl_m2.* $prefix/include/m2/Libintl.def libtextstyle $prefix/lib/libtextstyle.* $prefix/include/textstyle.h $prefix/include/textstyle/* $prefix/share/doc/libtextstyle/libtextstyle*.html $prefix/share/info/libtextstyle.info gettext-tools Everything else, i.e. currently: $prefix/bin/msg* $prefix/bin/xgettext $prefix/bin/gettextize $prefix/bin/autopoint $prefix/bin/po-fetch $prefix/bin/recode* $prefix/bin/spit $prefix/share/man/man1/msg*.1 $prefix/share/man/man1/xgettext.1 $prefix/share/man/man1/gettextize.1 $prefix/share/man/man1/autopoint.1 $prefix/share/man/man1/po-fetch.1 $prefix/share/man/man1/recode*.1 $prefix/share/man/man1/spit.1 $prefix/share/doc/gettext/msg*.1.html $prefix/share/doc/gettext/xgettext.1.html $prefix/share/doc/gettext/gettextize.1.html $prefix/share/doc/gettext/autopoint.1.html $prefix/share/doc/gettext/po-fetch.1.html $prefix/share/doc/gettext/recode*.1.html $prefix/share/doc/gettext/spit.1.html $prefix/share/doc/gettext/gettext_*.html $prefix/share/doc/gettext/FAQ.html $prefix/share/doc/gettext/tutorial.html $prefix/share/doc/gettext/examples/* $prefix/share/info/gettext.info $prefix/include/gettext-po.h $prefix/lib/libgettextlib* $prefix/lib/libgettextsrc* $prefix/lib/libgettextpo* $prefix/lib/preloadable_libintl.so (only installed on glibc systems; actually installed by gettext-runtime's "make install") $prefix/lib/gettext/* $prefix/libexec/gettext/* $prefix/share/locale/*/LC_MESSAGES/gettext-tools.mo $prefix/share/gettext/config.rpath $prefix/share/gettext/m4/build-to-host.m4 $prefix/share/gettext/m4/gettext.m4 $prefix/share/gettext/m4/host-cpu-c-abi.m4 $prefix/share/gettext/m4/iconv.m4 $prefix/share/gettext/m4/intlmacosx.m4 $prefix/share/gettext/m4/lib-ld.m4 $prefix/share/gettext/m4/lib-link.m4 $prefix/share/gettext/m4/lib-prefix.m4 $prefix/share/gettext/m4/nls.m4 $prefix/share/gettext/m4/po.m4 $prefix/share/gettext/m4/progtest.m4 $prefix/share/gettext/po/* $prefix/share/gettext/projects/* $prefix/share/gettext/schema/* $prefix/share/gettext/styles/* $prefix/share/gettext/gettext.h $prefix/share/gettext/gettext.jar $prefix/share/gettext/javaversion.class $prefix/share/gettext/msgunfmt.tcl $prefix/share/gettext/archive.git.tar.* $prefix/share/gettext/archive.dir.tar.* (only installed if --without-git specified) $prefix/share/gettext/archive.cvs.tar.* (only installed if --with-cvs specified) $prefix/share/gettext/disclaim-translations.txt $prefix/share/gettext-$VERSION/its/* $prefix/share/aclocal/nls.m4 $prefix/share/emacs/site-lisp/po-compat.el $prefix/share/emacs/site-lisp/po-compat.elc $prefix/share/emacs/site-lisp/po-mode.el $prefix/share/emacs/site-lisp/po-mode.elc $prefix/share/emacs/site-lisp/start-po.el $prefix/share/emacs/site-lisp/start-po.elc Java support: ------------- If some Java implementation is available, two programs will be compiled to Java bytecode: $prefix/share/gettext/gettext.jar and the gettext-tools package will therefore have a runtime dependency to the Java virtual machine (OpenJDK, Oracle Java, IBM Java, or other). C# support: ----------- For C# support, either mono or dotnet must be available at build time and at run time.