pykms: 2019-06-11 -> 2021-01-25
This commit is contained in:
parent
bed33d185a
commit
a3773da142
@ -1,9 +1,13 @@
|
|||||||
{ lib, runtimeShell, fetchFromGitHub, python3, writeText, writeScript
|
{ lib
|
||||||
, coreutils, sqlite }:
|
, fetchFromGitHub
|
||||||
|
, python3
|
||||||
with python3.pkgs;
|
, writeText
|
||||||
|
, writeShellScript
|
||||||
|
, sqlite
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
|
pypkgs = python3.pkgs;
|
||||||
|
|
||||||
dbSql = writeText "create_pykms_db.sql" ''
|
dbSql = writeText "create_pykms_db.sql" ''
|
||||||
CREATE TABLE clients(
|
CREATE TABLE clients(
|
||||||
clientMachineId TEXT,
|
clientMachineId TEXT,
|
||||||
@ -17,35 +21,31 @@ let
|
|||||||
);
|
);
|
||||||
'';
|
'';
|
||||||
|
|
||||||
dbScript = writeScript "create_pykms_db.sh" (with lib; ''
|
dbScript = writeShellScript "create_pykms_db.sh" ''
|
||||||
#!${runtimeShell}
|
|
||||||
|
|
||||||
set -eEuo pipefail
|
set -eEuo pipefail
|
||||||
|
|
||||||
db=$1
|
db=''${1:-/var/lib/pykms/clients.db}
|
||||||
|
|
||||||
if [ ! -e $db ] ; then
|
if [ ! -e $db ] ; then
|
||||||
${getBin sqlite}/bin/sqlite3 $db < ${dbSql}
|
${lib.getBin sqlite}/bin/sqlite3 $db < ${dbSql}
|
||||||
fi
|
fi
|
||||||
'');
|
'';
|
||||||
|
|
||||||
in buildPythonApplication rec {
|
in
|
||||||
|
pypkgs.buildPythonApplication rec {
|
||||||
pname = "pykms";
|
pname = "pykms";
|
||||||
version = "20190611";
|
version = "unstable-2021-01-25";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "SystemRage";
|
owner = "SystemRage";
|
||||||
repo = "py-kms";
|
repo = "py-kms";
|
||||||
rev = "dead208b1593655377fe8bc0d74cc4bead617103";
|
rev = "a3b0c85b5b90f63b33dfa5ae6085fcd52c6da2ff";
|
||||||
sha256 = "065qpkfqrahsam1rb43vnasmzrangan5z1pr3p6s0sqjz5l2jydp";
|
sha256 = "sha256-u0R0uJMQxHnJUDenxglhQkZza3/1DcyXCILcZVceygA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot = "source/py-kms";
|
sourceRoot = "source/py-kms";
|
||||||
|
|
||||||
propagatedBuildInputs = [ systemd pytz tzlocal ];
|
propagatedBuildInputs = with pypkgs; [ systemd pytz tzlocal ];
|
||||||
|
|
||||||
# Fix https://github.com/SystemRage/py-kms/issues/64 :
|
|
||||||
patches = [ ./log-to-current-directory-by-default.patch ];
|
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
siteDir=$out/${python3.sitePackages}
|
siteDir=$out/${python3.sitePackages}
|
||||||
@ -66,25 +66,24 @@ in buildPythonApplication rec {
|
|||||||
|
|
||||||
mv * $siteDir
|
mv * $siteDir
|
||||||
for b in Client Server ; do
|
for b in Client Server ; do
|
||||||
makeWrapper ${python.interpreter} $out/bin/''${b,,} \
|
makeWrapper ${python3.interpreter} $out/bin/''${b,,} \
|
||||||
--argv0 ''${b,,} \
|
--argv0 pykms-''${b,,} \
|
||||||
--add-flags $siteDir/pykms_$b.py \
|
--add-flags $siteDir/pykms_$b.py
|
||||||
--prefix PYTHONPATH : "$(toPythonPath ${systemd})"
|
|
||||||
done
|
done
|
||||||
|
|
||||||
install -Dm755 ${dbScript} $out/libexec/create_pykms_db.sh
|
install -Dm755 ${dbScript} $out/libexec/create_pykms_db.sh
|
||||||
|
|
||||||
install -Dm644 ../README.md -t $out/share/doc/pykms
|
install -Dm644 ../README.md -t $out/share/doc/pykms
|
||||||
|
|
||||||
${python.interpreter} -m compileall $siteDir
|
${python3.interpreter} -m compileall $siteDir
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Windows KMS (Key Management Service) server written in Python";
|
description = "Windows KMS (Key Management Service) server written in Python";
|
||||||
homepage = "https://github.com/SystemRage/py-kms";
|
homepage = "https://github.com/SystemRage/py-kms";
|
||||||
license = licenses.mit;
|
license = licenses.unlicense;
|
||||||
maintainers = with maintainers; [ peterhoeg ];
|
maintainers = with maintainers; [ peterhoeg ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
# By default, create log files in current directory, instead of the script directory.
|
|
||||||
--- ../original/py-kms/pykms_Client.py
|
|
||||||
+++ py-kms/pykms_Client.py
|
|
||||||
@@ -48,5 +48,5 @@
|
|
||||||
'choi' : ["CRITICAL", "ERROR", "WARNING", "INFO", "DEBUG", "MINI"]},
|
|
||||||
'lfile' : {'help' : 'Use this option to set an output log file. The default is \"pykms_logclient.log\" or type \"STDOUT\" to view log info on stdout.',
|
|
||||||
- 'def' : os.path.dirname(os.path.abspath( __file__ )) + "/pykms_logclient.log", 'des' : "logfile"},
|
|
||||||
+ 'def' : "pykms_logclient.log", 'des' : "logfile"},
|
|
||||||
'lsize' : {'help' : 'Use this flag to set a maximum size (in MB) to the output log file. Desactivated by default.', 'def' : 0, 'des': "logsize"},
|
|
||||||
}
|
|
||||||
--- ../original/py-kms/pykms_Server.py
|
|
||||||
+++ py-kms/pykms_Server.py
|
|
||||||
@@ -85,5 +85,5 @@
|
|
||||||
'choi' : ["CRITICAL", "ERROR", "WARNING", "INFO", "DEBUG", "MINI"]},
|
|
||||||
'lfile' : {'help' : 'Use this option to set or not an output log file. The default is \"pykms_logserver.log\" or type \"STDOUT\" to view log info on stdout.',
|
|
||||||
- 'def' : os.path.dirname(os.path.abspath( __file__ )) + "/pykms_logserver.log", 'des' : "logfile"},
|
|
||||||
+ 'def' : "pykms_logserver.log", 'des' : "logfile"},
|
|
||||||
'lsize' : {'help' : 'Use this flag to set a maximum size (in MB) to the output log file. Desactivated by default.', 'def' : 0, 'des': "logsize"},
|
|
||||||
}
|
|
||||||
'');
|
|
Loading…
x
Reference in New Issue
Block a user