[1/4] expect: Allow build of expect for swtpm

Message ID 20251030101830.30837-1-adolf.belka@ipfire.org
State Staged
Commit 845623b97b1230c825c23dd1788a81adef88f6e2
Headers
Series [1/4] expect: Allow build of expect for swtpm |

Commit Message

Adolf Belka 30 Oct 2025, 10:18 a.m. UTC
- expect was previously only built in the toolchain. This allows expect to be built for
   swtpm in the normal build.
- It is only used for the building of swtpm so the rootfile has all entries commented
   out.
- LFS changed to allow build in the toolchain or in the normal build

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/common/expect | 21 +++++++++++++++++++++
 lfs/expect                     | 32 +++++++++++++++++++++++---------
 2 files changed, 44 insertions(+), 9 deletions(-)
 create mode 100644 config/rootfiles/common/expect
  

Patch

diff --git a/config/rootfiles/common/expect b/config/rootfiles/common/expect
new file mode 100644
index 000000000..a11c3add3
--- /dev/null
+++ b/config/rootfiles/common/expect
@@ -0,0 +1,21 @@ 
+#usr/bin/expect
+#usr/include/expect.h
+#usr/include/expect_comm.h
+#usr/include/expect_tcl.h
+#usr/include/tcldbg.h
+#usr/lib/expect5.45.4
+#usr/lib/expect5.45.4/libexpect5.45.4.so
+#usr/lib/expect5.45.4/pkgIndex.tcl
+#usr/share/man/man1/autoexpect.1
+#usr/share/man/man1/cryptdir.1
+#usr/share/man/man1/decryptdir.1
+#usr/share/man/man1/dislocate.1
+#usr/share/man/man1/expect.1
+#usr/share/man/man1/kibitz.1
+#usr/share/man/man1/mkpasswd.1
+#usr/share/man/man1/multixterm.1
+#usr/share/man/man1/passmass.1
+#usr/share/man/man1/tknewsbiff.1
+#usr/share/man/man1/unbuffer.1
+#usr/share/man/man1/xkibitz.1
+#usr/share/man/man3/libexpect.3
diff --git a/lfs/expect b/lfs/expect
index e5638f9f5..9e233be3e 100644
--- a/lfs/expect
+++ b/lfs/expect
@@ -1,7 +1,7 @@ 
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2025  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        #
@@ -30,7 +30,27 @@  THISAPP    = expect$(VER)
 DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
-TARGET     = $(DIR_INFO)/$(THISAPP)-tools
+TARGET     = $(DIR_INFO)/$(THISAPP)
+
+# Normal build or $(TOOLS_DIR) build.
+ifeq "$(ROOT)" ""
+	TARGET = $(DIR_INFO)/$(THISAPP)
+	EXTRA_CONFIG = \
+			--prefix=/usr \
+			--with-tcl=/usr/lib \
+			--with-tclinclude=/usr/include \
+			--with-x=no \
+			--disable-nls
+else
+	TARGET = $(DIR_INFO)/$(THISAPP)-tools
+	EXTRA_CONFIG = \
+			--prefix=$(TOOLS_DIR) \
+			--build=$(BUILDTARGET) \
+			--with-tcl=$(TOOLS_DIR)/lib \
+			--with-tclinclude=$(TOOLS_DIR)/include \
+			--with-x=no \
+			--disable-nls
+endif
 
 # Fix build with GCC 15
 CFLAGS += -std=gnu17
@@ -75,13 +95,7 @@  $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@rm -rf $(DIR_APP) $(DIR_SRC)/tcl* && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
 	$(UPDATE_AUTOMAKE)
 	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/expect-5.45.4-gcc15-1.patch
-	cd $(DIR_APP) && ./configure \
-			--prefix=$(TOOLS_DIR) \
-			--build=$(BUILDTARGET) \
-			--with-tcl=$(TOOLS_DIR)/lib \
-			--with-tclinclude=$(TOOLS_DIR)/include \
-			--with-x=no \
-			--disable-nls
+	cd $(DIR_APP) && ./configure $(EXTRA_CONFIG)
 	cd $(DIR_APP) && make $(MAKETUNING)
 	cd $(DIR_APP) && make SCRIPTS="" install
 	@rm -rf $(DIR_APP) $(DIR_SRC)/tcl*