Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 857685 Details for
Bug 901209
Add 'update' action to kernel module
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
0001-Add-update-action-to-kernel-module.patch
0001-Add-update-action-to-kernel-module.patch (text/plain), 3.29 KB, created by
Florian Schmaus
on 2023-03-14 14:39:40 UTC
(
hide
)
Description:
0001-Add-update-action-to-kernel-module.patch
Filename:
MIME Type:
Creator:
Florian Schmaus
Created:
2023-03-14 14:39:40 UTC
Size:
3.29 KB
patch
obsolete
>From f4db9c35a8eca58d39d05a8b1426cee8668138e9 Mon Sep 17 00:00:00 2001 >From: Florian Schmaus <flow@gentoo.org> >Date: Tue, 14 Mar 2023 11:02:59 +0100 >Subject: [PATCH] Add 'update' action to kernel module > >The 'update' action attempts to update the /usr/src/linux symlink to >point to the sources of the running kernel. > >Signed-off-by: Florian Schmaus <flow@gentoo.org> >--- > man/kernel.eselect.5 | 10 +++++++ > modules/kernel.eselect | 64 ++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 74 insertions(+) > >diff --git a/man/kernel.eselect.5 b/man/kernel.eselect.5 >index b3c5aa5de606..83bf1c422c8a 100644 >--- a/man/kernel.eselect.5 >+++ b/man/kernel.eselect.5 >@@ -10,6 +10,8 @@ kernel.eselect \- The kernel symlink management module for Gentoo's eselect > .br > .B eselect kernel list > .br >+.B eselect kernel update [ifunset] >+br > .B eselect kernel set > .I target > .br >@@ -30,6 +32,14 @@ Available kernel symlink targets: > [1] linux-2.6.11.11 > [2] linux-2.6.12.5 * > [3] linux-2.6.13-rc6 >+.SH ACTION: UPDATE >+.B eselect kernel update [ifunset] >+.br >+Updates the /usr/src/linux symlink to point to the sources of the >+running kernel. If >+.IR ifunset >+is given, then the symlink will only be updated if it is not currently >+pointing to a valid kernel source tree. > .SH ACTION: SET > .B eselect kernel set > .I target >diff --git a/modules/kernel.eselect b/modules/kernel.eselect >index 64b5e773d68d..4c6d73dbf2bd 100644 >--- a/modules/kernel.eselect >+++ b/modules/kernel.eselect >@@ -125,3 +125,67 @@ do_set() { > > set_symlink "$1" || die -q "Couldn't set a new symlink" > } >+ >+### update action ### >+ >+describe_update() { >+ echo "Update the kernel symlink to running kernel" >+} >+ >+describe_update_options() { >+ echo "ifunset: Do not override currently set version" >+} >+ >+do_update() { >+ [[ -z $1 || $1 == ifunset ]] || die -q "Usage error" >+ [[ $# -gt 1 ]] && die -q "Too many parameters" >+ test_for_root >+ >+ if [[ -e ${EROOT}/usr/src/linux && ! -L ${EROOT}/usr/src/linux ]]; then >+ # we have something strange >+ die -q "${EROOT}/usr/src/linux exists but is not a symlink" >+ fi >+ >+ if [[ $1 == ifunset \ >+ && -L ${EROOT}/usr/src/linux \ >+ && -e ${EROOT}/usr/src/linux ]]; then >+ # The /usr/src/linux symlink exists, points to a path that >+ # exists, and 'ifunset' is provided. Nothing to do. >+ return >+ fi >+ >+ local targets=( $(find_targets) ) >+ local running_kernel_release=$(uname -r) >+ local running_kernel_symlink_target="linux-${running_kernel_release}" >+ >+ if [[ -L ${EROOT}/usr/src/linux ]]; then >+ local current_target >+ current_target=$(basename "$(canonicalise "${EROOT}/usr/src/linux")") >+ if [[ ${current_target} == ${running_kernel_symlink_target} ]]; then >+ # The /usr/src/linux symlink already points to the running >+ # kernel's sources. Nothing to do. >+ return >+ fi >+ fi >+ >+ local target >+ local target_list=() >+ for target in ${targets[@]}; do >+ if [[ ${target} == ${current_kernel_symlink_target} ]]; then >+ set_symlink "${target}" >+ return >+ fi >+ target_list+=("- ${target}\n") >+ done >+ >+ local msg >+ msg="No kernel sources for running kernel ${running_kernel_release} found." >+ msg+=" Available sources:\n${target_list[@]}" >+ die -q "${msg}" >+} >+ >+### helper functions ### >+ >+test_for_root() { >+ [[ -w ${EROOT}/usr/src ]] || die -q "${EROOT}/usr/src not writeable by current user. Are you root?" >+} >-- >2.39.2 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 901209
:
857651
|
857673
|
857685
|
857715
|
857717
|
857807
|
857809
|
857811
|
857813
|
857815