diff options
author | Hartmut Goebel <h.goebel@crazy-compilers.com> | 2022-06-30 10:22:32 +0200 |
---|---|---|
committer | Hartmut Goebel <h.goebel@crazy-compilers.com> | 2022-06-30 11:19:21 +0200 |
commit | ae51a1d1fc5323d7222ea7c99fc096c5d0b8325e (patch) | |
tree | 20ce68780f9cbe7ee7063572959fbd36bc8e5a60 | |
parent | 7035eb7a41bdce953afe8d70d3d7a74b67d177fc (diff) | |
download | guix-ae51a1d1fc5323d7222ea7c99fc096c5d0b8325e.tar.gz |
import: git: Restrict to non-github origins.
'guix refresh -t generic-git' reported a lot of packages which are hosted at github and are already handled by the github updater. So whether the package is updates using the github updater or the generic-git updater would be non-deterministic. And indeed 'guix refresh --list-updaters' without this change reported 31.2% for the github updater and 34.9% for the generic-git updater. With this patch, it's only 3.7% for the generic-git updater. (Still the sum of the percent-values is 112%, anyhow better then the 146% prior to this change.) Beside these statistical issues, this patch has another effect: If the github updater fails to pick a (later) version the generic-git updater was triggered. Anyhow: Why should the generic-git updater be able to find a (later) version, if the github updater did not? * guix/import/github.scm: Export 'github-package?'. * guix/import/git.scm(git-package?): Also check for not github-package?.
-rw-r--r-- | guix/import/git.scm | 4 | ||||
-rw-r--r-- | guix/import/github.scm | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/guix/import/git.scm b/guix/import/git.scm index 4cf404677c..8fd5d70af9 100644 --- a/guix/import/git.scm +++ b/guix/import/git.scm @@ -24,6 +24,7 @@ #:use-module (guix git) #:use-module (guix git-download) #:use-module (guix i18n) + #:use-module ((guix import github) #:select (github-package?)) #:use-module (guix packages) #:use-module (guix upstream) #:use-module (guix utils) @@ -203,7 +204,8 @@ tag, or #false and #false if the latest version could not be determined." (match (package-source package) ((? origin? origin) (and (eq? (origin-method origin) git-fetch) - (git-reference? (origin-uri origin)))) + (git-reference? (origin-uri origin)) + (not (github-package? package)))) (_ #f))) (define (latest-git-release package) diff --git a/guix/import/github.scm b/guix/import/github.scm index e1a1af7133..32b9d36f2a 100644 --- a/guix/import/github.scm +++ b/guix/import/github.scm @@ -42,7 +42,7 @@ #:use-module (guix http-client) #:use-module (web uri) #:use-module (web response) - #:export (%github-api %github-updater)) + #:export (%github-api %github-updater github-package?)) ;; For tests. (define %github-api (make-parameter "https://api.github.com")) |