2024-11-23 21:41:00 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
set -exo pipefail
|
|
|
|
|
|
|
|
ROOT=$(pwd)
|
|
|
|
|
|
|
|
function fetch() {
|
|
|
|
git clone https://github.com/s3lph/ydotool "${SRCDIR}/ydotool"
|
2024-11-23 22:40:33 +01:00
|
|
|
git checkout feat-getpwnam
|
2024-11-23 21:41:00 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
function prepare() {
|
|
|
|
apt install -y build-essential cmake pkg-config scdoc
|
|
|
|
cd "${SRCDIR}/ydotool"
|
|
|
|
export VERSION="$(git describe --tags | cut -d- -f1-2 | sed -re "s/-/~/g" -e "s/^v//g")-1"
|
|
|
|
export ISODATE="$(git log -1 --format="%aI")"
|
|
|
|
mkdir build
|
|
|
|
cd build
|
|
|
|
cmake ..
|
|
|
|
make
|
|
|
|
strip ydotool
|
|
|
|
strip ydotoold
|
|
|
|
}
|
|
|
|
|
|
|
|
function prepare_ydotool() {
|
|
|
|
mkdir -p \
|
|
|
|
"${PKGDIR_YDOTOOL}/DEBIAN" \
|
|
|
|
"${PKGDIR_YDOTOOL}/usr/bin" \
|
|
|
|
"${PKGDIR_YDOTOOL}/usr/share/man/man1" \
|
|
|
|
"${PKGDIR_YDOTOOL}/usr/share/doc/ydotool"
|
|
|
|
cp "${SRCDIR}/ydotool/build/ydotool" "${PKGDIR_YDOTOOL}/usr/bin/ydotool"
|
|
|
|
cp "${SRCDIR}/ydotool/build/manpage/ydotool.1" "${PKGDIR_YDOTOOL}/usr/share/man/man1/ydotool.1"
|
|
|
|
gzip -9n "${PKGDIR_YDOTOOL}/usr/share/man/man1/ydotool.1"
|
|
|
|
cp "${SRCDIR}/ydotool/LICENSE" "${PKGDIR_YDOTOOL}/usr/share/doc/ydotool/copyright"
|
|
|
|
cp "${ROOT}/ydotool.debian.control" "${PKGDIR_YDOTOOL}/DEBIAN/control"
|
|
|
|
sed -re "s/__VERSION__/${VERSION}/g" -i "${PKGDIR_YDOTOOL}/DEBIAN/control"
|
|
|
|
sed -re "s/__MAINTAINER__/${MAINTAINER}/g" -i "${PKGDIR_YDOTOOL}/DEBIAN/control"
|
|
|
|
find "${PKGDIR_YDOTOOL}" -exec touch -m -d "${ISODATE}" {} \;
|
|
|
|
}
|
|
|
|
|
|
|
|
function prepare_ydotoold() {
|
|
|
|
mkdir -p \
|
|
|
|
"${PKGDIR_YDOTOOLD}/DEBIAN" \
|
|
|
|
"${PKGDIR_YDOTOOLD}/etc/default" \
|
|
|
|
"${PKGDIR_YDOTOOLD}/usr/bin" \
|
|
|
|
"${PKGDIR_YDOTOOLD}/lib/systemd/system" \
|
|
|
|
"${PKGDIR_YDOTOOLD}/usr/share/man/man8" \
|
|
|
|
"${PKGDIR_YDOTOOLD}/usr/share/doc/ydotoold"
|
|
|
|
cp "${SRCDIR}/ydotool/build/ydotoold" "${PKGDIR_YDOTOOLD}/usr/bin/ydotoold"
|
|
|
|
cp "${SRCDIR}/ydotool/build/manpage/ydotoold.8" "${PKGDIR_YDOTOOLD}/usr/share/man/man8/ydotoold.8"
|
|
|
|
gzip -9n "${PKGDIR_YDOTOOLD}/usr/share/man/man8/ydotoold.8"
|
|
|
|
cp "${SRCDIR}/ydotool/LICENSE" "${PKGDIR_YDOTOOLD}/usr/share/doc/ydotoold/copyright"
|
|
|
|
cp "${ROOT}/ydotoold.debian.control" "${PKGDIR_YDOTOOLD}/DEBIAN/control"
|
|
|
|
cp "${ROOT}/debian.conffiles" "${PKGDIR_YDOTOOLD}/DEBIAN/conffiles"
|
|
|
|
cp "${ROOT}/debian.default" "${PKGDIR_YDOTOOLD}/etc/default/ydotoold"
|
|
|
|
cp "${ROOT}/debian.postinst" "${PKGDIR_YDOTOOLD}/DEBIAN/postinst"
|
|
|
|
cp "${ROOT}/debian.prerm" "${PKGDIR_YDOTOOLD}/DEBIAN/prerm"
|
|
|
|
cp "${ROOT}/debian.postrm" "${PKGDIR_YDOTOOLD}/DEBIAN/postrm"
|
|
|
|
cp "${ROOT}/ydotoold.service" "${PKGDIR_YDOTOOLD}/lib/systemd/system/ydotoold.service"
|
|
|
|
sed -re "s/__VERSION__/${VERSION}/g" -i "${PKGDIR_YDOTOOLD}/DEBIAN/control"
|
|
|
|
sed -re "s/__MAINTAINER__/${MAINTAINER}/g" -i "${PKGDIR_YDOTOOLD}/DEBIAN/control"
|
|
|
|
find "${PKGDIR_YDOTOOLD}" -exec touch -m -d "${ISODATE}" {} \;
|
|
|
|
}
|
|
|
|
|
|
|
|
function package() {
|
|
|
|
cd "${BUILDDIR}"
|
|
|
|
dpkg-deb --build "${PKGDIR_YDOTOOL}" "${BUILDDIR}"
|
|
|
|
dpkg-deb --build "${PKGDIR_YDOTOOLD}" "${BUILDDIR}"
|
|
|
|
}
|
|
|
|
|
|
|
|
function build() {
|
|
|
|
export BUILDDIR=${ROOT}/build
|
|
|
|
export SRCDIR=${BUILDDIR}/srcdir
|
|
|
|
export PKGDIR_YDOTOOL=${BUILDDIR}/pkgdir-ydotool
|
|
|
|
export PKGDIR_YDOTOOLD=${BUILDDIR}/pkgdir-ydotoold
|
|
|
|
mkdir -p ${SRCDIR} ${PKGDIR_YDOTOOL} ${PKGDIR_YDOTOOLD}
|
|
|
|
fetch
|
|
|
|
prepare
|
|
|
|
prepare_ydotool
|
|
|
|
prepare_ydotoold
|
|
|
|
package
|
|
|
|
}
|
|
|
|
|
|
|
|
build
|