From: Po-Hsu Lin Date: Thu, 10 Nov 2016 08:48:29 +0000 (+0800) Subject: templates: add squashfs support to lxc-ubuntu-cloud.in X-Git-Tag: lxc-1.0.9~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0c841790ab002f0241b088ce01579dd1d7d029f7;p=thirdparty%2Flxc.git templates: add squashfs support to lxc-ubuntu-cloud.in Add squashfs format file support for lxc-ubuntu-cloud.in Signed-off-by: Po-Hsu Lin --- diff --git a/templates/lxc-ubuntu-cloud.in b/templates/lxc-ubuntu-cloud.in index d277feccf..5cb8f15e0 100644 --- a/templates/lxc-ubuntu-cloud.in +++ b/templates/lxc-ubuntu-cloud.in @@ -299,7 +299,11 @@ else [ "$stream" = "daily" ] || echo "You may try with '--stream=daily'" exit 1 fi - url2=`echo $url1 | sed -e 's/.tar.gz/-root\0/' -e 's/.tar.gz/.tar.xz/'` + if [ "$release" = "precise" ] || [ "$release" = "trusty" ]; then + url2=`echo $url1 | sed -e 's/.tar.gz/-root\0/' -e 's/.tar.gz/.tar.xz/'` + else + url2=`echo $url1 | sed -e 's/.tar.gz/.squashfs/'` + fi fi filename=`basename $url2` @@ -329,11 +333,15 @@ do_extract_rootfs() { echo "Extracting container rootfs" mkdir -p $rootfs cd $rootfs - if [ $in_userns -eq 1 ]; then - tar --anchored --exclude="dev/*" --numeric-owner -xpf "$cache/$filename" - mkdir -p $rootfs/dev/pts/ + if [ "${filename##*.}" = "squashfs" ]; then + unsquashfs -n -f -d "$rootfs" "$cache/$filename" else - tar --numeric-owner -xpf "$cache/$filename" + if [ $in_userns -eq 1 ]; then + tar --anchored --exclude="dev/*" --numeric-owner -xpf "$cache/$filename" + mkdir -p $rootfs/dev/pts/ + else + tar --numeric-owner -xpf "$cache/$filename" + fi fi }