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

Re: next generation apt/dpkg-cross



Neil Williams <codehelp@debian.org> writes:

> On Wed, 20 Jan 2010 15:43:40 +0100
> Goswin von Brederlow <goswin-v-b@web.de> wrote:
>> > What's been missing is how to get apt to do that *after* we've
>> > mangled the package names by adding '$arch-cross'. Once we stop
>> > doing that, apt is just fine with the dependency resolution in
>> > download mode. (See multistrap.) Once we fix that and get dpkg to
>> > be able to install the downloaded .debs, apt can take over from
>> > apt-cross.
>> 
>> I never had a problem with that in my implementation.
>
> If it can really do that with complex dependency chains like installing
> a full cross-building environment for building GTK+ applications in a
> clean chroot (see #502433) then apt-cross can be replaced.

So I fixed the mangling of Sources files and used gtk+2.0 as testcase.

mrvn@frosties:~% apt-cache showsrc libgtk2.0-0
Package: gtk+2.0
Binary: libgtk2.0-0, libgtk-directfb-2.0-0, libgtk-directfb-2.0-0-udeb, libgtk2.0-common, libgtk2.0-bin, libgtk2.0-dev, libgtk-directfb-2.0-dev, libgtk2.0-0-dbg, libgtk2.0-doc, gtk2.0-examples, gtk2-engines-pixbuf, libgail18, libgail-common, libgail-dev, libgail-dbg, libgail-doc
Version: 2.18.6-1
Priority: optional
Section: libs
Maintainer: Sebastien Bacher <seb128@debian.org>
Build-Depends: debhelper (>= 5.0.22), gettext, pkg-config, autotools-dev, libglib2.0-dev (>= 2.21.3), libpango1.0-dev (>= 1.20), libatk1.0-dev (>= 1.13.0), libx11-dev (>= 2:1.0.0-6), libxext-dev (>= 1:1.0.1-2), libxi-dev (>= 1:1.0.1-4), libxrandr-dev (>= 1:1.2.99), libxt-dev, libxrender-dev, libxft-dev, libxcursor-dev, libxcomposite-dev (>= 1:0.2.0-3), libxdamage-dev (>= 1:1.0.1-3), libxkbfile-dev, libxinerama-dev (>= 1:1.0.1-4.1), libxfixes-dev (>= 1:3.0.0-3), libcairo2-dev (>= 1.6.4-6.1), libtiff4-dev, libjpeg62-dev, libjasper-dev, libpng12-dev, gnome-pkg-tools (>= 0.11), chrpath, dpkg-dev (>= 1.13.19), x11proto-xext-dev, libdirectfb-dev (>= 1.0.0), libcups2-dev (>= 1.2), quilt, gawk
Build-Depends-Indep: gtk-doc-tools (>= 1.8), docbook-xml, libglib2.0-doc, libatk1.0-doc, libpango1.0-doc, libcairo2-doc
Architecture: any
Standards-Version: 3.8.3
Format: 1.0
Directory: pool/main/g/gtk+2.0
Files:
 5c71f8de3f28eb7b412f32f4923e0c5b 2175 gtk+2.0_2.18.6-1.dsc
 f98617af9f6be3065f64248f78dae2b7 26600726 gtk+2.0_2.18.6.orig.tar.gz
 e58adbde28e1c2e14f4187edaba3bd2b 272139 gtk+2.0_2.18.6-1.diff.gz
Uploaders: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>, Emilio Pozuelo Monfort <pochu@debian.org>, Sebastian Dröge <slomo@debian.org>
Checksums-Sha1: 
 1ee5a4c7d5c1e5eaa9298c17fa42b15a47f5f401 26600726 gtk+2.0_2.18.6.orig.tar.gz
 4670f08766e538c5b6f7e772055a4506315db301 272139 gtk+2.0_2.18.6-1.diff.gz
Checksums-Sha256: 
 498282e1f9d3bcebb98995bdf41cfab8f90096884d3572f27dc258c7c206da9c 26600726 gtk+2.0_2.18.6.orig.tar.gz
 85b299aaeeeee0a9bfdabe9e377b8548c9f6b55674fe49a72fb1183c6cad8569 272139 gtk+2.0_2.18.6-1.diff.gz

mrvn@frosties:~% apt-cache showsrc libgtk2.0-0-i386-cross
Package: gtk+2.0-i386-cross
Architecture: any
Version: 2.18.6-1
Binary: libgtk2.0-0-i386-cross, libgtk-directfb-2.0-0-i386-cross, libgtk-directfb-2.0-0-udeb-i386-cross, libgtk2.0-common, libgtk2.0-bin, libgtk2.0-dev-i386-cross, libgtk-directfb-2.0-dev-i386-cross, libgtk2.0-0-dbg-i386-cross, libgtk2.0-doc, gtk2.0-examples, gtk2-engines-pixbuf-i386-cross, libgail18-i386-cross, libgail-common-i386-cross, libgail-dev-i386-cross, libgail-dbg-i386-cross, libgail-doc
Build-Depends: debhelper (>= 5.0.22), gettext, pkg-config, autotools-dev, libglib2.0-dev-i386-cross (>= 2.21.3~0.1), libpango1.0-dev-i386-cross (>= 1.20~0.1), libatk1.0-dev-i386-cross (>= 1.13.0~0.1), libx11-dev-i386-cross (>= 2:1.0.0-6~0.1), libxext-dev-i386-cross (>= 1:1.0.1-2~0.1), libxi-dev-i386-cross (>= 1:1.0.1-4~0.1), libxrandr-dev-i386-cross (>= 1:1.2.99~0.1), libxt-dev-i386-cross, libxrender-dev-i386-cross, libxft-dev-i386-cross, libxcursor-dev-i386-cross, libxcomposite-dev-i386-cross (>= 1:0.2.0-3~0.1), libxdamage-dev-i386-cross (>= 1:1.0.1-3~0.1), libxkbfile-dev-i386-cross, libxinerama-dev-i386-cross (>= 1:1.0.1-4.1~0.1), libxfixes-dev-i386-cross (>= 1:3.0.0-3~0.1), libcairo2-dev-i386-cross (>= 1.6.4-6.1~0.1), libtiff4-dev-i386-cross, libjpeg62-dev-i386-cross, libjasper-dev-i386-cross, libpng12-dev-i386-cross, gnome-pkg-tools (>= 0.11), chrpath, dpkg-dev (>= 1.13.19), x11proto-xext-dev, libdirectfb-dev-i386-cross (>= 1.0.0~0.1), libcups2-dev-i386-cross (>= 1.2~0.1), quilt, gawk
Build-Depends-Indep: gtk-doc-tools (>= 1.8), docbook-xml, libglib2.0-doc, libatk1.0-doc, libpango1.0-doc, libcairo2-doc
Checksums-Sha1: 
 1ee5a4c7d5c1e5eaa9298c17fa42b15a47f5f401 26600726 gtk+2.0_2.18.6.orig.tar.gz
 4670f08766e538c5b6f7e772055a4506315db301 272139 gtk+2.0_2.18.6-1.diff.gz
Checksums-Sha256: 
 498282e1f9d3bcebb98995bdf41cfab8f90096884d3572f27dc258c7c206da9c 26600726 gtk+2.0_2.18.6.orig.tar.gz
 85b299aaeeeee0a9bfdabe9e377b8548c9f6b55674fe49a72fb1183c6cad8569 272139 gtk+2.0_2.18.6-1.diff.gz
Directory: pool/main/g/gtk+2.0
Files: 
 5c71f8de3f28eb7b412f32f4923e0c5b 2175 gtk+2.0_2.18.6-1.dsc
 f98617af9f6be3065f64248f78dae2b7 26600726 gtk+2.0_2.18.6.orig.tar.gz
 e58adbde28e1c2e14f4187edaba3bd2b 272139 gtk+2.0_2.18.6-1.diff.gz
Format: 1.0
Maintainer: Sebastien Bacher <seb128@debian.org>
Priority: optional
Section: libs
Standards-Version: 3.8.3
Uploaders: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>, Emilio Pozuelo Monfort <pochu@debian.org>, Sebastian Dröge <slomo@debian.org>

mrvn@frosties:~% sudo apt-get build-dep gtk+2.0-i386-cross
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  automake docbook docbook-dsssl docbook-to-man gnome-common gnome-pkg-tools
  gtk-doc-tools highlight highlight-common intltool jade lib32gcc1
  lib32stdc++6 lib32z1 lib32z1-dev liba52-0.7.4-i386-cross
  libatk1.0-0-i386-cross libatk1.0-dev-i386-cross libatk1.0-doc
  libavahi-client3-i386-cross libavahi-common-data-i386-cross
  libavahi-common3-i386-cross libc6-dev-i386 libc6-i386
  libcairo2-dev-i386-cross libcairo2-doc libcairo2-i386-cross
  libcomerr2-i386-cross libcups2-dev-i386-cross libcups2-i386-cross
  libdatrie1-i386-cross libdbus-1-3-i386-cross libdirectfb-1.2-0-i386-cross
  libdirectfb-dev-i386-cross libdirectfb-extra-i386-cross
  libexpat1-dev-i386-cross libexpat1-i386-cross libfontconfig1-dev-i386-cross
  libfontconfig1-i386-cross libfreetype6-dev-i386-cross
  libfreetype6-i386-cross libgcrypt11-dev-i386-cross libgcrypt11-i386-cross
  libglib2.0-0-i386-cross libglib2.0-dev-i386-cross libglib2.0-doc
  libgnutls-dev-i386-cross libgnutls26-i386-cross libgpg-error-dev-i386-cross
  libgpg-error0-i386-cross libgssapi-krb5-2-i386-cross libice-dev-i386-cross
  libice6-i386-cross libjasper-dev-i386-cross libjasper1-i386-cross
  libjpeg62-dev-i386-cross libjpeg62-i386-cross libk5crypto3-i386-cross
  libkeyutils1-i386-cross libkrb5-3-i386-cross libkrb5-dev-i386-cross
  libkrb5support0-i386-cross libmpeg3-1-i386-cross libmpeg3-dev-i386-cross
  libpango1.0-0-i386-cross libpango1.0-dev-i386-cross libpango1.0-doc
  libpcre3-i386-cross libpixman-1-0-i386-cross libpixman-1-dev-i386-cross
  libpng12-0-i386-cross libpng12-dev-i386-cross
  libpthread-stubs0-dev-i386-cross libpthread-stubs0-i386-cross
  libselinux1-i386-cross libsm-dev-i386-cross libsm6-i386-cross
  libsysfs-dev-i386-cross libsysfs2-i386-cross libtasn1-3-dev-i386-cross
  libtasn1-3-i386-cross libthai0-i386-cross libtiff4-dev-i386-cross
  libtiff4-i386-cross libtiffxx0c2-i386-cross libts-0.0-0-i386-cross
  libuuid1-i386-cross libx11-6-i386-cross libx11-dev-i386-cross
  libxau-dev-i386-cross libxau6-i386-cross libxcb-render-util0-dev-i386-cross
  libxcb-render-util0-i386-cross libxcb-render0-dev-i386-cross
  libxcb-render0-i386-cross libxcb1-dev-i386-cross libxcb1-i386-cross
  libxcomposite-dev-i386-cross libxcomposite1-i386-cross
  libxcursor-dev-i386-cross libxcursor1-i386-cross libxdamage-dev-i386-cross
  libxdamage1-i386-cross libxdmcp-dev-i386-cross libxdmcp6-i386-cross
  libxext-dev-i386-cross libxext6-i386-cross libxfixes-dev-i386-cross
  libxfixes3-i386-cross libxft-dev-i386-cross libxft2-i386-cross
  libxi-dev-i386-cross libxi6-i386-cross libxinerama-dev-i386-cross
  libxinerama1-i386-cross libxkbfile-dev-i386-cross libxkbfile1-i386-cross
  libxrandr-dev-i386-cross libxrandr2-i386-cross libxrender-dev-i386-cross
  libxrender1-i386-cross libxt-dev-i386-cross libxt6-i386-cross
0 upgraded, 123 newly installed, 0 to remove and 110 not upgraded.
Need to get 32.5MB/32.6MB of archives.
After this operation, 107MB of additional disk space will be used.
Do you want to continue [Y/n]? 



As you can see tools like automake are kept as native packages while
libraries are changed to -<arch>-cross. So far it looks really
promising. Some things might need further tuning in the rename.list but
that is a case by case thing.

http://mentors.debian.net/debian/pool/main/a/apt-ma-emu/

MfG
        Goswin


Reply to: