You are not logged in.

#1 2008-07-14 10:10:20

AlexC_
Member
Registered: 2008-07-14
Posts: 14

Updating packages compiled via ABS

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

#2 2008-07-14 10:12:51

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,472
Website

Re: Updating packages compiled via ABS

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

#3 2008-07-14 10:14:33

AlexC_
Member
Registered: 2008-07-14
Posts: 14

Re: Updating packages compiled via ABS

Ok, thanks smile. 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

#4 2008-07-14 10:18:33

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,472
Website

Re: Updating packages compiled via ABS

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

#5 2008-07-14 10:21:08

AlexC_
Member
Registered: 2008-07-14
Posts: 14

Re: Updating packages compiled via ABS

Awesome, thanks very much

Offline

#6 2008-07-14 10:22:51

dyscoria
Member
Registered: 2008-01-10
Posts: 1,007

Re: Updating packages compiled via ABS

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

#7 2008-07-14 16:00:19

bender02
Member
From: UK
Registered: 2007-02-04
Posts: 1,328

Re: Updating packages compiled via ABS

How about making this sticky? It comes up about once every two weeks these days...

Offline

#8 2008-07-14 16:11:15

Misfit138
Misfit Emeritus
From: USA
Registered: 2006-11-27
Posts: 4,189

Re: Updating packages compiled via ABS

bender02 wrote:

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

#9 2008-09-22 00:18:07

Profjim
Member
From: NYC
Registered: 2008-03-24
Posts: 658

Re: Updating packages compiled via ABS

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

#10 2008-09-22 00:33:18

Misfit138
Misfit Emeritus
From: USA
Registered: 2006-11-27
Posts: 4,189

Re: Updating packages compiled via ABS

Allan wrote:

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

#11 2009-09-22 14:54:57

ataraxia
Member
From: Pittsburgh
Registered: 2007-05-06
Posts: 1,553

Re: Updating packages compiled via ABS

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

#12 2009-10-04 00:11:30

mrpringle
Member
Registered: 2009-07-11
Posts: 74

Re: Updating packages compiled via ABS

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?

Offline

#13 2009-10-04 01:57:00

ataraxia
Member
From: Pittsburgh
Registered: 2007-05-06
Posts: 1,553

Re: Updating packages compiled via ABS

mrpringle wrote:
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

#14 2009-11-06 20:08:49

shelly_landry
Member
Registered: 2009-11-06
Posts: 2

Re: Updating packages compiled via ABS

ataraxia wrote:

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

#15 2014-03-24 20:16:45

Stefan Husmann
Member
From: Germany
Registered: 2007-08-07
Posts: 1,391

Re: Updating packages compiled via ABS

dyscoria wrote:

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

#16 2014-03-24 20:37:45

Xyne
Administrator/PM
Registered: 2008-08-03
Posts: 6,965
Website

Re: Updating packages compiled via ABS

And with that I think we can close this thread. smile


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

Board footer

Powered by FluxBB