Skip to content

Commit

Permalink
!fixup: use cli option for makepkg config
Browse files Browse the repository at this point in the history
  • Loading branch information
anthraxx committed Jan 21, 2022
1 parent fc8acd6 commit 10c4801
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 47 deletions.
98 changes: 52 additions & 46 deletions checkpkg.in
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,6 @@ shopt -s extglob

m4_include(lib/common.sh)

MAKEPKG_CONF=${MAKEPKG_CONF:-/etc/makepkg.conf}

# Source makepkg.conf; fail if it is not found
if [[ -r "$MAKEPKG_CONF" ]]; then
# shellcheck source=makepkg-x86_64.conf
source "$MAKEPKG_CONF"
else
die "$MAKEPKG_CONF not found!"
fi

# Source user-specific makepkg.conf overrides
if [[ -r "${XDG_CONFIG_HOME:-$HOME/.config}/pacman/makepkg.conf" ]]; then
# shellcheck source=/dev/null
source "${XDG_CONFIG_HOME:-$HOME/.config}/pacman/makepkg.conf"
elif [[ -r "$HOME/.makepkg.conf" ]]; then
# shellcheck source=/dev/null
source "$HOME/.makepkg.conf"
fi

usage() {
cat <<- _EOF_
Usage: ${BASH_SOURCE[0]##*/} [OPTIONS]
Expand All @@ -37,40 +18,65 @@ usage() {
list for both packages and a library list for both packages.
OPTIONS
-r, --rmdir Remove the temporary directory
-w, --warn Print a warning in case of differences
-h, --help Show this help text
-r, --rmdir Remove the temporary directory
-w, --warn Print a warning in case of differences
-M, --makepkg-config Set an alternate makepkg configuration file
-h, --help Show this help text
_EOF_
}

RMDIR=0
WARN=0
MAKEPKG_CONF=/etc/makepkg.conf

# option checking
while (( $# )); do
case $1 in
-h|--help)
usage
exit 0
;;
-r|--rmdir)
RMDIR=1
shift
;;
-w|--warn)
WARN=1
shift
;;
-M|--makepkg-config)
MAKEPKG_CONF="$2"
shift 2
;;
--)
shift
break
;;
-*,--*)
die "invalid argument: %s" "$1"
;;
*)
break
;;
esac
done

OPT_SHORT='rwh'
OPT_LONG=('rmdir' 'warn' 'help')
if ! parseopts "$OPT_SHORT" "${OPT_LONG[@]}" -- "$@"; then
exit 1
# Source makepkg.conf; fail if it is not found
if [[ -r "${MAKEPKG_CONF}" ]]; then
# shellcheck source=makepkg-x86_64.conf
source "${MAKEPKG_CONF}"
else
die "${MAKEPKG_CONF} not found!"
fi

# Source user-specific makepkg.conf overrides
if [[ -r "${XDG_CONFIG_HOME:-$HOME/.config}/pacman/makepkg.conf" ]]; then
# shellcheck source=/dev/null
source "${XDG_CONFIG_HOME:-$HOME/.config}/pacman/makepkg.conf"
elif [[ -r "$HOME/.makepkg.conf" ]]; then
# shellcheck source=/dev/null
source "$HOME/.makepkg.conf"
fi
set -- "${OPTRET[@]}"

while :; do
case $1 in
-r|--rmdir)
RMDIR=1
;;
-w|--warn)
WARN=1
;;
-h|--help)
usage
exit 0
;;
--)
shift; break
;;
esac
shift
done

if [[ ! -f PKGBUILD ]]; then
die 'This must be run in the directory of a built package.'
Expand Down
3 changes: 3 additions & 0 deletions doc/checkpkg.1.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ Options
*-w, --warn*::
Print a warning instead of a regular message in case of soname differences.

*-M, --makepkg-config*::
Set an alternate makepkg configuration file.

*-h, --help*::
Show a help text

Expand Down
2 changes: 1 addition & 1 deletion makechrootpkg.in
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,7 @@ else
done

msg2 "Checking packages"
sudo -u "$makepkg_user" env MAKEPKG_CONF="$copydir/etc/makepkg.conf" checkpkg --rmdir --warn "${remotepkgs[@]/#file:\/\//}"
sudo -u "$makepkg_user" checkpkg --rmdir --warn --makepkg-config "$copydir/etc/makepkg.conf" "${remotepkgs[@]/#file:\/\//}"
fi
true
fi
1 change: 1 addition & 0 deletions zsh_completion.in
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ _rebuildpkgs_args=(
_checkpkg_args=(
'(-r --rmdir)'{-r,--rmdir}'[Remove the temporary directory]'
'(-w --warn)'{-w,--warn}'[Print a warning in case of differences]'
'(-M --makepkg-config)'{-M,--makepkg-config}'[Location of a makepkg config file]:makepkg_config:_files -g "*.conf(.)"'
'(-h --help)'{-h,--help}'[Display usage]'
)

Expand Down

0 comments on commit 10c4801

Please sign in to comment.