diff options
author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | 2023-12-06 06:01:30 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-06 06:01:30 +0000 |
commit | 035a649a67c56b9d16be608e8bb87b9c215b33da (patch) | |
tree | cdb7f52fa90bd89fe14628303333ba524f1c49be /pkgs/servers | |
parent | 2622221e95392f62f81ae60c35504e338e9ac2cf (diff) | |
parent | bf78e6a54601fc74d8d27fb918a420c84fb6f5b3 (diff) | |
download | nixlib-035a649a67c56b9d16be608e8bb87b9c215b33da.tar nixlib-035a649a67c56b9d16be608e8bb87b9c215b33da.tar.gz nixlib-035a649a67c56b9d16be608e8bb87b9c215b33da.tar.bz2 nixlib-035a649a67c56b9d16be608e8bb87b9c215b33da.tar.lz nixlib-035a649a67c56b9d16be608e8bb87b9c215b33da.tar.xz nixlib-035a649a67c56b9d16be608e8bb87b9c215b33da.tar.zst nixlib-035a649a67c56b9d16be608e8bb87b9c215b33da.zip |
Merge master into staging-next
Diffstat (limited to 'pkgs/servers')
17 files changed, 100 insertions, 387 deletions
diff --git a/pkgs/servers/apache-airflow/0001-Revert-fix-yarn-warning-from-d3-color-27139.patch b/pkgs/servers/apache-airflow/0001-Revert-fix-yarn-warning-from-d3-color-27139.patch deleted file mode 100644 index 4e6f56a7cf12..000000000000 --- a/pkgs/servers/apache-airflow/0001-Revert-fix-yarn-warning-from-d3-color-27139.patch +++ /dev/null @@ -1,51 +0,0 @@ -From eca202d2893c9f2f91628ad6244b52cf7880bfcf Mon Sep 17 00:00:00 2001 -From: Graham Bennett <graham@grahambennett.org> -Date: Mon, 21 Nov 2022 15:39:54 +0000 -Subject: [PATCH] Revert "fix yarn warning from d3-color (#27139)" - -This reverts commit b9e133e40c2848b0d555051a99bf8d2816fd28a7. ---- - airflow/www/package.json | 3 --- - airflow/www/yarn.lock | 13 +++++++++---- - 2 files changed, 9 insertions(+), 7 deletions(-) - -diff --git a/airflow/www/package.json b/airflow/www/package.json -index f694089ee6..3d37ad4c46 100644 ---- a/airflow/www/package.json -+++ b/airflow/www/package.json -@@ -120,8 +120,5 @@ - "redoc": "^2.0.0-rc.72", - "type-fest": "^2.17.0", - "url-search-params-polyfill": "^8.1.0" -- }, -- "resolutions": { -- "d3-color": "^3.1.0" - } - } -diff --git a/airflow/www/yarn.lock b/airflow/www/yarn.lock -index bafd63a368..dad0ebabab 100644 ---- a/airflow/www/yarn.lock -+++ b/airflow/www/yarn.lock -@@ -4518,10 +4518,15 @@ d3-collection@1, d3-collection@^1.0.4: - resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.7.tgz#349bd2aa9977db071091c13144d5e4f16b5b310e" - integrity sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A== - --d3-color@1, "d3-color@1 - 2", d3-color@^3.1.0: -- version "3.1.0" -- resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" -- integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== -+d3-color@1: -+ version "1.4.1" -+ resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.4.1.tgz#c52002bf8846ada4424d55d97982fef26eb3bc8a" -+ integrity sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q== -+ -+"d3-color@1 - 2": -+ version "2.0.0" -+ resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-2.0.0.tgz#8d625cab42ed9b8f601a1760a389f7ea9189d62e" -+ integrity sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ== - - d3-contour@1: - version "1.3.2" --- -2.37.3 - diff --git a/pkgs/servers/home-assistant/build-custom-component/check_manifest.py b/pkgs/servers/home-assistant/build-custom-component/check_manifest.py index bbe9535824e7..463a7579763d 100644 --- a/pkgs/servers/home-assistant/build-custom-component/check_manifest.py +++ b/pkgs/servers/home-assistant/build-custom-component/check_manifest.py @@ -1,28 +1,31 @@ #!/usr/bin/env python3 import json -import importlib_metadata +import os import sys +import importlib_metadata from packaging.requirements import Requirement +def error(msg: str) -> None: + print(f" - {msg}", file=sys.stderr) + return False + + def check_requirement(req: str): # https://packaging.pypa.io/en/stable/requirements.html requirement = Requirement(req) try: version = importlib_metadata.distribution(requirement.name).version except importlib_metadata.PackageNotFoundError: - print(f" - Dependency {requirement.name} is missing", file=sys.stderr) - return False + return error(f"{requirement.name}{requirement.specifier} not present") # https://packaging.pypa.io/en/stable/specifiers.html - if not version in requirement.specifier: - print( - f" - {requirement.name}{requirement.specifier} expected, but got {version}", - file=sys.stderr, + if version not in requirement.specifier: + return error( + f"{requirement.name}{requirement.specifier} expected, but got {version}" ) - return False return True @@ -30,13 +33,24 @@ def check_requirement(req: str): def check_manifest(manifest_file: str): with open(manifest_file) as fd: manifest = json.load(fd) + + ok = True + + derivation_domain = os.environ.get("domain") + manifest_domain = manifest["domain"] + if derivation_domain != manifest_domain: + ok = False + error( + f"Derivation attribute domain ({derivation_domain}) must match manifest domain ({manifest_domain})" + ) + if "requirements" in manifest: - ok = True for requirement in manifest["requirements"]: ok &= check_requirement(requirement) - if not ok: - print("Manifest requirements are not met", file=sys.stderr) - sys.exit(1) + + if not ok: + error("Manifest check failed.") + sys.exit(1) if __name__ == "__main__": diff --git a/pkgs/servers/home-assistant/build-custom-component/default.nix b/pkgs/servers/home-assistant/build-custom-component/default.nix index 05b7c2d4b039..2948d15bb814 100644 --- a/pkgs/servers/home-assistant/build-custom-component/default.nix +++ b/pkgs/servers/home-assistant/build-custom-component/default.nix @@ -3,7 +3,8 @@ , makeSetupHook }: -{ pname +{ owner +, domain , version , format ? "other" , ... @@ -17,13 +18,14 @@ let in home-assistant.python.pkgs.buildPythonPackage ( { + pname = "${owner}/${domain}"; inherit format; installPhase = '' runHook preInstall mkdir $out - cp -r $src/custom_components/ $out/ + cp -r ./custom_components/ $out/ runHook postInstall ''; diff --git a/pkgs/servers/home-assistant/custom-components/README.md b/pkgs/servers/home-assistant/custom-components/README.md index a7244b25c173..d7137e5c62f7 100644 --- a/pkgs/servers/home-assistant/custom-components/README.md +++ b/pkgs/servers/home-assistant/custom-components/README.md @@ -25,7 +25,7 @@ versions into the Python environment. }: buildHomeAssistantComponent { - # pname, version + # owner, domain, version src = fetchFromGithub { # owner, repo, rev, hash @@ -40,18 +40,34 @@ buildHomeAssistantComponent { } } -## Package name normalization +## Package attribute -Apply the same normalization rules as defined for python packages in -[PEP503](https://peps.python.org/pep-0503/#normalized-names). -The name should be lowercased and dots, underlines or multiple -dashes should all be replaced by a single dash. +The attribute name must reflect the domain as seen in the +`manifest.json`, which in turn will match the python module name below +in the `custom_components/` directory. + +**Example:** + +The project [mweinelt/ha-prometheus-sensor](https://github.com/mweinelt/ha-prometheus-sensor/blob/1.0.0/custom_components/prometheus_sensor/manifest.json#L2) +would receive the attribute name `"prometheus_sensor"`, because both +domain in the `manifest.json` as well as the module name are +`prometheus_sensor`. + +## Package name + +The `pname` attribute is a composition of both `owner` and `domain`. + +Don't set `pname`, set `owner and `domain` instead. + +Exposing the `domain` attribute separately allows checking for +conflicting components at eval time. ## Manifest check The `buildHomeAssistantComponent` builder uses a hook to check whether the dependencies specified in the `manifest.json` are present and -inside the specified version range. +inside the specified version range. It also makes sure derivation +and manifest agree about the domain name. There shouldn't be a need to disable this hook, but you can set `dontCheckManifest` to `true` in the derivation to achieve that. diff --git a/pkgs/servers/home-assistant/custom-components/default.nix b/pkgs/servers/home-assistant/custom-components/default.nix index 4a96b305964a..15bd721c72e8 100644 --- a/pkgs/servers/home-assistant/custom-components/default.nix +++ b/pkgs/servers/home-assistant/custom-components/default.nix @@ -2,5 +2,5 @@ }: { - prometheus-sensor = callPackage ./prometheus-sensor {}; + prometheus_sensor = callPackage ./prometheus_sensor {}; } diff --git a/pkgs/servers/home-assistant/custom-components/prometheus-sensor/default.nix b/pkgs/servers/home-assistant/custom-components/prometheus_sensor/default.nix index 07bcd9abec1c..2368d85552b2 100644 --- a/pkgs/servers/home-assistant/custom-components/prometheus-sensor/default.nix +++ b/pkgs/servers/home-assistant/custom-components/prometheus_sensor/default.nix @@ -4,7 +4,8 @@ }: buildHomeAssistantComponent rec { - pname = "prometheus-sensor"; + owner = "mweinelt"; + domain = "prometheus_sensor"; version = "1.0.0"; src = fetchFromGitHub { diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix index 4bb1e63b5f7f..848e6062451a 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix @@ -2,6 +2,8 @@ }: { + light-entity-card = callPackage ./light-entity-card { }; + mini-graph-card = callPackage ./mini-graph-card {}; mini-media-player = callPackage ./mini-media-player {}; diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix new file mode 100644 index 000000000000..0cdf9ee1677e --- /dev/null +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix @@ -0,0 +1,39 @@ +{ lib +, buildNpmPackage +, fetchFromGitHub +}: + +buildNpmPackage rec { + pname = "light-entity-card"; + version = "6.1.0"; + + src = fetchFromGitHub { + owner = "ljmerza"; + repo = "light-entity-card"; + rev = "refs/tags/${version}"; + hash = "sha256-CJpRvgPf7+v9m/8/O2R+nut3PnyDPC8OTipyE+Brp9U="; + }; + + npmDepsHash = "sha256-EZDTWtn3joikwiC5Kfn94+tXRDpBhMDHqHozfIkfbJ0="; + + env.NODE_OPTIONS = "--openssl-legacy-provider"; + + installPhase = '' + runHook preInstall + + mkdir $out + cp -v dist/light-entity-card.js* $out/ + + runHook postInstall + ''; + + passthru.entrypoint = "light-entity-card"; + + meta = with lib; { + description = "Control any light or switch entity"; + homepage = "https://github.com/ljmerza/light-entity-card"; + changelog = "https://github.com/ljmerza/light-entity-card/releases/tag/${version}"; + maintainers = with maintainers; [ SuperSandro2000 ]; + license = licenses.mit; + }; +} diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix index 6945b18bde20..749b15398f4b 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix @@ -5,16 +5,16 @@ buildNpmPackage rec { pname = "mini-media-player"; - version = "1.16.5"; + version = "1.16.6"; src = fetchFromGitHub { owner = "kalkih"; repo = "mini-media-player"; rev = "v${version}"; - hash = "sha256-ydkY7Qx2GMh4CpvvBAQubJ7PlxSscDZRJayn82bOczM="; + hash = "sha256-1cC9dyZ9+7dXSL/dmFD0HV7SgsBW2zA7a+eOKVwbzg8="; }; - npmDepsHash = "sha256-v9NvZOrQPMOoG3LKACnu79jKgZtcnGiopWad+dFbplw="; + npmDepsHash = "sha256-/7roW1xkZmGuB/8nFaQz0Yeuai6yJ+cH7Uqa/zxfa5w="; installPhase = '' runHook preInstall diff --git a/pkgs/servers/http/bozohttpd/0001-include-stdint.h.patch b/pkgs/servers/http/bozohttpd/0001-include-stdint.h.patch deleted file mode 100644 index 1d0d716290dd..000000000000 --- a/pkgs/servers/http/bozohttpd/0001-include-stdint.h.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/libexec/httpd/bozohttpd.c b/libexec/httpd/bozohttpd.c -index 67083b2c6782..273cb5f5a42b 100644 ---- a/libexec/httpd/bozohttpd.c -+++ b/libexec/httpd/bozohttpd.c -@@ -138,6 +138,7 @@ - #include <grp.h> - #include <stdarg.h> - #include <stdlib.h> -+#include <stdint.h> - #include <strings.h> - #include <string.h> - #include <syslog.h> diff --git a/pkgs/servers/http/bozohttpd/0002-dont-use-host-BUFSIZ.patch b/pkgs/servers/http/bozohttpd/0002-dont-use-host-BUFSIZ.patch deleted file mode 100644 index 9a01a4adce7f..000000000000 --- a/pkgs/servers/http/bozohttpd/0002-dont-use-host-BUFSIZ.patch +++ /dev/null @@ -1,88 +0,0 @@ -diff --git a/libexec/httpd/auth-bozo.c b/libexec/httpd/auth-bozo.c -index a2f2ee4304c1..c9eefe3313dd 100644 ---- a/libexec/httpd/auth-bozo.c -+++ b/libexec/httpd/auth-bozo.c -@@ -54,7 +54,7 @@ bozo_auth_check(bozo_httpreq_t *request, const char *file) - bozohttpd_t *httpd = request->hr_httpd; - struct stat sb; - char dir[MAXPATHLEN], authfile[MAXPATHLEN], *basename; -- char user[BUFSIZ], *pass; -+ char user[BOZO_MINBUFSIZE], *pass; - FILE *fp; - int len; - -@@ -144,7 +144,7 @@ bozo_auth_check_headers(bozo_httpreq_t *request, char *val, char *str, - - if (strcasecmp(val, "authorization") == 0 && - strncasecmp(str, "Basic ", 6) == 0) { -- char authbuf[BUFSIZ]; -+ char authbuf[BOZO_MINBUFSIZE]; - char *pass = NULL; - ssize_t alen; - -diff --git a/libexec/httpd/bozohttpd.c b/libexec/httpd/bozohttpd.c -index 273cb5f5a42b..f619567ba822 100644 ---- a/libexec/httpd/bozohttpd.c -+++ b/libexec/httpd/bozohttpd.c -@@ -2275,7 +2275,7 @@ bozo_http_error(bozohttpd_t *httpd, int code, bozo_httpreq_t *request, - } - #endif /* !NO_USER_SUPPORT */ - -- size = snprintf(httpd->errorbuf, BUFSIZ, -+ size = snprintf(httpd->errorbuf, BOZO_MINBUFSIZE, - "<html><head><title>%s</title></head>\n" - "<body><h1>%s</h1>\n" - "%s%s: <pre>%s</pre>\n" -@@ -2285,10 +2285,10 @@ bozo_http_error(bozohttpd_t *httpd, int code, bozo_httpreq_t *request, - user ? user : "", file, - reason, hostname, portbuf, hostname, portbuf); - free(user); -- if (size >= (int)BUFSIZ) { -+ if (size >= (int)BOZO_MINBUFSIZE) { - bozowarn(httpd, - "bozo_http_error buffer too small, truncated"); -- size = (int)BUFSIZ; -+ size = (int)BOZO_MINBUFSIZE; - } - - if (file_alloc) -@@ -2515,7 +2515,7 @@ bozo_init_httpd(bozohttpd_t *httpd) - httpd->mmapsz = BOZO_MMAPSZ; - - /* error buffer for bozo_http_error() */ -- if ((httpd->errorbuf = malloc(BUFSIZ)) == NULL) { -+ if ((httpd->errorbuf = malloc(BOZO_MINBUFSIZE)) == NULL) { - fprintf(stderr, - "bozohttpd: memory_allocation failure\n"); - return 0; -diff --git a/libexec/httpd/bozohttpd.h b/libexec/httpd/bozohttpd.h -index c83bd112d9d7..7b19494cf5ad 100644 ---- a/libexec/httpd/bozohttpd.h -+++ b/libexec/httpd/bozohttpd.h -@@ -227,6 +227,8 @@ typedef struct bozoprefs_t { - /* only allow this many total headers bytes */ - #define BOZO_HEADERS_MAX_SIZE (16 * 1024) - -+#define BOZO_MINBUFSIZE (4 * 1024) -+ - /* debug flags */ - #define DEBUG_NORMAL 1 - #define DEBUG_FAT 2 -diff --git a/libexec/httpd/testsuite/t10.out b/libexec/httpd/testsuite/t10.out -index cf410110627c..b3ab88f94fb9 100644 ---- a/libexec/httpd/testsuite/t10.out -+++ b/libexec/httpd/testsuite/t10.out -@@ -1,8 +1,8 @@ - HTTP/1.0 404 Not Found - Content-Type: text/html --Content-Length: 1024 --Server: bozohttpd/20140708 -+Content-Length: 4096 -+Server: bozohttpd/20210403 - - <html><head><title>404 Not Found</title></head> - <body><h1>404 Not Found</h1> --/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -\ No newline at end of file -+/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -\ No newline at end of file diff --git a/pkgs/servers/mail/spamassassin/sa-update_add--siteconfigpath.patch b/pkgs/servers/mail/spamassassin/sa-update_add--siteconfigpath.patch deleted file mode 100644 index bac048892fe8..000000000000 --- a/pkgs/servers/mail/spamassassin/sa-update_add--siteconfigpath.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 60abf3ee8864980a95b32e2d6cf60e26b49654c0 Mon Sep 17 00:00:00 2001 -From: joachim schiele <js@lastlog.de> -Date: Wed, 7 Jun 2017 22:15:39 +0200 -Subject: [PATCH 2/2] Adding --siteconfigpath to not be forced to use global /etc/spamasassin configuration directory but to provide an alternative location. - ---- - sa-update.raw | 5 +++++ - lib/Mail/SpamAssassin/PerMsgStatus.pm | 2 + - 2 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/sa-update.raw b/sa-update.raw -index bb7396d..39f681f 100755 ---- a/sa-update.raw -+++ b/sa-update.raw -@@ -196,6 +196,7 @@ GetOptions( - 'gpgkeyfile=s' => \$opt{'gpgkeyfile'}, - 'channelfile=s' => \$opt{'channelfile'}, - 'updatedir=s' => \$opt{'updatedir'}, -+ 'siteconfigpath=s' => \$opt{'siteconfigpath'}, - 'gpg!' => \$GPG_ENABLED, - - '4' => sub { $opt{'force_pf'} = 'inet' }, -@@ -267,6 +268,9 @@ else { - $opt{'updatedir'} = $SA->sed_path('__local_state_dir__/__version__'); - } - -+if (defined $opt{'siteconfigpath'}) { -+ $LOCAL_RULES_DIR = untaint_file_path($opt{'siteconfigpath'}); -+} - - # check only disabled gpg - # https://issues.apache.org/SpamAssassin/show_bug.cgi?id=5854 -@@ -1808,7 +1812,7 @@ Options: - --updatedir path Directory to place updates, defaults to the - SpamAssassin site rules directory - (default: @@LOCAL_STATE_DIR@@/@@VERSION@@) -+ --siteconfigpath=path Path for site configs - --refreshmirrors Force the MIRRORED.BY file to be updated - -D, --debug [area=n,...] Print debugging messages - -v, --verbose Be verbose, like print updated channel names; --- - -2.12.2 - diff --git a/pkgs/servers/monitoring/prometheus/smartctl-exporter/0001-Return-the-cached-value-if-it-s-not-time-to-scan-aga.patch b/pkgs/servers/monitoring/prometheus/smartctl-exporter/0001-Return-the-cached-value-if-it-s-not-time-to-scan-aga.patch deleted file mode 100644 index 28616251f37e..000000000000 --- a/pkgs/servers/monitoring/prometheus/smartctl-exporter/0001-Return-the-cached-value-if-it-s-not-time-to-scan-aga.patch +++ /dev/null @@ -1,51 +0,0 @@ -From e81b06df67b1d42ef915615fafa0b56ef956673b Mon Sep 17 00:00:00 2001 -From: Andreas Fuchs <asf@boinkor.net> -Date: Thu, 11 Feb 2021 17:30:44 -0500 -Subject: [PATCH] Return the cached value if it's not time to scan again yet - -This should ensure that if we have a valid value cached (which ought -to be every time after the first scan), we return it as metrics. - -This fixes the crashes that would happen if queries happened earlier -than the re-scan interval allowed. - -Address review feedback: Shorten the time-to-scan logic - -We can express this in a single if statement, so it takes fewer lines -to do the "should we check again" check. ---- - readjson.go | 11 ++--------- - 1 file changed, 2 insertions(+), 9 deletions(-) - -diff --git a/readjson.go b/readjson.go -index da35448..c9996fd 100644 ---- a/readjson.go -+++ b/readjson.go -@@ -78,14 +78,7 @@ func readData(device string) (gjson.Result, error) { - - if _, err := os.Stat(device); err == nil { - cacheValue, cacheOk := jsonCache[device] -- timeToScan := false -- if cacheOk { -- timeToScan = time.Now().After(cacheValue.LastCollect.Add(options.SMARTctl.CollectPeriodDuration)) -- } else { -- timeToScan = true -- } -- -- if timeToScan { -+ if !cacheOk || time.Now().After(cacheValue.LastCollect.Add(options.SMARTctl.CollectPeriodDuration)) { - json, ok := readSMARTctl(device) - if ok { - jsonCache[device] = JSONCache{JSON: json, LastCollect: time.Now()} -@@ -93,7 +86,7 @@ func readData(device string) (gjson.Result, error) { - } - return gjson.Parse(DEFAULT_EMPTY_JSON), fmt.Errorf("smartctl returned bad data for device %s", device) - } -- return gjson.Parse(DEFAULT_EMPTY_JSON), fmt.Errorf("Too early collect called for device %s", device) -+ return cacheValue.JSON, nil - } - return gjson.Parse(DEFAULT_EMPTY_JSON), fmt.Errorf("Device %s unavialable", device) - } --- -2.33.1 - diff --git a/pkgs/servers/mxisd/0001-gradle.patch b/pkgs/servers/mxisd/0001-gradle.patch deleted file mode 100644 index 8a9f5a81180b..000000000000 --- a/pkgs/servers/mxisd/0001-gradle.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/build.gradle 2019-05-16 21:09:08.373112953 +0200 -+++ b/build.gradle 2019-05-16 21:09:37.093114427 +0200 -@@ -72,7 +72,7 @@ - - buildscript { - repositories { -- jcenter() -+REPLACE - } - - dependencies { -@@ -81,9 +81,7 @@ - } - - repositories { -- jcenter() -- maven { url "https://kamax.io/maven/releases/" } -- maven { url "https://kamax.io/maven/snapshots/" } -+REPLACE - } - - dependencies { diff --git a/pkgs/servers/web-apps/discourse/use_mv_instead_of_rename.patch b/pkgs/servers/web-apps/discourse/use_mv_instead_of_rename.patch deleted file mode 100644 index 30493b543e38..000000000000 --- a/pkgs/servers/web-apps/discourse/use_mv_instead_of_rename.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/lib/discourse.rb b/lib/discourse.rb -index ea2a3cbafd..66454d9157 100644 ---- a/lib/discourse.rb -+++ b/lib/discourse.rb -@@ -62,7 +62,7 @@ module Discourse - fd.fsync() - end - -- File.rename(temp_destination, destination) -+ FileUtils.mv(temp_destination, destination) - - nil - end -@@ -76,7 +76,7 @@ module Discourse - FileUtils.mkdir_p(File.join(Rails.root, 'tmp')) - temp_destination = File.join(Rails.root, 'tmp', SecureRandom.hex) - execute_command('ln', '-s', source, temp_destination) -- File.rename(temp_destination, destination) -+ FileUtils.mv(temp_destination, destination) - - nil - end diff --git a/pkgs/servers/web-apps/netbox/config_3_3.patch b/pkgs/servers/web-apps/netbox/config_3_3.patch deleted file mode 100644 index 1adc0b537a4e..000000000000 --- a/pkgs/servers/web-apps/netbox/config_3_3.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py -index d5a7bfaec..68754a8c5 100644 ---- a/netbox/netbox/settings.py -+++ b/netbox/netbox/settings.py -@@ -222,6 +222,7 @@ TASKS_REDIS_PASSWORD = TASKS_REDIS.get('PASSWORD', '') - TASKS_REDIS_DATABASE = TASKS_REDIS.get('DATABASE', 0) - TASKS_REDIS_SSL = TASKS_REDIS.get('SSL', False) - TASKS_REDIS_SKIP_TLS_VERIFY = TASKS_REDIS.get('INSECURE_SKIP_TLS_VERIFY', False) -+TASKS_REDIS_URL = TASKS_REDIS.get('URL') - - # Caching - if 'caching' not in REDIS: -@@ -236,11 +237,12 @@ CACHING_REDIS_SENTINELS = REDIS['caching'].get('SENTINELS', []) - CACHING_REDIS_SENTINEL_SERVICE = REDIS['caching'].get('SENTINEL_SERVICE', 'default') - CACHING_REDIS_PROTO = 'rediss' if REDIS['caching'].get('SSL', False) else 'redis' - CACHING_REDIS_SKIP_TLS_VERIFY = REDIS['caching'].get('INSECURE_SKIP_TLS_VERIFY', False) -+CACHING_REDIS_URL = REDIS['caching'].get('URL', f'{CACHING_REDIS_PROTO}://{CACHING_REDIS_HOST}:{CACHING_REDIS_PORT}/{CACHING_REDIS_DATABASE}') - - CACHES = { - 'default': { - 'BACKEND': 'django_redis.cache.RedisCache', -- 'LOCATION': f'{CACHING_REDIS_PROTO}://{CACHING_REDIS_HOST}:{CACHING_REDIS_PORT}/{CACHING_REDIS_DATABASE}', -+ 'LOCATION': CACHING_REDIS_URL, - 'OPTIONS': { - 'CLIENT_CLASS': 'django_redis.client.DefaultClient', - 'PASSWORD': CACHING_REDIS_PASSWORD, -@@ -383,7 +385,7 @@ USE_X_FORWARDED_HOST = True - X_FRAME_OPTIONS = 'SAMEORIGIN' - - # Static files (CSS, JavaScript, Images) --STATIC_ROOT = BASE_DIR + '/static' -+STATIC_ROOT = getattr(configuration, 'STATIC_ROOT', os.path.join(BASE_DIR, 'static')).rstrip('/') - STATIC_URL = f'/{BASE_PATH}static/' - STATICFILES_DIRS = ( - os.path.join(BASE_DIR, 'project-static', 'dist'), -@@ -562,6 +564,14 @@ if TASKS_REDIS_USING_SENTINEL: - 'socket_connect_timeout': TASKS_REDIS_SENTINEL_TIMEOUT - }, - } -+elif TASKS_REDIS_URL: -+ RQ_PARAMS = { -+ 'URL': TASKS_REDIS_URL, -+ 'PASSWORD': TASKS_REDIS_PASSWORD, -+ 'SSL': TASKS_REDIS_SSL, -+ 'SSL_CERT_REQS': None if TASKS_REDIS_SKIP_TLS_VERIFY else 'required', -+ 'DEFAULT_TIMEOUT': RQ_DEFAULT_TIMEOUT, -+ } - else: - RQ_PARAMS = { - 'HOST': TASKS_REDIS_HOST, diff --git a/pkgs/servers/web-apps/netbox/graphql-3_2_0.patch b/pkgs/servers/web-apps/netbox/graphql-3_2_0.patch deleted file mode 100644 index 1e97b7d85ce0..000000000000 --- a/pkgs/servers/web-apps/netbox/graphql-3_2_0.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/netbox/netbox/graphql/scalars.py b/netbox/netbox/graphql/scalars.py -index 7d14189dd..0a18e79d2 100644 ---- a/netbox/netbox/graphql/scalars.py -+++ b/netbox/netbox/graphql/scalars.py -@@ -1,6 +1,6 @@ - from graphene import Scalar - from graphql.language import ast --from graphql.type.scalars import MAX_INT, MIN_INT -+from graphql.type.scalars import GRAPHQL_MAX_INT, GRAPHQL_MIN_INT - - - class BigInt(Scalar): -@@ -10,7 +10,7 @@ class BigInt(Scalar): - @staticmethod - def to_float(value): - num = int(value) -- if num > MAX_INT or num < MIN_INT: -+ if num > GRAPHQL_MAX_INT or num < GRAPHQL_MIN_INT: - return float(num) - return num - |