diff options
Diffstat (limited to 'krebs')
| -rw-r--r-- | krebs/3modules/buildbot/master.nix | 28 | ||||
| -rw-r--r-- | krebs/3modules/buildbot/slave.nix | 19 | ||||
| -rw-r--r-- | krebs/5pkgs/simple/buildbot-classic-slave/default.nix | 21 | ||||
| -rw-r--r-- | krebs/5pkgs/simple/buildbot-classic/default.nix | 47 | 
4 files changed, 76 insertions, 39 deletions
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 <stockholm/lib>;  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 <stockholm/lib>;  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" +  ''; +} +  | 
