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

ports/vcs/git/pkg.conf


pkg_name="git"
pkg_license="gpl-2.0"
pkg_ver="git"
pkg_tags="git"
pkg_pref="1"
pkg_deps="zlib"
 
# curl defaults on: "git clone https://..." needs it, and every add.sh
# in this tree that uses https:// urls needs git's own clone command to
# work too. expat only builds the legacy dumb-http push path (no expat
# port exists in this tree at all, so this stays a bare opt-in with
# nothing to auto-pull); rust builds an optional libgitcore.a via cargo
# for some newer features (no rust toolchain in this tree either).
pkg_use="ssl:%ssl +curl:%curl expat rust"
 
# "mp reinstall --inplace" builds into a throwaway, ephemeral prefix and
# merges the result onto the live root afterward -- mpx's own merge
# command only rewrites symlink targets rooted at the source prefix,
# never arbitrary text/data embedded inside a file, so it can't fix up
# git's own compiled-in GIT_EXEC_PATH default (baked from this build's
# own "make prefix=$MP_PREFIX", which under --inplace is the ephemeral
# scratch dir, not the live root). hit for real: "'remote-https' is not
# a git command" (git-remote-https was correctly installed and present
# on disk, just unreachable -- "git --exec-path" reported the dead
# ephemeral path). same class of incident as languages/perl5, build-
# tools/gnu-{autoconf,automake,libtool,gettext}, ssl/libressl, and
# networking/curl's own identical pkg_no_inplace.
#
# recovering from an ALREADY-broken --inplace-built git needs care this
# port's own del.sh (rm -f $MP_PREFIX/bin/git, among others) doesn't:
# a plain "mp reinstall git" removes the CURRENT git binary before
# add.sh's own "git clone https://..." can run, and that clone needs a
# WORKING git to begin with -- self-referential, same hazard class as
# ssl/libressl's own git-over-https bootstrap incident. GIT_EXEC_PATH
# (a real runtime override git itself supports, no rebuild needed) is
# the safe fix for an already-broken install; this pkg_no_inplace only
# prevents a FUTURE "--inplace" rebuild from reintroducing the same
# baked-path bug in the first place.
pkg_no_inplace="yes"
 
# mplib::resolve::clean_manifest_files runs independently of del.sh --
# it deletes every file in a package's OWN tracked manifest as part of
# "reinstall", regardless of what del.sh itself does or doesn't do.
# del.sh's own comment above already explains why git's live files must
# never be removed before a fresh build finishes; this is the OTHER,
# separate mechanism that removal has to be disabled for too -- the
# ACTUAL incident already hit for real here was this one, not del.sh:
# "manifest cleanup removed 327 leftover file(s)" wiped git entirely the
# moment this port's pkg_no_inplace addition (above) made the very next
# "mp update --resume" reprocess it as a normal reinstall. same
# pkg_manifest_cleanup="no" as libcs/musl, build-tools/busybox, and
# compilers/gcc, for the identical reason.
pkg_manifest_cleanup="no"
powered by btf.