krebs buildbot: reintroduce packages with minimal overrides
This commit is contained in:
parent
826da6c222
commit
7aa31b7bab
|
@ -2,22 +2,6 @@
|
||||||
|
|
||||||
with import <stockholm/lib>;
|
with import <stockholm/lib>;
|
||||||
let
|
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" ''
|
buildbot-master-config = pkgs.writeText "buildbot-master.cfg" ''
|
||||||
# -*- python -*-
|
# -*- python -*-
|
||||||
from buildbot.plugins import *
|
from buildbot.plugins import *
|
||||||
|
@ -364,7 +348,7 @@ let
|
||||||
set -efux
|
set -efux
|
||||||
if [ ! -e ${workdir} ];then
|
if [ ! -e ${workdir} ];then
|
||||||
mkdir -p ${workdir}
|
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
|
fi
|
||||||
# always override the master.cfg
|
# always override the master.cfg
|
||||||
cp ${buildbot-master-config} ${workdir}/master.cfg
|
cp ${buildbot-master-config} ${workdir}/master.cfg
|
||||||
|
@ -373,18 +357,18 @@ let
|
||||||
${ concatMapStringsSep "\n"
|
${ concatMapStringsSep "\n"
|
||||||
(f: "cp ${secretsdir}/${f} ${workdir}/${f}" ) cfg.secrets }
|
(f: "cp ${secretsdir}/${f} ${workdir}/${f}" ) cfg.secrets }
|
||||||
# sanity
|
# sanity
|
||||||
${buildbot}/bin/buildbot checkconfig ${workdir}
|
${pkgs.buildbot-classic}/bin/buildbot checkconfig ${workdir}
|
||||||
|
|
||||||
# TODO: maybe upgrade? not sure about this
|
# TODO: maybe upgrade? not sure about this
|
||||||
# normally we should write buildbot.tac by our own
|
# 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}
|
chmod 700 -R ${workdir}
|
||||||
chown buildbotMaster:buildbotMaster -R ${workdir}
|
chown buildbotMaster:buildbotMaster -R ${workdir}
|
||||||
'';
|
'';
|
||||||
ExecStart = "${buildbot}/bin/buildbot start ${workdir}";
|
ExecStart = "${pkgs.buildbot-classic}/bin/buildbot start ${workdir}";
|
||||||
ExecStop = "${buildbot}/bin/buildbot stop ${workdir}";
|
ExecStop = "${pkgs.buildbot-classic}/bin/buildbot stop ${workdir}";
|
||||||
ExecReload = "${buildbot}/bin/buildbot reconfig ${workdir}";
|
ExecReload = "${pkgs.buildbot-classic}/bin/buildbot reconfig ${workdir}";
|
||||||
PrivateTmp = "true";
|
PrivateTmp = "true";
|
||||||
User = "buildbotMaster";
|
User = "buildbotMaster";
|
||||||
Restart = "always";
|
Restart = "always";
|
||||||
|
|
|
@ -2,20 +2,6 @@
|
||||||
|
|
||||||
with import <stockholm/lib>;
|
with import <stockholm/lib>;
|
||||||
let
|
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" ''
|
buildbot-slave-init = pkgs.writeText "buildbot-slave.tac" ''
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
@ -166,7 +152,6 @@ let
|
||||||
workdir = shell.escape cfg.workDir;
|
workdir = shell.escape cfg.workDir;
|
||||||
contact = shell.escape cfg.contact;
|
contact = shell.escape cfg.contact;
|
||||||
description = shell.escape cfg.description;
|
description = shell.escape cfg.description;
|
||||||
buildbot = pkg;
|
|
||||||
# TODO:make this
|
# TODO:make this
|
||||||
in {
|
in {
|
||||||
PermissionsStartOnly = true;
|
PermissionsStartOnly = true;
|
||||||
|
@ -183,8 +168,8 @@ let
|
||||||
chown buildbotSlave:buildbotSlave -R ${workdir}
|
chown buildbotSlave:buildbotSlave -R ${workdir}
|
||||||
chmod 700 -R ${workdir}
|
chmod 700 -R ${workdir}
|
||||||
'';
|
'';
|
||||||
ExecStart = "${buildbot}/bin/buildslave start ${workdir}";
|
ExecStart = "${pkgs.buildbot-classic-slave}/bin/buildslave start ${workdir}";
|
||||||
ExecStop = "${buildbot}/bin/buildslave stop ${workdir}";
|
ExecStop = "${pkgs.buildbot-classic-slave}/bin/buildslave stop ${workdir}";
|
||||||
PrivateTmp = "true";
|
PrivateTmp = "true";
|
||||||
User = "buildbotSlave";
|
User = "buildbotSlave";
|
||||||
Restart = "always";
|
Restart = "always";
|
||||||
|
|
21
krebs/5pkgs/simple/buildbot-classic-slave/default.nix
Normal file
21
krebs/5pkgs/simple/buildbot-classic-slave/default.nix
Normal file
|
@ -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"
|
||||||
|
'';
|
||||||
|
}
|
47
krebs/5pkgs/simple/buildbot-classic/default.nix
Normal file
47
krebs/5pkgs/simple/buildbot-classic/default.nix
Normal file
|
@ -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"
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user