Properly fixup copying libgcc_s library into the initrd. LP: #1880853 Implemented differently from "[f2ac13e] hook-functions: copy_exec: Copy libgcc_s.so.1 along with libpthread.so.* (Closes: #950254)". To avoid circular shared library dependencies between compiler and libc, libpthreads chooses to dlopen libgcc_s, instead of linking against it. However, we have no way to parse/know what it needs. And even when we hardcode to include libgcc_s1, we don't have a way to know which libgcc_s1 is needed on a given system and from which path to include it. But there is a hook-function to copy a binary and all of its shared library dependencies. Thus create a stub empty executable, with shared linking against pthreads and gcc_s1 and always include it in the initrd. This way at initrd creation time, ldd is used to correctly resolve these shared library dependencies and correctly copy them into the initrd. This removes hardcoding paths as to where these libraries must be copied from on the host.
New changelog entries:
[ Ben Hutchings ]
* [1b28d25] Document copy_exec as usable for shared libraries
* [f2ac13e] hook-functions: copy_exec: Copy libgcc_s.so.1 along with
libpthread.so.* (Closes: #950254)
* [d96228a] hook-functions: copy_exec: Correct verbose log message for
symlinks
* [dd5fb36] hook-functions: Factor out device class walking into a function
* [14a00af] hook-functions: Don't add backlight modules if we have generic
fb device (Closes: #955347)
* [f6133e1] Fix new shellcheck warnings around unquoted parameter expansion
(Closes: #958851)
[ AP ]
* [857042c] hook-functions: Search for firmware under /lib/firmware/updates
(Closes: #956663)
New changelog entries:
[ Mathieu Malaterre ]
* [90bd459] Update to new name for kernel module therm_pm72
[ Alper Nebi Yasak ]
* [ded7214] hook-functions: Handle dw_mmc-rockchip hidden dependency on
rockchip-io-domain
* [da85190] hook-functions: Include modules for Chromebook Plus display
[ Ben Hutchings ]
* [afd2668] debian/tests/control: Mark shellcheck test as superficial
* [9d8b690] mkinitramfs: Remove workaround for old udev versions
* [2b55aca] mkinitramfs: Remove special case for Arm OABI ports
* [a9e5169] mkinitramfs: Remove armhf dynamic linker hack
* [b19b6f3] debian/rules: Suppress execution of dh_installinitramfs
* [8330bcd] mkinitramfs: Use cp -p option for ld.so.conf* instead of -aZ
* [15fd713] initramfs-tools(7): Change example to use copy_exec instead of cp
* [c2d589e] Revert "mkinitramfs: check if initramfs has a shell"
* [835d584] mkinitramfs: Copy modules.builtin.bin into initramfs
(Closes: #948257)
* [0012977] init: Remove special case for kernel parameter resume=UUID=...
* [897ab77] update-initramfs: Make "-c -k all" options useful again
(Closes: #926401)
* [d6c6eec] init: Mount /dev with "exec" option if v86d is present
(Closes: #940171)
* [a9e73b5] hook-functions: Drop ext4dev from filesystem module list
* [41d9ceb] mkinitramfs: Enable multihreaded xz compression (Closes: #942144)
[ Alexander Volkov ]
* [e34affa] Don't require build dependency on shellcheck when nocheck profile
is enabled
[ Johannes 'josch' Schauer ]
* [e2ad678] hook-functions: preloaded libraries should not end up in the
initramfs (Closes: #944929)
[ Debian Janitor ]
* [a1e17fc] Bump debhelper from old 9 to 12.
* [4d86d1a] Set debhelper-compat version in Build-Depends.
[ Romain Perier ]
* [4df27e2] hook-functions: Add f2fs as base in auto_add_modules
[ Christian Göttsche ]
* [0db5752] Do not copy SELinux context in mkinitramfs (Closes: #948365)
[ Topi Miettinen ]
* [55afeec] Tighten permissions for /run/initramfs