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 _______________________________________________ maintainers mailing list [email protected] https://lists.opencsw.org/mailman/listinfo/maintainers .:: This mailing list's archive is public. ::.
