Test gating enabled in Bodhi
by Pierre-Yves Chibon
Good Morning Fedorans!
On Thursday, a new version of Bodhi was deployed that enabled Bodhi to
gate updates based on test results. You may notice a "Test Gating
Status" message in the right have side of the page.
One thing to know about this is that there is currently a confusing
issue where Bodhi will say that the tests have failed when the tests
haven't finished running[0]. We are working on solving that issue, but
for now you can just wait a while and it should report the result once
all the tests have finished.
There are three tests that must pass in order for updates to go to stable:
0. dist.depcheck - to make sure the update's dependencies are available.
1. dist.abicheck - to make sure the update's ABI remains stable in a
given Fedora release.
2. AtomicCI pipeline - packages that are part of the Atomic Host *and* include
in their dist-git tests, must have these tests passed in the AtomicCI pipeline
This last requirement only concern packages that are in the Atomic Host while
the first two is enforced for all packages.
We are also working on another CI pipeline that will allow running tests stored
in dist-git for all packages without discrimination.
You are in control of these three tests. The first two can be fixed by
making changes in the spec file, and the latter test is controlled via
the tests in your repo.
Finally, if it turns out you need to push an update through despite of the test
results, you can do so using waiver-cli (dnf install waiverdb-cli). We are
working on integrating this into Bodhi itself, making this easier.
We have started a wiki page to store all of this information and that we will
keep up to date as improvements are done or for any frequent questions coming up:
https://fedoraproject.org/wiki/CI/gating_updates
Please accept my apology in the delay in writing this message. It should
have been sent last week when it was enabled, and it got lost.
Thanks for your attention,
Pierre
[0] https://github.com/fedora-infra/bodhi/issues/2124
6 years, 2 months
F28 Self Contained Change: Enabling Python Generators
by Jan Kurik
= Proposed Self Contained Change: Enabling Python Generators =
https://fedoraproject.org/wiki/Changes/EnablingPythonGenerators
Change owner(s):
* Igor Gnatenko <ignatenkobrain(a)fedoraproject.org,>
* Neal Gompa <ngompa13(a)gmail.com>
This change enables the ability to choose to use the Python module
dependency generator for packages that provide Python Egg/Wheel
metadata.
== Detailed Description ==
There is RPM dependency generator which is able to automatically add
Requires/Provides and other types of dependencies based on egg/wheel
metadata. The part which is generating Provides has been used in
Fedora since Jun 2016 which means by now all packages which provide
egg/wheel metadata have Provides: pythonX.Ydist(xyz) added
automatically. With this change proposal we allow people to opt-in for
using automatic generation of Requires.
All dependencies which are added are generated out of metadata which
means in order to fix them - you need to fix metadata (usually
setup.py or requirements.txt).
Other distributions (such as Mageia, OpenMandriva, and PLD) have been
using this dependency generator for long time already.
In F29 we plan to propose to make generator opt-out.
== Scope ==
* Proposal owners:
Add macros to python-rpm-macros package which enables dependency generator.
* Other developers:
Packagers are advised to replace their hand-crafted list of
dependencies on python libraries with simple macros.
* Release engineering:
#7276: https://pagure.io/releng/issue/7276
* List of deliverables:
N/A (not a System Wide Change)
* Policies and guidelines:
Packaging:Python Guidelines need to reference how to turn on the
feature (simple variable override). #740:
https://pagure.io/packaging-committee/issue/740 .
* Trademark approval:
N/A (not needed for this Change)
--
Jan Kuřík
Platform & Fedora Program Manager
Red Hat Czech s.r.o., Purkynova 99/71, 612 45 Brno, Czech Republic
6 years, 2 months
F28 Self Contained Change: Chinese Default Fonts to Google Noto
by Jan Kurik
= Proposed Self Contained Change: Chinese Default Fonts to Google Noto =
https://fedoraproject.org/wiki/Changes/ChineseDefaultFontsToNoto
Change owner(s):
* Peng Wu <pwu AT redhat DOT com>
Changes the default fonts for Chinese to Google Noto.
== Detailed Description ==
Changes the default fonts for Chinese to Google Noto. each typefaces
will be changed as the following:
* sans-serif
* Source Han Sans -> Noto Sans CJK
* serif
* Source Han Serif -> Noto Serif CJK
* monospace
* Source Han Sans -> Noto Sans Mono CJK
== Scope ==
* Proposal owners:
- Update packages with the proper priority of fontconfig config file
(adobe-source-han-*-fonts, google-cjk-noto-*-sc-fonts and
google-cjk-noto-*-tc-fonts)
- Update comps
* Other developers:
N/A (not a System Wide Change)
* Release engineering:
#7271: https://pagure.io/releng/issue/7271
* List of deliverables:
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)
--
Jan Kuřík
Platform & Fedora Program Manager
Red Hat Czech s.r.o., Purkynova 99/71, 612 45 Brno, Czech Republic
6 years, 3 months
F28 System Wide Change: Rename "nobody" user
by Jan Kurik
= System Wide Change: Rename "nobody" user =
https://fedoraproject.org/wiki/Changes/RenameNobodyUser
Change owner(s):
*Zbigniew Jędrzejewski-Szmek <zbyszek AT in DOT waw DOT pl>
* Lennart Poettering <lpoetter AT redhat DOT com>
Use "nobody:nobody" as the names for the kernel overflow UID:GID pair,
and retire the old "nfsnobody" name and the old "nobody:nogroup" pair
with 99:99 numbers
== Detailed Description ==
Status quo: Fedora statically defines "nobody:nobody" pair with
uid:gid of 99:99 in setup.rpm, and "nfsnobody:nfsnobody" pair with
uid:gid of 65534:65534 in nfs-utils.rpm.
This is problematic in a few different ways:
* 65534:65534 is used by the kernel as the overflow identifier, when
some UID cannot be represented in the current namespace. This applies
to both NFS, but probably more commonly nowadays to UIDs outside of
the current user namespace (e.g. when a file or process owned by a
user from outside of a container). Calling this "nfsnobody" is
misleading.
* the name for the overflow user is only defined when nfs-utils.rpm is
installed. In particular in containers people want to minimize the
number of packages installed, so nfs-utils is likely not to be
installed.
* the static nobody:nobody user/group pair was used for various
services for which weren't "worthy" of creating a dedicated user. This
is a severely misguided concept, because all processes of the nobody
user can ptrace and otherwise interact with each other. Separate users
for each service should be used instead, either normal allocated users
or systemd's DynamicUser's.
* other distributions use either nobody:nobody or nobody:nogroup for
the overflow uid:gid pair, and the different naming in Fedora is
confusing and can lead to incorrect use.
We propose to:
* stop using nfsnobody for the overflow uid/gid names
* stop using nobody for the static user 99 and group 99
* use the nobody:nobody pair of names for 65534:65534
On existing systems, to make upgrades easier:
* if nfsnobody was defined, keep it in /etc/passwd *after* the new
line for nobody:nobody, so that both the old name and the new name map
to the same numbers
* if nobody user or group with number 99 was defined, keep it in
/etc/passwd and /etc/group, but rename to _nobody
The new mapping for nobody:nobody would be implemented in two redundant ways:
* as a static allocation in /etc/passwd and /etc/group managed by setup.rpm
* dynamically provided by the nss-systemd module (by compiling systemd
with -Dnobody-user=nobody -Dnobody-group=nobody).
== Scope ==
* Proposal owners:
- recompile systemd with the right options to get expected answer from
nss-systemd
- propose patches for setup.rpm to add the new mapping and do the
steps listed in Detailed Description on update
- propose patches for nfs-utils to remove the nfsnobody mapping and do
the steps listed in Detailed Description on update
* Other developers:
watch for regressions
* Release engineering:
#7258: https://pagure.io/releng/issue/7258
* List of deliverables:
N/A
* Policies and guidelines:
nothing
(https://fedoraproject.org/wiki/Packaging:Guidelines#Users_and_Groups
already says "Note that system services packaged for Fedora MUST NOT
run as the nobody user" so no changes are required there.)
* Trademark approval:
N/A (not needed for this Change)
--
Jan Kuřík
Platform & Fedora Program Manager
Red Hat Czech s.r.o., Purkynova 99/71, 612 45 Brno, Czech Republic
6 years, 3 months