5 # __ _____\ \ ,_\ _____ __ ___
6 # /'__`\ /\ '__`\ \ \//\ '__`\ /'__`\ /'___\
7 #/\ \L\.\\ \ \L\ \ \ \\ \ \L\ /\ \L\.\_/\ \__/
8 #\ \__/.\_\ \ ,__/\ \__\ \ ,__\ \__/.\_\ \____\
9 # \/__/\/_/\ \ \/ \/__/\ \ \/ \/__/\/_/\/____/
12 # a pacman wrapper with syntax based on debian's apt
13 # (c) 2019-2020 Fascode Network.
14 # maintained by Yamada Hayao
28 DEFAULT_PACMAN_COMMAND="pacman"
31 PACMAN_COMMAND="${DEFAULT_PACMAN_COMMAND}"
34 if [[ ! "${UID}" = 0 ]]; then
35 if [[ -z "${AURHELP}" ]]; then
36 for AURHELP in ${HELPERS[@]}; do
37 if [[ -f $(which ${AURHELP} 2> /dev/null) ]]; then
38 PACMAN_COMMAND="$(which ${AURHELP})"
42 if [[ "${PACMAN_COMMAND}" == "${DEFAULT_PACMAN_COMMAND}" ]]; then
43 PACMAN_COMMAND="sudo ${DEFAULT_PACMAN_COMMAND}"
46 if [[ -f $(which ${AURHELP} 2> /dev/null) ]]; then
47 PACMAN_COMMAND=${AURHELP}
49 echo "${AURHELP} is not installed." >&2
60 echo "usage ${0} [options] [command] [packages]"
62 echo " install Install the specified package."
63 echo " remove Remove the specified package."
64 echo " purge Permanently remove the package."
65 echo " update Update the package database."
66 echo " upgrade Update the package."
67 echo " search Search for a package."
68 echo " autoremove Remove unnecessary packages."
69 echo " clean Remove the package cache."
70 echo " list Displays a list of packages."
72 echo " general options: "
73 echo " -y | --yes | --assume-yes Do not check."
74 echo " -d | --download-only Only download the package."
75 echo " -c <file> Config file for pacman."
76 echo " -h | --help Display this help."
77 echo " -v Displays the version of pacman."
78 echo " --purge Delete the entire configuration file."
90 OPTIONS="${OPTIONS} ${@}"
93 while getopts 'ydf-:c:hv' arg; do
95 y) ADD_OPTION "--noconfirm" ;;
98 c) ADD_OPTION "--config ${OPTARG}" ;;
100 v) _version; _exit 0 ;;
103 download-only) ADD_OPTION "-w" ;;
105 yes) ADD_OPTION "--noconfirm" ;;
106 assume-yes) ADD_OPTION "--noconfirm" ;;
107 installed) installed=true;;
108 purge) ADD_OPTION "-n" ;;
110 help) _usage; _exit 0 ;;
115 shift $((OPTIND - 1))
117 if [[ $# -lt 1 ]]; then
118 _msg_error "No command specified"
129 install) ADD_OPTION "-S" ;;
130 remove) ADD_OPTION "-Rsc" ;;
131 purge) ADD_OPTION "-Rsnc" ;;
132 update) ADD_OPTION "-Syy" ;;
133 upgrade) ADD_OPTION "-Syu" ;;
134 search) ADD_OPTION "-Ss" ;;
135 full-upgrade) ADD_OPTION "-Syu" ;;
136 edit-sources) sudo nano /etc/pacman.conf; _exit 0 ;;
137 dist-upgrade) ADD_OPTION "-Syu" ;;
139 if [[ "${LANG}" = "ja_JP.UTF-8" ]]; then
140 echo "(ง •ᴗ•)ว ⁾⁾ファーウェイでウェイウェイ"
143 _msg_error "Invalid comman '${COMMAND}'"
155 ...."Have you mooed today?"...
162 autoremove) if [[ -n $(${PACMAN_COMMAND} -Qttdq) ]]; then
164 PACKAGE="$(${PACMAN_COMMAND} -Qttdq)"
166 echo "No packages to remove."
171 if ${installed}; then
172 ADD_OPTION "-Q | grep"
178 _msg_error "Invalid comman '${COMMAND}'"
183 if [[ ! "${PACMAN_COMMAND}" = "pacman" ]] && [[ ! "${PACMAN_COMMAND}" = "sudo pacman" ]]; then
184 echo "Use AUR helper ${PACMAN_COMMAND}."
187 # echo "${PACMAN_COMMAND} ${OPTIONS} ${PACKAGE}"
188 ${PACMAN_COMMAND} ${OPTIONS} ${PACKAGE}