termux / termux-packages

A package build system for Termux.
https://termux.dev
Other
13.02k stars 2.99k forks source link

Apt update fails - Clearsigned file isn't valid, got 'NOSPLIT' #8138

Closed unman closed 1 year ago

unman commented 2 years ago

I have exactly the same issue as termux/termux-app#78:

Err:1 http://termux.net stable InRelease
Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
Fetched 965 B in 4s (196 B/s)
Reading package lists... Done
W: Failed to fetch http://termux.net/dists/stable/InRelease Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
E: Some index files failed to download. They have been ignored, or old ones used instead.

This is a clean install from F-Droid on a new lineage-os install.

I have read the note in Package Management, disabled the games and science repos, and tried all available mirrors for the main repository. All return the same error message.

At a loss.

blessingmwiti commented 2 years ago

Had the same problem, fixed by running termux-change-repo And chose the first repo after default

burnbasket commented 1 year ago

I will provide additional information if any is required.

luthor112 commented 1 year ago

More info: Happened for me after uninstalling Termux and installing it from F-Droid. I could fixed the issue by running termux-change-repo and selecting the default.

xtkoba commented 1 year ago

I suppose the particular issue for the author @unman or @burnbasket is not resolved even when the selected mirror is changed. I saw a handful of issues with the same error message which were resolved by changing the mirror selection, or by (uninstalling and then) re-installing Termux app.

mutaanto commented 1 year ago

Had the same error, downgraded termux to 117 the changed repo and it worked

sylirre commented 1 year ago

You can change the repo without downgrading. Termux app doesn't have effect on packages.

ghost commented 1 year ago

Send me the complete apk file to download. Thanks

On Sun, 29 Jan 2023, 11:58 Leonid Pliushch, @.***> wrote:

You can change the repo without downgrading. Termux app doesn't have effect on packages.

— Reply to this email directly, view it on GitHub https://github.com/termux/termux-packages/issues/8138#issuecomment-1407602982, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARZ5XHZZ4CLLPLO6SROD4TLWUYWKLANCNFSM5JLLUTWA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

burnbasket commented 1 year ago

I suppose the particular issue for ~the author~ @unman or @burnbasket is not resolved even when the selected mirror is changed. I saw a handful of issues with the same error message which were resolved by changing the mirror selection, or by (uninstalling and then) re-installing Termux app.

Thanks, I'll try that.

RalMay commented 1 year ago

I could fixed the issue by running termux-change-repo and selecting the default.

Same error here, Android 10 (MIUI 12), fresh install from F-Droid, the solution from @luthor112 helped me as well. In case you want to serve beginners as well this really should be fixed.

xtkoba commented 1 year ago

Not reliably reproducible and thus cannot be fixed, unfortunately.

sylirre commented 1 year ago

If mirror update is in progress or failed, there may be observed various metadata issues like "clearsigned file isn't valid".

Regarding mirrors I should note that they are administered by community members. Complaining here that some mirror X doesn't work is mostly pointless.


https://termux.net is not associated with Termux anymore despite the word "termux" in host name. It can't be taken back once acquired by unknown party, Termux is not a trademark and everyone can acquire unused domains if got lucky. So don't use termux.net and don't complain that it doesn't work.

RalMay commented 1 year ago

If it was a complaint then that your main server (the preselected/default one in a fresh install) is non-functional. Switching to a mirror solved it.

But it was less a complaint than a hint how to make your software more widely usable/accepted. Ain't that the aim of FOSS developers? How many beginners or plain users are used to look up the issues at Github?

sylirre commented 1 year ago

If it was a complaint then that your main server (the preselected/default one in a fresh install) is non-functional.

TL DR: mirrors exist specifically to let users not rely on main server. The main server set as default basically for reason that it is owned by Termux. Main server doesn't mean super stable server.

Much longer version is below:

https://packages.termux.org is functional:

Screenshot_20230228-121606

If there will be significant downtime, like it is not accessible for period longer than time required for a reboot or there is a permanent issue with packaging system, we will setup a redirect to one of mirrors and post notification. But if user is accessing the server during package metadata replacement or server is rebooting due to administrator request, then this is not a reason to tell us "termux server has a bug, fix ASAP".

We don't use so called blue/green deployments and host redundancy as that will scale costs. Instead we have a mirror system. So please if you have troubles with main server, use the mirror instead. It is not recommended to rely on main server as it is mostly a seed host for replicating packages on mirrors. If everyone would use main server, we'll have problems (high load, traffic quota overuse + additional costs).

https://packages-cf.termux.org is same main server but behind CloudFlare CDN proxy. It also functional:

Screenshot_20230228-121638

CDN endpoint allows to do caching to reduce traffic and increase download speed. But there is drawback as users may receive stale Release, Release.gpg and InRelease files in a short period after main server got new packages uploaded.

Users who live in China or other regions with Internet restrictions should use domestic mirrors. We will not provide censorship resistant hosts.

And again to clarify the situation with mirrors: we don't host mirrors on our own. If some mirror is down, we can't do anything unless the failed mirror was hosted by one of our project members. The task of mirror is to provide an independent copy of our content which will be available even if main server is down. As side effect, mirrors reduce load on the primary host and also improve download speed, especially if user configured apt to use domestic host.

The mirrors are rotated automatically by pkg. If rotation can't be done for some reason, pkg usually should prompt to run termux-change-repo. This is why we often suggest to use pkg instead of apt.

Hopefully this will explain a bit how things work.

But it was less a complaint than a hint how to make your software more widely usable/accepted.

As you mentioned: software. But repository issues are related to infrastructure.

The infrastructure is not free (non-paid), specifically from time when we no longer use FossHost (and anyway free hostings always have own issues). Current setup is reasonably reliable but don't expect ultimate smoothness from it and high availability. It doesn't use replicas and load balancing.

Regarding open-source software part I guess you know that it is provided "as-is without any warranty".

Ain't that the aim of FOSS developers?

That's aim of FOSS community, not just developers. A bidirectional collaboration between developers and users needed. Coming here to beg for solving all user's issues doesn't work here regardless of whether user is a newbie or not.

Termux is a specialized software, highly tied with programming and system administration. Therefore it has a specific target audience which require higher than novice skill level from user.

How many beginners or plain users are used to look up the issues at Github?

Pretty much everyone should know about GitHub and Termux community pages. The latter shown by motd on Termux launch (https://termux.dev/community, old variant - https://termux.com/community). It is expected that user (whether plain or experienced) is able to read messages shown on console and perform basic shell operations.

Not knowing about GitHub is not a big deal. User will learn about it eventually, if would read messages printed on screen (motd) or visit our Wiki after clicking button "Help" in menu. However if user doesn't want to visit the GitHUb because of reason "I'm plain user, the newbie", then we are unable to help those who doesn't want to receive help. No further comments here.

The GitHub issue tracker is the first place where we will post important information. Sometimes we can post information only there, like in case of broken bintray link on Google Play build.

xtkoba commented 1 year ago

Locking due to S/N ratio being too low. Workaround being rather trivial. Thanks.