Hi! On Fri, 2025-12-19 at 12:08:27 +0000, Ian Jackson wrote: > Package: dpkg-dev > Version: 1.23.2 > Control: block 1123583 by -1 > Severity: important
> Hi. I think that amongst the random lossage (which I am working to > fix) the src:dgit autopkgtests have detected a regression in the new > dpkg-source. > EXPECTED OUTPUT > > -rwxrwxr-x 1 ian ian 2034 Dec 19 11:57 vtwm-5.4.7/debian/rules* > > ACTUAL OUTPUT > > -rw-rw-r-- 1 ian ian 2034 Dec 19 11:57 vtwm-5.4.7/debian/rules > > DISCUSSION > > 1.0-with-diff doesn't represent the executability of debian/rules, so > dpkg-source must make it executable with an explicit chmod. This is > done by 1.22.21, as shipped in trixie, for example. > > This change to dpkg-source, which I presume wasn't intentional, has > the effect of retrospectively changing the meaning of all exissting > 1.0-with-diff source packages. For example, if one does > apt source && git init && git add -Af . && git commit > the resulting tree object is different before and after this change. > > And I think this change will make some 1.0-with-diff pacckage building > approaches no longer work properly. Direct use of debian/rules won't > work, and dpkg-buildpackage will dirty the tree (because it also does > chmod +x). Ah, right, nice catch! This is due to the fix for #1078764 with commits: https://git.dpkg.org/cgit/dpkg/dpkg.git/commit/?id=b6ebaf630f812b3ed9d7ee8ba0fcb958e098b8aa https://git.dpkg.org/cgit/dpkg/dpkg.git/commit/?id=91f68ddf6537e28bf2283a983d64f42494652b96 Where I completely forgot about the 1.0 source format, and that we do not encode the permissions in the diff (which we could do with a git formatted patch, but that would not make previous packages have it anyway). So instead of reverting those, I've added a reduced permission fixer in the 1.0 extractor, that does not warn on missing debian/rules nor on the expected missing executable permissions. For any other source format that can convey the permissions, I consider the above commits to still be good, because that implies something that should be fixed anyway in the source tree, and otherwise they get fixed and warned about during build. The fix will be included in my next push targeting dpkg 1.23.3. Thanks, Guillem

