Simon Josefsson writes ("Re: Bug#1105766: [tag2upload 207] failed, git2cl 1:3.0-3 [and 1 more messages]"): > Another reflection: I'm not sure that API call is the best way to figure > out which orig.tar's are relevant. The canonical source for this is the > *.changes file for the particular suite, isn't it? Or secondary, the > information in the Sources file on mirrors. So the logic could be > something like:
The .dsc file I think you mean. .changes files are not readily accessible. (I'm not sure they're accessible at all.) > * For an upload of package X version (E:)Y-Z into suite S where Y is > upstream version and E/Z is the Debian version, try to lookup package > X upstream version Y from Sources on mirrors in suite S, or some > internal API accessing *.changes files (which could be faster than > relying on mirror pulses) and filter for suite S. We are definitely limited by the ftpmaster APIs available. I don't think anything involving Sources is tolerable here[1]. But happily: We can easily look up the version of X in S (Es:Ys-Zs) and get its .dsc. That will get tell us what origs X_Y.orig*.* belong to Es:Ys-Zs. If E:Y == Es:Ys (the upstream version we are trying to upload is the same as the one in S) this will find us the existing origs. E:Y < Es:Ys is excluded because uploads must be newer than the current contents of the suite. Likewise E:Y > Es:Ys means that this upstream version is new in this suite, so definitely no useful orig is in S. So that's in fact what is currently implemented, via the additional `dgit fetch` that t2u runs before thinking about git-deborig. The part that is missing is the situation where there are origs in other suites. > The API you mention doesn't make any guarantee that you get the right > *.orig* from a particular suite, does it? So it may return unrelated > *.orig* files for some other suite, causing some confusion. So, only if the target suite doesn't have it. That situation is what this bug is about. Simon Josefsson writes ("Bug#1105766: [tag2upload 207] failed, git2cl 1:3.0-3 [and 1 more messages]"): > That is, instead of re-using the libntlm_1.8.orig.tar.gz (which is > identical to upstream's official tarball and carefully constructed to be > bit-by-bit reproducible from the git repository using git-archive) and > libntlm_1.8.orig.gz.asc, tag2upload created a different > libntlm_1.8.orig.tar.xz and lost the GPG signature. This is this same bug. > I think I'm in a minority that cares about these things, and think that > a lot of people have given up on preserving identical tarballs and > retaining GPG signatures. So fixing this may not be a big priority. > But if you can make this work, it would be nice. tag2upload cannot convey a tarball, so for a new upstream version, you must put up with it generating an orig using use git-archive via git-deborig. The onoy way to do that would be pristine-tar. See my other comments about that. For an existing upstream version t2u should reuse existing origs. That's what this bug is about. Are you a user of pristine-tar ? Ian. -- Ian Jackson <ijack...@chiark.greenend.org.uk> These opinions are my own. Pronouns: they/he. If I emailed you from @fyvzl.net or @evade.org.uk, that is a private address which bypasses my fierce spamfilter.