Here is a succested design description for a mechanism to install extra packages into /target/. It is not yet implemented, but it should be mostly cut-n-paste from existing code. Comments?
I plan to check this into debian-installer/doc/dpkginstall.txt if the design is accepted. The idea is to make it possible to request packages before base-installer is installed, and at any point before prebaseconfig is executed. When /target/ or /cdrom/ is umounted, it is to late to install extra packages. Installing extra packages into /target/ ======================================= The udeb packages can request extra packages to be installed into /target/. One way to use this is for grub-installer to request the grub package to be installed, making it easier to set up the grub boot loader. The packages will be queued for installation until base-installer is executed. At this point, the queued packages will be installed, and any requests for extra packages will be executed immediately. Usage ----- The postinst or prebaseconfig.d script for packages call a script to queue or install a package. dpkginstall <package> This script have the following return values: 0 The package is installed, or was successfully installed into /target/ 1 The package is now queued for installation 2 The package failed to install into /target/ (it was missing, or something else was wrong). Implementation -------------- The script will check if base-installer was successfully completed, and in this case will run 'apt-get install' try to fetch and install the packages. If base-installer isn't completed, it will add the package name to /etc/dpkginstall-queue.conf. At the end of the base-installer postinst script, it will check this file and install the packages listed in the file, something like this: for pkg in `cat /etc/dpkg-queue.conf` do dpkg-doinstall "$pkg" done Files ----- [Is the file names any good? Should some of them be renamed?] /usr/bin/dpkg-install - request a package /usr/bin/dpkg-doinstall - try to install a package into /target/ /etc/dpkg-queue.conf - package queue, emptied in base-installer postinst /etc/base-installer-done - flag file created when base-installer completes Comments -------- The udeb kernel-installer can be changed to call 'dpkg-install <kernel>' instead of installing the package manually. The lilo and grub package can call 'dpkg-install {lilo|grub}' before they start to use the grub or lilo programs in /target/. The brltty-udeb package can call 'dpkg-install brltty' in its postinst and make sure also brltty is installed into /target/. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]