- Update from version 2.4.6 (Feb 2015) to 2.4.7 (Mar 2022)
- Update of rootfile
- The shebang in the libtoolize script has changed from ! /bin/sh to ! /usr/bin/env sh
because apparently the previous version presented challenges for containerised
environments. For IPFire build it meant that using libtoolize in the build of libxcrypt
failed because it could not deal with the changed shebang.
- Patch created to change the shebang for libtoolize.in back to the version in 2.4.6 and
earlier.
- The change of libtoolize.in then caused the libtool build to try and rebuild the man
page for it but this fails as help2man is required for this. There is no option in the
configure to not build the docs so hence there is an associated patch with this one
that build help2man but the rootfile is completely commented out as it is only
required for the build
- Added --disable-static to the configure options
- Changelog
Noteworthy changes in release 2.4.7 (2022-03-16) [stable]
New features:
- Libtool script now supports (configure-time and runtime) ARFLAGS
variable, which obsoletes AR_FLAGS. This is due to naming conventions
among other *FLAGS and to be consistent with Automake's ARFLAGS.
- Gnulib testsuite is enabled and run during 'make check'.
- Support the Windows version of the Intel C Compiler (icl) in
libtool script.
- Pass '-fsanitize=*' flags for GCC and LLVM, and '-specs=*' for GCC
to linker.
- Pass '-Xassembler=*' and '-Wa,*' flag to compilers and linkers.
- The variable 'FILECMD' with default value of '/usr/bin/file' was used to
replace existing hard coded references to '/usr/bin/file'.
- Add MidnightBSD support.
Important incompatible changes:
- Libtool changed ARFLAGS/AR_FLAGS default from 'cru' to 'cr'.
- Do not pass '-pthread' to Solaris linker.
- 'libtool' and 'libtoolize' scripts now use '#! /usr/bin/env sh' shebang.
Previously '#! /bin/sh' was used, which presents challenges for
containerized environments.
Bug fixes:
- Fix significant slowdown of libtoolize for certain projects (regression
introduced in 2.4.3 release) caused by infinite m4 macro recursion.
- Mitigate the slowdown of libtool script (introduced in v2.4.3) caused by
increased number of calls to '$SED $sed_quote_subst' (bug#20006).
- Properly parse and export TLS symbols on AIX.
- Various bug fixes surrounding use of 'sed'.
- Darwin systems set proper "allow undefined" flag on OSX 11, and
PowerPC 10.5.
- Removed some deprecated tests related to 'Makefile.inc' files.
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
---
config/rootfiles/common/libtool | 77 ++++---------------
lfs/libtool | 8 +-
...-2.4.7-correct-libtoolize.in-shebang.patch | 8 ++
3 files changed, 28 insertions(+), 65 deletions(-)
create mode 100644 src/patches/libtool-2.4.7-correct-libtoolize.in-shebang.patch
diff --git a/config/rootfiles/common/libtool b/config/rootfiles/common/libtool
index 23753c79e..86ffb7fba 100644
--- a/config/rootfiles/common/libtool
+++ b/config/rootfiles/common/libtool
@@ -5,12 +5,10 @@
#usr/include/libltdl/lt_error.h
#usr/include/libltdl/lt_system.h
#usr/include/ltdl.h
-#usr/lib/libltdl.a
#usr/lib/libltdl.la
-usr/lib/libltdl.so
+#usr/lib/libltdl.so
usr/lib/libltdl.so.7
-usr/lib/libltdl.so.7.3.1
-#usr/share/aclocal/argz.m4
+usr/lib/libltdl.so.7.3.2
#usr/share/aclocal/libtool.m4
#usr/share/aclocal/ltargz.m4
#usr/share/aclocal/ltdl.m4
@@ -22,24 +20,11 @@ usr/lib/libltdl.so.7.3.1
#usr/share/info/libtool.info-1
#usr/share/info/libtool.info-2
#usr/share/libtool
-#usr/share/libtool/config-h.in
-#usr/share/libtool/configure
-#usr/share/libtool/configure.ac
#usr/share/libtool/COPYING.LIB
#usr/share/libtool/Makefile.am
#usr/share/libtool/Makefile.in
#usr/share/libtool/README
#usr/share/libtool/aclocal.m4
-#usr/share/libtool/lt__alloc.c
-#usr/share/libtool/lt__argz.c
-#usr/share/libtool/lt__dirent.c
-#usr/share/libtool/lt__strl.c
-#usr/share/libtool/lt_dlloader.c
-#usr/share/libtool/lt_error.c
-#usr/share/libtool/ltdl.c
-#usr/share/libtool/ltdl.h
-#usr/share/libtool/ltdl.mk
-#usr/share/libtool/slist.c
#usr/share/libtool/build-aux
#usr/share/libtool/build-aux/compile
#usr/share/libtool/build-aux/config.guess
@@ -48,34 +33,10 @@ usr/lib/libltdl.so.7.3.1
#usr/share/libtool/build-aux/install-sh
#usr/share/libtool/build-aux/ltmain.sh
#usr/share/libtool/build-aux/missing
-#usr/share/libtool/config
-#usr/share/libtool/config/compile
-#usr/share/libtool/config/config.guess
-#usr/share/libtool/config/config.sub
-#usr/share/libtool/config/depcomp
-#usr/share/libtool/config/install-sh
-#usr/share/libtool/config/ltmain.sh
-#usr/share/libtool/config/missing
+#usr/share/libtool/config-h.in
+#usr/share/libtool/configure
+#usr/share/libtool/configure.ac
#usr/share/libtool/libltdl
-#usr/share/libtool/libltdl/COPYING.LIB
-#usr/share/libtool/libltdl/Makefile.am
-#usr/share/libtool/libltdl/Makefile.in
-#usr/share/libtool/libltdl/Makefile.inc
-#usr/share/libtool/libltdl/README
-#usr/share/libtool/libltdl/aclocal.m4
-#usr/share/libtool/libltdl/argz.c
-#usr/share/libtool/libltdl/argz_.h
-#usr/share/libtool/libltdl/config-h.in
-#usr/share/libtool/libltdl/configure
-#usr/share/libtool/libltdl/configure.ac
-#usr/share/libtool/libltdl/lt__alloc.c
-#usr/share/libtool/libltdl/lt__dirent.c
-#usr/share/libtool/libltdl/lt__strl.c
-#usr/share/libtool/libltdl/lt_dlloader.c
-#usr/share/libtool/libltdl/lt_error.c
-#usr/share/libtool/libltdl/ltdl.c
-#usr/share/libtool/libltdl/ltdl.h
-#usr/share/libtool/libltdl/slist.c
#usr/share/libtool/libltdl/lt__alloc.h
#usr/share/libtool/libltdl/lt__argz_.h
#usr/share/libtool/libltdl/lt__dirent.h
@@ -86,24 +47,6 @@ usr/lib/libltdl.so.7.3.1
#usr/share/libtool/libltdl/lt_error.h
#usr/share/libtool/libltdl/lt_system.h
#usr/share/libtool/libltdl/slist.h
-#usr/share/libtool/libltdl/libltdl
-#usr/share/libtool/libltdl/libltdl/lt__alloc.h
-#usr/share/libtool/libltdl/libltdl/lt__dirent.h
-#usr/share/libtool/libltdl/libltdl/lt__glibc.h
-#usr/share/libtool/libltdl/libltdl/lt__private.h
-#usr/share/libtool/libltdl/libltdl/lt__strl.h
-#usr/share/libtool/libltdl/libltdl/lt_dlloader.h
-#usr/share/libtool/libltdl/libltdl/lt_error.h
-#usr/share/libtool/libltdl/libltdl/lt_system.h
-#usr/share/libtool/libltdl/libltdl/slist.h
-#usr/share/libtool/libltdl/loaders
-#usr/share/libtool/libltdl/loaders/dld_link.c
-#usr/share/libtool/libltdl/loaders/dlopen.c
-#usr/share/libtool/libltdl/loaders/dyld.c
-#usr/share/libtool/libltdl/loaders/load_add_on.c
-#usr/share/libtool/libltdl/loaders/loadlibrary.c
-#usr/share/libtool/libltdl/loaders/preopen.c
-#usr/share/libtool/libltdl/loaders/shl_load.c
#usr/share/libtool/loaders
#usr/share/libtool/loaders/dld_link.c
#usr/share/libtool/loaders/dlopen.c
@@ -112,5 +55,15 @@ usr/lib/libltdl.so.7.3.1
#usr/share/libtool/loaders/loadlibrary.c
#usr/share/libtool/loaders/preopen.c
#usr/share/libtool/loaders/shl_load.c
+#usr/share/libtool/lt__alloc.c
+#usr/share/libtool/lt__argz.c
+#usr/share/libtool/lt__dirent.c
+#usr/share/libtool/lt__strl.c
+#usr/share/libtool/lt_dlloader.c
+#usr/share/libtool/lt_error.c
+#usr/share/libtool/ltdl.c
+#usr/share/libtool/ltdl.h
+#usr/share/libtool/ltdl.mk
+#usr/share/libtool/slist.c
#usr/share/man/man1/libtool.1
#usr/share/man/man1/libtoolize.1
diff --git a/lfs/libtool b/lfs/libtool
index 1192a9772..014d54028 100644
--- a/lfs/libtool
+++ b/lfs/libtool
@@ -24,7 +24,7 @@
include Config
-VER = 2.4.6
+VER = 2.4.7
THISAPP = libtool-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -42,7 +42,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = 0865af9f8701ca9dc62eec8294a088d24f4a3ff541bc76acfe7b69f70637d7e8261a17d69f7d54a4177f974c429be68467883a1560edb539061966cbf7d4a356
+$(DL_FILE)_BLAKE2 = 5e022586337637dd634bd40578ad944bec6e3b8de41f95d55777b90cc88cbc4badb3d76cbf0e638166ece1ea7de828e83590e1e6bac30c1e4b1c254a11a742f2
install : $(TARGET)
@@ -75,9 +75,11 @@ dist:
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar Jxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/libtool-2.4.7-correct-libtoolize.in-shebang.patch
$(UPDATE_AUTOMAKE)
cd $(DIR_APP) && ./configure \
- --prefix=/usr
+ --prefix=/usr \
+ --disable-static
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
@rm -rf $(DIR_APP)
diff --git a/src/patches/libtool-2.4.7-correct-libtoolize.in-shebang.patch b/src/patches/libtool-2.4.7-correct-libtoolize.in-shebang.patch
new file mode 100644
index 000000000..6a79bc623
--- /dev/null
+++ b/src/patches/libtool-2.4.7-correct-libtoolize.in-shebang.patch
@@ -0,0 +1,8 @@
+--- libtool-2.4.7/libtoolize.in.orig 2022-03-17 03:43:39.000000000 +0100
++++ libtool-2.4.7/libtoolize.in 2022-12-08 18:12:36.134198672 +0100
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env sh
++#! /bin/sh
+
+ # Prepare a package to use libtool.
+ # Written by Gary V. Vaughan <gary(a)gnu.org>, 2003
--
2.38.1