From d7847658e859a7f7eb97dedd054fdc3fbfdc8b05 Mon Sep 17 00:00:00 2001 From: fbt Date: Wed, 25 Oct 2023 22:53:49 +0000 Subject: [PATCH] v++, also actions Signed-off-by: fbt --- .gitea/workflows/build-package.yaml | 33 +++++++++++++++++++++++ PKGBUILD | 42 ++++++++++++++++++----------- ircd-ratbox.conf | 1 + ircd-ratbox.install | 33 +++++++++++++++++++++++ ircd-ratbox.service | 14 ++++++++++ 5 files changed, 108 insertions(+), 15 deletions(-) create mode 100644 .gitea/workflows/build-package.yaml create mode 100644 ircd-ratbox.conf create mode 100644 ircd-ratbox.install create mode 100644 ircd-ratbox.service diff --git a/.gitea/workflows/build-package.yaml b/.gitea/workflows/build-package.yaml new file mode 100644 index 0000000..aa235d9 --- /dev/null +++ b/.gitea/workflows/build-package.yaml @@ -0,0 +1,33 @@ +name: Gitea Actions Demo +run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 +on: [push] + +jobs: + Explore-Gitea-Actions: + runs-on: autobuilder + container: + volumes: + - /home/builder/public/spark-extra/import:/import + steps: + - name: Show job info + run: | + echo "The job was automatically triggered by a ${{ gitea.event_name }} event." + echo "This job is now running on a ${{ runner.os }} server hosted by Gitea!" + echo "The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." + - name: Check out repository code + uses: actions/checkout@v3 + - name: Link the workdir into /buildroot # for script compatability with the old builder. + run: | + ln -vfs ${{ gitea.workspace }} /buildroot + - name: Build the package + run: | + cd ${{ gitea.workspace }} + /build -s --noconfirm +# - name: Upload artifacts +# uses: actions/upload-artifact@v3 +# with: +# name: package +# path: ./*.pkg.tar.zst + - name: Put the packages into the import dir + run: cp -v ./*.pkg.tar.zst /import + - run: echo "This job's status is ${{ job.status }}." \ No newline at end of file diff --git a/PKGBUILD b/PKGBUILD index 076f300..36543f2 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,34 +1,46 @@ -# vim: ft=sh -# % Trigger: 32489271948127389 % +# Author: Kevin MacMartin +# Imported for use on https://code.fleshless.org pkgname=ircd-ratbox pkgver=3.0.10 pkgrel=3 pkgdesc='An advanced, stable and fast ircd' url='http://www.ratbox.org' -license=( 'GPL' ) -depends=( 'openssl' 'sqlite' 'libtool' ) -arch=( 'i686' 'x86_64' 'arm' 'armv6h' 'armv7h' ) -backup=( "etc/$pkgname/ircd.motd" ) -options=( '!makeflags' ) +license=('GPL') +depends=('openssl' 'sqlite' 'libtool') +arch=('i686' 'x86_64' 'arm' 'armv6h' 'armv7h') +backup=("etc/$pkgname/ircd.motd") +install="$pkgname.install" -source=( "http://www.ratbox.org/download/$pkgname-$pkgver.tar.bz2" ) +source=( + "http://www.ratbox.org/download/$pkgname-$pkgver.tar.bz2" + "$pkgname.service" + "$pkgname.conf" +) build() { cd "$pkgname-$pkgver" - ./configure --prefix=/usr/share/"$pkgname" \ - --with-confdir=/etc/"$pkgname" \ - --with-logdir=/var/log/"$pkgname" \ + + ./configure --prefix="/usr/share/$pkgname" \ + --with-confdir="/etc/$pkgname" \ + --with-logdir="/var/log/$pkgname" \ --bindir=/usr/bin make + cd contrib + make } package() { - mkdir -m755 "$pkgdir/etc" - - cd "$pkgname-$pkgver" + install -d "$pkgdir/etc/$pkgname" + install -Dm644 $pkgname.service "$pkgdir/usr/lib/systemd/system/$pkgname.service" + install -Dm644 $pkgname.conf "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf" + cd $pkgname-$pkgver make DESTDIR="$pkgdir" install + install -d "$pkgdir/usr/share/$pkgname/modules/contrib/" + cp contrib/.libs/*.so "$pkgdir/usr/share/$pkgname/modules/contrib/" } -sha1sums=('fa1645495c765cf921726b65172ff5eceeea008a') +sha1sums=('fa1645495c765cf921726b65172ff5eceeea008a' + '84fb85e7c8b858e8e11be11e8abe60e3cada3c80' + '3dd5270ced5243adf4dde43ef11c3a0a68001240') diff --git a/ircd-ratbox.conf b/ircd-ratbox.conf new file mode 100644 index 0000000..adea625 --- /dev/null +++ b/ircd-ratbox.conf @@ -0,0 +1 @@ +d /var/log/ircd-ratbox 0770 ircd ircd - diff --git a/ircd-ratbox.install b/ircd-ratbox.install new file mode 100644 index 0000000..3012e2f --- /dev/null +++ b/ircd-ratbox.install @@ -0,0 +1,33 @@ +post_upgrade() { + systemd-tmpfiles --create ircd-ratbox.conf + + cat << EOF + + Before starting the ircd, reload system modules by running: + + systemctl daemon-reload + + If you haven't previously done so, copy /etc/ircd-ratbox/example.conf + to /etc/ircd-ratbox/ircd.conf and configure it to your needs carefully. + + Once things are configured, you can start the ircd by running: + + systemctl start ircd-ratbox + + You can also have the ircd start automatically at boot by running: + + systemctl enable ircd-ratbox + +EOF +} + +post_install() { + [[ ! `grep ircd /etc/passwd` ]] && useradd -r -U -s /bin/false -d / ircd && echo "Created 'ircd' user and group" + chown -R ircd.ircd /etc/ircd-ratbox + post_upgrade +} + +post_remove() { + [[ `grep ircd /etc/passwd` ]] && userdel ircd && echo "Removed 'ircd' user and group" + return 0 +} diff --git a/ircd-ratbox.service b/ircd-ratbox.service new file mode 100644 index 0000000..bba67dc --- /dev/null +++ b/ircd-ratbox.service @@ -0,0 +1,14 @@ +[Unit] +Description=Ratbox IRC Daemon +Wants=network.target +After=network.target + +[Service] +User=ircd +Type=forking +GuessMainPID=yes +ExecStart=/usr/bin/ircd +Restart=on-failure + +[Install] +WantedBy=multi-user.target