Commit graph

236 commits

Author SHA1 Message Date
e7160e3afe Add exception for /nix
FESCo approved this in https://pagure.io/fesco/issue/3473:
> AGREED: /nix top-level directory may be used exclusively for Nix
> runtime and package store. It shall not be part of the filesystem
> package, but packages are allowed to create it. (+6, 1, -0)
2025-11-24 14:11:01 +00:00
cb9fe28c99 Remove Drupal 7 guidelines without replacement
Fixes #1213
2025-11-18 06:34:58 -05:00
ed2a4ffadd Clarify difference between run-time scriptlets and build-time Build scripts
The restriction mentioned is likely tied to the build scripts, not the scriptlets.
In that case it is a duplicate with the text after it, so I removed it entirely.
2025-09-09 17:56:23 +02:00
f78fa0e39c Fix two "invalid style for listing block" warnings. 2025-08-14 18:14:15 +00:00
d1e0c27a43 Enhance the 'Compiler Flags' section.
Link to this document:
https://src.fedoraproject.org/rpms/redhat-rpm-config/blob/rawhide/f/buildflags.md
for descibing the correct way to manipulate the  compiler flags.

Set the requirement to:
  "SHOULD avoid editing the 'CFLAGS' etc. environment variables by hand".

The goal of this change is to encourage people to start using the standard
set of macros we have, instead of inventing their own ways to edit
the CFLAGS / CXXFLAGS etc. enviromental variables.

This is a part of this Fedora Change for F43:
  https://fedoraproject.org/wiki/Changes/Package-specific_RPM_Macros_For_Build_Flags
which introduced a set of macros for adding flags at the end of the default set,
which should obsolete any other way people invented to edit the content
of the CFLAGS / CXXFLAGS etc. enviromental variables.

The main advantages are that it is propagated to all calls of the %set_build_flags macro,
in every section, in the whole SPECfile. (instead of just the lines after
the "export CFLAGS" etc. call until the end of the current section)
Also, it is much more auditable.
2025-08-08 10:53:43 +02:00
fdc6483722 Update links to rpmautospec docs site
Signed-off-by: Nils Philippsen <nils@redhat.com>
2025-06-23 17:22:50 +02:00
Björn Persson
a19280b340 updated for the separate GPGverify package 2025-05-10 08:44:40 +02:00
224d8554c5 Get rid of all %patchN usage
Fixes https://pagure.io/packaging-committee/issue/1442
2025-03-28 22:44:48 +01:00
cddb3f7b1b Fix typo 2025-03-24 15:09:26 +00:00
Björn Persson
b0f7889c3d Documented one-to-many replacement. 2025-01-09 17:33:12 +00:00
Peter Oliver
af67f0352b New guidelines for Tree-sitter parsers 2025-01-09 17:16:13 +00:00
Jonathan Steffan
e238f14b91 Fix xref:Unversioned_shared_objects.adoc 2024-10-05 16:27:04 -06:00
aea3bb78be Update qt linguist section
qt-devel is for qt4 only and is no longer used.
Nowdays the qt linguist tools get pulled in by dependencies whenever the kfX-rpm-macros or qtX-qttools-devel is installed.
But, for those cases where neither of those packages are added, and the Qt Linguist tool chain is needed, we should require qt6-linguist.

Signed-off-by: Troy Dawson <tdawson@redhat.com>
2024-09-25 15:51:28 +00:00
Brian (bex) Exelbierd
9331ee8cfc clarify summary and description section
Merges: #912
2024-09-20 00:17:48 -05:00
cee672ed92
Remove tautology
Add comma to help with readability.

Signed-off-by: Chihurumnaya Ibiam <ibiam@sugarlabs.org>
2024-09-08 17:34:59 +01:00
cb89e727d9
Add comma
It contributes to meaning, adding it back.

Signed-off-by: Chihurumnaya Ibiam <ibiam@sugarlabs.org>
2024-09-08 15:01:48 +01:00
48573d3c81
Move comma
Its previous position made the statement difficult
to read.

Signed-off-by: Chihurumnaya Ibiam <ibiam@sugarlabs.org>
2024-09-07 17:52:28 +01:00
Davide Cavalca
aee8da2261 Drop obsolete guidance for sysctl.d and binfmt.d 2024-08-22 16:19:01 +00:00
James Antill
763e981fc4 Reapply "Recommend avoiding macros in file depenencies"
This reverts commit 948afc37be.
2024-08-01 14:00:51 -04:00
948afc37be Revert "Recommend avoiding macros in file depenencies"
This reverts commit 35d89f0f3f.

Expanding `%{_bindir}` does not help with deciding, where some specific
tool comes from. Paths must always be taken with care.
2024-08-01 16:35:24 +00:00
James Antill
308b5422d9 Merge #1368 Initial unversioned SONAME handling policy. 2024-08-01 16:28:59 +00:00
7db48db638 Document that Summary tag should not end in a period.
Copying this from "Tags and Sections" for convenience.
2024-07-23 08:36:55 +00:00
Jonathan Steffan
c29853b9a1 Update DSO Packaging Guidelines
- Add dedicated section for unversioned SONAMEs
- Detail Vulkan and OpenXR filesystem layout
- Detail loader configuration
2024-07-18 17:39:00 +00:00
1ad96626e4 BRP scripts: add short subsection about add-determinism
https://fedoraproject.org/wiki/Changes/ReproduciblePackageBuilds

Note that I added some more information to
/usr/lib/rpm/macros.d/macros.build-reproducibility upstream, but
it's not visible in Fedora package yet. See
https://github.com/keszybz/add-determinism/blob/main/rpm/macros.build-reproducibility
for the latest version.
2024-06-18 15:20:34 +02:00
aef334b8f2 BRP scripts: update advice
The command to get a list of scripts was outdated, since a bunch
of them are pulled in via %_os_install_post_python, and since
https://fedoraproject.org/wiki/Changes/ReproduciblePackageBuilds,
via %__os_install_post_build_reproducibility.
2024-06-18 15:20:34 +02:00
92d0338f36 Update packaging tutorial link
The creating-rpm-packages page no longer exists.  There is a page-alias
for it, but that alias broke recently and our link didn't work for a
period of time.  It will be more resiliant to use the direct link
instead of relying on the alias.

https://pagure.io/fedora-docs/package-maintainer-docs/issue/160
https://pagure.io/fedora-docs/package-maintainer-docs/pull-request/155
2024-06-14 14:55:01 -05:00
f80e2dc641 Describe the file system after sbin-bin merge
https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin

Since now %_sbindir is the same %_bindir, relegate it to the
compat section. Use "/usr/bin" or "%{_bindir}" everywhere.
2024-04-25 16:20:57 +00:00
Björn Persson
45ff3fa830 URLs in Patch tags should also use https:. 2024-04-23 16:54:45 +02:00
Björn Persson
85d4593d29 URL and Source tags should use https:. 2024-04-20 14:44:49 +02:00
James Antill
d20f4a1427 Merge #1357 Add note about debugsourcefiles.list`` 2024-04-18 16:34:52 +00:00
2fe6a793b9 Drop historical rule for canonical file locations
rpm uses the location listed in %files as the canonical location of a file.
This is the location that must be used in Requires to refer to files.
(In other words, even though /bin is a symlink to /usr/bin, and /bin/foo
is really /usr/sbin/foo in the file system, if the package has /bin/foo
in %files, Requires:/usr/bin/foo is not going to work.)

When UsrMove was implemented 10+ years ago, the real locations in the file
system were changed from /[b]bin/* to /usr/[b]bin/*, but as a compatibility
measure, a packaging rule was introduced where the location reported in %files
was supposed to stay unchanged, so that other packages which used file
dependencies wouldn't need to be updated. The rule means that the packager needs
to figure out where the file was located "historically" and make %files conform
to that. This obviously made the transition easier, but I think it's time to
retire this rule. In fact, I think the rule has been mostly forgotten, because
it doesn't seem to be widely known or followed and many important packages
violate it (for example util-linux, systemd).

In fact the rule now it makes the life of packagers harder, because they cannot
just check where the file is located, they need to do the dance where they check
the canonical location of the file:
  rpm -ql $(rpm -qf /usr/sbin/ifconfig)|grep sbin/ifconfig

We can make packaging easier by removing the rule. It's possible that some
packages using file dependencies will need to be adjusted, but it's probably not
many and it should be simple to fix them.

Once the rule is removed from Packaging Guidelines, we can simplify packages
that still take the extra steps to followed the rule to just list files normally
in %files.

I noticed this rule when preparing for the unification of /usr/bin and /usr/sbin
(https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin). It's not
strictly necessary, but I think that if we simplify file locations, it's good
to get rid of this old complex rule too.
2024-04-18 16:24:51 +00:00
Cristian Le
2583140978
Add note about debugsourcefiles.list 2024-04-09 14:22:57 +02:00
2d6315138f Avoid mentioning X when defining a desktop app
Simply replacing the term "X window" with simple "window" also covers
Wayland, which is already the default in Fedora.

Fixes #1315
2024-03-29 16:44:33 +00:00
0a5966a417 Fix formatting in Dependency Types section
1. Add missing backtick
2. Remove whitespace from start of line, which confuses po4a

Fixes #1316
2024-03-28 17:24:49 +00:00
8ee8319f86 Change filepath dependency policy to "MUST NOT"
See https://pagure.io/fesco/issue/3097.
2023-12-01 15:47:22 +00:00
a48e1f08c9 Fix broken internal reference
Fixes #1317
2023-11-08 20:45:46 -06:00
Carl George
a21071b51f Fix formatting in the "Requiring Base Package" section
This section has some incorrect formatting and duplicate phrasing.
2023-09-21 15:32:45 -05:00
3207b29c1f Properly format some RPM macros. 2023-08-24 12:40:41 -05:00
3bea10d3e1 Fix list formatting
It seems that somehow the space after the asterisks was not an ASCII
space and this threw off the formatting.
2023-08-24 12:35:46 -05:00
53c99ecb46 Fix list mangled in the wiki conversion. 2023-08-11 21:23:40 +00:00
0cd555fc6e Adjust "Renaming or replacing" for rpmautospec
When rpmautospec is used, %{dist} is not directly visible to the maintainer,
so adjust the text to use ".fcNN" instead, which is what the maintainer will
see when %autorelease is expanded. With this adjustment, the text should apply
to both %autorelease and traditional release handling.

Also, add a note to point the maintainer to 'rpmautospec calculate-release'.

Change '<=' to '<' in one more place: '<=' is just confusing, because equality
generally cannot be achieved because of %{dist} and the operator was changed
to '<' in most places, but apparently forgotten here.

Addresses https://pagure.io/fedora-infra/rpmautospec/issue/225.
2023-05-08 11:15:00 +02:00
67b6169de9 Adjust guidelines for %autorelease+%autochangelog
See https://fedoraproject.org/wiki/Changes/Rpmautospec_by_Default

The general approach is the the previous recommendations are described
with "may" and moved to the end or to a separate page. Use of
rpmautospec is shown briefly, but with enough information for normal
packaging workflows. Links are provided to the rpmautospec docs in
case packagers need more information.
2023-05-08 11:15:00 +02:00
e5671d7e98 file and dir dependencies: mention explicit path dependencies, reorder
The text is inverted, to list the allowed uses first, and then to exclude the
unwanted ones.

The text didn't mention the case where one package has an explicit
Provides:/some/path and another package uses
Requires|Recommends|Suggests:/some/path. Those explicit Provides are included in
the primary metadata and can be used with no problem and they are sometimes
useful to coordinate functionality between packages.

Also, with dnf5 the split between "primary" and "filelists" metadata matters
again, and the latter is not dowloaded by default. So reword the explanation
a bit to discourage packagers from using it.

The rule is extended to also cover directories. I suspect that the omission was
just clumsy language and not intentional.
2023-03-16 12:46:46 +00:00
Carl George
2bd983c83f Indicate that MUST, SHOULD, etc. follow the RFC 2119 definitions 2023-02-16 04:34:29 +00:00
Carl George
6c9d9c08da Remove duplicate tables of contents
The Fedora docs theme now defaults to placing a table of contents on the
right hand side, so we don't need to set these attributes.
2023-01-31 21:57:45 -06:00
6d6e506d42 fix changed rpmlint parameters 2022-12-21 20:20:30 +01:00
dcea63f194 Port the merge from:
https://pagure.io/packaging-committee/pull-request/1045

From: Jason Tibbitts <tibbs@math.uh.edu>

This extends the existing mention of macro forms of system executables.
2022-10-20 13:03:12 -04:00
0488db476a Fix xref to legal docs 2022-08-03 20:49:53 +03:00
f9d9b23889 fix link to internal doc link 2022-07-28 14:44:34 +00:00
3834f526ec Update link to licensing info
Update link to licensing info on packaging landing page
2022-07-27 23:28:25 +00:00