Termux-packages: End of android-5/6 (termux.net) support on 2020-01-01

Created on 27 Oct 2019  路  57Comments  路  Source: termux/termux-packages

Hi,

Following discussion in the latest development meeting it has been decided to drop android-5 support from 2020-01-01.
From that date there will no longer be any updates to the package repositories' android-5 branches.
An android-5 branch has also been created for termux-app, and the latest tagged version of the app (0.76) requires android 7.

Supporting the android-5 branches takes some time and effort from the maintainers. This time and effort would, arguably, be better spent making termux ready for android Q (and later). Some big changes are required to make termux usable for the latest android versions, as discussed in https://github.com/termux/termux-app/issues/1072.

If you are using android 5 or android 6 on your device then the only way to continue to get updates after 2020-01-01 would be to upgrade to android 7 or newer (if possible).

See also the discussion in https://github.com/termux/termux-packages/issues/2874 from when we first separated the repos into an android-5 branch and a master branch.


Archive of apps, packages and sources compatible with Android 5:
https://archive.org/details/termux-repositories-legacy

android-5.x android-6.x information

Most helpful comment

Last git versions for Termux and addons available for Android 5/6 devices:

Termux app: termux-app.apk.gz

API: termux-api.apk.gz

Boot: termux-boot.apk.gz

Float: termux-float.apk.gz

Styling: termux-styling.apk.gz

Task: termux-task.apk.gz

Widget: termux-widget.apk.gz

gunzip downloaded APKs before installation.

All 57 comments

I also should note that unstable and x11 repositories will be disabled at this point and packages will not be downloadable for Android 5.

Edit:
I have removed unstable-repo & x11-repo on Nov 28, so new users will not be able to use repositories which are going to be deleted soon. Everyone else who has these packages already installed (or backed up) will be able to use x11/unstable repositories until their EOL.

A to-do list of things that highly advisable to do before dropping Android 5 support completely:

List (probably incomplete) of issues that will not be fixed for Android 5-6:

Issues likely related to OS bugs/features:

Will I still be able to use youtube-dl and ffmpeg after 1.1.2020? If no, is there any other way you recommend? Thanks. Best Wishes. 馃樁

Will I still be able to use youtube-dl and ffmpeg after 1.1.2020?

Will be able as soon as you have backup of $PREFIX with necessary things installed or termux.net is not down.

How do I get the backup myself? Some course videos can only download with youtube-dl. 馃槗

cd $PREFIX/../
tar zcvf /sdcard/termux-prefix.tar.gz usr

https://wiki.termux.com/wiki/Backing_up_Termux

What will happen to the android-5 branch? Will it be archived or completely removed?

Branch will be available but packages may not.

Wound be fine to remove those bintray.com/grimler/ repos from android-5 official repo list before EOS. They aren't used anyway.

Why isn't there a stable option to continue providing bootstrap and android-5 main repo? Maybe on bintray, if hosting using termux.net is an issue?

Wound be fine to remove those bintray.com/grimler/ repos from android-5 official repo list before EOS. They aren't used anyway.

? The android-5 branches haven't been updated in a while but the packages work as far as I know. I don't see why removing the repos and decrease the amount of available packages would help anyone.

Why isn't there a stable option to continue providing bootstrap and android-5 main repo? Maybe on bintray, if hosting using termux.net is an issue?

Last month we hit the data traffic cap and the main repository was suspended. Moving the android-5 repo there as well would make the situation worse.
Anyways, I believe Fornwall will continue hosting the android-5 repo and bootstraps on termux.net, at least for a considerable time, but not update it.

if hosting using termux.net is an issue?

Nowhere was mentioned that hosting of termux.net is an issue. But support apparently it is.
Android 5 is old and I don't want to keep device on this OS version just for testing android-5 packages.

I don't see why removing the repos and decrease the amount of available packages would help anyone.
Last month we hit the data traffic cap and the main repository was suspended. Moving the android-5 repo there as well would make the situation worse.
[xeffyr] I also should note that unstable and x11 repositories will be disabled at this point and packages will not be downloadable for Android 5.

Consistent statement considering the two others? Not for me, honestly. But maybe I'm just not getting it.

Nowhere was mentioned that hosting of termux.net is an issue. But support apparently it is.
Branch will be available but packages may not.

The second statement is related to, what? I assumed termux.net. A clarification by Fredrik would help here greatly, I guess.

Consistent statement considering the two others?

Statement is consistent enough.

X11 and unstable repositories are not related to termux.net even though they provide packages for legacy Android. Removing them does not affect termux.net and they are not necessary for main Termux functionality.

These packages are hosted on my (non Termux org) account in order to make all resources available to main repo which is essential. Removing the X11 & unstable for legacy Android will be necessary to have stable hosting of these ones for Android 7+ and have room for some new packages.

For those who disagree with that, I will provide APT repository archives via https://archive.org/.

Sources will not disappear and will be available. Those who want to continue support Android 5 can use them and keep up to date. Though, last 3000 commits tell that not so many people are interested in supporting Android 5:


android-5 last 3000 commits stats (click to expand)

1490    [email protected]
889 [email protected]
248 [email protected]
93  [email protected]
59  [email protected]
34  [email protected]
30  [email protected]
16  [email protected]
13  [email protected]
12  [email protected]
11  [email protected]
7   [email protected]
6   [email protected]
6   [email protected]
4   [email protected]
4   [email protected]
3   [email protected]
3   [email protected]
3   [email protected]
3   [email protected]
3   [email protected]
3   [email protected]
3   [email protected]
2   [email protected]
2   [email protected]
2   [email protected]
2   [email protected]
2   [email protected]
2   [email protected]
2   [email protected]
2   [email protected]
2   [email protected]
2   [email protected]
2   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   erlanger@please_use_issues
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]
1   [email protected]

The second statement is related to, what?

It is an answer to https://github.com/termux/termux-packages/issues/4467#issuecomment-547782244.

A clarification by Fredrik would help here greatly, I guess.

Yes, termux.net is hosted by @fornwall so clarification will be nice on this topic.

cd $PREFIX/../
tar zcvf /sdcard/termux-prefix.tar.gz usr

https://wiki.termux.com/wiki/Backing_up_Termux

Yes I did. Thank you. Will the version you're talking about here still be, or has it been canceled? Termux is a really handy app.

https://reddit.com/r/termux/comments/dlpv1i/app_cannt_run_after_updating_to_version_076/f4uovos?context=3
馃樁

Still be, just wait until @fornwall will release it.

Thank you very much for your hard work. 馃槉

Last git versions for Termux and addons available for Android 5/6 devices:

Termux app: termux-app.apk.gz

API: termux-api.apk.gz

Boot: termux-boot.apk.gz

Float: termux-float.apk.gz

Styling: termux-styling.apk.gz

Task: termux-task.apk.gz

Widget: termux-widget.apk.gz

gunzip downloaded APKs before installation.

Last git versions for Termux and addons available for Android 5/6 devices:

Termux app: termux-app.apk.gz

API: termux-api.apk.gz

Boot: termux-boot.apk.gz

Styling: termux-styling.apk.gz

Task: termux-task.apk.gz

Widget: termux-widget.apk.gz

gunzip downloaded APKs before installation.

Thank you. I appreciate it.

I got the "You are using legacy termux environment. Packages are unmaintained and will not receive any updates." message on an Android 8 phone with a Termux installation that goes a long way back and spans several older devices; that might influence the state it was in.

IMHO it would be helpful to add a note that running termux-upgrade-repo will fix this situation, or linking to a website with more info. I arrived here by searching for the text, then reading a Reddit thread that linked to this ticket. That process could certainly be improved :)

Since no further changes expected, I have created snapshot from the available repositories compatible with Android 5.x-6.x and uploaded to Internet Archive:
https://archive.org/details/termux-repositories-legacy

What is available:

  • All latest git versions of Termux application and add-ons (debug builds): both apks and their sources.
  • Archive of termux.net and supplementary repositories like root-repo, x11-repo, etc. Contains apt repositoriy dumps (ready to be deployed as mirror), build scripts and package source cache.
  • Latest bootstrap archives.

Unlike termux.net, x11 & unstable repos will not continue to be available and their packages can be obtained only from https://archive.org/download/termux-repositories-legacy/termux-repositories-legacy-24.12.2019.tar.


https://termux.net is continuing to be available. You can use Termux on devices with old Android OS but without any updates and bugfixes.

From this time any issues related to legacy environment are no longer accepted and will be closed without solving.

Wait, termux-upgrade-repo will remove everything, won't it? If so, why can't I just clear all data and reopen the app/re-bootstrap? But I'd like to keep my data, is there a way please?

why can't I just clear all data and reopen the app/re-bootstrap?

Because termux-upgrade-repo will clear only $PREFIX (where packages installed), i.e. data in $HOME will not be touched and will create reinstallation script.

why can't I just clear all data and reopen the app/re-bootstrap?

Because termux-upgrade-repo will clear only $PREFIX (where packages installed), i.e. data in $HOME will not be touched and will create reinstallation script.

Oh, thank you! Actually I saw the $PREFIX variable in the script but mistakenly thought that HOME is in PREFIX (home in usr... lol), my bad...

It's nice that the repos have been archived by xeffyr (https://github.com/termux/termux-packages/issues/4467#issuecomment-569526418)
but how can they be used now for Android 6.0 ???

The application can be installed in Android 6.0 but then the download and installation of the bootstrap packages failed. :-((
So this is unusable and Termux is dead for Android < 7.0

It is understandable and acceptable that "Termux on devices with old Android OS without any updates and bugfixes." but please let this older versions be installable and usable !
Thank you very much for your work.

So this is unusable and Termux is dead for Android < 7.0

It works, error likely on your side. Make sure that your Android OS is not trying to install application on external storage and you didn't messed anything with root.

but how can they be used now for Android 6.0 ???

To use repo archives you need to download (~7 GB) and extract them to directory where web server is running or you can install packages with dpkg manually.

It works, error likely on your side. Make sure that your Android OS is not trying to install application on external storage and you didn't messed anything with root.

The Termux-App has (only) 613 KB and the new one about 63 MB.
So i think that the bootstrap packages maybe included in the actual version but not in the last version for Android 6.

How can i manually install the bootstrap packages?

To use repo archives you need to download (~7 GB) and extract them to directory where web server is running or you can install packages with dpkg manually.

Sorry - that will not work.
After installing the Basic App and starting it there comes the message:

"Unable to install

Termux was unable to install the bootstrap packages.

Check your network connection and try again.

Abort Try Again"

There is no chance to continue !?

The Termux-App has (only) 613 KB and the new one about 63 MB.

Embedded bootstraps are not supported on Android 5. It downloads them from
https://termux.net/bootstrap/new/

There is no chance to continue !?

Depends on your device, network/isp, etc...

Embedded bootstraps are not supported on Android 5. It downloads them from http://termux.net/bootstrap/new/ instead.

There is no chance to continue !?

Depends on your device, network/isp, etc...

No - sorry - the sources are not existant any more:

404 Not Found
nginx/1.14.0 (Ubuntu)

Really ?
Are you sure that URL is https://termux.net/bootstrap/new/ ? I just checked, everything here.

Screenshot_2020-01-05_19-37-58

Really ?
Are you sure that URL is https://termux.net/bootstrap/new/ ? I just checked, everything here.
...bootstrap exists but bootstraps not ;-)

bootstraps without the s is correct.

So what is the reason that the download fails?
I can only say that the internet connections works for every other app.

Calling the Link in a browser on the mobile works.
So the Termux-App must use an other URL.

So what is the reason that the download fails?

If you think your internet is ok (& not tampered), then only:

  • Android forces app to be installed on external storage on some devices (known issue btw).
  • You messed up permissions in /data/data/* and Android failed to recover them.

App uses correct URL, https://github.com/termux/termux-app/blob/android-5/app/src/main/java/com/termux/app/TermuxInstaller.java#L173. Last git versions for Android 5 (posted in https://github.com/termux/termux-packages/issues/4467#issuecomment-568266958) are tested and work well.

I believe that the code is well and correct.

I never did something manually in /data/data*

Hmm - can i extract the archive manually to the correct place?
(zip could be downloaded in browser on the mobile.)
The mobile is rooted.
/data/data/com.termux has only folders that are empty.

On the SD there seems no directory for termux in /storage/.../Android/data

First go to android settings and check if application is installed to internal storage.

I.e. ensure that you are not running into:

First go to android settings and check if application is installed to internal storage.

I.e. ensure that you are not running into:

* [termux/termux-app#1023](https://github.com/termux/termux-app/issues/1023)

* [termux/termux-app#761](https://github.com/termux/termux-app/issues/761)

It is installed internal with 4.71 MB.
I give manually access to the memory without success.

Maybe some special SELinux or something else?

Last thing you can try is Termux app v0.79 with embedded bootstraps (git debug version).
https://linx.li/termux-v079-offline-bootstraps.apk

O.K.
I deinstalled the App, downloaded and installed this one with offline bootstraps.
This one works!
Thank you for your time and help!

Google has really done everything to make the usage of Linux nearly unpossible in Android.

I am trying to install https://github.com/EXALAB/AnLinux-App (it is basing on Termux)

Now i get the Error
E: The repository 'https://termux.net stable Release' does not have a Release file.

But it is there http://termux.net/dists/stable/Release

Something tampers your internet connection. For same reason it have failed to download bootstraps before.

Can you try to execute

curl -L https://termux.net/dists/stable/Release

- it should print text starting with

Codename: stable
Version: 1
Architectures: all arm i686 aarch64 x86_64
Description: Main repository
Suite: stable
Date: Mon, 23 Dec 2019 22:46:08 UTC

Yes - download with curl works complete.

But there was an additional line after the Error message as i see now:
N: Updating from such a repository can't be done securely, and is therefore disabled by default.

This is the (not understandable) reason in this case.

N: Updating from such a repository can't be done securely, and is therefore disabled by default.

This is not a reason, apt just failed to download release file and verify it.

Few more things you can try:

  • Edit $PREFIX/etc/sources.list and change https to http.
  • Try VPN.

I have edited /data/data/com.termux/files/usr/etc/apt/sources.list to http
Yes - that works! Thanks a lot!

The AnLinux install process could be started and finished too.
But at least Termux seems to be all i need.
Is there maybe an alternate way to get Termux direct installed with root privileges?
I think i must have a closer look at https://github.com/termux/termux-root-packages
and https://proot-me.github.io/

Is it possible to connect over WLAN with an Linux-PC to an Termux-Shell?
(When i use SSHelper i get remote an shell on the mobile, but not within the Termux environment.)

Besides - this is the Android running:
https://forum.xda-developers.com/galaxy-s5/development/rom-ane4-kitkat-4-4-2-multi-csc-t2813628
Maybe you have an idea what have been modified that causes the problems.
I can only say that this ROM is working good for all other cases of normal use with the S5.

Is it possible to connect over WLAN with an Linux-PC to an Termux-Shell?

SSH or Telnet, pick what is the best for you.

Is it possible to connect over WLAN with an Linux-PC to an Termux-Shell?

SSH or Telnet, pick what is the best for you.

So i have to install and configure an SSH-Server under Termux?

Where can i find some basic concepts ?
For example the use of X11 is not really clear.

The usage of the archived packages is now clear.
https://archive.org/download/termux-repositories-legacy/termux-repositories-legacy-24.12.2019.tar
Unpack to an own Webserver and edit the path in sources.list to it. Correct?

But the bootstrap-archives cannot be used, because the URL in the APP is fix. Correct?
https://archive.org/download/termux-repositories-legacy/bootstrap-archives-legacy-24.12.2019.tar

So i have to install and configure an SSH-Server under Termux?
Where can i find some basic concepts ?
For example the use of X11 is not really clear.

Why not to check Termux Wiki ?

Unpack to an own Webserver and edit the path in sources.list to it. Correct?
But the bootstrap-archives cannot be used, because the URL in the APP is fix. Correct?

Both are correct.

For example the use of X11 is not really clear.

Why not to check Termux Wiki ?

Found it now:

It seems that the Wiki is not editable. So i can't add something.

With the current installation "pkg install x11-repo" does not work.
How can this be added manually?
(I could get X11 running within Debian in AnLinux, but this cost really many additional internal Flash).

Can you tell me which script / executable is called by the main App to launch the Termux shell / environment ?

And a really wicked question: Is there an old version of Termux for Android 4 ?

It seems that the Wiki is not editable. So i can't add something.

You need to make an account first, we've had problems with spam.

With the current installation "pkg install x11-repo" does not work.
How can this be added manually?

Have a look at the previous x11-repo script and mimic what it did: https://github.com/termux/termux-packages/blob/f6e6addf36bd995e98d13733b8bc83ac9615b801/packages/x11-repo/build.sh#L12

Can you tell me which script / executable is called by the main App to launch the Termux shell / environment ?

Not sure what you mean? bash is launched for a bash shell.

And a really wicked question: Is there an old version of Termux for Android 4 ?

No. Packages for android 4 is incompatible with android >= 5 (search the github issues for more information as this has been asked/requested many times)

With the current installation "pkg install x11-repo" does not work.
How can this be added manually?

x11-repo is no longer available for Android 5/6. I provide only packages compiled for "current" Android API level, i.e. 24 or Android 7.0.

If want packages working on Android 5, get them from https://archive.org/download/termux-repositories-legacy/termux-repositories-legacy-24.12.2019.tar.

Can you tell me which script / executable is called by the main App to launch the Termux shell / environment ?

Not sure what you mean? bash is launched for a bash shell.

Yes - the idea is that the Termux-App is (of course) calling the bash.
But how it is called that the environment of Termux can be used in the shell?
I am asking because this call can be done within an other bash.

No. Packages for android 4 is incompatible with android >= 5 (search the github issues for more information as this has been asked/requested many times)

I didn't know if there is an backup of Termux for Android 4.0 too ?
That was the idea behind this question.

If want packages working on Android 5, get them from https://archive.org/download/termux-repositories-legacy/termux-repositories-legacy-24.12.2019.tar.

O.K. It's not so easy to use older Android's. The versions differ really hard.

But how it is called that the environment of Termux can be used in the shell?
I am asking because this call can be done within an other bash.

Linux has a system call execve which allows to execute binaries :)
Termux is only calls it and then just redirects stdin/stdout/stderr. Basically how all terminal emulators work.

I didn't know if there is an backup of Termux for Android 4.0 too ?

Termux packages never were compiled for Android 4.0. There a much more patches needed than for Android 5.

Linux has a system call execve which allows to execute binaries :)
Termux is only calls it and then just redirects stdin/stdout/stderr. Basically how all terminal emulators work.

Yes - and how the bash is called with what kind of parameters?

Termux packages never were compiled for Android 4.0. There a much more patches needed than for Android 5.

O.K. Thanks for the info.

I'm locking this issue due to much offtopic.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

loveablefellow007 picture loveablefellow007  路  3Comments

am11 picture am11  路  3Comments

bbtdev picture bbtdev  路  3Comments

reggi picture reggi  路  4Comments

neitsab picture neitsab  路  3Comments