#!/usr/bin/env bash # makepkg wrapper that calls customizepkg first # NOTE - not setting -u here since pkgname detection runs into undefined variables a lot set -ef -o pipefail +o history 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 eval $(grep -Pazo '[^[:print:]][[:blank:]]*_?(pkg.*|name)=(\((.|\n)*?\)|.*?(?=\x0a))' ./PKGBUILD | sed 's, #.*$,,' | grep -Eva '\$\(|`|pkgdesc') 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 fi exec /usr/bin/makepkg ${@}