When fetching from pkgmir.geo.freebsd.org/FreeBSD:13:amd64/latest/All/rust-1.85.0_1.pkg the package is huge. The MANIFEST says that DOCS are on, but the Makefile of that port says: osipovmi@deblndw011x:~/var/Projekte/freebsd/ports/lang/rust (main =) $ make -V OPTIONS_DEFINE DOCS GDB LTO PORT_LLVM SOURCES WASM osipovmi@deblndw011x:~/var/Projekte/freebsd/ports/lang/rust (main =) $ make -V OPTIONS_DEFAULT SOURCES WASM It does not add up, especially that the expanded DOCS are huge and likely of little use for most. My poudriere setup is instructed to fetch packages from quarterly/latest unless OPTIONS are modified, but I am afraid that I need to build lang/rust myself to get rid of DOCS. The build overhead is quite huge which I'd like to avoid.
On disk with UFS: 794M /usr/local/share/doc/rust
# make -V PORT_OPTIONS DOCS SOURCES WASM from bsd.options.mk which sets DOCS by default if not explicitly disabled. One still might consider not to bundle them by defautl due to the unjustified overhead. I'll leave it to the port maintainer whether to handle this or not.
Unintentionally closed.
Users have asked me to enable the docs option by default.
(In reply to Mikael Urankar from comment #4) How so? It is not enabled by default in the Makefile, but through the ports system. That's a difference. Maybe you should move DOCS to OPTIONS_DEFAULT to make it clear.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=d617602f66232ed0e561b47aed56a6ed606b1e31 commit d617602f66232ed0e561b47aed56a6ed606b1e31 Author: Mikael Urankar <mikael@FreeBSD.org> AuthorDate: 2025-03-21 08:09:54 +0000 Commit: Mikael Urankar <mikael@FreeBSD.org> CommitDate: 2025-03-21 08:39:35 +0000 lang/rust: Update to 1.85.1 While here: - remove rustdoc from _RUST_TOOLS, it has to be added only when DOCS option is enabled - add DOCS to OPTIONS_DEFAULT [1] - building docs on armv7 is fixed PR: 285381 [1] lang/rust/Makefile | 12 ++++-------- lang/rust/distinfo | 6 +++--- 2 files changed, 7 insertions(+), 11 deletions(-)
The solution is obvious now, thanks!
(In reply to Michael Osipov from comment #7) Perhaps the solution is to check SELECTED_OPTIONS instead of OPTIONS_DEFAULT.
(In reply to Max Brazhnikov from comment #8) If you are running from packages only you don't have that information. My initial point was https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=285381#c1
(In reply to Michael Osipov from comment #0) These options (DOCS, EXAMPLES, IPV6 and NLS) are enabled by default. We do not add them to OPTIONS_DEFAULT. from Mk/bsd.options.mk: 275 # Some options are always enabled by default. 276 . for _opt in DOCS NLS EXAMPLES IPV6 277 . if ${COMPLETE_OPTIONS_LIST:M${_opt}} 278 PORT_OPTIONS+= ${_opt} 279 . endif 280 . endfor (In reply to commit-hook from comment #6) @mikael, please revert the OPTIONS_DEFAULT change. Thanks.
(In reply to Po-Chuan Hsieh from comment #10) Please address: $ grep -r --include='*/Makefile*' -E "OPTIONS_DEFAULT=.*DOCS" . ./accessibility/feedbackd/Makefile:OPTIONS_DEFAULT=DAEMON DOCS GIR MANPAGES VAPI ./archivers/ark/Makefile:OPTIONS_DEFAULT= 7ZIP ZIP DOCS ./audio/baresip/Makefile:OPTIONS_DEFAULT= DOCS EXAMPLES ./audio/elisa/Makefile:OPTIONS_DEFAULT= DOCS VLC ./audio/inscore/Makefile:OPTIONS_DEFAULT= DOCS EXAMPLES ./audio/lame/Makefile:OPTIONS_DEFAULT=DOCS ./audio/milkytracker/Makefile:OPTIONS_DEFAULT= DOCS RTMIDI ./audio/musicpc/Makefile:OPTIONS_DEFAULT= DOCS ICONV ./comms/opencbm/Makefile:OPTIONS_DEFAULT= DOCS INFO ./comms/uhd/Makefile:OPTIONS_DEFAULT= DOCS ./devel/cc65/Makefile:OPTIONS_DEFAULT= DOCS EXAMPLES INFO ./devel/cxxtest/Makefile:OPTIONS_DEFAULT= DOCS EXAMPLES ./devel/emacs-lsp-booster/Makefile:OPTIONS_DEFAULT= DOCS ./devel/gfold/Makefile:OPTIONS_DEFAULT= DOCS ./devel/libgusb/Makefile:OPTIONS_DEFAULT= DOCS VAPI ./devel/libvirt-glib/Makefile:OPTIONS_DEFAULT= DOCS VAPI ./devel/malloy/Makefile:OPTIONS_DEFAULT= CLIENT DOCS EXAMPLES HTML SERVER TLS ./devel/ncurses/Makefile:OPTIONS_DEFAULT= DOCS EXAMPLES MANPAGES ./devel/opendht/Makefile:OPTIONS_DEFAULT= INDEX PROXY_CLIENT PROXY_SERVER PUSH_NOTIFICATIONS DOCS ./devel/qtcreator/Makefile:OPTIONS_DEFAULT= DOCS EXAMPLES LIBSECRET ./devel/sccache/Makefile:OPTIONS_DEFAULT= DOCS ./devel/radicle/Makefile:OPTIONS_DEFAULT= DOCS ./devel/schilybase/Makefile:OPTIONS_DEFAULT=DOCS NLS ./devel/texlab/Makefile:OPTIONS_DEFAULT= DOCS ./devel/wrangler/Makefile:OPTIONS_DEFAULT= DOCS ./dns/yadifa/Makefile:OPTIONS_DEFAULT= DDNS DNSSECTOOLS DOCS ECDSA EXAMPLES KEYGEN LARGEFILE \ ./editors/libreoffice/Makefile:OPTIONS_DEFAULT= CUPS DOCS JAVA MMEDIA PDFIUM QT5 ./editors/sly/Makefile:OPTIONS_DEFAULT=DOCS DOCS_PDF ./editors/xed/Makefile:OPTIONS_DEFAULT= DOCS GSPELL GVFS_METADATA ./emulators/hatari/Makefile:OPTIONS_DEFAULT= DOCS DSP TRACE ./emulators/open-vm-tools/Makefile:OPTIONS_DEFAULT=DOCS FUSE LIBNOTIFY OPENSSL X11 ./ftp/termscp/Makefile:OPTIONS_DEFAULT= DOCS ./games/alephone/Makefile:OPTIONS_DEFAULT=CURL DOCS PNG SPEEX ZZIP ./games/freeorion/Makefile:OPTIONS_DEFAULT=DOCS TEST CLIENT_GG ./graphics/cairo/Makefile:OPTIONS_DEFAULT=DOCS GLIB X11 ./graphics/librsvg2/Makefile:OPTIONS_DEFAULT= DOCS VAPI ./graphics/opencolorio/Makefile:OPTIONS_DEFAULT= DOCS ./graphics/openorienteering-mapper/Makefile:OPTIONS_DEFAULT= DOCS EXAMPLES GDAL NLS TIFF ./irc/soju/Makefile:OPTIONS_DEFAULT= DOCS ./lang/julia/Makefile:OPTIONS_DEFAULT= DOCS ./lang/sdcc/Makefile:OPTIONS_DEFAULT= DOCS ./lang/snobol4/Makefile:OPTIONS_DEFAULT= FFI SQLITE3 DOCS ./lang/zig/Makefile:OPTIONS_DEFAULT= DOCS ./lang/zig010/Makefile:OPTIONS_DEFAULT= DOCS ./mail/exilog/Makefile:OPTIONS_DEFAULT= AGENT DOCS MYSQL ./mail/mu/Makefile:OPTIONS_DEFAULT= DOCS GUILE ./math/blacs/Makefile:OPTIONS_DEFAULT= DOCS MPICH ./math/dune-metagrid/Makefile:OPTIONS_DEFAULT= DOCS ./math/singular/Makefile:OPTIONS_DEFAULT= DOCS FLINT GFAN NTL ./multimedia/lives/Makefile:OPTIONS_DEFAULT= CDDA2WAV DOCS DV FFTW GHOSTSCRIPT IMAGEMAGICK JACK LAME \ ./net-mgmt/ipgen/Makefile:OPTIONS_DEFAULT=DOCS ./net/hping3/Makefile:OPTIONS_DEFAULT= DOCS MAN ./net/isboot-kmod/Makefile:OPTIONS_DEFAULT=DOCS VIMAGE ./net/openradius/Makefile:OPTIONS_DEFAULT= DOCS EXAMPLES ./net/quiche/Makefile:OPTIONS_DEFAULT= DOCS QLOG ./net/samba416/Makefile:OPTIONS_DEFAULT= AD_DC ADS DOCS FAM LDAP \ ./net/samba419/Makefile:OPTIONS_DEFAULT= AD_DC ADS DOCS FAM LDAP MANPAGES \ ./net/samba420/Makefile:OPTIONS_DEFAULT= AD_DC ADS DOCS FAM LDAP MANPAGES \ ./www/dillo2/Makefile:OPTIONS_DEFAULT= DOCS IPV6 JPEG PNG WEBP ./www/privoxy/Makefile:OPTIONS_DEFAULT= ACCEPT_FILTER BROTLI DOCS EDITOR FORCE \ ./www/squid-langpack/Makefile:OPTIONS_DEFAULT= DOCS EXAMPLES ./www/vultr-cli/Makefile:OPTIONS_DEFAULT= DOCS ./print/xreader/Makefile:OPTIONS_DEFAULT= DBUS DJVU DOCS HELP KEYRING PDF TIFF XPS ./science/tfel-edf/Makefile:OPTIONS_DEFAULT=DOCS ./science/tfel/Makefile:OPTIONS_DEFAULT= DOCS PYTHON ./security/libgcrypt/Makefile:OPTIONS_DEFAULT= DOCS INFO STATIC ./security/pam-mysql/Makefile:OPTIONS_DEFAULT= DOCS SSL ./security/pkcs11-tools/Makefile:OPTIONS_DEFAULT=DOCS ./security/racoon2/Makefile:OPTIONS_DEFAULT= DOCS ./shells/anongitssh/Makefile:OPTIONS_DEFAULT=DOCS ./sysutils/byobu/Makefile:OPTIONS_DEFAULT= DOCS NEWT TMUX ./sysutils/cdrtools/Makefile:OPTIONS_DEFAULT=DOCS LAME VORBIS ./sysutils/chezmoi/Makefile:OPTIONS_DEFAULT= BASH DOCS FISH ZSH ./sysutils/libudisks/Makefile:OPTIONS_DEFAULT= UDISKSCTL NLS DOCS ./sysutils/nut-devel/Makefile:OPTIONS_DEFAULT= SERIAL USB SNMP NEON PDU MODBUS CGI BASH AVAHI DOCS OPENSSL ./sysutils/nut/Makefile:OPTIONS_DEFAULT=SERIAL USB SNMP NEON PDU MODBUS CGI BASH AVAHI DOCS MANPAGES OPENSSL ./sysutils/pacman/Makefile:OPTIONS_DEFAULT=CURL DOCS GPGME ./sysutils/radmind/Makefile:OPTIONS_DEFAULT= SASL PAM ZLIB DOCS ./sysutils/xen-tools/Makefile:OPTIONS_DEFAULT= DOCS ./textproc/quickwit/Makefile:OPTIONS_DEFAULT= DOCS ./textproc/wikiman/Makefile:OPTIONS_DEFAULT= BASH CONFIG DOCS FISH WDGTS ZSH ./x11-fm/nemo/Makefile:OPTIONS_DEFAULT= DOCS EXEMPI EXIF ./x11-wm/nscde/Makefile:OPTIONS_DEFAULT= DOCS EXAMPLES KSH2020 SUDO ./x11/xvt/Makefile:OPTIONS_DEFAULT= 256_COLOR DOCS GB LINESPACE MENUBAR NEXT SMART \
(In reply to Michael Osipov from comment #11) I don't get it. What should I address? Any committer or the maintainers can take care of them. And we could avoid making this list longer.
It will stay as is.
(In reply to Po-Chuan Hsieh from comment #12) If you object the change in lang/rust, I'd expect you file an issue with these ports as well for consistency reasons.
(In reply to Michael Osipov from comment #9) > If you are running from packages only you don't have that information. My initial point was https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=285381#c1 Yes, I did see your first comment, but could you please elaborate? Which info are you missing and what are you trying to achieve? If there is a problem, it should be fixed globally for all ports, not just for this particular port.
(In reply to Max Brazhnikov from comment #15) My concern was that is not obviously visible why DOCS are included althrough it is not default. One has to dig into Mk/, especially here because DOCS are 700 MB on disk which most of the people don't need and it increases processing time. The average user/admin will be clueless.
(In reply to Michael Osipov from comment #16) Ports have been building with DOCS, NLS, EXAMPLES for ages even before the option framework was introduced. Besides, it is documented in the porters handbook: https://docs.freebsd.org/en/books/porters-handbook/makefiles/#makefile-options-default
(In reply to Max Brazhnikov from comment #17) True, but porter's handbook, not user's handbook.
I think it makes sense not to have docs included by default, since that is readily available online, and most people will not need a local version. I do have my doubts about not including rustdoc when docs are disabled. rustdoc is an integral part of cargo, and currently one has to enable building all the docs (we had that disabled), in order to get it installed. Even if the rust documentation offline is not very useful for many, being able to build documentation for your own project is.
(In reply to janlugt from comment #19) You're right, I'll put back rustdoc in _RUST_TOOLS with the next update.
(In reply to janlugt from comment #19) I would highly prefer docs to move to a separate package due to the size just like others do, e.g., PostgreSQL.