package-pipelines-miscellan.../ydotool/build.sh
s3lph 9d28b94854
Some checks failed
/ ansible-semaphore (push) Successful in 2m1s
/ daliserver (push) Successful in 2m7s
/ forgejo (push) Successful in 3m41s
/ forgejo-runner (push) Successful in 1m42s
/ http-mqtt-bridge (push) Successful in 3m20s
/ keycloak-26 (push) Successful in 4m31s
/ linux-diversion-ath-regd-optional (push) Successful in 12m35s
/ lottieconverter (push) Successful in 55s
/ matterbridge (push) Successful in 2m42s
/ matrix-element-web (push) Successful in 2m46s
/ matrix-hydrogen (push) Successful in 1m17s
/ matrix.to (push) Successful in 3m12s
/ maubot (push) Failing after 4s
/ maubot-plugin-spaceapi (push) Successful in 1m28s
/ maubot-plugin-ultimaker (push) Successful in 1m29s
/ mautrix-signal (push) Successful in 1m15s
/ mautrix-telegram (push) Successful in 1m18s
/ mediawiki-extension-auth-remoteuser (push) Successful in 1m15s
/ mediawiki-extension-nativesvghandler (push) Successful in 1m17s
/ mediawiki-extension-openidconnect (push) Successful in 1m20s
/ mediawiki-extension-pluggableauth (push) Successful in 1m16s
/ python3-mautrix (push) Successful in 1m15s
/ python3-telethon (push) Successful in 1m17s
/ repo.s3lph.me-apt-source (push) Successful in 53s
/ republik-feeder (push) Successful in 32s
/ ydotool (push) Successful in 42s
/ prometheus2influxdb (push) Failing after 13m40s
/ prometheus-dnsbl-exporter (push) Failing after 13m45s
/ prometheus-ipmi-exporter (push) Failing after 13m50s
/ mqtt2prometheus (push) Failing after 13m56s
fix: use correct ydotool branch
2024-11-23 22:44:58 +01:00

85 lines
3.2 KiB
Bash
Executable file

#!/bin/bash
set -exo pipefail
ROOT=$(pwd)
function fetch() {
git clone https://github.com/s3lph/ydotool "${SRCDIR}/ydotool"
cd "${SRCDIR}/ydotool"
git checkout feat-getpwnam
}
function prepare() {
cd "${SRCDIR}/ydotool"
apt install -y build-essential cmake pkg-config scdoc
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