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: