On Fri, 15 Jan 2010 12:17:40 +0000 Neil Williams <codeh...@debian.org> wrote:
Some multiarch packages do exist in sid: $ cat /var/lib/apt-cross/multiarch.list # this file is empty initially and updated using # /usr/share/apt-cross/update-multiarch.pl console-braille hwloc hwloc-nox libhwloc0 liblouis-bin liblouis0 liblouisxml-bin liblouisxml1 loadlin vite liblouisxml1 is a reverse dependency of liblouis0 in the same list, so testing with the dpkg-cross changes produces an empty -cross package: $ dpkg -I liblouisxml1-armel-cross_2.1.0-1_all.deb new debian package, version 2.0. size 738 bytes: control archive= 443 bytes. 534 bytes, 13 lines control 0 bytes, 0 lines md5sums Package: liblouisxml1-armel-cross Version: 2.1.0-1 Section: devel Priority: extra Architecture: all Maintainer: Debian Accessibility Team <debian-accessibil...@lists.debian.org> Source: liblouisxml Depends: libc6-armel-cross (>= 2.4), liblouis0, libxml2-armel-cross (>= 2.7.4), liblouisxml-data-armel-cross Provides: liblouisxml1-armel-dcv1 X-Multiarch: delete Description: liblouisxml1 - multiarch dummy package This package was generated by dpkg-cross as a dummy multiarch package. . Remove this package when there are no reverse dependencies left. Please check the Depends: line and the rest of the output carefully. If apt-cross was handling this, it would probably pass '-X liblouisxml-data' as that is an Architecture: all package, resulting in: Depends: libc6-armel-cross (>= 2.4), liblouis0, libxml2-armel-cross (>= 2.7.4) > new -cross packages are built. The location of this file is, as yet, > undecided. It *should* be in /etc/ but apt-cross would then need to > run under sudo to update it, which is something we've avoided before. The file cannot be a conffile, it needs to be generated - otherwise migrations of dpkg-cross into testing could make the list go out of sync. So, dpkg-cross will simply contain the directory in the package itself. Admins can then choose to create files in that directory that list the binary package names which are multiarch-compliant. For example, copy /var/lib/apt-cross/multiarch.list to /etc/dpkg-cross/multiarch-cross.d/ or create a new file for packages that are not currently part of Debian. If you use the new helper from apt-cross, the lists in all files from the /etc/dpkg-cross/multiarch-cross.d/ directory will be collated and only packages not already included will be put into the /var/lib/apt-cross/multiarch.list file. > 1. Absolute and total reliance on the accuracy of the config file(s) > created, updated and maintained by a separate process, e.g. > update-multiarch.pl from apt-cross (new helper). (If you need two > configurations, use one or more chroots.) > 2. If the binary package name being handled by dpkg-cross exists in > that config file, create a multiarch-cross version - if not, > behave precisely as now. > 3. multiarch-cross versions have NO files in the package of any kind. > 4. multiarch-cross versions have a mangled description indicating a > dummy package > 5. multiarch-cross versions depend on the multiarch native package, > i.e. libfoo-ARCH-cross depends on libfoo at or greater than the > version of libfoo that first includes multiarch support. > 6. multiarch-cross versions include a new control field: > X-Multiarch: delete > 7. multiarch-cross versions have exactly the same package name as > now, e.g. libfoo-armel-cross, to avoid disturbing reverse > dependencies. -- Neil Williams ============= http://www.data-freedom.org/ http://www.linux.codehelp.co.uk/ http://e-mail.is-not-s.ms/
pgppsnVQdrikq.pgp
Description: PGP signature