splash_geninitramfs -a fails to append to a cpio archive previously created to support uvesafb for two reasons: 1) splash_geninitramfs assumes that if it is appending to an archive, then the archive has been gzipped 2) splash_geninitramfs extracts the existing archive without specifying the --no-absolute-filenames option to cpio, allowing cpio to extract the archive outside of the staging subdirectory Reproducible: Always Steps to Reproduce: 1. /lib/modules/2.6.23-gentoo-r3/build/usr/gen_init_cpio /usr/share/v86d/initramfs >/boot/fbsplash-emergence 2. splash_geninitramfs -a /boot/fbsplash-emergence -r 1024x768 -v emergence 3. Actual Results: ---- BEGIN OUTPUT ---- o Unpacking /boot/fbsplash-emergence.. gzip: fbsplash-emergence: not in gzip format cpio: premature end of file o Creating directory structure.. o Copying /sbin/fbcondecor_helper.. o Copying themes.. - emergence o Creating initramfs image.. ---- END OUTPUT ---- The /boot/fbsplash-emergence is overwritten with the created archive, containing splash data, but without any information from the original archive. Expected Results: /boot/fbsplash-emergence shoudl contain the original data in addition to the splash data. It should handle raw cpio files in addition to gzipped cpio files and extract them properly relative to the staging directory before adding the splash data files. relevant package versions: sys-kernel/gentoo-sources-2.6.23-r3 media-gfx/splashutils-1.5.2.1 sys-apps/v86d-0.1.3 The original cpio archive was created as per the instructions in /usr/share/doc/v86d-0.1.3/README.bz2
Created attachment 138298 [details, diff] One-line patch to implement the proposed functionality Handles gzipped or regular cpio archives for appending Ensures the cpio archive is extracted relative to the staging dir
Fixed in 1.5.3.2. Thanks for the patch.