UML - Make deb-pkg build target build a Debian-style user-mode-linux package
Subsystems (2)
PATCH 1/1 UML - Make deb-pkg build target build a Debian-style user-mode-linux package
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.
scripts/package/builddeb +26 -6
@@ -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
Signature · 13 lines
Ryan Anderson sometimes Pug Majere ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ User-mode-linux-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
Sorry, I forgot something important.
Quoted 9 lines · Ryan Anderson
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.
Quoted 78 lines
diff -Nru a/scripts/package/builddeb b/scripts/package/builddeb
scripts/package/builddeb +26
-6@@ -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 permissionsSignature · 15 lines
-- Ryan Anderson sometimes Pug Majere ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ User-mode-linux-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
Signature · 13 lines
Ryan Anderson sometimes Pug Majere ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ User-mode-linux-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
Quoted 9 lines · Ryan Anderson
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.
Yes, it must go in... only the Description is a bit problematic, since you'll get with the below:
Description: Linux kernel, version linux-2.6.11
Description: Linux kernel, version user-mode-linux-2.6.11
and so on... could you restore $version instead of $packagename and have a dual Description (taking the right UML one from the mainline-Debian package if you can).
For the rest, no problem I can see (but I'm no Debian user).
Quoted 15 lines
scripts/package/builddeb +3
-3@@ -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
Signature · 17 lines
Paolo Giarrusso, aka Blaisorblade Linux registered user n. 292729 http://www.user-mode-linux.org/~blaisorblade ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ User-mode-linux-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
PATCH 1/1 UML - Restore proper descriptions in make deb-pkg target
Quoted 6 lines · Blaisorblade
Yes, it must go in... only the Description is a bit problematic, since you'll get with the below:
Description: Linux kernel, version linux-2.6.11Description: Linux kernel, version user-mode-linux-2.6.11
Good point.
This pulls the description from the Debian user-mode-linux package, and puts $version back in the appropriate places for both descriptions.
Incremental on top of the previous patch.
scripts/package/builddeb +26 -2
@@ -73,6 +73,29 @@ EOF # Generate a control file +if [ "$ARCH" == "um" ]; then + +cat <<EOF > debian/control +Source: linux +Section: base +Priority: optional +Maintainer: $name +Standards-Version: 3.6.1 + +Package: $packagename +Architecture: any +Description: User Mode Linux kernel, version $version + User-mode Linux is a port of the Linux kernel to its own system call + interface. It provides a kind of virtual machine, which runs Linux + as a user process under another Linux kernel. This is useful for + kernel development, sandboxes, jails, experimentation, and + many other things. + . + This package contains the Linux kernel, modules and corresponding other + files version $version +EOF + +else cat <<EOF > debian/control Source: linux Section: base
@@ -82,10 +105,11 @@ Package: $packagename Architecture: any -Description: Linux kernel, version $packagename +Description: Linux kernel, version $version This package contains the Linux kernel, modules and corresponding other - files version $packagename + files version $version EOF +fi # Fix some ownership and permissions chown -R root:root "$tmpdir"
Signature · 13 lines
Ryan Anderson sometimes Pug Majere ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ User-mode-linux-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel