blackfire: 1.49.4 → 2.5.1

https://blackfire.io/docs/up-and-running/agent-upgrade

Changed files
+24 -15
nixos
modules
services
pkgs
development
tools
misc
blackfire
+4 -9
nixos/modules/services/development/blackfire.nix
···
enable = lib.mkEnableOption "Blackfire profiler agent";
settings = lib.mkOption {
description = ''
-
See https://blackfire.io/docs/configuration/agent
+
See https://blackfire.io/docs/up-and-running/configuration/agent
'';
type = lib.types.submodule {
freeformType = with lib.types; attrsOf str;
···
services.blackfire-agent.settings.socket = "unix:///run/${agentSock}";
-
systemd.services.blackfire-agent = {
-
description = "Blackfire agent";
-
-
serviceConfig = {
-
ExecStart = "${pkgs.blackfire}/bin/blackfire-agent";
-
RuntimeDirectory = "blackfire";
-
};
-
};
+
systemd.packages = [
+
pkgs.blackfire
+
];
};
}
+2 -1
nixos/modules/services/development/blackfire.xml
···
enable = true;
settings = {
# You will need to get credentials at https://blackfire.io/my/settings/credentials
-
# You can also use other options described in https://blackfire.io/docs/configuration/agent
+
# You can also use other options described in https://blackfire.io/docs/up-and-running/configuration/agent
server-id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
server-token = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
};
};
# Make the agent run on start-up.
+
# (WantedBy= from the upstream unit not respected: https://github.com/NixOS/nixpkgs/issues/81138)
# Alternately, you can start it manually with `systemctl start blackfire-agent`.
systemd.services.blackfire-agent.wantedBy = [ "phpfpm-foo.service" ];
}</programlisting>
+18 -5
pkgs/development/tools/misc/blackfire/default.nix
···
}:
stdenv.mkDerivation rec {
-
pname = "blackfire-agent";
-
version = "1.49.4";
+
pname = "blackfire";
+
version = "2.5.1";
src = fetchurl {
-
url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire-php/blackfire-agent_${version}_amd64.deb";
-
sha256 = "t1S54z3xTMTUBWz0jCFX1A7GJdWWsP/lTa9MMjo8t1A=";
+
url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_amd64.deb";
+
sha256 = "wak7LE5j6OKIHqCsEGrxSq1FAFzehMetYj6c/Zkr9dk=";
};
nativeBuildInputs = [
···
mv $out/usr/* $out
rmdir $out/usr
+
# Fix ExecStart path and replace deprecated directory creation method,
+
# use dynamic user.
+
substituteInPlace "$out/lib/systemd/system/blackfire-agent.service" \
+
--replace '/usr/' "$out/" \
+
--replace 'ExecStartPre=/bin/mkdir -p /var/run/blackfire' 'RuntimeDirectory=blackfire' \
+
--replace 'ExecStartPre=/bin/chown blackfire: /var/run/blackfire' "" \
+
--replace 'User=blackfire' 'DynamicUser=yes' \
+
--replace 'PermissionsStartOnly=true' ""
+
+
# Modernize socket path.
+
substituteInPlace "$out/etc/blackfire/agent" \
+
--replace '/var/run' '/run'
+
runHook postInstall
'';
passthru = {
updateScript = writeShellScript "update-${pname}" ''
export PATH="${lib.makeBinPath [ curl jq common-updater-scripts ]}"
-
update-source-version "$UPDATE_NIX_ATTR_PATH" "$(curl https://blackfire.io/api/v1/releases | jq .agent --raw-output)"
+
update-source-version "$UPDATE_NIX_ATTR_PATH" "$(curl https://blackfire.io/api/v1/releases | jq .cli --raw-output)"
'';
};