Subject: core-update: Raw origin tarballs are not handled correctly.

From: Mathieu Othacehe <[email-masked]>
Date: Sun, 15 Aug 2021 10:42:13 +0200

Hello,

When building "emacs-org-contrib" on core-updates-frozen, the following
message is printed:

--8<---------------cut here---------------start------------->8---
tar: Exiting with failure status due to previous errors
error: in phase 'unpack': uncaught exception:
%exception #<&invoke-error program: "tar" arguments: ("xvf" "/gnu/store/r3v4gkqqbxp2w739a0llvk9nrda9xn89-org-plus-contrib-20210809.tar") exit-status: 2 term-signal: #f stop-signal: #f> 
phase `unpack' failed after 0.0 seconds
command "tar" "xvf" "/gnu/store/r3v4gkqqbxp2w739a0llvk9nrda9xn89-org-plus-contrib-20210809.tar" failed with status 2
note: keeping build directory `/tmp/guix-build-emacs-org-contrib-20210809.drv-6'
builder for `/gnu/store/52jcx6rwnf0wrkrpcwkyz766fzg6asjy-emacs-org-contrib-20210809.drv' failed with exit code 1
build of /gnu/store/52jcx6rwnf0wrkrpcwkyz766fzg6asjy-emacs-org-contrib-20210809.drv failed
View build log at '/var/log/guix/drvs/52/jcx6rwnf0wrkrpcwkyz766fzg6asjy-emacs-org-contrib-20210809.drv.bz2'.
guix build: error: build of `/gnu/store/52jcx6rwnf0wrkrpcwkyz766fzg6asjy-emacs-org-contrib-20210809.drv' failed
--8<---------------cut here---------------end--------------->8---

That's because
"/gnu/store/r3v4gkqqbxp2w739a0llvk9nrda9xn89-org-plus-contrib-20210809.tar"
is empty. I believe this is a consequence of:
cfcead2e515c0dae02127e5a76496463898be6b6, and in particular this
section:

--8<---------------cut here---------------start------------->8---
              ;; If SOURCE is a directory (such as a checkout), return a
              ;; directory.  Otherwise create a tarball.
              (cond
               ((file-is-directory? #+source)
                (copy-recursively directory #$output
                                  #:log (%make-void-port "w")))
               ((not #+comp)
                (copy-file file #$output)) <---------- We should call repack instead here for raw tarballs?
               (else
                (repack directory #$output)))))))
--8<---------------cut here---------------end--------------->8---

Maxim, could you please have a look?

Thanks,

Mathieu