feat: add freebox-exporter
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
nyyu 2023-03-05 09:52:17 +01:00
parent 56a31fa139
commit fed50f498a
3 changed files with 88 additions and 0 deletions

16
freebox-exporter/.SRCINFO Normal file
View File

@ -0,0 +1,16 @@
pkgbase = freebox-exporter
pkgdesc = Woodpecker is a community fork of the Drone CI system
pkgver = r25.24fc2a2
pkgrel = 1
url = https://github.com/trazfr/freebox-exporter
arch = x86_64
license = MIT
makedepends = go
makedepends = git
options = !lto
source = git+https://git.nyyu.dev/nyyu/freebox-exporter.git
source = freebox-exporter.service
sha256sums = SKIP
sha256sums = 361bfba272b7933af35eabb761f677008472c8e74d9fbcfc9f76e92b77bcedee
pkgname = freebox-exporter

54
freebox-exporter/PKGBUILD Normal file
View File

@ -0,0 +1,54 @@
# Maintainer: nyyu <mail at nyyu dot dev>
pkgname=freebox-exporter
pkgver=r25.24fc2a2
pkgrel=1
pkgdesc="Woodpecker is a community fork of the Drone CI system"
arch=('x86_64')
url="https://github.com/trazfr/freebox-exporter"
license=('MIT')
makedepends=('go' 'git')
options=('!lto')
source=(git+https://git.nyyu.dev/nyyu/freebox-exporter.git
'freebox-exporter.service')
sha256sums=('SKIP'
'361bfba272b7933af35eabb761f677008472c8e74d9fbcfc9f76e92b77bcedee')
pkgver() {
cd "$pkgname"
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
}
prepare() {
cd "$pkgname"
go mod download
}
build() {
cd "$pkgname"
export CGO_CPPFLAGS="${CPPFLAGS}"
export CGO_CFLAGS="${CFLAGS}"
export CGO_CXXFLAGS="${CXXFLAGS}"
go build \
-trimpath \
-buildmode=pie \
-mod=readonly \
-modcacherw \
-ldflags "-linkmode external -extldflags \"${LDFLAGS}\"" \
.
}
package() {
# service
install -Dm644 freebox-exporter.service "$pkgdir/usr/lib/systemd/system/freebox-exporter.service"
cd "$pkgbase"
# binary
install -vDm755 freebox-exporter "$pkgdir/usr/bin/freebox-exporter"
}

View File

@ -0,0 +1,18 @@
[Unit]
Description=Freebox exporter
Requires=network-online.target
After=network-online.target
[Service]
User=freebox-exporter
Type=simple
WorkingDirectory=/var/lib/freebox-exporter
ExecStart=/usr/bin/freebox-exporter token.json
Restart=on-failure
PrivateDevices=yes
DynamicUser=yes
StateDirectory=freebox-exporter
[Install]
WantedBy=multi-user.target