Merge branch 'org.openembedded.dev' of git://git.openembedded.net/openembedded into...
[vuplus_openembedded] / conf / distro / include / slugos.inc
1 #@TYPE: Distribution
2 #@NAME: SlugOS
3 #@DESCRIPTION: SlugOS Linux Distribution for the NSLU2
4
5 # WARNING: this file should not be used directly, use one of
6 # the supported slugos-derived distributions instead.
7
8 #----------------------------------------------------------------------------------
9 # STANDARD SLUGOS DEFINITIONS
10 #----------------------------------------------------------------------------------
11 # The following must be set in the top level distro file:
12 #
13 #DISTRO_NAME
14 #DISTRO_TYPE
15 #ARM_INSTRUCTION_SET "arm" or "thumb"
16 #TARGET_OS "linux" or "linux-uclibc"
17
18 # The following may be overridden to make sub-versions
19 SLUGOS_VERSION = "5.0"
20 DISTRO_REVISION ?= ""
21 DISTRO_VERSION ?= "${SLUGOS_VERSION}${DISTRO_REVISION}-${DISTRO_TYPE}"
22 # For release (only):
23 # DISTRO_FEED ?= "${SLUGOS_VERSION}-${DISTRO_TYPE}"
24 DISTRO_FEED ?= "unstable"
25
26 # We want images supporting the following features (for task-base)
27 DISTRO_FEATURES = "nfs smbfs wifi ppp alsa bluetooth ext2 vfat irda pcmcia usbgadget usbhost pci"
28
29 IMAGE_BASENAME = "${@['slugos${SITEINFO_ENDIANESS}', 'ucslugc'][bb.data.getVar('TARGET_OS', d, 1) == 'linux-uclibc']}"
30
31 # The following need not be set, the defaults should be adequate
32 #USE_NLS = "no" or "yes"
33 USE_NLS ?= "no"
34
35 # To make errors easier to identify:
36 DISTRO_NAME ?= "INVALID-${SITEINFO_ENDIANESS}-${ARM_INSTRUCTION_SET}-${TARGET_OS}"
37 DISTRO_TYPE ?= "INVALID"
38
39 # The following must not be changed.
40 TARGET_FPU = "soft"
41
42 # glib-2.0 builds require USE_NLS to be overridden
43 USE_NLS_glib-2.0 = "yes"
44 USE_NLS_glib-2.0-native = "yes"
45
46 INHERIT += "package_ipk debian testlab packaged-staging"
47
48 # FULL_OPTIMIZATION
49 #    Optimization settings.  Os works fine and is significantly better than O2.
50 FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os"
51
52 #----------------------------------------------------------------------------------
53 # FEEDS
54 #  The FEED_URIS lines define where on the internet SlugOS looks for packages
55 #  when downloading new packages or updating existing packages.  Additional feeds
56 #  (such as a local feed) can be defined in local.conf
57 #----------------------------------------------------------------------------------
58 #
59 FEED_URIS_append += "cross##http://ipkg.nslu2-linux.org/feeds/${IMAGE_BASENAME}/cross/${DISTRO_FEED}"
60 FEED_URIS_append += "native##http://ipkg.nslu2-linux.org/feeds/${IMAGE_BASENAME}/native/${DISTRO_FEED}"
61
62 #----------------------------------------------------------------------------------
63 # FIRMWARE CONFIGURATION
64 #----------------------------------------------------------------------------------
65 # IMAGE BUILD OPTIONS
66 # -------------------
67 # CMDLINE* macros define the kernel command line.  CMDLINE_DEBUG is provided
68 # to enable/disable debugging in the distro.  Here noirqdebug is used to
69 # remove the messages about unhandled interrupts - people debugging interrupt
70 # issues in the kernel need to cancel this (set CMDLINE_DEBUG empty in local.conf)
71 CMDLINE_ROOT  = "root=/dev/mtdblock4 rootfstype=jffs2 rw init=/linuxrc"
72 CMDLINE_DEBUG = "noirqdebug"
73
74 # EXTRA PACKAGES
75 # --------------
76 # SlugOS builds an image with no extra packages - to add packages to the
77 # firmware include this file in a new 'distro' configuration file) and set
78 # the definition below to include the requirements.
79 # NOTE: as built this system will *not* be able to boot off anything other than
80 # the flash file system ('turnup' will not work).  You need to add the filesystem
81 # modules for your chosen root file system (and any others which will be used).
82 # See openslug.conf for a more full-featured system!
83 #
84 # Everything in this list gets added to the flash image, along with any RDEPENDS
85 # it has itself!
86 DISTRO_EXTRA_DEPENDS ?= ""
87 DISTRO_EXTRA_RDEPENDS ?= ""
88 DISTRO_EXTRA_RRECOMMENDS ?= ""
89
90 #----------------------------------------------------------------------------------
91 # PACKAGE VERSION CONTROL
92 #----------------------------------------------------------------------------------
93 # Define how to bootstrap the system - we need cross compilers.  It is also
94 # necessary to define which gets generated first, glibc or the kernel, and
95 # this is done by selecting the provider of libc (in this case it needs the
96 # kernel, so there has to be a non-libc gcc to build the kernel!)
97
98 # Virtuals:
99 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial"
100 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-intermediate"
101 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross"
102 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross"
103
104 #Set preferred provider for the C library that is used to build the crosscompiler (NPTL voodoo)
105 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc"
106 PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc       = "glibc"
107 PREFERRED_PROVIDER_virtual/armeb-linux-libc-for-gcc     = "glibc"
108
109 # Set the preferred provider for a few toolchain-related items, otherwise
110 # these may be selected from the external-toolchain instead.
111 PREFERRED_PROVIDER_virtual/arm-linux-binutils       = "binutils-cross"
112 PREFERRED_PROVIDER_virtual/armeb-linux-binutils     = "binutils-cross"
113 PREFERRED_PROVIDER_linux-libc-headers               = "linux-libc-headers"
114
115 # compiler/binary/library versions
116 PREFERRED_VERSION_binutils           ?= "2.18"
117 PREFERRED_VERSION_binutils-cross     ?= "2.18"
118 PREFERRED_VERSION_binutils-cross-sdk ?= "2.18"
119 PREFERRED_VERSION_gcc                ?= "4.1.2"
120 PREFERRED_VERSION_gcc-cross          ?= "4.1.2"
121 PREFERRED_VERSION_gcc-cross-sdk      ?= "4.1.2"
122 PREFERRED_VERSION_gcc-cross-initial  ?= "4.1.2"
123 PREFERRED_VERSION_gcc-cross-intermediate  ?= "4.1.2"
124 PREFERRED_VERSION_glibc              ?= "2.5"
125 PREFERRED_VERSION_glibc-initial      ?= "2.5"
126
127 # Select the smallest provider of x11 libraries
128 PREFERRED_PROVIDER_virtual/libx11 ?= "diet-x11"
129 SRCDATE_diet-x11 ?= "20060106"
130
131 # Ensure consistency across all SlugOS builds for the provider of a
132 # relational database - use the latest version of the SleepyCat
133 # Berkeley database
134 PREFERRED_PROVIDER_virtual/db = "db"
135 PREFERRED_PROVIDER_virtual/db-native = "db-native"
136
137 SRCDATE_ipkg-utils ?= "20060106"
138 SRCDATE_ipkg-utils-native ?= "20060106"
139 SRCDATE_ipkg-link ?= "20060106"
140 SRCDATE_irssi ?= "20050930"
141
142 CVS_TARBALL_STASH = "http://sources.nslu2-linux.org/sources/"
143 INHERIT += "nslu2-mirrors"
144
145 PREFERRED_VERSION_nslu2-linksys-firmware ?= "2.3r63"
146
147 PREFERRED_VERSION_ipkg ?= "0.99.163"
148 PREFERRED_VERSION_ipkg-native ?= "0.99.163"
149
150 #FIXME: HACK: REMOVE THIS
151 IGNORE_STRIP_ERRORS = ""
152
153 PREFERRED_VERSION_linux-libc-headers ?= "2.6.20"
154
155 # New pango and older glib-2.0 versions don't mix,
156 # so specify exactly what we would like to build.
157 PREFERRED_VERSION_pango    ?= 1.20.5
158 PREFERRED_VERSION_glib-2.0 ?= 2.16.1
159 PREFERRED_VERSION_cairo    ?= 1.4.8
160
161 # Stick with an older gettext and e2fsprogs stuff
162 # and gnutls... (our autotools is too old at the moment)
163 PREFERRED_VERSION_gnutls           ?= "1.6.3"
164 PREFERRED_VERSION_gettext          ?= "0.14.1"
165 PREFERRED_VERSION_gettext-native   ?= "0.14.1"
166 PREFERRED_VERSION_e2fsprogs-libs   ?= "1.39"
167 PREFERRED_VERSION_e2fsprogs        ?= "1.38"
168 PREFERRED_VERSION_e2fsprogs-native ?= "1.38"
169
170 # we don't ship gtk-directfb by default
171 PREFERRED_PROVIDER_gtk+                   ?= "gtk+"
172 PREFERRED_PROVIDER_gdk-pixbuf-loader-ani  ?= "gtk+"
173 PREFERRED_PROVIDER_gdk-pixbuf-loader-bmpg ?= "gtk+"
174 PREFERRED_PROVIDER_gdk-pixbuf-loader-gif  ?= "gtk+"
175 PREFERRED_PROVIDER_gdk-pixbuf-loader-ico  ?= "gtk+"
176 PREFERRED_PROVIDER_gdk-pixbuf-loader-jpeg ?= "gtk+"
177 PREFERRED_PROVIDER_gdk-pixbuf-loader-pcx  ?= "gtk+"
178 PREFERRED_PROVIDER_gdk-pixbuf-loader-png  ?= "gtk+"
179 PREFERRED_PROVIDER_gdk-pixbuf-loader-pnm  ?= "gtk+"
180 PREFERRED_PROVIDER_gdk-pixbuf-loader-ras  ?= "gtk+"
181 PREFERRED_PROVIDER_gdk-pixbuf-loader-tga  ?= "gtk+"
182 PREFERRED_PROVIDER_gdk-pixbuf-loader-wbmp ?= "gtk+"
183 PREFERRED_PROVIDER_gdk-pixbuf-loader-xbm  ?= "gtk+"
184 PREFERRED_PROVIDER_gdk-pixbuf-loader-xpm  ?= "gtk+"
185
186 PREFERRED_PROVIDER_avahi  ?= "avahi"
187 PREFERRED_PROVIDER_gconf  ?= "gconf"
188
189 require conf/distro/include/sane-srcdates.inc
190 require conf/distro/include/sane-srcrevs.inc