Hi Marga,

On Fri, 19 Oct 2018 19:08:45 +0200 Marga Manterola <ma...@google.com> wrote:
> sbuild includes a handy --append-to-version parameter.  This is what the
> current manpage says:
> 
>        --append-to-version=string
>               This  option  is similar to --make-binNMU except that it
> allows the user to specify an arbitrary string to be appended to the
> version number  (immediately  before  the '+'  in  the  Debian revision if
> --make-binNMU is also provided).  To pass an arbitrary changelog text as
> well, combine this option with --make-binNMU but  be  aware that  this
> will also add the +bn suffix unless you also pass --binNMU=0 to disable
> it.  This option is incompatible with --binNMU-changelog.  This command
> line option sets  the  APPEND_TO_VERSION  configuration  variable.  See
> sbuild.conf(5) for more information.
> 
> It's notable that this entry does not say that --append-to-version implies
> --no-arch-all (which the --make-binNMU entry does say).  And in fact it
> doesn't, arch all packages are built with the suffix appended to their
> versions.  However, the dpkg version that is modified when using
> --append-to-version is the binary version, not the source version.  This
> means that if the control file has a (= ${source:Version}) it will be
> replaced by the unmodified one, while still building arch all packages
> unless --no-arch-all is specified.
> 
> This leads to brokeness because packages will depend on versions that have
> been replaced and thus not available. I believe this is a bug.  Either
> --append-to-version should modify the source version as well as the binary
> version (when used without the --make-binNMU flag); or it should imply
> --no-arch-all.
> 
> I'd like to use --append-to-version for full rebuilds, so I'd rather you
> chose the first option, but if you choose the second one, maybe you could
> provide another flag to allow to change the source version as well?

what is your use-case here? Why do you need the source version modified by
sbuild instead of just editing debian/changelog yourself and then handing the
result to sbuild?

I don't think it would be right for sbuild to change the source version for
several reasons:

 - the --append-to-version option has long been documented as "just like
   --make-binNMU but with arbitrary version suffix". If the source version were
   changed, then this would be an incompatible change of behaviour

 - the source is the *input* to sbuild. Sbuild is not supposed to output or
   modify the source. That sbuild allows changing debian/changelog is a hack
   and an exception.

 - since --append-to-version is analogous to --make-binNMU, it makes sense for
   both of them to imply --no-arch-all.

I'm inclined to just let --append-to-version imply --no-arch-all. If you
disagree with that solution, please give me some more compelling arguments.

Thanks!

cheers, josch

Attachment: signature.asc
Description: signature

Reply via email to