On Thu, Mar 13, 2008 at 01:59:56AM +0100, Ingo Schwarze wrote:
> Brad wrote on Tue, Mar 11, 2008 at 05:59:06PM -0400:
> > On Tuesday 11 March 2008 17:53:50 Jacob Meuser wrote:
> 
> >> I _hate_ it when I change a port locally and up the p level,
> >> and then pkg_add -u downgrades that package.
> 
> Hmmm, the p-level is not ideal for keeping track of private tweaks,
> imho it's better reserved for official, committed patch levels.

why?

> > ugh. that drives me crazy as well.
> 
> Try the following patch.  It supports a "user patch level" (u-level)
> in addition to the well-known p-level.  p1u1 will be selected over
> both p0u1 and p1u0, but in case p1u1 is missing, you will end up in
> Interactive::choose1 to manually choose between p0u1 and p1u0 -
> to choose what you prefer today, your latest private tweaks or the
> latest official commit.  Or perhaps you will interrupt, cvs up and
> merge both in order to build p1u1.

so now there's p, v and u?  I though the main impetus of OpenBSD
was to make reliable by keeping them simple?

why is there not just a single package version variable tied to
pkgpath?  always increments with each package change regardles
of new version or just a change or a revert or a local change.

would that not solve all possible problems, including even upstream
weird release versions?

e.g

upstream    |  current p+v system  |  one package version variable
-------------------------------------------------------------------
initial import
foo-1.0     |  foo-1.0.tgz         | foo-1.0_op0.tgz
-------------------------------------------------------------------
new upstream release
foo-1.1     |  foo-1.1.tgz         | foo-1.1_op1.tgz
-------------------------------------------------------------------
package change
foo-1.1     |  foo-1.1p0.tgz       | foo-1.1_op2.tgz
-------------------------------------------------------------------
package change
foo-1.1     |  foo-1.1p1.tgz       | foo-1.1_op3.tgz
-------------------------------------------------------------------
new upstream release
foo-1.2     |  foo-1.2.tgz         | foo-1.2_op4.tgz
-------------------------------------------------------------------
revert port
foo-1.1     |  foo-1.1v0.tgz       | foo-1.1_op5.tgz
-------------------------------------------------------------------
package change
foo-1.1     |  foo-1.1p0v0.tgz     | foo-1.1_op6.tgz
-------------------------------------------------------------------
new upstream release
foo-1.3     |  foo-1.3v0.tgz       | foo-1.3_op7.tgz
-------------------------------------------------------------------
package change
foo-1.3     |  foo-1.3p0v0.tgz     | foo-1.3_op8.tgz
-------------------------------------------------------------------

this makes it pretty obvious which is the newer package.  whichever
has the highest op#.  and look, now we don't even need to parse
upstream package versioning.

-- 
[EMAIL PROTECTED]
SDF Public Access UNIX System - http://sdf.lonestar.org

Reply via email to