[PATCH] UML - Make deb-pkg build target build a Debian-style user-mode-linux package

From: Ryan Anderson
Date: Mon Mar 07 2005 - 13:30:32 EST


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.


diff -Nru a/scripts/package/builddeb b/scripts/package/builddeb
--- a/scripts/package/builddeb 2005-03-07 13:21:16 -05:00
+++ b/scripts/package/builddeb 2005-03-07 13:21:16 -05:00
@@ -14,18 +14,38 @@
# 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 @@
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

--

Ryan Anderson
sometimes Pug Majere
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/