File indexing completed on 2024-05-26 04:59:21

0001 #!/bin/sh
0002 
0003 set -e # break on error
0004 
0005 #trap '' 2  # Disable Ctrl+C
0006 
0007 obs_project_dir="$(readlink -f "$PWD")"
0008 
0009 [ ! -d "$obs_project_dir/.osc" -o ! -f "$obs_project_dir/subtitlecomposer.spec" ] \
0010                 && echo 'ERROR: OBS project dir is not current' 1>&2 \
0011                 && exit 1
0012 
0013 git_project_dir="$(readlink -f "$(dirname "$(readlink -f "$0")")/../..")"
0014 [ ! -d "$git_project_dir/.git" ] \
0015                 && echo 'ERROR: script is not in GIT project dir' 1>&2 \
0016                 && exit 1
0017 
0018 osc_build_root="$(grep -E '^build-root = ' ~/.config/osc/oscrc | sed -r \
0019         -e 's/^build-root =\s+(.*)\s*$/\1/' \
0020         -e 's|%\(repo\)s|AppImage|g' \
0021         -e 's|%\(arch\)s|x86_64|g')"
0022 
0023 appimage_dest_dir="$(readlink -f "$(grep -E '^# appimage-dest-dir = ' ~/.config/osc/oscrc | sed -r \
0024         -e 's/^# appimage-dest-dir =\s+(.*)\s*$/\1/' \
0025         -e 's|%\(repo\)s|AppImage|g' \
0026         -e 's|%\(arch\)s|x86_64|g')")"
0027 
0028 branch='HEAD'
0029 ver='test-git'
0030 gitrev="$(git -C "$git_project_dir" rev-parse --short=12 $branch)"
0031 gitver="$(git -C "$git_project_dir" describe --always --tags --long --abbrev=8 $branch)"
0032 ver="$(echo $gitver | sed -E -e 's/^v(.+)-([0-9]+)-g(.+)$/\1-1+'$ver'\2-\3/')"
0033 
0034 echo -e "\e[1;32m### Preparing to build\e[1;37m - version $ver\e[m"
0035 
0036 cp -vf "$git_project_dir/pkg/misc/appimage.yml" "appimage.yml"
0037 
0038 mkdir -p "$obs_project_dir/subtitlecomposer-test-git"
0039 rsync -av "$git_project_dir"/{pkg,src} subtitlecomposer-test-git/.
0040 
0041 old_ver="$(grep -E '^\s+- app_version=' appimage.yml)"
0042 
0043 test_cleanup() {
0044         rm -fv "subtitlecomposer-${ver}.tar.xz"
0045         sed -r \
0046                 -e "/^\s+- app_version=/ c \\$old_ver" \
0047                 -e '/^  - make -j\$\(nproc\)$/ c \\  - make' \
0048                 -i appimage.yml
0049 }
0050 trap test_cleanup EXIT
0051 
0052 # update build version
0053 sed -r \
0054         -e 's/^(\s+- app_version=)"[^"]+".*$/\1"'"$ver"'"/g' \
0055         -e 's/^(\s+- make)$/\1 -j$(nproc)/g' \
0056         -i appimage.yml
0057 
0058 # create build archive
0059 tar -cJf "subtitlecomposer-${ver}.tar.xz" subtitlecomposer-test-git
0060 
0061 osc build AppImage x86_64 appimage.yml
0062 
0063 echo -e "\e[1;32m### Build successful\e[1;37m - root '$osc_build_root'\e[m"
0064 
0065 app_image="$(ls "$osc_build_root/.mount/.build.packages/OTHER"/SubtitleComposer-*-x86_64.AppImage)"
0066 if [ ! -z "$appimage_dest_dir" ]; then
0067         cp -va "$app_image" "$appimage_dest_dir/SubtitleComposer-x86_64.AppImage"
0068         chmod +x "$appimage_dest_dir/SubtitleComposer-x86_64.AppImage"
0069         echo -e "\e[1;32m###\e[1;37m $appimage_dest_dir/SubtitleComposer-x86_64.AppImage\e[m"
0070 fi