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