new error message with package 3.1.1-1
With package version 3.1.1-1 I am seeing new error message in the logs when installing a new kernel resp. updating a kernel:
/usr/lib/kernel/install.d/40-dkms.install: Zeile 4: /../trash/postinst.d/dkms: Datei oder Verzeichnis nicht gefunden
Downgrading the package to previous version 3.0.13-1 removes the error message.
Seems to be related changes coming with dkms 3.1.1
See also this thread in the endeavouros forum: https://forum.endeavouros.com/t/dkms-error/62236
The script 40-dkms.install seems to be odd with absolute path names:
#!/bin/sh
if [ "$1" = "add" ]; then
/../trash/postinst.d/dkms "$2"
fi
if [ "$1" = "remove" ]; then
/../trash/prerm.d/dkms "$2"
fi
- Show closed items
Activity
-
Newest first Oldest first
-
Show all activity Show comments only Show history only
- 🤖 Bugbuddy 🤖 added priority3-normal severity4-low statusunconfirmed labels
added priority3-normal severity4-low statusunconfirmed labels
- 🤖 Bugbuddy 🤖 assigned to @freswa, @toolybird, and @gromit
assigned to @freswa, @toolybird, and @gromit
- Matthias Bodenbinder changed the description
Compare with previous version changed the description
- Developer
Please do not ignore the issue template, it is there for a good reason!
How do I reproduce this?
It seems like I don't have this issue when removing a kernel$ sudo pacman -R linux-lts checking dependencies... Package (1) Old Version Net Change linux-lts 6.6.58-1 -128.58 MiB Total Removed Size: 128.58 MiB :: Do you want to remove these packages? [Y/n] :: Running pre-transaction hooks... (1/2) Removing linux initcpios... (2/2) Remove DKMS modules ==> dkms remove --no-depmod zfs/2.2.6 -k 6.6.58-1-lts ==> depmod 6.6.58-1-lts :: Processing package changes... (1/1) removing linux-lts [########################################################] 100% :: Running post-transaction hooks... (1/3) Arming ConditionNeedsUpdate... (2/3) Updating module dependencies... (3/3) packagelist.hook
Edited by Christian Heusel - Author
Sorry for not paying attention to the instructions. I am having this issue on an up-to-date endeavouros with
dkms 3.1.1-1 dracut 105-1 kernel-install-for-dracut 1.10.1-1
Regardless if I install a kernel or remove a kernel I get this error:
install:
╰─# pacman -S linux-lts resolving dependencies... looking for conflicting packages... Packages (1) linux-lts-6.6.58-1 Total Download Size: 128.37 MiB Total Installed Size: 128.58 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... linux-lts-6.6.58-1-x86_64 128.4 MiB 21.1 MiB/s 00:06 [---------------------------------------------] 100% (1/1) checking keys in keyring [---------------------------------------------] 100% (1/1) checking package integrity [---------------------------------------------] 100% (1/1) loading package files [---------------------------------------------] 100% (1/1) checking for file conflicts [---------------------------------------------] 100% (1/1) checking available disk space [---------------------------------------------] 100% :: Processing package changes... (1/1) installing linux-lts [---------------------------------------------] 100% Optional dependencies for linux-lts wireless-regdb: to set the correct wireless channels of your country [installed] linux-firmware: firmware images needed for some devices [installed] :: Running post-transaction hooks... ( 1/11) Arming ConditionNeedsUpdate... ( 2/11) Updating module dependencies... ( 3/11) Install DKMS modules ==> dkms install --no-depmod zfs/2.2.6 -k 6.6.58-1-lts ==> depmod 6.6.58-1-lts ( 4/11) Running kernel-install... :: kernel-install installing kernel 6.6.58-1-lts /usr/lib/kernel/install.d/40-dkms.install: line 4: /../trash/postinst.d/dkms: No such file or directory ( 5/11) Cleaning up... ( 6/11) Cleaning up... ( 7/11) Cleaning up... ( 8/11) Updating dvb modules... # /usr/share/libalpm/scripts/my-dvb-modules.sh (exit) ( 9/11) Removing unnecessary cached files from /mnt/zM2/packages ==> no candidate packages found for pruning (10/11) Updating package lists... (11/11) Removing obsolete cached package files (keeping the latest two)... ==> no candidate packages found for pruning
remove:
╰─# pacman -R linux-lts checking dependencies... Packages (1) linux-lts-6.6.58-1 Total Removed Size: 128.58 MiB :: Do you want to remove these packages? [Y/n] :: Running pre-transaction hooks... (1/2) Remove DKMS modules ==> dkms remove --no-depmod zfs/2.2.6 -k 6.6.58-1-lts ==> depmod 6.6.58-1-lts (2/2) Removing kernel... :: kernel-install removing kernel 6.6.58-1-lts /usr/lib/kernel/install.d/40-dkms.install: line 8: /../trash/prerm.d/dkms: No such file or directory /usr/lib/kernel/install.d/40-dkms.install failed with exit status 127. :: Processing package changes... (1/1) removing linux-lts [---------------------------------------------] 100% :: Running post-transaction hooks... ( 1/10) Arming ConditionNeedsUpdate... ( 2/10) Updating module dependencies... ( 3/10) Cleaning up... ( 4/10) Cleaning up... ( 5/10) Cleaning up... ( 6/10) Removing uninstalled packages from cache removed '/var/cache/pacman/pkg/linux-lts-6.6.58-1-x86_64.pkg.tar.zst' removed '/var/cache/pacman/pkg/linux-lts-6.6.58-1-x86_64.pkg.tar.zst.sig' ==> finished: 1 packages removed (disk space saved: 128.37 MiB) ( 7/10) Removing unnecessary cached files from /mnt/zM2/packages ==> no candidate packages found for pruning ( 8/10) Removing uninstalled packages from /mnt/zM2/packages ==> no candidate packages found for pruning ( 9/10) Updating package lists... (10/10) Removing obsolete cached package files (keeping the latest two)... ==> no candidate packages found for pruning
The issue seems to be the script /usr/lib/kernel/install.d/40-dkms.install which does not exist in previous dkms version 3.0.13.
╰─# cat /usr/lib/kernel/install.d/40-dkms.install #!/bin/sh if [ "$1" = "add" ]; then /../trash/postinst.d/dkms "$2" fi if [ "$1" = "remove" ]; then /../trash/prerm.d/dkms "$2" fi
It does contain absolute path names which does not look right to me.
Edited by Matthias Bodenbinder Collapse replies - Reporter
It does contain absolute path names
Yeah, it definitely doesn't look right.. probably due to poisoning. This likely affects only those systems employing
kernel-install
e.g. EndeavourOS. - Developer
@seblu so what do we do about this?
Should we just take the default values or do we declare usage of the kernel-install stuff unsupported?diff --git a/PKGBUILD b/PKGBUILD index a6243ff..4ff95b8 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -4,7 +4,7 @@ pkgname=dkms pkgver=3.1.1 -pkgrel=1 +pkgrel=2 pkgdesc='Dynamic Kernel Modules System' arch=('any') url='https://github.com/dell/dkms' @@ -52,13 +52,9 @@ package() { install -D -m 755 hook.sh "$pkgdir/usr/share/libalpm/scripts/dkms" # upstream installer cd dkms - # we don't need kconf files and libdir is only for debian stuff, so - # we install them outside of $pkgdir make \ DESTDIR="$pkgdir" \ SBIN=/usr/bin \ - KCONF=/../trash \ - LIBDIR=/../trash \ MODDIR=/usr/lib/modules \ install }
- Reporter
do we declare usage of the kernel-install stuff unsupported?
Hmm, that wouldn't be wise methinks.
kernel-install
is documented in the Wiki and seems to have valid use cases on genuine Arch systems (for UKIs and whatnot)..Maybe just
rm -rf /usr/lib
in the pkg?40-dkms.install
wasn't in the previous pkg. After all, it seems to be part of the "debian stuff" which shouldn't be needed. It only snuck in due to an upstream change.Edited by Toolybird - Developer
Well I'm using kernel-install on my machines. I noticed about these errors in my today update routine. The result was breaking modules removal from
/usr/lib/modules
.If we need a quick fix, I think we can drop the files from
/usr/lib/kernel
until we figure how to make them work properly.
- Toolybird added scoperegression statusconfirmed labels and removed statusunconfirmed label
added scoperegression statusconfirmed labels and removed statusunconfirmed label
- 🤖 Bugbuddy 🤖 assigned to @seblu and unassigned @freswa and @toolybird
assigned to @seblu and unassigned @freswa and @toolybird
- Sébastien Luttringer mentioned in commit 5cec1dbc
mentioned in commit 5cec1dbc
- Developer
@gromit, I pushed a quick fix, which is not ideal, as it simply removes the kernel-install files from the DKMS upstream. Currently, this script breaks the correct execution of kernel-install, leaving kernels partially removed in the filesystem tree.
If DKMS supported kernel-install, we should definitely consider it.
1 - Reporter
Original regression fixed with 5cec1dbc. Further packaging improvements to be reevaluated at next bump.
- Toolybird closed
closed
- Toolybird added resolutioncompleted label
added resolutioncompleted label