diff options
| author | Richard Purdie <richard@openedhand.com> | 2006-07-21 10:10:31 +0000 |
|---|---|---|
| committer | Richard Purdie <richard@openedhand.com> | 2006-07-21 10:10:31 +0000 |
| commit | b2f192faabe412adce79534e22efe9fb69ee40e2 (patch) | |
| tree | 7076c49d4286f8a1733650bd8fbc7161af200d57 /meta/packages/update-modules | |
| parent | 2cf0eadf9f730027833af802d7e6c90b44248f80 (diff) | |
| download | poky-b2f192faabe412adce79534e22efe9fb69ee40e2.tar.gz | |
Rename /openembedded/ -> /meta/
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@530 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/update-modules')
3 files changed, 219 insertions, 0 deletions
diff --git a/meta/packages/update-modules/update-modules-1.0/openmn/update-modules b/meta/packages/update-modules/update-modules-1.0/openmn/update-modules new file mode 100755 index 0000000000..976161f141 --- /dev/null +++ b/meta/packages/update-modules/update-modules-1.0/openmn/update-modules | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | depmod -ae | ||
| 3 | exit 0 | ||
diff --git a/meta/packages/update-modules/update-modules-1.0/update-modules b/meta/packages/update-modules/update-modules-1.0/update-modules new file mode 100755 index 0000000000..636fe1c0d4 --- /dev/null +++ b/meta/packages/update-modules/update-modules-1.0/update-modules | |||
| @@ -0,0 +1,197 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # | ||
| 3 | # This is the update-modules script for Debian GNU/Linux. | ||
| 4 | # Copyright 1998-2001 Wichert Akkerman <wakkerma@debian.org> | ||
| 5 | # Licensed under the GNU GPL, version 2 | ||
| 6 | # | ||
| 7 | |||
| 8 | MODCONFFILE=/etc/modules.conf | ||
| 9 | MODCONFTMPFILE="${MODCONFFILE}.$$" | ||
| 10 | MODULESFILE=/etc/modules | ||
| 11 | MODULESTMPFILE="${MODULESFILE}.$$" | ||
| 12 | |||
| 13 | ARCHDIR=/etc/modutils/arch | ||
| 14 | CPUDIR=/etc/modutils/cpu | ||
| 15 | HEADER="### This file is automatically generated by update-modules" | ||
| 16 | |||
| 17 | set -e | ||
| 18 | |||
| 19 | if [ "$1" = "force" ] ; then | ||
| 20 | force=1 | ||
| 21 | else | ||
| 22 | force= | ||
| 23 | fi | ||
| 24 | |||
| 25 | # Reset the sorting order since we depend on it | ||
| 26 | LC_COLLATE=C | ||
| 27 | export LC_COLLATE | ||
| 28 | |||
| 29 | depdir() | ||
| 30 | { | ||
| 31 | dep=`grep '[[:space:]]*depfile' "${MODCONFFILE}" | tail -n 1 | sed -e 's/depfile=//' -e 's,/[^/]*$,,'` | ||
| 32 | if [ -z "$dep" ] ; then | ||
| 33 | dep="/lib/modules/`uname -r`" | ||
| 34 | fi | ||
| 35 | |||
| 36 | echo $dep | ||
| 37 | } | ||
| 38 | |||
| 39 | arch() { | ||
| 40 | local model=`uname -m` | ||
| 41 | case $model in | ||
| 42 | i[0-9]86) model=i386; ;; | ||
| 43 | sun4u) model=sparc64; ;; | ||
| 44 | arm*) model=arm; ;; | ||
| 45 | ppc) model=powerpc; ;; | ||
| 46 | esac | ||
| 47 | echo $model | ||
| 48 | } | ||
| 49 | |||
| 50 | archmodel() { | ||
| 51 | local arch=`arch` | ||
| 52 | local model="" | ||
| 53 | if [ $arch = "m68k" ]; then | ||
| 54 | if [ -f /proc/hardware ]; then | ||
| 55 | model=`sed -ne 's/^Model:[[:space:]]*//p' /proc/hardware` | ||
| 56 | case $model in | ||
| 57 | Atari*) model="atari"; ;; | ||
| 58 | Amiga*) model="amiga"; ;; | ||
| 59 | Macintosh*) model="mac"; ;; | ||
| 60 | Motorola*) model="MVME"; ;; | ||
| 61 | *) model="generic"; ;; | ||
| 62 | esac | ||
| 63 | model=".${model}" | ||
| 64 | else | ||
| 65 | echo "/proc/hardware does not exist, assuming general m68k system" | ||
| 66 | model=".generic" | ||
| 67 | fi | ||
| 68 | elif [ $arch = "powerpc" ]; then | ||
| 69 | if [ -f /proc/cpuinfo ]; then | ||
| 70 | model=`sed -ne 's/^machine[[:space:]]*:[[:space:]]*//p' /proc/cpuinfo` | ||
| 71 | case $model in | ||
| 72 | Amiga*) model="apus"; ;; | ||
| 73 | Power*) model="pmac"; ;; | ||
| 74 | *) model="generic"; ;; | ||
| 75 | esac | ||
| 76 | model=".${model}" | ||
| 77 | else | ||
| 78 | echo "/proc/cpuinfo does not exist, assuming general powerpc system" | ||
| 79 | model=".generic" | ||
| 80 | fi | ||
| 81 | fi | ||
| 82 | echo "${arch}${model}" | ||
| 83 | } | ||
| 84 | |||
| 85 | checkoverwrite() { | ||
| 86 | local cfgfile="$1" | ||
| 87 | |||
| 88 | if [ -f "$cfgfile" ]; then | ||
| 89 | if ! sed -ne 1p "$cfgfile" | grep -q "^$HEADER" ; then | ||
| 90 | echo "Error: the current $cfgfile is not automatically generated." >&2 | ||
| 91 | if [ -z "$force" ]; then | ||
| 92 | echo "Use \"update-modules force\" to force (re)generation." | ||
| 93 | exit 1 | ||
| 94 | else | ||
| 95 | echo "force specified, (re)generating file anyway." | ||
| 96 | fi | ||
| 97 | fi | ||
| 98 | fi | ||
| 99 | } | ||
| 100 | |||
| 101 | createfile() { | ||
| 102 | cat <<EOF > "$1" | ||
| 103 | $HEADER" | ||
| 104 | # | ||
| 105 | # Please do not edit this file directly. If you want to change or add | ||
| 106 | # anything please take a look at the files in /etc/modutils and read | ||
| 107 | # the manpage for update-modules. | ||
| 108 | # | ||
| 109 | EOF | ||
| 110 | } | ||
| 111 | |||
| 112 | addfile() { | ||
| 113 | local src="$1" | ||
| 114 | local tgt="$2" | ||
| 115 | |||
| 116 | echo "### update-modules: start processing $src" >> "$tgt" | ||
| 117 | if [ -x "$src" ]; then | ||
| 118 | if ! "$src" >> "$tgt" ; then | ||
| 119 | echo "Error while executing $src, aborting" >&2 | ||
| 120 | exit 1 | ||
| 121 | fi | ||
| 122 | else | ||
| 123 | cat "$src" >> "$tgt" | ||
| 124 | fi | ||
| 125 | cat <<EOF >> "$tgt" | ||
| 126 | |||
| 127 | ### update-modules: end processing $cfg | ||
| 128 | |||
| 129 | EOF | ||
| 130 | } | ||
| 131 | |||
| 132 | |||
| 133 | checkoverwrite "$MODCONFFILE" | ||
| 134 | |||
| 135 | if [ 0 -ne "`id -u`" ]; then | ||
| 136 | echo "You have to be root to do this." >&2 | ||
| 137 | exit 2 | ||
| 138 | fi | ||
| 139 | |||
| 140 | model=`archmodel` | ||
| 141 | oldmodel=$model | ||
| 142 | |||
| 143 | while [ ! -f "${ARCHDIR}/${model}" ]; do | ||
| 144 | oldmodel=$model | ||
| 145 | model=`echo $oldmodel | sed -e 's/\.[^.]\+//'` | ||
| 146 | if [ "$model" = "$oldmodel" ]; then | ||
| 147 | break | ||
| 148 | fi | ||
| 149 | echo "Configuration for $oldmodel not found, trying $model" | ||
| 150 | done | ||
| 151 | |||
| 152 | CONF="${ARCHDIR}/${model}" | ||
| 153 | |||
| 154 | if [ ! -f "$CONF" ]; then | ||
| 155 | ## echo "Architecture-specific modutils configuration not found, using defaults" | ||
| 156 | CONF="${ARCHDIR}/generic" | ||
| 157 | fi | ||
| 158 | |||
| 159 | [ -e "$MODCONFFILE" ] && cp -f "$MODCONFFILE" "${MODCONFFILE}.old" | ||
| 160 | |||
| 161 | createfile "$MODCONFTMPFILE" | ||
| 162 | createfile "$MODULESTMPFILE" | ||
| 163 | |||
| 164 | for cfg in /etc/modutils/* $CONF ; do | ||
| 165 | if [ -f "$cfg" ]; then # this check is necesarry to skip /etc/modutils/archs | ||
| 166 | if echo $cfg | grep -q '\.dpkg-[a-z]*\|~$' ; then | ||
| 167 | true | ||
| 168 | elif echo $cfg | grep -q '\.conf$' ; then | ||
| 169 | addfile "$cfg" "$MODCONFTMPFILE" | ||
| 170 | else | ||
| 171 | addfile "$cfg" "$MODULESTMPFILE" | ||
| 172 | fi | ||
| 173 | fi | ||
| 174 | done | ||
| 175 | |||
| 176 | first_time=0 | ||
| 177 | if [ ! -f $MODULESFILE ]; then | ||
| 178 | first_time=1 | ||
| 179 | fi | ||
| 180 | |||
| 181 | mv "$MODCONFTMPFILE" "$MODCONFFILE" | ||
| 182 | mv "$MODULESTMPFILE" "$MODULESFILE" | ||
| 183 | |||
| 184 | if [ $first_time -eq 1 ]; then | ||
| 185 | /etc/init.d/modutils.sh || true | ||
| 186 | fi | ||
| 187 | |||
| 188 | # We also call depmod here to stop insmod from complaining that modules.conf | ||
| 189 | # is more recent then modules.dep | ||
| 190 | # | ||
| 191 | if [ -d "`depdir`" -a -f /proc/modules ] | ||
| 192 | then | ||
| 193 | depmod -A || true | ||
| 194 | fi | ||
| 195 | |||
| 196 | exit 0 | ||
| 197 | |||
diff --git a/meta/packages/update-modules/update-modules_1.0.bb b/meta/packages/update-modules/update-modules_1.0.bb new file mode 100644 index 0000000000..dc4c3c0d92 --- /dev/null +++ b/meta/packages/update-modules/update-modules_1.0.bb | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | SECTION = "base" | ||
| 2 | DESCRIPTION = "Script to manage module configuration files" | ||
| 3 | LICENSE = "GPLv2" | ||
| 4 | PACKAGE_ARCH = "all" | ||
| 5 | PR = "r4" | ||
| 6 | |||
| 7 | SRC_URI = "file://update-modules" | ||
| 8 | |||
| 9 | pkg_postinst() { | ||
| 10 | if [ "x$D" != "x" ]; then | ||
| 11 | exit 1 | ||
| 12 | fi | ||
| 13 | update-modules | ||
| 14 | } | ||
| 15 | |||
| 16 | do_install() { | ||
| 17 | install -d ${D}${sbindir} | ||
| 18 | install ${WORKDIR}/update-modules ${D}${sbindir} | ||
| 19 | } | ||
