Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature request] appimage format of wallet #2112

Open
zivian opened this issue Apr 23, 2021 · 12 comments
Open

[feature request] appimage format of wallet #2112

zivian opened this issue Apr 23, 2021 · 12 comments

Comments

@zivian
Copy link

zivian commented Apr 23, 2021

there is a closed issue #278. its almost 2 years old.

if possible release in appimage format.

@zivian
Copy link
Author

zivian commented Apr 23, 2021

see common issue in upgrades on linux. for example, [ANNOUNCE] Gridcoion-Research EOL Slackware-14.2

@jamescowens
Copy link
Member

jamescowens commented May 8, 2021

I think @cyrossignol has been working on containerized versions of the wallet. I am assigning this to him. We also need to get the depends build, which creates a statically linked binary that can be used across any distribution with minimum (g)libc requirements to work properly. The depends build is already used for Windows, but it can also be used for Linux as well. There are some issues with the Linux host build with that method currently.

@div72
Copy link
Member

div72 commented Nov 18, 2022

Do we still want this? It should not be too hard to redirect make deploy on Linux to make app images.

@jamescowens
Copy link
Member

If we can do this easily I think I am ok with it. The problem is there are two many container(ish) choices out there. I don't think we have the energy to officially support them all.

@jamescowens
Copy link
Member

Related is #1981.

@Igor-Misic
Copy link

Igor-Misic commented Mar 12, 2024

Do we still want this? It should not be too hard to redirect make deploy on Linux to make app images.

Hey @div72 it would be nice to have this. I've managed to build AppImage locally on my PC with docker.

This is my recipe for docker (Ubuntu 20.04 LTS) and particularly those lines are required for a program that can create AppImage.

https://github.com/Igor-Misic/Gridcoin-Research/commit/475c18bd939e369aad72dac9b746570154b097bc#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557R34-R41

This is how I do it in the docker form above.

Inside the docker, I do next:

  1. config and build Gridcoin
git clone https://github.com/gridcoin-community/Gridcoin-Research.git
cd Gridcoin-Research
./autogen.sh
mkdir build
cd build
make clean
../configure -with-gui=qt5 --without-qrencode
make -j 16
make install
cd ../../
  1. Preparation for AppImage
cp Gridcoin-Research/contrib/gridcoinresearch.desktop Gridcoin-Research/build/src/qt/default.desktop
cp Gridcoin-Research/share/icons/hicolor/256x256/apps/gridcoinresearch.png Gridcoin-Research/build/src/qt/gridcoinresearch.png

inside default.desktop is important to have Icon=gridcoinresearch so Gridocoin Icon is shown in desktop Linux
image

  1. Create Gridcoin-x86_64.AppImage
linuxdeployqt Gridcoin-Research/build/src/qt/gridcoinresearch -appimage

And that is it. In the root folder should be executable Gridcoin-x86_64.AppImage wallet.

Is this something that you are willing to add to CD scripts?

@jamescowens
Copy link
Member

jamescowens commented Mar 12, 2024

@Igor-Misic can you put up a PR for this? It is something we should include! :)

@jamescowens jamescowens added this to the Natasha milestone Mar 12, 2024
@Igor-Misic
Copy link

@jamescowens Sure, if someone can help me and save me some time understanding where should be the right place to add it.

I see those scripts here:
https://github.com/gridcoin-community/Gridcoin-Research/tree/development/cd

Is this docker file used for all builds and deploys?

dpkg --add-architecture s390x && \

@jamescowens
Copy link
Member

Let me ping @div72 on this. You are right, it may be quicker for him to do it since he maintains the CI/CD.

@Igor-Misic
Copy link

Igor-Misic commented Mar 14, 2024

thanks to @jamescowens for pointing out on Discord that the AppImage created on my repo was too big including an unstriped build with source code and other objects created while building.

To remove all that this
instead of calling this line after build and install
linuxdeployqt Gridcoin-Research/build/src/qt/gridcoinresearch -appimage

It is better to do this:

../configure -with-gui=qt5 --without-qrencode
make -j 16
mkdir /appdir
make install DESTDIR=/appdir
cd ../../
strip /appdir/usr/local/bin/gridcoinresearch
strip /appdir/usr/local/bin/gridcoinresearchd
rm /appdir/usr/local/bin/test_gridcoin
rm /appdir/usr/local/bin/test_gridcoin-qt
linuxdeployqt /appdir/usr/local/share/applications/gridcoinresearch.desktop -no-strip -appimage

Here is the gist with all the instructions on how to build docker and how to create Gridcoin-x86_64.AppImage
https://gist.github.com/Igor-Misic/bee34fe5c99e944cde985b6a6eb16377

@div72
Copy link
Member

div72 commented Mar 15, 2024

If we are going to be distributing static builds(#2456), AppImages are redundant in my opinion. Is there any reason to provide both?


@Igor-Misic (in regards to this: Igor-Misic/Gridcoin-Research#ad084874966a41348da2bc2d7c6df801775b300c) Adding something like this without user's consent is really not ok. Especially if you are publishing it to somewhere(like appimage.github.io in this instance).

@Igor-Misic
Copy link

If we are going to be distributing static builds(#2456), AppImages are redundant in my opinion. Is there any reason to provide both?

@Igor-Misic (in regards to this: Igor-Misic/Gridcoin-Research#ad084874966a41348da2bc2d7c6df801775b300c) Adding something like this without user's consent is really not ok. Especially if you are publishing it to somewhere(like appimage.github.io in this instance).

I agree with you. This is why this is only related to my repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants