Re: [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal: AND Dependencies

2007-06-15 Thread John R. Graham

On 6/15/07, Vlastimil Babka <[EMAIL PROTECTED]> wrote:


Syntax shouldn't repeat package name twice. It wouldn't make much sense
to use it with >=some-cat/foo-4.0 
I was thinking about AND dependencies but the only reasonable examples I
could thing of were ranges of versions and thus didn't recognize bug 4315
("add support for version ranges in DEPEND") as *exactly* what I was talking
about.  It's already on SpanKy's EAPI-1 list, so, sorry for the channel
noise.

- John


Re: [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal: AND Dependencies

2007-06-15 Thread Ciaran McCreesh
On Fri, 15 Jun 2007 13:45:39 +0200
Luca Barbato <[EMAIL PROTECTED]> wrote:
> Ciaran McCreesh wrote:
> > Paludis allows users to do some-cat/foo[>=4.0&<4-3] and
> > some-cat/foo[=4.1|=4.2|=4.3] . The syntax isn't particularly pretty,
> > but it's cleaner than requiring duplication of the cat/pkg. Combined
> > with :slot deps it should give you everything you need.
> 
> Seems not bad, do you have plans to refine it before proposing it for
> the pms?

Well, I'm happy with it like that...

> the combination with :slot defines within the [] or outside the [] or
> both?

Paludis currently requires a particular ordering:

  opcat/pkg-ver:slot::repo[bracketed][another][...]
  cat/pkg:slot::repo[bracketed][another][...]

Bracketed things can be any of:

  [use]
  [-use]
  [opver]
  [opver|opver|opver...]
  [opver&opver&opver...]

And reserved for future deviousness:

  [key=value]

opcat/pkg-ver used with [opver] things is currently accepted (but
probably shouldn't be). It behaves as if the external op-ver is added
to the brackets with whatever combining operator the brackets use, or &
if there's no combining operator.

This isn't allowed for EAPI=0, so if you want to experiment you'll have
to either do it in user config files (which can take anything that's
legal for anything, and various extra things that aren't) or set
EAPI=paludis-1.

-- 
Ciaran McCreesh



signature.asc
Description: PGP signature


Re: [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal: AND Dependencies

2007-06-15 Thread Luca Barbato
Ciaran McCreesh wrote:
> Paludis allows users to do some-cat/foo[>=4.0&<4-3] and
> some-cat/foo[=4.1|=4.2|=4.3] . The syntax isn't particularly pretty,
> but it's cleaner than requiring duplication of the cat/pkg. Combined
> with :slot deps it should give you everything you need.
> 

Seems not bad, do you have plans to refine it before proposing it for
the pms?
the combination with :slot defines within the [] or outside the [] or both?

lu

-- 

Luca Barbato

Gentoo/linux Gentoo/PPC
http://dev.gentoo.org/~lu_zero

-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal: AND Dependencies

2007-06-15 Thread John R. Graham
Marijn Schouten (hkBst) wrote:
> AND is already the implicit combinator. Thus simply listing both these
> atoms
> gives what you want:
>
> > =some-cat/foo-4.0
> 
> Still a special syntax for ranges seems like a good idea. If only portage
> would not upgrade past such specifications (and downgrade the next time).
Sorry; I made a mistake on my second example.  Meant to say   
( && >=some-cat/foo-4.1 

Re: [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal: AND Dependencies

2007-06-15 Thread Vlastimil Babka
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Marijn Schouten (hkBst) wrote:
> John R. Graham wrote:
>> What I'd really like to be able to code is a range with an AND operator,
>> something like this
>> ( && >=some-cat/foo-4.0  
> AND is already the implicit combinator. Thus simply listing both these atoms
> gives what you want:
> 
> >=some-cat/foo-4.0
>  Still a special syntax for ranges seems like a good idea. If only portage
> would not upgrade past such specifications (and downgrade the next time).

IIRC upgrade/downgrade loops were already solved in some recent version?
Now it spits some error about conflicting deps that cause that.
- --
Vlastimil Babka (Caster)
Gentoo/Java
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGcmHKtbrAj05h3oQRAjxQAJ9jYtK7aAAWBvYttCTLW1Kt7a/OzACeL2Oe
aLZwTVOKohkRfcyyfRKpqMY=
=gYLD
-END PGP SIGNATURE-
-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal: AND Dependencies

2007-06-15 Thread Marijn Schouten (hkBst)
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

John R. Graham wrote:
> What I'd really like to be able to code is a range with an AND operator,
> something like this
> ( && >=some-cat/foo-4.0 =some-cat/foo-4.0
http://enigmail.mozdev.org

iD4DBQFGclz1p/VmCx0OL2wRAuxMAJY2sDo/FpEqRN3DPk3DkCGM5p++AJ9c/qG5
1TWUJff+OI4ut//e5vPIVg==
=HLGX
-END PGP SIGNATURE-
-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal: AND Dependencies

2007-06-15 Thread Tobias Klausmann
Hi! 

On Fri, 15 Jun 2007, Kent Fredric wrote:
>  On 6/15/07, John R. Graham <[EMAIL PROTECTED]> wrote:
> > I occasionally run across a package version dependency issue that cannot
> > be elegantly solved by the current  dependency syntax.  Every time I've
> > come across this, it's boiled down to a range.  For example, package
> > some-cat/foo has the following versions in the tree
> > some-cat/foo-4.0.0-r2
> > some-cat/foo-4.1
> > some-cat/foo-4.1.1
> > some-cat/foo-4.1.2-r2
> > some-cat/foo-4.2.1-r5
> > some-cat/foo-4.3
> > some-cat/foo-4.4
> >
> 
>  /me votes for rubyesqe range syntax
> 
>  some-cat/foo-( s:4.1 ..  s:4.2)  // start at slot 4.1 , and go upto
>  and including 4.2
>  some-cat/foo-( s:4.1 ... s:4.2) //  start at slot 4.1 and go upto, but
>  not including 4.2
>  some-cat/foo-( v:4.1.0 .. v:4.2.0  ) // start at version 4.1.0 and go
>  upto and including 4.2.0
>  some-cat/foo-( v:4.1.0 ... v:4.2.0  ) // start at version 4.1.0 and go
>  upto , but excluding 4.2.0
> 
>  I know thats probably not possible in a bash env tho, but hopefully
>  the 'range' concept  will give some inspiration, as IMO, having to
>  specify the ebuild atom name for both upper and lower values is
>  redundant, and easily missused as lamented by Vlastimil Babka
> 
>  /me hides in his corner to avoid abuse from people despising ruby lovers
> 
>  /me goes and joins ruby addicts anonymous

As a side note, while we're talking ranged dependencies.

It would also be really, really nice to be able to (un)mask
ranges in /etc/portage/package.(un)mask.

Just my 1.953 Eurocent (adjusted for inflation).

Rgards,
Tobias

-- 
In the future, everyone will be anonymous for 15 minutes.
-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal: AND Dependencies

2007-06-14 Thread Kent Fredric

On 6/15/07, John R. Graham <[EMAIL PROTECTED]> wrote:

I occasionally run across a package version dependency issue that cannot
be elegantly solved by the current  dependency syntax.  Every time I've
come across this, it's boiled down to a range.  For example, package
some-cat/foo has the following versions in the tree
some-cat/foo-4.0.0-r2
some-cat/foo-4.1
some-cat/foo-4.1.1
some-cat/foo-4.1.2-r2
some-cat/foo-4.2.1-r5
some-cat/foo-4.3
some-cat/foo-4.4



/me votes for rubyesqe range syntax

some-cat/foo-( s:4.1 ..  s:4.2)  // start at slot 4.1 , and go upto
and including 4.2
some-cat/foo-( s:4.1 ... s:4.2) //  start at slot 4.1 and go upto, but
not including 4.2
some-cat/foo-( v:4.1.0 .. v:4.2.0  ) // start at version 4.1.0 and go
upto and including 4.2.0
some-cat/foo-( v:4.1.0 ... v:4.2.0  ) // start at version 4.1.0 and go
upto , but excluding 4.2.0

I know thats probably not possible in a bash env tho, but hopefully
the 'range' concept  will give some inspiration, as IMO, having to
specify the ebuild atom name for both upper and lower values is
redundant, and easily missused as lamented by Vlastimil Babka

/me hides in his corner to avoid abuse from people despising ruby lovers

/me goes and joins ruby addicts anonymous

--
Kent
ruby -e '[1, 2, 4, 7, 0, 9, 5, 8, 3, 10, 11, 6, 12, 13].each{|x|
print "enNOSPicAMreil [EMAIL PROTECTED]"[(2*x)..(2*x+1)]}'
--
[EMAIL PROTECTED] mailing list



Re: [gentoo-dev] EAPI-1 (or >1, perhaps) Proposal: AND Dependencies

2007-06-14 Thread Vlastimil Babka
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

John R. Graham wrote:
> I occasionally run across a package version dependency issue that cannot
> be elegantly solved by the current  dependency syntax.  Every time I've
> come across this, it's boiled down to a range.  For example, package
> some-cat/foo has the following versions in the tree
> some-cat/foo-4.0.0-r2
> some-cat/foo-4.1
> some-cat/foo-4.1.1
> some-cat/foo-4.1.2-r2
> some-cat/foo-4.2.1-r5
> some-cat/foo-4.3
> some-cat/foo-4.4
> 
> Now, package other-cat/bar has a runtime dependency on some-cat/foo but
> it only works with the 4.1 and 4.2 slot.  The other-cat/bar ebuild was
> originally composed before the some-cat/foo-4.3 package came out, so the
> ebuild developer coded the runtime dependency as
> >=some-cat/foo-4.1
> 
> But, when some-cat/foo-4.3 came along, it got messy.  The only possible
> solution today that I know of is
> ( || =some-cat/foo-4.1* =some-cat/foo-4.2* )
> and this potentially grows over time as new versions stabilize.

If 4.1 and 4.2 are really SLOTs as you say, then this || syntax makes
good sense. Of course would be better with real slot deps :) So your
example is not so ideal. But nevermind.

> What I'd really like to be able to code is a range with an AND operator,
> something like this
> ( && >=some-cat/foo-4.0 =some-cat/foo-4.0  So, my question is, does this make sense?  Is something like this
> planned for some EAPI>0?  Would it be appropriate for me (a non-dev) to
> file a bug and link it to SpanKy's "EAPI-1 tracker" bug?

There's been bug 4315 for ages, so maybe just reassign it to PMS?
- --
Vlastimil Babka (Caster)
Gentoo/Java
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGchsotbrAj05h3oQRAjg8AJ46/ofZuK6EI+LnQcTivJDzOjgj4gCfWNRe
a56SGjmxI16imQxdkfRRoQI=
=bu3E
-END PGP SIGNATURE-
-- 
[EMAIL PROTECTED] mailing list



[gentoo-dev] EAPI-1 (or >1, perhaps) Proposal: AND Dependencies

2007-06-14 Thread John R. Graham
I occasionally run across a package version dependency issue that cannot
be elegantly solved by the current  dependency syntax.  Every time I've
come across this, it's boiled down to a range.  For example, package
some-cat/foo has the following versions in the tree
some-cat/foo-4.0.0-r2
some-cat/foo-4.1
some-cat/foo-4.1.1
some-cat/foo-4.1.2-r2
some-cat/foo-4.2.1-r5
some-cat/foo-4.3
some-cat/foo-4.4

Now, package other-cat/bar has a runtime dependency on some-cat/foo but
it only works with the 4.1 and 4.2 slot.  The other-cat/bar ebuild was
originally composed before the some-cat/foo-4.3 package came out, so the
ebuild developer coded the runtime dependency as
>=some-cat/foo-4.1

But, when some-cat/foo-4.3 came along, it got messy.  The only possible
solution today that I know of is
( || =some-cat/foo-4.1* =some-cat/foo-4.2* )
and this potentially grows over time as new versions stabilize.

What I'd really like to be able to code is a range with an AND operator,
something like this
( && >=some-cat/foo-4.0 0?  Would it be appropriate for me (a non-dev) to
file a bug and link it to SpanKy's "EAPI-1 tracker" bug?


Thanks in advance.

- John
-- 
[EMAIL PROTECTED] mailing list