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"