Uploading Packages to PureOS
Uploading via dput
There are two tools in Debian based distros which provide the functionality to put a package on a remote server in the correct location for it to built and inserted into a package repository; dput and dput-ng. The package dput-ng provides better results. In dput-ng there is are switches to allow one to unset profiles, use those switches so you don't upload to Debian inadvertently.
Please use source-only uploads (created by passing -S -sa to dpkg-buildpackage, e.g. by using gbp via gbp buildpackage -S -sa) if possible, and only upload binaries directly if absolutely necessary (e.g. for bootstrapping). The autobuild system of the Laniakea archive management system will usually build new packages pretty quickly.
To upload please create the following ~/.dput.cf snippet:
[pureos] fqdn = upload.pureos.net method = https incoming = pureos login = anonymous allow_unsigned_uploads = 0
Then issue this command;
dput pureos-origin stream_0.1.0-1pureos1.1_source.changes
- Upload might take ~20 minutes to be processed after the upload is fully complete.
- See also NEW queue and archive layout
- If you want to get notification about any new upload that gets submitted to the archive, consider subscribing to the pureos-changes mailinglist.
- Uploads targeted at the current development release of PureOS (currently byzantium) will automatically be redirected to landing, just like uploads to the *-updates suite of a stable release will automatically go to *-proposed-updates first.
Uploading via git tag
Packages can also be uploaded by tagging them appropriately in git. Have a look at https://source.puri.sm/snippets/138
The flow of a package once accepted by the archive is the same.
Tracing the package after the upload
- If the package didn't have any version in the archive before it will be held in NEW Queue
- If the package gets accepted a mail is sent to the pureos-changes mailing list
- In case of a source package a build for the binary packages will be scheduled and put to the end of the build queue.
- If the package built successfully it will wait for migration
- The status of a package in a certain suite (including build logs can queried via https://software.pureos.net/package/src/<suite>/<sourcepackage>. Example: phosh's status in byzantium: https://software.pureos.net/package/src/byzantium/phosh
- Once the (suite dependent) migration period passes it will migrate to the target suite. The ultimate reference if a package is in a suite is the archive's package file at e.g. https://repo.pureos.net/pureos/dists/byzantium/main/binary-arm64/Packages.xz for arm64 packages and for AMD64 in byzantium.
- Last Author
- mak
- Last Edited
- Jun 5 2023, 13:14
Event Timeline
i was just wondering under which circumstances i would use dput?
my understanding was that when pushing a signed tag in the packaging repos (those which are pointed to from deb-build-jobs (?)) that the build server would automagically start the build.
automagically=some form of integration with gitlab building a source package and dput'ing that to the build farm?
Thanks for expanding @jeremiah.foster you're duplicating partly content from Tracing the package after the upload though. what about dropping that and just referencing the Tracing the package after the upload