Re: Systemd unit files installed into unowned directories

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Aug 04, 2021 at 10:27:10AM +0200, Petr Menšík wrote:
> Hi Zbyszek,
> 
> thanks for your comment. Wouldn't it be much clearer instead of turning
> bind eye on the issue creating noarch systemd-filesystem subpackage,
> which would own:
> 
> %files filesystem
> %dir %_unitdir
> %dir %_userunitdir
> %dir %_tmpfilesdir
> %dir %_sysusersdir

I don't think so. This is an intrusive solution: visible to users
in package upgrade outputs, annoying to package maintainers.

> and systemd would just contain requirement on it
> 
> Requires: %{name}-filesystem
> 
> This would be 100% according to the Guidelines, every automated tools
> should not raise any warning and developers would not have to pretend
> they haven't seen it. Instead of silently breaching our guidelines, can
> we adjust it to follow them?
>
> Shall I try a pull request on systemd?

No, I don't think -filesystem packages are a solution we should be
recommending nowadays. If you want strict conformance to the guidelines,
insert '%dir %_unitdir' in the package: this is also a one-line solution
and doesn't require any other changes.

> On 8/3/21 5:31 PM, Zbigniew Jędrzejewski-Szmek wrote:
> > On Tue, Aug 03, 2021 at 05:12:22PM +0200, Petr Menšík wrote:
> >> It seems to me most of common services do not require systemd for
> >> functionality. They might be able to be installed in container without
> >> systemd involved. The more I look at [1], the more I think common
> >> package with some service should usually include just
> >> %systemd_{post,preun,postun_with_restart} snippets and instead of
> >> %systemd_requires just %{?systemd_ordering}. If the service does not
> >> require systemd to start, it should not require it, right? Snippets are
> >> prepared already to handle situation without systemd gracefully.
> > Yes. Even further, services should not require systemd, even if
> > systemd is normally used to start them. On normal installations systemd
> > is already installed anyway, so the dependency is moot. Not having
> > a hard dependency makes it easier to do custom installations,
> > tests in mock, containers, etc. So even %{?systemd_ordering} is
> > not necessary in most cases. The guidelines have been updated to
> > drop the Requires a while back.
> >
> >> In that case, who should own %_unitdir and similar? systemd is not tiny
> >> enough to not make a difference. On the other hand number of package
> >> owning %_unitdir might be quite high. Could there be minimal 'virtual'
> >> owner?
> > It's fine to co-own %_unitdir. But I would say that it's also fine to
> > just ignore this issue, and let only systemd own the directory, even
> > if the package installing files under the directory doesn't have a
> > hard dependency on systemd. Owning directories is useful when the user
> > may install the package, uninstall it, and then be left with a "dangling"
> > empty directory. But this is unlikely to happen in the case of anything
> > systemd-related: systemd cannot be uninstalled on normal systems,
> > and on the other hand, on custom images that *never* had systemd,
> > you're unlikely to install and uninstall packages. So I'd advocate
> > this small breach of the guidelines, since it doesn't cause any real
> > problems and makes packager life easier.
> >
> > Zbyszek
> 
> Unfortunately many packages will drag systemd into containers/mock
> without ever needing it. I think that was recommended not long ago. That
> includes bind and dnsmasq packages I own. Is the latest best practice to
> remove %systemd_requires everywhere with just common services and use
> just %systemd_preun macros to handle it? I have missed such
> recommendation, was it in some announced change or at least here on
> devel list?

This was changed in in 2019 in
https://pagure.io/packaging-committee/c/46010f8b6ab077bfbec45a59b1de99fb7871ee0a.
Normally the fpc announces changes, I don't remember if they did so
in this case.

Zbyszek
_______________________________________________
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 on the list, report it: https://pagure.io/fedora-infrastructure




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux