openSUSE-release-tools/docs/check_source.asciidoc

76 lines
2.0 KiB
Plaintext
Raw Normal View History

2014-06-11 18:00:08 +02:00
CheckSource Plugin Documentation
================================
:author: openSUSE Team at SUSE
:toc:
Introduction
------------
[id="intro"]
2021-03-05 01:42:52 +00:00
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
2014-06-11 18:00:08 +02:00
there is a changelog file, if there is a proper license in the SPEC
2021-03-05 01:42:52 +00:00
file or if the patch is referenced in the changelog.
2014-06-11 18:00:08 +02:00
Installation
------------
[id="install"]
Clone this repository:
-------------------------------------------------------------------------------
git clone https://github.com/openSUSE/openSUSE-release-tools.git
2014-06-11 18:00:08 +02:00
-------------------------------------------------------------------------------
Link the plugin and the library in +~/.osc-plugins+ or +/var/lib/osc-plugins+.
-------------------------------------------------------------------------------
cd openSUSE-release-tools
2014-06-11 18:00:08 +02:00
ln -sr ./osc-check_source.py ./osclib ~/.osc-plugins
-------------------------------------------------------------------------------
2021-04-20 06:59:59 -04:00
The program will also search some external scripts (like
check_source.pl) inside the cloned directory (following the symlink).
2014-06-11 18:00:08 +02:00
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:
2021-03-05 01:42:52 +00:00
* Check if there are more than one action in the request.
2014-06-11 18:00:08 +02:00
* Check if the request comes from a valid devel project.
2021-03-05 01:42:52 +00:00
* Check if the package has a proper name.
2014-06-11 18:00:08 +02:00
* Check if the service is running in mode='localonly'
* Check if the *.changes file is present.
2021-03-05 01:42:52 +00:00
* Check if there is a SPEC file with the same name as the source
2014-06-11 18:00:08 +02:00
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.