Fedora Weekly News #153 Developments
== Developments ==
In this section the people, personalities and debates on the
@fedora-devel mailing list are summarized.
Contributing Writer: Oisin Feeley
=== More and Wider Testing ===
In a thoughtful post Callum Lerwick suggested[1] that Fedora testing
coverage could be improved in several inter-related areas. These
included making Bugzilla easier to use; adding per-package rollbacks to
enable reversion to known good states; blocking yum updates on specific
reported bugs; providing a rescue image in /boot with the aforementioned
functionality; and lastly, enabling simple installation of specific
updates which might fix said reported bugs. Callum asked for respondents
to eschew what he called the “Hard problem fallacy” which consisted of
minor technical objections and asked them to provide answers modeled on
the pattern of “You are an idiot and your ideas are stupid. We’re not
doing this.”
[1]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01370.html
On the subject of rollbacks Jef Spaleta objected[2] that it was
complicated by the triggered scripts in packages. Currently there are no
tests for rollback and Jef wondered “…how do you set up a test which
attempts to measure whether rollback across a trigger boundary put you
back to where you were? How much of a different in state counts as
‘break rollback’ ?” He then added the problem of Obsoletes: “When an
obsolete is introduced in an update… can we rollback and get what we
had?” He finished off with the suggestion that Carrier Grade Linux might
have some experience to offer as they had attempted rollbacks. Seth
Vidal remembered[3] that “[…] the rollback functionality the CGL
wanted was removed from rpm recently.” Gilboa Davra asked[4] how it
would be possible to pin-point what exactly had broken when there was a
“150 package update push. Will you rollback all the updates? Only the
updates that had _something_ to do with the breakage?” RalfCorsepius
also nixed[5] the idea as “[…] package rollbacks will never work in
general, because updates may contain non-reversable statefull operations
(e.g. reformatting databases).”
[2]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01394.html
[3]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01396.html
[4]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01409.html
[5]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01442.html
A comprehensive reply was made[6] by Gilboa Davra. In it he argued that
automating bug reports lowered the signal-to-noise ratio considerable
and objected to modification of yum to refuse updates until reported
bugs are fixed: “Say-what?!? Are we building a second Vista here?”
Although he liked the idea of a rescue image in /boot he cautioned that
space considerations impinged upon the need to keep “[…] a different
rescue image for each installed kernel unless you plan to keep the
original kernel[.]” As regards selective updates he stated: “You can
always enable updates-testing and selectively install what you need.”
[6]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01409.html
A preliminary step was added[7] by Chris Lumens to those listed by
Callum: “I’d like to add a step (0) before we make bugs easier to file
and really crank up the number of reports we’re getting: (0) More people
FIXING the bug, not just reporting them. You can have a giant user base
of people filing tons of bugs, and you can have a motivated and
effective QA/Triaging team whittling them down to the really important
and reproducable bugs. But without more people fixing them, the backlog
is just going to continue to build.”
[7]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01421.html
When Peter Lemenkov wondered[8] why users were forced to register on
Bugzilla Bill Nottingham underscored[9] the need for tools which do not
swamp developers with large numbers of bugs. Alan Cox added[10] that the
key was “[…] one clear and accurate bug report that happens to contain
the right information and the user willing to help.” Daniel P. Berrange
further explained[11] that “[…] 90% [of bugs] are essentially useless
when first reported. It requires several back/forth interactions between
myself & the bug reporter to get enough information to diagnose &
resolve the problem. If we create a system where we bombard maintainers
with bugreports & no scope for user interaction they’ll end up directly
in /dev/null, and further discourage maintainers from addressing even
bugs with enough info.”
[8]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01408.html
[9]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01399.html
[10]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01415.html
[11]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01422.html
The Ubuntu tool apport was discussed[12] as a possible solution several
times as was[13] the Debian tool reportbug.
[12]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01428.html
[13]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01456.html
An emphasis was placed[14] on providing Bugzilla tools for developers
and packagers by James Antill: “I won’t mind getting 666 dups, or
dealing with 10x as many bugs in general, as long as I have a decent
local tool that can manage that number of bugs. Atm lots of TABs of open
bugs, and giant folders of BZ email are the best tools I’ve seen.”
[14]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01492.html
KarelZak jumped[15] straight to the original question and answered that
testing participation was low “[…] because this work is not
attractive. It’s boring work without proper credit in open source
community. It’s very simple to found list of top-ten kernel developers,
but who knows the most active bug reporters or QA around kernel? Nobody.
People who are testing a software are real contributors. Our THANKS to
them should be more visible!”
[15]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01696.html
=== Source File Audit Catches RPM Problems Early ===
Kevin Fenzi posted[1] the results from the latest run of his
sources/patches URL checker script. There were 912 possible problems
reported, which Kevin noted was “Up from 662 last run. This is a pretty
sad increase.”
[1]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01433.html
Happily many of the reported problems appeared[2] to be due to either
temporary problems with GoogleCode and SourceForge project hosting or to
some minor oddities in the script. Many of the other highlighted
problems were confirmed as genuine and fixed by the package owners.
[2]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01450.html
Ian Weller contrasted[3] a successful run of spectool -g[4], which uses
wget internally, with the failure of Kevin’s script. Later Kevin also
found[5] a similar result when examining another failure. He speculated
“[…] it’s working fine with a wget… perhaps they are blocking the
agent that spectool -g uses? (which I am not sure what it reports).”
Ville Skyttä offered[6] that “spectool -g uses plain wget, with
configuration file /etc/fedora/wgetrc if it exists, otherwise usual
system wget configs” and Thomas Moschny discovered[7] that “spectool
uses -N, which seems to cause 404 errors with googlecode[.]” Jaroslav
Reznik confirmed[8] this: “Same for me - it’s not working for googlecode
downloads. Wget with -N param sends HEAD instead GET - these two are
same, but HEADs response are only headers - it’s used for links
validation etc… But looks is it misconfiguration on server side?” and
thanked Kevin for the usefulness of his script which had caught a
serious problem.
[3]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01434.html
[4] The spectool utility is part of rpmdevtools. It downloads and
extracts sources and patches to build RPMs
[5]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01451.html
[6]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01454.html
[7]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01459.html
Eric Sandeen asked[9] if it would be a good idea to extend rpmlint to
perform these checks: “I’m most likely to fix this stuff if I’m in the
middle of making some other change, and an automatic check while I’m
working on a package that says `hey your source URL is no longer valid’
would probably provoke me to fix it quickly. :)”
[8]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01466.html
[9]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01641.html
=== One Issue Tracker to Rule Them All ===
Arthur Pemberton examined[1] the challenge issued by Callum Lerwick to
improve Bugzilla (see this same FWN#153 “More and Wider Testing”.) He
asked for a list features which distinguished Bugzilla from competitors.
[1]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01430.html
The ability of Bugzilla to deal with a massive number of “products,
components, users, hits per second [with] clustering databases and
similar magic” was advanced[2] by Matej Cepl as the most compelling
reason. Nicholas Mailhot added[3] “feature completeness, familiar UI,
integrating with upstream issue trackers (which are often bugzilla too)”
and Emmanuel Seyman suggested[4]: “And as an encore : it has to contain
109900+ bugs of existing data so that we don’t lose any history.”
[2]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01470.html
[3]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01477.html
[4]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01483.html
A certain amount of impatience with the general idea was expressed[5] by
Matej Cepl when he agreed with Andrew Cagney that one essential feature
would be a “push upstream” button: “AMEN!!! And I think we should
concentrate on this rather than doing stupid bugzilla rewrites. Sorry,
for being harsh, but it is so IMNSHO.” Emmanuel Seyman warned[6] that it
would be necessary to map users, bugs and components across any separate
upstream/downstream instances of bugzilla. He later expanded[7] upon
this: “Bugzilla has gained the abilty to customize statuses and
resolutions, making it even harder to push bugs from one bugzilla to
another with prompting for user interaction.” LaunchPad[8] was
discussed[9] as possibly providing this feature. Casey Dahlin noted[10]
that cross-site integration was still not implemented “[…] because
there should never ever ever be two independent sets of launchpad data
ever, according to their philosophy [.]”
[5]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01611.html
[6]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01615.html
[7]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01622.html
[8] Canonical’s collaborative hosting service https://launchpad.net/
[9]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01616.html
[10]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01539.html
Till Maas suggested[11] several interesting improvements including
“[…] the possibility of having several people beeing responsible for a
Component, which is currently only partly possible. There is the initial
CC list, but when a bug is reassigned to a different component, the
members of the initial CC list of the old component are not removed from
the list.” Other desiderata included storing the NEVR of a package in a
dedicated field and support for the same bug across several different
releases.
[11]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01612.html
The issue of how bugs can actually be fixed cropped up again in the
discussion. Brennan Ashton suggested[12] that triaging bugs was an area
in need of volunteers and provided a link[13] to the BugZappers wiki
page.
[12]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01704.html
[13] https://fedoraproject.org/wiki/BugZappers
=== RFC: Fix Summary Text for Lots of Packages ===
Richard Hughes wished[1] that the Packaging Guidelines on summaries and
descriptions would be followed a little more closely as “[q]uite a lot
of packages have summary text that is overly verbose, and this makes the
GUI and output from pkcon look rubbish.”
[1]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01484.html
Josh Boyer warned[2] against making reviewers’ jobs harder by codifying
too much in the package guidelines and suggested: “Just file bugs for
packages you think are overly verbose. Offer alternate summaries in the
bug, and a URL to your email for rationale.” Bill Nottingham was[3]
dubious that “[…] this scales across 5000 packages. So it would be
good to have at least *something* in the guidelines.” When Richard
compromised on a “soft guideline such as: Summary should aim to be less
than 8 words” David Woodhouse gently poked[4] fun at this summary as
being too wordy.
[2]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01487.html
[3]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01489.html
[4]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01493.html
Toshio Kuratomi expressed[5] disapproval of soft guidelines due to their
potential for sparking many individual disagreements instead of one
single point of contention being handled by the Packaging Committee.
Richard seemed happy enough with Toshio’s suggestion[6] that the
packaging guidelines contain a “best practice” description with
examples.
[5]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01495.html
[6]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01499.html
When Bill Nottingham raised[7] the possibility of “summary collisions”
Jef Spaleta threw out[8] an analogy based on searching for medicine in a
grocery store in a foreign country. This was intended to stimulate
clarification of the function of summaries. Toshio Kuratomi loved[9] it
and suggested that summaries were like the “[…] little advertising
gimicks seen on and alongside the other things on the bottle. Things
like: “New!”, “Larger size”, [Picture of grapes and smiling child], etc.
They’re differentiators that “help” you choose one product over
another.” He provided some concrete examples which seemed to prove his
case.
[7]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01520.html
[8]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01536.html
[9]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01569.html
Michal Hlavinka worried[10] that yum search <keyword> would be disrupted
but Michael Schwendt re-assured[11] him that “‘yum search’ also searches
the package %description. And the description is the place where to be
much more verbose than in the summary. The %summary is not made for
searching, but for enabling the installer and packaging tools to to
display a brief and concise package description or a list thereof. That
means, put a few relevant keywords in the summary (newspaper
headline-style at most), but avoid long/complete sentences as often as
possible. That also makes it easier to fit into one line.”
[10]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01500.html
[11]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01510.html
Later Richard asked[12] for opinions on a sample email which he intended
to send out to some maintainers to alert them to their long package
summaries.
[12]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01640.html
Andrea Musuruane, as an RPM Fusion packager, felt[13] that packagers’
time would be wasted in following the proposal and that a “Summary is
something that the packager should choose on his own. It must be less
than 80 characters and _maybe_ it should not contain the package name.
Everything else is just marketing. If someone thinks that adding the
fact that the application is based on Gnome, it is fine for me. If
someone else thinks that mentioning that other application uses DBUS it
is fine for me too.” Richard clarified[14]: “I’m _not_ saying “change
your summary or we’ll drop your package” I’m asking them to come into
line with 90% of the other packages in the distro. I’m even offering to
do the cvs commit myself, if they give me the new summary line.”
[13]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01654.html
[14]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01656.html
The issue of these changes being made solely to accommodate PackageKit
was addressed[15] by James Antill: “The fact that a single tool decided
that summaries should be used instead of names, and so summaries should
be roughly the same size of names shouldn’t make Fedora packages break
their summaries for other tools … all IMO.” When Emmanuel Seyman
asked[16] exactly how GUI packaging tools made the summary more
prominent than the package name Richard Hughes responded[17] that it was
actually one, but one that was exposed in many places. Emmanuel’s
response was blunt: “FWIW, I don’t appreciate our maintainers being lied
to. The vast majority of them work hard to make their packages and I
believe that a minimum of respect should be shown […] it is a case of
changing one application versus changing 500.” Ville Skyttä took[18] an
overview which left the current user-interface of gnome-PackageKit aside
and concentrated on whether there was agreement that rpmlint should be
taught to check that the package name should not be repeated in the
summary.
[15]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01683.html
[16]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01672.html
[17]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01713.html
[18]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01673.html
Further criticism was made[19] by Christopher Wickert of sorting
packages by description instead of name in PackageKit and Tom Lane
raised[20] the problem of sub-packages needing to reference the name of
their parent package. At this stage it seemed that some consensus had
been reached on the idea that summaries which repeated the program name
were frowned upon and that “verb phrases” should be also be deprecated
as suggested[21] by Ignacio Vazquez-Abrams.
[19]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01721.html
[20]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01733.html
[21]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01532.html
A brief dispute between Andreas Musuruane and Michael Schwendt yielded a
closing statement which seemed[22] to make the case of those that favor
the changes in a strong manner. Michael accepted that: “[i]t isn’t
trivial to come up with good one-line summaries that do more than
repeating the program name. It’s nothing packagers like to spend time
on. Reducing a packager’s freedom even further won’t be a good thing
[…] I think with some people one could argue endlessly about pkg
summaries. And during pkg reviews that’s wasted time. Still, with very
old repositories it has been noticed [and agreed on, mostly] that some
types of summaries simply look poor in Anaconda and package management
tools. That was the rationale for some of the recommendations.”
RichardHughes noted[23] that over the last forty-eight hours many
maintainers had changed their package summaries as requested.
[22]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01753.html
[23]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01764.html
=== Smock: Simpler Mock for Chain Building ===
A couple of announcements were made by Richard Jones. The first was of a
new version of OCaml. The second was[1] of a wrapper script that “[…]
runs on top of mock, allowing you to chain-build a series of RPMs from a
single command.” An example which would “[…] arrange the SRPMs into
the correct order according to their BuildRequires, then build each in
the four separate mock environments Fedora {9,10} {i386,x86_64}” was
provided:
smock.pl —arch=i386 —arch=x86_64 \
—distro=fedora-9 —distro=fedora-10 \
*.src.rpm
[1]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01229.html
Till Maas suggested[2] that local file access URIs[3], such as file:///,
could be used to avoid the need for a webserver and Paul Howarth
confirmed[4] that he had been using mock “[…] like this for *years*
with loopback-mounted ISO images for a low-cost source for the base
repo. It definitely works.”
[2]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01232.html
[3] See RFC1738 section 3.10 http://tools.ietf.org/html/rfc1738
[4]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01264.html
Seth Vidal asked[5] why the wrapper approach had been taken instead of
integrating the functionality into mock and Richard agreed[6] that this
should happen. An initial problem with build requires of the form
“%{name}-devel” failing was quickly fixed[7].
[5]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01238.html
[6]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01239.html
[7]
https://www.redhat.com/archives/fedora-devel-list/2008-November/msg01354.html