]> git.ipfire.org Git - thirdparty/dracut.git/log
thirdparty/dracut.git
20 months agofix(nvmf): nvme list-subsys prints the address using commas as separator
Antonio Alvarez Feijoo [Wed, 14 Sep 2022 10:44:26 +0000 (12:44 +0200)] 
fix(nvmf): nvme list-subsys prints the address using commas as separator

nvme-cli 1.x printed the address using spaces as separator, but nvme-cli 2.x
prints the address using commas as separator (exact output from sysfs). E.g.,
output from `cat /sys/class/nvme/nvme0/address`:

traddr=nn-0x201700a09890f5bf:pn-0x201900a09890f5bf,host_traddr=nn-0x200000109b579ef5:pn-0x100000109b579ef5

Also, I suppress rd.nvmf.discover= cmdline option if all fields are empty.

20 months agoci: login and push containers as repository_owner
Laszlo Gombos [Thu, 29 Sep 2022 11:58:47 +0000 (11:58 +0000)] 
ci: login and push containers as repository_owner

20 months agotest(SYSTEMD): make the man command succeed
Laszlo Gombos [Thu, 18 Aug 2022 01:25:38 +0000 (01:25 +0000)] 
test(SYSTEMD): make the man command succeed

Document the reason of the existing workaround.

Move the existing logic to the initramfs.testing generation phase
and make the steps more generic.

This change makes the test pass on debian.

20 months agotest: do not bring up the network interface if it is not needed
Laszlo Gombos [Wed, 17 Aug 2022 04:23:08 +0000 (04:23 +0000)] 
test: do not bring up the network interface if it is not needed

Notice that TEST-04 does not explicitelly includes dhclient
and dhclient-script for the rootfs.

Apply the same principle for all local tests that do not
need networking.

This should make the tests run faster and slightly more reliable.

This change also brings us to a better place where network-legacy
files are only gets included via proper dracut module inclusion.

20 months agofix(dracut-init.sh): add missing hostonly code in the inst_multiple function
Antonio Alvarez Feijoo [Tue, 16 Aug 2022 06:23:19 +0000 (08:23 +0200)] 
fix(dracut-init.sh): add missing hostonly code in the inst_multiple function

It seems that commit https://github.com/dracutdevs/dracut/commit/4ef45f13 forgot
to add the code to handle the hostonly parameter in the inst_multiple function.

20 months agorefactor(network-manager): use more precise global variables
Antonio Alvarez Feijoo [Mon, 11 Jul 2022 11:29:56 +0000 (13:29 +0200)] 
refactor(network-manager): use more precise global variables

20 months agorefactor(network-legacy): use more precise global variables
Antonio Alvarez Feijoo [Mon, 11 Jul 2022 11:29:29 +0000 (13:29 +0200)] 
refactor(network-legacy): use more precise global variables

20 months agorefactor(systemd-timesyncd): use more precise global variables
Antonio Alvarez Feijoo [Mon, 11 Jul 2022 11:29:16 +0000 (13:29 +0200)] 
refactor(systemd-timesyncd): use more precise global variables

20 months agorefactor(systemd-networkd): use more precise global variables
Antonio Alvarez Feijoo [Mon, 11 Jul 2022 11:28:50 +0000 (13:28 +0200)] 
refactor(systemd-networkd): use more precise global variables

20 months agofix(network-manager): correct wrong local network configuration path
Antonio Alvarez Feijoo [Mon, 11 Jul 2022 11:08:57 +0000 (13:08 +0200)] 
fix(network-manager): correct wrong local network configuration path

20 months agofix(network-legacy): correct wrong local network configuration path
Antonio Alvarez Feijoo [Mon, 11 Jul 2022 11:08:40 +0000 (13:08 +0200)] 
fix(network-legacy): correct wrong local network configuration path

20 months agofix(dracut.sh): correct wrong systemd variable paths
Antonio Alvarez Feijoo [Mon, 11 Jul 2022 10:52:58 +0000 (12:52 +0200)] 
fix(dracut.sh): correct wrong systemd variable paths

systemdsystemconfdir usually expands to /etc/systemd/system, but the local
configuration of systemd-networkd, systemd-timesyncd, portablectl and systemd
users is saved into directories whose parent is /etc/systemd
(systemdutilconfdir).

Also add missing exports.

20 months agotest(DMSQUASH): add test for overlay on top of a block device
Laszlo Gombos [Mon, 15 Aug 2022 19:45:09 +0000 (19:45 +0000)] 
test(DMSQUASH): add test for overlay on top of a block device

Add a test for mounting root filesystem with overlay for /dev/sdb.

The existing test was testing mounting root filesystem with overlay
from a squashfs image file.

20 months agotest(NFS): remove a workaround for systemd v230
Laszlo Gombos [Sun, 14 Aug 2022 05:30:06 +0000 (05:30 +0000)] 
test(NFS): remove a workaround for systemd v230

Remove some more dead code.
Improve style and formatting.
Remove duplicated modules.

20 months agorefactor(base): remove `str_replace` from `dracut-lib.sh`
Laszlo Gombos [Sun, 13 Mar 2022 17:04:10 +0000 (17:04 +0000)] 
refactor(base): remove `str_replace` from `dracut-lib.sh`

Remove duplicate implementation of `str_replace` to follow-up
commit 148e420be5b5809aa8d5033f47477573bbbf3e60

20 months agoci: add Gentoo Linux container
Laszlo Gombos [Fri, 6 May 2022 13:25:16 +0000 (13:25 +0000)] 
ci: add Gentoo Linux container

The Gentoo container is configured to use openrc and musl to
test in those enviroments as well.

20 months agochore(udev-rules): remove obsolete code
Laszlo Gombos [Sun, 28 Aug 2022 12:04:12 +0000 (12:04 +0000)] 
chore(udev-rules): remove obsolete code

Arch linux no longer needs a special load-modules.sh file.

20 months agochore(base): do not output root entry while installing base
Laszlo Gombos [Sun, 28 Aug 2022 13:35:36 +0000 (13:35 +0000)] 
chore(base): do not output root entry while installing base

Silence the printing out root entry of passwd file
while including base module.

dracut: *** Including module: base ***
root:x:0:0:root:/root:/bin/bash
dracut: *** Including module: fs-lib ***

20 months agoci: improve CI for containers
Laszlo Gombos [Sun, 4 Sep 2022 23:10:11 +0000 (23:10 +0000)] 
ci: improve CI for containers

Login to GitHub Container Registry as the actor instead
of the repository owner.

Upgrade to login-action@v2 and build-push-action@v3 Github Actions.

20 months agofix(squash): build ld cache for squash loader
Hari Bathini [Tue, 12 Jul 2022 08:25:47 +0000 (13:55 +0530)] 
fix(squash): build ld cache for squash loader

Commit dc21638c3f0a fixes kdump kernel crash, due to non-conventional
library path in powerpc, by copying /etc/ld.so.cache under initdir.
While that works in general, it is vulnerable to failure because of
missing links, when the CPU is reconfigured to run in compatibility
mode of older CPU version. Avoid this by running ldconfig for squash
loader to create the necessary links & ld cache for it. Doing this
also saves a few kilobyes of space as the copied ld cache is bigger
in size than the one needed for squash loader environment.

Fixes: dc21638c3f0a ("fix(squash): keep ld cache under initdir")
Cc: Pingfan Liu <piliu@redhat.com>
Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
20 months agofeat(dracut.sh): populate uefi_cmdline if no other cmdline is given
Pavel Valena [Mon, 29 Aug 2022 01:59:49 +0000 (03:59 +0200)] 
feat(dracut.sh): populate uefi_cmdline if no other cmdline is given

When creating uefi image in hostonly mode (with using --hostonly-cmdline),
it makes sense to copy current kernel commandline from /proc/cmdline,
in case there are no other options specified.

Usually, the cmdline.d/*.conf file is generated by module rootfs-block
(or other modules), but it might, not handle all cases correctly,
and specifying --kernel-cmdline every time is not much user-friendly.

20 months agofeat(systemd): install systemd-sysroot-fstab-check
Antonio Alvarez Feijoo [Thu, 1 Sep 2022 09:47:09 +0000 (11:47 +0200)] 
feat(systemd): install systemd-sysroot-fstab-check

systemd-sysroot-fstab-check is a symlink to systemd-fstab-generator added in
systemd commit https://github.com/systemd/systemd/commit/cd7ad0cb

20 months agofix(i18n): do not fail if FONT in /etc/vconsole.conf has the file extension
Antonio Alvarez Feijoo [Fri, 9 Sep 2022 11:11:14 +0000 (13:11 +0200)] 
fix(i18n): do not fail if FONT in /etc/vconsole.conf has the file extension

If the FONT option defined in /etc/vconsole.conf refers to a file with its
extension, not just the file name, dracut should not fail and install it. The
systemd-vconsole-setup service ends up calling setfont, which supports both file
names and files with extensions.

20 months agofix(load_fstype): use $1 if $2 is missing
Frederick Grose [Sat, 10 Sep 2022 03:46:29 +0000 (23:46 -0400)] 
fix(load_fstype): use $1 if $2 is missing

Use parameter expansion default value if the second argument is missing.
The current code mistakenly reuses the null second argument.

20 months agofix(dracut-initramfs-restore.sh): initramfs detection not working
Kairui Song [Mon, 19 Sep 2022 18:13:01 +0000 (02:13 +0800)] 
fix(dracut-initramfs-restore.sh): initramfs detection not working

The path detection is not working on latest Fedora and some other
distros, and it fails to extract the initramfs. It seems the if
statement is broken by a previous commit, so let's fix it.

Fixes: 3d8e1ad ('fix(dracut-initramfs-restore.sh): add missing default paths')
Signed-off-by: Kairui Song <kasong@tencent.com>
20 months agofix(systemd): add missing modprobe@.service
Antonio Alvarez Feijoo [Wed, 21 Sep 2022 09:54:17 +0000 (11:54 +0200)] 
fix(systemd): add missing modprobe@.service

sys-kernel-config.mount needs modprobe@configfs.service since systemd v246.7
(https://github.com/systemd/systemd/commit/42cc2855), so the kernel configfs
fails to mount in the initrd.

20 months agofeat(systemd-pstore): introducing the systemd-pstore module
Antonio Alvarez Feijoo [Wed, 21 Sep 2022 14:56:30 +0000 (16:56 +0200)] 
feat(systemd-pstore): introducing the systemd-pstore module

Introducing the systemd-pstore module.

21 months agoci: add workflow for manual test run
Laszlo Gombos [Thu, 18 Aug 2022 05:29:20 +0000 (05:29 +0000)] 
ci: add workflow for manual test run

This workflow allows it to run any of the 29 tests
on any of the 4 containers.

On commit, currently the CI only runs 24 tests out of the 116
possible combinations of test runs.

As the project grows, the usefulness of this tool will also grow.

21 months agodocs: correct typo
Antonio Alvarez Feijoo [Thu, 18 Aug 2022 06:42:59 +0000 (08:42 +0200)] 
docs: correct typo

21 months agofix(dracut.sh): remove duplicate "dracut:" string in logger functions
Antonio Alvarez Feijoo [Mon, 22 Aug 2022 08:23:19 +0000 (10:23 +0200)] 
fix(dracut.sh): remove duplicate "dracut:" string in logger functions

dracut-logger functions already prepend the "dracut:" prefix to the message.

21 months agorefactor(dracut.sh): use logger functions instead of printf
Antonio Alvarez Feijoo [Mon, 22 Aug 2022 08:06:34 +0000 (10:06 +0200)] 
refactor(dracut.sh): use logger functions instead of printf

dracut-logger is sourced in dracut-init, so any printf calls after sourcing
dracut-init should be replaced with logger functions.

21 months agofix(man): point man pages to github.com instead of kernel.org
Laszlo Gombos [Sun, 21 Aug 2022 13:53:46 +0000 (13:53 +0000)] 
fix(man): point man pages to github.com instead of kernel.org

21 months agodocs: fix path to CONTRIBUTING.md
Laszlo Gombos [Mon, 22 Aug 2022 18:19:39 +0000 (18:19 +0000)] 
docs: fix path to CONTRIBUTING.md

21 months agodocs: clarify that rd.break stops before the breakpoint starts
Laszlo Gombos [Mon, 22 Aug 2022 18:51:53 +0000 (18:51 +0000)] 
docs: clarify that rd.break stops before the breakpoint starts

21 months agochore: add execute permission to all scripts
Antonio Alvarez Feijoo [Tue, 23 Aug 2022 13:10:07 +0000 (15:10 +0200)] 
chore: add execute permission to all scripts

This avoids most of the rpmlint non-executable-script warnings.

21 months agotest: list only the required modules explicitly
Laszlo Gombos [Wed, 24 Aug 2022 03:30:32 +0000 (03:30 +0000)] 
test: list only the required modules explicitly

rootfs-block module would always include the following
modules: udev-rules base fs-lib

lvm module always includes rootfs-block

This is a follow-up to a1d4041cee5f7b2d8da9192338d5e81315e758ef

21 months agofix(shell-completion): add missing -p and --parallel options
Antonio Alvarez Feijoo [Thu, 25 Aug 2022 12:59:20 +0000 (14:59 +0200)] 
fix(shell-completion): add missing -p and --parallel options

21 months agofix(nfs,virtiofs): check kernel for builtin fs drivers
Laszlo Gombos [Mon, 15 Aug 2022 20:10:30 +0000 (20:10 +0000)] 
fix(nfs,virtiofs): check kernel for builtin fs drivers

Check first for fs support in `/proc/filesystems` before attempting
to load the kernel module.

This is needed in the --no-kernel use case to avoid the error:
modprobe: FATAL: Module overlay not found in directory /lib/modules/<kver>

21 months agofix(dracut-initramfs-restore.sh): hide unpack errors
Antonio Alvarez Feijoo [Wed, 17 Aug 2022 07:50:37 +0000 (09:50 +0200)] 
fix(dracut-initramfs-restore.sh): hide unpack errors

With the current "try and fail" approach, the system log contains errors until
the correct initrd compression is reached.

21 months agotest: remove dracut.conf.test
Laszlo Gombos [Wed, 17 Aug 2022 05:08:48 +0000 (05:08 +0000)] 
test: remove dracut.conf.test

Empty file and it is not used. Has not been used for over a decade :-)

21 months agofix(skipcpio): ignore broken pipe
David Tardon [Tue, 16 Aug 2022 11:30:16 +0000 (13:30 +0200)] 
fix(skipcpio): ignore broken pipe

If lsinitrd is called from a context in which SIGPIPE is ignored (e.g.,
from a systemd unit with default setting of IgnoreSIGPIPE=), the
following line will result in an error being issued:

bin="$($SKIP "$image" | { read -r -N 6 bin && echo "$bin"; })"

An example error from `kdumpctl start` (which internally just calls
`systemctl start kdump.service`):

kdumpctl[1287]: ERROR: src/skipcpio/skipcpio.c:191:main(): fwrite

A minimal reproducer:

systemd-run -t sh -c '/path/to/skipcpio /path/to/any/file | false'

21 months agotest: remove unused ci-matrix.txt file
gombi [Thu, 18 Aug 2022 04:39:30 +0000 (04:39 +0000)] 
test: remove unused ci-matrix.txt file

The ci matrix is described in .github/workflows instead.
ci-matrix.txt file is unreferenced.

21 months agodocs: create CONTRIBUTING.md
Laszlo Gombos [Wed, 17 Aug 2022 14:04:49 +0000 (10:04 -0400)] 
docs: create CONTRIBUTING.md

Note down some commonly agreed, but not yet documented guidelines
to have a baseline that can be improved later.

21 months agofix(systemd-networkd): typo in systemd-networkd.socket local conf path
Antonio Alvarez Feijoo [Tue, 5 Jul 2022 13:34:01 +0000 (15:34 +0200)] 
fix(systemd-networkd): typo in systemd-networkd.socket local conf path

21 months agofix(virtiofs): make shebangs work on split-usr systems
Mike Gilbert [Mon, 4 Jul 2022 23:08:45 +0000 (19:08 -0400)] 
fix(virtiofs): make shebangs work on split-usr systems

Fixes: c29325a982013a315418cdb2318e90cf77e387b5
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
21 months agofix(dracut-install): use stripped kernel module path as hash key
runsisi [Sat, 6 Aug 2022 02:15:48 +0000 (10:15 +0800)] 
fix(dracut-install): use stripped kernel module path as hash key

in install_dependent_modules we use &path[kerneldirlen] as the key for inserting,
let's do the same for checking.

otherwise installing kernel module has circular dependency from a custom kernel
module directory will cause infinite recursion and segfault.

$ grep ipmi kbuilt/lib/modules/5.10.121/modules.dep
kernel/drivers/char/ipmi/ipmi_msghandler.ko:
kernel/drivers/char/ipmi/ipmi_devintf.ko: kernel/drivers/char/ipmi/ipmi_msghandler.ko

$ grep ipmi kbuilt/lib/modules/5.10.121/modules.softdep
softdep ipmi_msghandler post: ipmi_devintf

$ ./dracut-install -D /tmp --kerneldir ~/working/kernel/linux-5.10.121/kbuilt/lib/modules/5.10.121 -m ipmi-devintf
Segmentation fault (core dumped)

(gdb) b install_dependent_modules
Breakpoint 1 at 0x7db0: file src/install/dracut-install.c, line 1513.
(gdb) bt
#0  install_dependent_modules (modlist=0x0) at src/install/dracut-install.c:1513
#1  0x000055555555c027 in install_dependent_modules (modlist=modlist@entry=0x555555579e90) at src/install/dracut-install.c:1553
#2  0x000055555555bf1c in install_dependent_modules (modlist=0x5555555799d0) at src/install/dracut-install.c:1548
#3  0x000055555555c034 in install_dependent_modules (modlist=modlist@entry=0x55555557a3f0) at src/install/dracut-install.c:1554
#4  0x000055555555bf1c in install_dependent_modules (modlist=0x555555579d60) at src/install/dracut-install.c:1548
#5  0x000055555555c034 in install_dependent_modules (modlist=modlist@entry=0x55555557b170) at src/install/dracut-install.c:1554
#6  0x000055555555bf1c in install_dependent_modules (modlist=0x55555557a0f0) at src/install/dracut-install.c:1548
#7  0x000055555555c034 in install_dependent_modules (modlist=modlist@entry=0x555555575320) at src/install/dracut-install.c:1554
#8  0x000055555555bf1c in install_dependent_modules (modlist=0x55555557ab30) at src/install/dracut-install.c:1548
#9  0x000055555555c034 in install_dependent_modules (modlist=modlist@entry=0x55555557dd60) at src/install/dracut-install.c:1554
#10 0x000055555555bf1c in install_dependent_modules (modlist=0x55555557b640) at src/install/dracut-install.c:1548
#11 0x000055555555c034 in install_dependent_modules (modlist=modlist@entry=0x55555557e0f0) at src/install/dracut-install.c:1554
#12 0x000055555555bf1c in install_dependent_modules (modlist=0x55555557b9d0) at src/install/dracut-install.c:1548
#13 0x000055555555c034 in install_dependent_modules (modlist=modlist@entry=0x555555574340) at src/install/dracut-install.c:1554
#14 0x000055555555bf1c in install_dependent_modules (modlist=0x55555557cf70) at src/install/dracut-install.c:1548
#15 0x000055555555c034 in install_dependent_modules (modlist=modlist@entry=0x5555555768d0) at src/install/dracut-install.c:1554
#16 0x000055555555bf1c in install_dependent_modules (modlist=0x55555557d750) at src/install/dracut-install.c:1548
#17 0x000055555555c034 in install_dependent_modules (modlist=modlist@entry=0x55555557e700) at src/install/dracut-install.c:1554
#18 0x000055555555bf1c in install_dependent_modules (modlist=0x55555557de90) at src/install/dracut-install.c:1548
#19 0x000055555555c034 in install_dependent_modules (modlist=modlist@entry=0x555555581c90) at src/install/dracut-install.c:1554
#20 0x000055555555bf1c in install_dependent_modules (modlist=0x555555571e60) at src/install/dracut-install.c:1548
#21 0x000055555555c034 in install_dependent_modules (modlist=modlist@entry=0x55555556b620) at src/install/dracut-install.c:1554
#22 0x000055555555bf1c in install_dependent_modules (modlist=0x555555583000) at src/install/dracut-install.c:1548
#23 0x000055555555c034 in install_dependent_modules (modlist=modlist@entry=0x55555556b640) at src/install/dracut-install.c:1554
#24 0x000055555555bf1c in install_dependent_modules (modlist=0x555555571b40) at src/install/dracut-install.c:1548
#25 0x000055555555c034 in install_dependent_modules (modlist=modlist@entry=0x555555574100) at src/install/dracut-install.c:1554
#26 0x000055555555c4b0 in install_module (mod=mod@entry=0x555555573bc0) at src/install/dracut-install.c:1617
#27 0x000055555555c93d in install_modules (argc=argc@entry=1, argv=argv@entry=0x7fffffffd6e0) at src/install/dracut-install.c:1952
#28 0x000055555555862a in main (argc=<optimized out>, argv=0x7fffffffd6a8) at src/install/dracut-install.c:2090

Signed-off-by: runsisi <runsisi@hust.edu.cn>
21 months agofix(virtiofs): ismounted has a dependency on the base module
Laszlo Gombos [Sat, 13 Aug 2022 17:29:11 +0000 (17:29 +0000)] 
fix(virtiofs): ismounted has a dependency on the base module

When dracut.sh is called with "--modules virtiofs", make sure
dracut-lib.sh is installed by making the base module a dependency.

21 months agofix(drm): add video drivers needed on hyper-v and similar
Lukas Nykryn [Mon, 15 Aug 2022 14:32:51 +0000 (16:32 +0200)] 
fix(drm): add video drivers needed on hyper-v and similar

Due to non-availability of Hyper-V video driver hyperv_drm in kdump
initramfs, the console seems to be in hang state with no text over it.

We should also go through the /sys/bus/vmbus/devices and include drivers
referenced there.

21 months agofix(kernel-modules): always include nvmem driver on nvmem_on_arm
Lukas Nykryn [Mon, 15 Aug 2022 14:25:53 +0000 (16:25 +0200)] 
fix(kernel-modules): always include nvmem driver on nvmem_on_arm

These drivers are needed to boot on some SoCs like NXP i.MX
We should include them so installation images will work.

21 months agorefactor(convertfs): drop duplicate def. of ismounted()
David Tardon [Mon, 15 Aug 2022 06:35:59 +0000 (08:35 +0200)] 
refactor(convertfs): drop duplicate def. of ismounted()

21 months agofix(dmsquash-live): check kernel for built-in squashfs drivers
Laszlo Gombos [Sat, 13 Aug 2022 02:00:09 +0000 (02:00 +0000)] 
fix(dmsquash-live): check kernel for built-in squashfs drivers

Check first for squashfs in `/proc/filesystems`.
This is needed in the --no-kernel use case to avoid the error:
modprobe: FATAL: Module overlay not found in directory /lib/modules/<kver>

Introduce load_fstype function to make it easier to check `/proc/filesystems`
before calling modprobe.

21 months agoci: dependencies for testing nfs module for Debian
Laszlo Gombos [Sat, 13 Aug 2022 23:01:43 +0000 (23:01 +0000)] 
ci: dependencies for testing nfs module for Debian

This change allows executing TEST-20-NFS on Debian.

21 months agofix(test): remove unnecessary setup steps
Laszlo Gombos [Sun, 14 Aug 2022 02:20:46 +0000 (02:20 +0000)] 
fix(test): remove unnecessary setup steps

var/lib/nfs/rpc_pipefs is only needed for NFS mounts.

21 months agotest(16-DMSQUASH): make it pass on arch
Laszlo Gombos [Sun, 14 Aug 2022 22:46:10 +0000 (22:46 +0000)] 
test(16-DMSQUASH): make it pass on arch

Include additional kernel drivers and install squashfs-tools
into the arch container.

21 months agodocs(README.md): update wiki link
Laszlo Gombos [Sun, 14 Aug 2022 14:56:05 +0000 (14:56 +0000)] 
docs(README.md): update wiki link

Point to the github (and remove kernel.org). Add link to News.
Remove broken badge links.

22 months agofix(90multipath): use RemainAfterExit=yes for multipathd-configure.service
Jonathan Lebon [Mon, 11 Jul 2022 14:53:50 +0000 (10:53 -0400)] 
fix(90multipath): use RemainAfterExit=yes for multipathd-configure.service

Services of type `oneshot` should almost always use
`RemainAfterExit=yes`. This is a one-time action that we don't want to
rerun if the unit gets pulled in multiple times in the systemd
transaction.

22 months agofix(90multipath): create `/etc/multipath` only
Jonathan Lebon [Mon, 11 Jul 2022 14:43:39 +0000 (10:43 -0400)] 
fix(90multipath): create `/etc/multipath` only

The dropins path is `/etc/multipath/conf.d`, not
`/etc/multipath/multipath.conf.d`:

https://github.com/opensvc/multipath-tools/blob/686797b7d0da4fc24fdfcb0fc6364df78a0b232d/Makefile.inc#L100

But anyway, we don't need to create that directory. We only need to
create `/etc/multipath`.

While we're here, add a comment to explain this.

22 months agofix(systemd): set right permissions for the machine-id file
Antonio Alvarez Feijoo [Mon, 18 Jul 2022 09:03:32 +0000 (11:03 +0200)] 
fix(systemd): set right permissions for the machine-id file

Fixes issue #1864

22 months agofix(dracut-install): do not try to copy files from the root directory
Marcos Mello [Sun, 24 Jul 2022 19:51:37 +0000 (16:51 -0300)] 
fix(dracut-install): do not try to copy files from the root directory

HWCAP library path needs at least two parent directories, for example:

/lib64/power6x/libc.so.6
/lib64/glibc-hwcaps/power9/libpthread-2.28.so (glibc 2.33+)

Before:

dracut-install: Lib install: '/lib64/libz.so.1'
dracut-install: dracut_install('/lib64/libz.so', '/lib64/libz.so', 0, 0, 1)
dracut-install: dracut_install('//libz.so.1', '//libz.so.1', 0, 0, 1)
dracut-install: dracut_install('//libz.so', '//libz.so', 0, 0, 1)

After:

dracut-install: Lib install: '/lib64/libz.so.1'
dracut-install: dracut_install('/lib64/libz.so', '/lib64/libz.so', 0, 0, 1)

22 months agorefactor(dracut-install): do not call dirname() directly
Marcos Mello [Sun, 24 Jul 2022 19:49:17 +0000 (16:49 -0300)] 
refactor(dracut-install): do not call dirname() directly

Avoid its horrible API. Borrow dirname_malloc() from systemd:

https://github.com/systemd/systemd/blob/v251/src/basic/path-util.c#L775
https://github.com/systemd/systemd/blob/v251/src/basic/path-util.h#L150

(licence is LGPLv2.1 or later)

22 months agofix(dracut.sh): do not fail on irregular files
Pavel Valena [Thu, 21 Jul 2022 15:40:20 +0000 (17:40 +0200)] 
fix(dracut.sh): do not fail on irregular files

If file is not a regular file (test -f), dracut.sh fails,
which is unexpected change of behaviour.
The workaround would be to create an empty file.

Fixes: #1835
22 months agofeat(dracut.sh): pass engine flag to sbsign allowing use with hardware devices
joamonwx [Wed, 20 Jul 2022 19:26:13 +0000 (09:26 -1000)] 
feat(dracut.sh): pass engine flag to sbsign allowing use with hardware devices

22 months agofix(dmsquash-live): run checkisomd5 on correct device
Brian C. Lane [Fri, 22 Jul 2022 23:10:20 +0000 (16:10 -0700)] 
fix(dmsquash-live): run checkisomd5 on correct device

When the new grub2 iso is written to a usb drive the disk label points
to a partition that does not include the full iso image. This causes
checkisomd5 to run with the wrong data and it fails.

This patch adds a check that will test to see if there is a parent
device that is a disk, and to run checkisomd5 on it instead of on the
partition pointed to by the label.

When running from an iso this will return the original
/dev/disk/by-label/ path, and when running from a usb drive it will
return the parent device (eg. /dev/sda).

Resolves: rhbz#2107858

22 months agofix(dracut-init.sh): correct dracut-install source path
Antonio Alvarez Feijoo [Mon, 1 Aug 2022 07:47:51 +0000 (09:47 +0200)] 
fix(dracut-init.sh): correct dracut-install source path

22 months agofix(lsinitrd.sh): correct skipcpio source path
Antonio Alvarez Feijoo [Thu, 28 Jul 2022 08:26:34 +0000 (10:26 +0200)] 
fix(lsinitrd.sh): correct skipcpio source path

22 months agofix(dracut-init.sh): propagate the result code returned by dracut-install
Antonio Alvarez Feijoo [Tue, 2 Aug 2022 08:14:27 +0000 (10:14 +0200)] 
fix(dracut-init.sh): propagate the result code returned by dracut-install

Currently only the inst_multiple function propagates the result code returned by
dracut-install.
This was missing since 043 (e.g.: https://github.com/dracutdevs/dracut/blob/043/dracut-functions.sh#L751)

22 months agofix(dmsquash-live-root): check kernel for built-in `overlay` drivers
Frederick Grose [Tue, 2 Aug 2022 22:07:50 +0000 (18:07 -0400)] 
fix(dmsquash-live-root): check kernel for built-in `overlay` drivers

Do not assume that `overlay` is always a module.  Check first for
`overlay` in `/proc/filesystems`. This is needed in the --no-kernel
use case to avoid the error: modprobe:
  FATAL: Module overlay not found in directory /lib/modules/<kver>

Signed-off-by: Federico Vaga <federico.vaga@cern.ch>
22 months agoci: add glibc to the Arch Linux container
Laszlo Gombos [Sat, 6 Aug 2022 20:15:56 +0000 (20:15 +0000)] 
ci: add glibc to the Arch Linux container

tgt has a dependency on glibc

22 months agorefactor(url-lib): write curl output directly to file
David Tardon [Mon, 8 Aug 2022 11:42:51 +0000 (13:42 +0200)] 
refactor(url-lib): write curl output directly to file

The redirection to stdout was originally added to workaround
https://bugzilla.redhat.com/show_bug.cgi?id=989133 (curl would create no
file if the source was empty), but I don't see that problem with current
curl.

A nice side-effect of this change is that curl shows download progress.

23 months agofix(i18n): add required includes for keymaps
Antonio Alvarez Feijoo [Mon, 27 Jun 2022 11:19:41 +0000 (13:19 +0200)] 
fix(i18n): add required includes for keymaps

Commit https://github.com/dracutdevs/dracut/commit/f3441cc7 removed shell
options but didn't adapt all the code that requires nullglob and globstar.
This caused the initrd to be generated without the required includes for
keymaps.

23 months agofix(man): correct typo
Antonio Alvarez Feijoo [Thu, 23 Jun 2022 18:32:27 +0000 (20:32 +0200)] 
fix(man): correct typo

Fixes issue #1852

23 months agofix(dracut-install): correctly waitpid() for cp
наб [Thu, 16 Jun 2022 16:27:14 +0000 (18:27 +0200)] 
fix(dracut-install): correctly waitpid() for cp

23 months agorefactor(dracut-install): fork() instead of popen(), sanitise line reading
наб [Wed, 27 Apr 2022 16:32:27 +0000 (18:32 +0200)] 
refactor(dracut-install): fork() instead of popen(), sanitise line reading

Also set LC_ALL=C to fix ldd output pattern matching in non-english locales.

23 months agoperf(dracut-install): convert_abs_rel: don't allocate target parent realpath
наб [Thu, 28 Apr 2022 22:08:41 +0000 (00:08 +0200)] 
perf(dracut-install): convert_abs_rel: don't allocate target parent realpath

23 months agofeat(dracut-install): convert_abs_rel: canonicalise parent of from, too
наб [Thu, 28 Apr 2022 22:03:09 +0000 (00:03 +0200)] 
feat(dracut-install): convert_abs_rel: canonicalise parent of from, too

This fixes, for example, .so versioning links:
  diff --git a/cur b/new3
  index 3804a347..22d089a9 100644
  --- a/cur
  +++ b/new3
  -Image: /boot/initrd.img-5.10.0-13-amd64: 15M
  +Image: initrd: 15M
  -console-setup
  -crw-rw-rw-   1 root     root       1,   3 date etc/console-setup/null
  -drwxr-xr-x  13 root     root            0 date etc
  +drwxr-xr-x  12 root     root            0 date etc
  -drwxr-xr-x   2 root     root            0 date etc/console-setup
  --rw-r--r--   1 root     root       122498 date etc/console-setup/cached_UTF-8_del.kmap
  --rw-r--r--   1 root     root         6240 date etc/ld.so.cache
  +-rw-r--r--   1 root     root         6308 date etc/ld.so.cache
  --rw-r--r--   1 root     root          152 Dec 15  2020 etc/udev/rules.d/10-console.rules
  --rwxr-xr-x   1 root     root        98048 Mar  3  2021 usr/bin/gzip
  --rwxr-xr-x   1 root     root        14976 Oct 11  2020 usr/bin/kbd_mode
  --rwxr-xr-x   1 root     root       220304 Oct 11  2020 usr/bin/loadkeys
  --rwxr-xr-x   1 root     root          229 date usr/bin/setupcon
  -lrwxrwxrwx   1 root     root           32 date usr/lib32/libnss_files.so.2 -> ../../lib32/libnss_files-2.31.so
  +lrwxrwxrwx   1 root     root           20 date usr/lib32/libnss_files.so.2 -> libnss_files-2.31.so
  -lrwxrwxrwx   1 root     root           37 date usr/lib64/ld-linux-x86-64.so.2 -> ../../lib/x86_64-linux-gnu/ld-2.31.so
  +lrwxrwxrwx   1 root     root           34 date usr/lib64/ld-linux-x86-64.so.2 -> ../lib/x86_64-linux-gnu/ld-2.31.so
  --rw-r--r--   1 root     root          185 date usr/lib/dracut/modules.txt
  +-rw-r--r--   1 root     root          171 date usr/lib/dracut/modules.txt
  -lrwxrwxrwx   1 root     root           46 date usr/lib/i386-linux-gnu/libnss_dns.so.2 -> ../../../lib/i386-linux-gnu/libnss_dns-2.31.so
  +lrwxrwxrwx   1 root     root           18 date usr/lib/i386-linux-gnu/libnss_dns.so.2 -> libnss_dns-2.31.so
  -lrwxrwxrwx   1 root     root           48 date usr/lib/i386-linux-gnu/libnss_files.so.2 -> ../../../lib/i386-linux-gnu/libnss_files-2.31.so
  +lrwxrwxrwx   1 root     root           20 date usr/lib/i386-linux-gnu/libnss_files.so.2 -> libnss_files-2.31.so
  +-rw-r--r--   1 root     root        19187 date usr/lib/modules/5.10.0-13-amd64/kernel/crypto/blake2b_generic.ko
  -drwxr-xr-x  21 root     root            0 date usr/lib/modules/5.10.0-13-amd64/kernel/drivers
  +-rw-r--r--   1 root     root        25083 date usr/lib/modules/5.10.0-13-amd64/kernel/crypto/xor.ko
  +drwxr-xr-x  22 root     root            0 date usr/lib/modules/5.10.0-13-amd64/kernel/drivers
  +drwxr-xr-x   2 root     root            0 date usr/lib/modules/5.10.0-13-amd64/kernel/drivers/block
  +-rw-r--r--   1 root     root        74667 date usr/lib/modules/5.10.0-13-amd64/kernel/drivers/block/loop.ko
  -drwxr-xr-x   4 root     root            0 date usr/lib/modules/5.10.0-13-amd64/kernel/fs
  +drwxr-xr-x   5 root     root            0 date usr/lib/modules/5.10.0-13-amd64/kernel/fs
  +drwxr-xr-x   2 root     root            0 date usr/lib/modules/5.10.0-13-amd64/kernel/fs/overlayfs
  +-rw-r--r--   1 root     root       285667 date usr/lib/modules/5.10.0-13-amd64/kernel/fs/overlayfs/overlay.ko
  --rw-r--r--   1 root     root        69130 date usr/lib/modules/5.10.0-13-amd64/modules.alias
  --rw-r--r--   1 root     root        64959 date usr/lib/modules/5.10.0-13-amd64/modules.alias.bin
  +-rw-r--r--   1 root     root        69907 date usr/lib/modules/5.10.0-13-amd64/modules.alias
  +-rw-r--r--   1 root     root        65907 date usr/lib/modules/5.10.0-13-amd64/modules.alias.bin
  --rw-r--r--   1 root     root        19517 date usr/lib/modules/5.10.0-13-amd64/modules.dep
  --rw-r--r--   1 root     root        28161 date usr/lib/modules/5.10.0-13-amd64/modules.dep.bin
  --rw-r--r--   1 root     root          131 date usr/lib/modules/5.10.0-13-amd64/modules.devname
  +-rw-r--r--   1 root     root        19635 date usr/lib/modules/5.10.0-13-amd64/modules.dep
  +-rw-r--r--   1 root     root        28409 date usr/lib/modules/5.10.0-13-amd64/modules.dep.bin
  +-rw-r--r--   1 root     root          157 date usr/lib/modules/5.10.0-13-amd64/modules.devname
  --rw-r--r--   1 root     root       107148 date usr/lib/modules/5.10.0-13-amd64/modules.symbols
  --rw-r--r--   1 root     root       129343 date usr/lib/modules/5.10.0-13-amd64/modules.symbols.bin
  +-rw-r--r--   1 root     root       107260 date usr/lib/modules/5.10.0-13-amd64/modules.symbols
  +-rw-r--r--   1 root     root       129476 date usr/lib/modules/5.10.0-13-amd64/modules.symbols.bin
  -lrwxrwxrwx   1 root     root           44 date usr/lib/systemd/system/ctrl-alt-del.target -> ../../../../lib/systemd/system/reboot.target
  +lrwxrwxrwx   1 root     root           13 date usr/lib/systemd/system/ctrl-alt-del.target -> reboot.target
  -lrwxrwxrwx   1 root     root           20 date usr/lib/systemd/systemd-udevd -> ../../../bin/udevadm
  +lrwxrwxrwx   1 root     root           17 date usr/lib/systemd/systemd-udevd -> ../../bin/udevadm
  -lrwxrwxrwx   1 root     root           87 date usr/lib/systemd/system/sockets.target.wants/systemd-journald-audit.socket -> ../../../../../lib/systemd/system/sockets.target.wants/../systemd-journald-audit.socket
  -lrwxrwxrwx   1 root     root           89 date usr/lib/systemd/system/sockets.target.wants/systemd-journald-dev-log.socket -> ../../../../../lib/systemd/system/sockets.target.wants/../systemd-journald-dev-log.socket
  -lrwxrwxrwx   1 root     root           81 date usr/lib/systemd/system/sockets.target.wants/systemd-journald.socket -> ../../../../../lib/systemd/system/sockets.target.wants/../systemd-journald.socket
  -lrwxrwxrwx   1 root     root           86 date usr/lib/systemd/system/sockets.target.wants/systemd-udevd-control.socket -> ../../../../../lib/systemd/system/sockets.target.wants/../systemd-udevd-control.socket
  -lrwxrwxrwx   1 root     root           85 date usr/lib/systemd/system/sockets.target.wants/systemd-udevd-kernel.socket -> ../../../../../lib/systemd/system/sockets.target.wants/../systemd-udevd-kernel.socket
  +lrwxrwxrwx   1 root     root           32 date usr/lib/systemd/system/sockets.target.wants/systemd-journald-audit.socket -> ../systemd-journald-audit.socket
  +lrwxrwxrwx   1 root     root           34 date usr/lib/systemd/system/sockets.target.wants/systemd-journald-dev-log.socket -> ../systemd-journald-dev-log.socket
  +lrwxrwxrwx   1 root     root           26 date usr/lib/systemd/system/sockets.target.wants/systemd-journald.socket -> ../systemd-journald.socket
  +lrwxrwxrwx   1 root     root           31 date usr/lib/systemd/system/sockets.target.wants/systemd-udevd-control.socket -> ../systemd-udevd-control.socket
  +lrwxrwxrwx   1 root     root           30 date usr/lib/systemd/system/sockets.target.wants/systemd-udevd-kernel.socket -> ../systemd-udevd-kernel.socket
  -lrwxrwxrwx   1 root     root           83 date usr/lib/systemd/system/sysinit.target.wants/kmod-static-nodes.service -> ../../../../../lib/systemd/system/sysinit.target.wants/../kmod-static-nodes.service
  -lrwxrwxrwx   1 root     root           91 date usr/lib/systemd/system/sysinit.target.wants/systemd-ask-password-console.path -> ../../../../../lib/systemd/system/sysinit.target.wants/../systemd-ask-password-console.path
  -lrwxrwxrwx   1 root     root           82 date usr/lib/systemd/system/sysinit.target.wants/systemd-journald.service -> ../../../../../lib/systemd/system/sysinit.target.wants/../systemd-journald.service
  -lrwxrwxrwx   1 root     root           86 date usr/lib/systemd/system/sysinit.target.wants/systemd-modules-load.service -> ../../../../../lib/systemd/system/sysinit.target.wants/../systemd-modules-load.service
  -lrwxrwxrwx   1 root     root           80 date usr/lib/systemd/system/sysinit.target.wants/systemd-sysctl.service -> ../../../../../lib/systemd/system/sysinit.target.wants/../systemd-sysctl.service
  -lrwxrwxrwx   1 root     root           92 date usr/lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup-dev.service -> ../../../../../lib/systemd/system/sysinit.target.wants/../systemd-tmpfiles-setup-dev.service
  -lrwxrwxrwx   1 root     root           88 date usr/lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup.service -> ../../../../../lib/systemd/system/sysinit.target.wants/../systemd-tmpfiles-setup.service
  -lrwxrwxrwx   1 root     root           79 date usr/lib/systemd/system/sysinit.target.wants/systemd-udevd.service -> ../../../../../lib/systemd/system/sysinit.target.wants/../systemd-udevd.service
  -lrwxrwxrwx   1 root     root           86 date usr/lib/systemd/system/sysinit.target.wants/systemd-udev-trigger.service -> ../../../../../lib/systemd/system/sysinit.target.wants/../systemd-udev-trigger.service
  +lrwxrwxrwx   1 root     root           28 date usr/lib/systemd/system/sysinit.target.wants/kmod-static-nodes.service -> ../kmod-static-nodes.service
  +lrwxrwxrwx   1 root     root           36 date usr/lib/systemd/system/sysinit.target.wants/systemd-ask-password-console.path -> ../systemd-ask-password-console.path
  +lrwxrwxrwx   1 root     root           27 date usr/lib/systemd/system/sysinit.target.wants/systemd-journald.service -> ../systemd-journald.service
  +lrwxrwxrwx   1 root     root           31 date usr/lib/systemd/system/sysinit.target.wants/systemd-modules-load.service -> ../systemd-modules-load.service
  +lrwxrwxrwx   1 root     root           25 date usr/lib/systemd/system/sysinit.target.wants/systemd-sysctl.service -> ../systemd-sysctl.service
  +lrwxrwxrwx   1 root     root           37 date usr/lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup-dev.service -> ../systemd-tmpfiles-setup-dev.service
  +lrwxrwxrwx   1 root     root           33 date usr/lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup.service -> ../systemd-tmpfiles-setup.service
  +lrwxrwxrwx   1 root     root           24 date usr/lib/systemd/system/sysinit.target.wants/systemd-udevd.service -> ../systemd-udevd.service
  +lrwxrwxrwx   1 root     root           31 date usr/lib/systemd/system/sysinit.target.wants/systemd-udev-trigger.service -> ../systemd-udev-trigger.service
  --rwxr-xr-x   1 root     root           20 Dec 15  2020 usr/lib/udev/console-setup
  -lrwxrwxrwx   1 root     root           48 date usr/lib/x86_64-linux-gnu/libacl.so.1 -> ../../../lib/x86_64-linux-gnu/libacl.so.1.1.2253
  -lrwxrwxrwx   1 root     root           48 date usr/lib/x86_64-linux-gnu/libacl.so -> ../../../lib/x86_64-linux-gnu/libacl.so.1.1.2253
  +lrwxrwxrwx   1 root     root           18 date usr/lib/x86_64-linux-gnu/libacl.so.1 -> libacl.so.1.1.2253
  +lrwxrwxrwx   1 root     root           18 date usr/lib/x86_64-linux-gnu/libacl.so -> libacl.so.1.1.2253
  -lrwxrwxrwx   1 root     root           50 date usr/lib/x86_64-linux-gnu/libapparmor.so.1 -> ../../../lib/x86_64-linux-gnu/libapparmor.so.1.6.3
  +lrwxrwxrwx   1 root     root           20 date usr/lib/x86_64-linux-gnu/libapparmor.so.1 -> libapparmor.so.1.6.3
  -lrwxrwxrwx   1 root     root           49 date usr/lib/x86_64-linux-gnu/libattr.so.1 -> ../../../lib/x86_64-linux-gnu/libattr.so.1.1.2448
  -lrwxrwxrwx   1 root     root           49 date usr/lib/x86_64-linux-gnu/libattr.so -> ../../../lib/x86_64-linux-gnu/libattr.so.1.1.2448
  +lrwxrwxrwx   1 root     root           19 date usr/lib/x86_64-linux-gnu/libattr.so.1 -> libattr.so.1.1.2448
  +lrwxrwxrwx   1 root     root           19 date usr/lib/x86_64-linux-gnu/libattr.so -> libattr.so.1.1.2448
  -lrwxrwxrwx   1 root     root           47 date usr/lib/x86_64-linux-gnu/libaudit.so.1 -> ../../../lib/x86_64-linux-gnu/libaudit.so.1.0.0
  -lrwxrwxrwx   1 root     root           47 date usr/lib/x86_64-linux-gnu/libaudit.so -> ../../../lib/x86_64-linux-gnu/libaudit.so.1.0.0
  +lrwxrwxrwx   1 root     root           17 date usr/lib/x86_64-linux-gnu/libaudit.so.1 -> libaudit.so.1.0.0
  +lrwxrwxrwx   1 root     root           17 date usr/lib/x86_64-linux-gnu/libaudit.so -> libaudit.so.1.0.0
  -lrwxrwxrwx   1 root     root           47 date usr/lib/x86_64-linux-gnu/libblkid.so.1 -> ../../../lib/x86_64-linux-gnu/libblkid.so.1.1.0
  -lrwxrwxrwx   1 root     root           47 date usr/lib/x86_64-linux-gnu/libblkid.so -> ../../../lib/x86_64-linux-gnu/libblkid.so.1.1.0
  +lrwxrwxrwx   1 root     root           17 date usr/lib/x86_64-linux-gnu/libblkid.so.1 -> libblkid.so.1.1.0
  +lrwxrwxrwx   1 root     root           17 date usr/lib/x86_64-linux-gnu/libblkid.so -> libblkid.so.1.1.0
  -lrwxrwxrwx   1 root     root           45 date usr/lib/x86_64-linux-gnu/libbpf.so.0 -> ../../../lib/x86_64-linux-gnu/libbpf.so.0.3.0
  +lrwxrwxrwx   1 root     root           15 date usr/lib/x86_64-linux-gnu/libbpf.so.0 -> libbpf.so.0.3.0
  -lrwxrwxrwx   1 root     root           46 date usr/lib/x86_64-linux-gnu/libbsd.so.0 -> ../../../lib/x86_64-linux-gnu/libbsd.so.0.11.3
  -lrwxrwxrwx   1 root     root           46 date usr/lib/x86_64-linux-gnu/libbsd.so -> ../../../lib/x86_64-linux-gnu/libbsd.so.0.11.3
  +lrwxrwxrwx   1 root     root           16 date usr/lib/x86_64-linux-gnu/libbsd.so.0 -> libbsd.so.0.11.3
  +lrwxrwxrwx   1 root     root           16 date usr/lib/x86_64-linux-gnu/libbsd.so -> libbsd.so.0.11.3
  -lrwxrwxrwx   1 root     root           48 date usr/lib/x86_64-linux-gnu/libcap-ng.so.0 -> ../../../lib/x86_64-linux-gnu/libcap-ng.so.0.0.0
  -lrwxrwxrwx   1 root     root           48 date usr/lib/x86_64-linux-gnu/libcap-ng.so -> ../../../lib/x86_64-linux-gnu/libcap-ng.so.0.0.0
  +lrwxrwxrwx   1 root     root           18 date usr/lib/x86_64-linux-gnu/libcap-ng.so.0 -> libcap-ng.so.0.0.0
  +lrwxrwxrwx   1 root     root           18 date usr/lib/x86_64-linux-gnu/libcap-ng.so -> libcap-ng.so.0.0.0
  -lrwxrwxrwx   1 root     root           44 date usr/lib/x86_64-linux-gnu/libcap.so.2 -> ../../../lib/x86_64-linux-gnu/libcap.so.2.44
  -lrwxrwxrwx   1 root     root           44 date usr/lib/x86_64-linux-gnu/libcap.so -> ../../../lib/x86_64-linux-gnu/libcap.so.2.44
  +lrwxrwxrwx   1 root     root           14 date usr/lib/x86_64-linux-gnu/libcap.so.2 -> libcap.so.2.44
  +lrwxrwxrwx   1 root     root           14 date usr/lib/x86_64-linux-gnu/libcap.so -> libcap.so.2.44
  -lrwxrwxrwx   1 root     root           46 date usr/lib/x86_64-linux-gnu/libcrypto.so -> ../../../lib/x86_64-linux-gnu/libcrypto.so.1.1
  +lrwxrwxrwx   1 root     root           16 date usr/lib/x86_64-linux-gnu/libcrypto.so -> libcrypto.so.1.1
  -lrwxrwxrwx   1 root     root           47 date usr/lib/x86_64-linux-gnu/libcrypt.so.1 -> ../../../lib/x86_64-linux-gnu/libcrypt.so.1.1.0
  -lrwxrwxrwx   1 root     root           43 date usr/lib/x86_64-linux-gnu/libcrypt.so -> ../../../lib/x86_64-linux-gnu/libcrypt.so.1
  +lrwxrwxrwx   1 root     root           17 date usr/lib/x86_64-linux-gnu/libcrypt.so.1 -> libcrypt.so.1.1.0
  +lrwxrwxrwx   1 root     root           13 date usr/lib/x86_64-linux-gnu/libcrypt.so -> libcrypt.so.1
  -lrwxrwxrwx   1 root     root           42 date usr/lib/x86_64-linux-gnu/libc.so.6 -> ../../../lib/x86_64-linux-gnu/libc-2.31.so
  +lrwxrwxrwx   1 root     root           12 date usr/lib/x86_64-linux-gnu/libc.so.6 -> libc-2.31.so
  -lrwxrwxrwx   1 root     root           43 date usr/lib/x86_64-linux-gnu/libdl.so.2 -> ../../../lib/x86_64-linux-gnu/libdl-2.31.so
  -lrwxrwxrwx   1 root     root           40 date usr/lib/x86_64-linux-gnu/libdl.so -> ../../../lib/x86_64-linux-gnu/libdl.so.2
  +lrwxrwxrwx   1 root     root           13 date usr/lib/x86_64-linux-gnu/libdl.so.2 -> libdl-2.31.so
  +lrwxrwxrwx   1 root     root           10 date usr/lib/x86_64-linux-gnu/libdl.so -> libdl.so.2
  -lrwxrwxrwx   1 root     root           45 date usr/lib/x86_64-linux-gnu/libelf.so.1 -> ../../../lib/x86_64-linux-gnu/libelf-0.183.so
  -lrwxrwxrwx   1 root     root           41 date usr/lib/x86_64-linux-gnu/libelf.so -> ../../../lib/x86_64-linux-gnu/libelf.so.1
  +lrwxrwxrwx   1 root     root           15 date usr/lib/x86_64-linux-gnu/libelf.so.1 -> libelf-0.183.so
  +lrwxrwxrwx   1 root     root           11 date usr/lib/x86_64-linux-gnu/libelf.so -> libelf.so.1
  -lrwxrwxrwx   1 root     root           49 date usr/lib/x86_64-linux-gnu/libgcrypt.so.20 -> ../../../lib/x86_64-linux-gnu/libgcrypt.so.20.2.8
  -lrwxrwxrwx   1 root     root           49 date usr/lib/x86_64-linux-gnu/libgcrypt.so -> ../../../lib/x86_64-linux-gnu/libgcrypt.so.20.2.8
  +lrwxrwxrwx   1 root     root           19 date usr/lib/x86_64-linux-gnu/libgcrypt.so.20 -> libgcrypt.so.20.2.8
  +lrwxrwxrwx   1 root     root           19 date usr/lib/x86_64-linux-gnu/libgcrypt.so -> libgcrypt.so.20.2.8
  -lrwxrwxrwx   1 root     root           52 date usr/lib/x86_64-linux-gnu/libgpg-error.so.0 -> ../../../lib/x86_64-linux-gnu/libgpg-error.so.0.29.0
  -lrwxrwxrwx   1 root     root           47 date usr/lib/x86_64-linux-gnu/libgpg-error.so -> ../../../lib/x86_64-linux-gnu/libgpg-error.so.0
  +lrwxrwxrwx   1 root     root           22 date usr/lib/x86_64-linux-gnu/libgpg-error.so.0 -> libgpg-error.so.0.29.0
  +lrwxrwxrwx   1 root     root           17 date usr/lib/x86_64-linux-gnu/libgpg-error.so -> libgpg-error.so.0
  -lrwxrwxrwx   1 root     root           47 date usr/lib/x86_64-linux-gnu/libip4tc.so.2 -> ../../../lib/x86_64-linux-gnu/libip4tc.so.2.0.0
  +lrwxrwxrwx   1 root     root           17 date usr/lib/x86_64-linux-gnu/libip4tc.so.2 -> libip4tc.so.2.0.0
  -lrwxrwxrwx   1 root     root           46 date usr/lib/x86_64-linux-gnu/libkmod.so.2 -> ../../../lib/x86_64-linux-gnu/libkmod.so.2.3.6
  +lrwxrwxrwx   1 root     root           16 date usr/lib/x86_64-linux-gnu/libkmod.so.2 -> libkmod.so.2.3.6
  +lrwxrwxrwx   1 root     root           16 date usr/lib/x86_64-linux-gnu/libkmod.so -> libkmod.so.2.3.6
  -lrwxrwxrwx   1 root     root           45 date usr/lib/x86_64-linux-gnu/liblz4.so.1 -> ../../../lib/x86_64-linux-gnu/liblz4.so.1.9.3
  -lrwxrwxrwx   1 root     root           45 date usr/lib/x86_64-linux-gnu/liblz4.so -> ../../../lib/x86_64-linux-gnu/liblz4.so.1.9.3
  +lrwxrwxrwx   1 root     root           15 date usr/lib/x86_64-linux-gnu/liblz4.so.1 -> liblz4.so.1.9.3
  +lrwxrwxrwx   1 root     root           15 date usr/lib/x86_64-linux-gnu/liblz4.so -> liblz4.so.1.9.3
  -lrwxrwxrwx   1 root     root           46 date usr/lib/x86_64-linux-gnu/liblzma.so.5 -> ../../../lib/x86_64-linux-gnu/liblzma.so.5.2.5
  -lrwxrwxrwx   1 root     root           46 date usr/lib/x86_64-linux-gnu/liblzma.so -> ../../../lib/x86_64-linux-gnu/liblzma.so.5.2.5
  +lrwxrwxrwx   1 root     root           16 date usr/lib/x86_64-linux-gnu/liblzma.so.5 -> liblzma.so.5.2.5
  +lrwxrwxrwx   1 root     root           16 date usr/lib/x86_64-linux-gnu/liblzma.so -> liblzma.so.5.2.5
  -lrwxrwxrwx   1 root     root           44 date usr/lib/x86_64-linux-gnu/libmd.so.0 -> ../../../lib/x86_64-linux-gnu/libmd.so.0.0.4
  -lrwxrwxrwx   1 root     root           44 date usr/lib/x86_64-linux-gnu/libmd.so -> ../../../lib/x86_64-linux-gnu/libmd.so.0.0.4
  +lrwxrwxrwx   1 root     root           14 date usr/lib/x86_64-linux-gnu/libmd.so.0 -> libmd.so.0.0.4
  +lrwxrwxrwx   1 root     root           14 date usr/lib/x86_64-linux-gnu/libmd.so -> libmd.so.0.0.4
  -lrwxrwxrwx   1 root     root           45 date usr/lib/x86_64-linux-gnu/libmnl.so.0 -> ../../../lib/x86_64-linux-gnu/libmnl.so.0.2.0
  -lrwxrwxrwx   1 root     root           45 date usr/lib/x86_64-linux-gnu/libmnl.so -> ../../../lib/x86_64-linux-gnu/libmnl.so.0.2.0
  +lrwxrwxrwx   1 root     root           15 date usr/lib/x86_64-linux-gnu/libmnl.so.0 -> libmnl.so.0.2.0
  +lrwxrwxrwx   1 root     root           15 date usr/lib/x86_64-linux-gnu/libmnl.so -> libmnl.so.0.2.0
  -lrwxrwxrwx   1 root     root           47 date usr/lib/x86_64-linux-gnu/libmount.so.1 -> ../../../lib/x86_64-linux-gnu/libmount.so.1.1.0
  -lrwxrwxrwx   1 root     root           47 date usr/lib/x86_64-linux-gnu/libmount.so -> ../../../lib/x86_64-linux-gnu/libmount.so.1.1.0
  +lrwxrwxrwx   1 root     root           17 date usr/lib/x86_64-linux-gnu/libmount.so.1 -> libmount.so.1.1.0
  +lrwxrwxrwx   1 root     root           17 date usr/lib/x86_64-linux-gnu/libmount.so -> libmount.so.1.1.0
  -lrwxrwxrwx   1 root     root           46 date usr/lib/x86_64-linux-gnu/libmpfr.so.6 -> ../../../lib/x86_64-linux-gnu/libmpfr.so.6.1.0
  +lrwxrwxrwx   1 root     root           16 date usr/lib/x86_64-linux-gnu/libmpfr.so.6 -> libmpfr.so.6.1.0
  -lrwxrwxrwx   1 root     root           42 date usr/lib/x86_64-linux-gnu/libm.so.6 -> ../../../lib/x86_64-linux-gnu/libm-2.31.so
  +lrwxrwxrwx   1 root     root           12 date usr/lib/x86_64-linux-gnu/libm.so.6 -> libm-2.31.so
  -lrwxrwxrwx   1 root     root           48 date usr/lib/x86_64-linux-gnu/libnss_dns.so.2 -> ../../../lib/x86_64-linux-gnu/libnss_dns-2.31.so
  -lrwxrwxrwx   1 root     root           45 date usr/lib/x86_64-linux-gnu/libnss_dns.so -> ../../../lib/x86_64-linux-gnu/libnss_dns.so.2
  +lrwxrwxrwx   1 root     root           18 date usr/lib/x86_64-linux-gnu/libnss_dns.so.2 -> libnss_dns-2.31.so
  +lrwxrwxrwx   1 root     root           15 date usr/lib/x86_64-linux-gnu/libnss_dns.so -> libnss_dns.so.2
  -lrwxrwxrwx   1 root     root           50 date usr/lib/x86_64-linux-gnu/libnss_files.so.2 -> ../../../lib/x86_64-linux-gnu/libnss_files-2.31.so
  -lrwxrwxrwx   1 root     root           47 date usr/lib/x86_64-linux-gnu/libnss_files.so -> ../../../lib/x86_64-linux-gnu/libnss_files.so.2
  +lrwxrwxrwx   1 root     root           20 date usr/lib/x86_64-linux-gnu/libnss_files.so.2 -> libnss_files-2.31.so
  +lrwxrwxrwx   1 root     root           17 date usr/lib/x86_64-linux-gnu/libnss_files.so -> libnss_files.so.2
  -lrwxrwxrwx   1 root     root           48 date usr/lib/x86_64-linux-gnu/libnvpair.so.3 -> ../../../lib/x86_64-linux-gnu/libnvpair.so.3.0.0
  +lrwxrwxrwx   1 root     root           18 date usr/lib/x86_64-linux-gnu/libnvpair.so.3 -> libnvpair.so.3.0.0
  -lrwxrwxrwx   1 root     root           46 date usr/lib/x86_64-linux-gnu/libpam.so.0 -> ../../../lib/x86_64-linux-gnu/libpam.so.0.85.1
  -lrwxrwxrwx   1 root     root           41 date usr/lib/x86_64-linux-gnu/libpam.so -> ../../../lib/x86_64-linux-gnu/libpam.so.0
  +lrwxrwxrwx   1 root     root           16 date usr/lib/x86_64-linux-gnu/libpam.so.0 -> libpam.so.0.85.1
  +lrwxrwxrwx   1 root     root           11 date usr/lib/x86_64-linux-gnu/libpam.so -> libpam.so.0
  -lrwxrwxrwx   1 root     root           50 date usr/lib/x86_64-linux-gnu/libpcre2-8.so.0 -> ../../../lib/x86_64-linux-gnu/libpcre2-8.so.0.10.1
  -lrwxrwxrwx   1 root     root           50 date usr/lib/x86_64-linux-gnu/libpcre2-8.so -> ../../../lib/x86_64-linux-gnu/libpcre2-8.so.0.10.1
  +lrwxrwxrwx   1 root     root           20 date usr/lib/x86_64-linux-gnu/libpcre2-8.so.0 -> libpcre2-8.so.0.10.1
  +lrwxrwxrwx   1 root     root           20 date usr/lib/x86_64-linux-gnu/libpcre2-8.so -> libpcre2-8.so.0.10.1
  -lrwxrwxrwx   1 root     root           47 date usr/lib/x86_64-linux-gnu/libpcre.so.3 -> ../../../lib/x86_64-linux-gnu/libpcre.so.3.13.3
  +lrwxrwxrwx   1 root     root           17 date usr/lib/x86_64-linux-gnu/libpcre.so.3 -> libpcre.so.3.13.3
  -lrwxrwxrwx   1 root     root           48 date usr/lib/x86_64-linux-gnu/libpthread.so.0 -> ../../../lib/x86_64-linux-gnu/libpthread-2.31.so
  -lrwxrwxrwx   1 root     root           45 date usr/lib/x86_64-linux-gnu/libpthread.so -> ../../../lib/x86_64-linux-gnu/libpthread.so.0
  +lrwxrwxrwx   1 root     root           18 date usr/lib/x86_64-linux-gnu/libpthread.so.0 -> libpthread-2.31.so
  +lrwxrwxrwx   1 root     root           15 date usr/lib/x86_64-linux-gnu/libpthread.so -> libpthread.so.0
  -lrwxrwxrwx   1 root     root           48 date usr/lib/x86_64-linux-gnu/libreadline.so.8 -> ../../../lib/x86_64-linux-gnu/libreadline.so.8.1
  -lrwxrwxrwx   1 root     root           46 date usr/lib/x86_64-linux-gnu/libreadline.so -> ../../../lib/x86_64-linux-gnu/libreadline.so.8
  +lrwxrwxrwx   1 root     root           18 date usr/lib/x86_64-linux-gnu/libreadline.so.8 -> libreadline.so.8.1
  +lrwxrwxrwx   1 root     root           16 date usr/lib/x86_64-linux-gnu/libreadline.so -> libreadline.so.8
  -lrwxrwxrwx   1 root     root           43 date usr/lib/x86_64-linux-gnu/librt.so.1 -> ../../../lib/x86_64-linux-gnu/librt-2.31.so
  -lrwxrwxrwx   1 root     root           40 date usr/lib/x86_64-linux-gnu/librt.so -> ../../../lib/x86_64-linux-gnu/librt.so.1
  +lrwxrwxrwx   1 root     root           13 date usr/lib/x86_64-linux-gnu/librt.so.1 -> librt-2.31.so
  +lrwxrwxrwx   1 root     root           10 date usr/lib/x86_64-linux-gnu/librt.so -> librt.so.1
  -lrwxrwxrwx   1 root     root           49 date usr/lib/x86_64-linux-gnu/libseccomp.so.2 -> ../../../lib/x86_64-linux-gnu/libseccomp.so.2.5.1
  +lrwxrwxrwx   1 root     root           19 date usr/lib/x86_64-linux-gnu/libseccomp.so.2 -> libseccomp.so.2.5.1
  -lrwxrwxrwx   1 root     root           45 date usr/lib/x86_64-linux-gnu/libselinux.so -> ../../../lib/x86_64-linux-gnu/libselinux.so.1
  +lrwxrwxrwx   1 root     root           15 date usr/lib/x86_64-linux-gnu/libselinux.so -> libselinux.so.1
  -lrwxrwxrwx   1 root     root           49 date usr/lib/x86_64-linux-gnu/libsigsegv.so.2 -> ../../../lib/x86_64-linux-gnu/libsigsegv.so.2.0.6
  +lrwxrwxrwx   1 root     root           19 date usr/lib/x86_64-linux-gnu/libsigsegv.so.2 -> libsigsegv.so.2.0.6
  -lrwxrwxrwx   1 root     root           51 date usr/lib/x86_64-linux-gnu/libsmartcols.so.1 -> ../../../lib/x86_64-linux-gnu/libsmartcols.so.1.1.0
  +lrwxrwxrwx   1 root     root           21 date usr/lib/x86_64-linux-gnu/libsmartcols.so.1 -> libsmartcols.so.1.1.0
  -lrwxrwxrwx   1 root     root           45 date usr/lib/x86_64-linux-gnu/libtinfo.so.6 -> ../../../lib/x86_64-linux-gnu/libtinfo.so.6.2
  -lrwxrwxrwx   1 root     root           43 date usr/lib/x86_64-linux-gnu/libtinfo.so -> ../../../lib/x86_64-linux-gnu/libtinfo.so.6
  +lrwxrwxrwx   1 root     root           15 date usr/lib/x86_64-linux-gnu/libtinfo.so.6 -> libtinfo.so.6.2
  +lrwxrwxrwx   1 root     root           13 date usr/lib/x86_64-linux-gnu/libtinfo.so -> libtinfo.so.6
  -lrwxrwxrwx   1 root     root           46 date usr/lib/x86_64-linux-gnu/libtspi.so.1 -> ../../../lib/x86_64-linux-gnu/libtspi.so.1.2.0
  +lrwxrwxrwx   1 root     root           16 date usr/lib/x86_64-linux-gnu/libtspi.so.1 -> libtspi.so.1.2.0
  -lrwxrwxrwx   1 root     root           46 date usr/lib/x86_64-linux-gnu/libudev.so.1 -> ../../../lib/x86_64-linux-gnu/libudev.so.1.7.0
  -lrwxrwxrwx   1 root     root           42 date usr/lib/x86_64-linux-gnu/libudev.so -> ../../../lib/x86_64-linux-gnu/libudev.so.1
  +lrwxrwxrwx   1 root     root           16 date usr/lib/x86_64-linux-gnu/libudev.so.1 -> libudev.so.1.7.0
  +lrwxrwxrwx   1 root     root           12 date usr/lib/x86_64-linux-gnu/libudev.so -> libudev.so.1
  -lrwxrwxrwx   1 root     root           46 date usr/lib/x86_64-linux-gnu/libuuid.so.1 -> ../../../lib/x86_64-linux-gnu/libuuid.so.1.3.0
  -lrwxrwxrwx   1 root     root           46 date usr/lib/x86_64-linux-gnu/libuuid.so -> ../../../lib/x86_64-linux-gnu/libuuid.so.1.3.0
  +lrwxrwxrwx   1 root     root           16 date usr/lib/x86_64-linux-gnu/libuuid.so.1 -> libuuid.so.1.3.0
  +lrwxrwxrwx   1 root     root           16 date usr/lib/x86_64-linux-gnu/libuuid.so -> libuuid.so.1.3.0
  -lrwxrwxrwx   1 root     root           47 date usr/lib/x86_64-linux-gnu/libuutil.so.3 -> ../../../lib/x86_64-linux-gnu/libuutil.so.3.0.0
  +lrwxrwxrwx   1 root     root           17 date usr/lib/x86_64-linux-gnu/libuutil.so.3 -> libuutil.so.3.0.0
  -lrwxrwxrwx   1 root     root           50 date usr/lib/x86_64-linux-gnu/libzfs_core.so.3 -> ../../../lib/x86_64-linux-gnu/libzfs_core.so.3.0.0
  +lrwxrwxrwx   1 root     root           20 date usr/lib/x86_64-linux-gnu/libzfs_core.so.3 -> libzfs_core.so.3.0.0
  -lrwxrwxrwx   1 root     root           45 date usr/lib/x86_64-linux-gnu/libzfs.so.4 -> ../../../lib/x86_64-linux-gnu/libzfs.so.4.1.0
  +lrwxrwxrwx   1 root     root           15 date usr/lib/x86_64-linux-gnu/libzfs.so.4 -> libzfs.so.4.1.0
  -lrwxrwxrwx   1 root     root           44 date usr/lib/x86_64-linux-gnu/libz.so.1 -> ../../../lib/x86_64-linux-gnu/libz.so.1.2.11
  -lrwxrwxrwx   1 root     root           44 date usr/lib/x86_64-linux-gnu/libz.so -> ../../../lib/x86_64-linux-gnu/libz.so.1.2.11
  +lrwxrwxrwx   1 root     root           14 date usr/lib/x86_64-linux-gnu/libz.so.1 -> libz.so.1.2.11
  +lrwxrwxrwx   1 root     root           14 date usr/lib/x86_64-linux-gnu/libz.so -> libz.so.1.2.11
  -lrwxrwxrwx   1 root     root           46 date usr/lib/x86_64-linux-gnu/libzstd.so.1 -> ../../../lib/x86_64-linux-gnu/libzstd.so.1.4.8
  -lrwxrwxrwx   1 root     root           46 date usr/lib/x86_64-linux-gnu/libzstd.so -> ../../../lib/x86_64-linux-gnu/libzstd.so.1.4.8
  +lrwxrwxrwx   1 root     root           16 date usr/lib/x86_64-linux-gnu/libzstd.so.1 -> libzstd.so.1.4.8
  +lrwxrwxrwx   1 root     root           16 date usr/lib/x86_64-linux-gnu/libzstd.so -> libzstd.so.1.4.8
  --rwxr-xr-x   1 root     root       517176 Nov  2  2019 usr/local/lib/libgmp.so.10.3.0
  +-rwxr-xr-x   1 root     staff      517176 Nov  2  2019 usr/local/lib/libgmp.so.10.3.0
  -lrwxrwxrwx   1 root     root           14 date usr/sbin/depmod -> ../../bin/kmod
  +lrwxrwxrwx   1 root     root           11 date usr/sbin/depmod -> ../bin/kmod
  -lrwxrwxrwx   1 root     root           19 date usr/sbin/halt -> ../../bin/systemctl
  +lrwxrwxrwx   1 root     root           16 date usr/sbin/halt -> ../bin/systemctl
  -lrwxrwxrwx   1 root     root           14 date usr/sbin/insmod -> ../../bin/kmod
  +lrwxrwxrwx   1 root     root           11 date usr/sbin/insmod -> ../bin/kmod
  -lrwxrwxrwx   1 root     root           12 date usr/sbin/ip -> ../../bin/ip
  +lrwxrwxrwx   1 root     root            9 date usr/sbin/ip -> ../bin/ip
  -lrwxrwxrwx   1 root     root           14 date usr/sbin/lsmod -> ../../bin/kmod
  -lrwxrwxrwx   1 root     root           14 date usr/sbin/modinfo -> ../../bin/kmod
  -lrwxrwxrwx   1 root     root           14 date usr/sbin/modprobe -> ../../bin/kmod
  +lrwxrwxrwx   1 root     root           11 date usr/sbin/lsmod -> ../bin/kmod
  +lrwxrwxrwx   1 root     root           11 date usr/sbin/modinfo -> ../bin/kmod
  +lrwxrwxrwx   1 root     root           11 date usr/sbin/modprobe -> ../bin/kmod
  -lrwxrwxrwx   1 root     root           19 date usr/sbin/poweroff -> ../../bin/systemctl
  +lrwxrwxrwx   1 root     root           16 date usr/sbin/poweroff -> ../bin/systemctl
  -lrwxrwxrwx   1 root     root           19 date usr/sbin/reboot -> ../../bin/systemctl
  -lrwxrwxrwx   1 root     root           14 date usr/sbin/rmmod -> ../../bin/kmod
  +lrwxrwxrwx   1 root     root           16 date usr/sbin/reboot -> ../bin/systemctl
  +lrwxrwxrwx   1 root     root           11 date usr/sbin/rmmod -> ../bin/kmod

Closes #1781

23 months agofix(dracut-install): convert_abs_rel: return valid path on error
наб [Thu, 28 Apr 2022 16:46:28 +0000 (18:46 +0200)] 
fix(dracut-install): convert_abs_rel: return valid path on error

convert_abs_rel() gets
  from  =/var/tmp/dracut.8dxnpY/initramfs/lib/x86_64-linux-gnu/libuuid.so.1.3.0
  target=/var/tmp/dracut.8dxnpY/initramfs/lib/x86_64-linux-gnu/libuuid.so
returning from is invalid; skip over the destdir:
  /lib/x86_64-linux-gnu/libuuid.so.1.3.0

23 months agoperf(dracut-install): strdup()+[dirlen]=0 => strndup
наб [Wed, 27 Apr 2022 17:14:33 +0000 (19:14 +0200)] 
perf(dracut-install): strdup()+[dirlen]=0 => strndup

23 months agofix(install.d): add --verbose if KERNEL_INSTALL_VERBOSE=1
Daan De Meyer [Tue, 14 Jun 2022 14:44:01 +0000 (10:44 -0400)] 
fix(install.d): add --verbose if KERNEL_INSTALL_VERBOSE=1

If KERNEL_INSTALL_VERBOSE=1, let's make sure dracut also produces
extended output for debugging purposes.

23 months agofix(dracut): typo error 'aggresive' -> 'aggressive'
Kairui Song [Tue, 21 Jun 2022 06:54:03 +0000 (14:54 +0800)] 
fix(dracut): typo error 'aggresive' -> 'aggressive'

This option was introduced not long ago, but unfortunately it was
misspelled and have affected following up commits. It's not a commonly
used option, at least not yet, so just rename and fix it.

Signed-off-by: Kairui Song <kasong@tencent.com>
23 months agofix(integrity): do not enable EVM if there is no key
Alberto Planas [Mon, 20 Jun 2022 15:13:19 +0000 (17:13 +0200)] 
fix(integrity): do not enable EVM if there is no key

Track when a key is successfully loaded, and return 1 if no key has been
loaded.  This will not enable EVM if there are no keys available in the
system.

Fix #1847

Signed-off-by: Alberto Planas <aplanas@suse.com>
23 months agofix(integrity): remove unused variable
Alberto Planas [Mon, 20 Jun 2022 13:49:48 +0000 (15:49 +0200)] 
fix(integrity): remove unused variable

Drop X509ID variable inside the `if`, and use the same comparison that
is already in evm_enable.

Signed-off-by: Alberto Planas <aplanas@suse.com>
23 months agofix(Makefile): reduce the number of shell invocations
Jóhann B. Guðmundsson [Thu, 2 Jun 2022 12:31:50 +0000 (12:31 +0000)] 
fix(Makefile): reduce the number of shell invocations

Makefile uses recursively expanded macros and as can be seen by simply
adding $(warning Call to shell) in front of $(shell ...) Foo's in the
Makefile, we are calling out to shell 9 times just to get the working
directory, a working directory which doesn't change during Make!

Let's save few pony's and reduce it to 2...

23 months agodocs: update NEWS.md and AUTHORS 057
Jóhann B. Guðmundsson [Sun, 19 Jun 2022 22:35:37 +0000 (22:35 +0000)] 
docs: update NEWS.md and AUTHORS

23 months agofeat(dracut): support parallel execution with --parallel
Martin Wilck [Thu, 9 Jun 2022 11:32:17 +0000 (13:32 +0200)] 
feat(dracut): support parallel execution with --parallel

Add an option --parallel which can currently be used with
--regenerate-all. With --regenerate-all --parallel, dracut will be
run in parallel for all kernels found.

Also introduce a config file equivalent setting: parallel="yes".
Making this work requires moving the code block that handles --regenerate-all
behind the code block for reading the config files.

Signed-off-by: Martin Wilck <mwilck@suse.com>
23 months agofeat(lvm): add new module lvmthinpool-monitor
Tao Liu [Fri, 10 Jun 2022 08:39:31 +0000 (16:39 +0800)] 
feat(lvm): add new module lvmthinpool-monitor

Previously dracut didn't support the feature of lvm thinpool autoextend.

The feature is useful to cases such as kdump, when vmcore to be saved to a
lvm thin volume. The thinpool should be able to autoextend, otherwise an
IO error will be caused and leaves an incomplete vmcore.

There is lvm2-monitor.service and dmeventd avaliable, however
considering [1], it is not suitable for kdump and memory limited cases.

This patch achieves the same by parallel looping a shell function in the
background, which calls lvextend periodically. If thredshold reaches,
autoextend it, if not then nothing happens.

[1]: https://lists.fedoraproject.org/archives/list/kexec@lists.fedoraproject.org/message/YF254ZO3PJ3U56P4OKHV3JNYP2PJUMYX/

Signed-off-by: Tao Liu <ltao@redhat.com>
2 years agofix(bluetooth): accept compressed firmwares in inst_multiple
наб [Tue, 26 Apr 2022 15:41:40 +0000 (17:41 +0200)] 
fix(bluetooth): accept compressed firmwares in inst_multiple

2 years agofeat(dracut-install): support ZSTD-compressed firmware with .zst suffix
наб [Tue, 26 Apr 2022 15:32:32 +0000 (17:32 +0200)] 
feat(dracut-install): support ZSTD-compressed firmware with .zst suffix

Coming in 5.19:
https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git/commit/?h=driver-core-next&id=23cfbc6ec44e5e80d5522976ff45ffcdcddfb230

2 years agofix(dracut): default to correct firmware search paths
наб [Tue, 26 Apr 2022 14:42:55 +0000 (16:42 +0200)] 
fix(dracut): default to correct firmware search paths

1. /sys/module/firmware_class/parameters/path (fw_path_para), if any
2. /lib/firmware/updates/$(uname -r)
3. /lib/firmware/updates
4. /lib/firmware/$(uname -r)
5. /lib/firmware

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/base/firmware_loader/main.c?h=v5.17#n406

2 years agotest: list only the required modules explicitly
Laszlo Gombos [Tue, 22 Feb 2022 14:25:44 +0000 (09:25 -0500)] 
test: list only the required modules explicitly

Test for module dependencies and increase test coverage.

2 years agofix(test): dmsquash-live test without an iso
Laszlo Gombos [Sun, 8 May 2022 04:46:15 +0000 (04:46 +0000)] 
fix(test): dmsquash-live test without an iso

Remove fedore specific parts and use squash filesystem as live root.

2 years agofix(Makefile): use of potentially unset variable
Conrad Hoffmann [Thu, 2 Jun 2022 08:31:50 +0000 (10:31 +0200)] 
fix(Makefile): use of potentially unset variable

`CWD` is not a Make variable. This may have worked accidentally for some
people if their shell happend to provide `CWD` and Make picked it up.

As is, this tends to pick up git versions of unrelated parent
directories, e.g. when packaging for distributions.

2 years agodocs(dracut.cmdline): add missing rd.nonvmf option
Antonio Alvarez Feijoo [Thu, 2 Jun 2022 07:07:34 +0000 (09:07 +0200)] 
docs(dracut.cmdline): add missing rd.nonvmf option

This is a specific option of the nvmf module.

2 years agofix(nvmf): deprecate old nvmf cmdline options
Antonio Alvarez Feijoo [Thu, 2 Jun 2022 06:59:21 +0000 (08:59 +0200)] 
fix(nvmf): deprecate old nvmf cmdline options

Fixes issue #1831

2 years agofix(integrity): do not display any error if there is no IMA certificate
Antonio Alvarez Feijoo [Tue, 24 May 2022 14:34:04 +0000 (16:34 +0200)] 
fix(integrity): do not display any error if there is no IMA certificate

IMA appraisal can be used without digital signatures, just by storing hash
digests instead.

2 years agodocs(dracut.cmdline): add missing evmx509 option
Antonio Alvarez Feijoo [Tue, 24 May 2022 10:28:58 +0000 (12:28 +0200)] 
docs(dracut.cmdline): add missing evmx509 option

This is a specific option of the integrity module.

2 years agofeat(gensplash): remove module
Laszlo Gombos [Mon, 9 May 2022 14:32:19 +0000 (14:32 +0000)] 
feat(gensplash): remove module

splashutils Gentoo package (a dependency for the gensplash dracut module)
is non existent in the official Gentoo repositories.

2 years agodocs(dracut.conf): regenerate_all not supported
Antonio Alvarez Feijoo [Thu, 12 May 2022 13:04:37 +0000 (15:04 +0200)] 
docs(dracut.conf): regenerate_all not supported

The regenerate_all option is used before sourcing the configuration files.

2 years agofix(dracut.sh): format usage and add missing options
Antonio Alvarez Feijoo [Mon, 9 May 2022 10:50:26 +0000 (12:50 +0200)] 
fix(dracut.sh): format usage and add missing options

Set common format to each option and add missing options:
    --no-machineid

2 years agodocs(dracut): format and add missing options
Antonio Alvarez Feijoo [Mon, 9 May 2022 10:41:39 +0000 (12:41 +0200)] 
docs(dracut): format and add missing options

Set common format to each option, correct default compression options and add
missing options:
    --rebuild
    --aggresive-strip
    --hostonly-mode
    --hostonly-nics
    --noimageifnotneeded

2 years agodocs(dracut.conf): format and add missing options
Antonio Alvarez Feijoo [Mon, 9 May 2022 10:30:55 +0000 (12:30 +0200)] 
docs(dracut.conf): format and add missing options

Set common format to each option, add/correct default values and add missing
options:
    force_add_dracutmodules
    libdirs
    squash_compress
    aggresive_strip
    do_hardlink
    prefix
    hostonly_mode
    hostonly_nics
    sshkey
    regenerate_all
    noimageifnotneeded
    uefi
    machine_id
    enhanced_cpio