libsemanage: define installation location of semanage.conf for host
authorThomas Petazzoni <thomas.petazzoni@bootlin.com>
Fri, 9 Nov 2018 21:57:30 +0000 (22:57 +0100)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Tue, 13 Nov 2018 20:22:12 +0000 (21:22 +0100)
commit4c9c70453cf495de170ad68e33baf81dd11bf114
tree20a10e24c0abe2b968605d917074b0cafb4b60e5
parent7b1238055c2d369df335711c04cf8007c5b7edba
libsemanage: define installation location of semanage.conf for host

When /etc/selinux/semanage.conf does not exist, libsemanage tries to
overwrite it. For the target package, it works fine because $(DESTDIR)
is taken into account.

However, for the host package, $(DESTDIR) is empty, and the location
used for /etc/selinux/semanage.conf is not affected by $(PREFIX). This
causes host-libsemanage to try to install /etc/selinux/semanage.conf,
which obviously fails with:

  test -f /etc/selinux/semanage.conf || install -m 644 -D semanage.conf /etc/selinux/semanage.conf
  install: cannot create directory '/etc/selinux': Permission denied

To fix this, this commit passes DEFAULT_SEMANAGE_CONF_LOCATION in the
make options when building/installing host-libsemanage, providing a
path to semanage.conf that Buildroot can write to.

Fixes:

  http://autobuild.buildroot.net/results/cd27e3c66274622d0c3dd5a601a36efb1bc45011/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Tested-by: Matt Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/libsemanage/libsemanage.mk