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

release goal: Make the base system cross-buildable



Make the base system cross-buildable
====================================

It is very useful to be able to cross-build packages in Debian for
many reasons, especially around faster dev times on slow
architectures, and new ports. Making the whole archive crossbuildable
is a huge goal, but making the bottom 140 or so packages needed for a
port bootstrap cross-buildable is a reasonable goal. This work has
already been done in Ubuntu (Raring) and should be upstreamed into
Debian.

This goal is (somewhat) dependent on the CrossToolchains in the
Archive goal. (It can still be done with external toolchains if need
be, but it makes much more sense to have everything necessary
maintained in the archive).

Details
-------

This needs:

 * all the build-deps of the bottom 140 packages to be multiarchified
 (should be largely done already, or at least bugs filed)

 * cross-building bugs in those packages fixed (many bugs already
 filed, copy the rest over from ubuntu).

 * autoconf cache variables to be set to supply info which can not be
 correctly determined in a cross environment (using
 dpkg-cross/cross-support) (Already done - needs testing)

 * preferably availability of crossbuild-essential packages, and
 corresponding toolchains in the archive. 

optional extras
---------------

A cross-buildd running to check cross-buildability of packages should
be set up so that maintainers get timely info on breakages, otherwise
builds are quite likely to be broken when you want to use them. Like
this one: http://people.linaro.org/~wookey/buildd/

Targets
-------

In principle (and practice) this goal is architecture independent, but
in practice the scope can be limited to amd64->arm(hf/el) building if
it helps as that is where most current interest lies.

The package set needs to be checked but should be very close to:

    eglibc
    pcre3
    attr
    acl
    zlib
    hostname
    libsepol
    gpm
    ifupdown
    insserv
    module-init-tools
    python-defaults
    libselinux
    ncurses
    bash
    libpciaccess
    libpng
    slang
    base-files
    mawk
    makedev
    make
    xz-utils
    dpkg
    netbase
    base-files
    time
    manpages
    libxau
    libxdmcp
    libpthread-stubs
    diffutils
    tar
    cpio
    diffutils
    gmp
    gdbm
    sed
    tzdata
    base-passwd
    coreutils
    findutils
    libnfnetlink
    libffi
    iptables
    libelf
    debconf
    debianutils
    ucf
    xtrans
    x11proto-kb
    x11proto-input
    x11proto-render
    x11proto-xf86bigfont
    x11proto-core
    expat
    net-tools
    tcl8.5
    tcp-wrappers
    ubuntu-keyring
    scowl
    postgresql-common
    openslp-dfsg
    procps
    psmisc
    phpmyadmin
    libusb
    mcrypt
    pixman
    libice
    bzip2
    flex
    db4.8
    dash
    iptables
    keyutils
    less
    sysvinit
    nano
    db-defaults
    grep
    dbconfig-comon
    linux-atm
    util-linux
    e2fsprogs
    ustr
    kmod
    dbus
    libsm
    cunit
    glib2.0
    udev
    openssl
    initramfs-tools
    libgcrypt11
    libidn
    wget
    sysfsutils
    iputils
    ppl
    binutils
    busybox
    libtasn1-3
    libfribidi
    tcl8.5
    sqlite3
    db
    cracklib2
    pam
    libcap2
    libsemanage
    shadow
    iproute
    ppl
    cloog-ppl
    libbsd
    libedit
    dbus
    libgpg-error
    popt
    p11-kit
    gnutls26
    libxau
    check
    perl
    libjpeg
    initramfs-tools
    debconf
    lsb
    tzdata
    makedev
    pam
    mountall
    readline
    cron
    glib2.0
    nspr
    klibc
    nano
    less
    gcc-4.8 

Resources
---------

Advocates:

 *   Wookey
 *   Colin Watson 

Mailing list: debian-cross@lists.debian.org



Wookey
-- 
Principal hats:  Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/


Reply to: