All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] sstate.bbclass: add option to use alternate compression in lieu of gzip
@ 2011-12-01 23:33 Matthew McClintock
  2011-12-01 23:35 ` McClintock Matthew-B29882
  0 siblings, 1 reply; 6+ messages in thread
From: Matthew McClintock @ 2011-12-01 23:33 UTC (permalink / raw)
  To: openembedded-core

The savings can be substantial. The resutls below are for a
core-image-minimal type image:

gzip:    1.1G	sstate-cache
xz       714M	sstate-cache

Signed-off-by: Matthew McClintock <msm@freescale.com>
---
 meta/classes/sstate.bbclass |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 3d259f0..16c4b43 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -18,6 +18,9 @@ SSTATE_MANMACH ?= "${SSTATE_PKGARCH}"
 
 SSTATEPOSTINSTFUNCS ?= ""
 
+SSTATE_PKG_SUFFIX = "tgz"
+SSTATE_PKG_TAROPT = "z"
+
 python () {
     if bb.data.inherits_class('native', d):
         bb.data.setVar('SSTATE_PKGARCH', bb.data.getVar('BUILD_ARCH', d), d)
@@ -155,7 +158,7 @@ def sstate_installpkg(ss, d):
         oe.path.remove(dir)
 
     sstateinst = bb.data.expand("${WORKDIR}/sstate-install-%s/" % ss['name'], d)
-    sstatepkg = bb.data.getVar('SSTATE_PKG', d, True) + '_' + ss['name'] + ".tgz"
+    sstatepkg = bb.data.getVar('SSTATE_PKG', d, True) + '_' + ss['name'] + ".${SSTATE_PKG_SUFFIX}"
 
     if not os.path.exists(sstatepkg):
        pstaging_fetch(sstatepkg, d)
@@ -206,7 +209,7 @@ def sstate_clean_cachefile(ss, d):
     import oe.path
 
     sstatepkgdir = bb.data.getVar('SSTATE_DIR', d, True)
-    sstatepkgfile = sstatepkgdir + '/' + bb.data.getVar('SSTATE_PKGSPEC', d, True) + "*_" + ss['name'] + ".tgz*"
+    sstatepkgfile = sstatepkgdir + '/' + bb.data.getVar('SSTATE_PKGSPEC', d, True) + "*_" + ss['name'] + ".${SSTATE_PKG_SUFFIX}*"
     bb.note("Removing %s" % sstatepkgfile)
     oe.path.remove(sstatepkgfile)
 
@@ -351,7 +354,7 @@ def sstate_package(ss, d):
     tmpdir = bb.data.getVar('TMPDIR', d, True)
 
     sstatebuild = bb.data.expand("${WORKDIR}/sstate-build-%s/" % ss['name'], d)
-    sstatepkg = bb.data.getVar('SSTATE_PKG', d, True) + '_'+ ss['name'] + ".tgz"
+    sstatepkg = bb.data.getVar('SSTATE_PKG', d, True) + '_'+ ss['name'] + ".${SSTATE_PKG_SUFFIX}"
     bb.mkdirhier(sstatebuild)
     bb.mkdirhier(os.path.dirname(sstatepkg))
     for state in ss['dirs']:
@@ -448,9 +451,9 @@ sstate_create_package () {
 	cd ${SSTATE_BUILDDIR}
 	# Need to handle empty directories
 	if [ "$(ls -A)" ]; then
-		tar -czf ${SSTATE_PKG} *
+		tar -cf${SSTATE_PKG_TAROPT} ${SSTATE_PKG} *
 	else
-		tar -cz --file=${SSTATE_PKG} --files-from=/dev/null
+		tar -c${SSTATE_PKG_TAROPT} --file=${SSTATE_PKG} --files-from=/dev/null
 	fi
 
 	cd ${WORKDIR}
@@ -463,7 +466,7 @@ sstate_create_package () {
 sstate_unpack_package () {
 	mkdir -p ${SSTATE_INSTDIR}
 	cd ${SSTATE_INSTDIR}
-	tar -xvzf ${SSTATE_PKG}
+	tar -xvf${SSTATE_PKG_TAROPT}  ${SSTATE_PKG}
 }
 
 BB_HASHCHECK_FUNCTION = "sstate_checkhashes"
@@ -483,7 +486,7 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d):
     }
 
     for task in range(len(sq_fn)):
-        sstatefile = bb.data.expand("${SSTATE_DIR}/" + sq_hashfn[task] + "_" + mapping[sq_task[task]] + ".tgz", d)
+        sstatefile = bb.data.expand("${SSTATE_DIR}/" + sq_hashfn[task] + "_" + mapping[sq_task[task]] + ".${SSTATE_PKG_SUFFIX}", d)
         sstatefile = sstatefile.replace("${BB_TASKHASH}", sq_hash[task])
         if os.path.exists(sstatefile):
             bb.debug(2, "SState: Found valid sstate file %s" % sstatefile)
@@ -508,7 +511,7 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d):
             if task in ret:
                 continue
 
-            sstatefile = bb.data.expand("${SSTATE_DIR}/" + sq_hashfn[task] + "_" + mapping[sq_task[task]] + ".tgz", d)
+            sstatefile = bb.data.expand("${SSTATE_DIR}/" + sq_hashfn[task] + "_" + mapping[sq_task[task]] + ".${SSTATE_PKG_SUFFIX}", d)
             sstatefile = sstatefile.replace("${BB_TASKHASH}", sq_hash[task])
 
             srcuri = "file://" + os.path.basename(sstatefile)
-- 
1.7.6.1





^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] sstate.bbclass: add option to use alternate compression in lieu of gzip
  2011-12-01 23:33 [PATCH] sstate.bbclass: add option to use alternate compression in lieu of gzip Matthew McClintock
@ 2011-12-01 23:35 ` McClintock Matthew-B29882
  2011-12-02 17:24   ` [PATCH v2] " Matthew McClintock
  0 siblings, 1 reply; 6+ messages in thread
From: McClintock Matthew-B29882 @ 2011-12-01 23:35 UTC (permalink / raw)
  To: openembedded-core

On Thu, Dec 1, 2011 at 5:33 PM, Matthew McClintock <msm@freescale.com> wrote:
> The savings can be substantial. The resutls below are for a
> core-image-minimal type image:
>
> gzip:    1.1G   sstate-cache
> xz       714M   sstate-cache
>
> Signed-off-by: Matthew McClintock <msm@freescale.com>

Ugh, ignore this it does not actually work...

-M



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2] sstate.bbclass: add option to use alternate compression in lieu of gzip
  2011-12-01 23:35 ` McClintock Matthew-B29882
@ 2011-12-02 17:24   ` Matthew McClintock
  2011-12-06 15:55     ` McClintock Matthew-B29882
  0 siblings, 1 reply; 6+ messages in thread
From: Matthew McClintock @ 2011-12-02 17:24 UTC (permalink / raw)
  To: openembedded-core

The savings can be substantial. The resutls below are for a
core-image-minimal type image:

gzip:    1.1G	sstate-cache
xz       714M	sstate-cache

Signed-off-by: Matthew McClintock <msm@freescale.com>
---
v2: This one actually works!

 meta/classes/sstate.bbclass |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 3d259f0..e3a2a83 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -18,6 +18,9 @@ SSTATE_MANMACH ?= "${SSTATE_PKGARCH}"
 
 SSTATEPOSTINSTFUNCS ?= ""
 
+SSTATE_PKG_SUFFIX ?= "tgz"
+SSTATE_PKG_TAROPT ?= "z"
+
 python () {
     if bb.data.inherits_class('native', d):
         bb.data.setVar('SSTATE_PKGARCH', bb.data.getVar('BUILD_ARCH', d), d)
@@ -155,7 +158,7 @@ def sstate_installpkg(ss, d):
         oe.path.remove(dir)
 
     sstateinst = bb.data.expand("${WORKDIR}/sstate-install-%s/" % ss['name'], d)
-    sstatepkg = bb.data.getVar('SSTATE_PKG', d, True) + '_' + ss['name'] + ".tgz"
+    sstatepkg = bb.data.expand("${SSTATE_PKG}" + '_' + ss['name'] + ".${SSTATE_PKG_SUFFIX}", d)
 
     if not os.path.exists(sstatepkg):
        pstaging_fetch(sstatepkg, d)
@@ -206,7 +209,7 @@ def sstate_clean_cachefile(ss, d):
     import oe.path
 
     sstatepkgdir = bb.data.getVar('SSTATE_DIR', d, True)
-    sstatepkgfile = sstatepkgdir + '/' + bb.data.getVar('SSTATE_PKGSPEC', d, True) + "*_" + ss['name'] + ".tgz*"
+    sstatepkgfile = bb.data.expand(sstatepkgdir + '/' + "${SSTATE_PKGSPEC}" + "*_" + ss['name'] + ".${SSTATE_PKG_SUFFIX}*", d)
     bb.note("Removing %s" % sstatepkgfile)
     oe.path.remove(sstatepkgfile)
 
@@ -351,7 +354,7 @@ def sstate_package(ss, d):
     tmpdir = bb.data.getVar('TMPDIR', d, True)
 
     sstatebuild = bb.data.expand("${WORKDIR}/sstate-build-%s/" % ss['name'], d)
-    sstatepkg = bb.data.getVar('SSTATE_PKG', d, True) + '_'+ ss['name'] + ".tgz"
+    sstatepkg = bb.data.expand("${SSTATE_PKG}" + '_' + ss['name'] + ".${SSTATE_PKG_SUFFIX}", d)
     bb.mkdirhier(sstatebuild)
     bb.mkdirhier(os.path.dirname(sstatepkg))
     for state in ss['dirs']:
@@ -448,9 +451,9 @@ sstate_create_package () {
 	cd ${SSTATE_BUILDDIR}
 	# Need to handle empty directories
 	if [ "$(ls -A)" ]; then
-		tar -czf ${SSTATE_PKG} *
+		tar -${SSTATE_PKG_TAROPT}cf ${SSTATE_PKG} *
 	else
-		tar -cz --file=${SSTATE_PKG} --files-from=/dev/null
+		tar -${SSTATE_PKG_TAROPT}c --file=${SSTATE_PKG} --files-from=/dev/null
 	fi
 
 	cd ${WORKDIR}
@@ -463,7 +466,7 @@ sstate_create_package () {
 sstate_unpack_package () {
 	mkdir -p ${SSTATE_INSTDIR}
 	cd ${SSTATE_INSTDIR}
-	tar -xvzf ${SSTATE_PKG}
+	tar -${SSTATE_PKG_TAROPT}xvf  ${SSTATE_PKG}
 }
 
 BB_HASHCHECK_FUNCTION = "sstate_checkhashes"
@@ -483,7 +486,7 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d):
     }
 
     for task in range(len(sq_fn)):
-        sstatefile = bb.data.expand("${SSTATE_DIR}/" + sq_hashfn[task] + "_" + mapping[sq_task[task]] + ".tgz", d)
+        sstatefile = bb.data.expand("${SSTATE_DIR}/" + sq_hashfn[task] + "_" + mapping[sq_task[task]] + ".${SSTATE_PKG_SUFFIX}", d)
         sstatefile = sstatefile.replace("${BB_TASKHASH}", sq_hash[task])
         if os.path.exists(sstatefile):
             bb.debug(2, "SState: Found valid sstate file %s" % sstatefile)
@@ -508,7 +511,7 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d):
             if task in ret:
                 continue
 
-            sstatefile = bb.data.expand("${SSTATE_DIR}/" + sq_hashfn[task] + "_" + mapping[sq_task[task]] + ".tgz", d)
+            sstatefile = bb.data.expand("${SSTATE_DIR}/" + sq_hashfn[task] + "_" + mapping[sq_task[task]] + ".${SSTATE_PKG_SUFFIX}", d)
             sstatefile = sstatefile.replace("${BB_TASKHASH}", sq_hash[task])
 
             srcuri = "file://" + os.path.basename(sstatefile)
-- 
1.7.6.1





^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] sstate.bbclass: add option to use alternate compression in lieu of gzip
  2011-12-02 17:24   ` [PATCH v2] " Matthew McClintock
@ 2011-12-06 15:55     ` McClintock Matthew-B29882
  2011-12-07  0:52       ` [PATCH v3] " Matthew McClintock
  0 siblings, 1 reply; 6+ messages in thread
From: McClintock Matthew-B29882 @ 2011-12-06 15:55 UTC (permalink / raw)
  To: openembedded-core

On Fri, Dec 2, 2011 at 11:24 AM, Matthew McClintock <msm@freescale.com> wrote:
> -               tar -czf ${SSTATE_PKG} *
> +               tar -${SSTATE_PKG_TAROPT}cf ${SSTATE_PKG} *
>        else
> -               tar -cz --file=${SSTATE_PKG} --files-from=/dev/null
> +               tar -${SSTATE_PKG_TAROPT}c --file=${SSTATE_PKG} --files-from=/dev/null
>        fi
>
>        cd ${WORKDIR}
> @@ -463,7 +466,7 @@ sstate_create_package () {
>  sstate_unpack_package () {
>        mkdir -p ${SSTATE_INSTDIR}
>        cd ${SSTATE_INSTDIR}
> -       tar -xvzf ${SSTATE_PKG}
> +       tar -${SSTATE_PKG_TAROPT}xvf  ${SSTATE_PKG}

I'm going to respin this to look more like:

tar -cvf - | "$SSTATE_PKG_TARCOMPRESSION"

such that we don't depend on newer versions of tar for specific types
of compression.

-M



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v3] sstate.bbclass: add option to use alternate compression in lieu of gzip
  2011-12-06 15:55     ` McClintock Matthew-B29882
@ 2011-12-07  0:52       ` Matthew McClintock
  2011-12-14  0:52         ` McClintock Matthew-B29882
  0 siblings, 1 reply; 6+ messages in thread
From: Matthew McClintock @ 2011-12-07  0:52 UTC (permalink / raw)
  To: openembedded-core

The savings can be substantial. The resutls below are for a
core-image-minimal type image:

gzip:    1.1G	sstate-cache
xz       714M	sstate-cache

Signed-off-by: Matthew McClintock <msm@freescale.com>
---
v2: This one actually works!
v3:
 - Use --use-compress-program= option to tar so we can use any compression
   not just ones built into tar
 - Add ASSUME_PROVIDED for the compression program we are using, this way
   it won't effect the build and if you are using it - it's already
   going to be available on the host


 meta/classes/sstate.bbclass |   22 ++++++++++++++--------
 1 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 3d259f0..a2d7b65 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -18,6 +18,12 @@ SSTATE_MANMACH ?= "${SSTATE_PKGARCH}"
 
 SSTATEPOSTINSTFUNCS ?= ""
 
+SSTATE_PKG_SUFFIX ?= "tgz"
+SSTATE_PKG_TARZIPPROG ?= "gzip"
+# the tool used above for sstate-cache will always need to be used from the host
+# so we can ASSUME_PROVIDED it
+ASSUME_PROVIDED += "${SSTATE_PKG_TARZIPPROG}-native"
+
 python () {
     if bb.data.inherits_class('native', d):
         bb.data.setVar('SSTATE_PKGARCH', bb.data.getVar('BUILD_ARCH', d), d)
@@ -155,7 +161,7 @@ def sstate_installpkg(ss, d):
         oe.path.remove(dir)
 
     sstateinst = bb.data.expand("${WORKDIR}/sstate-install-%s/" % ss['name'], d)
-    sstatepkg = bb.data.getVar('SSTATE_PKG', d, True) + '_' + ss['name'] + ".tgz"
+    sstatepkg = bb.data.expand("${SSTATE_PKG}" + '_' + ss['name'] + ".${SSTATE_PKG_SUFFIX}", d)
 
     if not os.path.exists(sstatepkg):
        pstaging_fetch(sstatepkg, d)
@@ -206,7 +212,7 @@ def sstate_clean_cachefile(ss, d):
     import oe.path
 
     sstatepkgdir = bb.data.getVar('SSTATE_DIR', d, True)
-    sstatepkgfile = sstatepkgdir + '/' + bb.data.getVar('SSTATE_PKGSPEC', d, True) + "*_" + ss['name'] + ".tgz*"
+    sstatepkgfile = bb.data.expand(sstatepkgdir + '/' + "${SSTATE_PKGSPEC}" + "*_" + ss['name'] + ".${SSTATE_PKG_SUFFIX}*", d)
     bb.note("Removing %s" % sstatepkgfile)
     oe.path.remove(sstatepkgfile)
 
@@ -351,7 +357,7 @@ def sstate_package(ss, d):
     tmpdir = bb.data.getVar('TMPDIR', d, True)
 
     sstatebuild = bb.data.expand("${WORKDIR}/sstate-build-%s/" % ss['name'], d)
-    sstatepkg = bb.data.getVar('SSTATE_PKG', d, True) + '_'+ ss['name'] + ".tgz"
+    sstatepkg = bb.data.expand("${SSTATE_PKG}" + '_' + ss['name'] + ".${SSTATE_PKG_SUFFIX}", d)
     bb.mkdirhier(sstatebuild)
     bb.mkdirhier(os.path.dirname(sstatepkg))
     for state in ss['dirs']:
@@ -448,9 +454,9 @@ sstate_create_package () {
 	cd ${SSTATE_BUILDDIR}
 	# Need to handle empty directories
 	if [ "$(ls -A)" ]; then
-		tar -czf ${SSTATE_PKG} *
+		tar --use-compress-program=${SSTATE_PKG_TARZIPPROG} -cf ${SSTATE_PKG} *
 	else
-		tar -cz --file=${SSTATE_PKG} --files-from=/dev/null
+		tar --use-compress-program=${SSTATE_PKG_TARZIPPROG} -c --file=${SSTATE_PKG} --files-from=/dev/null
 	fi
 
 	cd ${WORKDIR}
@@ -463,7 +469,7 @@ sstate_create_package () {
 sstate_unpack_package () {
 	mkdir -p ${SSTATE_INSTDIR}
 	cd ${SSTATE_INSTDIR}
-	tar -xvzf ${SSTATE_PKG}
+	tar --use-compress-program=${SSTATE_PKG_TARZIPPROG} -xvf ${SSTATE_PKG}
 }
 
 BB_HASHCHECK_FUNCTION = "sstate_checkhashes"
@@ -483,7 +489,7 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d):
     }
 
     for task in range(len(sq_fn)):
-        sstatefile = bb.data.expand("${SSTATE_DIR}/" + sq_hashfn[task] + "_" + mapping[sq_task[task]] + ".tgz", d)
+        sstatefile = bb.data.expand("${SSTATE_DIR}/" + sq_hashfn[task] + "_" + mapping[sq_task[task]] + ".${SSTATE_PKG_SUFFIX}", d)
         sstatefile = sstatefile.replace("${BB_TASKHASH}", sq_hash[task])
         if os.path.exists(sstatefile):
             bb.debug(2, "SState: Found valid sstate file %s" % sstatefile)
@@ -508,7 +514,7 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d):
             if task in ret:
                 continue
 
-            sstatefile = bb.data.expand("${SSTATE_DIR}/" + sq_hashfn[task] + "_" + mapping[sq_task[task]] + ".tgz", d)
+            sstatefile = bb.data.expand("${SSTATE_DIR}/" + sq_hashfn[task] + "_" + mapping[sq_task[task]] + ".${SSTATE_PKG_SUFFIX}", d)
             sstatefile = sstatefile.replace("${BB_TASKHASH}", sq_hash[task])
 
             srcuri = "file://" + os.path.basename(sstatefile)
-- 
1.7.6.1





^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v3] sstate.bbclass: add option to use alternate compression in lieu of gzip
  2011-12-07  0:52       ` [PATCH v3] " Matthew McClintock
@ 2011-12-14  0:52         ` McClintock Matthew-B29882
  0 siblings, 0 replies; 6+ messages in thread
From: McClintock Matthew-B29882 @ 2011-12-14  0:52 UTC (permalink / raw)
  To: openembedded-core

Ping!

On Tue, Dec 6, 2011 at 6:52 PM, Matthew McClintock <msm@freescale.com> wrote:
> The savings can be substantial. The resutls below are for a
> core-image-minimal type image:
>
> gzip:    1.1G   sstate-cache
> xz       714M   sstate-cache
>
> Signed-off-by: Matthew McClintock <msm@freescale.com>
> ---
> v2: This one actually works!
> v3:
>  - Use --use-compress-program= option to tar so we can use any compression
>   not just ones built into tar
>  - Add ASSUME_PROVIDED for the compression program we are using, this way
>   it won't effect the build and if you are using it - it's already
>   going to be available on the host
>
>
>  meta/classes/sstate.bbclass |   22 ++++++++++++++--------
>  1 files changed, 14 insertions(+), 8 deletions(-)
>
> diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
> index 3d259f0..a2d7b65 100644
> --- a/meta/classes/sstate.bbclass
> +++ b/meta/classes/sstate.bbclass
> @@ -18,6 +18,12 @@ SSTATE_MANMACH ?= "${SSTATE_PKGARCH}"
>
>  SSTATEPOSTINSTFUNCS ?= ""
>
> +SSTATE_PKG_SUFFIX ?= "tgz"
> +SSTATE_PKG_TARZIPPROG ?= "gzip"
> +# the tool used above for sstate-cache will always need to be used from the host
> +# so we can ASSUME_PROVIDED it
> +ASSUME_PROVIDED += "${SSTATE_PKG_TARZIPPROG}-native"
> +
>  python () {
>     if bb.data.inherits_class('native', d):
>         bb.data.setVar('SSTATE_PKGARCH', bb.data.getVar('BUILD_ARCH', d), d)
> @@ -155,7 +161,7 @@ def sstate_installpkg(ss, d):
>         oe.path.remove(dir)
>
>     sstateinst = bb.data.expand("${WORKDIR}/sstate-install-%s/" % ss['name'], d)
> -    sstatepkg = bb.data.getVar('SSTATE_PKG', d, True) + '_' + ss['name'] + ".tgz"
> +    sstatepkg = bb.data.expand("${SSTATE_PKG}" + '_' + ss['name'] + ".${SSTATE_PKG_SUFFIX}", d)
>
>     if not os.path.exists(sstatepkg):
>        pstaging_fetch(sstatepkg, d)
> @@ -206,7 +212,7 @@ def sstate_clean_cachefile(ss, d):
>     import oe.path
>
>     sstatepkgdir = bb.data.getVar('SSTATE_DIR', d, True)
> -    sstatepkgfile = sstatepkgdir + '/' + bb.data.getVar('SSTATE_PKGSPEC', d, True) + "*_" + ss['name'] + ".tgz*"
> +    sstatepkgfile = bb.data.expand(sstatepkgdir + '/' + "${SSTATE_PKGSPEC}" + "*_" + ss['name'] + ".${SSTATE_PKG_SUFFIX}*", d)
>     bb.note("Removing %s" % sstatepkgfile)
>     oe.path.remove(sstatepkgfile)
>
> @@ -351,7 +357,7 @@ def sstate_package(ss, d):
>     tmpdir = bb.data.getVar('TMPDIR', d, True)
>
>     sstatebuild = bb.data.expand("${WORKDIR}/sstate-build-%s/" % ss['name'], d)
> -    sstatepkg = bb.data.getVar('SSTATE_PKG', d, True) + '_'+ ss['name'] + ".tgz"
> +    sstatepkg = bb.data.expand("${SSTATE_PKG}" + '_' + ss['name'] + ".${SSTATE_PKG_SUFFIX}", d)
>     bb.mkdirhier(sstatebuild)
>     bb.mkdirhier(os.path.dirname(sstatepkg))
>     for state in ss['dirs']:
> @@ -448,9 +454,9 @@ sstate_create_package () {
>        cd ${SSTATE_BUILDDIR}
>        # Need to handle empty directories
>        if [ "$(ls -A)" ]; then
> -               tar -czf ${SSTATE_PKG} *
> +               tar --use-compress-program=${SSTATE_PKG_TARZIPPROG} -cf ${SSTATE_PKG} *
>        else
> -               tar -cz --file=${SSTATE_PKG} --files-from=/dev/null
> +               tar --use-compress-program=${SSTATE_PKG_TARZIPPROG} -c --file=${SSTATE_PKG} --files-from=/dev/null
>        fi
>
>        cd ${WORKDIR}
> @@ -463,7 +469,7 @@ sstate_create_package () {
>  sstate_unpack_package () {
>        mkdir -p ${SSTATE_INSTDIR}
>        cd ${SSTATE_INSTDIR}
> -       tar -xvzf ${SSTATE_PKG}
> +       tar --use-compress-program=${SSTATE_PKG_TARZIPPROG} -xvf ${SSTATE_PKG}
>  }
>
>  BB_HASHCHECK_FUNCTION = "sstate_checkhashes"
> @@ -483,7 +489,7 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d):
>     }
>
>     for task in range(len(sq_fn)):
> -        sstatefile = bb.data.expand("${SSTATE_DIR}/" + sq_hashfn[task] + "_" + mapping[sq_task[task]] + ".tgz", d)
> +        sstatefile = bb.data.expand("${SSTATE_DIR}/" + sq_hashfn[task] + "_" + mapping[sq_task[task]] + ".${SSTATE_PKG_SUFFIX}", d)
>         sstatefile = sstatefile.replace("${BB_TASKHASH}", sq_hash[task])
>         if os.path.exists(sstatefile):
>             bb.debug(2, "SState: Found valid sstate file %s" % sstatefile)
> @@ -508,7 +514,7 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d):
>             if task in ret:
>                 continue
>
> -            sstatefile = bb.data.expand("${SSTATE_DIR}/" + sq_hashfn[task] + "_" + mapping[sq_task[task]] + ".tgz", d)
> +            sstatefile = bb.data.expand("${SSTATE_DIR}/" + sq_hashfn[task] + "_" + mapping[sq_task[task]] + ".${SSTATE_PKG_SUFFIX}", d)
>             sstatefile = sstatefile.replace("${BB_TASKHASH}", sq_hash[task])
>
>             srcuri = "file://" + os.path.basename(sstatefile)
> --
> 1.7.6.1
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-12-14  0:59 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-01 23:33 [PATCH] sstate.bbclass: add option to use alternate compression in lieu of gzip Matthew McClintock
2011-12-01 23:35 ` McClintock Matthew-B29882
2011-12-02 17:24   ` [PATCH v2] " Matthew McClintock
2011-12-06 15:55     ` McClintock Matthew-B29882
2011-12-07  0:52       ` [PATCH v3] " Matthew McClintock
2011-12-14  0:52         ` McClintock Matthew-B29882

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.