Package: make Version: 3.81-1 Followup-For: Bug #358903 Hi,
Corenetwork.te is still missing from expansion. I tried reducing this to a simple testcase that fails, but I couldn't accomplish that. So I wrote a little makefile that does the same that the failing rule does. This little makefile works. It seems the problem only appears when you use the original makefile to do the build, if you extract portions from it they work, they just don't work put together. Here it is the Makefile that works: ----------------- vpath %.te policy/modules/admin:policy/modules/apps:policy/modules/kernel:policy/modules/services:policy/modules/system MODBASE := base MOD_CONF := policy/modules.conf BASE_MODS := $(addsuffix .te,$(sort $(shell awk '/^[[:blank:]]*[[:alpha:]]/{ if ($$3 == "$(MODBASE)") print $$1 }' $(MOD_CONF) 2> /dev/null))) BASE_TE_FILES := $(BASE_MODS) /tmp/all_te_files.conf: $(BASE_TE_FILES) cat $^ >$@ --------------------------- However the original Makefile doesn't work, despite having the same rule: $(TMPDIR)/all_te_files.conf: $(BASE_TE_FILES) ifeq ($(BASE_TE_FILES),) $(error No enabled modules! $(notdir $(MOD_CONF)) may need to be generated by using "make conf") endif @test -d $(TMPDIR) || mkdir -p $(TMPDIR) $(verbose) cat $^ > $@ $(call parse-rolemap,base,$@) Looking at the output of 'make -p >log' here it is what that rule is translated to: tmp/all_te_files.conf: policy/modules/kernel/corecommands.te policy/modules/kernel/devices.te policy/modules/kernel/domain.te policy/modules/kernel/files.t e policy/modules/kernel/filesystem.te policy/modules/kernel/kernel.te policy/modules/kernel/mcs.te policy/modules/kernel/mls.te policy/modules/kernel/selin ux.te policy/modules/kernel/terminal.te However, look what BASE_TE_FILES is expanded to: BASE_TE_FILES := corecommands.te corenetwork.te devices.te domain.te files.te filesystem.te kernel.te mcs.te mls.te selinux.te terminal.te Why is corenetwork.te missing from the dependency rule above? Any ideas on how to debug this? That corenetwork.te is really needed there, because otherwise the build fails. I worked around this issue by adding '$(verbose) cat policy/modules/kernel/corenetwork.te >> $@' to that rule, and then everything builds ok. But this is not a solution. P.S.: the makefile is from the selinux reference policy package, configured to create modular policies. If you want to take a look at the entire makefile: http://edwintorok.googlepages.com/Makefile http://edwintorok.googlepages.com/Rules.modular http://edwintorok.googlepages.com/build.conf Cheers, Edwin -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental') Architecture: amd64 (x86_64) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.16-1-amd64-k8 Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1) Versions of packages make depends on: ii libc6 2.3.6-7 GNU C Library: Shared libraries make recommends no packages. -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]