package, package2, package3 naming-with-version exploit

Tomas Mraz tmraz at redhat.com
Fri Mar 29 10:02:11 UTC 2013


On Thu, 2013-03-28 at 14:43 -0400, James Antill wrote: 
> On Thu, 2013-03-28 at 13:53 +0100, Vít Ondruch wrote:
> > Dne 28.3.2013 13:30, Jan Zelený napsal(a):
> > > On 28. 3. 2013 at 12:59:44, Vít Ondruch wrote:
> > >> Dne 28.3.2013 12:09, Florian Festi napsal(a):
> > >>> This is done to make life easier for package maintainers.
> > >> Sorry, you definitely not speak for me! This are just excuses. And I
> > >> asked already several times to have some way to reliable support
> > >> multiple version of packages without mangling their names.
> > > Víťo,
> > > I certainly understand your frustration, as it comes from talking about this
> > > topic over and over again. However Ruby community is a *very* special case in
> > > this regard and I'd like to treat it as such.
> > >
> > > If you want, we can start a discussion here. But if we do, let's keep the
> > > discussion strictly constructive and just about *technical* problems. Let's
> > > not take this to design level of things, as Ruby and Fedora are two completely
> > > different worlds that will never be fully compatible by design. Therefore the
> > > final solution (if there is any) has to be some sort of compromise.
> > >
> > > Thanks
> > > Jan
> > 
> > My point is: "First step to find technical solution for some issue is 
> > admit that there is some issue".
> 
>  I agree this is a problem, everyone who knows how Fedora packaging
> works has said, to you, some variant of:
> 
>  The technical problem is being able to install multiple versions of a
> package, and you can do that now (and have been able to for the last 10
> years).
>  Here is a long list of technical reasons why your desire to have all
> the parallel installable versions of "foo" called "foo" is not going to
> work.

I can imagine only one reason for this desire - so that the user can do
just "yum install foo" when he just wants the latest version of "foo".

What I can see as a possible solution is the following (whether the
desire above is really worth implementing it is another question):
Add a new field to the current NEVR fields called for example Branch.

So you would have a NBEVR.

For rpm and yum the Branch field would be something to be treated as
part of Name, except situation when 'yum install Name' would just choose
to install Name-Branch package with highest Branch.

The Fedora packaging infrastructure on the other hand would work with
Branch rather as part of the version except it would allow having
multiple packages of the same name but different branch in the
repositories. The infrastructure would have to also allow both having a
different git branch in the git repositories for different "package
branch" and also having different "package branches" built from a single
git branch.

The question is whether good backwards compatibility can be achieved and
whether all this work needed to support this is really worth the
improvements for developers and end users.
-- 
Tomas Mraz
No matter how far down the wrong road you've gone, turn back.
                                              Turkish proverb



More information about the devel mailing list