[PATCH 2/3] UBUNTU: Add support for including firmware in udebs
Andy Whitcroft
apw at canonical.com
Thu Jun 11 12:52:56 UTC 2009
On Tue, Jun 09, 2009 at 04:44:04PM +0100, Colin Watson wrote:
> Add support for copying firmware files into udebs. This is essentially a
> copy-and-paste job; sorry ...
Heh yeah it is, but it all looks in order.
-apw
> Signed-off-by: Colin Watson <cjwatson at canonical.com>
> ---
> debian/rules | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
> 1 files changed, 56 insertions(+), 2 deletions(-)
>
> diff --git a/debian/rules b/debian/rules
> index 443babc..009fb32 100755
> --- a/debian/rules
> +++ b/debian/rules
> @@ -81,10 +81,13 @@ debian/control.stub: debian/d-i/kernel-versions.in \
>
> .PHONY: debian/control
> debian/control: debian/control.stub
> - rm -rf $(builddir)/modules $(builddir)/kernel-versions \
> - $(builddir)/package-list $(builddir)/debian
> + rm -rf $(builddir)/modules $(builddir)/firmware \
> + $(builddir)/kernel-versions $(builddir)/package-list \
> + $(builddir)/debian
> mkdir -p $(builddir)/modules/$(arch)/
> cp debian/d-i/modules/* $(builddir)/modules/$(arch)/
> + mkdir -p $(builddir)/firmware/$(arch)/
> + cp debian/d-i/firmware/* $(builddir)/firmware/$(arch)/
> cp debian/d-i/package-list debian/d-i/kernel-versions $(builddir)/
> touch $(builddir)/modules/$(arch)/kernel-image
> # kernel-wedge needs to poke around in debian/
> @@ -95,6 +98,10 @@ debian/control: debian/control.stub
> cp debian/d-i/modules-$(arch)/* \
> $(builddir)/modules/$(arch)/; \
> fi
> + if [ -d debian/d-i/firmware-$(arch) ]; then \
> + cp debian/d-i/firmware-$(arch)/* \
> + $(builddir)/firmware/$(arch)/; \
> + fi
>
> # Remove unwanted stuff for this architecture
> if [ -r "debian/d-i/exclude-modules.$(arch)" ]; then \
> @@ -102,6 +109,11 @@ debian/control: debian/control.stub
> ls $(builddir)/modules/$(arch)/) | sort | uniq -d | \
> (cd $(builddir)/modules/$(arch)/; xargs rm -f); \
> fi
> + if [ -r "debian/d-i/exclude-firmware.$(arch)" ]; then \
> + (cat debian/d-i/exclude-firmware.$(arch); \
> + ls $(builddir)/firmware/$(arch)/) | sort | uniq -d | \
> + (cd $(builddir)/firmware/$(arch)/; xargs rm -f); \
> + fi
>
> # Per flavour module lists
> flavour_modules=`ls debian/d-i/modules.$(arch)-* 2>/dev/null` \
> @@ -115,6 +127,17 @@ debian/control: debian/control.stub
> touch $(builddir)/modules/$(arch)-$$name/kernel-image; \
> done; \
> fi
> + flavour_firmware=`ls debian/d-i/firmware.$(arch)-* 2>/dev/null` \
> + || true; \
> + if [ "$$flavour_firmware" != "" ]; then \
> + for flav in $$flavour_firmware; do \
> + name=`echo $$flav | sed 's/.*\/firmware.$(arch)-//'`; \
> + mkdir $(builddir)/firmware/$(arch)-$$name; \
> + (cd $(builddir)/firmware/; tar cf - `cat ../$$flav`) | \
> + (cd $(builddir)/firmware/$(arch)-$$name/; tar xf -);\
> + touch $(builddir)/firmware/$(arch)-$$name/kernel-image; \
> + done; \
> + fi
>
> # Some files may need to differ between flavours
> flavour_module_dirs=`ls -d debian/d-i/modules-$(arch)-* 2>/dev/null`\
> @@ -128,6 +151,17 @@ debian/control: debian/control.stub
> cp $$flav/* $(builddir)/modules/$(arch)-$$name/; \
> done; \
> fi
> + flavour_firmware_dirs=`ls -d debian/d-i/firmware-$(arch)-* 2>/dev/null`\
> + || true; \
> + if [ "$$flavour_firmware_dirs" ]; then \
> + for flav in $$flavour_firmware_dirs; do \
> + name=`echo $$flav | sed 's/.*\/firmware-$(arch)-//'`; \
> + [ -d $(builddir)/firmware/$(arch)-$$name ] || \
> + cp -a $(builddir)/firmware/$(arch) \
> + firmware/$(arch)-$$name; \
> + cp $$flav/* $(builddir)/firmware/$(arch)-$$name/; \
> + done; \
> + fi
>
> # Remove unwanted stuff for each flavour
> flavour_exclude=`ls debian/d-i/exclude-modules.$(arch)-* 2>/dev/null`\
> @@ -145,11 +179,31 @@ debian/control: debian/control.stub
> xargs rm -f); \
> done; \
> fi
> + flavour_exclude=`ls debian/d-i/exclude-firmware.$(arch)-* 2>/dev/null`\
> + || true; \
> + if [ "$$flavour_exclude" ]; then \
> + for flav in $$flavour_exclude; do \
> + name=`echo $$flav | sed 's/.*\/exclude-firmware.$(arch)-//'`;\
> + [ -d $(builddir)/firmware/$(arch)-$$name ] || \
> + cp -a $(builddir)/firmware/$(arch) \
> + $(builddir)/firmware/$(arch)-$$name; \
> + (cat $$flav; \
> + ls $(builddir)/firmware/$(arch)-$$name) | \
> + sort | uniq -d | \
> + (cd $(builddir)/firmware/$(arch)-$$name/; \
> + xargs rm -f); \
> + done; \
> + fi
>
> if [ ! -d $(builddir)/modules/$(build_arch) ]; then \
> mkdir -p $(builddir)/modules/$(build_arch); \
> cp $(builddir)/modules/$(arch)/* \
> $(builddir)/modules/$(build_arch); \
> fi
> + if [ ! -d $(builddir)/firmware/$(build_arch) ]; then \
> + mkdir -p $(builddir)/firmware/$(build_arch); \
> + cp $(builddir)/firmware/$(arch)/* \
> + $(builddir)/firmware/$(build_arch); \
> + fi
>
> cd $(builddir) && kernel-wedge gen-control > debian/control
> --
> 1.6.3.1
>
>
> --
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
More information about the kernel-team
mailing list