summary refs log tree commit diff
path: root/scripts
diff options
context:
space:
mode:
authorSam Ravnborg <sam@mars.(none)>2005-07-14 20:24:00 +0000
committerSam Ravnborg <sam@mars.(none)>2005-07-14 20:24:00 +0000
commit687c3dac59f1746a1cf877eb52e93046a4998e03 (patch)
treea5c25447b4bea67871ef46cb43b25939e230a557 /scripts
parentd80e22460968ec7986c82fd7d207ebe3de59e03d (diff)
downloadlinux-687c3dac59f1746a1cf877eb52e93046a4998e03.tar.gz
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>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/package/builddeb32
1 files changed, 26 insertions, 6 deletions
diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index c279b6310f02..bec1a10174ec 100644
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -14,18 +14,38 @@ set -e
 # Some variables and settings used throughout the script
 version=$KERNELRELEASE
 tmpdir="$objtree/debian/tmp"
+packagename=linux-$version
+
+if [ "$ARCH" == "um" ] ; then
+	packagename=user-mode-linux-$version
+fi
 
 # Setup the directory structure
 rm -rf "$tmpdir"
 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
-cp System.map "$tmpdir/boot/System.map-$version"
-cp .config "$tmpdir/boot/config-$version"
-cp $KBUILD_IMAGE "$tmpdir/boot/vmlinuz-$version"
+if [ "$ARCH" == "um" ] ; then
+	$MAKE linux
+	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
 	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
 
 # Install the maintainer scripts
@@ -60,11 +80,11 @@ Priority: optional
 Maintainer: $name
 Standards-Version: 3.6.1
 
-Package: linux-$version
+Package: $packagename
 Architecture: any
-Description: Linux kernel, version $version
+Description: Linux kernel, version $packagename
  This package contains the Linux kernel, modules and corresponding other
- files version $version.
+ files version $packagename
 EOF
 
 # Fix some ownership and permissions