Adds deb building scripts
This commit is contained in:
25
gtk/Dockerfile.deb
Normal file
25
gtk/Dockerfile.deb
Normal file
@@ -0,0 +1,25 @@
|
||||
FROM debian:trixie
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
dpkg \
|
||||
make \
|
||||
build-essential \
|
||||
python3 \
|
||||
imagemagick \
|
||||
meson \
|
||||
ninja-build \
|
||||
valac \
|
||||
pkg-config \
|
||||
libgtk-4-dev \
|
||||
libadwaita-1-dev \
|
||||
libglib2.0-dev \
|
||||
libgee-0.8-dev \
|
||||
libsecret-1-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /workspace
|
||||
|
||||
COPY . .
|
||||
|
||||
CMD ["make", "deb"]
|
||||
@@ -11,4 +11,6 @@ rpm:
|
||||
git -C .. archive --format=tar.gz --prefix=kordophone/ -o $(TMP)/v$(VER).tar.gz HEAD
|
||||
rpmbuild -ba dist/rpm/kordophone.spec --define "_sourcedir $(TMP)"
|
||||
|
||||
deb:
|
||||
./dist/deb/build-deb.sh $(VER)
|
||||
|
||||
|
||||
@@ -5,3 +5,5 @@ Libadwaita/GTK4 client for the Kordophone client daemon.
|
||||
# Building
|
||||
|
||||
Build an RPM using `rpmbuild -ba dist/rpm/kordophone.spec`
|
||||
|
||||
Build a DEB using `make deb`
|
||||
|
||||
6
gtk/dist/deb/.gitignore
vendored
Normal file
6
gtk/dist/deb/.gitignore
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
*.deb
|
||||
*.buildinfo
|
||||
*.changes
|
||||
*.dsc
|
||||
*.tar.*
|
||||
*.build
|
||||
49
gtk/dist/deb/build-deb.sh
vendored
Executable file
49
gtk/dist/deb/build-deb.sh
vendored
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||||
cd "$ROOT_DIR"
|
||||
|
||||
VERSION="${1:-}"
|
||||
if [[ -z "$VERSION" ]]; then
|
||||
VERSION="$(sed -n "s/.*version[[:space:]]*:[[:space:]]*'\\([^']*\\)'.*/\\1/p" meson.build | head -n1)"
|
||||
fi
|
||||
if [[ -z "$VERSION" ]]; then
|
||||
echo "Could not determine version (pass as first arg)" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ARCH="$(dpkg --print-architecture)"
|
||||
PKG="kordophone"
|
||||
|
||||
STAGE="$(mktemp -d)"
|
||||
trap 'rm -rf "$STAGE"' EXIT
|
||||
|
||||
PKGROOT="$STAGE/pkgroot"
|
||||
mkdir -p "$PKGROOT/DEBIAN"
|
||||
|
||||
BUILD_DIR="$STAGE/build"
|
||||
meson setup "$BUILD_DIR" --prefix=/usr
|
||||
ninja -C "$BUILD_DIR"
|
||||
DESTDIR="$PKGROOT" ninja -C "$BUILD_DIR" install
|
||||
|
||||
INSTALLED_SIZE_KB="$(du -sk "$PKGROOT/usr" | awk '{print $1}')"
|
||||
|
||||
cat >"$PKGROOT/DEBIAN/control" <<EOF
|
||||
Package: ${PKG}
|
||||
Version: ${VERSION}
|
||||
Section: net
|
||||
Priority: optional
|
||||
Architecture: ${ARCH}
|
||||
Maintainer: James Magahern <james@magahern.com>
|
||||
Installed-Size: ${INSTALLED_SIZE_KB}
|
||||
Depends: libgtk-4-1, libadwaita-1-0, libglib2.0-0, libgee-0.8-2, libsecret-1-0, kordophoned (>= 1.0.0)
|
||||
Description: GTK4/Libadwaita client for Kordophone
|
||||
A GTK4/Libadwaita Linux client for the Kordophone client daemon.
|
||||
EOF
|
||||
|
||||
OUT_DIR="$ROOT_DIR/dist/deb"
|
||||
mkdir -p "$OUT_DIR"
|
||||
OUT_DEB="${OUT_DIR}/${PKG}_${VERSION}_${ARCH}.deb"
|
||||
dpkg-deb --root-owner-group --build "$PKGROOT" "$OUT_DEB"
|
||||
echo "$OUT_DEB"
|
||||
@@ -1,5 +1,5 @@
|
||||
project('kordophone', 'vala',
|
||||
version : '1.0.1',
|
||||
version : '1.0.2',
|
||||
meson_version : '>=0.56.0',
|
||||
default_options : ['warning_level=2']
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user