DevHeads.net

Postings by Jason L Tibbitts III

Changes to the packaging guidelines

Here are the recent changes to the packaging guidelines.

We have more things coming in concert with various distro changes that
are happening, but I wanted to get these two out there now.

The icon cache scriptlets were removed from the scriptlet guidelines, as
no live Fedora release needs them.

Changes to the packaging guidelines

Here are the recent changes to the packaging guidelines.

Following releng approval, the restrictions on the use of rich/Boolean
dependencies have been lifted.

* <a href="https://fedoraproject.org/wiki/Packaging:Guidelines#Rich.2FBoolean_dependencies" title="https://fedoraproject.org/wiki/Packaging:Guidelines#Rich.2FBoolean_dependencies">https://fedoraproject.org/wiki/Packaging:Guidelines#Rich.2FBoolean_depen...</a>
* <a href="https://pagure.io/packaging-committee/issue/559" title="https://pagure.io/packaging-committee/issue/559">https://pagure.io/packaging-committee/issue/559</a>

Packaging guidelines for Rust have been added.

* <a href="https://fedoraproject.org/wiki/Packaging:Rust" title="https://fedoraproject.org/wiki/Packaging:Rust">https://fedoraproject.org/wiki/Packaging:Rust</a>
* <a href="https://pagure.io/packaging-committee/issue/705" title="https://pagure.io/packaging-committee/issue/705">https://pagure.io/packaging-committee/issue/705</a>

A new section was added to the packaging guidelines regarding shebang
lines.

Mass rebuild failures only on ppc64le: glibc problem?

I noticed one of my packages failed to build because the test suite
failed, but only on ppc64le.

builddir/build/BUILD/cyrus-imapd-3.0.2/cunit/.libs/lt-unit: error while
loading shared libraries:
/builddir/build/BUILD/cyrus-imapd-3.0.2/imap/.libs/libcyrus_imap.so.0:
expected localentry:0 `sasl_client_new'

I have no idea what that means, and a search for "expected localentry:0"
turned up only the patch where that message was added to glibc.

I did some other random checks and found a few other packages with
ppc64le-only build failures: freeipa, gammu, gap-pkg-float, gambas3,
getdp (and I stopp

Guidelines change] Changes to the packaging guidelines

Here are the recent changes to the packaging guidelines.

The guidelines for enabling services by default modified to indicate
that FESCo approval is required for services which change the behavior
of other services.

* <a href="https://fedoraproject.org/wiki/Packaging:DefaultServices#Restrictions" title="https://fedoraproject.org/wiki/Packaging:DefaultServices#Restrictions">https://fedoraproject.org/wiki/Packaging:DefaultServices#Restrictions</a>
* <a href="https://pagure.io/packaging-committee/issue/683" title="https://pagure.io/packaging-committee/issue/683">https://pagure.io/packaging-committee/issue/683</a>

A very minor tweak was made to the bootstrapping guidelines to invert
the sense of a test so that it matches expectations.

* <a href="https://fedoraproject.org/wiki/Packaging:Guidelines#Bootstrapping" title="https://fedoraproject.org/wiki/Packaging:Guidelines#Bootstrapping">https://fedoraproject.org/wiki/Packaging:Guidelines#Bootstrapping</a>
* <a href="https://pagure.io/packaging-committee/issue/684" title="https://pagure.io/packaging-committee/issue/684">https://pagure.io/packaging-committee/issue/684</a>

Changes to the packaging guidelines

Here are the recent changes to the packaging guidelines.

The guidelines on versioning packages were completely rewritten in order
to make them (hopefully) more comprehensible.

Changes to the packaging guidelines

Here are the recent changes to the packaging guidelines.

The systemd section of the scriptlet guidelines was updated to indicate
situations where the %systemd_ordering macro may be used instead of
%systemd_requires.

* <a href="https://fedoraproject.org/wiki/Packaging:Scriptlets#Systemd" title="https://fedoraproject.org/wiki/Packaging:Scriptlets#Systemd">https://fedoraproject.org/wiki/Packaging:Scriptlets#Systemd</a>
* <a href="https://fedorahosted.org/fpc/ticket/644" title="https://fedorahosted.org/fpc/ticket/644">https://fedorahosted.org/fpc/ticket/644</a>

The guidelines for replacing existing packages have been updated with
mention of the "fedora-obsolete-packages" package:

* <a href="https://fedoraproject.org/wiki/Packaging:Guidelines#Renaming.2FReplacing_Existing_Packages" title="https://fedoraproject.org/wiki/Packaging:Guidelines#Renaming.2FReplacing_Existing_Packages">https://fedoraproject.org/wiki/Packaging:Guidelines#Renaming.2FReplacing...</a>
* <a href="https://apps.fedoraproject.org/packages/fedora" title="https://apps.fedoraproject.org/packages/fedora">https://apps.fedoraproject.org/packages/fedora</a>

Removal of the default 16 job limit for makefile parallelism

The hardcoded upper limit of 16 jobs, passed to make via "-j" when you
use either %make_build or make %{?_smp_mflags} in the %build section of
your specfiles, is going away in rawhide. This may result in your jobs
being run with additional parallelization in some situations.

This change will appear in rawhide soon. It is not being made in F25 at
this time; that requires more discussion and will warrant a separate
announcement.

What you need to do:

Nothing.

My experiences with KillUserProcesses=yes on F24

After reading (some of) the "discussion" about systemd-logind's
KillUserProcesses setting, I decided that I'd like to try enabling it
and see how it works and how I can make it useful in my environment.
Sorry, it's long, but I though folks might want to know.

Disclaimer:
I quite like systemd and I will try to avoid strong language like
"bizarre", "surprising", "WTF" and except in one case, "bug".

Changes to the packaging guidelines

Here are the recent changes to the packaging guidelines.

The Filesystem Layout section of the guidelines was simplified and
outdated information was removed.

* <a href="https://fedoraproject.org/wiki/Packaging:Guidelines" title="https://fedoraproject.org/wiki/Packaging:Guidelines">https://fedoraproject.org/wiki/Packaging:Guidelines</a>
* <a href="https://fedoraproject.org/wiki/Packaging:Guidelines#Filesystem_Layout" title="https://fedoraproject.org/wiki/Packaging:Guidelines#Filesystem_Layout">https://fedoraproject.org/wiki/Packaging:Guidelines#Filesystem_Layout</a>
* <a href="https://fedorahosted.org/fpc/ticket/623" title="https://fedorahosted.org/fpc/ticket/623">https://fedorahosted.org/fpc/ticket/623</a>

The outdated section restricting dependencies between /bin and /usr has
been removed.

* <a href="https://fedoraproject.org/wiki/Packaging:Guidelines" title="https://fedoraproject.org/wiki/Packaging:Guidelines">https://fedoraproject.org/wiki/Packaging:Guidelines</a>
* <a href="https://fedoraproject.org/wiki/Packaging:Guidelines#Binaries_in_.2Fbin_and_.2Fsbin" title="https://fedoraproject.org/wiki/Packaging:Guidelines#Binaries_in_.2Fbin_and_.2Fsbin">https://fedoraproject.org/wiki/Packaging:Guidelines#Binaries_in_.2Fbin_a...</a>
(now deleted)
* <a href="https://fed" title="https://fed">https://fed</a>

Changes to the packaging guidelines

Here are the recent changes to the packaging guidelines.

The section on the use of pregenerated code was amended to indicate the
preference for having tools necessary to regenerate such code be free
software and packaged in Fedora.
* <a href="https://fedoraproject.org/wiki/Packaging:Guidelines" title="https://fedoraproject.org/wiki/Packaging:Guidelines">https://fedoraproject.org/wiki/Packaging:Guidelines</a>
* <a href="https://fedoraproject.org/wiki/Packaging:Guidelines#Use_of_pregenerated_code" title="https://fedoraproject.org/wiki/Packaging:Guidelines#Use_of_pregenerated_code">https://fedoraproject.org/wiki/Packaging:Guidelines#Use_of_pregenerated_...</a>
* <a href="https://fedorahosted.org/fesco/ticket/1514" title="https://fedorahosted.org/fesco/ticket/1514">https://fedorahosted.org/fesco/ticket/1514</a>

The outdated prohibition on socket activated services was removed from
the Systemd packaging guidelines.

* <a href="https://fedoraproject.org/wiki/Packaging:Systemd" title="https://fedoraproject.org/wiki/Packaging:Systemd">https://fedoraproject.org/wiki/Packaging:Systemd</a>
* <a href="https://fedorap" title="https://fedorap">https://fedorap</a>

Changes to the packaging guidelines

Here are the recent changes to the packaging guidelines.

The use of rich (or Boolean) dependencies is now OK for F23+.

* <a href="https://fedoraproject.org/wiki/Packaging:Guidelines#Rich.2FBoolean_dependencies" title="https://fedoraproject.org/wiki/Packaging:Guidelines#Rich.2FBoolean_dependencies">https://fedoraproject.org/wiki/Packaging:Guidelines#Rich.2FBoolean_depen...</a>
* <a href="https://fedorahosted.org/fpc/ticket/593" title="https://fedorahosted.org/fpc/ticket/593">https://fedorahosted.org/fpc/ticket/593</a>

The ban on the use of the %systemd_requires macro has been lifted.

* <a href="https://fedoraproject.org/wiki/Packaging:Scriptlets#Systemd" title="https://fedoraproject.org/wiki/Packaging:Scriptlets#Systemd">https://fedoraproject.org/wiki/Packaging:Scriptlets#Systemd</a>
* <a href="https://fedorahosted.org/fpc/ticket/600" title="https://fedorahosted.org/fpc/ticket/600">https://fedorahosted.org/fpc/ticket/600</a>

The mono guidelines were modified to require that packages limit
themselves via ExclusiveArch: to architectures which actually support
mono.

* <a href="https://f" title="https://f">https://f</a>

Changes to the packaging guidelines

Here are the recent changes to the packaging guidelines.

Some PHP scriptlets are now unnecessary in F24 due to the use of file
triggers.

* <a href="https://fedoraproject.org/wiki/Packaging:PHP#PECL_Modules" title="https://fedoraproject.org/wiki/Packaging:PHP#PECL_Modules">https://fedoraproject.org/wiki/Packaging:PHP#PECL_Modules</a>
* <a href="https://fedorahosted.org/fpc/ticket/597" title="https://fedorahosted.org/fpc/ticket/597">https://fedorahosted.org/fpc/ticket/597</a>

A page describing the implementation of Langpacks for F23 and newer has
been added to the guidelines, and various other pages have been updated
to reference it.

* <a href="https://fedoraproject.org/wiki/Packaging:Langpacks" title="https://fedoraproject.org/wiki/Packaging:Langpacks">https://fedoraproject.org/wiki/Packaging:Langpacks</a>
* <a href="https://fedorahosted.org/fpc/ticket/593" title="https://fedorahosted.org/fpc/ticket/593">https://fedorahosted.org/fpc/ticket/593</a>

Changes to the packaging guidelines

Here are the recent changes to the packaging guidelines.

A section on the treatment of pregenerated code has been added to the
main guideline page.

*​https://fedoraproject.org/wiki/Packaging:Guidelines#Use_of_pregenerated_code
*​https://fedorahosted.org/fpc/ticket/580

Text was added to the section on spec legibility indicating that non
Fedora/EPEL macros should not be used in Fedora specfiles.

*​https://fedoraproject.org/wiki/Packaging:Guidelines#Spec_Legibility
*​https://fedorahosted.org/fpc/ticket/582

The node.js guidelines have gained a requirement for a %chec

Needless use of %defattr (in 4464 packages)

The %defattr statement in the %files section of a spec is used to
specify the default mode and user/group for the files and directories
which follow. However, for a very, very long time, RPM has provided a
default value, and no version of RPM in use in any Fedora or EPEL
version requires a defattr statement. It is completely pointless to
provide one which just sets the defaults to the existing defaults.

The %license property is now supported in EPEL6

Just a note that it EPEL6 no longer requires you to include the
definition of %license property; you can use it freely in your %files
list as you would in EPEL7 or Fedora. It simply maps to %doc as it
would if you had included the magic line noise manually. This works for
me in koji; if it doesn't work in your local mock instance, it's
possible that the mirrors still need to catch up with the change to
comps.

You'll still need that line noise (for now, at least) in EPEL5. Next
I'll be looking into whether or not it's actually possible.

- J<

Specs using %define

To satisfy my curiosity, I grepped the convenient tarball of specfiles
(<a href="http://pkgs.fedoraproject.org/repo/rpm-specs-latest.tar.xz" title="http://pkgs.fedoraproject.org/repo/rpm-specs-latest.tar.xz">http://pkgs.fedoraproject.org/repo/rpm-specs-latest.tar.xz</a>) for lines
matching "(?<!%)%define" (%define but not %%define). To my surprise,
there were more than 1900 hits.

Here's a complete (long) list. I don't think there's much point in
doing anything about the vast majority of these, but if you're in
cleaning up your packages then why not? Also, feel free to let me know
if any of these are false positives.

Slight change to the review process for new contributors

After FESCo approval of <a href="https://fedorahosted.org/fesco/ticket/1499" title="https://fedorahosted.org/fesco/ticket/1499">https://fedorahosted.org/fesco/ticket/1499</a> I
have modified the review process document:
<a href="https://fedoraproject.org/wiki/Package_Review_Process" title="https://fedoraproject.org/wiki/Package_Review_Process">https://fedoraproject.org/wiki/Package_Review_Process</a>
to indicate that any packager is welcome to complete the initial package
review(s) for a new contributor.

Dealing with the "my packages" problem

tl; dr: I have submitted the following RFE for pkgdb:
<a href="https://github.com/fedora-infra/pkgdb2/issues/274" title="https://github.com/fedora-infra/pkgdb2/issues/274">https://github.com/fedora-infra/pkgdb2/issues/274</a>
Please add comments there if you have any.

I know I'm not the only provenpackager to have applied a bugfix to
someone's package only to be yelled at it for it.

Quick proposal for making packager sponsorship slightly easier

I recently filed <a href="https://fedorahosted.org/fesco/ticket/1499" title="https://fedorahosted.org/fesco/ticket/1499">https://fedorahosted.org/fesco/ticket/1499</a> with the
goal of making the process just a bit simpler for new packagers. The text of
my proposal follows. Please make sure that substantial comments are
made on the ticket to ensure that FESCo sees them.

Sponsors are responsible (but not solely responsible) for shepherding
people through the packaging process.

Changes to the packaging guidelines

Here are the recent changes to the packaging guidelines.

The guidelines were updated to reflect the current policy that Fedora
packages are no longer permitted to carry SysV-style initscripts.

Changes to the packaging guidelines

Here are the recent changes to the packaging guidelines.

The big change is that the Python guidelines have been extensively
reorganized and partially rewritten, and new macros are available which
simplify packaging by removing some of the boilerplate which was
previously required.

The main guideline page has been slimmed down to show the more basic
info and a clean and simple spec using the new macros which is free of
multiline conditionals.

boilerplate previously associated with python packages.

Changes to the packaging guidelines

Here are the recent changes to the packaging guidelines.

HTML systray tooltips under KF5

I have a little application for local use which sits in the systray and
tells people when they're getting low on disk quota. It has a tooltip
which gives current quota status. The tooltip text contains HTML. You
can see a screenshot of this tooltip at
<a href="https://fedorahosted.org/kquotanotifier/" title="https://fedorahosted.org/kquotanotifier/">https://fedorahosted.org/kquotanotifier/</a>

The application itself is written in python3/pykde4. The tray icon
itself is a KStatusNotifierItem and the tooltip is set with the usual
setToolTip method.

This all works fine in Fedora 21 which has the usual KF4 stuff.

Changes to the packaging guidelines

Here are the recent changes to the packaging guidelines:

The policy for systemd presets has been modified to merge the
individual treatments of service, socket and timer units into one
policy.

Changes to the packaging guidelines

Here are the recent changes to the packaging guidelines:

The guidelines for packaging static libraries were amended to indicate
that the -static package should require the -devel package:
* <a href="https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Static_Libraries_2" title="https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Static_Libraries_2">https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Static_Lib...</a>
* <a href="https://fedoraproject.org/w/index.php?title=Packaging%3AGuidelines&amp;diff=409506&amp;oldid=405928" title="https://fedoraproject.org/w/index.php?title=Packaging%3AGuidelines&amp;diff=409506&amp;oldid=405928">https://fedoraproject.org/w/index.php?title=Packaging%3AGuidelines&amp;diff=...</a>
* <a href="https://fedorahosted.org/fpc/ticket/338" title="https://fedorahosted.org/fpc/ticket/338">https://fedorahosted.org/fpc/ticket/338</a>

Due to advancements in packaging making it somewhat irrelevant, the EE
APIs section is removed from the Java packaging guidelines:
* <a href="https://fedoraproject.org/wiki/Packaging:Java" title="https://fedoraproject.org/wiki/Packaging:Java">https://fedoraproject.org/wiki/Packaging:Java</a>

Orphaning Zoneminder

I'm orphaning the zoneminder package on all branches. Feel free to pick
it up if you wish to maintain it.

Zoneminder is a security camera monitoring system. Back in the dark
days of history I ended up becoming the de-facto maintainer when the
original maintainer went away, though he still owned it in pkgdb.

Schedule for Thursday's FPC Meeting (2015-04-02 16:00 UTC)

Following is the list of topics that may be discussed in the FPC meeting
Thursday at 2015-04-02 16:00 UTC in #fedora-meeting-1 on
irc.freenode.net.

Local time information (via.

Changes to the packaging guidelines

Here are the recent changes to the packaging guidelines:

The documentation section of the guidelines has been updated to include
a prohibition on using both %doc and direct installation of files into
%_pkgdocdir.
* <a href="https://fedoraproject.org/wiki/Packaging:Guidelines#Documentation" title="https://fedoraproject.org/wiki/Packaging:Guidelines#Documentation">https://fedoraproject.org/wiki/Packaging:Guidelines#Documentation</a>
* <a href="https://fedoraproject.org/w/index.php?title=Packaging%3AGuidelines&amp;diff=405928&amp;oldid=405492" title="https://fedoraproject.org/w/index.php?title=Packaging%3AGuidelines&amp;diff=405928&amp;oldid=405492">https://fedoraproject.org/w/index.php?title=Packaging%3AGuidelines&amp;diff=...</a>
* <a href="https://fedorahosted.org/fpc/ticket/338" title="https://fedorahosted.org/fpc/ticket/338">https://fedorahosted.org/fpc/ticket/338</a>

The Python guidelines were modified to clarify the use of unversioned
macros (%__python instead of %__python2 or %__python3, for example).
* <a href="https://fedoraproject.org/wi" title="https://fedoraproject.org/wi">https://fedoraproject.org/wi</a>

Changes to the packaging guidelines

A few more changes this week:

The Byte compilation section of the Python packaging guidelines was
rewritten to include information about packaging the pycache directories
generated by newer Python versions.
<a href="https://fedoraproject.org/wiki/Packaging:Python#Byte_compiling" title="https://fedoraproject.org/wiki/Packaging:Python#Byte_compiling">https://fedoraproject.org/wiki/Packaging:Python#Byte_compiling</a>
<a href="https://fedorahosted.org/fpc/ticket/494" title="https://fedorahosted.org/fpc/ticket/494">https://fedorahosted.org/fpc/ticket/494</a>

The Multiple Python Runtimes section of the Python packaging guidelines
was updated to indicate that packages in fedora should not reference
/usr/bin/python but instead should use either /usr/bin/python2 or
/usr/bin/python3 as appropriate.
<a href="https://fedoraproject.org/wiki/Packa" title="https://fedoraproject.org/wiki/Packa">https://fedoraproject.org/wiki/Packa</a>