dvershinin / lastversion

Find the latest release version of an arbitrary project

Home Page:https://lastversion.getpagespeed.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Installation of AppImage failed

pierrehenrymuller opened this issue · comments

Hi,
I use lastversion for install some apps, who not provide packages.
On a Fedora 37, I have lastversion installed with pip, with Python version 3.11.3.

lastversion --version
lastversion 2.4.15, up to date

When I launch with root the command lastversion -y install jgraph/drawio-desktop
It begin to download the appimage of the software but when the download is finished, I have this error :

Downloaded drawio-x86_64-21.2.8.AppImage: : 159712.0KB [00:25, 6243.35KB/s]                                                                                   
Traceback (most recent call last):
  File "/usr/local/bin/lastversion", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/local/lib/python3.11/site-packages/lastversion/lastversion.py", line 597, in main
    return install_app_image(app_images[0], install_name=args.repo)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/lastversion/lastversion.py", line 385, in install_app_image
    os.chmod(app_file_name, 0o755)  # skipcq: BAN-B103
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/root/Applications/jgraph/drawio-desktop'

I have checked if the github prefix is in cause with :

lastversion -y install drawio-desktop 
Downloaded drawio-x86_64-21.2.8.AppImage: : 159712.0KB [00:26, 5925.68KB/s]                                                                                   
Traceback (most recent call last):
  File "/usr/local/bin/lastversion", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/local/lib/python3.11/site-packages/lastversion/lastversion.py", line 597, in main
    return install_app_image(app_images[0], install_name=args.repo)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/lastversion/lastversion.py", line 385, in install_app_image
    os.chmod(app_file_name, 0o755)  # skipcq: BAN-B103
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/root/Applications/drawio-desktop'

If I test to install Mattermost in the same way, I get :

lastversion -y install mattermost/desktop
Downloaded mattermost-desktop-5.3.1-linux-x86_64.AppImage: : 103264.0KB [00:19, 5367.79KB/s]                                                                  
Traceback (most recent call last):
  File "/usr/local/bin/lastversion", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/local/lib/python3.11/site-packages/lastversion/lastversion.py", line 597, in main
    return install_app_image(app_images[0], install_name=args.repo)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/lastversion/lastversion.py", line 385, in install_app_image
    os.chmod(app_file_name, 0o755)  # skipcq: BAN-B103
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/root/Applications/mattermost/desktop'

Why they would going to /root/Applications? It's not in this place AppImage need to be installed.

@pierrehenrymuller where do you expect it to be installed if not under <user home>/Applications ?

I've understood what's changed, I was surprised that I was using AppImages, I prefer packages.
These two applications have made AppImages available that they didn't have before. So lastversion took the AppImages instead of the rpm.

On https://github.com/jgraph/drawio-desktop/releases/tag/v21.2.8 or https://github.com/mattermost/desktop/releases/tag/v5.3.1

lastversion use AppImage instead of RPM.

Which option is need to specify which installation method we need between rpm and AppImage?

And for the /home//Application for AppImage, I suggest that lastversion create the directory if not exist.

It's seem --filter 'rpm' works to specify which package we want.
Thanks

lastversion --having-asset "~\.rpm" --filter rpm --assets https://github.com/jgraph/drawio-desktop should be more reliable way to achieve this. (as in to say "give me only releases which have RPM files and give me RPM files in the latest release). Without --having-asset it might fail if the RPM asset have not been published for the latest release.

Hi,
I have test with this command but it download a wrong file for another architecture:

lastversion --having-asset "~\.rpm" --filter rpm --assets -y install https://github.com/jgraph/drawio-desktop
OR
lastversion --having-asset "~.+x86_64-.+\.rpm" --filter rpm --assets -y install https://github.com/jgraph/drawio-desktop

This result of the system cannot install rpm for aarch64 version.

Dernière vérification de l’expiration des métadonnées effectuée il y a 1:23:55 le lun. 24 juil. 2023 13:18:46.
drawio-aarch64-21.6.5.rpm                                                                                                     5.0 MB/s |  73 MB     00:14    
drawio-x86_64-21.6.5.rpm                                                                                                      5.1 MB/s | 103 MB     00:20    
Erreur : 
 Problème: requêtes conflictuelles
  - package draw.io-21.6.5-1.aarch64 from @commandline does not have a compatible architecture
(essayez d’ajouter « --skip-broken » pour ignorer les paquets non installables)

It's a bug or I miss something in the filter or instruction?