First error was,
gitaly_1.53.3+debian-1~bpo10+1_amd64.deb: Built-Using refers to non-existing source package golang-1.11 (= 1.11.6-1+deb10u1)
After switching build-dep-resolver option in sbuild from aspcud to aptitude, now built-using field lists the version from buster/updates, but dak still rejects.
gitaly_1.53.3+debian-1~bpo10+1_amd64.deb: Built-Using refers to non-existing source package golang-1.11 (= 1.11.6-1+deb10u2)
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related.
Learn more.
@akshay I think dak is designed with only self contained distros in mind. This may be a feature we need to add, like specify a base distro. So we should be able to say our fasttrack repo needs backports suite from official archive to build and may declare dependencies from there too.
Using rmadison command or via its api may be better than depending on apt sources I think as rmadison is more authoritative and apt sources may be out of sync with official repos.
Has dak import-repository script been considered? It looks like the current solution to this.
$ dak import-repository -hdak import-repository --keyring=/usr/share/keyring/debian-archive-keyring.gpg [--key=${fingerprint}] [--architectures=a,b,c (default: architectures in origin suite)] [--components=main,contrib (default: components in origin suite)] [--target-suite=${suite} (default: origin suite name)] [--add-overrides] [--max-packages=${n} (import at maximum ${n} packages, default: no limit)] http://httpredir.debian.org/debian unstableThings to think about: - Import Built-Using sources - all / only referenced - Remove old packages: - by-source: remove source X_v, if no X exists upstream - by-version: remove source X_v, if no X_v exists upstream (X denotes package name, v version, X_v package at a specific version) - Import all or only newest? - Expire binary packages?
The Built-Using field doesn't have a way to refer to a particular archive, does it? In other words, it doesn't look like apt/dak is built to be federated in this manner.
Yes, it is not designed this way. We can try to add this feature, but if it is too hard, we can fall back to the other method of importing packages. We will have to import entire golang packages from backports I think or import it on demand when there is a new package being processed, so try to import that package before we reject.
Along with #17 (closed) this could work with two suites instead of making a hidden suite. I think if we can just limit to importing only the list of packages instead of duplicating the actual packages that would be good. But if that is not possible, lets see this as a feature and provide a mirror for official golang backports from fasttrack :) Disk space is still a concern, but could be added if there is no other option.
There has been a discussion on this in the dak list already - "Setup for built-using" - which says this:
Is this something that could/should be overridden? If
so how?
No; dak is very agressive in enforcing that all sources are present.
Maybe more than people sometimes want.
In particular it should not rely on references to external archives
which might no longer provide source or binary packages that your
distribution's overlay still references.
Looking at the source code of dak, I agree too. It will be a mess if we try to insert packages with missing Built-Using.
The mail also includes a reference to how security archive does it:
They just have to be somewhere in the archive. You can import them
into a "built-using" suite in the target suite's archive; dak will also
copy Built-Using sources from other archives (with some exceptions).
(That is what happens on Debian's security archive; see the "Built-
Using" section in docs/debian-specific.rst)
Those other options are for simple repos maintained by small number of people and updating is error prone if more than one person uploads. Only dak has gpg based authentication and can scale to allowing large number of people to upload.
I used reprepro earlier and switched to dak for allowing more people to upload. I still use reprepro for golang packages, then that is a single point of failure on me.