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

Add support for XBPS (Void Linux) #31

Open
JamiKettunen opened this issue Nov 13, 2022 · 5 comments
Open

Add support for XBPS (Void Linux) #31

JamiKettunen opened this issue Nov 13, 2022 · 5 comments
Labels
enhancement New feature or request help wanted Extra attention is needed
Milestone

Comments

@JamiKettunen
Copy link

I'm not asking you to add this support, mainly made this as a reminder for myself to look into it one day :)

Looking under manager/ it doesn't look that bad to implement.

Distro: https://voidlinux.org/
Package manager: https://github.com/void-linux/xbps
Docs: https://docs.voidlinux.org/xbps/index.html

@Elara6331
Copy link
Member

Copied from https://gitea.arsenm.dev/Arsen6331/lure/issues/1#issuecomment-392

Implementing support for the package manager itself is the easy part. The difficult part is adding support for building the actual package. I use nfpm to do so. When I started building LURE, nFPM had no support for Arch packages, so I added it with a PR. Despite Arch having one of the simplest packaging formats that exist, that took 1.2k lines of code. I do eventually plan to look into XBPS support and how much it would take to implement, but this is likely a long-term goal since I don't use Void regularly.

@Elara6331 Elara6331 added enhancement New feature or request help wanted Extra attention is needed labels Nov 14, 2022
@JamiKettunen
Copy link
Author

JamiKettunen commented Nov 20, 2022

Hm this could be tricky with regards to the triggers inside the generated .xbps packages as well, we'd basically have to remake https://github.com/void-linux/void-packages/blob/master/common/hooks/post-install/04-create-xbps-metadata-scripts.sh or reuse that somehow, otherwise e.g. update-desktop-database won't be called when new .desktop files are installed by LURE packages

@JamiKettunen
Copy link
Author

As for other data like list of files included and the package dependencies etc. in the Zstandard compressed tar archive there are files.plist and props.plist respectively, but as nFPM keeps a 0-dependencies status https://pkg.go.dev/howett.net/[email protected] can't be used for example to create those, so likely a naïve / really simple plist helpers would also have to be implemented.

@Elara6331
Copy link
Member

If you look at their go.mod, they have plenty of dependencies. I think they meant after building, because Go generates static executables.

@JamiKettunen
Copy link
Author

Right yeah, I've not worked with go before. Another choice for the plist library could be https://github.com/groob/plist

@Elara6331 Elara6331 added this to the Long-term milestone Nov 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants