From 5c188a9b53403856dc8267442e73a967fca7c7a7 Mon Sep 17 00:00:00 2001 From: Martchus Date: Thu, 29 Mar 2018 17:42:39 +0200 Subject: [PATCH] Add script to update spec files and push them to obs --- devel/own-projects/apply-versions-spec.sh | 30 ++++++++++++++--- devel/own-projects/apply-versions.sh | 2 +- devel/own-projects/osc-stuff/build-all.sh | 9 +++++ .../own-projects/osc-stuff/update-osc-repo.sh | 33 +++++++++++++++++++ devel/own-projects/release-on-github.sh | 2 +- .../upload-mingw-w64-to-github.sh | 2 +- devel/own-projects/versions.sh | 2 +- 7 files changed, 71 insertions(+), 9 deletions(-) create mode 100755 devel/own-projects/osc-stuff/build-all.sh create mode 100755 devel/own-projects/osc-stuff/update-osc-repo.sh diff --git a/devel/own-projects/apply-versions-spec.sh b/devel/own-projects/apply-versions-spec.sh index 081a0a21..1c59fea4 100755 --- a/devel/own-projects/apply-versions-spec.sh +++ b/devel/own-projects/apply-versions-spec.sh @@ -1,13 +1,33 @@ -#!/usr/bin/bash +#!/bin/bash set -e # abort on first error shopt -s nullglob source versions.sh for spec_file in "$OSC_DIR"/*/*/*.spec; do - trimmed_path=${pkgbuild_file#$OSC_DIR/} - project_name=${trimmed_path%%/*} + trimmed_path=${spec_file#$OSC_DIR/*/*/} + project_name=${trimmed_path%*.spec} + spec_dir=${spec_file%/*} - # TODO + # skip packages with unknown version + version=${versions[$project_name]} + [[ $version ]] || continue - echo "$trimmed_path -> $version" + echo "NEXT: $project_name -> $version" + echo '------------------------------------------------------------------------------------------' + + # apply new version + sed -i -e "s/Version: .*/Version: $version/" "$spec_file" + chmod 644 "$spec_file" + + # push changes with osc + pushd "$spec_dir" + if ! [[ -f ../update-osc-repo.sh ]]; then + echo "skip updating osc repo for $project_name: update script not present in ${spec_dir%/*}" + elif [[ $(osc diff) ]]; then + ../update-osc-repo.sh "Update to $version" + echo "updated $project_name.spec -> $version" + else + echo "skip updating osc repo for $project_name: no changes made" + fi + popd done diff --git a/devel/own-projects/apply-versions.sh b/devel/own-projects/apply-versions.sh index cb444bcd..8049bc5a 100755 --- a/devel/own-projects/apply-versions.sh +++ b/devel/own-projects/apply-versions.sh @@ -1,4 +1,4 @@ -#!/usr/bin/bash +#!/bin/bash set -e # abort on first error shopt -s nullglob source versions.sh diff --git a/devel/own-projects/osc-stuff/build-all.sh b/devel/own-projects/osc-stuff/build-all.sh new file mode 100755 index 00000000..7a6f3273 --- /dev/null +++ b/devel/own-projects/osc-stuff/build-all.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +set -e # fail on error + +for d in c++utilities qtutilities passwordfile passwordmanager tagparser tageditor syncthingtray; do + pushd $d + tw + popd +done diff --git a/devel/own-projects/osc-stuff/update-osc-repo.sh b/devel/own-projects/osc-stuff/update-osc-repo.sh new file mode 100755 index 00000000..42081238 --- /dev/null +++ b/devel/own-projects/osc-stuff/update-osc-repo.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +set -e # fail on error + +msg="$1" +pkg="$2" + +if [[ ! $msg ]]; then + echo 'No commit message specified.' + exit -2 +fi + +[[ $pkg ]] && pushd "$pkg" + +if [[ $(osc status) == "" ]]; then + echo 'No local changes to check in.' + exit -3 +fi + +[ ! -f *.changes ] && no_changes_yet=1 + +if ! [[ $NO_DOWNLOAD ]]; then + osc rm *.tar.gz + osc service localrun download_files + osc add *.tar.gz +fi +osc service localrun format_spec_file +osc vc -m "$1" +[[ $no_changes_yet ]] && osc add *.changes +osc ci -m "$1" + +[[ $pkg ]] && popd +exit 0 diff --git a/devel/own-projects/release-on-github.sh b/devel/own-projects/release-on-github.sh index 21f33c96..9d80b6bb 100755 --- a/devel/own-projects/release-on-github.sh +++ b/devel/own-projects/release-on-github.sh @@ -1,4 +1,4 @@ -#!/usr/bin/bash +#!/bin/bash set -e # abort on first error shopt -s nullglob source versions.sh diff --git a/devel/own-projects/upload-mingw-w64-to-github.sh b/devel/own-projects/upload-mingw-w64-to-github.sh index 2208048d..ee4ace5c 100755 --- a/devel/own-projects/upload-mingw-w64-to-github.sh +++ b/devel/own-projects/upload-mingw-w64-to-github.sh @@ -1,4 +1,4 @@ -#!/usr/bin/bash +#!/bin/bash set -e # abort on first error shopt -s nullglob source versions.sh diff --git a/devel/own-projects/versions.sh b/devel/own-projects/versions.sh index 5309e269..8846f8f0 100755 --- a/devel/own-projects/versions.sh +++ b/devel/own-projects/versions.sh @@ -1,4 +1,4 @@ -#!/usr/bin/bash +#!/bin/bash declare -A versions=( [c++utilities]=4.13.0 [qtutilities]=5.9.0