[lxc-devel] [PATCH] $(localstatedir) != $(prefix)/var
Guido Trotter
ultrotter at google.com
Mon Mar 30 09:12:13 UTC 2009
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 <ultrotter at quaqua.net>
---
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 76c271c..7e61280 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 <linux/types.h>
diff --git a/src/lxc/Makefile.am b/src/lxc/Makefile.am
index 1c13c85..8690819 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
@@ -130,5 +130,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 49722d1..6a77ebe 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 072b4f4..901c323 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 efbafb2..48a153f 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 df903ba..637b29f 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
--
1.5.6.5
More information about the lxc-devel
mailing list