Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable support for android 5/6 for termux-app #2740

Merged
merged 19 commits into from
May 23, 2022
Merged

Conversation

agnostic-apollo
Copy link
Member

@agnostic-apollo agnostic-apollo commented Apr 26, 2022

Instructions for installing Termux on Android 5/6 are available here.


Despite android 5/6 support officially ending on 2020-01-01, we are re-enabling support temporarily for android 5/6 for v0.119.0+. There are mainly two reasons for it, firstly, the repos provided in old APKs that were hosted on termux.net (#2651) and bintray(#2067) are gone now, creating issues for users who are still on old android versions. Secondly, old versions of termux-app, termux-tasker and termux-widget were affected by critical privilege escalation vulnerabilities as detailed in https://termux.github.io/general/2022/02/15/termux-apps-vulnerability-disclosures.html and so need to be patched.

The termux-app did not require too many changes to enable android 5/6 support, but there is no guarantee how long it would be supported. It could be disabled even after a single version if new library dependencies require it. Moreover, at least I will not spend lot of time in fixing any new or old bugs that only affect android 5/6, users would have to send pull requests for fixes.

Support of TERMUX_PACKAGE_MANAGER to build APKs with different package manager configurations has been enabled via 105a19a in build.gradle. This will allow apk packaging system of updated-flavor branch to be supported to, possibly named apk-android-7, since it requires different bootstrap and build.gradle tasks. The pacman format could be supported too @Maxython.

The apk version name and file name will contain the package manager tag so that users/devs can know which variant is being used. Currently, apt-android-7 and apt-android-5 will be built for by the workflows.

Users on android 5/6 must install apt-android-5 variants and users on android 7+ should install apt-android-7 variants. You can grab APKs from https://github.com/termux/termux-app/actions/runs/2237286563. Make sure to uninstall any already installed termux or plugin app before installing new APK. The apt-android-5 variants will only be released on Github and not on F-Droid.

Note that bootstrap and all the packages for apt-android-5 would still be from two years ago and on old versions and will not be updated by me and possibly other devs as well, other than minor updates to some packages, users can send pull requests to https://github.com/termux/termux-packages/tree/android-5 branch.

An updated bootstrap for apt-android-5 will be added later, once termux/termux-packages#10330 is merged. Current APKs are based on the bootstrap in termux-v0.79-offline-bootstraps.apk with apt repo and termux-keyring fixes.

@Grimler91 science and game repos will need to be signed with your new key. The bootstrap_archives.yml will have to append the apt-android-7 to $new_tag and apt-android-5 for the new android-5 bootstrap, check updated releases at https://github.com/termux/termux-packages/releases/tag/bootstrap-2022.04.22-r1%2Bapt-android-7 and https://github.com/termux/termux-packages/releases/tag/bootstrap-2022.04.25-r1%2Bapt-android-5

@Maxython
Copy link
Member

One question. Need a separate compilation of packages for android 5/6?

@Grimler91
Copy link
Member

One question. Need a separate compilation of packages for android 5/6?

Yes, android-5/6 packages need to be compiled from the android-5 branch, and that would probably require some work thanks to dead links (since branch is unmaintained for two years now)

@agnostic-apollo
Copy link
Member Author

So I have made some changes to the design, the TERMUX_PACKAGE_MANAGER has been replaced with TERMUX_PACKAGE_VARIANT in build.gradle and workflows. Moreover, instead of the variant being added to version name, its added as a static variable to the app. The TERMUX_APP_PACKAGE_MANAGER and TERMUX_APP_PACKAGE_VARIANT will be exported by the app and they will also be added in Termux app info in about page and reports, allowing users and devs to know which variant is currently installed. Check b950efe for details.

Support for pacman can be added by getting bootstrap releases to be published on termux-pacman. I need to update the bootstrap scripts and workflows. Locally built bootstraps shouldn't be used for releases. I will look into adding support for package_variant to be overridden by github repo enviroment, so that forks don't need to modify workflows.

You can get latest apks from https://github.com/termux/termux-app/actions/runs/2237286563

Also note that if you bump down minSdkVersion from 24 to 21, make sure to clean build in android studio, since I was getting dlopen failed: empty/missing DT_HASH in some.so (built with --hash-style=gnu?) errors.

@agnostic-apollo
Copy link
Member Author

Also got termux apt-android-5 variant running on my android 5.1 car player. From now on, people better not mess with me on the road, or else they will have to suffer at the hands of my hax skills!

Grimler has also tested on an android 5 tablet. Should also be tested on Android 6 as well if someone has it, may be able do it myself next week.

@Biswa96
Copy link
Member

Biswa96 commented Apr 28, 2022

I have android 6.0.1 but not the stock Android version. I can test some programs but not familiar with internals yet.

@agnostic-apollo
Copy link
Member Author

Need to test the app basically and see if any issues or crashes are there. The packages are not really being changed and have been used by users for a long time.

@RalfWerner
Copy link

I did a few more checks on Android 12-AVD with your last updates A=android-7 (self-build). In addition to the reorganization, there is now one source file more (297 total) and *.apk is slightly larger. The B=android-5 (your build) version is 40MB smaller. The two *.apk can be installed alternately as often as possible.

If I start with A (bootstrap), B can also be installed and start ($PREFIX remains) only $nl (../../lib) has to be replaced.
The versionName of A is again only 0.118.0 (without A) and at B is 0.118.0+20f4300. termux-reset is not included in B so I used rm -rf ../usr to repeat bootstrap (1000 files less in $PREFIX). Then only Termux Failsafe can be started. Or I get:

CANNOT LINK EXECUTABLE "cat": library "libandroid-support.so" not found: needed by main executable
CANNOT LINK EXECUTABLE "/data/data/com.termux/files/usr/bin/bash": library "libandroid-support.so" not found: needed by main executable

@2096779623
Copy link
Member

我使用您的最新更新A = android-7(self-build)对 Android 12-AVD 进行了更多检查。除了重组之外,现在多了一个源文件(总共 297 个),而且*.apk稍微大了一点。B = (您的android-5构建)版本小 40MB。两者*.apk可以尽可能多地交替安装。

如果我从A (bootstrap) 开始,也可以安装B ,_并且_只需要替换start ($PREFIX仍然) $nl( )。A 的 versionName再次只是(没有A),而B 是。不包含在B中,所以我曾经重复引导程序(在 1000 个文件中少)。然后只能启动 Termux Failsafe。或者我得到:../../lib0.118.0******** 0.118.0+20f4300``termux-resetrm -rf ../usr``$PREFIX

CANNOT LINK EXECUTABLE "cat": library "libandroid-support.so" not found: needed by main executable
CANNOT LINK EXECUTABLE "/data/data/com.termux/files/usr/bin/bash": library "libandroid-support.so" not found: needed by main executable

Is the libandroid-support package missing or it doesn't work?

@Grimler91
Copy link
Member

CANNOT LINK EXECUTABLE "cat": library "libandroid-support.so" not found: needed by main executable
CANNOT LINK EXECUTABLE "/data/data/com.termux/files/usr/bin/bash": library "libandroid-support.so" not found: needed by main executable

libandroid-support is included in android-5 bootstraps (assuming bootstrap-2022.04.25-r1-apt-android-5 were used).

Best guess would be that LD_LIBRARY_PATH is not set (android-5 requires it to find the libraries). Maybe installing 0.118.0+20f4300 over 0.118.0 caused it, if that is what the sentence

If I start with A (bootstrap), B can also be installed and start ($PREFIX remains) only $nl (../../lib) has to be replaced.

means

@RalfWerner
Copy link

libandroid-support is included in android-5 ... LD_LIBRARY_PATH is not set

right is unset in A & B! See files after bootstrap:

~]$ ls -l $nl/*.so $nl/../../b* ../usr/lib/l*-supp* # A
-rw------- 1 u0_a147 u0_a147     21960 Apr 28 12:10 ../usr/lib/libandroid-support.so
-rw-r--r-- 1 system  system  111668953 Apr 28 12:30 /data/data/com.termux/lib/../../base.apk
-rwxr-xr-x 1 system  system     915856 Jan  1  1981 /data/data/com.termux/lib/liblocal-socket.so
-rwxr-xr-x 1 system  system   27966640 Jan  1  1981 /data/data/com.termux/lib/libtermux-bootstrap.so
-rwxr-xr-x 1 system  system       9216 Jan  1  1981 /data/data/com.termux/lib/libtermux.so
[~]$ ls -l $nl/*.so $nl/../../b* ../usr/lib/l*-supp* # B
-rw------- 1 u0_a147 u0_a147    152656 2022-04-28 12:34 ../usr/lib/libandroid-support.so
-rw-r--r-- 1 system  system   82732122 Apr 28 12:19 /data/data/com.termux/lib/../../base.apk
-rwxr-xr-x 1 system  system     932304 Jan  1  1981 /data/data/com.termux/lib/liblocal-socket.so
-rwxr-xr-x 1 system  system   20045768 Jan  1  1981 /data/data/com.termux/lib/libtermux-bootstrap.so
-rwxr-xr-x 1 system  system       9464 Jan  1  1981 /data/data/com.termux/lib/libtermux.so

Can android-5/sdkVersion:=21 in Android 12 may not work? I examine the *.apk with $d and at B this results:

d=`aapt d badging $apk|head -n 4`; echo $d
package: name='com.termux' versionCode='118' versionName='0.118.0+20f4300' compileSdkVersion='30' compileSdkVersionCodename='11' install-location:'internalOnly' sdkVersion:'21' targetSdkVersion:'28'

Shouldn't targetSdkVersion be 21?

@agnostic-apollo
Copy link
Member Author

agnostic-apollo commented Apr 28, 2022

Check 4e08f76 above (nobody reads commits?). LD_LIBRARY_PATH is only exported if current os is android 5 or 6 regardless of variant installed. I will enable exporting it for apt-android-5 variant but there is no guarantee that binaries compiled 2 years ago will work on recent android versions like 12 or higher since there likely would have been patches. You are not supposed to mix variants or use apt-android-5 variant on android 7+.

And targetSdkVersion is 28, only minSdkVersion is 21.

@agnostic-apollo
Copy link
Member Author

Thanks @Grimler91 for work on bootstraps.

I have tested the apt-android-5 variant with latest bootstrap and it is working fine for main, game, science and root repo to update packages. However, following issues occurred, other packages may be broken too.

Another issue is that terminal scrolls to bottom on selecting text on android 5, the copy menu shows at the top on android 5 and possibly the cause of the issue, can be looked into in future.

The above LD_LIBRARY_PATH issue has been solved as well and apt-android-5 variant is working on android 12 avd. But again, don't use it on Android 7+.

The termux-am is working on android 5 as well.

Considering that no other issues has been raised, will merge this soon to continue work on updated-flavor merging (tapm-android-7 variant).

$ apt install chroot
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  apt bash coreutils dos2unix dpkg findutils gawk
  gnucap grep inetutils libandroid-support nano
  readline termux-tools
The following NEW packages will be installed:
  chroot
WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you are doing!
  apt coreutils (due to apt) dpkg (due to apt)
  findutils (due to apt) grep (due to apt) bash
  libandroid-support (due to bash)
  readline (due to bash) termux-tools (due to bash)
  gawk
0 upgraded, 1 newly installed, 14 to remove and 0 not upgraded.
Need to get 39.9 kB of archives.
After this operation, 21.7 MB disk space will be freed.
You are about to do something potentially harmful.
To continue type in the phrase 'Yes, do as I say!'
 ?] no
Abort.

$ apt show chroot
Package: chroot
Version: 8.31-1
Maintainer: Fredrik Fornwall @fornwall
Installed-Size: 143 kB
Homepage: https://www.gnu.org/software/coreutils/
Download-Size: 39.9 kB
APT-Sources: https://termux.org/termux-root-packages-21-bin root/stable x86_64 Packages
Description: Chroot utility from the Coreutils

$ apt show coreutils
Package: coreutils
Version: 8.31-5
Essential: yes
Maintainer: Fredrik Fornwall @fornwall
Installed-Size: 2560 kB
Depends: libandroid-support, libiconv
Breaks: chroot, busybox (<< 1.30.1-4)
Replaces: chroot, busybox (<< 1.30.1-4)
Homepage: https://www.gnu.org/software/coreutils/
Download-Size: 750 kB
APT-Manual-Installed: yes
APT-Sources: https://packages-cf.termux.org/termux-main-21 stable/main x86_64 Packages
Description: Basic file, shell and text manipulation utilities from the GNU project


$ apt install hwinfo
$ hwinfo
CANNOT LINK EXECUTABLE: could not load library "libhd.so.21" needed by "hwinfo"; caused by cannot locate symbol "iopl" referenced by "libhd.so.21"...

@Grimler91
Copy link
Member

Another issue is that terminal scrolls to bottom on selecting text on android 5, the copy menu shows at the top on android 5 and possibly the cause of the issue, can be looked into in future.

Another issue I had (on the stock samsung rom I tested with) is that it is pretty hard to write due to some issue similar to #686, and the enforce-char-based-input = true didn't fix it. I will compare behaviour with termux-v0.79-offline-bootstraps.apk and make a proper bug report if it seems to be a new issue.

However, following issues occurred,

Thanks, first error seem to be expected, coreutils provides chroot on the android-5 branch after commit termux/termux-packages@36968e7. I can remove chroot from the root repo to prevent that type of error.

Hwinfo also needs to be rebuilt, so I'll do that (and update it). Don't think there should be any need to re-generate the bootstraps though

@RalfWerner
Copy link

Check ee537ef above (nobody reads commits?). LD_LIBRARY_PATH is only exported if current os is android 5 or 6 regardless of variant installed. I will enable exporting it for apt-android-5

Sorry @agnostic-apollo that I haven't read all your commits. With the last update I can use theandroid-5version. The *.apk has become some MB smaller and $LD_LIBRARY_PATH is also set in Android 12.
I do not plan to switch to this version, but I want to find out what is still possible. I first tried pkg in x11 repo. Unfortunately without success as well as android-tools that I use as a workaround for $nl investigation.

[~]$ ls -l $nl $nl/../../b* $nl/*p.so; echo $d
lrwxrwxrwx 1 u0_a147 u0_a147       98 Apr 28 20:58 /data/data/com.termux/lib -> '/data/app/~~jEiwVJ7JDGxT4kG-SeCttQ==/com.termux-VxSMhL3ZtPlE1M0AASvuew==/lib/x86_64'
-rw-r--r-- 1 system  system  78012066 Apr 28 20:24 /data/data/com.termux/lib/../../base.apk
-rwxr-xr-x 1 system  system  18716856 Jan  1  1981 /data/data/com.termux/lib/libtermux-bootstrap.so
package: name='com.termux' versionCode='118' versionName='0.118.0+7d03096' platformBuildVersionName='' install-location:'internalOnly' sdkVersion:'21' targetSdkVersion:'28'

You had promised to enable this ($nl) via a variable is that already included in the current versions?

@agnostic-apollo
Copy link
Member Author

You had promised to enable this ($nl) via a variable is that already included in the current versions?

Not yet. Will do it. Also have to reimplement termux environment handling in cached way and export other stuff.

@RalfWerner
Copy link

Not yet. Will do it

This is a good news! I made a "ELF check" for the two current version (5/7). Result: 242/293 of 2037/3054 files must be stored in $nl to work with targetSdkVersion=29.

@Grimler91
Copy link
Member

@agnostic-apollo I'm unable to reproduce the hwinfo on arm, so perhaps x86_64 specific. Could you try this updated hwinfo deb to see if it works? (zipped to allow upload to github)
hwinfo_21.81_x86_64.deb.zip

@agnostic-apollo
Copy link
Member Author

Could you try this updated hwinfo deb to see if it works? (zipped to allow upload to github)

Same error. The iopl symbol is not defined by library and is a syscall.

nm -D $PREFIX/lib/libhd.so.21.81 | grep iopl
                 U iopl

This call is mostly for the i386 architecture. On many other architectures it does not exist or will always return an error.

http://manpages.ubuntu.com/manpages/trusty/man2/iopl.2.html

https://forums.raspberrypi.com/viewtopic.php?t=15587

Same error on android 12 avd x86_64

@ChiefMikeK
Copy link

I would like to see a collection created named something like Termux_5-6 pkg+apk with indidual packages listed added there-in vice how bot(s) currently operate!

Internet Archive: termux

@agnostic-apollo
Copy link
Member Author

@ChiefMikeK
Copy link

https://archive.org/download/termux-repositories-legacy

Thanx I had not realised the Tarballs could be opened without downloading 7-8Gb of data.

  • But if each pkg were separate then they could be indexed and searchable.
  • Then be added to a software sub-collection easly identifiable with short title ie. Termux(5/6) Packages

:shipit: Collections – A Basic Guide – Internet Archive Help Center

agnostic-apollo added a commit to agnostic-apollo/termux-packages that referenced this pull request May 22, 2022
…stead of TERMUX_MAIN_PACKAGE_FORMAT

Make changes as per new design implemented in termux/termux-app@b950efec and termux/termux-app#2740

The package build and termux-tools scripts use current package manager for custom logic. The `termux-tools/termux-setup-package-manager` script has been added that will now be used to provide backward compatibility for termux-app `< 0.119.0` (when its released) and validate the package manager. It will also ensure the variable in not unset to prevent `unbound variable` errors if `set -u` is being used by calling scripts.

Closes termux#10782
agnostic-apollo added a commit to agnostic-apollo/termux-packages that referenced this pull request May 22, 2022
…stead of TERMUX_MAIN_PACKAGE_FORMAT

Make changes as per new design implemented in termux/termux-app@b950efec and termux/termux-app#2740

The package build and termux-tools scripts use current package manager for custom logic. The `termux-tools/termux-setup-package-manager` script has been added that will now be used to provide backward compatibility for termux-app `< 0.119.0` (when its released) and validate the package manager. It will also ensure the variable in not unset to prevent `unbound variable` errors if `set -u` is being used by calling scripts.

Closes termux#10782
agnostic-apollo added a commit to agnostic-apollo/termux-packages that referenced this pull request May 22, 2022
…stead of TERMUX_MAIN_PACKAGE_FORMAT

Make changes as per new design implemented in termux/termux-app@b950efec and termux/termux-app#2740

The package build and termux-tools scripts use current package manager for custom logic. The `termux-tools/termux-setup-package-manager` script has been added that will now be used to provide backward compatibility for termux-app `< 0.119.0` (when its released) and validate the package manager. It will also ensure the variable in not unset to prevent `unbound variable` errors if `set -u` is being used by calling scripts.

Closes termux#10782
agnostic-apollo added a commit to agnostic-apollo/termux-packages that referenced this pull request May 23, 2022
…stead of TERMUX_MAIN_PACKAGE_FORMAT

Make changes as per new design implemented in termux/termux-app@b950efec and termux/termux-app#2740

The package build and termux-tools scripts use current package manager for custom logic. The `termux-tools/termux-setup-package-manager` script has been added that will now be used to provide backward compatibility for termux-app `< 0.119.0` (when its released) and validate the package manager. It will also ensure the variable in not unset to prevent `unbound variable` errors if `set -u` is being used by calling scripts.

Closes termux#10782
@2096779623
Copy link
Member

2096779623 commented May 29, 2022

We used tuna's osdn mirror to synchronize the source files of Termux that supports Android 5 and 6. For reference, this article can be used: https://blog.070527.xyz/2022/05/21/termux-old/

Did not sync to https://packages-cf.termux.org/termux-main-21?
https://packages-cf.termux.org/termux-main-21 currently does not seem to have a sync method.

@Grimler91 When will sync to https://packages-cf.termux.org/termux-main-21?
Or merge into packages-cf.termux.org?

@2096779623
Copy link
Member

2096779623 commented May 29, 2022

I did basic testing on Android 6 as well a while back and was working fine. Merged for now, any further changes can be done in master branch or in new pull requests.

There is one more place to modify the termux wiki:

System requirements:

@Grimler91
Copy link
Member

Did not sync to https://packages-cf.termux.org/termux-main-21? https://packages-cf.termux.org/termux-main-21 currently does not seem to have a sync method.

@Grimler91 When will sync to https://packages-cf.termux.org/termux-main-21? Or merge into packages-cf.termux.org?

Not sure I understand the question. https://packages.termux.org/termux-main-21/ and https://packages-cf.termux.org/termux-main-21/ exists and are browseable online, you should be able to mirror it with tools like apt-mirror or apt-ftparchive, and perhaps aptly (repo is not created by aptly though).

Trailing / in https://packages.termux.org/termux-main-21/ used to be mandatory for browsing the repos, but I changed so that it is optional now

@2096779623
Copy link
Member

Not sure I understand the question.

When can rsync be used?

@Grimler91
Copy link
Member

Grimler91 commented May 29, 2022

Rsync is currently only available from my mirror at grimler.se and not from fosshost. I haven't synced the 5.5 gb termux-main-21 repo to my mirror due to disk space constraints, and am not planning to do so

@agnostic-apollo
Copy link
Member Author

@RalfWerner Check TERMUX_APP__APK_PATH in afc06cf

You can grab latest github build from https://github.com/termux/termux-app/actions/runs/2509680073

https://github.com/termux/termux-app#Installation

@RalfWerner
Copy link

Thank you very much! A check on my Samsung was successful and workarounds on Pixel5-AVD are superfluous.

Your master merge from A=23.May contain 2 additional sources (299) and the APK is 2MB larger than the version in front of it. The update today (B=16.June) contains a further 14 sources. My selfbuild version and yours are identical but with bugs:

  • Both do not make a bootstrap at the virgin start. Subsequent installation of A does not help but revers (A+B) works.
    With rm -rf $PREFIX and restart also does not make the bootstrap when B is reinstalled before the restart.
  • The pkg update has a problem with x11-repo, since here termux.org is still used.
  • I've insert the $nl exploration in the OTS=One-Touch_Start script. When ssh is used, $TERMUX_APP__APK_PATH is not in env but on device it works.

I continue the checks. Do you interested in details of OTS?

@agnostic-apollo
Copy link
Member Author

Thanks. Check latest build for bootstrap fix.

ssh currently only keeps TERMUX_VERSION variable and some other variables, but technically that doesn't make sense since target device if also a termux will have its own different variable values/versions. Better way likely would be to source $PREFIX/etc/termux/termux.env added in 03e1d14 that exists on target device for correct environment instead of keeping variables from source device.

@2096779623 2096779623 mentioned this pull request Jun 18, 2022
@RalfWerner
Copy link

Thanks @agnostic-apollo. Bootstrap with self-build version (+241-11 loc mods in 7 of 313 soures) is Ok.
*/termux.env is new in current app and changend after install also without bootstrap. Most devices already have nl=../../lib with correct $nll-symlink (apk=$TERMUX_APP__APK_PATH nll=$(dirname $apk)/lib/*) but not at my Samsung and possibly at other devices too.

In these cases is $nl a brocken link ([ ! -d $nl ]) and have to replaced with $nll (done in OTS).
When $nl would be always correct, is apk=$nl/../../base.apk also correct and nothing has to be done.
When I use ssh I get apk with my workarounds or ln -s ../usr u;. u/etc/termux/termux.env how you suggest:)

I check with termux:float (you plan to integrates in termux). There is still no boostrap after new installation ortermux-reset Here is probably not the appropriate place to discuss - better is here

agnostic-apollo added a commit to termux/termux-tools that referenced this pull request Aug 1, 2022
…stead of TERMUX_MAIN_PACKAGE_FORMAT

Make changes as per new design implemented in termux/termux-app@b950efec and termux/termux-app#2740

The package build and termux-tools scripts use current package manager for custom logic. The `termux-tools/termux-setup-package-manager` script has been added that will now be used to provide backward compatibility for termux-app `< 0.119.0` (when its released) and validate the package manager. It will also ensure the variable in not unset to prevent `unbound variable` errors if `set -u` is being used by calling scripts.

Closes #10782
agnostic-apollo added a commit to termux/termux-tools that referenced this pull request Aug 1, 2022
…stead of TERMUX_MAIN_PACKAGE_FORMAT

Make changes as per new design implemented in termux/termux-app@b950efec and termux/termux-app#2740

The package build and termux-tools scripts use current package manager for custom logic. The `termux-tools/termux-setup-package-manager` script has been added that will now be used to provide backward compatibility for termux-app `< 0.119.0` (when its released) and validate the package manager. It will also ensure the variable in not unset to prevent `unbound variable` errors if `set -u` is being used by calling scripts.

Closes #10782
Grimler91 pushed a commit to termux/termux-tools that referenced this pull request Aug 2, 2022
…stead of TERMUX_MAIN_PACKAGE_FORMAT

Make changes as per new design implemented in termux/termux-app@b950efec and termux/termux-app#2740

The package build and termux-tools scripts use current package manager for custom logic. The `termux-tools/termux-setup-package-manager` script has been added that will now be used to provide backward compatibility for termux-app `< 0.119.0` (when its released) and validate the package manager. It will also ensure the variable in not unset to prevent `unbound variable` errors if `set -u` is being used by calling scripts.

Closes #10782
agnostic-apollo added a commit to termux/termux-tasker that referenced this pull request Aug 23, 2022
@agnostic-apollo
Copy link
Member Author

@thunder-coding

This comment was marked as off-topic.

@agnostic-apollo

This comment was marked as off-topic.

@khurshid-alam
Copy link

khurshid-alam commented Jul 30, 2023

@agnostic-apollo I installed Tasker for android 5 from ci build ( installed universal apk).

But now termux-tasker-4 from fdroid doesn't work. When I tried to install, it installs, then it says app not installed ?

@khurshid-alam
Copy link

@agnostic-apollo I can't download from above link for termux-tasker builds. Tried the latest one. It says artfact expired.

image

@agnostic-apollo
Copy link
Member Author

@schmorp
Copy link

schmorp commented Aug 9, 2023

Is there a working download location for the apks? All I can find is links that say "expired" and can't be downloaded from.

@sylirre
Copy link
Member

sylirre commented Aug 9, 2023

Use newer GitHub Actions run: https://github.com/termux/termux-app/actions/runs/5371492529. Not released APKs available only via GitHub Actions.

Or wait N weeks until release will be published.

@Kovaelin
Copy link

The links to the Android 5/6 APKs lead to a 404 page.

@OwenThePurpleCat
Copy link

The links to the Android 5/6 APKs lead to a 404 page.

Same

@truboxl
Copy link

truboxl commented Mar 5, 2024

https://github.com/termux/termux-app/actions?query=is%3Asuccess+event%3Apush

It's impossible to keep giving direct links that will be outdated in a few months
Please do your own diligence and use filters

@Ytsixx

This comment was marked as resolved.

@agnostic-apollo

This comment was marked as resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet