From: "Basil L. Contovounesios" <contovob@tcd.ie>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: emacs-devel@gnu.org, Oleh Krehel <oleh@oremacs.com>
Subject: Re: [elpa] main 8f4cb59: * elpa-packages (counsel, ivy, swiper): Auto-sync.
Date: Tue, 09 Mar 2021 22:17:57 +0000 [thread overview]
Message-ID: <875z20m0oa.fsf@tcd.ie> (raw)
In-Reply-To: <87mtvsundg.fsf@tcd.ie> (Basil L. Contovounesios's message of "Thu, 25 Feb 2021 16:24:11 +0000")
[-- Attachment #1: Type: text/plain, Size: 1574 bytes --]
"Basil L. Contovounesios" <contovob@tcd.ie> writes:
> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>
>> Another option is to have separate manually-synced branches in the
>> upstream, one per ELPA package. This is basically the same as what we
>> have currently, except that the manual syncing is done between the "main"
>> branch" and the "for-elpa branches" (all within the upstream repository)
>> rather than between the main branch in the upstream and the elpa
>> branches in `elpa.git`. To me, it seems to bring no benefit, but
>> I guess depending on your workflow (and access rights) it could make
>> a difference.
>
> For better or worse I have access rights in both repositories, and I
> don't mind maintaining these branches in swiper.git. To me, the main
> benefit of this would be not having to switch between different
> repositories for development or Git trickery, and then elpa.git would
> remain more declarative. But ultimately I'm happy to do either.
I've now bumped all the swiper.git versions to 0.13.3, and merged the
upstream changes into the five corresponding branches in elpa.git.
The elpa-admin release detection doesn't seem happy with it though:
'make build/ivy' git-resets to the literal commit in swiper.git that
changed the Version header, which means it discards all the local
deletions etc. in elpa.git. I attach a debug log of this in action,
where the presence of files from swiper.git that were meant to be
deleted in elpa.git causes the copyright check to barf.
The following seems to fix the revision detection locally:
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Handle-merges-when-looking-for-release-revision.patch --]
[-- Type: text/x-diff, Size: 1334 bytes --]
From 5d2120a287ae781e778e05383d8e8d223c49999d Mon Sep 17 00:00:00 2001
From: "Basil L. Contovounesios" <contovob@tcd.ie>
Date: Tue, 9 Mar 2021 21:53:34 +0000
Subject: [PATCH] Handle merges when looking for release revision
For some discussion, see the following thread:
https://lists.gnu.org/r/emacs-devel/2021-02/msg01935.html
* elpa-admin.el (elpaa--get-release-revision): Follow only the first
parent of merge commits. This handles cases where the Version
header is updated in a different branch to the current one, as is
the case with, e.g., ivy/swiper/counsel, whose external branches in
elpa.git have local deletions not present in the upstream.
---
elpa-admin.el | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/elpa-admin.el b/elpa-admin.el
index 5cb3d261c5..17b3bb1bd4 100644
--- a/elpa-admin.el
+++ b/elpa-admin.el
@@ -170,7 +170,7 @@ elpaa--get-release-revision
(elpaa--call
(current-buffer)
"git" "log" "-n1" "--oneline" "--no-patch"
- "--pretty=format:%H"
+ "--pretty=format:%H" "--first-parent"
"-L" (concat "/^;;* *\\(Package-\\)\\?Version:/,+1:"
(elpaa--main-file pkg-spec))))
(buffer-string)
--
2.30.1
[-- Attachment #3: Type: text/plain, Size: 372 bytes --]
It seems to work with ivy and ivy-avy, which introduce releases via
merge commits, as well as dash, which doesn't. WDYT?
Is there a better/different way? The only alternative I can think of is
to enter revisions manually in the :version-map, but that doesn't seem
desirable in the long run.
P.S. Sorry if this breaks anything on elpa.gnu.org :(.
Thanks,
--
Basil
[-- Attachment #4: Ivy build log --]
[-- Type: text/plain, Size: 26484 bytes --]
-*- mode: compilation; default-directory: "~/.local/src/elpa/" -*-
Compilation started at Tue Mar 9 21:51:00
make build/ivy
emacs --batch -l /home/blc/.local/src/elpa/admin/elpa-admin.el \
-f elpaa-batch-make-one-package ivy
Checking package ivy for updates...
ivy up-to-date
pkg-spec for ivy: ("ivy" :url "https://github.com/abo-abo/swiper" :renames (("doc/" "")) :doc "doc/ivy.texi")
metadata = (nil "0.13.3" "Incremental Vertical completYon" ((emacs (24 5))) ((:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "matching") (:url . "https://github.com/abo-abo/swiper")))
call-process git ("show" "--pretty=format:%cI" "--no-patch")
call-process date ("-d" "2021-03-09T19:30:39+00:00" "+%Y%m%d.%H%M%S")
Building tarball archive-devel/ivy-0.13.3.0.20210309.193039.tar...
call-process git ("status" "--porcelain")
call-process git ("clean" "-x" "-d" "-f")
call-sandboxed ("makeinfo" "--no-split" "doc/ivy.texi" "-o" "ivy.info")
call-process bwrap ("--unshare-all" "--dev" "/dev" "--proc" "/proc" "--tmpfs" "/tmp" "--ro-bind" "/etc/emacs" "/etc/emacs" "--ro-bind" "/etc/alternatives" "/etc/alternatives" "--ro-bind" "/usr" "/usr" "--ro-bind" "/bin" "/bin" "--ro-bind" "/lib64" "/lib64" "--ro-bind" "/lib" "/lib" "--bind" "/home/blc/.local/src/elpa/packages/ivy/" "/home/blc/.local/src/elpa/packages/ivy/" "makeinfo" "--no-split" "doc/ivy.texi" "-o" "ivy.info")
call-sandboxed ("install-info" "--dir=/home/blc/.local/src/elpa/packages/ivy/dir" "ivy.info")
call-process bwrap ("--unshare-all" "--dev" "/dev" "--proc" "/proc" "--tmpfs" "/tmp" "--ro-bind" "/etc/emacs" "/etc/emacs" "--ro-bind" "/etc/alternatives" "/etc/alternatives" "--ro-bind" "/usr" "/usr" "--ro-bind" "/bin" "/bin" "--ro-bind" "/lib64" "/lib64" "--ro-bind" "/lib" "/lib" "--bind" "/home/blc/.local/src/elpa/packages/ivy/" "/home/blc/.local/src/elpa/packages/ivy/" "install-info" "--dir=/home/blc/.local/src/elpa/packages/ivy/dir" "ivy.info")
call-process tar ("--exclude-vcs" "-X" "/home/blc/.local/src/elpa/packages/ivy/.elpaignore" "--transform=s|^packages/ivy/doc\\($\\|/\\)|packages/ivy/|" "--transform" "s|^packages/ivy|ivy-0.13.3.0.20210309.193039|" "-chf" "archive-devel/ivy-0.13.3.0.20210309.193039.tar" "packages/ivy")
ivy: (ivy . [(0 13 3 0 20210309 193039) ((emacs (24 5))) "Incremental Vertical completYon" tar ((:url . "https://github.com/abo-abo/swiper") (:keywords "matching") (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")))])
current AC: (1)
new AC: (1 (ivy . [(0 13 3 0 20210309 193039) ((emacs (24 5))) "Incremental Vertical completYon" tar ((:url . "https://github.com/abo-abo/swiper") (:keywords "matching") (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")))]))
maint=("Oleh Krehel" . "ohwoeowho@gmail.com")
Built new package archive-devel/ivy-0.13.3.0.20210309.193039.tar!
Deleting temp files: ("/home/blc/.local/src/elpa/packages/ivy/ivy-pkg.el" "/home/blc/.local/src/elpa/packages/ivy/dir" "/home/blc/.local/src/elpa/packages/ivy/ivy.info" (closure ((temp-buffer . #<killed buffer>) (generated-files) (dir . "/home/blc/.local/src/elpa/packages/ivy") elpaa--temp-files t) nil (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (let* ((default-directory (elpaa--dirname dir))) (elpaa--call t "git" "clean" "-x" "-d" "-f") (elpaa--call t "git" "checkout" "--" ".")) (elpaa--message "%s" (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))))
call-process git ("clean" "-x" "-d" "-f")
call-process git ("checkout" "--" ".")
Building tarball archive/ivy-0.13.3.tar...
call-process git ("status" "--porcelain")
call-process git ("clean" "-x" "-d" "-f")
call-process git ("log" "-n1" "--oneline" "--no-patch" "--pretty=format:%H" "-L" "/^;;* *\\(Package-\\)\\?Version:/,+1:ivy.el")
Found release rev: "9eb63d5b48f1958f814a4d684b8498c12a7abe6b"
call-process git ("reset" "--merge" "9eb63d5b48f1958f814a4d684b8498c12a7abe6b")
Reverted to release revision 9eb63d5b48f1958f814a4d684b8498c12a7abe6b
Problem with copyright notices:
Missing copyright notice in ivy/targets/plain.el
Missing copyright notice in ivy/targets/obsolete-config.el
Missing copyright notice in ivy/targets/install-deps.el
Missing copyright notice in ivy/targets/checkdoc.el
Missing copyright notice in ivy/elpa.el
Debugger entered--Lisp error: (error "Abort")
signal(error ("Abort"))
error("Abort")
(progn (message "Problem with copyright notices:\n%s" (mapconcat #'(lambda (line) (if (string-match ":" line) line (concat "Missing copyright notice in " line))) filtered "\n")) (error "Abort"))
(if filtered (progn (message "Problem with copyright notices:\n%s" (mapconcat #'(lambda (line) (if (string-match ":" line) line (concat "Missing copyright notice in " line))) filtered "\n")) (error "Abort")))
(let* ((collected (elpaa--copyright-collect pkg-spec)) (filtered (elpaa--copyright-filter collected))) (if filtered (progn (message "Problem with copyright notices:\n%s" (mapconcat #'(lambda (line) (if ... line ...)) filtered "\n")) (error "Abort"))))
(progn (let* ((collected (elpaa--copyright-collect pkg-spec)) (filtered (elpaa--copyright-filter collected))) (if filtered (progn (message "Problem with copyright notices:\n%s" (mapconcat #'(lambda ... ...) filtered "\n")) (error "Abort")))))
(if (file-readable-p elpaa--copyright-file) (progn (let* ((collected (elpaa--copyright-collect pkg-spec)) (filtered (elpaa--copyright-filter collected))) (if filtered (progn (message "Problem with copyright notices:\n%s" (mapconcat #'... filtered "\n")) (error "Abort"))))))
elpaa--copyright-check(("ivy" :url "https://github.com/abo-abo/swiper" :renames (("doc/" "")) :doc "doc/ivy.texi"))
(let* ((destdir (file-name-directory tarball)) (pkgname (car pkg-spec)) (_ (if (and destdir (not (file-directory-p destdir))) (progn (make-directory destdir)))) (vers (nth 1 metadata)) (elpaignore (expand-file-name ".elpaignore" dir)) (ignores (elpaa--spec-get pkg-spec :ignored-files)) (renames (elpaa--spec-get pkg-spec :renames)) (ldir (elpaa--spec-get pkg-spec :lisp-dir)) (re (concat "\\`" (regexp-quote pkgname) "-\\([0-9].*\\)\\.\\(tar\\|el\\)\\(\\.[a-z]*z\\)?\\'")) (oldtarballs (if one-tarball nil (mapcar #'(lambda (file) (string-match re file) (cons ... file)) (directory-files destdir nil re))))) (if ldir (progn (setq renames (let* ((va (list ... ""))) (if (member va renames) renames (cons va renames)))))) (if revision-function (progn (elpaa--select-revision dir pkg-spec (funcall revision-function)))) (elpaa--copyright-check pkg-spec) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir) (elpaa--write-pkg-file dir pkgname metadata) (progn (or (not (string-match "[][*\\|?]" pkgname)) (cl--assertion-failed '(not (string-match "[][*\\|?]" pkgname)))) nil) (progn (or (not (string-match "[][*\\|?]" vers)) (cl--assertion-failed '(not (string-match "[][*\\|?]" vers)))) nil) (apply #'elpaa--call nil "tar" (cons "--exclude-vcs" (append (cond (ignores (mapcar #'... ignores)) ((file-readable-p elpaignore) (list "-X" elpaignore))) (mapcar #'(lambda (r) (elpaa--make-tar-transform pkgname r)) renames) (list "--transform" (format "s|^packages/%s|%s-%s|" pkgname pkgname vers) "-chf" tarball (concat "packages/" pkgname))))) (if one-tarball nil (let* ((pkgdesc (elpaa--process-multi-file-package dir pkgname 'dont-rename))) (elpaa--message "%s: %S" pkgname pkgdesc) (elpaa--update-archive-contents pkgdesc destdir) (if (and nil revision-function) (progn (let ((default-directory ...)) (elpaa--call nil "git" "tag" "-f" (format "%s-release/%s-%s" elpaa--name pkgname vers))))) (let ((link (expand-file-name (format "%s.tar" pkgname) destdir))) (if (file-symlink-p link) (progn (delete-file link))) (make-symbolic-link (file-name-nondirectory tarball) link)) (setq oldtarballs (elpaa--prune-old-tarballs tarball oldtarballs destdir)) (let* ((default-directory (expand-file-name destdir))) (elpaa--html-make-pkg pkgdesc pkg-spec (cons (cons vers (file-name-nondirectory tarball)) oldtarballs) dir)) (message "Built new package %s!" tarball) 'new)))
(closure ((one-tarball) (revision-function closure ((tarball . "archive/ivy-0.13.3.tar") (new . new) (tarball . "archive-devel/ivy-0.13.3.0.20210309.193039.tar") (devel-vers . "0.13.3.0.20210309.193039") (date-version . "20210309.193039") (vers . "0.13.3") (metadata nil "0.13.3" "Incremental Vertical completYon" ((emacs (24 5))) ((:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "matching") (:url . "https://github.com/abo-abo/swiper"))) (_ . "pkg-spec for ivy: (\"ivy\" :url \"https://github.com/...") (_) (dir . "/home/blc/.local/src/elpa/packages/ivy") (pkgname . "ivy") (one-tarball) (pkg-spec "ivy" :url "https://github.com/abo-abo/swiper" :renames (("doc/" "")) :doc "doc/ivy.texi") elpaa--temp-files t) nil (elpaa--get-release-revision dir pkg-spec vers (plist-get (cdr pkg-spec) :version-map))) (metadata nil "0.13.3" "Incremental Vertical completYon" ((emacs (24 5))) ((:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "matching") (:url . "https://github.com/abo-abo/swiper"))) (pkg-spec "ivy" :url "https://github.com/abo-abo/swiper" :renames (("doc/" "")) :doc "doc/ivy.texi") (dir . "/home/blc/.local/src/elpa/packages/ivy") (tarball . "archive/ivy-0.13.3.tar") elpaa--temp-files t) nil (let* ((destdir (file-name-directory tarball)) (pkgname (car pkg-spec)) (_ (if (and destdir (not (file-directory-p destdir))) (progn (make-directory destdir)))) (vers (nth 1 metadata)) (elpaignore (expand-file-name ".elpaignore" dir)) (ignores (elpaa--spec-get pkg-spec :ignored-files)) (renames (elpaa--spec-get pkg-spec :renames)) (ldir (elpaa--spec-get pkg-spec :lisp-dir)) (re (concat "\\`" (regexp-quote pkgname) "-\\([0-9].*\\)\\.\\(tar\\|el\\)\\(\\.[a-z]*z\\)?\\'")) (oldtarballs (if one-tarball nil (mapcar #'(lambda ... ... ...) (directory-files destdir nil re))))) (if ldir (progn (setq renames (let* ((va ...)) (if (member va renames) renames (cons va renames)))))) (if revision-function (progn (elpaa--select-revision dir pkg-spec (funcall revision-function)))) (elpaa--copyright-check pkg-spec) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir) (elpaa--write-pkg-file dir pkgname metadata) (progn (or (not (string-match "[][*\\|?]" pkgname)) (cl--assertion-failed '(not (string-match "[][*\\|?]" pkgname)))) nil) (progn (or (not (string-match "[][*\\|?]" vers)) (cl--assertion-failed '(not (string-match "[][*\\|?]" vers)))) nil) (apply #'elpaa--call nil "tar" (cons "--exclude-vcs" (append (cond (ignores (mapcar ... ignores)) ((file-readable-p elpaignore) (list "-X" elpaignore))) (mapcar #'(lambda ... ...) renames) (list "--transform" (format "s|^packages/%s|%s-%s|" pkgname pkgname vers) "-chf" tarball (concat "packages/" pkgname))))) (if one-tarball nil (let* ((pkgdesc (elpaa--process-multi-file-package dir pkgname 'dont-rename))) (elpaa--message "%s: %S" pkgname pkgdesc) (elpaa--update-archive-contents pkgdesc destdir) (if (and nil revision-function) (progn (let (...) (elpaa--call nil "git" "tag" "-f" ...)))) (let ((link (expand-file-name ... destdir))) (if (file-symlink-p link) (progn (delete-file link))) (make-symbolic-link (file-name-nondirectory tarball) link)) (setq oldtarballs (elpaa--prune-old-tarballs tarball oldtarballs destdir)) (let* ((default-directory (expand-file-name destdir))) (elpaa--html-make-pkg pkgdesc pkg-spec (cons (cons vers ...) oldtarballs) dir)) (message "Built new package %s!" tarball) 'new))))()
funcall((closure ((one-tarball) (revision-function closure ((tarball . "archive/ivy-0.13.3.tar") (new . new) (tarball . "archive-devel/ivy-0.13.3.0.20210309.193039.tar") (devel-vers . "0.13.3.0.20210309.193039") (date-version . "20210309.193039") (vers . "0.13.3") (metadata nil "0.13.3" "Incremental Vertical completYon" ((emacs ...)) ((:authors ...) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "matching") (:url . "https://github.com/abo-abo/swiper"))) (_ . "pkg-spec for ivy: (\"ivy\" :url \"https://github.com/...") (_) (dir . "/home/blc/.local/src/elpa/packages/ivy") (pkgname . "ivy") (one-tarball) (pkg-spec "ivy" :url "https://github.com/abo-abo/swiper" :renames (("doc/" "")) :doc "doc/ivy.texi") elpaa--temp-files t) nil (elpaa--get-release-revision dir pkg-spec vers (plist-get (cdr pkg-spec) :version-map))) (metadata nil "0.13.3" "Incremental Vertical completYon" ((emacs (24 5))) ((:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "matching") (:url . "https://github.com/abo-abo/swiper"))) (pkg-spec "ivy" :url "https://github.com/abo-abo/swiper" :renames (("doc/" "")) :doc "doc/ivy.texi") (dir . "/home/blc/.local/src/elpa/packages/ivy") (tarball . "archive/ivy-0.13.3.tar") elpaa--temp-files t) nil (let* ((destdir (file-name-directory tarball)) (pkgname (car pkg-spec)) (_ (if (and destdir (not ...)) (progn (make-directory destdir)))) (vers (nth 1 metadata)) (elpaignore (expand-file-name ".elpaignore" dir)) (ignores (elpaa--spec-get pkg-spec :ignored-files)) (renames (elpaa--spec-get pkg-spec :renames)) (ldir (elpaa--spec-get pkg-spec :lisp-dir)) (re (concat "\\`" (regexp-quote pkgname) "-\\([0-9].*\\)\\.\\(tar\\|el\\)\\(\\.[a-z]*z\\)?\\'")) (oldtarballs (if one-tarball nil (mapcar #'... (directory-files destdir nil re))))) (if ldir (progn (setq renames (let* (...) (if ... renames ...))))) (if revision-function (progn (elpaa--select-revision dir pkg-spec (funcall revision-function)))) (elpaa--copyright-check pkg-spec) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir) (elpaa--write-pkg-file dir pkgname metadata) (progn (or (not (string-match "[][*\\|?]" pkgname)) (cl--assertion-failed '(not ...))) nil) (progn (or (not (string-match "[][*\\|?]" vers)) (cl--assertion-failed '(not ...))) nil) (apply #'elpaa--call nil "tar" (cons "--exclude-vcs" (append (cond (ignores ...) (... ...)) (mapcar #'... renames) (list "--transform" (format "s|^packages/%s|%s-%s|" pkgname pkgname vers) "-chf" tarball (concat "packages/" pkgname))))) (if one-tarball nil (let* ((pkgdesc (elpaa--process-multi-file-package dir pkgname ...))) (elpaa--message "%s: %S" pkgname pkgdesc) (elpaa--update-archive-contents pkgdesc destdir) (if (and nil revision-function) (progn (let ... ...))) (let ((link ...)) (if (file-symlink-p link) (progn ...)) (make-symbolic-link (file-name-nondirectory tarball) link)) (setq oldtarballs (elpaa--prune-old-tarballs tarball oldtarballs destdir)) (let* ((default-directory ...)) (elpaa--html-make-pkg pkgdesc pkg-spec (cons ... oldtarballs) dir)) (message "Built new package %s!" tarball) 'new)))))
(progn (elpaa--clean dir) (funcall f))
(unwind-protect (progn (elpaa--clean dir) (funcall f)) (elpaa--message "Deleting temp files: %S" elpaa--temp-files) (let ((--dolist-tail-- elpaa--temp-files)) (while --dolist-tail-- (let ((f (car --dolist-tail--))) (if (stringp f) (delete-file f) (funcall f)) (setq --dolist-tail-- (cdr --dolist-tail--))))))
(let ((elpaa--temp-files nil)) (unwind-protect (progn (elpaa--clean dir) (funcall f)) (elpaa--message "Deleting temp files: %S" elpaa--temp-files) (let ((--dolist-tail-- elpaa--temp-files)) (while --dolist-tail-- (let ((f (car --dolist-tail--))) (if (stringp f) (delete-file f) (funcall f)) (setq --dolist-tail-- (cdr --dolist-tail--)))))))
elpaa--call-with-temp-files("/home/blc/.local/src/elpa/packages/ivy" (closure ((one-tarball) (revision-function closure ((tarball . "archive/ivy-0.13.3.tar") (new . new) (tarball . "archive-devel/ivy-0.13.3.0.20210309.193039.tar") (devel-vers . "0.13.3.0.20210309.193039") (date-version . "20210309.193039") (vers . "0.13.3") (metadata nil "0.13.3" "Incremental Vertical completYon" ((emacs ...)) ((:authors ...) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "matching") (:url . "https://github.com/abo-abo/swiper"))) (_ . "pkg-spec for ivy: (\"ivy\" :url \"https://github.com/...") (_) (dir . "/home/blc/.local/src/elpa/packages/ivy") (pkgname . "ivy") (one-tarball) (pkg-spec "ivy" :url "https://github.com/abo-abo/swiper" :renames (("doc/" "")) :doc "doc/ivy.texi") elpaa--temp-files t) nil (elpaa--get-release-revision dir pkg-spec vers (plist-get (cdr pkg-spec) :version-map))) (metadata nil "0.13.3" "Incremental Vertical completYon" ((emacs (24 5))) ((:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "matching") (:url . "https://github.com/abo-abo/swiper"))) (pkg-spec "ivy" :url "https://github.com/abo-abo/swiper" :renames (("doc/" "")) :doc "doc/ivy.texi") (dir . "/home/blc/.local/src/elpa/packages/ivy") (tarball . "archive/ivy-0.13.3.tar") elpaa--temp-files t) nil (let* ((destdir (file-name-directory tarball)) (pkgname (car pkg-spec)) (_ (if (and destdir (not ...)) (progn (make-directory destdir)))) (vers (nth 1 metadata)) (elpaignore (expand-file-name ".elpaignore" dir)) (ignores (elpaa--spec-get pkg-spec :ignored-files)) (renames (elpaa--spec-get pkg-spec :renames)) (ldir (elpaa--spec-get pkg-spec :lisp-dir)) (re (concat "\\`" (regexp-quote pkgname) "-\\([0-9].*\\)\\.\\(tar\\|el\\)\\(\\.[a-z]*z\\)?\\'")) (oldtarballs (if one-tarball nil (mapcar #'... (directory-files destdir nil re))))) (if ldir (progn (setq renames (let* (...) (if ... renames ...))))) (if revision-function (progn (elpaa--select-revision dir pkg-spec (funcall revision-function)))) (elpaa--copyright-check pkg-spec) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir) (elpaa--write-pkg-file dir pkgname metadata) (progn (or (not (string-match "[][*\\|?]" pkgname)) (cl--assertion-failed '(not ...))) nil) (progn (or (not (string-match "[][*\\|?]" vers)) (cl--assertion-failed '(not ...))) nil) (apply #'elpaa--call nil "tar" (cons "--exclude-vcs" (append (cond (ignores ...) (... ...)) (mapcar #'... renames) (list "--transform" (format "s|^packages/%s|%s-%s|" pkgname pkgname vers) "-chf" tarball (concat "packages/" pkgname))))) (if one-tarball nil (let* ((pkgdesc (elpaa--process-multi-file-package dir pkgname ...))) (elpaa--message "%s: %S" pkgname pkgdesc) (elpaa--update-archive-contents pkgdesc destdir) (if (and nil revision-function) (progn (let ... ...))) (let ((link ...)) (if (file-symlink-p link) (progn ...)) (make-symbolic-link (file-name-nondirectory tarball) link)) (setq oldtarballs (elpaa--prune-old-tarballs tarball oldtarballs destdir)) (let* ((default-directory ...)) (elpaa--html-make-pkg pkgdesc pkg-spec (cons ... oldtarballs) dir)) (message "Built new package %s!" tarball) 'new)))))
(if (or (file-readable-p tarball) (file-readable-p (replace-regexp-in-string "\\.tar\\'" ".el" tarball))) (progn (elpaa--message "Tarball %s already built!" tarball) nil) (elpaa--call-with-temp-files dir #'(lambda nil (let* ((destdir (file-name-directory tarball)) (pkgname (car pkg-spec)) (_ (if ... ...)) (vers (nth 1 metadata)) (elpaignore (expand-file-name ".elpaignore" dir)) (ignores (elpaa--spec-get pkg-spec :ignored-files)) (renames (elpaa--spec-get pkg-spec :renames)) (ldir (elpaa--spec-get pkg-spec :lisp-dir)) (re (concat "\\`" ... "-\\([0-9].*\\)\\.\\(tar\\|el\\)\\(\\.[a-z]*z\\)?\\'")) (oldtarballs (if one-tarball nil ...))) (if ldir (progn (setq renames ...))) (if revision-function (progn (elpaa--select-revision dir pkg-spec ...))) (elpaa--copyright-check pkg-spec) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir) (elpaa--write-pkg-file dir pkgname metadata) (progn (or (not ...) (cl--assertion-failed ...)) nil) (progn (or (not ...) (cl--assertion-failed ...)) nil) (apply #'elpaa--call nil "tar" (cons "--exclude-vcs" (append ... ... ...))) (if one-tarball nil (let* (...) (elpaa--message "%s: %S" pkgname pkgdesc) (elpaa--update-archive-contents pkgdesc destdir) (if ... ...) (let ... ... ...) (setq oldtarballs ...) (let* ... ...) (message "Built new package %s!" tarball) 'new))))))
elpaa--make-one-tarball("archive/ivy-0.13.3.tar" "/home/blc/.local/src/elpa/packages/ivy" ("ivy" :url "https://github.com/abo-abo/swiper" :renames (("doc/" "")) :doc "doc/ivy.texi") (nil "0.13.3" "Incremental Vertical completYon" ((emacs (24 5))) ((:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "matching") (:url . "https://github.com/abo-abo/swiper"))) (closure ((tarball . "archive/ivy-0.13.3.tar") (new . new) (tarball . "archive-devel/ivy-0.13.3.0.20210309.193039.tar") (devel-vers . "0.13.3.0.20210309.193039") (date-version . "20210309.193039") (vers . "0.13.3") (metadata nil "0.13.3" "Incremental Vertical completYon" ((emacs (24 5))) ((:authors ("Oleh Krehel" . "ohwoeowho@gmail.com")) (:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com") (:keywords "matching") (:url . "https://github.com/abo-abo/swiper"))) (_ . "pkg-spec for ivy: (\"ivy\" :url \"https://github.com/...") (_) (dir . "/home/blc/.local/src/elpa/packages/ivy") (pkgname . "ivy") (one-tarball) (pkg-spec "ivy" :url "https://github.com/abo-abo/swiper" :renames (("doc/" "")) :doc "doc/ivy.texi") elpaa--temp-files t) nil (elpaa--get-release-revision dir pkg-spec vers (plist-get (cdr pkg-spec) :version-map))))
(if (elpaa--make-one-tarball tarball dir pkg-spec metadata #'(lambda nil (elpaa--get-release-revision dir pkg-spec vers (plist-get (cdr pkg-spec) :version-map)))) (progn (elpaa--release-email pkg-spec metadata dir)))
(let ((tarball (concat elpaa--release-subdir (format "%s-%s.tar" pkgname vers)))) (if (elpaa--make-one-tarball tarball dir pkg-spec metadata #'(lambda nil (elpaa--get-release-revision dir pkg-spec vers (plist-get (cdr pkg-spec) :version-map)))) (progn (elpaa--release-email pkg-spec metadata dir))))
(cond (one-tarball nil) ((or (equal vers "0") (member '-4 (version-to-list vers))) (cond ((equal vers "0") (elpaa--message "Package %s not released yet!" pkgname)) ((not new) (elpaa--message "Nothing new for package %s!" pkgname)) (t (let* ((last-rel (elpaa--get-last-release pkg-spec)) (tarball (concat elpaa--release-subdir ...)) (metadata (cons nil ...))) (if (not last-rel) (elpaa--message "Package %s not released yet!" pkgname) (if (elpaa--make-one-tarball tarball dir pkg-spec metadata ...) (progn ...))))))) (t (let ((tarball (concat elpaa--release-subdir (format "%s-%s.tar" pkgname vers)))) (if (elpaa--make-one-tarball tarball dir pkg-spec metadata #'(lambda nil (elpaa--get-release-revision dir pkg-spec vers ...))) (progn (elpaa--release-email pkg-spec metadata dir))))))
(let* ((date-version (elpaa--get-devel-version dir pkg-spec)) (devel-vers (concat vers (if (string-match "[0-9]\\'" vers) ".") "0." date-version)) (tarball (or one-tarball (concat elpaa--devel-subdir (format "%s-%s.tar" pkgname devel-vers)))) (new (let ((elpaa--name (concat elpaa--name "-devel"))) (elpaa--make-one-tarball tarball dir pkg-spec (cons nil (cons devel-vers (nthcdr 2 metadata))) nil one-tarball)))) (cond (one-tarball nil) ((or (equal vers "0") (member '-4 (version-to-list vers))) (cond ((equal vers "0") (elpaa--message "Package %s not released yet!" pkgname)) ((not new) (elpaa--message "Nothing new for package %s!" pkgname)) (t (let* ((last-rel ...) (tarball ...) (metadata ...)) (if (not last-rel) (elpaa--message "Package %s not released yet!" pkgname) (if ... ...)))))) (t (let ((tarball (concat elpaa--release-subdir (format "%s-%s.tar" pkgname vers)))) (if (elpaa--make-one-tarball tarball dir pkg-spec metadata #'(lambda nil ...)) (progn (elpaa--release-email pkg-spec metadata dir)))))))
(if (null metadata) (error "No metadata found for package: %s" pkgname) (let* ((v metadata)) (setcar v nil)) (let* ((date-version (elpaa--get-devel-version dir pkg-spec)) (devel-vers (concat vers (if (string-match "[0-9]\\'" vers) ".") "0." date-version)) (tarball (or one-tarball (concat elpaa--devel-subdir (format "%s-%s.tar" pkgname devel-vers)))) (new (let ((elpaa--name (concat elpaa--name "-devel"))) (elpaa--make-one-tarball tarball dir pkg-spec (cons nil (cons devel-vers ...)) nil one-tarball)))) (cond (one-tarball nil) ((or (equal vers "0") (member '-4 (version-to-list vers))) (cond ((equal vers "0") (elpaa--message "Package %s not released yet!" pkgname)) ((not new) (elpaa--message "Nothing new for package %s!" pkgname)) (t (let* (... ... ...) (if ... ... ...))))) (t (let ((tarball (concat elpaa--release-subdir ...))) (if (elpaa--make-one-tarball tarball dir pkg-spec metadata #'...) (progn (elpaa--release-email pkg-spec metadata dir))))))))
(let* ((pkgname (car pkg-spec)) (dir (expand-file-name pkgname "packages")) (_ (cond (one-tarball nil) ((eq (nth 1 pkg-spec) :core) (elpaa--core-package-sync pkg-spec)) (t (elpaa--worktree-sync pkg-spec)))) (_ (elpaa--message "pkg-spec for %s: %S" pkgname pkg-spec)) (metadata (elpaa--metadata dir pkg-spec)) (vers (nth 1 metadata))) (elpaa--message "metadata = %S" metadata) (if (null metadata) (error "No metadata found for package: %s" pkgname) (let* ((v metadata)) (setcar v nil)) (let* ((date-version (elpaa--get-devel-version dir pkg-spec)) (devel-vers (concat vers (if (string-match "[0-9]\\'" vers) ".") "0." date-version)) (tarball (or one-tarball (concat elpaa--devel-subdir (format "%s-%s.tar" pkgname devel-vers)))) (new (let ((elpaa--name ...)) (elpaa--make-one-tarball tarball dir pkg-spec (cons nil ...) nil one-tarball)))) (cond (one-tarball nil) ((or (equal vers "0") (member '-4 (version-to-list vers))) (cond ((equal vers "0") (elpaa--message "Package %s not released yet!" pkgname)) ((not new) (elpaa--message "Nothing new for package %s!" pkgname)) (t (let* ... ...)))) (t (let ((tarball ...)) (if (elpaa--make-one-tarball tarball dir pkg-spec metadata ...) (progn ...))))))))
elpaa--make-one-package(("ivy" :url "https://github.com/abo-abo/swiper" :renames (("doc/" "")) :doc "doc/ivy.texi"))
(while command-line-args-left (elpaa--make-one-package (elpaa--get-package-spec (car-safe (prog1 command-line-args-left (setq command-line-args-left (cdr command-line-args-left)))))))
elpaa-batch-make-one-package()
command-line-1(("-l" "/home/blc/.local/src/elpa/admin/elpa-admin.el" "-f" "elpaa-batch-make-one-package" "ivy"))
command-line()
normal-top-level()
make: *** [GNUmakefile:21: build/ivy] Error 255
Compilation exited abnormally with code 2 at Tue Mar 9 21:51:01
next prev parent reply other threads:[~2021-03-09 22:17 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20210225102521.11653.64611@vcs0.savannah.gnu.org>
[not found] ` <20210225102523.7CEF420B28@vcs0.savannah.gnu.org>
2021-02-25 14:33 ` [elpa] main 8f4cb59: * elpa-packages (counsel, ivy, swiper): Auto-sync Basil L. Contovounesios
2021-02-25 15:12 ` Stefan Monnier
2021-02-25 16:24 ` Basil L. Contovounesios
2021-02-25 16:40 ` Stefan Monnier
2021-03-09 22:17 ` Basil L. Contovounesios [this message]
2021-03-09 23:56 ` Stefan Monnier
2021-03-10 12:40 ` Basil L. Contovounesios
2021-03-11 15:48 ` Stefan Monnier
2021-03-11 17:12 ` Basil L. Contovounesios
2021-03-11 17:34 ` Stefan Monnier
2021-03-11 19:25 ` Basil L. Contovounesios
2021-03-11 22:47 ` Stefan Monnier
2021-03-11 22:59 ` Basil L. Contovounesios
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=875z20m0oa.fsf@tcd.ie \
--to=contovob@tcd.ie \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
--cc=oleh@oremacs.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.