# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# System-wide defaults for the Portage system

#            *****************************
#            **  DO NOT EDIT THIS FILE  **
# ***************************************************
# **** CHANGES TO make.conf *OVERRIDE* THIS FILE ****
# ***************************************************
# ** Incremental Variables Accumulate Across Files **
# **  USE, CONFIG_*, and FEATURES are incremental  **
# ***************************************************

# When compiler flags are unset, many packages will substitute their own
# implicit flags. For uniformity, use an empty string as the default.
CFLAGS=""
CXXFLAGS=""
LDFLAGS=""
FFLAGS=""
FCFLAGS=""

# Default distfiles mirrors. This rotation has multiple hosts and is reliable.
# Approved by the mirror-admin team.
GENTOO_MIRRORS="http://distfiles.gentoo.org"

ACCEPT_PROPERTIES="*"
ACCEPT_RESTRICT="*"

# Miscellaneous paths
DISTDIR="/var/cache/distfiles"
PKGDIR="/var/cache/binpkgs"
RPMDIR="/var/cache/rpm"

# Temporary build directory
PORTAGE_TMPDIR="/var/tmp"

# The compression used for binary packages. Defaults to zstd except for
# existing installs where bzip2 is used for backward compatibility.
BINPKG_COMPRESS="zstd"

# The format used for binary packages. The default is to use the new "gpkg" format.
# Set to "xpak" to use the old gentoo binary package format.
BINPKG_FORMAT="gpkg"

# The binary package default GPG signing command.
# flock is used to avoid a racing condition of gnupg
BINPKG_GPG_SIGNING_BASE_COMMAND="/usr/bin/flock /run/lock/portage-binpkg-gpg.lock /usr/bin/gpg --sign --armor [PORTAGE_CONFIG]"

# The default binary package GPG digests algorithm.
BINPKG_GPG_SIGNING_DIGEST="SHA512"

# The binary package default GPG verify command.
BINPKG_GPG_VERIFY_BASE_COMMAND="/usr/bin/gpg --verify --batch --no-tty --no-auto-check-trustdb --status-fd 2 [PORTAGE_CONFIG] [SIGNATURE]"

# The binary package default GPG home directory for verify
BINPKG_GPG_VERIFY_GPG_HOME="/etc/portage/gnupg"

# The user and group will be used when drop root privileges
PORTAGE_USERNAME="portage"
PORTAGE_GRPNAME="portage"

# The user and group will be used when drop root privileges during GPG verify
GPG_VERIFY_USER_DROP="nobody"
GPG_VERIFY_GROUP_DROP="nogroup"

# Fetching command (3 tries, passive ftp for firewall compatibility)
FETCHCOMMAND="wget -t 3 -T 60 --passive-ftp -O \"\${DISTDIR}/\${FILE}\" \"\${URI}\""
RESUMECOMMAND="wget -c -t 3 -T 60 --passive-ftp -O \"\${DISTDIR}/\${FILE}\" \"\${URI}\""

FETCHCOMMAND_RSYNC="rsync -LtvP \"\${URI}\" \"\${DISTDIR}/\${FILE}\""
RESUMECOMMAND_RSYNC="rsync -LtvP \"\${URI}\" \"\${DISTDIR}/\${FILE}\""

# NOTE: rsync will evaluate quotes embedded inside PORTAGE_SSH_OPTS
FETCHCOMMAND_SSH="bash -c \"x=\\\${2#ssh://} ; host=\\\${x%%/*} ; port=\\\${host##*:} ; host=\\\${host%:*} ; [[ \\\${host} = \\\${port} ]] && port= ; exec rsync --rsh=\\\"ssh \\\${port:+-p\\\${port}} \\\${3}\\\" -avP \\\"\\\${host}:/\\\${x#*/}\\\" \\\"\\\$1\\\"\" rsync \"\${DISTDIR}/\${FILE}\" \"\${URI}\" \"\${PORTAGE_SSH_OPTS}\""
RESUMECOMMAND_SSH=${FETCHCOMMAND_SSH}

# NOTE: bash eval is used to evaluate quotes embedded inside PORTAGE_SSH_OPTS
FETCHCOMMAND_SFTP="bash -c \"x=\\\${2#sftp://} ; host=\\\${x%%/*} ; port=\\\${host##*:} ; host=\\\${host%:*} ; [[ \\\${host} = \\\${port} ]] && port= ; eval \\\"declare -a ssh_opts=(\\\${3})\\\" ; exec sftp \\\${port:+-P \\\${port}} \\\"\\\${ssh_opts[@]}\\\" \\\"\\\${host}:/\\\${x#*/}\\\" \\\"\\\$1\\\"\" sftp \"\${DISTDIR}/\${FILE}\" \"\${URI}\" \"\${PORTAGE_SSH_OPTS}\""

# Default user options
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs
          binpkg-multi-instance buildpkg-live
          config-protect-if-modified distlocks ebuild-locks
          fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict
          network-sandbox news parallel-fetch pkgdir-index-trusted pid-sandbox
          preserve-libs protect-owned qa-unresolved-soname-deps sandbox strict
          unknown-features-warn unmerge-logs unmerge-orphans userfetch
          userpriv usersandbox usersync"

# Ignore file collisions in /lib/modules since files inside this directory
# are never unmerged, and therefore collisions must be ignored in order for
# FEATURES=protect-owned to operate smoothly in all cases.
# Ignore file collisions for unowned *.pyo and *.pyc files, this helps during
# transition from compiling python modules in live file system to compiling
# them in src_install() function.
COLLISION_IGNORE="/lib/modules/* *.py[co] *\$py.class"
UNINSTALL_IGNORE="/lib/modules/*"

# By default wait 5 secs before cleaning a package
CLEAN_DELAY="5"

# By default wait 10 secs on an important warning
EMERGE_WARNING_DELAY="10"

# Automatically clean installed packages after they are updated.
# This option will be removed and forced to yes.
AUTOCLEAN="no"

PORTAGE_BZIP2_COMMAND="bzip2"

# Don't compress files with these suffixes.
PORTAGE_COMPRESS_EXCLUDE_SUFFIXES="css gif htm[l]? jp[e]?g js pdf png"

# Number of mirrors to try when a downloaded file has an incorrect checksum.
PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS="5"

# Minimum size of existing file for RESUMECOMMAND to be called.
PORTAGE_FETCH_RESUME_MIN_SIZE="350K"

# Number of times 'emerge --sync' will run before giving up.
PORTAGE_RSYNC_RETRIES="-1"

# Number of seconds rsync will wait before timing out.
#RSYNC_TIMEOUT="180"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"

# The number of days after the last `emerge --sync` that a warning
# message should be produced.
PORTAGE_SYNC_STALE="30"

# Executed before emerge exit if FEATURES=clean-logs is enabled.
PORTAGE_LOGDIR_CLEAN="find \"\${PORTAGE_LOGDIR}\" -type f ! -name \"summary.log*\" -mtime +7 -delete"

# Minimal CONFIG_PROTECT
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d"

# Disable auto-use
USE_ORDER="env:pkg:conf:defaults:pkginternal:features:repo:env.d"

# Mode bits for ${WORKDIR} (see ebuild.5).
PORTAGE_WORKDIR_MODE="0700"

# Some defaults for elog
PORTAGE_ELOG_CLASSES="log warn error"
PORTAGE_ELOG_SYSTEM="save_summary:log,warn,error,qa echo"

PORTAGE_ELOG_MAILURI="root"
PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for \${PACKAGE} on \${HOST}"
PORTAGE_ELOG_MAILFROM="portage@localhost"

# Signing command used by egencache
PORTAGE_GPG_SIGNING_COMMAND="gpg --sign --digest-algo SHA256 --clearsign --yes --default-key \"\${PORTAGE_GPG_KEY}\" --homedir \"\${PORTAGE_GPG_DIR}\" \"\${FILE}\""

# Trust helper executable for installing and updating package verification keys
PORTAGE_TRUST_HELPER="/usr/bin/getuto"

# btrfs.* attributes are irrelevant, see bug #527636.
# security.* attributes may be special (see bug 461868), but
# security.capability is specifically not excluded (bug 548516).
# system.nfs4_acl attributes are irrelevant, see bug #475496.
# user.* attributes are not supported on tmpfs (bug 640290), but
# user.pax.* is supported with the patch from bug 470644.
PORTAGE_XATTR_EXCLUDE="bcachefs.* bcachefs_effective.*
	btrfs.* security.evm security.ima
	security.selinux system.nfs4_acl user.apache_handler
	user.Beagle.* user.dublincore.* user.mime_encoding user.xdg.*"

#            *****************************
#            **  DO NOT EDIT THIS FILE  **
# ***************************************************
# **** CHANGES TO make.conf *OVERRIDE* THIS FILE ****
# ***************************************************
# ** Incremental Variables Accumulate Across Files **
# **  USE, CONFIG_*, and FEATURES are incremental  **
# ***************************************************