[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Switching g-i from DirectFB to X11

Cyril Brulebois <kibi@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.

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:
 export KEYRING
@@ -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
--- 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/*'

Attachment: signature.asc
Description: Digital signature

Reply to: