[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: