Use systemd-rpm-macros
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
#Type Name ID GECOS Home directory Shell
|
||||
u docker-rootless - "Rootless docker user" /home/docker-rootless /sbin/nologin
|
||||
@@ -0,0 +1,2 @@
|
||||
d /home/docker-rootless 0700 docker-rootless docker-rootless -
|
||||
d /home/docker-rootless/act_runner 0700 docker-rootless docker-rootless -
|
||||
+27
-20
@@ -1,7 +1,7 @@
|
||||
%global common_description %{expand:
|
||||
A runner for Gitea based on act.}
|
||||
|
||||
%global subpackage rootless-docker
|
||||
%global rootless_docker_user docker-rootless
|
||||
%global debug_package %{nil}
|
||||
|
||||
%global golicenses LICENSE
|
||||
@@ -16,41 +16,44 @@ Summary: A runner for Gitea based on act.
|
||||
License: MIT
|
||||
URL: https://gitea.com/gitea/act_runner
|
||||
Source0: https://gitea.com/gitea/act_runner/archive/v%{version}.tar.gz
|
||||
Source1: act_runner.service
|
||||
Source2: docker-rootless.service
|
||||
Source1: %{name}.service
|
||||
Source2: %{rootless_docker_user}.service
|
||||
Source3: %{rootless_docker_user}-sysusers.conf
|
||||
Source4: %{rootless_docker_user}-tmpfiles.conf
|
||||
|
||||
BuildRequires: go >= 1.22
|
||||
BuildRequires: go-rpm-macros
|
||||
BuildRequires: git-core
|
||||
BuildRequires: systemd-rpm-macros
|
||||
|
||||
%gometa -L -f -i
|
||||
%gometa -L -f
|
||||
|
||||
%description %{common_description}
|
||||
|
||||
%package %{subpackage}
|
||||
%package %{rootless_docker_user}
|
||||
Summary: Run gitea actions in non-root docker containers
|
||||
|
||||
Requires: act_runner docker-ce slirp4netns fuse-overlayfs iptables docker-ce-rootless-extras
|
||||
Requires(post): shadow-utils shadow-utils-subid
|
||||
Requires(preun): shadow-utils shadow-utils-subid
|
||||
Requires: gitea-act-runner docker-ce slirp4netns fuse-overlayfs iptables docker-ce-rootless-extras
|
||||
Requires(post): shadow-utils shadow-utils-subid systemd-tmpfiles systemd-sysusers
|
||||
Requires(preun): shadow-utils shadow-utils-subid systemd-tmpfiles systemd-sysusers
|
||||
|
||||
%description %{subpackage}
|
||||
%description %{rootless_docker_user}
|
||||
%{common_description}
|
||||
Run gitea actions in non-root docker containers
|
||||
|
||||
%pre %{subpackage}
|
||||
getent passwd %{subpackage} >/dev/null || \
|
||||
useradd -c 'Rootless docker user' -k %{_datarootdir}/%{name}/skel -m -r -s '/sbin/nologin %{sub'package}
|
||||
%pre %{rootless_docker_user}
|
||||
%sysusers_create_package %{name} %{SOURCE3}
|
||||
%tmpfiles_create_package %{name} %{SOURCE4}
|
||||
|
||||
%post %{subpackage}
|
||||
loginctl enable-linger %{subpackage}
|
||||
mkdir ~%{subpackage}/act_runner
|
||||
cd ~%{subpackage}/act_runner
|
||||
%post %{rootless_docker_user}
|
||||
%systemd_user_post %{rootless_docker_user}.service %{name}.service
|
||||
loginctl enable-linger %{rootless_docker_user}
|
||||
cd ~%{rootless_docker_user}/act_runner
|
||||
act_runner register
|
||||
act_runner generate-config > act_runner/config
|
||||
act_runner generate-config > config
|
||||
|
||||
%preun %{subpackage}
|
||||
userdel -f %{subpackage}
|
||||
%preun %{rootless_docker_user}
|
||||
%systemd_user_preun %{rootless_docker_user}.service act_runner.service
|
||||
|
||||
%prep
|
||||
%setup -q -n act_runner
|
||||
@@ -63,14 +66,18 @@ install -m 0755 -vd %{buildroot}%{_bindir}
|
||||
install -m 0755 -vp bin/* %{buildroot}%{_bindir}/
|
||||
install -m 0755 -vd %{buildroot}%{_userunitdir}/
|
||||
install -m 0644 -vp %{SOURCE1} %{SOURCE2} %{buildroot}%{_userunitdir}/
|
||||
install -D %{SOURCE3} %{buildroot}%{_sysusersdir}/%{rootless_docker_user}.conf
|
||||
install -D %{SOURCE4} %{buildroot}%{_tmpfilesdir}/%{rootless_docker_user}.conf
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%{_bindir}/*
|
||||
|
||||
%files rootless-docker
|
||||
%files %{rootless_docker_user}
|
||||
%{_userunitdir}/*
|
||||
%{_sysusersdir}/%{rootless_docker_user}.conf
|
||||
%{_tmpfilesdir}/%{rootless_docker_user}.conf
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
Reference in New Issue
Block a user