Based on https://elixir.bootlin.com/linux/latest/source/fs/inode.c#L1928 it seems that setuid and capabilities will be stipped, thus currently our implementation of dh_strip causes to loose setuid and capabilities.
No idea why this is working with fakeroot when Rules-Requires-Root is set to binary-targets. And doesn't when it is set to "no". chmod +s debian/virtualbox/usr/lib/virtualbox/VBoxSDL ls -latr debian/virtualbox/usr/lib/virtualbox/VBoxSDL -rwsr-sr-x 1 xnox xnox 166208 Aug 4 18:59 debian/virtualbox/usr/lib/virtualbox/VBoxSDL $ cat debian/control | grep Rules Rules-Requires-Root: no $ fakeroot dh_strip -pvirtualbox $ ls -latr debian/virtualbox/usr/lib/virtualbox/VBoxSDL -rwxr-xr-x 1 xnox xnox 166208 Aug 4 18:59 debian/virtualbox/usr/lib/virtualbox/VBoxSDL $ chmod +s debian/virtualbox/usr/lib/virtualbox/VBoxSDL $ ls -latr debian/virtualbox/usr/lib/virtualbox/VBoxSDL -rwsr-sr-x 1 xnox xnox 166208 Aug 4 18:59 debian/virtualbox/usr/lib/virtualbox/VBoxSDL $ sed '/Rules-Requires-Root/s/no/binary-targets/' -i debian/control $ cat debian/control | grep Rules Rules-Requires-Root: binary-targets $ fakeroot dh_strip -pvirtualbox $ ls -latr debian/virtualbox/usr/lib/virtualbox/VBoxSDL -rwxr-xr-x 1 xnox xnox 166208 Aug 4 19:01 debian/virtualbox/usr/lib/virtualbox/VBoxSDL -- 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/1938886 Title: rrr:no dh_strip or strip loose setuid bit Status in bash package in Ubuntu: New Status in binutils package in Ubuntu: New Status in dash package in Ubuntu: New Status in debhelper package in Ubuntu: New Status in debugedit package in Ubuntu: New Status in linux package in Ubuntu: New Status in virtualbox package in Ubuntu: New Bug description: Over at https://launchpadlibrarian.net/550715513/buildlog_ubuntu- hirsute-amd64.virtualbox_6.1.22-dfsg-2~ubuntu1.21.04.2_BUILDING.txt.gz I have rebuilt an earlier version of virtualbox, that sets Rules- Requires-Root: no and added extra ls statements to find where/when/why setuid bits are getting lost after fixperms. make[1]: Leaving directory '/<<PKGBUILDDIR>>' debian/rules override_dh_strip make[1]: Entering directory '/<<PKGBUILDDIR>>' ls -latr debian/virtualbox/usr/lib/virtualbox/VBoxSDL -rwsr-sr-x 1 buildd buildd 406808 Jul 29 14:34 debian/virtualbox/usr/lib/virtualbox/VBoxSDL ... dh_strip --dbgsym-migration='virtualbox-dbg' debugedit: debian/virtualbox/usr/lib/virtualbox/VBoxSDL.so: Unknown DWARF DW_FORM_0x1f20 a7cf3c43c8b18c3261d2d4737a475bf730ad1554 ls -latr debian/virtualbox/usr/lib/virtualbox/VBoxSDL -rwxr-xr-x 1 buildd buildd 166208 Jul 29 14:35 debian/virtualbox/usr/lib/virtualbox/VBoxSDL It seems to me that either dh_strip or something it calls (strip, debugedit) looses the setuid permission in hirsute and up. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1938886/+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