On Tue, Jul 30, 2019 at 5:47 AM Panu Matilainen <pmatilai(a)redhat.com> wrote:
On 7/15/19 6:57 PM, Neal Gompa wrote:
> On Mon, Jul 15, 2019 at 11:52 AM Zbigniew Jędrzejewski-Szmek
> <zbyszek(a)in.waw.pl> wrote:
>>
>> On Mon, Jul 15, 2019 at 10:13:21AM -0400, Neal Gompa wrote:
>>> On Mon, Jul 15, 2019 at 10:04 AM Miroslav Suchý <msuchy(a)redhat.com>
wrote:
>>>>
>>>> Dne 10. 07. 19 v 9:19 James Antill napsal(a):
>>>>> 2. adduser/group/etc. => sysusers files
>>>>
>>>> For anyone willing to do this in advance on his/her package - this is
how you can do that:
>>>>
>>>>
https://github.com/rpm-software-management/mock/commit/cf4c8f076637755acc...
>>>>
>>>> Here is relevant FPC ticket:
>>>>
https://pagure.io/packaging-committee/issue/442
>>>>
>>>> Just for the record - this does not make things to run faster. You still
have to have %pre scriptlets. It is likely even
>>>> slower as you are running %posttranstrigger as well. The benefit is here
only that we move toward declarative specification.
>>>>
>>>
>>> That’s also going to fail, because the %pre script executes before the
>>> file exists. That’s why these guidelines are broken, and why I
>>> suggested we deal with sysusers differently.
>>
>> Oops, you're right. As /usr/lib/rpm/macros.d/macros.systemd says,
>> %sysusers_create is "deprecated. Use %sysusers_create_package
instead".
>>
>
> It’d be better to subpackage it and have a file trigger that runs for
> each package that contains those files and creates the sysusers. That
> ensures ordering, existence, and makes it reliable. Subpackages will
> also allow other packages to be able to depend on those if needed
> without the software (e.g. apache user being used by both apache httpd
> and nginx).
I was about to say sub-packages seem a bit heavy solution to user
creation but instead I'm going to say that thinking about it a bit, it
is a pretty powerful solution (user/group -dependencies being a nice
example) and one that actually works by leveraging widely deployed rpm
mechanisms.
And since that's used by OpenSUSE then basically we just need to adopt a
working solution, and we'd be increasing unity in the packaging world as
an extra bonus.
So a big +1 for sysusers in sub-packages + file trigger to handle
running systemd-sysusers. It solves more problems than the current
sysusers-proposal and in a far more elegant way at that.
The ideal would be that RPM would have native functionality for
managing these things, but this is the next best thing, in my view.
--
真実はいつも一つ!/ Always, there's only one truth!