#!/bin/bash set -eo pipefail new_version="$1" spec_dirs=(centos oracle opensuse fedora) spec_files() { for d in "${spec_dirs[@]}"; do ls "$d"/*.spec done } bump_version() { sed -i "s/^Version:.\+/Version: $new_version/" "$1" } detect_release_version() { release_version=$(sed -ne 's/^Release:\s\+//p' "$1" | sed -e 's/%.\+$//') } bump_changelog() { detect_release_version "$1" local date=$(date +'%a %b %d %Y') local changelog_version="$new_version-$release_version" local new_changelog_entry="* $date KasmTech - $changelog_version\n- Upstream release" sed -i -e "s/%changelog/%changelog\n$new_changelog_entry/" "$1" } for spec_file in $(spec_files); do bump_version $spec_file bump_changelog $spec_file done