Package: debian-installer Severity: minor Tags: patch During testing builds for sparc64 dual boot (2.6 and 2.4) I ran into a problem with the handling in localudebs: kernel udebs that are marked as optional are skipped by pkg-list if they are only available from localudebs (and not apt-gettable). I also noticed the wishlist item about making an apt source of localudebs, and the attached patch will do that. I've used dpkg-scanpackages (from dpkg-dev) to create a Packages.gz and set it so that Packages.gz will be recreated if a rebuild is called or after a clean. If there are no localudebs, that file will be empty; this works. A sources line for localudebs is always added to sources.list.udeb. Please check the changes in Makefile, as my skills there are extremely basic. TODO: - maybe localudebs support can be removed in some other places now, but it seemed that that would take them out of "needed" lists which would change behavior. - I noticed config/dir has "LOCALUDEBDIR = localudebs", but this is not actually used in the Makefile or anywhere... - add dpkg-dev to build dependencies
Index: Makefile =================================================================== --- Makefile (revision 30142) +++ Makefile (working copy) @@ -231,6 +231,7 @@ rm -f $(TEMP)/diskusage.txt rm -f $(TEMP)/all.utf rm -f $(TEMP)/unifont.bdf $(TREE)/lib/unifont.bgf + rm -f localudebs/Packages.gz rm -f pkg-lists/standard-udebs pkg-lists/kernel-module-udebs rm -rf $(TARGET) rm -rf $(TEMP) @@ -500,16 +501,21 @@ UDEBS = $(shell set -e; get-packages udeb update >&2; pkg-list $(TYPE) "$(DRIVER_FOR)" $(KERNEL_FLAVOUR) $(KERNELMAJOR) "$(SUBARCH)" $(KERNELIMAGEVERSION)) $(EXTRAS) # Get all required udebs and put them in UDEBDIR. -$(STAMPS)get_udebs-$(targetstring)-stamp: sources.list.udeb +$(STAMPS)get_udebs-$(targetstring)-stamp: localudebs/Packages.gz sources.list.udeb dh_testroot @rm -f $@ get-packages udeb $(UDEBS) @touch $@ +localudebs/Packages.gz: + # rebuild Packages.gz for localudebs + dpkg-scanpackages -u localudebs /dev/null | gzip >localudebs/Packages.gz + # Auto-generate a sources.list.type sources.list.udeb: (set -e; \ echo "# This file is automatically generated, edit $@.local instead."; \ + echo "deb file:$$(pwd)/ localudebs/"; \ if [ "$(MIRROR)x" != "x" ]; then \ echo "deb $(MIRROR) $(SUITE) main/debian-installer"; \ else \
Attachment:
pgp_zHZ4toenD.pgp
Description: PGP signature