https://fedoraproject.org/wiki/Changes/rpm_level_auto_release_and_changelog…
== Summary ==
redhat-rpm-config will be updated so users of the auto framework get
automated release and changelog bumping.
== Owner ==
* Name: [[User:nim| Nicolas Mailhot]]
* Email: <nicolas.mailhot at laposte.net>
== Detailed Description ==
This is a system-wide change because all packages build with
redhat-rpm-config, but it only concerns packages that opted to use
this part of redhat-rpm-config (auto framework).
The change will make those packages auto-bump and auto-changelog at
the rpm level, in an infrastructure-independent way.
== Benefit to Fedora ==
Autobumping removes a huge packager shore and makes timestamping in
changelogs more reliable.
== Scope ==
* Proposal owners: The feature is coded and works at the rpm level.
Unfortunately, mock filters away the srpms containing the bump state,
so it does not work in upper layers.
* Other developers: The feature requires buy-in by mock developers
(and probably koji developers) to lift the restrictions that block it
above the rpm level. Also, it requires a mechanism to pass the user
name and email that will be used in bumped changelogs (defining two
variables in ~/.rpmmacros is sufficient at rpm level)
* Mock issue: https://github.com/rpm-software-management/mock/issues/599
* Release engineering: https://pagure.io/releng/issue/9567
* Policies and guidelines: maybe eventually if things work out on the
technical level
* FPC issue: https://pagure.io/packaging-committee/issue/998
* Trademark approval: N/A (not needed for this Change)
== Upgrade/compatibility impact ==
This is a pure build tooling update, it changes how things are built
not what is built.
== How To Test ==
A redhat-rpm-config packages with the changes and some example
packages are available in
https://copr.fedorainfracloud.org/coprs/nim/refactoring-forge-patches-auto-…
Since the mock/copr layer is currently blocking the feature, you need
to install the redhat-rpm-config and forge macro packages available in
this repo locally. Afterwards you can take any of the example packages
in the repo and rebuild them with rpmbuild -ba to your heart content,
and see the releases bump and the changelogs being updated
accordingly.
To get beautiful changelogs, you also need to add
<pre>
%buildsys_name Your name
%buildsys_email Your email
</pre>
in ~/.rpmmacros
== User Experience ==
N/A Packager experience change only
== Dependencies ==
The change is a spin-off of
https://fedoraproject.org/wiki/Changes/Patches_in_Forge_macros_-_Auto_macro…
Therefore, it depends on the success of that other change and will
probably need rebasing if the code in this other change evolves during
the redhat-rpm-config merge.
It also depends on mock / copr/ koji buy-in and changes, that may add
their own requirements.
== Contingency Plan ==
There is no contingency plan because the change will happen or not at all.
== Documentation ==
There is as much documentation as the average redhat-rpm-config change
(ie comments in the macro files themselves)
== Release Notes ==
N/A Packager productivity change only
--
Ben Cotton
He / Him / His
Senior Program Manager, Fedora & CentOS Stream
Red Hat
TZ=America/Indiana/Indianapolis
Following is the list of topics that will be discussed in the FPC
meeting Thursday at 2019-08-15 16:00 UTC in #fedora-meeting-1 on irc.freenode.net.
Local time information (via. uitime):
================= Day: Thursday ==================
2019-08-15 09:00 PDT US/Pacific
2019-08-15 12:00 EDT --> US/Eastern <--
2019-08-15 16:00 UTC UTC
2019-08-15 17:00 BST Europe/London
2019-08-15 18:00 CEST Europe/Berlin
2019-08-15 18:00 CEST Europe/Paris
2019-08-15 21:30 IST Asia/Calcutta
---------------- New Day: Friday -----------------
2019-08-16 00:00 HKT Asia/Hong_Kong
2019-08-16 00:00 +08 Asia/Singapore
2019-08-16 01:00 JST Asia/Tokyo
2019-08-16 02:00 AEST Australia/Brisbane
Links to all tickets below can be found at:
https://pagure.io/packaging-committee/issues?status=Open&tags=meeting
= Followups =
#topic #902 Cleanup & enhance spec files
.fpc 902
https://pagure.io/packaging-committee/issue/902
#topic #904 Caret versioning
.fpc 904
https://pagure.io/packaging-committee/issue/904
#topic #907 Which %__foo macros for executables are acceptable?
.fpc 907
https://pagure.io/packaging-committee/issue/907
#topic #909 Suggest that linting/measuring-coverage is not for %check
.fpc 909
https://pagure.io/packaging-committee/issue/909
#topic #914 Automatic R runtime dependencies
.fpc 914
https://pagure.io/packaging-committee/issue/914
= Open Floor =
For more complete details, please visit each individual ticket. The
report of the agenda items can be found at:
https://pagure.io/packaging-committee/issues?status=Open&tags=meeting
If you would like to add something to this agenda, you can:
* Reply to this e-mail
* File a new ticket at: https://pagure.io/packaging-committee
* E-mail me directly
* Bring it up at the end of the meeting, during the open floor topic. Note
that added topics may be deferred until the following meeting.
Hello,
I'm having a problem I don't understand how to fix, and I would
appreciate some guidance. I'm maintaining nagios-plugins, which bundles
a number of different "check" plugins and has some metapackages that
include different subsets of those check plugins.
In the EL 8.2 release cycle, one of the dependencies of one of those
plugins was moved from EPEL into EL proper, which broke new installs of
that plugin and the -all metapackage. A user filed a bug, so as a
temporary workaround, I stopped building the plugin package with that
dependency (nagios-plugins-ssl_validity, and had that version
(nagios-plugins-2.3.3-3) obsolete the ssl_validity plugin, since leaving
it around caused it to want to keep the base package in conflict with
other packages that were upgrading.
Now that CentOS 8.2 is released, and the dependency is available, I've
issued an update
(https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-70bcfe5382)
that builds ssl_validity again, and also adds it back to the -all
subpackage. I can upgrade it sucessfully (which installs the
ssl_validity plugin again, as expected), but subsequent calls to dnf
upgrade give this error:
Obsoleting Packages
nagios-plugins.x86_64 2.3.3-3.el8 epel
nagios-plugins-ssl_validity.x86_64 2.3.3-4.el8 @epel-testing
nagios-plugins 2.3.3-3 is not installed anymore, and there are no
explicit Obsoletes: in the ssl_validity package. I'm not sure what
needs to be done here, but whatever it is I'm willing to make the
change. Also wondering if this is expected behavior.
Thanks,
Marty
Hello packagers,
I have problems interpreting Packaging Guidelines section File and
Directory Ownership [1] for icons application place in
%{_datadir}/icons/hicolor. I ran into this during package review for
dosbox-x [2], but I think the issue is more general than that, because
many applications add their icons to the (default, fallback) hicolor theme.
So the package places application's icon to
%{_datadir}/icons/hicolor/scalable/apps/dosbox-x.svg. From the
guidelines, it is clear that for all directories in the chain, one of
the following has to be true:
1. Package owns the directory
2. A dependency package owns the directory
3. _filesystem_, _man_ or "other explicitly created -filesystem
package" own the directory
Item 3 takes care of %{_datadir}/icons part, because that is included in
_filesystem_. The remainder hicolor/scalable/apps is unclear for me.
Method 1 could be used. But there is also package _hicolor-icon-theme_.
Is that package an "explicitly created -filesystem package", so method 3
could be used? That would feel natural, because hicolor is the fallback
theme that must exist according to freedesktop.org specification.
Related but separate question about the guidelines: Section Unowned
Directories:Inaccessible Directories [3] discusses a problem that is
only relevant to Fedora < 9 and RHEL < 5.3. It does not really contain
any information that is relevant today. Should that section simply be
removed?
Otto
[1]:
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_file_and_direct…
[2]: https://bugzilla.redhat.com/show_bug.cgi?id=1919639
[3]:
https://docs.fedoraproject.org/en-US/packaging-guidelines/UnownedDirectorie…
Following is the list of topics that will be discussed in the FPC
meeting Thursday at 2021-04-22 16:00 UTC in #fedora-meeting-1 on
irc.freenode.net.
Local time information (via. uitime):
================= Day: Thursday ==================
2021-04-22 09:00 PDT US/Pacific
2021-04-22 12:00 EDT --> US/Eastern <--
2021-04-22 16:00 UTC UTC
2021-04-22 17:00 BST Europe/London
2021-04-22 18:00 CEST Europe/Berlin
2021-04-22 18:00 CEST Europe/Paris
2021-04-22 21:30 IST Asia/Calcutta
---------------- New Day: Friday -----------------
2021-04-23 00:00 HKT Asia/Hong_Kong
2021-04-23 00:00 +08 Asia/Singapore
2021-04-23 01:00 JST Asia/Tokyo
2021-04-23 02:00 AEST Australia/Brisbane
Links to all tickets below can be found at:
https://pagure.io/packaging-committee/issues?status=Open&tags=meeting
= Followup Actions =
#topic #pr-814
* mhroncok
talk to authors again, having a working example might help a lot
= Followup Issues =
#topic #886 Enable BRP for detecting RPATH
.fpc 886
https://pagure.io/packaging-committee/issue/886
#topic #907 Which %__foo macros for executables are acceptable?
.fpc 907
https://pagure.io/packaging-committee/issue/907
#topic #1058 How to handle %lang files in package owned directories? .fpc 1058
https://pagure.io/packaging-committee/issue/1058
= Followup Pull Requests =
#topic #pr-814 Add SELinux Independent Policy Guidelines.
https://pagure.io/packaging-committee/pull-request/814
#topic #pr-1045 WIP: Add discussion of macro names beginning with underscores.
https://pagure.io/packaging-committee/pull-request/1045
= Open Floor =
For more complete details, please visit each individual ticket. The
report of the agenda items can be found at:
https://pagure.io/packaging-committee/issues?status=Open&tags=meeting
If you would like to add something to this agenda, you can:
* Reply to this e-mail
* File a new ticket at: https://pagure.io/packaging-committee
* E-mail me directly
* Bring it up at the end of the meeting, during the open floor topic. Note
that added topics may be deferred until the following meeting.
Hello,
I’m about to create a package for getopt[1], which is hosted on
sr.ht. For this, the import path looks like git.sr.ht/~sircmpwn/getopt
(note the tilde before the username). Using the GitHub username in
package names is straightforward (as stated in [2]), but this tilde
might cause problems.
However, given that all usernames on Sourcehut begins with a tilde, i
guess the correct package name here would be on of these:
- golang-sourcehut-sircmpwn-getopt
- golang-srht-sircmpwn-getopt
Am i correct assuming this?
Also, which one should i use? Based on the service name it should be
“sourcehut”, but based on the service’s domain it should be “srht”.
Best,
Gergely
[1] https://git.sr.ht/~sircmpwn/getopt
[2] https://docs.fedoraproject.org/en-US/packaging-guidelines/Golang/#_naming
Hello Pythonistas.
I'd like to be able to automatically handle Python "namespace" packages from our
packaging macros.
The problem:
Several Python packages share a "namespace", let's take an artificial example
with food.spam and food.eggs Python packages.
1. the Python packages both have site-packages/food
2. sometimes such packages also both have site-packages/food/__init__.py
(usually empty or mostly empty, but with different mtimes etc.)
On RPM level, this means:
1. %{python3_sitelib}/food can be co-owned
OR it can be in an artificial python3-food(-filesystem) package [0]
OR it can be in an existing package that is always present [1]
2. %{python3_sitelib}/food/__init__.py and
%{python3_sitelib}/food/__pycache__/__init__.*.pyc
will conflict if present in multiple packages,
they need to be removed or shared from the python3-food(-filesystem) package
I want to solve this once for all, define the best practice, document it in the
packaging guidelines and possible automate this in %pyproject_save_files [2].
My current idea is:
- sharing directories is safe and easy,
let's do that instead of artificial packages (those are hard to automate)
- namespace packages should not need __init__py with modern Python 3,
let's discourage that
- If needed for %check, the __init__.py + .pyc should be %ghosted [3]
And with the %pyproject_save_files automation, let's say that if
%pyproject_save_files is used with a dot:
%pyproject_save_files food.spam
The dots separates a namespace and:
- food folder is co-owned
- food/__init__.py + .pyc is %ghosted if found, possibly with a warning
- any other Python files in food/ except spam.py or spam/ are not included
In case of nested namespaces (I have never seen that in reality), this can be
applied recursively.
Since %pyproject_save_files takes globs, I propose we split the argument on dot
and treat each part as a separate glob.
An alternate proposal which is less magical, more explicit about the "namespace"
situation but less explicit about what to include requires a special namespace flag:
%pyproject_save_files -N food
This says: Include food supackages, but food is a namespace package:
- food folder is co-owned
- food/__init__.py + .pyc is %ghosted if found, possibly with a warning
- all other Python files in food/ are included
Alternatively, this can be combined together somehow:
%pyproject_save_files -N food spam
But I don't like that.
Thoughts?
[0]
https://src.fedoraproject.org/rpms/python-jaraco-packaging/blob/rawhide/f/p…
[1]
https://src.fedoraproject.org/rpms/python-sphinx/blob/rawhide/f/python-sphi…
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1935266
[3]
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org…
--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
Following is the list of topics that will be discussed in the FPC
meeting Thursday at 2021-04-08 16:00 UTC in #fedora-meeting-1 on
irc.freenode.net.
Local time information (via. uitime):
================= Day: Thursday ==================
2021-04-08 09:00 PDT US/Pacific
2021-04-08 12:00 EDT --> US/Eastern <--
2021-04-08 16:00 UTC UTC
2021-04-08 17:00 BST Europe/London
2021-04-08 18:00 CEST Europe/Berlin
2021-04-08 18:00 CEST Europe/Paris
2021-04-08 21:30 IST Asia/Calcutta
---------------- New Day: Friday -----------------
2021-04-09 00:00 HKT Asia/Hong_Kong
2021-04-09 00:00 +08 Asia/Singapore
2021-04-09 01:00 JST Asia/Tokyo
2021-04-09 02:00 AEST Australia/Brisbane
Links to all tickets below can be found at:
https://pagure.io/packaging-committee/issues?status=Open&tags=meeting
= Followup Actions =
#topic #pr-814
* mhroncok
talk to authors again, having a working example might help a lot
= Followup Issues =
#topic #886 Enable BRP for detecting RPATH
.fpc 886
https://pagure.io/packaging-committee/issue/886
#topic #907 Which %__foo macros for executables are acceptable?
.fpc 907
https://pagure.io/packaging-committee/issue/907
#topic #1058 How to handle %lang files in package owned directories? .fpc 1058
https://pagure.io/packaging-committee/issue/1058
= Followup Pull Requests =
#topic #pr-814 Add SELinux Independent Policy Guidelines.
https://pagure.io/packaging-committee/pull-request/814
#topic #pr-1045 WIP: Add discussion of macro names beginning with underscores.
https://pagure.io/packaging-committee/pull-request/1045
= Open Floor =
For more complete details, please visit each individual ticket. The
report of the agenda items can be found at:
https://pagure.io/packaging-committee/issues?status=Open&tags=meeting
If you would like to add something to this agenda, you can:
* Reply to this e-mail
* File a new ticket at: https://pagure.io/packaging-committee
* E-mail me directly
* Bring it up at the end of the meeting, during the open floor topic. Note
that added topics may be deferred until the following meeting.