diff options
Diffstat (limited to 'source/k/packaging-x86/kernel-modules/kernel-modules.SlackBuild')
-rwxr-xr-x | source/k/packaging-x86/kernel-modules/kernel-modules.SlackBuild | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/source/k/packaging-x86/kernel-modules/kernel-modules.SlackBuild b/source/k/packaging-x86/kernel-modules/kernel-modules.SlackBuild new file mode 100755 index 00000000..5601b28f --- /dev/null +++ b/source/k/packaging-x86/kernel-modules/kernel-modules.SlackBuild @@ -0,0 +1,67 @@ +#!/bin/sh +CWD=`pwd` +TMP=${TMP:-/tmp} +PKG=$TMP/package-kernel-modules + +VERSION=${VERSION:-3.2.29} +ARCH=${ARCH:-i686} +BUILD=${BUILD:-1} + +if [ ! -d $TMP ]; then + mkdir -p $TMP +fi +rm -rf $PKG +mkdir -p $PKG +echo "Using /lib/modules/${VERSION}/" +echo "Make sure these are *ready*... compressed, or not." +echo "However you want 'em." +sleep 5 +mkdir -p $PKG/lib/modules +cp -a /lib/modules/${VERSION} $PKG/lib/modules +mkdir -p $PKG/etc/rc.d +cat $CWD/rc.modules.new > $PKG/etc/rc.d/rc.modules-${VERSION}.new +chmod 755 $PKG/etc/rc.d/rc.modules-${VERSION}.new +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +# Write out the doinst.sh: +cat << EOF > $PKG/install/doinst.sh +config() { + NEW="\$1" + OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r \$OLD ]; then + mv \$NEW \$OLD + elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then # toss the redundant copy + rm \$NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config etc/rc.d/rc.modules-${VERSION}.new + +# If rc.modules is a real file, back it up: +if [ -r etc/rc.d/rc.modules -a ! -L etc/rc.d/rc.modules ]; then + cp -a etc/rc.d/rc.modules etc/rc.d/rc.modules.bak +fi +## Now that -smp is default, we probably shouldn't be so paranoid about +## preserving existing symlinks as it causes a full install to point to +## the wrong rc.modules script. If you want your rc.modules to endure, +## copy it to rc.modules.local. +## Make rc.modules a symlink if it's not already, but do not replace +## an existing symlink. You'll have to decide to point at a new version +## of this script on your own... +#if [ ! -L etc/rc.d/rc.modules ]; then +# ( cd etc/rc.d ; rm -rf rc.modules ) +# ( cd etc/rc.d ; ln -sf rc.modules-${VERSION} rc.modules ) +#fi + +# A good idea whenever kernel modules are added or changed: +if [ -x sbin/depmod ]; then + chroot . /sbin/depmod -a ${VERSION} 1> /dev/null 2> /dev/null +fi + +EOF + +cd $PKG +makepkg -l y -c n $TMP/kernel-modules-${VERSION}-$ARCH-$BUILD.txz + |