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>