[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [multiarch] Proposal for *-dev packages



"Thomas Viehmann" <tv@beamnet.de> writes:

> Goswin von Brederlow (brederlo@informatik.uni-tuebingen.de) wrote:
> >... allowing "Abi: ..." and having
> >multiple packages with the same name installed aparently isn't liked
> >at all.
> It's not likely for sarge, but if you get it working, I'd doubt that it'd be barred
> forever.

Never was ment for sarge. No way.

> >> Why can't Provides/Conflicts be used to do this?
> >> Your point would get stronger you'd discuss why these couldn't be used
> >> to solve the problem.
> >Say we have the following:
> >Package: libfoo-dev
> >Version: 1.2.3
> >
> >Package: lib64foo-dev
> >Version: 1.2.3
> >Provides: libfoo-dev, libfoo-dev=1.2.3
> >
> >Source: bla
> >Build-Depends: libfoo (>= 1.2.3)
> 
> Common practice (see libpkg-guide):
> Package: libfooX-dev (arch i386)
> Provides: libfoo-dev
> Conflicts: libfoo-dev

That makes versioned depends complicated and everything would have to
be converted to actually use such a Provides all the time. Too many
debs don't. But its a possibility.

> Package: libfooX-dev (arch amd64)
> Provides: libfoo-dev
> Conflicts: libfoo-dev
> 
> >Now the user does:
> >apt-get install libfoo-dev
> >(some month pass)
> >apt-get build-dep bla
> >apt-get -b source bla
> 
> So now some libfoo-dev package will be installed. I don't see how your binary-all
> -dev plus arch dependencies is any better than binary-arch -dev packages.
> [...]

The -dev package would install _both_ architectures arch dependend
packages for multiarch and just one for non-multiarch. That way
multiarch has some bloat (just on the users harddisk) but will allways
have the right version.

And people can still do non multiarch amd64.

> >And Conflict means that you can't have a user wanting 32bit programms
> >and one wanting 64bit programms on the same system.
> Hu? Conflicts for -dev files doesn't mean anything for a user
> wanting any programs.  I can see that there is the problem of i386
> -dev packages being installed but I cannot see how this is different
> from installing all -dev packages with i386 arch dependencies where
> you'd need the 64bit versions.

Wanting to compile, sorry.

> You stated and claimed to solve the problem "multiple versions of
> the same -dev packages should not be (aptempted to be) installed"
> and suggested a solution. I was merely pointing out that the common
> "fooSOVER-dev provides/conflicts foo-dev" practice solves the very
> same problem just as well.  I'm not saying that there isn't any
> problem, but that your suggestion doesn't solve any that cannot be
> dealt with otherwise.

The "fooSOVER-dev provides/conflicts foo-dev" doesn't help getting the
right -dev package for the target arch the user chooses to be
available or even prevent i386 -dev packages from falsely providing
stuff for amd64 compiles (if on 64bit developement is supported for amd64).

But if there already is a fooSOVER-dev a foo-dev package depending on
the right set of fooSOVER-dev packages instead of provides/conflicts
would do the trick.

MfG
        Goswin



Reply to: