[lxc-devel] [PATCH v2] Use LXCPATH and LOCALSTATEDIR instead of hardcoded /var

Dwight Engen dwight.engen at oracle.com
Wed Dec 5 17:33:16 UTC 2012


Signed-off-by: Dwight Engen <dwight.engen at oracle.com>
---
 src/lxc/conf.c                |    4 ++--
 src/tests/containertests.c    |    2 +-
 src/tests/saveconfig.c        |    2 +-
 src/tests/startone.c          |   16 ++++++++--------
 templates/lxc-altlinux.in     |   10 +++++-----
 templates/lxc-fedora.in       |   12 ++++++------
 templates/lxc-opensuse.in     |   10 +++++-----
 templates/lxc-ubuntu-cloud.in |    6 +++---
 8 files changed, 31 insertions(+), 31 deletions(-)

diff --git a/src/lxc/conf.c b/src/lxc/conf.c
index 45e0b31..a58f18d 100644
--- a/src/lxc/conf.c
+++ b/src/lxc/conf.c
@@ -1369,8 +1369,8 @@ static int mount_entry_on_absolute_rootfs(struct mntent *mntent,
 	}
 
 	/* if rootfs->path is a blockdev path, allow container fstab to
-	 * use /var/lib/lxc/CN/rootfs as the target prefix */
-	r = snprintf(path, MAXPATHLEN, "/var/lib/lxc/%s/rootfs", lxc_name);
+	 * use $LXCPATH/CN/rootfs as the target prefix */
+	r = snprintf(path, MAXPATHLEN, LXCPATH "/%s/rootfs", lxc_name);
 	if (r < 0 || r >= MAXPATHLEN)
 		goto skipvarlib;
 
diff --git a/src/tests/containertests.c b/src/tests/containertests.c
index db6942f..3ac0fc5 100644
--- a/src/tests/containertests.c
+++ b/src/tests/containertests.c
@@ -122,7 +122,7 @@ int main(int argc, char *argv[])
 		goto out;
 	}
 	str = c->config_file_name(c);
-#define CONFIGFNAM "/var/lib/lxc/" MYNAME "/config"
+#define CONFIGFNAM LXCPATH "/" MYNAME "/config"
 	if (!str || strcmp(str, CONFIGFNAM)) {
 		fprintf(stderr, "%d: got wrong config file name (%s, not %s)\n", __LINE__, str, CONFIGFNAM);
 		goto out;
diff --git a/src/tests/saveconfig.c b/src/tests/saveconfig.c
index 20afdc5..21450b2 100644
--- a/src/tests/saveconfig.c
+++ b/src/tests/saveconfig.c
@@ -92,7 +92,7 @@ int main(int argc, char *argv[])
 		fprintf(stderr, "%d: failed writing config file /tmp/lxctest1\n", __LINE__);
 		goto out;
 	}
-	rename("/var/lib/lxc/" MYNAME "/config", "/var/lib/lxc/" MYNAME "/config.bak");
+	rename(LXCPATH "/" MYNAME "/config", LXCPATH "/" MYNAME "/config.bak");
 	if (!c->save_config(c, NULL)) {
 		fprintf(stderr, "%d: failed writing config file\n", __LINE__);
 		goto out;
diff --git a/src/tests/startone.c b/src/tests/startone.c
index 73c8f00..81a6bfb 100644
--- a/src/tests/startone.c
+++ b/src/tests/startone.c
@@ -178,21 +178,21 @@ int main(int argc, char *argv[])
 		goto out;
 	c->stop(c);
 
-	ret = system("mkdir -p /var/lib/lxc/lxctest1/rootfs//usr/local/libexec/lxc");
+	ret = system("mkdir -p " LXCPATH "/lxctest1/rootfs//usr/local/libexec/lxc");
 	if (!ret)
-		ret = system("mkdir -p /var/lib/lxc/lxctest1/rootfs/usr/lib/lxc/");
+		ret = system("mkdir -p " LXCPATH "/lxctest1/rootfs/usr/lib/lxc/");
 	if (!ret)
-		ret = system("cp src/lxc/lxc-init /var/lib/lxc/lxctest1/rootfs//usr/local/libexec/lxc");
+		ret = system("cp src/lxc/lxc-init " LXCPATH "/lxctest1/rootfs//usr/local/libexec/lxc");
 	if (!ret)
-		ret = system("cp src/lxc/liblxc.so /var/lib/lxc/lxctest1/rootfs/usr/lib/lxc");
+		ret = system("cp src/lxc/liblxc.so " LXCPATH "/lxctest1/rootfs/usr/lib/lxc");
 	if (!ret)
-		ret = system("cp src/lxc/liblxc.so /var/lib/lxc/lxctest1/rootfs/usr/lib/lxc/liblxc.so.0");
+		ret = system("cp src/lxc/liblxc.so " LXCPATH "/lxctest1/rootfs/usr/lib/lxc/liblxc.so.0");
 	if (!ret)
-		ret = system("cp src/lxc/liblxc.so /var/lib/lxc/lxctest1/rootfs/usr/lib");
+		ret = system("cp src/lxc/liblxc.so " LXCPATH "/lxctest1/rootfs/usr/lib");
 	if (!ret)
-		ret = system("mkdir -p /var/lib/lxc/lxctest1/rootfs/dev/shm");
+		ret = system("mkdir -p " LXCPATH "/lxctest1/rootfs/dev/shm");
 	if (!ret)
-		ret = system("chroot /var/lib/lxc/lxctest1/rootfs apt-get install --no-install-recommends lxc");
+		ret = system("chroot " LXCPATH "/lxctest1/rootfs apt-get install --no-install-recommends lxc");
 	if (ret) {
 		fprintf(stderr, "%d: failed to installing lxc-init in container\n", __LINE__);
 		goto out;
diff --git a/templates/lxc-altlinux.in b/templates/lxc-altlinux.in
index abdd3d1..0f5c901 100644
--- a/templates/lxc-altlinux.in
+++ b/templates/lxc-altlinux.in
@@ -26,7 +26,7 @@
 
 #Configurations
 arch=$(arch)
-cache_base=/var/cache/lxc/altlinux/$arch
+cache_base=@LOCALSTATEDIR@/cache/lxc/altlinux/$arch
 default_path=@LXCPATH@
 default_profile=default
 profile_dir=/etc/lxc/profiles
@@ -196,7 +196,7 @@ update_altlinux()
 
 install_altlinux()
 {
-    mkdir -p /var/lock/subsys/
+    mkdir -p @LOCALSTATEDIR@/lock/subsys/
     (
 	flock -x 200
 	if [ $? -ne 0 ]; then
@@ -230,7 +230,7 @@ install_altlinux()
 
 	return 0
 
-	) 200>/var/lock/subsys/lxc
+	) 200>@LOCALSTATEDIR@/lock/subsys/lxc
 
     return $?
 }
@@ -328,7 +328,7 @@ clean()
 	rm --preserve-root --one-file-system -rf $cache && echo "Done." || exit 1
 	exit 0
 
-    ) 200>/var/lock/subsys/lxc
+    ) 200>@LOCALSTATEDIR@/lock/subsys/lxc
 }
 
 usage()
@@ -345,7 +345,7 @@ usage:
 Mandatory args:
   -n,--name         container name, used to as an identifier for that container from now on
 Optional args:
-  -p,--path         path to where the container rootfs will be created, defaults to /var/lib/lxc. The container config will go under /var/lib/lxc in and case
+  -p,--path         path to where the container rootfs will be created, defaults to @LXCPATH at . The container config will go under @LXCPATH@ in that case
   -c,--clean        clean the cache
   -R,--release      ALTLinux release for the new container. if the host is ALTLinux, then it will defaultto the host's release.
   -4,--ipv4         specify the ipv4 address to assign to the virtualized interface, eg. 192.168.1.123/24
diff --git a/templates/lxc-fedora.in b/templates/lxc-fedora.in
index fe013c5..47c703e 100644
--- a/templates/lxc-fedora.in
+++ b/templates/lxc-fedora.in
@@ -27,8 +27,8 @@
 
 #Configurations
 arch=$(arch)
-cache_base=/var/cache/lxc/fedora/$arch
-default_path=/var/lib/lxc
+cache_base=@LOCALSTATEDIR@/cache/lxc/fedora/$arch
+default_path=@LXCPATH@
 root_password=root
 
 # is this fedora?
@@ -200,7 +200,7 @@ update_fedora()
 
 install_fedora()
 {
-    mkdir -p /var/lock/subsys/
+    mkdir -p @LOCALSTATEDIR@/lock/subsys/
     (
 	flock -x 200
 	if [ $? -ne 0 ]; then
@@ -234,7 +234,7 @@ install_fedora()
 
 	return 0
 
-	) 200>/var/lock/subsys/lxc
+	) 200>@LOCALSTATEDIR@/lock/subsys/lxc
 
     return $?
 }
@@ -303,7 +303,7 @@ clean()
 	rm --preserve-root --one-file-system -rf $cache && echo "Done." || exit 1
 	exit 0
 
-    ) 200>/var/lock/subsys/lxc
+    ) 200>@LOCALSTATEDIR@/lock/subsys/lxc
 }
 
 usage()
@@ -316,7 +316,7 @@ usage:
 Mandatory args:
   -n,--name         container name, used to as an identifier for that container from now on
 Optional args:
-  -p,--path         path to where the container rootfs will be created, defaults to /var/lib/lxc. The container config will go under /var/lib/lxc in that case
+  -p,--path         path to where the container rootfs will be created, defaults to @LXCPATH at . The container config will go under @LXCPATH@ in that case
   -c,--clean        clean the cache
   -R,--release      Fedora release for the new container. if the host is Fedora, then it will defaultto the host's release.
   -A,--arch         NOT USED YET. Define what arch the container will be [i686,x86_64]
diff --git a/templates/lxc-opensuse.in b/templates/lxc-opensuse.in
index a7b8465..4f18526 100644
--- a/templates/lxc-opensuse.in
+++ b/templates/lxc-opensuse.in
@@ -213,9 +213,9 @@ copy_opensuse()
 
 install_opensuse()
 {
-    cache="/var/cache/lxc/opensuse"
+    cache="@LOCALSTATEDIR@/cache/lxc/opensuse"
     rootfs=$1
-    mkdir -p /var/lock/subsys/
+    mkdir -p @LOCALSTATEDIR@/lock/subsys/
     (
 	flock -x 200
 	if [ $? -ne 0 ]; then
@@ -243,7 +243,7 @@ install_opensuse()
 
 	return 0
 
-	) 200>/var/lock/subsys/lxc
+	) 200>@LOCALSTATEDIR@/lock/subsys/lxc
 
     return $?
 }
@@ -298,7 +298,7 @@ EOF
 
 clean()
 {
-    cache="/var/cache/lxc/opensuse"
+    cache="@LOCALSTATEDIR@/cache/lxc/opensuse"
 
     if [ ! -e $cache ]; then
 	exit 0
@@ -316,7 +316,7 @@ clean()
 	rm --preserve-root --one-file-system -rf $cache && echo "Done." || exit 1
 	exit 0
 
-    ) 200>/var/lock/subsys/lxc
+    ) 200>@LOCALSTATEDIR@/lock/subsys/lxc
 }
 
 usage()
diff --git a/templates/lxc-ubuntu-cloud.in b/templates/lxc-ubuntu-cloud.in
index 300b47d..e1e7431 100644
--- a/templates/lxc-ubuntu-cloud.in
+++ b/templates/lxc-ubuntu-cloud.in
@@ -262,7 +262,7 @@ type wget
 
 # determine the url, tarball, and directory names
 # download if needed
-cache="/var/cache/lxc/cloud-$release"
+cache="@LOCALSTATEDIR@/cache/lxc/cloud-$release"
 
 mkdir -p $cache
 
@@ -318,7 +318,7 @@ build_root_tgz()
     trap SIGTERM
 }
 
-mkdir -p /var/lock/subsys/
+mkdir -p @LOCALSTATEDIR@/lock/subsys/
 (
     flock -x 200
 
@@ -395,7 +395,7 @@ EOF
         echo "If you do not have a meta-data service, this container will likely be useless."
 
     fi
-) 200>/var/lock/subsys/lxc-ubucloud
+) 200>@LOCALSTATEDIR@/lock/subsys/lxc-ubucloud
 
 copy_configuration $path $rootfs $name $arch $release
 
-- 
1.7.1





More information about the lxc-devel mailing list