From ea0d3220db995018335c48eb06b9794235ff436b Mon Sep 17 00:00:00 2001 From: MetroWind Date: Sun, 7 Sep 2025 09:42:33 -0700 Subject: Initial commit, mostly just copied from shrt. --- packages/arch/PKGBUILD | 50 ++++++++++++++++++++++++++++++++++++++++ packages/arch/shrt.install | 9 ++++++++ packages/arch/shrt.service | 12 ++++++++++ packages/arch/shrt.yaml | 7 ++++++ packages/arch/sysusers-shrt.conf | 1 + 5 files changed, 79 insertions(+) create mode 100644 packages/arch/PKGBUILD create mode 100644 packages/arch/shrt.install create mode 100644 packages/arch/shrt.service create mode 100644 packages/arch/shrt.yaml create mode 100644 packages/arch/sysusers-shrt.conf (limited to 'packages') diff --git a/packages/arch/PKGBUILD b/packages/arch/PKGBUILD new file mode 100644 index 0000000..550b8c7 --- /dev/null +++ b/packages/arch/PKGBUILD @@ -0,0 +1,50 @@ +pkgname=shrt-git +pkgver=0.1 +pkgrel=1 +pkgdesc="A naively simple link shortener" +arch=('x86_64') +url="https://github.com/MetroWind/shrt" +license=('MIT') +groups=() +depends=('sqlite' 'curl' 'openssl') +makedepends=('git' 'cmake' 'gcc') +provides=("${pkgname%-git}") +conflicts=("${pkgname%-git}") +replaces=() +backup=("etc/shrt.yaml") +# Stripping doesn’t work with ryml. +options=(!debug !strip) +install=shrt.install +source=('git+https://github.com/MetroWind/shrt.git' "sysusers-${pkgname%-git}.conf" "${pkgname%-git}.service" "${pkgname%-git}.yaml") +noextract=() +sha256sums=('SKIP' "1ea5c7d99be0954fb9aa6e22e7f11d485fd66d3232df3cbe3051c81e542b4bfc" + "1e65ce88985b19471af84a95ebf8f2d6726e6af434cd4dafd7203ad783510a0f" + "c91a4e0a43373e08343aba704cbd064936521decf23546a74d2d8b3f08a8e963") + +pkgver() +{ + cd "$srcdir/${pkgname%-git}" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)" +} + +build() +{ + cd "$srcdir/${pkgname%-git}" + # Usually CMAKE_BUILD_TYPE is set to be “None” in a PKGBUILD. But + # it doesn’t work well with ryml. + cmake -B build \ + -DCMAKE_BUILD_TYPE='Release' \ + -DCMAKE_INSTALL_PREFIX='/usr' \ + -Wno-dev . + cmake --build build +} + +package() +{ + install -Dm755 -t "$pkgdir/usr/bin" "${srcdir}/${pkgname%-git}/build/${pkgname%-git}" + mkdir -pv "$pkgdir/var/lib/${pkgname%-git}/attachments" + cp -r "${srcdir}/${pkgname%-git}/"{statics,templates} "${pkgdir}/var/lib/${pkgname%-git}" + install -Dm644 -t "$pkgdir/etc" "${srcdir}/${pkgname%-git}.yaml" + install -Dm644 "${srcdir}/sysusers-${pkgname%-git}.conf" "${pkgdir}/usr/lib/sysusers.d/${pkgname%-git}.conf" + install -Dm644 "${srcdir}/${pkgname%-git}.service" "${pkgdir}/usr/lib/systemd/system/${pkgname%-git}.service" +} diff --git a/packages/arch/shrt.install b/packages/arch/shrt.install new file mode 100644 index 0000000..b3c69b3 --- /dev/null +++ b/packages/arch/shrt.install @@ -0,0 +1,9 @@ +post_install() +{ + chown -R shrt:shrt var/lib/shrt +} + +post_upgrade() +{ + chown -R shrt:shrt var/lib/shrt +} diff --git a/packages/arch/shrt.service b/packages/arch/shrt.service new file mode 100644 index 0000000..95e739f --- /dev/null +++ b/packages/arch/shrt.service @@ -0,0 +1,12 @@ +[Unit] +Description=Shrt service +After=network.target + +[Service] +User=shrt +Group=shrt +ExecStart=/usr/bin/shrt +Restart=on-failure + +[Install] +WantedBy=multi-user.target diff --git a/packages/arch/shrt.yaml b/packages/arch/shrt.yaml new file mode 100644 index 0000000..9439ccd --- /dev/null +++ b/packages/arch/shrt.yaml @@ -0,0 +1,7 @@ +data-dir: "/var/lib/shrt" +listen-address: localhost +listen-port: 8080 +# client-id: +# client-secret: +# openid-url-prefix: +base-url: http://localhost:8080 diff --git a/packages/arch/sysusers-shrt.conf b/packages/arch/sysusers-shrt.conf new file mode 100644 index 0000000..b0900bd --- /dev/null +++ b/packages/arch/sysusers-shrt.conf @@ -0,0 +1 @@ +u shrt - "Shrt service user" - - -- cgit v1.2.3-70-g09d2