2021-10-28 04:54:18 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
# makepkg wrapper that calls customizepkg first
|
2023-01-21 10:26:30 +00:00
|
|
|
# NOTE - not setting -u here since pkgname detection runs into undefined variables a lot
|
|
|
|
set -ef -o pipefail +o history
|
2021-10-28 04:54:18 +00:00
|
|
|
|
|
|
|
CURRENT_DIR_PATH="$(readlink -f "$(realpath -e "$(pwd)")")"
|
|
|
|
GLOBAL_CONF_DIR_PATH='/etc/customizepkg.d'
|
|
|
|
USER_CONF_DIR_PATH="${HOME}/.customizepkg"
|
|
|
|
|
|
|
|
pkgbuild_path="${CURRENT_DIR_PATH}/PKGBUILD"
|
|
|
|
pkgbuild_copy_path="${pkgbuild_path}.original"
|
|
|
|
|
|
|
|
function is_readable_file {
|
|
|
|
local file_path="${1:-''}"
|
|
|
|
local ret=1
|
|
|
|
if [[ (-n "$file_path") && (-f "$file_path") && (-r "$file_path") ]];then
|
|
|
|
ret=0
|
|
|
|
fi
|
|
|
|
return $ret
|
|
|
|
}
|
|
|
|
|
|
|
|
if is_readable_file "$pkgbuild_path" &&
|
|
|
|
! is_readable_file "$pkgbuild_copy_path";then
|
2023-04-11 01:28:06 +00:00
|
|
|
eval $(grep -Pazo '[^[:print:]][[:blank:]]*_?(pkg.*|name)=(\((.|\n)*?\)|.*?(?=\x0a))' ./PKGBUILD | sed 's, #.*$,,' | grep -Eva '\$\(|`|pkgdesc')
|
2023-01-21 05:52:00 +00:00
|
|
|
if [[ -n "${pkgname:-''}" ]];then
|
|
|
|
global_conf_path="${GLOBAL_CONF_DIR_PATH}/${pkgname}"
|
|
|
|
user_conf_path="${USER_CONF_DIR_PATH}/${pkgname}"
|
|
|
|
if is_readable_file "$global_conf_path" ||
|
|
|
|
is_readable_file "$user_conf_path";then
|
|
|
|
customizepkg --modify
|
|
|
|
fi
|
|
|
|
fi
|
2021-10-28 04:54:18 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
exec /usr/bin/makepkg ${@}
|