The ftp scheme doesn't seem to be supported anymore whilst the manpage still mentions it.
Date: Sat, 21 Oct 2023 17:15:11 UTC
Greetings, I was trying to set up a custom repository built via poudriere. The jail is: 13_2-RELEASE-amd64 with version 13.2-RELEASE-p4. The ports collection is: local and comes from quarterly: 2023Q3. The poudriere buid was done on a FreeBSD build server with full OS information: FreeBSD fBsdSrvr 13.2-RELEASE FreeBSD 13.2-RELEASE releng/13.2-n254617-525ecfdad597 GENERIC amd64 A FreeBSD client is used with full OS information: FreeBSD fBsdClnt 13.2-RELEASE FreeBSD 13.2-RELEASE releng/13.2-n254617-525ecfdad597 GENERIC amd64 On that client an additional repository configuration file was created. /usr/local/etc/pkg/repos/fBsdSrvr.conf The content of that repository configuration file was: fBsdSrvr: { url: "ftp://fBsdSrvr/13_2-RELEASE-amd64-local", enabled: yes, mirror_type: NONE } FreeBSD: { enabled: no } The command 'pkg update' was invoked on fBsdClnt. This resulted in the error massages: pkg: invalid scheme ftp pkg: Cannot parse configuration file! The fBsdSrvr stanza was commented out in the configuration file. The command 'pkg config VALID_URL_SCHEME' was invoked on fBsdClnt. The response was: pkg+http pkg+https https http file ssh tcp The 'ftp' scheme doesn't appear in the list of supported schemes. Yet the man page 'pkg.conf(5)' still states: For a MIRROR_TYPE of NONE, any of the URL schemes supported by libfetch(3) can be used, including: http://, https://, ftp://, or file://. In addition a ssh:// URL scheme is also supported. Where MIRROR_TYPE is SRV, you should use a pkg+http:// or pkg+https:// (etc.) URL scheme. Using an http:// URL implies that the hostname part is a simple hostname according to RFC 2616, and is no longer accepted. As you can see, the scheme ftp:// is mentioned as being supported by the pkg program, whilst is isn't the case anymore. The configuration file on the cient (fBsdClnt) was changed to fBsdSrvr: { url: "ssh://fBsdSrvr/usr/local/poudriere/data/packages/13_2-RELEASE-amd64-local", enabled: yes, mirror_type: NONE } FreeBSD: { enabled: no } This solved the problem. When using pkg on fBsdClnt, it asks the root password of fBsdSrvr on each invocation. Is there a way to register the root password of fBsdSrvr that pkg asks in fBsdClnt ? Kind regards, Pascal Pype