diff --git a/recode-3.7.2-Fix-regenerating-recode.1.patch b/recode-3.7.2-Fix-regenerating-recode.1.patch new file mode 100644 index 0000000..3eb4b0f --- /dev/null +++ b/recode-3.7.2-Fix-regenerating-recode.1.patch @@ -0,0 +1,33 @@ +From 0293ff45a5ca60574ed0434fd4eba8d9fd5c7c0e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Tue, 20 Aug 2019 09:19:41 +0200 +Subject: [PATCH] Fix regenerating recode.1 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +libtool complained that merged.a la archive is not an object file. + +Signed-off-by: Petr Písař +--- + src/Makefile.am | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 5821f94..cb0abd6 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -96,9 +96,8 @@ merged.c: mergelex.py $(L_STEPS) + grep -av '^# *line [0-9]' merged.tm2 >> merged.c + rm merged.tm1 merged.tm2 + +-recode.1: main.c $(top_srcdir)/configure.ac ++recode.1: main.c $(top_srcdir)/configure.ac recode$(EXEEXT) + ## Exit gracefully if recode.1 is not writeable, such as during distcheck! +- $(MAKE) $(AM_MAKEFLAGS) recode$(EXEEXT) + $(AM_V_GEN)if ( touch $@.w && rm -f $@.w; ) >/dev/null 2>&1; then \ + $(top_srcdir)/build-aux/missing --run $(HELP2MAN) --locale=C \ + --name="converts files between character sets" \ +-- +2.21.0 + diff --git a/recode-3.7.2-Version-the-shared-library-fix-22.patch b/recode-3.7.2-Version-the-shared-library-fix-22.patch new file mode 100644 index 0000000..8619927 --- /dev/null +++ b/recode-3.7.2-Version-the-shared-library-fix-22.patch @@ -0,0 +1,64 @@ +From 5d1be02360cf2dc3b8b1c74eb629d50497ecd0dc Mon Sep 17 00:00:00 2001 +From: Reuben Thomas +Date: Mon, 19 Aug 2019 19:54:17 +0100 +Subject: [PATCH] Version the shared library (fix #22) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Petr Písař +--- + configure.ac | 23 +++++++++++++++++++++++ + src/Makefile.am | 2 +- + 2 files changed, 24 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 5385584..b0415c9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -10,6 +10,29 @@ AM_INIT_AUTOMAKE + AC_CONFIG_MACRO_DIR(m4) + AC_CANONICAL_HOST + ++dnl Release number rules: ++dnl This is derived from "Versioning" chapter of info libtool documentation. ++dnl Format is MAJOR:MINOR:MICRO ++dnl 4a) Increment major when removing or changing interfaces. ++dnl 4a) 5) Increment minor when adding interfaces. ++dnl 6) Set minor to zero when removing or changing interfaces. ++dnl 3) Increment micro when interfaces not changed at all, ++dnl only bug fixes or internal changes made. ++dnl 4b) Set micro to zero when adding, removing or changing interfaces. ++ ++dnl First extract pieces from the version number string ++RECODE_MAJOR_VERSION=`echo $VERSION | awk -F. '{print $1}'` ++RECODE_MINOR_VERSION=`echo $VERSION | awk -F. '{print $2}'` ++RECODE_MICRO_VERSION=`echo $VERSION | awk -F. '{print $3}'` ++ ++dnl Version info for libraries = CURRENT:REVISION:AGE ++RECODE_SONUM=$RECODE_MAJOR_VERSION ++AGE=$RECODE_MINOR_VERSION ++REVISION=$RECODE_MICRO_VERSION ++CURRENT=`expr $RECODE_SONUM + $AGE` ++VERSION_INFO=$CURRENT:$REVISION:$AGE ++AC_SUBST(VERSION_INFO) ++ + AC_PROG_CC_C99 + gl_EARLY + LT_INIT +diff --git a/src/Makefile.am b/src/Makefile.am +index 20b66c1..5821f94 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -54,7 +54,7 @@ recode_LDADD = librecode.la + librecode_la_SOURCES = charname.c combine.c fr-charname.c iconv.c \ + names.c outer.c recode.c request.c strip-pool.c task.c $(ALL_STEPS) \ + $(include_HEADERS) $(noinst_HEADERS) $(H_STEPS) +-librecode_la_LDFLAGS = -version-info 0:0:0 ++librecode_la_LDFLAGS = -version-info $(VERSION_INFO) + librecode_la_LIBADD = ../lib/libgnu.la libmerged.la + + libmerged_la_SOURCES = merged.c +-- +2.21.0 + diff --git a/recode.spec b/recode.spec index af9452d..b012b3c 100644 --- a/recode.spec +++ b/recode.spec @@ -65,12 +65,19 @@ Patch1: recode-3.7.1-python-3-compatibility.patch # 2/2 Adapt tests to Python3, unfinished, # Patch2: recode-3.7.1-Port-other-tests-to-Python-3.patch +# Change a soname because recode-3.7 changed an ABI, +# +Patch3: recode-3.7.2-Version-the-shared-library-fix-22.patch +# Needed for Version-the-shared-library-fix-22.patch +Patch4: recode-3.7.2-Fix-regenerating-recode.1.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: coreutils BuildRequires: gcc BuildRequires: gettext-devel -# help2man not used +# help2man needed because Version-the-shared-library-fix-22.patch patches +# configure.ac +BuildRequires: help2man BuildRequires: make BuildRequires: libtool BuildRequires: texinfo @@ -108,6 +115,8 @@ This package provides deader files for recode library. %patch1 -p1 %patch2 -p1 %endif +%patch3 -p1 +%patch4 -p1 autoreconf -fi %build @@ -151,8 +160,8 @@ rm $RPM_BUILD_ROOT%{_libdir}/*.la %{_mandir}/*/* %{_infodir}/recode.info* %{_bindir}/* -%{_libdir}/librecode.so.0 -%{_libdir}/librecode.so.0.* +%{_libdir}/librecode.so.3 +%{_libdir}/librecode.so.3.* %files devel %{_libdir}/*.so @@ -161,6 +170,8 @@ rm $RPM_BUILD_ROOT%{_libdir}/*.la %changelog * Tue Aug 20 2019 Petr Pisar - 3.7.2-1 - 3.7.2 bump +- Change a soname because recode-3.7 changed an ABI + (https://github.com/rrthomas/recode/issues/22) * Fri Aug 16 2019 Petr Pisar - 3.7.1-1 - 3.7.1 bump (bug #1379055)