[meta-mentor] [PATCH 1/3] archive-release: disable binary artifact compression
Michael Brown
eichisama at gmail.com
Tue May 14 15:04:33 PDT 2013
From: Christopher Larson <chris_larson at mentor.com>
Patch courtesy Mikhail Durnev.
Signed-off-by: Christopher Larson <chris_larson at mentor.com>
(cherry picked from commit 7f3af7f125364bfaccde8b4b590534c87328031b)
Signed-off-by: Michael Brown <mw_brown at mentor.com>
---
recipes/meta/archive-release.bb | 33 ++++++++++++++++++++++++++++-----
1 file changed, 28 insertions(+), 5 deletions(-)
diff --git a/recipes/meta/archive-release.bb b/recipes/meta/archive-release.bb
index 44ec2d4..0503d61 100644
--- a/recipes/meta/archive-release.bb
+++ b/recipes/meta/archive-release.bb
@@ -26,6 +26,9 @@ RELEASE_USE_TAGS[doc] = "Use git tags rather than just # of commits for layer ar
RELEASE_USE_TAGS[type] = "boolean"
RELEASE_EXCLUDED_SOURCES ?= ""
RELEASE_EXCLUDED_SOURCES[doc] = "Patterns of files in COPYLEFT_SOURCES_DIR to exclude"
+BINARY_ARTIFACTS_COMPRESSION ?= ""
+BINARY_ARTIFACTS_COMPRESSION[doc] = "Compression type for images, downloads and sstate artifacts.\
+ Available: '.bz2' and '.gz'. No compression if empty"
# If we have an isolated set of shared state archives, use that, so as to
# avoid archiving sstates which were unused.
@@ -64,7 +67,20 @@ python () {
}
release_tar () {
- tar --absolute-names "$@" "--transform=s,^${MELDIR}/,," --exclude=.svn \
+ if [ -z ${BINARY_ARTIFACTS_COMPRESSION} ]
+ then
+ COMPRESSION=""
+ elif [ ${BINARY_ARTIFACTS_COMPRESSION} = ".bz2" ]
+ then
+ COMPRESSION="-j"
+ elif [ ${BINARY_ARTIFACTS_COMPRESSION} = ".gz" ]
+ then
+ COMPRESSION="-z"
+ else
+ bbfatal "Invalid binary artifacts compression type ${BINARY_ARTIFACTS_COMPRESSION}"
+ fi
+
+ tar --absolute-names ${COMPRESSION} "$@" "--transform=s,^${MELDIR}/,," --exclude=.svn \
--exclude=.git --exclude=\*.pyc --exclude=\*.pyo --exclude=.gitignore \
-v --show-stored-names
}
@@ -193,7 +209,8 @@ do_prepare_release () {
rm -f "$file"
done
cd - >/dev/null
- release_tar "--transform=s,^downloads/$name,downloads," -cjhf deploy/$name-downloads.tar.bz2 downloads/$name
+ release_tar "--transform=s,^downloads/$name,downloads," -chf \
+ deploy/$name-downloads.tar${BINARY_ARTIFACTS_COMPRESSION} downloads/$name
done
else
find -L ${COPYLEFT_SOURCES_DIR} -type f -maxdepth 2 | while read source; do
@@ -208,7 +225,7 @@ do_prepare_release () {
rm -f "$file"
done
cd - >/dev/null
- release_tar -cjhf deploy/${MACHINE}-downloads.tar.bz2 downloads/
+ release_tar -chf deploy/${MACHINE}-downloads.tar${BINARY_ARTIFACTS_COMPRESSION} downloads/
fi
fi
@@ -220,7 +237,7 @@ do_prepare_release () {
fi
done
release_tar "--transform=s,^${SSTATE_DIR},cached-binaries," --exclude=\*.done \
- -cjhf deploy/${MACHINE}-sstate.tar.bz2 ${SSTATE_DIR}
+ -chf deploy/${MACHINE}-sstate.tar${BINARY_ARTIFACTS_COMPRESSION} ${SSTATE_DIR}
fi
if echo "${RELEASE_ARTIFACTS}" | grep -w templates; then
@@ -260,7 +277,13 @@ do_prepare_release () {
} >>include
release_tar --files-from=include -rhf deploy/${MACHINE}.tar
- bzip2 deploy/${MACHINE}.tar
+ if [ ${BINARY_ARTIFACTS_COMPRESSION} = ".bz2" ]
+ then
+ bzip2 deploy/${MACHINE}.tar
+ elif [ ${BINARY_ARTIFACTS_COMPRESSION} = ".gz" ]
+ then
+ gzip deploy/${MACHINE}.tar
+ fi
fi
echo ${DISTRO_VERSION} >deploy/distro-version
--
1.7.9.5
More information about the meta-mentor
mailing list