1 #@--------------------------------------------------------------------
3 #@NAME: Angstrom <http://www.angstrom-distribution.org>
4 #@DESCRIPTION: The Linux Distribution for Kernel 2.6 based devices
5 #@MAINTAINER: Koen Kooi <koen@dominion.kabel.utwente.nl>
6 #@MAINTAINER: Michael 'Mickey' Lauer <mickey@Vanille.de>
7 #@--------------------------------------------------------------------
9 #DISTRO_VERSION = "2007.4"
10 DISTRO_VERSION = "test-${DATE}"
11 DISTRO_REVISION = "46"
13 require conf/distro/include/angstrom.inc
14 require conf/distro/include/sane-srcdates.inc
16 #Images built can have to modes:
17 # 'debug': empty rootpassword, strace and gdb included
18 # 'release' no root password, no strace and gdb by default
19 DISTRO_TYPE ?= "debug"
20 #DISTRO_TYPE = "release"
22 # Ship just basic locale by default. Locales are big (~1Mb uncompr.), so
23 # shipping some adhoc subset will be still useless and size burden for
24 # users of all other languages/countries. Instead, worth to make it easy
25 # to install additional languages: installer/wizard + metapackages which
26 # will RRECOMMEND as much as possible content for a given language
27 # (locales, UI transalations, help, etc. - useless for pros, but really
28 # helpful for common users).
29 # Also, it appears that no locales fit in 16Mb for now. "C" locale rules!
30 IMAGE_LINGUAS = '${@base_less_or_equal("ROOT_FLASH_SIZE", "16", "", "en-gb", d)}'
32 #Set the right arch for the feeds
33 #Alphabetically sorted
35 FEED_ARCH ?= "${TARGET_ARCH}"
39 FEED_ARCH_ep93xx = "armv4t"
40 FEED_ARCH_h6300 = "armv4t"
41 FEED_ARCH_fic-gta01 = "armv4t"
45 FEED_ARCH_a780 = "armv5te"
46 FEED_ARCH_aximx50 = "armv5te"
47 FEED_ARCH_akita = "armv5te"
48 FEED_ARCH_c7x0 = "armv5te"
49 FEED_ARCH_h2200 = "armv5te"
50 FEED_ARCH_h3900 = "armv5te"
51 FEED_ARCH_h4000 = "armv5te"
52 FEED_ARCH_h5000 = "armv5te"
53 FEED_ARCH_htcuniversal = "armv5te"
54 FEED_ARCH_hx2000 = "armv5te"
55 FEED_ARCH_hx4700 = "armv5te"
56 FEED_ARCH_ixp4xx = "armv5te"
57 FEED_ARCH_ixp4xxle = "armv5te"
58 FEED_ARCH_magician = "armv5te"
59 FEED_ARCH_netbook-pro = "armv5te"
60 FEED_ARCH_nokia770 = "armv5te"
61 FEED_ARCH_omap5912osk = "armv5te"
62 FEED_ARCH_poodle = "armv5te"
63 FEED_ARCH_spitz = "armv5te"
64 FEED_ARCH_tosa = "armv5te"
67 FEED_ARCH_ixp4xxbe = "armv5teb"
70 FEED_ARCH_epia = "i586"
74 FEED_ARCH_guinness = "i686"
75 FEED_ARCH_progear = "i686"
79 FEED_ARCH_efika = "ppc603e"
81 #strongarm machines, no EABI
83 FEED_ARCH_collie = "arm-oabi"
84 FEED_ARCH_h3600 = "arm-oabi"
85 FEED_ARCH_h3800 = "arm-oabi"
86 FEED_ARCH_simpad = "arm-oabi"
88 #Tweak packaging for strongarm machines since they can't use EABI
90 PACKAGE_ARCH_collie = "arm-oabi"
91 PACKAGE_ARCH_h3600 = "arm-oabi"
92 PACKAGE_ARCH_h3800 = "arm-oabi"
93 PACKAGE_ARCH_simpad = "arm-oabi"
95 PACKAGE_EXTRA_ARCHS_collie = "arm-oabi"
96 PACKAGE_EXTRA_ARCHS_h3600 = "arm-oabi"
97 PACKAGE_EXTRA_ARCHS_h3800 = "arm-oabi"
98 PACKAGE_EXTRA_ARCHS_simpad = "arm-oabi"
101 no-arch##${ANGSTROM_URI}/unstable/feed/all \
102 base##${ANGSTROM_URI}/unstable/feed/${FEED_ARCH}/base \
103 perl##${ANGSTROM_URI}/unstable/feed/${FEED_ARCH}/perl \
104 python##${ANGSTROM_URI}/unstable/feed/${FEED_ARCH}/python \
105 debug##${ANGSTROM_URI}/unstable/feed/${FEED_ARCH}/debug \
106 gstreamer##${ANGSTROM_URI}/unstable/feed/${FEED_ARCH}/gstreamer \
107 ${MACHINE}##${ANGSTROM_URI}/unstable/feed/${FEED_ARCH}/machine/${MACHINE}"
108 # base##${ANGSTROM_URI}/releases/${DISTRO_VERSION}/feed/${FEED_ARCH}/base \
109 # ${MACHINE}##${ANGSTROM_URI}/releases/${DISTRO_VERSION}/feed/${FEED_ARCH}/machine/${MACHINE} \
110 # updates##${ANGSTROM_URI}/releases/${DISTRO_VERSION}/feed/${FEED_ARCH}/updates"
112 #The angstrom-mirrors.bbclass should have everything, but we can use this as a fallback
113 CVS_TARBALL_STASH ?= "\
114 http://www.angstrom-distribution.org/unstable/sources/ \
115 http://ewi546.ewi.utwente.nl/mirror/www.openzaurus.org/official/unstable/3.5.4/sources/ \
119 # We will lock down a SRCDATE when we go into release mode
120 #SRCDATE = "20070703"
122 #Make sure we use 2.6 on machines with a 2.4/2.6 selector
124 MACHINE_KERNEL_VERSION = "2.6"
125 PCMCIA_MANAGER = "pcmciautils"
127 #Preferred version for the kernel on various machines
128 PREFERRED_VERSION_linux-handhelds-2.6 ?= "2.6.16-hh9"
129 PREFERRED_VERSION_linux-handhelds-2.6_h3900 ?= "2.6.20-hh6"
130 PREFERRED_VERSION_linux-handhelds-2.6_h4000 ?= "2.6.20-hh6"
131 PREFERRED_VERSION_linux-handhelds-2.6_h5000 ?= "2.6.20-hh6"
132 PREFERRED_VERSION_linux-handhelds-2.6_htcuniversal ?= "2.6.19-hh13"
133 PREFERRED_VERSION_linux-handhelds-2.6_hx4700 ?= "2.6.20-hh6"
134 PREFERRED_VERSION_linux-handhelds-2.6_magician ?= "2.6.20-hh6"
136 # Needed for crappy ipaqs with broken hostap in the kernel
137 PREFERRED_VERSION_hostap-modules ?= "0.4.7"
138 PREFERRED_VERSION_hostap-utils ?= "0.4.7"
140 PREFERRED_VERSION_file = "4.18"
141 PREFERRED_VERSION_file_native = "4.18"
143 PREFERRED_VERSION_fontconfig = "2.4.1"
144 PREFERRED_VERSION_freetype = "2.3.3"
145 PREFERRED_VERSION_freetype-native = "2.2.1"
146 PREFERRED_VERSION_cairo = "1.4.8"
147 PREFERRED_VERSION_glib-2.0 = "2.12.12"
148 PREFERRED_VERSION_pango = "1.16.4"
149 PREFERRED_VERSION_atk = "1.10.3"
150 PREFERRED_VERSION_gtk+ = "2.10.12"
152 # older gtk-webcore releases don't work on ARM/EABI
153 # We need to switch to a fixed SRCDATE or release as soon as possible
154 PREFERRED_VERSION_osb-browser = "0.5.0+svn${SRCDATE}"
155 PREFERRED_VERSION_osb-jscore = "0.5.2+svn${SRCDATE}"
156 PREFERRED_VERSION_osb-nrcit = "0.5.2+svn${SRCDATE}"
157 PREFERRED_VERSION_osb-nrcore = "0.5.2+svn${SRCDATE}"
159 #Small machines prefer kdrive, but we might ship full Xorg in other images
160 PREFERRED_PROVIDER_virtual/xserver ?= "xserver-kdrive"
161 PREFERRED_PROVIDER_xserver ?= "xserver-kdrive"
163 PREFERRED_VERSION_xserver-kdrive ?= "1.2.0"
164 PREFERRED_VERSION_libxrandr ?= "1.2.1"
165 PREFERRED_VERSION_xrandr ?= "1.2.0"
166 PREFERRED_VERSION_randrproto ?= "1.2.1"
168 PREFERRED_VERSION_libgnomeui = "2.16.1"
169 PREFERRED_VERSION_prismstumbler = "0.7.3"
171 #use EABI ready toolchain
172 PREFERRED_VERSION_gcc ?= "4.1.2"
173 PREFERRED_VERSION_gcc-cross ?= "4.1.2"
174 PREFERRED_VERSION_gcc-cross-sdk ?= "4.1.2"
175 PREFERRED_VERSION_gcc-cross-initial ?= "4.1.2"
177 PREFERRED_VERSION_binutils ?= "2.17.50.0.5"
178 PREFERRED_VERSION_binutils-cross ?= "2.17.50.0.5"
179 PREFERRED_VERSION_binutils-cross-sdk ?= "2.17.50.0.5"
181 #avr32 only has patches for binutils 2.17 and gcc 4.1.2 in OE
182 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc_avr32 = "avr32-gcc-cross"
183 PREFERRED_VERSION_avr32-gcc = "4.1.2"
184 PREFERRED_VERSION_avr32-gcc-cross = "4.1.2"
185 PREFERRED_VERSION_gcc-cross-sdk_avr32 = "4.0.2"
186 PREFERRED_VERSION_gcc-cross-initial_avr32 = "4.0.2"
188 PREFERRED_VERSION_binutils_avr32 = "2.17"
189 PREFERRED_VERSION_binutils-cross_avr32 = "2.17"
190 PREFERRED_VERSION_binutils-cross-sdk_avr32 = "2.17"
192 #This is unrelated to the kernel version, but userspace apps (e.g. HAL) require a recent version to build against
193 PREFERRED_VERSION_linux-libc-headers ?= "2.6.20"
194 PREFERRED_VERSION_linux-libc-headers_bfin = "2.6.21"
196 #Prefer glibc 2.5 and uclibc 0.9.29, these have had the most testing.
197 PREFERRED_VERSION_glibc ?= "2.5"
198 PREFERRED_VERSION_uclibc ?= "0.9.29"
199 PREFERRED_VERSION_uclibc-initial ?= "0.9.29"
201 #there's is no avr32 patch for 0.9.29
202 PREFERRED_VERSION_uclibc_avr32 = "0.9.28"
203 PREFERRED_VERSION_uclibc-initial_avr32 = "0.9.28"
205 PREFERRED_VERSION_glibc-intermediate_i686 ?= "2.4"
206 PREFERRED_VERSION_glibc-intermediate ?= "2.5"
208 PREFERRED_VERSION_glibc-initial ?= "2.5"
210 # To use an EABI compatible version 3 series gcc, either uncomment
211 # the lines below or set them in local.conf:
213 # PREFERRED_VERSION_gcc-cross = "3.4.4+csl-arm-2005q3"
214 # PREFERRED_VERSION_gcc-cross-initial = "3.4.4+csl-arm-2005q3"
217 # Busybox <1.1.0 doesn't have EABI support
218 PREFERRED_VERSION_busybox = "1.2.1"
220 PREFERRED_VERSION_dbus ?= "1.0.2"
221 PREFERRED_VERSION_dbus-glib ?= "0.72"
223 PREFERRED_VERSION_wpa-supplicant = "0.5.5"
226 #Loads preferred versions from files, these have weak assigments (?=), so put them at the bottom
227 require conf/distro/include/preferred-gpe-versions-2.8.inc
228 require conf/distro/include/preferred-e-versions.inc
229 require conf/distro/include/preferred-xorg-versions-X11R7.2.inc
233 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial"
234 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross"
235 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross"
237 #Set preferred provider for the C library that is used to build the crosscompiler (NPTL voodoo)
238 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc-intermediate"
239 PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-libc-for-gcc = "glibc-intermediate"
240 PREFERRED_PROVIDER_virtual/armeb-angstrom-linux-gnueabi-libc-for-gcc = "glibc-intermediate"
241 PREFERRED_PROVIDER_virtual/arm-angstrom-linux-libc-for-gcc = "glibc-intermediate"
242 PREFERRED_PROVIDER_virtual/powerpc-angstrom-linux-libc-for-gcc = "glibc-intermediate"
243 PREFERRED_PROVIDER_virtual/mipsel-angstrom-linux-libc-for-gcc = "glibc-intermediate"
244 PREFERRED_PROVIDER_virtual/sparc-angstrom-linux-libc-for-gcc = "glibc-intermediate"
246 PREFERRED_PROVIDER_virtual/arm-angstrom-linux-uclibcgnueabi-libc-for-gcc = "uclibc-initial"
247 PREFERRED_PROVIDER_virtual/armeb-angstrom-linux-uclibcgnueabi-libc-for-gcc = "uclibc-initial"
249 # hostap stuff, we prefer the in-kernel modules, but those don't work for all machines
250 PREFERRED_PROVIDER_hostap-conf ?= "hostap-conf"
251 PREFERRED_PROVIDER_hostap-modules_h2200 ?= "hostap-modules"
252 PREFERRED_PROVIDER_hostap-modules_hx4700 ?= "hostap-modules"
254 PREFERRED_PROVIDER_virtual/db ?= "db"
255 PREFERRED_PROVIDER_virtual/db-native ?= "db-native"
256 PREFERRED_PROVIDER_virtual/libsdl ?= "libsdl-x11"
257 PREFERRED_PROVIDER_virtual/libx11 ?= "diet-x11"
258 PREFERRED_PROVIDER_virtual/libxine ?= "libxine-x11"
259 PREFERRED_PROVIDER_virtual/xserver ?= "xserver-kdrive"
262 PREFERRED_PROVIDER_dbus-glib = "dbus-glib"
263 PREFERRED_PROVIDER_esound ?= "pulseaudio"
264 PREFERRED_PROVIDER_gconf ?= "gconf-dbus"
265 PREFERRED_PROVIDER_gnome-vfs ?= "gnome-vfs"
266 PREFERRED_PROVIDER_gnome-vfs-plugin-file ?= "gnome-vfs"
267 PREFERRED_PROVIDER_tslib ?= "tslib"
268 PREFERRED_PROVIDER_tslib-conf ?= "tslib"
269 PREFERRED_PROVIDER_libgpewidget ?= "libgpewidget"
270 PREFERRED_PROVIDER_ntp ?= "ntp"
271 PREFERRED_PROVIDER_hotplug = "udev"
272 PREFERRED_PROVIDER_libxss = "libxss"
274 # we don't ship gtk-directfb by default
275 PREFERRED_PROVIDER_gtk+ ?= "gtk+"
276 PREFERRED_PROVIDER_gdk-pixbuf-loader-ani ?= "gtk+"
277 PREFERRED_PROVIDER_gdk-pixbuf-loader-bmpg ?= "gtk+"
278 PREFERRED_PROVIDER_gdk-pixbuf-loader-gif ?= "gtk+"
279 PREFERRED_PROVIDER_gdk-pixbuf-loader-ico ?= "gtk+"
280 PREFERRED_PROVIDER_gdk-pixbuf-loader-jpeg ?= "gtk+"
281 PREFERRED_PROVIDER_gdk-pixbuf-loader-pcx ?= "gtk+"
282 PREFERRED_PROVIDER_gdk-pixbuf-loader-png ?= "gtk+"
283 PREFERRED_PROVIDER_gdk-pixbuf-loader-pnm ?= "gtk+"
284 PREFERRED_PROVIDER_gdk-pixbuf-loader-ras ?= "gtk+"
285 PREFERRED_PROVIDER_gdk-pixbuf-loader-tga ?= "gtk+"
286 PREFERRED_PROVIDER_gdk-pixbuf-loader-wbmp ?= "gtk+"
287 PREFERRED_PROVIDER_gdk-pixbuf-loader-xbm ?= "gtk+"
288 PREFERRED_PROVIDER_gdk-pixbuf-loader-xpm ?= "gtk+"
291 #Silence a warning during parsing
292 PREFERRED_PROVIDER_task-bootstrap = "task-bootstrap"
296 #Down here we put stuff we want to install into machines without polluting conf/machine/ with distro stuff
297 # c7x0, akita, spitz, nokia770, h2200, h6300, hx4700, simpad
300 # add altboot to compatible models, will be replaced with angstrom-bootmanager
301 #PREFERRED_VERSION_altboot = "1.0.8+1.0.9_pre1"
302 #EXTRA_STUFF_append_c7x0 += "altboot"
303 #EXTRA_STUFF_append_akita += "altboot"
304 #EXTRA_STUFF_append_poodle += "altboot"
305 #EXTRA_STUFF_append_tosa += "altboot"
306 EXTRA_STUFF_append_spitz += "altboot"
309 # do some task-base stuff here
311 # We want to ship extra debug utils in the rootfs when doing a debug build
313 DEBUG_APPS += '${@base_conditional("DISTRO_TYPE", "release", "", "tslib-tests tslib-calibrate gdb strace procps",d)}'
315 #this should go away soon
319 # Angstrom want to ship some extra stuff. This should be moved into task-base eventually
320 # contains ipkg specific stuff as well :(
321 DISTRO_EXTRA_RDEPENDS += "\
323 ${@base_contains("MACHINE_FEATURES", "screen", "psplash", "",d)} \
325 ipkg ipkg-collateral \
326 util-linux-mount util-linux-umount \
333 DISTRO_EXTRA_RRECOMMENDS += " \
336 kernel-module-af-packet \