diff --git a/.gitignore b/.gitignore index 7b6c657..6c8909d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -SOURCES/libtool-2.4.6.tar.xz -/libtool-2.4.6.tar.xz +libtool-2.4.7.tar.xz diff --git a/0001-tests-Fix-grep-warning-about-stray-before.patch b/0001-tests-Fix-grep-warning-about-stray-before.patch new file mode 100644 index 0000000..481dd42 --- /dev/null +++ b/0001-tests-Fix-grep-warning-about-stray-before.patch @@ -0,0 +1,35 @@ +From 414deacee0f564afdf2d7750450274c581330a59 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20B=C3=A9rat?= +Date: Wed, 21 Dec 2022 13:14:03 +0100 +Subject: [PATCH] tests: Fix grep warning about stray \ before / + +Recent version of grep emit a warning if stray \ is found before /. +This leads to the link-order test failure. + + * tests/link-order.at: Remove unneeded \ before / +--- + tests/link-order.at | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tests/link-order.at b/tests/link-order.at +index 3f01a00d..a145347f 100644 +--- a/tests/link-order.at ++++ b/tests/link-order.at +@@ -99,12 +99,12 @@ aix* | interix*) ;; # These systems have different path syntax + case $hardcode_direct$hardcode_direct_absolute in + yesno) + AT_CHECK([if $EGREP relinking stderr; then +- $EGREP " .*\/new\/lib/libb$shared_ext .*\/old\/lib/libcee$shared_ext" stdout ++ $EGREP " .*/new/lib/libb$shared_ext .*/old/lib/libcee$shared_ext" stdout + else :; fi], [0], [ignore], [], [echo "wrong link order"]) + ;; + *) + AT_CHECK([if $EGREP relinking stderr; then +- $EGREP " -L.*\/new\/lib -lb -L.*\/old\/lib -lcee" stdout ++ $EGREP " -L.*/new/lib -lb -L.*/old/lib -lcee" stdout + else :; fi], [0], [ignore], [], [echo "wrong link order"]) + ;; + esac +-- +2.38.1 + diff --git a/libtool-2.4.6-am-1.16-test.patch b/libtool-2.4.6-am-1.16-test.patch deleted file mode 100644 index 617f035..0000000 --- a/libtool-2.4.6-am-1.16-test.patch +++ /dev/null @@ -1,35 +0,0 @@ -Ensure that $(LIBLTDL) is built first - -After Automake upstream commit f4e91bfc490d, the list in 'all-am:' is -reordered for this test-case (*_LTLIBRARIES is before *_PROGRAMS), which -means that linker will fail to link 'old' binary. - -Previously (with automake <= 1.16), it was matter of luck -- it worked if -(a) the build was serial (-j1), and/or (b) libtool-ltdl-devel package was -installed on the box so ./configure picked the system version of libltdl. - -Users should anyways use system's ltdl, so this has low priority. - -diff --git a/tests/old-ltdl-iface.at b/tests/old-ltdl-iface.at -index cee29089..6f9c8001 100644 ---- a/tests/old-ltdl-iface.at -+++ b/tests/old-ltdl-iface.at -@@ -62,6 +62,9 @@ MOSTLYCLEANFILES = - include ltdl/Makefile.inc - bin_PROGRAMS = old - old_LDADD = -Lltdl $(LIBLTDL) -+# TODO: if --with-included-ltdl was unused this would -+# generate useless dependency. -+old_DEPENDENCIES = $(LIBLTDL) - ]]) - - AT_DATA([old.c], -@@ -131,7 +134,7 @@ LT_AT_CHECK_LIBTOOLIZE([--ltdl=ltdl --nonrecursive --install], 0, [expout], [exp - - AT_CHECK([test -f ltdl/Makefile.inc]) - --LT_AT_BOOTSTRAP([ignore], [-I m4], [], [--add-missing], [--force]) -+LT_AT_BOOTSTRAP([ignore], [-I m4], [], [--add-missing], [--force], [--with-included-ltdl]) - - LT_AT_EXEC_CHECK([./old], 0, [[...]]) - diff --git a/libtool-2.4.6-disable-lto-link-order2.patch b/libtool-2.4.6-disable-lto-link-order2.patch new file mode 100644 index 0000000..5e403e9 --- /dev/null +++ b/libtool-2.4.6-disable-lto-link-order2.patch @@ -0,0 +1,53 @@ +Enabling lto will result in failure during test phase, to be precise test 67 will cause it. +Compiler flags for this test (and most likely for rest of them) are inherited from actual build phase. +I'm not sure if this is expected. + +Most distribution disables this test. We try to keep it by stripping lto flags for it. + +Origin for this tests: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=391427 + +--- a/tests/link-order2.at 2015-01-16 19:52:04.000000000 +0100 ++++ b/tests/link-order2_new.at 2021-11-30 02:01:09.574451906 +0100 +@@ -47,6 +47,8 @@ + AT_KEYWORDS([libtool]) + AT_KEYWORDS([interactive])dnl running 'wrong' may cause a popup window. + ++NO_LTO_CFLAGS=${CFLAGS/-flto*-ffat-lto-objects } ++ + eval `$LIBTOOL --config | $EGREP '^(shlibpath_var|allow_undefined_flag)='` + + undefined_setting=-no-undefined +@@ -89,12 +91,12 @@ + EOF + + for file in a0 a1 b; do +- $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file.c ++ $LIBTOOL --mode=compile $CC $CPPFLAGS $NO_LTO_CFLAGS -c $file.c + done +-$CC $CPPFLAGS $CFLAGS -c main.c ++$CC $CPPFLAGS $NO_LTO_CFLAGS -c main.c + + # Build an old, installed library. +-$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o liba0.la a0.lo -rpath $deflibdir ++$LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o liba0.la a0.lo -rpath $deflibdir + $LIBTOOL --mode=install cp liba0.la $deflibdir/liba0.la + $LIBTOOL --mode=clean rm -f liba0.la + +@@ -118,13 +120,13 @@ + esac + test non-libtool,-static-libtool-libs = "$type_of_depdepl,$static" && + static=-all-static +- $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o liba1.la a1.lo -rpath $libdir +- $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o libb.la b.lo liba1.la -rpath $libdir +- AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o main$EXEEXT main.$OBJEXT libb.la -la0], ++ $LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o liba1.la a1.lo -rpath $libdir ++ $LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o libb.la b.lo liba1.la -rpath $libdir ++ AT_CHECK([$LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o main$EXEEXT main.$OBJEXT libb.la -la0], + [], [ignore], [ignore]) + LT_AT_EXEC_CHECK([./main]) + # Now test that if we reverse the link order, the program fails. +- AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o wrong$EXEEXT main.$OBJEXT -la0 libb.la], ++ AT_CHECK([$LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o wrong$EXEEXT main.$OBJEXT -la0 libb.la], + [], [ignore], [ignore]) + if test yes, != "$shared_fails,$static"; then + LT_AT_EXEC_CHECK([./wrong], [1], [], [ignore], [|| (exit 1)]) diff --git a/libtool-2.4.6-disable_non-pic_arm.patch b/libtool-2.4.6-disable_non-pic_arm.patch new file mode 100644 index 0000000..c99025f --- /dev/null +++ b/libtool-2.4.6-disable_non-pic_arm.patch @@ -0,0 +1,16 @@ +diff -r -U5 libtool-2.4.6.old/tests/demo.at libtool-2.4.6/tests/demo.at +--- libtool-2.4.6.old/tests/demo.at 2022-01-31 22:15:48.539557030 +0100 ++++ libtool-2.4.6/tests/demo.at 2022-02-01 09:43:30.262092074 +0100 +@@ -508,11 +508,11 @@ + ## ----------- ## + + AT_SETUP([force non-PIC objects]) + + AT_CHECK([case $host in +-hppa*|x86_64*|s390*) ++hppa*|x86_64*|s390*|arm*) + # These hosts cannot use non-PIC shared libs + exit 77 ;; + *-solaris*|*-sunos*) + # Libtool does not build non-PIC shared libs on these hosts + exit 77 ;; diff --git a/libtool-2.4.6-hardening.patch b/libtool-2.4.6-hardening.patch deleted file mode 100644 index 5c78918..0000000 --- a/libtool-2.4.6-hardening.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/Makefile.am b/Makefile.am -index 13dfc63..5c5603a 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -311,6 +311,9 @@ libtool: $(ltmain_sh) $(config_status) $(dotversion) - - include libltdl/ltdl.mk - -+libltdl_libltdl_la_CPPFLAGS += $(CUSTOM_LTDL_CFLAGS) -+libltdl_libltdl_la_LDFLAGS += $(CUSTOM_LTDL_LDFLAGS) -+ - lt_aclocal_m4 = $(srcdir)/$(ltdl_dir)/aclocal.m4 - lt_config_h_in = $(srcdir)/$(ltdl_dir)/config-h.in - lt_configure = $(srcdir)/$(ltdl_dir)/configure diff --git a/libtool-2.4.6-keep-compiler-deps.patch b/libtool-2.4.6-keep-compiler-deps.patch new file mode 100644 index 0000000..ab81bbb --- /dev/null +++ b/libtool-2.4.6-keep-compiler-deps.patch @@ -0,0 +1,58 @@ +diff -r -U5 libtool-2.4.6/build-aux/ltmain.in libtool-2.4.6.new/build-aux/ltmain.in +--- libtool-2.4.6/build-aux/ltmain.in 2022-02-22 09:21:35.317958251 +0100 ++++ libtool-2.4.6.new/build-aux/ltmain.in 2022-02-22 09:16:10.117571787 +0100 +@@ -501,21 +501,14 @@ + fi + + # preserve --debug + test : = "$debug_cmd" || func_append preserve_args " --debug" + +- case $host in +- # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 +- # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 +- *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) +- # don't eliminate duplications in $postdeps and $predeps +- opt_duplicate_compiler_generated_deps=: +- ;; +- *) +- opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps +- ;; +- esac ++ # Keeping compiler generated duplicates in $postdeps and $predeps is not ++ # harmful, and is necessary in a majority of systems that use it to satisfy ++ # symbol dependencies. ++ opt_duplicate_compiler_generated_deps=: + + $opt_help || { + # Sanity checks first: + func_check_version_match + +diff -r -U5 libtool-2.4.6/build-aux/ltmain.sh libtool-2.4.6.new/build-aux/ltmain.sh +--- libtool-2.4.6/build-aux/ltmain.sh 2015-02-15 17:15:12.000000000 +0100 ++++ libtool-2.4.6.new/build-aux/ltmain.sh 2022-02-22 09:16:44.783613061 +0100 +@@ -2413,21 +2413,14 @@ + fi + + # preserve --debug + test : = "$debug_cmd" || func_append preserve_args " --debug" + +- case $host in +- # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 +- # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 +- *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) +- # don't eliminate duplications in $postdeps and $predeps +- opt_duplicate_compiler_generated_deps=: +- ;; +- *) +- opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps +- ;; +- esac ++ # Keeping compiler generated duplicates in $postdeps and $predeps is not ++ # harmful, and is necessary in a majority of systems that use it to satisfy ++ # symbol dependencies. ++ opt_duplicate_compiler_generated_deps=: + + $opt_help || { + # Sanity checks first: + func_check_version_match + diff --git a/libtool-2.4.6-specs.patch b/libtool-2.4.6-specs.patch deleted file mode 100644 index 6a4764f..0000000 --- a/libtool-2.4.6-specs.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 702a97fbb09bd7088a50f2b239016d1e32843c24 Mon Sep 17 00:00:00 2001 -From: Pavel Raiskup -Date: Fri, 18 Sep 2015 10:36:43 +0200 -Subject: libtool: fix GCC linking with -specs=* - -References: -https://bugzilla.redhat.com/show_bug.cgi?id=985592 - -* build-aux/ltmain.in (func_mode_link): Pass -specs=* -to the linker, Fedora uses this option for hardening. - -Signed-off-by: Pavel Raiskup ---- - build-aux/ltmain.in | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in -index d5cf07a..0c40da0 100644 ---- a/build-aux/ltmain.in -+++ b/build-aux/ltmain.in -@@ -5360,10 +5360,12 @@ func_mode_link () - # -tp=* Portland pgcc target processor selection - # --sysroot=* for sysroot support - # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization -+ # -specs=* GCC specs files - # -stdlib=* select c++ std lib with clang - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -- -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*) -+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ -+ -specs=*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - func_append compile_command " $arg" --- -cgit v1.0-41-gc330 - diff --git a/libtool-2.4.7-hardening.patch b/libtool-2.4.7-hardening.patch new file mode 100644 index 0000000..2ad24d2 --- /dev/null +++ b/libtool-2.4.7-hardening.patch @@ -0,0 +1,28 @@ +diff --git a/Makefile.am b/Makefile.am +index 13dfc63..5c5603a 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -311,6 +311,23 @@ libtool: $(ltmain_sh) $(config_status) $(dotversion) + + include libltdl/ltdl.mk + ++libltdl_libltdl_la_CFLAGS = $(CUSTOM_LTDL_CFLAGS) ++libltdl_libltdl_la_LDFLAGS += $(CUSTOM_LTDL_LDFLAGS) ++ ++libltdl_dlopen_la_LDFLAGS += $(CUSTOM_LTDL_LDFLAGS) ++libltdl_dld_link_la_LDFLAGS += $(CUSTOM_LTDL_LDFLAGS) ++libltdl_dyld_la_LDFLAGS += $(CUSTOM_LTDL_LDFLAGS) ++libltdl_load_add_on_la_LDFLAGS += $(CUSTOM_LTDL_LDFLAGS) ++libltdl_loadlibrary_la_LDFLAGS += $(CUSTOM_LTDL_LDFLAGS) ++libltdl_shl_load_la_LDFLAGS += $(CUSTOM_LTDL_LDFLAGS) ++ ++libltdl_dlopen_la_CFLAGS = $(CUSTOM_LTDL_CFLAGS) ++libltdl_dld_link_la_CFLAGS = $(CUSTOM_LTDL_CFLAGS) ++libltdl_dyld_la_CFLAGS = $(CUSTOM_LTDL_CFLAGS) ++libltdl_load_add_on_la_CFLAGS = $(CUSTOM_LTDL_CFLAGS) ++libltdl_loadlibrary_la_CFLAGS = $(CUSTOM_LTDL_CFLAGS) ++libltdl_shl_load_la_CFLAGS = $(CUSTOM_LTDL_CFLAGS) ++ + lt_aclocal_m4 = $(srcdir)/$(ltdl_dir)/aclocal.m4 + lt_config_h_in = $(srcdir)/$(ltdl_dir)/config-h.in + lt_configure = $(srcdir)/$(ltdl_dir)/configure diff --git a/libtool-c99.patch b/libtool-c99.patch new file mode 100644 index 0000000..ffc437a --- /dev/null +++ b/libtool-c99.patch @@ -0,0 +1,20 @@ +Include for the strcmp function. This improves C99 +compiler compatibility because it avoids an implicit function +declaration. + +Submitted upstream: + + + +diff --git a/tests/lt_dlopen_a.at b/tests/lt_dlopen_a.at +index 95f18a0df165d41d..d3948738e4199cc6 100644 +--- a/tests/lt_dlopen_a.at ++++ b/tests/lt_dlopen_a.at +@@ -27,6 +27,7 @@ AT_KEYWORDS([libltdl lt_dlopen_a]) + AT_DATA([main.c], + [[#include + #include ++#include + + /* This dlopen() in the main executable should override any dlopen()s in + shared libraries etc. diff --git a/libtool.spec b/libtool.spec index 8dfbe7b..60150a0 100644 --- a/libtool.spec +++ b/libtool.spec @@ -7,11 +7,43 @@ Summary: The GNU Portable Library Tool Name: libtool -Version: 2.4.6 -Release: 25%{?dist} -License: GPLv2+ and LGPLv2+ and GFDL +Version: 2.4.7 +Release: 13%{?dist} + +# To help future rebase, the following licenses were seen in the following files/folders: +# '*' is anything that was not explicitly listed earlier in the folder +# +# From libtool package: +# usr/bin/: +# libtool - GPL-2.0-or-later WITH Libtool-exception AND MIT +# libtoolize - GPL-2.0-or-later AND MIT +# usr/share/: +# aclocal/* - FSFULLR +# doc/libtool: +# AUTHORS - GPL-2.0-or-later +# * - FSFAP +# info/* - GFDL-1.3-or-later +# libtool/build-aux/: +# {compile,depcomp,missing} - GPL-2.0-or-later WITH Autoconf-exception-generic +# config.{guess,sub} - GPL-3.0-or-later WITH Autoconf-exception-generic-3.0 +# install-sh - X11 AND LicenseRef-Fedora-public-domain +# ltmain.sh - GPL-2.0-or-later WITH Libtool-exception AND MIT +# usr/share/man/man1/*: generated from usr/bin/libtool{,ize} using help2man +# +# From libtool-ltdl package: +# usr/lib64/ +# * - LGPL-2.0-or-later WITH Libtool-exception +# +# From libtool-ltdl-devel package: +# usr/include/* - LGPL-2.0-or-later WITH Libtool-exception +# usr/share/: +# README - FSFAP +# {*.c,*.h,Makefile.am,configure.ac,ltdl.mk} - LGPL-2.0-or-later WITH Libtool-exception +# Makefile.in - FSFULLRWD +# aclocal.m4 - FSFULLR AND FSFULLRWD +# configure - FSFUL +License: GPL-2.0-or-later AND GPL-2.0-or-later WITH Autoconf-exception-generic AND GPL-2.0-or-later WITH Libtool-exception AND LGPL-2.0-or-later WITH Libtool-exception AND GPL-3.0-or-later WITH Autoconf-exception-generic-3.0 AND MIT AND FSFAP AND FSFULLR AND FSFULLRWD AND GFDL-1.3-or-later AND X11 AND LicenseRef-Fedora-public-domain URL: http://www.gnu.org/software/libtool/ -Group: Development/Tools Source: http://ftp.gnu.org/gnu/libtool/libtool-%{version}.tar.xz @@ -19,30 +51,43 @@ Source: http://ftp.gnu.org/gnu/libtool/libtool-%{version}.tar.xz # ~> remove possibly once #1158915 gets fixed somehow Patch0: libtool-2.4.5-rpath.patch -# ~> downstream (TODO) -Patch1: libtool-2.4.6-am-1.16-test.patch - -# ~> upstream 702a97fbb -Patch2: libtool-2.4.6-specs.patch - # See the rhbz#1289759 and rhbz#1214506. We disable hardening namely because # that bakes the CFLAGS/LDFLAGS into installed /bin/libtool and ltmain.sh files. # At the same time we want to have libltdl.so hardened. Downstream-only patch. %undefine _hardened_build -Patch3: libtool-2.4.6-hardening.patch +Patch1: libtool-2.4.7-hardening.patch + +# The testsuite seems to not properly handle template instantiation and as +# a result fails. libtool itself appears to be OK from my by-hand testing. (by Jeff Law) +# Disable LTO for link-order2 test (Related: #1988112) +Patch2: libtool-2.4.6-disable-lto-link-order2.patch + +# non-PIC libraries are not supported on ARMv7 +# Since we removed "-fPIC" from global CFLAGS this test fails on this arch (as expected) +# Please refer to the following ticket regarding PIC support on ARM: +# https://bugs.launchpad.net/ubuntu/+source/gcc-4.4/+bug/503448 +Patch3: libtool-2.4.6-disable_non-pic_arm.patch + +# rhbz#2047389, patch sent upstream +# https://lists.gnu.org/archive/html/libtool-patches/2022-02/msg00000.html +Patch4: libtool-2.4.6-keep-compiler-deps.patch + +# Patch sent upstream +# https://lists.gnu.org/archive/html/libtool-patches/2022-12/msg00004.html +Patch5: 0001-tests-Fix-grep-warning-about-stray-before.patch %if ! 0%{?_module_build} Patch100: libtool-nodocs.patch %endif +Patch101: libtool-c99.patch + # /usr/bin/libtool includes paths within gcc's versioned directories # Libtool must be rebuilt whenever a new upstream gcc is built # Starting with gcc 7 gcc in Fedora is packaged so that only major # number changes need libtool rebuilding. Requires: gcc(major) = %{gcc_major} Requires: autoconf, automake, sed, tar, findutils -Requires(post): /sbin/install-info -Requires(preun): /sbin/install-info %if ! 0%{?_module_build} BuildRequires: texinfo @@ -53,6 +98,9 @@ BuildRequires: help2man # make sure we can configure all supported langs BuildRequires: libstdc++-devel, gcc-gfortran +BuildRequires: gcc, gcc-c++ +BuildRequires: make + %description GNU Libtool is a set of shell scripts which automatically configure UNIX and @@ -72,11 +120,8 @@ and GNU Automake). %package ltdl Summary: Runtime libraries for GNU Libtool Dynamic Module Loader -Group: System Environment/Libraries Provides: %{name}-libs = %{version}-%{release} License: LGPLv2+ -Requires(post): /sbin/ldconfig -Requires(postun): /sbin/ldconfig %description ltdl @@ -91,7 +136,6 @@ the rest of the GNU Autotools (including GNU Autoconf and GNU Automake). %package ltdl-devel Summary: Tools needed for development using the GNU Libtool Dynamic Module Loader -Group: Development/Libraries Requires: automake = %automake_version Requires: %{name}-ltdl = %{version}-%{release} License: LGPLv2+ @@ -102,49 +146,27 @@ Static libraries and header files for development with ltdl. %prep -%setup -n libtool-%{version} -q -%patch0 -p1 -b .rpath -%patch1 -p1 -b .test -%patch2 -p1 -b .gcc-specs -%patch3 -p1 -b .ltdl-hardening -%if ! 0%{?_module_build} -%patch100 -p1 -b .nodocs -%endif +%autosetup -n libtool-%{version} -p1 autoreconf -v %build -export CC=gcc -export CXX=g++ -export F77=gfortran -export CFLAGS="$RPM_OPT_FLAGS -fPIC" -%configure --prefix=%{_prefix} \ - --exec-prefix=%{_prefix} \ - --bindir=%{_bindir} \ - --sbindir=%{_sbindir} \ - --sysconfdir=%{_sysconfdir} \ - --datadir=%{_datadir} \ - --includedir=%{_includedir} \ - --libdir=%{_libdir} \ - --libexecdir=%{_libexecdir} \ - --localstatedir=%{_localstatedir} \ - --mandir=%{_mandir} \ - --infodir=%{_infodir} +%configure -make %{?_smp_mflags} \ +%make_build \ CUSTOM_LTDL_CFLAGS="%_hardening_cflags" \ CUSTOM_LTDL_LDFLAGS="%_hardening_ldflags" %check %if %{with check} -make check VERBOSE=yes || { cat testsuite.log ; false ; } +make check VERBOSE=yes || { cat tests/testsuite.dir/*/testsuite.log ; false ; } %endif %install -make install DESTDIR=%{buildroot} +%make_install # info's TOP dir (by default owned by info) rm -f %{buildroot}%{_infodir}/dir # *.la *.a files generated by libtool shouldn't be distributed (and the @@ -152,22 +174,6 @@ rm -f %{buildroot}%{_infodir}/dir rm -f %{buildroot}%{_libdir}/libltdl.{a,la} -%post -/sbin/install-info %{_infodir}/libtool.info.gz %{_infodir}/dir || : - - -%post ltdl -p /sbin/ldconfig - - -%preun -if [ "$1" = 0 ]; then - /sbin/install-info --delete %{_infodir}/libtool.info.gz %{_infodir}/dir || : -fi - - -%postun ltdl -p /sbin/ldconfig - - %files %license COPYING %doc AUTHORS NEWS README THANKS TODO ChangeLog* @@ -198,8 +204,131 @@ fi %changelog -* Fri May 18 2018 Pavel Raiskup - 2.4.6-25 -- bump for automake 1.16 +* Tue Oct 29 2024 Troy Dawson - 2.4.7-13 +- Bump release for October 2024 mass rebuild: + Resolves: RHEL-64018 + +* Mon Jun 24 2024 Troy Dawson - 2.4.7-12 +- Bump release for June 2024 mass rebuild + +* Fri May 31 2024 Frédéric Bérat - 2.4.7-11 +- Rework hardening patch to include loaders. (RHEL-33501) + +* Sun Jan 21 2024 Fedora Release Engineering - 2.4.7-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Jan 15 2024 Jakub Jelinek - 2.4.7-9 +- bump: for gcc 14.* in rawhide + +* Tue Aug 08 2023 Frederic Berat - 2.4.7-8 +- Migrate to SPDX licenses (#2222091). + +* Thu Jul 20 2023 Fedora Release Engineering - 2.4.7-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jan 19 2023 Fedora Release Engineering - 2.4.7-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Jan 16 2023 Jakub Jelinek - 2.4.7-5 +- bump: for gcc 13.* in rawhide + +* Tue Jan 10 2023 Florian Weimer - 2.4.7-4 +- C99 compatibility fix in the testsuite + +* Wed Dec 21 2022 Frederic Berat - 2.4.7-3 +- Fix test failure due to grep update + +* Thu Jul 21 2022 Fedora Release Engineering - 2.4.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Mar 21 2022 Frederic Berat - 2.4.7-1 +- Rebase to libtool 2.4.7 (#2065004) + +* Thu Feb 17 2022 Frederic Berat - 2.4.6-50 +- Keep compiler generated list of library dependencies. + +* Sun Feb 13 2022 Jeff Law - 2.4.6-49 +- Re-enable LTO (completing change from Nov 29, 2021) + +* Tue Feb 01 2022 Frederic Berat - 2.4.6-48 +- Add support for "-fsanitize", rhbz#2024647 +- Add support for "-fuse-ld", rhbz#2024647 +- Use make macros (based on Tom Stellard work for f33 and Timm Bäder) + https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro +- Disable non-PIC test for ARM as this is not supported on this arch +- Use autosetup +- Use plain %%configure + +* Thu Jan 20 2022 Fedora Release Engineering - 2.4.6-47 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Jan 10 2022 Jakub Jelinek - 2.4.6-46 +- bump: for gcc 12.* in rawhide + +* Mon Nov 29 2021 Marek Kulik - 2.4.6-45 +- Enable LTO build +- Add disable-lto-link-order2.patch to pass tests + +* Mon Oct 04 2021 Ondrej Dubaj - 2.4.6-44 +- rebuild with automake-1.16.5 + +* Mon Aug 30 2021 Ondrej Dubaj - 2.4.6-43 +- rebuild with automake-1.16.4 + +* Thu Jul 22 2021 Fedora Release Engineering - 2.4.6-42 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Mar 25 2021 Ondrej Dubaj - 2.4.6-41 +- rebuild with automake-1.16.3 + +* Tue Jan 26 2021 Fedora Release Engineering - 2.4.6-40 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Dec 07 2020 Jakub Jelinek - 2.4.6-39 +- bump: for gcc 11.* in eln + +* Sun Dec 06 2020 Jakub Jelinek - 2.4.6-38 +- bump: for gcc 11.* in rawhide + +* Wed Oct 21 2020 Jakub Jelinek - 2.4.6-37 +- bump: for gcc 11.* in eln + +* Tue Jul 28 2020 Fedora Release Engineering - 2.4.6-36 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Apr 21 2020 Jeff Law - 2.4.6-35 +- Disable LTO + +* Tue Apr 21 2020 Pavel Raiskup - 2.4.6-34 +- bump for new automake, rhbz#1815814 + +* Wed Jan 29 2020 Fedora Release Engineering - 2.4.6-33 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Jan 20 2020 Jakub Jelinek - 2.4.6-32 +- bump: for gcc 10.* + +* Thu Jul 25 2019 Fedora Release Engineering - 2.4.6-31 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Apr 24 2019 Björn Esser - 2.4.6-30 +- Remove hardcoded gzip suffix from GNU info pages + +* Fri Feb 01 2019 Fedora Release Engineering - 2.4.6-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Jan 21 2019 Björn Esser - 2.4.6-28 +- bump: for gcc 9.* + +* Tue Aug 28 2018 Pavel Raiskup - 2.4.6-27 +- BR gcc, gcc-c++ (rhbz#1623078) + +* Tue Aug 28 2018 Pavel Raiskup - 2.4.6-26 +- cleanup post/postun, there are RPM triggers nowadays +- fix error: line 2642: func__fatal_error: command not found (rhbz#1622611) + +* Fri Jul 13 2018 Fedora Release Engineering - 2.4.6-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Fri Apr 20 2018 Pavel Raiskup - 2.4.6-24 - harden libltdl.so (rhbz#1548751) diff --git a/sources b/sources index 2f36489..333204a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libtool-2.4.6.tar.xz) = a6eef35f3cbccf2c9e2667f44a476ebc80ab888725eb768e91a3a6c33b8c931afc46eb23efaee76c8696d3e4eed74ab1c71157bcb924f38ee912c8a90a6521a4 +SHA512 (libtool-2.4.7.tar.xz) = 47f4c6de40927254ff9ba452612c0702aea6f4edc7e797f0966c8c6bf0340d533598976cdba17f0bdc64545572e71cd319bbb587aa5f47cd2e7c1d96f873a3da