6154
Comment: new page
|
13709
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
Emdebian Crush 1.0 includes the following packages: ||acl 2.2.47-2|| ||apt 0.7.20.2|| ||at 3.1.10.2|| ||atk1.0 1.22.0-1|| ||attr 1:2.4.43-2|| ||audiofile 0.2.6-7|| ||avahi 0.6.22-3|| ||base-files 5|| ||base-passwd 3.5.20|| ||bluez-libs 3.36-1|| ||bsdmainutils 6.1.10|| ||busybox 1:1.11.1-1|| ||bzip2 1.0.5-1|| ||c-ares 1.5.2-4|| ||cairo 1.6.4-7|| ||cdebconf 0.138lenny2|| ||console-tools 1:0.2.3dbs-65.1|| ||coreutils 6.10-6|| ||cpio 2.9-13|| ||cracklib2 2.8.12-8|| ||cron 3.0pl1-105|| ||cups 1.3.8-1lenny4.1|| ||cupsys 1.3.5-1|| ||curl 7.18.2-8|| ||dash 0.5.4-12|| ||dbus 1.2.1-5|| ||dbus-glib 0.76-1|| ||debconf 1.5.24|| ||debian-archive-keyring 2009.01.31|| ||debianutils 2.30|| ||devmapper 2:1.02.27-4|| ||dhcp3 3.1.1-6|| ||dialog 1.1-20080316-1|| ||diffutils 2.8.1-12|| ||directfb 1.0.1-11|| ||dpkg 1.14.25|| ||dropbear 0.51-1|| ||e2fsprogs 1.41.3-1|| ||ed 0.7-3|| ||esound 0.2.36-3|| ||expat 2.0.1-4|| ||fam 2.7.0-13.3|| ||file 4.26-1|| ||findutils 4.4.0-2|| ||fontconfig 2.6.0-3|| ||freetype 2.3.7-2|| ||galculator 1.3.1-2|| ||gcc-4.3 4.3.2-1.1|| ||gconf 2.22.0-1|| ||glib2.0 2.16.6-1|| ||glibc 2.7-18|| |
Emdebian Crush 1.0 includes the following source packages: || '''Package''' || '''Version''' ||'''Status'''||'''Tags'''|| ||acl ||2.2.47-2||Bug [http://bugs.debian.org/284167 284167]|| || ||apt ||0.7.20.2||Wait|| || ||at ||3.1.10.2||Bug [http://bugs.debian.org/480825 480825]|| || ||atk1.0 ||1.22.0-1||Wait|| || ||attr ||1:2.4.43-2||Bug [http://bugs.debian.org/284044 284044]|| || ||''audiofile'' ||''0.2.6-7''|| ||''Done'' || ||avahi ||0.6.22-3||Wait|| || ||base-files ||5||Vendor|| || ||''base-passwd'' ||''3.5.20''|| ||''Done''|| ||bluez-libs ||3.36-1||Chain [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=450483 450483] ||(cdbs)|| ||bsdmainutils ||6.1.10||Wait ||(xcontrol)|| ||busybox ||1:1.11.1-1||Bug [http://bugs.debian.org/465290 465290]|| || ||bzip2 ||1.0.5-1||Wait|| || ||c-ares ||1.5.2-4||Wait|| || ||cairo ||1.6.4-7||Tools ||(docs+xcontrol)|| ||cdebconf ||0.138lenny2||Wait|| || ||console-tools ||1:0.2.3dbs-65.1||Tools ||(xcontrol, libtool)|| ||coreutils ||6.10-6||Wait|| || ||'''cpio''' ||2.9-13||Wait||('''symbols [win32 omission]''', scripts)|| ||cracklib2 ||2.8.12-8||Wait ||(python)|| ||cron ||3.0pl1-105|| Bug [http://bugs.debian.org/465077 465077]|| || ||cups ||1.3.8-1lenny4.1|| Wait|| || ||cupsys ||1.3.5-1|| Wait|| (tools)|| ||curl ||7.18.2-8|| Wait||(tools)|| ||dash ||0.5.4-12|| Wait||(scripts)|| ||dbus ||1.2.1-5|| Chain [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=450483 450483]||(perl [adduser], scripts [adduser], libtool)|| ||dbus-glib ||0.76-1|| Chain [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=450483 450483]||('''patches [tools, examples]''')|| ||debconf ||1.5.24||Wait||(tools)|| ||debian-archive-keyring ||2009.01.31||Wait ||(tools)|| ||debianutils ||2.30 ||Wait||(scripts - drop which)|| ||devmapper ||2:1.02.27-4|| Wait||(xcontrol, cache)|| ||dhcp3 ||3.1.1-6|| Wait||(scripts, xcontrol)|| ||dialog ||1.1-20080316-1||Wait ||(tools)|| ||diffutils ||2.8.1-12|| Bug [http://bugs.debian.org/451159 451159]|| || ||directfb ||1.0.1-11|| Wait||(tools)|| ||dpkg ||1.14.25|| Wait||(tools)|| ||dropbear ||0.51-1|| Wait|| || ||e2fsprogs ||1.41.3-1|| Wait||(tools)|| ||ed ||0.7-3|| Bug [http://bugs.debian.org/451175 451175]|| || ||expat ||2.0.1-4|| Wait||(tools)|| ||fam ||2.7.0-13.3|| Wait||(tools)|| ||file ||4.26-1|| Wait|| ||findutils ||4.4.0-2|| Wait||(tools)|| ||fontconfig ||2.6.0-3|| Wait||(tools)|| ||freetype ||2.3.7-2|| Wait||(tools)|| ||galculator ||1.3.1-2|| Wait||(tools)|| ||gcc-4.3 ||4.3.2-1.1||Wait|| || ||gconf ||2.22.0-1||Wait|| || ||glib2.0 ||2.16.6-1||Wait||(tools)|| ||glibc ||2.7-18||Wait|| || |
Line 68: | Line 68: |
||gpe-clock 0.25-4|| ||gpe-conf 0.2.7-1|| ||gpe-confd 0.16-2|| |
||''gpe-clock''||''0.25-4''||||''Done''|| ||''gpe-conf''||''0.2.7-1''||||''Done''|| ||gpe-confd ||0.16-2||Chain [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=450483 450483]||(xcontrol)|| |
Line 94: | Line 94: |
||gpe-what 0.43-2|| | ||gpe-what ||0.43-2||Chain [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=450483 450483]||(xcontrol)|| |
Line 256: | Line 256: |
The table will be updated with columns for the status of each source package, bugs filed, bugs closed and other data during the progress of the audit. == Legend == Once the audit is in progress, the following tags will be assigned to each source package in the table: * Test - the package is currently being tested as part of the audit. * Bug - cross-building support bug is open, number links to the bug report. * NMU - a delayed NMU has been uploaded to unstable (bug number included). * Tools - some support already included, other changes needed in emdebian-tools. * Chain - requires changes in packages other than itself or emdebian-tools (bug number included). * Wait - awaiting processing in the audit. * patches - package still needs Emdebian patches to the upstream code in order to cross-build at all. * libtool - package uses X-Build-Cross-Libtool support that needs a bespoke fix. * cache - a handful of packages still need their autoconf cache value handling improved. * xcontrol - needs an xcontrol file / debian-x-control support * scripts - maintainer script problems, usually expecting to call perl scripts like dpkg-divert etc. * perl - dependencies on perl packages like adduser * symbols - '''Functional changes''' - the Crush patches change functional behaviour in the package * Vendor - awaiting possible support for DEB_VENDOR for remaining patches. * Done - all stages of the audit complete. Crush 2.0 will then be built from the audited packages in stages - core packages, Xorg, Gtk+ and finally applications. (The sequence of the audit will not necessarily follow those stages - packages that I maintain myself will be completed asap and some packages have already included patches for cross-build support.) == Changes needed in the toolset == When a source package is tagged with status '''Tools''', the most common reason is that the Emdebian Crush patches for the package still contain lines to remove calls to dh_installman or similar programs. i.e. the cross-build succeeds but Crush is waiting for emdebian-tools to reimplement the build so that docs can be removed without having to patch the package - this is expected to be done by using the current scripts supporting Emdebian Grip. == xcontrol support == To cross-build a package, the current Build-Depends needs to be split into packages that contain '''programs to be executed''' during the cross-build (i.e. tools) and packages that contain '''objects to be linked''' during the cross-build (i.e. -dev packages etc.). The debian/xcontrol file supports Build-Depends-Tools: for the programs to be executed (e.g. debhelper) and leaves Build-Depends as only containing packages that need to be processed by dpkg-cross. Where a package status is listed as '''xcontrol''' in the audit, the package needs to have an xcontrol file added. This can be added manually but the debian-x-control package is being developed to assist == Build-Cross-Libtool fixes == Some packages need ''X-Build-Cross-Libtool: yes'' for likely broken libtool support, although each instance needs separate debugging. The actual cross-build uses the gccross workaround when this tag exists in debian/xcontrol. Packages needing such support are tagged 'libtool'. == python support == The future status of python in Crush is undetermined. Crush 1.0 does not include python but some form of python support may be necessary in Crush 2.0. Packages where python has been removed via patches are tagged with 'python'. == symbols == Functional changes are the main focus of the Audit - to identify: * which packages need functional changes merely to cross-build * which packages need functional changes to reduce dependency chains * which packages need functional changes to reduce the size of the package itself These changes then need to be assessed and reviewed and packages renamed to indicate the nature of the change, e.g. libgconf-noldap, gnupg-minimal etc. == Aims of the audit == * incorporate as much of the current patch set into the Debian package as possible before the freeze starts for squeeze. * retain only those patches that are essential for achieving the small installation size of Crush. * identify all functional changes in Crush packages and investigate the advantages and disadvantages of those changes. * use DEB_VENDOR support to implement these changes, if possible. * improve emdebian-tools to make cross-building Debian packages easier. * as a result of all the above, allow Crush to be available for multiple architectures in squeeze. == Participating in the audit == * You need emdebian-tools (>= 1.5.1) and you need to be running Debian Sid - install emdebian-tools from Debian, run {{{apt-get update}}} and {{{apt-get dist-upgrade}}} to upgrade from 1.5.0 to 1.5.1. A chroot is '''NOT''' suitable for audit purposes but packages should still build using the cross-building chroot, i.e. using {{{empdebuild}}}. * Any toolchain will do - except '''ARM''' because the build dependencies for ARM no longer exist in Debian. * Use {{{emsource -c $package}}} for each untagged package in the table above. Always ensure you refresh the build directory with {{{emsource -c}}} before starting on a package. * Identify all changes in the patch files that change the functionality of the final package. i.e. anything that results in a different compiled binary compared to using the standard Debian package and removing some files. * Tag each package in the table listing using the legend above Routine builds for armel, i386, mips and mipsel will only start once '''all''' packages in the table above are tagged and all functional changes have been identified. Even then, decisions will need to be made on how to best implement the functional changes before the autobuilder will be restarted. |
Emdebian Code Audit
Emdebian Crush 1.0 uses a lot of patches to be able to build. This Code Audit is concerned with implementing as many of those patches as possible into the relevant Debian packages.
Emdebian Crush 1.0 includes the following source packages:
Package |
Version |
Status |
Tags |
acl |
2.2.47-2 |
Bug [http://bugs.debian.org/284167 284167] |
|
apt |
0.7.20.2 |
Wait |
|
at |
3.1.10.2 |
Bug [http://bugs.debian.org/480825 480825] |
|
atk1.0 |
1.22.0-1 |
Wait |
|
attr |
1:2.4.43-2 |
Bug [http://bugs.debian.org/284044 284044] |
|
audiofile |
0.2.6-7 |
|
Done |
avahi |
0.6.22-3 |
Wait |
|
base-files |
5 |
Vendor |
|
base-passwd |
3.5.20 |
|
Done |
bluez-libs |
3.36-1 |
Chain [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=450483 450483] |
(cdbs) |
bsdmainutils |
6.1.10 |
Wait |
(xcontrol) |
busybox |
1:1.11.1-1 |
Bug [http://bugs.debian.org/465290 465290] |
|
bzip2 |
1.0.5-1 |
Wait |
|
c-ares |
1.5.2-4 |
Wait |
|
cairo |
1.6.4-7 |
Tools |
(docs+xcontrol) |
cdebconf |
0.138lenny2 |
Wait |
|
console-tools |
1:0.2.3dbs-65.1 |
Tools |
(xcontrol, libtool) |
coreutils |
6.10-6 |
Wait |
|
cpio |
2.9-13 |
Wait |
(symbols [win32 omission], scripts) |
cracklib2 |
2.8.12-8 |
Wait |
(python) |
cron |
3.0pl1-105 |
Bug [http://bugs.debian.org/465077 465077] |
|
cups |
1.3.8-1lenny4.1 |
Wait |
|
cupsys |
1.3.5-1 |
Wait |
(tools) |
curl |
7.18.2-8 |
Wait |
(tools) |
dash |
0.5.4-12 |
Wait |
(scripts) |
dbus |
1.2.1-5 |
Chain [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=450483 450483] |
(perl [adduser], scripts [adduser], libtool) |
dbus-glib |
0.76-1 |
Chain [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=450483 450483] |
(patches [tools, examples]) |
debconf |
1.5.24 |
Wait |
(tools) |
debian-archive-keyring |
2009.01.31 |
Wait |
(tools) |
debianutils |
2.30 |
Wait |
(scripts - drop which) |
devmapper |
2:1.02.27-4 |
Wait |
(xcontrol, cache) |
dhcp3 |
3.1.1-6 |
Wait |
(scripts, xcontrol) |
dialog |
1.1-20080316-1 |
Wait |
(tools) |
diffutils |
2.8.1-12 |
Bug [http://bugs.debian.org/451159 451159] |
|
directfb |
1.0.1-11 |
Wait |
(tools) |
dpkg |
1.14.25 |
Wait |
(tools) |
dropbear |
0.51-1 |
Wait |
|
e2fsprogs |
1.41.3-1 |
Wait |
(tools) |
ed |
0.7-3 |
Bug [http://bugs.debian.org/451175 451175] |
|
expat |
2.0.1-4 |
Wait |
(tools) |
fam |
2.7.0-13.3 |
Wait |
(tools) |
file |
4.26-1 |
Wait |
|
findutils |
4.4.0-2 |
Wait |
(tools) |
fontconfig |
2.6.0-3 |
Wait |
(tools) |
freetype |
2.3.7-2 |
Wait |
(tools) |
galculator |
1.3.1-2 |
Wait |
(tools) |
gcc-4.3 |
4.3.2-1.1 |
Wait |
|
gconf |
2.22.0-1 |
Wait |
|
glib2.0 |
2.16.6-1 |
Wait |
(tools) |
glibc |
2.7-18 |
Wait |
|
gmp 2:4.2.2+dfsg-3 |
|||
gnome-mime-data 2.18.0-1 |
|||
gnome-vfs 1:2.22.0-5 |
|||
gnupg 1.4.9-3 |
|||
gnutls13 2.0.4-4 |
|||
gnutls26 2.4.2-6 |
|||
gpe-announce 0.13-2 |
|||
gpe-appmgr 2.8-2 |
|||
gpe-bluetooth 0.55-3 |
|||
gpe-calendar 0.91-3 |
|||
gpe-clock |
0.25-4 |
Done |
|
gpe-conf |
0.2.7-1 |
Done |
|
gpe-confd |
0.16-2 |
Chain [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=450483 450483] |
(xcontrol) |
gpe-contacts 0.47-2 |
|||
gpe-edit 0.41-1 |
|||
gpe-expenses 0.1.6-1 |
|||
gpe-filemanager 0.25-3 |
|||
gpe-gallery 0.97-3 |
|||
gpe-go 0.05-4 |
|||
gpe-icons 0.25-1 |
|||
gpe-lights 0.13-4 |
|||
gpe-login 0.91-1 |
|||
gpe-mininet 0.7-2 |
|||
gpe-mixer 0.42-2 |
|||
gpe-othello 0.2-4 |
|||
gpe-ownerinfo 0.28-1 |
|||
gpe-question 0.04-3 |
|||
gpe-shield 0.31-3 |
|||
gpe-soundbite 1.0.6-2 |
|||
gpe-soundserver 0.4-3 |
|||
gpe-su 0.19-2 |
|||
gpe-taskmanager 0.20-8 |
|||
gpe-tetris 0.6.4-2 |
|||
gpe-timesheet 0.32-2 |
|||
gpe-todo 0.57-1 |
|||
gpe-watch 0.11-1 |
|||
gpe-what |
0.43-2 |
Chain [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=450483 450483] |
(xcontrol) |
grep 2.5.3~dfsg-6 |
|||
grisbi 0.5.8-1.2 |
|||
gsoko 0.4.2-gpe6-3 |
|||
gtk+2.0 2.12.11-4 |
|||
gzip 1.3.12-6 |
|||
hal 0.5.11-8 |
|||
hal-info 20080508+git20080601-1 |
|||
hicolor-icon-theme 0.10-1 |
|||
homebank 3.8-1 |
|||
hostname 2.95 |
|||
ifupdown 0.6.8+nmu1 |
|||
iptables 1.4.2-6 |
|||
iputils 3:20071127-1 |
|||
kerberos-configs 1.22 |
|||
keyutils 1.2-9 |
|||
krb5 1.6.dfsg.4~beta1-5 |
|||
langupdate 0.0.4 |
|||
libcairo 1.4.10-1 |
|||
libcap 1:1.10-14 |
|||
libcontactsdb 0.5-4 |
|||
libdaemon 0.12-2 |
|||
libdatrie 0.1.3-2 |
|||
libdebian-installer 0.61 |
|||
libdisplaymigration 0.28-7 |
|||
libdrm 2.3.1-2 |
|||
libedit 2.11~20080614-1 |
|||
libeventdb 0.90-4 |
|||
libfakekey 0.1-1 |
|||
libfontenc 1:1.0.4-3 |
|||
libgcrypt11 1.4.1-1 |
|||
libglade2 1:2.6.2-1 |
|||
libgpelaunch 0.14-4 |
|||
libgpepimc 0.9-2 |
|||
libgpeschedule 0.17-3 |
|||
libgpevtype 0.50-4 |
|||
libgpewidget 0.115-5 |
|||
libgpg-error 1.4-2 |
|||
libgsm 1.0.12-1 |
|||
libhandoff 0.1-3 |
|||
libice 2:1.0.4-1 |
|||
libidl 0.8.10-0.1 |
|||
libidn 1.8+20080606-1 |
|||
libjpeg6b 6b-14 |
|||
libmatchbox 1.9-4 |
|||
libmimedir 0.4-4 |
|||
libmimedir-gnome 0.4.2-1 |
|||
libofx 1:0.9.0-3 |
|||
libopenobex 1.3+cvs20070425-2 |
|||
libpng 1.2.27-2 |
|||
libselinux 2.0.65-5 |
|||
libsepol 2.0.30-2 |
|||
libsigc++-2.0 2.0.18-2 |
|||
libsm 2:1.0.3-2 |
|||
libsoundgen 0.6-2 |
|||
libsoup 2.2.105-4 |
|||
libtasn1-3 1.4-1 |
|||
libtextwrap 0.1-6 |
|||
libthai 0.1.9-4 |
|||
libtododb 0.11-2 |
|||
libusb 2:0.1.12-13 |
|||
libx11 2:1.1.5-2 |
|||
libxau 1:1.0.3-3 |
|||
libxcb 1.1-1.1 |
|||
libxcomposite 1:0.4.0-3 |
|||
libxcursor 1:1.1.9-1 |
|||
libxdamage 1:1.1.1-4 |
|||
libxdmcp 1:1.0.2-3 |
|||
libxext 2:1.0.4-1 |
|||
libxfixes 1:4.0.3-2 |
|||
libxfont 1:1.3.3-1 |
|||
libxi 2:1.1.4-1 |
|||
libxinerama 2:1.0.3-2 |
|||
libxml2 2.6.32.dfsg-5 |
|||
libxmu 2:1.0.4-1 |
|||
libxpm 1:3.5.7-1 |
|||
libxrandr 2:1.2.3-1 |
|||
libxrender 1:0.9.4-2 |
|||
libxsettings 0.11-3 |
|||
libxsettings-client 0.17-5 |
|||
libxtst 2:1.0.3-1 |
|||
logrotate 3.7.1-5 |
|||
lsb 3.2-20 |
|||
lzma 4.43-14 |
|||
lzo 1.08-3 |
|||
lzo2 2.03-1 |
|||
makedev 2.3.1-88 |
|||
matchbox 1:4 |
|||
matchbox-common 0.9.1-3 |
|||
matchbox-desktop 2.0-1 |
|||
matchbox-keyboard 0.1-1 |
|||
matchbox-panel 0.9.3-3 |
|||
matchbox-panel-manager 0.1-3 |
|||
matchbox-window-manager 1.2-2 |
|||
mawk 1.3.3-11.1 |
|||
mktemp 1.5-9 |
|||
module-init-tools 3.4-1 |
|||
nano 2.0.7-4 |
|||
ncurses 5.7+20081213-1 |
|||
net-tools 1.60-22 |
|||
netbase 4.34 |
|||
netcat 1.10-38 |
|||
newt 0.52.2-11.3 |
|||
ntp 1:4.2.4p4+dfsg-8 |
|||
openbsd-inetd 0.20080125-2 |
|||
opencdk10 0.6.6-1 |
|||
opencdk8 0.5.13-2 |
|||
opensp 1.5.2-6 |
|||
openssh 1:5.1p1-5 |
|||
openssh-blacklist 0.4.1 |
|||
openssl 0.9.8g-15 |
|||
orbit2 1:2.14.13-0.1 |
|||
pam 1.0.1-5 |
|||
pango1.0 1.20.5-3 |
|||
pciutils 1:3.0.0-6 |
|||
pcre3 7.6-2.1 |
|||
pixman 0.10.0-2 |
|||
pm-utils 1.1.2.4-1 |
|||
popt 1.14-4 |
|||
powermgmt-base 1.30+nmu1 |
|||
procps 1:3.2.7-11 |
|||
psmisc 22.6-1 |
|||
qof 0.7.5-1 |
|||
readline5 5.2-3.1 |
|||
rxvt 1:2.6.4-14 |
|||
sed 4.1.5-6 |
|||
shadow 1:4.1.1-6 |
|||
shared-mime-info 0.30-2 |
|||
slang2 2.1.3-3 |
|||
sqlite 2.8.17-4 |
|||
startup-notification 0.9-1 |
|||
sysfsutils 2.1.0-5 |
|||
sysvinit 2.86.ds1-61 |
|||
tar 1.20-1 |
|||
tcp-wrappers 7.6.q-16 |
|||
tiff 3.8.2-11 |
|||
traceroute 2.0.11-2 |
|||
tslib 1.0-4 |
|||
ttf-bitstream-vera 1.10-7 |
|||
tzdata 2008h-2 |
|||
ucf 3.0016 |
|||
udev 0.125-7 |
|||
udhcp 0.9.8cvs20050303-2.1 |
|||
usbutils 0.73-10 |
|||
util-linux 2.13.1.1-1 |
|||
wget 1.11.4-2 |
|||
x11proto-core 7.0.12-1 |
|||
xauth 1:1.0.3-2 |
|||
xcb-util 0.2.1+git1-1 |
|||
xdemineur 2.1.1-14 |
|||
xf86-input-tslib 0.0.4-5 |
|||
xfonts-base 1:1.0.0-5 |
|||
xfonts-encodings 1:1.0.2-3 |
|||
xfonts-utils 1:7.4+1 |
|||
xft 2.1.12-3 |
|||
xinit 1.0.9-2 |
|||
xorg 1:7.3+18 |
|||
xorg-server 2:1.4.2-10 |
|||
xserver-xorg-input-keyboard 1:1.3.1-1 |
|||
xserver-xorg-input-mouse 1:1.3.0-1 |
|||
xserver-xorg-video-fbdev 1:0.4.0-1 |
|||
zlib 1:1.2.3.3.dfsg-12 |
The table will be updated with columns for the status of each source package, bugs filed, bugs closed and other data during the progress of the audit.
Legend
Once the audit is in progress, the following tags will be assigned to each source package in the table:
- Test - the package is currently being tested as part of the audit.
- Bug - cross-building support bug is open, number links to the bug report.
- NMU - a delayed NMU has been uploaded to unstable (bug number included).
- Tools - some support already included, other changes needed in emdebian-tools.
- Chain - requires changes in packages other than itself or emdebian-tools (bug number included).
- Wait - awaiting processing in the audit.
- patches - package still needs Emdebian patches to the upstream code in order to cross-build at all.
- libtool - package uses X-Build-Cross-Libtool support that needs a bespoke fix.
- cache - a handful of packages still need their autoconf cache value handling improved.
- xcontrol - needs an xcontrol file / debian-x-control support
- scripts - maintainer script problems, usually expecting to call perl scripts like dpkg-divert etc.
- perl - dependencies on perl packages like adduser
symbols - Functional changes - the Crush patches change functional behaviour in the package
- Vendor - awaiting possible support for DEB_VENDOR for remaining patches.
- Done - all stages of the audit complete.
Crush 2.0 will then be built from the audited packages in stages - core packages, Xorg, Gtk+ and finally applications.
(The sequence of the audit will not necessarily follow those stages - packages that I maintain myself will be completed asap and some packages have already included patches for cross-build support.)
Changes needed in the toolset
When a source package is tagged with status Tools, the most common reason is that the Emdebian Crush patches for the package still contain lines to remove calls to dh_installman or similar programs. i.e. the cross-build succeeds but Crush is waiting for emdebian-tools to reimplement the build so that docs can be removed without having to patch the package - this is expected to be done by using the current scripts supporting Emdebian Grip.
xcontrol support
To cross-build a package, the current Build-Depends needs to be split into packages that contain programs to be executed during the cross-build (i.e. tools) and packages that contain objects to be linked during the cross-build (i.e. -dev packages etc.). The debian/xcontrol file supports Build-Depends-Tools: for the programs to be executed (e.g. debhelper) and leaves Build-Depends as only containing packages that need to be processed by dpkg-cross.
Where a package status is listed as xcontrol in the audit, the package needs to have an xcontrol file added. This can be added manually but the debian-x-control package is being developed to assist
Build-Cross-Libtool fixes
Some packages need X-Build-Cross-Libtool: yes for likely broken libtool support, although each instance needs separate debugging. The actual cross-build uses the gccross workaround when this tag exists in debian/xcontrol. Packages needing such support are tagged 'libtool'.
python support
The future status of python in Crush is undetermined. Crush 1.0 does not include python but some form of python support may be necessary in Crush 2.0. Packages where python has been removed via patches are tagged with 'python'.
symbols
Functional changes are the main focus of the Audit - to identify:
- which packages need functional changes merely to cross-build
- which packages need functional changes to reduce dependency chains
- which packages need functional changes to reduce the size of the package itself
These changes then need to be assessed and reviewed and packages renamed to indicate the nature of the change, e.g. libgconf-noldap, gnupg-minimal etc.
Aims of the audit
- incorporate as much of the current patch set into the Debian package as possible before the freeze starts for squeeze.
- retain only those patches that are essential for achieving the small installation size of Crush.
- identify all functional changes in Crush packages and investigate the advantages and disadvantages of those changes.
- use DEB_VENDOR support to implement these changes, if possible.
- improve emdebian-tools to make cross-building Debian packages easier.
- as a result of all the above, allow Crush to be available for multiple architectures in squeeze.
Participating in the audit
You need emdebian-tools (>= 1.5.1) and you need to be running Debian Sid - install emdebian-tools from Debian, run apt-get update and apt-get dist-upgrade to upgrade from 1.5.0 to 1.5.1. A chroot is NOT suitable for audit purposes but packages should still build using the cross-building chroot, i.e. using empdebuild.
Any toolchain will do - except ARM because the build dependencies for ARM no longer exist in Debian.
Use emsource -c $package for each untagged package in the table above. Always ensure you refresh the build directory with emsource -c before starting on a package.
- Identify all changes in the patch files that change the functionality of the final package. i.e. anything that results in a different compiled binary compared to using the standard Debian package and removing some files.
- Tag each package in the table listing using the legend above
Routine builds for armel, i386, mips and mipsel will only start once all packages in the table above are tagged and all functional changes have been identified. Even then, decisions will need to be made on how to best implement the functional changes before the autobuilder will be restarted.