[PATCH 3/4] UBUNTU: Extend debian/d-i/ modules handling to make armel easier to support
Colin Watson
cjwatson at ubuntu.com
Mon Nov 24 13:43:57 UTC 2008
Support files in debian/d-i/modules-$(arch)/ and
debian/d-i/modules-$(arch)-$(flavour)/, whose contents override those in
debian/d-i/modules/.
Support per-flavour module exclusions, listed in
debian/d-i/exclude-modules.$(arch)-$(flavour).
This makes it easier to support d-i modules for armel, which has some
variation between flavours and significant variation from other
architectures.
Signed-off-by: Colin Watson <cjwatson at canonical.com>
---
debian/rules | 43 +++++++++++++++++++++++++++++++++++++------
1 files changed, 37 insertions(+), 6 deletions(-)
diff --git a/debian/rules b/debian/rules
index 47b37eb..f661442 100755
--- a/debian/rules
+++ b/debian/rules
@@ -88,6 +88,18 @@ debian/control: debian/control.stub
cp debian/d-i/package-list debian/d-i/kernel-versions .
touch modules/$(arch)/kernel-image
+ # Some files may need to differ between architectures
+ if [ -d debian/d-i/modules-$(arch) ]; then \
+ cp debian/d-i/modules-$(arch)/* modules/$(arch)/; \
+ fi
+
+ # Remove unwanted stuff for this architecture
+ if [ -r "debian/d-i/exclude-modules.$(arch)" ]; then \
+ (cat debian/d-i/exclude-modules.$(arch); \
+ ls modules/$(arch)/) | sort | uniq -d | \
+ (cd modules/$(arch)/; xargs rm -f); \
+ fi
+
# Per flavour module lists
flavour_modules=`ls debian/d-i/modules.$(arch)-* 2>/dev/null` \
|| true; \
@@ -95,17 +107,36 @@ debian/control: debian/control.stub
for flav in $$flavour_modules; do \
name=`echo $$flav | sed 's/.*\/modules.$(arch)-//'`; \
mkdir modules/$(arch)-$$name; \
- (cd debian/d-i/modules/; tar cf - `cat ../../../$$flav`) |\
+ (cd modules/; tar cf - `cat ../$$flav`) | \
(cd modules/$(arch)-$$name/; tar xf -); \
touch modules/$(arch)-$$name/kernel-image; \
done; \
fi
- # Remove unwanted stuff
- if [ -r "debian/d-i/exclude-modules.$(arch)" ]; then \
- (cat debian/d-i/exclude-modules.$(arch); \
- ls modules/$(arch)/) | sort | uniq -d | \
- (cd modules/$(arch)/; xargs rm -f); \
+ # Some files may need to differ between flavours
+ flavour_module_dirs=`ls -d debian/d-i/modules-$(arch)-* 2>/dev/null`\
+ || true; \
+ if [ "$$flavour_module_dirs" ]; then \
+ for flav in $$flavour_module_dirs; do \
+ name=`echo $$flav | sed 's/.*\/modules-$(arch)-//'`; \
+ [ -d modules/$(arch)-$$name ] || \
+ cp -a modules/$(arch) modules/$(arch)-$$name; \
+ cp $$flav/* modules/$(arch)-$$name/; \
+ done; \
+ fi
+
+ # Remove unwanted stuff for each flavour
+ flavour_exclude=`ls debian/d-i/exclude-modules.$(arch)-* 2>/dev/null`\
+ || true; \
+ if [ "$$flavour_exclude" ]; then \
+ for flav in $$flavour_exclude; do \
+ name=`echo $$flav | sed 's/.*\/exclude-modules.$(arch)-//'`;\
+ [ -d modules/$(arch)-$$name ] || \
+ cp -a modules/$(arch) modules/$(arch)-$$name; \
+ (cat $$flav; \
+ ls modules/$(arch)-$$name) | sort | uniq -d | \
+ (cd modules/$(arch)-$$name/; xargs rm -f); \
+ done; \
fi
if [ ! -d modules/$(build_arch) ]; then \
--
1.5.6.3
More information about the kernel-team
mailing list