1892
Comment: link to new emlocale script.
|
6477
adding a package list to rework later
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Debian has historically been packaged with desktop systems and native building in mind. It is increasingly being used in low-resource and embedded systems. Building natively on such systems is extremely slow and sometimes almost impossible, so cross-compiling is very important, and the normal way of building. | Debian has historically been packaged with desktop systems and native building in mind. It is increasingly being used in low-resource and [:Embedded_Debian:embedded systems]. Building natively on such systems is extremely slow and sometimes almost impossible, so cross-compiling is very important, and the normal way of building. |
Line 32: | Line 32: |
=== Emdebian Packages === TODO list states: "Select list of Debian packages to form Emdebian" We could aim to build this list: (Note it might need some rework) {{{ apache2 apache2_mod_python atk at-spi bash betaftpd bind binutils blackbox bluez-libs bluez-utils bonniexx boost bridge-utils cairo cfgsh chrony clock cppunit cvs cyclictest daemonize db41 db44 dbench dbus dhcp dialog diffutils dnsmasq dosfstools dropbear e2fsprogs efax ethereal etherwake eventlog expat fam fbtest fbutils ffmpeg fftw findutils flash flex fltk fontconfig freetype gail gawk gdb gdb-wrapper gettext glib gmp3 gmp4 gnupg gnuplot grub gtk gtk1210 gtk22 gtk26 gtk2-engines hdparm hexedit host-e2tools hpanel hrtimers-support i855resolution i915resolution initng iproute2 iptables jed joe jvisu kaffe klibc konq-e ldd libart libcgicc libdaemon libdbus-cxx libdrm libelf libezv24 libgd libglade libgnomecanvas libgsloop libiconv libidl068 libidl-2 libjpeg liblockfile libmodbus libmqueue libnet liboop libpng libpopt librn libxslt lilo live locales logrotate lrzsz lsh ltp ltrace madwifi mc memstat memtest memtester mesalib mfirebird mgetty mico mii-diag mplayer mtd-utils myghty mysql nano netcat netkit-ftp nfsutils nmap ntp ntpclient omniorb openafs openntpd openssh openssl oprofile pango paranoia pciutils pcmcia-cs pcmciautils pcre pdksh pekwm penguzilla php4 php5 php-apc pnet pnetlib pop3spam portmap ppp procps proftpd pxacamera python python24 qt qte qtopia realvnc rsync rtai rtnet samba schedutils screen sdl sdl_image setmixer setserial shorewall slang smtpclient sqlite ssmtp sudo syslogng sysvinit tcpwrapper termcap tinylogin treecc troll-ftpd tslib uclibc unionfs utelnetd valgrind wget wireless wireshark wxWindows xalf xerces xmlstarlet xorg-app-mkfontdir xorg-app-mkfontscale xorg-app-rgb xorg-app-setxkbmap xorg-app-xdm xorg-app-xeyes xorg-app-xhost xorg-app-xinit xorg-app-xkbcomp xorg-app-xrdb xorg-app-xset xorg-app-xsetroot xorg-app-xvinfo xorg-data-xbitmaps xorg-data-xkbdata xorg-driver-input-evdev xorg-driver-input-keyboard xorg-driver-input-mouse xorg-driver-input-tslib xorg-driver-input-void xorg-driver-video-apm xorg-driver-video-ati xorg-driver-video-dummy xorg-driver-video-fbdev xorg-driver-video-i810 xorg-driver-video-nsc xorg-driver-video-v4l xorg-driver-video-vesa xorg-driver-video-vga xorg-font-adobe-100dpi xorg-font-adobe-75dpi xorg-font-adobe-utopia-100dpi xorg-font-adobe-utopia-75dpi xorg-font-adobe-utopia-type1 xorg-font-alias xorg-font-arabic-misc xorg-font-bh-100dpi xorg-font-bh-75dpi xorg-font-bh-lucidatypewriter-100dpi xorg-font-bh-lucidatypewriter-75dpi xorg-font-bh-ttf xorg-font-bitstream-100dpi xorg-font-bitstream-75dpi xorg-font-bitstream-speedo xorg-font-bitstream-type1 xorg-font-cronyx-cyrillic xorg-font-cursor-misc xorg-font-daewoo-misc xorg-font-dec-misc xorg-font-encodings xorg-font-ibm-type1 xorg-font-intl xorg-font-isas-misc xorg-font-jis-misc xorg-font-micro-misc xorg-font-misc-cyrillic xorg-font-misc-ethiopic xorg-font-misc-meltho xorg-font-misc-misc xorg-font-mutt-misc xorg-fonts xorg-font-schumacher-misc xorg-font-screen-cyrillic xorg-font-sony-misc xorg-font-sun-misc xorg-font-util xorg-font-winitzki-cyrillic xorg-font-xfree86-type1 xorg-lib-AppleWM xorg-lib-dmx xorg-lib-fontenc xorg-lib-FS xorg-lib-ICE xorg-lib-lbxutil xorg-lib-oldX xorg-lib-SM xorg-lib-WindowsWM xorg-lib-X11 xorg-lib-Xau xorg-lib-Xaw xorg-lib-Xcomposite xorg-lib-Xcursor xorg-lib-Xdamage xorg-lib-Xdmcp xorg-lib-Xevie xorg-lib-Xext xorg-lib-Xfixes xorg-lib-xfont xorg-lib-Xfontcache xorg-lib-Xft xorg-lib-Xi xorg-lib-Xinerama xorg-lib-xkbfile xorg-lib-xkbui xorg-lib-Xmu xorg-lib-Xp xorg-lib-Xpm xorg-lib-XprintAppUtil xorg-lib-XprintUtil xorg-lib-Xrandr xorg-lib-Xrender xorg-lib-Xres xorg-lib-XScrnSaver xorg-lib-Xt xorg-lib-xtrans xorg-lib-XTrap xorg-lib-Xtst xorg-lib-Xv xorg-lib-XvMC xorg-lib-Xxf86dga xorg-lib-Xxf86misc xorg-lib-Xxf86vm xorg-proto-applewm xorg-proto-bigreqs xorg-proto-composite xorg-proto-damage xorg-proto-dmx xorg-proto-evieext xorg-proto-fixes xorg-proto-fontcache xorg-proto-fonts xorg-proto-gl xorg-proto-input xorg-proto-kb xorg-proto-print xorg-proto-randr xorg-proto-record xorg-proto-render xorg-proto-resource xorg-proto-scrnsaver xorg-proto-trap xorg-proto-video xorg-proto-windowswm xorg-proto-x xorg-proto-xcmisc xorg-proto-xext xorg-proto-xf86bigfont xorg-proto-xf86dga xorg-proto-xf86dri xorg-proto-xf86misc xorg-proto-xf86rush xorg-proto-xf86vidmode xorg-proto-xinerama xorg-proto-xproxymanagement xorg-server xterm xvkbd zebra }}} |
Debian has historically been packaged with desktop systems and native building in mind. It is increasingly being used in low-resource and [:Embedded_Debian:embedded systems]. Building natively on such systems is extremely slow and sometimes almost impossible, so cross-compiling is very important, and the normal way of building.
There is a number of things in packaging which affect how embedded-friendly they are. Here we explain some of the things you should do to make sure that your packages are suitable for embedded use. If you have questions please use the [http://lists.debian.org/debian-embedded/ debian-embedded mailing list].
Background
Below are various examples of things you should do/avoid doing, but it is best if you understand why these things are done. Here is some explanation of the issues.
Terminology (build/host/target).
- build/target machines
- build-time/install-time/run-time deps
- build-arch deps/ target-arch deps
- minimal base system - 4MB not 200 MB
- busybox-friendly scripts
splitting out docs, optional tools, examples, languages (see [http://buildd.emdebian.org/repos/tools/emlocale/ emlocale] to generate control data to package each language separately.)
- install scripts - install-time (on build machine), run-time (on target machine)
Things to mention:
- reducing build-dependecies
- - just removing unneeded stuff (sometimes pkgs have Build-Deps
- which are not really needed)
- move documentation and other architecture-independent stuff to arch:all packages
- - just removing unneeded stuff (sometimes pkgs have Build-Deps
Options needed for packaging:
- DEB_BUILD_OPTIONS=nodocs (flag for not building docs) DEB_BUILD_OPTIONS=notest (for skipping tests)
Emdebian Packages
TODO list states: "Select list of Debian packages to form Emdebian"
We could aim to build this list: (Note it might need some rework)
apache2 apache2_mod_python atk at-spi bash betaftpd bind binutils blackbox bluez-libs bluez-utils bonniexx boost bridge-utils cairo cfgsh chrony clock cppunit cvs cyclictest daemonize db41 db44 dbench dbus dhcp dialog diffutils dnsmasq dosfstools dropbear e2fsprogs efax ethereal etherwake eventlog expat fam fbtest fbutils ffmpeg fftw findutils flash flex fltk fontconfig freetype gail gawk gdb gdb-wrapper gettext glib gmp3 gmp4 gnupg gnuplot grub gtk gtk1210 gtk22 gtk26 gtk2-engines hdparm hexedit host-e2tools hpanel hrtimers-support i855resolution i915resolution initng iproute2 iptables jed joe jvisu kaffe klibc konq-e ldd libart libcgicc libdaemon libdbus-cxx libdrm libelf libezv24 libgd libglade libgnomecanvas libgsloop libiconv libidl068 libidl-2 libjpeg liblockfile libmodbus libmqueue libnet liboop libpng libpopt librn libxslt lilo live locales logrotate lrzsz lsh ltp ltrace madwifi mc memstat memtest memtester mesalib mfirebird mgetty mico mii-diag mplayer mtd-utils myghty mysql nano netcat netkit-ftp nfsutils nmap ntp ntpclient omniorb openafs openntpd openssh openssl oprofile pango paranoia pciutils pcmcia-cs pcmciautils pcre pdksh pekwm penguzilla php4 php5 php-apc pnet pnetlib pop3spam portmap ppp procps proftpd pxacamera python python24 qt qte qtopia realvnc rsync rtai rtnet samba schedutils screen sdl sdl_image setmixer setserial shorewall slang smtpclient sqlite ssmtp sudo syslogng sysvinit tcpwrapper termcap tinylogin treecc troll-ftpd tslib uclibc unionfs utelnetd valgrind wget wireless wireshark wxWindows xalf xerces xmlstarlet xorg-app-mkfontdir xorg-app-mkfontscale xorg-app-rgb xorg-app-setxkbmap xorg-app-xdm xorg-app-xeyes xorg-app-xhost xorg-app-xinit xorg-app-xkbcomp xorg-app-xrdb xorg-app-xset xorg-app-xsetroot xorg-app-xvinfo xorg-data-xbitmaps xorg-data-xkbdata xorg-driver-input-evdev xorg-driver-input-keyboard xorg-driver-input-mouse xorg-driver-input-tslib xorg-driver-input-void xorg-driver-video-apm xorg-driver-video-ati xorg-driver-video-dummy xorg-driver-video-fbdev xorg-driver-video-i810 xorg-driver-video-nsc xorg-driver-video-v4l xorg-driver-video-vesa xorg-driver-video-vga xorg-font-adobe-100dpi xorg-font-adobe-75dpi xorg-font-adobe-utopia-100dpi xorg-font-adobe-utopia-75dpi xorg-font-adobe-utopia-type1 xorg-font-alias xorg-font-arabic-misc xorg-font-bh-100dpi xorg-font-bh-75dpi xorg-font-bh-lucidatypewriter-100dpi xorg-font-bh-lucidatypewriter-75dpi xorg-font-bh-ttf xorg-font-bitstream-100dpi xorg-font-bitstream-75dpi xorg-font-bitstream-speedo xorg-font-bitstream-type1 xorg-font-cronyx-cyrillic xorg-font-cursor-misc xorg-font-daewoo-misc xorg-font-dec-misc xorg-font-encodings xorg-font-ibm-type1 xorg-font-intl xorg-font-isas-misc xorg-font-jis-misc xorg-font-micro-misc xorg-font-misc-cyrillic xorg-font-misc-ethiopic xorg-font-misc-meltho xorg-font-misc-misc xorg-font-mutt-misc xorg-fonts xorg-font-schumacher-misc xorg-font-screen-cyrillic xorg-font-sony-misc xorg-font-sun-misc xorg-font-util xorg-font-winitzki-cyrillic xorg-font-xfree86-type1 xorg-lib-AppleWM xorg-lib-dmx xorg-lib-fontenc xorg-lib-FS xorg-lib-ICE xorg-lib-lbxutil xorg-lib-oldX xorg-lib-SM xorg-lib-WindowsWM xorg-lib-X11 xorg-lib-Xau xorg-lib-Xaw xorg-lib-Xcomposite xorg-lib-Xcursor xorg-lib-Xdamage xorg-lib-Xdmcp xorg-lib-Xevie xorg-lib-Xext xorg-lib-Xfixes xorg-lib-xfont xorg-lib-Xfontcache xorg-lib-Xft xorg-lib-Xi xorg-lib-Xinerama xorg-lib-xkbfile xorg-lib-xkbui xorg-lib-Xmu xorg-lib-Xp xorg-lib-Xpm xorg-lib-XprintAppUtil xorg-lib-XprintUtil xorg-lib-Xrandr xorg-lib-Xrender xorg-lib-Xres xorg-lib-XScrnSaver xorg-lib-Xt xorg-lib-xtrans xorg-lib-XTrap xorg-lib-Xtst xorg-lib-Xv xorg-lib-XvMC xorg-lib-Xxf86dga xorg-lib-Xxf86misc xorg-lib-Xxf86vm xorg-proto-applewm xorg-proto-bigreqs xorg-proto-composite xorg-proto-damage xorg-proto-dmx xorg-proto-evieext xorg-proto-fixes xorg-proto-fontcache xorg-proto-fonts xorg-proto-gl xorg-proto-input xorg-proto-kb xorg-proto-print xorg-proto-randr xorg-proto-record xorg-proto-render xorg-proto-resource xorg-proto-scrnsaver xorg-proto-trap xorg-proto-video xorg-proto-windowswm xorg-proto-x xorg-proto-xcmisc xorg-proto-xext xorg-proto-xf86bigfont xorg-proto-xf86dga xorg-proto-xf86dri xorg-proto-xf86misc xorg-proto-xf86rush xorg-proto-xf86vidmode xorg-proto-xinerama xorg-proto-xproxymanagement xorg-server xterm xvkbd zebra