Compare commits

...

No commits in common. "c8s" and "c10s" have entirely different histories.
c8s ... c10s

16 changed files with 423 additions and 150 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

2
.gitignore vendored
View File

@ -1,2 +1,2 @@
SOURCES/libtool-2.4.6.tar.xz
/libtool-2.4.6.tar.xz /libtool-2.4.6.tar.xz
/libtool-2.4.7.tar.xz

View File

@ -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?= <fberat@redhat.com>
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

6
STAGE2-libtool Normal file
View File

@ -0,0 +1,6 @@
mcd $BUILDDIR/libtool
$SRC/libtool-*/configure $TCONFIGARGS
make $J
make $J install

7
ci.fmf Normal file
View File

@ -0,0 +1,7 @@
summary: CI Gating Plan
discover:
- name: gitlabcee_tests
how: fmf
url: https://gitlab.cee.redhat.com/toolchain-qe/tests/libtool.git
execute:
how: tmt

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

View File

@ -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, [[...]])

View File

@ -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)])

View File

@ -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 ;;

View File

@ -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

View File

@ -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

View File

@ -1,37 +0,0 @@
From 702a97fbb09bd7088a50f2b239016d1e32843c24 Mon Sep 17 00:00:00 2001
From: Pavel Raiskup <praiskup@redhat.com>
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 <praiskup@redhat.com>
---
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

View File

@ -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

20
libtool-c99.patch Normal file
View File

@ -0,0 +1,20 @@
Include <string.h> for the strcmp function. This improves C99
compiler compatibility because it avoids an implicit function
declaration.
Submitted upstream:
<https://lists.gnu.org/archive/html/libtool-patches/2023-01/msg00000.html>
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 <ltdl.h>
#include <stdio.h>
+#include <string.h>
/* This dlopen() in the main executable should override any dlopen()s in
shared libraries etc.

View File

@ -7,11 +7,43 @@
Summary: The GNU Portable Library Tool Summary: The GNU Portable Library Tool
Name: libtool Name: libtool
Version: 2.4.6 Version: 2.4.7
Release: 25%{?dist} Release: 13%{?dist}
License: GPLv2+ and LGPLv2+ and GFDL
# 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/ URL: http://www.gnu.org/software/libtool/
Group: Development/Tools
Source: http://ftp.gnu.org/gnu/libtool/libtool-%{version}.tar.xz 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 # ~> remove possibly once #1158915 gets fixed somehow
Patch0: libtool-2.4.5-rpath.patch 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 # 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. # 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. # At the same time we want to have libltdl.so hardened. Downstream-only patch.
%undefine _hardened_build %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} %if ! 0%{?_module_build}
Patch100: libtool-nodocs.patch Patch100: libtool-nodocs.patch
%endif %endif
Patch101: libtool-c99.patch
# /usr/bin/libtool includes paths within gcc's versioned directories # /usr/bin/libtool includes paths within gcc's versioned directories
# Libtool must be rebuilt whenever a new upstream gcc is built # Libtool must be rebuilt whenever a new upstream gcc is built
# Starting with gcc 7 gcc in Fedora is packaged so that only major # Starting with gcc 7 gcc in Fedora is packaged so that only major
# number changes need libtool rebuilding. # number changes need libtool rebuilding.
Requires: gcc(major) = %{gcc_major} Requires: gcc(major) = %{gcc_major}
Requires: autoconf, automake, sed, tar, findutils Requires: autoconf, automake, sed, tar, findutils
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%if ! 0%{?_module_build} %if ! 0%{?_module_build}
BuildRequires: texinfo BuildRequires: texinfo
@ -53,6 +98,9 @@ BuildRequires: help2man
# make sure we can configure all supported langs # make sure we can configure all supported langs
BuildRequires: libstdc++-devel, gcc-gfortran BuildRequires: libstdc++-devel, gcc-gfortran
BuildRequires: gcc, gcc-c++
BuildRequires: make
%description %description
GNU Libtool is a set of shell scripts which automatically configure UNIX and GNU Libtool is a set of shell scripts which automatically configure UNIX and
@ -72,11 +120,8 @@ and GNU Automake).
%package ltdl %package ltdl
Summary: Runtime libraries for GNU Libtool Dynamic Module Loader Summary: Runtime libraries for GNU Libtool Dynamic Module Loader
Group: System Environment/Libraries
Provides: %{name}-libs = %{version}-%{release} Provides: %{name}-libs = %{version}-%{release}
License: LGPLv2+ License: LGPLv2+
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
%description ltdl %description ltdl
@ -91,7 +136,6 @@ the rest of the GNU Autotools (including GNU Autoconf and GNU Automake).
%package ltdl-devel %package ltdl-devel
Summary: Tools needed for development using the GNU Libtool Dynamic Module Loader Summary: Tools needed for development using the GNU Libtool Dynamic Module Loader
Group: Development/Libraries
Requires: automake = %automake_version Requires: automake = %automake_version
Requires: %{name}-ltdl = %{version}-%{release} Requires: %{name}-ltdl = %{version}-%{release}
License: LGPLv2+ License: LGPLv2+
@ -102,49 +146,27 @@ Static libraries and header files for development with ltdl.
%prep %prep
%setup -n libtool-%{version} -q %autosetup -n libtool-%{version} -p1
%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
autoreconf -v autoreconf -v
%build %build
export CC=gcc
export CXX=g++
export F77=gfortran
export CFLAGS="$RPM_OPT_FLAGS -fPIC"
%configure --prefix=%{_prefix} \ %configure
--exec-prefix=%{_prefix} \
--bindir=%{_bindir} \
--sbindir=%{_sbindir} \
--sysconfdir=%{_sysconfdir} \
--datadir=%{_datadir} \
--includedir=%{_includedir} \
--libdir=%{_libdir} \
--libexecdir=%{_libexecdir} \
--localstatedir=%{_localstatedir} \
--mandir=%{_mandir} \
--infodir=%{_infodir}
make %{?_smp_mflags} \ %make_build \
CUSTOM_LTDL_CFLAGS="%_hardening_cflags" \ CUSTOM_LTDL_CFLAGS="%_hardening_cflags" \
CUSTOM_LTDL_LDFLAGS="%_hardening_ldflags" CUSTOM_LTDL_LDFLAGS="%_hardening_ldflags"
%check %check
%if %{with check} %if %{with check}
make check VERBOSE=yes || { cat testsuite.log ; false ; } make check VERBOSE=yes || { cat tests/testsuite.dir/*/testsuite.log ; false ; }
%endif %endif
%install %install
make install DESTDIR=%{buildroot} %make_install
# info's TOP dir (by default owned by info) # info's TOP dir (by default owned by info)
rm -f %{buildroot}%{_infodir}/dir rm -f %{buildroot}%{_infodir}/dir
# *.la *.a files generated by libtool shouldn't be distributed (and the # *.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} 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 %files
%license COPYING %license COPYING
%doc AUTHORS NEWS README THANKS TODO ChangeLog* %doc AUTHORS NEWS README THANKS TODO ChangeLog*
@ -198,8 +204,131 @@ fi
%changelog %changelog
* Fri May 18 2018 Pavel Raiskup <praiskup@redhat.com> - 2.4.6-25 * Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 2.4.7-13
- bump for automake 1.16 - Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 2.4.7-12
- Bump release for June 2024 mass rebuild
* Fri May 31 2024 Frédéric Bérat <fberat@redhat.com> - 2.4.7-11
- Rework hardening patch to include loaders. (RHEL-33501)
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.7-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Jan 15 2024 Jakub Jelinek <jakub@redhat.com> - 2.4.7-9
- bump: for gcc 14.* in rawhide
* Tue Aug 08 2023 Frederic Berat <fberat@redhat.com> - 2.4.7-8
- Migrate to SPDX licenses (#2222091).
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.7-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.7-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Mon Jan 16 2023 Jakub Jelinek <jakub@redhat.com> - 2.4.7-5
- bump: for gcc 13.* in rawhide
* Tue Jan 10 2023 Florian Weimer <fweimer@redhat.com> - 2.4.7-4
- C99 compatibility fix in the testsuite
* Wed Dec 21 2022 Frederic Berat <fberat@redhat.com> - 2.4.7-3
- Fix test failure due to grep update
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Mar 21 2022 Frederic Berat <fberat@redhat.com> - 2.4.7-1
- Rebase to libtool 2.4.7 (#2065004)
* Thu Feb 17 2022 Frederic Berat <fberat@redhat.com> - 2.4.6-50
- Keep compiler generated list of library dependencies.
* Sun Feb 13 2022 Jeff Law <jeffreyalaw@gmail.com> - 2.4.6-49
- Re-enable LTO (completing change from Nov 29, 2021)
* Tue Feb 01 2022 Frederic Berat <fberat@redhat.com> - 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 <releng@fedoraproject.org> - 2.4.6-47
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Jan 10 2022 Jakub Jelinek <jakub@redhat.com> - 2.4.6-46
- bump: for gcc 12.* in rawhide
* Mon Nov 29 2021 Marek Kulik <mkulik@redhat.com> - 2.4.6-45
- Enable LTO build
- Add disable-lto-link-order2.patch to pass tests
* Mon Oct 04 2021 Ondrej Dubaj <odubaj@redhat.com> - 2.4.6-44
- rebuild with automake-1.16.5
* Mon Aug 30 2021 Ondrej Dubaj <odubaj@redhat.com> - 2.4.6-43
- rebuild with automake-1.16.4
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.6-42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Mar 25 2021 Ondrej Dubaj <odubaj@redhat.com> - 2.4.6-41
- rebuild with automake-1.16.3
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.6-40
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Dec 07 2020 Jakub Jelinek <jakub@redhat.com> - 2.4.6-39
- bump: for gcc 11.* in eln
* Sun Dec 06 2020 Jakub Jelinek <jakub@redhat.com> - 2.4.6-38
- bump: for gcc 11.* in rawhide
* Wed Oct 21 2020 Jakub Jelinek <jakub@redhat.com> - 2.4.6-37
- bump: for gcc 11.* in eln
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.6-36
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Apr 21 2020 Jeff Law <law@redhat.com> - 2.4.6-35
- Disable LTO
* Tue Apr 21 2020 Pavel Raiskup <praiskup@redhat.com> - 2.4.6-34
- bump for new automake, rhbz#1815814
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.6-33
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Jan 20 2020 Jakub Jelinek <jakub@redhat.com> - 2.4.6-32
- bump: for gcc 10.*
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.6-31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Apr 24 2019 Björn Esser <besser82@fedoraproject.org> - 2.4.6-30
- Remove hardcoded gzip suffix from GNU info pages
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.6-29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jan 21 2019 Björn Esser <besser82@fedoraproject.org> - 2.4.6-28
- bump: for gcc 9.*
* Tue Aug 28 2018 Pavel Raiskup <praiskup@redhat.com> - 2.4.6-27
- BR gcc, gcc-c++ (rhbz#1623078)
* Tue Aug 28 2018 Pavel Raiskup <praiskup@redhat.com> - 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 <releng@fedoraproject.org> - 2.4.6-25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Apr 20 2018 Pavel Raiskup <praiskup@redhat.com> - 2.4.6-24 * Fri Apr 20 2018 Pavel Raiskup <praiskup@redhat.com> - 2.4.6-24
- harden libltdl.so (rhbz#1548751) - harden libltdl.so (rhbz#1548751)

View File

@ -1 +1 @@
SHA512 (libtool-2.4.6.tar.xz) = a6eef35f3cbccf2c9e2667f44a476ebc80ab888725eb768e91a3a6c33b8c931afc46eb23efaee76c8696d3e4eed74ab1c71157bcb924f38ee912c8a90a6521a4 SHA512 (libtool-2.4.7.tar.xz) = 47f4c6de40927254ff9ba452612c0702aea6f4edc7e797f0966c8c6bf0340d533598976cdba17f0bdc64545572e71cd319bbb587aa5f47cd2e7c1d96f873a3da