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