]> git.pld-linux.org Git - packages/geninitrd.git/commitdiff
- changes from trunk; rel 1.1 for now (testing purposes) auto/th/geninitrd-12345-1_1
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Sat, 15 Oct 2011 09:06:11 +0000 (09:06 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    geninitrd-svn.patch -> 2.6
    geninitrd.spec -> 2.187

geninitrd-svn.patch
geninitrd.spec

index 40814695f6580d2a826025152f08368f18ff1d58..a513e042bea208527fad0f49b7f1bb112350d125 100644 (file)
+Index: mod-usbkbd.sh
+===================================================================
+--- mod-usbkbd.sh      (wersja 0)
++++ mod-usbkbd.sh      (wersja 12376)
+@@ -0,0 +1,45 @@
++#!/bin/sh
++SATA_RCSID='$Revision$ $Date$'
++
++# geninitrd mod: usbkbd
++
++# setup geninitrd module
++# @access     public
++setup_mod_usbkbd() {
++}
++
++find_modules_usbkbd() {
++      debug "Finding USB keyboard modules"
++
++      if [ "$(echo /sys/class/input/input*)" = "/sys/class/input/input*" ]; then
++              return
++      fi
++
++      local modules
++
++      for i in /sys/class/input/input*; do
++              [ ! -f $i/device/bInterfaceClass -o ! -f $i/device/bInterfaceProtocol ] && continue
++              bInterfaceClass=$(cat $i/device/bInterfaceClass)
++              bInterfaceProtocol=$(cat $i/device/bInterfaceProtocol)
++              if [ "$bInterfaceClass" = "03" -a "$bInterfaceProtocol" = "01" ]; then
++                      module=$(readlink $i/device/driver/module)
++                      module=$(basename $module)
++
++                      if [ -n "$module" ]; then
++                              debug "Found USB Keyboard: $(cat $i/name)"
++                              modules="$modules $module"
++                      fi
++              fi
++      done
++
++      if [ -n "$modules" ]; then
++              # usb controllers
++              for m in $(find_modules_by_class "0c03"); do
++                      find_module $m
++              done
++
++              for m in $modules; do
++                      find_module $m
++              done
++      fi
++}
+Index: geninitrd
+===================================================================
+--- geninitrd  (wersja 12345)
++++ geninitrd  (kopia robocza)
+@@ -613,7 +613,7 @@
+                       [ "$FIRMWAREDIR" != "$firmware" ] && inst_d /lib/firmware/$FIRMWAREDIR
+                       inst /lib/firmware/$firmware /lib/firmware/$firmware
+               else
+-                      die "firmware file /lib/firmware/$firmware nor /lib/firmware/$kernel/$firmware found."
++                      warn "Possible missing firmware file /lib/firmware/$firmware or /lib/firmware/$kernel/$firmware for module $module."
+               fi
+       done
+@@ -915,7 +915,7 @@
+       warn "/proc filesystem not mounted, may cause wrong results or failure."
+ fi
+-geninitrd_load_mods ide luks multipath dmraid lvm md blkid udev tuxonice suspend fbsplash condecor bootsplash uvesafb nfs sata scsi
++geninitrd_load_mods ide luks multipath dmraid lvm md blkid udev tuxonice suspend fbsplash condecor bootsplash uvesafb nfs sata scsi usbkbd
+ while [ $# -gt 0 ]; do
+       case $1 in
+@@ -1157,6 +1157,9 @@
+       find_module "$FBMODULE"
+ fi
++# autodetect USB keyboards
++find_modules_usbkbd
++
+ # allow forcing loading SCSI and/or IDE modules
+ # XXX: where ADDSCSI cames from? drop?
+ if is_yes "$ADDSCSI"; then
+Index: mod-luks.sh
+===================================================================
+--- mod-luks.sh        (wersja 12345)
++++ mod-luks.sh        (kopia robocza)
+@@ -119,7 +119,7 @@
+       while read dst src key opt; do
+               [ -z "$dst" -o "${dst#\#}" != "$dst" ] && continue
+-              [ "$src" != "$LUKSDEV" ] && continue
++              [ "$src" != "$LUKSDEV" ] && [ "$(readlink -f $src)" != "$LUKSDEV" ] && continue
+               if [ -n "$key" -a "x$key" != "xnone" ]; then
+                       if test -e "$key" ; then
+@@ -155,11 +155,23 @@
+                       # cryptsetup can be called twice and in case on crypt on lvm only second
+                       # will succeed because there will be no src device in first cryptsetup call
+                       # this can be called multiple times, before lvm and after lvm.
+-                      if [ -e "$src" ]; then
++                      luksdev='$src'
++                      if [ \${luksdev##/dev/disk/by-uuid/} != \${luksdev} ]; then
++                              src_uuid=\${luksdev##/dev/disk/by-uuid/}
++                              while read x y z name; do
++                                      found_uuid=\$(cryptsetup luksUUID /dev/\${name} 2>/dev/null)
++                                      if [ "\$found_uuid" = "\$src_uuid" ]; then
++                                              luksdev=/dev/\$name
++                                              break
++                                      fi
++                              done < /proc/partitions
++                      fi
++
++                      if [ -e "\$luksdev" ]; then
+                               crypt_status=\$(cryptsetup status '$dst')
+                               if [ "\${crypt_status%%is inactive.}" != "\$crypt_status" ]; then
+                                       # is inactive
+-                                      cryptsetup ${keyfile:+-d $keyfile} luksOpen '$src' '$dst' <&1
++                                      cryptsetup ${keyfile:+-d $keyfile} luksOpen "\$luksdev" '$dst' <&1
+                               fi
+                       fi
+Index: functions
+===================================================================
+--- functions  (wersja 12345)
++++ functions  (kopia robocza)
+@@ -166,3 +166,46 @@
+       local node="$1"
+       printf "/dev/mapper/%s" $(dm_name "$node")
+ }
++
++# find modules by class eg
++# find_modules_by_class 0106 - finds modules for SATA devices in the system
++# find_modules_by_class 0c03 - finds modules for USB controllers
++find_modules_by_class() {
++      local req_class="$1"
++
++      pcimap="/lib/modules/$kernel/modules.pcimap"
++
++      lspci=$(find_tool /sbin/lspci)
++      if [ ! -x "$lspci" ]; then
++              warn "Failed to execute lspci. Is pciutils package installed?"
++      fi
++
++      # no pcimap, nothing to lookup from
++      if [ ! -f "$pcimap" ]; then
++              return
++      fi
++
++      if [ -z "$lspci" ]; then
++              return
++      fi
++
++      set -- $($lspci -n | awk -vclass=$req_class '$2 == class":" {split($3, p, ":"); printf("0x0000%s 0x0000%s\n", p[1], p[2])}')
++
++      req_class="0x${req_class}00"
++
++      local PCI_ANY_ID=0xffffffff pci_module vendor device subvendor subdevice class class_mask driver_data
++      while read pci_module vendor device subvendor subdevice class class_mask driver_data; do
++              # ignore program interface (last two digits) - we want any
++              class_mask=$(($class_mask & 0xffffff00))
++              # some devices (like hcd) have very specific class
++              class=$(($class & $class_mask))
++              [ "$(($req_class & $class_mask))" = "$class" ] || continue
++              # match vendor
++              [ "$1" = "$vendor" -o "$vendor" = "$PCI_ANY_ID" ] || continue
++              # match device, allow PCI_ANY_ID
++              [ "$2" = "$device" -o "$device" = "$PCI_ANY_ID" ] || continue
++
++              echo "$pci_module"
++      done < $pcimap
++}
++
+Index: Makefile
+===================================================================
+--- Makefile   (wersja 12345)
++++ Makefile   (kopia robocza)
+@@ -1,6 +1,6 @@
+ # when making release, make sure you do it as RELEASE document describes
+ VERSION               := 12345
+-MODS          := ide luks multipath dmraid lvm md blkid udev tuxonice suspend fbsplash condecor bootsplash uvesafb nfs sata scsi
++MODS          := ide luks multipath dmraid lvm md blkid udev tuxonice suspend fbsplash condecor bootsplash uvesafb nfs sata scsi usbkbd
+ FILES_MODS  := $(MODS:%=mod-%.sh)
+ FILES_ADDON := extract-ikconfig
+ FILES         := Makefile geninitrd.sysconfig geninitrd functions $(FILES_MODS) $(FILES_ADDON) geninitrd.8 geninitrd.8.xml ChangeLog
 Index: mod-sata.sh
 ===================================================================
---- mod-sata.sh        (wersja 12334)
+--- mod-sata.sh        (wersja 12345)
 +++ mod-sata.sh        (kopia robocza)
-@@ -33,7 +33,7 @@
-       local PCI_ANY_ID=0x0000ffff pci_module vendor device subvendor subdevice class class_mask driver_data
-       while read pci_module vendor device subvendor subdevice class class_mask driver_data; do
-               # match class
--              [ "$(($req_class & $class_mask))" = "$class" ] || continue
-+              [ "$(($req_class & $class_mask))" = "$(($class))" ] || continue
-               # match vendor
-               [ "$1" = "$vendor" ] || continue
-               # match device, allow PCI_ANY_ID
+@@ -6,43 +6,8 @@
+ # setup geninitrd module
+ # @access     public
+ setup_mod_sata() {
+-      lspci=$(find_tool /sbin/lspci)
+-
+-      pcimap="/lib/modules/$kernel/modules.pcimap"
+-
+-      if [ ! -x "$lspci" ]; then
+-              warn "Failed to execute lspci. Is pciutils package installed?"
+-      fi
+ }
+-# private until only mod-sata uses the function
+-find_modules_by_class() {
+-      local req_class=$1
+-
+-      # no pcimap, nothing to lookup from
+-      if [ ! -f "$pcimap" ]; then
+-              return
+-      fi
+-
+-      if [ -z "$lspci" ]; then
+-              return
+-      fi
+-
+-      set -- $($lspci -n | awk -vclass=$req_class '$2 == class":" {split($3, p, ":"); printf("0x0000%s 0x0000%s\n", p[1], p[2])}')
+-
+-      local PCI_ANY_ID=0x0000ffff pci_module vendor device subvendor subdevice class class_mask driver_data
+-      while read pci_module vendor device subvendor subdevice class class_mask driver_data; do
+-              # match class
+-              [ "$(($req_class & $class_mask))" = "$(($class))" ] || continue
+-              # match vendor
+-              [ "$1" = "$vendor" ] || continue
+-              # match device, allow PCI_ANY_ID
+-              [ "$2" = "$device" -o $device = $PCI_ANY_ID ] || continue
+-
+-              echo "$pci_module"
+-      done < $pcimap
+-}
+-
+ find_modules_sata() {
+       debug "Finding SATA modules (class=0x0106)"
index 594fff0f565284b3079980b9e3d72db59634b269..bce2e44ebcfe66e9636d467eaf17308c38f05a09 100644 (file)
@@ -7,14 +7,14 @@ Summary:      Creates an initial ramdisk image for preloading modules
 Summary(pl.UTF-8):     Narzędzie do tworzenia inicjalnego ramdysku używanego przy starcie systemu
 Name:          geninitrd
 Version:       12345
-Release:       1
+Release:       1.1
 License:       GPL
 Group:         Applications/System
 Source0:       %{name}-%{version}.tar.gz
 # Source0-md5: efafc272f06bb028adbab2926dc7f983
 Patch0:                %{name}-romfs.patch
 Patch1:                %{name}-gzip-compressor.patch
-#Patch2:               %{name}-svn.patch
+Patch2:                %{name}-svn.patch
 URL:           http://svn.pld-linux.org/trac/svn/wiki/packages/geninitrd
 BuildRequires: xmlto >= 0:0.0.18-1
 Requires:      /usr/bin/ldd
@@ -93,7 +93,7 @@ bieżących informacji zawartych w /etc/modules.conf.
 %patch0 -p1
 %patch1 -p1
 %endif
-#%patch2 -p0
+%patch2 -p0
 
 %build
 %{__make}
This page took 0.18782 seconds and 4 git commands to generate.