Devuan bug report logs - #598
eudev: regex in preinst script prevents installation

version graph

Package: eudev; Maintainer for eudev is Devuan Dev Team <devuan-dev@lists.dyne.org>;

Reported by: David Paul <davidpaul@librem.one>

Date: Fri, 6 Aug 2021 02:52:01 UTC

Severity: grave

Tags: patch

Found in version 3.2.9-9

Fixed in version 3.2.9-10

Done: dak@devuan.org

Reply or subscribe to this bug.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to devuan-bugs@lists.dyne.org, Devuan Dev Team <devuan-dev@lists.dyne.org>:
bug#598; Package eudev. (Fri, 06 Aug 2021 02:52:01 GMT) (full text, mbox, link).


Acknowledgement sent to David Paul <davidpaul@librem.one>:
New bug report received and forwarded. Copy sent to Devuan Dev Team <devuan-dev@lists.dyne.org>. (Fri, 06 Aug 2021 02:52:05 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.devuan.org (full text, mbox, reply):

From: David Paul <davidpaul@librem.one>
To: Devuan Bug Tracking System <submit@bugs.devuan.org>
Subject: eudev: regex in preinst script prevents installation
Date: Thu, 5 Aug 2021 21:42:36 -0500
[Message part 1 (text/plain, inline)]
Package: eudev
Version: 3.2.9-9
Severity: grave
Tags: patch
Justification: renders package unusable

Dear Maintainer,


### Summary:
Please apply the attached patch to the eudev source package. A
similar change should also be made to Debian's systemd source package.


### Details:
Last week a user on the Devuan support IRC reported an inability to
upgrade eudev while attempting to perform an upgrade from ASCII to
Beowulf. After much back and forth, I was able to determine the cause
to be a regular expression in the preinst script for the eudev package.
(For the full
conversion see the IRC log beginning at
http://reisenweber.net/irclogs/freenode/_devuan/_devuan.2021-07-27.log.html#t2021-07-27T18:25:49
and ending at
http://reisenweber.net/irclogs/freenode/_devuan/_devuan.2021-07-28.log.html#t2021-07-28T05:01:23)
The regex in question is responsible for verifying the presence of six
kernel system call symbols required for eudev to function.
Unfortunately, because of prefixes on the names of the symbols in
the /proc/kallsyms file, the current version of the regex fails to
identify the presence of all the needed symbols. As can be seen in the
timeline that follows, this same issue was discovered November of
2018 and the problematic regular expression was modified accordingly.
Unfortunately, when the eudev maintainer scripts were modified in
January of 2020 to more closely match those of the udev binary package
from the Debian systemd source package, the regex in the check was
inadvertently reverted to the pre-2018 problematic version. The
attached patch modifies the regex back to its fixed version.

For the sake of completeness, it should be noted that the issue
mentioned in Debian bug #552778 (see 2009-11-10 in the timeline that
follows) is left unaddressed by this patch. Given that it involves a
processor architecture no longer supported by Debian (never supported
by Devuan) and applies to an issue with a 12 year old kernel, I think
it can be safely ignored. I will nevertheless be preforming experiments
with a Power Mac G5 to determine if this issue was every resolved
merely through the use of newer kernels. If an additional patch is
required as a result of these tests I will file a separate bug report.


### Timeline (reverse chronological order):
https://git.devuan.org/devuan/eudev/commit/243adc9487e06a928558628f5e0bf3f647c1a3c4
2020-01-08
The eudev.{init,preinst,postinst,prerm} scripts are modified to more
closely match the udev.{init,preinst,postinst,prerm} scripts in the
Debian package systemd 243-8 (see
https://salsa.debian.org/systemd-team/systemd/-/tree/debian/243-8). In
the process the regex in question in the eudev.preinst is inadvertently
reverted to the earlier problematic version.

https://git.devuan.org/devuan/eudev/commit/893574a43ab9cc9779dbbc7deab591b72b92ab59
https://git.devuan.org/devuan/eudev/commit/c5e67ec148a250ab432c565ccd08a386154fc5ee
2018-11-02
The regex in the kernel symbol check in eudev.preinst is changed to
contain "(_+.*_)" in place of "\.?" for detecting prefixed symbol
names. This change is the result of a conversation on IRC spanning from
http://reisenweber.net/irclogs/freenode/_devuan-dev/_devuan-dev.2018-11-02.log.html#t2018-11-02T16:47:03
to
http://reisenweber.net/irclogs/freenode/_devuan-dev/_devuan-dev.2018-11-02.log.html#t2018-11-02T18:49:16

https://git.devuan.org/devuan/eudev/commit/3529a42fc1c80a147ee0b6abd46e8175e5fe6bc7
2017-06-01
The eudev.preinst symlink to udev.preinst is replaced with a standard
file and udev.preinst is deleted.

https://git.devuan.org/devuan/eudev/commit/53a6f64a81a04a14a3fd44b294a3668ca483b9f4
2017-04-29
eudev.preinst is added as a symlink to udev.preinst

https://git.devuan.org/devuan/eudev/commit/8c34e95b65648801ec93959a3a8fc706d23d4abe
2017-04-22
The first commit with a debian/ directory is added to the current eudev
packaging repository. Included is a udev.preinst file. Prior early
debian packaging work is referenced in the included debian/changelog
file, but as far as I can tell that early work is not publicly
preserved, though I'd be happy to be proved wrong about that.

https://salsa.debian.org/systemd-team/systemd/-/commit/681aaee461212681c7efa4aed932cd93a03ec8e7
2016-02-05
The explicit checks in udev.preinst and udev.postinst for linux kernel
versions >= 2.6.32, which was released in 2009, are dropped. Support
for forcing udev upgrades via /etc/udev/kernel-upgrade to kernels known
to not be compatible is also dropped. check_kernel_features() remains
in udev.preinst but is simplified.

https://salsa.debian.org/systemd-team/systemd/-/commit/d4751047810b64f5a23c55cd04d2c7cf568dd9f5
2014-04-26
A check is added to udev.preinst for the syscall symbol accept4,
resolving Debian bug #648325.

https://salsa.debian.org/systemd-team/systemd/-/commit/aa9ec4cdf2f0e2c97cc61f295b348e17735a9fc7
2014-04-26
Checks are added to udev.preinst for the syscall symbols
open_by_handle_at, timerfd_create, and epoll_create.

https://salsa.debian.org/systemd-team/systemd/-/commit/b56f8637a1e03ac6a45af7820287159df9b506b9
2013-07-17
Following the merging of udev into systemd upstream, debian/ files from
udev 175-7 are incorporated into the systemd source package.

https://salsa.debian.org/systemd-team/systemd/-/commit/7ffbf10c801a5fa0adf60d57d634e0b7d28efb62
2013-07-17
The explicit kernel version incompatibilities are removed in
debian/control from the udev package stanza.

https://snapshot.debian.org/package/udev/147%7Egit20091109-1/
2009-11-10
The regex in the udev preinst script is changed to also match kernel
symbols with a leading dot to address Debian bug #552778 involving a
powerpc64 system.

https://snapshot.debian.org/package/udev/146-5/
2009-10-08
The check_kernel_features() function is first added to the udev.preinst
script. The function checks for the inotify_init and signalfd system
call symbols.
[eudev-preinst-fix.patch (text/x-patch, attachment)]

Information forwarded to devuan-bugs@lists.dyne.org, Devuan Dev Team <devuan-dev@lists.dyne.org>:
bug#598; Package eudev. (Fri, 06 Aug 2021 17:12:02 GMT) (full text, mbox, link).


Acknowledgement sent to "David (Plasma) Paul" <davidpaul@librem.one>:
Extra info received and forwarded to list. Copy sent to Devuan Dev Team <devuan-dev@lists.dyne.org>. (Fri, 06 Aug 2021 17:12:04 GMT) (full text, mbox, link).


Message #10 received at 598@bugs.devuan.org (full text, mbox, reply):

From: "David (Plasma) Paul" <davidpaul@librem.one>
To: 598@bugs.devuan.org
Subject: Corrected patch for Devuan bug #598
Date: Fri, 6 Aug 2021 12:03:16 -0500
[Message part 1 (text/plain, inline)]
CORRECTION:

I just realized that the patch I submitted yesterday with the original
bug report is missing a single question mark. While the patch, as sent,
does indeed fix the issue for systems affected by it, it actually
_causes_ the issue on systems that were working fine. Oops!

The corrected patched is attached.
[eudev-preinst-corrected-fix.patch (text/x-patch, attachment)]

Reply sent to dak@devuan.org:
You have taken responsibility. (Sun, 05 Sep 2021 22:52:23 GMT) (full text, mbox, link).


Notification sent to David Paul <davidpaul@librem.one>:
bug acknowledged by developer. (Sun, 05 Sep 2021 22:52:25 GMT) (full text, mbox, link).


Message #15 received at 598-done@bugs.devuan.org (full text, mbox, reply):

From: dak@devuan.org
To: 598-done@bugs.devuan.org
Subject: #598: fixed in src:eudev version 3.2.9-10
Date: Sun, 05 Sep 2021 21:29:25 +0000
Version: 3.2.9-10

Source package eudev (3.2.9-10) added to Devuan suite unstable.

This closes bug report 598.

Thanks

DAK managing the Devuan archive

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Sat, 04 Sep 2021 13:05:24 +0200
Source: eudev
Architecture: source
Version: 3.2.9-10
Distribution: unstable
Urgency: high
Maintainer: Devuan Dev Team <devuan-dev@lists.dyne.org>
Changed-By: Svante Signell <svante.signell@gmail.com>
Closes: 407 598 600
Changes:
 eudev (3.2.9-10) unstable; urgency=high
 .
   * debian/eudev.maintscript: Remove. Fixes build with debhelper 13.5.
   * debian/changelog: Fix indentation and long lines.
   * debian/eudev.preinst: Fix detection of needed kernel features for
     recent kernels. (Closes: #407, #598)
   * debian/control: Remove dependency on debconf.
   * debian/eudev.postrm: Remove db_purge since we no longer use debconf.
     (Closes: #600)
Checksums-Sha1:
 5ce112896d9724eaa7b38fa98987e9c7a088b4c4 2349 eudev_3.2.9-10.dsc
 7828272d2f41b7934340975d0e1c4d788780060b 62388 eudev_3.2.9-10.debian.tar.xz
 33c9448e580a35ff8d503846fc70814b36194f98 5158 eudev_3.2.9-10_source.buildinfo
Checksums-Sha256:
 6edeac63382214a78eb0ee2267021ef32617155c20aea71cbdeff22e65e20e6d 2349 eudev_3.2.9-10.dsc
 3a9198b282ae092f28a4f0766c35d8369f5ac7a2e41b48842bd2cd5a655d8838 62388 eudev_3.2.9-10.debian.tar.xz
 0f218435c089746fa805aed6eda76705c944b2081e7e51a6d7e8bd35ae104e3b 5158 eudev_3.2.9-10_source.buildinfo
Files:
 3fd2203af8cb37e2d5a2f3deffbddace 2349 admin optional eudev_3.2.9-10.dsc
 1aebdadfe119630c4aa38925e6487428 62388 admin optional eudev_3.2.9-10.debian.tar.xz
 e2621664cfd62622da0206b953c1ac27 5158 admin optional eudev_3.2.9-10_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEcuPLdzMV36LkZHQ9lFMhJFQZIvsFAmE1NJsACgkQlFMhJFQZ
Ivs69Af/TUwf4pYpmE7aF1LYzrctBqPEXhCenKB7urP9SEGjK4cMnxg+bS6C0Zty
jDzuuPOhjEjqtbNw00j4xQ8nTeaME6kCctV8yonygjM/OuzqlrknZQNW5le6H36g
k9lhi78QSkp39BIQI+OUUwuQSMPbpMG82i0JIiSKCue2JaN0pXHZeiCAubQrx0TY
jIxHrqDZOqBXGJFJkF+/ch912ssaHQ/IsrUZ1q/WKeikO9/c+q4Qo9VK13TWGBEl
DG6t4RHv2bfaodWWr2dNPEOp7g74isXU7VWXcMkobvMAgnr4Da+/XRhwjHGfndZd
XtSz//BYKdpCJMSHGAXVgbm4dQRT7w==
=jlhk
-----END PGP SIGNATURE-----

Send a report that this bug log contains spam.


Devuan BTS -- Powered by Debian bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson,
2005-2017 Don Armstrong, and many other contributors.

Devuan Bugs Owner <owner@bugs.devuan.org>.
Last modified: Mon Oct 25 08:35:49 2021;