aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/linux.scm
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2022-08-11 22:15:22 +0200
committerMarius Bakke <marius@gnu.org>2022-08-11 22:15:22 +0200
commitb50eaa67642ebc25e9c896f2e700c08610e0a5da (patch)
treee3358208e17a836c2e3cdb3125f815a2ab35c2b8 /gnu/packages/linux.scm
parent7b69cd07408bf64fff026e4597920a90259e3205 (diff)
parent99b73f60415b282f2be39134f385cbda4840c336 (diff)
downloadguix-b50eaa67642ebc25e9c896f2e700c08610e0a5da.tar.gz
guix-b50eaa67642ebc25e9c896f2e700c08610e0a5da.zip
Merge branch 'master' into staging
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r--gnu/packages/linux.scm397
1 files changed, 263 insertions, 134 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 051bf9eeaa..18313cd481 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -60,7 +60,7 @@
;;; Copyright © 2021 Josselin Poiret <josselin.poiret@protonmail.ch>
;;; Copyright © 2021 Olivier Dion <olivier.dion@polymtl.ca>
;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
-;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
+;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2022 Rene Saavedra <nanuui@protonmail.com>
@@ -352,7 +352,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
-(define-public linux-libre-5.18-version "5.18.14")
+(define-public linux-libre-5.18-version "5.18.16")
(define-public linux-libre-5.18-gnu-revision "gnu")
(define deblob-scripts-5.18
(linux-libre-deblob-scripts
@@ -362,7 +362,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0vjpn8iw9yg39sr6jfhzyvivf159h9zfgnjamwa283zfll0h0a53")))
(define-public linux-libre-5.18-pristine-source
(let ((version linux-libre-5.18-version)
- (hash (base32 "1bsnk2rskdkimciij5q3hjs00lc7ks1h1qh9kc4s7lrk252lczg1")))
+ (hash (base32 "1khi1npn8d8jimwdy8bf3r7l780mxdmvk5azdv419pk33qjqdxgi")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
@@ -371,7 +371,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
-(define-public linux-libre-5.15-version "5.15.57")
+(define-public linux-libre-5.15-version "5.15.59")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
@@ -381,12 +381,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "129qlhwdv2mfb85gbvq03kkbdfp73b444rryr4rrbvi0jmq4cp24")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
- (hash (base32 "1zgh43pgn8fsyxzksfw6llxqw6fc8qassfn9a18k2xn83xd0kqv2")))
+ (hash (base32 "1jxw6fnc7yaw7r6193wy6l8wdlpy3frw48drnc3dnh3k0m1cdpg6")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
-(define-public linux-libre-5.10-version "5.10.133")
+(define-public linux-libre-5.10-version "5.10.135")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
@@ -396,12 +396,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1981axxswghza3iadp94q54y8w30h9w9vyq4cbjiiv9alvbv0pb8")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
- (hash (base32 "03i84g3pfh24f10zsdyyqyv9fhy01ah9lk02y48hqwnabdylqp1v")))
+ (hash (base32 "0i1kahv739qpyyml7d7sx306nv7gp55i5d97vlb0fryfx4dsd6g4")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
-(define-public linux-libre-5.4-version "5.4.207")
+(define-public linux-libre-5.4-version "5.4.209")
(define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
@@ -411,12 +411,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1vnjbdyssa7dwyjl9kg35alwvf7yh597cl74yr1wy2gk5bc9paw6")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
- (hash (base32 "1wwpd26qhv6i00p0yxjisns6qiz9bfrxvn1xb4ylwr8ls7zyx78v")))
+ (hash (base32 "1kdnz99k7zspzaxqaxahbf6hncigy4cvjlb79jsy7a95qxxr31qf")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
-(define-public linux-libre-4.19-version "4.19.253")
+(define-public linux-libre-4.19-version "4.19.254")
(define-public linux-libre-4.19-gnu-revision "gnu1")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
@@ -426,12 +426,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
- (hash (base32 "1jc2j0wskgr1bdzpz6sn2bvafpviiin6mwr93yykcczzfjijr8yz")))
+ (hash (base32 "1rd40wmdaymbly2zvf60mjqsflkd4n1y232qz0ixn1rfl28yz62i")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
-(define-public linux-libre-4.14-version "4.14.289")
+(define-public linux-libre-4.14-version "4.14.290")
(define-public linux-libre-4.14-gnu-revision "gnu1")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
@@ -441,12 +441,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
- (hash (base32 "1v24mv49skgijcbafgai0glrzwiv2j1hndkz7v6ygc18jxh5fqg6")))
+ (hash (base32 "0zyxb99a7fa2l85vnzmvg2nry99clj20d4j38piqm921iqxak2j4")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
-(define-public linux-libre-4.9-version "4.9.324")
+(define-public linux-libre-4.9-version "4.9.325")
(define-public linux-libre-4.9-gnu-revision "gnu1")
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
@@ -456,7 +456,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0bib3641dbcqdkx3anna3caxnsg3nw9cnmhcklq0s93g3m57041h")))
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
- (hash (base32 "0g51vfp0g3py82l3q66p7nvl03h6l1nlny18gangji75a3c39yh4")))
+ (hash (base32 "04msx0x0d8v93zjr3jj0qqkgg7m4hb7rj6hk5vzrzasmgbjmb3dl")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
@@ -1342,6 +1342,37 @@ battery charging thresholds, keyboard backlight, fans and thermal monitors,
and the notification, WiFi, and Bluetooth LED.")
(license license:gpl2)))
+(define-public lkrg
+ (package
+ (name "lkrg")
+ (version "0.9.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lkrg-org/lkrg")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0yirb7n4mqv8cn0gziz1m7ymq00dhhy79j59jdgrx00b8rj57cfw"))))
+ (build-system linux-module-build-system)
+ (arguments
+ (list #:linux linux-libre
+ #:tests? #f
+ #:make-flags #~(list (string-append "CC="
+ #$(cc-for-target))
+ (string-append "SYSSRC="
+ (assoc-ref %build-inputs
+ "linux-module-builder")
+ "/lib/modules/build"))))
+ (inputs (list bash-minimal))
+ (home-page "https://lkrg.org/")
+ (synopsis "Linux Kernel Runtime Guard")
+ (description
+ "This package performs runtime integrity checking of the Linux kernel and
+detection of security vulnerability exploits against the kernel.")
+ (license license:gpl2)))
+
(define-public rtl8821ce-linux-module
(let ((commit "be733dc86781c68571650b395dd0fa6b53c0a039")
(revision "6"))
@@ -1629,21 +1660,6 @@ be used through the PAM API to perform tasks, like authenticating a user
at login. Local and dynamic reconfiguration are its key features.")
(license license:bsd-3)))
-(define-public linux-pam-1.2
- (package
- (inherit linux-pam)
- (version "1.2.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "http://www.linux-pam.org/library/"
- "Linux-PAM-" version ".tar.bz2"))
- (sha256
- (base32
- "1n9lnf9gjs72kbj1g354v1xhi2j27aqaah15vykh7cnkq08i4arl"))
- (patches (search-patches "linux-pam-no-setfsuid.patch"))))))
-
(define-public python-pamela
(package
(name "python-pamela")
@@ -2363,7 +2379,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.")
(define-public strace
(package
(name "strace")
- (version "5.15")
+ (version "5.18")
(home-page "https://strace.io")
(source (origin
(method url-fetch)
@@ -2371,7 +2387,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.")
"/strace-" version ".tar.xz"))
(sha256
(base32
- "1p3jipp6mj5fwfcjdnp6xhxk84z07jy5qhjlqr6jjdbk54pw5jpb"))
+ "11qi7pdm0ldycsg9qhsa50icm219mmvy16yw1ih3s9f9kakkwab0"))
(patches (search-patches "strace-readlink-tests.patch"))))
(build-system gnu-build-system)
(arguments
@@ -2401,6 +2417,8 @@ Zerofree requires the file system to be unmounted or mounted read-only.")
(description
"strace is a system call tracer, i.e. a debugging tool which prints out a
trace of all the system calls made by a another process/program.")
+ (properties
+ '((release-monitoring-url . "https://github.com/strace/strace/releases")))
(license license:lgpl2.1+)))
(define-public ltrace
@@ -3275,8 +3293,11 @@ or kill them altogether.")
(sha256
(base32
"1ddlq6kzxilccgbvxjfx80jx6kamgw4sv49phks2zhlcc1frvrnh"))
- (patches (search-patches "fuse-overlapping-headers.patch"))))
+ (patches (search-patches "fuse-overlapping-headers.patch"
+ "fuse-glibc-2.34.patch"))))
(build-system gnu-build-system)
+ (native-inputs
+ (list autoconf automake gettext-minimal libtool))
(inputs
(list bash-minimal util-linux))
(arguments
@@ -3293,6 +3314,10 @@ or kill them altogether.")
"/lib/udev/rules.d"))
#:phases
(modify-phases %standard-phases
+ (add-before 'bootstrap 'force-bootstrap
+ (lambda _
+ ;; Force a bootstrap to make the patch changes effective.
+ (delete-file "configure")))
(add-before 'build 'set-file-names
(lambda* (#:key inputs #:allow-other-keys)
;; libfuse calls out to mount(8) and umount(8). Make sure
@@ -3472,20 +3497,25 @@ UnionFS-FUSE additionally supports copy-on-write.")
(define-public sshfs
(package
(name "sshfs")
- (version "2.10")
+ (version "3.7.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/libfuse/sshfs/releases/"
"download/sshfs-" version "/sshfs-" version
- ".tar.gz"))
+ ".tar.xz"))
(sha256
(base32
- "00fir2iykdx11g8nv5gijg0zjrp2g3ldypnv0yi6lq3h5pg5v13h"))))
- (build-system gnu-build-system)
+ "169fkilv060afgp9h7hvsbkg02bd1y77kmx06x0s7q1cvmxww62j"))))
+ (build-system meson-build-system)
+ (arguments
+ ;; XXX: tests are skipped: FUSE kernel module does not seem to be loaded
+ '(#:tests? #f))
(inputs
- (list fuse glib))
+ (list fuse-3 glib))
(native-inputs
- (list pkg-config))
+ (list pkg-config
+ ;; man page
+ python-docutils))
(home-page "https://github.com/libfuse/sshfs")
(synopsis "Mount remote file systems over SSH")
(description
@@ -5180,16 +5210,15 @@ arrays when needed.")
(define-public multipath-tools
(package
(name "multipath-tools")
- (version "0.8.5")
+ (version "0.9.0")
+ (home-page "https://github.com/opensvc/multipath-tools")
(source (origin
(method git-fetch)
- (uri (git-reference
- (url "https://git.opensvc.com/multipath-tools/.git")
- (commit version)))
+ (uri (git-reference (url home-page) (commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "0gipg0z79h76j0f449cx4wcrfsv69ravjlpphsac11h302g3nrvg"))
+ "09m3vs798qb3xk0v7s3hy0nhw0dznkxjb56671kqj961h7zhg47b"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -5198,80 +5227,64 @@ arrays when needed.")
(substitute* '("multipathd/main.c"
"libmultipath/debug.c")
(("#include \"../third-party/")
- "#include \""))
- #t))))
+ "#include \""))))))
(build-system gnu-build-system)
(arguments
- '(#:test-target "test"
- #:parallel-build? #f ;XXX: broken in 0.8.4
- #:make-flags (list "CC=gcc"
- (string-append "DESTDIR="
- (assoc-ref %outputs "out"))
- ;; Install Udev rules below this directory, relative
- ;; to the prefix.
- "SYSTEMDPATH=lib"
- (string-append "LDFLAGS=-Wl,-rpath="
- (assoc-ref %outputs "out")
- "/lib"))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-source
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((lvm2 (assoc-ref inputs "lvm2"))
- (udev (assoc-ref inputs "udev")))
- (substitute* "Makefile.inc"
- (("\\$\\(prefix\\)/usr") "$(prefix)")
- ;; Do not save timestamp to avoid gzip "timestamp
- ;; out-of-range" warnings.
- (("gzip -9") "gzip -9n"))
- (substitute* '("kpartx/Makefile" "libmultipath/Makefile")
- (("/usr/include/libdevmapper.h")
- (string-append lvm2 "/include/libdevmapper.h"))
- (("/usr/include/libudev.h")
- (string-append udev "/include/libudev.h")))
- #t)))
- (add-after 'unpack 'fix-maybe-uninitialized-variable
- (lambda _
- ;; This variable gets initialized later if needed, but GCC 7
- ;; fails to notice. Should be fixed for > 0.8.4.
- ;; https://www.redhat.com/archives/dm-devel/2020-March/msg00137.html
- (substitute* "libmultipath/structs_vec.c"
- (("bool is_queueing;")
- "bool is_queueing = false;"))
- #t))
- (add-after 'unpack 'fix-linking-tests
- (lambda _
- ;; Add missing linker flag for -lmpathcmd. This should be fixed
- ;; for versions > 0.8.4.
- (substitute* "tests/Makefile"
- (("-lmultipath -lcmocka")
- "-lmultipath -L$(mpathcmddir) -lmpathcmd -lcmocka"))
- #t))
- (add-after 'unpack 'skip-failing-tests
- (lambda _
- ;; This test and the module's setup() test an arbitrary block
- ;; device node name, but the build environment has none.
- (substitute* "tests/devt.c"
- (("return get_one_devt.*") "return 0;\n")
- (("cmocka_unit_test\\(test_devt2devname_devt_good\\),") ""))
- ;; The above triggers -Werror=unused-function. Ignore it.
- (substitute* "tests/Makefile"
- (("CFLAGS \\+= " match)
- (string-append match "-Wno-error=unused-function ")))
- #t))
- (delete 'configure)))) ; no configure script
+ (list
+ #:test-target "test"
+ #:parallel-build? #f ;XXX: broken since 0.8.4
+ #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "DESTDIR=" #$output)
+ ;; Install Udev rules below this directory, relative
+ ;; to the prefix.
+ "SYSTEMDPATH=lib")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((libdevmapper.h
+ (search-input-file inputs "include/libdevmapper.h"))
+ (libudev.h
+ (search-input-file inputs "include/libudev.h")))
+ (substitute* "Makefile.inc"
+ (("/bin/echo") "echo")
+ (("\\$\\(prefix\\)/usr") "$(prefix)")
+ ;; Do not save timestamp to avoid gzip "timestamp
+ ;; out-of-range" warnings.
+ (("gzip -9") "gzip -9n"))
+ (substitute* '("kpartx/Makefile" "libmultipath/Makefile")
+ (("/usr/include/libdevmapper.h") libdevmapper.h)
+ (("/usr/include/libudev.h") libudev.h)))))
+ (add-after 'unpack 'skip-failing-tests
+ (lambda _
+ ;; This test and the module's setup() test an arbitrary block
+ ;; device node name, but the build environment has none.
+ (substitute* "tests/devt.c"
+ (("return get_one_devt.*") "return 0;\n")
+ (("cmocka_unit_test\\(test_devt2devname_devt_good\\),") ""))
+ ;; The above triggers -Werror=unused-function. Ignore it.
+ (substitute* "tests/Makefile"
+ (("CFLAGS \\+= " match)
+ (string-append match "-Wno-error=unused-function ")))))
+ (delete 'configure) ;no configure script
+ (add-before 'build 'set-LDFLAGS
+ (lambda _
+ ;; Note: this cannot be passed as a make flag because that will
+ ;; override the build system LDFLAGS.
+ (setenv "LDFLAGS"
+ (string-append "-Wl,-rpath=" #$output "/lib")))))))
+
(native-inputs
(list perl pkg-config valgrind
;; For tests.
cmocka))
(inputs
- `(("json-c" ,json-c)
- ("libaio" ,libaio)
- ("liburcu" ,liburcu)
- ("lvm2" ,lvm2)
- ("readline" ,readline)
- ("udev" ,eudev)))
- (home-page "http://christophe.varoqui.free.fr/")
+ (list json-c
+ libaio
+ liburcu
+ lvm2
+ readline
+ eudev))
(synopsis "Access block devices through multiple paths")
(description
"This package provides the following binaries to drive the
@@ -5283,8 +5296,8 @@ Linux Device Mapper multipathing driver:
@code{dm} multipath devices.
@item @command{kpartx} - Create device maps from partition tables.
@end enumerate")
- (license (list license:gpl2+ ; main distribution
- license:lgpl2.0+)))) ; libmpathcmd/mpath_cmd.h
+ (license (list license:gpl2+ ;main distribution
+ license:lgpl2.0+)))) ;libmpathcmd/mpath_cmd.h
(define-public libaio
(package
@@ -6120,14 +6133,14 @@ invocations of itself.")
(define-public ntfs-3g
(package
(name "ntfs-3g")
- (version "2021.8.22")
+ (version "2022.5.17")
(source (origin
(method url-fetch)
(uri (string-append "https://tuxera.com/opensource/"
"ntfs-3g_ntfsprogs-" version ".tgz"))
(sha256
(base32
- "1yrf42xr92qv3pads8lzp5nyssz6875ncfgg8v3jwjyr0nm87f2m"))
+ "14zbsl7m32f796dkr334zbkj5rba7xa8smxb2ysf3095jyvgp284"))
(modules '((guix build utils)))
(snippet '(begin
;; Install under $prefix.
@@ -6166,6 +6179,9 @@ invocations of itself.")
"NTFS-3G provides read-write access to NTFS file systems, which are
commonly found on Microsoft Windows. It is implemented as a FUSE file system.
The package provides additional NTFS tools.")
+ (properties
+ '((release-monitoring-url . "https://github.com/tuxera/ntfs-3g/releases")
+ (upstream-name . "ntfs-3g_ntfsprogs")))
(license license:gpl2+)))
(define-public ntfs-3g/static
@@ -6626,6 +6642,65 @@ the default @code{nsswitch} and the experimental @code{umich_ldap}.")
@code{modprobe}, @code{insmod}, @code{lsmod}, and more.")
(license license:gpl2+)))
+(define-public mce-inject
+ (let ((revision "0") ; no git tags :-/
+ (commit "4cbe46321b4a81365ff3aafafe63967264dbfec5"))
+ (package
+ (name "mce-inject")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.kernel.org/pub/scm/utils/cpu/mce/mce-inject.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0gjapg2hrlxp8ssrnhvc19i3r1xpcnql7xv0zjgbv09zyha08g6z"))))
+ (build-system gnu-build-system)
+ (arguments
+ ;; There is no test suite. There's a test/ directory, but it just holds
+ ;; example text files you could feed to the programme to crash something.
+ (list #:tests? #f
+ #:make-flags
+ #~(list (string-append "prefix=" #$output)
+ (string-append "CC=" #$(cc-for-target)))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure) ; no configure script
+ (add-after 'install 'install-examples
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (string-append out "/share/doc/" #$name))
+ (dir (string-append doc "/examples")))
+ (copy-recursively "test" dir )))))))
+ (native-inputs
+ (list bison flex))
+ (supported-systems (list "i686-linux" "x86_64-linux"))
+ (home-page
+ "https://git.kernel.org/pub/scm/utils/cpu/mce/mce-inject.git/about/")
+ (synopsis
+ "Inject x86 @acronym{MCEs, machine-check exceptions} into Linux")
+ (description
+ "This simple tool injects fake @acronym{MCEs, machine-check exceptions}
+into a running Linux kernel, to debug or test the kernel's @acronym{EDAC, error
+detection and correction}-handling code specific to x86 and x86_64 platforms.
+
+Real MCEs are internal CPU errors. Handling them correctly can be important to
+system stability and even prevent physical damage. In contrast, simulated MCEs
+produced by @command{mce-inject} are purely synthetic: injection happens only at
+the software level, inside the kernel, and is not visible to the platform
+hardware or firmware.
+
+A convenient feature of @command{mce-inject} is that the input language used to
+describe MCEs is similar to the format used in Linux panic messages, with a few
+extensions. In general, you should be able to pipe in any logged MCE panic to
+simulate that same MCE.
+
+The target kernel must have the @code{CONFIG_X86_MCE_INJECT} option enabled and
+the @code{mce-inject} module loaded if it exists.")
+ (license license:gpl2))))
+
(define-public mcelog
(package
(name "mcelog")
@@ -6672,7 +6747,7 @@ exceeded.")
(define-public mtd-utils
(package
(name "mtd-utils")
- (version "2.1.2")
+ (version "2.1.4")
(source (origin
(method url-fetch)
(uri (string-append
@@ -6680,12 +6755,14 @@ exceeded.")
"mtd-utils-" version ".tar.bz2"))
(sha256
(base32
- "1mp9fqgnz5r69s8ly98ry6k2blqnaqpllwi8m930dm0n8zrwbm4a"))))
+ "168vyzpfa0n66i8lcf626b9jczjr81rqbdk7735lfb18bp8i2rrc"))))
(arguments
(list #:configure-flags
(if (%current-target-system) ; When cross-compiling.
#~(list)
- #~(list "--enable-unit-tests"))))
+ #~(list "--enable-unit-tests"))
+
+ #:parallel-tests? #f)) ;tests may fail when running in parallel
(native-inputs
(list cmocka pkg-config))
(inputs
@@ -8289,7 +8366,7 @@ IP addresses and routes, and configure IPsec.")
(define-public libinih
(package
(name "libinih")
- (version "55")
+ (version "56")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -8298,7 +8375,7 @@ IP addresses and routes, and configure IPsec.")
(file-name (git-file-name name version))
(sha256
(base32
- "0g6dkcphlzgxvh9zyf6rj82gigccca6x5acjxn01gz6rykfg0lnn"))))
+ "1fjqvf56yij15lgwj58dcmxlq5n98gzpbss0nnn1d2i5j7gf4kgf"))))
(build-system meson-build-system)
;; Install static libraries for use by the initrd's xfsprogs/static.
(outputs (list "out" "static"))
@@ -8833,7 +8910,7 @@ persistent over reboots.")
(define-public libbpf
(package
(name "libbpf")
- (version "0.1.1")
+ (version "0.8.1")
(source
(origin
(method git-fetch)
@@ -8843,28 +8920,26 @@ persistent over reboots.")
(file-name (git-file-name name version))
(sha256
(base32
- "0ilnnm4q22f8fagwp8kb37licy4ks861i2iqh2djsypqhnxvx3fv"))))
+ "1zzpkk4x3f20483dzw43b3ml03d63vvkmqf4j8y3b61b67wm59bm"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
(propagated-inputs
;; In Requires.private of libbpf.pc.
- (list libelf zlib))
+ (list elfutils zlib))
(arguments
`(#:tests? #f ; no tests
#:make-flags
(list
(string-append "PREFIX=" (assoc-ref %outputs "out"))
(string-append "LIBDIR=$(PREFIX)/lib")
- (string-append
- "CC=" (assoc-ref %build-inputs "gcc") "/bin/gcc"))
+ (string-append "CC=" ,(cc-for-target)))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'pre-build
(lambda _
- (chdir "src")
- #t)))))
+ (chdir "src"))))))
(home-page "https://github.com/libbpf/libbpf")
(synopsis "BPF CO-RE (Compile Once – Run Everywhere)")
(description
@@ -8876,7 +8951,7 @@ headers.")
(define-public bcc
(package
(name "bcc")
- (version "0.16.0")
+ (version "0.24.0")
(source
(origin
(method git-fetch)
@@ -8886,7 +8961,7 @@ headers.")
(file-name (git-file-name name version))
(sha256
(base32
- "1367c0bzrpclvjvmk0sxgi49rh7j2f9izqk5a7g3yvawh1fmvvjh"))))
+ "1i6xikkxf2nasfkqa91hjzdq0a88mgyzrvia4fi2i2v1d8pbmnp4"))))
(build-system cmake-build-system)
(native-inputs
(list bison flex))
@@ -8956,7 +9031,7 @@ and above.")
(define-public bpftrace
(package
(name "bpftrace")
- (version "0.11.4")
+ (version "0.15.0")
(source
(origin
(method git-fetch)
@@ -8965,13 +9040,13 @@ and above.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0y4qgm2cpccrsm20rnh92hqplddqsc5q5zhw9nqn2igm3h9i0z7h"))
+ (base32 "022fg0kiz0liahj82wvlxmivkwyp86shs5fwr2v4blx7lh05k9zm"))
(patches (search-patches "bpftrace-disable-bfd-disasm.patch"))))
(build-system cmake-build-system)
(native-inputs
(list bison flex))
(inputs
- (list bcc clang-toolchain-9 elfutils libbpf))
+ (list bcc clang-toolchain-9 elfutils libbpf cereal))
(arguments
`(#:tests? #f ;Tests require googletest sources.
#:configure-flags
@@ -9061,7 +9136,7 @@ then IP sets may be the proper tool for you.")
(define-public liburing
(package
(name "liburing")
- (version "0.7")
+ (version "2.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -9070,7 +9145,7 @@ then IP sets may be the proper tool for you.")
(file-name (git-file-name name version))
(sha256
(base32
- "15z44l7y4c6s6dlf7v8lq4znlsjbja2r4ifbni0l8cdcnq0w3zh3"))))
+ "1677zqqbd9nw9hrdaxqbd1zwy54cxfsv2z0bjipn23mrkz2xzy1k"))))
(build-system gnu-build-system)
(arguments
`(;; Tests are dependent on kernel version and features
@@ -9277,3 +9352,57 @@ libraries are found or why they cannot be located.")
gestures you make on your touchpad or touchscreen into visible actions in your
desktop.")
(license license:gpl3+)))
+
+(define-public evtest
+ (package
+ (name "evtest")
+ (version "1.35")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.freedesktop.org/libevdev/evtest")
+ (commit (string-append "evtest-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "164prnw35kda6jfykl7h52lfzy99ma2lk029zscyqk766k19spf4"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:tests? #f ;No tests exist
+ #:make-flags #~(list (string-append "CC="
+ #$(cc-for-target))
+ (string-append "PREFIX="
+ #$output))
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'generate-doc
+ (lambda _
+ (invoke "asciidoc" "-d" "manpage"
+ "-b" "docbook"
+ "-o" "evtest.1.xml"
+ "evtest.txt")
+ (invoke "xsltproc" "--nonet"
+ (string-append
+ #$(this-package-native-input "docbook-xsl")
+ "/xml/xsl/docbook-xsl-"
+ #$(package-version
+ (this-package-native-input "docbook-xsl"))
+ "/manpages/docbook.xsl")
+ "evtest.1.xml")))
+ (replace 'bootstrap
+ (lambda _
+ (setenv "CONFIG_SHELL" (which "sh"))
+ (invoke "autoreconf" "-fi"))))))
+ (native-inputs (list autoconf
+ automake
+ bash-minimal
+ xmlto
+ docbook-xsl
+ libxslt
+ asciidoc))
+ (home-page "https://gitlab.freedesktop.org/libevdev/evtest")
+ (synopsis "Kernel evdev device information and monitor")
+ (description
+ "@code{evtest} is a tool to print @code{evdev} kernel events. It reads
+directly from the kernel device and prints a device description and the events
+with the value and the symbolic name.")
+ (license license:gpl2+)))