this post was submitted on 11 Feb 2024
1 points (100.0% liked)

Arch Linux

7755 readers
1 users here now

The beloved lightweight distro

founded 4 years ago
MODERATORS
 

There's a few packages that I use that I have created personal patches for. When one of these packages gets updated I need to manually change the PKGBUILD to the new version, SHA, etc. Is there any way to have a local patch applied to a package every time a new version of the package is release?

top 8 comments
sorted by: hot top controversial new old
[–] [email protected] 0 points 8 months ago
[–] [email protected] 0 points 9 months ago

Instead of manually patching the package maybe create an own/local package for it and maintain it on your own and include your patches.

[–] [email protected] 0 points 9 months ago (1 children)

this task is easy on gentoo but hard anywhere else
in the past I checked package updates via nvchecker, grabed the latest PKGBUILD via ABS, applied the patch, compiled the package and sent it to my custom repository
if you add the repository higher in your pacman.conf it will grab it from that first

but this a huge pita, even going through the route of maintaining an AUR package is simpler

[–] [email protected] 0 points 9 months ago

this task is easy on gentoo but hard anywhere else

Not true, it's also doable on NixOS: https://nixos.wiki/wiki/Overlays#Adding_patches

[–] [email protected] 0 points 9 months ago

Pacman downloads and installs binary packages. You cannot use it to build packages with custom patches.

[–] [email protected] 0 points 9 months ago (1 children)

I think pacman hooks could help you

[–] [email protected] 0 points 9 months ago (1 children)

Could you explain more? Sounds interesting. I thought hooks were only actions applied post install?

[–] [email protected] 0 points 9 months ago

I'm not very familiar with them, I mostly just know they exist. https://wiki.archlinux.org/title/Pacman#Hooks has information on them

I also just found this wiki page https://wiki.archlinux.org/title/Patching_packages btw, might help maybe