Any chance for a snap || flatpak || appimage || rpm package?

34 views
Skip to first unread message

Torkin

unread,
Jun 3, 2022, 11:35:48 AM6/3/22
to sofastatistics
This is a really nice piece of sfotware, an affordable alternative to JMP in my opinion. I tried to run SOFA on my Fedora Linux installation, but i got stuck in the dependency hell ...
Is there a chance for a packaging not limited to debian-based distros?
Thank you for your attention and your nice software.

Grant Paton-Simpson

unread,
Jun 4, 2022, 1:33:33 AM6/4/22
to sofasta...@googlegroups.com

Hi Torkin,

I am toying with another approach - removing the worst dependencies from SOFA to make it easier to package (including for Mac, and other Linux distros).

With the widespread availability of screen shot tools I think the export images functionality of SOFA is an anti-feature. It enormously complicated packaging and the coding had extra issues around ImageMagick default limits.

Any opinions on that strategy?

If only I had known then what I know now ;-)

All the best,
Grant

--

---
You received this message because you are subscribed to the Google Groups "sofastatistics" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sofastatistic...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sofastatistics/5c8aafda-c4cc-48a8-85bb-27c091dc28d7n%40googlegroups.com.

Torkin

unread,
Jun 4, 2022, 4:36:21 AM6/4/22
to sofastatistics
Hi Grant, thank You for the prompt response.
In my opinion I would be ok to give up some feature to have an usuable linux packaged release. Right now, i'm using the windows version inside a VM, anything would be better lol.
If you agree, in the meantime we could prepare at least an appimage starting from the already existent deb package. After some googling I've found this, maybe it could help: https://docs.appimage.org/packaging-guide/converting-binary-packages/pkg2appimage.html
My reasoning is: if the deb works fine, conversion to appimage works fine too (i hope?).
Besides, it also describes how to convert pip packaged apps. Since sofastats is a Python app, this could be maybe the easiest way to deal with dependencies.
In my honest opinion,  implementing a broadly adopted packaging former should be a priority. It could bring more users to the software, therefore more people willing to contribute. The effort should be reasonable, since we can start from already existent deb packages (or pip package).
I'm willing to help, so let me know what you think about it.

Cheers,
Torkin

Grant Paton-Simpson

unread,
Jun 4, 2022, 12:55:35 PM6/4/22
to sofasta...@googlegroups.com

Hi Torkin,

On 4/06/22 8:36 pm, Torkin wrote:
Hi Grant, thank You for the prompt response.
In my opinion I would be ok to give up some feature to have an usuable linux packaged release.
I'm actually thinking of giving up some buggy pseudo-features. Any packaging including Mac packaging and existing Windows and deb packaging would become a whole lot easier. So I'm already starting on that now. I'm also creating a new Python 3.10 virtual environment so I can more carefully think about my actual dependencies.

Right now, i'm using the windows version inside a VM, anything would be better lol.
If you agree, in the meantime we could prepare at least an appimage starting from the already existent deb package. After some googling I've found this, maybe it could help: https://docs.appimage.org/packaging-guide/converting-binary-packages/pkg2appimage.html
My reasoning is: if the deb works fine, conversion to appimage works fine too (i hope?).
You're welcome to see if that works (I would be very interested in the results) but I think it will be reasonably quick to strip out the pseudo features. I could then send you a fresh deb that is easier to work with.

Besides, it also describes how to convert pip packaged apps. Since sofastats is a Python app, this could be maybe the easiest way to deal with dependencies.
In my honest opinion,  implementing a broadly adopted packaging former should be a priority.

If the process ends up being:

1. Make deb
2. Perform simple conversion to appimage

I would be very happy and it would replace the tar.gz option.

It could bring more users to the software, therefore more people willing to contribute. The effort should be reasonable, since we can start from already existent deb packages (or pip package).
I'm willing to help, so let me know what you think about it.

Fantastic. I'll get cracking on the stripped out version.

All the best,
Grant


Cheers,
Torkin

Il giorno sabato 4 giugno 2022 alle 07:33:33 UTC+2 gr...@p-s.co.nz ha scritto:

Hi Torkin,

I am toying with another approach - removing the worst dependencies from SOFA to make it easier to package (including for Mac, and other Linux distros).

With the widespread availability of screen shot tools I think the export images functionality of SOFA is an anti-feature. It enormously complicated packaging and the coding had extra issues around ImageMagick default limits.

Any opinions on that strategy?

If only I had known then what I know now ;-)

All the best,
Grant

On 4/06/22 3:35 am, Torkin wrote:
This is a really nice piece of sfotware, an affordable alternative to JMP in my opinion. I tried to run SOFA on my Fedora Linux installation, but i got stuck in the dependency hell ...
Is there a chance for a packaging not limited to debian-based distros?
Thank you for your attention and your nice software.
--

---
You received this message because you are subscribed to the Google Groups "sofastatistics" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sofastatistic...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sofastatistics/5c8aafda-c4cc-48a8-85bb-27c091dc28d7n%40googlegroups.com.
--

---
You received this message because you are subscribed to the Google Groups "sofastatistics" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sofastatistic...@googlegroups.com.

Grant Paton-Simpson

unread,
Jun 4, 2022, 2:30:32 PM6/4/22
to sofasta...@googlegroups.com

A question for anyone on the list - are the non-English versions of SOFA working (well)? I am not sure they are worth the trouble. In the 13 years SOFA has existed a lot has changed in the world. Are people used to / accepting of software in English? Do the partial translations available for SOFA actually work? I genuinely have no idea and feedback is welcome.

On 4/06/22 8:36 pm, Torkin wrote:

Grant Paton-Simpson

unread,
Jun 4, 2022, 2:34:41 PM6/4/22
to sofasta...@googlegroups.com

The reason I ask is because I am taking the chance to clean up a lot of cruft and unnecessary complexity. Just working out what is necessary.

Torkin

unread,
Jun 5, 2022, 6:11:47 AM6/5/22
to sofastatistics
Hi Grant,
Apparently, there seems to be even an easier way, since SOFA repository is hosted in Launchpad.
It looks like canonical owns the service, and it offers an easy way to package the code in the repo as a Snap package in a few clicks.
I just discovered this by looking at the launchpad page of SOFA repo: https://launchpad.net/sofastatistics
If you click on it, a guided process will start to package the repo as a snap. It only requires the writing of a snapcraft.yml file.
Seems like it also offer an automatic build and publish service on snap store.
Let me know if it seems to you a better approach. In the meantime, i'll further document myself on both approaches in my spare time.

Have a good day,
Torkin.

Grant Paton-Simpson

unread,
Jun 5, 2022, 2:29:51 PM6/5/22
to sofasta...@googlegroups.com

Hi Torkin,

I hope you're right - I've had bad experiences with trying to make snap packages in the past. But hope springs eternal ;-)

You'll notice I've updated the code to remove image production thus reducing the dependency on Pillow. There have been other clean-ups as well and I'm on a roll.

https://code.launchpad.net/~launchpad-p-s/sofastatistics/+git/sofastatistics/+ref/master

I'm going to keep working on cleaning up / refactoring the code. My main goals are to improve error reporting; and to update existing docs on making the deb and Windows packages.

If you do get a chance to try out the snap side of things via launchpad that would be really useful. It might even be a solution for Mac. If that were the case I would be very, very pleased.

All the best,
Grant

--

---
You received this message because you are subscribed to the Google Groups "sofastatistics" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sofastatistic...@googlegroups.com.

Torkin

unread,
Jun 11, 2022, 7:27:06 AM6/11/22
to sofastatistics
Hi Grant,
I was toying with the code of SOFA with the purpose to get a working installation, and I've found that the release available at http://sourceforge.net/projects/sofastatistics/files/sofastatistics/1.5.4/sofastats-1.5.4.tar.gz/download is undoubtedly broken. For instance, it asserts that python version to be 3.6+, but if the python interpeter used has a version in the form of x.yy (3.10 in my case). it won't work. Forking your main branch and overwriting all content of sofa_main dir with sofastats dir content seems to bypass the problem. There were other problems, all bypassed by the forementioned workaround.
Besides, the installer script INSTALL.sh is broken too. When it calls $ sofastats it fails because SOFA can be launched only if /usr/share is added to PYTHONPATH, which in my case it is not.
I suggest you to release a new version of SOFA for generic Linux distros, as soon as your development branch has a more or less stable state. The one currently available is unusable without the workarounds I've mentioned.
Now that it seems I have a working installation of SOFA I'll try to package it.
Keep up the good work,
Torkin.

Grant Paton-Simpson

unread,
Jun 11, 2022, 2:50:15 PM6/11/22
to sofasta...@googlegroups.com

Hi Torkin,

On 11/06/22 11:27 pm, Torkin wrote:
Hi Grant,
I was toying with the code of SOFA with the purpose to get a working installation, and I've found that the release available at http://sourceforge.net/projects/sofastatistics/files/sofastatistics/1.5.4/sofastats-1.5.4.tar.gz/download is undoubtedly broken.

Yeah - some things that apparently used to work many years ago have broken so this is a good chance to have a good clean up. Thanks for triggering this.

It is amazing how working code rots over the years - sometimes because of library changes. E.g. wxPython accepts floats for size for a decade until it doesn't and there are breakages. Etc. Just staying still takes some effort.

For instance, it asserts that python version to be 3.6+, but if the python interpeter used has a version in the form of x.yy (3.10 in my case). it won't work. Forking your main branch and overwriting all content of sofa_main dir with sofastats dir content seems to bypass the problem. There were other problems, all bypassed by the forementioned workaround.
Besides, the installer script INSTALL.sh is broken too. When it calls $ sofastats it fails because SOFA can be launched only if /usr/share is added to PYTHONPATH, which in my case it is not.
I suggest you to release a new version of SOFA for generic Linux distros,
Agreed.

as soon as your development branch has a more or less stable state. The one currently available is unusable without the workarounds I've mentioned.
Now that it seems I have a working installation of SOFA I'll try to package it.
Keep an eye on what is in the latest commits. I have already done some major cleaning.

Keep up the good work,
Torkin.

Will do - this feels like something that will fix a lot of inherited rot.

Grant

Reply all
Reply to author
Forward
0 new messages