Package: kernel-package
Version: 11.003
Severity: important
Today I built a linux-image package for the just-released kernel
2.6.27. It built and installed fine, but when I wanted to boot it, grub
complained about the initrd being non-existent.
Okay, I should have noted that the postinst told me to manually create
it, but nevertheless this is a rather serious regression. Attached is
the postinst for the linux-image package which does basically nothing
and looks very different from the template under
/usr/share/kernel-package/pkg/image.
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.26.5-core2 (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages kernel-package depends on:
ii binutils 2.18.1~cvs20080103-7 The GNU assembler, linker and bina
ii debianutils 2.30 Miscellaneous utilities specific t
ii dpkg 1.14.22 Debian package management system
ii dpkg-dev 1.14.22 Debian package development tools
ii file 4.26-1 Determines file type using "magic"
ii gcc [c-compiler] 4:4.3.2-2 The GNU C compiler
ii gcc-3.3 [c-compiler 1:3.3.6-15 The GNU C compiler
ii gcc-4.1 [c-compiler 4.1.2-23 The GNU C compiler
ii gcc-4.2 [c-compiler 4.2.4-3 The GNU C compiler
ii gcc-4.3 [c-compiler 4.3.2-1 The GNU C compiler
ii gettext 0.17-4 GNU Internationalization utilities
ii make 3.81-5 The GNU version of the "make" util
ii module-init-tools 3.4-1 tools for managing Linux kernel mo
ii perl 5.10.0-15 Larry Wall's Practical Extraction
ii po-debconf 1.0.15 manage translated Debconf template
ii util-linux 2.13.1.1-1 Miscellaneous system utilities
Versions of packages kernel-package recommends:
ii bzip2 1.0.5-1 high-quality block-sorting file co
ii libc6-dev [libc-dev] 2.7-14 GNU C Library: Development Librari
Versions of packages kernel-package suggests:
pn docbook-utils <none> (no description available)
ii e2fsprogs 1.41.2-1 ext2/ext3/ext4 file system utiliti
ii initramfs-tools [linux-in 0.92l tools for generating an initramfs
pn libdb3-dev <none> (no description available)
ii libncurses5-dev [libncurs 5.6+20081004-1 developer's libraries and docs for
pn linux-source | kernel-sou <none> (no description available)
pn xmlto <none> (no description available)
-- no debconf information
#! /bin/sh
# -*- Mode: Sh -*-
# postinst ---
# Author : Manoj Srivastava ( [EMAIL PROTECTED] )
# Created On : Fri Nov 14 11:25:07 2003
# Created On Node : glaurung.green-gryphon.com
# Last Modified By : Manoj Srivastava
# Last Modified On : Thu Sep 22 13:34:57 2005
# Last Machine Used: glaurung.internal.golden-gryphon.com
# Update Count : 43
# Status : Unknown, Use with caution!
# HISTORY :
# Description :
#
# arch-tag: 5401e9ef-39cc-4aee-96a4-61dfb8f32cf7
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
#
# Abort if any command returns an error value
set -e
# Predefined values:
version="2.6.27-core2";
link_in_boot="True"; # Should be empty, mostly
no_symlink=""; # Should be empty, mostly
reverse_symlink=""; # Should be empty, mostly
kimage="bzImage"; # Should be empty, mostly
loader="lilo"; # lilo, silo, quik, palo, vmelilo, nettrom, arcboot or delo
image_dir="/boot"; # where the image is located
initrd="YES"; # initrd kernel
mkimage=""; # command to generate the initrd image
official_image=""; # only true for official images
subarch="A"; # should be xen0 or xenu
ramdisk='/usr/sbin/mkinitrd' # Tool to create initial ram fs.
realimageloc="/$image_dir/";
realimageloc=$(echo $realimageloc | sed -e 's|^/*|/|' -e 's|/+|/|g')
package_name="kernel-$subarch-$version";
if [ -z "$package_name" ]; then
print >&2 "Internal Error. Please report a bug."
exit 1;
fi
# This script is called as the last step of the installation of the
# package. All the package's files are in place, dpkg has already done
# its automatic conffile handling, and all the packages we depend of
# are already fully installed and configured.
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
#
# quoting from the policy:
# Any necessary prompting should almost always be confined to the
# post-installation script, and should be protected with a conditional
# so that unnecessary prompting doesn't happen if a package's
# installation fails and the `postinst' is called with `abort-upgrade',
# `abort-remove' or `abort-deconfigure'.
# The following idempotent stuff doesn't generally need protecting
# against being run in the abort-* cases.
# Install info files into the dir file
##: install-info --quiet --section "section pattern" "Section Title" \
##: --description="Name of the document"
/usr/info/${package_name}.info
# Create stub directories under /usr/local
##: if test ! -d /usr/local/lib/${package_name}; then
##: if test ! -d /usr/local/lib; then
##: if mkdir /usr/local/lib; then
##: chown root.staff /usr/local/lib || true
##: chmod 2775 /usr/local/lib || true
##: fi
##: fi
##: if mkdir /usr/local/lib/${package_name}; then
##: chown root.staff /usr/local/lib/${package_name} || true
##: chmod 2775 /usr/local/lib/${package_name} || true
##: fi
##: fi
# Ensure the menu system is updated
#[ ! -x /usr/bin/update-menus ] || /usr/bin/update-menus
## Deprecated
##if test -x /usr/sbin/wm-menu-config; then wm-menu-config fvwm on; fi
# Arrange for a daemon to be started at system boot time
##: update-rc.d ${package_name} default >/dev/null
# This package uses debconf to ask a question, so source the debconf
# confmodule as early as possible. However, it does not depend on debconf,
# so debconf may not be installed.
#if [ -e /usr/share/debconf/confmodule ]; then
# . /usr/share/debconf/confmodule
# db_capb
#fi
case "$1" in
configure)
# Configure this package. If the package must prompt the user for
# information, do it here.
# Install emacs lisp files
##:if [ -x /usr/lib/emacsen-common/emacs-package-install ]; then
##: /usr/lib/emacsen-common/emacs-package-install $package_name
##:fi
# Activate menu-methods script
# chmod a+x /etc/menu-methods/${package_name}
# Update ld.so cache
##: ldconfig
# Make our version of a program available
#update-alternatives
\
# --install /usr/bin/linux linux /usr/bin/linux-$version 100
\
# --slave /usr/share/man/man1/linux.1.gz linux.1.gz
\
# /usr/share/man/man1/linux-${version}.1.gz
# Tell ucf that the file in /usr/share/foo is the latest
# maintainer version, and let it handle how to manage the real
# confuguration file in /etc. This is how a static configuration
# file can be handled:
##:if which ucf >/dev/null 2>&1; then
##: ucf /usr/share/${package_name}/configuration
/etc/${package_name}.conf
##:fi
### We could also do this on the fly. The following is from Tore
### Anderson:
#. /usr/share/debconf/confmodule
### find out what the user answered.
# db_get foo/run_on_boot
# run_on_boot=$RET
# db_stop
### safely create a temporary file to generate our suggested
### configuration file.
# tempfile=`tempfile`
# cat << _eof > $tempfile
### Configuration file for Foo.
### this was answered by you, the user in a debconf dialogue
# RUNONBOOT=$run_on_boot
### this was not, as it has a sane default value.
# COLOUROFSKY=blue
#_eof
### Note that some versions of debconf do not release stdin, so
### the following invocation of ucf may not work, since the stdin
### is never coneected to ucfr.
### now, invoke ucf, which will take care of the rest, and ask
### the user if he wants to update his file, if it is modified.
#ucf $tempfile /etc/foo.conf
### done! now we'll just clear up our cruft.
#rm -f $tempfile
if [ -n "$initrd" ]; then
echo "Please manually create an initrd image"
fi
# There are three sub-cases:
if test "${2+set}" != set; then
# We're being installed by an ancient dpkg which doesn't remember
# which version was most recently configured, or even whether
# there is a most recently configured version.
: echo nop
elif test -z "$2" -o "$2" = "<unknown>"; then
# The package has not ever been configured on this system, or was
# purged since it was last configured.
: echo nop
else
# Version $2 is the most recently configured version of this
# package.
: echo nop
fi
;;
abort-upgrade)
# Back out of an attempt to upgrade this package FROM THIS VERSION
# to version $2. Undo the effects of "prerm upgrade $2".
##:
;;
abort-remove)
if test "$2" != in-favour; then
echo "$0: undocumented call to \`postinst $*'" 1>&2
exit 0
fi
# Back out of an attempt to remove this package, which was due to
# a conflict with package $3 (version $4). Undo the effects of
# "prerm remove in-favour $3 $4".
##:
;;
abort-deconfigure)
if test "$2" != in-favour -o "$5" != removing; then
echo "$0: undocumented call to \`postinst $*'" 1>&2
exit 0
fi
# Back out of an attempt to deconfigure this package, which was
# due to package $6 (version $7) which we depend on being removed
# to make way for package $3 (version $4). Undo the effects of
# "prerm deconfigure in-favour $3 $4 removing $6 $7".
##:
;;
*) echo "$0: didn't understand being called with \`$1'" 1>&2
exit 0;;
esac
# Install doc base documentation
##:if which install-docs >/dev/null 2>&1; then
##: if [ -e /usr/share/doc-base/${package_name} ]; then
##: install-docs -i /usr/share/doc-base/${package_name}
##: fi
##:fi
exit 0