-
-
Notifications
You must be signed in to change notification settings - Fork 44
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
Signal #996
Comments
hi, I can't see the AppImage |
an appimage doesnt exist (I was wondering if u could pacakge it) |
I'm actually trying to get rid of as many repositories as possible (too much work) |
ooh 👍 |
anyway, have you tried to use Archimage? https://github.com/ivan-hc/ArchImage maybe I can help you in case you have doubts |
It is preferable that whoever builds it knows what is needed to make it work as it should. I have never used Signal. Skype yes (and I have a repo). |
failed w archimage |
let me do a test |
I created this script Signal is in the arch linux repos https://archlinux.org/packages/extra/x86_64/signal-desktop/ not an AUR package to create the above script:
video: simplescreenrecorder-2024-10-11_21.17.41.mkv.mp4AppImage is 296 MB here is what happens when I run it simplescreenrecorder-2024-10-11_21.19.40.mkv.mp4to fix it you can start to read the logs and see what files are missing, like this simplescreenrecorder-2024-10-11_21.21.17.mkv.mp4it is looking for a missing module, contained into a package to search on google (or in my case startpage), in this case the package is xapp all you need to do is to take note of the missing package and then add to dependences, like this simplescreenrecorder-2024-10-11_21.25.28.mkv.mp4and as you can see, xapp is downloaded and then it wil be extracted with all the other packages listed during this process in the "deps" directory the appimage is increased of 0,1 MB, let we see if it works... simplescreenrecorder-2024-10-11_21.28.40.mkv.mp4also this time it is not working, but I've found that there is a missing library "libgnomekbdui", contained in the "libgnomekbd" arch linux package... so I'll do the same as I did with xapp now the package is 296,2 MB... let we see if it runs... simplescreenrecorder-2024-10-11_21.34.44.mkv.mp4this time it is missing the library "libudev.so", I'll add the keyword "libudev" to $LIBSAVED, to fetch all files containing this word, for this will be added all depending libraries and it too will be bundled in the appimage in case it is not saved, search the package containing that library as I did with xapp now the package is 296,3 MB... let se again simplescreenrecorder-2024-10-11_21.40.48.mkv.mp4magic! If the app works, you are good with it, but it is suggested to find missing libraries. Also, now that you know that it works, you can start debloating (play by running the AppRun script in the AppDir directory, use Baobab or something else to find the size of packages, try to move them elsewhere and run the AppRun, and see if it works... if it is ok, take note of all files you can remove, and the package will be smaller once you add them to the list "ADDITIONAL REMOVALS" |
The working script I got in the final video is now here https://github.com/ivan-hc/ArchImage/blob/main/drafts/signal-desktop-junest.sh Now you know how to build an archimage correctly :) |
@ivan-hc compiling rn (tysm for the script) |
??? |
I mean packaging**** (signal-desktop-junest.sh) |
Consider this script as a gift Seriously, I don't want to open more repositories. I have too many to maintain, and each of them has problems. PS: I posted my comment as a "tutorial", I can't do better than that https://github.com/ivan-hc/ArchImage#tutorial I've been building them for years and trying to build easy alternatives to package AppImages, adding tutorials and videos. But I've gotten to the point where I've created so many of them, and it's hard to keep up with all of them. Especially when github changes the "workflow" mechanism. I'm doing everything I can to reduce the number of active repositories. |
@ivan-hc wayland doesnt work with the appimage package |
try to add "wayland" as a dependency, or as a keyword I am still on X11 btw (XFCE4.18). |
DEPENDENCES="wayland ca-certificates xapp libgnomekbd" Still the same result with the --ozone-platform=auto |
also https://github.com/Twig6943/Signal-AppImage/releases/tag/1.0 (WIP pkg) (WIP cuz wayland doesnt work like I said) |
NOTE, to made this search may take a whole day, also for me. You need to read and understand each line. The last one I have pointed, as all of them, mean that the program is looking for a library to load. In this case "libxklavier". If it is in "junest-backups" you can add "libxklavier" in LIBSAVED as a keyword, else add directly the dependency that brings that library with it (in this case "libxklavier"). |
I'm not sure if it is enough to solve the issue with wayland. You need to try and try and re-try until it works the way you want. |
uhm...just noticed that your script https://github.com/Twig6943/Signal-AppImage/blob/main/signal-desktop-junest.sh is different from this I linked at the end of my tutorial https://github.com/ivan-hc/ArchImage/blob/main/drafts/signal-desktop-junest.sh have you used the correct one? |
I tried your script last night but wayland didnt work w that one (app still works fine via xwayland tho) so I edited the script a bit to make wayland work but still no dice |
uhm... if you use other archimages I created and they work in wayland, you should check what I added in that scripts, it may help for what I know, xwayland semms to be the easier way to made it work, but maybe I'm wrong, I don't use Wayland at all... I should wait in december or january I guess, for xfce4.20 |
Well I'm too lazy to get the app to run with wayland could u add it to AM's main repo regardless? |
Hi, create a /.github/workflows/CI.yml file in your repo with this content
and then go in the "Actions" tab of your repo and run it, it should update the build every day in authomatic, to tag "continuous" EDIT: this is the kind of workflow I use in all my repos |
@ivan-hc done |
Now its time to debloat the AppImage simplescreenrecorder-2024-10-19_01.15.03.mkv.mp4directories "man" and "gir*" in .junest/usr/share an already save 20+ MB fun fact, here is what happens when I run the content of the big one, under .junest/usr/lib simplescreenrecorder-2024-10-19_01.17.55.mkv.mp4essentially, instead of running the /usr/bin/signal-desktop reference, it would be enough to run /usr/lib/signal-desktop/signal-desktop, being it an electron app so other big files can be also removed... but this needs a deeper search libraries into that directories are against container's glibc, this means that on a recent distro such as Arch Linux or my Debian Testing, such files work without problems... while on an old distro like Debian Stable and Oldstable the app should not work at all. So it is important to keep the structure of the JuNest container for this. Jou can start to get note of the libraries you may not need, and then add them to the list of removable files, like this simplescreenrecorder-2024-10-19_01.24.26.mkv.mp4in this case I've found that libgo* is not needed until now I have found that you can edit this part of the script
like this
and NOTE, you can do this without editing the AppRun. Do this test for all files you think that are not needed. |
PS: I have custom actions in Thunar to extract the AppImages and I use Baobab to find the big files. In thunar I just sorted by size all files and directories to find the big ones. |
And about electron apps, I have another method that mades it even easier to obtain a 155 MB AppImage. Snap2AppImage: https://github.com/ivan-hc/Snap2AppImage All it does is to download, extract and repack the Snap program into an AppImage. You need "squashfs-tools" installed on your system, it is needed to extract Snap packages. This is the script I wrote:
and this is it in action: simplescreenrecorder-2024-10-19_02.05.07.mkv.mp4if you compare the content of the script above with the original one, there is not much difference https://github.com/ivan-hc/Snap2AppImage/blob/main/snap2appimage.sh I only added the internal /opt directory containing Signal and changed the reference in the AppRun @Samueru-sama take a look at this |
Snap2AppImage is the best one for electron apps, among my tools |
I'll give snap2appimage a shot soon |
snap2appimage may not work here because iirc signal as a dependency to gtk3, so hopefully it comes already in the snap bundled. |
Not sure if this is helpful at this point, but just in case: The only prerequisite is Will try to keep the repository updated and might add a GitHub action in the future 👍 |
@karo-solutions does this package run with the "--ozone-platform-hint=wayland" flag on your system (It doesnt on me) |
The following command works on my system (Fedora 40; Gnome 46): I found this solution in this comment: signalapp/Signal-Desktop#3411 (comment)
Btw. there is also a feature request for Signal to support Wayland and additional information: https://community.signalusers.org/t/support-wayland-natively/58021 |
@ivan-hc please switch the package (the one thats downloaded when the user runs am -i signal) to @karo-solutions 's package (it works with wayland) |
done |
this got it working thanks ❤️ |
You are very welcome! Just for information: I also now re-pack the AppImage with a static appimage runtime and use zstd compression, which makes it "only" 144MiB. (see karo-solutions/Signal-Desktop-AppImage#1) |
To help us make adding AppImages quicker and easier, please try to follow the following two syntaxes.
If available on Github.com
The text was updated successfully, but these errors were encountered: