diff options
author | Nicolás Reynolds <apoyosis@correo.inta.gob.ar> | 2011-05-16 19:14:47 -0300 |
---|---|---|
committer | Nicolás Reynolds <apoyosis@correo.inta.gob.ar> | 2011-05-16 19:14:47 -0300 |
commit | bf87a77517cb5d960865faaf820decaa338c4f63 (patch) | |
tree | 6c10ea4f2a80ae3d5df3ae08b40f6ad5c9195ed6 /librerelease | |
parent | 56e183631d6e4e12df4990d119456dd81423938e (diff) | |
parent | 76c75b8971e4ad2f6c336c9413088e6fd0e70f69 (diff) |
Merge branch 'master' of ssh://vparabola/srv/git/projects/libretools
Conflicts:
libremakepkg
Diffstat (limited to 'librerelease')
-rwxr-xr-x | librerelease | 56 |
1 files changed, 43 insertions, 13 deletions
diff --git a/librerelease b/librerelease index 39d3e2d..1505098 100755 --- a/librerelease +++ b/librerelease @@ -24,29 +24,59 @@ source /etc/libretools.conf custom_config=$XDG_CONFIG_HOME/libretools/libretools.conf -usage () { - printf "$(gettext "Usage: %s")" "$0" +function usage { + echo "$(gettext "Usage: $0")" echo - printf "$(gettext "This script")" + echo "$(gettext "This script uploads packages on $WORKDIR/stagging")" + echo "$(gettext "to parabola server.")" + echo + echo "$(gettext "OPTIONS:")" + echo "$(gettext " -h this message.")" + echo "$(gettext " -l only list packages but not upload them.")" + echo "$(gettext " -c clean packages on $WORKDIR/staging.")" +} + +function list_packages { + find $WORKDIR/staging/ -type f -printf "%f\n" +} + +function clean_non_packages { + find $WORKDIR/staging/ -type -f \! -iname "*.pkg.tar.*" -delete } +function clean_packages { + find ${WORKDIR}/staging/ -iname "*.pkg.tar.*" -delete +} + +while getopts 'hlc' arg; do + case $arg in + h) usage; exit 0 ;; + l) list_packages; exit 0 ;; + c) clean_packages; exit $? ;; + esac +done + [[ -e $custom_config ]] && source $custom_config [[ ! -z ${HOOKPRERELEASE} ]] && bash -c "${HOOKPRERELEASE}" +clean_non_packages msg "Uploading packages..." rsync --recursive \ - --copy-links \ - --hard-links \ - --partial \ - --prune-empty-dirs \ - --human-readable \ - --progress \ - -e "ssh " \ - ${WORKDIR}/staging \ - ${PARABOLAHOST}:${LIBREDESTDIR}/ || exit 1 + --copy-links \ + --hard-links \ + --partial \ + --prune-empty-dirs \ + --human-readable \ + --progress \ + -e "ssh " \ + ${WORKDIR}/staging \ + ${PARABOLAHOST}:${LIBREDESTDIR}/ || { + error "Sync failed, try again" + exit 1 +} msg "Removing packages from local [staging]" -find ${WORKDIR}/staging/ -iname "*.pkg.tar.*" -delete +clean_packages exit 0 |