Commit Graph

208 Commits

Author SHA1 Message Date
buttaface
4801874eb6 termux-tools: add 'pkg autoclean' and command descriptions to help (#5627) 2020-08-01 15:21:10 +03:00
Leonid Pliushch
9c1635f1c3 termux-tools: fix path to pkgcache.bin after apt update, add support for pkg clean 2020-07-31 19:31:42 +03:00
Leonid Pliushch
c30de5e30b termux-tools: use https://termux.org/packages/ as fallback instead of direct Bintray URL 2020-07-31 14:29:31 +03:00
Leonid Pliushch
713c7160fc termux-tools: automatically pick a mirror by pkg (#5621)
See https://github.com/termux/termux-packages/issues/5620.

Implements automatic mirror selection:
* Pick a random URL of top 4 mirrors of Termux main repository and use it during 30 minutes limit, then rotate to a new one. Distribute traffic accross multiple mirrors, including origin Bintray repository.
* During 30 minutes limit, let `pkg` to check whether mirror is accessible on each run. If mirror is not accessible, use a new one. Mirrors are not guaranteed to be 100% accessible, so let pkg to check which one is working before using `apt`.
* Skip rotating if using `.cn` mirrors - Chinese users will not want to use something else due to great firewall and download speed issues.
2020-07-31 14:18:43 +03:00
Leonid Pliushch
23eee5f7cb termux-tools: add '-Xusejit:true' to dalvikvm 2020-07-26 14:08:52 +03:00
Leonid Pliushch
d5b4dddff0 termux-tools: termux-reset: ensure that $PREFIX is RWX before deleting
Set RWX permissions recursively on $PREFIX before deleting it. This
is needed to ensure that all files and directories can be deleted
by `rm`.

However this may not work if permissions were messed up with root.
2020-07-21 16:01:45 +03:00
Leonid Pliushch
3f081dd19e termux-tools: do not mkdir $PREFIX/bin/applets 2020-07-09 00:59:24 +03:00
Leonid Pliushch
f7216d85b8 termux-tools: bump revision 2020-07-01 14:49:59 +03:00
Henrik Grimler
d25ef2c156 termux-tools: add cmd wrapper as well
See https://github.com/termux/termux-api/issues/354.
2020-07-01 12:37:34 +02:00
Leonid Pliushch
3998a1692b termux-tools: add BFSU mirrors 2020-06-21 22:21:14 +03:00
Leonid Pliushch
0ce19ca522 termux-tools: remove check for /system/bin/killall
/system/bin/killall should be present on all devices running Android 7.0+.
2020-06-07 21:01:12 +03:00
Henrik Grimler
cc79632785 termux-tools: minor grammatical changes 2020-06-07 19:55:26 +02:00
Leonid Pliushch
aa225b374d termux-tools: fix message typo in termux-reset 2020-06-07 20:40:53 +03:00
Leonid Pliushch
b9a86e7836 termux-tools: add script for resetting Termux installation (#5377) 2020-06-07 20:05:11 +03:00
Leonid Pliushch
f8f367cfc3 termux-tools: bump revision 2020-06-01 20:28:17 +03:00
Leonid Pliushch
ad8fa679cb termux-tools: ask user for confirmation before recreating ~/storage directory
Notify user about potential data loss if files were placed to
the root of ~/storage directory during execution of termux-setup-storage.
2020-06-01 20:23:30 +03:00
Leonid Pliushch
1fa297a587 termux-tools: update mirror list for termux-change-repo 2020-04-19 23:05:34 +03:00
Leonid Pliushch
3d371241d1 termux-tools: depend on util-linux and bump revision 2020-03-30 15:19:14 +03:00
Leonid Pliushch
cf701debba termux-tools: fix repo component names for "x11" & "unstable" 2020-03-29 21:30:25 +03:00
Henrik Grimler
e15f8c42be termux-tools: fix copy-paste error in x11-packages url
Also run apt update after changing repositories
2020-03-29 20:26:30 +02:00
Henrik Grimler
9415f71929 termux-tools: add termux-change-repo script (#5069)
* termux-tools: add termux-change-repo script

Simplifies changing repositories to a mirror, useful when Bintray downloads hit the roof

* *-repo: add etc/apt/sources.list.d/* to TERMUX_PKG_CONFFILES
2020-03-24 07:14:42 +01:00
Leonid Pliushch
dc14c12940 apt: prevent usage of certain commands as root
Usage of package manager as root has certain bad effects in Termux such as
messed up SELinux contexts and ownership. Root checks done in 'pkg' wrapper
are not reliable because one can execute 'apt' directly or with third-party
script downloaded from the Internet.

This commit adds user id check and if it found that uid is 0, apt will
refuse to do any work in root session. These checks done in such way so
they cannot be bypassed in any way unless command is executed as non-root
user.

Those who use Termux via ADB root shell should be able to switch to Termux
user id with command 'su' in order to have package manager working.

---

This change also affects the 'termux-info' utility:

 * It will no longer use 'apt policy' to detect subscribed repositories. Each
   source will be checked by script manually.

 * Information will be copied to clipboard only if 'termux-api' is installed.

 * Syntax error in timeout command is fixed: 'timeout' doesn't understand the
   argument '-t'.

 * Minor information entries reordering.
2019-11-13 16:38:40 +02:00
Efreak
63733da336 Don't run apt update if it's been run recently (#4135)
When installing or searching for packages, the `apt update` will run only if it
was not executed within the last 5 minutes. Command `pkg upgrade` will
always execute `apt update` to ensure that latest package versions were
picked during upgrade.
2019-11-10 16:29:05 +02:00
Fredrik Fornwall
8bb0f44ad7 termux-tools: bump version 2019-10-06 10:00:12 +02:00
Leonid Pliushch
f72f7bec3b termux-tools: bump version 2019-09-20 00:17:45 +03:00
Leonid Pliushch
ccb9ab922a termux-tools: use @TERMUX_PREFIX@ instead of path in sources
Ensure that scripts always use correct prefix-specific path.
2019-09-20 00:16:26 +03:00
Leonid Pliushch
4d3a6658d4 termux-tools: do not print motd on OpenSSH login when config PrintMotd=no
Now OpenSSH will not print motd on its own which may result in duplicate.
Instead it will control the login script via environment variable.

Fixes https://github.com/termux/termux-packages/issues/3941.
2019-09-06 01:59:07 +03:00
Leonid Pliushch
8701462951 add new linter script & fix packages where needed
Linter will check packages submitted for CI build. If error was found,
build will not be allowed.

To ensure that all build.sh scripts are consistent and have at least
minimal allowed quality, linter is permanently enabled for all branches
and pull requests.
2019-08-14 14:27:55 +03:00
Leonid Pliushch
c352216c63 packages: standardize values of several control variables for build.sh
Variables

 TERMUX_PKG_PLATFORM_INDEPENDENT
 TERMUX_DEBUG
 TERMUX_PKG_HAS_DEBUG
 TERMUX_PKG_ESSENTIAL
 TERMUX_SUBPKG_ESSENTIAL
 TERMUX_PKG_NO_STATICSPLIT
 TERMUX_PKG_BUILD_IN_SRC
 TERMUX_PKG_FORCE_CMAKE
 TERMUX_PKG_HOSTBUILD

should not accept arbitrary values for marking them "enabled". Instead
they should accept boolean values which makes them easier to handle and
also makes their meaning clear.

build-package.sh should make decision based on variable's value but not on
whether it is set or empty.

%ci:no-build
2019-08-12 18:49:13 +03:00
Leonid Pliushch
b563281d63 undo "Unsplit essential packages"
Seems it is not possible to unsplit these packages currently.

%ci:reset-backlog
2019-08-11 19:44:55 +03:00
Leonid Pliushch
eefe9fbe26 xz-utils: unsplit from liblzma
Same reason as for curl and bzip2.
2019-08-11 17:40:39 +03:00
Leonid Pliushch
864a138534 unsplit bzip2 from libbz2
Same reason as for 'curl'.
2019-08-11 17:40:39 +03:00
Leonid Pliushch
f9b5f96b5a libcurl: unsplit 'curl' subpackage
Both packages are essential and expect to be in bootstrap installation so
splitting is quite useless here.
2019-08-11 17:40:39 +03:00
Leonid Pliushch
e37b3fd5c4 termux-tools: add core packages to dependencies
Some packages are not getting installed after busybox was replaced by separate
packages. This commit should fix that by specifying core packages as dependencies
of the "termux-tools".
2019-08-05 13:46:51 +03:00
Leonid Pliushch
026ebfd1c1 termux-exec should be a dependency of termux-tools
Because it is used by login script and termux-tools is essential anyway.
2019-07-22 02:05:02 +03:00
Leonid Pliushch
4832078d86 reformat build.sh for some packages
* Packages where dependencies were sorted are bumped.
2019-07-22 01:51:28 +03:00
Leonid Pliushch
27856c752e termux-tools: provide wrapper for /system/bin/umount
Good addition since we already have wrapper for /system/bin/mount.
2019-07-01 23:43:43 +03:00
Leonid Pliushch
40db2641cf termux-tools: provide wrapper for /system/bin/mount
Right now Termux doesn't have utility 'mount' available. Also
on Samsung devices executing /system/bin/mount can cause
linking errors.

Issue https://github.com/termux/termux-packages/issues/4002.
2019-06-30 19:13:32 +03:00
Leonid Pliushch
935fa9f4c1 termux-tools: bump to v0.66 2019-05-06 23:24:31 +03:00
Henrik Grimler
498efb4601 termux-tools: bump revision 2019-04-16 19:46:27 +02:00
Leonid Pliushch
651b637ec5 termux-tools: bump version 2019-04-14 21:44:11 +03:00
Leonid Pliushch
8d57afa4b0 Merge branch 'master' into app_995 2019-04-13 18:41:02 +03:00
Leonid Pliushch
5d29da3dc6 termux-tools: do not start login shell if not running on terminal
Fixes execution of commands via non-interactive shell with OpenSSH.
Issue https://github.com/termux/termux-packages/issues/3620.
2019-04-04 12:50:54 +03:00
Henrik Grimler
b3cdbc0402 termux-info: add subscribed repositories to printed info 2019-03-31 19:34:54 +02:00
Tom Yan
25612e0536 termux-tools: companion of termux/termux-app#1031 2019-02-12 11:15:39 +08:00
Wetitpig
5f8864c10d Improve formatting of parantheses for functions 2019-02-09 21:06:31 +02:00
Leonid Pliushch
47e114d0a8 termux-tools: do not provide file path with slash at the beginning
See https://github.com/termux/termux-app/issues/995.
2019-01-27 15:12:38 +01:00
Leonid Pliushch
2b72c14c4a termux-tools: distrubute under GPL-3.0
Same license as for Termux app.
2019-01-21 17:17:53 +02:00
Leonid Pliushch
46d333adba add licenses for more packages 2019-01-21 17:17:53 +02:00
Jason A. Donenfeld
db23fe725f termux-tools: use proper su search order
This mirrors the search order in the standard Android PATH, so that the
right tool is used consistently. This makes it easier for something like
Kernel Assisted Superuser to co-exist with Magisk.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-12-24 00:05:07 +01:00
Fredrik Fornwall
0a612d4a5c Use system top
Remove top both from busybox (which is broken on Android 8+), and
procps (which has issues on Android 8+) and use a system wrapper
in termux-tools instead.
2018-11-28 03:02:11 +01:00
Leonid Pliushch
01e27ce4f8 termux-tools: export SHELL variable on login (#2632) 2018-07-14 00:02:50 +02:00
Fredrik Fornwall
59dcdde121 termux-tools: Bump version to 0.55 after su warning in pkg 2018-06-13 01:44:07 +02:00
Oliver Schmidhauser
7f1e6c977a unset LD_PRELOAD in su because magist 16.4 is 32 bit only 2018-05-03 22:46:20 +02:00
its-pointless
4c95eb0d93 termux-tools: Work around for when termux-exec is broken 2018-02-21 00:08:15 +01:00
Fredrik Fornwall
e9cdab3c29 termux-tools: Depend on termux-am (fixes #2101) 2018-02-06 22:34:07 +01:00
Michał Bednarski
3aa671da67 termux-am: Add package 2018-02-05 00:19:21 +01:00
Fredrik Fornwall
3fc4aa5920 termux-tools: Unset LD_PRELOAD when calling system
Some 64-bit systems seems to have 32-bit binaries in /system/bin,
so unset LD_PRELOAD before calling them. See #551.
2018-01-24 17:20:25 +01:00
Fredrik Fornwall
b069947e0d termux-tools: Avoid pm list in termux-info (#1426) 2017-11-21 05:59:47 +01:00
Fredrik Fornwall
d3215a81dd termux-tools: Unset LD_PRELOAD in dalvikvm
See https://github.com/termux/termux-packages/issues/1736
2017-11-01 15:08:50 +01:00
Oliver Schmidhauser
9e77a1160e packages->pkg in help text (#1599)
* packages->pkg in help text

* Fix pkg at a second placec
2017-10-01 21:42:37 +02:00
Fredrik Fornwall
81604d724b termux-tools: Make bin/login handle arguments
As we now use bin/login even from e.g. sshd we need to handle
arguments by forwarding it to the login shell and not displaying
a motd in that case. Fixes #1529.
2017-09-17 22:43:03 +02:00
Fredrik Fornwall
3674c3b3db termux-exec: Add package 2017-09-17 16:12:20 +02:00
Fredrik Fornwall
25697f1136 termux-tools: Replace help with wiki in motd 2017-09-10 23:14:26 +02:00
Fredrik Fornwall
fb11758d44 termux-tools: Remove 'packages' symlink 2017-09-10 22:39:45 +02:00
Fredrik Fornwall
700ecf0fbc Use 'pkg' as shorter form of 'packages'
Fixes https://github.com/termux/termux-app/issues/321.
2017-06-12 03:01:09 +02:00
Fredrik Fornwall
b2ad42ed60 termux-tools: xdg-open should be a symlink 2017-04-16 14:37:07 +02:00
Oliver Schmidhauser
833973d1be Add termux-info tool (#422)
* Add termux-info tool

* Add more information to termux-info

* Resolve conflicts. Add comment and fix Typo.

* remove empty lines in output
2017-04-09 00:07:06 +02:00
Fredrik Fornwall
b81361aaa4 termux-tools: Bump version to 0.41 2017-04-02 14:47:41 +02:00
Fredrik Fornwall
9d99cc6543 termux-tools: Allow shorter forms in packages 2017-03-10 15:22:44 +01:00
Fredrik Fornwall
bd78c57fd7 termux-tools: Handle --help in termux-open
Fixes #801.
2017-03-01 17:20:37 +01:00
Fredrik Fornwall
30a5b5a7ad termux-tools: Bump version to 0.38 2017-02-28 00:30:51 +01:00
Fredrik Fornwall
e54c330868 termux-tools: Setup xdg-open->termux-open symlink 2017-02-28 00:30:19 +01:00
Fredrik Fornwall
83e3b942b5 termux-tools: Bump version to bring 'packages' 2017-02-21 23:54:24 +01:00
Fredrik Fornwall
d6df138bb1 termux-tools: Add a 'packages' utility 2017-02-17 23:13:49 +01:00
Fredrik Fornwall
4d7154eff8 termux-tools: Add etc/motd to be shown on login 2017-02-09 10:28:37 +01:00
Fredrik Fornwall
89956f70a1 termux-tools: Search in /system/bin for su
Fixes #723.
2017-02-03 00:04:26 +01:00
Fredrik Fornwall
4c29f84f59 termux-tools: Fix quoting in su (fixes #244) 2017-01-25 11:50:20 +01:00
Fredrik Fornwall
c9379a3ed8 termux-tools: Unset LD_LIBRARY_PATH in wrappers
Previously the wrappers assumed that if
	/system/bin/linker64
that LD_LIBRARY_PATH should be set to /system/lib64. This seems
to not always be the case (see #192) and hopefully the system
binaries should work without LD_LIBRARY_PATH being set, so we
just unset it before calling the system binary.
2017-01-08 04:53:36 -05:00
Fredrik Fornwall
5ef5713d2d termux-tools: Fix typo in termux-setup-storage 2017-01-03 17:21:43 -05:00
Fredrik Fornwall
7acdc6acea termux-tools: Bump version 2016-12-29 22:27:57 -05:00
Fredrik Fornwall
eafc139a78 termux-tools: Add termux-wake-{lock,unlock} 2016-12-25 22:29:30 -05:00
Fredrik Fornwall
57efacaf26 termux-tools: Add /magisk/.core/bin/su path to su
Fixes #168.
2016-11-25 20:12:52 -05:00
Fredrik Fornwall
0ee447355b termux-tools: Try a more functional su wrapper 2016-08-31 17:39:18 -04:00
Fredrik Fornwall
6501186f2b Fix dalvikvm wrapper
- Just unset LD_LIBRARY_PATH in the dalvikvm wrapper.
- Let the dalvikvm wrapper setup $ANDROID_DATA.
- Avoid using a custom dalvikvm wrapper in dx.
2016-05-05 19:55:13 -04:00
Fredrik Fornwall
0ae97c5e98 termux-tools: Quote $@ when sending from wrappers
Fixes https://github.com/termux/termux-api/issues/18
2016-04-19 10:28:08 -04:00
Fredrik Fornwall
31dd323c81 termux-tools: More robust check for 64-bit runtime
Previously the wrapper scripts for binaries in /system/bin used
/system/bin/getprop to determine if /system/lib or /system/lib64
should be used for the LD_LIBRARY_PATH.

We now switch to checking for /system/bin/linker64 which should be
more robust and faster. Fixes #214.
2016-04-18 00:55:28 -04:00
Fredrik Fornwall
8353c56c0b Modify setup in wrappers for /system/bin/ commands
On several devices several tools in /system/bin/ requires
LD_LIBRARY_PATH to contain /system/lib(64). Check for the bit-ness
with `getprop ro.product.cpu.abilist64`  and setup the environment
accordingly.

Closes #193.
Closes #206.
2016-04-10 20:20:17 -04:00
Oliver Schmidhauser
f21a7e1f74 Add ip command to termux-tools 2016-04-02 11:47:01 +02:00
Fredrik Fornwall
f88c28f160 Move ping6 from inetutils to instead use system
The ping6 binary needs setuid, so use the working system version
instead of installing a broken version for non-root users.

Closes https://github.com/termux/termux-app/issues/74
2016-04-01 06:55:30 -04:00
Fredrik Fornwall
a5421dbdf6 termux-tools: Search in more places for su 2016-03-28 13:07:00 -04:00
Fredrik Fornwall
391aa3d473 termux-tools: Update su script, add getprop 2016-03-23 13:11:21 -04:00
Fredrik Fornwall
43ca47ce46 termux-tools: New 0.20 version with a su script 2016-03-23 13:08:04 -04:00
Fredrik Fornwall
145d0fe3d6 termux-tools: Fix the am and pm wrapper 2016-03-21 22:42:11 -04:00
Fredrik Fornwall
dcad05c5aa termux-tools: Add dalvikvm wrapper 2016-03-21 21:34:26 -04:00
Fredrik Fornwall
8b352090bf termux-tools: Add ping and logcat wrappers 2016-03-21 20:08:39 -04:00
Fredrik Fornwall
346477db98 termux-fix-shebang: Only modify first line 2016-03-17 11:38:03 -04:00
Fredrik Fornwall
159214fa63 termux-tools: df wrapper resetting LD_LIBRARY_PATH 2015-12-29 18:55:19 -05:00
Fredrik Fornwall
561edf1bac termux-tools: Add termux-setup-storage 2015-12-27 19:53:30 -05:00
Fredrik Fornwall
d6d4e8feb0 termux-tools: reload-style -> reload-settings 2015-12-27 09:36:54 -05:00
Fredrik Fornwall
637f22d133 Remove DT_VERDEF and DT_VERDEFNUM elf entries
This fixes Android 6 problems (so closes #26).

It also rebuilds termux-elf-cleaner when needed
and bumps some build revisions for packages
needed updates to remove DT_VERDEF and DT_VERDEFNUM.
2015-10-13 15:48:40 -04:00
Fredrik Fornwall
c491280161 termux-tools: Avoid breaking symlinks with termux-fix-shebang 2015-09-08 18:36:35 -04:00
Fredrik Fornwall
da9d85783c termux-tools: Improve the chsh command 2015-08-11 20:38:18 -04:00
Fredrik Fornwall
8ab83e251b termux-tools: Add pm wrapper script to unset LD_LIBRARY_PATH 2015-07-26 13:44:05 -04:00
Fredrik Fornwall
91c3e293f7 termux-tools: Remove termux-user script 2015-07-23 18:07:56 -04:00
Fredrik Fornwall
3ca4ba784b termux-tools: Enable compiler warnings and fix them 2015-07-23 17:36:10 -04:00
Fredrik Fornwall
a0010caca3 Move termux-user from termux-api to termux-tools
Also add a am wrapper script which clears
LD_LIBRARY_PATH before calling /system/bin/am.
2015-07-18 05:42:44 -04:00
Fredrik Fornwall
59f0d218a6 Initial push 2015-06-13 01:03:31 +02:00