1
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs synced 2024-10-22 21:15:03 -04:00
nixpkgs/pkgs/os-specific/linux
Shea Levy ac2035287f Greatly reduce kernel closure size
Based on access analysis with strace, I determined an essentially
minimal required set of files from the kernel source that was needed to
build all current kernel packages on 3.10, which ultimately resulted in
keeping 30M of source. Generalizing from that minimal set, which
required ad-hoc specifications of which headers outside of include/ and
arch/*/include and which files in the scripts/ directory should be kept,
to a policy of keeping all non-arch-specific headers that aren't part of
the drivers/ directory and the entire scripts/ directory added an
additional 17M, but there was nothing in the analysis that indicated
that that ad-hoc specification was at all complete so I think the extra
hit is worth the likely greater compatibility.

For reference, we now keep:

* All headers that are NOT in arch/${notTargetArch}/include or drivers/
* The scripts/ directory
* Makefile
* arch/${targetArch}/Makefile

IMO the most likely cause of future problems are the headers in
drivers/, but hopefully they won't actually be needed as they add 50M
Ideally kernel packages would only use include and
arch/${targetArch}/include, but alas this is observably not the case.

master:
  * $out
    * size: 234M
    * references-closure: linux-headers, glibc, attr, acl, zlib, gcc,
      coreutils, perl, bash
merge-kernel-builds:
  * $out
    * size: 152M
    * references-closure: none
  * $dev
    * size: 57M
    * references-closure: linux-headers, glibc, zlib, gcc

So even with the non-minimal set we still beat out master. Keeping the
drivers headers would make us only slightly bigger.

Signed-off-by: Shea Levy <shea@shealevy.com>
2014-01-05 06:55:47 -05:00
..
915resolution
acpi Update acpi from 1.6 -> 1.7 2013-11-27 23:15:37 -06:00
acpi-call Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00
acpid Update acpid from 2.0.17 -> 2.0.20 2013-11-27 23:15:37 -06:00
acpitool
afuse
alienfx alienfx: also build on i686 2013-11-24 15:20:38 +01:00
alsa-lib alsa: set meta.platform for ALSA-related packages to Linux 2013-12-06 19:26:34 +01:00
alsa-oss alsa: set meta.platform for ALSA-related packages to Linux 2013-12-06 19:26:34 +01:00
alsa-plugins alsa: bump 1.0.26 -> 1.0.27 (close #1198) 2013-11-11 22:32:28 +01:00
alsa-utils alsa: set meta.platform for ALSA-related packages to Linux 2013-12-06 19:26:34 +01:00
apparmor apparmor: update from 2.8.1 to 2.8.2 2013-12-09 11:04:25 +02:00
ati-drivers Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00
atop
audit Add audit 2.3.2 for the new libsemanage 2013-11-29 02:08:52 -06:00
autofs autofs: upgrade 5.0.5 -> 5.0.8 2013-11-21 21:49:47 +01:00
batman-adv Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00
bbswitch Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00
blcr Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00
bluez bluez5: update from 5.8 to 5.12 2013-12-18 18:18:20 +02:00
bridge-utils
broadcom-sta Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00
busybox Upgrade busybox from 1.20.2 -> 1.21.1 2013-11-28 00:52:10 -06:00
checkpolicy Upgrade selinux from 20100904 -> 20131030 2013-11-29 02:08:53 -06:00
cifs-utils Upgrade cifs-utils from 5.7 -> 6.2 2013-11-28 00:52:11 -06:00
conky
consoletools Update consoletools from 1.4.3 -> 1.4.6 2013-11-28 00:52:11 -06:00
conspy
cpufrequtils Fix src for cpufrequtils 2013-11-28 16:26:14 +04:00
cramfsswap
cryopid
cryptodev Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00
cryptsetup Upgrade cryptsetup from 1.5.1 -> 1.6.2 2013-11-28 00:52:11 -06:00
dietlibc
directvnc
dmidecode dmidecode: set meta.platforms to linux 2013-12-12 00:32:31 +01:00
dmraid
dmtcp
drbd Upgrade drbd from 8.4.0 -> 8.4.4 2013-11-28 00:52:12 -06:00
dstat
e3cfsprogs
e1000e Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00
ebtables
fbterm
ffado
firmware
forktty
frandom Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00
fuse Upgrade fuse from 2.9.2 -> 2.9.3 2013-11-28 01:07:34 -06:00
fxload
gfxtablet
gogoclient
google-authenticator
hdparm Upgrade hdparm from 9.39 -> 9.43 2013-11-28 01:10:33 -06:00
hibernate hibernate: upgrade from 1.98.1 to 2.0 2013-11-19 21:33:43 +01:00
hostapd
htop
hwdata Upgrade hwdata from 0.172 -> 0.249 2013-11-29 02:08:51 -06:00
i7z
i810switch
ifplugd
iotop
iproute Upgrade iproute2 from 3.8.0 -> 3.12.0 2013-11-29 02:08:51 -06:00
ipsec-tools
iptables Update IPTables from 1.4.16.2 -> 1.4.20 2013-11-28 00:52:12 -06:00
iputils
iw Update iw 3.10 -> 3.11 2013-11-28 00:52:12 -06:00
jujuutils
kbd
kernel Greatly reduce kernel closure size 2014-01-05 06:55:47 -05:00
kernel-headers Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00
kernel-headers-cross
kexectools
keyutils Upgrade keyutils from 1.2 -> 1.5.8 2013-11-29 02:08:51 -06:00
klibc Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00
kmod Upgrade kmod from 12 -> 15 2013-11-29 02:08:52 -06:00
latencytop
ldm New package: LDM - Lightweight device mounter 2013-11-10 15:08:44 +01:00
libaio
libatasmart Upgrade libatasmart from 0.17 -> 0.19 2013-11-29 02:08:52 -06:00
libcap
libcap-ng
libcgroup
libnl Adding libnl 3.2.19 to use instead of the latest with ntrack 2013-12-02 22:47:52 +04:00
libnscd
libselinux Upgrade selinux from 20100904 -> 20131030 2013-11-29 02:08:53 -06:00
libsemanage Upgrade selinux from 20100904 -> 20131030 2013-11-29 02:08:53 -06:00
libsepol Upgrade selinux from 20100904 -> 20131030 2013-11-29 02:08:53 -06:00
libsmbios
libvolume_id libvolume_id: update from 0.81.0 to 0.81.1 2013-12-13 22:41:58 +02:00
lm-sensors
lsiutil
lsscsi lsscsi: update from 0.24 to 0.27 2013-12-14 00:16:59 +02:00
lttng-modules Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00
lvm2 Upgrade lvm from 2.02.100 -> 2.02.104 2013-11-28 00:52:12 -06:00
lxc
mcelog clean up git revision handling in several packages 2013-11-13 12:46:55 +02:00
mdadm Update MDadm from 3.1.2 -> 3.3 2013-11-28 00:52:12 -06:00
microcode
mingetty
module-init-tools
multipath-tools
ndiswrapper Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00
net-tools
netatop Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00
nfs-utils
nss_ldap
numactl
nvidia-x11 Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00
open-iscsi Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00
opengl/xorg-sys
otpw
pam
pam_ccreds
pam_console
pam_devperm
pam_krb5
pam_ldap
pam_login
pam_ssh_agent_auth
pam_usb
pcmciautils
plymouth
pm-utils
pmount Change pmount download address and add platforms 2013-12-24 10:50:40 +01:00
pmtools
policycoreutils policycoreutils: update from 2.2.4 to 2.2.5 2013-12-13 00:39:20 +02:00
pommed
powertop powertop: update from 2.2 to 2.5 2013-12-23 05:22:37 +02:00
procps
procps-ng procps-ng: update from 3.3.6 to 3.3.9 2013-12-16 01:36:17 +02:00
psmisc psmisc: update from 22.19 to 22.21 2013-12-16 01:36:17 +02:00
psmouse-alps Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00
radeontools
regionset
reptyr
rfkill
rtkit
sdparm sdparm: update from 1.03 to 1.08 2013-12-14 21:44:51 +02:00
sepolgen Upgrade selinux from 20100904 -> 20131030 2013-11-29 02:08:53 -06:00
setools Upgrade selinux from 20100904 -> 20131030 2013-11-29 02:08:53 -06:00
shadow
spl Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00
statifier
sysfsutils
sysklogd
syslinux syslinux: update from 4.06 to 4.07 2013-12-31 05:44:11 +02:00
sysstat
systemd
sysvinit
tcp-wrappers
tp_smapi Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00
ttysnoop
tunctl
uclibc
udev
udisks udisks2: update from 2.1.0 to 2.1.1 2013-12-21 02:28:27 +02:00
udisks-glue
untie
upower upower: fix Xfce via --enable-deprecated 2013-11-12 10:05:57 +01:00
upstart
usbutils
util-linux Upgrade util-linux from 2.22 -> 2.24 2013-11-28 00:52:13 -06:00
v4l-utils v4l_utils: update from 0.9.3 to 1.0.0 2013-12-21 02:28:27 +02:00
v86d Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00
wireless-tools
wis-go7007 Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00
wpa_supplicant Fix some meta.platforms attributes to build more stuff on Darwin 2013-11-05 10:46:59 +01:00
wvdial
x86info
xf86-input-mtrack
xf86-input-multitouch
xf86-input-wacom
xf86-video-nested
xf86-video-nouveau
zfs Update and fix kernel packages to new kernel build 2014-01-04 21:17:04 -05:00