package extracted logs

This commit is contained in:
Robin Appelman 2024-07-20 17:50:10 +02:00
commit f14be14a83
6 changed files with 83 additions and 4 deletions

1
.gitignore vendored
View file

@ -1,5 +1,4 @@
target target
/data
.direnv .direnv
.env .env
result result

View file

@ -80,7 +80,7 @@
lib.attrsets.genAttrs targets (target: lib.attrsets.genAttrs targets (target:
(cross-naersk'.buildPackage target) nearskOpt) (cross-naersk'.buildPackage target) nearskOpt)
// { // {
inherit (pkgs) logging-extractor; inherit (pkgs) logging-extractor extracted-logs;
check = naersk'.buildPackage (nearskOpt check = naersk'.buildPackage (nearskOpt
// { // {
mode = "check"; mode = "check";

29
nix/extracted-logs.nix Normal file
View file

@ -0,0 +1,29 @@
{
stdenvNoCC,
logging-extractor,
fetchzip,
name,
version,
url,
major,
sha256,
}:
stdenvNoCC.mkDerivation rec {
pname = "extractor-logs-${name}-${major}";
inherit version;
src = fetchzip {
inherit url sha256;
};
nativeBuildInputs = [logging-extractor];
buildPhase = ''
logging-extractor . > logs.json
'';
installPhase = ''
mkdir -p $out/${name}/${major}
cp logs.json $out/${name}/${major}
'';
}

View file

@ -15,4 +15,4 @@ in
cargoLock = { cargoLock = {
lockFile = ../logging-extractor/Cargo.lock; lockFile = ../logging-extractor/Cargo.lock;
}; };
} }

View file

@ -1,3 +1,20 @@
final: prev: { final: prev: let
inherit (builtins) mapAttrs attrValues map;
inherit (prev) symlinkJoin;
inherit (prev.lib) importJSON;
inherit (prev.lib.lists) flatten;
packages = prev.lib.traceValSeq (importJSON ./versions.json);
loggingFor = name:
mapAttrs (major: data: (final.callPackage ./extracted-logs.nix {
inherit (data) url sha256 version;
inherit name major;
}));
in {
logging-extractor = final.callPackage ./logging-extractor.nix {}; logging-extractor = final.callPackage ./logging-extractor.nix {};
extracted-logs-parts = mapAttrs loggingFor packages;
extracted-logs = symlinkJoin {
name = "extracted-logs";
paths = flatten (map attrValues (attrValues final.extracted-logs-parts));
};
} }

34
nix/versions.json Normal file
View file

@ -0,0 +1,34 @@
{
"server": {
"29": {
"version": "29.0.3",
"url": "https://download.nextcloud.com/server/releases/nextcloud-29.0.3.zip",
"sha256": "sha256-lqbPOAn7hYr+AThNiSFWLrU1u6iBKOQNWmilKKfe5zY="
},
"28": {
"version": "28.0.8",
"url": "https://download.nextcloud.com/server/releases/nextcloud-28.0.8.zip",
"sha256": "sha256-PcpqrOEHC6J6EzCqbYfgnjaFXJF7zpAyIcdXxP14+Co="
},
"27": {
"version": "27.1.11",
"url": "https://download.nextcloud.com/server/releases/nextcloud-27.1.11.zip",
"sha256": "sha256-xzo1dNo9iSrVJD5D5Rd4g2YMQRcRVEKYT8vF1MYb9S4="
},
"26": {
"version": "26.0.13",
"url": "https://download.nextcloud.com/server/releases/nextcloud-26.0.13.zip",
"sha256": "sha256-05H2wwPhiN6NT1jhw+lAo5nB0AYrwwc0pAkCgh6AIU0="
},
"25": {
"version": "25.0.13",
"url": "https://download.nextcloud.com/server/releases/nextcloud-25.0.13.zip",
"sha256": "sha256-8A9b+MtNtBI7Hl67NkeZ+BenVpqMIqrod/s0bFooneI="
},
"24": {
"version": "24.0.12",
"url": "https://download.nextcloud.com/server/releases/nextcloud-24.0.12.zip",
"sha256": "sha256-+VlQVSTXtEsuoJ3Ic9o4DmFH4CQhMK8KtwiS+SqhiYE="
}
}
}