Grub Theme Creator - create grub themes easily in seconds

Well done, prepare a short documentation so people can ........ (your favourite phrase) RTFM!! :laughing:

Have you read what's already up?
Any questions?

2 Likes

I gracefully appreciate the contribution!! :heart_eyes:
I already used it for my system and uploaded to the repo.
I just don't know if it's proper, as I assumed, to upload/change PKGBUILD after each release, so it remains outside of the new version.
Then what happens on a new version? Is the old file included?
There must be a trick.. :confused: :laughing:

And now I'll wait for someone to offer an AUR addition :laughing:!!..

2 Likes

The video should be placed in the first post and on the github page as well. :slight_smile:

1 Like

Yes, you just update the pkgver and generate new checksums if all you need to do is a version bump. Looks like you took care of that.

I'm not sure what you mean by that.

It's not quite proper as it is. Instead of pulling in the horizontal-grub binary as a source file, it technically should be a separate package and listed as a dependency. When I have time, perhaps I'll do that and add it to my growing list of AUR packages I maintain.

Tip: Your versioning should include a leading 0, i.e.; 0.0.2.

I think I figured that out. I was confused (git and versions and tags :scream_cat:).
GitHub auto-creates a package for download per version (tag in my case). Since I use tagging to version, the PKGBUILD will not be in that file (that was what confuses me, because it will be the previous version). I don't have it very clear, but I guess it's not a problem.

I will read about that (I 've read something but need to do it again). Is this coming from AUR rules or just the "proper versioning" by common followed standards?

How about a git version then? Maybe that would be easier.

pkgname=grub-theme-creator-git
pkgver=.0.2.3.g3f9ef7e
pkgrel=1
pkgdesc="Automates the creation of a grub2 theme"
arch=('any')
url="https://github.com/petsam/grub-theme-creator"
license=('GPL3')
depends=('grub' 'imagemagick')
optdepends=('grub2-theme-preview')
provides=("${pkgname%-git}")
conflicts=("${pkgname%-git}")
source=("git+https://github.com/petsam/${pkgname%-git}.git"
	"https://raw.githubusercontent.com/petsam/horizontal-grub/master/horizontal-grub")
sha256sums=('SKIP'
            'c9758ceebafd572320107064826a177dcb831da2701b8d8b3905a1b89fdf3c14')
            
pkgver() {
	cd "$srcdir/${pkgname%-git}"
	printf "%s" "$(git describe --long --tags | sed 's/^v//;s/([^-]*-g)/r/;s/-/./g')"
}

package() {
	cd "$srcdir/${pkgname%-git}"
	install -d $pkgdir/usr/share/prettygrub
	cp -r templates  $pkgdir/usr/share/prettygrub/
	install -Dm755 "${pkgname%-git}" "$pkgdir/usr/bin/${pkgname%-git}"
	install -Dm755 prettygrub $pkgdir/usr/bin/prettygrub
	install -Dm755 $srcdir/horizontal-grub $pkgdir/usr/bin/horizontal-grub
}

I'm not very good with sed and regex, so I'm not sure how to remove the v from the pkgver.
EDIT: I figured it out thanks to @Lolix's post here.

It's just the way things are done. :stuck_out_tongue_winking_eye: I'm not sure where the standard comes from, but you'll notice all Arch package versions are formatted like that.

1 Like

I found the article that states the "standards".

I appreciate that! Though, currently I am already developing a major feature set, that will anyway jump a version. I will prefer to stay with the versions by tags, to keep things clear for now.
Maybe later a git version would make sense, when mainly minor changes are introduced.
And I still haven't managed to understand and use branches efficiently. :cry:
Thanks much!!

That's how the pkgver is generated in a VCS PKGBUILD (if tags exist). That's why I thought it might be easier.

AFAIK a git package takes the latest commit (master?), which is not always "releasable".
I would like to set releases by tags, so (when/IF the utility comes "famous") no un-necessary bug reports arise :rofl:.

Were you going to make a release version of horizontal-grub? Otherwise I can make a git version. All ready for an AUR release other than that.

2 Likes

This was so needed, manually themming grub is a pain in the ass. Many thanks :crossed_fingers:

1 Like

Yes. I have done one small change. I hope tomorrow will push the commits and add tags for the release.
I am very tired now, I was working on GTC. Adding some "cool" GUI features. I am seriously thinking of adding some kind of GUI (kdialog and/or zenity), so I am studying some.
Thanks for the support!!

4 Likes

I've added grub-theme-creator to the AUR along with it's dependency horizontal-grub.

3 Likes

Wow, thanks!
Please make some change I uploaded yesterday on horizontal-grub.
Polkit is dropped now for optdepend in favor of classic sudo.
I reworked it yesterday, adding more parameters, including no-confirm, so it can be used in autorun scripts. Initiated tagged releases, as you've seen.
Now I am almost close to upload GTC new version with smart features.

1 Like

For anyone interested on where this project could go and/or willing to do some testing and give feedback, I uploaded an alpha release of the coming version.
It has interesting features with GUI improvements, easy create grub-compatible menu bitmaps and verbosity option.
It seems possible to use zenity or kdialog to make it GUI like, but I haven't tried yet, just some RTFM.

I would appreciate feedback on errors and bugs of course, but am very interested in the user interface (logic, easy, difficult etc. ) and suggested changes or improvements.

3 Likes

I've just copied from the ArchWiki as someone pointed it to me in the past https://wiki.archlinux.org/index.php/VCS_package_guidelines#Git

I think the forum misses us.
We are both too busy writing scripts (and takin names?). :rofl:

Anyhoo - kudos :wink:

1 Like

Here is my current development phase:

2 Likes

For anyone interested, I have created a Poll topic, to get some feedback.

2 Likes