guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: error building new package (In procedure chdir: Not a directory)


From: Julien Lepiller
Subject: Re: error building new package (In procedure chdir: Not a directory)
Date: Tue, 22 Jun 2021 13:50:00 -0400
User-agent: K-9 Mail for Android

I think that's because the patch first extracts the archive, chdirs to the first directory, and applies the patch. But if there's no directory, it can't chdir and fails.

Note that (with-directory-excursion ".") does nothing :)

Le 22 juin 2021 12:35:45 GMT-04:00, Giovanni Biscuolo <g@xelera.eu> a écrit :
Hello,

some more info since I still do not understand where *.gz files are
coming from

Giovanni Biscuolo <g@xelera.eu> writes:

[...]

Your source tarball contains multiple gzipped files, one of which
itself a tarball:

metadata.gz
data.tar.gz
checksums.yaml.gz
source is under 'checksums.yaml.gz'
Backtrace:
2 (primitive-load
"/gnu/store/0d1j4s7c1h8w6z700sxb88jqmjp?")
In ice-9/eval.scm:
619:8 1 (_ #(#<directory (guile-user) 7ffff3bb3f00>
"checksum?"))
In unknown file:
0 (chdir "checksums.yaml.gz")

ERROR: In procedure chdir:
In procedure chdir: Not a directory

If I build the package with "--keep-failed" I can inspect the kept
building dir /home/guix-builder/guix-build-ruby-taskjuggler-3.7.1.drv-4,
and there are no *.gz files

[...]

so you need to use url-fetch/tarball and/or further unpack the
double-packed sources yourself in a custom phase.

I'll try to do this: any example at hand please?

I've found and tried this:

--8<---------------cut here---------------start------------->8---

(add-after 'unpack 'unpack-bundled-sources
(lambda _
(with-directory-excursion "."
(invoke "tar" "xf" "checksums.yaml.gz"))))

--8<---------------cut here---------------end--------------->8---

but it fails:

--8<---------------cut here---------------start------------->8---

starting phase `unpack-bundled-sources'
tar: checksums.yaml.gz: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
command "tar" "xf" "checksums.yaml.gz" failed with status 2

--8<---------------cut here---------------end--------------->8---

I still don't understand why appying a patch (with "(patches
(search-patches....))" in (source (origin...)) is failing.

Thanks! Giovanni

reply via email to

[Prev in Thread] Current Thread [Next in Thread]