Lxtharia / double-minegrub-menu

Why one minegrub when you can TWO
MIT License
183 stars 1 forks source link

AUR support #3

Open Takstaartje opened 3 months ago

Takstaartje commented 3 months ago

Hi hi!

I would love to make this setup available through the AUR. I recently made a PKGBUILD for the plymouth theme, available on the AUR, and I enjoyed doing this.

Would you be open to this?

Lxtharia commented 3 months ago

Hello!

Of course, go for it! We can add a line to the readme when you're done.

Thank you :D

Takstaartje commented 2 months ago

Hi hi!

So I'm in the be-midst of a busy period, but I made a first sketch. Before showing it to you I would first like to ask a few questions to refine it to a proper draft.

Publication

The AUR package will need a reference to 'the latest version' of your code. This reference can either be towards a git tag or towards a branch. Thus, I recommend to 'release' the main branch towards the AUR and actively work and develop in a dev branch - this naming scheme a common practice anyway. Meaning, once you are happy with the latest changes, just merge them to main.

The alternative would be that you (or me if I am notified) label commits with a new tag (like v1.0.2) if you would like to publish all changes up until that commit. Afterwards, the PKGBUILD of the AUR package must be updated to point towards that tag. Whilst more robust, this requires manual labour.

License

The AUR heavily encourages you to include a license with your code. I am thus asking you to include one in your repo (MIT would suffice, but I don't know your preferences).

Missing AUR package

This AUR package will be depending on your other two projects, minegrub-theme and minegrub-world-selection-theme. The latter is not yet available on the AUR, which makes publishing this package less tidy as it will install two packages at once: this double minegrub menu and the world selection theme. Later on we can seperate the two though.

Thus, shall I first create an AUR package for that one?

Mail

Through what email can others reach you? This could be your AUR email if you have one. Please obfuscate it against web crawlers.

Installation inconsistency

Last but most important, the grub-theme-minegrub package available on the AUR (alongside with two alternatives) installs the theme in /usr/share/grub/themes. Meanwhile, this package expects it to exist in /boot/grub.

This means that if this AUR package were to depend on the other AUR packages, which it should since they exist, the package won't be correctly installed...

Thus, the AUR package maintainers must either change where the package is installed to align with this package, or your code must not rely on $prefix but on the found installation location of the package.

I am highly in favor of changing the AUR packages, for it's easy work and the following reason: /boot/grub is a way better location than /usr/share/grub, because the latter won't work for people who's drive is encrypted. Both are standards, but the first one is better - given that no huge files are included for the boot partition is commonly not that big.

Note that one of the AUR packages for minegrub does install it in /boot/grub. Frankly, as application owner I would combine all these alternatives into one (or two: one with the -git suffix and one without - one who references the main branch and one which references git tags).

Lxtharia commented 2 months ago

Hello hello! Wow, what a response! First of all, thanks for your effort to making the theme(s) available in the AUR in an orderly manner! I've never tried to write a PKGBUILD or know anything else about creating an AUR package so this help is very appreciated. This also means that I have no overview or control of the already existing packages out there. So feel free to also create a proper AUR pkg for the missing theme if needed.

My mail is probably visible by just cloning any repo of mine and running a quick git log. I've also added the MIT license to the repo.

As for how to deal with the latest version, I am a lazy person, so I'd probably prefer having the main branch as the latest version. I will also try not to carelessly push any breaking changes then :) (There aren't much commits anyway so I'd probably also be fine with tagging every change if necessary)

Now onto the installation location. I am also a fan of having the themes in /boot/grub (frankly because I've not yet seen them being stored in /usr/share/grub). I did worry a bit about the boot partition size in the past, but as it's not the whole repository that's being copied there, it should only be around 30MB with all the background options.

Thanks again, feel free to ask any more questions!

Takstaartje commented 2 weeks ago

Hi hi! Sorry for not saying anything for the past few months. My priorities have been on other places, but I just want to say that I honestly still want to finish this. I have a finished PKGBUILD now, but it's not much of a use if the dependencies are not consistent in the AUR.

My next steps are to either do something 'scuffed' in the PKGBUILD of this AUR package to compensate for said inconsistencies in the path's of the installed files, or to create my own (another) version on the AUR, which people would then hopefully choose instead of the other ones. Besides the inconsistencies, I will have to add the minegrub-world-select-menu repo to the AUR.

Point is, I'm not dropping this so please have patience, but before I can finish this project I have to finish the AUR of the other project(s).

I can of course share my PKGBUILD I have so far, but that would be a standalone file and not a pull request for the PKGBUILD only makes sense on the AUR servers (or you believe that it might be nice that a copy can be found here).

P.S. thanks for giving such a detailed response :)

Lxtharia commented 2 weeks ago

Hello! Thanks for your continuing motivation! Please feel no pressure coming from my part, take however long it takes :)

I didn't even realize there are three, no..., four packages related to this theme already in the AUR... Maybe it would make sense to contact the maintainers to either adjust their PKGBUILD or allow you to maintain a single unified package.

The world-select menu should be the most simple one because there are no optional scripts or systemd services that change background, boot options or splash text, nor requires it for some grub config files to be installed.

Thanks for keeping me updated!