[Bug 2120661] Review Request: dnf5 - package management library

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

 



https://bugzilla.redhat.com/show_bug.cgi?id=2120661

Petr Pisar <ppisar@xxxxxxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
              Flags|needinfo?(ppisar@xxxxxxxxxx |
                   |)                           |



--- Comment #13 from Petr Pisar <ppisar@xxxxxxxxxx> ---
Indeed the package large. Here are my comments for a rpmlint output:

dnf5.x86_64: W: non-conffile-in-etc /etc/dnf/dnf5-aliases.d/README
This is Ok.

dnf5daemon-server.x86_64: W: non-conffile-in-etc
/etc/dbus-1/system.d/org.rpm.dnf.v0.conf
FIX: This configures access permissions to the D-Bus service. I'm not familiar
with D-Bus, but I believe the file should be marked with `%config(noreplace)'.
It's clearly a configuration file which user may want to modify (e.g. add a
permission to other users). And e.g. avahi package does the same.

dnf5.x86_64: W: no-manual-page-for-binary dnf5
dnf5daemon-client.x86_64: W: no-manual-page-for-binary dnf5daemon-client
dnf5daemon-server.x86_64: W: no-manual-page-for-binary dnf5daemon-server
These are regressions in rpmlint (bug #2132936). Ok.

dnf5-plugins.x86_64: W: no-documentation
Ok.

perl-libdnf5.x86_64: W: no-documentation
perl-libdnf5-cli.x86_64: W: no-documentation
python3-libdnf5.x86_64: W: no-documentation
python3-libdnf5-cli.x86_64: W: no-documentation
ruby-libdnf5.x86_64: W: no-documentation
ruby-libdnf5-cli.x86_64: W: no-documentation
Ok.
TODO: Inform upstream that some documentation would be great. Upstream should
consider adding a dummy documentation which point a reader to a C API
documentation.

libdnf5.x86_64: E: missing-hash-section /usr/lib64/libdnf5.so.1
libdnf5-cli.x86_64: E: missing-hash-section /usr/lib64/libdnf-cli.so.1
This is a new test in rpmlint or a new feature of Fedora toolchain (removal of
SystV hash section. There is still a GNU hash section). Ok.

dnf5-plugins.x86_64: W: description-shorter-than-summary
TODO: The description could name packaged plugins. Once independent plugins
appear, users will ask what's inside dnf5-plugins.


And here are my comments for the packaged files and dependencies:

$ rpm -q -lv -p ../RPMS/x86_64/dnf5-5.0.0-0~pre.fc38.x86_64.rpm 
drwxr-xr-x    2 root     root                        0 Oct  7 10:14
/etc/dnf/dnf5-aliases.d
-rw-r--r--    1 root     root                      166 Oct  4 10:22
/etc/dnf/dnf5-aliases.d/README
-rwxr-xr-x    1 root     root                   960616 Oct  7 10:15
/usr/bin/dnf5
drwxr-xr-x    2 root     root                        0 Oct  7 10:15
/usr/lib/.build-id
drwxr-xr-x    2 root     root                        0 Oct  7 10:15
/usr/lib/.build-id/8e
lrwxrwxrwx    1 root     root                       24 Oct  7 10:15
/usr/lib/.build-id/8e/9303befb3457d311377cc4f2f8febd69256c19 ->
../../../../usr/bin/dnf5
drwxr-xr-x    2 root     root                        0 Oct  7 10:14
/usr/lib/dnf5
drwxr-xr-x    2 root     root                        0 Oct  7 10:14
/usr/lib/dnf5/aliases.d
-rw-r--r--    1 root     root                     4315 Oct  4 10:22
/usr/lib/dnf5/aliases.d/compatibility.conf
drwxr-xr-x    2 root     root                        0 Oct  7 10:14
/usr/lib64/dnf5
drwxr-xr-x    2 root     root                        0 Oct  7 10:14
/usr/lib64/dnf5/plugins
-rw-r--r--    1 root     root                      131 Oct  4 10:22
/usr/lib64/dnf5/plugins/README
drwxr-xr-x    2 root     root                        0 Oct  7 10:14
/usr/share/bash-completion
drwxr-xr-x    2 root     root                        0 Oct  7 10:14
/usr/share/bash-completion/completions
-rw-r--r--    1 root     root                      265 Oct  4 10:22
/usr/share/bash-completion/completions/dnf5
drwxr-xr-x    2 root     root                        0 Oct  7 10:15
/usr/share/licenses/dnf5
-rw-r--r--    1 root     root                      964 Oct  4 10:22
/usr/share/licenses/dnf5/COPYING.md
-rw-r--r--    1 root     root                    18092 Oct  4 10:22
/usr/share/licenses/dnf5/gpl-2.0.txt
-rw-r--r--    1 root     root                      448 Oct  7 10:14
/usr/share/man/man8/dnf5.8.gz
TODO: Section (8) of dnf5 manual page and location (/usr/bin) of the executable
do not match. I recommend moving dnf5 manual to section #1 as the tool can be
used by a regular user, e.g. for "dnf repoquery".

$ rpm -q -lv -p
../RPMS/x86_64/libdnf5-plugin-actions-5.0.0-0~pre.fc38.x86_64.rpm 
drwxr-xr-x    2 root     root                        0 Oct  7 10:15
/usr/lib/.build-id
drwxr-xr-x    2 root     root                        0 Oct  7 10:15
/usr/lib/.build-id/0c
lrwxrwxrwx    1 root     root                       48 Oct  7 10:15
/usr/lib/.build-id/0c/9d6e06e1ebda323152dff4e89f4c07967aca49 ->
../../../../usr/lib64/libdnf5/plugins/actions.so
drwxr-xr-x    2 root     root                        0 Oct  7 10:14
/usr/lib64/libdnf5/plugins
-rwxr-xr-x    1 root     root                   122112 Oct  7 10:15
/usr/lib64/libdnf5/plugins/actions.so
TODO: /usr/lib64/libdnf5/plugins is already owned by dnf5 package. While it's
not against guidelines, I recommend you to choose only one package. Why it's
not libfn5 package? Compare to 
dnf5-plugins which does not own the directory.

$ rpm -q -lv -p ../RPMS/x86_64/dnf5daemon-client-5.0.0-0~pre.fc38.x86_64.rpm 
-rwxr-xr-x    1 root     root                   244304 Oct  7 10:15
/usr/bin/dnf5daemon-client
drwxr-xr-x    2 root     root                        0 Oct  7 10:15
/usr/lib/.build-id
drwxr-xr-x    2 root     root                        0 Oct  7 10:15
/usr/lib/.build-id/12
lrwxrwxrwx    1 root     root                       37 Oct  7 10:15
/usr/lib/.build-id/12/0c5e65bba93042bd48df606cb1a9f366d531c0 ->
../../../../usr/bin/dnf5daemon-client
drwxr-xr-x    2 root     root                        0 Oct  7 10:15
/usr/share/licenses/dnf5daemon-client
-rw-r--r--    1 root     root                      964 Oct  4 10:22
/usr/share/licenses/dnf5daemon-client/COPYING.md
-rw-r--r--    1 root     root                    18092 Oct  4 10:22
/usr/share/licenses/dnf5daemon-client/gpl-2.0.txt
-rw-r--r--    1 root     root                      469 Oct  7 10:14
/usr/share/man/man8/dnf5daemon-client.8.gz
TODO: If provided dnf5daemon-client can be used by a regular user, I recommend
moving the manual page to section 1. Otherwise the executable should be moved
to /usr/sbin.

$ rpm -q -lv -p ../RPMS/x86_64/dnf5daemon-server-5.0.0-0~pre.fc38.x86_64.rpm
-rw-r--r--    1 root     root                      328 Oct  4 10:22
/etc/dbus-1/system.d/org.rpm.dnf.v0.conf
-rwxr-xr-x    1 root     root                   378688 Oct  7 10:15
/usr/bin/dnf5daemon-server
drwxr-xr-x    2 root     root                        0 Oct  7 10:15
/usr/lib/.build-id
drwxr-xr-x    2 root     root                        0 Oct  7 10:15
/usr/lib/.build-id/91
lrwxrwxrwx    1 root     root                       37 Oct  7 10:15
/usr/lib/.build-id/91/d947cdee3d3dbf3359169273a2440a9af6dac7 ->
../../../../usr/bin/dnf5daemon-server
-rw-r--r--    1 root     root                      141 Oct  4 10:22
/usr/lib/systemd/system/dnf5daemon-server.service
-rw-r--r--    1 root     root                     3727 Oct  4 10:22
/usr/share/dbus-1/interfaces/org.rpm.dnf.v0.Goal.xml
-rw-r--r--    1 root     root                     2541 Oct  4 10:22
/usr/share/dbus-1/interfaces/org.rpm.dnf.v0.SessionManager.xml
-rw-r--r--    1 root     root                     4059 Oct  4 10:22
/usr/share/dbus-1/interfaces/org.rpm.dnf.v0.rpm.Repo.xml
-rw-r--r--    1 root     root                    10503 Oct  4 10:22
/usr/share/dbus-1/interfaces/org.rpm.dnf.v0.rpm.Rpm.xml
-rw-r--r--    1 root     root                      119 Oct  4 10:22
/usr/share/dbus-1/system-services/org.rpm.dnf.v0.service
drwxr-xr-x    2 root     root                        0 Oct  7 10:15
/usr/share/licenses/dnf5daemon-server
-rw-r--r--    1 root     root                      964 Oct  4 10:22
/usr/share/licenses/dnf5daemon-server/COPYING.md
-rw-r--r--    1 root     root                    18092 Oct  4 10:22
/usr/share/licenses/dnf5daemon-server/gpl-2.0.txt
-rw-r--r--    1 root     root                     3427 Oct  7 10:14
/usr/share/man/man8/dnf5daemon-dbus-api.8.gz
-rw-r--r--    1 root     root                      469 Oct  7 10:14
/usr/share/man/man8/dnf5daemon-server.8.gz
-rw-r--r--    1 root     root                     1509 Oct  4 10:22
/usr/share/polkit-1/actions/org.rpm.dnf.v0.policy
FIX: Move dnf5daemon-server executable to /usr/sbin.

$ rpm -q --requires -p ../RPMS/x86_64/dnf5-5.0.0-0~pre.fc38.x86_64.rpm | sort
-f | uniq -c
      1 dnf-data
      1 libc.so.6()(64bit)
      1 libc.so.6(GLIBC_2.14)(64bit)
      1 libc.so.6(GLIBC_2.2.5)(64bit)
      1 libc.so.6(GLIBC_2.3.4)(64bit)
      1 libc.so.6(GLIBC_2.32)(64bit)
      1 libc.so.6(GLIBC_2.34)(64bit)
      1 libc.so.6(GLIBC_2.4)(64bit)
      1 libdnf-cli.so.1()(64bit)
      1 libdnf5(x86-64) = 5.0.0-0~pre.fc38
      1 libdnf5.so.1()(64bit)
      1 libfmt.so.9()(64bit)
      1 libgcc_s.so.1()(64bit)
      1 libgcc_s.so.1(GCC_3.0)(64bit)
      1 libgcc_s.so.1(GCC_3.3.1)(64bit)
      1 libsmartcols.so.1()(64bit)
      1 libsmartcols.so.1(SMARTCOLS_2.25)(64bit)
      1 libsmartcols.so.1(SMARTCOLS_2.29)(64bit)
      1 libstdc++.so.6()(64bit)
      1 libstdc++.so.6(CXXABI_1.3)(64bit)
      1 libstdc++.so.6(CXXABI_1.3.9)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.11)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.14)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.18)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.19)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.26)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.29)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.30)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsZstd) <= 5.4.18-1
      1 rpmlib(TildeInVersions) <= 4.10.0-1
      1 rtld(GNU_HASH)
      3 systemd
The dependency on systemd is strange. I believe dnf5 binary package should be
free of systemd. I have no idea why the dependency was generated here.

$ rpm -q --requires -p
../RPMS/x86_64/dnf5daemon-client-5.0.0-0~pre.fc38.x86_64.rpm | sort -f | uniq
-c
      1 dnf5daemon-server
      1 libc.so.6()(64bit)
      1 libc.so.6(GLIBC_2.14)(64bit)
      1 libc.so.6(GLIBC_2.2.5)(64bit)
      1 libc.so.6(GLIBC_2.34)(64bit)
      1 libc.so.6(GLIBC_2.4)(64bit)
      1 libdnf-cli.so.1()(64bit)
      1 libdnf5(x86-64) = 5.0.0-0~pre.fc38
      1 libdnf5-cli(x86-64) = 5.0.0-0~pre.fc38
      1 libdnf5.so.1()(64bit)
      1 libfmt.so.9()(64bit)
      1 libgcc_s.so.1()(64bit)
      1 libgcc_s.so.1(GCC_3.0)(64bit)
      1 libgcc_s.so.1(GCC_3.3.1)(64bit)
      1 libsdbus-c++.so.1()(64bit)
      1 libsmartcols.so.1()(64bit)
      1 libsmartcols.so.1(SMARTCOLS_2.25)(64bit)
      1 libsmartcols.so.1(SMARTCOLS_2.29)(64bit)
      1 libstdc++.so.6()(64bit)
      1 libstdc++.so.6(CXXABI_1.3)(64bit)
      1 libstdc++.so.6(CXXABI_1.3.9)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.11)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.22)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.26)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.29)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.30)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsZstd) <= 5.4.18-1
      1 rpmlib(TildeInVersions) <= 4.10.0-1
      1 rtld(GNU_HASH)
TODO: Can the client talk to dnf5daemon-server over network? If it can, it
should not depend on dnf5daemon-server (multi-host scenario). Otherwise, I
recommend constraining the dependency with exactly the same version-release.

$ rpm -q --requires -p
../RPMS/x86_64/dnf5daemon-server-5.0.0-0~pre.fc38.x86_64.rpm | sort -f | uniq
-c
      3 /bin/sh
      1 dbus
      1 dnf-data
      1 libc.so.6()(64bit)
      1 libc.so.6(GLIBC_2.14)(64bit)
      1 libc.so.6(GLIBC_2.2.5)(64bit)
      1 libc.so.6(GLIBC_2.27)(64bit)
      1 libc.so.6(GLIBC_2.3)(64bit)
      1 libc.so.6(GLIBC_2.32)(64bit)
      1 libc.so.6(GLIBC_2.34)(64bit)
      1 libc.so.6(GLIBC_2.4)(64bit)
      1 libdnf5(x86-64) = 5.0.0-0~pre.fc38
      1 libdnf5-cli(x86-64) = 5.0.0-0~pre.fc38
      1 libdnf5.so.1()(64bit)
      1 libfmt.so.9()(64bit)
      1 libgcc_s.so.1()(64bit)
      1 libgcc_s.so.1(GCC_3.0)(64bit)
      1 libgcc_s.so.1(GCC_3.3.1)(64bit)
      1 libsdbus-c++.so.1()(64bit)
      1 libstdc++.so.6()(64bit)
      1 libstdc++.so.6(CXXABI_1.3)(64bit)
      1 libstdc++.so.6(CXXABI_1.3.9)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.11)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.18)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.19)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.22)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.26)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.29)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.30)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
      1 polkit
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsZstd) <= 5.4.18-1
      1 rpmlib(TildeInVersions) <= 4.10.0-1
      1 rtld(GNU_HASH)
TODO: If the 'dbus' dependency is for /etc/dbus-1/system.d directory, it should
be 'dbus-common'. Fedora has (or had) multiple implementations of D-Bus.

$ rpm -q --provides -p ../RPMS/x86_64/libdnf5-devel-5.0.0-0~pre.fc38.x86_64.rpm
| sort -f | uniq -c
      1 libdnf5-devel = 5.0.0-0~pre.fc38
      1 libdnf5-devel(x86-64) = 5.0.0-0~pre.fc38
      1 pkgconfig(libdnf)
TODO: 'pkgconfig(libdnf)' should be versioned. Report upstream that the
pkg-config file is missing a version field.

$ rpm -q --provides -p
../RPMS/x86_64/libdnf5-cli-devel-5.0.0-0~pre.fc38.x86_64.rpm | sort -f | uniq
-c
      1 libdnf5-cli-devel = 5.0.0-0~pre.fc38
      1 libdnf5-cli-devel(x86-64) = 5.0.0-0~pre.fc38
      1 pkgconfig(libdnf-cli)
TODO: 'pkgconfig(libdnf-cli)' should be versioned. Report upstream that the
pkg-config file is missing a version field.

Otherwise, I cannot see any other problems.


-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
https://bugzilla.redhat.com/show_bug.cgi?id=2120661
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-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/package-review@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux