From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S261216AbVCGS3G (ORCPT ); Mon, 7 Mar 2005 13:29:06 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S261218AbVCGS3G (ORCPT ); Mon, 7 Mar 2005 13:29:06 -0500 Received: from mail.autoweb.net ([198.172.237.26]:21515 "EHLO mail.autoweb.net") by vger.kernel.org with ESMTP id S261216AbVCGS26 (ORCPT ); Mon, 7 Mar 2005 13:28:58 -0500 Date: Mon, 7 Mar 2005 13:28:28 -0500 From: Ryan Anderson To: User Mode Linux Dev List , Jeff Dike Cc: Andrew Morton , Linux Kernel Subject: [PATCH] UML - Make deb-pkg build target build a Debian-style user-mode-linux package Message-ID: <20050307182828.GS7828@mythryan2.michonline.com> Mail-Followup-To: User Mode Linux Dev List , Jeff Dike , Andrew Morton , Linux Kernel Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.6+20040907i Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org 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