mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

90 lines
3.2 KiB

  1. #!/bin/bash
  2. # --- ROCK-COPYRIGHT-NOTE-BEGIN ---
  3. #
  4. # This copyright note is auto-generated by ./scripts/Create-CopyPatch.
  5. # Please add additional copyright information _after_ the line containing
  6. # the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
  7. # the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
  8. #
  9. # ROCK Linux: rock-src/package/base/udev/udev.conf
  10. # ROCK Linux is Copyright (C) 1998 - 2006 Clifford Wolf
  11. #
  12. # This program is free software; you can redistribute it and/or modify
  13. # it under the terms of the GNU General Public License as published by
  14. # the Free Software Foundation; either version 2 of the License, or
  15. # (at your option) any later version. A copy of the GNU General Public
  16. # License can be found at Documentation/COPYING.
  17. #
  18. # Many people helped and are helping developing ROCK Linux. Please
  19. # have a look at http://www.rocklinux.org/ and the Documentation/TEAM
  20. # file for details.
  21. #
  22. # --- ROCK-COPYRIGHT-NOTE-END ---
  23. udev_pm() {
  24. # the deletion and re-creation is needed for stage 9 rebuilds
  25. rm -rf $root/lib/{firmware,udev/devices/{pts,shm,bus/usb}}
  26. mkdir -p $root/lib/{firmware,udev/devices/{pts,shm,bus/usb}}
  27. rm -f $root/lib/udev/devices/null
  28. mknod -m0666 $root/lib/udev/devices/null c 1 3
  29. add_flist $root/lib/udev/devices/null
  30. rm -f $root/lib/udev/devices/zero
  31. mknod -m0666 $root/lib/udev/devices/zero c 1 5
  32. add_flist $root/lib/udev/devices/zero
  33. rm -f $root/lib/udev/devices/fd
  34. ln -sv /proc/self/fd $root/lib/udev/devices/fd
  35. rm -f $root/lib/udev/devices/core
  36. ln -sv /proc/kcore $root/lib/udev/devices/core
  37. rm -f $root/lib/udev/devices/stdin
  38. ln -sv /proc/self/fd/0 $root/lib/udev/devices/stdin
  39. rm -f $root/lib/udev/devices/stdout
  40. ln -sv /proc/self/fd/1 $root/lib/udev/devices/stdout
  41. rm -f $root/lib/udev/devices/stderr
  42. ln -sv /proc/self/fd/2 $root/lib/udev/devices/stderr
  43. # Somehow on boot-up this prevents errors like:
  44. # cp: will not create hard link `/dev/pts' to directory `/dev/bus/usb'
  45. touch $root/lib/udev/devices/{pts,shm,bus/usb}/.empty
  46. # Install LFS-specific rules and docs.
  47. # tar $taropt $archdir/udev-config-$udev_config_ver.tar.bz2
  48. # cd udev-config-$udev_config_ver
  49. # make install
  50. # make install-doc
  51. # make install-extra-doc
  52. rm -f etc/udev/rules.d/*.orig
  53. cp -v etc/udev/rules.d/* $confdir/rules/* $root/etc/udev/rules.d/
  54. cp -v $confdir/scripts/*.sh $confdir/scripts/modalias_* $root/lib/udev/
  55. chmod +x $root/lib/udev/*.sh $root/lib/udev/modalias_*
  56. install_init udev $confdir/udev.init
  57. found_group_error=0
  58. for group in `grep 'GROUP="[^%]' $root/etc/udev/rules.d/*.rules | sed 's,.*GROUP=",,; s,".*,,;' | sort -u`
  59. do
  60. if ! grep -q "^$group:" $root/etc/group; then
  61. echo "ERROR: Found udev rules not existing group '$group'."
  62. found_group_error=1
  63. fi
  64. done
  65. [ $found_group_error = 0 ] || abort
  66. }
  67. udev_prem() {
  68. for i in $(find extras/ -maxdepth 2 -name Makefile); do
  69. udev_extras="${udev_extras} $(dirname ${i})"
  70. done
  71. # DESTDIR=/ prevents kill and restart of udev.
  72. var_append makeopt " " 'EXTRAS="${udev_extras}"'
  73. var_append makeinstopt " " 'EXTRAS="${udev_extras}"'
  74. }
  75. prefix=""
  76. hook_add postmake 1 udev_pm
  77. hook_add premake 3 udev_prem
  78. if [ $stagelevel -le 2 ] ; then
  79. export LD=$CC
  80. var_append makeopt " " "CROSS_COMPILE=$archprefix"
  81. var_append makeinstopt " " "CROSS_COMPILE=$archprefix"
  82. fi