From 9f5eed940b5d5184b637563ce1c865bef7bc3ea9 Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Wed, 7 Jul 2021 14:47:53 -0400 Subject: [PATCH] Use systemd-sysusers for frr user and frrvty group This complies with the new guidelines on user/group creation Reference: https://docs.fedoraproject.org/en-US/packaging-guidelines/UsersAndGroups/#_dynamic_allocation --- frr-sysusers.conf | 4 ++++ frr.spec | 14 +++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 frr-sysusers.conf diff --git a/frr-sysusers.conf b/frr-sysusers.conf new file mode 100644 index 0000000..9632955 --- /dev/null +++ b/frr-sysusers.conf @@ -0,0 +1,4 @@ +#Type Name ID GECOS Home directory Shell +g frrvty - +u frr - "FRRouting routing suite" /var/run/frr /sbin/nologin +m frr frrvty diff --git a/frr.spec b/frr.spec index b381689..fa429dd 100644 --- a/frr.spec +++ b/frr.spec @@ -11,6 +11,7 @@ License: GPLv2+ URL: http://www.frrouting.org Source0: https://github.com/FRRouting/frr/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz Source1: %{name}-tmpfiles.conf +Source2: %{name}-sysusers.conf Patch0000: 0000-remove-babeld-and-ldpd.patch Patch0001: 0001-use-python3.patch @@ -50,11 +51,13 @@ BuildRequires: readline BuildRequires: readline-devel BuildRequires: systemd BuildRequires: systemd-devel +BuildRequires: systemd-rpm-macros BuildRequires: texinfo Requires: ncurses Requires: net-snmp Requires(post): hostname +%{?sysusers_requires_compat} Requires(post): systemd Requires(postun): systemd Requires(preun): systemd @@ -113,6 +116,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/{frr,rc.d/init.d,sysconfig,logrotate.d,pam.d mkdir -p -m 0755 %{buildroot}%{_libdir}/frr mkdir -p %{buildroot}%{_tmpfilesdir} +mkdir -p %{buildroot}%{_sysusersdir} %make_install @@ -120,6 +124,7 @@ mkdir -p %{buildroot}%{_tmpfilesdir} rm -rf %{buildroot}%{_infodir}/dir install -p -m 644 %{SOURCE1} %{buildroot}%{_tmpfilesdir}/%{name}.conf +install -p -m 644 %{SOURCE2} %{buildroot}%{_sysusersdir}/%{name}.conf install -p -m 644 tools/etc/frr/daemons %{buildroot}%{_sysconfdir}/frr/daemons install -p -m 644 tools/frr.service %{buildroot}%{_unitdir}/frr.service install -p -m 755 tools/frrinit.sh %{buildroot}%{frr_libdir}/frr @@ -138,11 +143,8 @@ rm %{buildroot}%{_libdir}/frr/*.so rm -r %{buildroot}%{_includedir}/frr/ %pre -getent group frrvty >/dev/null 2>&1 || groupadd -r frrvty >/dev/null 2>&1 || : -getent group frr >/dev/null 2>&1 || groupadd -r frr >/dev/null 2>&1 || : -getent passwd frr >/dev/null 2>&1 || useradd -M -r -g frr -s /sbin/nologin \ - -c "FRRouting routing suite" -d %{_localstatedir}/run/frr frr || : -usermod -aG frrvty frr +%sysusers_create_compat %{SOURCE2} + %post %systemd_post frr.service @@ -200,11 +202,13 @@ fi %dir %{_datadir}/yang %{_datadir}/yang/*.yang %{_tmpfilesdir}/%{name}.conf +%{_sysusersdir}/%{name}.conf %changelog * Wed Jul 07 2021 Neal Gompa - 7.5.1-5 - Clean up the spec file for legibility and modern spec standards - Remove unneeded info scriptlets +- Use systemd-sysusers for frr user and frrvty group * Wed Jul 07 2021 Michal Ruprich - 7.5.1-4 - Rebuild for newer abseil-cpp