Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package dracut for openSUSE:Factory checked in at 2024-04-26 23:26:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dracut (Old) and /work/SRC/openSUSE:Factory/.dracut.new.1880 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dracut" Fri Apr 26 23:26:38 2024 rev:225 rq:1170253 version:059+suse.581.g19b7c06c Changes: -------- --- /work/SRC/openSUSE:Factory/dracut/dracut.changes 2024-04-17 14:45:16.745844077 +0200 +++ /work/SRC/openSUSE:Factory/.dracut.new.1880/dracut.changes 2024-04-26 23:26:49.607973961 +0200 @@ -1,0 +2,19 @@ +Fri Apr 26 06:19:27 UTC 2024 - antonio.fei...@suse.com + +- Update to version 059+suse.581.g19b7c06c: + * fix(dracut): move hooks directory from /usr/lib to /var/lib (bsc#1218068) + * feat(tpm2-tss): add tpm2.target and systemd-tpm2-generator + * fix(systemd): explicitly install some libs that will not be statically included + * fix(dracut-lib): only remove initqueue/finished scripts, not the hook dir + * fix(dracut-util): avoid memory leak + * fix(dracut-install): memory leak in two `hashmap_put` calls if key exists + * fix(dracut-install): release memory allocated for regular expressions + * fix(dracut-install): memory leak in `--modalias` option + * refactor(dracut-install): strerror(errno) -> %m + * perf(dracut-install): don't strdup() environment block + * perf(dracut-install): don't reallocate {src,dst}path in hmac_install() + * perf(dracut-install): don't strdup() excessively for dracut_install() + * perf(dracut-install): stat() w/unused buf -> access(F_OK) in dracut-install + * perf(dracut-install): multiple single-character strstr()s -> strpbrk() + +------------------------------------------------------------------- Old: ---- dracut-059+suse.563.g4900899a.obscpio New: ---- dracut-059+suse.581.g19b7c06c.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dracut.spec ++++++ --- /var/tmp/diff_new_pack.1UdCA4/_old 2024-04-26 23:26:50.404003059 +0200 +++ /var/tmp/diff_new_pack.1UdCA4/_new 2024-04-26 23:26:50.404003059 +0200 @@ -25,7 +25,7 @@ %endif Name: dracut -Version: 059+suse.563.g4900899a +Version: 059+suse.581.g19b7c06c Release: 0 Summary: Event driven initramfs infrastructure License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later ++++++ README.susemaint ++++++ --- /var/tmp/diff_new_pack.1UdCA4/_old 2024-04-26 23:26:50.444004521 +0200 +++ /var/tmp/diff_new_pack.1UdCA4/_new 2024-04-26 23:26:50.448004667 +0200 @@ -89,8 +89,9 @@ the upgrade to dracut-059 (0aa08f0e docs: update NEWS.md and AUTHORS), extracted using `git log --oneline 0aa08f0e..HEAD`: +MERGED 5d2bda46 fix(zfcp_rules): correct shellcheck regression when parsing ccw args 4980bad3 fix(configure): misleading error if C compiler is not installed - de8ac630 fix(github): update format of labeler +MERGED de8ac630 fix(github): update format of labeler MERGED 4971f443 fix(systemd-journald): add systemd-sysusers dependency MERGED 4d594210 fix(dracut-initramfs-restore.sh): do not set selinux labels if disabled MERGED 1586af09 fix(systemd-repart): correct undefined $libdir @@ -295,13 +296,13 @@ MERGED 93339444 fix(dmsquash-live): live:/dev/* MERGED 10cf8e46 fix(load_fstype): avoid false positive searchs MERGED 08b63a25 fix: shellcheck 0.8.0 - 94dcac7c refactor(dracut-install): strerror(errno) -> %m - efd4ca27 perf(dracut-install): don't strdup() environment block - 77226cb4 perf(dracut-install): don't reallocate {src,dst}path in hmac_install() - a20556f0 perf(dracut-install): don't strdup() excessively for dracut_install() - e7ed8337 perf(dracut-install): stat() w/unused buf -> access(F_OK) in dracut-install - 751a110f perf(dracut-install): multiple single-character strstr()s -> strpbrk() - 1e5237dd chore: remove src/install/hashmap.lo +MERGED 94dcac7c refactor(dracut-install): strerror(errno) -> %m +MERGED efd4ca27 perf(dracut-install): don't strdup() environment block +MERGED 77226cb4 perf(dracut-install): don't reallocate {src,dst}path in hmac_install() +MERGED a20556f0 perf(dracut-install): don't strdup() excessively for dracut_install() +MERGED e7ed8337 perf(dracut-install): stat() w/unused buf -> access(F_OK) in dracut-install +MERGED 751a110f perf(dracut-install): multiple single-character strstr()s -> strpbrk() +MERGED 1e5237dd chore: remove src/install/hashmap.lo MERGED 9dbbebb1 feat(network-wicked): remove module @@ -325,10 +326,15 @@ 2557 feat(kernel-modules): install SPMI modules on ARM/RISC-V 2559 feat(install.d): add sort-key field to rescue BLS entries 2560 feat(resume): do not attempt to install systemd-hibernate-resume@.service +2571 fix(dracut-install): memory leak in `--modalias` option +2573 fix(dracut-install): release memory allocated for regular expressions +2574 fix(dracut-install): memory leak in two `hashmap_put` calls if key exists 2593 fix(dracut.sh): do not add device if find_block_device returns an error 2593 feat(dracut.sh): protect push_host_devs function +2601 feat(tpm2-tss): add tpm2.target and systemd-tpm2-generator 2607 fix(dracut-util): do not call strcmp if the value argument is NULL 2607 fix(dracut): correct regression with multiple `rd.break=` options +2608 fix(dracut-util): avoid memory leak 2611 fix(livenet): propagate error code 2611 fix(livenet): check also `content-length` from live image header 2611 fix(livenet): split `imgsize` calculation to avoid misleading error message @@ -336,6 +342,13 @@ 2614 fix(dracut-systemd): replace `rd.udev.log-priority` with `rd.udev.log_level` 2618 fix(i18n): handle keymap includes with `--sysroot` 2618 fix(dracut-init.sh): handle decompress with `--sysroot` -2630 fix(zfcp_rules): correct shellcheck regression when parsing ccw args +2623 fix(dracut-lib): only remove initqueue/finished scripts, not the hook dir +2643 fix(systemd): explicitly install some libs that will not be statically included + + +3. Commits from the new https://github.com/dracut-ng/dracut-ng upstream that +were already merged + +a45048b8 fix(dracut): move hooks directory from /usr/lib to /var/lib ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.1UdCA4/_old 2024-04-26 23:26:50.488006130 +0200 +++ /var/tmp/diff_new_pack.1UdCA4/_new 2024-04-26 23:26:50.492006276 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/opensuse/dracut.git</param> - <param name="changesrevision">f2e2d088dc19e2477d348fa712e67f85dad0de5e</param></service></servicedata> + <param name="changesrevision">19b7c06cbf2d96befb9ba0fb24c482a0da40dcef</param></service></servicedata> (No newline at EOF) ++++++ dracut-059+suse.563.g4900899a.obscpio -> dracut-059+suse.581.g19b7c06c.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-059+suse.563.g4900899a/.github/labeler.yml new/dracut-059+suse.581.g19b7c06c/.github/labeler.yml --- old/dracut-059+suse.563.g4900899a/.github/labeler.yml 2024-04-16 15:33:54.000000000 +0200 +++ new/dracut-059+suse.581.g19b7c06c/.github/labeler.yml 2024-04-26 08:18:04.000000000 +0200 @@ -1,292 +1,543 @@ repository: - - ./* + - changed-files: + - any-glob-to-any-file: './*' github: - - .github/* - - .github/**/* + - changed-files: + - any-glob-to-any-file: ['.github/*', '.github/**/*'] + +docs: + - changed-files: + - any-glob-to-any-file: 'docs/*' + +man: + - changed-files: + - any-glob-to-any-file: 'man/*' + +kernel-install: + - changed-files: + - any-glob-to-any-file: 'install.d/*' + +shell-completion: + - changed-files: + - any-glob-to-any-file: ['shell-completion/*', 'shell-completion/**/*'] + +dracut-cpio: + - changed-files: + - any-glob-to-any-file: ['src/dracut-cpio/*', 'src/dracut-cpio/**/*'] dracut-install: - - install/* - - install/**/* + - changed-files: + - any-glob-to-any-file: 'src/install/*' -example: - - examples/* - - examples/**/* - - examples/**/**/* +dracut-util: + - changed-files: + - any-glob-to-any-file: 'src/util/*' + +logtee: + - changed-files: + - any-glob-to-any-file: 'src/logtee/*' + +skipcpio: + - changed-files: + - any-glob-to-any-file: 'src/skipcpio/*' modules: - - modules.d/* - - modules.d/**/* + - changed-files: + - any-glob-to-any-file: ['modules.d/*', 'modules.d/**/*'] bash: - - modules.d/00bash/* + - changed-files: + - any-glob-to-any-file: 'modules.d/00bash/*' dash: - - modules.d/00dash/* + - changed-files: + - any-glob-to-any-file: 'modules.d/00dash/*' mksh: - - modules.d/00mksh/* + - changed-files: + - any-glob-to-any-file: 'modules.d/00mksh/*' systemd: - - modules.d/00systemd/* + - changed-files: + - any-glob-to-any-file: 'modules.d/00systemd/*' warpclock: - - modules.d/00warpclock/* + - changed-files: + - any-glob-to-any-file: 'modules.d/00warpclock/*' fips: - - modules.d/01fips/* + - changed-files: + - any-glob-to-any-file: 'modules.d/01fips/*' + +systemd-ac-power: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-ac-power/*' + +systemd-ask-password: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-ask-password/*' + +systemd-coredump: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-coredump/*' + +systemd-creds: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-creds/*' + +systemd-hostnamed: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-hostnamed/*' systemd-initrd: - - modules.d/01systemd-initrd/* + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-initrd/*' -caps: - - modules.d/02caps/* +systemd-integritysetup: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-integritysetup/*' + +systemd-journald: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-journald/*' + +systemd-ldconfig: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-ldconfig/*' + +systemd-modules-load: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-modules-load/*' systemd-networkd: - - modules.d/02systemd-networkd/* + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-networkd/*' + +systemd-pcrphase: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-pcrphase/*' + +systemd-portabled: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-portabled/*' + +systemd-pstore: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-pstore/*' + +systemd-repart: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-repart/*' + +systemd-resolved: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-resolved/*' + +systemd-sysctl: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-sysctl/*' + +systemd-sysext: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-sysext/*' + +systemd-sysusers: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-sysusers/*' + +systemd-timedated: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-timedated/*' + +systemd-timesyncd: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-timesyncd/*' + +systemd-tmpfiles: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-tmpfiles/*' + +systemd-udevd: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-udevd/*' + +systemd-veritysetup: + - changed-files: + - any-glob-to-any-file: 'modules.d/01systemd-veritysetup/*' + +caps: + - changed-files: + - any-glob-to-any-file: 'modules.d/02caps/*' modsign: - - modules.d/03modsign/* + - changed-files: + - any-glob-to-any-file: 'modules.d/03modsign/*' rescue: - - modules.d/03rescue/* + - changed-files: + - any-glob-to-any-file: 'modules.d/03rescue/*' watchdog: - - modules.d/04watchdog/* + - changed-files: + - any-glob-to-any-file: 'modules.d/04watchdog/*' + +watchdog-modules: + - changed-files: + - any-glob-to-any-file: 'modules.d/04watchdog-modules/*' busybox: - - modules.d/05busybox/* + - changed-files: + - any-glob-to-any-file: 'modules.d/05busybox/*' + +dbus-broker: + - changed-files: + - any-glob-to-any-file: 'modules.d/06dbus-broker/*' + +dbus-daemon: + - changed-files: + - any-glob-to-any-file: 'modules.d/06dbus-daemon/*' rngd: - - modules.d/06rngd/* + - changed-files: + - any-glob-to-any-file: 'modules.d/06rngd/*' + +dbus: + - changed-files: + - any-glob-to-any-file: 'modules.d/09dbus/*' i18n: - - modules.d/10i18n/* + - changed-files: + - any-glob-to-any-file: 'modules.d/10i18n/*' convertfs: - - modules.d/30convertfs/* + - changed-files: + - any-glob-to-any-file: 'modules.d/30convertfs/*' + +connman: + - changed-files: + - any-glob-to-any-file: 'modules.d/35connman/*' network-legacy: - - modules.d/35network-legacy/* + - changed-files: + - any-glob-to-any-file: 'modules.d/35network-legacy/*' network-manager: - - modules.d/35network-manager/* + - changed-files: + - any-glob-to-any-file: 'modules.d/35network-manager/*' network: - - modules.d/40network/* + - changed-files: + - any-glob-to-any-file: 'modules.d/40network/*' ifcfg: - - modules.d/45ifcfg/* + - changed-files: + - any-glob-to-any-file: 'modules.d/45ifcfg/*' url-lib: - - modules.d/45url-lib/* + - changed-files: + - any-glob-to-any-file: 'modules.d/45url-lib/*' drm: - - modules.d/50drm/* + - changed-files: + - any-glob-to-any-file: 'modules.d/50drm/*' plymouth: - - modules.d/50plymouth/* + - changed-files: + - any-glob-to-any-file: 'modules.d/50plymouth/*' + +bluetooth: + - changed-files: + - any-glob-to-any-file: 'modules.d/62bluetooth/*' cms: - - modules.d/80cms/* + - changed-files: + - any-glob-to-any-file: 'modules.d/80cms/*' lvmmerge: - - modules.d/80lvmmerge/* + - changed-files: + - any-glob-to-any-file: 'modules.d/80lvmmerge/*' + +lvmthinpool-monitor: + - changed-files: + - any-glob-to-any-file: 'modules.d/80lvmthinpool-monitor/*' cio_ignore: - - modules.d/81cio_ignore/* + - changed-files: + - any-glob-to-any-file: 'modules.d/81cio_ignore/*' btrfs: - - modules.d/90btrfs/* + - changed-files: + - any-glob-to-any-file: 'modules.d/90btrfs/*' crypt: - - modules.d/90crypt/* + - changed-files: + - any-glob-to-any-file: 'modules.d/90crypt/*' dm: - - modules.d/90dm/* + - changed-files: + - any-glob-to-any-file: 'modules.d/90dm/*' dmraid: - - modules.d/90dmraid/* + - changed-files: + - any-glob-to-any-file: 'modules.d/90dmraid/*' dmsquash-live: - - modules.d/90dmsquash-live/* + - changed-files: + - any-glob-to-any-file: 'modules.d/90dmsquash-live/*' + +dmsquash-live-autooverlay: + - changed-files: + - any-glob-to-any-file: 'modules.d/90dmsquash-live-autooverlay/*' dmsquash-live-ntfs: - - modules.d/90dmsquash-live-ntfs/* + - changed-files: + - any-glob-to-any-file: 'modules.d/90dmsquash-live-ntfs/*' kernel-modules: - - modules.d/90kernel-modules/* + - changed-files: + - any-glob-to-any-file: 'modules.d/90kernel-modules/*' kernel-modules-extra: - - modules.d/90kernel-modules-extra/* + - changed-files: + - any-glob-to-any-file: 'modules.d/90kernel-modules-extra/*' kernel-network-modules: - - modules.d/90kernel-network-modules/* + - changed-files: + - any-glob-to-any-file: 'modules.d/90kernel-network-modules/*' livenet: - - modules.d/90livenet/* + - changed-files: + - any-glob-to-any-file: 'modules.d/90livenet/*' lvm: - - modules.d/90lvm/* + - changed-files: + - any-glob-to-any-file: 'modules.d/90lvm/*' mdraid: - - modules.d/90mdraid/* + - changed-files: + - any-glob-to-any-file: 'modules.d/90mdraid/*' multipath: - - modules.d/90multipath/* + - changed-files: + - any-glob-to-any-file: 'modules.d/90multipath/*' nvdimm: - - modules.d/90nvdimm/* + - changed-files: + - any-glob-to-any-file: 'modules.d/90nvdimm/*' overlayfs: - - modules.d/90overlayfs/* + - changed-files: + - any-glob-to-any-file: 'modules.d/90overlayfs/*' ppcmac: - - modules.d/90ppcmac/* + - changed-files: + - any-glob-to-any-file: 'modules.d/90ppcmac/*' qemu: - - modules.d/90qemu/* + - changed-files: + - any-glob-to-any-file: 'modules.d/90qemu/*' qemu-net: - - modules.d/90qemu-net/* + - changed-files: + - any-glob-to-any-file: 'modules.d/90qemu-net/*' crypt-gpg: - - modules.d/91crypt-gpg/* + - changed-files: + - any-glob-to-any-file: 'modules.d/91crypt-gpg/*' crypt-loop: - - modules.d/91crypt-loop/* + - changed-files: + - any-glob-to-any-file: 'modules.d/91crypt-loop/*' + +fido2: + - changed-files: + - any-glob-to-any-file: 'modules.d/91fido2/*' + +pcsc: + - changed-files: + - any-glob-to-any-file: 'modules.d/91pcsc/*' + +pkcs11: + - changed-files: + - any-glob-to-any-file: 'modules.d/91pkcs11/*' + +tpm2-tss: + - changed-files: + - any-glob-to-any-file: 'modules.d/91tpm2-tss/*' zipl: - - modules.d/91zipl/* + - changed-files: + - any-glob-to-any-file: 'modules.d/91zipl/*' cifs: - - modules.d/95cifs/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95cifs/*' dasd: - - modules.d/95dasd/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95dasd/*' dasd_mod: - - modules.d/95dasd_mod/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95dasd_mod/*' dasd_rules: - - modules.d/95dasd_rules/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95dasd_rules/*' dcssblk: - - modules.d/95dcssblk/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95dcssblk/*' debug: - - modules.d/95debug/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95debug/*' fcoe: - - modules.d/95fcoe/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95fcoe/*' fcoe-uefi: - - modules.d/95fcoe-uefi/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95fcoe-uefi/*' fstab-sys: - - modules.d/95fstab-sys/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95fstab-sys/*' iscsi: - - modules.d/95iscsi/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95iscsi/*' lunmask: - - modules.d/95lunmask/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95lunmask/*' nbd: - - modules.d/95nbd/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95nbd/*' nfs: - - modules.d/95nfs/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95nfs/*' nvmf: - - modules.d/95nvmf/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95nvmf/*' qeth_rules: - - modules.d/95qeth_rules/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95qeth_rules/*' resume: - - modules.d/95resume/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95resume/*' rootfs-block: - - modules.d/95rootfs-block/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95rootfs-block/*' ssh-client: - - modules.d/95ssh-client/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95ssh-client/*' terminfo: - - modules.d/95terminfo/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95terminfo/*' udev-rules: - - modules.d/95udev-rules/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95udev-rules/*' virtfs: - - modules.d/95virtfs/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95virtfs/*' virtiofs: - - modules.d/95virtiofs/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95virtiofs/*' zfcp: - - modules.d/95zfcp/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95zfcp/*' zfcp_rules: - - modules.d/95zfcp_rules/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95zfcp_rules/*' znet: - - modules.d/95znet/* + - changed-files: + - any-glob-to-any-file: 'modules.d/95znet/*' securityfs: - - modules.d/96securityfs/* + - changed-files: + - any-glob-to-any-file: 'modules.d/96securityfs/*' biosdevname: - - modules.d/97biosdevname/* + - changed-files: + - any-glob-to-any-file: 'modules.d/97biosdevname/*' masterkey: -- modules.d/97masterkey/* + - changed-files: + - any-glob-to-any-file: 'modules.d/97masterkey/*' dracut-systemd: - - modules.d/98dracut-systemd/* + - changed-files: + - any-glob-to-any-file: 'modules.d/98dracut-systemd/*' ecryptfs: - - modules.d/98ecryptfs/* + - changed-files: + - any-glob-to-any-file: 'modules.d/98ecryptfs/*' integrity: - - modules.d/98integrity/* + - changed-files: + - any-glob-to-any-file: 'modules.d/98integrity/*' pollcdrom: - - modules.d/98pollcdrom/* + - changed-files: + - any-glob-to-any-file: 'modules.d/98pollcdrom/*' selinux: - - modules.d/98selinux/* + - changed-files: + - any-glob-to-any-file: 'modules.d/98selinux/*' syslog: - - modules.d/98syslog/* + - changed-files: + - any-glob-to-any-file: 'modules.d/98syslog/*' usrmount: - - modules.d/98usrmount/* + - changed-files: + - any-glob-to-any-file: 'modules.d/98usrmount/*' base: - - modules.d/99base/* + - changed-files: + - any-glob-to-any-file: 'modules.d/99base/*' fs-lib: - - modules.d/99fs-lib/* + - changed-files: + - any-glob-to-any-file: 'modules.d/99fs-lib/*' img-lib: - - modules.d/99img-lib/* + - changed-files: + - any-glob-to-any-file: 'modules.d/99img-lib/*' memstrack: - - modules.d/99memstrack/* + - changed-files: + - any-glob-to-any-file: 'modules.d/99memstrack/*' shutdown: - - modules.d/99shutdown/* + - changed-files: + - any-glob-to-any-file: 'modules.d/99shutdown/*' squash: - - modules.d/99squash/* + - changed-files: + - any-glob-to-any-file: 'modules.d/99squash/*' uefi-lib: - - modules.d/99uefi-lib/* + - changed-files: + - any-glob-to-any-file: 'modules.d/99uefi-lib/*' test: - - test/* - - test/**/* - - modules.d/80test* - - modules.d/80test*/* + - changed-files: + - any-glob-to-any-file: ['test/*', 'test/**/*', 'modules.d/80test*', 'modules.d/80test*/*'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-059+suse.563.g4900899a/dracut-init.sh new/dracut-059+suse.581.g19b7c06c/dracut-init.sh --- old/dracut-059+suse.563.g4900899a/dracut-init.sh 2024-04-16 15:33:54.000000000 +0200 +++ new/dracut-059+suse.581.g19b7c06c/dracut-init.sh 2024-04-26 08:18:04.000000000 +0200 @@ -637,7 +637,7 @@ dfatal "No such hook type $1. Aborting initrd creation." exit 1 fi - hook="/lib/dracut/hooks/${1}/${2}-${3##*/}" + hook="/var/lib/dracut/hooks/${1}/${2}-${3##*/}" inst_simple "$3" "$hook" chmod u+x "$initdir/$hook" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-059+suse.563.g4900899a/dracut.sh new/dracut-059+suse.581.g19b7c06c/dracut.sh --- old/dracut-059+suse.563.g4900899a/dracut.sh 2024-04-16 15:33:54.000000000 +0200 +++ new/dracut-059+suse.581.g19b7c06c/dracut.sh 2024-04-26 08:18:04.000000000 +0200 @@ -1881,7 +1881,11 @@ if [[ $kernel_only != yes ]]; then mkdir -p "${initdir}/etc/cmdline.d" - mkdir -m 0755 "${initdir}"/lib/dracut/hooks + mkdir -m 0755 -p "${initdir}"/var/lib/dracut/hooks + + # symlink to old hooks location for compatibility + ln_r /var/lib/dracut/hooks /lib/dracut/hooks + # shellcheck disable=SC2154 for _d in $hookdirs; do # shellcheck disable=SC2174 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-059+suse.563.g4900899a/modules.d/00systemd/module-setup.sh new/dracut-059+suse.581.g19b7c06c/modules.d/00systemd/module-setup.sh --- old/dracut-059+suse.563.g4900899a/modules.d/00systemd/module-setup.sh 2024-04-16 15:33:54.000000000 +0200 +++ new/dracut-059+suse.581.g19b7c06c/modules.d/00systemd/module-setup.sh 2024-04-26 08:18:04.000000000 +0200 @@ -262,6 +262,8 @@ # Install library file(s) _arch=${DRACUT_ARCH:-$(uname -m)} inst_libdir_file \ + {"tls/$_arch/",tls/,"$_arch/",}"libgcrypt.so*" \ + {"tls/$_arch/",tls/,"$_arch/",}"libkmod.so*" \ {"tls/$_arch/",tls/,"$_arch/",}"libnss_*" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-059+suse.563.g4900899a/modules.d/01systemd-coredump/module-setup.sh new/dracut-059+suse.581.g19b7c06c/modules.d/01systemd-coredump/module-setup.sh --- old/dracut-059+suse.563.g4900899a/modules.d/01systemd-coredump/module-setup.sh 2024-04-16 15:33:54.000000000 +0200 +++ new/dracut-059+suse.581.g19b7c06c/modules.d/01systemd-coredump/module-setup.sh 2024-04-26 08:18:04.000000000 +0200 @@ -40,6 +40,13 @@ "$sysusers"/systemd-coredump.conf \ coredumpctl + # Install library file(s) + _arch=${DRACUT_ARCH:-$(uname -m)} + inst_libdir_file \ + {"tls/$_arch/",tls/,"$_arch/",}"liblz4.so.*" \ + {"tls/$_arch/",tls/,"$_arch/",}"liblzma.so.*" \ + {"tls/$_arch/",tls/,"$_arch/",}"libzstd.so.*" + # Install the hosts local user configurations if enabled. if [[ $hostonly ]]; then inst_multiple -H -o \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-059+suse.563.g4900899a/modules.d/01systemd-journald/module-setup.sh new/dracut-059+suse.581.g19b7c06c/modules.d/01systemd-journald/module-setup.sh --- old/dracut-059+suse.563.g4900899a/modules.d/01systemd-journald/module-setup.sh 2024-04-16 15:33:54.000000000 +0200 +++ new/dracut-059+suse.581.g19b7c06c/modules.d/01systemd-journald/module-setup.sh 2024-04-26 08:18:04.000000000 +0200 @@ -53,9 +53,10 @@ # Install library file(s) _arch=${DRACUT_ARCH:-$(uname -m)} inst_libdir_file \ + {"tls/$_arch/",tls/,"$_arch/",}"libgcrypt.so*" \ {"tls/$_arch/",tls/,"$_arch/",}"liblz4.so.*" \ - {"tls/$_arch/",tls/,"$_arch/",}"libzstd.so.*" \ - {"tls/$_arch/",tls/,"$_arch/",}"liblzma.so.*" + {"tls/$_arch/",tls/,"$_arch/",}"liblzma.so.*" \ + {"tls/$_arch/",tls/,"$_arch/",}"libzstd.so.*" # Install the hosts local user configurations if enabled. if [[ $hostonly ]]; then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-059+suse.563.g4900899a/modules.d/35connman/cm-lib.sh new/dracut-059+suse.581.g19b7c06c/modules.d/35connman/cm-lib.sh --- old/dracut-059+suse.563.g4900899a/modules.d/35connman/cm-lib.sh 2024-04-16 15:33:54.000000000 +0200 +++ new/dracut-059+suse.581.g19b7c06c/modules.d/35connman/cm-lib.sh 2024-04-26 08:18:04.000000000 +0200 @@ -4,7 +4,6 @@ cm_generate_connections() { if getargbool 0 rd.neednet; then - mkdir -p "$hookdir"/initqueue/finished echo '[ -f /tmp/cm.done ]' > "$hookdir"/initqueue/finished/cm.sh mkdir -p /run/connman/initrd : > /run/connman/initrd/neednet # activate ConnMan services diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-059+suse.563.g4900899a/modules.d/35network-manager/nm-lib.sh new/dracut-059+suse.581.g19b7c06c/modules.d/35network-manager/nm-lib.sh --- old/dracut-059+suse.563.g4900899a/modules.d/35network-manager/nm-lib.sh 2024-04-16 15:33:54.000000000 +0200 +++ new/dracut-059+suse.581.g19b7c06c/modules.d/35network-manager/nm-lib.sh 2024-04-26 08:18:04.000000000 +0200 @@ -20,7 +20,6 @@ /etc/NetworkManager/system-connections/* \ /etc/sysconfig/network-scripts/ifcfg-*; do [ -f "$i" ] || continue - mkdir -p "$hookdir"/initqueue/finished echo '[ -f /tmp/nm.done ]' > "$hookdir"/initqueue/finished/nm.sh mkdir -p /run/NetworkManager/initrd : > /run/NetworkManager/initrd/neednet # activate NM services diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-059+suse.563.g4900899a/modules.d/91tpm2-tss/module-setup.sh new/dracut-059+suse.581.g19b7c06c/modules.d/91tpm2-tss/module-setup.sh --- old/dracut-059+suse.563.g4900899a/modules.d/91tpm2-tss/module-setup.sh 2024-04-16 15:33:54.000000000 +0200 +++ new/dracut-059+suse.581.g19b7c06c/modules.d/91tpm2-tss/module-setup.sh 2024-04-26 08:18:04.000000000 +0200 @@ -35,6 +35,8 @@ "$sysusers"/system-user-tss.conf \ "$tmpfilesdir"/tpm2-tss-fapi*.conf \ "$udevrulesdir"/90-tpm.rules \ + "$systemdutildir"/system-generators/systemd-tpm2-generator \ + "$systemdsystemunitdir/tpm2.target" \ tpm2_pcrread tpm2_pcrextend tpm2_createprimary tpm2_createpolicy \ tpm2_create tpm2_load tpm2_unseal tpm2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-059+suse.563.g4900899a/modules.d/99base/dracut-lib.sh new/dracut-059+suse.581.g19b7c06c/modules.d/99base/dracut-lib.sh --- old/dracut-059+suse.563.g4900899a/modules.d/99base/dracut-lib.sh 2024-04-16 15:33:54.000000000 +0200 +++ new/dracut-059+suse.581.g19b7c06c/modules.d/99base/dracut-lib.sh 2024-04-26 08:18:04.000000000 +0200 @@ -1131,7 +1131,7 @@ } remove_hostonly_files() { - rm -fr /etc/cmdline /etc/cmdline.d/*.conf "$hookdir/initqueue/finished" + rm -fr /etc/cmdline /etc/cmdline.d/*.conf "$hookdir"/initqueue/finished/*.sh if [ -f /lib/dracut/hostonly-files ]; then while read -r line || [ -n "$line" ]; do [ -e "$line" ] || [ -h "$line" ] || continue diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-059+suse.563.g4900899a/modules.d/99base/module-setup.sh new/dracut-059+suse.581.g19b7c06c/modules.d/99base/module-setup.sh --- old/dracut-059+suse.563.g4900899a/modules.d/99base/module-setup.sh 2024-04-16 15:33:54.000000000 +0200 +++ new/dracut-059+suse.581.g19b7c06c/modules.d/99base/module-setup.sh 2024-04-26 08:18:04.000000000 +0200 @@ -45,7 +45,10 @@ [ -e "${initdir}/lib" ] || mkdir -m 0755 -p "${initdir}"/lib mkdir -m 0755 -p "${initdir}"/lib/dracut - mkdir -m 0755 -p "${initdir}"/lib/dracut/hooks + mkdir -m 0755 -p "${initdir}"/var/lib/dracut/hooks + + # symlink to old hooks location for compatibility + ln_r /var/lib/dracut/hooks /lib/dracut/hooks mkdir -p "${initdir}"/tmp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-059+suse.563.g4900899a/modules.d/99shutdown/module-setup.sh new/dracut-059+suse.581.g19b7c06c/modules.d/99shutdown/module-setup.sh --- old/dracut-059+suse.563.g4900899a/modules.d/99shutdown/module-setup.sh 2024-04-16 15:33:54.000000000 +0200 +++ new/dracut-059+suse.581.g19b7c06c/modules.d/99shutdown/module-setup.sh 2024-04-26 08:18:04.000000000 +0200 @@ -17,9 +17,11 @@ inst_multiple umount poweroff reboot halt losetup stat sleep timeout inst_multiple -o kexec inst "$moddir/shutdown.sh" "$prefix/shutdown" - [ -e "${initdir}/lib" ] || mkdir -m 0755 -p "${initdir}"/lib - mkdir -m 0755 -p "${initdir}"/lib/dracut - mkdir -m 0755 -p "${initdir}"/lib/dracut/hooks + mkdir -m 0755 -p "${initdir}"/var/lib/dracut/hooks + + # symlink to old hooks location for compatibility + ln_r /var/lib/dracut/hooks /lib/dracut/hooks + for _d in $hookdirs shutdown shutdown-emergency; do mkdir -m 0755 -p "${initdir}"/lib/dracut/hooks/"$_d" done diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-059+suse.563.g4900899a/src/install/dracut-install.c new/dracut-059+suse.581.g19b7c06c/src/install/dracut-install.c --- old/dracut-059+suse.563.g4900899a/src/install/dracut-install.c 2024-04-16 15:33:54.000000000 +0200 +++ new/dracut-059+suse.581.g19b7c06c/src/install/dracut-install.c 2024-04-26 08:18:04.000000000 +0200 @@ -356,23 +356,23 @@ char *q, *clibdir; int r, ret = 0; - p = strdup(lib); - - r = dracut_install(p, p, false, false, true); + r = dracut_install(lib, lib, false, false, true); if (r != 0) - log_error("ERROR: failed to install '%s' for '%s'", p, src); + log_error("ERROR: failed to install '%s' for '%s'", lib, src); else - log_debug("Lib install: '%s'", p); + log_debug("Lib install: '%s'", lib); ret += r; /* also install lib.so for lib.so.* files */ - q = strstr(p, ".so."); + q = strstr(lib, ".so."); if (q) { - q[3] = '\0'; + p = strndup(lib, q - lib + 3); /* ignore errors for base lib symlink */ if (dracut_install(p, p, false, false, true) == 0) log_debug("Lib install: '%s'", p); + + free(p); } /* Also try to install the same library from one directory above @@ -384,7 +384,6 @@ libc.so.6 (libc6,64bit, OS ABI: Linux 2.6.32) => /lib64/libc.so.6 */ - free(p); p = strdup(lib); pdir = dirname_malloc(p); @@ -634,14 +633,9 @@ /* Install ".<filename>.hmac" file for FIPS self-checks */ static int hmac_install(const char *src, const char *dst, const char *hmacpath) { - _cleanup_free_ char *srcpath = strdup(src); - _cleanup_free_ char *dstpath = strdup(dst); _cleanup_free_ char *srchmacname = NULL; _cleanup_free_ char *dsthmacname = NULL; - if (!(srcpath && dstpath)) - return -ENOMEM; - size_t dlen = dir_len(src); if (endswith(src, ".hmac")) @@ -654,16 +648,14 @@ hmac_install(src, dst, "/lib64/hmaccalc"); } - srcpath[dlen] = '\0'; - dstpath[dir_len(dst)] = '\0'; if (hmacpath) { _asprintf(&srchmacname, "%s/%s.hmac", hmacpath, &src[dlen + 1]); _asprintf(&dsthmacname, "%s/%s.hmac", hmacpath, &src[dlen + 1]); } else { - _asprintf(&srchmacname, "%s/.%s.hmac", srcpath, &src[dlen + 1]); - _asprintf(&dsthmacname, "%s/.%s.hmac", dstpath, &src[dlen + 1]); + _asprintf(&srchmacname, "%.*s/.%s.hmac", (int)dlen, src, &src[dlen + 1]); + _asprintf(&dsthmacname, "%.*s/.%s.hmac", (int)dir_len(dst), dst, &src[dlen + 1]); } - log_debug("hmac cp '%s' '%s')", srchmacname, dsthmacname); + log_debug("hmac cp '%s' '%s'", srchmacname, dsthmacname); dracut_install(srchmacname, dsthmacname, false, false, true); return 0; } @@ -727,11 +719,11 @@ return 1; } } else if (errno != ENOENT) { - log_error("ERROR: stat '%s': %s", parent, strerror(errno)); + log_error("ERROR: stat '%s': %m", parent); return 1; } else { if (mkdir(parent, 0755) < 0) { - log_error("ERROR: mkdir '%s': %s", parent, strerror(errno)); + log_error("ERROR: mkdir '%s': %m", parent); return 1; } } @@ -747,7 +739,7 @@ static int dracut_install(const char *orig_src, const char *orig_dst, bool isdir, bool resolvedeps, bool hashdst) { - struct stat sb, db; + struct stat sb; _cleanup_free_ char *fullsrcpath = NULL; _cleanup_free_ char *fulldstpath = NULL; _cleanup_free_ char *fulldstdir = NULL; @@ -757,25 +749,24 @@ mode_t src_mode = 0; bool dst_exists = true; char *i = NULL; - _cleanup_free_ char *src; - _cleanup_free_ char *dst; + const char *src, *dst; if (sysrootdirlen) { if (strncmp(orig_src, sysrootdir, sysrootdirlen) == 0) { - src = strdup(orig_src + sysrootdirlen); + src = orig_src + sysrootdirlen; fullsrcpath = strdup(orig_src); } else { - src = strdup(orig_src); + src = orig_src; _asprintf(&fullsrcpath, "%s%s", sysrootdir, src); } if (strncmp(orig_dst, sysrootdir, sysrootdirlen) == 0) - dst = strdup(orig_dst + sysrootdirlen); + dst = orig_dst + sysrootdirlen; else - dst = strdup(orig_dst); + dst = orig_dst; } else { - src = strdup(orig_src); + src = orig_src; fullsrcpath = strdup(src); - dst = strdup(orig_dst); + dst = orig_dst; } log_debug("dracut_install('%s', '%s', %d, %d, %d)", src, dst, isdir, resolvedeps, hashdst); @@ -831,7 +822,7 @@ return 1; } - ret = stat(fulldstdir, &db); + ret = access(fulldstdir, F_OK); if (ret < 0) { _cleanup_free_ char *dname = NULL; @@ -891,12 +882,12 @@ return 1; } - if (lstat(abspath, &sb) != 0) { + if (faccessat(AT_FDCWD, abspath, F_OK, AT_SYMLINK_NOFOLLOW) != 0) { log_debug("lstat '%s': %m", abspath); return 1; } - if (lstat(fulldstpath, &sb) != 0) { + if (faccessat(AT_FDCWD, fulldstpath, F_OK, AT_SYMLINK_NOFOLLOW) != 0) { _cleanup_free_ char *absdestpath = NULL; _asprintf(&absdestpath, "%s/%s", destrootdir, @@ -941,7 +932,8 @@ if (!i) return -ENOMEM; - hashmap_put(items, i, i); + if (hashmap_put(items, i, i) < 0) + free(i); if (logfile_f) dracut_log_cp(src); @@ -1093,10 +1085,10 @@ arg_module = true; break; case 'D': - destrootdir = strdup(optarg); + destrootdir = optarg; break; case 'r': - sysrootdir = strdup(optarg); + sysrootdir = optarg; sysrootdirlen = strlen(sysrootdir); break; case 'p': @@ -1135,10 +1127,10 @@ arg_mod_filter_noname = true; break; case 'L': - logdir = strdup(optarg); + logdir = optarg; break; case ARG_KERNELDIR: - kerneldir = strdup(optarg); + kerneldir = optarg; break; case ARG_FIRMWAREDIRS: firmwaredirs = strv_split(optarg, ":"); @@ -1250,7 +1242,6 @@ char *newsrc = NULL; STRV_FOREACH(q, pathdirs) { - struct stat sb; char *fullsrcpath; _asprintf(&newsrc, "%s/%s", *q, src); @@ -1263,8 +1254,8 @@ continue; } - if (lstat(fullsrcpath, &sb) != 0) { - log_debug("stat(%s) != 0", fullsrcpath); + if (faccessat(AT_FDCWD, fullsrcpath, F_OK, AT_SYMLINK_NOFOLLOW) != 0) { + log_debug("lstat(%s) != 0", fullsrcpath); free(newsrc); newsrc = NULL; free(fullsrcpath); @@ -1347,8 +1338,7 @@ } else { if (strchr(argv[i], '*') == NULL) { - _cleanup_free_ char *dest = strdup(argv[i]); - ret = dracut_install(argv[i], dest, arg_createdir, arg_resolvedeps, true); + ret = dracut_install(argv[i], argv[i], arg_createdir, arg_resolvedeps, true); } else { _cleanup_free_ char *realsrc = NULL; _cleanup_globfree_ glob_t globbuf; @@ -1360,11 +1350,9 @@ size_t j; for (j = 0; j < globbuf.gl_pathc; j++) { - char *dest = strdup(globbuf.gl_pathv[j] + sysrootdirlen); - ret |= - dracut_install(globbuf.gl_pathv[j] + sysrootdirlen, dest, - arg_createdir, arg_resolvedeps, true); - free(dest); + ret |= dracut_install(globbuf.gl_pathv[j] + sysrootdirlen, + globbuf.gl_pathv[j] + sysrootdirlen, + arg_createdir, arg_resolvedeps, true); } } } @@ -1382,9 +1370,8 @@ { const char *fw = fwpath; _cleanup_free_ char *fwpath_compressed = NULL; - struct stat sb; int ret; - if (stat(fwpath, &sb) != 0) { + if (access(fwpath, F_OK) != 0) { _asprintf(&fwpath_compressed, "%s.zst", fwpath); if (access(fwpath_compressed, F_OK) != 0) { strcpy(fwpath_compressed + strlen(fwpath) + 1, "xz"); @@ -1427,12 +1414,11 @@ ret = -1; STRV_FOREACH(q, firmwaredirs) { _cleanup_free_ char *fwpath = NULL; - struct stat sb; _asprintf(&fwpath, "%s/%s", *q, value); - if ((strstr(value, "*") != 0 || strstr(value, "?") != 0 || strstr(value, "[") != 0) - && stat(fwpath, &sb) != 0) { + if (strpbrk(value, "*?[") != NULL + && access(fwpath, F_OK) != 0) { size_t i; _cleanup_globfree_ glob_t globbuf; @@ -1719,7 +1705,8 @@ struct kmod_module *mod = kmod_module_get_module(l); char *name = strdup(kmod_module_get_name(mod)); kmod_module_unref(mod); - hashmap_put(modules_loaded, name, name); + if (hashmap_put(modules_loaded, name, name) < 0) + free(name); } } @@ -1734,8 +1721,11 @@ struct kmod_module *mod = kmod_module_get_module(itr); char *name = strdup(kmod_module_get_name(mod)); - hashmap_put(modules_loaded, name, name); kmod_module_unref(mod); + if (hashmap_put(modules_loaded, name, name) < 0) { + free(name); + continue; + } /* also put the modules from the new kernel in the hashmap, * which resolve the name as an alias, in case a kernel module is @@ -1749,8 +1739,9 @@ kmod_list_foreach(l, modlist) { mod = kmod_module_get_module(l); char *name = strdup(kmod_module_get_name(mod)); - hashmap_put(modules_loaded, name, name); kmod_module_unref(mod); + if (hashmap_put(modules_loaded, name, name) < 0) + free(name); } } kmod_module_unref_list(loaded_list); @@ -1804,7 +1795,8 @@ log_debug("Adding module '%s' to hostonly module list", name); dupname = strdup(name); - hashmap_put(modules_loaded, dupname, dupname); + if (hashmap_put(modules_loaded, dupname, dupname) < 0) + free(dupname); } } } @@ -2042,7 +2034,8 @@ HASHMAP_FOREACH(name, modules_loaded, i) { printf("%s\n", name); } - exit(0); + r = EXIT_SUCCESS; + goto finish2; } log_debug("Program arguments:"); @@ -2079,7 +2072,6 @@ log_error("Environment DESTROOTDIR or argument -D is not set!"); usage(EXIT_FAILURE); } - destrootdir = strdup(destrootdir); } if (strcmp(destrootdir, "/") == 0) { @@ -2088,13 +2080,11 @@ } i = destrootdir; - destrootdir = realpath(destrootdir, NULL); - if (!destrootdir) { + if (!(destrootdir = realpath(i, NULL))) { log_error("Environment DESTROOTDIR or argument -D is set to '%s': %m", i); r = EXIT_FAILURE; - goto finish; + goto finish2; } - free(i); items = hashmap_new(string_hash_func, string_compare_func); items_failed = hashmap_new(string_hash_func, string_compare_func); @@ -2102,7 +2092,7 @@ if (!items || !items_failed || !modules_loaded) { log_error("Out of memory"); r = EXIT_FAILURE; - goto finish; + goto finish1; } if (logdir) { @@ -2112,7 +2102,7 @@ if (logfile_f == NULL) { log_error("Could not open %s for logging: %m", logfile); r = EXIT_FAILURE; - goto finish; + goto finish1; } } @@ -2145,7 +2135,9 @@ if (arg_optional) r = EXIT_SUCCESS; -finish: +finish1: + free(destrootdir); +finish2: if (logfile_f) fclose(logfile_f); @@ -2162,7 +2154,17 @@ hashmap_free(items_failed); hashmap_free(modules_loaded); - free(destrootdir); + if (arg_mod_filter_path) + regfree(&mod_filter_path); + if (arg_mod_filter_nopath) + regfree(&mod_filter_nopath); + if (arg_mod_filter_symbol) + regfree(&mod_filter_symbol); + if (arg_mod_filter_nosymbol) + regfree(&mod_filter_nosymbol); + if (arg_mod_filter_noname) + regfree(&mod_filter_noname); + strv_free(firmwaredirs); strv_free(pathdirs); return r; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-059+suse.563.g4900899a/src/install/hashmap.lo new/dracut-059+suse.581.g19b7c06c/src/install/hashmap.lo --- old/dracut-059+suse.563.g4900899a/src/install/hashmap.lo 2024-04-16 15:33:54.000000000 +0200 +++ new/dracut-059+suse.581.g19b7c06c/src/install/hashmap.lo 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -# src/shared/hashmap.lo - a libtool object file -# Generated by libtool (GNU libtool) 2.4.2 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object='.libs/hashmap.o' - -# Name of the non-PIC object -non_pic_object='hashmap.o' - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-059+suse.563.g4900899a/src/util/util.c new/dracut-059+suse.581.g19b7c06c/src/util/util.c --- old/dracut-059+suse.563.g4900899a/src/util/util.c 2024-04-16 15:33:54.000000000 +0200 +++ new/dracut-059+suse.581.g19b7c06c/src/util/util.c 2024-04-26 08:18:04.000000000 +0200 @@ -2,10 +2,11 @@ // Parts are copied from the linux kernel +#include <errno.h> +#include <stdbool.h> #include <stdio.h> -#include <string.h> #include <stdlib.h> -#include <stdbool.h> +#include <string.h> // CODE FROM LINUX KERNEL START @@ -56,6 +57,13 @@ return (char *)str; } +#define _cleanup_(x) __attribute__((cleanup(x))) +static inline void freep(void *p) +{ + free(*(void **)p); +} +#define _cleanup_free_ _cleanup_(freep) + /* * Parse a string to get a param value pair. * You can use " around spaces, but can't escape ". @@ -179,17 +187,20 @@ char *search_value; char *end_value = NULL; bool bool_value = false; - char *cmdline = NULL; + _cleanup_free_ char *cmdline = NULL; + char *args = NULL; + + if (argc != 2) { + usage(GETARG, EXIT_FAILURE, "Number of arguments invalid"); + } char *p = getenv("CMDLINE"); if (p == NULL) { usage(GETARG, EXIT_FAILURE, "CMDLINE env not set"); } cmdline = strdup(p); - - if (argc != 2) { - usage(GETARG, EXIT_FAILURE, "Number of arguments invalid"); - } + if (!cmdline) + return -ENOMEM; search_key = argv[1]; @@ -204,9 +215,10 @@ if (strlen(search_key) == 0) usage(GETARG, EXIT_FAILURE, "search key undefined"); + args = cmdline; do { char *key = NULL, *value = NULL; - cmdline = next_arg(cmdline, &key, &value); + args = next_arg(args, &key, &value); if (strcmp(key, search_key) == 0) { if (value) { end_value = value; @@ -216,7 +228,7 @@ bool_value = true; } } - } while (cmdline[0]); + } while (args[0]); if (search_value) { if (end_value && strcmp(end_value, search_value) == 0) { @@ -243,17 +255,20 @@ char *search_key; char *search_value; bool found_value = false; - char *cmdline = NULL; + _cleanup_free_ char *cmdline = NULL; + char *args = NULL; + + if (argc != 2) { + usage(GETARGS, EXIT_FAILURE, "Number of arguments invalid"); + } char *p = getenv("CMDLINE"); if (p == NULL) { usage(GETARGS, EXIT_FAILURE, "CMDLINE env not set"); } cmdline = strdup(p); - - if (argc != 2) { - usage(GETARGS, EXIT_FAILURE, "Number of arguments invalid"); - } + if (!cmdline) + return -ENOMEM; search_key = argv[1]; @@ -268,9 +283,10 @@ if (strlen(search_key) == 0) usage(GETARGS, EXIT_FAILURE, "search key undefined"); + args = cmdline; do { char *key = NULL, *value = NULL; - cmdline = next_arg(cmdline, &key, &value); + args = next_arg(args, &key, &value); if (strcmp(key, search_key) == 0) { if (search_value) { if (value && strcmp(value, search_value) == 0) { @@ -286,7 +302,7 @@ found_value = true; } } - } while (cmdline[0]); + } while (args[0]); return found_value ? EXIT_SUCCESS : EXIT_FAILURE; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dracut-059+suse.563.g4900899a/suse/README.susemaint new/dracut-059+suse.581.g19b7c06c/suse/README.susemaint --- old/dracut-059+suse.563.g4900899a/suse/README.susemaint 2024-04-16 15:33:54.000000000 +0200 +++ new/dracut-059+suse.581.g19b7c06c/suse/README.susemaint 2024-04-26 08:18:04.000000000 +0200 @@ -89,8 +89,9 @@ the upgrade to dracut-059 (0aa08f0e docs: update NEWS.md and AUTHORS), extracted using `git log --oneline 0aa08f0e..HEAD`: +MERGED 5d2bda46 fix(zfcp_rules): correct shellcheck regression when parsing ccw args 4980bad3 fix(configure): misleading error if C compiler is not installed - de8ac630 fix(github): update format of labeler +MERGED de8ac630 fix(github): update format of labeler MERGED 4971f443 fix(systemd-journald): add systemd-sysusers dependency MERGED 4d594210 fix(dracut-initramfs-restore.sh): do not set selinux labels if disabled MERGED 1586af09 fix(systemd-repart): correct undefined $libdir @@ -295,13 +296,13 @@ MERGED 93339444 fix(dmsquash-live): live:/dev/* MERGED 10cf8e46 fix(load_fstype): avoid false positive searchs MERGED 08b63a25 fix: shellcheck 0.8.0 - 94dcac7c refactor(dracut-install): strerror(errno) -> %m - efd4ca27 perf(dracut-install): don't strdup() environment block - 77226cb4 perf(dracut-install): don't reallocate {src,dst}path in hmac_install() - a20556f0 perf(dracut-install): don't strdup() excessively for dracut_install() - e7ed8337 perf(dracut-install): stat() w/unused buf -> access(F_OK) in dracut-install - 751a110f perf(dracut-install): multiple single-character strstr()s -> strpbrk() - 1e5237dd chore: remove src/install/hashmap.lo +MERGED 94dcac7c refactor(dracut-install): strerror(errno) -> %m +MERGED efd4ca27 perf(dracut-install): don't strdup() environment block +MERGED 77226cb4 perf(dracut-install): don't reallocate {src,dst}path in hmac_install() +MERGED a20556f0 perf(dracut-install): don't strdup() excessively for dracut_install() +MERGED e7ed8337 perf(dracut-install): stat() w/unused buf -> access(F_OK) in dracut-install +MERGED 751a110f perf(dracut-install): multiple single-character strstr()s -> strpbrk() +MERGED 1e5237dd chore: remove src/install/hashmap.lo MERGED 9dbbebb1 feat(network-wicked): remove module @@ -325,10 +326,15 @@ 2557 feat(kernel-modules): install SPMI modules on ARM/RISC-V 2559 feat(install.d): add sort-key field to rescue BLS entries 2560 feat(resume): do not attempt to install systemd-hibernate-resume@.service +2571 fix(dracut-install): memory leak in `--modalias` option +2573 fix(dracut-install): release memory allocated for regular expressions +2574 fix(dracut-install): memory leak in two `hashmap_put` calls if key exists 2593 fix(dracut.sh): do not add device if find_block_device returns an error 2593 feat(dracut.sh): protect push_host_devs function +2601 feat(tpm2-tss): add tpm2.target and systemd-tpm2-generator 2607 fix(dracut-util): do not call strcmp if the value argument is NULL 2607 fix(dracut): correct regression with multiple `rd.break=` options +2608 fix(dracut-util): avoid memory leak 2611 fix(livenet): propagate error code 2611 fix(livenet): check also `content-length` from live image header 2611 fix(livenet): split `imgsize` calculation to avoid misleading error message @@ -336,5 +342,12 @@ 2614 fix(dracut-systemd): replace `rd.udev.log-priority` with `rd.udev.log_level` 2618 fix(i18n): handle keymap includes with `--sysroot` 2618 fix(dracut-init.sh): handle decompress with `--sysroot` -2630 fix(zfcp_rules): correct shellcheck regression when parsing ccw args +2623 fix(dracut-lib): only remove initqueue/finished scripts, not the hook dir +2643 fix(systemd): explicitly install some libs that will not be statically included + + +3. Commits from the new https://github.com/dracut-ng/dracut-ng upstream that +were already merged + +a45048b8 fix(dracut): move hooks directory from /usr/lib to /var/lib ++++++ dracut.obsinfo ++++++ --- /var/tmp/diff_new_pack.1UdCA4/_old 2024-04-26 23:26:50.876020313 +0200 +++ /var/tmp/diff_new_pack.1UdCA4/_new 2024-04-26 23:26:50.880020460 +0200 @@ -1,5 +1,5 @@ name: dracut -version: 059+suse.563.g4900899a -mtime: 1713274434 -commit: 4900899a25993aaf999e2f24e4b19d124e335cff +version: 059+suse.581.g19b7c06c +mtime: 1714112284 +commit: 19b7c06cbf2d96befb9ba0fb24c482a0da40dcef