diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2016-01-18 09:48:49 +0100 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2016-01-18 09:48:49 +0100 |
commit | 620c147ccee09d7d068fa21b2b5b94b6695993a5 (patch) | |
tree | 8bfa9b076f2712ba0318c986dcf80749e281db2d /pkgs/os-specific | |
parent | 85628148de308b96744986f44ef0d05807125082 (diff) | |
parent | c23b0856fda476df6aa58bcded9de6bdbeefdaed (diff) |
Merge branch 'master' into staging
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r-- | pkgs/os-specific/linux/conky/default.nix | 5 | ||||
-rw-r--r-- | pkgs/os-specific/linux/consoletools/default.nix | 4 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kernel/linux-4.1.nix | 4 | ||||
-rw-r--r-- | pkgs/os-specific/linux/mdadm/default.nix | 44 | ||||
-rw-r--r-- | pkgs/os-specific/linux/mdadm/no-self-references.patch | 130 |
5 files changed, 157 insertions, 30 deletions
diff --git a/pkgs/os-specific/linux/conky/default.nix b/pkgs/os-specific/linux/conky/default.nix index 97eab37e4e1ed..8943f3276d79b 100644 --- a/pkgs/os-specific/linux/conky/default.nix +++ b/pkgs/os-specific/linux/conky/default.nix @@ -61,13 +61,13 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "conky-${version}"; - version = "1.10.0"; + version = "1.10.1"; src = fetchFromGitHub { owner = "brndnmtthws"; repo = "conky"; rev = "v${version}"; - sha256 = "00vyrf72l54j3majqmn6vykqvvb15vygsaby644nsb5vpma6b1cn"; + sha256 = "0k93nqx8mxz2z84zzwpwfp7v7dwxwg1di1a2yb137lk7l157azw6"; }; postPatch = '' @@ -81,6 +81,7 @@ stdenv.mkDerivation rec { --replace "http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl" "${docbook_xsl}/xml/xsl/docbook/html/docbook.xsl" substituteInPlace doc/docs.xml \ --replace "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" "${docbook_xml_dtd_44}/xml/dtd/docbook/docbookx.dtd" + substituteInPlace cmake/Conky.cmake --replace "#set(RELEASE true)" "set(RELEASE true)" ''; NIX_LDFLAGS = "-lgcc_s"; diff --git a/pkgs/os-specific/linux/consoletools/default.nix b/pkgs/os-specific/linux/consoletools/default.nix index 6961768e7d32c..0a7997755514e 100644 --- a/pkgs/os-specific/linux/consoletools/default.nix +++ b/pkgs/os-specific/linux/consoletools/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "linuxconsoletools-${version}"; - version = "1.4.8"; + version = "1.4.9"; src = fetchurl { url = "mirror://sourceforge/linuxconsole/${name}.tar.bz2"; - sha256 = "0spf9hx48cqx2i46pkz0gbrn7xrk68cw8iyrfbs2b3k0bxcsri13"; + sha256 = "0rwv2fxn12bblp096m9jy1lhngz26lv6g6zs4cgfg4frikwn977s"; }; buildInputs = [ SDL ]; diff --git a/pkgs/os-specific/linux/kernel/linux-4.1.nix b/pkgs/os-specific/linux/kernel/linux-4.1.nix index b1878846eb8df..d9efce840fab6 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.1.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.1.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.1.13"; + version = "4.1.15"; extraMeta.branch = "4.1"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "04xhkqjpb1rfqkq6hxzfma5cr039p1fad2fgims5ns09nvalq6dr"; + sha256 = "18sr0dl5ax6pcx6nqp9drb4l6a38g07vxihiqpbwb231jv68h8j7"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/mdadm/default.nix b/pkgs/os-specific/linux/mdadm/default.nix index 042c2225ff3a5..dc1697b9e9b2e 100644 --- a/pkgs/os-specific/linux/mdadm/default.nix +++ b/pkgs/os-specific/linux/mdadm/default.nix @@ -1,38 +1,34 @@ { stdenv, fetchurl, groff }: stdenv.mkDerivation rec { - name = "mdadm-3.3"; - - # WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING - # Do NOT update this if you're not ABSOLUTELY certain that it will work. - # Please check the update using the NixOS VM test, BEFORE pushing: - # nix-build nixos/release.nix -A tests.installer.swraid.x86_64-linux - # Discussion: - # https://github.com/NixOS/nixpkgs/commit/7719f7f - # https://github.com/NixOS/nixpkgs/commit/666cf99 - # https://github.com/NixOS/nixpkgs/pull/6006 - # WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING + name = "mdadm-3.3.4"; + src = fetchurl { - url = "mirror://kernel/linux/utils/raid/mdadm/${name}.tar.bz2"; - sha256 = "0igdqflihiq1dp5qlypzw0xfl44f4n3bckl7r2x2wfgkplcfa1ww"; + url = "mirror://kernel/linux/utils/raid/mdadm/${name}.tar.xz"; + sha256 = "0s6a4bq7v7zxiqzv6wn06fv9f6g502dp047lj471jwxq0r9z9rca"; }; + # This is to avoid self-references, which causes the initrd to explode + # in size and in turn prevents mdraid systems from booting. + allowedReferences = [ stdenv.glibc ]; + + patches = [ ./no-self-references.patch ]; + + makeFlags = [ + "NIXOS=1" "INSTALL=install" "INSTALL_BINDIR=$(out)/sbin" + "MANDIR=$(out)/share/man" "RUN_DIR=/dev/.mdadm" + ] ++ stdenv.lib.optionals (stdenv ? cross) [ + "CROSS_COMPILE=${stdenv.cross.config}-" + ]; + nativeBuildInputs = [ groff ]; # Attempt removing if building with gcc5 when updating NIX_CFLAGS_COMPILE = "-std=gnu89"; - preConfigure = "sed -e 's@/lib/udev@\${out}/lib/udev@' -e 's@ -Werror @ @' -i Makefile"; - - # Force mdadm to use /var/run/mdadm.map for its map file (or - # /dev/.mdadm/map as a fallback). - preBuild = - '' - makeFlagsArray=(INSTALL=install BINDIR=$out/sbin MANDIR=$out/share/man RUN_DIR=/dev/.mdadm) - if [[ -n "$crossConfig" ]]; then - makeFlagsArray+=(CROSS_COMPILE=$crossConfig-) - fi - ''; + preConfigure = '' + sed -e 's@/lib/udev@''${out}/lib/udev@' -e 's@ -Werror @ @' -i Makefile + ''; meta = { description = "Programs for managing RAID arrays under Linux"; diff --git a/pkgs/os-specific/linux/mdadm/no-self-references.patch b/pkgs/os-specific/linux/mdadm/no-self-references.patch new file mode 100644 index 0000000000000..cf0366e52d114 --- /dev/null +++ b/pkgs/os-specific/linux/mdadm/no-self-references.patch @@ -0,0 +1,130 @@ +diff --git a/Makefile b/Makefile +index d82e30f..d231cf9 100644 +--- a/Makefile ++++ b/Makefile +@@ -51,6 +51,9 @@ endif + ifdef DEBIAN + CPPFLAGS += -DDEBIAN + endif ++ifdef NIXOS ++CPPFLAGS += -DNIXOS ++endif + ifdef DEFAULT_OLD_METADATA + CPPFLAGS += -DDEFAULT_OLD_METADATA + DEFAULT_METADATA=0.90 +@@ -105,6 +108,7 @@ endif + INSTALL = /usr/bin/install + DESTDIR = + BINDIR = /sbin ++INSTALL_BINDIR = ${BINDIR} + MANDIR = /usr/share/man + MAN4DIR = $(MANDIR)/man4 + MAN5DIR = $(MANDIR)/man5 +@@ -259,20 +263,20 @@ sha1.o : sha1.c sha1.h md5.h + $(CC) $(CFLAGS) -DHAVE_STDINT_H -o sha1.o -c sha1.c + + install : mdadm mdmon install-man install-udev +- $(INSTALL) -D $(STRIP) -m 755 mdadm $(DESTDIR)$(BINDIR)/mdadm +- $(INSTALL) -D $(STRIP) -m 755 mdmon $(DESTDIR)$(BINDIR)/mdmon ++ $(INSTALL) -D $(STRIP) -m 755 mdadm $(DESTDIR)$(INSTALL_BINDIR)/mdadm ++ $(INSTALL) -D $(STRIP) -m 755 mdmon $(DESTDIR)$(INSTALL_BINDIR)/mdmon + + install-static : mdadm.static install-man +- $(INSTALL) -D $(STRIP) -m 755 mdadm.static $(DESTDIR)$(BINDIR)/mdadm ++ $(INSTALL) -D $(STRIP) -m 755 mdadm.static $(DESTDIR)$(INSTALL_BINDIR)/mdadm + + install-tcc : mdadm.tcc install-man +- $(INSTALL) -D $(STRIP) -m 755 mdadm.tcc $(DESTDIR)$(BINDIR)/mdadm ++ $(INSTALL) -D $(STRIP) -m 755 mdadm.tcc $(DESTDIR)$(INSTALL_BINDIR)/mdadm + + install-uclibc : mdadm.uclibc install-man +- $(INSTALL) -D $(STRIP) -m 755 mdadm.uclibc $(DESTDIR)$(BINDIR)/mdadm ++ $(INSTALL) -D $(STRIP) -m 755 mdadm.uclibc $(DESTDIR)$(INSTALL_BINDIR)/mdadm + + install-klibc : mdadm.klibc install-man +- $(INSTALL) -D $(STRIP) -m 755 mdadm.klibc $(DESTDIR)$(BINDIR)/mdadm ++ $(INSTALL) -D $(STRIP) -m 755 mdadm.klibc $(DESTDIR)$(INSTALL_BINDIR)/mdadm + + install-man: mdadm.8 md.4 mdadm.conf.5 mdmon.8 + $(INSTALL) -D -m 644 mdadm.8 $(DESTDIR)$(MAN8DIR)/mdadm.8 +@@ -305,7 +309,7 @@ install-systemd: systemd/mdmon@.service + if [ -f /etc/SuSE-release -o -n "$(SUSE)" ] ;then $(INSTALL) -D -m 755 systemd/SUSE-mdadm_env.sh $(DESTDIR)$(SYSTEMD_DIR)/../scripts/mdadm_env.sh ;fi + + uninstall: +- rm -f $(DESTDIR)$(MAN8DIR)/mdadm.8 $(DESTDIR)$(MAN8DIR)/mdmon.8 $(DESTDIR)$(MAN4DIR)/md.4 $(DESTDIR)$(MAN5DIR)/mdadm.conf.5 $(DESTDIR)$(BINDIR)/mdadm ++ rm -f $(DESTDIR)$(MAN8DIR)/mdadm.8 $(DESTDIR)$(MAN8DIR)/mdmon.8 $(DESTDIR)$(MAN4DIR)/md.4 $(DESTDIR)$(MAN5DIR)/mdadm.conf.5 $(DESTDIR)$(INSTALL_BINDIR)/mdadm + + test: mdadm mdmon test_stripe swap_super raid6check + @echo "Please run './test' as root" +diff --git a/policy.c b/policy.c +index 064d349..6b2f2b1 100644 +--- a/policy.c ++++ b/policy.c +@@ -796,12 +796,39 @@ char *find_rule(struct rule *rule, char *rule_type) + #define UDEV_RULE_FORMAT \ + "ACTION==\"add\", SUBSYSTEM==\"block\", " \ + "ENV{DEVTYPE}==\"%s\", ENV{ID_PATH}==\"%s\", " \ +-"RUN+=\"" BINDIR "/mdadm --incremental $env{DEVNAME}\"\n" ++"RUN+=\"%s/mdadm --incremental $env{DEVNAME}\"\n" + + #define UDEV_RULE_FORMAT_NOTYPE \ + "ACTION==\"add\", SUBSYSTEM==\"block\", " \ + "ENV{ID_PATH}==\"%s\", " \ +-"RUN+=\"" BINDIR "/mdadm --incremental $env{DEVNAME}\"\n" ++"RUN+=\"%s/mdadm --incremental $env{DEVNAME}\"\n" ++ ++#ifdef NIXOS ++const char *get_mdadm_bindir(void) ++{ ++ static char *bindir = NULL; ++ if (bindir != NULL) { ++ return bindir; ++ } else { ++ int len; ++ bindir = xmalloc(1025); ++ len = readlink("/proc/self/exe", bindir, 1024); ++ if (len > 0) { ++ char *basename; ++ if ((basename = strrchr(bindir, '/')) != NULL) ++ *basename = '\0'; ++ else ++ *(bindir + len) = '\0'; ++ } else { ++ *bindir = '\0'; ++ } ++ return bindir; ++ } ++} ++#define SELF get_mdadm_bindir() ++#else ++#define SELF BINDIR ++#endif + + /* Write rule in the rule file. Use format from UDEV_RULE_FORMAT */ + int write_rule(struct rule *rule, int fd, int force_part) +@@ -815,9 +842,9 @@ int write_rule(struct rule *rule, int fd, int force_part) + if (force_part) + typ = type_part; + if (typ) +- snprintf(line, sizeof(line) - 1, UDEV_RULE_FORMAT, typ, pth); ++ snprintf(line, sizeof(line) - 1, UDEV_RULE_FORMAT, typ, pth, SELF); + else +- snprintf(line, sizeof(line) - 1, UDEV_RULE_FORMAT_NOTYPE, pth); ++ snprintf(line, sizeof(line) - 1, UDEV_RULE_FORMAT_NOTYPE, pth, SELF); + return write(fd, line, strlen(line)) == (int)strlen(line); + } + +diff --git a/util.c b/util.c +index cc98d3b..1ada2f4 100644 +--- a/util.c ++++ b/util.c +@@ -1700,7 +1700,9 @@ int start_mdmon(char *devnm) + char pathbuf[1024]; + char *paths[4] = { + pathbuf, ++#ifndef NIXOS + BINDIR "/mdmon", ++#endif + "./mdmon", + NULL + }; |