- 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@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@gnu.org, 2003
- package only needed for build of libtool so rootfile is all commented out.
Signed-off-by: Adolf Belka adolf.belka@ipfire.org --- config/rootfiles/common/help2man | 3 ++ lfs/help2man | 84 ++++++++++++++++++++++++++++++++ make.sh | 1 + 3 files changed, 88 insertions(+) create mode 100644 config/rootfiles/common/help2man create mode 100644 lfs/help2man
diff --git a/config/rootfiles/common/help2man b/config/rootfiles/common/help2man new file mode 100644 index 000000000..4c376bc52 --- /dev/null +++ b/config/rootfiles/common/help2man @@ -0,0 +1,3 @@ +#usr/bin/help2man +#usr/share/info/help2man.info +#usr/share/man/man1/help2man.1 diff --git a/lfs/help2man b/lfs/help2man new file mode 100644 index 000000000..da5057c4f --- /dev/null +++ b/lfs/help2man @@ -0,0 +1,84 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2022 IPFire Team info@ipfire.org # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see http://www.gnu.org/licenses/. # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 1.49.2 + +THISAPP = help2man-$(VER) +DL_FILE = $(THISAPP).tar.xz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) + +PROG = help2man + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_BLAKE2 = 62db47a5915432093991f060390a62ebf2d1e5e6e78f7142d0cd5f8a273a1fd74f55de4b3ead5c1071aaf4de084e62782981a1d888b8a8b76da9c07e0cda20ea + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +b2 : $(subst %,%_BLAKE2,$(objects)) + +############################################################################### +# Downloading, checking, b2sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_BLAKE2,$(objects)) : + @$(B2SUM) + +dist: + @$(PAK) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + $(UPDATE_AUTOMAKE) + cd $(DIR_APP) && ./configure \ + --prefix=/usr + cd $(DIR_APP) && make $(MAKETUNING) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 7d9a278b5..9b4e2afd3 100755 --- a/make.sh +++ b/make.sh @@ -1061,6 +1061,7 @@ buildbase() { lfsmake2 zstd lfsmake2 autoconf lfsmake2 automake + lfsmake2 help2man lfsmake2 libtool lfsmake2 binutils lfsmake2 gmp