File create_beta_package.sh of Package CopyQ-Qt5

#!/bin/bash
set -e

name=copyq
repo=~/dev/$name
outdir=$PWD

# Clean.
osc rm --force "$name"-*.tar.gz
rm -fv "$name"-*.tar.gz

# Create archive.
cd "$repo"

version=$(git describe --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g')
tar=$name-$version.tar
archive=$tar.gz
prefix=$name-$version

echo "Creating package $archive"
git archive --format=tar --prefix="$prefix/" --output="$outdir/$tar" HEAD

cd "$outdir"

# Add version info.
mkdir -p "$prefix"
echo "$version" > "$prefix/version.txt"
tar rf "$tar" "$prefix/version.txt"
rm -rf "$prefix"

# Compress.
gzip "$tar"

# Create dsc file.
dsc=$name.dsc
echo "Fixing $dsc"

size=$(stat --format="%s" "$archive")
hash=$(md5sum "$archive" | cut -d' ' -f 1)

cat > "$name.dsc" <<EOF
Format: 1.0
Source: copyq
Version: $version-1
Standards-Version: 3.9.6
Binary: copyq
Maintainer: Lukas Holecek <hluk@email.cz>
Architecture: any
Build-Depends:
 cmake,
 debhelper (>= 9),
 extra-cmake-modules,
 libkf5notifications-dev,
 libqt5svg5-dev,
 libxfixes-dev,
 libxtst-dev,
 libqt5waylandclient5-dev,
 libqt5x11extras5-dev,
 qtbase5-private-dev,
 qtdeclarative5-dev,
 qttools5-dev,
 qttools5-dev-tools,
 qtwayland5,
 qtwayland5-dev-tools,
 libwayland-dev
Files:
 $hash $size $archive
EOF

# Create spec file.
spec=$name.spec
echo "Fixing $spec"
sed -i "s/^Version:.*/Version:    $version/" "$spec"

echo "Fixing PKGBUILD"
sed -i "s/^pkgver=.*/pkgver=$version/" PKGBUILD
sed -i "s/^md5sums=.*/md5sums=('$hash')/" PKGBUILD

# Add new files for OBS.
osc add * || true
echo "Run to commit changes: osc commit"
echo "Run to get build state: osc results"
openSUSE Build Service is sponsored by