infinitymdm
You are welcome.
- Why is the .desktop file funny in this case?
I will be honest perhaps it is my ignorance of electron / yarn or maybe it is just how this one is setup. Electron / yarn always seems hacky to me and this experience has not changed my opinion. To be fair there are cases where non-electron apps do not provide a .desktop file either but...
HGL seems to support .deb, .rpm, .pacman, appimage and a generic .tar.xz package. They do not provide any instructions on generic Linux build just those packages. Reality is we do not want them to package it. Even if they supported Solus we would not use their package, we would want to use our own tooling to create the package. It seems aimed towards users not maintainers and their practices. I looked just now to see what other distros are doing, very few have the package an those that do are using the packages provided and / or repackaging them.
The tar.xz option does not seem to generate a .desktop file and for .pacman they are installing to /opt which we do not allow for packages included in the repository so the generated .desktop file would need modification. The tar.xz option however did contain an unpackaged directory which made the manual process easier.
The language the program is in has an impact on the build systems viable to a project. Some have an easily customisable configuration and install section, some do not. Then there are accepted standards of that build system and its implementation in that project as well as your experience as a maintainer in dealing with it.
In contrast, protontricks
is very easy to package:
https://dev.getsol.us/source/protontricks/browse/master/package.yml
You can see the files the .eopkg will contain, including the .desktop file here : https://dev.getsol.us/source/protontricks/browse/master/pspec_x86_64.xml$58
That is not a python specific thing or because it is a very simple application. I will take everything over electron.
https://dev.getsol.us/source/kid3/browse/master/package.yml
So do not be discouraged if you found this puzzling, electron is... electron.
- In my stumbling about I came across T9656 on the Solus task tracker. Now that things are working, is this something I should consider submitting there?
If you wish to become the package maintainer for this application you can do so. If something is accepted for inclusion and marked as needing a maintainer, you do not need to request permission, you just need to do the work, submit it and be willing to take on the responsibility to keep it reasonably up to date etc. Details are explained here https://getsol.us/articles/packaging/
Once submitted via the proper method, it will wait for team review. They will ask you to make certain changes for example the line "networking : yes" should be right after the component line, make sure there are no redundant dependencies etc, etc. Once they are happy they will accept it and it will land in the unstable repository for testing and from there the stable repository next sync.
- Why is it OK for some packages to use networking : yes when this is heavily discouraged? If I were to submit this for inclusion, would that be something I would need to change?
It is a good practice when it comes to permissions, do not give more than is needed. Most packages do not require it and when something does, you are making a conscious effort to allow it.
Yarn requires it, so its okay, you will not need to disable it in order to submit it for inclusion. vscode
needs it for the same reason. micro
needs it for git submodules as do several other packages.