* Junichi Uekawa <dancer@netfort.gr.jp> [030904 20:27]: > > And marc.miller@amd.com writes: > > > They won't always conflict, most notably in the case of libraries. > > > 64-bit libraries are in /usr/lib64 and 32-bit libraries are in > > > /usr/lib. > > > > Presumably the packages for the libraries will have different names, > > and thus different entries in /usr/share/doc, so again that wouldn't > > be a problem. (I haven't followed the discussion about this very > > closely though.) > > That presumption is not quite correct. > These libraries have the same soname and installed in different directories, > and 32-bit and 64-bit versions only differ by the architecture field; > i.e. they probably share /usr/share/doc and /etc. While my other reply was correct I am not sure if I addressed the question... so here is another attempt. Say you have two simple packages in i386 now, let's call them libfoo and bar. First is a library, the second is a utility. package arch contents --------------------------------------------- libfoo i386 /lib/libfoo.so /usr/share/doc/libfoo-version/libfoo.txt bar i386 /bin/bar /usr/share/doc/bar-version/bar.txt In the 64/32-biarch system you would have the following packages: package arch contents ---------------------------------------------- libfoo i386 /lib/libfoo.so /usr/share/doc/libfoo-version/libfoo.txt bar i386 /bin/bar /usr/share/doc/bar/bar.txt lib64foo amd64 /lib64/libfoo.so /usr/share/doc/lib64foo-version/lib64foo.txt bar amd64 /bin/bar /usr/share/doc/bar-version/bar.txt The first two packages did not change. If you apt-get them, they will come from the i386 archive. This is good. The 64bit version of libfoo, is called lib64foo. This way you can install both if you need both to satisfy dependencies. Note however, that you cannot have two versions of bar installed. Both i386 and amd64 have the same package name and hence clash. You can tell apt which you prefer to install amd64 or i386 (in case there is a choice as there is with bar), but dpkg will prevent both from being installed. Also note that if the i386 bar happens to depend on libfoo, then the amd64 bar will depend on lib64foo. Finally, if the documentation part of the package is large, we currently split the packages up into multiple ones: like dpkg and dpkg-doc, for example. So if the above /usr/share/doc/libfoo was large I would split libfoo into libfoo, libfoo-doc, and lib64foo while porting it to amd64. BTW, for those that don't know: The above relationships are coded up in my dpkg patches. The apt stuff is a bit more complex and is not yet finished; more specifically, apt-get will revert to i386 if I don't keep my amd64 packages upto date with the i386 archive :( B. -- WebSig: http://www.jukie.net/~bart/sig/
Attachment:
pgp4qNe9MyVCG.pgp
Description: PGP signature