Files
codit/packaging/rpm/codit.spec
2026-06-07 01:10:07 +09:00

89 lines
2.6 KiB
RPMSpec

%global __brp_mangle_shebangs /bin/true
%global _source_payload w9.gzdio
%global _binary_payload w9.gzdio
%global source_date_epoch_from_changelog 0
%define debug_package %{nil}
Summary: Codit server
Name: codit
Version: 0.5.0
Release: 1%{?dist}
License: BSD
Source0: %{name}-%{version}.tar.gz
Source1: repokit.tar.gz
Requires(pre): shadow-utils
Requires(post,preun,postun): systemd
BuildRequires: golang
BuildRequires: nodejs
BuildRequires: npm
BuildRequires: systemd-rpm-macros
%description
Codit server with the bundled web frontend.
%prep
%setup -q
tar -C.. -xvf %{SOURCE1}
%build
pushd frontend
npm ci
npm run build
popd
pushd backend
CGO_ENABLED=0 go build -ldflags "-X 'main.PROGRAM_NAME=codit' -X 'main.PROGRAM_VERSION=%{version}'" -o codit-server ./cmd/codit-server
CGO_ENABLED=0 go build -ldflags "-X 'main.PROGRAM_NAME=codit' -X 'main.PROGRAM_VERSION=%{version}'" -o codit-data-browser ./cmd/codit-data-browser
popd
%install
rm -rf %{buildroot}
install -D -m 0755 backend/codit-server %{buildroot}%{_sbindir}/codit-server
install -D -m 0755 backend/codit-data-browser %{buildroot}%{_sbindir}/codit-data-browser
install -D -m 0644 packaging/config/codit.yaml %{buildroot}%{_sysconfdir}/codit/codit.yaml
install -D -m 0644 packaging/config/codit.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/codit
install -D -m 0644 packaging/systemd/codit.service %{buildroot}%{_unitdir}/codit.service
install -d -m 0755 %{buildroot}%{_sysconfdir}/codit/conf.d
install -d -m 0755 %{buildroot}%{_localstatedir}/lib/codit/data
install -d -m 0755 %{buildroot}%{_localstatedir}/log/codit
install -d -m 0755 %{buildroot}%{_datadir}/codit/frontend
pushd frontend/dist
find . -type f -exec install -D -m 0644 "{}" "%{buildroot}%{_datadir}/codit/frontend/{}" \;
popd
%files
%defattr(-, root, root)
%{_sbindir}/codit-server
%{_sbindir}/codit-data-browser
%config(noreplace) %{_sysconfdir}/codit/codit.yaml
%config(noreplace) %{_sysconfdir}/sysconfig/codit
%dir %{_sysconfdir}/codit/conf.d
%dir %attr(0750,codit,codit) %{_localstatedir}/lib/codit
%dir %attr(0750,codit,codit) %{_localstatedir}/lib/codit/data
%dir %attr(0750,codit,codit) %{_localstatedir}/log/codit
%dir %{_datadir}/codit
%dir %{_datadir}/codit/frontend
%{_datadir}/codit/frontend/*
%{_unitdir}/codit.service
%pre
getent group codit >/dev/null || groupadd -r codit
getent passwd codit >/dev/null || useradd -r -g codit -d /var/lib/codit -s /sbin/nologin -c "Codit service user" codit
exit 0
%post
%systemd_post codit.service
exit 0
%preun
%systemd_preun codit.service
exit 0
%postun
%systemd_postun_with_restart codit.service
exit 0
%changelog
* Sun Jun 07 2026 Codit Maintainers <root@localhost> - 0.5.0-1
- Initial package build files.