# (c) 2019-2020 Fascode Network.
# maintained by Yamada Hayao
+APTPAC_VERSION="2.2.0"
+
set -e
OPTIONS=
-AURHELP=
+AURHELPER="/usr/bin/hoge"
HELPERS=(
- "yay"
- "yaourt"
- "aurman"
+ "/usr/bin/yay"
+ "/usr/bin/yaourt"
+ "/usr/bin/aurman"
+ "/usr/bin/pikaur"
+ "/usr/bin/pacaur"
)
-pacman="pacman"
+DEFAULT_PACMAN_COMMAND="pacman"
+
+debug=false
+PACMAN_COMMAND="${DEFAULT_PACMAN_COMMAND}"
+
+_msg_error () {
+ echo -e "${@}" >&2
+}
+
+_msg_debug () {
+ if ${debug}; then
+ echo -e "${@}" >&1
+ fi
+}
if [[ ! "${UID}" = 0 ]]; then
- if [[ -z ${AURHELP} ]]; then
- for AURHELP in ${HELPERS[@]}; do
- if [[ -f $(which ${AURHELP} 2> /dev/null) ]]; then
- pacman=$(which ${AURHELP})
+ if [[ -z "${AURHELPER}" ]]; then
+ for AURHELPER in ${HELPERS[@]}; do
+ if [[ -f "${AURHELPER}" ]]; then
+ PACMAN_COMMAND="${AURHELPER}"
+ break
+ elif hash "$(basename "${AURHELPER}")" 2> /dev/null; then
+ PACMAN_COMMAND="$(basename "${AURHELPER}")"
break
fi
done
+ if [[ "${PACMAN_COMMAND}" == "${DEFAULT_PACMAN_COMMAND}" ]]; then
+ PACMAN_COMMAND="sudo ${DEFAULT_PACMAN_COMMAND}"
+ fi
else
- if [[ -f $(which ${AURHELP} 2> /dev/null) ]]; then
- pacman=${AURHELP}
+ if [[ -f "${AURHELPER}" ]]; then
+ PACMAN_COMMAND="${AURHELPER}"
+ elif hash "$(basename "${AURHELPER}")" 2> /dev/null; then
+ PACMAN_COMMAND="$(basename "${AURHELPER}")"
else
- echo "${AURHELP} is not installed." >&2
+ _msg_error "${AURHELPER} is not installed."
exit 1
fi
fi
fi
-if [[ ! "${UID}" = 0 ]]; then
- pacman="sudo pacman"
-fi
-
-
# List option
installed=false
exit ${1}
}
-_msg_error () {
- echo -e "${@}" >&2
+_version () {
+cat << EOF
+aptpac ${APTPAC_VERSION} - A pacman wrapper with syntax based on debian's apt
+(c) 2019-2020 Fascode Network. Yamada Hayao
+EOF
}
+
ADD_OPTION () {
OPTIONS="${OPTIONS} ${@}"
}
assume-yes) ADD_OPTION "--noconfirm" ;;
installed) installed=true;;
purge) ADD_OPTION "-n" ;;
+ debug) debug=true ;;
help) _usage; _exit 0 ;;
esac
esac
huawei)
if [[ "${LANG}" = "ja_JP.UTF-8" ]]; then
echo "(ง •ᴗ•)ว ⁾⁾ファーウェイでウェイウェイ"
+ _exit 0
+ else
+ _msg_error "Invalid comman '${COMMAND}'"
+ _exit 1
fi
- exit 0
;;
moo)
cat << EOF
clean)
ADD_OPTION "-Sccc"
;;
- autoremove) if [[ -n $(${pacman} -Qttdq) ]]; then
+ autoremove) if [[ -n $(${PACMAN_COMMAND} -Qttdq) ]]; then
ADD_OPTION "=Rsc"
- PACKAGE="$(${pacman} -Qttdq)"
+ PACKAGE="$(${PACMAN_COMMAND} -Qttdq)"
else
echo "No packages to remove."
exit 0
;;
esac
-if [[ ! "${pacman}" = "pacman" ]]; then
- echo "Use AUR helper ${pacman}."
+if [[ ! "${PACMAN_COMMAND}" = "pacman" ]] && [[ ! "${PACMAN_COMMAND}" = "sudo pacman" ]]; then
+ _msg_debug "Use AUR helper ${PACMAN_COMMAND}."
fi
-# echo "${pacman} ${OPTIONS} ${PACKAGE}"
-${pacman} ${OPTIONS} ${PACKAGE}
+# echo "${PACMAN_COMMAND} ${OPTIONS} ${PACKAGE}"
+${PACMAN_COMMAND} ${OPTIONS} ${PACKAGE}