[arch-dev-public] Pacman epoch and what you need to know

Dan McGee dpmcgee at gmail.com
Thu Mar 17 06:00:47 EDT 2011


On Thu, Mar 17, 2011 at 4:33 AM, Pierre Schmitz <pierre at archlinux.de> wrote:
> On Thu, 17 Mar 2011 04:23:03 -0500, Dan McGee wrote:
>> With 3.5.0 out, we no longer recognize the "force" option in
>> PKGBUILDs; this has been replaced by the 'epoch' variable. What you
>> need to know:
>>
>> * If you've never forced a package upgrade, don't go introducing epoch.
>> * Default epoch is 0.
>> * If you've ever used 'force' in a package (even if it isn't there
>> now!), you should probably set epoch to 1 next time you build the
>> package.
>
> Could you explain why this would be needed? If the force flag was
> removed the current version is probably higher than any of the previous.

Sure. First, I disagree with your conclusion- I think people remove it
when it has been "long enough", they don't care about whether the
version will actually always compare higher than anything built
before.

I think I found one in this category: svn log anthy/trunk/, rev 110860
removed a force (version 9100h), rev 28115 added force (bump to 9100h
from 9100). Note that the force was in theory still necessary here.
I'm not going to go digging around for a better example; this proves
my point that they can be invalidly removed.

dmcgee at galway ~
$ sudo pacman -Su
Password:
:: Starting full system upgrade...
warning: scorched3d: local (43.2-1) is newer than community (43.2a-1)
warning: wget: local (1.12-6) is newer than core (1.12-5)
 there is nothing to do

Note whatever I have going on here- someone used 'force' for sure on
scorched3d, so that is now stuck in some limbo. Setting epoch will
make sure this doesn't happen.

* no force, force, force removed - anyone that didn't catch the
upgrade with 3.4.3 will never see it until your conclusion above takes
effect (current version > all versions ever).
* no force, currently being forced - force isn't read anymore by
pacman. You need to use epoch to have it override the local version
and comparison.

So if you are sure you are at the highest version ever, you don't need
to add an epoch- but if you are not, then definitely think about
setting it to 1.

-Dan


More information about the arch-dev-public mailing list