do not edit — generated by btf.
git.druid.rocksindexdruid520portsports/coreutils/busybox/pkg.conf

ports/coreutils/busybox/pkg.conf


pkg_name="busybox"
pkg_license="gpl-2.0"
pkg_ver="git"
pkg_tags="coreutils shell"
pkg_pref="1"
pkg_deps_soft="linux-headers"
pkg_conflicts="sbase ubase gnu-coreutils"
pkg_deps=""
 
# shadow: busybox's own login/su applets collide on filenames (bin/
# login, bin/su) with sysutils/shadow's real binaries whenever both are
# installed together. defaults off (busybox keeps its own login/su,
# matching stock upstream behavior for a system with no real shadow-
# utils installed) - turn on with `mp use busybox +shadow` (or USE=shadow
# in a sysroot/mp.conf) on any install that also installs sysutils/shadow.
#
# init: busybox's own CONFIG_INIT/CONFIG_LINUXRC provide bin/init,
# sbin/init and linuxrc applets - fine as PID 1 for a system with no
# other init installed, but a real init port's own /sbin/init symlink
# (sinit, s6-linux-init, openrc, ...) gets silently overwritten back to
# busybox's own applet on every busybox reinstall/update otherwise,
# since nothing else ever tells busybox to stop providing it. off by
# default (busybox stays a viable standalone PID 1); enable whenever a
# real init port is also installed.
#
# awk: same shape of issue as shadow above, but silent rather than
# loudly broken -- busybox's own "awk" applet has a real gsub()
# escaping bug (gsub(/"/, "\\\"") drops the escape instead of inserting
# it, confirmed directly against a real script this bug actually broke
# elsewhere in this tree), and %awk's own real providers (textproc/
# gawk, build-tools/onetrueawk) install to /usr/bin, the SAME dir
# busybox's own BB_DIR_USR_BIN target uses for "awk" -- a real
# install-time file collision (not just a $PATH-order race the way
# login/su's own /bin vs /usr/bin split was), so whichever gets
# installed/reinstalled LAST silently wins. off by default (a
# busybox-only system keeps its own awk applet, same as shadow); turn
# on whenever a real %awk provider is also installed.
# patch: busybox's own "patch" applet used to be silently sequestered
# under a stray, never-actually-searched "/usr/usr/bin" (a separate,
# unrelated bug -- see add.sh's own comment on applets/install.sh's
# $prefix handling), so it never actually collided with anything on
# disk. fixing that bug put it back at its own correct, real /usr/bin/
# patch -- a genuine collision with sysutils/gnu-patch's own dedicated
# binary the moment both are installed (confirmed the hard way: "mp
# reinstall busybox" failed outright, "busybox conflicts with gnu-patch
# on installed files", the exact first real reinstall to run after the
# path fix).
#
# off by default, and RECOMMENDED to stay off, not just a neutral
# default like shadow/init/awk above: mp's own entire patch pipeline
# (mplib::resolve's apply_patch_manifest, mplib::portformat's inherited-
# class patch: phase -- every use of patch anywhere in this tree) is
# exactly "patch -p1 < file", nothing more -- verified directly against
# busybox's own patch applet, including the git-format-patch preamble
# (From:/Date:/Subject: header before the real diff) every patch in
# this tree's own patches/ actually has, using the REAL patch this port
# ships (compilers/gcc's own cxxflags-for-build-passing.patch): applies
# clean, byte-for-byte correct. sysutils/gnu-patch pulls in a real
# gnu-bison dependency chain (its own gnulib-vendored parse-datetime.y
# needs genuine bison version-gated extensions, not just a %yacc
# provider -- see its own pkg.conf) for capability this tree's own
# pipeline never actually exercises. turn on only if something
# specifically needs GNU patch's own fuller behavior (context diffs,
# --fuzz tuning, etc) beyond a plain "patch -p1 < file".
#
# terminfo: same shape as awk above -- busybox's own "clear"/"reset"
# (console-tools/clear.c, console-tools/reset.c) are trivial, hardcoded
# ESC-sequence-only implementations, and install to the SAME /usr/bin/
# clear, /usr/bin/reset paths as libraries/ncurses' own real,
# terminfo-database-aware versions -- busybox's own upstream comment on
# reset.c even says so directly: "'Standard' version of this tool is in
# ncurses package". off by default (a busybox-only system with no
# ncurses keeps its own minimal versions); turn on whenever ncurses is
# also installed, same as awk/patch above -- confirmed the hard way, a
# plain "mp reinstall busybox" on a system with ncurses already
# installed silently overwrote its own real clear/reset with busybox's
# own symlinks, rejected by mp's own file-conflict check only after
# already landing on disk.
pkg_use="shadow init awk patch terminfo"
 
# del.sh deliberately runs no uninstall logic at all -- busybox's own
# applet-symlink removal loop runs under /bin/sh calling /bin/rm, both
# themselves busybox symlinks the SAME loop deletes partway through
# (see del.sh's own comment for the real incident this came from). mp's
# manifest-driven remove: cleanup (mplib::resolve::clean_manifest_files)
# would otherwise delete every one of those symlinks anyway once del.sh
# exits, defeating the whole point the same way it did for libcs/musl.
pkg_manifest_cleanup="no"
powered by btf.