Open Questions - Playground: reviews

Tadej Janež tadej.janez at tadej.hicsalta.si
Wed Mar 26 23:58:10 UTC 2014


On Wed, 2014-03-26 at 17:21 -0400, Marcela Mašláňová wrote: 
> Do you have more concrete proposal? What should we exactly check?

I would go for things that are easy to check automatically, but will
nevertheless ensure better packaging quality.

1) The first set of checks could be automatic single-package checks
already implemented in FedoraReview. In case of ambiguities, a check
could require an additional manual review.
- The spec file name must match the base package %{name} in the format
%{name}.spec. An exception will require manual review.
(https://git.fedorahosted.org/cgit/FedoraReview.git/tree/plugins/generic.py#n1346)
- A package must own all directories that it creates. If it does not
create a directory that it uses, then it should require a package which
does create that directory.
(https://git.fedorahosted.org/cgit/FedoraReview.git/tree/plugins/generic.py#n446,
https://git.fedorahosted.org/cgit/FedoraReview.git/tree/plugins/generic.py#n1020)
- Packages must not own files or directories already owned by other
packages.
(https://git.fedorahosted.org/cgit/FedoraReview.git/tree/plugins/generic.py#n155)
- A package must not list a file more than once in the spec file's %
files listings.
(https://git.fedorahosted.org/cgit/FedoraReview.git/tree/plugins/generic.py#n521)
- Permissions on files must be set properly. Executables should be set
with executable permissions, for example.
(https://git.fedorahosted.org/cgit/FedoraReview.git/tree/plugins/generic.py#n551)
- There should be no config files under /usr
(https://git.fedorahosted.org/cgit/FedoraReview.git/tree/plugins/generic.py#n941)
- All filenames in rpm packages must be valid UTF-8.
(https://git.fedorahosted.org/cgit/FedoraReview.git/tree/plugins/generic.py#n1428)
- The SPEC file shouldn't contain "illegal" tags (i.e. Packager, Vendor,
PreReq, Copyright)
(https://git.fedorahosted.org/cgit/FedoraReview.git/tree/plugins/generic.py#n590)
- A package must use either %{buildroot} or $RPM_BUILD_ROOT.
(https://git.fedorahosted.org/cgit/FedoraReview.git/tree/plugins/generic.py#n837)
- The %makeinstall macro shouldn't be used.
(https://git.fedorahosted.org/cgit/FedoraReview.git/tree/plugins/generic.py#n858)
- A package's name must only use the following ASCII characters ...
(https://git.fedorahosted.org/cgit/FedoraReview.git/tree/plugins/generic.py#n898)
- All build dependencies must be listed in BuildRequires, except for any
that are listed in the exceptions section of the Packaging Guidelines.
An exception will require manual review.
(https://git.fedorahosted.org/cgit/FedoraReview.git/tree/plugins/generic.py#n155)
- The sources of a package must be accessible (downloadable) from URI in
Source: tag
(https://git.fedorahosted.org/cgit/FedoraReview.git/tree/plugins/generic.py#n1764)
- The gtk-update-icon-cache command should be run if required.
(https://git.fedorahosted.org/cgit/FedoraReview.git/tree/plugins/generic.py#n1535)
- The update-desktop-database command should be run if required.
(https://git.fedorahosted.org/cgit/FedoraReview.git/tree/plugins/generic.py#n1564)
- Whenever possible, Fedora packages should avoid conflicting with each
other. An exception will require manual review.
(https://git.fedorahosted.org/cgit/FedoraReview.git/tree/plugins/generic.py#n974)

2) The second set of checks could be automatic inter-package checks.
Again, in case of ambiguities, a check could require an additional
manual review.
- Conflicting package names with packages in the main repository or
existing packages in the Playground repository (even if they differ by
case alone) are not allowed.
(partially implemented in
https://git.fedorahosted.org/cgit/FedoraReview.git/tree/plugins/generic.py#n1475)
- Conflicting files between different packages, either from the main
repository or the Playground repository, are not allowed.

Even if we initially implement the Playground repository with a subset
of the checks, I'd be fine with it.

Tadej



More information about the env-and-stacks mailing list