Package loader specifications#
Release fields#
Here is an overview of the fields (+ internal version name + branch name) used by each package loader, after D6616:
Loader |
internal version |
branch name |
name |
message |
synthetic |
author |
date |
Notes |
---|---|---|---|---|---|---|---|---|
arch |
|
|
=version |
Synthetic release for Arch Linux source package {p_info.name} version {p_info.version} {description} |
true |
from intrinsic metadata |
from extra_loader_arguments[‘arch_metadata’] |
Intrinsic metadata extracted from .PKGINFO file of the package |
archive |
passed as arg |
|
=version |
“Synthetic release for archive at {p_info.url}n” |
true |
“” |
passed as arg |
|
aur |
|
|
=version |
Synthetic release for Aur source package {p_info.name} version {p_info.version} {description} |
true |
“” |
from extra_loader_arguments[‘aur_metadata’] |
Intrinsic metadata extracted from .SRCINFO file of the package |
cpan |
|
|
=version |
Synthetic release for Perl source package {name} version {version} {description} |
true |
from intrinsic metadata if any else from extrinsic |
from extrinsic metadata |
name, version and description from intrinsic metadata |
cran |
|
|
=version |
standard message |
true |
|
|
metadata is intrinsic |
conda |
|
|
=version |
Synthetic release for Conda source package {p_info.name} version {p_info.version} |
true |
from intrinsic metadata |
from extrinsic metadata |
“” |
crates |
|
|
=version |
Synthetic release for Crate source package {p_info.name} version {p_info.version} {description} |
true |
from int metadata |
from ext metadata |
|
debian |
=``version`` |
|
=``i_version`` |
standard message (using |
true |
|
|
metadata is intrinsic. Old revisions have |
golang |
|
|
=version |
Synthetic release for Golang source package {p_info.name} version {p_info.version} |
true |
“” |
from ext metadata |
Golang offers basically no metadata outside of version and timestamp |
deposit |
HEAD |
only HEAD |
HEAD |
“{client}: Deposit {id} in collection {collection}n” |
true |
original author |
|
revisions had parents |
hackage |
|
|
=version |
Synthetic release for Haskell source package {p_info.name} version {p_info.version} |
true |
intrinsic metadata if any else from extrinsic metadata |
from extrinsic metadata |
“” |
hex |
|
|
=version |
standard message |
true |
from extrinsic metadata |
from extrinsic metadata |
Source code is extracted from a nested tarball |
maven-loader |
passed as arg |
HEAD |
|
“Synthetic release for archive at {p_info.url}n” |
true |
“” |
passed as arg |
Only one artefact per url (jar/zip src) |
npm |
|
|
=version |
standard message |
true |
from int metadata or “” |
from ext metadata or None |
|
opam |
as given by opam |
“{opam_package}.{version}” |
=version |
standard message |
true |
from metadata |
None |
“{self.opam_package}.{version}” matches the version names used by opam’s backend. metadata is extrinsic |
pubdev |
|
|
=version |
Synthetic release for pub.dev source package {p_info.name} version {p_info.version} |
true |
from extrinsic metadata |
from extrinsic metadata |
name and version from extrinsic metadata |
puppet |
|
|
=version |
Synthetic release for Puppet source package {p_info.name} version {version} {description} |
true |
from intrinsic metadata |
from extrinsic metadata |
version and description from intrinsic metadata |
pypi |
|
|
=version |
|
true |
from int metadata or “” |
from ext metadata or None |
metadata is intrinsic |
rubygems |
|
|
=version |
Synthetic release for RubyGems source package {p_info.name} version {p_info.version} |
true |
from ext metadata |
from ext metadata |
The source code is extracted from a tarball nested within the gem file |
using this function:
def release_name(version: str, filename: Optional[str] = None) -> str:
if filename:
return "releases/%s/%s" % (version, filename)
return "releases/%s" % version
and “standard message” being:
msg = (
f"Synthetic release for {PACKAGE_MANAGER} source package {name} "
f"version {version}\n"
)
The target_type
field is always dir
, and the target the id of a directory
loaded by unpacking a tarball/zip file/…