Should macro packages co-own /usr/lib/rpm/macros.d, require rpm or do nothing?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello packagers,

I'd like some guidance wrt RPM packages installing macro files to %{rpmmacrodir} (/usr/lib/rpm/macros.d).

Technically this directory is owned by rpm. So following the guidelines at https://docs.fedoraproject.org/en-US/packaging-guidelines/#_file_and_directory_ownership such packages should either explicitly require rpm or co-won the directory.

However, our ...-macros packages don't usually do either. Should they? Or is the "this is RPM, it's always going to be there" argument stronger than the rules? Is RPM actually always guaranteed to be there?

We currently have:

$ repoquery --repo=rawhide -q -f '/usr/lib/rpm/macros.d/*' | pkgname
GConf2
Lmod
MUMPS-srpm-macros
adobe-mappings-cmap-devel
adobe-mappings-pdf-devel
ansible-packaging
ansible-srpm-macros
blender-rpm-macros
blis-srpm-macros
build-constraints-rpm-macros
build2-rpm-macros
clang-devel
cmake-rpm-macros
color-filesystem
copr-frontend-devel
cups-devel
drupal7
drupal7-rpmbuild
efi-srpm-macros
emacs-common
environment-modules
erlang-rpm-macros
fdupes
fedora-gnat-project-common
fedora-release-common
fedora-rpm-macros
ffcall-devel
firewalld-filesystem
folly-rpm-macros
folly-srpm-macros
fonts-rpm-macros
fonts-srpm-macros
fpc-srpm-macros
g2clib-devel
gap-rpm-macros
generic-release-common
ggz-base-libs-devel
ghc-rpm-macros
ghc-rpm-macros-extra
ghc-srpm-macros
gimp-devel
gnat-srpm-macros
gnustep-make
go-rpm-macros
go-srpm-macros
grantlee-qt5-devel
grass-devel
hdf5-devel
httpd-devel
javapackages-bootstrap
javapackages-common
javapackages-filesystem
javapackages-tools
kde-apps-rpm-macros
kde-filesystem
kdevelop-devel
kernel-rpm-macros
kernel-srpm-macros
keyrings-filesystem
kf5-kinit-devel
kf5-rpm-macros
kmodtool
ldc
libint-devel
libint2-devel
liblxqt-devel
libvmaf-devel
lpf
lua-rpm-macros
lua-srpm-macros
meson
mingw-filesystem-base
mingw32-filesystem
mingw32-python3
mingw32-python3-build
mingw64-filesystem
mingw64-python3
mingw64-python3-build
mpich-devel
multilib-rpm-config
musl-devel
nginx-mod-devel
nim-srpm-macros
ninja-build
nodejs-packaging
ocaml-srpm-macros
octave-devel
openblas-srpm-macros
openmpi-devel
osc
package-notes-srpm-macros
pam
perl-Future-AsyncAwait-ExtensionBuilder
perl-Object-Pad-ExtensionBuilder
perl-XS-Parse-Keyword-Builder
perl-XS-Parse-Sublike-Builder
perl-macros
perl-srpm-macros
pesign
php-devel
php-pear
pkgconf
polkit-qt-devel
postgresql-server-devel
postgresql-test-rpm-macros
postgresql-upgrade-devel
pyproject-rpm-macros
pypy-devel
pypy3.9-devel
python-pyqt6-rpm-macros
python-qt5-rpm-macros
python-rpm-macros
python-srpm-macros
python2.7
python3-rpm-macros
qt-devel
qt5-qtbase-common
qt5-qtwebengine-devel
qt5-rpm-macros
qt5-srpm-macros
qt6-qtbase-common
qt6-rpm-macros
qt6-srpm-macros
redhat-rpm-config
redis-devel
rpmautospec-rpm-macros
ruby-devel
rubygems-devel
rust-packaging
rust-srpm-macros
sblim-cmpi-devel
scl-utils-build
scl-utils-build-helpers
selinux-policy
shogun-data
sip
sugar-toolkit-gtk3
systemd-rpm-macros
systemtap-sdt-devel
texlive-base
typelib-srpm-macros
ucrt64-filesystem
urw-base35-fonts-devel
vagrant
vdr-devel
vim-filesystem
web-assets-devel
yast2-devtools
zig-rpm-macros

Out of those, only 2 co-own the directory:

javapackages-bootstrap
python2.7

And only a handful requires RPM.


I could think of two categories of packages installing macros to that directory:

 1) packages that primarily exist to ship the macros
 2) packages that ship macros in addition to their primary function

I think packages from (1) should require rpm (even transitively) and packages from (2) should co-own the directory. Does that make sense?

--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
_______________________________________________
packaging mailing list -- packaging@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to packaging-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/packaging@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite Forum]     [KDE Users]

  Powered by Linux