[Guidelines Change] Changes to the Packaging Guidelines

Tom Callaway tcallawa at redhat.com
Thu Apr 12 20:57:29 UTC 2012


Here is the latest set of changes to the Fedora Packaging Guidelines:

---

A bundling exception for boost within Passenger was granted, due to the
intrusive nature of the forked changes, the efforts of the maintainer to
merge as many of them as possible into the upstream boost source tree,
and the visible efforts of the upstream to keep the bundled copy of
boost in sync with the current boost releases.

The package must also include a Requires: bundled(boost) = $VERSION
where $VERSION is the boost version being bundled.

https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions

---

Packages which have SysV initscripts that contain 'non-standard service
commands' (commands besides start, stop, reload, restart, or
try-restart) must convert those commands into standalone helper scripts.
Systemd does not support non-standard unit commands.

https://fedoraproject.org/wiki/Packaging:Systemd#Unit_Files

---

A section was added to the systemd Packaging Guidelines page with a link
to the Tmpfiles.d Packaging Guidelines page, since systemd uses Tmpfiles.d.

https://fedoraproject.org/wiki/Packaging:Systemd#Tmpfiles.d

---

The Ruby Packaging Guidelines were almost completely rewritten. If you
maintain ruby packages in Fedora, we advise that you review the new
guidelines.

https://fedoraproject.org/wiki/Packaging:Ruby

---

An informational note about Software Collection macros in Fedora
Packages was added:

https://fedoraproject.org/wiki/Packaging:Guidelines#Software_Collection_Macros

---

The guidelines relating to PIE and Hardened Packages were updated. Now,
if your package meets the following critera you MUST enable the PIE
compiler flags:

* Your package is long running. This means it's likely to be started and
keep running until the machine is rebooted, not start on demand and quit
on idle.

* Your package has suid binaries, or binaries with capabilities.

* Your package runs as root.

https://fedoraproject.org/wiki/Packaging:Guidelines#PIE

---

Rules involving appropriate scripting within Fedora Package spec files
were added to the Guidelines:

https://fedoraproject.org/wiki/Packaging:Guidelines#Scripting_inside_of_spec_files

---

The section in the systemd guidelines covering EnvironmentFiles and
support for /etc/sysconfig files was revised for clarification.

https://fedoraproject.org/wiki/Packaging:Systemd#EnvironmentFiles_and_support_for_.2Fetc.2Fsysconfig_files

---

The Ada Packaging Guidelines were updated for new rules on packaging
source files and updated macros.

https://fedoraproject.org/wiki/Packaging:Ada

---

The section of the Packaging Guidelines describing the "bootstrapping"
binary exception was amended for clarification:

https://fedoraproject.org/wiki/Packaging:Guidelines#Exceptions

---

The section of the Packaging Guidelines describing Duplication of system
libraries was amended to clarify the exceptions for Javascript and
parallel stacks.

https://fedoraproject.org/wiki/Packaging:Guidelines#Duplication_of_system_libraries

---

These guidelines (and changes) were approved by the Fedora Packaging
Committee (FPC).

Many thanks to Kevin Fenzi, Bohuslav Kabrda, Brett Lentz, Marcela
Mašláňová, Bill Nottingham, Vít Ondruch, Mamoru Tasaka, and all of the
members of the FPC, for assisting in drafting, refining, and passing
these guidelines.

As a reminder: The Fedora Packaging Guidelines are living documents! If
you find something missing, incorrect, or in need of revision, you can
suggest a draft change. The procedure for this is documented here:
https://fedoraproject.org/wiki/Packaging/Committee#GuidelineChangeProcedure

Thanks,

~tom


More information about the devel-announce mailing list