libmakepkg: Use only /etc/makepkg.d/gitconfig
Globally set `GIT_CONFIG_GLOBAL` and `GIT_CONFIG_SYSTEM` so that we're only loading `/etc/makepkg.d/gitconfig` (if it exists) and no other Git config files. Allow injecting another value via `MAKEPKG_GIT_CONFIG`. Fixes: https://gitlab.archlinux.org/pacman/pacman/-/issues/193
This commit is contained in:
parent
34f09204fa
commit
f07d547cf1
3 changed files with 10 additions and 1 deletions
|
@ -247,6 +247,11 @@ Environment Variables
|
||||||
Use an alternate config file instead of the +{sysconfdir}/makepkg.conf+
|
Use an alternate config file instead of the +{sysconfdir}/makepkg.conf+
|
||||||
default.
|
default.
|
||||||
|
|
||||||
|
**MAKEPKG_GIT_CONFIG=**"/path/to/file"::
|
||||||
|
Use an alternate config file for Git instead of the
|
||||||
|
+{sysconfdir}/makepkg.d/gitconfig+ default. makepkg always prevents Git
|
||||||
|
from loading any other config files.
|
||||||
|
|
||||||
**PKGDEST=**"/path/to/directory"::
|
**PKGDEST=**"/path/to/directory"::
|
||||||
Directory where the resulting packages will be stored. Overrides the
|
Directory where the resulting packages will be stored. Overrides the
|
||||||
corresponding value defined in linkman:makepkg.conf[5].
|
corresponding value defined in linkman:makepkg.conf[5].
|
||||||
|
|
|
@ -433,6 +433,8 @@ configure_file(
|
||||||
configuration : substs,
|
configuration : substs,
|
||||||
install_dir : join_paths(SYSCONFDIR, 'makepkg.conf.d/'))
|
install_dir : join_paths(SYSCONFDIR, 'makepkg.conf.d/'))
|
||||||
|
|
||||||
|
install_emptydir(join_paths(SYSCONFDIR, 'makepkg.d/'))
|
||||||
|
|
||||||
configure_file(
|
configure_file(
|
||||||
input : 'etc/pacman.conf.in',
|
input : 'etc/pacman.conf.in',
|
||||||
output : 'pacman.conf',
|
output : 'pacman.conf',
|
||||||
|
|
|
@ -28,6 +28,8 @@ source "$MAKEPKG_LIBRARY/util/error.sh"
|
||||||
source "$MAKEPKG_LIBRARY/util/message.sh"
|
source "$MAKEPKG_LIBRARY/util/message.sh"
|
||||||
source "$MAKEPKG_LIBRARY/util/pkgbuild.sh"
|
source "$MAKEPKG_LIBRARY/util/pkgbuild.sh"
|
||||||
|
|
||||||
|
export GIT_CONFIG_GLOBAL=/dev/null
|
||||||
|
export GIT_CONFIG_SYSTEM=${MAKEPKG_GIT_CONFIG:-'@sysconfdir@/makepkg.d/gitconfig'}
|
||||||
|
|
||||||
download_git() {
|
download_git() {
|
||||||
# abort early if parent says not to fetch
|
# abort early if parent says not to fetch
|
||||||
|
@ -161,7 +163,7 @@ calc_checksum_git() {
|
||||||
case ${fragment%%=*} in
|
case ${fragment%%=*} in
|
||||||
tag|commit)
|
tag|commit)
|
||||||
fragval=${fragment##*=}
|
fragval=${fragment##*=}
|
||||||
sum=$(GIT_CONFIG_GLOBAL=/dev/null GIT_CONFIG_SYSTEM=/dev/null git -c core.abbrev=no -C "$dir" archive --format tar "$fragval" | "${integ}sum" 2>&1) || ret=1
|
sum=$(git -c core.abbrev=no -C "$dir" archive --format tar "$fragval" | "${integ}sum" 2>&1) || ret=1
|
||||||
sum="${sum%% *}"
|
sum="${sum%% *}"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
|
Loading…
Add table
Reference in a new issue