You are not logged in.
Pages: 1
Topic closed
Hey,
I've just setup Arch for the first time, all is great so far - however I have a question regarding packages that have been compiled via ABS. If I was to recompile Apache, what happens when a new version is out? Would a 'pacman -Syu' automagically re-compile the latest version with the different configure flags and/or patches I set, or do I have to manually re-compile again? If it is the latter, how do I know a new version is out (apart from checking the Apache site all the time)?.
Regards,
Offline
You will have to recompile it yourself when a new version is out. If you don't want your own version to be replaced then add "IgnorePkg = apache" to your /etc/pacman.conf. pacman will print a message saying it is ignoring an update when one in the Arch repos is available.
Offline
Ok, thanks . So when I see that a new version is out, I simply copy from the ABS tree again, or is there no need for that? Just recompile from the original one I copied the first time around?
Offline
The PKGBUILD you copied from the ABS contain version numbers etc in them. So you will have to copy the updated PKGBUILD from ABS when a new version arrives and rebuild.
Offline
Awesome, thanks very much
Offline
The idea with ABS is that you can bump the 'pkgver' variable up to the latest version. If you don't bump it up, then recompiling will provide the same (old) version that you compiled before. If you change it from say 1.2.1 to 1.2.2 then you'll get the latest version compiled.
There can be changes to the actual build() function so you'll want to run 'abs' as root to update the tree then use the updated PKGBUILD for your program. If the build() doesn't have any fancy business, it can just be a case of bumping the pkgver.
flack 2.0.6: menu-driven BASH script to easily tag FLAC files (AUR)
knock-once 1.2: BASH script to easily create/send one-time sequences for knockd (forum/AUR)
Offline
How about making this sticky? It comes up about once every two weeks these days...
Offline
How about making this sticky? It comes up about once every two weeks these days...
Ok.
Just a quick note- The command:
# abs
will update/sync the ABS tree.
I mention this because it was glossed over.
Required reading.
And this too.
Offline
Anyone searching on this topic may also want to search the forums for discussion of "customizepkg". It's a helper program for yaourt that can help automate some of the simpler PKGBUILD modifications.
Offline
You will have to recompile it yourself when a new version is out. If you don't want your own version to be replaced then add "IgnorePkg = apache" to your /etc/pacman.conf. pacman will print a message saying it is ignoring an update when one in the Arch repos is available.
Ok, quoting Allan here to clarify more confusion on the forums about this as of late.
Note that when making and installing a package using makepkg and ABS, the package will remain tracked by pacman. Pacman will then automatically upgrade the binary package when a newer version number is released into the repos.
A way around this is to use the IgnorePackage array in pacman.conf, and simply manually upgrade the package yourself (using ABS and makepkg).
Custom packages from 3rd party sources are tracked manually as are packages built by using AUR [unsupported] PKGBUILDS, though AUR helpers can automate this process.
Offline
An extension to using the IgnorePackage array is to make up a group name to represent packages you rebuild, and then put that group into the IgnoreGroup array. I put all my modified packages that I copy from abs into group 'modified' and do IgnoreGroup on that. This gives you the power of IgnorePackage without the nuisance of changing pacman.conf to add or remove packages. It also means that just installing the official version over one of yours is sufficient to make pacman "forget" that you previously handled it specially.
Offline
I put all my modified packages that I copy from abs into group 'modified' and do IgnoreGroup on that.
I think I understood everything you said except for this. How can I make a group for packages installed via abs?
Offline
ataraxia wrote:I put all my modified packages that I copy from abs into group 'modified' and do IgnoreGroup on that.
I think I understood everything you said except for this. How can I make a group for packages installed via abs?
There's an array called "groups" you can set in a PKGBUILD. If it's there, add 'modified' to it, if not, add the whole line in, like this:
groups=('modified')
That's all there is to putting a package into a group. It doesn't matter if the group exists beforehand or not.
Offline
An extension to using the IgnorePackage array is to make up a group name to represent packages you rebuild, and then put that group into the IgnoreGroup array. I put all my modified packages that I copy from abs into group 'modified' and do IgnoreGroup on that. This gives you the power of IgnorePackage without the nuisance of changing pacman.conf to add or remove packages. It also means that just installing the official version over one of yours is sufficient to make pacman "forget" that you previously handled it specially.
Thank you very much. This will be a big help, I despise having to edit .conf files, I never remember to comment my changes.
Shelly
Small Biz Toolbox - http://www.smallbiztoolbox.org
Offline
The idea with ABS is that you can bump the 'pkgver' variable up to the latest version.
I strongly doubt that this is the main reason for using abs. Most users will simply wait for the new version. I can think of a bunch of other reasons for doing so (configure flags, dependencies...).
The recommendation to recompile keeps valid, though.
Anyone searching on this topic may also want to search the forums for discussion of "customizepkg". It's a helper program for yaourt that can help automate some of the simpler PKGBUILD modifications.
I prefer customizepkg-patching over customizepkg. With this also not so easy modifications are doable. Just my 0.02€ (or $).
Offline
And with that I think we can close this thread.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
Pages: 1
Topic closed