kernel-package (10.004) heading for experimental
Hi folks,
This is the big one. The kernel image packages produced now
use debconf to ask questions. This version has been tested as best I
can -- I created all the kernel packages, individually, as well as
the make-kpkg buildpackage; I tried both with and withoug --initrd,
and I have installed 2.6.14 kernels on my i386 hardware to ensure the
debconf stuff at least works for me in a brand new UML instance.
This is the last version to go into experimental; I'll wait
for bug report, and fix some recent reports, and upload to Sid in a
day or so. So please test this version.
manoj
kernel-package (10.004) experimental; urgency=low
* Bug fix: "using debconf", thanks to Robert Millan (Closes: #115884)
* Bug fix: "does not install non-interactively", thanks to Matt Kraai
(Closes: #247782)
* This fine tunes the dependencies between targets. All of the package
building targets are ones that insert themselves into the normal flow
of policy specified targets, so they must hook themselves into the
stream. That means, in essence, that they must depend on the configure
and corresponding build targets (with stamps) and ensure that the
prep work is all done before they are invoked. The advantage is that
nothing is going to be remade more often than it needs to. It also
means we do not need to produce as many stamp files. So, the only
dependencies on any of the intermediate targets are targets that have
not been registered into the ladder created in rulesets/common/targets.mk
* The kernel image maintainer scripts have been greatly
changed. Firstly, they now use debconf; and a number of questions
have been moved to the config file (create-kimage-link-$version,
old-initrd-link, old-dir-initrd-link, old-system-map-link) while
others are asked conditionally in the postinst (depmod-error,
depmod-error-initrd, bootloader-test-error, bootloader-error). The
postinst has also become far less verbose; the users are far better
educated a decade after this was written, and there are other sources
of information about booting than the postinst of a kernel image.
* The preinst also uses debconf. All the questions asked are still here
-- we just use debconf to ask the user. Also, the priority, and need
to break non-interactive installs was re-evaluated, and the preinst
breaks in far fewer cases than it did before.
* Second, the postinst gets rid of the code that generated boot floppies
and created lilo.conf (that latter was probably illegal under current
policy anyway). The do_boot_enable and do_boot_floppy configuration
variables in /etc/kernel-img.conf are now invalid.
* Also, the source tree is not automatically cleaned; the do_clean
configuration variable, and the environment variable CLEAN_SOURCE are
now control if the source tree is optionally cleaned after the kernel
image package is built.
================ more gory details ===================================
* kernel/ruleset/local.mk (CONFIG-common): since some of the others
depend on it, only stamp-conf/debian remains on this target
(CONFIG-arch): moved .config here -- the headers and image targets are
the most likely to need this done.
(CONFIG/kernel): moved conf.vars stamp-conf/kernel out here, so that
stamp-conf/debian and .config shall be already done by the time they
are invoked.
(BUILD-common): Before any building is done, we should ensure that all
the sanity checks are met -- instead of bombing out _after_ a lengthy
build process.
(debian): Make it depend on a target with a proper stamp, so it is not
invoked over and over again.
All of the package building targets are ones that insert themselves
into the normal flow of policy specified targets, so they must hook
themselves into the stream. That means, in essence, that they must
depend on the configure and corresponding build targets (with stamps)
and ensure that the prep work is all done before they are invoked.
(CLEAN/$(i_package)): Ensure that the templates.master, and the
templates, are created even on clean, for the kernel image package.
* kernel/ruleset/targets/headers.mk (install/$(h_package)): Since we have
taken care to insert this target into the flow specified in
rulesets/common/targets.mk, we need not have any dependencies here. The
advantage is that nothing is going tobe remade more often than it needs
to. It also means we do not need to produce a stamp file ourselves.
* kernel/ruleset/targets/manual.mk (install/$(m_package)): Minimize the
dependencies for this target -- we are reduced to only having targets
that have not been registered into the ladder created in
rulesets/common/targets.mk
* kernel/ruleset/targets/source.mk (install/$(s_package)): Reduce
dependencies, for the reasons cited above.
(binary/$(s_package)): Ditto.
* kernel/ruleset/targets/target.mk (.config): Ditto
(conf.vars): add a test to ensure we are in the proper directory
(stamp-conf/kernel): Reduce unneeded dependencies.
* kernel/pkg/image/postinst: This file has been greatly changed. Firstly,
it uses debconf; and gets rid of the code that generated boot floppies
and created lilo.conf (that latter was probably illegal under current
policy anyway). A number of questions have been moved to the config file
(create-kimage-link-$version, old-initrd-link, old-dir-initrd-link,
old-system-map-link) while others are asked conditionally in the
postinst (depmod-error, depmod-error-initrd, bootloader-test-error,
bootloader-error). The postinst has also become far less verbose; the
users are far better educated a decade after this was written, and
there are other sources of information about booting than the postinst
of a kernel image.
* kernel/pkg/image/postrm: Added variable $package_name
* kernel/pkg/image/preinst (check): This is the other file to have
undergone debconfication. All the questions asked are still here -- we
just use debconf to ask the user. Also, the priority, and need to
break non-interactive installs was re-evaluated, and the preinst
breaks in far fewer cases than it did before.
* kernel/pkg/image/prerm: Added variable $package_name
* kernel/rules: Since we now create a debconfisticated package,we include
debconf related rules.
* kernel/ruleset/targets/image.mk (debian/$(i_package)): Add a config
script, and a templates.master file for debconf, with the proper
substitutions.
* kernel/templates.in (Template): New file. All the templates for the
questions to be asked during kernel image package installation.
* kernel/pkg/image/config: New file. This contains all the questions,
usually acted upon during the postinst, that can be asked before the
package is unpacked.
* kernel-img.conf.5: Get rid of the variables that has the postinst
script for kernel images create a boot floppy, and also the do boot
enable option, which is now synonymous with the boot loader options.
--
"What do you call a boomerang that doesn't work? A stick!" Bill
Kirchenbaum, comedian -
Manoj Srivastava <srivasta@acm.org> <http://www.golden-gryphon.com/>
1024D/BF24424C print 4966 F272 D093 B493 410B 924B 21BA DABB BF24 424C
Reply to: