Cyril Brulebois <k...@debian.org> (08/02/2010): > To build my test image, I had to patch slightly config/amd64.cfg > (partial revert of r61645) and pkg-lists/gtk-common, to enable the > netboot-gtk again, and to add the needed X packages. Since there are > some modules, mklibs can't really figure out where some symbols should > come from, so I've used mklibs-copy thanks to the MKLIBS variable in > config/common
I took a look at tweaking mklibs to use it instead of mklibs-copy, but after a quick discussion[1], it looks like mklibs wasn't the right place for that. 1. http://lists.debian.org/debian-boot/2010/02/msg00293.html I've tried another approach, see attached patch. Mraw, KiBi.
Introduce MKLIBS_FIND_FILTER to exclude some files from mklibs call. It can be used to exclude some files (for examples X11 modules) from the mklibs call, using a “find” expression. This commit also includes an example for the netboot-gtk flavour, for the i386 architecture. --- a/installer/build/Makefile +++ b/installer/build/Makefile @@ -93,6 +93,9 @@ include config/dir -include config/$(ARCH)/$(SUBARCH)/$(MEDIUM)/$(FLAVOUR).cfg -include config/local +# Do not exclude anything unless told to: +MKLIBS_FIND_FILTER ?= -true + export KEYRING export KERNELVERSION @@ -479,7 +482,7 @@ ifndef ONLY_KLIBC $(MKLIBS) -L $(TREE)/usr/lib -L $(TEMP)/udeblibs -v -d $(TREE)/lib --root=$(TREE) \ -L $(TREE)/usr/lib/cdebconf/frontend \ $(addprefix -l,$(notdir $(wildcard $(TREE)/usr/lib/cdebconf/frontend/*.so))) \ - `find $(TEMP) -type f -a \( -perm +0111 -o -name '*.so' -o -name '*.so.*' \) | grep -v udeblibs` + `find $(TEMP) -type f -a \( -perm +0111 -o -name '*.so' -o -name '*.so.*' \) -a \( $(MKLIBS_FIND_FILTER) \) | grep -v udeblibs` rm -rf $(TEMP)/udeblibs endif --- a/installer/build/config/i386/netboot-gtk.cfg +++ b/installer/build/config/i386/netboot-gtk.cfg @@ -27,3 +27,6 @@ EXTRAFILES = /lib/libgcc_s.so.1 # All images that include cdebconf should include symbols needed by these # plugins. EXTRAUDEBS += cdebconf-gtk-entropy + +# Exclude X modules from the mklibs call: +# MKLIBS_FIND_FILTER = ! -wholename '*/usr/lib/xorg/modules/*'
signature.asc
Description: Digital signature