diff --git a/.gitignore b/.gitignore index e69de29..664f03a 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/gettext-0.*.tar.xz diff --git a/STAGE2-gettext b/STAGE2-gettext new file mode 100644 index 0000000..dd61b05 --- /dev/null +++ b/STAGE2-gettext @@ -0,0 +1,9 @@ +#requires bison +#requires libtool + +mcd $BUILDDIR/gettext + +$SRC/gettext-*/configure $TCONFIGARGS --disable-static --enable-shared --with-pic-=yes --disable-csharp --disable-rpath + +make $J +make $J install diff --git a/gettext-0.21-gnulib-perror-tests.patch b/gettext-0.21-gnulib-perror-tests.patch new file mode 100644 index 0000000..983264d --- /dev/null +++ b/gettext-0.21-gnulib-perror-tests.patch @@ -0,0 +1,44 @@ +From 175e0bc72808d564074c4adcc72aeadb74adfcc6 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Thu, 27 Aug 2020 17:52:58 -0700 +Subject: [PATCH] perror, strerror_r: remove unportable tests + +Problem reported by Florian Weimer in: +https://lists.gnu.org/r/bug-gnulib/2020-08/msg00220.html +* tests/test-perror2.c (main): +* tests/test-strerror_r.c (main): Omit unportable tests. +--- + ChangeLog | 8 ++++++++ + tests/test-perror2.c | 3 --- + tests/test-strerror_r.c | 3 --- + 3 files changed, 8 insertions(+), 6 deletions(-) + +diff --git a/gettext-tools/gnulib-tests/test-perror2.c b/gettext-tools/gnulib-tests/test-perror2.c +index 1d14eda7b..c6214dd25 100644 +--- a/gettext-tools/gnulib-tests/test-perror2.c ++++ b/gettext-tools/gnulib-tests/test-perror2.c +@@ -79,9 +79,6 @@ main (void) + errno = -5; + perror (""); + ASSERT (!ferror (stderr)); +- ASSERT (msg1 == msg2 || msg1 == msg4 || STREQ (msg1, str1)); +- ASSERT (msg2 == msg4 || STREQ (msg2, str2)); +- ASSERT (msg3 == msg4 || STREQ (msg3, str3)); + ASSERT (STREQ (msg4, str4)); + + free (str1); +diff --git a/gettext-tools/gnulib-tests/test-strerror_r.c b/gettext-tools/gnulib-tests/test-strerror_r.c +index b11d6fd9f..c1dbcf837 100644 +--- a/gettext-tools/gnulib-tests/test-strerror_r.c ++++ b/gettext-tools/gnulib-tests/test-strerror_r.c +@@ -165,9 +165,6 @@ main (void) + + strerror_r (EACCES, buf, sizeof buf); + strerror_r (-5, buf, sizeof buf); +- ASSERT (msg1 == msg2 || msg1 == msg4 || STREQ (msg1, str1)); +- ASSERT (msg2 == msg4 || STREQ (msg2, str2)); +- ASSERT (msg3 == msg4 || STREQ (msg3, str3)); + ASSERT (STREQ (msg4, str4)); + + free (str1); + diff --git a/gettext-msgmerge-for-msgfmt.patch b/gettext-msgmerge-for-msgfmt.patch new file mode 100644 index 0000000..ba85080 --- /dev/null +++ b/gettext-msgmerge-for-msgfmt.patch @@ -0,0 +1,82 @@ +From 2336451ed68d91ff4b5ae1acbc1eca30e47a86a9 Mon Sep 17 00:00:00 2001 +From: Bruno Haible +Date: Sun, 19 May 2019 13:10:06 +0200 +Subject: [PATCH] msgmerge: Fix behaviour of --for-msgfmt on PO files with no + translations. + +Reported by Don Lawrence +in +via Daiki Ueno +in . + +* gettext-tools/src/msgmerge.c (main): Treat force_po like true if for_msgfmt +is true. +* gettext-tools/tests/msgmerge-26: Add test of PO file with no translations. +--- + gettext-tools/src/msgmerge.c | 4 ++-- + gettext-tools/tests/msgmerge-26 | 36 ++++++++++++++++++++++++++++++--- + 2 files changed, 35 insertions(+), 5 deletions(-) + +diff --git a/gettext-tools/src/msgmerge.c b/gettext-tools/src/msgmerge.c +index cd762c029..92c9b7a8e 100644 +--- a/gettext-tools/src/msgmerge.c ++++ b/gettext-tools/src/msgmerge.c +@@ -520,8 +520,8 @@ There is NO WARRANTY, to the extent permitted by law.\n\ + else + { + /* Write the merged message list out. */ +- msgdomain_list_print (result, output_file, output_syntax, force_po, +- false); ++ msgdomain_list_print (result, output_file, output_syntax, ++ for_msgfmt || force_po, false); + } + + exit (EXIT_SUCCESS); +diff --git a/gettext-tools/tests/msgmerge-26 b/gettext-tools/tests/msgmerge-26 +index cd3862e33..b86f7a073 100755 +--- a/gettext-tools/tests/msgmerge-26 ++++ b/gettext-tools/tests/msgmerge-26 +@@ -73,7 +73,37 @@ msgstr "Papaya" + EOF + + : ${DIFF=diff} +-${DIFF} mm-test26.ok mm-test26.out +-result=$? ++${DIFF} mm-test26.ok mm-test26.out || Exit 1 + +-exit $result ++# Test with a PO file that has no translated messages. ++ ++cat <<\EOF > mm-test26a.in1 ++msgid "" ++msgstr "" ++"Content-Type: text/plain; charset=UTF-8\n" ++ ++msgid "Hello world" ++msgstr "Hallo Welt" ++EOF ++ ++cat <<\EOF > mm-test26a.in2 ++msgid "" ++msgstr "" ++"Content-Type: text/plain; charset=ASCII\n" ++ ++msgid "Hello, world!" ++msgstr "" ++EOF ++ ++: ${MSGMERGE=msgmerge} ++${MSGMERGE} --for-msgfmt -o mm-test26a.tmp mm-test26a.in1 mm-test26a.in2 \ ++ || Exit 1 ++LC_ALL=C tr -d '\r' < mm-test26a.tmp > mm-test26a.out || Exit 1 ++ ++cat <<\EOF > mm-test26a.ok ++msgid "" ++msgstr "Content-Type: text/plain; charset=UTF-8\n" ++EOF ++ ++: ${DIFF=diff} ++${DIFF} mm-test26a.ok mm-test26a.out || Exit 1 +-- +2.21.0 + diff --git a/gettext.spec b/gettext.spec new file mode 100644 index 0000000..935abfa --- /dev/null +++ b/gettext.spec @@ -0,0 +1,1157 @@ +%bcond_with jar +%bcond_with java + +Summary: GNU libraries and utilities for producing multi-lingual messages +Name: gettext +Version: 0.21 +Release: 3%{?dist} +# The following are licensed under LGPLv2+: +# - libintl and its headers +# - libasprintf and its headers +# - libintl.jar +# - GNU.Gettext.dll +# - gettext.sh +# The following are licensed under GFDL: +# - gettext-tools/doc/FAQ.html +# - gettext-tools/doc/tutorial.html +# - gettext info files +# - libasprintf info files +# - libtextstyle info files +# Everything else is GPLv3+ +License: GPLv3+ and LGPLv2+ and GFDL +URL: http://www.gnu.org/software/gettext/ +Source: https://ftp.gnu.org/pub/gnu/gettext/%{name}-%{version}.tar.xz +Source2: msghack.py +Source3: msghack.1 + +# this patch has merged upstream +# Patch1: gettext-msgmerge-for-msgfmt.patch + +# https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00195.html +Patch1: gettext-0.21-gnulib-perror-tests.patch + +# for bootstrapping +# BuildRequires: autoconf >= 2.62 +# BuildRequires: automake +# BuildRequires: libtool +# BuildRequires: bison + +BuildRequires: gcc-c++ +%if %{with java} +# libintl.jar requires gcj >= 4.3 to build +BuildRequires: gcc-java, libgcj +# For javadoc +BuildRequires: java-1.6.0-openjdk-devel +%if %{with jar} +BuildRequires: %{_bindir}/fastjar +# require zip and unzip for brp-java-repack-jars +BuildRequires: zip, unzip +%endif +%endif +# for po-mode.el +BuildRequires: emacs +# for autosetup +BuildRequires: git +# ensure 'ARCHIVE_FORMAT=dirxz' +BuildRequires: xz +# for documentation +BuildRequires: teckit +BuildRequires: texlive-dvips +BuildRequires: texlive-dvipdfmx +BuildRequires: texinfo-tex +BuildRequires: texlive-xetex +# following suggested by DEPENDENCIES: +BuildRequires: ncurses-devel +BuildRequires: libxml2-devel +BuildRequires: glib2-devel +BuildRequires: libacl-devel +BuildRequires: libunistring-devel +# for the tests +BuildRequires: glibc-langpack-de +BuildRequires: glibc-langpack-en +BuildRequires: glibc-langpack-fa +BuildRequires: glibc-langpack-fr +BuildRequires: glibc-langpack-ja +BuildRequires: glibc-langpack-tr +BuildRequires: glibc-langpack-zh +# Depend on the exact version of the library sub package +Requires: %{name}-libs%{_isa} = %{version}-%{release} +Provides: bundled(gnulib) +Provides: bundled(libcroco) = 0.6.12 + +%description +The GNU gettext package provides a set of tools and documentation for +producing multi-lingual messages in programs. Tools include a set of +conventions about how programs should be written to support message +catalogs, a directory and file naming organization for the message +catalogs, a runtime library which supports the retrieval of translated +messages, and stand-alone programs for handling the translatable and +the already translated strings. Gettext provides an easy to use +library and tools for creating, using, and modifying natural language +catalogs and is a powerful and simple method for internationalizing +programs. + + +%package common-devel +Summary: Common development files for %{name} +# autopoint archive +License: GPLv3+ +BuildArch: noarch + +%description common-devel +This package contains common architecture independent gettext development files. + + +%package devel +Summary: Development files for %{name} +# autopoint is GPLv3+ +# libasprintf is LGPLv2+ +# libgettextpo is GPLv3+ +License: LGPLv2+ and GPLv3+ and GFDL +Requires: %{name} = %{version}-%{release} +Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-common-devel = %{version}-%{release} +Requires: xz +Requires: diffutils +Obsoletes: gettext-autopoint < 0.18.1.1-3 +Provides: gettext-autopoint = %{version}-%{release} + +%description devel +This package contains all development related files necessary for +developing or compiling applications/libraries that needs +internationalization capability. You also need this package if you +want to add gettext support for your project. + + +%package libs +Summary: Libraries for %{name} +# libasprintf is LGPLv2+ +# libgettextpo is GPLv3+ +License: LGPLv2+ and GPLv3+ + +%description libs +This package contains libraries used internationalization support. + + +%package -n libtextstyle +Summary: Text styling library +License: GPLv3+ + +%description -n libtextstyle +Library for producing styled text to be displayed in a terminal +emulator. + + +%package -n libtextstyle-devel +Summary: Development files for libtextstyle +License: GPLv3+ and GFDL +Requires: libtextstyle%{?_isa} = %{version}-%{release} + +%description -n libtextstyle-devel +This package contains all development related files necessary for +developing or compiling applications/libraries that needs text +styling. + + +%package -n emacs-%{name} +Summary: Support for editing po files within GNU Emacs +BuildArch: noarch +# help users find po-mode.el +Provides: emacs-po-mode +Requires: emacs(bin) >= %{_emacs_version} +Provides: emacs-%{name}-el = %{version}-%{release} +Obsoletes: emacs-%{name}-el < %{version}-%{release} + +%description -n emacs-%{name} +This package provides a major mode for editing po files within GNU Emacs. + +%package -n msghack +Summary: Alter PO files in ways +BuildArch: noarch + +%description -n msghack +This program can be used to alter .po files in ways no sane mind would +think about. + + +%prep +%autosetup -S git + +# Defeat libtextstyle attempt to bundle libxml2. The comments +# indicate this is done because the libtextstyle authors do not want +# applications using their code to suffer startup delays due to the +# relocations. This is not a sufficient reason for Fedora. +sed -e 's/\(gl_cv_libxml_force_included=\)yes/\1no/' \ + -i libtextstyle/configure + + +%build +%if %{with java} +export JAVAC=gcj +%if %{with jar} +export JAR=fastjar +%endif +%endif +%ifarch ppc ppc64 ppc64le +# prevent test-isinf from failing with gcc-5.3.1 on ppc64le (#1294016) +export CFLAGS="$RPM_OPT_FLAGS -D__SUPPORT_SNAN__" +%endif +# Fedora's libxml2-devel package has an extra "libxml2" path component. +export CPPFLAGS="-I%{_includedir}/libxml2" +# Side effect of unbundling libxml2 from libtextstyle. +export LIBS="-lxml2" +%configure --without-included-gettext --enable-nls --disable-static \ + --enable-shared --disable-csharp --disable-rpath \ +%if %{with java} + --enable-java \ +%else + --disable-java --disable-native-java \ +%endif + --with-xz + +# Eliminate hardcoded rpaths; workaround libtool reordering -Wl,--as-needed +# after all the libraries. +sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \ + -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \ + -e 's|CC=.g..|& -Wl,--as-needed|' \ + -i $(find . -name libtool) + +%make_build %{?with_java:GCJFLAGS="-findirect-dispatch"} + + +%install +%make_install \ + lispdir=%{_datadir}/emacs/site-lisp/gettext \ + aclocaldir=%{_datadir}/aclocal EXAMPLESFILES="" + + +install -pm 755 %SOURCE2 ${RPM_BUILD_ROOT}/%{_bindir}/msghack +install -pm 644 %SOURCE3 ${RPM_BUILD_ROOT}/%{_mandir}/man1/msghack.1 + + +# make preloadable_libintl.so executable +chmod 755 ${RPM_BUILD_ROOT}%{_libdir}/preloadable_libintl.so + +rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir + +# doc relocations +for i in gettext-runtime/man/*.html; do + rm ${RPM_BUILD_ROOT}%{_datadir}/doc/gettext/`basename $i` +done +rm -r ${RPM_BUILD_ROOT}%{_datadir}/doc/gettext/javadoc* + +rm -rf ${RPM_BUILD_ROOT}%{_datadir}/doc/gettext/examples + +rm -rf htmldoc +mkdir htmldoc +mv ${RPM_BUILD_ROOT}%{_datadir}/doc/gettext/* ${RPM_BUILD_ROOT}/%{_datadir}/doc/libasprintf/* htmldoc +rm -r ${RPM_BUILD_ROOT}%{_datadir}/doc/libasprintf +rm -r ${RPM_BUILD_ROOT}%{_datadir}/doc/gettext + +## note libintl.jar does not build with gcj < 4.3 +## since it would not be fully portable +%if %{with jar} +### this is no longer needed since examples not packaged +## set timestamp of examples ChangeLog timestamp for brp-java-repack-jars +#for i in `find ${RPM_BUILD_ROOT} examples -newer ChangeLog -type f -name ChangeLog`; do +# touch -r ChangeLog $i +#done +%else +# in case another java compiler is installed +rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/libintl.jar +%endif + +rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/gettext.jar + +# own this directory for third-party *.its files +mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}/its + +# remove .la files +rm ${RPM_BUILD_ROOT}%{_libdir}/lib*.la + +# remove internal .so lib files +rm ${RPM_BUILD_ROOT}%{_libdir}/libgettext{src,lib}.so + +# move po-mode initialization elisp file to the right place, and remove byte +# compiled file +install -d ${RPM_BUILD_ROOT}%{_emacs_sitestartdir} +mv ${RPM_BUILD_ROOT}%{_emacs_sitelispdir}/%{name}/start-po.el ${RPM_BUILD_ROOT}%{_emacs_sitestartdir} +rm ${RPM_BUILD_ROOT}%{_emacs_sitelispdir}/%{name}/start-po.elc + +%find_lang %{name}-runtime +%find_lang %{name}-tools +cat %{name}-*.lang > %{name}.lang + + +%check +# this takes quite a lot of time to run + +# adapt to rpath removal +export LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir}:$PWD/gettext-tools/intl/.libs + +# override LIBUNISTRING to prevent reordering of lib objects +make check LIBUNISTRING=-lunistring + +%ldconfig_scriptlets libs + +%files -f %{name}.lang +%doc AUTHORS gettext-runtime/BUGS +%doc COPYING gettext-tools/misc/DISCLAIM README +%doc NEWS THANKS +%doc gettext-runtime/man/*.1.html +%doc gettext-runtime/intl/COPYING* +%{_bindir}/envsubst +%{_bindir}/gettext +%{_bindir}/gettext.sh +%{_bindir}/msgattrib +%{_bindir}/msgcat +%{_bindir}/msgcmp +%{_bindir}/msgcomm +%{_bindir}/msgconv +%{_bindir}/msgen +%{_bindir}/msgexec +%{_bindir}/msgfilter +%{_bindir}/msgfmt +%{_bindir}/msggrep +%{_bindir}/msginit +%{_bindir}/msgmerge +%{_bindir}/msgunfmt +%{_bindir}/msguniq +%{_bindir}/ngettext +%{_bindir}/recode-sr-latin +%{_bindir}/xgettext +%{_infodir}/gettext* +%exclude %{_mandir}/man1/autopoint.1* +%exclude %{_mandir}/man1/gettextize.1* +%exclude %{_mandir}/man1/msghack.1* +%{_mandir}/man1/* +%{_libdir}/%{name} +%if %{with java} +%exclude %{_libdir}/%{name}/gnu.gettext.* +%endif +%dir %{_datadir}/%{name} +%dir %{_datadir}/%{name}/its +%{_datadir}/%{name}/ABOUT-NLS +%{_datadir}/%{name}/po +%{_datadir}/%{name}/styles +%dir %{_datadir}/%{name}-%{version} +%{_datadir}/%{name}-%{version}/its + +%files common-devel +%{_datadir}/%{name}/archive.*.tar.xz + +%files devel +%doc gettext-runtime/man/*.3.html ChangeLog +%{_bindir}/autopoint +%{_bindir}/gettextize +%{_datadir}/%{name}/projects/ +%{_datadir}/%{name}/config.rpath +%{_datadir}/%{name}/*.h +%{_datadir}/%{name}/msgunfmt.tcl +%{_datadir}/aclocal/* +%{_includedir}/autosprintf.h +%{_includedir}/gettext-po.h +%{_infodir}/autosprintf* +%{_libdir}/libasprintf.so +%{_libdir}/libgettextpo.so +%{_libdir}/preloadable_libintl.so +%{_mandir}/man1/autopoint.1* +%{_mandir}/man1/gettextize.1* +%{_mandir}/man3/* +%{_datadir}/%{name}/javaversion.class +%doc gettext-runtime/intl-java/javadoc* +%if %{with java} +%{_libdir}/%{name}/gnu.gettext.* +%endif + +%files libs +%{_libdir}/libasprintf.so.0* +%{_libdir}/libgettextpo.so.0* +%{_libdir}/libgettextlib-0.*.so +%{_libdir}/libgettextsrc-0.*.so +%if %{with jar} +%{_datadir}/%{name}/libintl.jar +%endif + +%files -n libtextstyle +%{_libdir}/libtextstyle.so.0* + +%files -n libtextstyle-devel +%{_docdir}/libtextstyle/ +%{_includedir}/textstyle/ +%{_includedir}/textstyle.h +%{_infodir}/libtextstyle* +%{_libdir}/libtextstyle.so + +%files -n emacs-%{name} +%dir %{_emacs_sitelispdir}/%{name} +%{_emacs_sitelispdir}/%{name}/*.elc +%{_emacs_sitelispdir}/%{name}/*.el +%{_emacs_sitestartdir}/*.el + +%files -n msghack +%license COPYING +%{_bindir}/msghack +%{_mandir}/man1/msghack.1* + +%changelog +* Mon Sep 7 2020 Sundeep Anand - 0.21-3 +- include patch to fix gnulib perror tests (rhbz#1867021) + +* Thu Aug 6 2020 Jens Petersen - 0.21-2 +- reenable testsuite except for armv7hl which is failing + +* Mon Aug 03 2020 Sundeep Anand - 0.21-1 +- gettext-0.21 is available (rhbz#1860728) + +* Sat Aug 01 2020 Fedora Release Engineering - 0.20.2-4 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 29 2020 Michael Catanzaro - 0.20.2-3 +- Bundle libcroco so we can remove the system package + +* Mon Jul 27 2020 Fedora Release Engineering - 0.20.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Apr 14 2020 Sundeep Anand - 0.20.2-1 +- gettext-0.20.2 is available (rhbz#1823721) + +* Tue Jan 28 2020 Fedora Release Engineering - 0.20.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Jan 06 2020 Sundeep Anand - 0.20.1-3 +- Add diffutils dependency on gettext-devel (rhbz#1774899) + +* Tue Aug 20 2019 Daiki Ueno - 0.20.1-2 +- Fix misbehavior of msgmerge --for-msgfmt + +* Fri Aug 9 2019 Jerry James - 0.20.1-1 +- update to 0.20.1 release, all patches upstreamed +- add GFDL to License fields due to info files +- add libtextstyle{,-devel} subpackages +- reenable testsuite +- build with libacl support +- BR various glibc langpacks wanted by the tests +- drop ancient Conflicts due to UsrMove +- prevent rpaths rather than removing them +- explicitly list binaries in the main package to avoid extra build-ids + +* Fri Aug 9 2019 Jens Petersen - 0.19.8.1-22 +- temporarily disable testsuite (#1735245) + +* Thu Jul 25 2019 Fedora Release Engineering - 0.19.8.1-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Mar 7 2019 Tim Landscheidt - 0.19.8.1-20 +- Remove obsolete requirements for %%post/%%preun scriptlets + +* Thu Jan 31 2019 Fedora Release Engineering - 0.19.8.1-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Nov 08 2018 Pavel Raiskup - 0.19.8.1-18 +- fix CVE-2018-18751 (rhbz#1647044) +- put gettextize man page into gettext-devel (man page scan, rhbz#1611303) + +* Tue Jul 31 2018 Florian Weimer - 0.19.8.1-17 +- Rebuild with fixed binutils + +* Sat Jul 28 2018 Igor Gnatenko - 0.19.8.1-16 +- Replace obsolete scriptlets + +* Fri Jul 13 2018 Fedora Release Engineering - 0.19.8.1-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 0.19.8.1-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Feb 03 2018 Igor Gnatenko - 0.19.8.1-13 +- Switch to %%ldconfig_scriptlets + +* Fri Jan 05 2018 Pavel Raiskup - 0.19.8.1-12 +- xgettext --its segfault fix (rhbz#1531476) + +* Wed Aug 02 2017 Fedora Release Engineering - 0.19.8.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0.19.8.1-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Mar 15 2017 Kalev Lember - 0.19.8.1-9 +- Depend on the exact version of the library sub package + +* Fri Feb 10 2017 Fedora Release Engineering - 0.19.8.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Jan 26 2017 Pavel Raiskup - 0.19.8.1-7 +- really remove Requires: git from gettext-devel (rhbz#1161284) +- make the BuildRequires unconditional (rhbz#1416691) + +* Wed Dec 21 2016 Pavel Raiskup - 0.19.8.1-6 +- disable test-lock for 'gettext-tool' subdir too (rhbz#1406031) + +* Mon Dec 19 2016 Miro Hrončok - 0.19.8.1-5 +- Rebuild for Python 3.6 + +* Fri Dec 16 2016 Petr Šabata - 0.19.8.1-4 +- Subpackage msghack so that gettext doesn't depend on python +- name the new sub-package 'msghack' + +* Tue Nov 29 2016 Pavel Raiskup - 0.19.8.1-3 +- devel subpackage to Require 'xz' (rhbz#1399270) + +* Wed Aug 10 2016 Daiki Ueno - 0.19.8.1-2 +- utilize %%autosetup +- apply patch to fix po-send-mail when used with Emacs 25 (#1356642) + +* Sat Jun 11 2016 Daiki Ueno - 0.19.8.1-1 +- update to 0.19.8.1 release + +* Thu Jun 9 2016 Daiki Ueno - 0.19.8-1 +- update to 0.19.8 release + +* Wed Feb 03 2016 Fedora Release Engineering - 0.19.7-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jan 12 2016 Daiki Ueno - 0.19.7-3 +- own .../gettext/its for third-party *.its files +- add a work around for test-isinf failure on ppc64le (#1297387) + +* Fri Jan 8 2016 Daiki Ueno - 0.19.7-2 +- apply patch to recognize .glade extension for GtkBuilder files (#1296653) + +* Thu Dec 10 2015 Daiki Ueno - 0.19.7-1 +- update to 0.19.7 release + +* Thu Sep 24 2015 Daiki Ueno - 0.19.6-1 +- update to 0.19.6 release + +* Wed Jul 22 2015 Daiki Ueno - 0.19.5.1-2 +- work around version conflict between gettextize and autopoint + +* Thu Jul 16 2015 Daiki Ueno - 0.19.5.1-1 +- update to 0.19.5.1 release + +* Fri Jun 26 2015 Daiki Ueno - 0.19.4-7 +- drop -el subpackage (#1234583) + +* Wed Jun 17 2015 Fedora Release Engineering - 0.19.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 02 2015 Kalev Lember - 0.19.4-5 +- Rebuilt for GCC 5 C++11 ABI change + +* Sat Feb 21 2015 Till Maas - 0.19.4-4 +- Rebuilt for Fedora 23 Change + https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code + +* Thu Feb 19 2015 Daiki Ueno - 0.19.4-3 +- port msghack.py to Python 3 (#1192086) + +* Wed Dec 31 2014 Daiki Ueno - 0.19.4-2 +- remove git dependency from -devel subpackage (#1161284) + +* Fri Dec 26 2014 Daiki Ueno - 0.19.4-1 +- update to 0.19.4 release + +* Tue Oct 28 2014 Peter Robinson 0.19.3-2 +- Disable the test_lock test as it often hangs on a number of arches + +* Thu Oct 16 2014 Daiki Ueno - 0.19.3-1 +- update to 0.19.3 release +- remove patches included in 0.19.3 +- remove autoconf/automake/libtool/bison from BR, as we don't do bootstrap + +* Wed Oct 15 2014 Daiki Ueno - 0.19.2-5 +- apply patch to fix infloop in autopoint (Closes: #1151238) +- apply patch to support newer ncurses in F-22 + +* Fri Oct 3 2014 Daiki Ueno - 0.19.2-4 +- apply patch to fix C octal character escape handling (Closes: #1147535) + +* Tue Sep 02 2014 Dennis Gilmore - 0.19.2-3 +- rebuild for libunistring soname bump + +* Sat Aug 16 2014 Fedora Release Engineering - 0.19.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Mon Jul 14 2014 Daiki Ueno - 0.19.2-1 +- update to 0.19.2 release + +* Mon Jul 7 2014 Daiki Ueno - 0.19.1-2 +- apply patch to msghack.py, for Python 3 compatibility (Closes: #1113425, + thanks to Bohuslav "Slavek" Kabrda) + +* Tue Jun 10 2014 Daiki Ueno - 0.19.1-1 +- update to 0.19.1 release +- switch to xz-compressed archive + +* Sat Jun 07 2014 Fedora Release Engineering - 0.19-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon Jun 2 2014 Daiki Ueno - 0.19-2 +- apply patch to workaround msgfmt bug that counts warnings as errors + +* Mon Jun 2 2014 Daiki Ueno - 0.19-1 +- update to 0.19 release +- remove upstreamed -Wformat-security patch + +* Tue Jan 7 2014 Daiki Ueno - 0.18.3.2-1 +- update to 0.18.3.2 release +- apply patch to suppress -Wformat-security warnings in gnulib-tests + +* Sun Aug 25 2013 Daiki Ueno - 0.18.3.1-1 +- update to 0.18.3.1 release + +* Sat Aug 03 2013 Fedora Release Engineering - 0.18.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Jul 10 2013 Daiki Ueno - 0.18.3-1 +- update to 0.18.3 release + +* Wed Jun 26 2013 Daiki Ueno - 0.18.2.1-2 +- add a man page for msghack +- fix bogus date in %%changelog + +* Tue Mar 12 2013 Daiki Ueno - 0.18.2.1-1 +- update to 0.18.2.1 release (not really necessary though) + +* Wed Feb 13 2013 Fedora Release Engineering - 0.18.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Dec 26 2012 Daiki Ueno - 0.18.2-1 +- update to 0.18.2 release (based on the spec patch by Jens Petersen) + +* Tue Oct 2 2012 Jens Petersen - 0.18.1.1-17 +- move gettextize to the devel subpackage with its source data files +- update msghack to GPL v3 + +* Fri Jul 27 2012 Jens Petersen - 0.18.1.1-16 +- patch gnulib since glibc and C11 dropped gets + +* Thu Jul 19 2012 Fedora Release Engineering - 0.18.1.1-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue May 29 2012 Remi Collet - 0.18.1.1-14 +- add upstream patch from debian to fix xgettext segfault in + remember_a_message_plural (#826138) + +* Thu May 17 2012 Jens Petersen - 0.18.1.1-13 +- base package now provides bundled(gnulib) to make it clear that + gettext is built with bundled gnulib (#821757) + +* Wed Jan 25 2012 Harald Hoyer 0.18.1.1-12 +- add filesystem guard + +* Wed Jan 25 2012 Harald Hoyer 0.18.1.1-11 +- install everything in /usr + https://fedoraproject.org/wiki/Features/UsrMove + +* Tue Jan 10 2012 Nils Philippsen - 0.18.1.1-10 +- rebuild for gcc 4.7 + +* Tue Oct 4 2011 Jens Petersen - 0.18.1.1-9 +- correct the configure --with-pic option syntax (Gilles Espinasse) + +* Wed Sep 28 2011 Jens Petersen - 0.18.1.1-8 +- add gettext-readlink-einval.patch to fix build on kernel >= 2.6.39 (#739188) +- add optional buildrequires suggested in the DEPENDENCIES file + +* Tue Feb 08 2011 Fedora Release Engineering - 0.18.1.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Feb 7 2011 Jens Petersen - 0.18.1.1-6 +- remove internal libgettextlib.so and libgettextsrc.so (#650471) + +* Mon Feb 7 2011 Jens Petersen - 0.18.1.1-5 +- fix license field of gettext-libs since libgettextpo is GPLv3+ (#640158) + +* Thu Sep 9 2010 Jens Petersen - 0.18.1.1-4 +- subpackage archive.git.tar.gz to avoid multilib conflicts (#631733) +- update msghack.py header + +* Mon Aug 23 2010 Jens Petersen - 0.18.1.1-3 +- merge autopoint subpackage into devel to simplify deps (#625325) +- have ABOUT-NLS only in the base package datadir + +* Wed Jun 23 2010 Jens Petersen - 0.18.1.1-2 +- correct license tag from GPLv3 to GPLv3+ +- subpackage autopoint which requires git (#574031) +- no longer require cvs (#606746) +- add bcond for git + +* Fri May 21 2010 Jens Petersen - 0.18.1.1-1 +- update to 0.18.1.1 release (#591044) +- gettext-0.17-autopoint-CVS-441481.patch, gettext-0.17-long-long-int-m4.patch + gettext-0.17-open-args.patch, and + gettext-xgettext-python-unicode-surrogate-473946.patch are upstream +- move libintl.jar to lib subpackage to avoid multilib problems + (reported by Jim Radford in #595922) +- disable java for now +- use chrpath to get us out of rpath hell instead of complicated libtool hacks +- enable git support + +* Fri Apr 23 2010 Jens Petersen - 0.17-17 +- create emacs subpackages for po-mode.el (thanks for patch from + Jonathan Underwood, #579452) +- provide emacs-po-mode +- move libgettextlib and libgettextsrc from base to libs subpackage + (requested by Peter Robinson for blender, #579388) + +* Fri Nov 27 2009 Jens Petersen - 0.17-16 +- fix FTBFS by removing openmp.m4 which conflicts with recent autoconf (#539211) +- cleanup gettext-0.17-rpathFix.patch + - separate gl_AC_TYPE_LONG_LONG replacement to another patch + - use trailing ':' for tests LD_LIBRARY_PATH +- run autogen.sh with --quick and --skip-gnulib + +* Tue Sep 1 2009 Jens Petersen - 0.17-15 +- bring back autopoint requires cvs (#517361) +- requires info rather than /sbin/install-info +- drop install_info and remove_install_info macros + +* Fri Jul 24 2009 Fedora Release Engineering - 0.17-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Jun 24 2009 Jens Petersen - 0.17-13 +- buildrequire automake (#507275) +- run autogen + +* Mon Jun 22 2009 Jens Petersen - 0.17-12 +- move intl/ and po/ to base package for gettextize + (reported by Serge Pavlovsky, #496902) + +* Fri May 22 2009 Jens Petersen - 0.17-11 +- use bcond's for build switches + +* Tue Feb 24 2009 Fedora Release Engineering - 0.17-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Thu Feb 12 2009 Jens Petersen - 0.17-9 +- add buildjava switch to allow turning off the java bits completely +- add buildcheck to allow turning off make check +- drop cvs requires for autopoint (Karl Lattimer, #469555) +- add upstream gettext-xgettext-python-unicode-surrogate-473946.patch by + Bruno Haible to fix xgettext handling of utf16 surrogates in python (#473946) + +* Fri Aug 29 2008 Ding-Yi Chen - 0.17-8 +- Fix the build failure with koji. + +* Fri Aug 29 2008 Ding-Yi Chen - 0.17-7 +- Remove the gettext-libs docs, as they are talking about autoconf, libtool, + which are not directly related to the gettext-libs. +- Remove unused definition and trailing space. +- Fix the build failure with mock . + +* Tue Aug 19 2008 Ding-Yi Chen - 0.17-6 +- Fixed Bug 456666 msghack doesn't check for mandatory cmd line params + by adding checking statements and display usage (msghack.py modified) +- rpath patch for binary-or-shlib-defines-rpath in x86_64. + +* Thu Apr 24 2008 Jens Petersen - 0.17-5 +- fix autopoint messing up CVS files with upstream patch (#441481) + +* Mon Feb 18 2008 Jens Petersen - 0.17-4 +- if %%buildjar is off make sure libintl.jar does not get installed (#433210) + +* Mon Feb 18 2008 Jens Petersen - 0.17-3 +- turn on building of libintl.jar now that we have gcc43 + +* Thu Feb 14 2008 Jens Petersen - 0.17-2 +- rebuild with gcc43 + +* Thu Jan 24 2008 Jens Petersen - 0.17-1 +- update to 0.17 release + - update License field to GPLv3 + - add gettext-0.17-open-args.patch to fix build from upstream + - gettext-tools-tests-lang-gawk-fail.patch, gettext-php-headers.patch, + gettext-php-prinf-output-237241.patch, and + gettext-xglade-define-xml-major-version-285701.patch are no longer needed +- drop superfluous po-mode-init.el source +- no need to run autoconf and autoheader when building +- pass -findirect-dispatch to gcj to make java binaries ABI independent + (jakub,#427796) +- move autopoint, gettextize, and {_datadir}/{name}/ to main package +- force removal of emacs/ so install does not fail when no emacs + +* Fri Sep 21 2007 Jens Petersen - 0.16.1-12 +- add a libs subpackage (suggested by Dwayne Bailey, #294891) +- move preloadable_libintl.so to the devel subpackage + +* Fri Sep 14 2007 Nils Philippsen - 0.16.1-11 +- remove gettext-xglade-include-expat-285701.patch, add + gettext-xglade-define-xml-major-version-285701.patch to determine + XML_MAJOR_VERSION from expat.h and define it in config.h (#285701) + +* Wed Sep 12 2007 Jens Petersen - 0.16.1-10 +- buildrequire expat-devel +- add gettext-xglade-include-expat-285701.patch to include expat.h + to get xgettext to dl the right libexpat (Nils Philippsen, #285701) + +* Thu Aug 16 2007 Jens Petersen +- specify license is GPL and LGPL version 2 or later + +* Wed Aug 1 2007 Jens Petersen - 0.16.1-9 +- fix encoding of msghack script (Dwayne Bailey, #250248) + +* Mon Apr 30 2007 Jens Petersen - 0.16.1-8 +- add gettext-php-prinf-output-237241.patch to workaround php test failure + (#237241) +- add gettext-php-headers.patch to correct php test headers + (Robert Scheck, #232832) + +* Thu Mar 15 2007 Jens Petersen - 0.16.1-7 +- set preloadable_libintl.so executable in %%install so it gets stripped +- force removal of infodir/dir since it is not there when /sbin is not in path + +* Tue Mar 13 2007 Jens Petersen - 0.16.1-6 +- add buildjar switch for building of libintl.jar +- lots of spec file cleanup (Mamoru Tasaka, #225791): +- preserve timestamps of installed files +- disable building of static library +- use %%find_lang for .mo files +- remove examples from -devel package +- do not own en@*quot locale dirs +- set preloadable_libintl.so executable +- add ChangeLog to -devel package +- add %%check to run make check +- add gettext-tools-tests-lang-gawk-fail.patch to work around gawk test failure + +* Fri Feb 23 2007 Karsten Hopp 0.16.1-5 +- rebuild to pick up dependency on libgcj.so.8rh instead libgcj.so.7rh + +* Thu Feb 1 2007 Jens Petersen - 0.16.1-4 +- protect install-info in devel %%post and %%preun too (Ville Skyttä, #223689) +- forward port fix to reset of timestamp of examples ChangeLog for + brp-java-repack-jars libintl.jar multilib conflict (#205207) + +* Mon Jan 22 2007 Jens Petersen - 0.16.1-3 +- protect install-info in %%post and %%preun (Ville Skyttä, #223689) + +* Fri Dec 22 2006 Jens Petersen - 0.16.1-1 +- update to 0.16.1 + +* Mon Nov 27 2006 Jens Petersen - 0.16-2 +- re-enable openmp on ia64 + +* Thu Nov 23 2006 Jens Petersen - 0.16-1 +- update to 0.16 release +- disable openmp on ia64 (#216988) + +* Fri Oct 27 2006 Jens Petersen - 0.15-1 +- update to 0.15 release +- mkinstalldirs and libintl.jar are gone +- javaversion.class added + +* Mon Oct 2 2006 Jens Petersen - 0.14.6-3 +- buildrequire zip and unzip to fix libintl.jar multilib conflict (#205207) + +* Fri Aug 25 2006 Jens Petersen - 0.14.6-2 +- move libgettext*.so devel files to devel package (Patrice Dumas, #203622) + +* Mon Aug 7 2006 Jens Petersen - 0.14.6-1 +- update to 0.14.6 +- include preloadable_libintl.so again (Roozbeh Pournader, #149809) +- remove .la files (Kjartan Maraas, #172624) +- cleanup spec file + +* Tue Jul 25 2006 Thomas Fitzsimmons - 0.14.5-4 +- Bump release number. + +* Wed Jul 12 2006 Jesse Keating - 0.14.5-3.1 +- rebuild + +* Wed Feb 22 2006 Karsten Hopp 0.14.5-3 +- --disable-csharp, otherwise it'll build a dll when mono is + installed in the buildroot. + +* Fri Feb 10 2006 Jesse Keating - 0.14.5-2.2.2 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 0.14.5-2.2.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Tue Jan 3 2006 Jesse Keating 0.14.5-2.2 +- rebuilt again + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Wed Sep 28 2005 Jindrich Novy 0.14.5-2 +- convert spec to UTF-8 +- remove old tarballs from sources + +* Thu Aug 11 2005 Leon Ho +- updated to 0.14.5 +- Add cvs as Requires for gettext-devel + +* Mon Mar 21 2005 Leon Ho +- updated to 0.14.3 +- fixed compiling problem on gcc4 (#150992) +- fixed Group for -devel (#138303) +- moved gettextize and autopoint to -devel (#137542, #145768) +- moved some of the man pages + +* Tue Mar 01 2005 Jakub Jelinek +- rebuilt with gcc 4.0 + +* Wed Dec 01 2004 Leon Ho +- Add env var to redirect use fastjar instead of jar +- BuildRequires fastjar and libgcj + +* Mon Nov 01 2004 Leon Ho +- fix call on phase0_getc() +- fix temp file issue (#136323 - CAN-2004-0966 - mjc) + +* Sun Oct 03 2004 Leon Ho +- fixed typo on %%preun on -devel + +* Fri Oct 01 2004 Leon Ho +- fix install_info +- add gcc-java build requirement + +* Mon Sep 13 2004 Leon Ho +- move java stuff to gettext-devel (#132239) +- add BuildRequires: gcc-c++ (#132518) +- add some missing install-info and ldconfig (#131272) +- fix dir ownership (#133696) +- run autotools for 1.9 + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Tue Jun 08 2004 Leon Ho +- use --without-included-gettext to avoid the need of libintl.so (#125497) +- remove preloadable_libintl.so + +* Sun Jun 06 2004 Leon Ho +- moved some of the shared lib to main pkg +- added more build requires + +* Thu Jun 03 2004 Leon Ho +- add conditionals for patch and requires auto* (#125216) + +* Wed Jun 02 2004 Leon Ho +- packaged lib files for devel +- moved some of the files to different sub-pkg +- fix problem on x86_64 build + +* Tue Mar 02 2004 Elliot Lee +- rebuilt + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Mon Feb 02 2004 Leon Ho +- rebuilt to 0.14.1 + +* Fri Sep 19 2003 Leon Ho +- rebuilt 0.12.1 +- fix including files and excludes some patches + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Wed May 14 2003 Leon Ho +- 0.11.5 + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Thu Jan 16 2003 Leon Ho 0.11.4-6 +- add online help for msghack replacement + +* Thu Dec 5 2002 Leon Ho 0.11.4-5 +- add patch to fix gettextize (#78720) + +* Wed Nov 27 2002 Tim Powers 0.11.4-4 +- remove unpackaged files from the buildroot + +* Wed Aug 28 2002 Trond Eivind Glomsrød 0.11.4-3 +- Use %%{_libdir} instead of /usr/lib (#72524) + +* Fri Aug 2 2002 Nalin Dahyabhai 0.11.4-2 +- install ulonglong.m4, which is required by uintmax_t.m4, which is already + being installed + +* Sun Jul 28 2002 Trond Eivind Glomsrød 0.11.4-1 +- 0.11.4 + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Thu May 23 2002 Tim Powers +- automated rebuild + +* Tue May 14 2002 Trond Eivind Glomsrød 0.11.2-1 +- 0.11.2 +- include some new files + +* Fri Apr 5 2002 Trond Eivind Glomsrød 0.11.1-2 +- Add patch to make it compile with C99 compilers (#62313) + +* Wed Mar 13 2002 Trond Eivind Glomsrød 0.11.1-1 +- 0.11.1 + +* Sun Feb 17 2002 Florian La Roche +- update gettext to 0.11 +- disable patch4 + +* Wed Jan 09 2002 Tim Powers +- automated rebuild + +* Wed Dec 5 2001 Trond Eivind Glomsrød 0.10.40-3 +- improve automake handling + +* Wed Nov 14 2001 Trond Eivind Glomsrød 0.10.40-2 +- Add URL +- Add automake workaround (#56081) + +* Sun Sep 16 2001 Trond Eivind Glomsrød 0.10.40-1 +- 0.10.40 - libintl is now LGPLed (it was GPLed). Note that RHL + uses the glibc version, and don't include libintl from gettext. +- include new man pages +- don't include the elisp mode - bundle it into the main emacs package, + like we do for XEmacs. +- README-alpha no longer exists, so don't list it as a doc file + +* Fri Aug 24 2001 Trond Eivind Glomsrød 0.10.38-7 +- Rebuild - this should fix #52463 + +* Wed Aug 22 2001 Trond Eivind Glomsrød 0.10.38-6 +- Fix handling of multiline entries (rest of #50065) +- don't use the references of the last entry in a po file +- remove duplicates when inverting +- Own the en@quot and en@boldquot locale dirs (#52164) +- Handle entries with a first line of "" as identical to those + without + +* Thu Aug 9 2001 Trond Eivind Glomsrød +- Added "--append" and "-o" to msghack, which should address + initial concerns in #50065 + +* Thu Jul 19 2001 Trond Eivind Glomsrød +- New msghack - from scratch, in python + +* Tue Jul 17 2001 Trond Eivind Glomsrød +- msghack is back + +* Mon Jun 4 2001 Trond Eivind Glomsrød +- Include some docfiles + +* Sun Jun 03 2001 Florian La Roche +- 0.10.38 +- do not include charset.alias + +* Wed May 2 2001 Nalin Dahyabhai +- Build statically. + +* Mon Apr 30 2001 Trond Eivind Glomsrød +- 0.10.37 +- Disable all but two patches + +* Sun Feb 25 2001 Trond Eivind Glomsrød +- Initialize proper fonts when entering po-mode (#29152) + +* Mon Feb 12 2001 Yukihiro Nakai +- More fix about msgmerge. + +* Mon Feb 12 2001 Yukihiro Nakai +- Fix for msgmerge not to break multibyte strings + at Japanese locale. + +* Wed Jan 24 2001 Matt Wilson +- fixed the %%lang generator to not have "./" in the lang + +* Sun Jan 14 2001 Trond Eivind Glomsrød +- add an init file for the emacs po-mode +- update source URL + +* Thu Jan 11 2001 Bill Nottingham +- put gettext in /bin for initscripts use +- %%langify + +* Fri Dec 29 2000 Bill Nottingham +- prereq /sbin/install-info + +* Wed Aug 23 2000 Trond Eivind Glomsrød +- Added patch from Ulrich Drepper + +* Fri Aug 04 2000 Trond Eivind Glomsrød +- update DESTDIR patch (#12072) + +* Thu Jul 13 2000 Prospector +- automatic rebuild + +* Mon Jul 10 2000 Trond Eivind Glomsrød +- fix problems wrt to DESTDIR (#12072) + +* Thu Jun 22 2000 Preston Brown +- use FHS paths +- add buildroot patch for .../intl/Makefile.in, was using abs. install path + +* Fri Apr 28 2000 Bill Nottingham +- minor configure tweaks for ia64 + +* Sun Feb 27 2000 Cristian Gafton +- add --comments to msghack + +* Thu Feb 10 2000 Cristian Gafton +- fix bug #9240 - gettextize has the right aclocal patch + +* Wed Jan 12 2000 Cristian Gafton +- add the --diff and --dummy options + +* Wed Oct 06 1999 Cristian Gafton +- add the --missing option to msghack + +* Wed Sep 22 1999 Cristian Gafton +- updated msghack not to merge in fuzzies in the master catalogs + +* Thu Aug 26 1999 Cristian Gafton +- updated msghack to understand --append + +* Wed Aug 11 1999 Cristian Gafton +- updated msghack to correctly deal with sorting files + +* Thu May 06 1999 Cristian Gafton +- msghack updates + +* Sun Mar 21 1999 Cristian Gafton +- auto rebuild in the new build environment (release 8) + +* Mon Mar 08 1999 Cristian Gafton +- added patch for misc hacks to facilitate rpm translations + +* Thu Dec 03 1998 Cristian Gafton +- patch to allow to build on ARM + +* Wed Sep 30 1998 Jeff Johnson +- add Emacs po-mode.el files. + +* Sun Sep 13 1998 Cristian Gafton +- include the aclocal support files + +* Thu Sep 3 1998 Bill Nottingham +- remove devel package (functionality is in glibc) + +* Tue Sep 1 1998 Jeff Johnson +- update to 0.10.35. + +* Mon Jun 29 1998 Jeff Johnson +- add gettextize. +- create devel package for libintl.a and libgettext.h. + +* Mon Apr 27 1998 Prospector System +- translations modified for de, fr, tr + +* Sun Nov 02 1997 Cristian Gafton +- added info handling +- added misc-patch (skip emacs-lisp modofications) + +* Sat Nov 01 1997 Erik Troan +- removed locale.aliases as we get it from glibc now +- uses a buildroot + +* Mon Jun 02 1997 Erik Troan +- Built against glibc diff --git a/msghack.1 b/msghack.1 new file mode 100644 index 0000000..42fcc5b --- /dev/null +++ b/msghack.1 @@ -0,0 +1,45 @@ +.TH MSGHACK "1" "June 2013" "msghack" "User Commands" +.SH NAME +msghack \- alter PO files in ways +.SH SYNOPSIS +.B msghack +[\fIOPTION\fR] \fIfile.po \fR[\fIref.po\fR] +.SH DESCRIPTION +.PP +This program can be used to alter .po files in ways no sane mind would think about. +.TP +\fB\-o\fR +result will be written to FILE +.TP +\fB\-\-invert\fR +invert a po file by switching msgid and msgstr +.TP +\fB\-\-master\fR +join any number of files in a master\-formatted catalog +.TP +\fB\-\-empty\fR +empty the contents of the .po file, creating a .pot +.TP +\fB\-\-append\fR +append entries from ref.po that don't exist in file.po +.PP +Note: It is just a replacement of msghack for backward support. +.PP +This program can be used to alter .po files in ways no sane mind would think about. +.TP +\fB\-o\fR +result will be written to FILE +.TP +\fB\-\-invert\fR +invert a po file by switching msgid and msgstr +.TP +\fB\-\-master\fR +join any number of files in a master\-formatted catalog +.TP +\fB\-\-empty\fR +empty the contents of the .po file, creating a .pot +.TP +\fB\-\-append\fR +append entries from ref.po that don't exist in file.po +.PP +Note: It is just a replacement of msghack for backward support. diff --git a/msghack.py b/msghack.py new file mode 100755 index 0000000..358552c --- /dev/null +++ b/msghack.py @@ -0,0 +1,417 @@ +#!/usr/bin/python3 +## -*- coding: utf-8 -*- +## Copyright (C) 2001, 2004, 2008, 2012 Red Hat, Inc. +## Copyright (C) 2001 Trond Eivind Glomsrød + +## This program is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. + +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. + +## You should have received a copy of the GNU General Public License +## along with this program. If not, see . + +""" +A msghack replacement +""" + +import sys + +class GTMessage: + """ + A class containing a message, its msgid and various references pointing at it + """ + + def __init__(self,id=None,message=None,refs=[]): + """ + The constructor for the GTMessage class + @self The object instance + @message The message + @id The messageid associated with the object + """ + self._message=message.strip() + self._id=id.strip() + self._refs=[] + for ref in refs: + self._refs.append(ref) + + def __str__(self): + """ + Return a string representation of the object + @self The object instance + """ + res="" + for ref in self._refs: + res=res+ref+"\n" + res=res+"msgid %s\nmsgstr %s\n" % (self._id,self._message) + return res + + def invertedStrings(self): + """ + Returns a string representation, but with msgid and msgstr inverted. + Note: Don't invert the "" string + @self The object instance + """ + res="" + for ref in self._refs: + res=res+ref+"\n" + if not self._id=="\"\"": + res=res+"msgid %s\nmsgstr %s\n" % (self._message,self._id) + else: + res=res+"msgid %s\nmsgstr %s\n" % (self._id,self._message) + return res + + def emptyMsgStrings(self): + """ + Return a string representation of the object, but leave the msgstr + empty - create a pot file from a po file + Note: Won't remove the "" string + @self The object instance + """ + res="" + for ref in self._refs: + res=res+ref+"\n" + if not self._id=="\"\"": + res=res+"msgid %s\nmsgstr \"\"\n" % (self._id) + else: + res=res+"msgid %s\nmsgstr %s\n" % (self._id,self._message) + return res + + def compareMessage(self,msg): + """ + Return if the messages have identical msgids, 0 otherwise + @self The object instance + @msg The message to compare to + """ + + if self._id == msg._id: + return 1 + return 0 + + +class GTMasterMessage: + """ + A class containing a message, its msgid and various references pointing at it + The difference between GTMessage and GTMasterMessage is that this class + can do less operations, but is able to store multiple msgstrs with identifiers + (usually language, like 'msgst(no)' + """ + + def __init__(self,id=None,refs=[]): + """ + The constructor for the GTMessage class + @self The object instance + @id The messageid associated with the object + """ + self._id=id + self._refs=[] + self._messages=[] + for ref in refs: + self._refs.append(ref) + + def addMessage(self,message,identifier): + """ + Add a new message and identifier to the GTMasterMessage object + @self The object instance + @message The message to append + @identifier The identifier of the message + """ + self._messages.append((identifier,message)) + + def __str__(self): + """ + Return a string representation of the object + @self The object instance + """ + res="" + for ref in self._refs: + res=res+ref+"\n" + res=res+"msgid %s\n" % self._id + for message in self._messages: + res=res+"msgstr(%s) %s\n" %(message[0],message[1]) + res=res+"\n" + return res + +class GTFile: + """ + A class containing the GTMessages contained in a file + """ + + def __init__(self,filename): + """ + The constructor of the GTMFile class + @self The object instance + @filename The file to initialize from + """ + self._filename=filename + self._messages=[] + self.readFile(filename) + + def __str__(self): + """ + Return a string representation of the object + @self The object instance + """ + res="" + for message in self._messages: + res=res+str(message)+"\n" + return res + + def invertedStrings(self): + """ + Return a string representation of the object, with msgid and msgstr + swapped. Will remove duplicates... + @self The object instance + """ + + msght={} + msgar=[] + + for message in self._messages: + if message._id=='""' and len(msgar)==0: + msgar.append(GTMessage(message._id,message._message,message._refs)) + continue + msg=GTMessage(message._message,message._id,message._refs) + if msg._id not in msght: + msght[msg._id]=msg + msgar.append(msg) + else: + msg2=msght[msg._id] + for ref in msg._refs: + msg2._refs.append(ref) + res="" + for message in msgar: + res=res+str(message)+"\n" + return res + + def msgidDupes(self): + """ + Search for duplicates in the msgids. + @self The object instance + """ + msgids={} + res="" + for message in self._messages: + msgid=message._id + if msgid in msgids: + res=res+"Duplicate: %s\n" % (msgid) + else: + msgids[msgid]=1 + return res + + def getMsgstr(self,msgid): + """ + Return the msgstr matching the given id. 'None' if missing + @self The object instance + @msgid The msgid key + """ + + for message in self._messages: + if msgid == message._id: + return message._message + return None + + def emptyMsgStrings(self): + """ + Return a string representation of the object, but leave the msgstr + empty - create a pot file from a po file + @self The object instance + """ + + res="" + for message in self._messages: + res=res+message.emptyMsgStrings()+"\n" + return res + + + def append(self,B): + """ + Append entries from dictionary B which aren't + already present in this dictionary + @self The object instance + @B the dictionary to append messages from + """ + + for message in B._messages: + if not self.getMsgstr(message._id): + self._messages.append(message) + + + def readFile(self,filename): + """ + Read the contents of a file into the GTFile object + @self The object instance + @filename The name of the file to read + """ + + file=open(filename,"r") + msgid="" + msgstr="" + refs=[] + lines=[] + inmsgid=0 + inmsgstr=0 + templines=file.readlines() + for line in templines: + lines.append(line.strip()) + for line in lines: + pos=line.find('"') + pos2=line.rfind('"') + if line and line[0]=="#": + refs.append(line.strip()) + if inmsgstr==0 and line[:6]=="msgstr": + msgstr="" + inmsgstr=1 + inmsgid=0 + if inmsgstr==1: + if pos==-1: + inmsgstr=0 + #Handle entries with and without "" consistently + if msgid[:2]=='""' and len(msgid)>4: + msgid=msgid[2:] + if msgstr[:2]=='""' and len(msgstr)>4: + msgstr=msgstr[2:] + message=GTMessage(msgid,msgstr,refs) + self._messages.append(message) + msgstr="" + msgid="" + refs=[] + else: + msgstr=msgstr+line[pos:pos2+1]+"\n" + if inmsgid==0 and line[:5]=="msgid": + msgid="" + inmsgid=1 + if inmsgid==1: + if pos==-1: + inmsgid=0 + else: + msgid=msgid+line[pos:pos2+1]+"\n" + if msgstr and msgid: + message=GTMessage(msgid,msgstr,refs) + self._messages.append(message) + + +class GTMaster: + """ + A class containing a master catalogue of gettext dictionaries + """ + + def __init__(self,dicts): + """ + The constructor for the GTMaster class + @self The object instance + @dicts An array of dictionaries to merge + """ + self._messages=[] + self.createMaster(dicts) + + def createMaster(self,dicts): + """ + Create the master catalogue + @self The object instance + @dicts An array of dictionaries to merge + """ + + self._master=dicts[0] + self._dicts=dicts[1:] + + for message in self._master._messages: + gtm=GTMasterMessage(message._id,message._refs) + gtm.addMessage(message._message,self._master._filename[:-3]) + for dict in self._dicts: + res=dict.getMsgstr(message._id) + if(res): + gtm.addMessage(res,dict._filename[:-3]) + self._messages.append(gtm) + + def __str__(self): + """ + Return a string representation of the object + @self The object instance + """ + res="" + for message in self._messages: + res=res+str(message)+"\n" + return res + +def printUsage(): + "Print the usage messages" + print("Usage: " + str(sys.argv[0]) + " [OPTION] file.po [ref.po]\n\ +This program can be used to alter .po files in ways no sane mind would think about.\n\ + -o result will be written to FILE\n\ + --invert invert a po file by switching msgid and msgstr\n\ + --master join any number of files in a master-formatted catalog\n\ + --empty empty the contents of the .po file, creating a .pot\n\ + --append append entries from ref.po that don't exist in file.po\n\ +\n\ +Note: It is just a replacement of msghack for backward support.\n") + + +if __name__=="__main__": + output=None + res=None + if("-o") in sys.argv: + if (len(sys.argv)<=sys.argv.index("-o")+1): + print("file.po and ref.po are not specified!\n") + printUsage() + exit(1) + output=sys.argv[sys.argv.index("-o")+1] + sys.argv.remove("-o") + sys.argv.remove(output) + if("--invert") in sys.argv: + if (len(sys.argv)<=sys.argv.index("--invert")+1): + print("file.po is not specified!\n") + printUsage() + exit(1) + file=sys.argv[sys.argv.index("--invert")+1] + gtf=GTFile(file) + res1=gtf.msgidDupes() + if res1: + sys.stderr.write(res1) + sys.exit(1) + res=str(gtf.invertedStrings()) + elif("--empty") in sys.argv: + if (len(sys.argv)<=sys.argv.index("--empty")+1): + print("file.po is not specified!\n") + printUsage() + exit(1) + file=sys.argv[sys.argv.index("--empty")+1] + gtf=GTFile(file) + res=str(gtf.emptyMsgStrings()) + elif("--master") in sys.argv: + if (len(sys.argv)<=sys.argv.index("--master")+1): + print("file.po is not specified!\n") + printUsage() + exit(1) + loc=sys.argv.index("--master")+1 + gtfs=[] + for file in sys.argv[loc:]: + gtfs.append(GTFile(file)) + master=GTMaster(gtfs) + res=str(master) + elif("--append") in sys.argv: + if (len(sys.argv)<=sys.argv.index("--append")+2): + print("file.po and/or ref.po are not specified!\n") + printUsage() + exit(1) + file=sys.argv[sys.argv.index("--append")+1] + file2=sys.argv[sys.argv.index("--append")+2] + gtf=GTFile(file) + gtf2=GTFile(file2) + gtf.append(gtf2) + res=str(gtf) + else: + #print("Not implemented: "+str(sys.argv)) + printUsage() + sys.exit(1) + if not output: + print(res) + else: + file=open(output,"w") + file.write(res) + sys.exit(0) diff --git a/sources b/sources new file mode 100644 index 0000000..bfe361b --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (gettext-0.21.tar.xz) = f7e2968651879f8444d43a176a149db9f9411f4a03132a7f3b37c2ed97e3978ae6888169c995c1953cb78943b6e3573811abcbb8661b6631edbbe067b2699ddf diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..54627ef --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,16 @@ +--- +# Tests run on Atomic, Classic and Container +- hosts: localhost + roles: + - role: standard-test-beakerlib + tags: + - atomic + - classic + - container + repositories: + - repo: "https://src.fedoraproject.org/tests/gettext.git" + dest: "gettext" + tests: + - gettext/gettext-tests + required_packages: + - gettext