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 <sthibault@debian.org> Mon, 08 Aug 2011 18:34:12 +0200
--
1.7.5.4
Attachment:
signature.asc
Description: This is a digitally signed message part