|
1 | 1 | #!/bin/bash
|
2 | 2 | set -eu
|
3 | 3 |
|
4 |
| -USER_AGENT='Termux-PKG/1.0 mirror-checker (termux-tools @PACKAGE_VERSION@) Termux (@TERMUX_APP_PACKAGE@; install-prefix:@TERMUX_PREFIX@)' |
| 4 | +if [ "$TERMUX_MAIN_PACKAGE_FORMAT" = "debian" ]; then |
| 5 | + USER_AGENT='Termux-PKG/1.0 mirror-checker (termux-tools @PACKAGE_VERSION@) Termux (@TERMUX_APP_PACKAGE@; install-prefix:@TERMUX_PREFIX@)' |
| 6 | +fi |
5 | 7 |
|
6 | 8 | show_help() {
|
7 | 9 | local cache_size
|
8 |
| - cache_size=$(du -sh @TERMUX_CACHE_DIR@/apt/archives 2>/dev/null | cut -f1) |
| 10 | + local cache_dir |
| 11 | + if [ "$TERMUX_MAIN_PACKAGE_FORMAT" = "debian" ]; then |
| 12 | + cache_dir="@TERMUX_CACHE_DIR@/apt/archives" |
| 13 | + elif [ "$TERMUX_MAIN_PACKAGE_FORMAT" = "pacman" ]; then |
| 14 | + cache_dir="@TERMUX_PREFIX@/var/cache/pacman/pkg" |
| 15 | + fi |
| 16 | + cache_size=$(du -sh "$cache_dir" 2>/dev/null | cut -f1) |
9 | 17 |
|
10 | 18 | echo 'Usage: pkg command [arguments]'
|
11 | 19 | echo
|
@@ -186,32 +194,56 @@ if [ $# = 0 ]; then
|
186 | 194 | fi
|
187 | 195 |
|
188 | 196 | CMD="$1"
|
| 197 | +WRITE_ERROR=false |
189 | 198 | shift 1
|
190 | 199 |
|
191 |
| -case "$CMD" in |
192 |
| - f*) dpkg -L "$@";; |
193 |
| - h*) show_help;; |
194 |
| - sh*|inf*) apt show "$@";; |
195 |
| - add|i*) |
196 |
| - select_mirror |
197 |
| - update_apt_cache |
198 |
| - apt install "$@" |
199 |
| - ;; |
200 |
| - autoc*) apt autoclean;; |
201 |
| - cl*) apt clean;; |
202 |
| - list-a*) apt list "$@";; |
203 |
| - list-i*) apt list --installed "$@";; |
204 |
| - rei*) apt install --reinstall "$@";; |
205 |
| - se*) |
206 |
| - select_mirror |
207 |
| - update_apt_cache |
208 |
| - apt search "$@" |
209 |
| - ;; |
210 |
| - un*|rem*|rm|del*) apt remove "$@";; |
211 |
| - up*) |
212 |
| - select_mirror |
213 |
| - apt update |
214 |
| - apt full-upgrade "$@" |
215 |
| - ;; |
216 |
| - *) echo "Unknown command: '$CMD' (run 'pkg help' for usage information)"; exit 1;; |
217 |
| -esac |
| 200 | +if [ "$TERMUX_MAIN_PACKAGE_FORMAT" = "debian" ]; then |
| 201 | + case "$CMD" in |
| 202 | + f*) dpkg -L "$@";; |
| 203 | + h*) show_help;; |
| 204 | + sh*|inf*) apt show "$@";; |
| 205 | + add|i*) |
| 206 | + select_mirror |
| 207 | + update_apt_cache |
| 208 | + apt install "$@" |
| 209 | + ;; |
| 210 | + autoc*) apt autoclean;; |
| 211 | + cl*) apt clean;; |
| 212 | + list-a*) apt list "$@";; |
| 213 | + list-i*) apt list --installed "$@";; |
| 214 | + rei*) apt install --reinstall "$@";; |
| 215 | + se*) |
| 216 | + select_mirror |
| 217 | + update_apt_cache |
| 218 | + apt search "$@" |
| 219 | + ;; |
| 220 | + un*|rem*|rm|del*) apt remove "$@";; |
| 221 | + up*) |
| 222 | + select_mirror |
| 223 | + apt update |
| 224 | + apt full-upgrade "$@" |
| 225 | + ;; |
| 226 | + *) WRITE_ERROR=true;; |
| 227 | + esac |
| 228 | +elif [ "$TERMUX_MAIN_PACKAGE_FORMAT" = "pacman" ]; then |
| 229 | + case "$CMD" in |
| 230 | + f*) pacman -Ql "$@";; |
| 231 | + h*) show_help;; |
| 232 | + sh*|inf*) pacman -Qi "$@";; |
| 233 | + add|i*) pacman -Sy "$@" --needed;; |
| 234 | + autoc*) pacman -Sc --noconfirm;; |
| 235 | + cl*) pacman -Scc --noconfirm;; |
| 236 | + list-a*) pacman -Sl "$@";; |
| 237 | + list-i*) pacman -Q "$@";; |
| 238 | + rei*) pacman -S "$@";; |
| 239 | + se*) pacman -Sys "$@";; |
| 240 | + un*|rem*|rm|del*) pacman -Rcns "$@";; |
| 241 | + up*) pacman -Syu;; |
| 242 | + *) WRITE_ERROR=true;; |
| 243 | + esac |
| 244 | +fi |
| 245 | + |
| 246 | +if $WRITE_ERROR; then |
| 247 | + echo "Unknown command: '$CMD' (run 'pkg help' for usage information)" |
| 248 | + exit 1 |
| 249 | +fi |
0 commit comments