veeso / termscp

🖥 A feature rich terminal UI file transfer and explorer with support for SCP/SFTP/FTP/S3/SMB
https://termscp.veeso.dev
MIT License
1.48k stars 45 forks source link

[BUG] - Installation of 0.12.3.3 fails on arch linux #227

Closed miguel7501 closed 5 months ago

miguel7501 commented 5 months ago

Description

0.12.3.3 Installation from AUR fails with the install script (with paru), using paru directly and manually cloning the AUR and running makepkg.

Steps to reproduce

Expected behaviour

Installation should succeed.

Environment

Log

❯ curl --proto '=https' --tlsv1.2 -sSLf "https://git.io/JBhDb" | sh

  Termscp configuration
> Platform:      linux
> Arch:          x86_64

? Install termscp 0.12.3? [y/N] y
> Detected paru on your system
> Installing termscp AUR package…
:: Resolving dependencies...
:: Calculating conflicts...
:: Calculating inner conflicts...
:: marked out of date: termscp

Aur (1) termscp-0.12.3.3-1

:: Proceed to review? [Y/n]: 
:: Downloading PKGBUILDs...
 PKGBUILDs up to date
 nothing new to review
fetching devel info...
==> Making package: termscp 0.12.3.3-1 (Thu Jan 25 17:02:58 2024)
==> Retrieving sources...
  -> Found termscp-0.12.3.3.tar.gz
==> Validating source files with sha256sums...
    termscp-0.12.3.3.tar.gz ... Passed
==> Making package: termscp 0.12.3.3-1 (Thu Jan 25 17:02:59 2024)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found termscp-0.12.3.3.tar.gz
==> Validating source files with sha256sums...
    termscp-0.12.3.3.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting termscp-0.12.3.3.tar.gz with bsdtar
==> Starting prepare()...
/home/miguel/.cache/paru/clone/termscp/PKGBUILD: line 17: cd: termscp-0.12.3.3: No such file or directory
==> ERROR: A failure occurred in prepare().
    Aborting...
error: failed to build 'termscp-0.12.3.3-1': 
error: packages failed to build: termscp-0.12.3.3-1curl --proto '=https' --tlsv1.2 -sSLf "https://git.io/JBhDb" | sh

  Termscp configuration
> Platform:      linux
> Arch:          x86_64

? Install termscp 0.12.3? [y/N] y
> Detected paru on your system
> Installing termscp AUR package…
:: Resolving dependencies...
:: Calculating conflicts...
:: Calculating inner conflicts...
:: marked out of date: termscp

Aur (1) termscp-0.12.3.3-1

:: Proceed to review? [Y/n]: 
:: Downloading PKGBUILDs...
 PKGBUILDs up to date
 nothing new to review
fetching devel info...
==> Making package: termscp 0.12.3.3-1 (Thu Jan 25 17:02:58 2024)
==> Retrieving sources...
  -> Found termscp-0.12.3.3.tar.gz
==> Validating source files with sha256sums...
    termscp-0.12.3.3.tar.gz ... Passed
==> Making package: termscp 0.12.3.3-1 (Thu Jan 25 17:02:59 2024)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found termscp-0.12.3.3.tar.gz
==> Validating source files with sha256sums...
    termscp-0.12.3.3.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting termscp-0.12.3.3.tar.gz with bsdtar
==> Starting prepare()...
/home/miguel/.cache/paru/clone/termscp/PKGBUILD: line 17: cd: termscp-0.12.3.3: No such file or directory
==> ERROR: A failure occurred in prepare().
    Aborting...
error: failed to build 'termscp-0.12.3.3-1': 
error: packages failed to build: termscp-0.12.3.3-1

Additional information

I tried manually installing from AUR so I can take a look at the steps and found this (after running makepkg and getting the exact same error as above:

❯ ll
total 12M
4.0K drwxr-xr-x  4 miguel miguel 4.0K Jan 25 17:00 .
4.0K drwxr-xr-x 12 miguel miguel 4.0K Jan 25 17:00 ..
4.0K drwxr-xr-x  8 miguel miguel 4.0K Jan 25 17:00 .git
4.0K -rw-r--r--  1 miguel miguel  983 Jan 25 17:00 PKGBUILD
4.0K drwxr-xr-x  3 miguel miguel 4.0K Jan 25 17:06 src
4.0K -rw-r--r--  1 miguel miguel  481 Jan 25 17:00 .SRCINFO
 12M -rw-r--r--  1 miguel miguel  12M Jan 25 17:00 termscp-0.12.3.3.tar.gz
❯ cd src
❯ ll
total 12K
4.0K drwxr-xr-x 3 miguel miguel 4.0K Jan 25 17:06 .
4.0K drwxr-xr-x 4 miguel miguel 4.0K Jan 25 17:00 ..
4.0K drwxr-xr-x 9 miguel miguel 4.0K Jan 25 17:06 termscp-0.12.3
   0 lrwxrwxrwx 1 miguel miguel   48 Jan 25 17:06 termscp-0.12.3.3.tar.gz -> /home/miguel/AUR/termscp/termscp-0.12.3.3.tar.gz

I don't know terribly much about the AUR, but the second last line looked like it was missing a .3 at the end, so I moved the directory to termscp-0.12.3.3. That worked around the first issue, but the next line in the PKGBUILD failed:

❯ makepkg
==> Making package: termscp 0.12.3.3-1 (Thu Jan 25 17:11:20 2024)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found termscp-0.12.3.3.tar.gz
==> Validating source files with sha256sums...
    termscp-0.12.3.3.tar.gz ... Passed
==> Extracting sources...
  -> Extracting termscp-0.12.3.3.tar.gz with bsdtar
==> Starting prepare()...
error: the lock file /home/miguel/AUR/termscp/src/termscp-0.12.3.3/Cargo.lock needs to be updated but --locked was passed to prevent this
If you want to try to generate the lock file without accessing the network, remove the --locked flag and use --offline instead.
==> ERROR: A failure occurred in prepare().
    Aborting...

As suggested, I removed --locked in the PKGBUILD. It built successfully and appears to work, but I have no idea what I did there as I don't know anything about rust.

veeso commented 5 months ago

I have to update it I guess... I hate AUR, it's so broken, basically there has been a mess with the build script and now everything is broken.

It would be fixed just by updating termscp to 0.13.4, but I don't think there will be new versions for a long time.

So the only hope is that I fix that build script I guess...

veeso commented 5 months ago

Maybe it's fixed

miguel7501 commented 5 months ago

The first issue seems to be fixed now, but I still get the error about the log flag:

==> Starting prepare()...
error: the lock file /home/miguel/.cache/paru/clone/termscp/src/termscp-0.12.3/Cargo.lock needs to be updated but --locked was passed to prevent this
If you want to try to generate the lock file without accessing the network, remove the --locked flag and use --offline instead.
==> ERROR: A failure occurred in prepare().
    Aborting...
error: failed to build 'termscp-0.12.3.4-1': 
veeso commented 5 months ago

There was still a locked in the fetch task. Now it should be fixed

miguel7501 commented 5 months ago

Yes, I just updated with paru and it worked perfectly.

Thanks!