On 1/6/19 2:00 PM, JereBear wrote: >>> Thanks for the info about the local pseudo-scheme. I've made a note to >>> file a feature request on bugs.archlinux.org, asking for documentation. >>> (Obligatory "and maybe a patch, but don't count on it.") And I'll switch to >>> using it. >> >> Documentation is always good! You're not the first one to ask about >> where local:// is documented, I think, but documentation issues are >> difficult to remember without a bug report when the people most likely >> to be writing documentation think it is obvious because they've read the >> implementation. :p > > https://bugs.archlinux.org/task/61294
I noticed another bug when looking at your referenced package. You used local:/// rather than local://, but aurweb displays this as relative to the cgit repository. Since we use php's parse_url() to check if it validates as having an Array ( [scheme] => something ) - but, parse_url() will special-case file:// in order to treat it correctly, and otherwise - parse local://filename as a schema+host, and - parse local:///filename as malformed ("On seriously malformed URLs, parse_url() may return FALSE.") So this completely borks if scheme:/// is used and treats it as local to the cgit repository as the fallback for plain files, since it cannot get an $array['scheme'] from a boolean FALSE. It doesn't look like parse_url() is very suitable here... makepkg does not care either way, since it looks for the final pathname component by discarding everything before the last "/". This is an aurweb bug, as I think we should abort on malformed urls and display them as-is, like we already do for urls that are on the RHS of makepkg's "::" syntax. Or possibly use the same dumb parser we use in the db backend for consistency's sake... ... Also I think all previous cases of people using local:// in a PKGBUILD did not use "/filename", so we were happily parsing it as an authority. You've actually broken the aurweb in a practical way by actually caring about the RFC. :D -- Eli Schwartz Bug Wrangler and Trusted User
signature.asc
Description: OpenPGP digital signature