Hi,
yes, adding --source or setting $build_source=1 is indeed not recommended.
Doing so instructs sbuild to build a new dsc and orig.targ.gz and debian.tar.gz
even though those files were the *input* to sbuild. I think there are only very
few uses of --source. One of them would be if you instruct sbuild to download
the source package from the archive for you and then do a sourceful rebuild
with a bumped version in d/changelog. In that case, the dsc that sbuild uses
only exists in the dsc and a new debian.tar.gz is built because sbuild changed
d/changelog and then you *want* sbuild to build a new source package for you.
But if you are working on a locally extracted source package, running sbuild
with --source is like running "convert foo.jpg bar.png" and then finding out
that imagemagick changed foo.jpg even though that was the *input* of the
convert command.
When preparing a new package or adding a new binary package to an existing
package, so you have to upload both the source *and* the binaries, I'd
recommend you use --source-only-changes which you are already doing because you
have $source_only_changes=1; in your ~/.config/sbuild/config.pl.
So the only thing you are "missing" is what to do with these .changes files.
One thing you can do is to run mergechanges:
$ mergechanges yourpackage_0_arm64.changes yourpackage_0_source.changes > yourpackage_0_both.changes
Or you could use dgit and run:
$ dgit sbuild
$ dgit push-built
And then dgit will do the .changes handling for you.
Thanks!
cheers, josch