76 lines
2.0 KiB
Plaintext
76 lines
2.0 KiB
Plaintext
CheckSource Plugin Documentation
|
|
================================
|
|
:author: openSUSE Team at SUSE
|
|
:toc:
|
|
|
|
|
|
Introduction
|
|
------------
|
|
[id="intro"]
|
|
|
|
This plugin checks for usual mistakes and problems in the source
|
|
packages submitted by users. The core of the analysis is done by
|
|
the source-checker Perl script. This script checks, for example, if
|
|
there is a changelog file, if there is a proper license in the SPEC
|
|
file or if the patch is referenced in the changelog.
|
|
|
|
|
|
Installation
|
|
------------
|
|
[id="install"]
|
|
|
|
Clone this repository:
|
|
|
|
-------------------------------------------------------------------------------
|
|
git clone https://github.com/openSUSE/openSUSE-release-tools.git
|
|
-------------------------------------------------------------------------------
|
|
|
|
Link the plugin and the library in +~/.osc-plugins+ or +/var/lib/osc-plugins+.
|
|
|
|
-------------------------------------------------------------------------------
|
|
cd openSUSE-release-tools
|
|
ln -sr ./osc-check_source.py ./osclib ~/.osc-plugins
|
|
-------------------------------------------------------------------------------
|
|
|
|
The program will also search some external scripts (like
|
|
check_source.pl) inside the cloned directory (following the symlink).
|
|
|
|
|
|
Command line
|
|
------------
|
|
[id="cli"]
|
|
|
|
This program is expected to be executed unattended, usually in a loop
|
|
or in a cron job.
|
|
|
|
|
|
Checks done
|
|
-----------
|
|
[id="checks"]
|
|
|
|
The most important checks are done in the Perl script source-checker,
|
|
and can be enumerated as:
|
|
|
|
* Check if there are more than one action in the request.
|
|
|
|
* Check if the request comes from a valid devel project.
|
|
|
|
* Check if the package has a proper name.
|
|
|
|
* Check if the service is running in mode='localonly'
|
|
|
|
* Check if the *.changes file is present.
|
|
|
|
* Check if there is a SPEC file with the same name as the source
|
|
container.
|
|
|
|
* No Vendor line is allowed.
|
|
|
|
* The changelog is updated.
|
|
|
|
* There is a proper license in the SPEC file.
|
|
|
|
* The added / deleted patch is documented in the changelog.
|
|
|
|
* rpmlint report is good.
|