Johannes Schauer writes ("Bug#801435: dgit: avoiding/fixing "Source-only 
uploads to NEW are not allowed""):
> Package: dgit
> Version: 1.4
> Severity: wishlist
...
> after a "dgit push" of the package src:pdfrw I got a REJECT from
> ftpmaster because "Source-only uploads to NEW are not allowed". Since
> the source package is not yet in Debian I guess this talks about an
> upload to binary-NEW.

Looking at the ftpmaster db I think you misspoke.  You said "the
source package is not yet in Debian" but in fact it appears that 0.1-3
is in sid.

> Here are two issues I have with this (close this bug as you see fit):
> 
>  1. dgit is Debian specific so I guess it might be reasonable to assume
>     that it encodes Debian specific rules like the above such that I can
>     never do a "dgit push" of a source-only .changes file if there are
>     new binary packages in the upload compared to the last

By definition a source-only upload doesn't involve dgit seeing the
binary packages.  I'm not even sure that it is possible to determine
which binary packages ought to be produced without doing the actual
build.  So this would be tricky.  (But how does the dak tell: does it
process debian/control?)

Also it would be possible for dgit to see that the package is entirely
new (which I think it is in your case) and to know to reject a
source-only upload in that case.

dgit is not Debian-specific, but it does have the ability to apply
different rules to different archives.  OTOH the more policy
information like this I encode in dgit, the more I have to track
ftpmaster's policy changes.  I don't know if this ftpmaster rule is
likely to change.

>  2. I do not see documentation of how to fix this situation. Is the only
>     way around to bump my Debian revision to -2, rebuild with binaries
>     and then do "dgit push" again? Or is there a way to mangle my
>     source-only .changes file file I already have such that it contains
>     the new binary packages while at the same time doesn't break any of
>     dgits expectations?

Ideally you should bump the revision, yes, because the old tag and
signed .dsc and .changes for the old package are out in the wild with
your signature on.

You will need to tell dgit --deliberately-include-questionable-history
because it doesn't know why the package was REJECTed and it wants to
be told that it's not because of copyright problems (in which case
ideally you would provide a differnet git history as well as a
different package).

In some circumstances you might need to say --dpkg-genchanges:-sa I
think, to tell dgit to tell dpkg-genchanges to include the original
source, or --dpkg-genchanges:-sd to tell dgit tell dpkg-genchanges not
to.  I'm not 100% sure which the archive requires but given that 0.2-1
is in new I guess it can reuse the old .orig, in which case the
default should DTRT.  Please let me know what you discover.  TBH I
think dgit should figure this out for itself but I'm not sure of the
exact rules.

Ian.

Reply via email to