devel/libbson: Fix build when DOCS=off
The DOCS option were installing both HTML documentation
and manpages but these manpages weren't covered in the
plist with the DOCS substition, so we're both fixing it
and seperating them now with the new MANPAGES option.
PR: 296718
Reported by: René Thümmler <beastie at tsukaisute.de>
Approved by: Krzysztof <ports at bsdserwis.com> (maintainer)
Approved by: osa, vvd (Mentors, implicit)
FDT: implement fdt_ether_get_addr()
Introduce fdt_ether_get_addr() in fdt_common.c/h that tries standard
DT properties in the correct order and falls back to a random address
when needed. This should be used by ethernet drivers instead of open-coding
the same logic.
MFC after: 2 weeks
Reviewed by: mhorne, adrian, bz, jrtc27
Differential Revision: https://reviews.freebsd.org/D58104
textproc/rubygem-gepub: Unbreak the build
rubyzip has been bumped to version 3, switch depends to rubyzip2.
Approved by: ziaee (doceng)
(cherry picked from commit 8e4ab236c7ac56ee189b78c594316e156e71a8d9)
src.conf(5): Suggest using ccache4
We have separate ports for Ccache 3 and 4. Suggest both, rather than
only the Ccache 3 port. Rearrange the text somewhat to avoid an
excessively ragged edge on a standard 80-column terminal.
MFC after: 1 week
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D58005
(cherry picked from commit a2545f68f64b4cfcc13ca2d372c8b9fef1c6331e)
src.conf(5): Suggest using ccache4
We have separate ports for Ccache 3 and 4. Suggest both, rather than
only the Ccache 3 port. Rearrange the text somewhat to avoid an
excessively ragged edge on a standard 80-column terminal.
MFC after: 1 week
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D58005
(cherry picked from commit a2545f68f64b4cfcc13ca2d372c8b9fef1c6331e)
share/mk: Add sccache suport for WITH_CCACHE_BUILD option
By setting CCACHE_NAME=sccache , sccache can be used as an alternative
for ccache.
Reviewed by: emaste, jhb
Event: Kitchener-Waterloo Hackathon 202506
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D49417
(cherry picked from commit 10cb3979a9bde6c8e441e3ba4aa5fd09963c484f)
libfetch: Reduce copying
Reduce the amount of copying we do when performing buffered reads.
MFC after: 1 week
Reviewed by: op
Differential Revision: https://reviews.freebsd.org/D58113
libfetch: Make fetch_ref an inline
Make fetch_ref() an inline and provide a fetch_deref().
MFC after: 1 week
Reviewed by: op
Differential Revision: https://reviews.freebsd.org/D57944
fetch: Stop setting an alarm
Now that fetchTimeout works reliably, setting an alarm is not only no
longer necessary but counterproductive, as it will trigger even if the
connection is not actually stalled but merely slow.
While here, improve the wording of the manual page's description of the
various options for setting a timeout.
MFC after: 1 week
Reviewed by: op
Differential Revision: https://reviews.freebsd.org/D57911
libfetch: Document fetchTimeout
Document the global fetchTimeout variable, now that it works reliably.
MFC after: 1 week
Reviewed by: op
Differential Revision: https://reviews.freebsd.org/D57910
libfetch: Apply timeout to connection attempts
Mark the socket non-blocking before connecting and poll for completion,
applying fetchTimeout if set.
MFC after: 1 week
Reviewed by: op
Differential Revision: https://reviews.freebsd.org/D57909
libfetch: Add read buffering
Previously, we would read FTP control connection messages and HTTP
reponse headers one character at a time. Now, we read as much as will
fit in our buffer and look for a newline. If there is data left over,
it will be reused by the next fetch_getln() call. This also requires
the addition of a fetch_bufread() which takes the buffer into account,
otherwise the start of the HTTP response body will be stuck in the
buffer after we read the last line of the header.
This should noticeably improve HTTP performance, especially for small
transfers.
MFC after: 1 week
Reviewed by: op
Differential Revision: https://reviews.freebsd.org/D57907
libfetch: Overhaul socket read / write
* Make fetch_ssl_read() and fetch_ssl_write() behave more like read(2)
and write(2), and drop fetch_socket_read() in favor of read(2).
* Don't request POLLERR, it's implied.
* Don't needlessly set errno, it's relatively costly.
* Always check for EAGAIN from writev(2), otherwise we will abort on a
short write instead of proceeding to poll(2).
* Always check for EAGAIN from poll(2) even though it can't happen on
FreeBSD; POSIX says it can, and it might in the future.
* Rewrite fetch_read() and fetch_writev() to be more similar to each
other. The main difference is that a partial read is treated as
success while a partial write is treated as failure.
[4 lines not shown]
tail: Allow repetitive or contraditory options
Unlike its GNU counterpart, our tail(1) has always errored out if given
repetitive or contradictory options, even prior to Keith Bostic's 1991
reimplementation. There is no good reason to continue to do so, not
even tradition, since many other commands (including head(1)) simply
apply the rightmost option in cases like this.
MFC after: 1 week
Reviewed by: allanjude, markj
Differential Revision: https://reviews.freebsd.org/D58192