[csw-maintainers] checkpkg: File collision detection available for testing

Maciej (Matchek) Blizinski maciej at opencsw.org
Wed Dec 8 10:34:59 CET 2010


File collision checking has been introduced at the package release
level some time ago.  Some packages have been (rightfully) rejected on
the grounds that they provided a file already existing in another
package in the catalog.  The inconvenience in the process was that
there was no checking against file collisions during maintainer's
work.  Only after the package was submitted for release, and the
release manager tried to insert the file into the database, potential
collision problems were detected.  I've set out to tackle this problem
and implement file collision checking at checkpkg level.

The change in checkpkg was substantial, as the whole database backend
had to be reworked to a new model.  Overall, the change involved 43
files, with 3825 line insertions and 1979 line deletions (so far).
The new code currently breaks compatibility with automatically managed
cached databases, which is how checkpkg must work outside the
buildfarm.  In the meantime, checkpkg is ready to be tested on the
buildfarm.

When running the new version of checkpkg, you may see something like:

CHECKPKG_OVERRIDES_CSWlibnspr4 +=
file-collision|/opt/csw/share/aclocal/nspr.m4|CSWlibnspr4|CSWmozilla|CSWsunbird

This means, that the file /opt/csw/share/aclocal/nspr.m4, if your
package CSWlibnspr4 was inserted into the catalog, would be owned by 3
packages: CSWlibnspr4, CSWmozilla and CSWsunbird.

If you want to check the new version, please clone my git repository.
Here's an example usage scenario:

cd ~/src
git clone -b collisions \
http://buildfarm.opencsw.org/~maciej/opencsw.git \
opencsw-new-checkpkg
ln -s ~/src/opencsw-new-checkpkg/gar/v2 opencsw/pkg/<software>/trunk/gar

If you get an error while running it, please drop me an e-mail with
the full error message and a stack trace.

Maciej


More information about the maintainers mailing list