Mailing List Archive

[PMS] Version Naming Clarification
Howdy all,

I just bumped into something I feel is a Portage and PMS bug. Since I
believe in concrete use cases, I'll just go with that.

Currently in the tree we have sys-fs/ntfs3g. However the proper upstream
name and name referenced in every single doc in the world is "ntfs-3g".
I tried to rename the package however, Portage does not let me since it
is invalid naming. marienz and genone informed me it's invalid with PMS
as well.

The version I was trying to add is ntfs-3g-1.516. Logically Portage and
PMS should only consider any data after the LAST - as the version
information. Now in the cpv scheme of things, it's not undeterministic
because the following two entries would be the only valid entries:

sys-fs/ntfs-3g
=sys-fs/ntfs-3g-1.516

Either way, that's my beef.
--
gentoo-dev@gentoo.org mailing list
Re: [PMS] Version Naming Clarification [ In reply to ]
Doug Goldstein wrote:
> Howdy all,
>
> I just bumped into something I feel is a Portage and PMS bug. Since I
> believe in concrete use cases, I'll just go with that.
>
> Currently in the tree we have sys-fs/ntfs3g. However the proper upstream
> name and name referenced in every single doc in the world is "ntfs-3g".
> I tried to rename the package however, Portage does not let me since it
> is invalid naming. marienz and genone informed me it's invalid with PMS
> as well.
>
> The version I was trying to add is ntfs-3g-1.516. Logically Portage and
> PMS should only consider any data after the LAST - as the version
> information. Now in the cpv scheme of things, it's not undeterministic
> because the following two entries would be the only valid entries:
>
> sys-fs/ntfs-3g
> =sys-fs/ntfs-3g-1.516
>
> Either way, that's my beef.
>
It seems my issue has been brought up in bug #174536 [1]. Sorry for the
noise.

https://bugs.gentoo.org/show_bug.cgi?id=174536
--
gentoo-dev@gentoo.org mailing list
Re: [PMS] Version Naming Clarification [ In reply to ]
Doug Goldstein wrote:
> Currently in the tree we have sys-fs/ntfs3g. However the proper upstream
> name and name referenced in every single doc in the world is "ntfs-3g".
> I tried to rename the package however, Portage does not let me since it
> is invalid naming. marienz and genone informed me it's invalid with PMS
> as well.
>
> The version I was trying to add is ntfs-3g-1.516. Logically Portage and
> PMS should only consider any data after the LAST - as the version
> information.

Would this cause problems anywhere if we had the following?

sys-fs/ntfs/ntfs-3g.ebuild
and
sys-fs/ntfs-3g/ntfs-3g-1.516.ebuild

Daniel

--
gentoo-dev@gentoo.org mailing list
Re: [PMS] Version Naming Clarification [ In reply to ]
On Thu, 07 Jun 2007 12:32:40 -0400
Daniel Drake <dsd@gentoo.org> wrote:

> Doug Goldstein wrote:
> > Currently in the tree we have sys-fs/ntfs3g. However the proper
> > upstream name and name referenced in every single doc in the world
> > is "ntfs-3g". I tried to rename the package however, Portage does
> > not let me since it is invalid naming. marienz and genone informed
> > me it's invalid with PMS as well.
> >
> > The version I was trying to add is ntfs-3g-1.516. Logically Portage
> > and PMS should only consider any data after the LAST - as the
> > version information.
>
> Would this cause problems anywhere if we had the following?
>
> sys-fs/ntfs/ntfs-3g.ebuild
> and
> sys-fs/ntfs-3g/ntfs-3g-1.516.ebuild

Thing is: if you see sys-fs/ntfs-3g, is that an atom or a CPV? You
don't know unless you actually check the tree.

Marius

--
Marius Mauch <genone@gentoo.org>
--
gentoo-dev@gentoo.org mailing list
Re: [PMS] Version Naming Clarification [ In reply to ]
maillog: 07/06/2007-19:42:45(+0200): Marius Mauch types
> On Thu, 07 Jun 2007 12:32:40 -0400
> Daniel Drake <dsd@gentoo.org> wrote:
>
> > Doug Goldstein wrote:
> > > Currently in the tree we have sys-fs/ntfs3g. However the proper
> > > upstream name and name referenced in every single doc in the world
> > > is "ntfs-3g". I tried to rename the package however, Portage does
> > > not let me since it is invalid naming. marienz and genone informed
> > > me it's invalid with PMS as well.
> > >
> > > The version I was trying to add is ntfs-3g-1.516. Logically Portage
> > > and PMS should only consider any data after the LAST - as the
> > > version information.
> >
> > Would this cause problems anywhere if we had the following?
> >
> > sys-fs/ntfs/ntfs-3g.ebuild
> > and
> > sys-fs/ntfs-3g/ntfs-3g-1.516.ebuild
>
> Thing is: if you see sys-fs/ntfs-3g, is that an atom or a CPV? You
> don't know unless you actually check the tree.

Isn't "sys-fs/ntfs-3g" the atom and "=sys-fs/ntfs-3g-1.516" the CPV?

--
/ Georgi Georgiev / Meader's Law: Whatever happens to you, it /
\ chutz@gg3.net \ will previously have happened to everyone \
/ http://www.gg3.net/ / you know, only more so. /
--
gentoo-dev@gentoo.org mailing list
Re: [PMS] Version Naming Clarification [ In reply to ]
Marius Mauch wrote:
> On Thu, 07 Jun 2007 12:32:40 -0400
> Daniel Drake <dsd@gentoo.org> wrote:
>
>
>> Doug Goldstein wrote:
>>
>>> Currently in the tree we have sys-fs/ntfs3g. However the proper
>>> upstream name and name referenced in every single doc in the world
>>> is "ntfs-3g". I tried to rename the package however, Portage does
>>> not let me since it is invalid naming. marienz and genone informed
>>> me it's invalid with PMS as well.
>>>
>>> The version I was trying to add is ntfs-3g-1.516. Logically Portage
>>> and PMS should only consider any data after the LAST - as the
>>> version information.
>>>
>> Would this cause problems anywhere if we had the following?
>>
>> sys-fs/ntfs/ntfs-3g.ebuild
>> and
>> sys-fs/ntfs-3g/ntfs-3g-1.516.ebuild
>>
>
> Thing is: if you see sys-fs/ntfs-3g, is that an atom or a CPV? You
> don't know unless you actually check the tree.
>
> Marius
>
>
I thought that was the whole point of =. That identifies CPV instead of
an atom.
--
gentoo-dev@gentoo.org mailing list
Re: [PMS] Version Naming Clarification [ In reply to ]
On Thu, Jun 07, 2007 at 02:04:08PM -0400, Doug Goldstein wrote:
> > Thing is: if you see sys-fs/ntfs-3g, is that an atom or a CPV? You
> > don't know unless you actually check the tree.
> I thought that was the whole point of =. That identifies CPV instead of
> an atom.
If you look the DEPEND/RDEPEND portion of ebuilds,
there are a lot of deps just declared as CAT/PN, with no version
numbering.

I think this might be a clearer version of what you are trying to say.
1. Given a string S that is 'XXXXXXXXXXXXX'
2. If S starts with an operator (=,>,>=,<=,<), then S MUST have a
version number on the end. S is of the form: CAT/PN-PV(-PR), where
both CAT and PN may contain a -. PR is optional, and must be of the
form /^-r[[:digit:]]+$/
3. If S does not start with an operator, then S is of the form:
CAT/PN, where CAT and PN may contain a -.
4. If the first character was a !, then remember that, strip the ! from
S, and repeat from 2.
5. If you reach this point, you have something that is not valid.

This means if somebody specified:
sys-fs/ntfs-3g-1.516
The CAT is 'sys-fs'
and the PN is 'ntfs-3g-1.516'
which does not exist.

I can't see any logical problems with the above. It probably makes
things a lot easier in many places.

--
Robin Hugh Johnson
Gentoo Linux Developer & Council Member
E-Mail : robbat2@gentoo.org
GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85
Re: [PMS] Version Naming Clarification [ In reply to ]
On Fri, 8 Jun 2007 02:57:28 +0900
Georgi Georgiev <chutz@gg3.net> wrote:

> maillog: 07/06/2007-19:42:45(+0200): Marius Mauch types
> > Thing is: if you see sys-fs/ntfs-3g, is that an atom or a CPV? You
> > don't know unless you actually check the tree.
>
> Isn't "sys-fs/ntfs-3g" the atom and "=sys-fs/ntfs-3g-1.516" the CPV?

No, that's the point. It could be the (simple) atom for the
sys-fs/ntfs-3g package or it could be the CPV describing
sys-fs/ntfs/ntfs-3g.ebuild.

Marius

--
Marius Mauch <genone@gentoo.org>
--
gentoo-dev@gentoo.org mailing list
Re: [PMS] Version Naming Clarification [ In reply to ]
Robin H. Johnson wrote:
> On Thu, Jun 07, 2007 at 02:04:08PM -0400, Doug Goldstein wrote:
>
>>> Thing is: if you see sys-fs/ntfs-3g, is that an atom or a CPV? You
>>> don't know unless you actually check the tree.
>>>
>> I thought that was the whole point of =. That identifies CPV instead of
>> an atom.
>>
> If you look the DEPEND/RDEPEND portion of ebuilds,
> there are a lot of deps just declared as CAT/PN, with no version
> numbering.
>
> I think this might be a clearer version of what you are trying to say.
> 1. Given a string S that is 'XXXXXXXXXXXXX'
> 2. If S starts with an operator (=,>,>=,<=,<), then S MUST have a
> version number on the end. S is of the form: CAT/PN-PV(-PR), where
> both CAT and PN may contain a -. PR is optional, and must be of the
> form /^-r[[:digit:]]+$/
> 3. If S does not start with an operator, then S is of the form:
> CAT/PN, where CAT and PN may contain a -.
> 4. If the first character was a !, then remember that, strip the ! from
> S, and repeat from 2.
> 5. If you reach this point, you have something that is not valid.
>
> This means if somebody specified:
> sys-fs/ntfs-3g-1.516
> The CAT is 'sys-fs'
> and the PN is 'ntfs-3g-1.516'
> which does not exist.
>
> I can't see any logical problems with the above. It probably makes
> things a lot easier in many places.
>
>
That's exactly what I'm saying. CPV (Category/Package/Version) requires
=, >=, <, <= to begin it.
--
gentoo-dev@gentoo.org mailing list
Re: [PMS] Version Naming Clarification [ In reply to ]
On Donnerstag, 7. Juni 2007, Doug Goldstein wrote:
> That's exactly what I'm saying. CPV (Category/Package/Version) requires
> =, >=, <, <= to begin it.

So you'd like to change every foo/bar occurrence (and that's the common case)
to >=foo/bar-0 !? Completely out of line, imho. I don't understand what the
fuzz is about. sys-fs/ntfs3g is absolutely fine. Fighting for the little "-"
is nonsense.


Carsten
Re: [PMS] Version Naming Clarification [ In reply to ]
Carsten Lohrke <carlo@gentoo.org> wrote:
> On Donnerstag, 7. Juni 2007, Doug Goldstein wrote:
> > That's exactly what I'm saying. CPV (Category/Package/Version) requires
> > =, >=, <, <= to begin it.
>
> So you'd like to change every foo/bar occurrence (and that's the common case)
> to >=foo/bar-0 !? Completely out of line, imho. I don't understand what the
> fuzz is about. sys-fs/ntfs3g is absolutely fine. Fighting for the little "-"
> is nonsense.

Um no. IF one specifies sys-foo/bar-3g you expect it to be a atom, else you
have to prefix it with ">=" to be a CPV. If i choose to specify sys-utils/bar
then i get any version of bar, which is fine. If i choose to specify
sys-utils/bar-3 and bar-3 is not a valid atom, repoman cries at me.

Thus, you can continue using the tree just fine :)

HTH,
--
Regards, Matti Bickel
Encrypted/Signed Email preferred
Re: [PMS] Version Naming Clarification [ In reply to ]
Carsten Lohrke wrote:
> On Donnerstag, 7. Juni 2007, Doug Goldstein wrote:
>
>> That's exactly what I'm saying. CPV (Category/Package/Version) requires
>> =, >=, <, <= to begin it.
>>
>
> So you'd like to change every foo/bar occurrence (and that's the common case)
> to >=foo/bar-0 !? Completely out of line, imho. I don't understand what the
> fuzz is about. sys-fs/ntfs3g is absolutely fine. Fighting for the little "-"
> is nonsense.
>
>
> Carsten
>
>
>
No. We are talking about differentiating between "ntfs" version 3g and
"ntfs-3g".

foo/bar is completely valid to reference a package.

foo/bar-3 should be treated as category "foo", package "bar-3".
Currently that is not the case and is not allowed.

=foo/bar-3 would be "foo", package "bar", version "3" as it still is.

Carsten, no offense but I think you totally misunderstood the scope of
what I was trying to convey and Robin explained in better detail.
Essentially, we mentioned something that would not change the tree AT
ALL. It would just clarify the ambiguity of versioning slightly.
--
gentoo-dev@gentoo.org mailing list
Re: [PMS] Version Naming Clarification [ In reply to ]
On Thu, 07 Jun 2007 15:04:17 -0400
Doug Goldstein <cardoe@gentoo.org> wrote:

> That's exactly what I'm saying. CPV (Category/Package/Version)
> requires =, >=, <, <= to begin it.

Nope. Something that starts with an operator is a versioned atom. A CPV
is used in other places when a specific version is required, for
example in package.provided. I guess people aren't that familiar with
the term as it's mostly an API thing, on the user-interface side (or
ebuild-interface side) one generally doesn't deal with CPVs.

Basically an atom is a selector that returns a list of CPVs, and by
prefixing a CPV with an operator you get an atom, but they are still
completely separate things.

Maybe that helps to clear some of the confusion.

--
Marius Mauch <genone@gentoo.org>
--
gentoo-dev@gentoo.org mailing list
Re: [PMS] Version Naming Clarification [ In reply to ]
On Thu, 7 Jun 2007 11:28:26 -0700
"Robin H. Johnson" <robbat2@gentoo.org> wrote:

> 4. If the first character was a !, then remember that, strip the !
> from S, and repeat from 2.
> 5. If you reach this point, you have something that is not valid.

Sorry, but I completely fail to understand what that's supposed to
mean. Where does the ! come from?

> This means if somebody specified:
> sys-fs/ntfs-3g-1.516
> The CAT is 'sys-fs'
> and the PN is 'ntfs-3g-1.516'
> which does not exist.

Exist and valid are two different things, which is the whole issue
here. With the restriction we can validate without checking for
existance, without it we'd have to rely on existance to check if
something is a valid atom or a valid CPV.

> I can't see any logical problems with the above. It probably makes
> things a lot easier in many places.

Can't say anything about that before I understand what you tried to
say ;)

Marius

--
Marius Mauch <genone@gentoo.org>
--
gentoo-dev@gentoo.org mailing list
Re: [PMS] Version Naming Clarification [ In reply to ]
On Thu, 7 Jun 2007 19:42:45 +0200
Marius Mauch <genone@gentoo.org> wrote:

> Thing is: if you see sys-fs/ntfs-3g, is that an atom or a CPV? You
> don't know unless you actually check the tree.

Is there any place in the tree where a dep atom and a CPV are both
accepted? Should there be?
--
gentoo-dev@gentoo.org mailing list
Re: [PMS] Version Naming Clarification [ In reply to ]
On Thu, Jun 07, 2007 at 09:31:44PM +0100, Stephen Bennett wrote:
> On Thu, 7 Jun 2007 19:42:45 +0200
> Marius Mauch <genone@gentoo.org> wrote:
>
> > Thing is: if you see sys-fs/ntfs-3g, is that an atom or a CPV? You
> > don't know unless you actually check the tree.
>
> Is there any place in the tree where a dep atom and a CPV are both
> accepted?

An ebuild's PROVIDE list.

> Should there be?

Probably not.
--
gentoo-dev@gentoo.org mailing list
Re: [PMS] Version Naming Clarification [ In reply to ]
On Thu, 7 Jun 2007 22:33:21 +0200
Harald van Dijk <truedfx@gentoo.org> wrote:
> An ebuild's PROVIDE list.

Nnnnope. Not legal.

--
Ciaran McCreesh
Re: [PMS] Version Naming Clarification [ In reply to ]
On Donnerstag, 7. Juni 2007, Doug Goldstein wrote:
> Carsten, no offense but I think you totally misunderstood the scope of
> what I was trying to convey

Yeah, sorry, should have had read your initial email carefully. Taking
anything before the last - as version information is indeed a Portage bug.


Carsten
Re: [PMS] Version Naming Clarification [ In reply to ]
On Thu, Jun 07, 2007 at 09:40:20PM +0100, Ciaran McCreesh wrote:
> On Thu, 7 Jun 2007 22:33:21 +0200
> Harald van Dijk <truedfx@gentoo.org> wrote:
> > An ebuild's PROVIDE list.
>
> Nnnnope. Not legal.

The question was "Is there any place in the tree where a dep atom and a
CPV are both accepted?" Look at the last word.
--
gentoo-dev@gentoo.org mailing list
Re: [PMS] Version Naming Clarification [ In reply to ]
On Thu, 7 Jun 2007 22:33:21 +0200
Harald van Dijk <truedfx@gentoo.org> wrote:

> An ebuild's PROVIDE list.

According to PMS at least, PROVIDE only allows category/package, with
no versioning.
--
gentoo-dev@gentoo.org mailing list
Re: [PMS] Version Naming Clarification [ In reply to ]
On Thu, 7 Jun 2007 22:52:39 +0200
Harald van Dijk <truedfx@gentoo.org> wrote:
> On Thu, Jun 07, 2007 at 09:40:20PM +0100, Ciaran McCreesh wrote:
> > On Thu, 7 Jun 2007 22:33:21 +0200
> > Harald van Dijk <truedfx@gentoo.org> wrote:
> > > An ebuild's PROVIDE list.
> >
> > Nnnnope. Not legal.
>
> The question was "Is there any place in the tree where a dep atom and
> a CPV are both accepted?" Look at the last word.

If it's not legal, it doesn't matter whether or not it's accepted by
fluke.

--
Ciaran McCreesh
Re: [PMS] Version Naming Clarification [ In reply to ]
On Thu, Jun 07, 2007 at 10:15:35PM +0100, Ciaran McCreesh wrote:
> On Thu, 7 Jun 2007 22:52:39 +0200
> Harald van Dijk <truedfx@gentoo.org> wrote:
> > On Thu, Jun 07, 2007 at 09:40:20PM +0100, Ciaran McCreesh wrote:
> > > On Thu, 7 Jun 2007 22:33:21 +0200
> > > Harald van Dijk <truedfx@gentoo.org> wrote:
> > > > An ebuild's PROVIDE list.
> > >
> > > Nnnnope. Not legal.
> >
> > The question was "Is there any place in the tree where a dep atom and
> > a CPV are both accepted?" Look at the last word.
>
> If it's not legal, it doesn't matter whether or not it's accepted by
> fluke.

If the question is whether it's accepted, what matters is whether it's
accepted. If you're interested in legality, ask whether it should be
accepted, not whether it is. spb did that in the same message, and I
responded negatively to that. I'm really not seeing your point here.
--
gentoo-dev@gentoo.org mailing list
Re: [PMS] Version Naming Clarification [ In reply to ]
On Thu, 7 Jun 2007 23:31:38 +0200
Harald van Dijk <truedfx@gentoo.org> wrote:
> If the question is whether it's accepted, what matters is whether it's
> accepted. If you're interested in legality, ask whether it should be
> accepted, not whether it is. spb did that in the same message, and I
> responded negatively to that. I'm really not seeing your point here.

If Portage currently happens to, say, disable sandbox if an ebuild sets
GIVE_ME_A_COOKIE="yes" globally, it does not mean that ebuilds may rely
upon this behaviour, nor does it mean that Portage cannot change in
such a way that breaks this behaviour. The acceptance question is
relevant only for legitimate behaviour; things accepted by fluke aren't
considered accepted.

--
Ciaran McCreesh
Re: [PMS] Version Naming Clarification [ In reply to ]
On Thu, 7 Jun 2007 22:38:49 +0100
Ciaran McCreesh <ciaranm@ciaranm.org> wrote:

> If Portage currently happens to, say, disable sandbox if an ebuild
> sets GIVE_ME_A_COOKIE="yes" globally, it does not mean that ebuilds
> may rely upon this behaviour, nor does it mean that Portage cannot
> change in such a way that breaks this behaviour. The acceptance
> question is relevant only for legitimate behaviour; things accepted
> by fluke aren't considered accepted.

However, the fact that Portage currently accepts it is tangentially
related to the matter at hand, because it's a piece of code that may
get confused by this sort of ambiguity. Fortunately it's (relatively
speaking) trivial to fix, because the ambiguity only happens due to
behaviour that shouldn't really be there.
--
gentoo-dev@gentoo.org mailing list
Re: [PMS] Version Naming Clarification [ In reply to ]
Stephen Bennett wrote:
> On Thu, 7 Jun 2007 22:38:49 +0100
> Ciaran McCreesh <ciaranm@ciaranm.org> wrote:
>
>> If Portage currently happens to, say, disable sandbox if an ebuild
>> sets GIVE_ME_A_COOKIE="yes" globally, it does not mean that ebuilds
>> may rely upon this behaviour, nor does it mean that Portage cannot
>> change in such a way that breaks this behaviour. The acceptance
>> question is relevant only for legitimate behaviour; things accepted
>> by fluke aren't considered accepted.
>
> However, the fact that Portage currently accepts it is tangentially
> related to the matter at hand, because it's a piece of code that may
> get confused by this sort of ambiguity. Fortunately it's (relatively
> speaking) trivial to fix, because the ambiguity only happens due to
> behaviour that shouldn't really be there.


Can you and Ciaran update the PMS to be specific and clear on this
point? Cause I think everyone is in agreement here and all technical
issues have been addressed. Unless I missed something.

--
Doug Goldstein <cardoe@gentoo.org>
http://dev.gentoo.org/~cardoe/
--
gentoo-dev@gentoo.org mailing list