termux-user-repository / tur

A place for all types of Termux packages.
Other
412 stars 79 forks source link

[Bug]: vhs reinstalling chromium #279

Closed SunPodder closed 1 year ago

SunPodder commented 1 year ago

Problem description

VHS isn't working properly. It depends on chromium, but it was added when chromium wasn't available in termux. I recently tested it and it tries to reinstall chromium from its own sources but fails to do so because we are on Android. However, it should use the system binary instead of reinstalling it.

$ vhs demo.tape
File: demo.tape
[launcher.Browser]2023/02/13 11:04:05 try to find the fastest host to download the browser binary
[launcher.Browser]2023/02/13 11:04:05 check https://storage.googleapis.com/chromium-browser-snapshots//1033860/
[launcher.Browser]2023/02/13 11:04:05 check https://registry.npmmirror.com/-/binary/chromium-browser-snapshots//1033860/
[launcher.Browser]2023/02/13 11:04:05 check https://playwright.azureedge.net/builds/chromium/1033860/chromium-linux-arm64.zip
panic: Can't find a browser binary for your OS, the doc might help https://go-rod.github.io/#/compatibility?id=os

goroutine 1 [running]:
github.com/go-rod/rod/lib/utils.glob..func2({0x5b42649b80?, 0x40001437d0?})
        /home/builder/go/pkg/mod/github.com/go-rod/rod@v0.112.0/lib/utils/utils.go:60 +0x24
github.com/go-rod/rod/lib/utils.E(...)
        /home/builder/go/pkg/mod/github.com/go-rod/rod@v0.112.0/lib/utils/utils.go:66
github.com/go-rod/rod/lib/launcher.(*Launcher).MustLaunch(0x40003a6000?)
        /home/builder/go/pkg/mod/github.com/go-rod/rod@v0.112.0/lib/launcher/launcher.go:351 +0x6c
main.New()
        /home/builder/.termux-build/vhs/src/vhs.go:67 +0x230
main.Evaluate({0x40006a0000, 0x14f}, {0x5b42741d00, 0x40000b2008}, {0x0, 0x0, 0x0?})
        /home/builder/.termux-build/vhs/src/evaluator.go:33 +0x178
main.glob..func1(0x5b42cf9de0?, {0x4000143700, 0x1, 0x1?})
        /home/builder/.termux-build/vhs/src/main.go:60 +0x18c
github.com/spf13/cobra.(*Command).execute(0x5b42cf9de0, {0x40000b6010, 0x1, 0x1})
        /home/builder/go/pkg/mod/github.com/spf13/cobra@v1.6.0/command.go:916 +0x5c8
github.com/spf13/cobra.(*Command).ExecuteC(0x5b42cf9de0)
        /home/builder/go/pkg/mod/github.com/spf13/cobra@v1.6.0/command.go:1040 +0x354
github.com/spf13/cobra.(*Command).Execute(...)
        /home/builder/go/pkg/mod/github.com/spf13/cobra@v1.6.0/command.go:968
main.main()
        /home/builder/.termux-build/vhs/src/main.go:135 +0x28

I'm aware that termux chromium binary is distributed under the name of chromium-browser. I have a symlink with the name chromium pointing to that. So there's no reason vhs can't find chromium on PATH.

I looked into the code but couldn't figure out what's wrong. They are loading chromium from the PATH at line 91 vhs.go

What steps will reproduce the bug?

You can create a demo .tape with vhs new demo.tape. Then run vhs demo.tape.

What is the expected behavior?

It should use the system binary.

System information

termux-info:

Termux Variables:
TERMUX_API_VERSION=0.50.1
TERMUX_APK_RELEASE=F_DROID
TERMUX_APP_PACKAGE_MANAGER=apt
TERMUX_APP_PID=30416
TERMUX_IS_DEBUGGABLE_BUILD=0
TERMUX_MAIN_PACKAGE_FORMAT=debian
TERMUX_VERSION=0.118.0
Packages CPU architecture:
aarch64
Subscribed repositories:
# sources.list
deb https://termux.librehat.com/apt/termux-main stable main
# x11-repo (sources.list.d/x11.list)
deb https://termux.librehat.com/apt/termux-x11 x11 main
# tur-repo (sources.list.d/tur.list)
deb https://tur.kcubeterm.com tur-packages tur tur-on-device tur-continuous
# root-repo (sources.list.d/root.list)
deb https://termux.librehat.com/apt/termux-root root stable
Updatable packages:
apache2/stable 1:2.4.55 aarch64 [upgradable from: 1:2.4.54-2]
apr-util/stable 1.6.3 aarch64 [upgradable from: 1.6.1-6]
apr/stable 1.7.2 aarch64 [upgradable from: 1.7.0-8]
apt/stable 2.5.6 aarch64 [upgradable from: 2.5.5-1]
asciinema/stable 2.2.0-2 all [upgradable from: 2.2.0-1]
c-ares/stable 1.19.0 aarch64 [upgradable from: 1.18.1-1]
cfm/stable 1.2.0-1 aarch64 [upgradable from: 1.2.0]
clang/stable 15.0.7-2 aarch64 [upgradable from: 15.0.7]
cmake-curses-gui/stable 3.25.2 aarch64 [upgradable from: 3.25.1-1]
cmake/stable 3.25.2 aarch64 [upgradable from: 3.25.1-1]
command-not-found/stable 2.1.0-10 aarch64 [upgradable from: 2.1.0-6]
dbus/stable 1.15.4 aarch64 [upgradable from: 1.15.2-1]
dialog/stable 1.3-20230209-0 aarch64 [upgradable from: 1.3-20221229-0]
diffutils/stable 3.9 aarch64 [upgradable from: 3.8]
dos2unix/stable 7.4.4 aarch64 [upgradable from: 7.4.3]
dpkg-perl/stable 1.21.20 all [upgradable from: 1.21.18]
dpkg/stable 1.21.20 aarch64 [upgradable from: 1.21.18]
e2fsprogs/stable 1.47.0 aarch64 [upgradable from: 1.46.5-2]
erlang/stable 25.2.2 aarch64 [upgradable from: 25.2.1]
extra-cmake-modules/x11 5.103.0 aarch64 [upgradable from: 5.102.0]
ffmpeg/stable 5.1.2-6 aarch64 [upgradable from: 5.1.2-4]
firefox/x11 109.0-1 aarch64 [upgradable from: 109.0]
fontconfig-utils/stable 2.14.2-1 aarch64 [upgradable from: 2.14.1-1]
fontconfig/stable 2.14.2-1 aarch64 [upgradable from: 2.14.1-1]
freetype/stable 2.13.0 aarch64 [upgradable from: 2.12.1]
gh/stable 2.23.0 aarch64 [upgradable from: 2.22.1]
glib-bin/stable 2.74.5 aarch64 [upgradable from: 2.74.4-2]
glib/stable 2.74.5 aarch64 [upgradable from: 2.74.4-2]
gnupg/stable 2.4.0-2 aarch64 [upgradable from: 2.4.0]
gpgv/stable 2.4.0-2 aarch64 [upgradable from: 2.4.0]
gst-libav/stable 1.22.0 aarch64 [upgradable from: 1.20.5]
gst-plugins-bad/stable 1.22.0 aarch64 [upgradable from: 1.20.5]
gst-plugins-base/stable 1.22.0 aarch64 [upgradable from: 1.20.5]
gst-plugins-good/stable 1.22.0-1 aarch64 [upgradable from: 1.20.5]
gstreamer/stable 1.22.0 aarch64 [upgradable from: 1.20.5]
gtk-update-icon-cache/x11 3.24.36-1 aarch64 [upgradable from: 3.24.36]
gtk2/x11 2.24.33-2 aarch64 [upgradable from: 2.24.33-1]
gtk3/x11 3.24.36-1 aarch64 [upgradable from: 3.24.36]
harfbuzz-icu/stable 7.0.0 aarch64 [upgradable from: 6.0.0]
harfbuzz/stable 7.0.0 aarch64 [upgradable from: 6.0.0]
htop/stable 3.2.2 aarch64 [upgradable from: 3.2.1]
imagemagick/stable 7.1.0.61 aarch64 [upgradable from: 7.1.0.57]
imath/stable 3.1.6 aarch64 [upgradable from: 3.1.5-1]
imlib2/stable 1.10.0-2 aarch64 [upgradable from: 1.10.0-1]
less/stable 608-1 aarch64 [upgradable from: 608]
libaom/stable 3.6.0 aarch64 [upgradable from: 3.5.0]
libc++/stable 25c aarch64 [upgradable from: 25b]
libcap/stable 2.67 aarch64 [upgradable from: 2.66]
libcompiler-rt/stable 15.0.7-2 aarch64 [upgradable from: 15.0.7]
libde265/stable 1.0.11 aarch64 [upgradable from: 1.0.9]
libdrm/stable 2.4.115 aarch64 [upgradable from: 2.4.114]
libepoxy/x11 1.5.10-1 aarch64 [upgradable from: 1.5.10]
libgit2/stable 1.5.1 aarch64 [upgradable from: 1.5.0]
libgnutls/stable 3.8.0 aarch64 [upgradable from: 3.7.8]
libhandy/x11 1.8.1 aarch64 [upgradable from: 1.8.0-1]
libimagequant/stable 2.18.0 aarch64 [upgradable from: 2.17.0]
libjpeg-turbo/stable 2.1.5.1 aarch64 [upgradable from: 2.1.4]
libjxl/stable 0.8.1 aarch64 [upgradable from: 0.7.0-1]
libllvm/stable 15.0.7-2 aarch64 [upgradable from: 15.0.7]
libnotify/x11 0.8.1-1 aarch64 [upgradable from: 0.8.1]
libnss/stable 3.88.1 aarch64 [upgradable from: 3.87]
libprotobuf/stable 2:21.12 aarch64 [upgradable from: 2:3.21.12]
libtalloc/stable 2.4.0 aarch64 [upgradable from: 2.3.4]
libvpx/stable 1:1.13.0 aarch64 [upgradable from: 1:1.12.0-1]
libvte/x11 2:0.70.3 aarch64 [upgradable from: 2:0.70.2]
libvterm/stable 1:0.3.1 aarch64 [upgradable from: 1:0.3]
libx11/stable 1.8.4 aarch64 [upgradable from: 1.8.3]
libxfce4ui/x11 4.18.2 aarch64 [upgradable from: 4.18.1]
libxml2/stable 2.10.3-1 aarch64 [upgradable from: 2.10.3]
libxpm/x11 3.5.15 aarch64 [upgradable from: 3.5.14]
libxshmfence/stable 1.3.2-1 aarch64 [upgradable from: 1.3.2]
libxxf86vm/stable 1.1.5-1 aarch64 [upgradable from: 1.1.5]
lld/stable 15.0.7-2 aarch64 [upgradable from: 15.0.7]
llvm-tools/stable 15.0.7-2 aarch64 [upgradable from: 15.0.7]
llvm/stable 15.0.7-2 aarch64 [upgradable from: 15.0.7]
lsof/stable 4.98.0 aarch64 [upgradable from: 4.96.5]
make/stable 4.4-1 aarch64 [upgradable from: 4.4]
mariadb/stable 2:10.10.3 aarch64 [upgradable from: 2:10.10.2]
mdbook-open-on-gh/stable 2.3.2 aarch64 [upgradable from: 2.3.1]
mdbook-toc/stable 0.11.1 aarch64 [upgradable from: 0.11.0]
mdbook/stable 0.4.26 aarch64 [upgradable from: 0.4.25]
mesa/stable 22.3.5 aarch64 [upgradable from: 22.3.4]
mpv/stable 0.35.1 aarch64 [upgradable from: 0.35.0]
nano/stable 7.2 aarch64 [upgradable from: 7.1]
ndk-sysroot/stable 25c aarch64 [upgradable from: 25b-3]
neovim/stable 0.8.3 aarch64 [upgradable from: 0.8.2]
nodejs-lts/stable 18.13.0-1 aarch64 [upgradable from: 18.13.0]
openal-soft/stable 1.23.0 aarch64 [upgradable from: 1.22.2]
opencv-python/stable 4.7.0-1 aarch64 [upgradable from: 4.7.0]
opencv/stable 4.7.0-1 aarch64 [upgradable from: 4.7.0]
openssh-sftp-server/stable 9.2p1 aarch64 [upgradable from: 9.1p1]
openssh/stable 9.2p1 aarch64 [upgradable from: 9.1p1]
openssl-1.1/stable 1:1.1.1t aarch64 [upgradable from: 1:1.1.1s]
openssl-tool/stable 1:3.0.8 aarch64 [upgradable from: 1:3.0.7]
openssl/stable 1:3.0.8 aarch64 [upgradable from: 1:3.0.7]
opusfile/stable 0.12-3 aarch64 [upgradable from: 0.12-2]
panda3d/stable 1.10.13-1 aarch64 [upgradable from: 1.10.13]
php-apache/stable 8.2.2 aarch64 [upgradable from: 8.2.1]
php/stable 8.2.2 aarch64 [upgradable from: 8.2.1]
pocketbase/stable 0.12.3 aarch64 [upgradable from: 0.12.2]
postgresql/stable 15.2 aarch64 [upgradable from: 15.1-1]
proot/stable 5.1.107-55 aarch64 [upgradable from: 5.1.107-54]
pulseaudio/stable 16.1-4 aarch64 [upgradable from: 16.1-3]
python-cryptography/stable 39.0.1 aarch64 [upgradable from: 39.0.0]
python-pillow/stable 9.4.0-1 aarch64 [upgradable from: 9.4.0]
python/stable 3.11.2-2 aarch64 [upgradable from: 3.11.1]
root-repo/stable 2.4-2 all [upgradable from: 2.4]
ruby/stable 3.2.1 aarch64 [upgradable from: 3.2.0]
rust-analyzer/stable 20230206 aarch64 [upgradable from: 20230130]
rust/stable 1.67.1 aarch64 [upgradable from: 1.67.0]
sdl2-image/x11 2.6.3 aarch64 [upgradable from: 2.6.2-1]
sdl2-mixer/x11 2.6.3 aarch64 [upgradable from: 2.6.2]
sdl2-ttf/x11 2.20.2 aarch64 [upgradable from: 2.20.1]
sdl2/x11 2.26.3 aarch64 [upgradable from: 2.26.2]
termux-tools/stable 1.36.1 all [upgradable from: 1.36.0]
thunar/x11 4.18.3 aarch64 [upgradable from: 4.18.2]
tigervnc/x11 1.10.1-33 aarch64 [upgradable from: 1.10.1-32]
ttyd/stable 1.7.3 aarch64 [upgradable from: 1.7.2]
unrar/stable 6.2.5 aarch64 [upgradable from: 6.2.3]
vim-runtime/stable 9.0.1250 all [upgradable from: 9.0.1151]
vim/stable 9.0.1250 aarch64 [upgradable from: 9.0.1151]
webkit2gtk-4.1/x11 2.38.4 aarch64 [upgradable from: 2.38.3]
x11-repo/stable 8.4-1 all [upgradable from: 8.4]
xfce4-notifyd/x11 0.8.0 aarch64 [upgradable from: 0.6.5]
xfce4-panel/x11 4.18.2 aarch64 [upgradable from: 4.18.1]
xfce4-session/x11 4.18.1 aarch64 [upgradable from: 4.18.0]
xfce4-settings/x11 4.18.2 aarch64 [upgradable from: 4.18.1]
xfdesktop/x11 4.18.1 aarch64 [upgradable from: 4.18.0]
xkeyboard-config/x11 2.38 all [upgradable from: 2.37]
zenity/x11 3.44.0 aarch64 [upgradable from: 3.43.0]
zstd/stable 1.5.4 aarch64 [upgradable from: 1.5.2-2]
termux-tools version:
1.35.0
Android version:
11
Kernel build information:
Linux localhost 4.19.127-22457755 #1 SMP PREEMPT Wed Nov 10 18:56:38 KST 2021 aarch64 Android
Device manufacturer:
samsung
Device model:
SM-A125F
licy183 commented 1 year ago

CC: @T-Dynamos

T-Dynamos commented 1 year ago

A PR to go-rod would fix this. SEE : https://github.com/go-rod/rod/blob/946d3370db5eb0a6a3398b30b89f8811ba5bcb4d/lib/launcher/browser.go#L322

EDIT : https://github.com/go-rod/rod/pull/808