diff --git a/guix-user.conf b/guix-user.conf new file mode 100644 index 0000000..772ce82 --- /dev/null +++ b/guix-user.conf @@ -0,0 +1,12 @@ +#Type Name ID GECOS Home directory Shell +g guixbuild - +u guix-builder1 -:guixbuild "Guix builder 1" /var/empty /sbin/nologin +m guix-builder1 guixbuild +u guix-builder2 -:guixbuild "Guix builder 2" /var/empty /sbin/nologin +m guix-builder2 guixbuild +u guix-builder3 -:guixbuild "Guix builder 3" /var/empty /sbin/nologin +m guix-builder3 guixbuild +u guix-builder4 -:guixbuild "Guix builder 4" /var/empty /sbin/nologin +m guix-builder4 guixbuild +u guix-builder5 -:guixbuild "Guix builder 5" /var/empty /sbin/nologin +m guix-builder5 guixbuild diff --git a/guix.changes b/guix.changes index 639657d..be9cf2d 100644 --- a/guix.changes +++ b/guix.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Thu Feb 15 11:46:20 UTC 2024 - Jaime Marquínez Ferrándiz + +- Modify guix-user.conf so that /etc/group is modify, otherwise guix doesn't find the users of the guixbuild group. + +------------------------------------------------------------------- +Sat Feb 10 21:12:36 UTC 2024 - Jaime Marquínez Ferrándiz + +- Create the users and group with systemd-sysusers. It automatically gives the + Provides tag required for RPM 4.19. + ------------------------------------------------------------------- Mon Jan 2 13:51:22 UTC 2023 - Jonathan Brielmaier diff --git a/guix.spec b/guix.spec index eb86a4d..1f17cc2 100644 --- a/guix.spec +++ b/guix.spec @@ -1,7 +1,7 @@ # # spec file for package guix # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # Copyright (c) 2023 Jonathan Brielmaier # # All modifications and additions to the file contributed by third parties @@ -45,6 +45,7 @@ Source12: aarch64-linux-guile-2.0.14.tar.xz Source13: aarch64-linux-guile-2.0.14.tar.xz.sig Source20: run_guix_daemon.sh Source21: run_guix_publish.sh +Source22: %{name}-user.conf BuildRequires: gcc-c++ BuildRequires: gnutls-guile BuildRequires: guile-charting @@ -62,10 +63,12 @@ BuildRequires: libgit2-devel BuildRequires: pkgconfig BuildRequires: shepherd BuildRequires: systemd-rpm-macros +BuildRequires: sysuser-tools BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(gnutls) BuildRequires: pkgconfig(libgcrypt) BuildRequires: pkgconfig(sqlite3) +%sysusers_requires Requires: gnutls-guile Requires: guile Requires: guile-gcrypt @@ -100,6 +103,7 @@ cp %{SOURCE6} gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz cp %{SOURCE12} gnu/packages/bootstrap/aarch64-linux/guile-2.0.14.tar.xz %build +%sysusers_generate_pre %{SOURCE22} %{name} %{name}-user.conf export GUILE_WARN_DEPRECATED %configure \ --disable-silent-rules \ @@ -121,14 +125,9 @@ install -m 0755 -t %{buildroot}%{_bindir} %{SOURCE20} install -m 0755 -t %{buildroot}%{_bindir} %{SOURCE21} sed -i 's@^ExecStart=.*@ExecStart=/usr/bin/run_guix_daemon.sh@' %{buildroot}%{_unitdir}/guix-daemon.service sed -i 's@^ExecStart=.*@ExecStart=/usr/bin/run_guix_publish.sh@' %{buildroot}%{_unitdir}/guix-publish.service +install -D -m 0644 %{SOURCE22} %{buildroot}%{_sysusersdir}/%{name}-user.conf -%pre -%{_sbindir}/groupadd -r %{guix_builder_group} >/dev/null 2>/dev/null || : -for i in `seq 1 5`; do - %{_sbindir}/useradd -r -o -g %{guix_builder_group} -G %{guix_builder_group} \ - -u $((60+$i)) -c "Guix builder $i" -s /sbin/nologin \ - -d %{_localstatedir}/empty guix-builder$i 2> /dev/null || : -done +%pre -f %{name}.pre %service_add_pre guix-daemon.service %service_add_pre guix-publish.service @@ -175,5 +174,6 @@ done %{_unitdir}/gnu-store.mount %attr(755,root,root) %dir /gnu %attr(775,root,%{guix_builder_group}) %dir /gnu/store +%{_sysusersdir}/%{name}-user.conf %changelog