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.

STEPS

 $ dget -d http://deb.debian.org/debian/pool/main/v/vtwm/vtwm_5.4.7-9.dsc
 $ sha256sum *

 Expect:

 3ba3f8245e1b855d81e6969581c3782e2de1a9faadf0b5fdd21d8761e5ff3c4e  
vtwm_5.4.7-9.diff.gz
 ae1fc9c819be88dff5cf07e28b674d1696a1a1907d0e03a9e6c0bb1929e01568  
vtwm_5.4.7-9.dsc
 c62f692c42420666920a23cd489633e91789b379fed13561321b44d9ffa8c9e9  
vtwm_5.4.7.orig.tar.gz

 $ dpkg-source -x vtwm_5.4.7-9.dsc
 $ ls -l vtwm-5.4.7/debian/rules

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).

Ian.

-- 
Ian Jackson <[email protected]>   These opinions are my own.  

Pronouns: they/he.  If I emailed you from @fyvzl.net or @evade.org.uk,
that is a private address which bypasses my fierce spamfilter.

Reply via email to