From c5fef87af8cba674198cd55ab1153d586db18080 Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 25 Jul 2017 12:32:37 +0200 Subject: writeOut: don't modify stdenv's shell This fixes following (and maybe more) issues: - /nix/store/*-stdenv/setup: line 125: showBuildStats: unbound variable - /nix/store/*-stdenv/setup: line 69: !hookName: unbound variable --- krebs/5pkgs/writers.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'krebs/5pkgs') diff --git a/krebs/5pkgs/writers.nix b/krebs/5pkgs/writers.nix index 49ca3557e..f1626078e 100644 --- a/krebs/5pkgs/writers.nix +++ b/krebs/5pkgs/writers.nix @@ -144,9 +144,14 @@ with import ; env = filevars // { passAsFile = attrNames filevars; }; in + # Use a subshell because 's genericBuild + # sources (or evaluates) the buildCommand and we don't want to modify its + # shell. In particular, exitHandler breaks in multiple ways with set -u. pkgs.runCommand name env /* sh */ '' - set -efu - ${concatMapStringsSep "\n" (getAttr "install") files} + ( + set -efu + ${concatMapStringsSep "\n" (getAttr "install") files} + ) ''; writeHaskell = -- cgit v1.3.1 From 7aa31b7babafb2e10bbf8418800ef561bccbd67b Mon Sep 17 00:00:00 2001 From: lassulus Date: Tue, 25 Jul 2017 23:10:51 +0200 Subject: krebs buildbot: reintroduce packages with minimal overrides --- krebs/3modules/buildbot/master.nix | 28 +++---------- krebs/3modules/buildbot/slave.nix | 19 +-------- .../simple/buildbot-classic-slave/default.nix | 21 ++++++++++ krebs/5pkgs/simple/buildbot-classic/default.nix | 47 ++++++++++++++++++++++ 4 files changed, 76 insertions(+), 39 deletions(-) create mode 100644 krebs/5pkgs/simple/buildbot-classic-slave/default.nix create mode 100644 krebs/5pkgs/simple/buildbot-classic/default.nix (limited to 'krebs/5pkgs') diff --git a/krebs/3modules/buildbot/master.nix b/krebs/3modules/buildbot/master.nix index 12c685b82..a7624c8f2 100644 --- a/krebs/3modules/buildbot/master.nix +++ b/krebs/3modules/buildbot/master.nix @@ -2,22 +2,6 @@ with import ; let - # https://github.com/NixOS/nixpkgs/issues/14026 - nixpkgs-fix = import (pkgs.fetchgit { - url = https://github.com/nixos/nixpkgs; - rev = "e026b5c243ea39810826e68362718f5d703fb5d0"; - sha256 = "11lqd480bi6xbi7xbh4krrxmbp6a6iafv1d0q3sj461al0x0has8"; - }) {}; - - buildbot = nixpkgs-fix.buildbot.overrideDerivation (old: { - postUnpack = "sourceRoot=\${sourceRoot}/master"; - patches = []; - src = pkgs.fetchFromGitHub { - owner = "krebscode"; - repo = "buildbot-classic"; - rev = "5b4f5f6f1"; - sha256 = "1j3xn1gjzvsf90jvfmyln71fzlhjx642ivrqf47zfxpkacljja93"; };}); - buildbot-master-config = pkgs.writeText "buildbot-master.cfg" '' # -*- python -*- from buildbot.plugins import * @@ -364,7 +348,7 @@ let set -efux if [ ! -e ${workdir} ];then mkdir -p ${workdir} - ${buildbot}/bin/buildbot create-master -r -l 10 -f ${workdir} + ${pkgs.buildbot-classic}/bin/buildbot create-master -r -l 10 -f ${workdir} fi # always override the master.cfg cp ${buildbot-master-config} ${workdir}/master.cfg @@ -373,18 +357,18 @@ let ${ concatMapStringsSep "\n" (f: "cp ${secretsdir}/${f} ${workdir}/${f}" ) cfg.secrets } # sanity - ${buildbot}/bin/buildbot checkconfig ${workdir} + ${pkgs.buildbot-classic}/bin/buildbot checkconfig ${workdir} # TODO: maybe upgrade? not sure about this # normally we should write buildbot.tac by our own - # ${buildbot}/bin/buildbot upgrade-master ${workdir} + # ${pkgs.buildbot-classic}/bin/buildbot upgrade-master ${workdir} chmod 700 -R ${workdir} chown buildbotMaster:buildbotMaster -R ${workdir} ''; - ExecStart = "${buildbot}/bin/buildbot start ${workdir}"; - ExecStop = "${buildbot}/bin/buildbot stop ${workdir}"; - ExecReload = "${buildbot}/bin/buildbot reconfig ${workdir}"; + ExecStart = "${pkgs.buildbot-classic}/bin/buildbot start ${workdir}"; + ExecStop = "${pkgs.buildbot-classic}/bin/buildbot stop ${workdir}"; + ExecReload = "${pkgs.buildbot-classic}/bin/buildbot reconfig ${workdir}"; PrivateTmp = "true"; User = "buildbotMaster"; Restart = "always"; diff --git a/krebs/3modules/buildbot/slave.nix b/krebs/3modules/buildbot/slave.nix index 698bf3bcd..544f9c4e0 100644 --- a/krebs/3modules/buildbot/slave.nix +++ b/krebs/3modules/buildbot/slave.nix @@ -2,20 +2,6 @@ with import ; let - # https://github.com/NixOS/nixpkgs/issues/14026 - nixpkgs-fix = import (pkgs.fetchgit { - url = https://github.com/nixos/nixpkgs; - rev = "e026b5c243ea39810826e68362718f5d703fb5d0"; - sha256 = "11lqd480bi6xbi7xbh4krrxmbp6a6iafv1d0q3sj461al0x0has8"; - }) {}; - pkg = nixpkgs-fix.buildbot-slave.overrideDerivation (old: { - postUnpack = "sourceRoot=\${sourceRoot}/slave"; - patches = []; - src = pkgs.fetchFromGitHub { - owner = "krebscode"; - repo = "buildbot-classic"; - rev = "5b4f5f6f1"; - sha256 = "1j3xn1gjzvsf90jvfmyln71fzlhjx642ivrqf47zfxpkacljja93"; };}); buildbot-slave-init = pkgs.writeText "buildbot-slave.tac" '' import os @@ -166,7 +152,6 @@ let workdir = shell.escape cfg.workDir; contact = shell.escape cfg.contact; description = shell.escape cfg.description; - buildbot = pkg; # TODO:make this in { PermissionsStartOnly = true; @@ -183,8 +168,8 @@ let chown buildbotSlave:buildbotSlave -R ${workdir} chmod 700 -R ${workdir} ''; - ExecStart = "${buildbot}/bin/buildslave start ${workdir}"; - ExecStop = "${buildbot}/bin/buildslave stop ${workdir}"; + ExecStart = "${pkgs.buildbot-classic-slave}/bin/buildslave start ${workdir}"; + ExecStop = "${pkgs.buildbot-classic-slave}/bin/buildslave stop ${workdir}"; PrivateTmp = "true"; User = "buildbotSlave"; Restart = "always"; diff --git a/krebs/5pkgs/simple/buildbot-classic-slave/default.nix b/krebs/5pkgs/simple/buildbot-classic-slave/default.nix new file mode 100644 index 000000000..193df579f --- /dev/null +++ b/krebs/5pkgs/simple/buildbot-classic-slave/default.nix @@ -0,0 +1,21 @@ +{ coreutils, fetchgit, fetchFromGitHub, buildbot-classic, python2Packages, ... }: + +python2Packages.buildPythonApplication { + name = "buildbot-slave-0.8.12"; + namePrefix = ""; + + src = buildbot-classic.src; + postUnpack = "sourceRoot=\${sourceRoot}/slave"; + + patchPhase = '' + substituteInPlace buildslave/scripts/logwatcher.py --replace /usr/bin/tail ${coreutils}/bin/tail + ''; + + propagatedBuildInputs = [ python2Packages.twisted ]; + doCheck = false; + + postInstall = '' + mkdir -p "$out/share/man/man1" + cp docs/buildslave.1 "$out/share/man/man1" + ''; +} diff --git a/krebs/5pkgs/simple/buildbot-classic/default.nix b/krebs/5pkgs/simple/buildbot-classic/default.nix new file mode 100644 index 000000000..c28f77ef3 --- /dev/null +++ b/krebs/5pkgs/simple/buildbot-classic/default.nix @@ -0,0 +1,47 @@ +{ fetchgit, fetchFromGitHub, python2Packages, ... }: +let + # https://github.com/NixOS/nixpkgs/issues/14026 + nixpkgs-fix = import (fetchgit { + url = https://github.com/nixos/nixpkgs; + rev = "e026b5c243ea39810826e68362718f5d703fb5d0"; + sha256 = "11lqd480bi6xbi7xbh4krrxmbp6a6iafv1d0q3sj461al0x0has8"; + }) {}; + +in nixpkgs-fix.buildPythonApplication { + name = "buildbot-0.8.12"; + namePrefix = ""; + patches = []; + + src = fetchFromGitHub { + owner = "krebscode"; + repo = "buildbot-classic"; + rev = "5b4f5f6f1"; + sha256 = "1j3xn1gjzvsf90jvfmyln71fzlhjx642ivrqf47zfxpkacljja93"; + }; + postUnpack = "sourceRoot=\${sourceRoot}/master"; + + patchPhase = + # The code insists on /usr/bin/tail, /usr/bin/make, etc. + '' echo "patching erroneous absolute path references..." + for i in $(find -name \*.py) + do + sed -i "$i" \ + -e "s|/usr/bin/python|$(type -P python)|g ; s|/usr/bin/||g" + done + + sed -i 's/==/>=/' setup.py + ''; + + propagatedBuildInputs = [ + python2Packages.jinja2 + python2Packages.twisted + nixpkgs-fix.pythonPackages.dateutil_1_5 + nixpkgs-fix.pythonPackages.sqlalchemy_migrate_0_7 + ]; + doCheck = false; + postInstall = '' + mkdir -p "$out/share/man/man1" + cp docs/buildbot.1 "$out/share/man/man1" + ''; +} + -- cgit v1.3.1 From 423c6944bdd98552f6921bd139a93b8fb75fcd22 Mon Sep 17 00:00:00 2001 From: lassulus Date: Wed, 26 Jul 2017 00:12:46 +0200 Subject: buildbot -> buildbot-classic --- krebs/5pkgs/simple/buildbot-classic-slave/default.nix | 2 +- krebs/5pkgs/simple/buildbot-classic/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'krebs/5pkgs') diff --git a/krebs/5pkgs/simple/buildbot-classic-slave/default.nix b/krebs/5pkgs/simple/buildbot-classic-slave/default.nix index 193df579f..c316889e4 100644 --- a/krebs/5pkgs/simple/buildbot-classic-slave/default.nix +++ b/krebs/5pkgs/simple/buildbot-classic-slave/default.nix @@ -1,7 +1,7 @@ { coreutils, fetchgit, fetchFromGitHub, buildbot-classic, python2Packages, ... }: python2Packages.buildPythonApplication { - name = "buildbot-slave-0.8.12"; + name = "buildbot-classic-slave-0.8.12"; namePrefix = ""; src = buildbot-classic.src; diff --git a/krebs/5pkgs/simple/buildbot-classic/default.nix b/krebs/5pkgs/simple/buildbot-classic/default.nix index c28f77ef3..a3d924c4a 100644 --- a/krebs/5pkgs/simple/buildbot-classic/default.nix +++ b/krebs/5pkgs/simple/buildbot-classic/default.nix @@ -8,7 +8,7 @@ let }) {}; in nixpkgs-fix.buildPythonApplication { - name = "buildbot-0.8.12"; + name = "buildbot-classic-0.8.12"; namePrefix = ""; patches = []; -- cgit v1.3.1 From cfff3729eac8d3ed72e51022b9cdb55dc94758a8 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 27 Jul 2017 20:38:18 +0200 Subject: populate: 1.2.0 -> 1.2.1 --- krebs/5pkgs/simple/populate/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'krebs/5pkgs') diff --git a/krebs/5pkgs/simple/populate/default.nix b/krebs/5pkgs/simple/populate/default.nix index 3ec432229..c2ca00590 100644 --- a/krebs/5pkgs/simple/populate/default.nix +++ b/krebs/5pkgs/simple/populate/default.nix @@ -13,12 +13,12 @@ in stdenv.mkDerivation rec { name = "populate"; - version = "1.2.0"; + version = "1.2.1"; src = fetchgit { url = http://cgit.ni.krebsco.de/populate; rev = "refs/tags/v${version}"; - sha256 = "0q3110hkkxn9bc3a63xbx1hyd1fpzz4wrck4lng3j5a9i1y1jm07"; + sha256 = "13viizpmjkqxc3d9mk2bzspgnal07bma5m9lc90mcdlk36na3pkq"; }; phases = [ -- cgit v1.3.1