Package: u-boot
Severity: wishlist

Create binary package for each supported machine instead of for each
architecture. This should allow adding more devices without creating bloated
packages.

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (900, 'testing'), (800, 'unstable'), (800, 'stable'), (101, 
'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.34-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
diff -Naru debian.orig/control debian/control
--- debian.orig/control	2010-08-10 00:41:08.000000000 +0200
+++ debian/control	2010-08-10 03:25:16.000000000 +0200
@@ -7,15 +7,131 @@
 Vcs-Git: git://git.debian.org/collab-maint/u-boot.git
 Vcs-Browser: http://git.debian.org/?p=collab-maint/u-boot.git;a=summary
 
-Package: u-boot
-Architecture: any
+Package: u-boot-2010.06-sheevaplug
+Architecture: armel
 Section: admin
 Depends: ${shlibs:Depends}
 Conflicts: uboot-mkimage
 Replaces: uboot-mkimage
+Provides: u-boot
 Description: A boot loader for embedded systems
  Das U-Boot is a cross-platform bootloader for embedded systems,
  used as the default boot loader by several board vendors.  It is
  intended to be easy to port and to debug, and runs on many
  supported architectures, including PPC, ARM, MIPS, x86, m68k,
- NIOS, and Microblaze.
+ NIOS, and Microblaze. This package contains version for Marvell
+ Sheevaplug.
+
+Package: u-boot-2010.06-guruplug
+Architecture: armel
+Section: admin
+Depends: ${shlibs:Depends}
+Conflicts: uboot-mkimage
+Replaces: uboot-mkimage
+Provides: u-boot
+Description: A boot loader for embedded systems
+ Das U-Boot is a cross-platform bootloader for embedded systems,
+ used as the default boot loader by several board vendors.  It is
+ intended to be easy to port and to debug, and runs on many
+ supported architectures, including PPC, ARM, MIPS, x86, m68k,
+ NIOS, and Microblaze. This package contains version for Marvell
+ Guruplug.
+
+Package: u-boot-2010.06-ZUMA
+Architecture: powerpc
+Section: admin
+Depends: ${shlibs:Depends}
+Conflicts: uboot-mkimage
+Replaces: uboot-mkimage
+Provides: u-boot
+Description: A boot loader for embedded systems
+ Das U-Boot is a cross-platform bootloader for embedded systems,
+ used as the default boot loader by several board vendors.  It is
+ intended to be easy to port and to debug, and runs on many
+ supported architectures, including PPC, ARM, MIPS, x86, m68k,
+ NIOS, and Microblaze. This package contains version for ZUMA.
+
+Package: u-boot-2010.06-eNET
+Architecture: i386
+Section: admin
+Depends: ${shlibs:Depends}
+Conflicts: uboot-mkimage
+Replaces: uboot-mkimage
+Provides: u-boot
+Description: A boot loader for embedded systems
+ Das U-Boot is a cross-platform bootloader for embedded systems,
+ used as the default boot loader by several board vendors.  It is
+ intended to be easy to port and to debug, and runs on many
+ supported architectures, including PPC, ARM, MIPS, x86, m68k,
+ NIOS, and Microblaze. This package contains version for eNET.
+
+Package: u-boot-2010.06-qemu_mips
+Architecture: mips
+Section: admin
+Depends: ${shlibs:Depends}
+Conflicts: uboot-mkimage
+Replaces: uboot-mkimage
+Provides: u-boot
+Description: A boot loader for embedded systems
+ Das U-Boot is a cross-platform bootloader for embedded systems,
+ used as the default boot loader by several board vendors.  It is
+ intended to be easy to port and to debug, and runs on many
+ supported architectures, including PPC, ARM, MIPS, x86, m68k,
+ NIOS, and Microblaze. This package contains version for QEMU/mips.
+
+Package: u-boot-2010.06-dbau1100
+Architecture: mipsel
+Section: admin
+Depends: ${shlibs:Depends}
+Conflicts: uboot-mkimage
+Replaces: uboot-mkimage
+Provides: u-boot
+Description: A boot loader for embedded systems
+ Das U-Boot is a cross-platform bootloader for embedded systems,
+ used as the default boot loader by several board vendors.  It is
+ intended to be easy to port and to debug, and runs on many
+ supported architectures, including PPC, ARM, MIPS, x86, m68k,
+ NIOS, and Microblaze. This package contains version for DBAU1100.
+
+Package: u-boot-2010.06-hammerhead
+Architecture: avr32
+Section: admin
+Depends: ${shlibs:Depends}
+Conflicts: uboot-mkimage
+Replaces: uboot-mkimage
+Provides: u-boot
+Description: A boot loader for embedded systems
+ Das U-Boot is a cross-platform bootloader for embedded systems,
+ used as the default boot loader by several board vendors.  It is
+ intended to be easy to port and to debug, and runs on many
+ supported architectures, including PPC, ARM, MIPS, x86, m68k,
+ NIOS, and Microblaze. This package contains version for Hammerhead.
+
+Package: u-boot-2010.06-sh7785lcr_32bit
+Architecture: sh4
+Section: admin
+Depends: ${shlibs:Depends}
+Conflicts: uboot-mkimage
+Replaces: uboot-mkimage
+Provides: u-boot
+Description: A boot loader for embedded systems
+ Das U-Boot is a cross-platform bootloader for embedded systems,
+ used as the default boot loader by several board vendors.  It is
+ intended to be easy to port and to debug, and runs on many
+ supported architectures, including PPC, ARM, MIPS, x86, m68k,
+ NIOS, and Microblaze. This package contains version for
+ sh7785lcr_32bit.
+
+Package: u-boot-2010.06-r2dplus
+Architecture: sh4
+Section: admin
+Depends: ${shlibs:Depends}
+Conflicts: uboot-mkimage
+Replaces: uboot-mkimage
+Provides: u-boot
+Description: A boot loader for embedded systems
+ Das U-Boot is a cross-platform bootloader for embedded systems,
+ used as the default boot loader by several board vendors.  It is
+ intended to be easy to port and to debug, and runs on many
+ supported architectures, including PPC, ARM, MIPS, x86, m68k,
+ NIOS, and Microblaze. This package contains version for r2dplus.
diff -Naru debian.orig/files debian/files
diff -Naru debian.orig/patches/debian-changes-2010.06-1 debian/patches/debian-changes-2010.06-1
diff -Naru debian.orig/patches/series debian/patches/series
diff -Naru debian.orig/rules debian/rules
--- debian.orig/rules	2010-08-10 00:41:08.000000000 +0200
+++ debian/rules	2010-08-10 03:17:35.000000000 +0200
@@ -9,64 +9,31 @@
 
 DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
 
-ifeq ($(DEB_HOST_ARCH),powerpc)
-UBOOT_TARGETS = ZUMA
-TARGET_FORMAT = u-boot.img
-else
-ifeq ($(DEB_HOST_ARCH),armel)
-UBOOT_TARGETS = sheevaplug guruplug
-TARGET_FORMAT = u-boot.kwb
-else
-ifeq ($(DEB_HOST_ARCH),i386)
-UBOOT_TARGETS = eNET
-TARGET_FORMAT = u-boot.bin
-else
-ifeq ($(DEB_HOST_ARCH),mips)
-UBOOT_TARGETS = qemu_mips
-TARGET_FORMAT = u-boot.img
-else
-ifeq ($(DEB_HOST_ARCH),mipsel)
-UBOOT_TARGETS = dbau1100
-TARGET_FORMAT = u-boot.img
-else
-ifeq ($(DEB_HOST_ARCH),avr32)
-UBOOT_TARGETS = hammerhead
-TARGET_FORMAT = u-boot.img
-else
-ifeq ($(DEB_HOST_ARCH),sh4)
-UBOOT_TARGETS = sh7785lcr_32bit r2dplus
-TARGET_FORMAT = u-boot.img
-else
-UBOOT_TARGETS =
-TARGET_FORMAT =
-endif
-endif
-endif
-endif
-endif
-endif
-endif
+build:		build-arch
 
-build:
+build-arch:
+	$(MAKE) -f debian/rules.arch build_$(DEB_HOST_ARCH)
+
+build-arch-device:
+	$(MAKE) -f debian/rules build-arch_$(VER)_$(DEB_HOST_ARCH)_$(FLAVOUR)
+
+build-arch_$(VER)_$(DEB_HOST_ARCH)_$(FLAVOUR):
 	$(checkdir)
 
 	$(MAKE) mrproper
+	$(MAKE) clean
+
+	$(MAKE) $(FLAVOUR)_config
 
 	$(MAKE) tools
-	$(INSTALL) -d -m 755 debian/$(package)/usr/bin
-	$(INSTALL) -p -m 755 tools/mkimage debian/$(package)/usr/bin/
+	$(INSTALL) -d -m 755 debian/$(package)-$(VER)-$(FLAVOUR)/usr/bin
+	$(INSTALL) -p -m 755 tools/mkimage debian/$(package)-$(VER)-$(FLAVOUR)/usr/bin/
 
-ifneq ($(UBOOT_TARGETS),)
-	for i in $(UBOOT_TARGETS); do \
-	$(MAKE) clean; \
-	$(MAKE) $${i}_config; \
-	$(INSTALL) -d -m 755 debian/$(package)/usr/lib/$(package)/$${i}; \
-        $(MAKE) $(TARGET_FORMAT) && \
-	$(INSTALL) -p -m 644 $(TARGET_FORMAT) debian/$(package)/usr/lib/$(package)/$${i}; \
-	done
-endif
+	$(INSTALL) -d -m 755 debian/$(package)-$(VER)-$(FLAVOUR)/usr/lib/$(package)
+	$(MAKE) $(TARGET_FORMAT)
+	$(INSTALL) -p -m 644 $(TARGET_FORMAT) debian/$(package)-$(VER)-$(FLAVOUR)/usr/lib/$(package)
 
-	touch build
+	touch build-$(DEB_HOST_ARCH)-$(FLAVOUR)
 
 clean:
 	$(checkdir)
@@ -79,26 +46,32 @@
 binary-indep:	checkroot
 	$(checkdir)
 
-binary-arch:	checkroot build
+binary-arch:	checkroot
+	$(MAKE) -f debian/rules.arch binary-arch_$(DEB_HOST_ARCH)
+
+binary-arch-device:
+	$(MAKE) -f debian/rules binary-arch_$(VER)_$(DEB_HOST_ARCH)_$(FLAVOUR)
+
+binary-arch_$(VER)_$(DEB_HOST_ARCH)_$(FLAVOUR): build-$(DEB_HOST_ARCH)-$(FLAVOUR)
 	$(checkdir)
 
-	cd debian/$(package) && $(INSTALL_DIR) usr/share/doc/$(package) \
+	cd debian/$(package)-$(VER)-$(FLAVOUR) && $(INSTALL_DIR) usr/share/doc/$(package) \
 		DEBIAN
 
-	$(INSTALL_FILE) debian/README.Debian debian/$(package)/usr/share/doc/$(package)/
-	$(INSTALL_FILE) CHANGELOG debian/$(package)/usr/share/doc/$(package)/changelog
-	$(INSTALL_FILE) debian/copyright debian/$(package)/usr/share/doc/$(package)/copyright
-	$(INSTALL_FILE) debian/changelog debian/$(package)/usr/share/doc/$(package)/changelog.Debian
-
-	gzip -9f `find debian/$(package)/usr/share/doc -type f ! -name "copyright"`
-	dpkg-shlibdeps -Tdebian/substvars debian/$(package)/usr/bin/mkimage
-	dpkg-gencontrol -ldebian/changelog -isp -p$(package) -Tdebian/substvars -Pdebian/u-boot
-	cd debian/$(package) && find * -type f ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum > DEBIAN/md5sums
+	$(INSTALL_FILE) debian/README.Debian debian/$(package)-$(VER)-$(FLAVOUR)/usr/share/doc/$(package)/
+	$(INSTALL_FILE) CHANGELOG debian/$(package)-$(VER)-$(FLAVOUR)/usr/share/doc/$(package)/changelog
+	$(INSTALL_FILE) debian/copyright debian/$(package)-$(VER)-$(FLAVOUR)/usr/share/doc/$(package)/copyright
+	$(INSTALL_FILE) debian/changelog debian/$(package)-$(VER)-$(FLAVOUR)/usr/share/doc/$(package)/changelog.Debian
+
+	gzip -9f `find debian/$(package)-$(VER)-$(FLAVOUR)/usr/share/doc -type f ! -name "copyright"`
+	dpkg-shlibdeps -Tdebian/substvars debian/$(package)-$(VER)-$(FLAVOUR)/usr/bin/mkimage
+	dpkg-gencontrol -ldebian/changelog -isp -p$(package)-$(VER)-$(FLAVOUR) -Tdebian/substvars -Pdebian/$(package)-$(VER)-$(FLAVOUR)
+	cd debian/$(package)-$(VER)-$(FLAVOUR) && find * -type f ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum > DEBIAN/md5sums
 
-	chown -R root:root debian/$(package)
-	chmod -R go=rX debian/$(package)
+	chown -R root:root debian/$(package)-$(VER)-$(FLAVOUR)
+	chmod -R go=rX debian/$(package)-$(VER)-$(FLAVOUR)
 
-	dpkg --build debian/$(package) ..
+	dpkg --build debian/$(package)-$(VER)-$(FLAVOUR) ..
 
 define checkdir
 	test -f debian/rules
diff -Naru debian.orig/rules.arch debian/rules.arch
--- debian.orig/rules.arch	1970-01-01 01:00:00.000000000 +0100
+++ debian/rules.arch	2010-08-10 03:21:40.000000000 +0200
@@ -0,0 +1,63 @@
+build_armel: build_armel_sheevaplug build_armel_guruplug
+build_armel_sheevaplug:
+	$(MAKE) -f debian/rules build-arch-device VER='2010.06' FLAVOUR='sheevaplug' TARGET_FORMAT='u-boot.kwb'
+build_armel_guruplug:
+	$(MAKE) -f debian/rules build-arch-device VER='2010.06' FLAVOUR='guruplug' TARGET_FORMAT='u-boot.kwb'
+
+build_powerpc: build_powerpc_ZUMA
+build_powerpc_ZUMA:
+	$(MAKE) -f debian/rules build-arch-device VER='2010.06' FLAVOUR='ZUMA' TARGET_FORMAT='u-boot.img'
+
+build_i386: build_i386_eNET
+build_i386_eNET:
+	$(MAKE) -f debian/rules build-arch-device VER='2010.06' FLAVOUR='eNET' TARGET_FORMAT='u-boot.bin'
+
+build_mips: build_mips_qemu_mips
+build_mips_qemu_mips:
+	$(MAKE) -f debian/rules build-arch-device VER='2010.06'	FLAVOUR='qemu-mips' TARGET_FORMAT='u-boot.img'
+
+build_mipsel: build_mipsel_dbau1100
+build_mipsel_dbau1100:
+	$(MAKE) -f debian/rules build-arch-device VER='2010.06' FLAVOUR='dbau1100' TARGET_FORMAT='u-boot.img'
+
+build_avr32: build_avr32_hammerhead
+build_avr32_hammerhead:
+	$(MAKE) -f debian/rules build-arch-device VER='2010.06' FLAVOUR='hammerhead' TARGET_FORMAT='u-boot.img'
+
+build_sh4: build_sh4_sh7785lcr_32bit build_sh4_r2dplus
+build_sh4_sh7785lcr_32bit:
+	$(MAKE) -f debian/rules build-arch-device VER='2010.06' FLAVOUR='sh7785lcr_32bit' TARGET_FORMAT='u-boot.img'
+build_sh4_r2dplus:
+	$(MAKE) -f debian/rules build-arch-device VER='2010.06' FLAVOUR='r2dplus' TARGET_FORMAT='u-boot.img'
+
+binary-arch_armel: binary-arch_armel_sheevaplug binary-arch_armel_guruplug
+binary-arch_armel_sheevaplug:
+	$(MAKE) -f debian/rules binary-arch-device VER='2010.06' FLAVOUR='sheevaplug' TARGET_FORMAT='u-boot.kwb'
+binary-arch_armel_guruplug:
+	$(MAKE) -f debian/rules binary-arch-device VER='2010.06' FLAVOUR='guruplug' TARGET_FORMAT='u-boot.kwb'
+
+binary-arch_powerpc: binary-arch_powerpc_ZUMA
+binary-arch_powerpc_ZUMA:
+	$(MAKE) -f debian/rules binary-arch-device VER='2010.06' FLAVOUR='ZUMA' TARGET_FORMAT='u-boot.img'
+
+binary-arch_i386: binary-arch_i386_eNET
+binary-arch_i386_eNET:
+	$(MAKE) -f debian/rules binary-arch-device VER='2010.06' FLAVOUR='eNET' TARGET_FORMAT='u-boot.bin'
+
+binary-arch_mips: binary-arch_mips_qemu_mips
+binary-arch_mips_qemu_mips:
+	$(MAKE) -f debian/rules binary-arch-device VER='2010.06' FLAVOUR='qemu_mips' TARGET_FORMAT='u-boot.img'
+
+binary-arch_mipsel: binary-arch_mipsel_dbau1100
+binary-arch_mipsel_dbau1100:
+	$(MAKE) -f debian/rules binary-arch-device VER='2010.06' FLAVOUR='dbau1100' TARGET_FORMAT='u-boot.img'
+
+binary-arch_avr32: binary-arch_avr32_hammerhead
+binary-arch_avr32_hammerhead:
+	$(MAKE) -f debian/rules binary-arch-device VER='2010.06' FLAVOUR='hammerhead' TARGET_FORMAT='u-boot.img'
+
+binary-arch_sh4: binary-arch_sh4_sh7785lcr_32bit binary-arch_sh4_r2dplus
+binary-arch_sh4_sh7785lcr_32bit:
+	$(MAKE) -f debian/rules binary-arch-device VER='2010.06' FLAVOUR='sh7785lcr_32bit' TARGET_FORMAT='u-boot.img'
+binary-arch_sh4_r2dplus:
+	$(MAKE) -f debian/rules binary-arch-device VER='2010.06' FLAVOUR='r2dplus' TARGET_FORMAT='u-boot.img'
diff -Naru debian.orig/substvars debian/substvars

Reply via email to