summaryrefslogtreecommitdiff
path: root/guix/gnu-maintenance.scm
AgeCommit message (Expand)Author
2022-09-17gnu-maintenance: Support // URLs in latest-html-release....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> Maxime Devos
2021-06-03gnu-maintenance: 'generic-html' computes the right source URL....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. Ludovic Courtès
2021-05-28gnu-maintenance: 'generic-html' correctly handles relative release URLs....* guix/gnu-maintenance.scm (latest-html-release)[url->release]: Fix source URL construction in cases where URL is a possibly relative path. Ludovic Courtès
2021-05-28gnu-maintenance: 'release-file?' accepts 'v' prefix as in "PKG-v1.2.tgz"....* guix/gnu-maintenance.scm (%tarball-rx, %package-name-rx): Accept 'v' and 'V' prefixes. Accept ".tgz" extension. * tests/gnu-maintenance.scm ("release-file?"): Add test. Ludovic Courtès
2021-04-08gnu-maintenance: 'sourceforge' updater reuses the same connection....* guix/gnu-maintenance.scm (latest-sourceforge-release): Call 'open-socket-for-uri' upfront. Pass #:port and #:keep-alive? to 'http-head'. Wrap body in 'dynamic-wind' and call 'close-port' upon exit. Ludovic Courtès
2021-04-06gnu-maintenance: Add 'sourceforge' updater....This updater currently covers 2.4% of the packages. * guix/gnu-maintenance.scm (latest-sourceforge-release): New procedure. (%sourceforge-updater): New variable. * doc/guix.texi (Invoking guix refresh): Document it. Ludovic Courtès
2021-04-05gnu-maintenance: Recognize more source tarball naming schemes....* guix/gnu-maintenance.scm (%package-name-rx): Add ".src" and ".orig" suffixes. * tests/gnu-maintenance.scm ("release-file?"): Add mpg321 and bvi examples. ("tarball->version"): New test. Ludovic Courtès
2021-04-05gnu-maintenance: Remove unused procedure....* guix/gnu-maintenance.scm (savannah-package?): Remove. Ludovic Courtès
2021-04-05gnu-maintenance: 'generic-html' updates packages with the right property....* guix/gnu-maintenance.scm (html-updatable-package?): Return true for packages with a 'release-monitoring-url' property. This allows us to cater for packages with source fetched over, say, FTP, but with an HTML page to monitor. Ludovic Courtès
2021-03-29gnu-maintenance: Recognize "-source" tarball suffix....Fixes <https://bugs.gnu.org/47398>. Reported by Léo Le Bouter <lle-bout@zaclys.net>. * guix/gnu-maintenance.scm (%tarball-rx): Add "-[Ss]ource" suffix. * tests/gnu-maintenance.scm ("release-file?"): Add exiv2 example. Ludovic Courtès
2021-03-21gnu-maintenance: Exclude GNU Radio from the 'gnu-ftp' updater predicate....'gnu-ftp' would only list old GNU Radio releases since new releases are no longer uploaded to ftp.gnu.org. With this change, 'generic-html' is picked up instead. * guix/gnu-maintenance.scm (pure-gnu-package?): Return #f for GNU Radio. Ludovic Courtès
2021-03-20gnu-maintenance: Accept underscores as package/version separators....Fixes <https://bugs.gnu.org/47256>. Reported by Léo Le Bouter <lle-bout@zaclys.net>. * guix/gnu-maintenance.scm (%tarball-rx, %package-name-rx): Accept underscore as the package/version separator in tarball names. * tests/gnu-maintenance.scm ("release-file?"): Add "mediainfo" test. Ludovic Courtès
2021-03-19gnu-maintenance: Better handle empty #:directory for 'latest-html-release'....In particular, this makes sure we don't add a trailing slash when the user specified a 'release-monitoring-url' property for the 'generic-html' updater. * guix/gnu-maintenance.scm (latest-html-release): When DIRECTORY is empty, do not append it. Ludovic Courtès
2021-03-17gnu-maintenance: Add a timeout on FTP connection establishment....* guix/gnu-maintenance.scm (latest-ftp-release): Pass #:timeout to 'ftp-open'. Ludovic Courtès
2021-03-17gnu-maintenance: Remove unused parameters of 'latest-ftp-release'....* guix/gnu-maintenance.scm (latest-ftp-release): Remove #:ftp-open, #:ftp-close, and #:keep-file?. Ludovic Courtès
2021-03-17gnu-maintenance: Add 'generic-html' updater....This brings total updater coverage, as reported by 'guix refresh --list-updaters', from 78% to 88.3%. Among many other things, it covers freedesktop.org packages. * guix/gnu-maintenance.scm (html-updatable-package?) (latest-html-updatable-release): New procedures. (%generic-html-updater): New variable. * doc/guix.texi (Invoking guix refresh): Document it. Ludovic Courtès
2021-03-17gnu-maintenance: 'latest-html-release' better computes version number....* guix/gnu-maintenance.scm (latest-html-release): Use 'tarball->version' rather than 'package-name->name+version' to extract the version number. This fixes problems with packages like 'netsurf' and 'libdom' that have "-src" in their tarball name, where "src" would be taken as the new version number. Ludovic Courtès
2021-03-17gnu-maintenance: 'latest-html-release' can determine signature file name....* guix/gnu-maintenance.scm (latest-html-release): #:file->signature defaults to #f. [file->signature/guess]: New procedure. [url->release]: Use it when FILE->SIGNATURE is #f. Introduce 'links' variable. (url-prefix-rewrite): Check whether URL is true before calling 'string-prefix?'. (latest-savannah-release): Adjust comment about detached signatures. Ludovic Courtès
2021-03-17gnu-maintenance: 'release-file?' rejects checksum files....* guix/gnu-maintenance.scm (release-file?): Reject ".md5sum", ".sha1sum", and ".sha256sum". Ludovic Courtès
2021-03-17gnu-maintenance: 'latest-html-release' considers non-relative URLs....* guix/gnu-maintenance.scm (latest-html-release): Allow for URL to be an arbitrary URL rather than a relative URL reference. Ludovic Courtès
2021-03-17gnu-maintenance: Use (htmlprag) for 'latest-html-release'....* guix/gnu-maintenance.scm (html->sxml): Remove. Autoload (htmlprag) instead. * doc/guix.texi (Requirements): Mention 'guix refresh' for the Guile-Lib dependency. Ludovic Courtès
2021-03-13gnu-maintenance: Autoload (zlib)....* guix/gnu-maintenance.scm: Autoload (zlib). Ludovic Courtès
2021-01-31gnu-maintenance: Fix error handling....Fixes partially <https://bugs.gnu.org/44115>. * guix/gnu-maintenance.scm (latest-release): Handle 'ftp-error'. Signed-off-by: Ludovic Courtès <ludo@gnu.org> zimoun
2020-08-24Use "guile-zlib" and "guile-lzlib" instead of (guix config)....* Makefile.am (MODULES): Remove guix/zlib.scm and guix/lzlib.scm, (SCM_TESTS): remove tests/zlib.scm, tests/lzlib.scm. * build-aux/build-self.scm (make-config.scm): Remove unused %libz variable. * configure.ac: Remove LIBZ and LIBLZ variables and check instead for Guile-zlib and Guile-lzlib. * doc/guix.texi ("Requirements"): Remove zlib requirement and add Guile-zlib and Guile-lzlib instead. * gnu/packages/package-management.scm (guix)[native-inputs]: Add "guile-zlib" and "guile-lzlib", [inputs]: remove "zlib" and "lzlib", [propagated-inputs]: ditto, [arguments]: add "guile-zlib" and "guile-lzlib" to Guile load path. * guix/config.scm.in (%libz, %liblz): Remove them. * guix/lzlib.scm: Remove it. * guix/man-db.scm: Use (zlib) instead of (guix zlib). * guix/profiles.scm (manual-database): Do not stub (guix config) in imported modules list, instead add "guile-zlib" to the extension list. * guix/scripts/publish.scm: Use (zlib) instead of (guix zlib) and (lzlib) instead of (guix lzlib), (string->compression-type, effective-compression): do not check for zlib and lzlib availability. * guix/scripts/substitute.scm (%compression-methods): Do not check for lzlib availability. * guix/self.scm (specification->package): Add "guile-zlib" and "guile-lzlib" and remove "zlib" and "lzlib", (compiled-guix): remove "zlib" and "lzlib" arguments and add guile-zlib and guile-lzlib to the dependencies, also do not pass "zlib" and "lzlib" to "make-config.scm" procedure, (make-config.scm): remove "zlib" and "lzlib" arguments as well as %libz and %liblz variables. * guix/utils.scm (lzip-port): Use (lzlib) instead of (guix lzlib) and do not check for lzlib availability. * guix/zlib.scm: Remove it. * m4/guix.m4 (GUIX_LIBZ_LIBDIR, GUIX_LIBLZ_FILE_NAME): Remove them. * tests/lzlib.scm: Use (zlib) instead of (guix zlib) and (lzlib) instead of (guix lzlib), and do not check for zlib and lzlib availability. * tests/publish.scm: Ditto. * tests/substitute.scm: Do not check for lzlib availability. * tests/utils.scm: Ditto. * tests/zlib.scm: Remove it. Mathieu Othacehe
2020-07-21upstream: 'download-tarball' gracefully handles missing signatures....This avoids a backtrace with "guix refresh -u rdiff-backup", which has ".asc" signatures instead of ".sig". * guix/upstream.scm (download-tarball): Gracefully handle the case where SIG is false. * guix/gnu-maintenance.scm (latest-savannah-release): Add comment about 'file->signature'. Ludovic Courtès
2020-07-20gnu-maintenance: Recognize "RC" as denoting a pre-release tarball....* guix/gnu-maintenance.scm (%alpha-tarball-rx): Add "RC". Ludovic Courtès
2020-07-20gnu-maintenance: Handle lists returned by 'origin-uri'....This fixes "guix refresh man-pages", for instance. * guix/gnu-maintenance.scm (latest-savannah-release) (latest-kernel.org-release): Handle the case where 'origin-uri' returns a list. Ludovic Courtès
2020-07-20gnu-maintenance: Call 'adjusted-upstream-source' only when there's a source....This is a followup to 59a47fb67853dd28891376fc970699f11c0f972f. * guix/gnu-maintenance.scm (latest-savannah-release): Call 'adjusted-upstream-source' only when 'latest-html-release' returns true. (latest-kernel.org-release): Likewise. Ludovic Courtès
2020-07-20gnu-maintenance: 'kernel.org' and 'savannah' updaters rewrite URLs....This makes sure they return 'mirror://' URLs rather that URLs pointing to the specific mirror they talk to. * guix/gnu-maintenance.scm (url-prefix-rewrite) (adjusted-upstream-source): New procedures. (latest-savannah-release, latest-kernel.org-release): Use it. Ludovic Courtès
2020-07-20gnu-maintenance: Add 'savannah' updater....* guix/gnu-maintenance.scm (savannah-package?, %savannah-base) (%savannah-updater): New variables. (latest-savannah-release): New procedure. (latest-xorg-release): Fix docstring. Ludovic Courtès
2020-07-20gnu-maintenance: 'latest-html-release' honors #:file->signature....* guix/gnu-maintenance.scm (latest-html-release): Call FILE->SIGNATURE instead of the in-line ".tar.sign" policy. Ludovic Courtès
2020-07-03import: Do not assume that 'package-source' returns an origin....* guix/gnu-maintenance.scm (gnu-package?): Check whether 'package-source' returns an origin. * guix/import/github.scm (updated-github-url): Likewise. * guix/import/launchpad.scm (updated-launchpad-url): Likewise. Ludovic Courtès
2019-09-10upstream: Move KDE updater into a separate module....As it was done for (guix import gnome). * guix/import/kde.scm: New file. * Makefile.am (MODULES): Add it. * guix/gnu-maintenance.scm (%kde-updater) (%kde-file-list-uri) (download.kde.org-files) (latest-kde-release): Remove. Hartmut Goebel
2019-09-10gnu-maintenance: KDE updater no longer relies on FTP access....Fetch the ls-lR.bz2 file list for download.kde.org, convert it into a list of file paths and cache the list. * guix/gnu-maintenance.scm (%kde-file-list-uri): New variable. (download.kde.org-files): New procedure. (latest-kde-release): Change to use DOWNLOAD.KDE.ORG-FILES and search for files in this list. Hartmut Goebel
2019-09-10guix: Rename and move sans-extension to tarball-sans-extension....* guix/gnu-maintenance.scm (sans-extension): Move and rename to ... * guix/utils.scm (tarball-sans-extension): ... here. Hartmut Goebel
2019-06-10gnu-maintenance: Switch to ftp.mirrorservice.org for KDE updater....mirrors.mit.edu seems no longer available over FTP. * guix/gnu-maintenance.scm (latest-kde-release): Change from mirrors.mit.edu to ftp.mirrorservice.org. Marius Bakke
2019-05-12gnu-maintenance: Update URL for package databases....The databases migrated away from the Womb a couple of days ago. * guix/gnu-maintenance.scm (%gnumaint-base-url): Update URL. Ludovic Courtès
2019-02-15gnu-maintenance: Verify GPG signatures in KDE updater....* guix/gnu-maintenance.scm (latest-kde-release): Remove #:file->signature. Marius Bakke
2018-11-10gnu-maintenance: Base kernel.org updater on HTML directory listings....Partially fixes <https://bugs.gnu.org/28159>. The FTP server at ftp.free.fr had become unable to produce directory listings, effectively making the updater dysfunctional. Furthermore FTP is considered obsolescent so HTTP + HTML looks more future-proof. * guix/gnu-maintenance.scm (html->sxml, html-links) (latest-html-release): New procedures. (latest-kernel.org-release): Rewrite in terms of 'latest-html-release'. Ludovic Courtès
2018-11-10gnu-maintenance: ".sign" and ".asc" files no longer match 'release-file?'....* guix/gnu-maintenance.scm (release-file?): Exclude ".sign" and ".asc" file in addition to ".sig". Ludovic Courtès
2018-07-11gnu-maintenance: Get GNU metadata from rec files....Suggested by Mike Gerwitz <mtg@gnu.org>. * guix/gnu-maintenance.scm (%package-list-url): Use the .rec file. (%package-description-url): Likewise. (official-gnu-packages)[read-records]: Skip record descriptors. Rename fields to use underscores instead of hyphens. Ludovic Courtès
2017-12-17gnu-maintenance: 'latest-ftp-release' ignores "unstable" directories....* guix/gnu-maintenance.scm (latest-ftp-release): Filter out "unstable" directories. Ludovic Courtès
2017-11-24gnu-maintenance: Relax recursion cutoff in 'latest-ftp-release'....Fixes <https://bugs.gnu.org/25020>. Reported by Hartmut Goebel <h.goebel@crazy-compilers.com>. * guix/gnu-maintenance.scm (latest-ftp-release)[contains-digit?]: Remove. Relax test as to whether to recurse into subdirectories. Ludovic Courtès
2017-09-26upstream: Add new GNOME updater....Partly fixes <https://bugs.gnu.org/28159>. Reported by Hartmut Goebel <h.goebel@crazy-compilers.com>. * guix/import/gnome.scm: New file. * Makefile.am (MODULES): Add it. * guix/gnu-maintenance.scm (latest-gnome-release) (%gnome-updater): Remove. Ludovic Courtès
2017-09-26upstream: Add 'url-prefix-predicate'....* guix/gnu-maintenance.scm (url-prefix-predicate): Move to... * guix/upstream.scm (url-prefix-predicate): ... here. Ludovic Courtès
2017-09-19http-client: 'http-client/cached' uses 'If-Modified-Since'....* guix/http-client.scm (http-fetch/cached)[update-cache]: Add 'cache-port' parameter. Check its mtime and compute 'if-modified-since' header accordingly. Guard 'http-get-error?' and honor 304. Adjust callers of 'update-cache'. * guix/gnu-maintenance.scm (ftp.gnu.org-files): Set #:ttl to 15m. Ludovic Courtès
2017-09-11gnu-maintenance: Return all the latest tarballs, not just one....* guix/gnu-maintenance.scm (latest-gnu-release): Return a list of matching tarballs instead of just the first one. This gives us .tar.gz, .tar.xz, etc. Ludovic Courtès
2017-09-11gnu-maintenance: Correctly compare versions....* guix/gnu-maintenance.scm (latest-gnu-release): Add calls to 'sans-extension'. This fixes version comparison, which could be fooled with the ".tar.gz" extension. Ludovic Courtès
2017-09-03gnu-maintenance: GNU updater no longer relies on FTP access....Partly fixes <https://bugs.gnu.org/28159>. Suggested by Hartmut Goebel <h.goebel@crazy-compilers.com>. * guix/gnu-maintenance.scm (%gnu-file-list-uri): New variable. (ftp.gnu.org-files, latest-gnu-release): New procedures. (%gnu-updater)[pred]: Change to GNU-HOSTED?. [latest]: Change to LATEST-GNU-RELEASE. (%gnu-ftp-updater): New variable. Ludovic Courtès
2017-01-28gnu-maintenance: 'gnu-package?' uses 'eq?' memoization....* guix/gnu-maintenance.scm (gnu-package?): Use 'mlambdaq' instead of 'mlambda'. Ludovic Courtès