From abf424cf20ee2e3261abf95d17df08ff2a723640 Mon Sep 17 00:00:00 2001 From: Guido Trotter Date: Mon, 30 Mar 2009 10:12:13 +0100 Subject: [PATCH] $(localstatedir) != $(prefix)/var The current code assumes that localstatedir is equal to $(prefix)/var, thus failing for example on debian, where prefix is /usr and localstatedir is /var. This patch fixes this by expanding LXCPATH just once in configure.ac to $(localstatedir)/lib/lxc and expanding that variable everywhere else. install-exec-local is changed to just do one mkdir -p, and taking into account of the DESTDIR variable, user for example for packaging. Changing the permission of LXCPATH is done in lxc-setcap Signed-off-by: Guido Trotter Signed-off-by: Daniel Lezcano --- configure.in | 1 + src/lxc/Makefile.am | 5 ++--- src/lxc/lxc-ls.in | 2 +- src/lxc/lxc-netstat.in | 2 +- src/lxc/lxc-ps.in | 2 +- src/lxc/lxc-setcap.in | 2 ++ 6 files changed, 8 insertions(+), 6 deletions(-) diff --git a/configure.in b/configure.in index 76c271c1d..7e61280b6 100644 --- a/configure.in +++ b/configure.in @@ -19,6 +19,7 @@ AS_AC_EXPAND(BINDIR, $bindir) AS_AC_EXPAND(LIBEXECDIR, $libexecdir) AS_AC_EXPAND(SYSCONFDIR, $sysconfdir) AS_AC_EXPAND(LOCALSTATEDIR, $localstatedir) +AS_AC_EXPAND(LXCPATH, "${localstatedir}/lib/lxc") AC_CHECK_HEADERS([linux/netlink.h linux/genetlink.h], [], AC_MSG_ERROR([netlink headers not found]), [#include diff --git a/src/lxc/Makefile.am b/src/lxc/Makefile.am index 2100defd2..fe974d216 100644 --- a/src/lxc/Makefile.am +++ b/src/lxc/Makefile.am @@ -1,4 +1,4 @@ -INCLUDES= -I$(top_srcdir)/src -DLXCPATH="\"$(localstatedir)/lxc\"" \ +INCLUDES= -I$(top_srcdir)/src -DLXCPATH="\"@LXCPATH@\"" \ -DLXCBINDIR="\"$(bindir)\"" \ -DLXCLIBEXECDIR="\"$(libexecdir)\"" AM_LDFLAGS= -lutil @@ -132,5 +132,4 @@ lxc_version_SOURCES = lxc_version.c lxc_version_LDADD = liblxc.la install-exec-local: - @mkdir -p $(localstatedir) && mkdir -p $(prefix)/var/lxc && \ - chmod ugo+rw $(prefix)/var/lxc + @mkdir -p $(DESTDIR)@LXCPATH@ diff --git a/src/lxc/lxc-ls.in b/src/lxc/lxc-ls.in index 49722d16b..6a77ebef6 100644 --- a/src/lxc/lxc-ls.in +++ b/src/lxc/lxc-ls.in @@ -1,6 +1,6 @@ #!/bin/bash -lxcpath=@LOCALSTATEDIR@/lxc +lxcpath=@LXCPATH@ if [ ! -r $lxcpath ]; then exit 0 diff --git a/src/lxc/lxc-netstat.in b/src/lxc/lxc-netstat.in index 072b4f4f4..901c3230f 100644 --- a/src/lxc/lxc-netstat.in +++ b/src/lxc/lxc-netstat.in @@ -1,7 +1,7 @@ #!/bin/bash # set -ex -lxcpath=@LOCALSTATEDIR@/lxc +lxcpath=@LXCPATH@ exec="" if [ ! -r $lxcpath ]; then diff --git a/src/lxc/lxc-ps.in b/src/lxc/lxc-ps.in index efbafb234..48a153fe7 100755 --- a/src/lxc/lxc-ps.in +++ b/src/lxc/lxc-ps.in @@ -1,7 +1,7 @@ #!/bin/bash # set -ex -lxcpath=@LOCALSTATEDIR@/lxc +lxcpath=@LXCPATH@ if [ ! -r $lxcpath ]; then exit 0 diff --git a/src/lxc/lxc-setcap.in b/src/lxc/lxc-setcap.in index df903bad8..637b29f42 100644 --- a/src/lxc/lxc-setcap.in +++ b/src/lxc/lxc-setcap.in @@ -49,6 +49,7 @@ lxc_setcaps() setcap $LXC_UNSHARE_CAPS=ep @BINDIR@/lxc-unshare setcap $LXC_NETSTAT_CAPS=ep @BINDIR@/lxc-netstat setcap $LXC_INIT_CAPS=ep @LIBEXECDIR@/lxc-init + chmod 2777 @LXCPATH@ } lxc_dropcaps() @@ -60,6 +61,7 @@ lxc_dropcaps() setcap -r @BINDIR@/lxc-unshare setcap -r @BINDIR@/lxc-netstat setcap -r @LIBEXECDIR@/lxc-init + chmod 0755 @LXCPATH@ } if [ "$(id -u)" != "0" ]; then -- 2.39.5