Commit graph

2690 commits

Author SHA1 Message Date
Shea Levy 2c38df1c5b kernel build: limit dev output footprint
This makes the disk usage footprint of building the kernel smaller in 3
ways:

1) There is no separate kernel source derivation
2) Rather than using the entire build tree, only the output of make
modules_prepare is kept in the $dev output (plus the module symbol
versioning file generated during the build)
3) Only the subset of the source tree known to be needed for external
builds is kept in $dev

Note that while 2) is supported by official kernel documentation, I
couldn't find any source describing what we need to keep for 3). I've
started with the bare minimum (the main Makefile is called by the
Makefile generated by make modules_prepare) and we can/should add more
as needed for kernelPackages.

Signed-off-by: Shea Levy <shea@shealevy.com>
2014-01-01 23:56:24 -05:00
Shea Levy f95d214cfd Implement generic kernel build via manual-config
This has three major benefits:

1. We no longer have two kernel build processes to maintain

2. The build process is (IMO) cleaner and cleaves more closely to
upstream. In partuclar, we use make install to install the kernel and
development source/build trees, eliminating the guesswork about which
files to copy.

3. The derivation has multiple outputs: the kernel and modules are in
the default `out' output, while the build and source trees are in a
`dev' output. This makes it possible for the full source and build tree
to be kept (which is expected by out-of-tree modules) without bloating
the closure of the system derivation.

In addition, if a solution for how to handle queries in the presence of
imports from derivations ever makes it into nix, a framework for
querying the full configuration of the kernel in nix expressions is
already in place.

Signed-off-by: Shea Levy <shea@shealevy.com>
2014-01-01 09:21:25 -05:00
Shea Levy a87b1f36e0 manual-config: Fully general cross-compiling
In the most general case, the cross and native kernel may differ in
patches and configuration file as well as architecture, kernel target,
etc. It's probably overkill to support that case, but since it was
doable without much duplication and it will make integrating with the
existing cross-compilation support in the generic kernel I decided to
implement it anyway.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-31 23:09:42 -05:00
Shea Levy 784c6d320c manual-config: Put `source' before the version in the sourceRoot name
nix's version parsing treats the previous name as a package named
`linux' with version `${version}-source', when we really want a package
named `linux-source' with version `${version}'

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-31 22:50:41 -05:00
Shea Levy 0c5776bc0f manual-config: Patch conf.c for generate-config.pl
This only affects the `oldaskconfig' make target, so it shouldn't really
affect current manual-config users, but it does make it more
straightforward to implement the generic kernel build on top of
manual-config.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-31 22:49:12 -05:00
Shea Levy fe185f0a18 manual-config: Always add config query functions
If the config attrset is manually specified, we still want isYes,
isModule, etc. to work. But we let the passed in config attrset take
precedence, if for some reason the caller wants to provide their own
implementation of one or more of these functions.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-31 22:46:43 -05:00
Shea Levy 008992619f linux/manual-config: Cross-compiling support
With this, I was able to successfully compile a defconfig kernel for the
sheevaplug, though I didn't actually try to run it (not having a
sheevaplug myself).

For native compiles, the most significant difference is that the
platform's kernel target is built directly rather than hoping the
default make target will pull it in.

Also some stylistic improvements along the way.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-31 22:38:06 -05:00
Nixpkgs Monitor 47c5b16643 syslinux: update from 4.06 to 4.07 2013-12-31 05:44:11 +02:00
William A. Kennington III 211b9a5016 linux: Update 3.10.18 -> 3.10.25 2013-12-29 07:53:23 -06:00
William A. Kennington III 811d88e94d linux: Update 3.11.8 -> 3.11.10 2013-12-29 07:53:19 -06:00
Tomasz Kontusz 18115fbbea Change pmount download address and add platforms
The URL change is needed as alioth.debian.org is forcing HTTPS with CA we don't recognize.
2013-12-24 10:50:40 +01:00
Nixpkgs Monitor dc2cb043a9 powertop: update from 2.2 to 2.5 2013-12-23 05:22:37 +02:00
Nixpkgs Monitor 100ad41627 udisks2: update from 2.1.0 to 2.1.1 2013-12-21 02:28:27 +02:00
Nixpkgs Monitor e64b7663f6 v4l_utils: update from 0.9.3 to 1.0.0 2013-12-21 02:28:27 +02:00
Shea Levy 76da6e6ed3 Linux 3.12.6
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-20 13:45:45 -05:00
Shea Levy 01a051292f Linux 3.12.5
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-18 12:35:07 -05:00
Nixpkgs Monitor a94aa7cf49 bluez5: update from 5.8 to 5.12 2013-12-18 18:18:20 +02:00
Nixpkgs Monitor be11410d4a batctl: update from 2013.2.0 to 2013.4.0 2013-12-18 18:18:18 +02:00
Lluís Batlle i Rossell 05b94c04cf Updating nvidia legacy 304 to 304.117 2013-12-18 11:24:53 +01:00
Eelco Dolstra 82f39bd19e linux: Fix hash 2013-12-17 13:27:03 +01:00
Eelco Dolstra acac786868 linux: Update to 3.4.74 2013-12-16 14:46:21 +01:00
Nixpkgs Monitor aeda3e2216 psmisc: update from 22.19 to 22.21 2013-12-16 01:36:17 +02:00
Nixpkgs Monitor 6fc2d316bb procps-ng: update from 3.3.6 to 3.3.9 2013-12-16 01:36:17 +02:00
Nixpkgs Monitor e9a4b303e6 sdparm: update from 1.03 to 1.08 2013-12-14 21:44:51 +02:00
Nixpkgs Monitor a398237f37 lsscsi: update from 0.24 to 0.27 2013-12-14 00:16:59 +02:00
Nixpkgs Monitor 05e8d1187f libvolume_id: update from 0.81.0 to 0.81.1 2013-12-13 22:41:58 +02:00
Jaka Hudoklin 3c677fde65 ati-drivers: fix aticonfig segmentation fault
Fix aticonfig tool by setting libXinerama to LD_LIBRARY_PATH
2013-12-13 09:34:04 +01:00
Nixpkgs Monitor ed9ce850fd policycoreutils: update from 2.2.4 to 2.2.5 2013-12-13 00:39:20 +02:00
Domen Kožar 3e06d3da1d dmidecode: set meta.platforms to linux 2013-12-12 00:32:31 +01:00
Eelco Dolstra f74ca42ba6 linux: Update to 3.4.73 2013-12-11 14:28:37 +01:00
Shea Levy 9131b45db4 Linux 3.12.4
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-09 12:01:37 -05:00
Nixpkgs Monitor 741b202d72 apparmor: update from 2.8.1 to 2.8.2 2013-12-09 11:04:25 +02:00
Peter Simons 87e87bd56c alsa: set meta.platform for ALSA-related packages to Linux 2013-12-06 19:26:34 +01:00
Vladimír Čunát 3d3b19d767 Merge #1325: linux-3.2 and grsecurity updates 2013-12-05 23:20:18 +01:00
Shea Levy bb9caf40dd Linux 3.12.3
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-05 10:21:06 -05:00
Ricardo M. Correia 61adb5962c grsecurity: Update to 3.0-3.2.53-201312021727 and 3.0-3.12.2-201312021733 2013-12-04 15:28:21 +01:00
Ricardo M. Correia 60ced497f6 linux: Update to 3.2.53 2013-12-04 15:28:20 +01:00
Michael Raskin 8da629a3b9 Adding libnl 3.2.19 to use instead of the latest with ntrack
ntrack has a bug about fresher libnl compatilbility. There are no
updates since September.
2013-12-02 22:47:52 +04:00
Eelco Dolstra 3b94410d86 linux: Update to 3.4.71 2013-12-01 18:20:39 -05:00
Michael Raskin c00898c7a7 Merge pull request #1297 from wkennington/sysworking2
Update lots of Linux Utilities 2
2013-12-01 05:33:54 -08:00
Bjørn Forsman e05f21d1ed bluez5: add missing dependency on pygobject
Fixes this:

  $ bluez-monitor-bluetooth
  Traceback (most recent call last):
    File "/nix/store/d3gv219wnnjd2c9agyq2gjpwxp0m84l8-bluez-5.8/test/.monitor-bluetooth-wrapped", line 5, in <module>
      import gobject
  ImportError: No module named gobject
2013-12-01 12:46:33 +01:00
Shea Levy c06361a1fc Linux 3.12: Bump
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-11-30 14:29:49 -05:00
William A. Kennington III 96dc58db9c Upgrade selinux from 20100904 -> 20131030 2013-11-29 02:08:53 -06:00
William A. Kennington III 3f449b8ae6 Add audit 2.3.2 for the new libsemanage 2013-11-29 02:08:52 -06:00
William A. Kennington III 16dce6f28a Upgrade libnl from 3.2.13 -> 3.2.23 2013-11-29 02:08:52 -06:00
William A. Kennington III c1b2ce2f70 Upgrade libatasmart from 0.17 -> 0.19 2013-11-29 02:08:52 -06:00
William A. Kennington III 06f92d07e7 Upgrade kmod from 12 -> 15 2013-11-29 02:08:52 -06:00
William A. Kennington III f35381595c Upgrade keyutils from 1.2 -> 1.5.8 2013-11-29 02:08:51 -06:00
William A. Kennington III f18efaf26e Upgrade iproute2 from 3.8.0 -> 3.12.0
Additionally rmeove the werror patch as it is not needed for the build
anymore.
2013-11-29 02:08:51 -06:00
William A. Kennington III c7ae9e39d9 Upgrade hwdata from 0.172 -> 0.249 2013-11-29 02:08:51 -06:00