[lxc-devel] [PATCH] ubuntu-cloud: Replace .tar.gz by .tar.xz and don't auto-generate missing tarballs

Stéphane Graber stgraber at ubuntu.com
Wed Oct 14 02:07:04 UTC 2015


Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
 templates/lxc-ubuntu-cloud.in | 46 ++++---------------------------------------
 1 file changed, 4 insertions(+), 42 deletions(-)

diff --git a/templates/lxc-ubuntu-cloud.in b/templates/lxc-ubuntu-cloud.in
index 4addf7b..5bdd758 100644
--- a/templates/lxc-ubuntu-cloud.in
+++ b/templates/lxc-ubuntu-cloud.in
@@ -297,7 +297,7 @@ else
         [ "$stream" = "daily" ] || echo "You may try with '--stream=daily'"
         exit
     fi
-    url2=`echo $url1 | sed -e 's/.tar.gz/-root\0/'`
+    url2=`echo $url1 | sed -e 's/.tar.gz/-root\0/' -e 's/.tar.gz/.tar.xz/'`
 fi
 
 filename=`basename $url2`
@@ -307,44 +307,6 @@ wgetcleanup()
     rm -f $filename
 }
 
-buildcleanup()
-{
-    cd $rootfs
-    umount -l $cache/$xdir || true
-    rm -rf $cache
-}
-
-# if the release doesn't have a *-rootfs.tar.gz, then create one from the
-# cloudimg.tar.gz by extracting the .img, mounting it loopback, and creating
-# a tarball from the mounted image.
-build_root_tgz()
-{
-    url=$1
-    filename=$2
-
-    xdir=`mktemp -d -p .`
-    tarname=`basename $url`
-    imgname="$release-*-cloudimg-$arch.img"
-    trap buildcleanup EXIT SIGHUP SIGINT SIGTERM
-    if [ $flushcache -eq 1 -o ! -f $cache/$tarname ]; then
-        rm -f $tarname
-        echo "Downloading cloud image from $url"
-        wget $url || { echo "Couldn't find cloud image $url."; exit 1; }
-    fi
-    echo "Creating new cached cloud image rootfs"
-    tar --wildcards -zxf "$tarname" "$imgname"
-    mount -o loop $imgname $xdir
-    (cd $xdir; tar --numeric-owner -cpzf "../$filename" .)
-    umount $xdir
-    rm -f $tarname $imgname
-    rmdir $xdir
-    echo "New cloud image cache created"
-    trap EXIT
-    trap SIGHUP
-    trap SIGINT
-    trap SIGTERM
-}
-
 do_extract_rootfs() {
 
     cd $cache
@@ -355,7 +317,7 @@ do_extract_rootfs() {
 
     trap wgetcleanup EXIT SIGHUP SIGINT SIGTERM
     if [ ! -f $filename ]; then
-        wget $url2 || build_root_tgz $url1 $filename
+        wget $url2
     fi
     trap EXIT
     trap SIGHUP
@@ -366,10 +328,10 @@ do_extract_rootfs() {
     mkdir -p $rootfs
     cd $rootfs
     if [ $in_userns -eq 1 ]; then
-        tar --anchored --exclude="dev/*" --numeric-owner -xpzf "$cache/$filename"
+        tar --anchored --exclude="dev/*" --numeric-owner -xpJf "$cache/$filename"
         mkdir -p $rootfs/dev/pts/
     else
-        tar --numeric-owner -xpzf "$cache/$filename"
+        tar --numeric-owner -xpJf "$cache/$filename"
     fi
 }
 
-- 
2.5.0



More information about the lxc-devel mailing list