nohajc / termux-adb

Run adb in Termux without root permissions!
MIT License
311 stars 32 forks source link

Public key is not available! #25

Closed TheRedM closed 1 month ago

TheRedM commented 1 month ago

I'm getting this error

~ $ curl -s https://raw.githubusercontent.com/nohajc/termux-adb/master/install.sh | bash
Hit:1 https://rohitverma882.github.io termux InRelease
Get:2 https://nohajc.github.io termux InRelease [4077 B]
Hit:3 https://turdl.kcubeterm.com tur-packages InRelease
Err:2 https://nohajc.github.io termux InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F88929B126F104B6
Hit:4 https://mirror.nag.albony.in/termux/termux-main stable InRelease
Reading package lists... Done
W: GPG error: https://nohajc.github.io termux InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F88929B126F104B6
E: The repository 'https://nohajc.github.io termux InRelease' is not signed.
N: Metadata integrity can't be verified, repository is disabled now.
N: Possible causes: unstable or tampered Internet connection, wrong sources.list, outdated keyring or host is down currently.
N: Please note that all hosting problems or other serious issues we announce on our social media pages.
N: Use termux-change-repo for switching to a mirror.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done                                     Calculating upgrade... Done
The following packages have been kept back:                             perl
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.        Reading package lists... Done                                         Building dependency tree... Done
Reading state information... Done
coreutils is already the newest version (9.5).
gnupg is already the newest version (2.4.5-1).
wget is already the newest version (1.24.5).
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Repo already installed
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done                                     E: Unable to locate package termux-adb
done!
nohajc commented 1 month ago

Try removing "$PREFIX/etc/apt/sources.list.d/termux-adb.list" first. It seems you already have a conflicting package source configured.

TheRedM commented 1 month ago

Try removing "$PREFIX/etc/apt/sources.list.d/termux-adb.list" first. It seems you already have a conflicting package source configured.

I did

rm $PREFIX/etc/apt/sources.list.d/termux-adb.list

Still same issue

nohajc commented 1 month ago

What else do you have in sources.list.d? You shouldn't need to delete anything else but I'm just curious.

You could also download my install script, try to run all the commands one by one and see which one doesn't work. One of the commands should fetch the public key. I suspect it's not being executed right now.

Anyway, the real question is whether you installed anything related before. I can't replicate the issue on a clean setup... But I remember somebody already reported a similar thing before.

nohajc commented 1 month ago

There is https://github.com/RohitVerma882/termux-miunlock which also ships termux-adb (an old version) but the package is renamed so I can't see how that could be a problem.

nohajc commented 1 month ago

Ok, does it fail when you just run apt-get update?

If it reports the GPG error, we need to find where the broken configuration is.

cd $PREFIX/etc/apt
grep -r "https://nohajc.github.io"
TheRedM commented 1 month ago

Ok, does it fail when you just run apt-get update?

If it reports the GPG error, we need to find where the broken configuration is.

cd $PREFIX/etc/apt
grep -r "https://nohajc.github.io"

Running apt-get update outputs this:

Get:1 https://nohajc.github.io termux InRelease [4077 B]
Hit:3 https://mirrors.in.sahilister.net/termux/termux-main stable InRelease
Err:1 https://nohajc.github.io termux InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F88929B126F104B6
Hit:2 https://turdl.kcubeterm.com tur-packages InRelease
Reading package lists... Done
W: GPG error: https://nohajc.github.io termux InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F88929B126F104B6
E: The repository 'https://nohajc.github.io termux InRelease' is not signed.
N: Metadata integrity can't be verified, repository is disabled now.
N: Possible causes: unstable or tampered Internet connection, wrong sources.list, outdated keyring or host is down currently.
N: Please note that all hosting problems or other serious issues we announce on our social media pages.

The error only occurs after adding the ADB repo to the sources

echo -e "deb https://nohajc.github.io termux extras" > $PREFIX/etc/apt/sources.list.d/termux-adb.list

Running

wget -qP $PREFIX/etc/apt/trusted.gpg.d https://nohajc.github.io/nohajc.gpg

Then

apt update

Outputs this:

Get:2 https://nohajc.github.io termux InRelease [4077 B]
Hit:1 https://turdl.kcubeterm.com tur-packages InRelease
Hit:3 https://mirrors.in.sahilister.net/termux/termux-main stable InRelease
Err:2 https://nohajc.github.io termux InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F88929B126F104B6
Reading package lists... Done
W: GPG error: https://nohajc.github.io termux InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F88929B126F104B6
E: The repository 'https://nohajc.github.io termux InRelease' is not signed.
N: Metadata integrity can't be verified, repository is disabled now.
N: Possible causes: unstable or tampered Internet connection, wrong sources.list, outdated keyring or host is down currently.
N: Please note that all hosting problems or other serious issues we announce on our social media pages.
N: Use termux-change-repo for switching to a mirror.

I am doing further investigation since it's working fine on my other device.

nohajc commented 1 month ago

Are there any other keys in $PREFIX/etc/apt/trusted.gpg.d which apt already detects?

nohajc commented 1 month ago

You could also try explicitly setting the path.

deb [signed-by=/data/data/com.termux/files/usr/etc/apt/trusted.gpg.d/nohajc.gpg] https://nohajc.github.io termux extras

Or whatever else the $PREFIX variable resolves to.

TheRedM commented 1 month ago

Are there any other keys in $PREFIX/etc/apt/trusted.gpg.d which apt already detects?

Deleting unnecessary keys and running

curl -o $PREFIX/etc/apt/trusted.gpg.d/nohajc.gpg https://nohajc.github.io/nohajc.gpg

seems to fix the issue, but now i'm getting

~ $ apt install termux-adb
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  termux-adb
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 0 B/1585 kB of archives.
After this operation, 6296 kB of additional disk space will be used.
(Reading database ... 54797 files and directories currently installed.)                                                                     Preparing to unpack .../termux-adb_0.2.2-1_aarch64.deb ...
Unpacking termux-adb (0.2.2-1) ...
dpkg: error processing archive /data/data/com.termux/cache/apt/archives/termux-adb_0.2.2-1_aarch64.deb (--unpack):
 trying to overwrite '/data/data/com.termux/files/usr/bin/termux-adb', which is also in package r-termux-adb 1.0.0
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
 /data/data/com.termux/cache/apt/archives/termux-adb_0.2.2-1_aarch64.deb
E: Sub-process /data/data/com.termux/files/usr/bin/dpkg returned an error code (1)

Update:

Fixed, it was just a conflicting package pkg uninstall r-termux-adb fixed the issue

nohajc commented 1 month ago

Yep, I was about to suggest that. This package is pulled by https://github.com/RohitVerma882/termux-miunlock I believe and it's just an older version of my tool.

Unfortunately, it causes this conflict. The package was renamed but all its contents would have to be renamed too.