uml: Make deb-pkg build target build a Debian-style user-mode-linux package

From: Ryan Anderson <ryan@michonline.com>

Make the deb-pkg build target understand the "um" arch and set up the
package and directory structure to match a mainline-Debian style
user-mode-linux package.

This is primarily so that it stops matching, exactly, the naming
convention used by normal, non-UML kernels generated by this command.

Installing "linux-2.6.11" and "linux-2.6.11", where one is a UML kernel
doesn't do the right thing.  This fixes that.

Signed-off-by: Ryan Anderson <ryan@michonline.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
This commit is contained in:
Sam Ravnborg 2005-07-14 20:24:00 +00:00
parent d80e224609
commit 687c3dac59

View file

@ -14,18 +14,38 @@ set -e
# Some variables and settings used throughout the script # Some variables and settings used throughout the script
version=$KERNELRELEASE version=$KERNELRELEASE
tmpdir="$objtree/debian/tmp" tmpdir="$objtree/debian/tmp"
packagename=linux-$version
if [ "$ARCH" == "um" ] ; then
packagename=user-mode-linux-$version
fi
# Setup the directory structure # Setup the directory structure
rm -rf "$tmpdir" rm -rf "$tmpdir"
mkdir -p "$tmpdir/DEBIAN" "$tmpdir/lib" "$tmpdir/boot" mkdir -p "$tmpdir/DEBIAN" "$tmpdir/lib" "$tmpdir/boot"
if [ "$ARCH" == "um" ] ; then
mkdir -p "$tmpdir/usr/lib/uml/modules/$version" "$tmpdir/usr/share/doc/$packagename" "$tmpdir/usr/bin"
fi
# Build and install the kernel # Build and install the kernel
cp System.map "$tmpdir/boot/System.map-$version" if [ "$ARCH" == "um" ] ; then
cp .config "$tmpdir/boot/config-$version" $MAKE linux
cp $KBUILD_IMAGE "$tmpdir/boot/vmlinuz-$version" cp System.map "$tmpdir/usr/lib/uml/modules/$version/System.map"
cp .config "$tmpdir/usr/share/doc/$packagename/config"
gzip "$tmpdir/usr/share/doc/$packagename/config"
cp $KBUILD_IMAGE "$tmpdir/usr/bin/linux-$version"
else
cp System.map "$tmpdir/boot/System.map-$version"
cp .config "$tmpdir/boot/config-$version"
cp $KBUILD_IMAGE "$tmpdir/boot/vmlinuz-$version"
fi
if grep -q '^CONFIG_MODULES=y' .config ; then if grep -q '^CONFIG_MODULES=y' .config ; then
INSTALL_MOD_PATH="$tmpdir" make modules_install INSTALL_MOD_PATH="$tmpdir" make modules_install
if [ "$ARCH" == "um" ] ; then
mv "$tmpdir/lib/modules/$version"/* "$tmpdir/usr/lib/uml/modules/$version/"
rmdir "$tmpdir/lib/modules/$version"
fi
fi fi
# Install the maintainer scripts # Install the maintainer scripts
@ -60,11 +80,11 @@ Priority: optional
Maintainer: $name Maintainer: $name
Standards-Version: 3.6.1 Standards-Version: 3.6.1
Package: linux-$version Package: $packagename
Architecture: any Architecture: any
Description: Linux kernel, version $version Description: Linux kernel, version $packagename
This package contains the Linux kernel, modules and corresponding other This package contains the Linux kernel, modules and corresponding other
files version $version. files version $packagename
EOF EOF
# Fix some ownership and permissions # Fix some ownership and permissions