On Thursday, November 20, 2025 4:44:14 PM Mountain Standard Time Johannes Schauer Marin Rodrigues wrote: > If you run sbuild via gbp then gbp will create a source tarball for you, > possibly from the pristine-tar branch. gbp will then run "sbuild" which will > call "dpkg-source -b ." which will re-create the source on the *outside*. If > you also have --source or $build_source=1, then dpkg-buildpackage will > re-generate the source *again* but *inside* the chroot. You said you can > confirm that it does not repack it but I just confirmed the opposite and the > upstream tarballs differ.
Somewhat what I am seeing is different that what you are describing. Here is what I see with both the $build_source = 1 and $source_only_changes = 1. While I don’t dispute that it is doing something to rebuild the source *inside* the sbuild, it doesn’t modify the source *outside* the sbuild, and the resulting .dsc files are identical after two successive builds. In other words, there might be situations where these options could cause problems with other workflows that I am not familiar with, but when using gbp I don’t yet understand how this option causes any problems (except for perhaps using a few extra CPU cycles). I hope the following output is helpful in understanding what I see. $ ls -la total 20 drwxrwxr-x 5 soren soren 4096 Nov 21 20:30 . drwxr-xr-x 12 soren soren 4096 Nov 12 20:19 .. drwxrwxr-x 7 soren soren 4096 Jan 30 2025 privacybrowser drwxrwxr-x 19 soren soren 4096 Jan 30 2025 Releases drwxrwxr-x 2 soren soren 4096 Jun 26 10:10 Review The parent directory is empty of files (only three directories) before the first build. $ cd privacybrowser/ privacybrowser$ gbp buildpackage gbp:info: Creating /home/soren/Debian/privacybrowser/ privacybrowser_0.8.orig.tar.xz gbp:info: Performing the build ... gbp generates the .orig.tar from pristine-tar. privacybrowser$ cd .. $ ls -la total 12436 drwxrwxr-x 5 soren soren 4096 Nov 21 20:33 . drwxr-xr-x 12 soren soren 4096 Nov 12 20:19 .. drwxrwxr-x 7 soren soren 4096 Jan 30 2025 privacybrowser -rw-r--r-- 1 soren soren 1138560 Nov 21 20:34 privacybrowser_0.8-2_amd64-2025-11-22T03:31:45Z.build lrwxrwxrwx 1 soren soren 53 Nov 21 20:31 privacybrowser_0.8-2_amd64.build -> privacybrowser_0.8-2_amd64-2025-11-22T03:31:45Z.build -rw-r--r-- 1 soren soren 20069 Nov 21 20:33 privacybrowser_0.8-2_amd64.buildinfo -rw-r--r-- 1 soren soren 2115 Nov 21 20:33 privacybrowser_0.8-2_amd64.changes -rw-r--r-- 1 soren soren 1899736 Nov 21 20:33 privacybrowser_0.8-2_amd64.deb -rw-r--r-- 1 soren soren 13804 Nov 21 20:33 privacybrowser_0.8-2.debian.tar.xz -rw-r--r-- 1 soren soren 1581 Nov 21 20:33 privacybrowser_0.8-2.dsc -rw-r--r-- 1 soren soren 1427 Nov 21 20:33 privacybrowser_0.8-2_source.changes -rw-rw-r-- 1 soren soren 1699756 Nov 21 20:31 privacybrowser_0.8.orig.tar.xz -rw-rw-r-- 1 soren soren 833 Nov 21 20:31 privacybrowser_0.8.orig.tar.xz.asc -rw-r--r-- 1 soren soren 7921264 Nov 21 20:33 privacybrowser- dbgsym_0.8-2_amd64.deb drwxrwxr-x 19 soren soren 4096 Jan 30 2025 Releases drwxrwxr-x 2 soren soren 4096 Jun 26 10:10 Review $ cp privacybrowser_0.8-2.dsc privacybrowser_0.8-2.dsc.old Here a copy of the dsc is made to compare it against the second build. $ cd privacybrowser/ privacybrowser$ gbp buildpackage gbp:info: Performing the build ... gbp does not regenerate the .orig.tar because it already exists. privacybrowser$ cd .. $ ls -la total 13552 drwxrwxr-x 5 soren soren 4096 Nov 21 20:37 . drwxr-xr-x 12 soren soren 4096 Nov 12 20:19 .. drwxrwxr-x 7 soren soren 4096 Jan 30 2025 privacybrowser -rw-r--r-- 1 soren soren 1138560 Nov 21 20:34 privacybrowser_0.8-2_amd64-2025-11-22T03:31:45Z.build -rw-r--r-- 1 soren soren 1138553 Nov 21 20:39 privacybrowser_0.8-2_amd64-2025-11-22T03:37:17Z.build lrwxrwxrwx 1 soren soren 53 Nov 21 20:37 privacybrowser_0.8-2_amd64.build -> privacybrowser_0.8-2_amd64-2025-11-22T03:37:17Z.build -rw-r--r-- 1 soren soren 20069 Nov 21 20:38 privacybrowser_0.8-2_amd64.buildinfo -rw-r--r-- 1 soren soren 2115 Nov 21 20:38 privacybrowser_0.8-2_amd64.changes -rw-r--r-- 1 soren soren 1899736 Nov 21 20:38 privacybrowser_0.8-2_amd64.deb -rw-r--r-- 1 soren soren 13804 Nov 21 20:38 privacybrowser_0.8-2.debian.tar.xz -rw-r--r-- 1 soren soren 1581 Nov 21 20:38 privacybrowser_0.8-2.dsc -rw-r--r-- 1 soren soren 1581 Nov 21 20:35 privacybrowser_0.8-2.dsc.old -rw-r--r-- 1 soren soren 1427 Nov 21 20:38 privacybrowser_0.8-2_source.changes -rw-rw-r-- 1 soren soren 1699756 Nov 21 20:31 privacybrowser_0.8.orig.tar.xz -rw-rw-r-- 1 soren soren 833 Nov 21 20:31 privacybrowser_0.8.orig.tar.xz.asc -rw-r--r-- 1 soren soren 7921264 Nov 21 20:38 privacybrowser- dbgsym_0.8-2_amd64.deb drwxrwxr-x 19 soren soren 4096 Jan 30 2025 Releases drwxrwxr-x 2 soren soren 4096 Jun 26 10:10 Review Notice, at this point, that the timestamp on the .orig.tar.xz did not change, so it was not modified by the $build_source = 1 option. $ diff -s privacybrowser_0.8-2.dsc privacybrowser_0.8-2.dsc.old Files privacybrowser_0.8-2.dsc and privacybrowser_0.8-2.dsc.old are identical I fell like somehow I am not understanding what your concerns are with '$build_source = 1'. I assume that your concerns are valid, as you know much more about the internals of sbuild than I do. In the end, my only concern is that, as I posted earlier, without this option the generated _amd64.changes fails to do an upload to the NEW queue because it is missing entries. For some reason, when '$build_source = 1' is used, it does generate a complete _amd64.changes that can be used to upload to NEW. -- Soren Stoutner [email protected]
signature.asc
Description: This is a digitally signed message part.

