In a kernel source package, which will be non-native, the kernel-wedge configuration should be placed under the debian/ directory.
copy-modules, gen-control, gen-deps, install-files: Allow the configuration directory to be specified as a command-line argument. --- commands/copy-modules | 19 ++++++++++--------- commands/gen-control | 17 +++++++++-------- commands/gen-deps | 11 ++++++----- commands/install-files | 15 ++++++++------- debian/changelog | 1 + 5 files changed, 34 insertions(+), 29 deletions(-) diff --git a/commands/copy-modules b/commands/copy-modules index 974347d..ad8fac8 100755 --- a/commands/copy-modules +++ b/commands/copy-modules @@ -81,6 +81,7 @@ processmodules() { version=$1-$2 flavour=$2 installedname=$3 +configdir=$(readlink -f ${4:-.}) arch=$(dpkg-architecture -qDEB_HOST_ARCH) os=$(dpkg-architecture -qDEB_HOST_ARCH_OS) home=$PWD @@ -102,12 +103,12 @@ if [ ! -d $moddir ]; then fi # The directory of modules lists to use. -if [ -d modules/$arch-$flavour ]; then - modlistdir=modules/$arch-$flavour -elif [ -d modules/$flavour ]; then - modlistdir=modules/$flavour +if [ -d $configdir/modules/$arch-$flavour ]; then + modlistdir=$configdir/modules/$arch-$flavour +elif [ -d $configdir/modules/$flavour ]; then + modlistdir=$configdir/modules/$flavour else - modlistdir=modules/$arch + modlistdir=$configdir/modules/$arch fi if [ "$os" = "linux" ] ; then @@ -132,9 +133,9 @@ if [ "$os" = "linux" ] ; then } ' $modulesdep | sort -k 2,2 > $tmpdir/deps - if [ ! -s $tmpdir/deps ] && [ ! -e $home/no-modules ]; then + if [ ! -s $tmpdir/deps ] && [ ! -e $configdir/no-modules ]; then echo "No module interdependencies found. This probably means your modules.dep is broken." >&2 - echo "If this is intentional, touch $home/no-modules" >&2 + echo "If this is intentional, touch $configdir/no-modules" >&2 exit 1 fi else @@ -144,7 +145,7 @@ fi mkdir $tmpdir/module-deps $tmpdir/module-list # generate module interrelationships from package-list file -kernel-wedge gen-deps $flavour > $tmpdir/module-deps.packages +kernel-wedge gen-deps $flavour $configdir > $tmpdir/module-deps.packages code=0 # loop over all udebs, sort that all dependent modules are processed first @@ -166,7 +167,7 @@ for i in $( # preprocess file, handle includes and excludes and sort so that # the joins work, no matter what the order of the input. - kernel-wedge preprocess $home/$modlistdir/$i | sort > $tmpdir/module-list/$i + kernel-wedge preprocess $modlistdir/$i | sort > $tmpdir/module-list/$i # exclude modules in exclude from dependency list join -2 2 -v 2 $tmpdir/exclude $tmpdir/deps | diff --git a/commands/gen-control b/commands/gen-control index 764144d..3f75211 100755 --- a/commands/gen-control +++ b/commands/gen-control @@ -12,8 +12,9 @@ my @builddeps; my %excluded; my $fixkernelversion = $ARGV[0]; +my $configdir = ($ARGV[1] || '.'); -if (open(EXCLUDED, "exclude-packages")) { +if (open(EXCLUDED, "$configdir/exclude-packages")) { while (<EXCLUDED>) { chomp; $excluded{$_}=1; @@ -21,7 +22,7 @@ if (open(EXCLUDED, "exclude-packages")) { close EXCLUDED; } -open(KVERS, "kernel-versions") || die "kernel-versions: $!"; +open(KVERS, "$configdir/kernel-versions") || die "kernel-versions: $!"; while (<KVERS>) { chomp; next if /^#/ || ! length; @@ -108,7 +109,7 @@ sub read_package_list close LIST; } read_package_list("/usr/share/kernel-wedge/package-list"); -read_package_list("package-list"); +read_package_list("$configdir/package-list"); foreach my $ver (@versions) { my ($arch, $kernelversion, $flavour) = @$ver; @@ -133,14 +134,14 @@ foreach my $ver (@versions) { # Check for a modules list file for this architecture and # package. my $modlistdir=""; - if (-d "modules/$arch-$flavour") { - $modlistdir="modules/$arch-$flavour"; + if (-d "$configdir/modules/$arch-$flavour") { + $modlistdir = "$configdir/modules/$arch-$flavour"; } - elsif (-d "modules/$flavour") { - $modlistdir="modules/$flavour"; + elsif (-d "$configdir/modules/$flavour") { + $modlistdir = "$configdir/modules/$flavour"; } else { - $modlistdir="modules/$arch"; + $modlistdir = "$configdir/modules/$arch"; } next unless -e "$modlistdir/".$package->("Package"); diff --git a/commands/gen-deps b/commands/gen-deps index 94e77be..9dfd610 100755 --- a/commands/gen-deps +++ b/commands/gen-deps @@ -7,6 +7,7 @@ my $arch=`dpkg-architecture -qDEB_HOST_ARCH`; chomp $arch; my $flavour=$ARGV[0]; +my $configdir = ($ARGV[1] || '.'); my @out; @@ -26,14 +27,14 @@ sub read_package_list my @depends=split(", ", $1); # Skip packages that are not built for this architecture. my $modlistdir=""; - if (-d "modules/$arch-$flavour") { - $modlistdir="modules/$arch-$flavour"; + if (-d "$configdir/modules/$arch-$flavour") { + $modlistdir = "$configdir/modules/$arch-$flavour"; } elsif (-d "modules/$flavour") { - $modlistdir="modules/$flavour"; + $modlistdir = "$configdir/modules/$flavour"; } else { - $modlistdir="modules/$arch"; + $modlistdir = "$configdir/modules/$arch"; } next unless -e "$modlistdir/$package"; foreach my $dep (@depends) { @@ -48,5 +49,5 @@ sub read_package_list } read_package_list("/usr/share/kernel-wedge/package-list"); -read_package_list("package-list"); +read_package_list("$configdir/package-list"); print sort @out; diff --git a/commands/install-files b/commands/install-files index 3cabf86..1be880a 100755 --- a/commands/install-files +++ b/commands/install-files @@ -15,8 +15,9 @@ chomp $hostarch; my $fixsourcedir = $ENV{SOURCEDIR}; my $fixkernelversion = $ARGV[0]; +my $configdir = ($ARGV[1] || '.'); -open(KVERS, "kernel-versions") || die "kernel-versions: $!"; +open(KVERS, "$configdir/kernel-versions") || die "kernel-versions: $!"; my $version = 0; while (<KVERS>) { chomp; @@ -66,14 +67,14 @@ while (<KVERS>) { } my $modlistdir; - if (-d "modules/$arch-$flavour") { - $modlistdir="modules/$arch-$flavour"; + if (-d "$configdir/modules/$arch-$flavour") { + $modlistdir = "$configdir/modules/$arch-$flavour"; } - elsif (-d "modules/$flavour") { - $modlistdir="modules/$flavour"; + elsif (-d "$configdir/modules/$flavour") { + $modlistdir = "$configdir/modules/$flavour"; } else { - $modlistdir="modules/$arch"; + $modlistdir = "$configdir/modules/$arch"; } if (! -e "$modlistdir/kernel-image") { @@ -126,7 +127,7 @@ while (<KVERS>) { "debian/kernel-image-$kernelversion-$flavour-di/usr/lib/$libdir-$installedname"); } - doit("kernel-wedge", "copy-modules", $kernelversion, $flavour, $installedname); + doit("kernel-wedge", "copy-modules", $kernelversion, $flavour, $installedname, $configdir); doit("kernel-wedge", "find-dups", "$kernelversion-$flavour"); doit("kernel-wedge", "strip-modules", "$kernelversion-$flavour"); } diff --git a/debian/changelog b/debian/changelog index 9cc2682..a19ae2d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,6 +10,7 @@ kernel-wedge (2.79) UNRELEASED; urgency=low [ Ben Hutchings ] * Allow kernel source packages to use kernel-wedge on themselves * Allow kernel ABI version to be specified as command-line argument + * Allow configuration files to be placed in a subdirectory -- Samuel Thibault <sthiba...@debian.org> Mon, 08 Aug 2011 18:34:12 +0200 -- 1.7.5.4
signature.asc
Description: This is a digitally signed message part