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

acl

2.2.47-2

Bug [http://bugs.debian.org/284167 284167]

apt

0.7.20.2

Wait

at

3.1.10.2

Test

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

Tools (docs)

avahi

0.6.22-3

Wait

base-files

5

Vendor

base-passwd

3.5.20

Tools (docs)

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

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

gpe-conf 0.2.7-1

gpe-confd 0.16-2

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

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:

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

Aims of the audit


CategoryEmdebian