[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Documentation on elpa.gnu.org
From: |
Philip Kaludercic |
Subject: |
Re: Documentation on elpa.gnu.org |
Date: |
Sat, 13 Aug 2022 15:21:39 +0000 |
Stefan Monnier <monnier@iro.umontreal.ca> writes:
> Philip Kaludercic [2022-08-11 07:28:45] wrote:
>> I'd like to link to https://elpa.gnu.org/packages/doc/ and
>> https://elpa.gnu.org/devel/doc/ from my package README files, to have
>> some place where I can rely on up-to-date documentation being available.
>
> That's indeed part of the intention behind those doc pages.
>
>> For Compat, the .../packaged/doc/compat.html link is currently broken,
>> which is my fault, but I wonder why .../devel/doc/compat.html is out of
>> date, despite elpa.git being up-to-date
>> https://git.savannah.gnu.org/cgit/emacs/elpa.git/log/?h=externals/compat.
>
> `make build/compat` gives me the error below.
Ok, my bad, sorry about that. I had just been using makeinfo --html,
and that apparently does not generate that warning?
>> Also, I am not sure if this is a bug, but
>> https://elpa.gnu.org/packages/doc/README.html appears to (arbitrarily?)
>> render the documentation for plz. I guess this is not intentional.
>
> No, indeed it's not, tho I'm not completely surprised either since we
> share the single "doc" directory between all the packages: any doc file
> with a name that's not specific to the package is liable to conflict
> with that of another package.
>
>
> Stefan
>
>
> ======== Building tarball
> archive-devel/compat-28.1.2.0.0.20220810.191855.tar...
>
> Error: error ("Error-indicating exit code in elpaa--call-sandboxed:
> compat.texi:220: @menu pointe vers un nœud « Emacs 24.5 » inexistant
> compat.texi:77: @detailmenu pointe vers un nœud « Emacs 24.5 » inexistant
> ")
> debug(error (error "Error-indicating exit code in
> elpaa--call-sandboxed:\ncompat.texi:220: @menu pointe vers un nœud « Emacs
> 24.5 » inexistant\ncompat.texi:77: @detailmenu pointe vers un nœud « Emacs
> 24.5 » inexistant\n"))
> signal(error ("Error-indicating exit code in
> elpaa--call-sandboxed:\ncompat.texi:220: @menu pointe vers un nœud « Emacs
> 24.5 » inexistant\ncompat.texi:77: @detailmenu pointe vers un nœud « Emacs
> 24.5 » inexistant\n"))
> error("Error-indicating exit code in elpaa--call-sandboxed:\n%s"
> "compat.texi:220: @menu pointe vers un nœud « Emacs 24.5 »
> inexistant\ncompat.texi:77: @detailmenu pointe vers un nœud « Emacs 24.5 »
> inexistant\n")
> (if (eq destination t) (error "Error-indicating exit code in
> elpaa--call-sandboxed:\n%s" (buffer-string)) (error "Error-indicating exit
> code in elpaa--call-sandboxed"))
> (if (eq exitcode 0) nil (if (eq destination t) (error "Error-indicating
> exit code in elpaa--call-sandboxed:\n%s" (buffer-string)) (error
> "Error-indicating exit code in elpaa--call-sandboxed")))
> (let ((exitcode (apply #'elpaa--call destination "bwrap" (append
> elpaa--bwrap-args args)))) (if (eq exitcode 0) nil (if (eq destination t)
> (error "Error-indicating exit code in elpaa--call-sandboxed:\n%s"
> (buffer-string)) (error "Error-indicating exit code in
> elpaa--call-sandboxed"))))
> (if (not elpaa--sandbox) (apply #'elpaa--call destination args)
> (elpaa--message "call-sandboxed %S" args) (let ((dd (expand-file-name
> default-directory))) (setq args (nconc (list "--bind" dd dd) args))) (let
> ((--dolist-tail-- (append elpaa--sandbox-ro-binds
> elpaa--sandbox-extra-ro-dirs))) (while --dolist-tail-- (let ((b (car
> --dolist-tail--))) (if (file-exists-p b) (progn (setq b (expand-file-name b))
> (setq args (nconc (list "--ro-bind" b b) args)))) (setq --dolist-tail-- (cdr
> --dolist-tail--))))) (let ((exitcode (apply #'elpaa--call destination "bwrap"
> (append elpaa--bwrap-args args)))) (if (eq exitcode 0) nil (if (eq
> destination t) (error "Error-indicating exit code in
> elpaa--call-sandboxed:\n%s" (buffer-string)) (error "Error-indicating exit
> code in elpaa--call-sandboxed")))))
> elpaa--call-sandboxed(t "makeinfo" "--no-split" "compat.texi" "-o"
> "compat.info")
> (progn (elpaa--call-sandboxed t "makeinfo" "--no-split" docfile "-o"
> info-file) (message "%s" (buffer-string)))
> (unwind-protect (progn (elpaa--call-sandboxed t "makeinfo" "--no-split"
> docfile "-o" info-file) (message "%s" (buffer-string))) (and (buffer-name
> temp-buffer) (kill-buffer temp-buffer)))
> (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn
> (elpaa--call-sandboxed t "makeinfo" "--no-split" docfile "-o" info-file)
> (message "%s" (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer
> temp-buffer))))
> (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer
> (set-buffer temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t
> "makeinfo" "--no-split" docfile "-o" info-file) (message "%s"
> (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))
> (let ((info-file (concat (file-name-sans-extension (file-name-nondirectory
> docfile)) ".info"))) (elpaa--temp-file info-file) (let ((temp-buffer
> (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer
> temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t "makeinfo"
> "--no-split" docfile "-o" info-file) (message "%s" (buffer-string))) (and
> (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if html-dir (progn
> (elpaa--html-build-doc pkg-spec docfile html-dir))) (setq docfile info-file))
> (progn (let ((info-file (concat (file-name-sans-extension
> (file-name-nondirectory docfile)) ".info"))) (elpaa--temp-file info-file)
> (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer
> (set-buffer temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t
> "makeinfo" "--no-split" docfile "-o" info-file) (message "%s"
> (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer
> temp-buffer))))) (if html-dir (progn (elpaa--html-build-doc pkg-spec docfile
> html-dir))) (setq docfile info-file)))
> (if (and docfile (string-match "\\.texi\\(nfo\\)?\\'" docfile)) (progn (let
> ((info-file (concat (file-name-sans-extension (file-name-nondirectory
> docfile)) ".info"))) (elpaa--temp-file info-file) (let ((temp-buffer
> (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer
> temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t "makeinfo"
> "--no-split" docfile "-o" info-file) (message "%s" (buffer-string))) (and
> (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if html-dir (progn
> (elpaa--html-build-doc pkg-spec docfile html-dir))) (setq docfile
> info-file))))
> (let* ((elpaa--sandbox-ro-binds (cons default-directory
> elpaa--sandbox-ro-binds)) (default-directory (elpaa--dirname dir)) (tmpfiles
> 'nil)) (if (and docfile (file-readable-p docfile) (string-match "\\.org\\'"
> docfile)) (progn (let ((temp-buffer (generate-new-buffer " *temp*" t)))
> (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn
> (elpaa--call-sandboxed t "emacs" "--batch" "-l" "ox-texinfo" "--eval" "(setq
> vc-follow-symlinks nil)" docfile "--eval" "(setq
> org-babel-confirm-evaluate-answer-no t)" "--eval" "(message \"ELPATEXI=%s\"
> (org-texinfo-export-to-texinfo))") (message "%s" (buffer-string)) (goto-char
> (point-max)) (if (re-search-backward "ELPATEXI=\\(.*\\)\n?" nil t) (progn
> (setq docfile (concat (file-name-directory docfile) (match-string 1))) (setq
> tmpfiles (cons docfile tmpfiles)) (elpaa--temp-file docfile)))) (and
> (buffer-name temp-buffer) (kill-buffer temp-buffer))))))) (if (and docfile
> (string-match "\\.texi\\(nfo\\)?\\'" docfile)) (progn (let ((info-file
> (concat (file-name-sans-extension (file-name-nondirectory docfile))
> ".info"))) (elpaa--temp-file info-file) (let ((temp-buffer
> (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer
> temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t "makeinfo"
> "--no-split" docfile "-o" info-file) (message "%s" (buffer-string))) (and
> (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if html-dir (progn
> (elpaa--html-build-doc pkg-spec docfile html-dir))) (setq docfile
> info-file)))) (if (and docfile (not (string-match "\\.info\\'" docfile)))
> (progn (error "Not a supported doc format: %s" docfile))) (if (and docfile
> (file-readable-p docfile) (file-name-directory docfile)) (progn (let
> ((info-file (file-name-nondirectory docfile))) (elpaa--temp-file info-file)
> (copy-file docfile info-file) (setq docfile info-file)))) (mapc #'delete-file
> tmpfiles) (if (and docfile (file-readable-p docfile)) (progn (let ((dir-file
> (expand-file-name "dir"))) (elpaa--temp-file dir-file) (let ((temp-buffer
> (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer
> temp-buffer) (unwind-protect (progn (elpaa--call-sandboxed t "install-info"
> (concat "--dir=" dir-file) docfile) (message "%s" (buffer-string))) (and
> (buffer-name temp-buffer) (kill-buffer temp-buffer)))))))))
> elpaa--build-Info-1(("compat" :url "https://git.sr.ht/~pkal/compat" :doc
> "compat.texi" :auto-sync t :internal--html-docs nil) "compat.texi"
> "/home/monnier/src/emacs/elpa/packages/compat"
> "/home/monnier/src/emacs/elpa/archive-devel/doc/compat/")
> (let ((f (car --dolist-tail--))) (elpaa--build-Info-1 pkg-spec f dir
> html-dir) (setq --dolist-tail-- (cdr --dolist-tail--)))
> (while --dolist-tail-- (let ((f (car --dolist-tail--)))
> (elpaa--build-Info-1 pkg-spec f dir html-dir) (setq --dolist-tail-- (cdr
> --dolist-tail--))))
> (let ((--dolist-tail-- docfiles)) (while --dolist-tail-- (let ((f (car
> --dolist-tail--))) (elpaa--build-Info-1 pkg-spec f dir html-dir) (setq
> --dolist-tail-- (cdr --dolist-tail--)))))
> (let ((docfiles (elpaa--get-docfiles pkg-spec)) (html-dir (if
> elpaa--doc-subdirectory (progn (elpaa--dirname (car pkg-spec)
> (expand-file-name elpaa--doc-subdirectory tarball-dir)))))) (if html-dir
> (progn (if (not (file-readable-p html-dir)) (progn (make-directory html-dir
> t))))) (plist-put (cdr pkg-spec) :internal--html-docs nil) (let
> ((--dolist-tail-- docfiles)) (while --dolist-tail-- (let ((f (car
> --dolist-tail--))) (elpaa--build-Info-1 pkg-spec f dir html-dir) (setq
> --dolist-tail-- (cdr --dolist-tail--))))))
> elpaa--build-Info(("compat" :url "https://git.sr.ht/~pkal/compat" :doc
> "compat.texi" :auto-sync t :internal--html-docs nil)
> "/home/monnier/src/emacs/elpa/packages/compat" "archive-devel/")
> (let ((process-environment (elpaa--makeenv vers revision))) (elpaa--make
> pkg-spec dir) (elpaa--build-Info pkg-spec dir destdir))
> (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)) (revision (elpaa--select-revision dir
> pkg-spec revision-function)) (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
> tarball-only nil (mapcar #'(lambda (file) (string-match re file) (cons
> (match-string 1 file) file)) (directory-files destdir nil re)))) rendered)
> (if ldir (progn (setq renames (let* ((va (list (file-name-as-directory ldir)
> ""))) (if (member va renames) renames (cons va renames))))))
> (elpaa--copyright-check pkg-spec) (let ((process-environment (elpaa--makeenv
> vers revision))) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir
> destdir)) (elpaa--write-pkg-file dir pkgname metadata revision) (setq
> rendered (elpaa--write-plain-readme dir pkg-spec)) (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 (mapcar #'(lambda (i)
> (format "--exclude=packages/%s/%s" pkgname i)) ignores) (if (file-readable-p
> elpaignore) (progn (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))))) (progn (or (file-readable-p tarball)
> (cl--assertion-failed '(file-readable-p tarball))) nil) (if tarball-only 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--dirname dir)))
> (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)))
> (condition-case nil (progn (make-symbolic-link (file-name-nondirectory
> tarball) link)) (file-error nil))) (setq oldtarballs (let ((elpaa--keep-max
> (if revision-function elpaa--keep-max (/ elpaa--keep-max 2))))
> (elpaa--prune-old-tarballs tarball oldtarballs destdir (if revision-function
> (* 60 60 24 365 2))))) (let ((default-directory (expand-file-name destdir)))
> (elpaa--html-make-pkg pkgdesc pkg-spec (cons (cons vers
> (file-name-nondirectory tarball)) oldtarballs) dir rendered)))) 'new)
> (closure ((tarball-only) (revision-function) (metadata nil
> "28.1.2.0.0.20220810.191855" "Emacs Lisp Compatibility Library" ((emacs (24
> 3)) (nadvice (0 3))) ((:authors ("Philip Kaludercic" . "philipk@posteo.net"))
> (:maintainer "Compat Development" . "~pkal/compat-devel@lists.sr.ht")
> (:keywords "lisp") (:url . "https://sr.ht/~pkal/compat"))) (pkg-spec "compat"
> :url "https://git.sr.ht/~pkal/compat" :doc "compat.texi" :auto-sync t
> :internal--html-docs nil) (dir .
> "/home/monnier/src/emacs/elpa/packages/compat") (tarball .
> "archive-devel/compat-28.1.2.0.0.20220810.191855.tar")) 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)) (revision (elpaa--select-revision dir pkg-spec
> revision-function)) (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
> tarball-only nil (mapcar #'(lambda (file) (string-match re file) (cons
> (match-string 1 file) file)) (directory-files destdir nil re)))) rendered)
> (if ldir (progn (setq renames (let* ((va (list (file-name-as-directory ldir)
> ""))) (if (member va renames) renames (cons va renames))))))
> (elpaa--copyright-check pkg-spec) (let ((process-environment (elpaa--makeenv
> vers revision))) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir
> destdir)) (elpaa--write-pkg-file dir pkgname metadata revision) (setq
> rendered (elpaa--write-plain-readme dir pkg-spec)) (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 (mapcar #'(lambda (i)
> (format "--exclude=packages/%s/%s" pkgname i)) ignores) (if (file-readable-p
> elpaignore) (progn (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))))) (progn (or (file-readable-p tarball)
> (cl--assertion-failed '(file-readable-p tarball))) nil) (if tarball-only 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--dirname dir)))
> (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)))
> (condition-case nil (progn (make-symbolic-link (file-name-nondirectory
> tarball) link)) (file-error nil))) (setq oldtarballs (let ((elpaa--keep-max
> (if revision-function elpaa--keep-max (/ elpaa--keep-max 2))))
> (elpaa--prune-old-tarballs tarball oldtarballs destdir (if revision-function
> (* 60 60 24 365 2))))) (let ((default-directory (expand-file-name destdir)))
> (elpaa--html-make-pkg pkgdesc pkg-spec (cons (cons vers
> (file-name-nondirectory tarball)) oldtarballs) dir rendered)))) 'new))()
> funcall((closure ((tarball-only) (revision-function) (metadata nil
> "28.1.2.0.0.20220810.191855" "Emacs Lisp Compatibility Library" ((emacs (24
> 3)) (nadvice (0 3))) ((:authors ("Philip Kaludercic" . "philipk@posteo.net"))
> (:maintainer "Compat Development" . "~pkal/compat-devel@lists.sr.ht")
> (:keywords "lisp") (:url . "https://sr.ht/~pkal/compat"))) (pkg-spec "compat"
> :url "https://git.sr.ht/~pkal/compat" :doc "compat.texi" :auto-sync t
> :internal--html-docs nil) (dir .
> "/home/monnier/src/emacs/elpa/packages/compat") (tarball .
> "archive-devel/compat-28.1.2.0.0.20220810.191855.tar")) 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)) (revision (elpaa--select-revision dir pkg-spec
> revision-function)) (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
> tarball-only nil (mapcar #'(lambda (file) (string-match re file) (cons
> (match-string 1 file) file)) (directory-files destdir nil re)))) rendered)
> (if ldir (progn (setq renames (let* ((va (list (file-name-as-directory ldir)
> ""))) (if (member va renames) renames (cons va renames))))))
> (elpaa--copyright-check pkg-spec) (let ((process-environment (elpaa--makeenv
> vers revision))) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir
> destdir)) (elpaa--write-pkg-file dir pkgname metadata revision) (setq
> rendered (elpaa--write-plain-readme dir pkg-spec)) (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 (mapcar #'(lambda (i)
> (format "--exclude=packages/%s/%s" pkgname i)) ignores) (if (file-readable-p
> elpaignore) (progn (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))))) (progn (or (file-readable-p tarball)
> (cl--assertion-failed '(file-readable-p tarball))) nil) (if tarball-only 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--dirname dir)))
> (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)))
> (condition-case nil (progn (make-symbolic-link (file-name-nondirectory
> tarball) link)) (file-error nil))) (setq oldtarballs (let ((elpaa--keep-max
> (if revision-function elpaa--keep-max (/ elpaa--keep-max 2))))
> (elpaa--prune-old-tarballs tarball oldtarballs destdir (if revision-function
> (* 60 60 24 365 2))))) (let ((default-directory (expand-file-name destdir)))
> (elpaa--html-make-pkg pkgdesc pkg-spec (cons (cons vers
> (file-name-nondirectory tarball)) oldtarballs) dir rendered)))) '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/monnier/src/emacs/elpa/packages/compat"
> (closure ((tarball-only) (revision-function) (metadata nil
> "28.1.2.0.0.20220810.191855" "Emacs Lisp Compatibility Library" ((emacs (24
> 3)) (nadvice (0 3))) ((:authors ("Philip Kaludercic" . "philipk@posteo.net"))
> (:maintainer "Compat Development" . "~pkal/compat-devel@lists.sr.ht")
> (:keywords "lisp") (:url . "https://sr.ht/~pkal/compat"))) (pkg-spec "compat"
> :url "https://git.sr.ht/~pkal/compat" :doc "compat.texi" :auto-sync t
> :internal--html-docs nil) (dir .
> "/home/monnier/src/emacs/elpa/packages/compat") (tarball .
> "archive-devel/compat-28.1.2.0.0.20220810.191855.tar")) 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)) (revision (elpaa--select-revision dir pkg-spec
> revision-function)) (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
> tarball-only nil (mapcar #'(lambda (file) (string-match re file) (cons
> (match-string 1 file) file)) (directory-files destdir nil re)))) rendered)
> (if ldir (progn (setq renames (let* ((va (list (file-name-as-directory ldir)
> ""))) (if (member va renames) renames (cons va renames))))))
> (elpaa--copyright-check pkg-spec) (let ((process-environment (elpaa--makeenv
> vers revision))) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir
> destdir)) (elpaa--write-pkg-file dir pkgname metadata revision) (setq
> rendered (elpaa--write-plain-readme dir pkg-spec)) (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 (mapcar #'(lambda (i)
> (format "--exclude=packages/%s/%s" pkgname i)) ignores) (if (file-readable-p
> elpaignore) (progn (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))))) (progn (or (file-readable-p tarball)
> (cl--assertion-failed '(file-readable-p tarball))) nil) (if tarball-only 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--dirname dir)))
> (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)))
> (condition-case nil (progn (make-symbolic-link (file-name-nondirectory
> tarball) link)) (file-error nil))) (setq oldtarballs (let ((elpaa--keep-max
> (if revision-function elpaa--keep-max (/ elpaa--keep-max 2))))
> (elpaa--prune-old-tarballs tarball oldtarballs destdir (if revision-function
> (* 60 60 24 365 2))))) (let ((default-directory (expand-file-name destdir)))
> (elpaa--html-make-pkg pkgdesc pkg-spec (cons (cons vers
> (file-name-nondirectory tarball)) oldtarballs) dir rendered)))) 'new)))
>
> elpaa--make-one-tarball-1("archive-devel/compat-28.1.2.0.0.20220810.191855.tar"
> "/home/monnier/src/emacs/elpa/packages/compat" ("compat" :url
> "https://git.sr.ht/~pkal/compat" :doc "compat.texi" :auto-sync t
> :internal--html-docs nil) (nil "28.1.2.0.0.20220810.191855" "Emacs Lisp
> Compatibility Library" ((emacs (24 3)) (nadvice (0 3))) ((:authors ("Philip
> Kaludercic" . "philipk@posteo.net")) (:maintainer "Compat Development" .
> "~pkal/compat-devel@lists.sr.ht") (:keywords "lisp") (:url .
> "https://sr.ht/~pkal/compat"))) nil nil)
> (setq res (elpaa--make-one-tarball-1 tarball dir pkg-spec metadata
> revision-function tarball-only))
> (condition-case err (setq res (elpaa--make-one-tarball-1 tarball dir
> pkg-spec metadata revision-function tarball-only)) ((debug error) (message
> "Build error for %s: %S" tarball err) nil))
> (unwind-protect (condition-case err (setq res (elpaa--make-one-tarball-1
> tarball dir pkg-spec metadata revision-function tarball-only)) ((debug error)
> (message "Build error for %s: %S" tarball err) nil)) (message (if res
> "######## Built new package %s!" "######## Build of package %s FAILED!!")
> tarball))
> (let ((res nil)) (unwind-protect (condition-case err (setq res
> (elpaa--make-one-tarball-1 tarball dir pkg-spec metadata revision-function
> tarball-only)) ((debug error) (message "Build error for %s: %S" tarball err)
> nil)) (message (if res "######## Built new package %s!" "######## Build of
> package %s FAILED!!") tarball)))
> (if (and (or (file-readable-p tarball) (file-readable-p
> (replace-regexp-in-string "\\.tar\\'" ".el" tarball))) (or tarball-only (let
> ((pkgname (car pkg-spec)) (default-directory (expand-file-name
> (file-name-directory tarball)))) (and (file-readable-p (concat pkgname
> "-readme.txt")) (file-readable-p (concat pkgname ".html")) (file-readable-p
> (concat pkgname ".svg")))))) (progn (elpaa--message "Tarball %s already
> built!" tarball) nil) (message "======== Building tarball %s..." tarball)
> (let ((res nil)) (unwind-protect (condition-case err (setq res
> (elpaa--make-one-tarball-1 tarball dir pkg-spec metadata revision-function
> tarball-only)) ((debug error) (message "Build error for %s: %S" tarball err)
> nil)) (message (if res "######## Built new package %s!" "######## Build of
> package %s FAILED!!") tarball))))
>
> elpaa--make-one-tarball("archive-devel/compat-28.1.2.0.0.20220810.191855.tar"
> "/home/monnier/src/emacs/elpa/packages/compat" ("compat" :url
> "https://git.sr.ht/~pkal/compat" :doc "compat.texi" :auto-sync t
> :internal--html-docs nil) (nil "28.1.2.0.0.20220810.191855" "Emacs Lisp
> Compatibility Library" ((emacs (24 3)) (nadvice (0 3))) ((:authors ("Philip
> Kaludercic" . "philipk@posteo.net")) (:maintainer "Compat Development" .
> "~pkal/compat-devel@lists.sr.ht") (:keywords "lisp") (:url .
> "https://sr.ht/~pkal/compat"))) nil nil)
> (let ((elpaa--name (concat elpaa--name "-devel"))) (elpaa--make-one-tarball
> tarball dir pkg-spec (cons nil (cons devel-vers (nthcdr 2 metadata))) nil
> tarball-only))
> (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 tarball-only (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 tarball-only)))) (cond (tarball-only
> nil) ((equal vers "0") (elpaa--message "Package %s not released yet!"
> pkgname)) ((< (apply #'min (version-to-list vers)) 0) (cond ((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
> (format "%s-%s.tar" pkgname (car last-rel)))) (metadata (cons nil (cons (car
> last-rel) (nthcdr 2 metadata))))) (if (not last-rel) (elpaa--message "Package
> %s not released yet!" pkgname) (if (elpaa--make-one-tarball tarball dir
> pkg-spec metadata #'(lambda nil (cdr last-rel))) (progn (elpaa--release-email
> pkg-spec metadata dir)))))))) (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 (plist-get (cdr pkg-spec) :version-map)))) (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
> tarball-only (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 tarball-only)))) (cond (tarball-only nil) ((equal
> vers "0") (elpaa--message "Package %s not released yet!" pkgname)) ((< (apply
> #'min (version-to-list vers)) 0) (cond ((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 (format "%s-%s.tar" pkgname
> (car last-rel)))) (metadata (cons nil (cons (car last-rel) (nthcdr 2
> metadata))))) (if (not last-rel) (elpaa--message "Package %s not released
> yet!" pkgname) (if (elpaa--make-one-tarball tarball dir pkg-spec metadata
> #'(lambda nil (cdr last-rel))) (progn (elpaa--release-email pkg-spec metadata
> dir)))))))) (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 (plist-get (cdr pkg-spec) :version-map)))) (progn (elpaa--release-email
> pkg-spec metadata dir))))))))
> (let* ((pkgname (car pkg-spec)) (dir (expand-file-name pkgname "packages"))
> (_ (cond (tarball-only 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))
> Build error for archive-devel/compat-28.1.2.0.0.20220810.191855.tar: (error
> "Error-indicating exit code in elpaa--call-sandboxed:
> compat.texi:220: @menu pointe vers un nœud « Emacs 24.5 » inexistant
> compat.texi:77: @detailmenu pointe vers un nœud « Emacs 24.5 » inexistant
> ")
> ######## Build of package archive-devel/compat-28.1.2.0.0.20220810.191855.tar
> FAILED!!