On Thu, 2025-01-23 at 20:51 +0000, Zbigniew Jędrzejewski-Szmek wrote: > Hi! > > In accordance with > https://docs.fedoraproject.org/en-US/fesco/Mass_package_changes/, > I plan to do a "mass package change" to add sysusers.d config files > for all packages > which currently call 'useradd' and 'groupadd' and drop the calls to > getent/id/useradd/groupadd/usermod/gpasswd. > > This is part of > https://fedoraproject.org/wiki/Changes/RPMSuportForSystemdSysusers. > Latest build of rpm will autocreate users and groups for all packages > that > contain a sysusers.d config file. This means that, for those > packages, we can drop > the scriptlets that do that. In fact, rpm will do this > unconditionally, so the > scriptlets which are executed later are now noops and having them in > the spec file > is unnecessary and confusing. > > Once we have sysusers.d config and the metadata generated by rpm on > packages, we want > to again enable generation of hard dependencies in rpm for users and > groups used by > the rpm payloads. (A package which has a file or dir owned by a user > or group, > specified via %attr, gets Requires:user(…) or Requires:group(…) > autogenerated during > build.) This will allow rpm to order packages so that accounts are > created before we > try to unpack files owned by those accounts and we don't get > unexpected ownership. > > For now this is a draft, I'm soliciting feedback. In fact, I didn't > rebuild most of > the packages with the changes, so bugs may be lurking. After > discussion is done, I > plan to open pull requests with the proposed changes. > > The first batch: > https://in.waw.pl/~zbyszek/fedora/sysusers_mass_spec_change_v1.diff.html I have many packages in this situation , can you give us one plain text patch to apply on my specs ? please. Thank you > > Example change (without Release and %changelog boilerplate): > ===================&<================================================ > ============ > diff --git znc/znc.spec znc/znc.spec.tmp > index f27442daf7..c6e08444cc 100644 > --- znc/znc.spec > +++ znc/znc.spec.tmp > @@ -54,3 +54,2 @@ Obsoletes: znc-extra <= %{version}-%{release} > > -Requires(pre): shadow-utils > BuildRequires: systemd > @@ -131,2 +130,7 @@ sed -ie 's!/usr/local/!/usr/!' man/znc.1 > > +# Create a sysusers.d config file > +cat >znc.sysusers.conf <<EOF > +u znc - 'Account for ZNC to run as' /var/lib/znc - > +EOF > + > %build > @@ -161,8 +165,5 @@ install -d "%{buildroot}%{_sharedstatedir}/znc" > > +install -m0644 -D znc.sysusers.conf > %{buildroot}%{_sysusersdir}/znc.conf > + > > -%pre > -getent group znc >/dev/null || groupadd -r znc > -getent passwd znc >/dev/null || \ > - useradd -r -g znc -d /var/lib/znc -s /sbin/nologin \ > - -c "Account for ZNC to run as" znc > > @@ -203,2 +204,3 @@ getent passwd znc >/dev/null || \ > %attr(-,znc,znc) %{_sharedstatedir}/znc/ > +%{_sysusersdir}/znc.conf > ===================>&================================================ > ============ > > Let me know what you think… > > Zbyszek -- Sérgio M. B. -- _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue