diff options
Diffstat (limited to 'include/release.sh')
-rw-r--r-- | include/release.sh | 58 |
1 files changed, 45 insertions, 13 deletions
diff --git a/include/release.sh b/include/release.sh index 99698c6a..6f8e4a6d 100644 --- a/include/release.sh +++ b/include/release.sh @@ -9,9 +9,13 @@ release() reldir="release" - while getopts m: option; do - [ -z "$OPTARG" ] && \ - err "empty argument not allowed" "release" "$@" + while getopts m: option + do + if [ -z "$OPTARG" ] + then + err "empty argument not allowed" "release" "$@" + fi + case "$option" in m) relmode="$OPTARG" ;; *) err "invalid option '-$option'" "release" "$@" ;; @@ -19,8 +23,10 @@ release() done reldest="$reldir/$version" - [ -e "$reldest" ] && \ - err "already exists: \"$reldest\"" "release" "$@" + if [ -e "$reldest" ] + then + err "already exists: \"$reldest\"" "release" "$@" + fi vdir="`mktemp -d || err "can't make vdir"`" || \ err "can't make tmp vdir" "release" "$@" @@ -34,7 +40,10 @@ release() prep_release src prep_release tarball - [ "$relmode" = "src" ] || prep_release bin + if [ "$relmode" != "src" ] + then + prep_release bin + fi x_ rm -Rf "$rsrc" x_ mkdir -p "$reldir" @@ -47,24 +56,41 @@ release() prep_release() { ( - [ "$1" = "tarball" ] || x_ cd "$rsrc" - prep_release_$1 + + if [ "$1" != "tarball" ] + then + x_ cd "$rsrc" + fi + + prep_release_$1 + ) || err "can't prep release $1" "prep_release" "$@" } prep_release_src() { x_ ./mk -f + fx_ "x_ rm -Rf" x_ find . -name ".git" fx_ "x_ rm -Rf" x_ find . -name ".gitmodules" - ( fx_ nuke x_ find config -type f -name "nuke.list" ) || err; : + + ( + + fx_ nuke x_ find config -type f -name "nuke.list" + + ) || err "can't prune project files" "prep_release_src" "$@"; : } nuke() { r="$rsrc/src/${1#config/}" - [ -d "${r%/*}" ] && x_ cd "${r%/*}" && \ - dx_ "eval [ -L \"\$fx\" ] || x_ rm -Rf" "$rsrc/$1"; : + + if [ -d "${r%/*}" ] + then + x_ cd "${r%/*}" + + dx_ "eval [ -L \"\$fx\" ] || x_ rm -Rf" "$rsrc/$1" + fi } prep_release_tarball() @@ -72,20 +98,26 @@ prep_release_tarball() git log --graph --pretty=format:'%Cred%h%Creset %s %Creset' \ --abbrev-commit > "$rsrc/CHANGELOG" || \ err "can't create '$rsrc/CHANGELOG'" "prep_release_tarball" "$@" + x_ rm -f "$rsrc/lock" x_ rm -Rf "$rsrc/cache" "$rsrc/xbmkwd" + ( - x_ cd "${rsrc%/*}" - x_ mktarball "${rsrc##*/}" "${rsrc##*/}.tar.xz" + + x_ cd "${rsrc%/*}" + x_ mktarball "${rsrc##*/}" "${rsrc##*/}.tar.xz" + ) || err "can't create src tarball" "prep_release_tarball" "$@"; : } prep_release_bin() { x_ ./mk -d coreboot + fx_ "x_ ./mk -b" printf \ "coreboot\npico-serprog\nstm32-vserprog\npcsx-redux\n" fx_ mkrom_tarball x_ find bin -maxdepth 1 -type d -name "serprog_*" + x_ mv bin ../roms } |