1 #@--------------------------------------------------------------------
4 #@DESCRIPTION: KaeilOS Linux Distribution for Kernel 2.6 based devices
5 #@MAINTAINER: Marco Cavallini <m.cavallini@koansoftware.com>
6 #@--------------------------------------------------------------------
8 #DISTRO_VERSION = "2008.1"
9 DISTRO_VERSION = "2008.1-test-${DATE}"
13 #build staging from packages
14 INHERIT += "packaged-staging"
16 require conf/distro/include/sane-srcdates.inc
17 require conf/distro/include/sane-srcrevs.inc
18 require conf/distro/include/angstrom-2008-preferred-versions.inc
19 require conf/distro/include/preferred-opie-versions-1.2.4.inc
21 PREFERRED_VERSION_xserver-kdrive = "1.3.0.0"
22 PREFERRED_VERSION_busybox = "1.13.2"
24 #Images built can have to modes:
25 # 'debug': empty rootpassword, strace included
26 # 'release' no root password, no strace and gdb by default
27 DISTRO_TYPE ?= "debug"
28 #DISTRO_TYPE = "release"
30 # Ship just basic locale by default. Locales are big (~1Mb uncompr.), so
31 # shipping some adhoc subset will be still useless and size burden for
32 # users of all other languages/countries. Instead, worth to make it easy
33 # to install additional languages: installer/wizard + metapackages which
34 # will RRECOMMEND as much as possible content for a given language
35 # (locales, UI transalations, help, etc. - useless for pros, but really
36 # helpful for common users).
37 # Also, it appears that no locales fit in 16Mb for now. "C" locale rules!
38 IMAGE_LINGUAS = '${@base_less_or_equal("ROOT_FLASH_SIZE", "16", "", "en-us", d)}'
41 # set feed path variables
42 FEED_BASEPATH = "feeds/2008/${ANGSTROM_PKG_FORMAT}/${ANGSTROMLIBC}/"
45 #The angstrom-mirrors.bbclass should have everything, but we can use this as a fallback
46 CVS_TARBALL_STASH ?= "\
47 http://www.angstrom-distribution.org/unstable/sources/ \
50 PCMCIA_MANAGER = "pcmciautils"
52 #This is unrelated to the kernel version, but userspace apps (e.g. HAL) require a recent version to build against
53 PREFERRED_VERSION_linux-libc-headers = "2.6.23"
55 #Prefer glibc 2.6 and uclibc 0.9.30, these have had the most testing.
56 PREFERRED_VERSION_glibc ?= "2.6.1"
57 PREFERRED_VERSION_glibc-initial ?= "2.6.1"
58 PREFERRED_VERSION_uclibc ?= "0.9.30"
59 PREFERRED_VERSION_uclibc-initial ?= "0.9.30"
61 PREFERRED_PROVIDER_avahi = "avahi"
63 #Small machines prefer kdrive, but we might ship full Xorg in other images
64 PREFERRED_PROVIDER_virtual/xserver ?= "xserver-kdrive"
65 PREFERRED_PROVIDER_xserver ?= "xserver-kdrive"
67 #powerpc needs additional patches to gcc
68 ANGSTROM_GCC_VERSION_ppc405 ?= "4.1.1"
69 ANGSTROM_GCC_VERSION_xilinx-ml403 ?= "4.1.1"
70 ANGSTROM_GCC_VERSION_xilinx-ml403 ?= "4.1.1"
72 # Blackfin has its own gcc
73 ANGSTROM_GCC_VERSION_bfin = "4.1.2"
75 #for proper NEON support we need a CSL toolchain
76 #ANGSTROM_GCC_VERSION_armv7a = "4.2.1+csl-arm-2007q3-53"
77 ANGSTROM_GCC_VERSION_armv7a = "4.3.1"
79 #Horrible workaround for armv7a follows:
80 # gcc 4.3.1 builds a kernel that oopses with a null-pointer in the rcu-update function
81 # gcc 4.2.1 (the one from *gasp* csl) builds a working kernel, but non-working userspace
83 KERNEL_CCSUFFIX_armv7a= "-4.2.1+csl-arm-2007q3-53"
85 #avr32 only has support for gcc 4.2.2
86 ANGSTROM_GCC_VERSION_avr32 ?= "4.2.2"
88 #Everybody else can just use this:
89 ANGSTROM_GCC_VERSION ?= "4.2.4"
90 PREFERRED_VERSION_binutils ?= "2.18.50.0.7"
91 PREFERRED_VERSION_binutils-cross ?= "2.18.50.0.7"
92 PREFERRED_VERSION_binutils-cross-sdk ?= "2.18.50.0.7"
94 PREFERRED_VERSION_gcc ?= "${ANGSTROM_GCC_VERSION}"
95 PREFERRED_VERSION_gcc-cross ?= "${ANGSTROM_GCC_VERSION}"
96 PREFERRED_VERSION_gcc-cross-sdk ?= "${ANGSTROM_GCC_VERSION}"
97 PREFERRED_VERSION_gcc-cross-initial ?= "${ANGSTROM_GCC_VERSION}"
98 PREFERRED_VERSION_gcc-cross-intermediate ?= "${ANGSTROM_GCC_VERSION}"
100 #Loads preferred versions from files, these have weak assigments (?=), so put them at the bottom
101 require conf/distro/include/preferred-e-versions.inc
102 require conf/distro/include/preferred-xorg-versions-X11R7.4-updates.inc
103 require conf/distro/include/preferred-xorg-versions-X11R7.4.inc
105 #avr32 only has patches for binutils 2.17 in OE
106 PREFERRED_VERSION_binutils_avr32 = "2.17"
107 PREFERRED_VERSION_binutils-cross_avr32 = "2.17"
108 PREFERRED_VERSION_binutils-cross-sdk_avr32 = "2.17"
111 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross"
112 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial"
113 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-intermediate"
114 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross"
115 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross"
117 # hostap stuff, we prefer the in-kernel modules, but those don't work for all machines
118 PREFERRED_PROVIDER_hostap-conf ?= "hostap-conf"
120 PREFERRED_PROVIDER_virtual/db ?= "db"
121 PREFERRED_PROVIDER_virtual/db-native ?= "db-native"
122 PREFERRED_PROVIDER_virtual/libsdl ?= "libsdl-x11"
123 PREFERRED_PROVIDER_virtual/libx11 ?= "libx11"
124 PREFERRED_PROVIDER_virtual/libxine ?= "libxine-x11"
125 PREFERRED_PROVIDER_virtual/xserver ?= "xserver-kdrive"
128 PREFERRED_PROVIDER_linux-libc-headers = "linux-libc-headers"
129 PREFERRED_PROVIDER_dbus-glib = "dbus-glib"
130 PREFERRED_PROVIDER_esound ?= "pulseaudio"
131 PREFERRED_PROVIDER_gconf ?= "gconf-dbus"
132 PREFERRED_PROVIDER_gnome-vfs ?= "gnome-vfs"
133 PREFERRED_PROVIDER_gnome-vfs-plugin-file ?= "gnome-vfs"
134 PREFERRED_PROVIDER_tslib ?= "tslib"
135 PREFERRED_PROVIDER_tslib-conf ?= "tslib"
136 PREFERRED_PROVIDER_libgpewidget ?= "libgpewidget"
137 PREFERRED_PROVIDER_ntp ?= "ntp"
138 PREFERRED_PROVIDER_hotplug = "udev"
139 PREFERRED_PROVIDER_libxss = "libxss"
140 PREFERRED_PROVIDER_bluez-utils-dbus = "bluez-utils"
142 # we don't ship gtk-directfb by default
143 PREFERRED_PROVIDER_gtk+ ?= "gtk+"
144 PREFERRED_PROVIDER_gdk-pixbuf-loader-ani ?= "gtk+"
145 PREFERRED_PROVIDER_gdk-pixbuf-loader-bmpg ?= "gtk+"
146 PREFERRED_PROVIDER_gdk-pixbuf-loader-gif ?= "gtk+"
147 PREFERRED_PROVIDER_gdk-pixbuf-loader-ico ?= "gtk+"
148 PREFERRED_PROVIDER_gdk-pixbuf-loader-jpeg ?= "gtk+"
149 PREFERRED_PROVIDER_gdk-pixbuf-loader-pcx ?= "gtk+"
150 PREFERRED_PROVIDER_gdk-pixbuf-loader-png ?= "gtk+"
151 PREFERRED_PROVIDER_gdk-pixbuf-loader-pnm ?= "gtk+"
152 PREFERRED_PROVIDER_gdk-pixbuf-loader-ras ?= "gtk+"
153 PREFERRED_PROVIDER_gdk-pixbuf-loader-tga ?= "gtk+"
154 PREFERRED_PROVIDER_gdk-pixbuf-loader-wbmp ?= "gtk+"
155 PREFERRED_PROVIDER_gdk-pixbuf-loader-xbm ?= "gtk+"
156 PREFERRED_PROVIDER_gdk-pixbuf-loader-xpm ?= "gtk+"
158 #Silence a warning during parsing
159 PREFERRED_PROVIDER_task-bootstrap = "task-bootstrap"
161 require conf/distro/include/kaeilos.inc
163 # do some task-base stuff here
165 # We want to ship extra debug utils in the rootfs when doing a debug build
167 DEBUG_APPS += '${@base_conditional("DISTRO_TYPE", "release", "", "strace procps",d)}'
169 # KaeilOS want to ship some extra stuff. This should be moved into task-base eventually
170 # contains ipkg specific stuff as well :(
171 DISTRO_EXTRA_RDEPENDS += "\
173 ${@base_contains("MACHINE_FEATURES", "screen", "psplash", "",d)} \
175 opkg-nogpg opkg-collateral ${ANGSTROM_FEED_CONFIGS} \
176 util-linux-ng-mount util-linux-ng-umount \
177 ${DEBUG_APPS} angstrom-libc-fixup-hack \
180 DISTRO_EXTRA_RRECOMMENDS += " \
183 kernel-module-af-packet \
184 openssh-sftp-server \