(SELinux main mail list to BCC since this is a refpolicy question.)
On 12/7/20 8:26 AM, Ashish Mishra wrote:
4) Further debugging I can confirm that the final binary (policy.31)
seems to be
using HARD-CODDED location of /etc/selinux instead of what is
being passed as DESTDIR.
The policy.31 is created not at custom-embedded-rootfs location.
Due to this :
- policy.31 is created in /etc/selinux/refpolicy/policy/policy.31
instead of what i was expecting at
/tmp/custom-embedded-rootfs/etc/selinux/refpolicy/policy/policy.31
as DESTDIR=${ROOT} and i do get *.pp at the expected
location of /tmp/custom-embedded-rootfs/etc/selinux/refpolicy/src/policy
${MAKE} -C ${ROOT}/etc/selinux/${PKG}/src/policy load
DESTDIR=${ROOT}
I can't reproduce your issue. I use monolithic policy regularly in the way
you're using it.
Here's the Makefile variables:
From Makefile:
topdir := $(DESTDIR)/etc/selinux
installdir := $(topdir)/$(strip $(NAME))
policypath := $(installdir)/policy
From Rules.monolithic:
loadpath = $(policypath)/$(notdir $(polver))
$(notdir $(polver)) is "policy.31" and NAME is what you have in build.conf, e.g.
"refopolicy".
Then the install target for monolithic looks like this (with "echo"s removed):
$(loadpath): $(policy_conf)
@$(INSTALL) -d -m 0755 $(@D)
$(verbose) $(CHECKPOLICY) -U $(UNK_PERMS) $^ -o $@
--
Chris PeBenito