Earlier this week, I wrote a script to check and add all Golang packages to
Anitya. Everything went smoothly, and dozens of packages were registered and
got their version retrieved.
Since our float of Golang packages is severely out of date, I was expecting a
load of new messages from Bugzilla. But niet, nada, zilch: no new bug were
filed as part of this process.
So is Anitya broken again? Is it not supposed to fill bugs for new versions?
For example, I registered golang-github-montanaflynn-stats:
Latest version upstream is 0.5.0
Version in Fedora is 0.2.0
Yet no bug was filled for it.
Any help please?
Fedora prohibits the use of rpath, ref
When compiling varnish with litbool, I ensure this by the usual
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g;
However, during build and check, I need access to a library in the
build. For example, the test suite uses the binary varnishtest to
access libvarnishapi.so.2, which is not visible as the package is not
I have gotten around this by putting in LD_LIBRARY_PATH where I need,
but rpmlint gives me a warning on that.
Are there other possibilities to solve this?
So at last week's Fedora 30 Beta Go/No-Go meeting, it was decided that
the Basic release criterion:
"Boot menu contents
The boot menu for all supported installer and live images should
include an entry which causes both installation and the installed
system to use a generic, highly compatible video driver (such as
'vesa'). This mechanism should work correctly, launching the installer
or desktop and attempting to use the generic driver."
should no longer apply to Beta - i.e. that it should no longer be a
Basic or Beta criterion.
The justification for this is, I hope I am correctly representing all
views here (please say so if not), that this mechanism is both less
necessary (due to a general reduction in the amount of 'weird' graphics
hardware out there, and general improvement in the reliability and
coverage of the major drivers for the major graphics hardware
manufacturers) and inherently less likely to work (due to the general
trend of work on kernel modesetting and Wayland) than it used to be.
For context, it is worth noting that the *feature* predates the
introduction of both kernel modesetting *and* Wayland to Fedora. What
the feature initially did was tell anaconda to write an X config file
specifying the 'vesa' driver (instead of working out the correct
'native' driver for the adapter and writing a config file specifying
that). After KMS was introduced in Fedora 10, the mechanism was tweaked
to also pass the 'nomodeset' kernel parameter to disable KMS. Around
2012 (https://bugzilla.redhat.com/show_bug.cgi?id=858270) we noticed
that the X config file mechanism was a bit superfluous as 'nomodeset'
alone could basically be relied on to force some sort of 'fallback
mechanism', and so the feature was simplified to *only* specify the
'nomodeset' kernel parameter (this is all it does now).
The *criterion* dates to 2010, in the Fedora 15 release cycle: it
appears in the Fedora 15 Alpha criteria but not the Fedora 14 Alpha
criteria. It was added on 2010-08-16:
The group at the meeting did not, however, make any further decisions,
so this leaves us with some open questions:
0) Do we generally agree with the decision made at the meeting? If
anyone (especially a subject matter expert) strongly believes the
decision was wrong and this should still be a Basic/Beta requirement,
please say so.
1) Should the criterion be modified somehow, but some requirement in
relation to some kind of fallback graphical mode be kept at Basic or
2) Should the criterion be moved to Final, unchanged or changed
3) Should the requirement just basically be dropped entirely as no
4) (This one mainly for ajax and airlied) to what extent does the
concept of a 'fallback option' for our supported desktop environments
and graphical servers still actually make sense? Could a different
implementation of the same basic idea be envisaged, and would it be
useful? If so, should we do that, and what would be the consequences
for the criteria?
I realize this is quite a big and fuzzy topic, but I'm hoping the
responses to this mail will clarify our path :) So if you have any kind
of useful information or strong opinions on the general area here,
please do contribute them, and hopefully a clearer way forward will
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net
It looks like the first round of orphans has been taken in by our SIG - this
seemed to be a good time to do inventory and think about how to proceed.
First of all, I've written a small script  that produces a simple HTML page
of the current status of the stewardship-SIG packager group. Pull Requests to
improve the report are welcome.
The current status is available at . I will try to update that page
Also, I've tried to run some repoqueries to determine which of our packages are
leaf packages that could be retired eventually. However, running repoqueries on
f29 against the rawhide repos crashed dnf for some reason ... so I can't
automate that easily, yet.
I've tried coming up with a repoquery call that lists all packages that
(Build)Require some given argument package, which we could then use to prune the
list of packages maintained by this SIG. Can somebody please sanity-check what I
did here  and here ? It would be good if we had a "correct" version of
those dependency checks. PRs to fix/improve those scripts are very welcome.
Since I'm already talking about Pull Requests, I've created a pagure project 
for our group, where we can have a ticketing system (for example, where change
of ownership for packages or retirement of leaf packages can be tracked), and
a collection of shared scripts and tools which can automate some of our
recurring tasks. The three scripts I mentioned will be moved there, as well.
That's all for now.
== Summary ==
We want to gate packages on test results before they can land in
rawhide. This will reduce the amount of broken dependency,
uninstallable packages and broken composes leading to a more stable
rawhide as well as less work on the infrastructure and rel-eng teams
to keep composes working.
This project will be split in two phases, at first only single package
updates will be supported, in a second stage, we will add support for
This proposal is about the phase 1 of this project.
== Owner ==
* Name: [[User:pingou|Pierre-Yves Chibon]]
* Email: pingou - pingoured.fr
People who are/will be involved in this:
* Coordinator: [[User:pingou|Pierre-Yves Chibon]]
* Bodhi: [[User:bowlofeggs|Randy Barlow]] and [[User:abompard|Aurélien Bompard]]
* Fedora CI: [[User:dperpeet|Dominik Perpeet]]
== Detailed Description ==
Querying the Bodhi database, it was revealed that 95% of all our
updates involve a single package.
To be exhaustive, here are the exact number found by Randy:
Of all time:
Single build updates: 123,657 (94.1%)
Multi build updates: 7,766 ( 5.9%)
Single: 4,675 (93.7%)
Multi: 316 ( 6.3%)
Single: 9,153 (94.5%)
Multi: 536 ( 5.5%)
Single: 12,664 (94.0%)
Multi: 814 ( 6.0%)
When considering gating rawhide package updates on test results, we
need to consider two workflows: single package updates, multi-package
updates. This proposal only considers the single package updates
proposal]] will be submitted in the future to support the multi
package updates workflow.
At first we want to build the system allowing to gating rawhide,
packagers will '''opt-in into gating'''
using greenwave's opt-in gating mechanism] as they want. We will also
offer a way to '''opt-out''' so packages depending on other packages
can still be built without issues.
We do not aim at making any tests mandatory as part of these
proposals. Once the two proposals have been deployed it will be up to
the community and likely FESCo to decide if they would like to enforce
some rules on all packages and which ones.
Note that this proposal completes previous initiative such as
=== Workflows ===
Single_package_GatingRawhide_bodhi.png|Single package update with gating
== Benefit to Fedora ==
* As more packagers opt-into gating and add tests to their packages,
rawhide becomes more stable
* More stable rawhide will lead to easier composes and a smoother
* Ability to use chain-build in rawhide and stable releases
== Scope ==
The scope of this work is adding a mechanism to gate single package
updates before they enter the rawhide buildroot (and thus become
accessible to others) so broken packages are kept out and cannot
affect other packages or the compose until they are fixed by their
'''The CI system, the tests and the decision on which tests are used
to gate upon are out of scope for the present document.'''
* Proposal owners: pingou will be coordinating the work among the
different stack holder
* Other developers:
** Bodhi developers: Implement the needed changes
** infrastructure: deploy the new version of bodhi and the new koji plugin
* Release engineering: https://pagure.io/releng/issue/8183
* Policies and guidelines: Once the entire system is in place, FESCo
may want to set a policy on distribution-wide gating (ie: tests that
would be enforced for all packages in the distributions). This is
however out of scope of this proposal.
* Trademark approval: N/A (not needed for this Change)
=== Application impacted ===
==== Bodhi ====
* Single package update
** We will need to write a message-bus listener that will
automatically create a bodhi update for each package built in the
** We will need to write a message-bus listener to automatically push
bodhi updates created for rawhide that have passed CI (the decision
being announced by Greenwave).
* Bodhi will comment on the updates when greenwave's decision about an
update is known
** This will notify users about the test results and the corresponding
==== Greenwave / WaiverDB ====
Nothing should change for these tools but we will have to confirm this
and test in staging that they behave as expected.
==== CI system ====
Nothing should change for the CI system but we will have to confirm
this and test in staging that they behave as expected.
== Upgrade/compatibility impact ==
== How To Test ==
# Add tests to a package you maintain in Fedora using the [[
CI/Quick_Start_Guide ]] documentation (see the full [[CI|CI
documentation ]] for more information).
# Update your package in rawhide
# Ensure that the bodhi update is automatically created
# Check that the tests have properly ran (see the Tests tab in the bodhi update)
# Ensure that the bodhi update went through to rawhide once the tests passed
== User Experience ==
=== Single package update ===
fedpkg clone rpms/foobar
git commit -am "Git commit message"
If the CI tests pass, the package will land in rawhide, if they fail the user
will be able to go to bodhi to see what failed and why as well as waiving the
failed tests if needed.
=== Multi package update with single package update gating ===
fedpkg clone rpms/foobar
git commit -am "Update of foobar to update foo to 1.2"
fedpkg build --target=rawhide-candidate
fedpkg clone rpms/foobaz
git commit -am "Update of foobaz to update foo to 1.2"
fedpkg build --target=rawhide-candidate
fedpkg clone rpms/foo
git commit -am "Update foo to 1.2"
fedpkg build --target=rawhide-candidate
Users are practically by-passing the gating process by specifying a
specific build target.
== Dependencies ==
** bus listener to automatically create updates when a build happens in rawhide
** bus listener to automatically push updates who passed gating
according to greenwave
** comment on updates about gating status change/announce to notify
packagers about it
== Contingency Plan ==
We can keep doing rawhide as we are doing it today.
== Documentation ==
To be written/updated
List of documentation pages to update:
Fedora Program Manager
There was a bug filed recently that indicated that printing was
broken on certain printers. As a result of that discussion, it became
apparent that there was no criteria for printing to work at all, which
seems like an oversight.
I discussed this briefly with Matthias Clasen this morning and he
agreed that this should be treated as blocking for Workstation.
I'd like to propose that we add the following criteria to Beta for Fedora 30+:
* Printing must work on at least one printer available to Fedora QA.
"Work" is defined as the output from the device matching a preview
shown on the GNOME print preview display. (Note that differences in
color reproduction are not considered "non-working".)
and this to Final for Fedora 30+:
* Printing must work on at least one printer using each of the
(I don't know which ones to specify here, but we ought to try to
figure out a cross-section that covers a large swath of our expected
[tkloczko@domek SPECS.fedora]$ egrep -w "popd|pushd" * -l| wc -l
Looks like many Fedora packagers forgot that ..
[tkloczko@domek SPECS.fedora]$ rpm -E %_buildshell
I'm not sure is it would be good to post full list of all spec files here ..
Tomasz Kłoczko | LinkedIn: http://lnkd.in/FXPWxH