Submitting a CPACK
A CPACK is uploaded by making its publically accessible GIT repository known to a CPACK repository server, e.g., http://cliopatria.swi-prolog.org. Submitting or upgrading a pack requires you to logged on. This is done using the form accessible through CPACK/Submit pack. Optionally, you may direct the server to a specific branch.
The repository server clones (using git clone --mirror
) your
repository and makes the mirror available though the git://
protocol. In addition, it performs the following steps:
- Fetch the metadata from
<pack>/rdf/cpack/<pack>.ttl
, which must be a valid RDF/Turtle file. Details on this file are in metadata. - Perform a cross-reference analysis on all Prolog (*.pl) files.
This analysis tries to find possible issues with the package:
- Files using the same module as used by some other file. Such files cannot be loaded together, so the packages are reported as conflicting.
- Files appearing in the same location as files from other packages. This makes file-search ambiguous and is again reported as a conflict.
- Validate that all file referenced can be resolved, either by the package itself, another package (a dependency), ClioPatria or the Prolog libraries.
- Validate that all predicate calls can be resolved, either from the files themselves, one of the imported files or Prolog.
- Validate that imports from different files to not try to import the same predicate into the same module.
If any problem is found, the package is flagged with an `alert' icon and the package page provides additional information on the conflict. Please try to resolve the conflict and upgrade the affected packages.