Public bug reported:

SRU justification

[Impact]

Debian source package diffs cannot represent that a file should
be executable.
gen-auto-reconstruct detects when a commit adds a script that is supposed to be 
invoked during the build and restores the execute permissions in the 
reconstruct script by adding `chmod +x $file`.

But, if a file removes its execute permission, this will change it back.
This happened in the last jammy release (version 5.15.0-70.77) where a commit 
from upstream
removed the execute permission for a header file but then our scripts brought 
it back.

[Fix]
Andy proposed the following fix
https://dpaste.com/6SJ8YR3BM
Basically it checks if the permission was added or removed and uses either +x 
or -x.

[Test plan]
Easily tested with jammy-kvm, latest release where a rebase picked this commit
"treewide: fix up files incorrectly marked executable" where 
`drivers/gpu/drm/vmwgfx/vmwgfx_msg_arm64.h` changed its permission from 755 to 
644 (removed execute).
When debian packages are prepared, you'll notice the file has changed its 
permission back to 755. 
With the fix, it should be the same.

[Regression potential]
Low, it is a small fix. Scripts will still have execute permission.

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: linux (Ubuntu Bionic)
     Importance: Undecided
         Status: New

** Affects: linux (Ubuntu Focal)
     Importance: Undecided
         Status: New

** Affects: linux (Ubuntu Jammy)
     Importance: Undecided
         Status: New

** Affects: linux (Ubuntu Kinetic)
     Importance: Undecided
         Status: New

** Affects: linux (Ubuntu Lunar)
     Importance: Undecided
         Status: New

** Also affects: linux (Ubuntu Bionic)
   Importance: Undecided
       Status: New

** Also affects: linux (Ubuntu Kinetic)
   Importance: Undecided
       Status: New

** Also affects: linux (Ubuntu Jammy)
   Importance: Undecided
       Status: New

** Also affects: linux (Ubuntu Focal)
   Importance: Undecided
       Status: New

** Also affects: linux (Ubuntu Lunar)
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/2015498

Title:
  Debian autoreconstruct Fix restoration of execute permissions

Status in linux package in Ubuntu:
  New
Status in linux source package in Bionic:
  New
Status in linux source package in Focal:
  New
Status in linux source package in Jammy:
  New
Status in linux source package in Kinetic:
  New
Status in linux source package in Lunar:
  New

Bug description:
  SRU justification

  [Impact]

  Debian source package diffs cannot represent that a file should
  be executable.
  gen-auto-reconstruct detects when a commit adds a script that is supposed to 
be invoked during the build and restores the execute permissions in the 
reconstruct script by adding `chmod +x $file`.

  But, if a file removes its execute permission, this will change it back.
  This happened in the last jammy release (version 5.15.0-70.77) where a commit 
from upstream
  removed the execute permission for a header file but then our scripts brought 
it back.

  [Fix]
  Andy proposed the following fix
  https://dpaste.com/6SJ8YR3BM
  Basically it checks if the permission was added or removed and uses either +x 
or -x.

  [Test plan]
  Easily tested with jammy-kvm, latest release where a rebase picked this commit
  "treewide: fix up files incorrectly marked executable" where 
`drivers/gpu/drm/vmwgfx/vmwgfx_msg_arm64.h` changed its permission from 755 to 
644 (removed execute).
  When debian packages are prepared, you'll notice the file has changed its 
permission back to 755. 
  With the fix, it should be the same.

  [Regression potential]
  Low, it is a small fix. Scripts will still have execute permission.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2015498/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to