Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE
rpm.22277
modalias.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File modalias.diff of Package rpm.22277
--- macros.in.orig +++ macros.in @@ -487,7 +487,7 @@ package or when debugging this package.\ %__find_requires %{_rpmconfigdir}/find-requires %name #%__find_conflicts ??? #%__find_obsoletes ??? -#%__find_supplements ??? +%__find_supplements %{_rpmconfigdir}/find-supplements %name #%__find_enhances ??? # --- /dev/null +++ scripts/find-supplements @@ -0,0 +1,14 @@ +#!/bin/bash + +# This script reads filenames from STDIN and outputs any relevant provides +# information that needs to be included in the package. +IFS=$'\n' +filelist=($(cat)) + +# +# --- Kernel module hardware identifiers +# (e.g., modalias(pci:v0000109Ed00000878sv00000070sd0000FF01bc*sc*i*) +[ -x /usr/lib/rpm/find-supplements.ksyms ] && + printf "%s\n" "${filelist[@]}" | /usr/lib/rpm/find-supplements.ksyms "$@" + +exit 0 --- /dev/null +++ scripts/find-supplements.ksyms @@ -0,0 +1,45 @@ +#!/bin/bash + +IFS=$'\n' + +print_modaliases() { + declare class=$1 variants=$2 pos=$3 + if [ -n "$variants" ]; then + echo "${class:0:pos}[$variants]${class:pos+1}" + else + [ -z "$class" ] || echo "$class" + fi +} + +combine_modaliases() { + declare tag class variants pos n + read class + while read tag; do + for ((n=0; n<${#class}; n++)); do + if [ "*" != "${class:n:1}" -a \ + "${class:0:n}" = "${tag:0:n}" -a \ + "${class:n+1}" = "${tag:n+1}" ] && + ( [ -z "$pos" ] || [ $n = $pos ] ); then + variants="${variants:-${class:n:1}}${tag:n:1}" + pos=$n + break + fi + done + if [ $n -eq ${#class} ]; then + print_modaliases "$class" "$variants" "$pos" + variants= + pos= + class=$tag + fi + done + print_modaliases "$class" "$variants" "$pos" +} + +for module in $(grep -E '/lib/modules/.+\.ko$' | grep -v '/lib/modules/[^/]*/kernel/'); do + vermagic=$(/sbin/modinfo -F vermagic "$module") + krel=${vermagic%% *} + /sbin/modinfo -F alias "$module" \ + | sed -nre "s,(.+:.+),modalias(kernel-${krel##*-}:\\1),p" +done \ +| sort -u \ +| combine_modaliases
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor