mooltipass / moolticute

Mooltipass crossplatform daemon/tools
GNU General Public License v3.0
143 stars 67 forks source link

Source of udev rules is confusing #1129

Open VincentVanlaer opened 1 year ago

VincentVanlaer commented 1 year ago

The udev rules can be found in multiple locations, namely the mooltipass-udev repository and data/moolticute.sh, but not as a separate file in this repository. Therefore, following the build instructions does not install the udev rules. This has led to different package maintainers doing different things:

I think at least the AppImage should be fixed to use the udev rules from the mooltipass-udev repository (same for the NixOS package, but that should be fixed on their side, not here). However, it might better if the udev rules were contained within this repository, which would simplify packaging. The disadvantage I see is that you can't install/update the udev rules separately from moolticute, as the Arch Linux package allows.

Some context might be necessary for why I encountered this:

Thoughts?

principis commented 1 year ago

The Fedora package downloads the udev rules from a specific commit (which has the risk of becoming stale) on the moolticute-udev repository.

I was in the progress of splitting the udev rules to a separate mooltipass-udev (as should have been done in the first place) this is now finished.

limpkin commented 1 year ago

@raoulh do you remember why we chose to put the udev rules in a separate repo?

bobsaintcool commented 1 year ago

It all started as a single repository into my github account for packaging in Arch Linux. Then it was needed on other project I have but where I didn't wanted to pull moolticute because it was not following our usage. Eventually we moved the repository into moolticute org so you could have more control over it.

At that time there were also couple of other project that needed it without depending on moolticute: one cli tool in python and something in go from @raoulh I believe. I honestly liked the simplicity of hacking when you got a dedicated package / repository per task. So probably there were some opiniated drift of mine.

I'm not 100% familiar on how Debian package are generated but it seems to me that we decided at some point to follow two different concept:

I will say both approach have their pros and cons. That is being said I'm 100% on the split.

If I well understand your point @VincentVanlaer can I ask why we want to have Debian package script into moolticute into the moolticute project?

We can also pick another architecture which is one followed by systemd. Most of the code is on the same repository but we still have different packages.

On the Arch Linux side I believe we can pin a version of the mooltipass-udev into the moolticute dependencies like https://wiki.archlinux.org/title/PKGBUILD#Dependencies would it help you?

limpkin commented 1 year ago

ohhh that makes sense, thanks for the explanation!

limpkin commented 1 year ago

ping @VincentVanlaer

VincentVanlaer commented 1 year ago

I don't really have a strong opinion on which solution is ultimately chosen, that's up to those who do the actually packaging. As @principis already mentioned, the fedora package is in line with the Arch package now, which is good. As I said in the issue description, my main concern is that the scripts for the appimage have the udev rules embedded rather than letting the packager provide them (or downloading them automatically as part of the build). But solutions for that depend on what the preferred location of the udev rules is (separate repositories or single repositories).