Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 563270 - [Future EAPI] Add a <~ dependency operator acting like <= but ignoring the revision part
Summary: [Future EAPI] Add a <~ dependency operator acting like <= but ignoring the re...
Status: CONFIRMED
Alias: None
Product: Gentoo Hosted Projects
Classification: Unclassified
Component: PMS/EAPI (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: PMS/EAPI
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: future-eapi 598525
  Show dependency tree
 
Reported: 2015-10-16 20:05 UTC by Matthew Thode ( prometheanfire )
Modified: 2016-10-30 23:05 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2015-10-16 20:05:13 UTC
these represent the upper bound (inclusive) for stuff within openstack
https://github.com/openstack/requirements/blob/master/upper-constraints.txt

It would be nice if I could use these versions with <~ as <= makes it so that I don't include revbumps.  I've had to add -r9999 to some <= lines already and don't really want to add it everywhere <= is defined.

Reproducible: Always
Comment 1 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2015-10-16 20:21:38 UTC
does it have to be in a future eapi?  can I sneak it into eapi6?

why not just use < with the version you're limiting to plus 1 ?
It's harder to track mainly, but also because a package refrences what it knows works.  If it says 1.0 works and you do <category/package-1.1 then 1.0.1 comes out (this happens more then you'd think) 1.0.1 will be allowed which isn't good.

|| (  <atom ~atom )
this is basically the same but much more cluttery
see https://gitweb.gentoo.org/repo/gentoo.git/commit/sys-cluster/nova/nova-2015.2.9999.ebuild?id=af0e8b432acc614a2025d47fee2c0317c8a39e00 for the number of packages I'm dealing with
Comment 2 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2015-10-16 20:34:15 UTC
~ is only needed when defining an upper bound, >= already covers revbumps so >~ is not needed
Comment 3 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2015-10-16 20:43:51 UTC
!>~ could be useful though

!<~ as well, but at that point you'd likely know what you need like with >=  could be added for completeness, but not really needed
Comment 4 Ulrich Müller gentoo-dev 2015-10-16 21:23:43 UTC
(In reply to Matthew Thode ( prometheanfire ) from comment #1)
> does it have to be in a future eapi?

Yes.

> can I sneak it into eapi6?

Extremely bad timing, since the EAPI 6 draft is already in its review phase.

> why not just use < with the version you're limiting to plus 1 ?
> It's harder to track mainly, but also because a package refrences what it
> knows works.  If it says 1.0 works and you do <category/package-1.1 then
> 1.0.1 comes out (this happens more then you'd think) 1.0.1 will be allowed
> which isn't good.

Couldn't you use subslots for these dependencies?
Comment 5 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2015-10-17 01:13:10 UTC
might be able to do subslots but I'm not sure that's the best solution
Comment 6 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-10-30 11:24:12 UTC
If we are to consider this, we should probably establish some relation to r* GLEP operators. There's really no point in having two distinct sets.
Comment 7 Ulrich Müller gentoo-dev 2016-10-30 13:41:33 UTC
(In reply to Michał Górny from comment #6)
> r* GLEP operators

I have no idea what that is. Please explain.
Comment 8 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-10-30 13:48:25 UTC
(In reply to Ulrich Müller from comment #7)
> (In reply to Michał Górny from comment #6)
> > r* GLEP operators
> 
> I have no idea what that is. Please explain.

After reading the request multiple times, I figured out it's a different thing. I've filed the 'request' for GLSA ops as [1].

[1]:https://bugs.gentoo.org/show_bug.cgi?id=598523
Comment 9 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-10-30 14:25:55 UTC
(In reply to Michał Górny from comment #6)
> If we are to consider this, we should probably establish some relation to r*
> GLEP operators. There's really no point in having two distinct sets.

Sorry, I meant GLSA there.

So as far as I understand, <~ would be like <X-r9999999..., and >~ would be like >X-r9999999... Maybe it'd be simpler to have some kind of -rINF ;-).
Comment 10 Ulrich Müller gentoo-dev 2016-10-30 19:43:49 UTC
(In reply to Michał Górny from comment #9)
> So as far as I understand, <~ would be like <X-r9999999..., and >~ would be
> like >X-r9999999... Maybe it'd be simpler to have some kind of -rINF ;-).

One could argue that r9999 is equivalent to rINF for all practical purposes.
Comment 11 Ciaran McCreesh 2016-10-30 19:48:25 UTC
I've seen -r20161030 style stuff show up in overlays...
Comment 12 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-10-30 20:55:59 UTC
Especially considering we don't enforce any numerical limits. Let's use -r∞.
Comment 13 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2016-10-30 23:05:03 UTC
I'm good with ascii or unicode :P  (though I think we are limited to ascii for ebuilds.