diff options
author | Evangelos Foutras <foutrelis@gmail.com> | 2009-09-23 19:17:49 +0300 |
---|---|---|
committer | Aaron Griffin <aaronmgriffin@gmail.com> | 2009-09-23 12:01:11 -0700 |
commit | 8130fd3846834b08d5ad2d1fc749dbf74e30dc10 (patch) | |
tree | c25727370fcc3fe0fe9db4ffffae66965e45f51c | |
parent | 3d9c9c1b46e0a2cb9dee6965fd2262837e5b097b (diff) |
commitpkg: upload all available architectures
Now commitpkg will go through each architecture defined in the PKGBUILD
and if all packages are present, it will upload them and run archrelease
for that architecture.
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
-rwxr-xr-x | commitpkg | 98 |
1 files changed, 46 insertions, 52 deletions
@@ -20,11 +20,6 @@ if [ ! -f PKGBUILD ]; then exit 1 fi -if [ -z "$CARCH" ]; then - echo "CARCH must be set to a recognized value!" - exit 1 -fi - source PKGBUILD pkgbase=${pkgbase:-${pkgname[0]}} @@ -58,68 +53,67 @@ if [ "$1" = "-l" ]; then shift 2 fi -for _pkgname in ${pkgname[@]}; do - pkgfile=${_pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT} - anypkgfile=${_pkgname}-${pkgver}-${pkgrel}-any${PKGEXT} +for CARCH in ${arch[@]}; do + echo "===> Uploading to $repo-$CARCH" + for _pkgname in ${pkgname[@]}; do + pkgfile=${_pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT} - if [ ! -f $pkgfile ]; then - if [ -f $PKGDEST/$pkgfile ]; then + if [ ! -f $pkgfile -a -f $PKGDEST/$pkgfile ]; then pkgfile=$PKGDEST/$pkgfile - elif [ -f $anypkgfile ]; then - pkgfile=$anypkgfile - CARCH=any - elif [ -f $PKGDEST/$anypkgfile ]; then - pkgfile=$PKGDEST/$anypkgfile - CARCH=any - else + elif [ ! -f $pkgfile ]; then echo "File $pkgfile doesn't exist" + # skip to next architecture + continue 2 + fi + + # combine what we know into a variable + uploadto="staging/${repo}/$(basename ${pkgfile})" + # don't re-upload the same package (useful for -any sub packages) + if [ "$(md5sum "${pkgfile}" | cut -d' ' -f1)" != "$(ssh ${server} md5sum "${uploadto}" | cut -d' ' -f1)" ]; then + scp ${scpopts} "${pkgfile}" "${server}:${uploadto}" + fi + if [ "$(md5sum "${pkgfile}" | cut -d' ' -f1)" != "$(ssh ${server} md5sum "${uploadto}" | cut -d' ' -f1)" ]; then + echo "File got corrupted during upload, cancelled." exit 1 + else + echo "File integrity okay." fi - fi - # combine what we know into a variable - uploadto="staging/${repo}/$(basename ${pkgfile})" - scp ${scpopts} "${pkgfile}" "${server}:${uploadto}" - if [ "$(md5sum "${pkgfile}" | cut -d' ' -f1)" != "$(ssh ${server} md5sum "${uploadto}" | cut -d' ' -f1)" ]; then - echo "File got corrupted during upload, cancelled." - exit 1 + if [ $? -ne 0 ]; then + echo "Cancelled" + exit 1 + fi + echo "===> Uploaded $pkgfile" + done + + if [ "$1" != "" ]; then + svn commit -m "upgpkg: $pkgbase $pkgver-$pkgrel + $1" > /dev/null + if [ $? -ne 0 ]; then + echo "Cancelled" + exit 1 + fi + echo "===> Commited with message: + upgpkg: $pkgbase $pkgver-$pkgrel + $1" else - echo "File integrity okay." + svn commit + if [ $? -ne 0 ]; then + echo "Cancelled" + exit 1 + fi + echo "===> Commited" fi + archrelease $repo-$CARCH if [ $? -ne 0 ]; then echo "Cancelled" exit 1 fi - echo "===> Uploaded $pkgfile" + echo "===> Tagged for $repo-$CARCH" done -if [ "$1" != "" ]; then - svn commit -m "upgpkg: $pkgbase $pkgver-$pkgrel - $1" > /dev/null - if [ $? -ne 0 ]; then - echo "Cancelled" - exit 1 - fi - echo "===> Commited with \"upgpkg: $pkgbase $pkgver-$pkgrel - $1\" message" -else - svn commit - if [ $? -ne 0 ]; then - echo "Cancelled" - exit 1 - fi - echo "===> Commited" -fi - -archrelease $repo-$CARCH -if [ $? -ne 0 ]; then - echo "Cancelled" - exit 1 -fi -echo "===> Tagged for $repo-$CARCH" - -if [ "$CARCH" == "any" ]; then +if [ "${arch[*]}" == "any" ]; then if [ -d ../repos/${repo}-i686 -a -d ../repos/${repo}-x86_64 ]; then pushd .. svn rm $repo-i686 |