[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gentoo-dev
Subject:    Re: [gentoo-dev] A more natural (human-friendly) syntax for dependencies
From:       Michał Górny <mgorny () gentoo ! org>
Date:       2012-09-22 16:30:52
Message-ID: 20120922183052.1d737256 () pomiocik ! lan
[Download RAW message or body]


On Sat, 22 Sep 2012 18:13:48 +0200
Luca Barbato <lu_zero@gentoo.org> wrote:

> On 09/22/2012 09:55 AM, Michał Górny wrote:
> > Hello,
> > 
> > The current dependency syntax:
> > 
> >   [VERSION-OP] PACKAGE-NAME ["-" PACKAGE-VERSION]
> > 
> > suffers a few problems:
> 
> I like the current one your proposal seems quite a problem for a large
> deal of usecases.
> 
> > 1. It is not really human-friendly.
> > 
> > People don't say things like:
> > 
> >   I need newer than monkey-1.2.
> > 
> > They say instead:
> > 
> >   I need monkey, newer than version 1.2.
> 
> "I need monkey-1.2 or newer" sounds natural to me.

'monkey-1.2' or 'monkey version 1.2'? The former being a package name.

> > 4. Adding, removing and changing versions is not friendly at all.
> > 
> > Consider the following dep:
> > 
> >   >=dev-foo/bar-bas-bat-11.2.4_alpha
> > 
> > Now, you want to bump the dep to 11.3. You need to find the version
> > number, and modify it. Depending on the configuration, ^w is going
> > to eat the whole package name or just a single component.
> 
> Use a better editor.

Which one has automagic atom stripping?

> > Then, you want to remove the whole version. You need to first remove
> > the version number, making sure it doesn't eat a bit of package name
> > as well. Then, you have to go back to the beginning of the string,
> > and remove the operator.
> 
> >   PACKAGE-NAME [[*WSP] VERSION-OP [*WSP] PACKAGE-VERSION]]
> 
> whitespace as separator for atoms looks a huge can of worms waiting to
> be opened. how you'd pass that to emerge? How you make a list of
> atoms?

emerge 'foo >= 1.1' 'bar < 1.0'?
emerge foo '>=' 1.1 bar '<' 1.0?

And what do you mean by 'a list of atoms'? I don't see a single problem
parsing this syntax. It's a very simple stream of tokens.

> Please try not fix/break what is not broken.

So we're now switching Gentoo to EOL and just fixing bugs?

-- 
Best regards,
Michał Górny

["signature.asc" (application/pgp-signature)]

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic