From Fedora Project Wiki

Revision as of 06:04, 8 June 2019 by James (talk | contribs) (Initial draft)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Beta
Work in progress


Limit Scriptlet Usage of core packages

Summary

Remove direct scriptlet calls from "core packages" (those that are used to build minimal container image). The packages can still affect changes during installation by placing files in the correct locations to trigger registered external programs.

Owner

  • Name: James Antill
  • Email: <your email address so we can contact you, invite you to meetings, etc. Please provide your Bugzilla email address if it is different from your email in FAS>

Current status

  • Targeted release: Fedora 31
  • Last updated: 2019-06-08
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

Remove direct scriptlets from most (if not all) of the packages in the main fedora container image. This means all four of: %pre/%post/%preun/%postun. After this change some kind of temporary exception would have to be granted before those packages could add a scriptlet back.


Benefit to Fedora

At the moment all of the packages with scriptlets (and anything installed with them) are basically opaque programs that happen to also carry files that are installed, from all of the packaging tools (rpm, ostree, composer, etc.) . After this change the entire installation of the main container image will be declarative, and thus. understandable by all of those tools. This should make things faster, and allow new optimizations (as well as features).


Scope

  • Proposal owners:
  • Other developers: N/A (not a System Wide Change)
  • Policies and guidelines: N/A (not a System Wide Change)
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

N/A (not a System Wide Change)

How To Test

N/A (not a System Wide Change)

User Experience

Dependencies

N/A (not a System Wide Change)

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No
  • Blocks product? product

Documentation

N/A (not a System Wide Change)

Release Notes