summaryrefslogtreecommitdiff
path: root/guix/gnu-maintenance.scm
AgeCommit message (Collapse)Author
2026-03-29refresh: Make --list-updaters fast if web.cvs.savannah.gnu.org is broken.Hugo Buddelmeijer
--list-updaters loops through all packages and all updaters to see whether they match. The gnu-ftp updater used to use official-gnu-packages to fetch a list of packages from web.cvs.savannah.gnu.org. official-gnu-packages only caches the result if it succeeds; but does not cache upon a timout or 5xx status. official-gnu-packages times out after a minute and is called for all 30k+ packages. refresh --list-updaters could therefore take 30000 minutes. Now --list-updaters uses official-gnu-packages* (from lint.scm) that memoizes the result also on failure, thereby limiting the time to 1 minute. * guix/gnu-maintenance.scm: Add official-gnu-packages* from guix/lint.scm. Call official-gnu-packages* from gnu-package? * guix/lint.scm: Move official-gnu-packages* to guix/gnu-maintenance.scm Change-Id: I5e2e094bfb1042b03db47e119ced0e94b49b417c Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #4949
2025-11-18gnu-maintenance: ‘generic-html’ recognizes ‘release-file-regexp’ ↵Ludovic Courtès
property. * guix/gnu-maintenance.scm (package-release-file?): New procedure. (tarball->version): Add optional parameter and honor it. (import-html-release): Use ‘package-release-file?’ and pass second argument to ‘tarball->version’. * tests/gnu-maintenance.scm ("latest-html-release, 'release-file-regexp' property") ("latest-html-release, invalid 'release-file-regexp' property"): New tests. * doc/guix.texi (Invoking guix refresh): Document it. Change-Id: Ia9328418fdd2faf118e4ec9d5fbde4a279e100ed Reviewed-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-09-18Reapply "Update Maxim's email address."Maxim Cournoyer
This reverts commit a7db92d9b389cbe565395523882c34c6eff2c21a, this time with the more careful command, to avoid a world rebuild: grep -rl --exclude-dir=build --exclude-dir=patches --exclude=ld-wrapper.in \ --exclude=sitecustomize.py --exclude=guix-emacs.el maxim.cournoyer@gmail.com | xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g' Change-Id: I0871f5cf9ace79e34e78e24154d0da6ea95a3a91
2025-09-18Revert "Update Maxim's email address."Maxim Cournoyer
This reverts commit d0d87a744d724b7e7d5ac013c586039652087bb3. Oops! This caused a world rebuild. Change-Id: I25fff644b2b61d0ee93d69b457b04c72b5b74d15
2025-09-18Update Maxim's email address.Maxim Cournoyer
The change was automated via: git grep -l maxim.cournoyer@gmail.com | xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g' * .mailmap: New entry. Change-Id: Iaa88b1e51c94159c49138fb43910badb990eb169
2025-07-13gnu-maintenance: Update Savannah release monitoring URL.Ludovic Courtès
* guix/gnu-maintenance.scm (%savannah-base): Change URL and remove outdated comment. Change-Id: I03103ef2dd2cf9886f5b1eed12d70d5a298a85c1
2025-05-17import: Guard against potential type error.Maxim Cournoyer
The import-gnu-release could crash with a "Wrong type (expecting pair): ()" error, as seen when attempting to recursively refresh a package, e.g.: $ guix refresh -r xdg-desktop-portal-gnome It would crash on attempting to refresh 'bash-static'. * guix/gnu-maintenance.scm (import-gnu-release): Guard against a potentially empty VERSIONS list. Change-Id: Ib4edb4b721e6053b09ef144a1b16fe23b35649b0
2025-03-12gnu-maintenance: Better fix for 'guix refresh --update'.Maxim Cournoyer
The previous fix introduced in commit 8176277487 ("import: Avoid duplicate trailing '/' in computed import URL.") regressed on the handling of *file* source URIs: $ guix refresh cairo --update Starting download of /tmp/guix-file.xUKazf From https://cairographics.org/cairo-1.18.4.tar.xz... download failed "https://cairographics.org/cairo-1.18.4.tar.xz" 404 "Not Found" * guix/gnu-maintenance.scm (import-html-release): Revert commit 8176277487, instead adding a trailing slash only if it doesn't already exist. Change-Id: I6e3889f14badd8843bbf6436ad62a1594f553afe
2025-03-03Extend a few more importers with support for #:partial-version?.Maxim Cournoyer
This fixes a few omissions in commit f13f076968 ("refresh: Add support for partial target versions."). * guix/gnu-maintenance.scm (import-kernel.org-release): Add #:partial-version? argument. * guix/gnu-maintenance.scm (import-savannah-release): Likewise. (import-xorg-release): Likewise. (import-kernel.org-release): Likewise. (latest-sourceforge-release): Likewise (reporting an error). Use report-error instead of error directly. Change-Id: I188fa8fa7250a7165410b8d5c4870f428ea228af
2025-03-03import: Avoid duplicate trailing '/' in computed import URL.Maxim Cournoyer
Unlike for file names, duplicate slashes in URLs matter. For example attempting to refresh 'qemu' would previously not find any result because it'd try to find links from 'https://download.qemu.org//', which is unreachable. * guix/gnu-maintenance.scm (import-html-release): Use canonicalize-url to join BASE-URL and DIRECTORY, which handles trailing '/' correctly. Change-Id: I108a542c4eede85c78a47f62921184273dc1ea01
2025-02-28refresh: Add support for partial target versions.Maxim Cournoyer
* guix/import/utils.scm (find-version): New procedure. * guix/scripts/refresh.scm (<update-spec>) [partial?]: New field. (update-spec-partial?): New accessor. (update-spec): Add a PARTIAL? optional argument. (update-specification->update-spec) <update-spec>: Call with its new PARTIAL? optional argument when FALLBACK-VERSION is provided, i.e. when '--target-version' was used. (update-package): Remove the PACKAGE and VERSION positional arguments, and replace them with UPDATE-SPEC. Update doc. Call `package-update' with its new #:partial-version? argument. (check-for-package-update) <package-latest-release>: Pass the new #:partial-version? argument to it. (guix-refresh) <update-package>: Adjust call accordingly. (show-help): Udate doc. * guix/upstream.scm (package-latest-release): Add #:partial-version? argument, and apply it to the importer call. (package-update): Add #:partial-version?> argument. Update doc. Pass it to the `package-latest-release' call. * guix/gnu-maintenance.scm (rewrite-url): Add #:partial-version? argument. Update doc. Crawl URL for newer compatible versions when provided. (import-html-release): Add #:partial-version? argument, and pass it to the `rewrite-url' call. Use `find-version' to find the best version. (import-release, import-ftp-release, import-gnu-release) (import-release*): Add #:partial-version? argument and honor it. (import-html-updatable-release): Add #:partial-version? argument, and pass it to the `import-html-release' call. * guix/import/gnome.scm (import-gnome-release) <#:partial-version?>: Add new argument and honor it. * guix/import/texlive.scm (latest-texlive-tag): Rename to... (texlive-tags): ... this, and have it return all tags. (texlive->guix-package): Adjust accordingly. (latest-release): Add a #:partial-version? argument. Update doc. * guix/import/stackage.scm (latest-lts-release): New #:partial-version? argument. * guix/import/pypi.scm (import-release): New #:partial-version? argument; pass it to `pypi-package->upstream-source'. * guix/import/opam.scm (latest-release): New #:partial-version? argument. * guix/import/minetest.scm (latest-minetest-release): New #:partial-version? argument. (pypi-package->upstream-source): New #:partial-version? argument. Update doc. * guix/import/launchpad.scm (latest-released-version): Rename to... (release-versions): ... this, making it return all versions. (import-release) <#:partial-version?>: New argument. * guix/import/kde.scm (import-kde-release) <#:partial-version?>: New argument. Update doc. Refactor to honor argument. * guix/import/hexpm.scm (lookup-hexpm): Update doc. (hexpm-latest-release): Rename to... (hexpm-releases): ... this; return all release strings. (hexpm->guix-package): Adjust accordingly. (import-release): Add and honor a #:partial-version? argument. Update doc. * guix/import/hackage.scm (import-release): New #:partial-version? argument. * guix/import/cpan.scm (latest-release): New #:partial-version? argument. * guix/import/crate.scm (max-crate-version-of-semver): Improve doc. (import-release): Add a #:partial-version? argument and honor it. * guix/import/egg.scm (find-latest-version): Rename to... (get-versions): ... this, returning all versions. (egg-metadata): Adjust accordingly. (egg->guix-package): Likewise. (import-release): Add a new #:partial-version? argument and honor it. * guix/import/elpa.scm (latest-release): New #:partial-version? argument. * guix/import/gem.scm (get-versions): New procedure. (import-release): Add a new #:partial-version? argument and honor it. * guix/import/git.scm (version-mapping): Update doc; streamline a bit. (latest-tag): Rename to... (get-tags): ... this, dropping the #:version keyword and returning the complete tags alist. Update doc. (latest-git-tag-version): Rename to... (get-package-tags): ... this, returning the complete tags alist of the package. Update doc. (import-git-release): Add a new #:partial-version? argument and honor it. Update doc. * guix/import/github.scm (latest-released-version): Rename to... (get-package-tags): ... this, returning all tags. Update doc. (import-release): Add a new #:partial-version? argument and honor it. * guix/import/cran.scm (latest-cran-release) (latest-bioconductor-release): Add #:partial-version? argument. * guix/import/composer.scm (latest-version): Delete procedure. (composer-fetch): Add #:partial-version? keyword and honor it. Update doc. (import-release): Likewise. * guix/import/test.scm (import-release): Add #:partial-version? argument. * tests/guix-refresh.sh: Add test. * tests/gem.scm (test-foo-versions-json): New variable. (package-latest-release): Mock new URL. * tests/import-git.scm (latest-git-tag-version): New procedure. * tests/gnu-maintenance.scm (libuv-dist-html) (libuv-dist-1.46.0-html, libuv-dist-1.44.2-html) (libuv-html-data): New variables. (mock-http-fetch/cached): New procedure. ("rewrite-url, without to-version"): Rewrite using the above. ("rewrite-url, partial to-version"): New test. * doc/guix.texi <"Invoking guix refresh">: Update doc. Series-to: 75871@debbugs.gnu.org Change-Id: I092a58b57ac42e54a2fa55e7761e8c6993af8ad4
2024-12-01gnu-maintenance: ‘generic-html’ update honors <base href="…">.Ludovic Courtès
This fixes updates of ‘curl’: <https://curl.se/download/> includes <base href="…"> in its head and ignoring it would lead to incorrect download URLs. * guix/gnu-maintenance.scm (html-links): Keep track of <base href="…"> in ‘loop’. Rewrite relative links at the end. Change-Id: I989da78df3431034c9a584f8e10cad87ae6dc920
2024-12-01gnu-maintenance: ‘gnu-ftp’ updater excludes GnuPG-hosted packages.Ludovic Courtès
Since ftp://ftp.gnupg.org no longer exists, another updater should be used for packages with code fetched from mirror://gnupg. * guix/gnu-maintenance.scm (gnupg-hosted?): New procedure. (%gnu-ftp-updater): Exclude packages that match ‘gnupg-hosted?’. * guix/download.scm (%mirrors): Remove ftp://ftp.gnupg.org. Change-Id: I653877ad843da60281d3a234acc85743bee64856
2024-12-01gnu-maintenance: Savannah/Xorg updaters no longer abort on network errors.Ludovic Courtès
Previously these updaters would fail upon networking error, causing the whole process to abort: $ guix refresh coreutils libgcrypt guix refresh: error: connect*: Connection refused * guix/gnu-maintenance.scm (import-release*, import-xorg-release): Wrap in ‘false-if-networking-error’. Change-Id: I8d309bf8662e2d46460585b4a1b7da0a4f2e8907
2024-12-01gnu-maintenance: ‘import-html-release’ doesn’t abort upon HTTP 404.Ludovic Courtès
Previously, updaters using ‘import-html-release’ would throw to 'quit when the HTML page isn’t found, aborting the whole process: $ guix refresh coreutils libchop guix refresh: error: https://de.freedif.org/savannah//libchop/: HTTP download failed: 404 ("Not Found") * guix/gnu-maintenance.scm (url->links): Guard against ‘http-get-error?’ and return the empty list when it is raised. Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Change-Id: I419ff96ddb424aa8c74d6bab3d66a5e85355c3dc
2023-09-11gnu-maintenance: Support URI list of mixed mirrors, HTTP URLs.Maxim Cournoyer
This reinstate commit a5b5df7f7fbbb98487b2e7a59941efee6492bc7f with a fix to the inner expand-uri procedure.
2023-09-11Revert "gnu-maintenance: Support URI list of mixed mirrors, HTTP URLs."Maxim Cournoyer
This reverts commit a5b5df7f7fbbb98487b2e7a59941efee6492bc7f. Pushed too early.
2023-09-11gnu-maintenance: Support URI list of mixed mirrors, HTTP URLs.Maxim Cournoyer
Fixes <https://issues.guix.gnu.org/58697>. * guix/gnu-maintenance.scm (import-html-updatable-release): Update doc. <expand-uri>: New nested procedure. Apply it to the origin URI. Reported-by: kiasoc5 <kiasoc5@disroot.org>
2023-09-06gnu-maintenance: Do not error when there are no candidates.Maxim Cournoyer
Fixes <https://issues.guix.gnu.org/65773>. * guix/gnu-maintenance.scm (rewrite-url): Do not error when there are no candidates. This may well be possible, depending on the site.
2023-09-05gnu-maintenance: Do not crash on refresh when origin URI is a list.Maxim Cournoyer
Updating the simh package would fail with: ice-9/boot-9.scm:1685:16: In procedure raise-exception: In procedure string-prefix?: Wrong type argument in position 2 (expecting string): ("http://simh.trailing-edge.com/sources/simhv312-4.zip" "http://simh.trailing-edge.com/sources/archive/simhv312-4.zip") This is because it expects a scalar value, but lists are allowed for URIs. * guix/gnu-maintenance.scm (import-html-updatable-release): Check that URI is a string before checking if it has the mirror:// prefix.
2023-08-26gnu-maintenance: Consider Qt source tarballs as "release files".Maxim Cournoyer
* guix/gnu-maintenance.scm (release-file?): Use positive logic in doc. Add a special case for Qt source archives. * tests/gnu-maintenance.scm ("release-file?"): Update test.
2023-08-26gnu-maintenance: Allow mirror URLs to fallback to the generic HTML updater.Maxim Cournoyer
* guix/gnu-maintenance.scm (http-url?): Extract from html-updatable-package?, modify to return the HTTP URL, and support the mirror:// scheme. (%disallowed-hosting-sites): New variable, extracted from html-updatable-package. (html-updatable-package?): Rewrite a mirror:// URL to an HTTP or HTTPS one. * guix/download.scm (%mirrors): Update comment.
2023-08-26gnu-maintenance: Add support to rewrite version in URL path.Maxim Cournoyer
Fixes <https://issues.guix.gnu.org/64015>. Fixes <https://issues.guix.gnu.org/65304>. Previously, the generic HTML updater would only look for the list of files found at the parent of its current source URL, ignoring that the URL may embed the version elsewhere in its path. This could cause 'guix refresh' to report no updates available, while in fact there were, such as for 'libuv'. * guix/gnu-maintenance.scm (strip-trailing-slash): New procedure. (%version-rx): New variable. (rewrite-url): New procedure. (import-html-release): New rewrite-url? argument. When true, use the above procedure. (import-html-updatable-release): Call import-html-release with #:rewrite-url set to #t. * tests/gnu-maintenance.scm ("rewrite-url, to-version specified") ("rewrite-url, without to-version"): New tests.
2023-08-26gnu-maintenance: Extract 'canonicalize-url' from 'import-html-release'.Maxim Cournoyer
* guix/gnu-maintenance.scm (canonicalize-url): New procedure, extracted from... (import-html-release): ... here. Use it. Rename inner PACKAGE variable to NAME, to explicit it is a string and not a package object.
2023-08-26gnu-maintenance: Document nested procedures in 'import-html-release'.Maxim Cournoyer
* guix/gnu-maintenance.scm (import-html-release): Add docstring to the 'file->signature/guess' and 'url->release' nested procedures.
2023-08-26gnu-maintenance: Accept package object in 'import-html-release' procedure.Maxim Cournoyer
This is in preparation for a new URL rewriting feature, which will need to have the current version information available. * guix/gnu-maintenance.scm (import-html-release): Update doc. Adjust default value of the DIRECTORY argument. Bind PACKAGE in lexical scope so that its value there is unchanged. (import-savannah-release, import-kernel.org-release) (import-html-updatable-release): Adjust accordingly.
2023-08-26gnu-maintenance: Fix indentation.Maxim Cournoyer
* guix/gnu-maintenance.scm: Re-indent file.
2023-08-26gnu-maintenance: Extract url->links procedure.Maxim Cournoyer
* guix/gnu-maintenance.scm (url->links): New procedure. (import-html-release): Use it.
2023-08-26gnu-maintenance: Fix docstring.Maxim Cournoyer
* guix/gnu-maintenance.scm (import-kernel.org-release): Fix docstring.
2023-08-26gnu-maintenance: Make base-url argument of import-html-release required.Maxim Cournoyer
It doesn't make sense to have it default to something like "https://kernel.org/pub"; it should always be provided explicitly. * guix/gnu-maintenance.scm (import-html-release) <#:base-url>: Turn keyword argument into a positional argument. Update doc. * guix/gnu-maintenance.scm (import-savannah-release): Adjust call accordingly. (import-kernel.org-release): Likewise. (import-html-updatable-release): Likewise.
2023-08-22gnu-maintenance: Improve check for disabled host names.Maxim Cournoyer
Found while investigating <https://issues.guix.gnu.org/65304>. * guix/gnu-maintenance.scm (html-updatable-package?): Tighten predicate. Reviewed-by: Ludovic Courtès <ludo@gnu.org>
2023-03-13guix: Strip #:use-module lists.Ludovic Courtès
This was obtained by setting up this environment: guix shell -D guix --with-input=guile@3.0.9=guile-next \ --with-commit=guile-next=e2ed33ef0445c867fe56c247054aa67e834861f2 -- make -j5 then adding 'unused-module' to (@@ (guix build compiler) %warnings), building, and checking all the "unused module" warnings and removing those that were definitely unused.
2023-01-08gnu-maintenance: 'gnu' and 'gnu-ftp' predicates catch networking errors.Ludovic Courtès
Previously, in a networking-less environment such as 'guix shell -C -D guix', 'guix refresh --list-updaters' would crash due to a 'gettaddrinfo-error' exception in these predicates. * guix/gnu-maintenance.scm (%gnu-updater)[pred]: Wrap in 'false-if-networking-error'. (%gnu-ftp-updater)[pred]: Likewise.
2023-01-08gnu-maintenance: Factorize 'false-if-networking-failure'.Ludovic Courtès
* guix/import/utils.scm (call-with-networking-exception-handler): New procedure. (false-if-networking-error): New macro. * guix/gnu-maintenance.scm (import-html-updatable-release): Use it instead of inline code.
2022-12-26gnu-maintenance: Allow updating to a specific version.Hartmut Goebel
* guix/gnu-maintenance.scm (latest-ftp-release): Rename to … (import-ftp-release) … this, add #:version argument. If version is given, try to find the respective version. (latest-html-release): Rename to … (import-html-release) … this, add #:version argument. If version is given, try to find the respective version. (latest-gnu-release): Rename to … (import-gnu-release) … this, add #:version argument. Refactor to first select archives for respective package, the find the requested or latest version, then create the upstream-source. (latest-release): Rename to … (import-release) … this, add #:version argument, pass on to … (import-ftp-release) … this. (import-release*): Rename to … (import-release*) … this, add #:version argument, pass on to … (latest-release) … this. (latest-savannah-release): Rename to … (import-savannah-release) … this, add keword-argument version, pass on to … (import-html-release) … this. (latest-xorg-release): Rename to … (import-xorg-release) … this, add keword-argument version, pass on to … (import-ftp-release) … this. (latest-kernel.org-release): Rename to … (import-kernel.org-release) … this, add #:version argument, pass on to … (import-html-release) … this. (latest-html-updatable-release): Rename to … (import-html-updatable-release) … this, add #:version argument, pass on to … (import-html-release) … this. * guix/import/gnu.scm(gnu->guix-package): Adjust function call.
2022-12-26import: sourceforge: Issue error-message if version is given.Hartmut Goebel
Due to the complicated directory structure at sourceforce, enabling the sourceforge importer to update to a specific version is very complicated to implement. Since only 2.0% of the packages in guix are covered by this updater I dedided to not implement this. * guix/gnu-maintenance.scm (latest-sourceforge-release): Add #:version argument. Issue error-message if version is given.
2022-12-26upstream-updater: Rename record field.Hartmut Goebel
The next commits will make the functions, which are currently importing the latest version of a package, change into importing the latest or a given version of the package (for those updaters supporting specifying a version). Thus the name ‘latest‘ is no longer appropriate. * guix/upstream.scm (upstream-updater) Rename field [latest] to [import]. (lookup-updater, package-latest-release) Adjust fieldname accordingly. * guix/gnu-maintenance.scm (%gnu-updater, %gnu-ftp-updater, %savannah-updater, %sourceforge-updater, %xorg-updater, %kernel.org-updater, %generic-html-updater), guix/import/cpan.scm (%cpan-updater), guix/import/cran.scm (%cran-updater, %bioconductor-updater), guix/import/crate.scm (%crate-updater), guix/import/egg.scm (%egg-updater), guix/import/elpa.scm (%elpa-updater), guix/import/gem.scm (%gem-updater), guix/import/git.scm (%generic-git-updater), guix/import/github.scm (%github-updater), guix/import/gnome.scm (%gnome-updater), guix/import/hackage.scm (%hackage-updater), guix/import/hexpm.scm (%hexpm-updater), guix/import/kde.scm (%kde-updater), guix/import/launchpad.scm (%launchpad-updater), guix/import/minetest.scm (%minetest-updater), guix/import/opam.scm (%opam-updater), guix/import/pypi.scm (%pypi-updater), guix/import/stackage.scm (%stackage-updater), tests/import-github.scm (found-sexp) tests/transformations.scm ("options->transformation, with-latest"): Adjust fieldname accordingly.
2022-12-08gnu-maintenance: 'generic-html' updater ignores invalid host names.Ludovic Courtès
Previously "guix refresh xkbset" for example would crash with a getaddrinfo-error because the domain name is invalid. Now it reports failure to update. Reported by Tyler Wolf <tyler@twolf.io> in <https://issues.guix.gnu.org/59598>. * guix/gnu-maintenance.scm (latest-html-updatable-release): Return #f upon 'getaddrinfo-error' as well.
2022-11-13guix: Replace defective freemirror.org.Tobias Geerinckx-Rice
This ‘mirror’ is particularly problematic because it's the only one checked by ‘guix refresh’. * guix/gnu-maintenance.scm (%savannah-base): Substitute freedif.org. * guix/download.scm (%mirrors): Likewise. Reported by sash-kan on #guix.
2022-11-11gnu-maintenance: 'release-file?' excludes "valgrind-3.20.0.RC1.tar.bz2".Ludovic Courtès
* guix/gnu-maintenance.scm (%alpha-tarball-rx): Add "." before "(alpha|beta|...)". * tests/gnu-maintenance.scm ("release-file?"): Add test for Valgrind.
2022-11-11gnu-maintenance: 'gnu' updater prefers tarball with same compression.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/59168>. Previously 'guix build make --with-latest=make' would pick ".tar.lz", rather than "tar.gz", because "tar.lz" happened to come first in the <upstream-source> 'urls' field. * guix/gnu-maintenance.scm (latest-gnu-release)[archive-type] [better-tarball?]: New variables. Sort TARBALLS according to BETTER-TARBALL?.
2022-10-03gnu-maintenance: Remove retired 'gforge.inria.fr' site.Maxim Cournoyer
* guix/gnu-maintenance.scm (html-updatable-package?): Remove "gforge.inria.fr".
2022-09-26gnu-maintenance: Remove unused procedures.Maxime Devos
* guix/gnu-maintenance.scm (url-prefix-rewrite, adjusted-upstream-source): Remove. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-09-26gnu-maintenance: Simplify latest-kernel.org-release.Maxime Devos
As latest-html-release now produces mirror:// URIs where possible, the additional post-processing is not necessary anymore. As a test, revert the dtc package back to 1.6.0 and try updating 'gash', the mirror:// URI remains. * gnu-maintenance.scm (latest-kernel.org-release): Do not call adjusted-upstream-source on the result. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-09-26gnu-maintenance: Simplify latest-savannah-release.Maxime Devos
As latest-html-release now produces mirror:// URIs where possible, the additional post-processing is not necessary anymore. As a test, try updating 'gash', the mirror:// URI remains. * gnu-maintenance.scm (latest-savannah-release): Do not call adjusted-upstream-source on the result. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-09-26gnu-maintenance: Produce mirror:// URIs in latest-html-release.Maxime Devos
Partially fixes <https://issues.guix.gnu.org/57477>. I'm not aware of a package using both latest-html-release and mirrors, so it has not been completely tested. However, updating "yt-dlp" appears to work (except for git-fetch not being supported yet). The expression for the signature-urls field had to be tweaked to not call uri-mirror-rewrite on #false. * guix/gnu-maintenance.scm (latest-html-release)[url->research]{urls,signature-urls}: Call uri-mirror-rewrite on the URLs. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2022-09-26gnu-maintenance: Produce mirror:// URIs in latest-ftp-release.Maxime Devos
Partially fixes <https://issues.guix.gnu.org/57477>. As a test, try updating gnupg. Before the patch, a ftp:// URL was produced, now the mirror:// is preserved. * guix/gnu-maintenance.scm (latest-ftp-release)[file->source]{urls,signature-urls}: Call uri-mirror-rewrite on the URLs. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-09-26lint: Extract logic of 'check-mirror-url'.Maxime Devos
It will be useful for fixing <https://issues.guix.gnu.org/57477>. * guix/lint.scm (check-mirror-url): Extract mirror://-constructing code to ... * guix/gnu-maintenance.scm (uri-mirror-rewrite): ... here, tweaking the API and implementation in anticipation of future users. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2022-09-17gnu-maintenance: Support // URLs in latest-html-release.Maxime Devos
This makes "./pre-inst-env guix refresh -u" download the release tarball from the right place -- previously, it downloaded from https://www.libreoffice.org//download.documentfoundation.org/libreoffice/src/7.4.0/libreoffice-7.4.0.3.tar.xz?idx=1 whereas it should download from https://download.documentfoundation.org/libreoffice/src/7.4.0/libreoffice-7.4.0.3.tar.xz?idx=1 instead. * guix/gnu-maintenance.scm (latest-html-release)[url-release]: Adjust computation in the case of an absolute URI-reference without a scheme. * tests/gnu-maintenance.scm ("latest-html-release, scheme-less URIs"): Test it. Signed-off-by: Christopher Baines <mail@cbaines.net>
2021-06-03gnu-maintenance: 'generic-html' computes the right source URL.Ludovic Courtès
Fixes a regression introduced in 84f8bae0f85de081bbc55aa54ad6a50981a06a43, whereby the URL computed for the new ffmpeg (for instance) would be: https://ffmpeg.org/ffmpeg-4.4.tar.xz instead of: https://ffmpeg.org/releases/ffmpeg-4.4.tar.xz Reported by Maxim Cournoyer. * guix/gnu-maintenance.scm (latest-html-release)[url->release]: Adjust computation in the case of a URI-reference with a relative path.