Skip to content

Commit 685f56a

Browse files
committed
termux-tools: improving pkg to work with pacman
1 parent b2fc349 commit 685f56a

File tree

2 files changed

+62
-30
lines changed

2 files changed

+62
-30
lines changed

packages/termux-tools/build.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ TERMUX_PKG_HOMEPAGE=https://termux.org/
22
TERMUX_PKG_DESCRIPTION="Basic system tools for Termux"
33
TERMUX_PKG_LICENSE="GPL-3.0"
44
TERMUX_PKG_MAINTAINER="@termux"
5-
TERMUX_PKG_VERSION=0.175
5+
TERMUX_PKG_VERSION=0.176
66
TERMUX_PKG_SKIP_SRC_EXTRACT=true
77
TERMUX_PKG_PLATFORM_INDEPENDENT=true
88
TERMUX_PKG_ESSENTIAL=true

packages/termux-tools/pkg

+61-29
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,19 @@
11
#!/bin/bash
22
set -eu
33

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
57

68
show_help() {
79
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)
917

1018
echo 'Usage: pkg command [arguments]'
1119
echo
@@ -186,32 +194,56 @@ if [ $# = 0 ]; then
186194
fi
187195

188196
CMD="$1"
197+
WRITE_ERROR=false
189198
shift 1
190199

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

Comments
 (0)