* [bug#48984] [PATCH] gnu: ddcutil: Patch kernel modules paths.
@ 2021-06-12 21:24 Brice Waegeneire
2021-06-13 10:35 ` Tobias Geerinckx-Rice via Guix-patches via
2022-01-21 23:21 ` bug#48984: " Brice Waegeneire
0 siblings, 2 replies; 4+ messages in thread
From: Brice Waegeneire @ 2021-06-12 21:24 UTC (permalink / raw)
To: 48984
Without it "ddcutil detect" complain: “Module i2c-dev is not loaded and
ddcutil can't determine if it is built into the kernel”.
* gnu/packages/patches/ddcutil-modules-location.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/hardware.scm (ddcutil)[source]: Apply it.
---
gnu/local.mk | 1 +
gnu/packages/hardware.scm | 6 ++--
.../patches/ddcutil-modules-location.patch | 32 +++++++++++++++++++
3 files changed, 37 insertions(+), 2 deletions(-)
create mode 100644 gnu/packages/patches/ddcutil-modules-location.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 26b3e86e22..aa06cac37f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -941,6 +941,7 @@ dist_patch_DATA = \
%D%/packages/patches/dbus-CVE-2020-12049.patch \
%D%/packages/patches/dbus-c++-gcc-compat.patch \
%D%/packages/patches/dbus-c++-threading-mutex.patch \
+ %D%/packages/patches/ddcutil-modules-location.patch \
%D%/packages/patches/dbxfs-remove-sentry-sdk.patch \
%D%/packages/patches/debops-constants-for-external-program-names.patch \
%D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \
diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm
index ecbcca79b1..0612e4a068 100644
--- a/gnu/packages/hardware.scm
+++ b/gnu/packages/hardware.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
-;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Evgeny Pisemsky <evgeny@pisemsky.com>
;;; Copyright © 2021 Léo Le Bouter <lle-bout@zaclys.net>
;;;
@@ -21,6 +21,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages hardware)
+ #:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
@@ -68,7 +69,8 @@
(uri (string-append "https://www.ddcutil.com/tarballs/"
"ddcutil-" version ".tar.gz"))
(sha256
- (base32 "19kkwb9ijzn6ya3mvjanggh1c96fcc0lkbk7xnyi2qp6wsr4nhxp"))))
+ (base32 "19kkwb9ijzn6ya3mvjanggh1c96fcc0lkbk7xnyi2qp6wsr4nhxp"))
+ (patches (search-patches "ddcutil-modules-location.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/patches/ddcutil-modules-location.patch b/gnu/packages/patches/ddcutil-modules-location.patch
new file mode 100644
index 0000000000..c36fe5f2d7
--- /dev/null
+++ b/gnu/packages/patches/ddcutil-modules-location.patch
@@ -0,0 +1,32 @@
+From https://github.com/NixOS/nixpkgs/blob/nixos-21.05/pkgs/tools/misc/ddcutil/nixos-paths.diff
+
+--- a/src/util/linux_util.c
++++ b/src/util/linux_util.c
+@@ -125,6 +125,7 @@
+ "lib64",
+ "lib32",
+ "usr/lib", // needed for arch?
++ "run/booted-system/kernel/lib", // Guix System
+ NULL};
+ int result = -1;
+ int ndx = 0;
+@@ -204,14 +205,15 @@
+ if (debug)
+ printf("(%s) machine: %s", __func__, utsbuf.machine);
+
+- char * libdirs[3];
++ char * libdirs[4];
+ libdirs[0] = "lib";
++ libdirs[1] = "run/booted-system/kernel/lib";
+ if (streq(utsbuf.machine, "amd_64")){
+- libdirs[1] = "lib64";
+- libdirs[2] = NULL;
++ libdirs[2] = "lib64";
++ libdirs[3] = NULL;
+ }
+ else
+- libdirs[1] = NULL;
++ libdirs[2] = NULL;
+
+ int libsndx = 0;
+ bool found = false;
--
2.31.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [bug#48984] [PATCH] gnu: ddcutil: Patch kernel modules paths.
2021-06-12 21:24 [bug#48984] [PATCH] gnu: ddcutil: Patch kernel modules paths Brice Waegeneire
@ 2021-06-13 10:35 ` Tobias Geerinckx-Rice via Guix-patches via
2021-06-13 13:07 ` Brice Waegeneire
2022-01-21 23:21 ` bug#48984: " Brice Waegeneire
1 sibling, 1 reply; 4+ messages in thread
From: Tobias Geerinckx-Rice via Guix-patches via @ 2021-06-13 10:35 UTC (permalink / raw)
To: Brice Waegeneire; +Cc: 48984
[-- Attachment #1: Type: text/plain, Size: 1021 bytes --]
Brice,
Thanks for the patch! Does it affect more than ‘ddcutil
detect/environment’? Anything ‘real’?
Working around one of many bugs in a broken diagnostic subtool
isn't worth maintaining a 32-line patch.
Brice Waegeneire 写道:
> Without it "ddcutil detect" complain: “Module i2c-dev is not
> loaded and
> ddcutil can't determine if it is built into the kernel”.
With it, it still complains:
~ λ ddcutil detect
Module i2c-dev is not loaded and not built into the kernel.
ddcutil requires module i2c-dev
It doesn't address the built-in case either, AFAICS.
The very idea of ddcutil's linux_util.c is flawed and can't be
fixed: you don't look in /etc for the running kernel version; you
don't use that ill-gotten string to start scanning random system
directories for .ko files; you don't check for built-in modules by
looking for possibly installed build leftovers. None of that
makes sense. You ask kmod. You ask the kernel!
Kind regards,
T G-R
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* [bug#48984] [PATCH] gnu: ddcutil: Patch kernel modules paths.
2021-06-13 10:35 ` Tobias Geerinckx-Rice via Guix-patches via
@ 2021-06-13 13:07 ` Brice Waegeneire
0 siblings, 0 replies; 4+ messages in thread
From: Brice Waegeneire @ 2021-06-13 13:07 UTC (permalink / raw)
To: Tobias Geerinckx-Rice; +Cc: 48984
Tobias,
Thank you for the review!
Tobias Geerinckx-Rice <me@tobias.gr> writes:
> Thanks for the patch! Does it affect more than ‘ddcutil
> detect/environment’? Anything ‘real’?
AFAIK no, this patch only get rid off that error message.
> Working around one of many bugs in a broken diagnostic subtool isn't worth
> maintaining a 32-line patch.
Fair enough, it's just a stop gap until 1.1.1 is released tho.
> Brice Waegeneire 写道:
>> Without it "ddcutil detect" complain: “Module i2c-dev is not loaded and
>> ddcutil can't determine if it is built into the kernel”.
>
> With it, it still complains:
>
> ~ λ ddcutil detect
> Module i2c-dev is not loaded and not built into the kernel.
> ddcutil requires module i2c-dev
It's not the same error.
> It doesn't address the built-in case either, AFAICS.
I wasn't clear enough in the git message. Here is the output wihtout
that patch and with it:
--8<---------------cut here---------------start------------->8---
$ modinfo i2c-dev | grep '^filename:'
filename: (builtin)
$ guix environment --ad-hoc ddcutil -- ddcutil detect
Unable to read modules.builtin
Module i2c-dev is not loaded and ddcutil can't determine if it is built into the kernel
Display 1
[...]
$ ./pre-inst-env guix environment --ad-hoc ddcutil -- ddcutil detect
Display 1
[...]
--8<---------------cut here---------------end--------------->8--
With a built-in i2c-dev module, this patch remove that pesky error
message.
> The very idea of ddcutil's linux_util.c is flawed and can't be fixed: you
> don't look in /etc for the running kernel version; you don't use that
> ill-gotten string to start scanning random system directories for .ko
> files; you don't check for built-in modules by looking for possibly
> installed build leftovers. None of that makes sense. You ask kmod. You
> ask the kernel!
I agreed it is flawed, but it was fixed by upstream in the 1.1.1-dev
branch¹ by using libkmod as you are suggesting. I proposed that solution
to upstream some days ago in inssue #178²; he implementeded right away.
Since it's a development branch I tought it wasn't wise to update the
package to the latest commit. Maybe you would you prefer such patch
instead?
¹ https://github.com/rockowitz/ddcutil/tree/1.1.1-dev
² https://github.com/rockowitz/ddcutil/issues/178#issuecomment-856297112
Cheers,
- Brice
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#48984: [PATCH] gnu: ddcutil: Patch kernel modules paths.
2021-06-12 21:24 [bug#48984] [PATCH] gnu: ddcutil: Patch kernel modules paths Brice Waegeneire
2021-06-13 10:35 ` Tobias Geerinckx-Rice via Guix-patches via
@ 2022-01-21 23:21 ` Brice Waegeneire
1 sibling, 0 replies; 4+ messages in thread
From: Brice Waegeneire @ 2022-01-21 23:21 UTC (permalink / raw)
To: 48984-close
Brice Waegeneire <brice@waegenei.re> writes:
> * gnu/packages/patches/ddcutil-modules-location.patch: New patch.
> * gnu/local.mk (dist_patch_DATA): Register it.
> * gnu/packages/hardware.scm (ddcutil)[source]: Apply it.
Upstream released a new version. This patch is superseded by <https://bugs.gnu.org/48984>.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-01-21 23:22 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-06-12 21:24 [bug#48984] [PATCH] gnu: ddcutil: Patch kernel modules paths Brice Waegeneire
2021-06-13 10:35 ` Tobias Geerinckx-Rice via Guix-patches via
2021-06-13 13:07 ` Brice Waegeneire
2022-01-21 23:21 ` bug#48984: " Brice Waegeneire
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.