Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 Mar 2022 14:03:11 +1100
From:      Aristedes Maniatis <ari@ish.com.au>
To:        Ronald Klop <ronald-lists@klop.ws>, freebsd-ports@FreeBSD.org
Subject:   Re: pkgs contain non URL safe characters
Message-ID:  <73971ae1-ea72-311b-bd53-0532aa6cdbd0@ish.com.au>
In-Reply-To: <ad3f17b6-d946-fbb6-493b-4899c985bff6@klop.ws>
References:  <e4f8bec4-e2c7-154c-0e49-109718782725@ish.com.au> <e0aea756-b7c3-b9bf-9dc7-b34c91399b31@ish.com.au> <e4f364c7-a2ef-7b03-77af-2d8dd8299b80@klop.ws> <378a27ca-dbfe-d6f4-45f6-2ff90265874e@ish.com.au> <ad3f17b6-d946-fbb6-493b-4899c985bff6@klop.ws>

next in thread | previous in thread | raw e-mail | index | archive | help

On 1/3/2022 10:57pm, Ronald Klop wrote:
>
> You could try the untested patch below as "compatibility fix", but I'm 
> not sure if that will not break other valid URLs passed to fetch/pkg.
> Apparently pkg embeds libfetch statically: 
> https://github.com/freebsd/pkg/tree/master/external/libfetch .
> This patch is against the FreeBSD base.
>
> diff --git a/lib/libfetch/fetch.c b/lib/libfetch/fetch.c
> index 82a3c5e451a..496425cea47 100644
> --- a/lib/libfetch/fetch.c
> +++ b/lib/libfetch/fetch.c
> @@ -451,7 +451,7 @@ fetchParseURL(const char *URL)
>                 }
>                 u->doc = doc;
>                 while (*p != '\0') {
> -                       if (!isspace((unsigned char)*p)) {
> +                       if (!isspace((unsigned char)*p) && *p != '+') {
>                                 *doc++ = *p++;
>                         } else {
>                                 *doc++ = '%';
>

Thanks for that. I think there are both static and normal versions of 
pkg. The static binary is at pkg-static for bootstrapping a system which 
might be missing libraries.

Since I don't want to be patching the system libs on all our servers, I 
think I'll keep my poudriere hook hack for now.


If the openjdk port maintainers are on this list, please consider 
removing the + from the package names. An underscore might do equally well.


Thanks for your help and insight.

Ari




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?73971ae1-ea72-311b-bd53-0532aa6cdbd0>