diff --git a/find-provides.ksyms b/find-provides.ksyms deleted file mode 100755 index 0526cd7..0000000 --- a/find-provides.ksyms +++ /dev/null @@ -1,24 +0,0 @@ -#! /bin/bash - -IFS=$'\n' - -for module in $(grep -E '/lib/modules/.+\.ko$'); do - if [[ -n $(nm $module | sed -r -ne 's:^0*([0-9a-f]+) A __crc_(.+):0x\1 \2:p') ]]; then - nm $module \ - | sed -r -ne 's:^0*([0-9a-f]+) A __crc_(.+):0x\1 \2:p' \ - | awk --non-decimal-data '{printf("ksym(%s) = 0x%08x\n", $2, $1)}' \ - | LC_ALL=C sort -u - else - ELFRODATA=$(readelf -R .rodata $module | awk '/0x/{printf $2$3$4$5}') - if [[ -n $(readelf -h $module | grep "little endian") ]]; then - RODATA=$(echo $ELFRODATA | sed 's/\(..\)\(..\)\(..\)\(..\)/\4\3\2\1/g') - else - RODATA=$ELFRODATA - fi - for sym in $(nm $module | sed -r -ne 's:^0*([0-9a-f]+) R __crc_(.+):0x\1 \2:p'); do - echo $sym $RODATA - done \ - | awk --non-decimal-data '{printf("ksym(%s) = 0x%08s\n", $2, substr($3,($1*2)+1,8))}' \ - | LC_ALL=C sort -u - fi -done diff --git a/find-requires.ksyms b/find-requires.ksyms deleted file mode 100755 index b11c7bb..0000000 --- a/find-requires.ksyms +++ /dev/null @@ -1,74 +0,0 @@ -#! /bin/bash - -IFS=$'\n' - -# Extract all of the symbols provided by this module. -all_provides() { - if [[ -n $(nm "$@" | sed -r -ne 's:^0*([0-9a-f]+) A __crc_(.+):0x\1 \2:p') ]]; then - nm "$@" \ - | sed -r -ne 's:^0*([0-9a-f]+) A __crc_(.+):0x\1 \2:p' \ - | awk --non-decimal-data '{printf("0x%08x\t%s\n", $1, $2)}' \ - | LC_ALL=C sort -k2,2 -u - else - ELFRODATA=$(readelf -R .rodata "$@" | awk '/0x/{printf $2$3$4$5}') - if [[ -n $(readelf -h "$@" | grep "little endian") ]]; then - RODATA=$(echo $ELFRODATA | sed 's/\(..\)\(..\)\(..\)\(..\)/\4\3\2\1/g') - else - RODATA=$ELFRODATA - fi - for sym in $(nm "$@" | sed -r -ne 's:^0*([0-9a-f]+) R __crc_(.+):0x\1 \2:p'); do - echo $sym $RODATA - done \ - | awk --non-decimal-data '{printf("0x%08s\t%s\n", substr($3,($1*2)+1,8), $2)}' \ - | LC_ALL=C sort -k2,2 -u - fi -} - -# Extract all of the requirements of this module. -all_requires() { - for module in "$@"; do - set -- $(/sbin/modinfo -F vermagic "$module" | sed -e 's: .*::' -e q) - /sbin/modprobe --dump-modversions "$module" \ - | awk --non-decimal-data ' - BEGIN { FS = "\t" ; OFS = "\t" } - {printf("0x%08x\t%s\n", $1, $2)}' \ - | sed -r -e 's:$:\t'"$1"':' - done \ - | LC_ALL=C sort -k2,2 -u -} - -# Filter out requirements fulfilled by the module itself. -mod_requires() { - LC_ALL=C join -t $'\t' -j 2 -v 1 \ - <(all_requires "$@") \ - <(all_provides "$@") \ - | LC_ALL=C sort -k1,1 -u -} - -if ! [ -e /sbin/modinfo -a -e /sbin/modprobe ]; then - cat > /dev/null - exit 0 -fi - -modules=($(grep -E '/lib/modules/.+\.ko$')) -if [ ${#modules[@]} -gt 0 ]; then - kernel=$(/sbin/modinfo -F vermagic "${modules[0]}" | sed -e 's: .*::' -e q) - - # get all that kernel provides - symvers=$(mktemp -t ${0##*/}.XXXXX) - - cat /usr/src/kernels/$kernel/Module.symvers | awk ' - BEGIN { FS = "\t" ; OFS = "\t" } - { print $2 "\t" $1 } - ' \ - | sed -r -e 's:$:\t'"$kernel"':' \ - | LC_ALL=C sort -k1,1 -u > $symvers - - # Symbols matching with the kernel get a "kernel" dependency - LC_ALL=C join -t $'\t' -j 1 $symvers <(mod_requires "${modules[@]}") | LC_ALL=C sort -u \ - | awk '{ FS = "\t" ; OFS = "\t" } { print "kernel(" $1 ") = " $2 }' - - # Symbols from elsewhere get a "ksym" dependency - LC_ALL=C join -t $'\t' -j 1 -v 2 $symvers <(mod_requires "${modules[@]}") | LC_ALL=C sort -u \ - | awk '{ FS = "\t" ; OFS = "\t" } { print "ksym(" $1 ") = " $2 }' -fi diff --git a/firmware.prov b/firmware.prov deleted file mode 100644 index 3614369..0000000 --- a/firmware.prov +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# -# firmware.prov - Automatically extract any and all firmware dependencies from -# kernel object (.ko) files and add to RPM deps. - -IFS=$'\n' - -for module in $(grep -E '/lib/modules/.+\.ko$') $*; -do - for firmware in `/sbin/modinfo -F firmware $module`; - do - echo "firmware($firmware)" - done -done diff --git a/kmodtool b/kmodtool deleted file mode 100755 index 1308af2..0000000 --- a/kmodtool +++ /dev/null @@ -1,267 +0,0 @@ -#!/bin/bash - -# kmodtool - Helper script for building kernel module RPMs -# Copyright (c) 2003-2006 Ville Skyttä , -# Thorsten Leemhuis -# Jon Masters -# -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -shopt -s extglob - -myprog="kmodtool" -myver="0.10.10_kmp2" -knownvariants=@(BOOT|PAE|@(big|huge)mem|debug|enterprise|kdump|?(large)smp|uml|xen[0U]?(-PAE)|xen) -kmod_name= -kver= -verrel= -variant= -kmp= - -get_verrel () -{ - verrel=${1:-$(uname -r)} - verrel=${verrel%%$knownvariants} -} - -print_verrel () -{ - get_verrel $@ - echo "${verrel}" -} - -get_variant () -{ - get_verrel $@ - variant=${1:-$(uname -r)} - variant=${variant##$verrel} - variant=${variant:-'""'} -} - -print_variant () -{ - get_variant $@ - echo "${variant}" -} - -get_rpmtemplate () -{ - local variant="${1}" - local dashvariant="${variant:+-${variant}}" - case "$verrel" in - *.el*) kdep="kernel${dashvariant}-%{_target_cpu} = ${verrel}" ;; - *.EL*) kdep="kernel${dashvariant}-%{_target_cpu} = ${verrel}" ;; - *) kdep="kernel-%{_target_cpu} = ${verrel}${variant}" ;; - esac - - echo "%package -n kmod-${kmod_name}${dashvariant}" - - if [ -z "$kmp_provides_summary" ]; then - echo "Summary: ${kmod_name} kernel module(s)" - fi - - if [ -z "$kmp_provides_group" ]; then - echo "Group: System Environment/Kernel" - fi - - if [ ! -z "$kmp_version" ]; then - echo "Version: %{kmp_version}" - fi - - if [ ! -z "$kmp_release" ]; then - echo "Release: %{kmp_release}" - fi - - if [ ! -z "$kmp" ]; then - echo "%global _use_internal_dependency_generator 0" - fi - - cat <= %{?epoch:%{epoch}:}%{version} -# - - cat < /dev/null || : -fi -EOF - - if [ ! -z "$kmp" ]; then - cat < /var/run/rpm-kmod-${kmod_name}${dashvariant}-modules -EOF - - fi - - cat < /dev/null || : -EOF - - if [ ! -z "$kmp" ]; then - cat <&2 - exit 2 - elif [ -z "${kver}" ] ; then - echo "Please provide the kver as second parameter." >&2 - exit 2 - elif [ -z "${verrel}" ] ; then - echo "Couldn't find out the verrel." >&2 - exit 2 - fi - - for variant in "$@" ; do - if [ "default" == "$variant" ]; - then - get_rpmtemplate "" - else - get_rpmtemplate "${variant}" - fi - done -} - -usage () -{ - cat <