GNU bug report logs -
#37523
Print hint if build fails due to invalid character in package source base name
Previous Next
To reply to this bug, email your comments to 37523 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#37523
; Package
guix
.
(Thu, 26 Sep 2019 16:02:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Hartmut Goebel <h.goebel <at> crazy-compilers.com>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Thu, 26 Sep 2019 16:02:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Followup to <http://issues.guix.gnu.org/issue/26175#4>:
guix shall print a hint if building fails due to the package source base
name containing a character invalid in a store filename (e.g. "@" or "%").
Currently, when building such a package, one gets an error message like:
guix build: error: invalid character `@' in name
`kde-l10n-ca <at> valencia-14.11.80.tar.xz.drv'
guix build should catch this error and print a hint like:
You may add a ‘file-name’ field to the package source to work around this.
Ludovic Courtès wrote on Sun Sep 08 22:07:10+0200 2019
> Unfortunately it cannot really be caught. I mean, you could catch
> ‘&store-protocol-error’ error conditions, but then the error message is
> just a string, there’s no error code you can compare against.
Example package raising this error:
(use-modules (guix packages) (guix download) (guix build-system gnu))
(package
(name "kde-l10n-ca-valencia")
(version "14.11.80")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde//Attic/applications/"
version "/src/kde-l10n/"
"kde-l10n-ca <at> valencia-" version ".tar.xz"))
(sha256 (base32
"1mqadassxcm0m9r1l02m5vr4bbandn48xz8gifvxmb4wiz8i8d0w"))))
(build-system gnu-build-system)
(synopsis "") (description "") (license "") (home-page ""))
--
Regards
Hartmut Goebel
| Hartmut Goebel | h.goebel <at> crazy-compilers.com |
| www.crazy-compilers.com | compilers which you thought are impossible |
Information forwarded
to
bug-guix <at> gnu.org
:
bug#37523
; Package
guix
.
(Mon, 21 Dec 2020 13:39:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 37523 <at> debbugs.gnu.org (full text, mbox):
Hi,
On Thu, 26 Sep 2019 at 18:01, Hartmut Goebel <h.goebel <at> crazy-compilers.com> wrote:
> guix shall print a hint if building fails due to the package source base
> name containing a character invalid in a store filename (e.g. "@" or "%").
>
> Currently, when building such a package, one gets an error message like:
>
> guix build: error: invalid character `@' in name `kde-l10n-ca <at> valencia-14.11.80.tar.xz.drv'
>
>
> guix build should catch this error and print a hint like:
>
> You may add a ‘file-name’ field to the package source to work around
> this.
>
>
> Ludovic Courtès wrote on Sun Sep 08 22:07:10+0200 2019
>
>> Unfortunately it cannot really be caught. I mean, you could catch
>> ‘&store-protocol-error’ error conditions, but then the error message is
>> just a string, there’s no error code you can compare against.
If I read correctly, the error is raised by nix/libstore/store-api.cc:
--8<---------------cut here---------------start------------->8---
void checkStoreName(const string & name)
{
string validChars = "+-._?=";
/* Disallow names starting with a dot for possible security
reasons (e.g., "." and ".."). */
if (string(name, 0, 1) == ".")
throw Error(format("invalid name: `%1%'") % name);
foreach (string::const_iterator, i, name)
if (!((*i >= 'A' && *i <= 'Z') ||
(*i >= 'a' && *i <= 'z') ||
(*i >= '0' && *i <= '9') ||
validChars.find(*i) != string::npos))
{
throw Error(format("invalid character `%1%' in name `%2%'")
% *i % name);
}
}
--8<---------------cut here---------------end--------------->8---
Therefore, I am missing if this message “invalid character” should be
improved or if the check of the name should be done before on the Scheme
side. Well, I am missing what could be the path to improve the
situation, if it needs.
All the best,
simon
Information forwarded
to
bug-guix <at> gnu.org
:
bug#37523
; Package
guix
.
(Mon, 21 Dec 2020 14:17:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 37523 <at> debbugs.gnu.org (full text, mbox):
Hi,,
thanks for picking this up.
> Therefore, I am missing if this message “invalid character” should be
> improved or if the check of the name should be done before on the Scheme
> side. Well, I am missing what could be the path to improve the
> situation, if it needs.
Since this check is done also for other store-items, I assume it does
not make much sense to change the message in the C-code.
So I assume the patch to improve this is to check the name on the Scheme
side. (Or to make the da)emon return some meaningful error object.
Anyhow I assume this is much more complicated and not a solution for now.
--
Regards
Hartmut Goebel
| Hartmut Goebel | h.goebel <at> crazy-compilers.com |
| www.crazy-compilers.com | compilers which you thought are impossible |
This bug report was last modified 4 years and 172 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.