From 1b17af56abe8f1ba5df0218a88bb495ce81466b5 Mon Sep 17 00:00:00 2001 From: Sundeep Anand Date: Tue, 27 Apr 2021 18:14:25 +0530 Subject: [PATCH] disable libtextstyle as it is dependent on libcroco, which is unmaintained now --- gettext-0.21-disable-libtextstyle.patch | 128 ++++++++++++++++++++++++ gettext.spec | 43 ++------ 2 files changed, 139 insertions(+), 32 deletions(-) create mode 100644 gettext-0.21-disable-libtextstyle.patch diff --git a/gettext-0.21-disable-libtextstyle.patch b/gettext-0.21-disable-libtextstyle.patch new file mode 100644 index 0000000..66271ad --- /dev/null +++ b/gettext-0.21-disable-libtextstyle.patch @@ -0,0 +1,128 @@ +diff --git a/Makefile.am b/Makefile.am +index 815e3c7..e897de7 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -19,7 +19,7 @@ + AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies + ACLOCAL_AMFLAGS = -I m4 + +-SUBDIRS = gnulib-local gettext-runtime libtextstyle gettext-tools ++SUBDIRS = gnulib-local gettext-runtime gettext-tools + + changelog_etc = \ + gettext-runtime/ChangeLog.0 \ +@@ -123,7 +123,6 @@ distcheck-hook: + test "`sed 1,16d $(srcdir)/gettext-runtime/intl/xsize.h | md5sum`" = "`sed 1,16d $(srcdir)/gettext-tools/gnulib-lib/xsize.h | md5sum`" + cmp -s $(srcdir)/gettext-runtime/man/help2man $(srcdir)/gettext-tools/man/help2man + cmp -s $(srcdir)/gettext-runtime/man/x-to-1.in $(srcdir)/gettext-tools/man/x-to-1.in +- cmp -s $(srcdir)/libtextstyle/m4/libtextstyle.m4 $(srcdir)/gettext-tools/gnulib-m4/libtextstyle.m4 + cmp -s $(srcdir)/gettext-tools/examples/hello-java-awt/m4/TestAWT.java $(srcdir)/gettext-tools/examples/hello-java-swing/m4/TestAWT.java + cmp -s $(srcdir)/gettext-tools/examples/hello-java-awt/m4/TestAWT.class $(srcdir)/gettext-tools/examples/hello-java-swing/m4/TestAWT.class + test "`sed 1,15d $(srcdir)/gnulib-local/lib/alloca.in.h | md5sum`" = "`sed 1,15d $(srcdir)/gettext-runtime/libasprintf/alloca.in.h | md5sum`" +diff --git a/configure.ac b/configure.ac +index 49689fb..2d23b44 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -37,7 +37,7 @@ dnl Checks for typedefs, structures, and compiler characteristics. + + dnl Checks for library functions. + +-AC_CONFIG_SUBDIRS([gettext-runtime libtextstyle gettext-tools]) ++AC_CONFIG_SUBDIRS([gettext-runtime gettext-tools]) + + AM_EXTRA_RECURSIVE_TARGETS([maintainer-update-po]) + +@@ -49,7 +49,7 @@ AC_CANONICAL_HOST + dnl Optional Features: AC_ARG_ENABLE calls + dnl Optional Packages: AC_ARG_WITH calls + dnl Some influential environment variables: AC_ARG_VAR calls +-esyscmd([{ cd gettext-runtime && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; cd libtextstyle && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; { cd gettext-tools && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; } | grep -v installed.libtextstyle | grep -v installed.csharp | grep -v 'installed C#'; } | sed -f build-aux/ac-help.sed ]) ++esyscmd([{ cd gettext-runtime && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; { cd gettext-tools && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; } | grep -v installed.csharp | grep -v 'installed C#'; } | sed -f build-aux/ac-help.sed ]) + + AC_CONFIG_FILES([Makefile]) + +diff --git a/gettext-tools/Makefile.am b/gettext-tools/Makefile.am +index 449a797..c5719c2 100644 +--- a/gettext-tools/Makefile.am ++++ b/gettext-tools/Makefile.am +@@ -19,7 +19,7 @@ + AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies + ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4 + +-SUBDIRS = intl gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 tests system-tests gnulib-tests examples doc ++SUBDIRS = intl gnulib-lib libgrep libgettextpo src po its projects styles emacs misc man m4 tests system-tests gnulib-tests examples doc + + EXTRA_DIST = misc/DISCLAIM + MOSTLYCLEANFILES = core *.stackdump +diff --git a/gettext-tools/libgettextpo/textstyle.in.h b/gettext-tools/libgettextpo/textstyle.in.h +index 536b51b..585ce66 100644 +--- a/gettext-tools/libgettextpo/textstyle.in.h ++++ b/gettext-tools/libgettextpo/textstyle.in.h +@@ -213,7 +213,8 @@ typedef ostream_t file_ostream_t; + static inline file_ostream_t + file_ostream_create (FILE *fp) + { +- return fp; ++ /* Closing the stream we return should not close 'fp'. */ ++ return fdopen (dup (fileno (fp)), "w"); + } + + /* --------------------------- From fd-ostream.h --------------------------- */ +@@ -413,6 +414,30 @@ html_styled_ostream_create (ostream_t destination _GL_UNUSED, + return NULL; + } + ++/* ----------------------- From noop-styled-ostream.h ----------------------- */ ++ ++/* noop_styled_ostream_t is a subtype of ostream_t. */ ++typedef ostream_t noop_styled_ostream_t; ++ ++#define noop_styled_ostream_write_mem ostream_write_mem ++#define noop_styled_ostream_flush ostream_flush ++#define noop_styled_ostream_free ostream_free ++#define noop_styled_ostream_begin_use_class styled_ostream_begin_use_class ++#define noop_styled_ostream_end_use_class styled_ostream_end_use_class ++#define noop_styled_ostream_get_hyperlink_ref styled_ostream_get_hyperlink_ref ++#define noop_styled_ostream_get_hyperlink_id styled_ostream_get_hyperlink_id ++#define noop_styled_ostream_set_hyperlink styled_ostream_set_hyperlink ++#define noop_styled_ostream_flush_to_current_style styled_ostream_flush_to_current_style ++ ++static inline ostream_t ++noop_styled_ostream_create (ostream_t destination, bool pass_ownership) ++{ ++ if (pass_ownership) ++ return destination; ++ else ++ return fdopen (dup (fileno (destination)), "w"); ++} ++ + /* ------------------------------ From color.h ------------------------------ */ + + #define color_test_mode false +diff --git a/gettext-tools/src/Makefile.am b/gettext-tools/src/Makefile.am +index 764ffad..eccfbbd 100644 +--- a/gettext-tools/src/Makefile.am ++++ b/gettext-tools/src/Makefile.am +@@ -292,19 +292,9 @@ cldr_plurals_SOURCES = cldr-plural.y cldr-plural-exp.c cldr-plurals.c + cldr_plurals_CFLAGS = $(AM_CFLAGS) $(INCXML) + cldr_plurals_LDADD = libgettextsrc.la $(LDADD) + +-if USE_INSTALLED_LIBTEXTSTYLE +-LT_LIBTEXTSTYLE = @LTLIBTEXTSTYLE@ +-else +-# How to get the include files of libtextstyle. +-textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h: +- here=`pwd`; \ +- cd ../../libtextstyle/lib && \ +- $(MAKE) install-nobase_includeHEADERS install-nobase_nodist_includeHEADERS includedir="$$here" +-BUILT_SOURCES += textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h +-MOSTLYCLEANFILES += textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h +-# Where to find the built libtextstyle library. +-LT_LIBTEXTSTYLE = ../../libtextstyle/lib/libtextstyle.la +-endif ++# Use the dummy libtextstyle from gnulib, as libgettextpo does. ++LT_LIBTEXTSTYLE = ++AM_CPPFLAGS += -I../libgettextpo -I$(top_srcdir)/libgettextpo + + # How to build libgettextsrc.la. + # Need ../gnulib-lib/libgettextlib.la. diff --git a/gettext.spec b/gettext.spec index 3664352..ba8ec9d 100644 --- a/gettext.spec +++ b/gettext.spec @@ -4,7 +4,7 @@ Summary: GNU libraries and utilities for producing multi-lingual messages Name: gettext Version: 0.21 -Release: 4%{?dist} +Release: 5%{?dist} # The following are licensed under LGPLv2+: # - libintl and its headers # - libasprintf and its headers @@ -29,10 +29,11 @@ Source3: msghack.1 # https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00195.html Patch1: gettext-0.21-gnulib-perror-tests.patch +Patch2: gettext-0.21-disable-libtextstyle.patch # for bootstrapping # BuildRequires: autoconf >= 2.62 -# BuildRequires: automake +BuildRequires: automake # BuildRequires: libtool # BuildRequires: bison @@ -116,6 +117,7 @@ Requires: xz Requires: diffutils Obsoletes: gettext-autopoint < 0.18.1.1-3 Provides: gettext-autopoint = %{version}-%{release} +Obsoletes: libtextstyle-devel < %{version}-%{release} %description devel This package contains all development related files necessary for @@ -129,31 +131,12 @@ Summary: Libraries for %{name} # libasprintf is LGPLv2+ # libgettextpo is GPLv3+ License: LGPLv2+ and GPLv3+ +Obsoletes: libtextstyle < %{version}-%{release} %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 @@ -375,16 +358,6 @@ make check LIBUNISTRING=-lunistring %{_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 @@ -397,6 +370,12 @@ make check LIBUNISTRING=-lunistring %{_mandir}/man1/msghack.1* %changelog +* Fri Apr 30 2021 Sundeep Anand - 0.21-5 +- Add gettext-0.21-disable-libtextstyle.patch + Do not build libtextstyle, as it depends on libcroco + which is now unmaintained and has known security bugs. + Obsolete libtextstyle and libtextstyle-devel packages. + * Tue Jan 26 2021 Fedora Release Engineering - 0.21-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild