summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2013-07-22 09:24:29 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2013-07-25 09:13:47 +1000
commiteb6edabd5b883c139aeda247c687220731f7c3c7 (patch)
tree83d96fd57591874946f637cf0b3474122e7d77ec
parentd4cc41ccd0f0c51e0f413c86b6c2eea0fc124ca1 (diff)
release.sh: make the types of tarballs optional
Both tar.gz and tar.bz2 are optional now, so projects can choose to release only one tarball instead of both. It also prepares the work for modules using tar.xz in the future (requires additional patch). Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-rwxr-xr-xrelease.sh69
1 files changed, 42 insertions, 27 deletions
diff --git a/release.sh b/release.sh
index 781f7bc..b981c95 100755
--- a/release.sh
+++ b/release.sh
@@ -99,17 +99,17 @@ Cc: $list_cc
git tag: $tar_name
-http://$host_current/$section_path/$tarbz2
-MD5: `$MD5SUM $tarbz2`
-SHA1: `$SHA1SUM $tarbz2`
-SHA256: `$SHA256SUM $tarbz2`
+RELEASE
-http://$host_current/$section_path/$targz
-MD5: `$MD5SUM $targz`
-SHA1: `$SHA1SUM $targz`
-SHA256: `$SHA256SUM $targz`
+ for tarball in $targz $tarbz2; do
+ cat <<RELEASE
+http://$host_current/$section_path/$tarball
+MD5: `$MD5SUM $tarball`
+SHA1: `$SHA1SUM $tarball`
+SHA256: `$SHA256SUM $tarball`
RELEASE
+ done
}
#------------------------------------------------------------------------------
@@ -287,8 +287,15 @@ process_module() {
tar_name="$pkg_name-$pkg_version"
targz=$tar_name.tar.gz
tarbz2=$tar_name.tar.bz2
- ls -l $targz
- ls -l $tarbz2
+
+ [ -e $targz ] && ls -l $targz || unset targz
+ [ -e $tarbz2 ] && ls -l $tarbz2 || unset tarbz2
+
+ if [ -z "$targz" -a -z "$tarbz2" ]; then
+ echo "Error: no compatible tarballs found."
+ cd $top_src
+ return 1
+ fi
# Obtain the top commit SHA which should be the version bump
# It should not have been tagged yet (the script will do it later)
@@ -467,17 +474,18 @@ process_module() {
fi
# Check for already existing tarballs
- ssh $USER_NAME$hostname ls $srv_path/$targz >/dev/null 2>&1 ||
- ssh $USER_NAME$hostname ls $srv_path/$tarbz2 >/dev/null 2>&1
- if [ $? -eq 0 ]; then
- if [ "x$FORCE" = "xyes" ]; then
- echo "Warning: overwriting released tarballs due to --force option."
- else
- echo "Error: tarball $tar_name already exists. Use --force to overwrite."
- cd $top_src
- return 1
+ for tarball in $targz $tarbz2; do
+ ssh $USER_NAME$hostname ls $srv_path/$tarball >/dev/null 2>&1
+ if [ $? -eq 0 ]; then
+ if [ "x$FORCE" = "xyes" ]; then
+ echo "Warning: overwriting released tarballs due to --force option."
+ else
+ echo "Error: tarball $tar_name already exists. Use --force to overwrite."
+ cd $top_src
+ return 1
+ fi
fi
- fi
+ done
# Upload to host using the 'scp' remote file copy program
if [ x"$DRY_RUN" = x ]; then
@@ -538,15 +546,22 @@ process_module() {
# --------- Update the JH Build moduleset -----------------
# Failing to update the jh moduleset is not considered a fatal error
if [ x"$JH_MODULESET" != x ]; then
- if [ x$DRY_RUN = x ]; then
- sha1sum=`$SHA1SUM $targz | cut -d' ' -f1`
- $top_src/util/modular/update-moduleset.sh $JH_MODULESET $sha1sum $targz
- echo "Info: updated jh moduleset: \"$JH_MODULESET\""
- else
- echo "Info: skipping jh moduleset \"$JH_MODULESET\" update in dry-run mode."
- fi
+ for tarball in $targz $tarbz2; do
+ if [ x$DRY_RUN = x ]; then
+ sha1sum=`$SHA1SUM $tarball | cut -d' ' -f1`
+ $top_src/util/modular/update-moduleset.sh $JH_MODULESET $sha1sum $tarball
+ echo "Info: updated jh moduleset: \"$JH_MODULESET\""
+ else
+ echo "Info: skipping jh moduleset \"$JH_MODULESET\" update in dry-run mode."
+ fi
+
+ # $tar* may be unset, so simply loop through all of them and the
+ # first one that is set updates the module file
+ break
+ done
fi
+
# --------- Successful completion --------------------------
cd $top_src
return 0