Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[todo] check rpmlint warnings and errors on packages #639

Open
thaJeztah opened this issue Mar 8, 2022 · 3 comments
Open

[todo] check rpmlint warnings and errors on packages #639

thaJeztah opened this issue Mar 8, 2022 · 3 comments

Comments

@thaJeztah
Copy link
Member

thaJeztah commented Mar 8, 2022

We should look at the rpmlint warnings and errors on the RPMs; some of them look like "easy fixes", others are bit unclear (need to look into the meaning of each of those);

On CentOS 7

CentOS 7: docker-ce-cli
curl -fsSLO  https://download-stage.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-cli-20.10.13-3.el7.x86_64.rpm

rpmlint ./docker-ce-cli-20.10.13-3.el7.x86_64.rpm
docker-ce-cli.x86_64: E: description-line-too-long C they can run anywhere, from your laptop to the largest cloud compute instance and
docker-ce-cli.x86_64: E: no-changelogname-tag
docker-ce-cli.x86_64: W: unstripped-binary-or-object /usr/libexec/docker/cli-plugins/docker-buildx
docker-ce-cli.x86_64: W: unstripped-binary-or-object /usr/bin/docker
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-container-create.1.gz 155: warning: macro `host':' not defined
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-container-create.1.gz 156: warning: macro `private':' not defined
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-container-create.1.gz 157: warning: macro `':' not defined
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-image-pull.1.gz 253: warning: macro `...' not defined
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-create.1.gz 51: warning: macro `host':' not defined
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-create.1.gz 52: warning: macro `private':' not defined
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-create.1.gz 53: warning: macro `':' not defined
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-inspect.1.gz 251: warning: macro `...' not defined
docker-ce-cli.x86_64: E: non-executable-script /usr/share/bash-completion/completions/docker 0644L /usr/bin/env
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-run.1.gz 1255: warning: macro `You' not defined
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-container-run.1.gz 51: warning: macro `host':' not defined
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-container-run.1.gz 52: warning: macro `private':' not defined
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-container-run.1.gz 53: warning: macro `':' not defined
docker-ce-cli.x86_64: E: unknown-key (MD5
1 packages and 0 specfiles checked; 4 errors, 14 warnings.
CentOS 7: docker-compose-plugin
curl -fsSLO https://download-stage.docker.com/linux/centos/7/x86_64/stable/Packages/docker-compose-plugin-2.3.1-3.el7.x86_64.rpm

rpmlint ./docker-compose-plugin-2.3.1-3.el7.x86_64.rpm
docker-compose-plugin.x86_64: E: no-changelogname-tag
docker-compose-plugin.x86_64: E: statically-linked-binary /usr/libexec/docker/cli-plugins/docker-compose
docker-compose-plugin.x86_64: W: no-documentation
docker-compose-plugin.x86_64: E: unknown-key (MD5
docker-compose-plugin.x86_64: W: empty-%post
docker-compose-plugin.x86_64: W: empty-%preun
docker-compose-plugin.x86_64: W: empty-%postun
1 packages and 0 specfiles checked; 3 errors, 4 warnings.
CentOS 7: docker-scan-plugin
curl -fsSLO https://download-stage.docker.com/linux/centos/7/x86_64/stable/Packages/docker-scan-plugin-0.9.0-3.el7.x86_64.rpm

rpmlint ./docker-scan-plugin-0.9.0-3.el7.x86_64.rpm
docker-scan-plugin.x86_64: E: no-changelogname-tag
docker-scan-plugin.x86_64: E: statically-linked-binary /usr/libexec/docker/cli-plugins/docker-scan
docker-scan-plugin.x86_64: W: no-documentation
docker-scan-plugin.x86_64: E: unknown-key (MD5
docker-scan-plugin.x86_64: W: empty-%post
docker-scan-plugin.x86_64: W: empty-%preun
docker-scan-plugin.x86_64: W: empty-%postun
1 packages and 0 specfiles checked; 3 errors, 4 warnings.
CentOS 7: docker-ce
curl -fsSLO https://download-stage.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-20.10.13-3.el7.x86_64.rpm

rpmlint ./docker-ce-20.10.13-3.el7.x86_64.rpm
docker-ce.x86_64: E: explicit-lib-dependency libcgroup
docker-ce.x86_64: E: description-line-too-long C they can run anywhere, from your laptop to the largest cloud compute instance and
docker-ce.x86_64: E: no-changelogname-tag
docker-ce.x86_64: W: obsolete-not-provided docker-ce-selinux
docker-ce.x86_64: W: obsolete-not-provided docker-engine-selinux
docker-ce.x86_64: W: obsolete-not-provided docker-engine
docker-ce.x86_64: W: unstripped-binary-or-object /usr/bin/dockerd
docker-ce.x86_64: W: unstripped-binary-or-object /usr/bin/docker-proxy
docker-ce.x86_64: E: statically-linked-binary /usr/bin/docker-init
docker-ce.x86_64: W: only-non-binary-in-usr-lib
docker-ce.x86_64: W: no-documentation
docker-ce.x86_64: W: no-manual-page-for-binary docker-proxy
docker-ce.x86_64: W: no-manual-page-for-binary docker-init
docker-ce.x86_64: W: no-manual-page-for-binary dockerd
docker-ce.x86_64: E: unknown-key (MD5
1 packages and 0 specfiles checked; 5 errors, 10 warnings.
CentOS 7: docker-ce-rootless-extras
curl -fsSLO https://download-stage.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-rootless-extras-20.10.13-3.el7.x86_64.rpm
rpmlint ./docker-ce-rootless-extras-20.10.13-3.el7.x86_64.rpm
docker-ce-rootless-extras.x86_64: E: no-changelogname-tag
docker-ce-rootless-extras.x86_64: W: unstripped-binary-or-object /usr/bin/rootlesskit-docker-proxy
docker-ce-rootless-extras.x86_64: W: unstripped-binary-or-object /usr/bin/rootlesskit
docker-ce-rootless-extras.x86_64: W: no-documentation
docker-ce-rootless-extras.x86_64: W: no-manual-page-for-binary dockerd-rootless.sh
docker-ce-rootless-extras.x86_64: W: no-manual-page-for-binary dockerd-rootless-setuptool.sh
docker-ce-rootless-extras.x86_64: W: no-manual-page-for-binary rootlesskit
docker-ce-rootless-extras.x86_64: W: no-manual-page-for-binary rootlesskit-docker-proxy
docker-ce-rootless-extras.x86_64: E: unknown-key (MD5
docker-ce-rootless-extras.x86_64: W: empty-%post
docker-ce-rootless-extras.x86_64: W: empty-%preun
docker-ce-rootless-extras.x86_64: W: empty-%postun
1 packages and 0 specfiles checked; 2 errors, 10 warnings.
CentOS 7: containerd.io
curl -fsSLO https://download-stage.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.5.10-3.1.el7.x86_64.rpm

rpmlint ./containerd.io-1.5.10-3.1.el7.x86_64.rpm
containerd.io.x86_64: W: manpage-not-compressed gz /usr/share/man/man8/ctr.8
containerd.io.x86_64: W: manpage-not-compressed gz /usr/share/man/man8/containerd.8
containerd.io.x86_64: W: manpage-not-compressed gz /usr/share/man/man8/containerd-config.8
containerd.io.x86_64: W: manpage-not-compressed gz /usr/share/man/man5/containerd-config.toml.5
containerd.io.x86_64: E: explicit-lib-dependency libseccomp
containerd.io.x86_64: W: invalid-url URL: https://containerd.io <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:618)>
containerd.io.x86_64: W: self-obsoletion containerd obsoletes containerd
containerd.io.x86_64: W: self-obsoletion runc obsoletes runc
containerd.io.x86_64: E: no-binary
containerd.io.x86_64: W: only-non-binary-in-usr-lib
containerd.io.x86_64: W: no-manual-page-for-binary containerd-shim
containerd.io.x86_64: W: no-manual-page-for-binary runc
containerd.io.x86_64: W: no-manual-page-for-binary containerd-shim-runc-v2
containerd.io.x86_64: W: no-manual-page-for-binary containerd-shim-runc-v1
containerd.io.x86_64: E: unknown-key (MD5
1 packages and 0 specfiles checked; 3 errors, 12 warnings.

On Fedora 35

Checking on Fedora 35 (more current version of RPM)

Fedora 35: docker-ce-cli
curl -fsSLO  https://download-stage.docker.com/linux/fedora/35/x86_64/stable/Packages/docker-ce-cli-20.10.13-3.fc35.x86_64.rpm

rpmlint ./docker-ce-cli-20.10.13-3.fc35.x86_64.rpm
========================================================================================== rpmlint session starts ==========================================================================================
rpmlint: 2.2.0
configuration:
    /usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/licenses.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 1

docker-ce-cli.x86_64: W: unstripped-binary-or-object /usr/bin/docker
docker-ce-cli.x86_64: W: unstripped-binary-or-object /usr/libexec/docker/cli-plugins/docker-buildx
docker-ce-cli.x86_64: E: unknown-key 621e9f35
docker-ce-cli.x86_64: W: position-independent-executable-suggested /usr/libexec/docker/cli-plugins/docker-app
docker-ce-cli.x86_64: W: position-independent-executable-suggested /usr/libexec/docker/cli-plugins/docker-buildx
docker-ce-cli.x86_64: E: non-executable-script /usr/share/bash-completion/completions/docker 644 /usr/bin/env bash
docker-ce-cli.x86_64: E: no-changelogname-tag
docker-ce-cli.x86_64: E: description-line-too-long they can run anywhere, from your laptop to the largest cloud compute instance and
=========================================================== 1 packages and 0 specfiles checked; 4 errors, 4 warnings, 4 badness; has taken 3.3 s ===========================================================
Fedora 35: docker-compose-plugin
curl -fsSLO https://download-stage.docker.com/linux/fedora/35/x86_64/stable/Packages/docker-compose-plugin-2.3.1-3.fc35.x86_64.rpm

rpmlint ./docker-compose-plugin-2.3.1-3.fc35.x86_64.rpm
========================================================================================== rpmlint session starts ==========================================================================================
rpmlint: 2.2.0
configuration:
    /usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/licenses.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 1

docker-compose-plugin.x86_64: E: unknown-key 621e9f35
docker-compose-plugin.x86_64: E: statically-linked-binary /usr/libexec/docker/cli-plugins/docker-compose
docker-compose-plugin.x86_64: W: position-independent-executable-suggested /usr/libexec/docker/cli-plugins/docker-compose
docker-compose-plugin.x86_64: W: no-documentation
docker-compose-plugin.x86_64: E: no-changelogname-tag
docker-compose-plugin.x86_64: W: empty-%preun
docker-compose-plugin.x86_64: W: empty-%postun
docker-compose-plugin.x86_64: W: empty-%post
=========================================================== 1 packages and 0 specfiles checked; 3 errors, 5 warnings, 3 badness; has taken 0.3 s ===========================================================
Fedora 35: docker-scan-plugin
curl -fsSLO https://download-stage.docker.com/linux/fedora/35/x86_64/stable/Packages/docker-scan-plugin-0.17.0-3.fc35.x86_64.rpm

rpmlint ./docker-scan-plugin-0.17.0-3.fc35.x86_64.rpm
========================================================================================== rpmlint session starts ==========================================================================================
rpmlint: 2.2.0
configuration:
    /usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/licenses.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 1

docker-scan-plugin.x86_64: E: unknown-key 621e9f35
docker-scan-plugin.x86_64: E: statically-linked-binary /usr/libexec/docker/cli-plugins/docker-scan
docker-scan-plugin.x86_64: W: position-independent-executable-suggested /usr/libexec/docker/cli-plugins/docker-scan
docker-scan-plugin.x86_64: W: no-documentation
docker-scan-plugin.x86_64: E: no-changelogname-tag
docker-scan-plugin.x86_64: W: empty-%preun
docker-scan-plugin.x86_64: W: empty-%postun
docker-scan-plugin.x86_64: W: empty-%post
=========================================================== 1 packages and 0 specfiles checked; 3 errors, 5 warnings, 3 badness; has taken 0.2 s ===========================================================
Fedora 35: docker-ce
curl -fsSLO https://download-stage.docker.com/linux/fedora/35/x86_64/stable/Packages/docker-ce-20.10.13-3.fc35.x86_64.rpm

rpmlint ./docker-ce-20.10.13-3.fc35.x86_64.rpm
========================================================================================== rpmlint session starts ==========================================================================================
rpmlint: 2.2.0
configuration:
    /usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/licenses.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 1

docker-ce.x86_64: W: unstripped-binary-or-object /usr/bin/docker-proxy
docker-ce.x86_64: W: unstripped-binary-or-object /usr/bin/dockerd
docker-ce.x86_64: E: unknown-key 621e9f35
docker-ce.x86_64: E: statically-linked-binary /usr/bin/docker-init
docker-ce.x86_64: W: position-independent-executable-suggested /usr/bin/docker-init
docker-ce.x86_64: W: obsolete-not-provided docker-ce-selinux
docker-ce.x86_64: W: obsolete-not-provided docker-engine
docker-ce.x86_64: W: obsolete-not-provided docker-engine-selinux
docker-ce.x86_64: W: no-manual-page-for-binary docker-init
docker-ce.x86_64: W: no-manual-page-for-binary docker-proxy
docker-ce.x86_64: W: no-manual-page-for-binary dockerd
docker-ce.x86_64: W: no-documentation
docker-ce.x86_64: E: no-changelogname-tag
docker-ce.x86_64: E: explicit-lib-dependency libcgroup
docker-ce.x86_64: E: description-line-too-long they can run anywhere, from your laptop to the largest cloud compute instance and
========================================================== 1 packages and 0 specfiles checked; 5 errors, 10 warnings, 5 badness; has taken 4.9 s ===========================================================
Fedora 35: docker-ce-rootless-extras
curl -fsSLO https://download-stage.docker.com/linux/fedora/35/x86_64/stable/Packages/docker-ce-rootless-extras-20.10.13-3.fc35.x86_64.rpm

rpmlint ./docker-ce-rootless-extras-20.10.13-3.fc35.x86_64.rpm
========================================================================================== rpmlint session starts ==========================================================================================
rpmlint: 2.2.0
configuration:
    /usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/licenses.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 1

docker-ce-rootless-extras.x86_64: W: unstripped-binary-or-object /usr/bin/rootlesskit
docker-ce-rootless-extras.x86_64: W: unstripped-binary-or-object /usr/bin/rootlesskit-docker-proxy
docker-ce-rootless-extras.x86_64: E: unknown-key 621e9f35
docker-ce-rootless-extras.x86_64: W: no-manual-page-for-binary dockerd-rootless-setuptool.sh
docker-ce-rootless-extras.x86_64: W: no-manual-page-for-binary dockerd-rootless.sh
docker-ce-rootless-extras.x86_64: W: no-manual-page-for-binary rootlesskit
docker-ce-rootless-extras.x86_64: W: no-manual-page-for-binary rootlesskit-docker-proxy
docker-ce-rootless-extras.x86_64: W: no-documentation
docker-ce-rootless-extras.x86_64: E: no-changelogname-tag
docker-ce-rootless-extras.x86_64: W: empty-%preun
docker-ce-rootless-extras.x86_64: W: empty-%postun
docker-ce-rootless-extras.x86_64: W: empty-%post
========================================================== 1 packages and 0 specfiles checked; 2 errors, 10 warnings, 2 badness; has taken 0.4 s ===========================================================
Fedora 35: containerd.io
curl -fsSLO https://download-stage.docker.com/linux/fedora/35/x86_64/stable/Packages/containerd.io-1.5.10-3.1.fc35.x86_64.rpm

rpmlint ./containerd.io-1.5.10-3.1.fc35.x86_64.rpm
========================================================================================== rpmlint session starts ==========================================================================================
rpmlint: 2.2.0
configuration:
    /usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/licenses.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 1

containerd.io.x86_64: W: unstripped-binary-or-object /usr/bin/runc
containerd.io.x86_64: E: unknown-key 621e9f35
containerd.io.x86_64: E: statically-linked-binary /usr/bin/containerd-shim
containerd.io.x86_64: E: statically-linked-binary /usr/bin/containerd-shim-runc-v1
containerd.io.x86_64: E: statically-linked-binary /usr/bin/containerd-shim-runc-v2
containerd.io.x86_64: W: self-obsoletion containerd obsoletes containerd
containerd.io.x86_64: W: self-obsoletion runc obsoletes runc
containerd.io.x86_64: W: position-independent-executable-suggested /usr/bin/containerd-shim
containerd.io.x86_64: W: position-independent-executable-suggested /usr/bin/containerd-shim-runc-v1
containerd.io.x86_64: W: position-independent-executable-suggested /usr/bin/containerd-shim-runc-v2
containerd.io.x86_64: W: no-manual-page-for-binary containerd-shim
containerd.io.x86_64: W: no-manual-page-for-binary containerd-shim-runc-v1
containerd.io.x86_64: W: no-manual-page-for-binary containerd-shim-runc-v2
containerd.io.x86_64: W: no-manual-page-for-binary runc
containerd.io.x86_64: W: manpage-not-compressed gz /usr/share/man/man5/containerd-config.toml.5
containerd.io.x86_64: W: manpage-not-compressed gz /usr/share/man/man8/containerd-config.8
containerd.io.x86_64: W: manpage-not-compressed gz /usr/share/man/man8/containerd.8
containerd.io.x86_64: W: manpage-not-compressed gz /usr/share/man/man8/ctr.8
containerd.io.x86_64: E: explicit-lib-dependency libseccomp
========================================================== 1 packages and 0 specfiles checked; 5 errors, 14 warnings, 5 badness; has taken 3.4 s ===========================================================
@thaJeztah
Copy link
Member Author

thaJeztah commented Mar 8, 2022

More details can be found in https://fedoraproject.org/wiki/Common_Rpmlint_issues

Quick look at some of the warnings/errors:

docker-ce.x86_64: E: description-line-too-long they can run anywhere, from your laptop to the largest cloud compute instance and

https://fedoraproject.org/wiki/Common_Rpmlint_issues#description-line-too-long

Your description lines exceed 79 characters. This is not considered good style.

  • Split your description across multiple lines, ensuring that each line does not exceed 79 characters.
docker-compose-plugin.x86_64: W: no-documentation
docker-scan-plugin.x86_64: W: no-documentation
docker-ce.x86_64: W: no-documentation
docker-ce-rootless-extras.x86_64: W: no-documentation

https://fedoraproject.org/wiki/Common_Rpmlint_issues#no-documentation

Indicates that rpmlint could find no files marked as %doc. There are several instances where this is acceptable:

  • The package really has no documentation. This is rare and in general quite a bad idea; every package should have some sort of documentation and should at least have the text of their license. However, some packages have internal help systems.
  • All of the documentation was included in a -doc subpackage. This would be rare as most packages should have some license text, a changelog or other information that is better placed in the main package instead of a -doc subpackage.
  • This is a subpackage and the relevant documentation was included in the main package. This often happens with the -devel subpackage, but you should at least double check to ensure that any of the package's documentation which is intended for developers is included in the -devel subpackage.
docker-ce-cli.x86_64: W: unstripped-binary-or-object /usr/bin/docker
docker-ce-cli.x86_64: W: unstripped-binary-or-object /usr/libexec/docker/cli-plugins/docker-buildx
docker-ce.x86_64: W: unstripped-binary-or-object /usr/bin/docker-proxy
docker-ce.x86_64: W: unstripped-binary-or-object /usr/bin/dockerd
docker-ce-rootless-extras.x86_64: W: unstripped-binary-or-object /usr/bin/rootlesskit
docker-ce-rootless-extras.x86_64: W: unstripped-binary-or-object /usr/bin/rootlesskit-docker-proxy
containerd.io.x86_64: W: unstripped-binary-or-object /usr/bin/runc

https://fedoraproject.org/wiki/Common_Rpmlint_issues#unstripped-binary-or-object

W: unstripped-binary-or-object /usr/lib64/ruby/site_ruby/1.8/x86_64-linux/do_mysql/do_mysql.so

Solution:- Make sure binaries are executable.

(that description feels incorrect; need to search if it's wrong, and if there's another description)

Also some errors about binaries being statically linked:

docker-compose-plugin.x86_64: E: statically-linked-binary /usr/libexec/docker/cli-plugins/docker-compose
docker-scan-plugin.x86_64: E: statically-linked-binary /usr/libexec/docker/cli-plugins/docker-scan
docker-ce.x86_64: E: statically-linked-binary /usr/bin/docker-init
containerd.io.x86_64: E: statically-linked-binary /usr/bin/containerd-shim
containerd.io.x86_64: E: statically-linked-binary /usr/bin/containerd-shim-runc-v1
containerd.io.x86_64: E: statically-linked-binary /usr/bin/containerd-shim-runc-v2

For the "cli" binaries, that's probably fine / expected (although we would link them dynamically). Not sure about the shim binaries; should they be static?

@thaJeztah
Copy link
Member Author

For the "no docs" issue; for the CLI we're adding the LICENSE, NOTICE, README.md, and MAINTAINERS as docs; perhaps we should do the same for the other packages;

%doc build-docs/LICENSE build-docs/MAINTAINERS build-docs/NOTICE build-docs/README.md

@thaJeztah
Copy link
Member Author

thaJeztah commented Mar 8, 2022

Ah! Running with -v (verbose) prints some extra instructions, e.g.:

(the "unknown key" errors are expected; this was running inside a container, and I didn't install the GPG key)

rpmlint -v ./*.rpm

========================================================================================== rpmlint session starts ==========================================================================================
rpmlint: 2.2.0
configuration:
    /usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/licenses.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 6

containerd.io.x86_64: W: unstripped-binary-or-object /usr/bin/runc
docker-ce.x86_64: W: unstripped-binary-or-object /usr/bin/docker-proxy
docker-ce.x86_64: W: unstripped-binary-or-object /usr/bin/dockerd
docker-ce-cli.x86_64: W: unstripped-binary-or-object /usr/bin/docker
docker-ce-cli.x86_64: W: unstripped-binary-or-object /usr/libexec/docker/cli-plugins/docker-buildx
docker-ce-rootless-extras.x86_64: W: unstripped-binary-or-object /usr/bin/rootlesskit
docker-ce-rootless-extras.x86_64: W: unstripped-binary-or-object /usr/bin/rootlesskit-docker-proxy
This executable should be stripped from debugging symbols, in order to take
less space and be loaded faster. This is usually done automatically at
buildtime by rpm.

containerd.io.x86_64: E: unknown-key 621e9f35
docker-ce.x86_64: E: unknown-key 621e9f35
docker-ce-cli.x86_64: E: unknown-key 621e9f35
docker-ce-rootless-extras.x86_64: E: unknown-key 621e9f35
docker-compose-plugin.x86_64: E: unknown-key 621e9f35
docker-scan-plugin.x86_64: E: unknown-key 621e9f35
The package was signed, but with an unknown key. See the rpm --import option
for more information.

containerd.io.x86_64: E: statically-linked-binary /usr/bin/containerd-shim
containerd.io.x86_64: E: statically-linked-binary /usr/bin/containerd-shim-runc-v1
containerd.io.x86_64: E: statically-linked-binary /usr/bin/containerd-shim-runc-v2
docker-ce.x86_64: E: statically-linked-binary /usr/bin/docker-init
docker-compose-plugin.x86_64: E: statically-linked-binary /usr/libexec/docker/cli-plugins/docker-compose
docker-scan-plugin.x86_64: E: statically-linked-binary /usr/libexec/docker/cli-plugins/docker-scan
The package installs a statically linked binary or object file.

containerd.io.x86_64: W: self-obsoletion containerd obsoletes containerd
containerd.io.x86_64: W: self-obsoletion runc obsoletes runc
The package obsoletes itself. This is known to cause errors in various tools
and should thus be avoided, usually by using appropriately versioned Obsoletes
and/or Provides and avoiding unversioned ones.

containerd.io.x86_64: W: position-independent-executable-suggested /usr/bin/containerd-shim
containerd.io.x86_64: W: position-independent-executable-suggested /usr/bin/containerd-shim-runc-v1
containerd.io.x86_64: W: position-independent-executable-suggested /usr/bin/containerd-shim-runc-v2
docker-ce.x86_64: W: position-independent-executable-suggested /usr/bin/docker-init
docker-ce-cli.x86_64: W: position-independent-executable-suggested /usr/libexec/docker/cli-plugins/docker-app
docker-ce-cli.x86_64: W: position-independent-executable-suggested /usr/libexec/docker/cli-plugins/docker-buildx
docker-compose-plugin.x86_64: W: position-independent-executable-suggested /usr/libexec/docker/cli-plugins/docker-compose
docker-scan-plugin.x86_64: W: position-independent-executable-suggested /usr/libexec/docker/cli-plugins/docker-scan
This executable should be position independent (all binaries should).  Check
that it is built with -fPIE/-fpie in compiler flags and -pie in linker flags.

docker-ce.x86_64: W: obsolete-not-provided docker-ce-selinux
docker-ce.x86_64: W: obsolete-not-provided docker-engine
docker-ce.x86_64: W: obsolete-not-provided docker-engine-selinux
If a package is obsoleted by a compatible replacement, the obsoleted package
should also be provided in order to not cause unnecessary dependency breakage.
If the obsoleting package is not a compatible replacement for the old one,
leave out the Provides.

docker-ce-cli.x86_64: E: non-executable-script /usr/share/bash-completion/completions/docker 644 /usr/bin/env bash
This text file contains a shebang or is located in a path dedicated for
executables, but lacks the executable bits and cannot thus be executed. If the
file is meant to be an executable script, add the executable bits, otherwise
remove the shebang or move the file elsewhere.

containerd.io.x86_64: W: no-manual-page-for-binary containerd-shim
containerd.io.x86_64: W: no-manual-page-for-binary containerd-shim-runc-v1
containerd.io.x86_64: W: no-manual-page-for-binary containerd-shim-runc-v2
containerd.io.x86_64: W: no-manual-page-for-binary runc
docker-ce.x86_64: W: no-manual-page-for-binary docker-init
docker-ce.x86_64: W: no-manual-page-for-binary docker-proxy
docker-ce.x86_64: W: no-manual-page-for-binary dockerd
docker-ce-rootless-extras.x86_64: W: no-manual-page-for-binary dockerd-rootless-setuptool.sh
docker-ce-rootless-extras.x86_64: W: no-manual-page-for-binary dockerd-rootless.sh
docker-ce-rootless-extras.x86_64: W: no-manual-page-for-binary rootlesskit
docker-ce-rootless-extras.x86_64: W: no-manual-page-for-binary rootlesskit-docker-proxy
Each executable in standard binary directories should have a man page.

docker-ce.x86_64: W: no-documentation
docker-ce-rootless-extras.x86_64: W: no-documentation
docker-compose-plugin.x86_64: W: no-documentation
docker-scan-plugin.x86_64: W: no-documentation
The package contains no documentation (README, doc, etc). You have to include
documentation files.

docker-ce.x86_64: E: no-changelogname-tag
docker-ce-cli.x86_64: E: no-changelogname-tag
docker-ce-rootless-extras.x86_64: E: no-changelogname-tag
docker-compose-plugin.x86_64: E: no-changelogname-tag
docker-scan-plugin.x86_64: E: no-changelogname-tag
There is no changelog. Please insert a '%changelog' section heading in your
spec file and prepare your changelog entry using e.g. the 'rpmdev-bumpspec'
command.

containerd.io.x86_64: W: manpage-not-compressed gz /usr/share/man/man5/containerd-config.toml.5
containerd.io.x86_64: W: manpage-not-compressed gz /usr/share/man/man8/containerd-config.8
containerd.io.x86_64: W: manpage-not-compressed gz /usr/share/man/man8/containerd.8
containerd.io.x86_64: W: manpage-not-compressed gz /usr/share/man/man8/ctr.8
This manual page is not compressed with the gz compression method
(does not have the gz extension). If the compression does not happen
automatically when the package is rebuilt, make sure that you have the
appropriate rpm helper and/or config packages for your target distribution
installed and try rebuilding again; if it still does not happen automatically,
you can compress this file in the %install section of the spec file.

containerd.io.x86_64: E: explicit-lib-dependency libseccomp
docker-ce.x86_64: E: explicit-lib-dependency libcgroup
You must let rpm find the library dependencies by itself. Do not put unneeded
explicit Requires: tags.

docker-ce-rootless-extras.x86_64: W: empty-%preun
docker-compose-plugin.x86_64: W: empty-%preun
docker-scan-plugin.x86_64: W: empty-%preun
docker-ce-rootless-extras.x86_64: W: empty-%postun
docker-compose-plugin.x86_64: W: empty-%postun
docker-scan-plugin.x86_64: W: empty-%postun
docker-ce-rootless-extras.x86_64: W: empty-%post
docker-compose-plugin.x86_64: W: empty-%post
docker-scan-plugin.x86_64: W: empty-%post
docker-ce.x86_64: E: description-line-too-long they can run anywhere, from your laptop to the largest cloud compute instance and
docker-ce-cli.x86_64: E: description-line-too-long they can run anywhere, from your laptop to the largest cloud compute instance and
Your description lines must not exceed 80 characters. If a line is exceeding
this number, cut it to fit in two lines.

========================================================= 6 packages and 0 specfiles checked; 22 errors, 48 warnings, 22 badness; has taken 12.6 s =========================================================

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant