diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2009-12-14 17:22:38 +0000 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2009-12-14 17:22:38 +0000 |
commit | c3e80cbc9f3fb072ac917124d99372305a9e70c7 (patch) | |
tree | 0c4c6a9846eb4e645394010eb141027800376123 /pkgs/os-specific | |
parent | 03b4efe9c85ecb923210f8c19bfc5ff4db61812c (diff) | |
download | nixlib-c3e80cbc9f3fb072ac917124d99372305a9e70c7.tar nixlib-c3e80cbc9f3fb072ac917124d99372305a9e70c7.tar.gz nixlib-c3e80cbc9f3fb072ac917124d99372305a9e70c7.tar.bz2 nixlib-c3e80cbc9f3fb072ac917124d99372305a9e70c7.tar.lz nixlib-c3e80cbc9f3fb072ac917124d99372305a9e70c7.tar.xz nixlib-c3e80cbc9f3fb072ac917124d99372305a9e70c7.tar.zst nixlib-c3e80cbc9f3fb072ac917124d99372305a9e70c7.zip |
* Get User-Mode Linux to build with a newer kernel. Yes, SHELL really
has to be "/bin/sh" - other values such as "sh" or "bash" or "$(type -tP sh)" cause a build error: LD .tmp_vmlinux1 /nix/store/1yv8i1m76cvwk5w5i5wrk4gj5zyfj6vh-binutils-2.19.1/bin/ld:arch/um/kernel/vmlinux.lds:1: ignoring invalid character `#' in expression /nix/store/1yv8i1m76cvwk5w5i5wrk4gj5zyfj6vh-binutils-2.19.1/bin/ld:arch/um/kernel/vmlinux.lds:1: syntax error collect2: ld returned 1 exit status This is caused by Bash 4.0 (http://bugzilla.kernel.org/show_bug.cgi?id=13343). svn path=/nixpkgs/branches/kernel-config/; revision=18941
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r-- | pkgs/os-specific/linux/kernel/builder.sh | 2 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kernel/generate-config.pl | 4 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kernel/generic.nix | 3 |
3 files changed, 7 insertions, 2 deletions
diff --git a/pkgs/os-specific/linux/kernel/builder.sh b/pkgs/os-specific/linux/kernel/builder.sh index 07eb4edded4f..f683498417d2 100644 --- a/pkgs/os-specific/linux/kernel/builder.sh +++ b/pkgs/os-specific/linux/kernel/builder.sh @@ -1,7 +1,7 @@ source $stdenv/setup -makeFlags="ARCH=$arch" +makeFlags="ARCH=$arch SHELL=/bin/sh" configurePhase() { diff --git a/pkgs/os-specific/linux/kernel/generate-config.pl b/pkgs/os-specific/linux/kernel/generate-config.pl index 56320ce882fa..e8349db8ec8a 100644 --- a/pkgs/os-specific/linux/kernel/generate-config.pl +++ b/pkgs/os-specific/linux/kernel/generate-config.pl @@ -128,7 +128,9 @@ while (<CONFIG>) { close CONFIG; foreach my $name (sort (keys %answers)) { - my $f = $requiredAnswers{$name} ? sub { die @_; } : sub { warn @_; }; + my $f = $requiredAnswers{$name} && $ENV{'ignoreConfigErrors'} ne "1" + ? sub { die @_; } : sub { warn @_; }; + my $f = sub { warn @_; }; &$f("unused option: $name\n") unless defined $config{$name}; &$f("option not set correctly: $name\n") if $config{$name} && $config{$name} ne $answers{$name}; diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index 85fd91ca1bbd..b4fca4511428 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -66,6 +66,9 @@ stdenv.mkDerivation { map ({extraConfig ? "", ...}: extraConfig) kernelPatches; in lib.concatStringsSep "\n" ([config] ++ configFromPatches); + # For UML, just ignore all options that don't apply (I'm lazy). + ignoreConfigErrors = userModeLinux; + buildInputs = [ perl mktemp ]; arch = |