On Mon, 2019-07-01 at 17:03 -0400, Robbie Harwood wrote:
Ben Cotton <bcotton(a)redhat.com> writes:
> == Detailed Description ==
>
> Currently we know how to make an installable OS with packages that
> doesn't require the use of scriptlets, indeed rpm-ostree and others
> have already done this on a significantly bigger scale. So we plan
> to
> remove direct scriptlets from most (if not all) of the packages in
> the
> main fedora container image for Fedora 31. This means all four of:
> %pre/%post/%preun/%postun. After this change it'd be good to have
> some
> kind of temporary exception to be granted before those packages
> could
> add a scriptlet back (post F31 work).
Do I understand correctly that triggers aren't affected here?
Yes.
> Almost all of the hard work is already done, as rpm can react
to
> files
> being dropped in specified places with known actions (Eg. In this
> way
> systemd components can create users or files). There are a few
> minor
> changes needed to packages to move from the old way of doing things
> (Eg. calling adduser) to doing the new thing. Note that while a
> program will still be run at installation time, those programs will
> be
> few and easily audited (as against the 666 slightly different ways
> of
> adding a user we currently have).
Is there a document describing common things that are done with
scriptlets and the "proper", non-scriptlet way to do them? (If not,
could one be made?)
I don't believe there is a single document atm. ... I could look at
putting one somewhere, although it's a bit like lumping random things
together because we happen to be doing them at the same time.
> == Scope ==
>
> Proposal owners:
>
> * James Antill
> * 1 needs to get combine.d into the distribution, and then
> /etc/shells
> can use that.
> * 2 minor wrangling of package owners to tweak specfiles.
Do I understand correctly that you plan to send PRs to all packages
in question?
Yes.
> * Other developers:
>
> * Policies and guidelines: We should work toward only allowing new
> scriptlets to appear with policy exceptions, in any of the fixed
> packages. This needs to be done somewhat carefully, and post F31.
Would it be possible to write the policy first, rather than trying to
get maintainers to conform to an unknown standard?
The policy here is talking about after it's done, so that things don't
slide back. Kind of like the "no new sysv-init scripts" came after the
conversion to systemd unit files was accpeted/done.