rua icon indicating copy to clipboard operation
rua copied to clipboard

rua exits immediately (panics?) after building package without installing it

Open raphCode opened this issue 3 years ago • 0 comments

I tried to install the gitbucket AUR package, but after building the package, rua exits without asking me to install it. Rua does not report an error for the build process.

Steps to reproduce:

  • pacman -S jre8-openjdk-headless jdk8-openjdk sbt (Java 8 is needed for successful build of gitbucket)
  • rua install gitbucket (currently the package is outdated, I used version 4.34.0-1, commit 06c5337e)

Rua builds the package correctly, and then immediately exits to my shell without the further installation process. I confirmed that the package was indeed created in the .cache/rua/build/gitbucket directory and I was able to install it manually with pacman -U.

Tail section from the shell session (the first two lines are always from the build process sbt):

[info] built executable webapp /home/raph/.cache/rua/build/gitbucket/src/gitbucket-4.34.0/target/executable/gitbucket.war  
[success] Total time: 345 s (05:45), completed Feb 23, 2021 10:59:22 PM                                                                                                                                                         
==> Entering fakeroot environment...                                                                                                                                                                                            
==> Starting package()...                                                                                                                                                                                                       
==> Tidying install...                                                                                                                                                                                                          
  -> Removing libtool files...                                                                                                                                                                                                  
  -> Purging unwanted files...                                                                                                                                                                                                  
  -> Removing static library files...                                                                                                                                                                                           
  -> Stripping unneeded symbols from binaries and libraries...                                                                                                                                                                  
  -> Compressing man and info pages...                                                                                                                                                                                          
==> Checking for packaging issues...                                                                                                                                                                                            
==> Creating package "gitbucket"...                                                                                                                                                                                             
  -> Generating .PKGINFO file...                                                                                                                                                                                                
  -> Generating .BUILDINFO file...                                                                                                                                                                                              
  -> Adding install file...                                                                                                                                                                                                     
  -> Generating .MTREE file...                                                                                                                                                                                                  
  -> Compressing package...                                                                                                                                                                                                     
==> Leaving fakeroot environment.                                                                                                                                                                                               
==> Finished making: gitbucket 4.34.0-1 (Tue 23 Feb 2021 10:59:27 PM CET)                                                                                                                                                       
$

By chance I then also tried rua builddir '/home/raph/.cache/rua/build/gitbucket' -f and discovered that rust panics because the filename does not exist:

[info] built executable webapp /home/raph/.cache/rua/build/gitbucket/src/gitbucket-4.34.0/target/executable/gitbucket.war
[success] Total time: 67 s (01:07), completed Feb 24, 2021 12:31:53 AM==> Finished making: gitbucket 4.34.0-1 (Wed 24 Feb 2021 12:22:09 AM CET)
thread 'main' panicked at 'cannot open file /home/raph/.cache/rua/build/gitbucket/gitbucket-4.34.0-1-any.pkg.tar.zst', src/tar_check.rs:25:60
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
$ echo $?
101
$ ls -l /home/raph/.cache/rua/build/gitbucket/*pkg*
-rw-r--r-- 1 raph raph 51578880 Feb 24 01:16 /home/raph/.cache/rua/build/gitbucket/gitbucket-4.34.0-1-any.pkg.tar
$ 

Note the different file extensions: rua searches for *.pkg.tar.zst, while the package file has only *.pkg.tar.

If I had to guess, this is because of the line PKGEXT=.pkg.tar in PKGBUILD. Also, shellcheck complains that this exact same variable is unused.

Probably irrelevant information, now that I discovered the rust panic (click to expand)

A failing build has a distinct error message from rua. To reproduce a failing build, uninstall Java 8 (I used the current version instead, jdk-openjdk and jre-openjdk-headless). Tail from a failed rua build shell session:

[error] (Compile / compileIncremental) java.lang.IllegalArgumentException: Unsupported class file major version 59                                                                                                              
[error] Total time: 255 s (04:15), completed Feb 23, 2021, 10:46:43 PM                                                                                                                                                          
==> ERROR: A failure occurred in build().                                                                                                                                                                                       
    Aborting...                                                                                                                                                                                                                 
Build failed with exit code 4 in /home/raph/.cache/rua/build/gitbucket                                                                                                                                                          
$

raphCode avatar Feb 23 '21 23:02 raphCode