Subject: 28.0.90; [PATCH] GNU ELPA local build fails silently on macOS
From: Y. E. <[email-masked]>
To: [email-masked]
Date: Thu, 06 Jan 2022 12:35:41 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

On macOS, with the default 'bsdtar', 'make build/<pkg>' fails to create
a tarball, but does not warn about it, outputting:

> ======== Building tarball archive-devel/<pkg-vers>.tar...
> ######## Built new package archive-devel/<pkg-vers>.tar!
> ======== Building tarball archive/<pkg-ver>.tar...
> ######## Built new package archive/<pkg-ver>.tar!

['bsdtar' does not expose '--transform' option. Though it provides a
similar '-s' option with a bit different syntax.]

This patch suggests asserting a tarball was generated. This would
result in a more helpful output on a failed generation:

> ======== Building tarball archive-devel/<pkg-vers>.tar...
> Build error for archive-devel/<pkg-vers>.tar: (cl-assertion-failed (file-readable-p tarball))
> ######## Build of package archive-devel/<pkg-vers>.tar FAILED!!
> ======== Building tarball archive/<pkg-ver>.tar...
> Build error for archive/<pkg-ver>.tar: (cl-assertion-failed (file-readable-p tarball))
> ######## Build of package archive/<pkg-ver>.tar FAILED!!

In GNU Emacs 28.0.90 (build 1, x86_64-apple-darwin21.1.0, NS appkit-2113.00 Version 12.0.1 (Build 21A559))
From b8ce44d9f3da636a9236d7fc6a29dffb73d819ec Mon Sep 17 00:00:00 2001
From: YugaEgo <[email-masked]>
Date: Thu, 6 Jan 2022 11:55:27 +0200
Subject: [PATCH] * admin/elpa-admin.el (elpaa--make-one-tarball-1): Assert
 tarball exists

---
 elpa-admin.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/elpa-admin.el b/elpa-admin.el
index b4ad318ef6..d94cc7fd73 100644
--- a/elpa-admin.el
+++ b/elpa-admin.el
@@ -612,6 +612,7 @@ auxillary files unless TARBALL-ONLY is non-nil ."
               ,(format "s|^packages/%s|%s-%s|" pkgname pkgname vers)
               "-chf" ,tarball
               ,(concat "packages/" pkgname)))
+     (cl-assert (file-readable-p tarball))
      (unless tarball-only
        (let* ((pkgdesc
                ;; FIXME: `elpaa--write-pkg-file' wrote the metadata to
-- 
2.34.1