This repository has been archived on 2025-07-06. You can view files and clone it, but cannot push or open issues or pull requests.
rpmbuild-gonic/gonic.spec
Ben Vincent ac56acf136
Some checks are pending
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is pending
chore: update drone settings
- change pipeline name
- change step names
- change container to use
2024-08-26 22:34:34 +10:00

65 lines
1.5 KiB
RPMSpec

Name: gonic
Version: 0.16.4
Release: 1%{?dist}
Summary: Gonic - A lightweight music streaming server
License: MIT
URL: https://github.com/sentriz/gonic
Source0: %{name}-%{version}.tar.gz
Source1: gonic-config
Source2: gonic.service
BuildRequires: golang, gcc, gcc-c++, make, git, sqlite-devel, taglib-devel, ffmpeg, mpv, rpmdevtools, wget, systemd
Requires: golang, git, sqlite, taglib, ffmpeg, mpv, systemd
%description
Gonic is a lightweight music streaming server written in Go.
%global debug_package %{nil}
%prep
%autosetup -n %{name}-%{version}
%build
mkdir -p build
go build -o build/gonic ./cmd/gonic
%install
mkdir -p %{buildroot}/usr/local/bin
cp build/gonic %{buildroot}/usr/local/bin/gonic
mkdir -p %{buildroot}/var/lib/gonic
mkdir -p %{buildroot}/etc/gonic
mkdir -p %{buildroot}/etc/systemd/system
cp %{SOURCE1} %{buildroot}/etc/gonic/config
cp %{SOURCE2} %{buildroot}/etc/systemd/system/gonic.service
%post
/usr/sbin/groupadd --system gonic || :
/usr/sbin/useradd --system --no-create-home --gid gonic gonic || :
chown -R gonic:gonic /var/lib/gonic/
chown gonic:gonic /etc/gonic/config
systemctl daemon-reload
systemctl enable --now gonic
%preun
if [ $$1 -eq 0 ]; then
systemctl stop gonic
systemctl disable gonic
fi
%postun
if [ $$1 -ge 1 ]; then
systemctl daemon-reload
fi
%files
/usr/local/bin/gonic
/var/lib/gonic/
/etc/gonic/config
/etc/systemd/system/gonic.service
%changelog
* Thu Aug 01 2024 Ben Vincent <ben@unkin.net> - 0.16.4-1
- Initial package