[arch-commits] Commit in hwdetect/trunk (PKGBUILD hwdetect)
Tobias Powalowski
tpowa at nymeria.archlinux.org
Tue Oct 8 10:52:11 UTC 2013
Date: Tuesday, October 8, 2013 @ 12:52:11
Author: tpowa
Revision: 196207
upgpkg: hwdetect 2013.10-2
cleanup code, remove all loading/unloading and sorting things, systemd/udev does everything
Modified:
hwdetect/trunk/PKGBUILD
hwdetect/trunk/hwdetect
----------+
PKGBUILD | 4 +-
hwdetect | 101 +------------------------------------------------------------
2 files changed, 4 insertions(+), 101 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2013-10-08 07:53:37 UTC (rev 196206)
+++ PKGBUILD 2013-10-08 10:52:11 UTC (rev 196207)
@@ -2,7 +2,7 @@
# Maintainer: Tobias Powalowski <tpowa at archlinux.org>
pkgname=hwdetect
pkgver=2013.10
-pkgrel=1
+pkgrel=2
pkgdesc="Hardware detection script with loading modules and mkinitcpio.conf / rc.conf support"
arch=(any)
license=('GPL')
@@ -16,4 +16,4 @@
package() {
install -D -m 755 "${srcdir}/hwdetect" "${pkgdir}/usr/bin/hwdetect"
}
-md5sums=('f17349465e2d5b2133d78d621988b31e')
+md5sums=('0398c6ee3299ed4471979127ff288ac7')
Modified: hwdetect
===================================================================
--- hwdetect 2013-10-08 07:53:37 UTC (rev 196206)
+++ hwdetect 2013-10-08 10:52:11 UTC (rev 196207)
@@ -9,8 +9,6 @@
echo " Options:"
echo " --kernel_version= use kernel version (no autodetect)"
echo " --kernel_directory= use kernel module directory (no autodetect)"
- echo " --load-modules load all detected modules"
- echo " --unload-modules unload all detected modules"
echo " --show-modules show all detected modules"
echo " --show-modules-order shows load order of detected modules"
echo " --show-agp show AGP modules"
@@ -117,97 +115,18 @@
: >/tmp/modules-plain
: >/tmp/modules-stripped
-: >/tmp/modules-sorted
-: >/tmp/moduleslist
: >/tmp/.blkid
# generate blkid
blkid -c /dev/null -s TYPE > /tmp/.blkid
-# find pci aliases
+# find modaliases
aliases=$(find /sys/ -noleaf -name modalias -exec cat {} +)
# generate files for the different actions
modprobe -i -a --dirname=$KERNEL_DIRECTORY --set-version=$KERNEL_VERSION --show-depends $aliases >> /tmp/modules-plain 2>/dev/null
-
-# find PNP devices like parports, soundcards etc.
-# (workaround for rtc, pcspkr, irtty-sir and analog are included)
-if [ "$(find /sys/devices -noleaf -name 'id' | grep /pnp)" ]; then
- for i in $(find /sys/devices -noleaf -name "id" | grep /pnp); do
- devid=$(cat $i | grep PNP)
- [ "$devid" ] || continue
-
- modprobe -i --set-version=$KERNEL_VERSION --show-depends pnp:d${devid} >> /tmp/modules-plain 2>/dev/null
- [ "$devid" = "PNP0800" ] && modprobe -i --dirname=$KERNEL_DIRECTORY --set-version=$KERNEL_VERSION --show-depends pcspkr >> /tmp/modules-plain 2>/dev/null
- [ "$devid" = "PNP0510" ] && modprobe -i --dirname=$KERNEL_DIRECTORY --set-version=$KERNEL_VERSION --show-depends irtty-sir >> /tmp/modules-plain 2>/dev/null
- [ "$devid" = "PNP0511" ] && modprobe -i --dirname=$KERNEL_DIRECTORY --set-version=$KERNEL_VERSION --show-depends irtty-sir >> /tmp/modules-plain 2>/dev/null
- [ "$devid" = "PNPb02f" ] && modprobe -i --dirname=$KERNEL_DIRECTORY --set-version=$KERNEL_VERSION --show-depends analog >> /tmp/modules-plain 2>/dev/null
-
- # load ppp-generic if serial ports are detected for modems
- [ "$devid" = "PNP0501" ] && modprobe -i --dirname=$KERNEL_DIRECTORY --set-version=$KERNEL_VERSION --show-depends ppp-generic >> /tmp/modules-plain 2>/dev/null
- done
-fi
-
-# SCSI disks/cdroms/tapes/generic devices
-if [ "$(find /sys/devices -noleaf -name 'type')" ]; then
- for i in $(cat $(find /sys/devices -noleaf -name "type")); do
- case $i in (4|5) modprobe -i --dirname=$KERNEL_DIRECTORY --set-version=$KERNEL_VERSION --show-depends sr_mod >> /tmp/modules-plain 2>/dev/null ;; esac
- case $i in (2|3|6|8|9) modprobe -i --dirname=$KERNEL_DIRECTORY --set-version=$KERNEL_VERSION --show-depends sg >> /tmp/modules-plain 2>/dev/null ;; esac
- case $i in (0|7|14) modprobe -i --dirname=$KERNEL_DIRECTORY --set-version=$KERNEL_VERSION --show-depends sd_mod >> /tmp/modules-plain 2>/dev/null ;; esac
- case $i in (1) modprobe -i --dirname=$KERNEL_DIRECTORY --set-version=$KERNEL_VERSION --show-depends st >> /tmp/modules-plain 2>/dev/null ;; esac
- done
-fi
-
-# add Buslogic for vmware
-if [ "$VMWARE" = "1" ]; then
- modprobe -i --dirname=$KERNEL_DIRECTORY --set-version=$KERNEL_VERSION --show-depends BusLogic >> /tmp/modules-plain 2>/dev/null
-fi
-
-# Parport modules
-if [ "$(grep 'parport' /tmp/modules-plain)" ]; then
- modprobe -i --dirname=$KERNEL_DIRECTORY --set-version=$KERNEL_VERSION --show-depends lp >> /tmp/modules-plain 2>/dev/null
- modprobe -i --dirname=$KERNEL_DIRECTORY --set-version=$KERNEL_VERSION --show-depends ppdev >> /tmp/modules-plain 2>/dev/null
-fi
-
sort -u /tmp/modules-plain >> /tmp/modules-stripped
-# OTHER modules loading first for speed up!
-grep -v "scsi/" /tmp/modules-stripped | grep -v "fusion/" | grep -v "block/sx8" | grep -v "message/fusion" | \
- grep -v "block/cciss" | grep -v "block/cpqarray" | grep -v "block/DAC960" | grep -v "block/virtio" | grep -v "ata/" | \
- grep -v "net/" | grep -v "pcmcia/" | grep -v "usb/" | \
- grep -v "firewire" | grep -v "ieee1394/" | grep -v "usbhid/" | grep -v "staging/" | grep -v "wireless/" | grep -v "virtio_pci" >> /tmp/modules-sorted
-# load virtio first!
-grep "virtio_pci" /tmp/modules-stripped >> /tmp/modules-sorted
-# make a correct order for the modules, internal devices have priority!
-grep "ata/pata" /tmp/modules-stripped | grep -v "pata_acpi" >> /tmp/modules-sorted
-grep "scsi/" /tmp/modules-stripped | grep -v "sd_mod" | grep -v "sr_mod" | grep -v "/sg.ko" | grep -v "/st.ko" >> /tmp/modules-sorted
-grep "block/" /tmp/modules-stripped | grep -v "virtio_blk" | grep -v "sx8" | grep -v "nbd" | grep -v "pktcdvd" | grep -v "floppy" >> /tmp/modules-sorted
-grep "fusion/" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "ata/" /tmp/modules-stripped| grep -v "pata" | grep -v "ata_generic" | grep -v "libata" >> /tmp/modules-sorted
-grep "block/" /tmp/modules-stripped | grep "sx8" >> /tmp/modules-sorted
-grep "net/" /tmp/modules-stripped | grep -v "wireless/" | grep -v "usb/" >> /tmp/modules-sorted
-grep "wireless/" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "staging/" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "pcmcia/" /tmp/modules-stripped >> /tmp/modules-sorted
-
-# speed up usb module loading
-grep "usb-storage" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "usblp" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "usbhid" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "usb/" /tmp/modules-stripped | grep -v "usb-storage" | grep -v "usbhid" | grep -v "usblp" >> /tmp/modules-sorted
-grep "firewire/" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "ieee1394/" /tmp/modules-stripped >> /tmp/modules-sorted
-
-# add scsi and virtio device modules at the end
-grep "virtio_blk" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "sd_mod" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "sr_mod" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "/st.ko" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "/sg.ko" /tmp/modules-stripped >> /tmp/modules-sorted
-
-
-sed -ne "s#^insmod.*/\(.*\)\.ko.*#\1#p" /tmp/modules-sorted >> /tmp/moduleslist
-
listmods() {
key=$1 ; shift
ex=
@@ -215,7 +134,7 @@
[ "$ex" ] && ex="$ex|$1" || ex="$1"
shift
done
- for ln in $(grep "$key" /tmp/modules-sorted | sed 's|^insmod ||g'); do
+ for ln in $(grep "$key" /tmp/modules-stripped | sed 's|^insmod ||g'); do
if [ "$ex" ]; then
echo $ln | egrep -v "$ex" | sed -ne "s#^/.*/\(.*\)\.ko.*#\1#p"
else
@@ -242,20 +161,6 @@
# starting different actions
while [ -n "$*" ]; do
case $1 in
- --load-modules)
- # load all detected pci modules
- for i in $(cat /tmp/moduleslist); do
- modprobe $i > /dev/null 2>&1
- done
- ;;
-
- --unload-modules)
- # load all detected pci modules
- for i in $(cat /tmp/moduleslist); do
- modprobe -r $i > /dev/null 2>&1
- done
- ;;
-
--show-modules)
showlist "AGP " $(listmods agp/)
showlist "ACPI " $(listmods acpi/)
@@ -378,8 +283,6 @@
# cleanup
rm /tmp/modules-plain
-rm /tmp/modules-sorted
rm /tmp/modules-stripped
-rm /tmp/moduleslist
# vim: set ts=2 sw=2 noet:
More information about the arch-commits
mailing list