Compare commits

..

No commits in common. "rawhide" and "f26" have entirely different histories.
rawhide ... f26

7 changed files with 56 additions and 292 deletions

1
.gitignore vendored
View File

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

View File

@ -1,53 +0,0 @@
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

@ -1,16 +0,0 @@
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

@ -1,58 +0,0 @@
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,44 +1,24 @@
# See the bug #1289759
%undefine _hardened_build
# See the bug #429880
%global gcc_major %(gcc -dumpversion || echo "666")
# See rhbz#1193591
%global automake_version %(set -- `automake --version | head -n 1` ; echo ${4-unknown})
%bcond_without check
Summary: The GNU Portable Library Tool
Name: libtool
Version: 2.4.7
Release: 2%{?dist}
Version: 2.4.6
Release: 18%{?dist}
License: GPLv2+ and LGPLv2+ and GFDL
URL: http://www.gnu.org/software/libtool/
Group: Development/Tools
Source: http://ftp.gnu.org/gnu/libtool/libtool-%{version}.tar.xz
# ~> downstream
# ~> remove possibly once #1158915 gets fixed somehow
Patch0: libtool-2.4.5-rpath.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
Patch1: libtool-2.4.6-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
%if ! 0%{?_module_build}
Patch100: libtool-nodocs.patch
%endif
@ -49,6 +29,8 @@ Patch100: libtool-nodocs.patch
# 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
@ -59,9 +41,6 @@ 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
@ -81,8 +60,11 @@ 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
@ -97,7 +79,7 @@ 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
Requires: automake = %automake_version
Group: Development/Libraries
Requires: %{name}-ltdl = %{version}-%{release}
License: LGPLv2+
@ -107,27 +89,47 @@ Static libraries and header files for development with ltdl.
%prep
%autosetup -n libtool-%{version} -p1
%setup -n libtool-%{version} -q
%patch0 -p1 -b .rpath
%if ! 0%{?_module_build}
%patch100 -p1 -b .nodocs
%endif
autoreconf -v
%build
export CC=gcc
export CXX=g++
export F77=gfortran
export CFLAGS="$RPM_OPT_FLAGS -fPIC"
%configure
# rhbz#1214506
%global _configure_libtool_hardening_hack 0
%make_build \
CUSTOM_LTDL_CFLAGS="%_hardening_cflags" \
CUSTOM_LTDL_LDFLAGS="%_hardening_ldflags"
%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}
make %{?_smp_mflags}
%check
%if %{with check}
make check VERBOSE=yes || { cat tests/testsuite.dir/*/testsuite.log ; false ; }
make check VERBOSE=yes || { cat testsuite.log ; false ; }
%endif
%install
%make_install
make install DESTDIR=%{buildroot}
# 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
@ -135,6 +137,22 @@ 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*
@ -165,118 +183,6 @@ rm -f %{buildroot}%{_libdir}/libltdl.{a,la}
%changelog
* 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
- harden libltdl.so (rhbz#1548751)
* Mon Mar 26 2018 Pavel Raiskup <praiskup@redhat.com> - 2.4.6-23
- bake in versioned requirement on automake (rhbz#1193591)
- fix testsuite FTBFS against automake 1.16.1
- bypass -specs=* to gcc (rhbz#985592)
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.6-22
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Mon Jan 29 2018 Jakub Jelinek <jakub@redhat.com> - 2.4.6-21
- bump: for gcc 8.*
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.6-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.6-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Apr 21 2017 Karsten Hopp <karsten@redhat.com> - 2.4.6-18
- use new _module_build macro to limit dependencies for Modularity

View File

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