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
signature.asc
Description: signature