summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbitbake/bin/bitbake165
-rwxr-xr-xbitbake/bin/bitdoc26
-rw-r--r--bitbake/doc/manual/usermanual.xml8
-rw-r--r--bitbake/lib/bb/COW.py171
-rw-r--r--bitbake/lib/bb/__init__.py92
-rw-r--r--bitbake/lib/bb/build.py64
-rw-r--r--bitbake/lib/bb/cache.py99
-rw-r--r--bitbake/lib/bb/command.py19
-rw-r--r--bitbake/lib/bb/cooker.py182
-rw-r--r--bitbake/lib/bb/daemonize.py381
-rw-r--r--bitbake/lib/bb/data.py417
-rw-r--r--bitbake/lib/bb/data_smart.py158
-rw-r--r--bitbake/lib/bb/event.py33
-rw-r--r--bitbake/lib/bb/fetch/__init__.py134
-rw-r--r--bitbake/lib/bb/fetch/bzr.py7
-rw-r--r--bitbake/lib/bb/fetch/cvs.py6
-rw-r--r--bitbake/lib/bb/fetch/git.py13
-rw-r--r--bitbake/lib/bb/fetch/hg.py7
-rw-r--r--bitbake/lib/bb/fetch/local.py9
-rw-r--r--bitbake/lib/bb/fetch/osc.py10
-rw-r--r--bitbake/lib/bb/fetch/perforce.py41
-rw-r--r--bitbake/lib/bb/fetch/repo.py3
-rw-r--r--bitbake/lib/bb/fetch/ssh.py2
-rw-r--r--bitbake/lib/bb/fetch/svn.py2
-rw-r--r--bitbake/lib/bb/fetch/wget.py35
-rw-r--r--bitbake/lib/bb/methodpool.py10
-rw-r--r--bitbake/lib/bb/msg.py108
-rw-r--r--bitbake/lib/bb/parse/__init__.py19
-rw-r--r--bitbake/lib/bb/parse/ast.py60
-rw-r--r--bitbake/lib/bb/parse/parse_py/BBHandler.py33
-rw-r--r--bitbake/lib/bb/parse/parse_py/ConfHandler.py14
-rw-r--r--bitbake/lib/bb/parse/parse_py/__init__.py8
-rw-r--r--bitbake/lib/bb/persist_data.py41
-rw-r--r--bitbake/lib/bb/providers.py16
-rw-r--r--bitbake/lib/bb/runqueue.py124
-rw-r--r--bitbake/lib/bb/server/none.py3
-rw-r--r--bitbake/lib/bb/server/xmlrpc.py15
-rw-r--r--bitbake/lib/bb/shell.py166
-rw-r--r--bitbake/lib/bb/taskdata.py65
-rw-r--r--bitbake/lib/bb/ui/__init__.py1
-rw-r--r--bitbake/lib/bb/ui/crumbs/__init__.py1
-rw-r--r--bitbake/lib/bb/ui/crumbs/buildmanager.py90
-rw-r--r--bitbake/lib/bb/ui/crumbs/runningbuild.py30
-rw-r--r--bitbake/lib/bb/ui/depexp.py21
-rw-r--r--bitbake/lib/bb/ui/goggle.py21
-rw-r--r--bitbake/lib/bb/ui/knotty.py92
-rw-r--r--bitbake/lib/bb/ui/ncurses.py31
-rw-r--r--bitbake/lib/bb/ui/puccho.py130
-rw-r--r--bitbake/lib/bb/ui/uievent.py7
-rw-r--r--bitbake/lib/bb/utils.py396
-rw-r--r--build/conf/local.conf.sample2
-rw-r--r--meta/classes/cross-canadian.bbclass8
-rw-r--r--meta/classes/image.bbclass7
-rw-r--r--meta/classes/insane.bbclass157
-rw-r--r--meta/classes/nativesdk.bbclass6
-rw-r--r--meta/classes/package_deb.bbclass6
-rw-r--r--meta/classes/package_ipk.bbclass5
-rw-r--r--meta/classes/package_rpm.bbclass6
-rw-r--r--meta/conf/bitbake.conf4
-rw-r--r--meta/conf/distro/include/poky-default.inc2
-rw-r--r--meta/conf/distro/include/poky-fixed-revisions.inc8
-rw-r--r--meta/conf/distro/include/preferred-xorg-versions.inc14
-rw-r--r--meta/conf/distro/include/private/distro_base_libs_1.inc25
-rw-r--r--meta/conf/distro/include/private/distro_base_libs_2.inc57
-rw-r--r--meta/conf/distro/include/private/distro_base_utils_1.inc41
-rw-r--r--meta/conf/distro/include/private/distro_base_utils_2.inc214
-rw-r--r--meta/conf/distro/include/private/distro_connectivity.inc24
-rw-r--r--meta/conf/distro/include/private/distro_kernel.inc6
-rw-r--r--meta/conf/distro/include/private/distro_multimedia.inc6
-rw-r--r--meta/conf/distro/include/private/distro_toolchain_devel.inc12
-rw-r--r--meta/conf/distro/include/private/distro_x11_apps_1.inc9
-rw-r--r--meta/conf/distro/include/private/distro_x11_apps_2.inc7
-rw-r--r--meta/conf/distro/include/private/distro_x11_core.inc44
-rw-r--r--meta/conf/distro/include/private/distro_x11_libs.inc58
-rw-r--r--meta/conf/distro/include/private/distro_x11_ux.inc153
-rw-r--r--meta/conf/distro/poky.conf4
-rw-r--r--meta/conf/machine/igep0020.conf7
-rw-r--r--meta/conf/machine/igep0030.conf41
-rw-r--r--meta/packages/apmd/apmd_3.2.2.bb10
-rw-r--r--meta/packages/avahi/avahi.inc7
-rw-r--r--meta/packages/base-files/base-files_3.0.14.bb39
-rw-r--r--meta/packages/base-passwd/base-passwd_3.5.9.bb12
-rw-r--r--meta/packages/busybox/busybox-1.15.3/0000-wget-no-check-certificate.patch12
-rw-r--r--meta/packages/busybox/busybox-1.15.3/ash_fix_redirection_of_fd_0.patch21
-rw-r--r--meta/packages/busybox/busybox-1.15.3/fdisk_lineedit_segfault.patch12
-rw-r--r--meta/packages/busybox/busybox-1.15.3/fix31
-rw-r--r--meta/packages/busybox/busybox-1.15.3/r24785.patch14
-rw-r--r--meta/packages/busybox/busybox-1.15.3/xargs-double-size.patch13
-rw-r--r--meta/packages/busybox/busybox-1.16.2/B921600.patch (renamed from meta/packages/busybox/busybox-1.15.3/B921600.patch)9
-rw-r--r--meta/packages/busybox/busybox-1.16.2/busybox-appletlib-dependency.patch35
-rw-r--r--meta/packages/busybox/busybox-1.16.2/defconfig (renamed from meta/packages/busybox/busybox-1.15.3/defconfig)45
-rw-r--r--meta/packages/busybox/busybox-1.16.2/get_header_tar.patch (renamed from meta/packages/busybox/busybox-1.15.3/get_header_tar.patch)9
-rw-r--r--meta/packages/busybox/busybox-1.16.2/run-parts.in.usr-bin.patch (renamed from meta/packages/busybox/busybox-1.15.3/run-parts.in.usr-bin.patch)15
-rw-r--r--meta/packages/busybox/busybox-1.16.2/udhcpc-fix-nfsroot.patch (renamed from meta/packages/busybox/busybox-1.15.3/udhcpc-fix-nfsroot.patch)8
-rw-r--r--meta/packages/busybox/busybox-1.16.2/udhcpscript.patch (renamed from meta/packages/busybox/busybox-1.15.3/udhcpscript.patch)9
-rw-r--r--meta/packages/busybox/busybox.inc5
-rw-r--r--meta/packages/busybox/busybox_1.15.3.bb28
-rw-r--r--meta/packages/busybox/busybox_1.16.2.bb24
-rw-r--r--meta/packages/busybox/files/busybox-appletlib-dependency.patch15
-rw-r--r--meta/packages/cairo/cairo-1.8.10/hardcoded_libtool.patch (renamed from meta/packages/cairo/cairo-1.8.2/hardcoded_libtool.patch)0
-rw-r--r--meta/packages/cairo/cairo.inc6
-rw-r--r--meta/packages/cairo/cairo_1.8.10.bb8
-rw-r--r--meta/packages/cairo/cairo_1.8.2.bb6
-rw-r--r--meta/packages/dbus/dbus.inc18
-rw-r--r--meta/packages/dropbear/dropbear-0.52/configure.patch (renamed from meta/packages/dropbear/dropbear-0.49/configure.patch)0
-rw-r--r--meta/packages/dropbear/dropbear.inc5
-rw-r--r--meta/packages/dropbear/dropbear/allow-nopw.patch29
-rw-r--r--meta/packages/dropbear/dropbear/urandom-xauth-changes-to-options.h.patch9
-rw-r--r--meta/packages/dropbear/dropbear_0.52.bb (renamed from meta/packages/dropbear/dropbear_0.49.bb)2
-rw-r--r--meta/packages/eds/eds-dbus_2.20.0.bb6
-rw-r--r--meta/packages/eds/eds-dbus_git.bb6
-rw-r--r--meta/packages/file/file/native-fix.diff13
-rw-r--r--meta/packages/file/file_5.04.bb (renamed from meta/packages/file/file_4.18.bb)16
-rw-r--r--meta/packages/findutils/findutils.inc6
-rw-r--r--meta/packages/findutils/findutils_4.2.29.bb3
-rw-r--r--meta/packages/fontconfig/fontconfig-2.6.0/fix-pkgconfig.patch15
-rw-r--r--meta/packages/fontconfig/fontconfig-2.8.0/97_fontconfig (renamed from meta/packages/fontconfig/fontconfig-2.6.0/97_fontconfig)0
-rw-r--r--meta/packages/fontconfig/fontconfig-2.8.0/fix-pkgconfig.patch13
-rw-r--r--meta/packages/fontconfig/fontconfig-native_2.8.0.bb (renamed from meta/packages/fontconfig/fontconfig-native_2.6.0.bb)0
-rw-r--r--meta/packages/fontconfig/fontconfig_2.8.0.bb (renamed from meta/packages/fontconfig/fontconfig_2.6.0.bb)16
-rw-r--r--meta/packages/freetype/freetype-2.3.12/no-hardcode.patch (renamed from meta/packages/freetype/freetype-2.3.5/no-hardcode.patch)0
-rw-r--r--meta/packages/freetype/freetype-2.3.5/configure.patch47
-rw-r--r--meta/packages/freetype/freetype-2.3.5/fix-x86_64-build.patch26
-rw-r--r--meta/packages/freetype/freetype_2.3.12.bb (renamed from meta/packages/freetype/freetype_2.3.5.bb)16
-rw-r--r--meta/packages/gcc/gcc-crosssdk-initial.inc4
-rw-r--r--meta/packages/gcc/gcc-crosssdk-intermediate.inc4
-rw-r--r--meta/packages/gcc/gcc-crosssdk.inc4
-rw-r--r--meta/packages/genext2fs/genext2fs.inc3
-rw-r--r--meta/packages/glib-2.0/glib-2.0-2.22.3/glib-gettextize-dir.patch11
-rw-r--r--meta/packages/glib-2.0/glib-2.0-2.22.3/glibconfig-sysdefs.h6
-rw-r--r--meta/packages/glib-2.0/glib-2.0-2.24.1/60_wait-longer-for-threads-to-die.patch29
-rw-r--r--meta/packages/glib-2.0/glib-2.0-2.24.1/configure-libtool.patch (renamed from meta/packages/glib-2.0/glib-2.0-2.22.3/configure-libtool.patch)0
-rw-r--r--meta/packages/glib-2.0/glib-2.0-2.24.1/gatomic-proper-pointer-get-cast.patch37
-rw-r--r--meta/packages/glib-2.0/glib-2.0-2.24.1/glib-gettextize-dir.patch19
-rw-r--r--meta/packages/glib-2.0/glib-2.0_2.22.3.bb11
-rw-r--r--meta/packages/glib-2.0/glib-2.0_2.24.1.bb11
-rw-r--r--meta/packages/glib-2.0/glib.inc41
-rw-r--r--meta/packages/gnome/gconf-dbus_svn.bb12
-rw-r--r--meta/packages/gnome/gnome-common_2.20.0.bb8
-rw-r--r--meta/packages/gnome/gnome-keyring_2.26.1.bb7
-rw-r--r--meta/packages/gnutls/libtasn1_1.7.bb12
-rw-r--r--meta/packages/gnutls/libtasn1_2.7.bb21
-rw-r--r--meta/packages/gperf/gperf_3.0.3.bb6
-rw-r--r--meta/packages/gtk+/gtk+.inc5
-rw-r--r--meta/packages/gtk-engines/gtk-sato-engine.inc6
-rw-r--r--meta/packages/hal/hal-info.inc4
-rw-r--r--meta/packages/hal/hal-info_git.bb4
-rw-r--r--meta/packages/hal/hal.inc14
-rw-r--r--meta/packages/hal/hal_git.bb10
-rw-r--r--meta/packages/hicolor-icon-theme/hicolor-icon-theme_0.10.bb7
-rw-r--r--meta/packages/jpeg/jpeg_6b.bb4
-rw-r--r--meta/packages/js/js_1.5.bb9
-rw-r--r--meta/packages/kexec/kexec-tools-1.101/kexec-arm-atags.patch294
-rw-r--r--meta/packages/kexec/kexec-tools-1.101/kexec-tools-arm.patch417
-rw-r--r--meta/packages/kexec/kexec-tools-1.101/recentheader.patch34
-rw-r--r--meta/packages/kexec/kexec-tools-2.0.1/configurefix.patch (renamed from meta/packages/kexec/kexec-tools-1.101/configurefix.patch)6
-rw-r--r--meta/packages/kexec/kexec-tools.inc15
-rw-r--r--meta/packages/kexec/kexec-tools_2.0.1.bb (renamed from meta/packages/kexec/kexec-tools_1.101.bb)2
-rw-r--r--meta/packages/less/less_436.bb (renamed from meta/packages/less/less_418.bb)11
-rw-r--r--meta/packages/libfakekey/libfakekey_svn.bb6
-rw-r--r--meta/packages/libglade/libglade_2.6.2.bb6
-rw-r--r--meta/packages/libgpg-error/libgpg-error_1.6.bb5
-rw-r--r--meta/packages/libidn/libidn_0.5.19.bb5
-rw-r--r--meta/packages/libnss-mdns/libnss-mdns_0.7.bb3
-rw-r--r--meta/packages/libpng/libpng_1.2.20.bb10
-rw-r--r--meta/packages/libproxy/libproxy_0.2.3.bb6
-rw-r--r--meta/packages/librsvg/librsvg_svn.bb5
-rw-r--r--meta/packages/libsoup/libsoup-2.4_2.25.91.bb6
-rw-r--r--meta/packages/libusb/libusb-compat_0.0.9+0.1.0-beta2.bb7
-rw-r--r--meta/packages/libxslt/libxslt_1.1.22.bb6
-rw-r--r--meta/packages/linux-firmware/linux-firmware_git.bb34
-rw-r--r--meta/packages/linux-libc-headers/files/unifdef.patch31
-rw-r--r--meta/packages/linux-libc-headers/linux-libc-headers-2.6.20/procinfo.h24
-rw-r--r--meta/packages/linux-libc-headers/linux-libc-headers-2.6.30/headerfix.patch12
-rw-r--r--meta/packages/linux-libc-headers/linux-libc-headers.inc5
-rw-r--r--meta/packages/linux-libc-headers/linux-libc-headers/hayes-gone.patch (renamed from meta/packages/linux-libc-headers/linux-libc-headers-2.6.33/hayes-gone.patch)9
-rw-r--r--meta/packages/linux-libc-headers/linux-libc-headers/ppc_glibc_build_fix.patch25
-rw-r--r--meta/packages/linux-libc-headers/linux-libc-headers_2.6.20.bb51
-rw-r--r--meta/packages/linux-libc-headers/linux-libc-headers_2.6.29.bb45
-rw-r--r--meta/packages/linux-libc-headers/linux-libc-headers_2.6.30.bb46
-rw-r--r--meta/packages/linux-libc-headers/linux-libc-headers_2.6.34.bb (renamed from meta/packages/linux-libc-headers/linux-libc-headers_2.6.33.bb)10
-rw-r--r--meta/packages/linux/linux-igep-2.6.33.5/0001-omap3-init-MUX-for-OMAP3-IGEP-module.patch36
-rw-r--r--meta/packages/linux/linux-igep-2.6.33.5/defconfig-igep0020 (renamed from meta/packages/linux/linux-igep2-2.6.28/igep0020/defconfig)1577
-rw-r--r--meta/packages/linux/linux-igep-2.6.33.5/defconfig-igep00302454
-rw-r--r--meta/packages/linux/linux-igep2_2.6.28.bb18
-rw-r--r--meta/packages/linux/linux-igep_2.6.33.5.bb30
-rw-r--r--meta/packages/matchbox-config-gtk/matchbox-config-gtk_svn.bb6
-rw-r--r--meta/packages/matchbox-keyboard/matchbox-keyboard_svn.bb6
-rw-r--r--meta/packages/matchbox-panel-2/matchbox-panel-2_svn.bb7
-rw-r--r--meta/packages/matchbox-stroke/matchbox-stroke_svn.bb6
-rw-r--r--meta/packages/matchbox-wm/matchbox-wm_svn.bb8
-rw-r--r--meta/packages/meta/meta-toolchain.bb92
-rw-r--r--meta/packages/module-init-tools/module-init-tools.inc14
-rw-r--r--meta/packages/mtd/mtd-utils-1.3.1/add-exclusion-to-mkfs-jffs2-git-2.patch101
-rw-r--r--meta/packages/mtd/mtd-utils-1.3.1/add-oobsize-64-and-writesize-4096-as-normal-nand.patch24
-rw-r--r--meta/packages/mtd/mtd-utils_1.3.1.bb27
-rw-r--r--meta/packages/musicbrainz/files/autofoo.patch180
-rw-r--r--meta/packages/musicbrainz/files/gcc43_fix.patch63
-rw-r--r--meta/packages/musicbrainz/libmusicbrainz_2.1.3.bb14
-rw-r--r--meta/packages/musicbrainz/libmusicbrainz_3.0.2.bb12
-rw-r--r--meta/packages/neon/neon-0.29.3/pkgconfig.patch (renamed from meta/packages/neon/neon-0.28.1/pkgconfig.patch)0
-rw-r--r--meta/packages/neon/neon_0.29.3.bb (renamed from meta/packages/neon/neon_0.28.1.bb)7
-rw-r--r--meta/packages/netbase/netbase/busybox.patch13
-rw-r--r--meta/packages/netbase/netbase_4.41.bb (renamed from meta/packages/netbase/netbase_4.21.bb)4
-rw-r--r--meta/packages/networkmanager/networkmanager-applet_svn.bb9
-rw-r--r--meta/packages/networkmanager/networkmanager_svn.bb33
-rw-r--r--meta/packages/nfs-utils/nfs-utils_1.0.6.bb5
-rw-r--r--meta/packages/pango/pango-1.22.2/doublefix.patch17
-rw-r--r--meta/packages/pango/pango-1.26.0/no-introspect.patch13
-rw-r--r--meta/packages/pango/pango-1.26.0/no-tests.patch12
-rw-r--r--meta/packages/pango/pango-1.28.0/no-tests.patch (renamed from meta/packages/pango/pango-1.22.2/no-tests.patch)0
-rw-r--r--meta/packages/pango/pango.inc20
-rw-r--r--meta/packages/pango/pango_1.22.2.bb6
-rw-r--r--meta/packages/pango/pango_1.26.0.bb6
-rw-r--r--meta/packages/pango/pango_1.28.0.bb9
-rw-r--r--meta/packages/pcmanfm/pcmanfm_0.3.2.2.bb8
-rw-r--r--meta/packages/pcmciautils/pcmciautils.inc5
-rw-r--r--meta/packages/pkgconfig/pkgconfig.inc13
-rw-r--r--meta/packages/popt/popt_1.16.bb (renamed from meta/packages/popt/popt_1.14.bb)8
-rw-r--r--meta/packages/ppp/ppp-2.4.3/makefile-remove-hard-usr-reference.patch19
-rw-r--r--meta/packages/ppp/ppp-2.4.3/plugins-fix-CC.patch7
-rw-r--r--meta/packages/ppp/ppp-2.4.3/pppoatm-makefile.patch7
-rw-r--r--meta/packages/ppp/ppp-2.4.5/08setupdns (renamed from meta/packages/ppp/files/08setupdns)0
-rw-r--r--meta/packages/ppp/ppp-2.4.5/92removedns (renamed from meta/packages/ppp/files/92removedns)0
-rw-r--r--meta/packages/ppp/ppp-2.4.5/cifdefroute.patch (renamed from meta/packages/ppp/ppp-2.4.3/cifdefroute.patch)124
-rw-r--r--meta/packages/ppp/ppp-2.4.5/enable-ipv6.patch (renamed from meta/packages/ppp/ppp-2.4.3/enable-ipv6.patch)2
-rwxr-xr-xmeta/packages/ppp/ppp-2.4.5/init (renamed from meta/packages/ppp/files/init)0
-rwxr-xr-xmeta/packages/ppp/ppp-2.4.5/ip-down (renamed from meta/packages/ppp/files/ip-down)0
-rwxr-xr-xmeta/packages/ppp/ppp-2.4.5/ip-up (renamed from meta/packages/ppp/files/ip-up)0
-rw-r--r--meta/packages/ppp/ppp-2.4.5/makefile-remove-hard-usr-reference.patch19
-rw-r--r--meta/packages/ppp/ppp-2.4.5/makefile.patch (renamed from meta/packages/ppp/ppp-2.4.3/makefile.patch)96
-rw-r--r--meta/packages/ppp/ppp-2.4.5/poff (renamed from meta/packages/ppp/files/poff)0
-rw-r--r--meta/packages/ppp/ppp-2.4.5/pon (renamed from meta/packages/ppp/files/pon)0
-rw-r--r--meta/packages/ppp/ppp-2.4.5/pppd-resolv-varrun.patch (renamed from meta/packages/ppp/ppp-2.4.3/pppd-resolv-varrun.patch)20
-rw-r--r--meta/packages/ppp/ppp_2.4.5.bb (renamed from meta/packages/ppp/ppp_2.4.3.bb)40
-rw-r--r--meta/packages/prelink/prelink-20061027/arm_eabi.patch300
-rw-r--r--meta/packages/prelink/prelink/prelink.conf (renamed from meta/packages/prelink/prelink-20061027/prelink.conf)0
-rw-r--r--meta/packages/prelink/prelink/prelink.cron.daily (renamed from meta/packages/prelink/prelink-20061027/prelink.cron.daily)0
-rw-r--r--meta/packages/prelink/prelink/prelink.default (renamed from meta/packages/prelink/prelink-20061027/prelink.default)0
-rw-r--r--meta/packages/prelink/prelink_20100106.bb (renamed from meta/packages/prelink/prelink_20061027.bb)7
-rw-r--r--meta/packages/python/python-pycairo_1.8.8.bb (renamed from meta/packages/python/python-pycairo_1.4.0.bb)9
-rw-r--r--meta/packages/qmake/qmake2-cross/0001-fix-mkspecs.patch (renamed from meta/packages/qmake/qmake2-cross-2.10a/0001-fix-mkspecs.patch)45
-rw-r--r--meta/packages/qmake/qmake2-cross/linux-oe-qmake.conf (renamed from meta/packages/qmake/qmake2-cross-2.10a/linux-oe-qmake.conf)0
-rw-r--r--meta/packages/qmake/qmake2-cross/use-lflags-last.patch (renamed from meta/packages/qmake/qmake2-cross-2.10a/use-lflags-last.patch)0
-rw-r--r--meta/packages/qmake/qmake2-cross_2.10a.bb6
-rw-r--r--meta/packages/rpm/rpm_4.4.2.3.bb10
-rw-r--r--meta/packages/rsync/rsync_2.6.9.bb6
-rw-r--r--meta/packages/shared-mime-info/shared-mime-info.inc8
-rw-r--r--meta/packages/startup-notification/startup-notification_0.9.bb7
-rw-r--r--meta/packages/strace/strace_4.5.20.bb4
-rw-r--r--meta/packages/sudo/files/autofoo.patch131
-rw-r--r--meta/packages/sudo/files/autofoo1.patch222
-rw-r--r--meta/packages/sudo/files/noexec-link.patch4
-rw-r--r--meta/packages/sudo/files/nonrootinstall.patch56
-rw-r--r--meta/packages/sudo/files/nostrip.patch5
-rw-r--r--meta/packages/sudo/sudo.inc18
-rw-r--r--meta/packages/sudo/sudo_1.6.8p12.bb12
-rw-r--r--meta/packages/sudo/sudo_1.7.2p7.bb7
-rw-r--r--meta/packages/ttf-fonts/liberation-fonts_1.04.bb19
-rw-r--r--meta/packages/tzdata/tzdata_2010j.bb (renamed from meta/packages/tzdata/tzdata_2009s.bb)3
-rw-r--r--meta/packages/unzip/unzip_6.0.bb (renamed from meta/packages/unzip/unzip_552.bb)9
-rw-r--r--meta/packages/v86d/v86d_0.1.9.bb (renamed from meta/packages/v86d/v86d_0.1.5.bb)11
-rw-r--r--meta/packages/vte/vte.inc3
-rw-r--r--meta/packages/webkit/webkit-gtk_svn.bb6
-rw-r--r--meta/packages/xcb/libpthread-stubs_0.3.bb (renamed from meta/packages/xcb/libpthread-stubs_0.1.bb)8
-rw-r--r--meta/packages/xorg-app/xrandr_1.3.2.bb (renamed from meta/packages/xorg-app/xrandr_1.2.3.bb)4
-rw-r--r--meta/packages/xorg-driver/xf86-driver-common.inc1
-rw-r--r--meta/packages/xorg-driver/xf86-input-evdev_2.4.0.bb (renamed from meta/packages/xorg-driver/xf86-input-evdev_2.3.2.bb)3
-rw-r--r--meta/packages/xorg-driver/xf86-video-vmware_11.0.1.bb (renamed from meta/packages/xorg-driver/xf86-video-vmware_10.16.9.bb)7
-rw-r--r--meta/packages/xorg-font/font-alias_1.0.2.bb4
-rw-r--r--meta/packages/xorg-font/xorg-minimal-fonts.bb3
-rw-r--r--meta/packages/xorg-lib/libpciaccess_0.10.5.bb3
-rw-r--r--meta/packages/xorg-lib/libpciaccess_0.11.0.bb10
-rw-r--r--meta/packages/xorg-lib/xkeyboard-config_1.9.bb (renamed from meta/packages/xorg-lib/xkeyboard-config_1.6.bb)13
-rw-r--r--meta/packages/xorg-util/files/unbreak_cross_compile.patch19
-rw-r--r--meta/packages/xorg-util/util-macros_1.10.0.bb (renamed from meta/packages/xorg-util/util-macros_1.6.0.bb)9
-rw-r--r--meta/packages/xorg-util/xorg-util-common.inc2
-rw-r--r--meta/packages/zip/zip.inc5
-rw-r--r--meta/packages/zip/zip_2.32.bb3
-rw-r--r--meta/packages/zip/zip_3.0.bb6
-rw-r--r--meta/site/common7
281 files changed, 7368 insertions, 5447 deletions
diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake
index 6d74e5b85d..fdf1e20f84 100755
--- a/bitbake/bin/bitbake
+++ b/bitbake/bin/bitbake
@@ -22,127 +22,137 @@
22# with this program; if not, write to the Free Software Foundation, Inc., 22# with this program; if not, write to the Free Software Foundation, Inc.,
23# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 23# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24 24
25import sys, os, getopt, re, time, optparse, xmlrpclib 25import os
26sys.path.insert(0,os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib')) 26import sys
27sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])),
28 'lib'))
29
30import optparse
31import warnings
32from traceback import format_exception
27import bb 33import bb
34import bb.msg
28from bb import cooker 35from bb import cooker
29from bb import ui 36from bb import ui
30from bb import server 37from bb import server
31from bb.server import none 38from bb.server import none
32#from bb.server import xmlrpc 39#from bb.server import xmlrpc
33 40
34__version__ = "1.9.0" 41__version__ = "1.11.0"
42
35 43
36if sys.hexversion < 0x020500F0:
37 print "Sorry, python 2.5 or later is required for this version of bitbake"
38 sys.exit(1)
39 44
40#============================================================================# 45#============================================================================#
41# BBOptions 46# BBOptions
42#============================================================================# 47#============================================================================#
43class BBConfiguration( object ): 48class BBConfiguration(object):
44 """ 49 """
45 Manages build options and configurations for one run 50 Manages build options and configurations for one run
46 """ 51 """
47 def __init__( self, options ): 52
53 def __init__(self, options):
48 for key, val in options.__dict__.items(): 54 for key, val in options.__dict__.items():
49 setattr( self, key, val ) 55 setattr(self, key, val)
56 self.pkgs_to_build = []
50 57
51 58
52def print_exception(exc, value, tb): 59def print_exception(exc, value, tb):
53 """ 60 """Send exception information through bb.msg"""
54 Print the exception to stderr, only showing the traceback if bitbake 61 bb.fatal("".join(format_exception(exc, value, tb, limit=8)))
55 debugging is enabled. 62
56 """ 63sys.excepthook = print_exception
57 if not bb.msg.debug_level['default']:
58 tb = None
59 64
60 sys.__excepthook__(exc, value, tb)
61 65
66_warnings_showwarning = warnings.showwarning
67def _showwarning(message, category, filename, lineno, file=None, line=None):
68 """Display python warning messages using bb.msg"""
69 if file is not None:
70 if _warnings_showwarning is not None:
71 _warnings_showwarning(message, category, filename, lineno, file, line)
72 else:
73 s = warnings.formatwarning(message, category, filename, lineno)
74 s = s.split("\n")[0]
75 bb.msg.warn(None, s)
76
77warnings.showwarning = _showwarning
78warnings.simplefilter("ignore", DeprecationWarning)
62 79
63#============================================================================# 80#============================================================================#
64# main 81# main
65#============================================================================# 82#============================================================================#
66 83
67def main(): 84def main():
68 return_value = 0 85 return_value = 1
69 pythonver = sys.version_info
70 if pythonver[0] < 2 or (pythonver[0] == 2 and pythonver[1] < 5):
71 print "Sorry, bitbake needs python 2.5 or later."
72 sys.exit(1)
73 86
74 parser = optparse.OptionParser( version = "BitBake Build Tool Core version %s, %%prog version %s" % ( bb.__version__, __version__ ), 87 parser = optparse.OptionParser(
75 usage = """%prog [options] [package ...] 88 version = "BitBake Build Tool Core version %s, %%prog version %s" % (bb.__version__, __version__),
89 usage = """%prog [options] [package ...]
76 90
77Executes the specified task (default is 'build') for a given set of BitBake files. 91Executes the specified task (default is 'build') for a given set of BitBake files.
78It expects that BBFILES is defined, which is a space separated list of files to 92It expects that BBFILES is defined, which is a space separated list of files to
79be executed. BBFILES does support wildcards. 93be executed. BBFILES does support wildcards.
80Default BBFILES are the .bb files in the current directory.""" ) 94Default BBFILES are the .bb files in the current directory.""")
81
82 parser.add_option( "-b", "--buildfile", help = "execute the task against this .bb file, rather than a package from BBFILES.",
83 action = "store", dest = "buildfile", default = None )
84 95
85 parser.add_option( "-k", "--continue", help = "continue as much as possible after an error. While the target that failed, and those that depend on it, cannot be remade, the other dependencies of these targets can be processed all the same.", 96 parser.add_option("-b", "--buildfile", help = "execute the task against this .bb file, rather than a package from BBFILES.",
86 action = "store_false", dest = "abort", default = True ) 97 action = "store", dest = "buildfile", default = None)
87 98
88 parser.add_option( "-a", "--tryaltconfigs", help = "continue with builds by trying to use alternative providers where possible.", 99 parser.add_option("-k", "--continue", help = "continue as much as possible after an error. While the target that failed, and those that depend on it, cannot be remade, the other dependencies of these targets can be processed all the same.",
89 action = "store_true", dest = "tryaltconfigs", default = False ) 100 action = "store_false", dest = "abort", default = True)
90 101
91 parser.add_option( "-f", "--force", help = "force run of specified cmd, regardless of stamp status", 102 parser.add_option("-a", "--tryaltconfigs", help = "continue with builds by trying to use alternative providers where possible.",
92 action = "store_true", dest = "force", default = False ) 103 action = "store_true", dest = "tryaltconfigs", default = False)
93 104
94 parser.add_option( "-i", "--interactive", help = "drop into the interactive mode also called the BitBake shell.", 105 parser.add_option("-f", "--force", help = "force run of specified cmd, regardless of stamp status",
95 action = "store_true", dest = "interactive", default = False ) 106 action = "store_true", dest = "force", default = False)
96 107
97 parser.add_option( "-c", "--cmd", help = "Specify task to execute. Note that this only executes the specified task for the providee and the packages it depends on, i.e. 'compile' does not implicitly call stage for the dependencies (IOW: use only if you know what you are doing). Depending on the base.bbclass a listtasks tasks is defined and will show available tasks", 108 parser.add_option("-c", "--cmd", help = "Specify task to execute. Note that this only executes the specified task for the providee and the packages it depends on, i.e. 'compile' does not implicitly call stage for the dependencies (IOW: use only if you know what you are doing). Depending on the base.bbclass a listtasks tasks is defined and will show available tasks",
98 action = "store", dest = "cmd" ) 109 action = "store", dest = "cmd")
99 110
100 parser.add_option( "-r", "--read", help = "read the specified file before bitbake.conf", 111 parser.add_option("-r", "--read", help = "read the specified file before bitbake.conf",
101 action = "append", dest = "file", default = [] ) 112 action = "append", dest = "file", default = [])
102 113
103 parser.add_option( "-v", "--verbose", help = "output more chit-chat to the terminal", 114 parser.add_option("-v", "--verbose", help = "output more chit-chat to the terminal",
104 action = "store_true", dest = "verbose", default = False ) 115 action = "store_true", dest = "verbose", default = False)
105 116
106 parser.add_option( "-D", "--debug", help = "Increase the debug level. You can specify this more than once.", 117 parser.add_option("-D", "--debug", help = "Increase the debug level. You can specify this more than once.",
107 action = "count", dest="debug", default = 0) 118 action = "count", dest="debug", default = 0)
108 119
109 parser.add_option( "-n", "--dry-run", help = "don't execute, just go through the motions", 120 parser.add_option("-n", "--dry-run", help = "don't execute, just go through the motions",
110 action = "store_true", dest = "dry_run", default = False ) 121 action = "store_true", dest = "dry_run", default = False)
111 122
112 parser.add_option( "-p", "--parse-only", help = "quit after parsing the BB files (developers only)", 123 parser.add_option("-p", "--parse-only", help = "quit after parsing the BB files (developers only)",
113 action = "store_true", dest = "parse_only", default = False ) 124 action = "store_true", dest = "parse_only", default = False)
114 125
115 parser.add_option( "-d", "--disable-psyco", help = "disable using the psyco just-in-time compiler (not recommended)", 126 parser.add_option("-d", "--disable-psyco", help = "disable using the psyco just-in-time compiler (not recommended)",
116 action = "store_true", dest = "disable_psyco", default = False ) 127 action = "store_true", dest = "disable_psyco", default = False)
117 128
118 parser.add_option( "-s", "--show-versions", help = "show current and preferred versions of all packages", 129 parser.add_option("-s", "--show-versions", help = "show current and preferred versions of all packages",
119 action = "store_true", dest = "show_versions", default = False ) 130 action = "store_true", dest = "show_versions", default = False)
120 131
121 parser.add_option( "-e", "--environment", help = "show the global or per-package environment (this is what used to be bbread)", 132 parser.add_option("-e", "--environment", help = "show the global or per-package environment (this is what used to be bbread)",
122 action = "store_true", dest = "show_environment", default = False ) 133 action = "store_true", dest = "show_environment", default = False)
123 134
124 parser.add_option( "-g", "--graphviz", help = "emit the dependency trees of the specified packages in the dot syntax", 135 parser.add_option("-g", "--graphviz", help = "emit the dependency trees of the specified packages in the dot syntax",
125 action = "store_true", dest = "dot_graph", default = False ) 136 action = "store_true", dest = "dot_graph", default = False)
126 137
127 parser.add_option( "-I", "--ignore-deps", help = """Assume these dependencies don't exist and are already provided (equivalent to ASSUME_PROVIDED). Useful to make dependency graphs more appealing""", 138 parser.add_option("-I", "--ignore-deps", help = """Assume these dependencies don't exist and are already provided (equivalent to ASSUME_PROVIDED). Useful to make dependency graphs more appealing""",
128 action = "append", dest = "extra_assume_provided", default = [] ) 139 action = "append", dest = "extra_assume_provided", default = [])
129 140
130 parser.add_option( "-l", "--log-domains", help = """Show debug logging for the specified logging domains""", 141 parser.add_option("-l", "--log-domains", help = """Show debug logging for the specified logging domains""",
131 action = "append", dest = "debug_domains", default = [] ) 142 action = "append", dest = "debug_domains", default = [])
132 143
133 parser.add_option( "-P", "--profile", help = "profile the command and print a report", 144 parser.add_option("-P", "--profile", help = "profile the command and print a report",
134 action = "store_true", dest = "profile", default = False ) 145 action = "store_true", dest = "profile", default = False)
135 146
136 parser.add_option( "-u", "--ui", help = "userinterface to use", 147 parser.add_option("-u", "--ui", help = "userinterface to use",
137 action = "store", dest = "ui") 148 action = "store", dest = "ui")
138 149
139 parser.add_option( "", "--revisions-changed", help = "Set the exit code depending on whether upstream floating revisions have changed or not", 150 parser.add_option("", "--revisions-changed", help = "Set the exit code depending on whether upstream floating revisions have changed or not",
140 action = "store_true", dest = "revisions_changed", default = False ) 151 action = "store_true", dest = "revisions_changed", default = False)
141 152
142 options, args = parser.parse_args(sys.argv) 153 options, args = parser.parse_args(sys.argv)
143 154
144 configuration = BBConfiguration(options) 155 configuration = BBConfiguration(options)
145 configuration.pkgs_to_build = []
146 configuration.pkgs_to_build.extend(args[1:]) 156 configuration.pkgs_to_build.extend(args[1:])
147 157
148 #server = bb.server.xmlrpc 158 #server = bb.server.xmlrpc
@@ -150,7 +160,7 @@ Default BBFILES are the .bb files in the current directory.""" )
150 160
151 # Save a logfile for cooker into the current working directory. When the 161 # Save a logfile for cooker into the current working directory. When the
152 # server is daemonized this logfile will be truncated. 162 # server is daemonized this logfile will be truncated.
153 cooker_logfile = os.path.join (os.getcwd(), "cooker.log") 163 cooker_logfile = os.path.join(os.getcwd(), "cooker.log")
154 164
155 bb.utils.init_logger(bb.msg, configuration.verbose, configuration.debug, 165 bb.utils.init_logger(bb.msg, configuration.verbose, configuration.debug,
156 configuration.debug_domains) 166 configuration.debug_domains)
@@ -169,8 +179,6 @@ Default BBFILES are the .bb files in the current directory.""" )
169 server.BitBakeServerFork(serverinfo, cooker.serve, cooker_logfile) 179 server.BitBakeServerFork(serverinfo, cooker.serve, cooker_logfile)
170 del cooker 180 del cooker
171 181
172 sys.excepthook = print_exception
173
174 # Setup a connection to the server (cooker) 182 # Setup a connection to the server (cooker)
175 serverConnection = server.BitBakeServerConnection(serverinfo) 183 serverConnection = server.BitBakeServerConnection(serverinfo)
176 184
@@ -181,19 +189,24 @@ Default BBFILES are the .bb files in the current directory.""" )
181 ui = "knotty" 189 ui = "knotty"
182 190
183 try: 191 try:
184 # Dynamically load the UI based on the ui name. Although we 192 # Dynamically load the UI based on the ui name. Although we
185 # suggest a fixed set this allows you to have flexibility in which 193 # suggest a fixed set this allows you to have flexibility in which
186 # ones are available. 194 # ones are available.
187 exec "from bb.ui import " + ui 195 uimodule = __import__("bb.ui", fromlist = [ui])
188 exec "return_value = " + ui + ".init(serverConnection.connection, serverConnection.events)" 196 ui_init = getattr(uimodule, ui).init
189 except ImportError: 197 except AttributeError:
190 print "FATAL: Invalid user interface '%s' specified. " % ui 198 print "FATAL: Invalid user interface '%s' specified. " % ui
191 print "Valid interfaces are 'ncurses', 'depexp' or the default, 'knotty'." 199 print "Valid interfaces are 'ncurses', 'depexp' or the default, 'knotty'."
192 except Exception, e: 200 else:
193 print "FATAL: Unable to start to '%s' UI due to exception: %s." % (configuration.ui, e) 201 try:
202 return_value = ui_init(serverConnection.connection, serverConnection.events)
203 except Exception as e:
204 print "FATAL: Unable to start to '%s' UI: %s" % (ui, e)
205 raise
194 finally: 206 finally:
195 serverConnection.terminate() 207 serverConnection.terminate()
196 return return_value 208
209 return return_value
197 210
198if __name__ == "__main__": 211if __name__ == "__main__":
199 ret = main() 212 ret = main()
diff --git a/bitbake/bin/bitdoc b/bitbake/bin/bitdoc
index 4940f660a6..8043b2bd1c 100755
--- a/bitbake/bin/bitdoc
+++ b/bitbake/bin/bitdoc
@@ -48,7 +48,7 @@ class HTMLFormatter:
48 From pydoc... almost identical at least 48 From pydoc... almost identical at least
49 """ 49 """
50 while pairs: 50 while pairs:
51 (a,b) = pairs[0] 51 (a, b) = pairs[0]
52 text = join(split(text, a), b) 52 text = join(split(text, a), b)
53 pairs = pairs[1:] 53 pairs = pairs[1:]
54 return text 54 return text
@@ -87,7 +87,7 @@ class HTMLFormatter:
87 87
88 return txt + ",".join(txts) 88 return txt + ",".join(txts)
89 89
90 def groups(self,item): 90 def groups(self, item):
91 """ 91 """
92 Create HTML to link to related groups 92 Create HTML to link to related groups
93 """ 93 """
@@ -99,12 +99,12 @@ class HTMLFormatter:
99 txt = "<p><b>See also:</b><br>" 99 txt = "<p><b>See also:</b><br>"
100 txts = [] 100 txts = []
101 for group in item.groups(): 101 for group in item.groups():
102 txts.append( """<a href="group%s.html">%s</a> """ % (group,group) ) 102 txts.append( """<a href="group%s.html">%s</a> """ % (group, group) )
103 103
104 return txt + ",".join(txts) 104 return txt + ",".join(txts)
105 105
106 106
107 def createKeySite(self,item): 107 def createKeySite(self, item):
108 """ 108 """
109 Create a site for a key. It contains the header/navigator, a heading, 109 Create a site for a key. It contains the header/navigator, a heading,
110 the description, links to related keys and to the groups. 110 the description, links to related keys and to the groups.
@@ -149,8 +149,7 @@ class HTMLFormatter:
149 """ 149 """
150 150
151 groups = "" 151 groups = ""
152 sorted_groups = doc.groups() 152 sorted_groups = sorted(doc.groups())
153 sorted_groups.sort()
154 for group in sorted_groups: 153 for group in sorted_groups:
155 groups += """<a href="group%s.html">%s</a><br>""" % (group, group) 154 groups += """<a href="group%s.html">%s</a><br>""" % (group, group)
156 155
@@ -185,8 +184,7 @@ class HTMLFormatter:
185 Create Overview of all avilable keys 184 Create Overview of all avilable keys
186 """ 185 """
187 keys = "" 186 keys = ""
188 sorted_keys = doc.doc_keys() 187 sorted_keys = sorted(doc.doc_keys())
189 sorted_keys.sort()
190 for key in sorted_keys: 188 for key in sorted_keys:
191 keys += """<a href="key%s.html">%s</a><br>""" % (key, key) 189 keys += """<a href="key%s.html">%s</a><br>""" % (key, key)
192 190
@@ -214,7 +212,7 @@ class HTMLFormatter:
214 description += "<h2 Description of Grozp %s</h2>" % gr 212 description += "<h2 Description of Grozp %s</h2>" % gr
215 description += _description 213 description += _description
216 214
217 items.sort(lambda x,y:cmp(x.name(),y.name())) 215 items.sort(lambda x, y:cmp(x.name(), y.name()))
218 for group in items: 216 for group in items:
219 groups += """<a href="key%s.html">%s</a><br>""" % (group.name(), group.name()) 217 groups += """<a href="key%s.html">%s</a><br>""" % (group.name(), group.name())
220 218
@@ -343,7 +341,7 @@ class DocumentationItem:
343 def addGroup(self, group): 341 def addGroup(self, group):
344 self._groups.append(group) 342 self._groups.append(group)
345 343
346 def addRelation(self,relation): 344 def addRelation(self, relation):
347 self._related.append(relation) 345 self._related.append(relation)
348 346
349 def sort(self): 347 def sort(self):
@@ -396,7 +394,7 @@ class Documentation:
396 """ 394 """
397 return self.__groups.keys() 395 return self.__groups.keys()
398 396
399 def group_content(self,group_name): 397 def group_content(self, group_name):
400 """ 398 """
401 Return a list of keys/names that are in a specefic 399 Return a list of keys/names that are in a specefic
402 group or the empty list 400 group or the empty list
@@ -412,7 +410,7 @@ def parse_cmdline(args):
412 Parse the CMD line and return the result as a n-tuple 410 Parse the CMD line and return the result as a n-tuple
413 """ 411 """
414 412
415 parser = optparse.OptionParser( version = "Bitbake Documentation Tool Core version %s, %%prog version %s" % (bb.__version__,__version__)) 413 parser = optparse.OptionParser( version = "Bitbake Documentation Tool Core version %s, %%prog version %s" % (bb.__version__, __version__))
416 usage = """%prog [options] 414 usage = """%prog [options]
417 415
418Create a set of html pages (documentation) for a bitbake.conf.... 416Create a set of html pages (documentation) for a bitbake.conf....
@@ -428,7 +426,7 @@ Create a set of html pages (documentation) for a bitbake.conf....
428 parser.add_option( "-D", "--debug", help = "Increase the debug level", 426 parser.add_option( "-D", "--debug", help = "Increase the debug level",
429 action = "count", dest = "debug", default = 0 ) 427 action = "count", dest = "debug", default = 0 )
430 428
431 parser.add_option( "-v","--verbose", help = "output more chit-char to the terminal", 429 parser.add_option( "-v", "--verbose", help = "output more chit-char to the terminal",
432 action = "store_true", dest = "verbose", default = False ) 430 action = "store_true", dest = "verbose", default = False )
433 431
434 options, args = parser.parse_args( sys.argv ) 432 options, args = parser.parse_args( sys.argv )
@@ -443,7 +441,7 @@ def main():
443 The main Method 441 The main Method
444 """ 442 """
445 443
446 (config_file,output_dir) = parse_cmdline( sys.argv ) 444 (config_file, output_dir) = parse_cmdline( sys.argv )
447 445
448 # right to let us load the file now 446 # right to let us load the file now
449 try: 447 try:
diff --git a/bitbake/doc/manual/usermanual.xml b/bitbake/doc/manual/usermanual.xml
index 6424a7ebd9..7b87ad837f 100644
--- a/bitbake/doc/manual/usermanual.xml
+++ b/bitbake/doc/manual/usermanual.xml
@@ -215,13 +215,11 @@ addtask printdate before do_build</screen></para>
215 <para>BitBake allows to install event handlers. Events are triggered at certain points during operation, such as, the beginning of operation against a given .bb, the start of a given task, task failure, task success, et cetera. The intent was to make it easy to do things like email notifications on build failure.</para> 215 <para>BitBake allows to install event handlers. Events are triggered at certain points during operation, such as, the beginning of operation against a given .bb, the start of a given task, task failure, task success, et cetera. The intent was to make it easy to do things like email notifications on build failure.</para>
216 <para><screen>addhandler myclass_eventhandler 216 <para><screen>addhandler myclass_eventhandler
217python myclass_eventhandler() { 217python myclass_eventhandler() {
218 from bb.event import NotHandled, getName 218 from bb.event import getName
219 from bb import data 219 from bb import data
220 220
221 print "The name of the Event is %s" % getName(e) 221 print "The name of the Event is %s" % getName(e)
222 print "The file we run for is %s" % data.getVar('FILE', e.data, True) 222 print "The file we run for is %s" % data.getVar('FILE', e.data, True)
223
224 return NotHandled
225} 223}
226</screen></para><para> 224</screen></para><para>
227This event handler gets called every time an event is triggered. A global variable <varname>e</varname> is defined. <varname>e</varname>.data contains an instance of bb.data. With the getName(<varname>e</varname>) 225This event handler gets called every time an event is triggered. A global variable <varname>e</varname> is defined. <varname>e</varname>.data contains an instance of bb.data. With the getName(<varname>e</varname>)
@@ -318,9 +316,9 @@ a per URI parameters separated by a <quote>;</quote> consisting of a key and a v
318 316
319 <section> 317 <section>
320 <title>CVS File Fetcher</title> 318 <title>CVS File Fetcher</title>
321 <para>The URN for the CVS Fetcher is <emphasis>cvs</emphasis>. This Fetcher honors the variables <varname>DL_DIR</varname>, <varname>SRCDATE</varname>, <varname>FETCHCOMMAND_cvs</varname>, <varname>UPDATECOMMAND_cvs</varname>. <varname>DL_DIRS</varname> specifies where a temporary checkout is saved, <varname>SRCDATE</varname> specifies which date to use when doing the fetching (the special value of "now" will cause the checkout to be updated on every build), <varname>FETCHCOMMAND</varname> and <varname>UPDATECOMMAND</varname> specify which executables should be used when doing the CVS checkout or update. 319 <para>The URN for the CVS Fetcher is <emphasis>cvs</emphasis>. This Fetcher honors the variables <varname>DL_DIR</varname>, <varname>SRCDATE</varname>, <varname>FETCHCOMMAND_cvs</varname>, <varname>UPDATECOMMAND_cvs</varname>. <varname>DL_DIR</varname> specifies where a temporary checkout is saved, <varname>SRCDATE</varname> specifies which date to use when doing the fetching (the special value of "now" will cause the checkout to be updated on every build), <varname>FETCHCOMMAND</varname> and <varname>UPDATECOMMAND</varname> specify which executables should be used when doing the CVS checkout or update.
322 </para> 320 </para>
323 <para>The supported Parameters are <varname>module</varname>, <varname>tag</varname>, <varname>date</varname>, <varname>method</varname>, <varname>localdir</varname>, <varname>rsh</varname>. The <varname>module</varname> specifies which module to check out, the <varname>tag</varname> describes which CVS TAG should be used for the checkout by default the TAG is empty. A <varname>date</varname> can be specified to override the SRCDATE of the configuration to checkout a specific date. The special value of "now" will cause the checkout to be updated on every build.<varname>method</varname> is by default <emphasis>pserver</emphasis>, if <emphasis>ext</emphasis> is used the <varname>rsh</varname> parameter will be evaluated and <varname>CVS_RSH</varname> will be set. Finally <varname>localdir</varname> is used to checkout into a special directory relative to <varname>CVSDIR></varname>. 321 <para>The supported Parameters are <varname>module</varname>, <varname>tag</varname>, <varname>date</varname>, <varname>method</varname>, <varname>localdir</varname>, <varname>rsh</varname>. The <varname>module</varname> specifies which module to check out, the <varname>tag</varname> describes which CVS TAG should be used for the checkout by default the TAG is empty. A <varname>date</varname> can be specified to override the SRCDATE of the configuration to checkout a specific date. The special value of "now" will cause the checkout to be updated on every build.<varname>method</varname> is by default <emphasis>pserver</emphasis>, if <emphasis>ext</emphasis> is used the <varname>rsh</varname> parameter will be evaluated and <varname>CVS_RSH</varname> will be set. Finally <varname>localdir</varname> is used to checkout into a special directory relative to <varname>CVSDIR</varname>.
324<screen><varname>SRC_URI</varname> = "cvs://CVSROOT;module=mymodule;tag=some-version;method=ext" 322<screen><varname>SRC_URI</varname> = "cvs://CVSROOT;module=mymodule;tag=some-version;method=ext"
325<varname>SRC_URI</varname> = "cvs://CVSROOT;module=mymodule;date=20060126;localdir=usethat" 323<varname>SRC_URI</varname> = "cvs://CVSROOT;module=mymodule;date=20060126;localdir=usethat"
326</screen> 324</screen>
diff --git a/bitbake/lib/bb/COW.py b/bitbake/lib/bb/COW.py
index ca206cf4b4..6917ec378a 100644
--- a/bitbake/lib/bb/COW.py
+++ b/bitbake/lib/bb/COW.py
@@ -3,7 +3,7 @@
3# 3#
4# This is a copy on write dictionary and set which abuses classes to try and be nice and fast. 4# This is a copy on write dictionary and set which abuses classes to try and be nice and fast.
5# 5#
6# Copyright (C) 2006 Tim Amsell 6# Copyright (C) 2006 Tim Amsell
7# 7#
8# This program is free software; you can redistribute it and/or modify 8# This program is free software; you can redistribute it and/or modify
9# it under the terms of the GNU General Public License version 2 as 9# it under the terms of the GNU General Public License version 2 as
@@ -18,29 +18,31 @@
18# with this program; if not, write to the Free Software Foundation, Inc., 18# with this program; if not, write to the Free Software Foundation, Inc.,
19# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 19# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20# 20#
21#Please Note: 21#Please Note:
22# Be careful when using mutable types (ie Dict and Lists) - operations involving these are SLOW. 22# Be careful when using mutable types (ie Dict and Lists) - operations involving these are SLOW.
23# Assign a file to __warn__ to get warnings about slow operations. 23# Assign a file to __warn__ to get warnings about slow operations.
24# 24#
25 25
26from __future__ import print_function
26import copy 27import copy
27import types 28import types
28types.ImmutableTypes = tuple([ \ 29ImmutableTypes = (
29 types.BooleanType, \ 30 types.NoneType,
30 types.ComplexType, \ 31 bool,
31 types.FloatType, \ 32 complex,
32 types.IntType, \ 33 float,
33 types.LongType, \ 34 int,
34 types.NoneType, \ 35 long,
35 types.TupleType, \ 36 tuple,
36 frozenset] + \ 37 frozenset,
37 list(types.StringTypes)) 38 basestring
39)
38 40
39MUTABLE = "__mutable__" 41MUTABLE = "__mutable__"
40 42
41class COWMeta(type): 43class COWMeta(type):
42 pass 44 pass
43 45
44class COWDictMeta(COWMeta): 46class COWDictMeta(COWMeta):
45 __warn__ = False 47 __warn__ = False
46 __hasmutable__ = False 48 __hasmutable__ = False
@@ -59,12 +61,12 @@ class COWDictMeta(COWMeta):
59 __call__ = cow 61 __call__ = cow
60 62
61 def __setitem__(cls, key, value): 63 def __setitem__(cls, key, value):
62 if not isinstance(value, types.ImmutableTypes): 64 if not isinstance(value, ImmutableTypes):
63 if not isinstance(value, COWMeta): 65 if not isinstance(value, COWMeta):
64 cls.__hasmutable__ = True 66 cls.__hasmutable__ = True
65 key += MUTABLE 67 key += MUTABLE
66 setattr(cls, key, value) 68 setattr(cls, key, value)
67 69
68 def __getmutable__(cls, key, readonly=False): 70 def __getmutable__(cls, key, readonly=False):
69 nkey = key + MUTABLE 71 nkey = key + MUTABLE
70 try: 72 try:
@@ -77,10 +79,10 @@ class COWDictMeta(COWMeta):
77 return value 79 return value
78 80
79 if not cls.__warn__ is False and not isinstance(value, COWMeta): 81 if not cls.__warn__ is False and not isinstance(value, COWMeta):
80 print >> cls.__warn__, "Warning: Doing a copy because %s is a mutable type." % key 82 print("Warning: Doing a copy because %s is a mutable type." % key, file=cls.__warn__)
81 try: 83 try:
82 value = value.copy() 84 value = value.copy()
83 except AttributeError, e: 85 except AttributeError as e:
84 value = copy.copy(value) 86 value = copy.copy(value)
85 setattr(cls, nkey, value) 87 setattr(cls, nkey, value)
86 return value 88 return value
@@ -98,13 +100,13 @@ class COWDictMeta(COWMeta):
98 value = getattr(cls, key) 100 value = getattr(cls, key)
99 except AttributeError: 101 except AttributeError:
100 value = cls.__getmutable__(key, readonly) 102 value = cls.__getmutable__(key, readonly)
101 103
102 # This is for values which have been deleted 104 # This is for values which have been deleted
103 if value is cls.__marker__: 105 if value is cls.__marker__:
104 raise AttributeError("key %s does not exist." % key) 106 raise AttributeError("key %s does not exist." % key)
105 107
106 return value 108 return value
107 except AttributeError, e: 109 except AttributeError as e:
108 if not default is cls.__getmarker__: 110 if not default is cls.__getmarker__:
109 return default 111 return default
110 112
@@ -118,6 +120,9 @@ class COWDictMeta(COWMeta):
118 key += MUTABLE 120 key += MUTABLE
119 delattr(cls, key) 121 delattr(cls, key)
120 122
123 def __contains__(cls, key):
124 return cls.has_key(key)
125
121 def has_key(cls, key): 126 def has_key(cls, key):
122 value = cls.__getreadonly__(key, cls.__marker__) 127 value = cls.__getreadonly__(key, cls.__marker__)
123 if value is cls.__marker__: 128 if value is cls.__marker__:
@@ -127,7 +132,7 @@ class COWDictMeta(COWMeta):
127 def iter(cls, type, readonly=False): 132 def iter(cls, type, readonly=False):
128 for key in dir(cls): 133 for key in dir(cls):
129 if key.startswith("__"): 134 if key.startswith("__"):
130 continue 135 continue
131 136
132 if key.endswith(MUTABLE): 137 if key.endswith(MUTABLE):
133 key = key[:-len(MUTABLE)] 138 key = key[:-len(MUTABLE)]
@@ -153,11 +158,11 @@ class COWDictMeta(COWMeta):
153 return cls.iter("keys") 158 return cls.iter("keys")
154 def itervalues(cls, readonly=False): 159 def itervalues(cls, readonly=False):
155 if not cls.__warn__ is False and cls.__hasmutable__ and readonly is False: 160 if not cls.__warn__ is False and cls.__hasmutable__ and readonly is False:
156 print >> cls.__warn__, "Warning: If you arn't going to change any of the values call with True." 161 print("Warning: If you arn't going to change any of the values call with True.", file=cls.__warn__)
157 return cls.iter("values", readonly) 162 return cls.iter("values", readonly)
158 def iteritems(cls, readonly=False): 163 def iteritems(cls, readonly=False):
159 if not cls.__warn__ is False and cls.__hasmutable__ and readonly is False: 164 if not cls.__warn__ is False and cls.__hasmutable__ and readonly is False:
160 print >> cls.__warn__, "Warning: If you arn't going to change any of the values call with True." 165 print("Warning: If you arn't going to change any of the values call with True.", file=cls.__warn__)
161 return cls.iter("items", readonly) 166 return cls.iter("items", readonly)
162 167
163class COWSetMeta(COWDictMeta): 168class COWSetMeta(COWDictMeta):
@@ -176,13 +181,13 @@ class COWSetMeta(COWDictMeta):
176 181
177 def remove(cls, value): 182 def remove(cls, value):
178 COWDictMeta.__delitem__(cls, repr(hash(value))) 183 COWDictMeta.__delitem__(cls, repr(hash(value)))
179 184
180 def __in__(cls, value): 185 def __in__(cls, value):
181 return COWDictMeta.has_key(repr(hash(value))) 186 return COWDictMeta.has_key(repr(hash(value)))
182 187
183 def iterkeys(cls): 188 def iterkeys(cls):
184 raise TypeError("sets don't have keys") 189 raise TypeError("sets don't have keys")
185 190
186 def iteritems(cls): 191 def iteritems(cls):
187 raise TypeError("sets don't have 'items'") 192 raise TypeError("sets don't have 'items'")
188 193
@@ -199,120 +204,120 @@ if __name__ == "__main__":
199 import sys 204 import sys
200 COWDictBase.__warn__ = sys.stderr 205 COWDictBase.__warn__ = sys.stderr
201 a = COWDictBase() 206 a = COWDictBase()
202 print "a", a 207 print("a", a)
203 208
204 a['a'] = 'a' 209 a['a'] = 'a'
205 a['b'] = 'b' 210 a['b'] = 'b'
206 a['dict'] = {} 211 a['dict'] = {}
207 212
208 b = a.copy() 213 b = a.copy()
209 print "b", b 214 print("b", b)
210 b['c'] = 'b' 215 b['c'] = 'b'
211 216
212 print 217 print()
213 218
214 print "a", a 219 print("a", a)
215 for x in a.iteritems(): 220 for x in a.iteritems():
216 print x 221 print(x)
217 print "--" 222 print("--")
218 print "b", b 223 print("b", b)
219 for x in b.iteritems(): 224 for x in b.iteritems():
220 print x 225 print(x)
221 print 226 print()
222 227
223 b['dict']['a'] = 'b' 228 b['dict']['a'] = 'b'
224 b['a'] = 'c' 229 b['a'] = 'c'
225 230
226 print "a", a 231 print("a", a)
227 for x in a.iteritems(): 232 for x in a.iteritems():
228 print x 233 print(x)
229 print "--" 234 print("--")
230 print "b", b 235 print("b", b)
231 for x in b.iteritems(): 236 for x in b.iteritems():
232 print x 237 print(x)
233 print 238 print()
234 239
235 try: 240 try:
236 b['dict2'] 241 b['dict2']
237 except KeyError, e: 242 except KeyError as e:
238 print "Okay!" 243 print("Okay!")
239 244
240 a['set'] = COWSetBase() 245 a['set'] = COWSetBase()
241 a['set'].add("o1") 246 a['set'].add("o1")
242 a['set'].add("o1") 247 a['set'].add("o1")
243 a['set'].add("o2") 248 a['set'].add("o2")
244 249
245 print "a", a 250 print("a", a)
246 for x in a['set'].itervalues(): 251 for x in a['set'].itervalues():
247 print x 252 print(x)
248 print "--" 253 print("--")
249 print "b", b 254 print("b", b)
250 for x in b['set'].itervalues(): 255 for x in b['set'].itervalues():
251 print x 256 print(x)
252 print 257 print()
253 258
254 b['set'].add('o3') 259 b['set'].add('o3')
255 260
256 print "a", a 261 print("a", a)
257 for x in a['set'].itervalues(): 262 for x in a['set'].itervalues():
258 print x 263 print(x)
259 print "--" 264 print("--")
260 print "b", b 265 print("b", b)
261 for x in b['set'].itervalues(): 266 for x in b['set'].itervalues():
262 print x 267 print(x)
263 print 268 print()
264 269
265 a['set2'] = set() 270 a['set2'] = set()
266 a['set2'].add("o1") 271 a['set2'].add("o1")
267 a['set2'].add("o1") 272 a['set2'].add("o1")
268 a['set2'].add("o2") 273 a['set2'].add("o2")
269 274
270 print "a", a 275 print("a", a)
271 for x in a.iteritems(): 276 for x in a.iteritems():
272 print x 277 print(x)
273 print "--" 278 print("--")
274 print "b", b 279 print("b", b)
275 for x in b.iteritems(readonly=True): 280 for x in b.iteritems(readonly=True):
276 print x 281 print(x)
277 print 282 print()
278 283
279 del b['b'] 284 del b['b']
280 try: 285 try:
281 print b['b'] 286 print(b['b'])
282 except KeyError: 287 except KeyError:
283 print "Yay! deleted key raises error" 288 print("Yay! deleted key raises error")
284 289
285 if b.has_key('b'): 290 if b.has_key('b'):
286 print "Boo!" 291 print("Boo!")
287 else: 292 else:
288 print "Yay - has_key with delete works!" 293 print("Yay - has_key with delete works!")
289 294
290 print "a", a 295 print("a", a)
291 for x in a.iteritems(): 296 for x in a.iteritems():
292 print x 297 print(x)
293 print "--" 298 print("--")
294 print "b", b 299 print("b", b)
295 for x in b.iteritems(readonly=True): 300 for x in b.iteritems(readonly=True):
296 print x 301 print(x)
297 print 302 print()
298 303
299 b.__revertitem__('b') 304 b.__revertitem__('b')
300 305
301 print "a", a 306 print("a", a)
302 for x in a.iteritems(): 307 for x in a.iteritems():
303 print x 308 print(x)
304 print "--" 309 print("--")
305 print "b", b 310 print("b", b)
306 for x in b.iteritems(readonly=True): 311 for x in b.iteritems(readonly=True):
307 print x 312 print(x)
308 print 313 print()
309 314
310 b.__revertitem__('dict') 315 b.__revertitem__('dict')
311 print "a", a 316 print("a", a)
312 for x in a.iteritems(): 317 for x in a.iteritems():
313 print x 318 print(x)
314 print "--" 319 print("--")
315 print "b", b 320 print("b", b)
316 for x in b.iteritems(readonly=True): 321 for x in b.iteritems(readonly=True):
317 print x 322 print(x)
318 print 323 print()
diff --git a/bitbake/lib/bb/__init__.py b/bitbake/lib/bb/__init__.py
index c7cd0f62dd..88adfc1dfa 100644
--- a/bitbake/lib/bb/__init__.py
+++ b/bitbake/lib/bb/__init__.py
@@ -21,39 +21,14 @@
21# with this program; if not, write to the Free Software Foundation, Inc., 21# with this program; if not, write to the Free Software Foundation, Inc.,
22# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23 23
24__version__ = "1.9.0" 24__version__ = "1.11.0"
25 25
26__all__ = [ 26import sys
27 27if sys.version_info < (2, 6, 0):
28 "debug", 28 raise RuntimeError("Sorry, python 2.6.0 or later is required for this version of bitbake")
29 "note", 29
30 "error", 30import os
31 "fatal", 31import bb.msg
32
33 "mkdirhier",
34 "movefile",
35 "vercmp",
36
37# fetch
38 "decodeurl",
39 "encodeurl",
40
41# modules
42 "parse",
43 "data",
44 "command",
45 "event",
46 "build",
47 "fetch",
48 "manifest",
49 "methodpool",
50 "cache",
51 "runqueue",
52 "taskdata",
53 "providers",
54 ]
55
56import sys, os, types, re, string
57 32
58if "BBDEBUG" in os.environ: 33if "BBDEBUG" in os.environ:
59 level = int(os.environ["BBDEBUG"]) 34 level = int(os.environ["BBDEBUG"])
@@ -81,14 +56,45 @@ def fatal(*args):
81 bb.msg.fatal(None, ''.join(args)) 56 bb.msg.fatal(None, ''.join(args))
82 57
83 58
84# For compatibility 59def deprecated(func, name = None, advice = ""):
85from bb.fetch import MalformedUrl, encodeurl, decodeurl 60 """This is a decorator which can be used to mark functions
86from bb.data import VarExpandError 61 as deprecated. It will result in a warning being emmitted
87from bb.utils import mkdirhier, movefile, copyfile, which 62 when the function is used."""
88from bb.utils import vercmp 63 import warnings
64
65 if advice:
66 advice = ": %s" % advice
67 if name is None:
68 name = func.__name__
69
70 def newFunc(*args, **kwargs):
71 warnings.warn("Call to deprecated function %s%s." % (name,
72 advice),
73 category = PendingDeprecationWarning,
74 stacklevel = 2)
75 return func(*args, **kwargs)
76 newFunc.__name__ = func.__name__
77 newFunc.__doc__ = func.__doc__
78 newFunc.__dict__.update(func.__dict__)
79 return newFunc
89 80
90 81# For compatibility
91if __name__ == "__main__": 82def deprecate_import(current, modulename, fromlist, renames = None):
92 import doctest, bb 83 """Import objects from one module into another, wrapping them with a DeprecationWarning"""
93 bb.msg.set_debug_level(0) 84 import sys
94 doctest.testmod(bb) 85
86 module = __import__(modulename, fromlist = fromlist)
87 for position, objname in enumerate(fromlist):
88 obj = getattr(module, objname)
89 newobj = deprecated(obj, "{0}.{1}".format(current, objname),
90 "Please use {0}.{1} instead".format(modulename, objname))
91 if renames:
92 newname = renames[position]
93 else:
94 newname = objname
95
96 setattr(sys.modules[current], newname, newobj)
97
98deprecate_import(__name__, "bb.fetch", ("MalformedUrl", "encodeurl", "decodeurl"))
99deprecate_import(__name__, "bb.utils", ("mkdirhier", "movefile", "copyfile", "which"))
100deprecate_import(__name__, "bb.utils", ["vercmp_string"], ["vercmp"])
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
index 43dbfc1363..1f4107fb65 100644
--- a/bitbake/lib/bb/build.py
+++ b/bitbake/lib/bb/build.py
@@ -27,8 +27,9 @@
27 27
28from bb import data, event, mkdirhier, utils 28from bb import data, event, mkdirhier, utils
29import bb, os, sys 29import bb, os, sys
30import bb.utils
30 31
31# When we execute a python function we'd like certain things 32# When we execute a python function we'd like certain things
32# in all namespaces, hence we add them to __builtins__ 33# in all namespaces, hence we add them to __builtins__
33# If we do not do this and use the exec globals, they will 34# If we do not do this and use the exec globals, they will
34# not be available to subfunctions. 35# not be available to subfunctions.
@@ -98,18 +99,19 @@ def exec_func(func, d, dirs = None):
98 99
99 ispython = flags['python'] 100 ispython = flags['python']
100 101
101 cleandirs = (data.expand(flags['cleandirs'], d) or "").split() 102 cleandirs = flags['cleandirs']
102 for cdir in cleandirs: 103 if cleandirs:
103 os.system("rm -rf %s" % cdir) 104 for cdir in data.expand(cleandirs, d).split():
105 os.system("rm -rf %s" % cdir)
104 106
105 if dirs: 107 if dirs is None:
106 dirs = data.expand(dirs, d) 108 dirs = flags['dirs']
107 else: 109 if dirs:
108 dirs = (data.expand(flags['dirs'], d) or "").split() 110 dirs = data.expand(dirs, d).split()
109 for adir in dirs:
110 mkdirhier(adir)
111 111
112 if len(dirs) > 0: 112 if dirs:
113 for adir in dirs:
114 bb.utils.mkdirhier(adir)
113 adir = dirs[-1] 115 adir = dirs[-1]
114 else: 116 else:
115 adir = data.getVar('B', d, 1) 117 adir = data.getVar('B', d, 1)
@@ -123,8 +125,8 @@ def exec_func(func, d, dirs = None):
123 # Setup logfiles 125 # Setup logfiles
124 t = data.getVar('T', d, 1) 126 t = data.getVar('T', d, 1)
125 if not t: 127 if not t:
126 bb.msg.fatal(bb.msg.domain.Build, "T not set") 128 raise SystemExit("T variable not set, unable to build")
127 mkdirhier(t) 129 bb.utils.mkdirhier(t)
128 logfile = "%s/log.%s.%s" % (t, func, str(os.getpid())) 130 logfile = "%s/log.%s.%s" % (t, func, str(os.getpid()))
129 runfile = "%s/run.%s.%s" % (t, func, str(os.getpid())) 131 runfile = "%s/run.%s.%s" % (t, func, str(os.getpid()))
130 132
@@ -139,7 +141,7 @@ def exec_func(func, d, dirs = None):
139 so = os.popen("tee \"%s\"" % logfile, "w") 141 so = os.popen("tee \"%s\"" % logfile, "w")
140 else: 142 else:
141 so = file(logfile, 'w') 143 so = file(logfile, 'w')
142 except OSError, e: 144 except OSError as e:
143 bb.msg.error(bb.msg.domain.Build, "opening log file: %s" % e) 145 bb.msg.error(bb.msg.domain.Build, "opening log file: %s" % e)
144 pass 146 pass
145 147
@@ -156,9 +158,10 @@ def exec_func(func, d, dirs = None):
156 os.dup2(se.fileno(), ose[1]) 158 os.dup2(se.fileno(), ose[1])
157 159
158 locks = [] 160 locks = []
159 lockfiles = (data.expand(flags['lockfiles'], d) or "").split() 161 lockfiles = flags['lockfiles']
160 for lock in lockfiles: 162 if lockfiles:
161 locks.append(bb.utils.lockfile(lock)) 163 for lock in data.expand(lockfiles, d).split():
164 locks.append(bb.utils.lockfile(lock))
162 165
163 try: 166 try:
164 # Run the function 167 # Run the function
@@ -200,26 +203,22 @@ def exec_func(func, d, dirs = None):
200 203
201def exec_func_python(func, d, runfile, logfile): 204def exec_func_python(func, d, runfile, logfile):
202 """Execute a python BB 'function'""" 205 """Execute a python BB 'function'"""
203 import re, os
204 206
205 bbfile = bb.data.getVar('FILE', d, 1) 207 bbfile = bb.data.getVar('FILE', d, 1)
206 tmp = "def " + func + "():\n%s" % data.getVar(func, d) 208 tmp = "def " + func + "(d):\n%s" % data.getVar(func, d)
207 tmp += '\n' + func + '()' 209 tmp += '\n' + func + '(d)'
208 210
209 f = open(runfile, "w") 211 f = open(runfile, "w")
210 f.write(tmp) 212 f.write(tmp)
211 comp = utils.better_compile(tmp, func, bbfile) 213 comp = utils.better_compile(tmp, func, bbfile)
212 g = {} # globals
213 g['d'] = d
214 try: 214 try:
215 utils.better_exec(comp, g, tmp, bbfile) 215 utils.better_exec(comp, {"d": d}, tmp, bbfile)
216 except: 216 except:
217 (t,value,tb) = sys.exc_info() 217 (t, value, tb) = sys.exc_info()
218 218
219 if t in [bb.parse.SkipPackage, bb.build.FuncFailed]: 219 if t in [bb.parse.SkipPackage, bb.build.FuncFailed]:
220 raise 220 raise
221 bb.msg.error(bb.msg.domain.Build, "Function %s failed" % func) 221 raise FuncFailed("Function %s failed" % func, logfile)
222 raise FuncFailed("function %s failed" % func, logfile)
223 222
224def exec_func_shell(func, d, runfile, logfile, flags): 223def exec_func_shell(func, d, runfile, logfile, flags):
225 """Execute a shell BB 'function' Returns true if execution was successful. 224 """Execute a shell BB 'function' Returns true if execution was successful.
@@ -248,7 +247,6 @@ def exec_func_shell(func, d, runfile, logfile, flags):
248 f.close() 247 f.close()
249 os.chmod(runfile, 0775) 248 os.chmod(runfile, 0775)
250 if not func: 249 if not func:
251 bb.msg.error(bb.msg.domain.Build, "Function not specified")
252 raise FuncFailed("Function not specified for exec_func_shell") 250 raise FuncFailed("Function not specified for exec_func_shell")
253 251
254 # execute function 252 # execute function
@@ -262,7 +260,6 @@ def exec_func_shell(func, d, runfile, logfile, flags):
262 if ret == 0: 260 if ret == 0:
263 return 261 return
264 262
265 bb.msg.error(bb.msg.domain.Build, "Function %s failed" % func)
266 raise FuncFailed("function %s failed" % func, logfile) 263 raise FuncFailed("function %s failed" % func, logfile)
267 264
268 265
@@ -287,7 +284,7 @@ def exec_task(task, d):
287 event.fire(TaskStarted(task, localdata), localdata) 284 event.fire(TaskStarted(task, localdata), localdata)
288 exec_func(task, localdata) 285 exec_func(task, localdata)
289 event.fire(TaskSucceeded(task, localdata), localdata) 286 event.fire(TaskSucceeded(task, localdata), localdata)
290 except FuncFailed, message: 287 except FuncFailed as message:
291 # Try to extract the optional logfile 288 # Try to extract the optional logfile
292 try: 289 try:
293 (msg, logfile) = message 290 (msg, logfile) = message
@@ -305,8 +302,8 @@ def exec_task(task, d):
305 302
306def extract_stamp(d, fn): 303def extract_stamp(d, fn):
307 """ 304 """
308 Extracts stamp format which is either a data dictonary (fn unset) 305 Extracts stamp format which is either a data dictonary (fn unset)
309 or a dataCache entry (fn set). 306 or a dataCache entry (fn set).
310 """ 307 """
311 if fn: 308 if fn:
312 return d.stamp[fn] 309 return d.stamp[fn]
@@ -323,7 +320,7 @@ def stamp_internal(task, d, file_name):
323 if not stamp: 320 if not stamp:
324 return 321 return
325 stamp = "%s.%s" % (stamp, task) 322 stamp = "%s.%s" % (stamp, task)
326 mkdirhier(os.path.dirname(stamp)) 323 bb.utils.mkdirhier(os.path.dirname(stamp))
327 # Remove the file and recreate to force timestamp 324 # Remove the file and recreate to force timestamp
328 # change on broken NFS filesystems 325 # change on broken NFS filesystems
329 if os.access(stamp, os.F_OK): 326 if os.access(stamp, os.F_OK):
@@ -363,7 +360,7 @@ def add_tasks(tasklist, d):
363 if not task in task_deps['tasks']: 360 if not task in task_deps['tasks']:
364 task_deps['tasks'].append(task) 361 task_deps['tasks'].append(task)
365 362
366 flags = data.getVarFlags(task, d) 363 flags = data.getVarFlags(task, d)
367 def getTask(name): 364 def getTask(name):
368 if not name in task_deps: 365 if not name in task_deps:
369 task_deps[name] = {} 366 task_deps[name] = {}
@@ -389,4 +386,3 @@ def remove_task(task, kill, d):
389 If kill is 1, also remove tasks that depend on this task.""" 386 If kill is 1, also remove tasks that depend on this task."""
390 387
391 data.delVarFlag(task, 'task', d) 388 data.delVarFlag(task, 'task', d)
392
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py
index 1f180012e0..da4546640a 100644
--- a/bitbake/lib/bb/cache.py
+++ b/bitbake/lib/bb/cache.py
@@ -28,7 +28,7 @@
28# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 28# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
29 29
30 30
31import os, re 31import os
32import bb.data 32import bb.data
33import bb.utils 33import bb.utils
34 34
@@ -44,10 +44,10 @@ class Cache:
44 """ 44 """
45 BitBake Cache implementation 45 BitBake Cache implementation
46 """ 46 """
47 def __init__(self, cooker): 47 def __init__(self, data):
48 48
49 49
50 self.cachedir = bb.data.getVar("CACHE", cooker.configuration.data, True) 50 self.cachedir = bb.data.getVar("CACHE", data, True)
51 self.clean = {} 51 self.clean = {}
52 self.checked = {} 52 self.checked = {}
53 self.depends_cache = {} 53 self.depends_cache = {}
@@ -61,30 +61,28 @@ class Cache:
61 return 61 return
62 62
63 self.has_cache = True 63 self.has_cache = True
64 self.cachefile = os.path.join(self.cachedir,"bb_cache.dat") 64 self.cachefile = os.path.join(self.cachedir, "bb_cache.dat")
65 65
66 bb.msg.debug(1, bb.msg.domain.Cache, "Using cache in '%s'" % self.cachedir) 66 bb.msg.debug(1, bb.msg.domain.Cache, "Using cache in '%s'" % self.cachedir)
67 try: 67 bb.utils.mkdirhier(self.cachedir)
68 os.stat( self.cachedir )
69 except OSError:
70 bb.mkdirhier( self.cachedir )
71 68
72 # If any of configuration.data's dependencies are newer than the 69 # If any of configuration.data's dependencies are newer than the
73 # cache there isn't even any point in loading it... 70 # cache there isn't even any point in loading it...
74 newest_mtime = 0 71 newest_mtime = 0
75 deps = bb.data.getVar("__depends", cooker.configuration.data, True) 72 deps = bb.data.getVar("__depends", data)
76 for f,old_mtime in deps: 73
77 if old_mtime > newest_mtime: 74 old_mtimes = [old_mtime for f, old_mtime in deps]
78 newest_mtime = old_mtime 75 old_mtimes.append(newest_mtime)
76 newest_mtime = max(old_mtimes)
79 77
80 if bb.parse.cached_mtime_noerror(self.cachefile) >= newest_mtime: 78 if bb.parse.cached_mtime_noerror(self.cachefile) >= newest_mtime:
81 try: 79 try:
82 p = pickle.Unpickler(file(self.cachefile, "rb")) 80 p = pickle.Unpickler(file(self.cachefile, "rb"))
83 self.depends_cache, version_data = p.load() 81 self.depends_cache, version_data = p.load()
84 if version_data['CACHE_VER'] != __cache_version__: 82 if version_data['CACHE_VER'] != __cache_version__:
85 raise ValueError, 'Cache Version Mismatch' 83 raise ValueError('Cache Version Mismatch')
86 if version_data['BITBAKE_VER'] != bb.__version__: 84 if version_data['BITBAKE_VER'] != bb.__version__:
87 raise ValueError, 'Bitbake Version Mismatch' 85 raise ValueError('Bitbake Version Mismatch')
88 except EOFError: 86 except EOFError:
89 bb.msg.note(1, bb.msg.domain.Cache, "Truncated cache found, rebuilding...") 87 bb.msg.note(1, bb.msg.domain.Cache, "Truncated cache found, rebuilding...")
90 self.depends_cache = {} 88 self.depends_cache = {}
@@ -92,27 +90,23 @@ class Cache:
92 bb.msg.note(1, bb.msg.domain.Cache, "Invalid cache found, rebuilding...") 90 bb.msg.note(1, bb.msg.domain.Cache, "Invalid cache found, rebuilding...")
93 self.depends_cache = {} 91 self.depends_cache = {}
94 else: 92 else:
95 try: 93 if os.path.isfile(self.cachefile):
96 os.stat( self.cachefile )
97 bb.msg.note(1, bb.msg.domain.Cache, "Out of date cache found, rebuilding...") 94 bb.msg.note(1, bb.msg.domain.Cache, "Out of date cache found, rebuilding...")
98 except OSError:
99 pass
100 95
101 def getVar(self, var, fn, exp = 0): 96 def getVar(self, var, fn, exp = 0):
102 """ 97 """
103 Gets the value of a variable 98 Gets the value of a variable
104 (similar to getVar in the data class) 99 (similar to getVar in the data class)
105 100
106 There are two scenarios: 101 There are two scenarios:
107 1. We have cached data - serve from depends_cache[fn] 102 1. We have cached data - serve from depends_cache[fn]
108 2. We're learning what data to cache - serve from data 103 2. We're learning what data to cache - serve from data
109 backend but add a copy of the data to the cache. 104 backend but add a copy of the data to the cache.
110 """ 105 """
111 if fn in self.clean: 106 if fn in self.clean:
112 return self.depends_cache[fn][var] 107 return self.depends_cache[fn][var]
113 108
114 if not fn in self.depends_cache: 109 self.depends_cache.setdefault(fn, {})
115 self.depends_cache[fn] = {}
116 110
117 if fn != self.data_fn: 111 if fn != self.data_fn:
118 # We're trying to access data in the cache which doesn't exist 112 # We're trying to access data in the cache which doesn't exist
@@ -134,14 +128,14 @@ class Cache:
134 self.data = data 128 self.data = data
135 129
136 # Make sure __depends makes the depends_cache 130 # Make sure __depends makes the depends_cache
137 # If we're a virtual class we need to make sure all our depends are appended 131 # If we're a virtual class we need to make sure all our depends are appended
138 # to the depends of fn. 132 # to the depends of fn.
139 depends = self.getVar("__depends", virtualfn, True) or [] 133 depends = self.getVar("__depends", virtualfn) or set()
134 self.depends_cache.setdefault(fn, {})
140 if "__depends" not in self.depends_cache[fn] or not self.depends_cache[fn]["__depends"]: 135 if "__depends" not in self.depends_cache[fn] or not self.depends_cache[fn]["__depends"]:
141 self.depends_cache[fn]["__depends"] = depends 136 self.depends_cache[fn]["__depends"] = depends
142 for dep in depends: 137 else:
143 if dep not in self.depends_cache[fn]["__depends"]: 138 self.depends_cache[fn]["__depends"].update(depends)
144 self.depends_cache[fn]["__depends"].append(dep)
145 139
146 # Make sure the variants always make it into the cache too 140 # Make sure the variants always make it into the cache too
147 self.getVar('__VARIANTS', virtualfn, True) 141 self.getVar('__VARIANTS', virtualfn, True)
@@ -217,7 +211,7 @@ class Cache:
217 for data in bb_data: 211 for data in bb_data:
218 virtualfn = self.realfn2virtual(fn, data) 212 virtualfn = self.realfn2virtual(fn, data)
219 self.setData(virtualfn, fn, bb_data[data]) 213 self.setData(virtualfn, fn, bb_data[data])
220 if self.getVar("__SKIPPED", virtualfn, True): 214 if self.getVar("__SKIPPED", virtualfn):
221 skipped += 1 215 skipped += 1
222 bb.msg.debug(1, bb.msg.domain.Cache, "Skipping %s" % virtualfn) 216 bb.msg.debug(1, bb.msg.domain.Cache, "Skipping %s" % virtualfn)
223 else: 217 else:
@@ -258,11 +252,11 @@ class Cache:
258 self.remove(fn) 252 self.remove(fn)
259 return False 253 return False
260 254
261 mtime = bb.parse.cached_mtime_noerror(fn) 255 mtime = bb.parse.cached_mtime_noerror(fn)
262 256
263 # Check file still exists 257 # Check file still exists
264 if mtime == 0: 258 if mtime == 0:
265 bb.msg.debug(2, bb.msg.domain.Cache, "Cache: %s not longer exists" % fn) 259 bb.msg.debug(2, bb.msg.domain.Cache, "Cache: %s no longer exists" % fn)
266 self.remove(fn) 260 self.remove(fn)
267 return False 261 return False
268 262
@@ -275,7 +269,7 @@ class Cache:
275 # Check dependencies are still valid 269 # Check dependencies are still valid
276 depends = self.getVar("__depends", fn, True) 270 depends = self.getVar("__depends", fn, True)
277 if depends: 271 if depends:
278 for f,old_mtime in depends: 272 for f, old_mtime in depends:
279 fmtime = bb.parse.cached_mtime_noerror(f) 273 fmtime = bb.parse.cached_mtime_noerror(f)
280 # Check if file still exists 274 # Check if file still exists
281 if old_mtime != 0 and fmtime == 0: 275 if old_mtime != 0 and fmtime == 0:
@@ -345,14 +339,14 @@ class Cache:
345 339
346 def handle_data(self, file_name, cacheData): 340 def handle_data(self, file_name, cacheData):
347 """ 341 """
348 Save data we need into the cache 342 Save data we need into the cache
349 """ 343 """
350 344
351 pn = self.getVar('PN', file_name, True) 345 pn = self.getVar('PN', file_name, True)
352 pe = self.getVar('PE', file_name, True) or "0" 346 pe = self.getVar('PE', file_name, True) or "0"
353 pv = self.getVar('PV', file_name, True) 347 pv = self.getVar('PV', file_name, True)
354 if 'SRCREVINACTION' in pv: 348 if 'SRCREVINACTION' in pv:
355 bb.note("Found SRCREVINACTION in PV (%s) or %s. Please report this bug." % (pv, file_name)) 349 bb.msg.note(1, bb.msg.domain.Cache, "Found SRCREVINACTION in PV (%s) or %s. Please report this bug." % (pv, file_name))
356 pr = self.getVar('PR', file_name, True) 350 pr = self.getVar('PR', file_name, True)
357 dp = int(self.getVar('DEFAULT_PREFERENCE', file_name, True) or "0") 351 dp = int(self.getVar('DEFAULT_PREFERENCE', file_name, True) or "0")
358 depends = bb.utils.explode_deps(self.getVar("DEPENDS", file_name, True) or "") 352 depends = bb.utils.explode_deps(self.getVar("DEPENDS", file_name, True) or "")
@@ -360,7 +354,7 @@ class Cache:
360 packages_dynamic = (self.getVar('PACKAGES_DYNAMIC', file_name, True) or "").split() 354 packages_dynamic = (self.getVar('PACKAGES_DYNAMIC', file_name, True) or "").split()
361 rprovides = (self.getVar("RPROVIDES", file_name, True) or "").split() 355 rprovides = (self.getVar("RPROVIDES", file_name, True) or "").split()
362 356
363 cacheData.task_deps[file_name] = self.getVar("_task_deps", file_name, True) 357 cacheData.task_deps[file_name] = self.getVar("_task_deps", file_name)
364 358
365 # build PackageName to FileName lookup table 359 # build PackageName to FileName lookup table
366 if pn not in cacheData.pkg_pn: 360 if pn not in cacheData.pkg_pn:
@@ -371,7 +365,7 @@ class Cache:
371 365
372 # build FileName to PackageName lookup table 366 # build FileName to PackageName lookup table
373 cacheData.pkg_fn[file_name] = pn 367 cacheData.pkg_fn[file_name] = pn
374 cacheData.pkg_pepvpr[file_name] = (pe,pv,pr) 368 cacheData.pkg_pepvpr[file_name] = (pe, pv, pr)
375 cacheData.pkg_dp[file_name] = dp 369 cacheData.pkg_dp[file_name] = dp
376 370
377 provides = [pn] 371 provides = [pn]
@@ -400,13 +394,13 @@ class Cache:
400 if not dep in cacheData.all_depends: 394 if not dep in cacheData.all_depends:
401 cacheData.all_depends.append(dep) 395 cacheData.all_depends.append(dep)
402 396
403 # Build reverse hash for PACKAGES, so runtime dependencies 397 # Build reverse hash for PACKAGES, so runtime dependencies
404 # can be be resolved (RDEPENDS, RRECOMMENDS etc.) 398 # can be be resolved (RDEPENDS, RRECOMMENDS etc.)
405 for package in packages: 399 for package in packages:
406 if not package in cacheData.packages: 400 if not package in cacheData.packages:
407 cacheData.packages[package] = [] 401 cacheData.packages[package] = []
408 cacheData.packages[package].append(file_name) 402 cacheData.packages[package].append(file_name)
409 rprovides += (self.getVar("RPROVIDES_%s" % package, file_name, 1) or "").split() 403 rprovides += (self.getVar("RPROVIDES_%s" % package, file_name, 1) or "").split()
410 404
411 for package in packages_dynamic: 405 for package in packages_dynamic:
412 if not package in cacheData.packages_dynamic: 406 if not package in cacheData.packages_dynamic:
@@ -445,38 +439,45 @@ class Cache:
445 self.getVar('__BB_DONT_CACHE', file_name, True) 439 self.getVar('__BB_DONT_CACHE', file_name, True)
446 self.getVar('__VARIANTS', file_name, True) 440 self.getVar('__VARIANTS', file_name, True)
447 441
448 def load_bbfile( self, bbfile , config): 442 def load_bbfile( self, bbfile, config):
449 """ 443 """
450 Load and parse one .bb build file 444 Load and parse one .bb build file
451 Return the data and whether parsing resulted in the file being skipped 445 Return the data and whether parsing resulted in the file being skipped
452 """ 446 """
447 chdir_back = False
453 448
454 import bb 449 from bb import data, parse
455 from bb import utils, data, parse, debug, event, fatal
456 450
457 # expand tmpdir to include this topdir 451 # expand tmpdir to include this topdir
458 data.setVar('TMPDIR', data.getVar('TMPDIR', config, 1) or "", config) 452 data.setVar('TMPDIR', data.getVar('TMPDIR', config, 1) or "", config)
459 bbfile_loc = os.path.abspath(os.path.dirname(bbfile)) 453 bbfile_loc = os.path.abspath(os.path.dirname(bbfile))
460 oldpath = os.path.abspath(os.getcwd()) 454 oldpath = os.path.abspath(os.getcwd())
461 if bb.parse.cached_mtime_noerror(bbfile_loc): 455 parse.cached_mtime_noerror(bbfile_loc)
462 os.chdir(bbfile_loc)
463 bb_data = data.init_db(config) 456 bb_data = data.init_db(config)
457 # The ConfHandler first looks if there is a TOPDIR and if not
458 # then it would call getcwd().
459 # Previously, we chdir()ed to bbfile_loc, called the handler
460 # and finally chdir()ed back, a couple of thousand times. We now
461 # just fill in TOPDIR to point to bbfile_loc if there is no TOPDIR yet.
462 if not data.getVar('TOPDIR', bb_data):
463 chdir_back = True
464 data.setVar('TOPDIR', bbfile_loc, bb_data)
464 try: 465 try:
465 bb_data = parse.handle(bbfile, bb_data) # read .bb data 466 bb_data = parse.handle(bbfile, bb_data) # read .bb data
466 os.chdir(oldpath) 467 if chdir_back: os.chdir(oldpath)
467 return bb_data 468 return bb_data
468 except: 469 except:
469 os.chdir(oldpath) 470 if chdir_back: os.chdir(oldpath)
470 raise 471 raise
471 472
472def init(cooker): 473def init(cooker):
473 """ 474 """
474 The Objective: Cache the minimum amount of data possible yet get to the 475 The Objective: Cache the minimum amount of data possible yet get to the
475 stage of building packages (i.e. tryBuild) without reparsing any .bb files. 476 stage of building packages (i.e. tryBuild) without reparsing any .bb files.
476 477
477 To do this, we intercept getVar calls and only cache the variables we see 478 To do this, we intercept getVar calls and only cache the variables we see
478 being accessed. We rely on the cache getVar calls being made for all 479 being accessed. We rely on the cache getVar calls being made for all
479 variables bitbake might need to use to reach this stage. For each cached 480 variables bitbake might need to use to reach this stage. For each cached
480 file we need to track: 481 file we need to track:
481 482
482 * Its mtime 483 * Its mtime
@@ -486,7 +487,7 @@ def init(cooker):
486 Files causing parsing errors are evicted from the cache. 487 Files causing parsing errors are evicted from the cache.
487 488
488 """ 489 """
489 return Cache(cooker) 490 return Cache(cooker.configuration.data)
490 491
491 492
492 493
diff --git a/bitbake/lib/bb/command.py b/bitbake/lib/bb/command.py
index 06bd203c90..9a8d689e2a 100644
--- a/bitbake/lib/bb/command.py
+++ b/bitbake/lib/bb/command.py
@@ -20,7 +20,7 @@ Provide an interface to interact with the bitbake server through 'commands'
20# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21 21
22""" 22"""
23The bitbake server takes 'commands' from its UI/commandline. 23The bitbake server takes 'commands' from its UI/commandline.
24Commands are either synchronous or asynchronous. 24Commands are either synchronous or asynchronous.
25Async commands return data to the client in the form of events. 25Async commands return data to the client in the form of events.
26Sync commands must only return data through the function return value 26Sync commands must only return data through the function return value
@@ -62,7 +62,7 @@ class Command:
62 try: 62 try:
63 command = commandline.pop(0) 63 command = commandline.pop(0)
64 if command in CommandsSync.__dict__: 64 if command in CommandsSync.__dict__:
65 # Can run synchronous commands straight away 65 # Can run synchronous commands straight away
66 return getattr(CommandsSync, command)(self.cmds_sync, self, commandline) 66 return getattr(CommandsSync, command)(self.cmds_sync, self, commandline)
67 if self.currentAsyncCommand is not None: 67 if self.currentAsyncCommand is not None:
68 return "Busy (%s in progress)" % self.currentAsyncCommand[0] 68 return "Busy (%s in progress)" % self.currentAsyncCommand[0]
@@ -89,7 +89,17 @@ class Command:
89 return False 89 return False
90 else: 90 else:
91 return False 91 return False
92 except: 92 except KeyboardInterrupt as exc:
93 self.finishAsyncCommand("Interrupted")
94 return False
95 except SystemExit as exc:
96 arg = exc.args[0]
97 if isinstance(arg, basestring):
98 self.finishAsyncCommand(arg)
99 else:
100 self.finishAsyncCommand("Exited with %s" % arg)
101 return False
102 except Exception:
93 import traceback 103 import traceback
94 self.finishAsyncCommand(traceback.format_exc()) 104 self.finishAsyncCommand(traceback.format_exc())
95 return False 105 return False
@@ -268,6 +278,3 @@ class CookerCommandSetExitCode(bb.event.Event):
268 def __init__(self, exitcode): 278 def __init__(self, exitcode):
269 bb.event.Event.__init__(self) 279 bb.event.Event.__init__(self)
270 self.exitcode = int(exitcode) 280 self.exitcode = int(exitcode)
271
272
273
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 2406dfe95b..488bc610d2 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -22,11 +22,13 @@
22# with this program; if not, write to the Free Software Foundation, Inc., 22# with this program; if not, write to the Free Software Foundation, Inc.,
23# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 23# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24 24
25import sys, os, getopt, glob, copy, os.path, re, time 25from __future__ import print_function
26import sys, os, glob, os.path, re, time
27import sre_constants
28from cStringIO import StringIO
29from contextlib import closing
26import bb 30import bb
27from bb import utils, data, parse, event, cache, providers, taskdata, runqueue 31from bb import utils, data, parse, event, cache, providers, taskdata, command, runqueue
28from bb import command
29import itertools, sre_constants
30 32
31class MultipleMatches(Exception): 33class MultipleMatches(Exception):
32 """ 34 """
@@ -121,11 +123,11 @@ class BBCooker:
121 self.commandlineAction = None 123 self.commandlineAction = None
122 124
123 if 'world' in self.configuration.pkgs_to_build: 125 if 'world' in self.configuration.pkgs_to_build:
124 bb.error("'world' is not a valid target for --environment.") 126 bb.msg.error(bb.msg.domain.Build, "'world' is not a valid target for --environment.")
125 elif len(self.configuration.pkgs_to_build) > 1: 127 elif len(self.configuration.pkgs_to_build) > 1:
126 bb.error("Only one target can be used with the --environment option.") 128 bb.msg.error(bb.msg.domain.Build, "Only one target can be used with the --environment option.")
127 elif self.configuration.buildfile and len(self.configuration.pkgs_to_build) > 0: 129 elif self.configuration.buildfile and len(self.configuration.pkgs_to_build) > 0:
128 bb.error("No target should be used with the --environment and --buildfile options.") 130 bb.msg.error(bb.msg.domain.Build, "No target should be used with the --environment and --buildfile options.")
129 elif len(self.configuration.pkgs_to_build) > 0: 131 elif len(self.configuration.pkgs_to_build) > 0:
130 self.commandlineAction = ["showEnvironmentTarget", self.configuration.pkgs_to_build] 132 self.commandlineAction = ["showEnvironmentTarget", self.configuration.pkgs_to_build]
131 else: 133 else:
@@ -138,21 +140,18 @@ class BBCooker:
138 self.commandlineAction = ["showVersions"] 140 self.commandlineAction = ["showVersions"]
139 elif self.configuration.parse_only: 141 elif self.configuration.parse_only:
140 self.commandlineAction = ["parseFiles"] 142 self.commandlineAction = ["parseFiles"]
141 # FIXME - implement
142 #elif self.configuration.interactive:
143 # self.interactiveMode()
144 elif self.configuration.dot_graph: 143 elif self.configuration.dot_graph:
145 if self.configuration.pkgs_to_build: 144 if self.configuration.pkgs_to_build:
146 self.commandlineAction = ["generateDotGraph", self.configuration.pkgs_to_build, self.configuration.cmd] 145 self.commandlineAction = ["generateDotGraph", self.configuration.pkgs_to_build, self.configuration.cmd]
147 else: 146 else:
148 self.commandlineAction = None 147 self.commandlineAction = None
149 bb.error("Please specify a package name for dependency graph generation.") 148 bb.msg.error(bb.msg.domain.Build, "Please specify a package name for dependency graph generation.")
150 else: 149 else:
151 if self.configuration.pkgs_to_build: 150 if self.configuration.pkgs_to_build:
152 self.commandlineAction = ["buildTargets", self.configuration.pkgs_to_build, self.configuration.cmd] 151 self.commandlineAction = ["buildTargets", self.configuration.pkgs_to_build, self.configuration.cmd]
153 else: 152 else:
154 self.commandlineAction = None 153 self.commandlineAction = None
155 bb.error("Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.") 154 bb.msg.error(bb.msg.domain.Build, "Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.")
156 155
157 def runCommands(self, server, data, abort): 156 def runCommands(self, server, data, abort):
158 """ 157 """
@@ -174,14 +173,14 @@ class BBCooker:
174 except bb.build.FuncFailed: 173 except bb.build.FuncFailed:
175 bb.msg.error(bb.msg.domain.Build, "task stack execution failed") 174 bb.msg.error(bb.msg.domain.Build, "task stack execution failed")
176 raise 175 raise
177 except bb.build.EventException, e: 176 except bb.build.EventException as e:
178 event = e.args[1] 177 event = e.args[1]
179 bb.msg.error(bb.msg.domain.Build, "%s event exception, aborting" % bb.event.getName(event)) 178 bb.msg.error(bb.msg.domain.Build, "%s event exception, aborting" % bb.event.getName(event))
180 raise 179 raise
181 180
182 def tryBuild(self, fn, task): 181 def tryBuild(self, fn, task):
183 """ 182 """
184 Build a provider and its dependencies. 183 Build a provider and its dependencies.
185 build_depends is a list of previous build dependencies (not runtime) 184 build_depends is a list of previous build dependencies (not runtime)
186 If build_depends is empty, we're dealing with a runtime depends 185 If build_depends is empty, we're dealing with a runtime depends
187 """ 186 """
@@ -206,7 +205,7 @@ class BBCooker:
206 205
207 # Sort by priority 206 # Sort by priority
208 for pn in pkg_pn: 207 for pn in pkg_pn:
209 (last_ver,last_file,pref_ver,pref_file) = bb.providers.findBestProvider(pn, self.configuration.data, self.status) 208 (last_ver, last_file, pref_ver, pref_file) = bb.providers.findBestProvider(pn, self.configuration.data, self.status)
210 preferred_versions[pn] = (pref_ver, pref_file) 209 preferred_versions[pn] = (pref_ver, pref_file)
211 latest_versions[pn] = (last_ver, last_file) 210 latest_versions[pn] = (last_ver, last_file)
212 211
@@ -260,27 +259,22 @@ class BBCooker:
260 if fn: 259 if fn:
261 try: 260 try:
262 envdata = self.bb_cache.loadDataFull(fn, self.configuration.data) 261 envdata = self.bb_cache.loadDataFull(fn, self.configuration.data)
263 except IOError, e: 262 except IOError as e:
264 bb.msg.error(bb.msg.domain.Parsing, "Unable to read %s: %s" % (fn, e)) 263 bb.msg.error(bb.msg.domain.Parsing, "Unable to read %s: %s" % (fn, e))
265 raise 264 raise
266 except Exception, e: 265 except Exception as e:
267 bb.msg.error(bb.msg.domain.Parsing, "%s" % e) 266 bb.msg.error(bb.msg.domain.Parsing, "%s" % e)
268 raise 267 raise
269 268
270 class dummywrite:
271 def __init__(self):
272 self.writebuf = ""
273 def write(self, output):
274 self.writebuf = self.writebuf + output
275
276 # emit variables and shell functions 269 # emit variables and shell functions
277 try: 270 try:
278 data.update_data(envdata) 271 data.update_data(envdata)
279 wb = dummywrite() 272 with closing(StringIO()) as env:
280 data.emit_env(wb, envdata, True) 273 data.emit_env(env, envdata, True)
281 bb.msg.plain(wb.writebuf) 274 bb.msg.plain(env.getvalue())
282 except Exception, e: 275 except Exception as e:
283 bb.msg.fatal(bb.msg.domain.Parsing, "%s" % e) 276 bb.msg.fatal(bb.msg.domain.Parsing, "%s" % e)
277
284 # emit the metadata which isnt valid shell 278 # emit the metadata which isnt valid shell
285 data.expandKeys(envdata) 279 data.expandKeys(envdata)
286 for e in envdata.keys(): 280 for e in envdata.keys():
@@ -315,7 +309,7 @@ class BBCooker:
315 rq = bb.runqueue.RunQueue(self, self.configuration.data, self.status, taskdata, runlist) 309 rq = bb.runqueue.RunQueue(self, self.configuration.data, self.status, taskdata, runlist)
316 rq.prepare_runqueue() 310 rq.prepare_runqueue()
317 311
318 seen_fnids = [] 312 seen_fnids = []
319 depend_tree = {} 313 depend_tree = {}
320 depend_tree["depends"] = {} 314 depend_tree["depends"] = {}
321 depend_tree["tdepends"] = {} 315 depend_tree["tdepends"] = {}
@@ -352,7 +346,7 @@ class BBCooker:
352 346
353 depend_tree["rdepends-pn"][pn] = [] 347 depend_tree["rdepends-pn"][pn] = []
354 for rdep in taskdata.rdepids[fnid]: 348 for rdep in taskdata.rdepids[fnid]:
355 depend_tree["rdepends-pn"][pn].append(taskdata.run_names_index[rdep]) 349 depend_tree["rdepends-pn"][pn].append(taskdata.run_names_index[rdep])
356 350
357 rdepends = self.status.rundeps[fn] 351 rdepends = self.status.rundeps[fn]
358 for package in rdepends: 352 for package in rdepends:
@@ -397,51 +391,51 @@ class BBCooker:
397 391
398 # Prints a flattened form of package-depends below where subpackages of a package are merged into the main pn 392 # Prints a flattened form of package-depends below where subpackages of a package are merged into the main pn
399 depends_file = file('pn-depends.dot', 'w' ) 393 depends_file = file('pn-depends.dot', 'w' )
400 print >> depends_file, "digraph depends {" 394 print("digraph depends {", file=depends_file)
401 for pn in depgraph["pn"]: 395 for pn in depgraph["pn"]:
402 fn = depgraph["pn"][pn]["filename"] 396 fn = depgraph["pn"][pn]["filename"]
403 version = depgraph["pn"][pn]["version"] 397 version = depgraph["pn"][pn]["version"]
404 print >> depends_file, '"%s" [label="%s %s\\n%s"]' % (pn, pn, version, fn) 398 print('"%s" [label="%s %s\\n%s"]' % (pn, pn, version, fn), file=depends_file)
405 for pn in depgraph["depends"]: 399 for pn in depgraph["depends"]:
406 for depend in depgraph["depends"][pn]: 400 for depend in depgraph["depends"][pn]:
407 print >> depends_file, '"%s" -> "%s"' % (pn, depend) 401 print('"%s" -> "%s"' % (pn, depend), file=depends_file)
408 for pn in depgraph["rdepends-pn"]: 402 for pn in depgraph["rdepends-pn"]:
409 for rdepend in depgraph["rdepends-pn"][pn]: 403 for rdepend in depgraph["rdepends-pn"][pn]:
410 print >> depends_file, '"%s" -> "%s" [style=dashed]' % (pn, rdepend) 404 print('"%s" -> "%s" [style=dashed]' % (pn, rdepend), file=depends_file)
411 print >> depends_file, "}" 405 print("}", file=depends_file)
412 bb.msg.plain("PN dependencies saved to 'pn-depends.dot'") 406 bb.msg.plain("PN dependencies saved to 'pn-depends.dot'")
413 407
414 depends_file = file('package-depends.dot', 'w' ) 408 depends_file = file('package-depends.dot', 'w' )
415 print >> depends_file, "digraph depends {" 409 print("digraph depends {", file=depends_file)
416 for package in depgraph["packages"]: 410 for package in depgraph["packages"]:
417 pn = depgraph["packages"][package]["pn"] 411 pn = depgraph["packages"][package]["pn"]
418 fn = depgraph["packages"][package]["filename"] 412 fn = depgraph["packages"][package]["filename"]
419 version = depgraph["packages"][package]["version"] 413 version = depgraph["packages"][package]["version"]
420 if package == pn: 414 if package == pn:
421 print >> depends_file, '"%s" [label="%s %s\\n%s"]' % (pn, pn, version, fn) 415 print('"%s" [label="%s %s\\n%s"]' % (pn, pn, version, fn), file=depends_file)
422 else: 416 else:
423 print >> depends_file, '"%s" [label="%s(%s) %s\\n%s"]' % (package, package, pn, version, fn) 417 print('"%s" [label="%s(%s) %s\\n%s"]' % (package, package, pn, version, fn), file=depends_file)
424 for depend in depgraph["depends"][pn]: 418 for depend in depgraph["depends"][pn]:
425 print >> depends_file, '"%s" -> "%s"' % (package, depend) 419 print('"%s" -> "%s"' % (package, depend), file=depends_file)
426 for package in depgraph["rdepends-pkg"]: 420 for package in depgraph["rdepends-pkg"]:
427 for rdepend in depgraph["rdepends-pkg"][package]: 421 for rdepend in depgraph["rdepends-pkg"][package]:
428 print >> depends_file, '"%s" -> "%s" [style=dashed]' % (package, rdepend) 422 print('"%s" -> "%s" [style=dashed]' % (package, rdepend), file=depends_file)
429 for package in depgraph["rrecs-pkg"]: 423 for package in depgraph["rrecs-pkg"]:
430 for rdepend in depgraph["rrecs-pkg"][package]: 424 for rdepend in depgraph["rrecs-pkg"][package]:
431 print >> depends_file, '"%s" -> "%s" [style=dashed]' % (package, rdepend) 425 print('"%s" -> "%s" [style=dashed]' % (package, rdepend), file=depends_file)
432 print >> depends_file, "}" 426 print("}", file=depends_file)
433 bb.msg.plain("Package dependencies saved to 'package-depends.dot'") 427 bb.msg.plain("Package dependencies saved to 'package-depends.dot'")
434 428
435 tdepends_file = file('task-depends.dot', 'w' ) 429 tdepends_file = file('task-depends.dot', 'w' )
436 print >> tdepends_file, "digraph depends {" 430 print("digraph depends {", file=tdepends_file)
437 for task in depgraph["tdepends"]: 431 for task in depgraph["tdepends"]:
438 (pn, taskname) = task.rsplit(".", 1) 432 (pn, taskname) = task.rsplit(".", 1)
439 fn = depgraph["pn"][pn]["filename"] 433 fn = depgraph["pn"][pn]["filename"]
440 version = depgraph["pn"][pn]["version"] 434 version = depgraph["pn"][pn]["version"]
441 print >> tdepends_file, '"%s.%s" [label="%s %s\\n%s\\n%s"]' % (pn, taskname, pn, taskname, version, fn) 435 print('"%s.%s" [label="%s %s\\n%s\\n%s"]' % (pn, taskname, pn, taskname, version, fn), file=tdepends_file)
442 for dep in depgraph["tdepends"][task]: 436 for dep in depgraph["tdepends"][task]:
443 print >> tdepends_file, '"%s" -> "%s"' % (task, dep) 437 print('"%s" -> "%s"' % (task, dep), file=tdepends_file)
444 print >> tdepends_file, "}" 438 print("}", file=tdepends_file)
445 bb.msg.plain("Task dependencies saved to 'task-depends.dot'") 439 bb.msg.plain("Task dependencies saved to 'task-depends.dot'")
446 440
447 def buildDepgraph( self ): 441 def buildDepgraph( self ):
@@ -452,9 +446,12 @@ class BBCooker:
452 bb.data.update_data(localdata) 446 bb.data.update_data(localdata)
453 bb.data.expandKeys(localdata) 447 bb.data.expandKeys(localdata)
454 448
449 matched = set()
455 def calc_bbfile_priority(filename): 450 def calc_bbfile_priority(filename):
456 for (regex, pri) in self.status.bbfile_config_priorities: 451 for _, _, regex, pri in self.status.bbfile_config_priorities:
457 if regex.match(filename): 452 if regex.match(filename):
453 if not regex in matched:
454 matched.add(regex)
458 return pri 455 return pri
459 return 0 456 return 0
460 457
@@ -473,6 +470,11 @@ class BBCooker:
473 for p in self.status.pkg_fn: 470 for p in self.status.pkg_fn:
474 self.status.bbfile_priority[p] = calc_bbfile_priority(p) 471 self.status.bbfile_priority[p] = calc_bbfile_priority(p)
475 472
473 for collection, pattern, regex, _ in self.status.bbfile_config_priorities:
474 if not regex in matched:
475 bb.msg.warn(bb.msg.domain.Provider, "No bb files matched BBFILE_PATTERN_%s '%s'" %
476 (collection, pattern))
477
476 def buildWorldTargetList(self): 478 def buildWorldTargetList(self):
477 """ 479 """
478 Build package list for "bitbake world" 480 Build package list for "bitbake world"
@@ -505,31 +507,57 @@ class BBCooker:
505 """Drop off into a shell""" 507 """Drop off into a shell"""
506 try: 508 try:
507 from bb import shell 509 from bb import shell
508 except ImportError, details: 510 except ImportError as details:
509 bb.msg.fatal(bb.msg.domain.Parsing, "Sorry, shell not available (%s)" % details ) 511 bb.msg.fatal(bb.msg.domain.Parsing, "Sorry, shell not available (%s)" % details )
510 else: 512 else:
511 shell.start( self ) 513 shell.start( self )
512 514
515 def _findLayerConf(self):
516 path = os.getcwd()
517 while path != "/":
518 bblayers = os.path.join(path, "conf", "bblayers.conf")
519 if os.path.exists(bblayers):
520 return bblayers
521
522 path, _ = os.path.split(path)
523
513 def parseConfigurationFiles(self, files): 524 def parseConfigurationFiles(self, files):
514 try: 525 try:
515 data = self.configuration.data 526 data = self.configuration.data
516 for f in files: 527 for f in files:
517 data = bb.parse.handle(f, data) 528 data = bb.parse.handle(f, data)
518 529
519 layerconf = os.path.join(os.getcwd(), "conf", "bblayers.conf") 530 layerconf = self._findLayerConf()
520 if os.path.exists(layerconf): 531 if layerconf:
521 bb.msg.debug(2, bb.msg.domain.Parsing, "Found bblayers.conf (%s)" % layerconf) 532 bb.msg.debug(2, bb.msg.domain.Parsing, "Found bblayers.conf (%s)" % layerconf)
522 data = bb.parse.handle(layerconf, data) 533 data = bb.parse.handle(layerconf, data)
523 534
524 layers = (bb.data.getVar('BBLAYERS', data, True) or "").split() 535 layers = (bb.data.getVar('BBLAYERS', data, True) or "").split()
525 536
537 data = bb.data.createCopy(data)
526 for layer in layers: 538 for layer in layers:
527 bb.msg.debug(2, bb.msg.domain.Parsing, "Adding layer %s" % layer) 539 bb.msg.debug(2, bb.msg.domain.Parsing, "Adding layer %s" % layer)
528 bb.data.setVar('LAYERDIR', layer, data) 540 bb.data.setVar('LAYERDIR', layer, data)
529 data = bb.parse.handle(os.path.join(layer, "conf", "layer.conf"), data) 541 data = bb.parse.handle(os.path.join(layer, "conf", "layer.conf"), data)
530 542
543 # XXX: Hack, relies on the local keys of the datasmart
544 # instance being stored in the 'dict' attribute and makes
545 # assumptions about how variable expansion works, but
546 # there's no better way to force an expansion of a single
547 # variable across the datastore today, and this at least
548 # lets us reference LAYERDIR without having to immediately
549 # eval all our variables that use it.
550 for key in data.dict:
551 if key != "_data":
552 value = data.getVar(key, False)
553 if value and "${LAYERDIR}" in value:
554 data.setVar(key, value.replace("${LAYERDIR}", layer))
555
531 bb.data.delVar('LAYERDIR', data) 556 bb.data.delVar('LAYERDIR', data)
532 557
558 if not data.getVar("BBPATH", True):
559 bb.fatal("The BBPATH variable is not set")
560
533 data = bb.parse.handle(os.path.join("conf", "bitbake.conf"), data) 561 data = bb.parse.handle(os.path.join("conf", "bitbake.conf"), data)
534 562
535 self.configuration.data = data 563 self.configuration.data = data
@@ -541,16 +569,17 @@ class BBCooker:
541 569
542 # Nomally we only register event handlers at the end of parsing .bb files 570 # Nomally we only register event handlers at the end of parsing .bb files
543 # We register any handlers we've found so far here... 571 # We register any handlers we've found so far here...
544 for var in data.getVar('__BBHANDLERS', self.configuration.data) or []: 572 for var in bb.data.getVar('__BBHANDLERS', self.configuration.data) or []:
545 bb.event.register(var,bb.data.getVar(var, self.configuration.data)) 573 bb.event.register(var, bb.data.getVar(var, self.configuration.data))
546 574
547 bb.fetch.fetcher_init(self.configuration.data) 575 bb.fetch.fetcher_init(self.configuration.data)
548 576
549 bb.event.fire(bb.event.ConfigParsed(), self.configuration.data) 577 bb.event.fire(bb.event.ConfigParsed(), self.configuration.data)
550 578
551 except IOError, e: 579
580 except IOError as e:
552 bb.msg.fatal(bb.msg.domain.Parsing, "Error when parsing %s: %s" % (files, str(e))) 581 bb.msg.fatal(bb.msg.domain.Parsing, "Error when parsing %s: %s" % (files, str(e)))
553 except bb.parse.ParseError, details: 582 except bb.parse.ParseError as details:
554 bb.msg.fatal(bb.msg.domain.Parsing, "Unable to parse %s (%s)" % (files, details) ) 583 bb.msg.fatal(bb.msg.domain.Parsing, "Unable to parse %s (%s)" % (files, details) )
555 584
556 def handleCollections( self, collections ): 585 def handleCollections( self, collections ):
@@ -573,7 +602,7 @@ class BBCooker:
573 continue 602 continue
574 try: 603 try:
575 pri = int(priority) 604 pri = int(priority)
576 self.status.bbfile_config_priorities.append((cre, pri)) 605 self.status.bbfile_config_priorities.append((c, regex, cre, pri))
577 except ValueError: 606 except ValueError:
578 bb.msg.error(bb.msg.domain.Parsing, "invalid value for BBFILE_PRIORITY_%s: \"%s\"" % (c, priority)) 607 bb.msg.error(bb.msg.domain.Parsing, "invalid value for BBFILE_PRIORITY_%s: \"%s\"" % (c, priority))
579 608
@@ -582,8 +611,8 @@ class BBCooker:
582 Setup any variables needed before starting a build 611 Setup any variables needed before starting a build
583 """ 612 """
584 if not bb.data.getVar("BUILDNAME", self.configuration.data): 613 if not bb.data.getVar("BUILDNAME", self.configuration.data):
585 bb.data.setVar("BUILDNAME", os.popen('date +%Y%m%d%H%M').readline().strip(), self.configuration.data) 614 bb.data.setVar("BUILDNAME", time.strftime('%Y%m%d%H%M'), self.configuration.data)
586 bb.data.setVar("BUILDSTART", time.strftime('%m/%d/%Y %H:%M:%S',time.gmtime()), self.configuration.data) 615 bb.data.setVar("BUILDSTART", time.strftime('%m/%d/%Y %H:%M:%S', time.gmtime()), self.configuration.data)
587 616
588 def matchFiles(self, buildfile): 617 def matchFiles(self, buildfile):
589 """ 618 """
@@ -630,13 +659,19 @@ class BBCooker:
630 if (task == None): 659 if (task == None):
631 task = self.configuration.cmd 660 task = self.configuration.cmd
632 661
633 fn = self.matchFile(buildfile) 662 self.bb_cache = bb.cache.init(self)
663 self.status = bb.cache.CacheData()
664
665 (fn, cls) = self.bb_cache.virtualfn2realfn(buildfile)
666 buildfile = self.matchFile(fn)
667 fn = self.bb_cache.realfn2virtual(buildfile, cls)
668
634 self.buildSetVars() 669 self.buildSetVars()
635 670
636 # Load data into the cache for fn and parse the loaded cache data 671 # Load data into the cache for fn and parse the loaded cache data
637 self.bb_cache = bb.cache.init(self) 672 the_data = self.bb_cache.loadDataFull(fn, self.configuration.data)
638 self.status = bb.cache.CacheData() 673 self.bb_cache.setData(fn, buildfile, the_data)
639 self.bb_cache.loadData(fn, self.configuration.data, self.status) 674 self.bb_cache.handle_data(fn, self.status)
640 675
641 # Tweak some variables 676 # Tweak some variables
642 item = self.bb_cache.getVar('PN', fn, True) 677 item = self.bb_cache.getVar('PN', fn, True)
@@ -675,8 +710,8 @@ class BBCooker:
675 failures = 0 710 failures = 0
676 try: 711 try:
677 retval = rq.execute_runqueue() 712 retval = rq.execute_runqueue()
678 except runqueue.TaskFailure, fnids: 713 except runqueue.TaskFailure as exc:
679 for fnid in fnids: 714 for fnid in exc.args:
680 bb.msg.error(bb.msg.domain.Build, "'%s' failed" % taskdata.fn_index[fnid]) 715 bb.msg.error(bb.msg.domain.Build, "'%s' failed" % taskdata.fn_index[fnid])
681 failures = failures + 1 716 failures = failures + 1
682 retval = False 717 retval = False
@@ -711,8 +746,8 @@ class BBCooker:
711 failures = 0 746 failures = 0
712 try: 747 try:
713 retval = rq.execute_runqueue() 748 retval = rq.execute_runqueue()
714 except runqueue.TaskFailure, fnids: 749 except runqueue.TaskFailure as exc:
715 for fnid in fnids: 750 for fnid in exc.args:
716 bb.msg.error(bb.msg.domain.Build, "'%s' failed" % taskdata.fn_index[fnid]) 751 bb.msg.error(bb.msg.domain.Build, "'%s' failed" % taskdata.fn_index[fnid])
717 failures = failures + 1 752 failures = failures + 1
718 retval = False 753 retval = False
@@ -769,10 +804,10 @@ class BBCooker:
769 804
770 ignore = bb.data.getVar("ASSUME_PROVIDED", self.configuration.data, 1) or "" 805 ignore = bb.data.getVar("ASSUME_PROVIDED", self.configuration.data, 1) or ""
771 self.status.ignored_dependencies = set(ignore.split()) 806 self.status.ignored_dependencies = set(ignore.split())
772 807
773 for dep in self.configuration.extra_assume_provided: 808 for dep in self.configuration.extra_assume_provided:
774 self.status.ignored_dependencies.add(dep) 809 self.status.ignored_dependencies.add(dep)
775 810
776 self.handleCollections( bb.data.getVar("BBFILE_COLLECTIONS", self.configuration.data, 1) ) 811 self.handleCollections( bb.data.getVar("BBFILE_COLLECTIONS", self.configuration.data, 1) )
777 812
778 bb.msg.debug(1, bb.msg.domain.Collection, "collecting .bb files") 813 bb.msg.debug(1, bb.msg.domain.Collection, "collecting .bb files")
@@ -810,7 +845,7 @@ class BBCooker:
810 for f in contents: 845 for f in contents:
811 (root, ext) = os.path.splitext(f) 846 (root, ext) = os.path.splitext(f)
812 if ext == ".bb": 847 if ext == ".bb":
813 bbfiles.append(os.path.abspath(os.path.join(os.getcwd(),f))) 848 bbfiles.append(os.path.abspath(os.path.join(os.getcwd(), f)))
814 return bbfiles 849 return bbfiles
815 850
816 def find_bbfiles( self, path ): 851 def find_bbfiles( self, path ):
@@ -822,7 +857,7 @@ class BBCooker:
822 for ignored in ('SCCS', 'CVS', '.svn'): 857 for ignored in ('SCCS', 'CVS', '.svn'):
823 if ignored in dirs: 858 if ignored in dirs:
824 dirs.remove(ignored) 859 dirs.remove(ignored)
825 found += [join(dir,f) for f in files if f.endswith('.bb')] 860 found += [join(dir, f) for f in files if f.endswith('.bb')]
826 861
827 return found 862 return found
828 863
@@ -906,9 +941,9 @@ class BBCooker:
906 pout.close() 941 pout.close()
907 else: 942 else:
908 self.server.serve_forever() 943 self.server.serve_forever()
909 944
910 bb.event.fire(CookerExit(), self.configuration.event_data) 945 bb.event.fire(CookerExit(), self.configuration.event_data)
911 946
912class CookerExit(bb.event.Event): 947class CookerExit(bb.event.Event):
913 """ 948 """
914 Notify clients of the Cooker shutdown 949 Notify clients of the Cooker shutdown
@@ -937,9 +972,9 @@ class CookerParser:
937 self.pointer = 0 972 self.pointer = 0
938 973
939 def parse_next(self): 974 def parse_next(self):
975 cooker = self.cooker
940 if self.pointer < len(self.filelist): 976 if self.pointer < len(self.filelist):
941 f = self.filelist[self.pointer] 977 f = self.filelist[self.pointer]
942 cooker = self.cooker
943 978
944 try: 979 try:
945 fromCache, skipped, virtuals = cooker.bb_cache.loadData(f, cooker.configuration.data, cooker.status) 980 fromCache, skipped, virtuals = cooker.bb_cache.loadData(f, cooker.configuration.data, cooker.status)
@@ -951,7 +986,7 @@ class CookerParser:
951 self.skipped += skipped 986 self.skipped += skipped
952 self.virtuals += virtuals 987 self.virtuals += virtuals
953 988
954 except IOError, e: 989 except IOError as e:
955 self.error += 1 990 self.error += 1
956 cooker.bb_cache.remove(f) 991 cooker.bb_cache.remove(f)
957 bb.msg.error(bb.msg.domain.Collection, "opening %s: %s" % (f, e)) 992 bb.msg.error(bb.msg.domain.Collection, "opening %s: %s" % (f, e))
@@ -960,7 +995,7 @@ class CookerParser:
960 cooker.bb_cache.remove(f) 995 cooker.bb_cache.remove(f)
961 cooker.bb_cache.sync() 996 cooker.bb_cache.sync()
962 raise 997 raise
963 except Exception, e: 998 except Exception as e:
964 self.error += 1 999 self.error += 1
965 cooker.bb_cache.remove(f) 1000 cooker.bb_cache.remove(f)
966 bb.msg.error(bb.msg.domain.Collection, "%s while parsing %s" % (e, f)) 1001 bb.msg.error(bb.msg.domain.Collection, "%s while parsing %s" % (e, f))
@@ -978,4 +1013,3 @@ class CookerParser:
978 raise ParsingErrorsFound 1013 raise ParsingErrorsFound
979 return False 1014 return False
980 return True 1015 return True
981
diff --git a/bitbake/lib/bb/daemonize.py b/bitbake/lib/bb/daemonize.py
index 1a8bb379f4..f0714b3af6 100644
--- a/bitbake/lib/bb/daemonize.py
+++ b/bitbake/lib/bb/daemonize.py
@@ -1,191 +1,190 @@
1""" 1"""
2Python Deamonizing helper 2Python Deamonizing helper
3 3
4Configurable daemon behaviors: 4Configurable daemon behaviors:
5 5
6 1.) The current working directory set to the "/" directory. 6 1.) The current working directory set to the "/" directory.
7 2.) The current file creation mode mask set to 0. 7 2.) The current file creation mode mask set to 0.
8 3.) Close all open files (1024). 8 3.) Close all open files (1024).
9 4.) Redirect standard I/O streams to "/dev/null". 9 4.) Redirect standard I/O streams to "/dev/null".
10 10
11A failed call to fork() now raises an exception. 11A failed call to fork() now raises an exception.
12 12
13References: 13References:
14 1) Advanced Programming in the Unix Environment: W. Richard Stevens 14 1) Advanced Programming in the Unix Environment: W. Richard Stevens
15 2) Unix Programming Frequently Asked Questions: 15 2) Unix Programming Frequently Asked Questions:
16 http://www.erlenstar.demon.co.uk/unix/faq_toc.html 16 http://www.erlenstar.demon.co.uk/unix/faq_toc.html
17 17
18Modified to allow a function to be daemonized and return for 18Modified to allow a function to be daemonized and return for
19bitbake use by Richard Purdie 19bitbake use by Richard Purdie
20""" 20"""
21 21
22__author__ = "Chad J. Schroeder" 22__author__ = "Chad J. Schroeder"
23__copyright__ = "Copyright (C) 2005 Chad J. Schroeder" 23__copyright__ = "Copyright (C) 2005 Chad J. Schroeder"
24__version__ = "0.2" 24__version__ = "0.2"
25 25
26# Standard Python modules. 26# Standard Python modules.
27import os # Miscellaneous OS interfaces. 27import os # Miscellaneous OS interfaces.
28import sys # System-specific parameters and functions. 28import sys # System-specific parameters and functions.
29 29
30# Default daemon parameters. 30# Default daemon parameters.
31# File mode creation mask of the daemon. 31# File mode creation mask of the daemon.
32# For BitBake's children, we do want to inherit the parent umask. 32# For BitBake's children, we do want to inherit the parent umask.
33UMASK = None 33UMASK = None
34 34
35# Default maximum for the number of available file descriptors. 35# Default maximum for the number of available file descriptors.
36MAXFD = 1024 36MAXFD = 1024
37 37
38# The standard I/O file descriptors are redirected to /dev/null by default. 38# The standard I/O file descriptors are redirected to /dev/null by default.
39if (hasattr(os, "devnull")): 39if (hasattr(os, "devnull")):
40 REDIRECT_TO = os.devnull 40 REDIRECT_TO = os.devnull
41else: 41else:
42 REDIRECT_TO = "/dev/null" 42 REDIRECT_TO = "/dev/null"
43 43
44def createDaemon(function, logfile): 44def createDaemon(function, logfile):
45 """ 45 """
46 Detach a process from the controlling terminal and run it in the 46 Detach a process from the controlling terminal and run it in the
47 background as a daemon, returning control to the caller. 47 background as a daemon, returning control to the caller.
48 """ 48 """
49 49
50 try: 50 try:
51 # Fork a child process so the parent can exit. This returns control to 51 # Fork a child process so the parent can exit. This returns control to
52 # the command-line or shell. It also guarantees that the child will not 52 # the command-line or shell. It also guarantees that the child will not
53 # be a process group leader, since the child receives a new process ID 53 # be a process group leader, since the child receives a new process ID
54 # and inherits the parent's process group ID. This step is required 54 # and inherits the parent's process group ID. This step is required
55 # to insure that the next call to os.setsid is successful. 55 # to insure that the next call to os.setsid is successful.
56 pid = os.fork() 56 pid = os.fork()
57 except OSError, e: 57 except OSError as e:
58 raise Exception, "%s [%d]" % (e.strerror, e.errno) 58 raise Exception("%s [%d]" % (e.strerror, e.errno))
59 59
60 if (pid == 0): # The first child. 60 if (pid == 0): # The first child.
61 # To become the session leader of this new session and the process group 61 # To become the session leader of this new session and the process group
62 # leader of the new process group, we call os.setsid(). The process is 62 # leader of the new process group, we call os.setsid(). The process is
63 # also guaranteed not to have a controlling terminal. 63 # also guaranteed not to have a controlling terminal.
64 os.setsid() 64 os.setsid()
65 65
66 # Is ignoring SIGHUP necessary? 66 # Is ignoring SIGHUP necessary?
67 # 67 #
68 # It's often suggested that the SIGHUP signal should be ignored before 68 # It's often suggested that the SIGHUP signal should be ignored before
69 # the second fork to avoid premature termination of the process. The 69 # the second fork to avoid premature termination of the process. The
70 # reason is that when the first child terminates, all processes, e.g. 70 # reason is that when the first child terminates, all processes, e.g.
71 # the second child, in the orphaned group will be sent a SIGHUP. 71 # the second child, in the orphaned group will be sent a SIGHUP.
72 # 72 #
73 # "However, as part of the session management system, there are exactly 73 # "However, as part of the session management system, there are exactly
74 # two cases where SIGHUP is sent on the death of a process: 74 # two cases where SIGHUP is sent on the death of a process:
75 # 75 #
76 # 1) When the process that dies is the session leader of a session that 76 # 1) When the process that dies is the session leader of a session that
77 # is attached to a terminal device, SIGHUP is sent to all processes 77 # is attached to a terminal device, SIGHUP is sent to all processes
78 # in the foreground process group of that terminal device. 78 # in the foreground process group of that terminal device.
79 # 2) When the death of a process causes a process group to become 79 # 2) When the death of a process causes a process group to become
80 # orphaned, and one or more processes in the orphaned group are 80 # orphaned, and one or more processes in the orphaned group are
81 # stopped, then SIGHUP and SIGCONT are sent to all members of the 81 # stopped, then SIGHUP and SIGCONT are sent to all members of the
82 # orphaned group." [2] 82 # orphaned group." [2]
83 # 83 #
84 # The first case can be ignored since the child is guaranteed not to have 84 # The first case can be ignored since the child is guaranteed not to have
85 # a controlling terminal. The second case isn't so easy to dismiss. 85 # a controlling terminal. The second case isn't so easy to dismiss.
86 # The process group is orphaned when the first child terminates and 86 # The process group is orphaned when the first child terminates and
87 # POSIX.1 requires that every STOPPED process in an orphaned process 87 # POSIX.1 requires that every STOPPED process in an orphaned process
88 # group be sent a SIGHUP signal followed by a SIGCONT signal. Since the 88 # group be sent a SIGHUP signal followed by a SIGCONT signal. Since the
89 # second child is not STOPPED though, we can safely forego ignoring the 89 # second child is not STOPPED though, we can safely forego ignoring the
90 # SIGHUP signal. In any case, there are no ill-effects if it is ignored. 90 # SIGHUP signal. In any case, there are no ill-effects if it is ignored.
91 # 91 #
92 # import signal # Set handlers for asynchronous events. 92 # import signal # Set handlers for asynchronous events.
93 # signal.signal(signal.SIGHUP, signal.SIG_IGN) 93 # signal.signal(signal.SIGHUP, signal.SIG_IGN)
94 94
95 try: 95 try:
96 # Fork a second child and exit immediately to prevent zombies. This 96 # Fork a second child and exit immediately to prevent zombies. This
97 # causes the second child process to be orphaned, making the init 97 # causes the second child process to be orphaned, making the init
98 # process responsible for its cleanup. And, since the first child is 98 # process responsible for its cleanup. And, since the first child is
99 # a session leader without a controlling terminal, it's possible for 99 # a session leader without a controlling terminal, it's possible for
100 # it to acquire one by opening a terminal in the future (System V- 100 # it to acquire one by opening a terminal in the future (System V-
101 # based systems). This second fork guarantees that the child is no 101 # based systems). This second fork guarantees that the child is no
102 # longer a session leader, preventing the daemon from ever acquiring 102 # longer a session leader, preventing the daemon from ever acquiring
103 # a controlling terminal. 103 # a controlling terminal.
104 pid = os.fork() # Fork a second child. 104 pid = os.fork() # Fork a second child.
105 except OSError, e: 105 except OSError as e:
106 raise Exception, "%s [%d]" % (e.strerror, e.errno) 106 raise Exception("%s [%d]" % (e.strerror, e.errno))
107 107
108 if (pid == 0): # The second child. 108 if (pid == 0): # The second child.
109 # We probably don't want the file mode creation mask inherited from 109 # We probably don't want the file mode creation mask inherited from
110 # the parent, so we give the child complete control over permissions. 110 # the parent, so we give the child complete control over permissions.
111 if UMASK is not None: 111 if UMASK is not None:
112 os.umask(UMASK) 112 os.umask(UMASK)
113 else: 113 else:
114 # Parent (the first child) of the second child. 114 # Parent (the first child) of the second child.
115 os._exit(0) 115 os._exit(0)
116 else: 116 else:
117 # exit() or _exit()? 117 # exit() or _exit()?
118 # _exit is like exit(), but it doesn't call any functions registered 118 # _exit is like exit(), but it doesn't call any functions registered
119 # with atexit (and on_exit) or any registered signal handlers. It also 119 # with atexit (and on_exit) or any registered signal handlers. It also
120 # closes any open file descriptors. Using exit() may cause all stdio 120 # closes any open file descriptors. Using exit() may cause all stdio
121 # streams to be flushed twice and any temporary files may be unexpectedly 121 # streams to be flushed twice and any temporary files may be unexpectedly
122 # removed. It's therefore recommended that child branches of a fork() 122 # removed. It's therefore recommended that child branches of a fork()
123 # and the parent branch(es) of a daemon use _exit(). 123 # and the parent branch(es) of a daemon use _exit().
124 return 124 return
125 125
126 # Close all open file descriptors. This prevents the child from keeping 126 # Close all open file descriptors. This prevents the child from keeping
127 # open any file descriptors inherited from the parent. There is a variety 127 # open any file descriptors inherited from the parent. There is a variety
128 # of methods to accomplish this task. Three are listed below. 128 # of methods to accomplish this task. Three are listed below.
129 # 129 #
130 # Try the system configuration variable, SC_OPEN_MAX, to obtain the maximum 130 # Try the system configuration variable, SC_OPEN_MAX, to obtain the maximum
131 # number of open file descriptors to close. If it doesn't exists, use 131 # number of open file descriptors to close. If it doesn't exists, use
132 # the default value (configurable). 132 # the default value (configurable).
133 # 133 #
134 # try: 134 # try:
135 # maxfd = os.sysconf("SC_OPEN_MAX") 135 # maxfd = os.sysconf("SC_OPEN_MAX")
136 # except (AttributeError, ValueError): 136 # except (AttributeError, ValueError):
137 # maxfd = MAXFD 137 # maxfd = MAXFD
138 # 138 #
139 # OR 139 # OR
140 # 140 #
141 # if (os.sysconf_names.has_key("SC_OPEN_MAX")): 141 # if (os.sysconf_names.has_key("SC_OPEN_MAX")):
142 # maxfd = os.sysconf("SC_OPEN_MAX") 142 # maxfd = os.sysconf("SC_OPEN_MAX")
143 # else: 143 # else:
144 # maxfd = MAXFD 144 # maxfd = MAXFD
145 # 145 #
146 # OR 146 # OR
147 # 147 #
148 # Use the getrlimit method to retrieve the maximum file descriptor number 148 # Use the getrlimit method to retrieve the maximum file descriptor number
149 # that can be opened by this process. If there is not limit on the 149 # that can be opened by this process. If there is not limit on the
150 # resource, use the default value. 150 # resource, use the default value.
151 # 151 #
152 import resource # Resource usage information. 152 import resource # Resource usage information.
153 maxfd = resource.getrlimit(resource.RLIMIT_NOFILE)[1] 153 maxfd = resource.getrlimit(resource.RLIMIT_NOFILE)[1]
154 if (maxfd == resource.RLIM_INFINITY): 154 if (maxfd == resource.RLIM_INFINITY):
155 maxfd = MAXFD 155 maxfd = MAXFD
156 156
157 # Iterate through and close all file descriptors. 157 # Iterate through and close all file descriptors.
158# for fd in range(0, maxfd): 158# for fd in range(0, maxfd):
159# try: 159# try:
160# os.close(fd) 160# os.close(fd)
161# except OSError: # ERROR, fd wasn't open to begin with (ignored) 161# except OSError: # ERROR, fd wasn't open to begin with (ignored)
162# pass 162# pass
163 163
164 # Redirect the standard I/O file descriptors to the specified file. Since 164 # Redirect the standard I/O file descriptors to the specified file. Since
165 # the daemon has no controlling terminal, most daemons redirect stdin, 165 # the daemon has no controlling terminal, most daemons redirect stdin,
166 # stdout, and stderr to /dev/null. This is done to prevent side-effects 166 # stdout, and stderr to /dev/null. This is done to prevent side-effects
167 # from reads and writes to the standard I/O file descriptors. 167 # from reads and writes to the standard I/O file descriptors.
168 168
169 # This call to open is guaranteed to return the lowest file descriptor, 169 # This call to open is guaranteed to return the lowest file descriptor,
170 # which will be 0 (stdin), since it was closed above. 170 # which will be 0 (stdin), since it was closed above.
171# os.open(REDIRECT_TO, os.O_RDWR) # standard input (0) 171# os.open(REDIRECT_TO, os.O_RDWR) # standard input (0)
172 172
173 # Duplicate standard input to standard output and standard error. 173 # Duplicate standard input to standard output and standard error.
174# os.dup2(0, 1) # standard output (1) 174# os.dup2(0, 1) # standard output (1)
175# os.dup2(0, 2) # standard error (2) 175# os.dup2(0, 2) # standard error (2)
176 176
177 177
178 si = file('/dev/null', 'r') 178 si = file('/dev/null', 'r')
179 so = file(logfile, 'w') 179 so = file(logfile, 'w')
180 se = so 180 se = so
181 181
182 182
183 # Replace those fds with our own 183 # Replace those fds with our own
184 os.dup2(si.fileno(), sys.stdin.fileno()) 184 os.dup2(si.fileno(), sys.stdin.fileno())
185 os.dup2(so.fileno(), sys.stdout.fileno()) 185 os.dup2(so.fileno(), sys.stdout.fileno())
186 os.dup2(se.fileno(), sys.stderr.fileno()) 186 os.dup2(se.fileno(), sys.stderr.fileno())
187 187
188 function() 188 function()
189 189
190 os._exit(0) 190 os._exit(0)
191
diff --git a/bitbake/lib/bb/data.py b/bitbake/lib/bb/data.py
index c3bb1a1f43..636983edcc 100644
--- a/bitbake/lib/bb/data.py
+++ b/bitbake/lib/bb/data.py
@@ -11,7 +11,7 @@ operations. At night the cookie monster came by and
11suggested 'give me cookies on setting the variables and 11suggested 'give me cookies on setting the variables and
12things will work out'. Taking this suggestion into account 12things will work out'. Taking this suggestion into account
13applying the skills from the not yet passed 'Entwurf und 13applying the skills from the not yet passed 'Entwurf und
14Analyse von Algorithmen' lecture and the cookie 14Analyse von Algorithmen' lecture and the cookie
15monster seems to be right. We will track setVar more carefully 15monster seems to be right. We will track setVar more carefully
16to have faster update_data and expandKeys operations. 16to have faster update_data and expandKeys operations.
17 17
@@ -37,39 +37,40 @@ the speed is more critical here.
37# 37#
38#Based on functions from the base bb module, Copyright 2003 Holger Schurig 38#Based on functions from the base bb module, Copyright 2003 Holger Schurig
39 39
40import sys, os, re, types 40import sys, os, re
41if sys.argv[0][-5:] == "pydoc": 41if sys.argv[0][-5:] == "pydoc":
42 path = os.path.dirname(os.path.dirname(sys.argv[1])) 42 path = os.path.dirname(os.path.dirname(sys.argv[1]))
43else: 43else:
44 path = os.path.dirname(os.path.dirname(sys.argv[0])) 44 path = os.path.dirname(os.path.dirname(sys.argv[0]))
45sys.path.insert(0,path) 45sys.path.insert(0, path)
46from itertools import groupby
46 47
47from bb import data_smart 48from bb import data_smart
48import bb 49import bb
49 50
50class VarExpandError(Exception):
51 pass
52
53_dict_type = data_smart.DataSmart 51_dict_type = data_smart.DataSmart
54 52
55def init(): 53def init():
54 """Return a new object representing the Bitbake data"""
56 return _dict_type() 55 return _dict_type()
57 56
58def init_db(parent = None): 57def init_db(parent = None):
58 """Return a new object representing the Bitbake data,
59 optionally based on an existing object"""
59 if parent: 60 if parent:
60 return parent.createCopy() 61 return parent.createCopy()
61 else: 62 else:
62 return _dict_type() 63 return _dict_type()
63 64
64def createCopy(source): 65def createCopy(source):
65 """Link the source set to the destination 66 """Link the source set to the destination
66 If one does not find the value in the destination set, 67 If one does not find the value in the destination set,
67 search will go on to the source set to get the value. 68 search will go on to the source set to get the value.
68 Value from source are copy-on-write. i.e. any try to 69 Value from source are copy-on-write. i.e. any try to
69 modify one of them will end up putting the modified value 70 modify one of them will end up putting the modified value
70 in the destination set. 71 in the destination set.
71 """ 72 """
72 return source.createCopy() 73 return source.createCopy()
73 74
74def initVar(var, d): 75def initVar(var, d):
75 """Non-destructive var init for data structure""" 76 """Non-destructive var init for data structure"""
@@ -77,91 +78,34 @@ def initVar(var, d):
77 78
78 79
79def setVar(var, value, d): 80def setVar(var, value, d):
80 """Set a variable to a given value 81 """Set a variable to a given value"""
81 82 d.setVar(var, value)
82 Example:
83 >>> d = init()
84 >>> setVar('TEST', 'testcontents', d)
85 >>> print getVar('TEST', d)
86 testcontents
87 """
88 d.setVar(var,value)
89 83
90 84
91def getVar(var, d, exp = 0): 85def getVar(var, d, exp = 0):
92 """Gets the value of a variable 86 """Gets the value of a variable"""
93 87 return d.getVar(var, exp)
94 Example:
95 >>> d = init()
96 >>> setVar('TEST', 'testcontents', d)
97 >>> print getVar('TEST', d)
98 testcontents
99 """
100 return d.getVar(var,exp)
101 88
102 89
103def renameVar(key, newkey, d): 90def renameVar(key, newkey, d):
104 """Renames a variable from key to newkey 91 """Renames a variable from key to newkey"""
105
106 Example:
107 >>> d = init()
108 >>> setVar('TEST', 'testcontents', d)
109 >>> renameVar('TEST', 'TEST2', d)
110 >>> print getVar('TEST2', d)
111 testcontents
112 """
113 d.renameVar(key, newkey) 92 d.renameVar(key, newkey)
114 93
115def delVar(var, d): 94def delVar(var, d):
116 """Removes a variable from the data set 95 """Removes a variable from the data set"""
117
118 Example:
119 >>> d = init()
120 >>> setVar('TEST', 'testcontents', d)
121 >>> print getVar('TEST', d)
122 testcontents
123 >>> delVar('TEST', d)
124 >>> print getVar('TEST', d)
125 None
126 """
127 d.delVar(var) 96 d.delVar(var)
128 97
129def setVarFlag(var, flag, flagvalue, d): 98def setVarFlag(var, flag, flagvalue, d):
130 """Set a flag for a given variable to a given value 99 """Set a flag for a given variable to a given value"""
131 100 d.setVarFlag(var, flag, flagvalue)
132 Example:
133 >>> d = init()
134 >>> setVarFlag('TEST', 'python', 1, d)
135 >>> print getVarFlag('TEST', 'python', d)
136 1
137 """
138 d.setVarFlag(var,flag,flagvalue)
139 101
140def getVarFlag(var, flag, d): 102def getVarFlag(var, flag, d):
141 """Gets given flag from given var 103 """Gets given flag from given var"""
142 104 return d.getVarFlag(var, flag)
143 Example:
144 >>> d = init()
145 >>> setVarFlag('TEST', 'python', 1, d)
146 >>> print getVarFlag('TEST', 'python', d)
147 1
148 """
149 return d.getVarFlag(var,flag)
150 105
151def delVarFlag(var, flag, d): 106def delVarFlag(var, flag, d):
152 """Removes a given flag from the variable's flags 107 """Removes a given flag from the variable's flags"""
153 108 d.delVarFlag(var, flag)
154 Example:
155 >>> d = init()
156 >>> setVarFlag('TEST', 'testflag', 1, d)
157 >>> print getVarFlag('TEST', 'testflag', d)
158 1
159 >>> delVarFlag('TEST', 'testflag', d)
160 >>> print getVarFlag('TEST', 'testflag', d)
161 None
162
163 """
164 d.delVarFlag(var,flag)
165 109
166def setVarFlags(var, flags, d): 110def setVarFlags(var, flags, d):
167 """Set the flags for a given variable 111 """Set the flags for a given variable
@@ -170,115 +114,27 @@ def setVarFlags(var, flags, d):
170 setVarFlags will not clear previous 114 setVarFlags will not clear previous
171 flags. Think of this method as 115 flags. Think of this method as
172 addVarFlags 116 addVarFlags
173
174 Example:
175 >>> d = init()
176 >>> myflags = {}
177 >>> myflags['test'] = 'blah'
178 >>> setVarFlags('TEST', myflags, d)
179 >>> print getVarFlag('TEST', 'test', d)
180 blah
181 """ 117 """
182 d.setVarFlags(var,flags) 118 d.setVarFlags(var, flags)
183 119
184def getVarFlags(var, d): 120def getVarFlags(var, d):
185 """Gets a variable's flags 121 """Gets a variable's flags"""
186
187 Example:
188 >>> d = init()
189 >>> setVarFlag('TEST', 'test', 'blah', d)
190 >>> print getVarFlags('TEST', d)['test']
191 blah
192 """
193 return d.getVarFlags(var) 122 return d.getVarFlags(var)
194 123
195def delVarFlags(var, d): 124def delVarFlags(var, d):
196 """Removes a variable's flags 125 """Removes a variable's flags"""
197
198 Example:
199 >>> data = init()
200 >>> setVarFlag('TEST', 'testflag', 1, data)
201 >>> print getVarFlag('TEST', 'testflag', data)
202 1
203 >>> delVarFlags('TEST', data)
204 >>> print getVarFlags('TEST', data)
205 None
206
207 """
208 d.delVarFlags(var) 126 d.delVarFlags(var)
209 127
210def keys(d): 128def keys(d):
211 """Return a list of keys in d 129 """Return a list of keys in d"""
212
213 Example:
214 >>> d = init()
215 >>> setVar('TEST', 1, d)
216 >>> setVar('MOO' , 2, d)
217 >>> setVarFlag('TEST', 'test', 1, d)
218 >>> keys(d)
219 ['TEST', 'MOO']
220 """
221 return d.keys() 130 return d.keys()
222 131
223def getData(d):
224 """Returns the data object used"""
225 return d
226
227def setData(newData, d):
228 """Sets the data object to the supplied value"""
229 d = newData
230
231
232##
233## Cookie Monsters' query functions
234##
235def _get_override_vars(d, override):
236 """
237 Internal!!!
238
239 Get the Names of Variables that have a specific
240 override. This function returns a iterable
241 Set or an empty list
242 """
243 return []
244
245def _get_var_flags_triple(d):
246 """
247 Internal!!!
248
249 """
250 return []
251 132
252__expand_var_regexp__ = re.compile(r"\${[^{}]+}") 133__expand_var_regexp__ = re.compile(r"\${[^{}]+}")
253__expand_python_regexp__ = re.compile(r"\${@.+?}") 134__expand_python_regexp__ = re.compile(r"\${@.+?}")
254 135
255def expand(s, d, varname = None): 136def expand(s, d, varname = None):
256 """Variable expansion using the data store. 137 """Variable expansion using the data store"""
257
258 Example:
259 Standard expansion:
260 >>> d = init()
261 >>> setVar('A', 'sshd', d)
262 >>> print expand('/usr/bin/${A}', d)
263 /usr/bin/sshd
264
265 Python expansion:
266 >>> d = init()
267 >>> print expand('result: ${@37 * 72}', d)
268 result: 2664
269
270 Shell expansion:
271 >>> d = init()
272 >>> print expand('${TARGET_MOO}', d)
273 ${TARGET_MOO}
274 >>> setVar('TARGET_MOO', 'yupp', d)
275 >>> print expand('${TARGET_MOO}',d)
276 yupp
277 >>> setVar('SRC_URI', 'http://somebug.${TARGET_MOO}', d)
278 >>> delVar('TARGET_MOO', d)
279 >>> print expand('${SRC_URI}', d)
280 http://somebug.${TARGET_MOO}
281 """
282 return d.expand(s, varname) 138 return d.expand(s, varname)
283 139
284def expandKeys(alterdata, readdata = None): 140def expandKeys(alterdata, readdata = None):
@@ -295,38 +151,13 @@ def expandKeys(alterdata, readdata = None):
295 continue 151 continue
296 todolist[key] = ekey 152 todolist[key] = ekey
297 153
298 # These two for loops are split for performance to maximise the 154 # These two for loops are split for performance to maximise the
299 # usefulness of the expand cache 155 # usefulness of the expand cache
300 156
301 for key in todolist: 157 for key in todolist:
302 ekey = todolist[key] 158 ekey = todolist[key]
303 renameVar(key, ekey, alterdata) 159 renameVar(key, ekey, alterdata)
304 160
305def expandData(alterdata, readdata = None):
306 """For each variable in alterdata, expand it, and update the var contents.
307 Replacements use data from readdata.
308
309 Example:
310 >>> a=init()
311 >>> b=init()
312 >>> setVar("dlmsg", "dl_dir is ${DL_DIR}", a)
313 >>> setVar("DL_DIR", "/path/to/whatever", b)
314 >>> expandData(a, b)
315 >>> print getVar("dlmsg", a)
316 dl_dir is /path/to/whatever
317 """
318 if readdata == None:
319 readdata = alterdata
320
321 for key in keys(alterdata):
322 val = getVar(key, alterdata)
323 if type(val) is not types.StringType:
324 continue
325 expanded = expand(val, readdata)
326# print "key is %s, val is %s, expanded is %s" % (key, val, expanded)
327 if val != expanded:
328 setVar(key, expanded, alterdata)
329
330def inheritFromOS(d): 161def inheritFromOS(d):
331 """Inherit variables from the environment.""" 162 """Inherit variables from the environment."""
332 for s in os.environ.keys(): 163 for s in os.environ.keys():
@@ -351,21 +182,15 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False):
351 if all: 182 if all:
352 oval = getVar(var, d, 0) 183 oval = getVar(var, d, 0)
353 val = getVar(var, d, 1) 184 val = getVar(var, d, 1)
354 except KeyboardInterrupt: 185 except (KeyboardInterrupt, bb.build.FuncFailed):
355 raise 186 raise
356 except: 187 except Exception, exc:
357 excname = str(sys.exc_info()[0]) 188 o.write('# expansion of %s threw %s: %s\n' % (var, exc.__class__.__name__, str(exc)))
358 if excname == "bb.build.FuncFailed":
359 raise
360 o.write('# expansion of %s threw %s\n' % (var, excname))
361 return 0 189 return 0
362 190
363 if all: 191 if all:
364 o.write('# %s=%s\n' % (var, oval)) 192 o.write('# %s=%s\n' % (var, oval))
365 193
366 if type(val) is not types.StringType:
367 return 0
368
369 if (var.find("-") != -1 or var.find(".") != -1 or var.find('{') != -1 or var.find('}') != -1 or var.find('+') != -1) and not all: 194 if (var.find("-") != -1 or var.find(".") != -1 or var.find('{') != -1 or var.find('}') != -1 or var.find('+') != -1) and not all:
370 return 0 195 return 0
371 196
@@ -375,10 +200,11 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False):
375 o.write('unset %s\n' % varExpanded) 200 o.write('unset %s\n' % varExpanded)
376 return 1 201 return 1
377 202
378 val.rstrip()
379 if not val: 203 if not val:
380 return 0 204 return 0
381 205
206 val = str(val)
207
382 if func: 208 if func:
383 # NOTE: should probably check for unbalanced {} within the var 209 # NOTE: should probably check for unbalanced {} within the var
384 o.write("%s() {\n%s\n}\n" % (varExpanded, val)) 210 o.write("%s() {\n%s\n}\n" % (varExpanded, val))
@@ -393,173 +219,22 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False):
393 o.write('%s="%s"\n' % (varExpanded, alter)) 219 o.write('%s="%s"\n' % (varExpanded, alter))
394 return 1 220 return 1
395 221
396
397def emit_env(o=sys.__stdout__, d = init(), all=False): 222def emit_env(o=sys.__stdout__, d = init(), all=False):
398 """Emits all items in the data store in a format such that it can be sourced by a shell.""" 223 """Emits all items in the data store in a format such that it can be sourced by a shell."""
399 224
400 env = keys(d) 225 isfunc = lambda key: bool(d.getVarFlag(key, "func"))
401 226 keys = sorted((key for key in d.keys() if not key.startswith("__")), key=isfunc)
402 for e in env: 227 grouped = groupby(keys, isfunc)
403 if getVarFlag(e, "func", d): 228 for isfunc, keys in grouped:
404 continue 229 for key in keys:
405 emit_var(e, o, d, all) and o.write('\n') 230 emit_var(key, o, d, all and not isfunc) and o.write('\n')
406
407 for e in env:
408 if not getVarFlag(e, "func", d):
409 continue
410 emit_var(e, o, d) and o.write('\n')
411 231
412def update_data(d): 232def update_data(d):
413 """Modifies the environment vars according to local overrides and commands. 233 """Performs final steps upon the datastore, including application of overrides"""
414 Examples: 234 d.finalize()
415 Appending to a variable:
416 >>> d = init()
417 >>> setVar('TEST', 'this is a', d)
418 >>> setVar('TEST_append', ' test', d)
419 >>> setVar('TEST_append', ' of the emergency broadcast system.', d)
420 >>> update_data(d)
421 >>> print getVar('TEST', d)
422 this is a test of the emergency broadcast system.
423
424 Prepending to a variable:
425 >>> setVar('TEST', 'virtual/libc', d)
426 >>> setVar('TEST_prepend', 'virtual/tmake ', d)
427 >>> setVar('TEST_prepend', 'virtual/patcher ', d)
428 >>> update_data(d)
429 >>> print getVar('TEST', d)
430 virtual/patcher virtual/tmake virtual/libc
431
432 Overrides:
433 >>> setVar('TEST_arm', 'target', d)
434 >>> setVar('TEST_ramses', 'machine', d)
435 >>> setVar('TEST_local', 'local', d)
436 >>> setVar('OVERRIDES', 'arm', d)
437
438 >>> setVar('TEST', 'original', d)
439 >>> update_data(d)
440 >>> print getVar('TEST', d)
441 target
442
443 >>> setVar('OVERRIDES', 'arm:ramses:local', d)
444 >>> setVar('TEST', 'original', d)
445 >>> update_data(d)
446 >>> print getVar('TEST', d)
447 local
448
449 CopyMonster:
450 >>> e = d.createCopy()
451 >>> setVar('TEST_foo', 'foo', e)
452 >>> update_data(e)
453 >>> print getVar('TEST', e)
454 local
455
456 >>> setVar('OVERRIDES', 'arm:ramses:local:foo', e)
457 >>> update_data(e)
458 >>> print getVar('TEST', e)
459 foo
460
461 >>> f = d.createCopy()
462 >>> setVar('TEST_moo', 'something', f)
463 >>> setVar('OVERRIDES', 'moo:arm:ramses:local:foo', e)
464 >>> update_data(e)
465 >>> print getVar('TEST', e)
466 foo
467
468
469 >>> h = init()
470 >>> setVar('SRC_URI', 'file://append.foo;patch=1 ', h)
471 >>> g = h.createCopy()
472 >>> setVar('SRC_URI_append_arm', 'file://other.foo;patch=1', g)
473 >>> setVar('OVERRIDES', 'arm:moo', g)
474 >>> update_data(g)
475 >>> print getVar('SRC_URI', g)
476 file://append.foo;patch=1 file://other.foo;patch=1
477
478 """
479 bb.msg.debug(2, bb.msg.domain.Data, "update_data()")
480
481 # now ask the cookie monster for help
482 #print "Cookie Monster"
483 #print "Append/Prepend %s" % d._special_values
484 #print "Overrides %s" % d._seen_overrides
485
486 overrides = (getVar('OVERRIDES', d, 1) or "").split(':') or []
487
488 #
489 # Well let us see what breaks here. We used to iterate
490 # over each variable and apply the override and then
491 # do the line expanding.
492 # If we have bad luck - which we will have - the keys
493 # where in some order that is so important for this
494 # method which we don't have anymore.
495 # Anyway we will fix that and write test cases this
496 # time.
497
498 #
499 # First we apply all overrides
500 # Then we will handle _append and _prepend
501 #
502
503 for o in overrides:
504 # calculate '_'+override
505 l = len(o)+1
506
507 # see if one should even try
508 if not d._seen_overrides.has_key(o):
509 continue
510
511 vars = d._seen_overrides[o]
512 for var in vars:
513 name = var[:-l]
514 try:
515 d[name] = d[var]
516 except:
517 bb.msg.note(1, bb.msg.domain.Data, "Untracked delVar")
518
519 # now on to the appends and prepends
520 if d._special_values.has_key('_append'):
521 appends = d._special_values['_append'] or []
522 for append in appends:
523 for (a, o) in getVarFlag(append, '_append', d) or []:
524 # maybe the OVERRIDE was not yet added so keep the append
525 if (o and o in overrides) or not o:
526 delVarFlag(append, '_append', d)
527 if o and not o in overrides:
528 continue
529
530 sval = getVar(append,d) or ""
531 sval+=a
532 setVar(append, sval, d)
533
534
535 if d._special_values.has_key('_prepend'):
536 prepends = d._special_values['_prepend'] or []
537
538 for prepend in prepends:
539 for (a, o) in getVarFlag(prepend, '_prepend', d) or []:
540 # maybe the OVERRIDE was not yet added so keep the prepend
541 if (o and o in overrides) or not o:
542 delVarFlag(prepend, '_prepend', d)
543 if o and not o in overrides:
544 continue
545
546 sval = a + (getVar(prepend,d) or "")
547 setVar(prepend, sval, d)
548
549 235
550def inherits_class(klass, d): 236def inherits_class(klass, d):
551 val = getVar('__inherit_cache', d) or [] 237 val = getVar('__inherit_cache', d) or []
552 if os.path.join('classes', '%s.bbclass' % klass) in val: 238 if os.path.join('classes', '%s.bbclass' % klass) in val:
553 return True 239 return True
554 return False 240 return False
555
556def _test():
557 """Start a doctest run on this module"""
558 import doctest
559 import bb
560 from bb import data
561 bb.msg.set_debug_level(0)
562 doctest.testmod(data)
563
564if __name__ == "__main__":
565 _test()
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py
index 9067d54bfa..01a3330245 100644
--- a/bitbake/lib/bb/data_smart.py
+++ b/bitbake/lib/bb/data_smart.py
@@ -28,22 +28,16 @@ BitBake build tools.
28# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 28# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
29# Based on functions from the base bb module, Copyright 2003 Holger Schurig 29# Based on functions from the base bb module, Copyright 2003 Holger Schurig
30 30
31import copy, os, re, sys, time, types 31import copy, re, sys
32import bb 32import bb
33from bb import utils, methodpool 33from bb import utils
34from COW import COWDictBase 34from bb.COW import COWDictBase
35from new import classobj
36 35
37 36
38__setvar_keyword__ = ["_append","_prepend"] 37__setvar_keyword__ = ["_append", "_prepend"]
39__setvar_regexp__ = re.compile('(?P<base>.*?)(?P<keyword>_append|_prepend)(_(?P<add>.*))?') 38__setvar_regexp__ = re.compile('(?P<base>.*?)(?P<keyword>_append|_prepend)(_(?P<add>.*))?')
40__expand_var_regexp__ = re.compile(r"\${[^{}]+}") 39__expand_var_regexp__ = re.compile(r"\${[^{}]+}")
41__expand_python_regexp__ = re.compile(r"\${@.+?}") 40__expand_python_regexp__ = re.compile(r"\${@.+?}")
42_expand_globals = {
43 "os": os,
44 "bb": bb,
45 "time": time,
46}
47 41
48 42
49class DataSmart: 43class DataSmart:
@@ -55,9 +49,8 @@ class DataSmart:
55 self._seen_overrides = seen 49 self._seen_overrides = seen
56 50
57 self.expand_cache = {} 51 self.expand_cache = {}
58 self.expand_locals = {"d": self}
59 52
60 def expand(self,s, varname): 53 def expand(self, s, varname):
61 def var_sub(match): 54 def var_sub(match):
62 key = match.group()[2:-1] 55 key = match.group()[2:-1]
63 if varname and key: 56 if varname and key:
@@ -70,13 +63,12 @@ class DataSmart:
70 return match.group() 63 return match.group()
71 64
72 def python_sub(match): 65 def python_sub(match):
73 import bb
74 code = match.group()[3:-1] 66 code = match.group()[3:-1]
75 s = eval(code, _expand_globals, self.expand_locals) 67 codeobj = compile(code.strip(), varname or "<expansion>", "eval")
76 if type(s) == types.IntType: s = str(s) 68 value = utils.better_eval(codeobj, {"d": self})
77 return s 69 return str(value)
78 70
79 if type(s) is not types.StringType: # sanity check 71 if not isinstance(s, basestring): # sanity check
80 return s 72 return s
81 73
82 if varname and varname in self.expand_cache: 74 if varname and varname in self.expand_cache:
@@ -87,9 +79,8 @@ class DataSmart:
87 try: 79 try:
88 s = __expand_var_regexp__.sub(var_sub, s) 80 s = __expand_var_regexp__.sub(var_sub, s)
89 s = __expand_python_regexp__.sub(python_sub, s) 81 s = __expand_python_regexp__.sub(python_sub, s)
90 if s == olds: break 82 if s == olds:
91 if type(s) is not types.StringType: # sanity check 83 break
92 bb.msg.error(bb.msg.domain.Data, 'expansion of %s returned non-string %s' % (olds, s))
93 except KeyboardInterrupt: 84 except KeyboardInterrupt:
94 raise 85 raise
95 except: 86 except:
@@ -101,23 +92,86 @@ class DataSmart:
101 92
102 return s 93 return s
103 94
95 def finalize(self):
96 """Performs final steps upon the datastore, including application of overrides"""
97
98 overrides = (self.getVar("OVERRIDES", True) or "").split(":") or []
99
100 #
101 # Well let us see what breaks here. We used to iterate
102 # over each variable and apply the override and then
103 # do the line expanding.
104 # If we have bad luck - which we will have - the keys
105 # where in some order that is so important for this
106 # method which we don't have anymore.
107 # Anyway we will fix that and write test cases this
108 # time.
109
110 #
111 # First we apply all overrides
112 # Then we will handle _append and _prepend
113 #
114
115 for o in overrides:
116 # calculate '_'+override
117 l = len(o) + 1
118
119 # see if one should even try
120 if o not in self._seen_overrides:
121 continue
122
123 vars = self._seen_overrides[o]
124 for var in vars:
125 name = var[:-l]
126 try:
127 self[name] = self[var]
128 except Exception:
129 bb.msg.note(1, bb.msg.domain.Data, "Untracked delVar")
130
131 # now on to the appends and prepends
132 if "_append" in self._special_values:
133 appends = self._special_values["_append"] or []
134 for append in appends:
135 for (a, o) in self.getVarFlag(append, "_append") or []:
136 # maybe the OVERRIDE was not yet added so keep the append
137 if (o and o in overrides) or not o:
138 self.delVarFlag(append, "_append")
139 if o and not o in overrides:
140 continue
141
142 sval = self.getVar(append, False) or ""
143 sval += a
144 self.setVar(append, sval)
145
146
147 if "_prepend" in self._special_values:
148 prepends = self._special_values["_prepend"] or []
149
150 for prepend in prepends:
151 for (a, o) in self.getVarFlag(prepend, "_prepend") or []:
152 # maybe the OVERRIDE was not yet added so keep the prepend
153 if (o and o in overrides) or not o:
154 self.delVarFlag(prepend, "_prepend")
155 if o and not o in overrides:
156 continue
157
158 sval = a + (self.getVar(prepend, False) or "")
159 self.setVar(prepend, sval)
160
104 def initVar(self, var): 161 def initVar(self, var):
105 self.expand_cache = {} 162 self.expand_cache = {}
106 if not var in self.dict: 163 if not var in self.dict:
107 self.dict[var] = {} 164 self.dict[var] = {}
108 165
109 def _findVar(self,var): 166 def _findVar(self, var):
110 _dest = self.dict 167 dest = self.dict
168 while dest:
169 if var in dest:
170 return dest[var]
111 171
112 while (_dest and var not in _dest): 172 if "_data" not in dest:
113 if not "_data" in _dest:
114 _dest = None
115 break 173 break
116 _dest = _dest["_data"] 174 dest = dest["_data"]
117
118 if _dest and var in _dest:
119 return _dest[var]
120 return None
121 175
122 def _makeShadowCopy(self, var): 176 def _makeShadowCopy(self, var):
123 if var in self.dict: 177 if var in self.dict:
@@ -130,7 +184,7 @@ class DataSmart:
130 else: 184 else:
131 self.initVar(var) 185 self.initVar(var)
132 186
133 def setVar(self,var,value): 187 def setVar(self, var, value):
134 self.expand_cache = {} 188 self.expand_cache = {}
135 match = __setvar_regexp__.match(var) 189 match = __setvar_regexp__.match(var)
136 if match and match.group("keyword") in __setvar_keyword__: 190 if match and match.group("keyword") in __setvar_keyword__:
@@ -145,7 +199,7 @@ class DataSmart:
145 # pay the cookie monster 199 # pay the cookie monster
146 try: 200 try:
147 self._special_values[keyword].add( base ) 201 self._special_values[keyword].add( base )
148 except: 202 except KeyError:
149 self._special_values[keyword] = set() 203 self._special_values[keyword] = set()
150 self._special_values[keyword].add( base ) 204 self._special_values[keyword].add( base )
151 205
@@ -157,23 +211,23 @@ class DataSmart:
157 # more cookies for the cookie monster 211 # more cookies for the cookie monster
158 if '_' in var: 212 if '_' in var:
159 override = var[var.rfind('_')+1:] 213 override = var[var.rfind('_')+1:]
160 if not self._seen_overrides.has_key(override): 214 if override not in self._seen_overrides:
161 self._seen_overrides[override] = set() 215 self._seen_overrides[override] = set()
162 self._seen_overrides[override].add( var ) 216 self._seen_overrides[override].add( var )
163 217
164 # setting var 218 # setting var
165 self.dict[var]["content"] = value 219 self.dict[var]["content"] = value
166 220
167 def getVar(self,var,exp): 221 def getVar(self, var, exp):
168 value = self.getVarFlag(var,"content") 222 value = self.getVarFlag(var, "content")
169 223
170 if exp and value: 224 if exp and value:
171 return self.expand(value,var) 225 return self.expand(value, var)
172 return value 226 return value
173 227
174 def renameVar(self, key, newkey): 228 def renameVar(self, key, newkey):
175 """ 229 """
176 Rename the variable key to newkey 230 Rename the variable key to newkey
177 """ 231 """
178 val = self.getVar(key, 0) 232 val = self.getVar(key, 0)
179 if val is not None: 233 if val is not None:
@@ -187,30 +241,30 @@ class DataSmart:
187 dest = self.getVarFlag(newkey, i) or [] 241 dest = self.getVarFlag(newkey, i) or []
188 dest.extend(src) 242 dest.extend(src)
189 self.setVarFlag(newkey, i, dest) 243 self.setVarFlag(newkey, i, dest)
190 244
191 if self._special_values.has_key(i) and key in self._special_values[i]: 245 if i in self._special_values and key in self._special_values[i]:
192 self._special_values[i].remove(key) 246 self._special_values[i].remove(key)
193 self._special_values[i].add(newkey) 247 self._special_values[i].add(newkey)
194 248
195 self.delVar(key) 249 self.delVar(key)
196 250
197 def delVar(self,var): 251 def delVar(self, var):
198 self.expand_cache = {} 252 self.expand_cache = {}
199 self.dict[var] = {} 253 self.dict[var] = {}
200 254
201 def setVarFlag(self,var,flag,flagvalue): 255 def setVarFlag(self, var, flag, flagvalue):
202 if not var in self.dict: 256 if not var in self.dict:
203 self._makeShadowCopy(var) 257 self._makeShadowCopy(var)
204 self.dict[var][flag] = flagvalue 258 self.dict[var][flag] = flagvalue
205 259
206 def getVarFlag(self,var,flag): 260 def getVarFlag(self, var, flag):
207 local_var = self._findVar(var) 261 local_var = self._findVar(var)
208 if local_var: 262 if local_var:
209 if flag in local_var: 263 if flag in local_var:
210 return copy.copy(local_var[flag]) 264 return copy.copy(local_var[flag])
211 return None 265 return None
212 266
213 def delVarFlag(self,var,flag): 267 def delVarFlag(self, var, flag):
214 local_var = self._findVar(var) 268 local_var = self._findVar(var)
215 if not local_var: 269 if not local_var:
216 return 270 return
@@ -220,7 +274,7 @@ class DataSmart:
220 if var in self.dict and flag in self.dict[var]: 274 if var in self.dict and flag in self.dict[var]:
221 del self.dict[var][flag] 275 del self.dict[var][flag]
222 276
223 def setVarFlags(self,var,flags): 277 def setVarFlags(self, var, flags):
224 if not var in self.dict: 278 if not var in self.dict:
225 self._makeShadowCopy(var) 279 self._makeShadowCopy(var)
226 280
@@ -229,7 +283,7 @@ class DataSmart:
229 continue 283 continue
230 self.dict[var][i] = flags[i] 284 self.dict[var][i] = flags[i]
231 285
232 def getVarFlags(self,var): 286 def getVarFlags(self, var):
233 local_var = self._findVar(var) 287 local_var = self._findVar(var)
234 flags = {} 288 flags = {}
235 289
@@ -244,7 +298,7 @@ class DataSmart:
244 return flags 298 return flags
245 299
246 300
247 def delVarFlags(self,var): 301 def delVarFlags(self, var):
248 if not var in self.dict: 302 if not var in self.dict:
249 self._makeShadowCopy(var) 303 self._makeShadowCopy(var)
250 304
@@ -274,21 +328,19 @@ class DataSmart:
274 def keys(self): 328 def keys(self):
275 def _keys(d, mykey): 329 def _keys(d, mykey):
276 if "_data" in d: 330 if "_data" in d:
277 _keys(d["_data"],mykey) 331 _keys(d["_data"], mykey)
278 332
279 for key in d.keys(): 333 for key in d.keys():
280 if key != "_data": 334 if key != "_data":
281 mykey[key] = None 335 mykey[key] = None
282 keytab = {} 336 keytab = {}
283 _keys(self.dict,keytab) 337 _keys(self.dict, keytab)
284 return keytab.keys() 338 return keytab.keys()
285 339
286 def __getitem__(self,item): 340 def __getitem__(self, item):
287 #print "Warning deprecated" 341 #print "Warning deprecated"
288 return self.getVar(item, False) 342 return self.getVar(item, False)
289 343
290 def __setitem__(self,var,data): 344 def __setitem__(self, var, data):
291 #print "Warning deprecated" 345 #print "Warning deprecated"
292 self.setVar(var,data) 346 self.setVar(var, data)
293
294
diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py
index afd5bf57c1..7731649eff 100644
--- a/bitbake/lib/bb/event.py
+++ b/bitbake/lib/bb/event.py
@@ -22,7 +22,8 @@ BitBake build tools.
22# with this program; if not, write to the Free Software Foundation, Inc., 22# with this program; if not, write to the Free Software Foundation, Inc.,
23# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 23# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24 24
25import os, re, sys 25import os, sys
26import warnings
26import bb.utils 27import bb.utils
27import pickle 28import pickle
28 29
@@ -38,7 +39,7 @@ class Event:
38 self.pid = worker_pid 39 self.pid = worker_pid
39 40
40NotHandled = 0 41NotHandled = 0
41Handled = 1 42Handled = 1
42 43
43Registered = 10 44Registered = 10
44AlreadyRegistered = 14 45AlreadyRegistered = 14
@@ -48,13 +49,25 @@ _handlers = {}
48_ui_handlers = {} 49_ui_handlers = {}
49_ui_handler_seq = 0 50_ui_handler_seq = 0
50 51
52# For compatibility
53bb.utils._context["NotHandled"] = NotHandled
54bb.utils._context["Handled"] = Handled
55
51def fire_class_handlers(event, d): 56def fire_class_handlers(event, d):
57 import bb.msg
58 if isinstance(event, bb.msg.MsgBase):
59 return
60
52 for handler in _handlers: 61 for handler in _handlers:
53 h = _handlers[handler] 62 h = _handlers[handler]
54 event.data = d 63 event.data = d
55 if type(h).__name__ == "code": 64 if type(h).__name__ == "code":
56 exec(h) 65 locals = {"e": event}
57 tmpHandler(event) 66 bb.utils.simple_exec(h, locals)
67 ret = bb.utils.better_eval("tmpHandler(e)", locals)
68 if ret is not None:
69 warnings.warn("Using Handled/NotHandled in event handlers is deprecated",
70 DeprecationWarning, stacklevel = 2)
58 else: 71 else:
59 h(event) 72 h(event)
60 del event.data 73 del event.data
@@ -76,9 +89,9 @@ def fire_ui_handlers(event, d):
76def fire(event, d): 89def fire(event, d):
77 """Fire off an Event""" 90 """Fire off an Event"""
78 91
79 # We can fire class handlers in the worker process context and this is 92 # We can fire class handlers in the worker process context and this is
80 # desired so they get the task based datastore. 93 # desired so they get the task based datastore.
81 # UI handlers need to be fired in the server context so we defer this. They 94 # UI handlers need to be fired in the server context so we defer this. They
82 # don't have a datastore so the datastore context isn't a problem. 95 # don't have a datastore so the datastore context isn't a problem.
83 96
84 fire_class_handlers(event, d) 97 fire_class_handlers(event, d)
@@ -91,13 +104,13 @@ def worker_fire(event, d):
91 data = "<event>" + pickle.dumps(event) + "</event>" 104 data = "<event>" + pickle.dumps(event) + "</event>"
92 try: 105 try:
93 if os.write(worker_pipe, data) != len (data): 106 if os.write(worker_pipe, data) != len (data):
94 print "Error sending event to server (short write)" 107 print("Error sending event to server (short write)")
95 except OSError: 108 except OSError:
96 sys.exit(1) 109 sys.exit(1)
97 110
98def fire_from_worker(event, d): 111def fire_from_worker(event, d):
99 if not event.startswith("<event>") or not event.endswith("</event>"): 112 if not event.startswith("<event>") or not event.endswith("</event>"):
100 print "Error, not an event" 113 print("Error, not an event")
101 return 114 return
102 event = pickle.loads(event[7:-8]) 115 event = pickle.loads(event[7:-8])
103 fire_ui_handlers(event, d) 116 fire_ui_handlers(event, d)
@@ -222,10 +235,11 @@ class BuildCompleted(BuildBase):
222class NoProvider(Event): 235class NoProvider(Event):
223 """No Provider for an Event""" 236 """No Provider for an Event"""
224 237
225 def __init__(self, item, runtime=False): 238 def __init__(self, item, runtime=False, dependees=None):
226 Event.__init__(self) 239 Event.__init__(self)
227 self._item = item 240 self._item = item
228 self._runtime = runtime 241 self._runtime = runtime
242 self._dependees = dependees
229 243
230 def getItem(self): 244 def getItem(self):
231 return self._item 245 return self._item
@@ -284,4 +298,3 @@ class DepTreeGenerated(Event):
284 def __init__(self, depgraph): 298 def __init__(self, depgraph):
285 Event.__init__(self) 299 Event.__init__(self)
286 self._depgraph = depgraph 300 self._depgraph = depgraph
287
diff --git a/bitbake/lib/bb/fetch/__init__.py b/bitbake/lib/bb/fetch/__init__.py
index b566da4311..31b9653793 100644
--- a/bitbake/lib/bb/fetch/__init__.py
+++ b/bitbake/lib/bb/fetch/__init__.py
@@ -24,6 +24,8 @@ BitBake build tools.
24# 24#
25# Based on functions from the base bb module, Copyright 2003 Holger Schurig 25# Based on functions from the base bb module, Copyright 2003 Holger Schurig
26 26
27from __future__ import absolute_import
28from __future__ import print_function
27import os, re 29import os, re
28import bb 30import bb
29from bb import data 31from bb import data
@@ -53,24 +55,6 @@ class InvalidSRCREV(Exception):
53def decodeurl(url): 55def decodeurl(url):
54 """Decodes an URL into the tokens (scheme, network location, path, 56 """Decodes an URL into the tokens (scheme, network location, path,
55 user, password, parameters). 57 user, password, parameters).
56
57 >>> decodeurl("http://www.google.com/index.html")
58 ('http', 'www.google.com', '/index.html', '', '', {})
59
60 >>> decodeurl("file://gas/COPYING")
61 ('file', '', 'gas/COPYING', '', '', {})
62
63 CVS url with username, host and cvsroot. The cvs module to check out is in the
64 parameters:
65
66 >>> decodeurl("cvs://anoncvs@cvs.handhelds.org/cvs;module=familiar/dist/ipkg")
67 ('cvs', 'cvs.handhelds.org', '/cvs', 'anoncvs', '', {'module': 'familiar/dist/ipkg'})
68
69 Dito, but this time the username has a password part. And we also request a special tag
70 to check out.
71
72 >>> decodeurl("cvs://anoncvs:anonymous@cvs.handhelds.org/cvs;module=familiar/dist/ipkg;tag=V0-99-81")
73 ('cvs', 'cvs.handhelds.org', '/cvs', 'anoncvs', 'anonymous', {'tag': 'V0-99-81', 'module': 'familiar/dist/ipkg'})
74 """ 58 """
75 59
76 m = re.compile('(?P<type>[^:]*)://((?P<user>.+)@)?(?P<location>[^;]+)(;(?P<parm>.*))?').match(url) 60 m = re.compile('(?P<type>[^:]*)://((?P<user>.+)@)?(?P<location>[^;]+)(;(?P<parm>.*))?').match(url)
@@ -103,7 +87,7 @@ def decodeurl(url):
103 p = {} 87 p = {}
104 if parm: 88 if parm:
105 for s in parm.split(';'): 89 for s in parm.split(';'):
106 s1,s2 = s.split('=') 90 s1, s2 = s.split('=')
107 p[s1] = s2 91 p[s1] = s2
108 92
109 return (type, host, path, user, pswd, p) 93 return (type, host, path, user, pswd, p)
@@ -111,27 +95,12 @@ def decodeurl(url):
111def encodeurl(decoded): 95def encodeurl(decoded):
112 """Encodes a URL from tokens (scheme, network location, path, 96 """Encodes a URL from tokens (scheme, network location, path,
113 user, password, parameters). 97 user, password, parameters).
114
115 >>> encodeurl(['http', 'www.google.com', '/index.html', '', '', {}])
116 'http://www.google.com/index.html'
117
118 CVS with username, host and cvsroot. The cvs module to check out is in the
119 parameters:
120
121 >>> encodeurl(['cvs', 'cvs.handhelds.org', '/cvs', 'anoncvs', '', {'module': 'familiar/dist/ipkg'}])
122 'cvs://anoncvs@cvs.handhelds.org/cvs;module=familiar/dist/ipkg'
123
124 Dito, but this time the username has a password part. And we also request a special tag
125 to check out.
126
127 >>> encodeurl(['cvs', 'cvs.handhelds.org', '/cvs', 'anoncvs', 'anonymous', {'tag': 'V0-99-81', 'module': 'familiar/dist/ipkg'}])
128 'cvs://anoncvs:anonymous@cvs.handhelds.org/cvs;tag=V0-99-81;module=familiar/dist/ipkg'
129 """ 98 """
130 99
131 (type, host, path, user, pswd, p) = decoded 100 (type, host, path, user, pswd, p) = decoded
132 101
133 if not type or not path: 102 if not type or not path:
134 bb.msg.fatal(bb.msg.domain.Fetcher, "invalid or missing parameters for url encoding") 103 raise MissingParameterError("Type or path url components missing when encoding %s" % decoded)
135 url = '%s://' % type 104 url = '%s://' % type
136 if user: 105 if user:
137 url += "%s" % user 106 url += "%s" % user
@@ -151,15 +120,14 @@ def uri_replace(uri, uri_find, uri_replace, d):
151# bb.msg.note(1, bb.msg.domain.Fetcher, "uri_replace: operating on %s" % uri) 120# bb.msg.note(1, bb.msg.domain.Fetcher, "uri_replace: operating on %s" % uri)
152 if not uri or not uri_find or not uri_replace: 121 if not uri or not uri_find or not uri_replace:
153 bb.msg.debug(1, bb.msg.domain.Fetcher, "uri_replace: passed an undefined value, not replacing") 122 bb.msg.debug(1, bb.msg.domain.Fetcher, "uri_replace: passed an undefined value, not replacing")
154 uri_decoded = list(bb.decodeurl(uri)) 123 uri_decoded = list(decodeurl(uri))
155 uri_find_decoded = list(bb.decodeurl(uri_find)) 124 uri_find_decoded = list(decodeurl(uri_find))
156 uri_replace_decoded = list(bb.decodeurl(uri_replace)) 125 uri_replace_decoded = list(decodeurl(uri_replace))
157 result_decoded = ['','','','','',{}] 126 result_decoded = ['', '', '', '', '', {}]
158 for i in uri_find_decoded: 127 for i in uri_find_decoded:
159 loc = uri_find_decoded.index(i) 128 loc = uri_find_decoded.index(i)
160 result_decoded[loc] = uri_decoded[loc] 129 result_decoded[loc] = uri_decoded[loc]
161 import types 130 if isinstance(i, basestring):
162 if type(i) == types.StringType:
163 if (re.match(i, uri_decoded[loc])): 131 if (re.match(i, uri_decoded[loc])):
164 result_decoded[loc] = re.sub(i, uri_replace_decoded[loc], uri_decoded[loc]) 132 result_decoded[loc] = re.sub(i, uri_replace_decoded[loc], uri_decoded[loc])
165 if uri_find_decoded.index(i) == 2: 133 if uri_find_decoded.index(i) == 2:
@@ -174,19 +142,20 @@ def uri_replace(uri, uri_find, uri_replace, d):
174# else: 142# else:
175# for j in i: 143# for j in i:
176# FIXME: apply replacements against options 144# FIXME: apply replacements against options
177 return bb.encodeurl(result_decoded) 145 return encodeurl(result_decoded)
178 146
179methods = [] 147methods = []
180urldata_cache = {} 148urldata_cache = {}
181saved_headrevs = {} 149saved_headrevs = {}
150persistent_database_connection = {}
182 151
183def fetcher_init(d): 152def fetcher_init(d):
184 """ 153 """
185 Called to initilize the fetchers once the configuration data is known 154 Called to initialize the fetchers once the configuration data is known.
186 Calls before this must not hit the cache. 155 Calls before this must not hit the cache.
187 """ 156 """
188 pd = persist_data.PersistData(d) 157 pd = persist_data.PersistData(d, persistent_database_connection)
189 # When to drop SCM head revisions controled by user policy 158 # When to drop SCM head revisions controlled by user policy
190 srcrev_policy = bb.data.getVar('BB_SRCREV_POLICY', d, 1) or "clear" 159 srcrev_policy = bb.data.getVar('BB_SRCREV_POLICY', d, 1) or "clear"
191 if srcrev_policy == "cache": 160 if srcrev_policy == "cache":
192 bb.msg.debug(1, bb.msg.domain.Fetcher, "Keeping SRCREV cache due to cache policy of: %s" % srcrev_policy) 161 bb.msg.debug(1, bb.msg.domain.Fetcher, "Keeping SRCREV cache due to cache policy of: %s" % srcrev_policy)
@@ -198,7 +167,7 @@ def fetcher_init(d):
198 pass 167 pass
199 pd.delDomain("BB_URI_HEADREVS") 168 pd.delDomain("BB_URI_HEADREVS")
200 else: 169 else:
201 bb.msg.fatal(bb.msg.domain.Fetcher, "Invalid SRCREV cache policy of: %s" % srcrev_policy) 170 raise FetchError("Invalid SRCREV cache policy of: %s" % srcrev_policy)
202 171
203 for m in methods: 172 for m in methods:
204 if hasattr(m, "init"): 173 if hasattr(m, "init"):
@@ -214,7 +183,7 @@ def fetcher_compare_revisons(d):
214 return true/false on whether they've changed. 183 return true/false on whether they've changed.
215 """ 184 """
216 185
217 pd = persist_data.PersistData(d) 186 pd = persist_data.PersistData(d, persistent_database_connection)
218 data = pd.getKeyValues("BB_URI_HEADREVS") 187 data = pd.getKeyValues("BB_URI_HEADREVS")
219 data2 = bb.fetch.saved_headrevs 188 data2 = bb.fetch.saved_headrevs
220 189
@@ -236,6 +205,7 @@ def fetcher_compare_revisons(d):
236 205
237def init(urls, d, setup = True): 206def init(urls, d, setup = True):
238 urldata = {} 207 urldata = {}
208
239 fn = bb.data.getVar('FILE', d, 1) 209 fn = bb.data.getVar('FILE', d, 1)
240 if fn in urldata_cache: 210 if fn in urldata_cache:
241 urldata = urldata_cache[fn] 211 urldata = urldata_cache[fn]
@@ -247,7 +217,7 @@ def init(urls, d, setup = True):
247 if setup: 217 if setup:
248 for url in urldata: 218 for url in urldata:
249 if not urldata[url].setup: 219 if not urldata[url].setup:
250 urldata[url].setup_localpath(d) 220 urldata[url].setup_localpath(d)
251 221
252 urldata_cache[fn] = urldata 222 urldata_cache[fn] = urldata
253 return urldata 223 return urldata
@@ -265,7 +235,7 @@ def go(d, urls = None):
265 ud = urldata[u] 235 ud = urldata[u]
266 m = ud.method 236 m = ud.method
267 if ud.localfile: 237 if ud.localfile:
268 if not m.forcefetch(u, ud, d) and os.path.exists(ud.md5): 238 if not m.forcefetch(u, ud, d) and os.path.exists(ud.md5) and os.path.exists(ud.localfile):
269 # File already present along with md5 stamp file 239 # File already present along with md5 stamp file
270 # Touch md5 file to show activity 240 # Touch md5 file to show activity
271 try: 241 try:
@@ -275,8 +245,8 @@ def go(d, urls = None):
275 pass 245 pass
276 continue 246 continue
277 lf = bb.utils.lockfile(ud.lockfile) 247 lf = bb.utils.lockfile(ud.lockfile)
278 if not m.forcefetch(u, ud, d) and os.path.exists(ud.md5): 248 if not m.forcefetch(u, ud, d) and os.path.exists(ud.md5) and os.path.exists(ud.localfile):
279 # If someone else fetched this before we got the lock, 249 # If someone else fetched this before we got the lock,
280 # notice and don't try again 250 # notice and don't try again
281 try: 251 try:
282 os.utime(ud.md5, None) 252 os.utime(ud.md5, None)
@@ -332,7 +302,7 @@ def checkstatus(d):
332 ret = try_mirrors (d, u, mirrors, True) 302 ret = try_mirrors (d, u, mirrors, True)
333 303
334 if not ret: 304 if not ret:
335 bb.msg.error(bb.msg.domain.Fetcher, "URL %s doesn't work" % u) 305 raise FetchError("URL %s doesn't work" % u)
336 306
337def localpaths(d): 307def localpaths(d):
338 """ 308 """
@@ -342,7 +312,7 @@ def localpaths(d):
342 urldata = init([], d, True) 312 urldata = init([], d, True)
343 313
344 for u in urldata: 314 for u in urldata:
345 ud = urldata[u] 315 ud = urldata[u]
346 local.append(ud.localpath) 316 local.append(ud.localpath)
347 317
348 return local 318 return local
@@ -354,15 +324,15 @@ def get_srcrev(d):
354 Return the version string for the current package 324 Return the version string for the current package
355 (usually to be used as PV) 325 (usually to be used as PV)
356 Most packages usually only have one SCM so we just pass on the call. 326 Most packages usually only have one SCM so we just pass on the call.
357 In the multi SCM case, we build a value based on SRCREV_FORMAT which must 327 In the multi SCM case, we build a value based on SRCREV_FORMAT which must
358 have been set. 328 have been set.
359 """ 329 """
360 330
361 # 331 #
362 # Ugly code alert. localpath in the fetchers will try to evaluate SRCREV which 332 # Ugly code alert. localpath in the fetchers will try to evaluate SRCREV which
363 # could translate into a call to here. If it does, we need to catch this 333 # could translate into a call to here. If it does, we need to catch this
364 # and provide some way so it knows get_srcrev is active instead of being 334 # and provide some way so it knows get_srcrev is active instead of being
365 # some number etc. hence the srcrev_internal_call tracking and the magic 335 # some number etc. hence the srcrev_internal_call tracking and the magic
366 # "SRCREVINACTION" return value. 336 # "SRCREVINACTION" return value.
367 # 337 #
368 # Neater solutions welcome! 338 # Neater solutions welcome!
@@ -372,7 +342,7 @@ def get_srcrev(d):
372 342
373 scms = [] 343 scms = []
374 344
375 # Only call setup_localpath on URIs which suppports_srcrev() 345 # Only call setup_localpath on URIs which suppports_srcrev()
376 urldata = init(bb.data.getVar('SRC_URI', d, 1).split(), d, False) 346 urldata = init(bb.data.getVar('SRC_URI', d, 1).split(), d, False)
377 for u in urldata: 347 for u in urldata:
378 ud = urldata[u] 348 ud = urldata[u]
@@ -385,7 +355,7 @@ def get_srcrev(d):
385 bb.msg.error(bb.msg.domain.Fetcher, "SRCREV was used yet no valid SCM was found in SRC_URI") 355 bb.msg.error(bb.msg.domain.Fetcher, "SRCREV was used yet no valid SCM was found in SRC_URI")
386 raise ParameterError 356 raise ParameterError
387 357
388 bb.data.setVar('__BB_DONT_CACHE','1', d) 358 bb.data.setVar('__BB_DONT_CACHE', '1', d)
389 359
390 if len(scms) == 1: 360 if len(scms) == 1:
391 return urldata[scms[0]].method.sortable_revision(scms[0], urldata[scms[0]], d) 361 return urldata[scms[0]].method.sortable_revision(scms[0], urldata[scms[0]], d)
@@ -408,7 +378,7 @@ def get_srcrev(d):
408 378
409def localpath(url, d, cache = True): 379def localpath(url, d, cache = True):
410 """ 380 """
411 Called from the parser with cache=False since the cache isn't ready 381 Called from the parser with cache=False since the cache isn't ready
412 at this point. Also called from classed in OE e.g. patch.bbclass 382 at this point. Also called from classed in OE e.g. patch.bbclass
413 """ 383 """
414 ud = init([url], d) 384 ud = init([url], d)
@@ -432,7 +402,7 @@ def runfetchcmd(cmd, d, quiet = False):
432 for var in exportvars: 402 for var in exportvars:
433 val = data.getVar(var, d, True) 403 val = data.getVar(var, d, True)
434 if val: 404 if val:
435 cmd = 'export ' + var + '=%s; %s' % (val, cmd) 405 cmd = 'export ' + var + '=\"%s\"; %s' % (val, cmd)
436 406
437 bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % cmd) 407 bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % cmd)
438 408
@@ -440,12 +410,12 @@ def runfetchcmd(cmd, d, quiet = False):
440 stdout_handle = os.popen(cmd + " 2>&1", "r") 410 stdout_handle = os.popen(cmd + " 2>&1", "r")
441 output = "" 411 output = ""
442 412
443 while 1: 413 while True:
444 line = stdout_handle.readline() 414 line = stdout_handle.readline()
445 if not line: 415 if not line:
446 break 416 break
447 if not quiet: 417 if not quiet:
448 print line, 418 print(line, end=' ')
449 output += line 419 output += line
450 420
451 status = stdout_handle.close() or 0 421 status = stdout_handle.close() or 0
@@ -507,7 +477,7 @@ class FetchData(object):
507 """ 477 """
508 def __init__(self, url, d): 478 def __init__(self, url, d):
509 self.localfile = "" 479 self.localfile = ""
510 (self.type, self.host, self.path, self.user, self.pswd, self.parm) = bb.decodeurl(data.expand(url, d)) 480 (self.type, self.host, self.path, self.user, self.pswd, self.parm) = decodeurl(data.expand(url, d))
511 self.date = Fetch.getSRCDate(self, d) 481 self.date = Fetch.getSRCDate(self, d)
512 self.url = url 482 self.url = url
513 if not self.user and "user" in self.parm: 483 if not self.user and "user" in self.parm:
@@ -571,7 +541,7 @@ class Fetch(object):
571 def localpath(self, url, urldata, d): 541 def localpath(self, url, urldata, d):
572 """ 542 """
573 Return the local filename of a given url assuming a successful fetch. 543 Return the local filename of a given url assuming a successful fetch.
574 Can also setup variables in urldata for use in go (saving code duplication 544 Can also setup variables in urldata for use in go (saving code duplication
575 and duplicate code execution) 545 and duplicate code execution)
576 """ 546 """
577 return url 547 return url
@@ -632,8 +602,8 @@ class Fetch(object):
632 """ 602 """
633 Return: 603 Return:
634 a) a source revision if specified 604 a) a source revision if specified
635 b) True if auto srcrev is in action 605 b) True if auto srcrev is in action
636 c) False otherwise 606 c) False otherwise
637 """ 607 """
638 608
639 if 'rev' in ud.parm: 609 if 'rev' in ud.parm:
@@ -665,7 +635,7 @@ class Fetch(object):
665 b) None otherwise 635 b) None otherwise
666 """ 636 """
667 637
668 localcount= None 638 localcount = None
669 if 'name' in ud.parm: 639 if 'name' in ud.parm:
670 pn = data.getVar("PN", d, 1) 640 pn = data.getVar("PN", d, 1)
671 localcount = data.getVar("LOCALCOUNT_" + ud.parm['name'], d, 1) 641 localcount = data.getVar("LOCALCOUNT_" + ud.parm['name'], d, 1)
@@ -706,7 +676,7 @@ class Fetch(object):
706 if not hasattr(self, "_latest_revision"): 676 if not hasattr(self, "_latest_revision"):
707 raise ParameterError 677 raise ParameterError
708 678
709 pd = persist_data.PersistData(d) 679 pd = persist_data.PersistData(d, persistent_database_connection)
710 key = self.generate_revision_key(url, ud, d) 680 key = self.generate_revision_key(url, ud, d)
711 rev = pd.getValue("BB_URI_HEADREVS", key) 681 rev = pd.getValue("BB_URI_HEADREVS", key)
712 if rev != None: 682 if rev != None:
@@ -718,12 +688,12 @@ class Fetch(object):
718 688
719 def sortable_revision(self, url, ud, d): 689 def sortable_revision(self, url, ud, d):
720 """ 690 """
721 691
722 """ 692 """
723 if hasattr(self, "_sortable_revision"): 693 if hasattr(self, "_sortable_revision"):
724 return self._sortable_revision(url, ud, d) 694 return self._sortable_revision(url, ud, d)
725 695
726 pd = persist_data.PersistData(d) 696 pd = persist_data.PersistData(d, persistent_database_connection)
727 key = self.generate_revision_key(url, ud, d) 697 key = self.generate_revision_key(url, ud, d)
728 698
729 latest_rev = self._build_revision(url, ud, d) 699 latest_rev = self._build_revision(url, ud, d)
@@ -758,18 +728,18 @@ class Fetch(object):
758 key = self._revision_key(url, ud, d) 728 key = self._revision_key(url, ud, d)
759 return "%s-%s" % (key, bb.data.getVar("PN", d, True) or "") 729 return "%s-%s" % (key, bb.data.getVar("PN", d, True) or "")
760 730
761import cvs 731from . import cvs
762import git 732from . import git
763import local 733from . import local
764import svn 734from . import svn
765import wget 735from . import wget
766import svk 736from . import svk
767import ssh 737from . import ssh
768import perforce 738from . import perforce
769import bzr 739from . import bzr
770import hg 740from . import hg
771import osc 741from . import osc
772import repo 742from . import repo
773 743
774methods.append(local.Local()) 744methods.append(local.Local())
775methods.append(wget.Wget()) 745methods.append(wget.Wget())
diff --git a/bitbake/lib/bb/fetch/bzr.py b/bitbake/lib/bb/fetch/bzr.py
index c6e33c3343..813d7d8c80 100644
--- a/bitbake/lib/bb/fetch/bzr.py
+++ b/bitbake/lib/bb/fetch/bzr.py
@@ -46,15 +46,15 @@ class Bzr(Fetch):
46 46
47 revision = Fetch.srcrev_internal_helper(ud, d) 47 revision = Fetch.srcrev_internal_helper(ud, d)
48 if revision is True: 48 if revision is True:
49 ud.revision = self.latest_revision(url, ud, d) 49 ud.revision = self.latest_revision(url, ud, d)
50 elif revision: 50 elif revision:
51 ud.revision = revision 51 ud.revision = revision
52 52
53 if not ud.revision: 53 if not ud.revision:
54 ud.revision = self.latest_revision(url, ud, d) 54 ud.revision = self.latest_revision(url, ud, d)
55 55
56 ud.localfile = data.expand('bzr_%s_%s_%s.tar.gz' % (ud.host, ud.path.replace('/', '.'), ud.revision), d) 56 ud.localfile = data.expand('bzr_%s_%s_%s.tar.gz' % (ud.host, ud.path.replace('/', '.'), ud.revision), d)
57 57
58 return os.path.join(data.getVar("DL_DIR", d, True), ud.localfile) 58 return os.path.join(data.getVar("DL_DIR", d, True), ud.localfile)
59 59
60 def _buildbzrcommand(self, ud, d, command): 60 def _buildbzrcommand(self, ud, d, command):
@@ -145,4 +145,3 @@ class Bzr(Fetch):
145 145
146 def _build_revision(self, url, ud, d): 146 def _build_revision(self, url, ud, d):
147 return ud.revision 147 return ud.revision
148
diff --git a/bitbake/lib/bb/fetch/cvs.py b/bitbake/lib/bb/fetch/cvs.py
index 443f521317..61976f7ef4 100644
--- a/bitbake/lib/bb/fetch/cvs.py
+++ b/bitbake/lib/bb/fetch/cvs.py
@@ -139,8 +139,8 @@ class Cvs(Fetch):
139 bb.msg.debug(2, bb.msg.domain.Fetcher, "Fetch: checking for module directory") 139 bb.msg.debug(2, bb.msg.domain.Fetcher, "Fetch: checking for module directory")
140 pkg = data.expand('${PN}', d) 140 pkg = data.expand('${PN}', d)
141 pkgdir = os.path.join(data.expand('${CVSDIR}', localdata), pkg) 141 pkgdir = os.path.join(data.expand('${CVSDIR}', localdata), pkg)
142 moddir = os.path.join(pkgdir,localdir) 142 moddir = os.path.join(pkgdir, localdir)
143 if os.access(os.path.join(moddir,'CVS'), os.R_OK): 143 if os.access(os.path.join(moddir, 'CVS'), os.R_OK):
144 bb.msg.note(1, bb.msg.domain.Fetcher, "Update " + loc) 144 bb.msg.note(1, bb.msg.domain.Fetcher, "Update " + loc)
145 # update sources there 145 # update sources there
146 os.chdir(moddir) 146 os.chdir(moddir)
@@ -157,7 +157,7 @@ class Cvs(Fetch):
157 try: 157 try:
158 os.rmdir(moddir) 158 os.rmdir(moddir)
159 except OSError: 159 except OSError:
160 pass 160 pass
161 raise FetchError(ud.module) 161 raise FetchError(ud.module)
162 162
163 # tar them up to a defined filename 163 # tar them up to a defined filename
diff --git a/bitbake/lib/bb/fetch/git.py b/bitbake/lib/bb/fetch/git.py
index 41ebc5b998..8c91de9db1 100644
--- a/bitbake/lib/bb/fetch/git.py
+++ b/bitbake/lib/bb/fetch/git.py
@@ -57,12 +57,12 @@ class Git(Fetch):
57 57
58 tag = Fetch.srcrev_internal_helper(ud, d) 58 tag = Fetch.srcrev_internal_helper(ud, d)
59 if tag is True: 59 if tag is True:
60 ud.tag = self.latest_revision(url, ud, d) 60 ud.tag = self.latest_revision(url, ud, d)
61 elif tag: 61 elif tag:
62 ud.tag = tag 62 ud.tag = tag
63 63
64 if not ud.tag or ud.tag == "master": 64 if not ud.tag or ud.tag == "master":
65 ud.tag = self.latest_revision(url, ud, d) 65 ud.tag = self.latest_revision(url, ud, d)
66 66
67 subdir = ud.parm.get("subpath", "") 67 subdir = ud.parm.get("subpath", "")
68 if subdir != "": 68 if subdir != "":
@@ -114,7 +114,7 @@ class Git(Fetch):
114 114
115 os.chdir(ud.clonedir) 115 os.chdir(ud.clonedir)
116 mirror_tarballs = data.getVar("BB_GENERATE_MIRROR_TARBALLS", d, True) 116 mirror_tarballs = data.getVar("BB_GENERATE_MIRROR_TARBALLS", d, True)
117 if mirror_tarballs != "0" or 'fullclone' in ud.parm: 117 if mirror_tarballs != "0" or 'fullclone' in ud.parm:
118 bb.msg.note(1, bb.msg.domain.Fetcher, "Creating tarball of git repository") 118 bb.msg.note(1, bb.msg.domain.Fetcher, "Creating tarball of git repository")
119 runfetchcmd("tar -czf %s %s" % (repofile, os.path.join(".", ".git", "*") ), d) 119 runfetchcmd("tar -czf %s %s" % (repofile, os.path.join(".", ".git", "*") ), d)
120 120
@@ -188,7 +188,7 @@ class Git(Fetch):
188 188
189 def _sortable_buildindex_disabled(self, url, ud, d, rev): 189 def _sortable_buildindex_disabled(self, url, ud, d, rev):
190 """ 190 """
191 Return a suitable buildindex for the revision specified. This is done by counting revisions 191 Return a suitable buildindex for the revision specified. This is done by counting revisions
192 using "git rev-list" which may or may not work in different circumstances. 192 using "git rev-list" which may or may not work in different circumstances.
193 """ 193 """
194 194
@@ -197,7 +197,7 @@ class Git(Fetch):
197 # Check if we have the rev already 197 # Check if we have the rev already
198 198
199 if not os.path.exists(ud.clonedir): 199 if not os.path.exists(ud.clonedir):
200 print "no repo" 200 print("no repo")
201 self.go(None, ud, d) 201 self.go(None, ud, d)
202 if not os.path.exists(ud.clonedir): 202 if not os.path.exists(ud.clonedir):
203 bb.msg.error(bb.msg.domain.Fetcher, "GIT repository for %s doesn't exist in %s, cannot get sortable buildnumber, using old value" % (url, ud.clonedir)) 203 bb.msg.error(bb.msg.domain.Fetcher, "GIT repository for %s doesn't exist in %s, cannot get sortable buildnumber, using old value" % (url, ud.clonedir))
@@ -213,5 +213,4 @@ class Git(Fetch):
213 213
214 buildindex = "%s" % output.split()[0] 214 buildindex = "%s" % output.split()[0]
215 bb.msg.debug(1, bb.msg.domain.Fetcher, "GIT repository for %s in %s is returning %s revisions in rev-list before %s" % (url, ud.clonedir, buildindex, rev)) 215 bb.msg.debug(1, bb.msg.domain.Fetcher, "GIT repository for %s in %s is returning %s revisions in rev-list before %s" % (url, ud.clonedir, buildindex, rev))
216 return buildindex 216 return buildindex
217
diff --git a/bitbake/lib/bb/fetch/hg.py b/bitbake/lib/bb/fetch/hg.py
index d0756382f8..efb3b5c76d 100644
--- a/bitbake/lib/bb/fetch/hg.py
+++ b/bitbake/lib/bb/fetch/hg.py
@@ -134,9 +134,9 @@ class Hg(Fetch):
134 os.chdir(ud.pkgdir) 134 os.chdir(ud.pkgdir)
135 bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % fetchcmd) 135 bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % fetchcmd)
136 runfetchcmd(fetchcmd, d) 136 runfetchcmd(fetchcmd, d)
137 137
138 # Even when we clone (fetch), we still need to update as hg's clone 138 # Even when we clone (fetch), we still need to update as hg's clone
139 # won't checkout the specified revision if its on a branch 139 # won't checkout the specified revision if its on a branch
140 updatecmd = self._buildhgcommand(ud, d, "update") 140 updatecmd = self._buildhgcommand(ud, d, "update")
141 bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % updatecmd) 141 bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % updatecmd)
142 runfetchcmd(updatecmd, d) 142 runfetchcmd(updatecmd, d)
@@ -170,4 +170,3 @@ class Hg(Fetch):
170 Return a unique key for the url 170 Return a unique key for the url
171 """ 171 """
172 return "hg:" + ud.moddir 172 return "hg:" + ud.moddir
173
diff --git a/bitbake/lib/bb/fetch/local.py b/bitbake/lib/bb/fetch/local.py
index f9bdf589cb..882a2c4602 100644
--- a/bitbake/lib/bb/fetch/local.py
+++ b/bitbake/lib/bb/fetch/local.py
@@ -27,6 +27,7 @@ BitBake build tools.
27 27
28import os 28import os
29import bb 29import bb
30import bb.utils
30from bb import data 31from bb import data
31from bb.fetch import Fetch 32from bb.fetch import Fetch
32 33
@@ -47,7 +48,7 @@ class Local(Fetch):
47 if path[0] != "/": 48 if path[0] != "/":
48 filespath = data.getVar('FILESPATH', d, 1) 49 filespath = data.getVar('FILESPATH', d, 1)
49 if filespath: 50 if filespath:
50 newpath = bb.which(filespath, path) 51 newpath = bb.utils.which(filespath, path)
51 if not newpath: 52 if not newpath:
52 filesdir = data.getVar('FILESDIR', d, 1) 53 filesdir = data.getVar('FILESDIR', d, 1)
53 if filesdir: 54 if filesdir:
@@ -65,8 +66,8 @@ class Local(Fetch):
65 Check the status of the url 66 Check the status of the url
66 """ 67 """
67 if urldata.localpath.find("*") != -1: 68 if urldata.localpath.find("*") != -1:
68 bb.msg.note(1, bb.msg.domain.Fetcher, "URL %s looks like a glob and was therefore not checked." % url) 69 bb.msg.note(1, bb.msg.domain.Fetcher, "URL %s looks like a glob and was therefore not checked." % url)
69 return True 70 return True
70 if os.path.exists(urldata.localpath): 71 if os.path.exists(urldata.localpath):
71 return True 72 return True
72 return False 73 return False
diff --git a/bitbake/lib/bb/fetch/osc.py b/bitbake/lib/bb/fetch/osc.py
index 548dd9d074..ed773939b0 100644
--- a/bitbake/lib/bb/fetch/osc.py
+++ b/bitbake/lib/bb/fetch/osc.py
@@ -16,7 +16,7 @@ from bb.fetch import MissingParameterError
16from bb.fetch import runfetchcmd 16from bb.fetch import runfetchcmd
17 17
18class Osc(Fetch): 18class Osc(Fetch):
19 """Class to fetch a module or modules from Opensuse build server 19 """Class to fetch a module or modules from Opensuse build server
20 repositories.""" 20 repositories."""
21 21
22 def supports(self, url, ud, d): 22 def supports(self, url, ud, d):
@@ -64,7 +64,7 @@ class Osc(Fetch):
64 proto = "ocs" 64 proto = "ocs"
65 if "proto" in ud.parm: 65 if "proto" in ud.parm:
66 proto = ud.parm["proto"] 66 proto = ud.parm["proto"]
67 67
68 options = [] 68 options = []
69 69
70 config = "-c %s" % self.generate_config(ud, d) 70 config = "-c %s" % self.generate_config(ud, d)
@@ -108,7 +108,7 @@ class Osc(Fetch):
108 os.chdir(ud.pkgdir) 108 os.chdir(ud.pkgdir)
109 bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % oscfetchcmd) 109 bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % oscfetchcmd)
110 runfetchcmd(oscfetchcmd, d) 110 runfetchcmd(oscfetchcmd, d)
111 111
112 os.chdir(os.path.join(ud.pkgdir + ud.path)) 112 os.chdir(os.path.join(ud.pkgdir + ud.path))
113 # tar them up to a defined filename 113 # tar them up to a defined filename
114 try: 114 try:
@@ -131,7 +131,7 @@ class Osc(Fetch):
131 131
132 config_path = "%s/oscrc" % data.expand('${OSCDIR}', d) 132 config_path = "%s/oscrc" % data.expand('${OSCDIR}', d)
133 if (os.path.exists(config_path)): 133 if (os.path.exists(config_path)):
134 os.remove(config_path) 134 os.remove(config_path)
135 135
136 f = open(config_path, 'w') 136 f = open(config_path, 'w')
137 f.write("[general]\n") 137 f.write("[general]\n")
@@ -146,5 +146,5 @@ class Osc(Fetch):
146 f.write("user = %s\n" % ud.parm["user"]) 146 f.write("user = %s\n" % ud.parm["user"])
147 f.write("pass = %s\n" % ud.parm["pswd"]) 147 f.write("pass = %s\n" % ud.parm["pswd"])
148 f.close() 148 f.close()
149 149
150 return config_path 150 return config_path
diff --git a/bitbake/lib/bb/fetch/perforce.py b/bitbake/lib/bb/fetch/perforce.py
index e2c3421089..1c74cff349 100644
--- a/bitbake/lib/bb/fetch/perforce.py
+++ b/bitbake/lib/bb/fetch/perforce.py
@@ -25,6 +25,7 @@ BitBake build tools.
25# 25#
26# Based on functions from the base bb module, Copyright 2003 Holger Schurig 26# Based on functions from the base bb module, Copyright 2003 Holger Schurig
27 27
28from future_builtins import zip
28import os 29import os
29import bb 30import bb
30from bb import data 31from bb import data
@@ -35,15 +36,15 @@ class Perforce(Fetch):
35 def supports(self, url, ud, d): 36 def supports(self, url, ud, d):
36 return ud.type in ['p4'] 37 return ud.type in ['p4']
37 38
38 def doparse(url,d): 39 def doparse(url, d):
39 parm = {} 40 parm = {}
40 path = url.split("://")[1] 41 path = url.split("://")[1]
41 delim = path.find("@"); 42 delim = path.find("@");
42 if delim != -1: 43 if delim != -1:
43 (user,pswd,host,port) = path.split('@')[0].split(":") 44 (user, pswd, host, port) = path.split('@')[0].split(":")
44 path = path.split('@')[1] 45 path = path.split('@')[1]
45 else: 46 else:
46 (host,port) = data.getVar('P4PORT', d).split(':') 47 (host, port) = data.getVar('P4PORT', d).split(':')
47 user = "" 48 user = ""
48 pswd = "" 49 pswd = ""
49 50
@@ -53,19 +54,19 @@ class Perforce(Fetch):
53 plist = path.split(';') 54 plist = path.split(';')
54 for item in plist: 55 for item in plist:
55 if item.count('='): 56 if item.count('='):
56 (key,value) = item.split('=') 57 (key, value) = item.split('=')
57 keys.append(key) 58 keys.append(key)
58 values.append(value) 59 values.append(value)
59 60
60 parm = dict(zip(keys,values)) 61 parm = dict(zip(keys, values))
61 path = "//" + path.split(';')[0] 62 path = "//" + path.split(';')[0]
62 host += ":%s" % (port) 63 host += ":%s" % (port)
63 parm["cset"] = Perforce.getcset(d, path, host, user, pswd, parm) 64 parm["cset"] = Perforce.getcset(d, path, host, user, pswd, parm)
64 65
65 return host,path,user,pswd,parm 66 return host, path, user, pswd, parm
66 doparse = staticmethod(doparse) 67 doparse = staticmethod(doparse)
67 68
68 def getcset(d, depot,host,user,pswd,parm): 69 def getcset(d, depot, host, user, pswd, parm):
69 p4opt = "" 70 p4opt = ""
70 if "cset" in parm: 71 if "cset" in parm:
71 return parm["cset"]; 72 return parm["cset"];
@@ -95,9 +96,9 @@ class Perforce(Fetch):
95 return cset.split(' ')[1] 96 return cset.split(' ')[1]
96 getcset = staticmethod(getcset) 97 getcset = staticmethod(getcset)
97 98
98 def localpath(self, url, ud, d): 99 def localpath(self, url, ud, d):
99 100
100 (host,path,user,pswd,parm) = Perforce.doparse(url,d) 101 (host, path, user, pswd, parm) = Perforce.doparse(url, d)
101 102
102 # If a label is specified, we use that as our filename 103 # If a label is specified, we use that as our filename
103 104
@@ -115,7 +116,7 @@ class Perforce(Fetch):
115 116
116 cset = Perforce.getcset(d, path, host, user, pswd, parm) 117 cset = Perforce.getcset(d, path, host, user, pswd, parm)
117 118
118 ud.localfile = data.expand('%s+%s+%s.tar.gz' % (host,base.replace('/', '.'), cset), d) 119 ud.localfile = data.expand('%s+%s+%s.tar.gz' % (host, base.replace('/', '.'), cset), d)
119 120
120 return os.path.join(data.getVar("DL_DIR", d, 1), ud.localfile) 121 return os.path.join(data.getVar("DL_DIR", d, 1), ud.localfile)
121 122
@@ -124,7 +125,7 @@ class Perforce(Fetch):
124 Fetch urls 125 Fetch urls
125 """ 126 """
126 127
127 (host,depot,user,pswd,parm) = Perforce.doparse(loc, d) 128 (host, depot, user, pswd, parm) = Perforce.doparse(loc, d)
128 129
129 if depot.find('/...') != -1: 130 if depot.find('/...') != -1:
130 path = depot[:depot.find('/...')] 131 path = depot[:depot.find('/...')]
@@ -160,14 +161,14 @@ class Perforce(Fetch):
160 tmppipe = os.popen(data.getVar('MKTEMPDIRCMD', localdata, 1) or "false") 161 tmppipe = os.popen(data.getVar('MKTEMPDIRCMD', localdata, 1) or "false")
161 tmpfile = tmppipe.readline().strip() 162 tmpfile = tmppipe.readline().strip()
162 if not tmpfile: 163 if not tmpfile:
163 bb.error("Fetch: unable to create temporary directory.. make sure 'mktemp' is in the PATH.") 164 bb.msg.error(bb.msg.domain.Fetcher, "Fetch: unable to create temporary directory.. make sure 'mktemp' is in the PATH.")
164 raise FetchError(module) 165 raise FetchError(module)
165 166
166 if "label" in parm: 167 if "label" in parm:
167 depot = "%s@%s" % (depot,parm["label"]) 168 depot = "%s@%s" % (depot, parm["label"])
168 else: 169 else:
169 cset = Perforce.getcset(d, depot, host, user, pswd, parm) 170 cset = Perforce.getcset(d, depot, host, user, pswd, parm)
170 depot = "%s@%s" % (depot,cset) 171 depot = "%s@%s" % (depot, cset)
171 172
172 os.chdir(tmpfile) 173 os.chdir(tmpfile)
173 bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc) 174 bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc)
@@ -175,12 +176,12 @@ class Perforce(Fetch):
175 p4file = os.popen("%s%s files %s" % (p4cmd, p4opt, depot)) 176 p4file = os.popen("%s%s files %s" % (p4cmd, p4opt, depot))
176 177
177 if not p4file: 178 if not p4file:
178 bb.error("Fetch: unable to get the P4 files from %s" % (depot)) 179 bb.msg.error(bb.msg.domain.Fetcher, "Fetch: unable to get the P4 files from %s" % (depot))
179 raise FetchError(module) 180 raise FetchError(module)
180 181
181 count = 0 182 count = 0
182 183
183 for file in p4file: 184 for file in p4file:
184 list = file.split() 185 list = file.split()
185 186
186 if list[2] == "delete": 187 if list[2] == "delete":
@@ -189,11 +190,11 @@ class Perforce(Fetch):
189 dest = list[0][len(path)+1:] 190 dest = list[0][len(path)+1:]
190 where = dest.find("#") 191 where = dest.find("#")
191 192
192 os.system("%s%s print -o %s/%s %s" % (p4cmd, p4opt, module,dest[:where],list[0])) 193 os.system("%s%s print -o %s/%s %s" % (p4cmd, p4opt, module, dest[:where], list[0]))
193 count = count + 1 194 count = count + 1
194 195
195 if count == 0: 196 if count == 0:
196 bb.error("Fetch: No files gathered from the P4 fetch") 197 bb.msg.error(bb.msg.domain.Fetcher, "Fetch: No files gathered from the P4 fetch")
197 raise FetchError(module) 198 raise FetchError(module)
198 199
199 myret = os.system("tar -czf %s %s" % (ud.localpath, module)) 200 myret = os.system("tar -czf %s %s" % (ud.localpath, module))
@@ -205,5 +206,3 @@ class Perforce(Fetch):
205 raise FetchError(module) 206 raise FetchError(module)
206 # cleanup 207 # cleanup
207 os.system('rm -rf %s' % tmpfile) 208 os.system('rm -rf %s' % tmpfile)
208
209
diff --git a/bitbake/lib/bb/fetch/repo.py b/bitbake/lib/bb/fetch/repo.py
index 34c32fe0bb..883310b019 100644
--- a/bitbake/lib/bb/fetch/repo.py
+++ b/bitbake/lib/bb/fetch/repo.py
@@ -23,11 +23,10 @@ BitBake "Fetch" repo (git) implementation
23# with this program; if not, write to the Free Software Foundation, Inc., 23# with this program; if not, write to the Free Software Foundation, Inc.,
24# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 24# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
25 25
26import os, re 26import os
27import bb 27import bb
28from bb import data 28from bb import data
29from bb.fetch import Fetch 29from bb.fetch import Fetch
30from bb.fetch import FetchError
31from bb.fetch import runfetchcmd 30from bb.fetch import runfetchcmd
32 31
33class Repo(Fetch): 32class Repo(Fetch):
diff --git a/bitbake/lib/bb/fetch/ssh.py b/bitbake/lib/bb/fetch/ssh.py
index 68e6fdb1df..86c76f4e44 100644
--- a/bitbake/lib/bb/fetch/ssh.py
+++ b/bitbake/lib/bb/fetch/ssh.py
@@ -114,5 +114,5 @@ class SSH(Fetch):
114 114
115 (exitstatus, output) = commands.getstatusoutput(cmd) 115 (exitstatus, output) = commands.getstatusoutput(cmd)
116 if exitstatus != 0: 116 if exitstatus != 0:
117 print output 117 print(output)
118 raise FetchError('Unable to fetch %s' % url) 118 raise FetchError('Unable to fetch %s' % url)
diff --git a/bitbake/lib/bb/fetch/svn.py b/bitbake/lib/bb/fetch/svn.py
index ba9f6ab109..375e8df055 100644
--- a/bitbake/lib/bb/fetch/svn.py
+++ b/bitbake/lib/bb/fetch/svn.py
@@ -78,7 +78,7 @@ class Svn(Fetch):
78 ud.revision = rev 78 ud.revision = rev
79 ud.date = "" 79 ud.date = ""
80 else: 80 else:
81 ud.revision = "" 81 ud.revision = ""
82 82
83 ud.localfile = data.expand('%s_%s_%s_%s_%s.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.path.replace('/', '.'), ud.revision, ud.date), d) 83 ud.localfile = data.expand('%s_%s_%s_%s_%s.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.path.replace('/', '.'), ud.revision, ud.date), d)
84 84
diff --git a/bitbake/lib/bb/fetch/wget.py b/bitbake/lib/bb/fetch/wget.py
index ae1c6ad136..dcc58c75e8 100644
--- a/bitbake/lib/bb/fetch/wget.py
+++ b/bitbake/lib/bb/fetch/wget.py
@@ -30,6 +30,8 @@ import bb
30from bb import data 30from bb import data
31from bb.fetch import Fetch 31from bb.fetch import Fetch
32from bb.fetch import FetchError 32from bb.fetch import FetchError
33from bb.fetch import encodeurl, decodeurl
34from bb.fetch import runfetchcmd
33 35
34class Wget(Fetch): 36class Wget(Fetch):
35 """Class to fetch urls via 'wget'""" 37 """Class to fetch urls via 'wget'"""
@@ -37,11 +39,11 @@ class Wget(Fetch):
37 """ 39 """
38 Check to see if a given url can be fetched with wget. 40 Check to see if a given url can be fetched with wget.
39 """ 41 """
40 return ud.type in ['http','https','ftp'] 42 return ud.type in ['http', 'https', 'ftp']
41 43
42 def localpath(self, url, ud, d): 44 def localpath(self, url, ud, d):
43 45
44 url = bb.encodeurl([ud.type, ud.host, ud.path, ud.user, ud.pswd, {}]) 46 url = encodeurl([ud.type, ud.host, ud.path, ud.user, ud.pswd, {}])
45 ud.basename = os.path.basename(ud.path) 47 ud.basename = os.path.basename(ud.path)
46 ud.localfile = data.expand(os.path.basename(url), d) 48 ud.localfile = data.expand(os.path.basename(url), d)
47 49
@@ -60,37 +62,16 @@ class Wget(Fetch):
60 fetchcmd = data.getVar("FETCHCOMMAND", d, 1) 62 fetchcmd = data.getVar("FETCHCOMMAND", d, 1)
61 63
62 uri = uri.split(";")[0] 64 uri = uri.split(";")[0]
63 uri_decoded = list(bb.decodeurl(uri)) 65 uri_decoded = list(decodeurl(uri))
64 uri_type = uri_decoded[0] 66 uri_type = uri_decoded[0]
65 uri_host = uri_decoded[1] 67 uri_host = uri_decoded[1]
66 68
67 bb.msg.note(1, bb.msg.domain.Fetcher, "fetch " + uri)
68 fetchcmd = fetchcmd.replace("${URI}", uri.split(";")[0]) 69 fetchcmd = fetchcmd.replace("${URI}", uri.split(";")[0])
69 fetchcmd = fetchcmd.replace("${FILE}", ud.basename) 70 fetchcmd = fetchcmd.replace("${FILE}", ud.basename)
70 httpproxy = None 71
71 ftpproxy = None 72 bb.msg.note(1, bb.msg.domain.Fetcher, "fetch " + uri)
72 if uri_type == 'http':
73 httpproxy = data.getVar("HTTP_PROXY", d, True)
74 httpproxy_ignore = (data.getVar("HTTP_PROXY_IGNORE", d, True) or "").split()
75 for p in httpproxy_ignore:
76 if uri_host.endswith(p):
77 httpproxy = None
78 break
79 if uri_type == 'ftp':
80 ftpproxy = data.getVar("FTP_PROXY", d, True)
81 ftpproxy_ignore = (data.getVar("HTTP_PROXY_IGNORE", d, True) or "").split()
82 for p in ftpproxy_ignore:
83 if uri_host.endswith(p):
84 ftpproxy = None
85 break
86 if httpproxy:
87 fetchcmd = "http_proxy=" + httpproxy + " " + fetchcmd
88 if ftpproxy:
89 fetchcmd = "ftp_proxy=" + ftpproxy + " " + fetchcmd
90 bb.msg.debug(2, bb.msg.domain.Fetcher, "executing " + fetchcmd) 73 bb.msg.debug(2, bb.msg.domain.Fetcher, "executing " + fetchcmd)
91 ret = os.system(fetchcmd) 74 runfetchcmd(fetchcmd, d)
92 if ret != 0:
93 return False
94 75
95 # Sanity check since wget can pretend it succeed when it didn't 76 # Sanity check since wget can pretend it succeed when it didn't
96 # Also, this used to happen if sourceforge sent us to the mirror page 77 # Also, this used to happen if sourceforge sent us to the mirror page
diff --git a/bitbake/lib/bb/methodpool.py b/bitbake/lib/bb/methodpool.py
index f43c4a0580..1485b1357d 100644
--- a/bitbake/lib/bb/methodpool.py
+++ b/bitbake/lib/bb/methodpool.py
@@ -27,7 +27,7 @@
27 a method pool to do this task. 27 a method pool to do this task.
28 28
29 This pool will be used to compile and execute the functions. It 29 This pool will be used to compile and execute the functions. It
30 will be smart enough to 30 will be smart enough to
31""" 31"""
32 32
33from bb.utils import better_compile, better_exec 33from bb.utils import better_compile, better_exec
@@ -43,8 +43,8 @@ def insert_method(modulename, code, fn):
43 Add code of a module should be added. The methods 43 Add code of a module should be added. The methods
44 will be simply added, no checking will be done 44 will be simply added, no checking will be done
45 """ 45 """
46 comp = better_compile(code, "<bb>", fn ) 46 comp = better_compile(code, modulename, fn )
47 better_exec(comp, __builtins__, code, fn) 47 better_exec(comp, None, code, fn)
48 48
49 # now some instrumentation 49 # now some instrumentation
50 code = comp.co_names 50 code = comp.co_names
@@ -59,7 +59,7 @@ def insert_method(modulename, code, fn):
59def check_insert_method(modulename, code, fn): 59def check_insert_method(modulename, code, fn):
60 """ 60 """
61 Add the code if it wasnt added before. The module 61 Add the code if it wasnt added before. The module
62 name will be used for that 62 name will be used for that
63 63
64 Variables: 64 Variables:
65 @modulename a short name e.g. base.bbclass 65 @modulename a short name e.g. base.bbclass
@@ -81,4 +81,4 @@ def get_parsed_dict():
81 """ 81 """
82 shortcut 82 shortcut
83 """ 83 """
84 return _parsed_methods 84 return _parsed_methods
diff --git a/bitbake/lib/bb/msg.py b/bitbake/lib/bb/msg.py
index 3fcf7091be..cea5efb5a4 100644
--- a/bitbake/lib/bb/msg.py
+++ b/bitbake/lib/bb/msg.py
@@ -22,26 +22,32 @@ Message handling infrastructure for bitbake
22# with this program; if not, write to the Free Software Foundation, Inc., 22# with this program; if not, write to the Free Software Foundation, Inc.,
23# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 23# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24 24
25import sys, bb 25import sys
26from bb import event 26import collections
27 27import bb
28debug_level = {} 28import bb.event
29 29
30debug_level = collections.defaultdict(lambda: 0)
30verbose = False 31verbose = False
31 32
32domain = bb.utils.Enum( 33def _NamedTuple(name, fields):
33 'Build', 34 Tuple = collections.namedtuple(name, " ".join(fields))
34 'Cache', 35 return Tuple(*range(len(fields)))
35 'Collection', 36
36 'Data', 37domain = _NamedTuple("Domain", (
37 'Depends', 38 "Default",
38 'Fetcher', 39 "Build",
39 'Parsing', 40 "Cache",
40 'PersistData', 41 "Collection",
41 'Provider', 42 "Data",
42 'RunQueue', 43 "Depends",
43 'TaskData', 44 "Fetcher",
44 'Util') 45 "Parsing",
46 "PersistData",
47 "Provider",
48 "RunQueue",
49 "TaskData",
50 "Util"))
45 51
46 52
47class MsgBase(bb.event.Event): 53class MsgBase(bb.event.Event):
@@ -49,7 +55,7 @@ class MsgBase(bb.event.Event):
49 55
50 def __init__(self, msg): 56 def __init__(self, msg):
51 self._message = msg 57 self._message = msg
52 event.Event.__init__(self) 58 bb.event.Event.__init__(self)
53 59
54class MsgDebug(MsgBase): 60class MsgDebug(MsgBase):
55 """Debug Message""" 61 """Debug Message"""
@@ -74,52 +80,62 @@ class MsgPlain(MsgBase):
74# 80#
75 81
76def set_debug_level(level): 82def set_debug_level(level):
77 bb.msg.debug_level = {} 83 for d in domain:
78 for domain in bb.msg.domain: 84 debug_level[d] = level
79 bb.msg.debug_level[domain] = level 85 debug_level[domain.Default] = level
80 bb.msg.debug_level['default'] = level 86
87def get_debug_level(msgdomain = domain.Default):
88 return debug_level[msgdomain]
81 89
82def set_verbose(level): 90def set_verbose(level):
83 bb.msg.verbose = level 91 verbose = level
84 92
85def set_debug_domains(domains): 93def set_debug_domains(strdomains):
86 for domain in domains: 94 for domainstr in strdomains:
87 found = False 95 for d in domain:
88 for ddomain in bb.msg.domain: 96 if domain._fields[d] == domainstr:
89 if domain == str(ddomain): 97 debug_level[d] += 1
90 bb.msg.debug_level[ddomain] = bb.msg.debug_level[ddomain] + 1 98 break
91 found = True 99 else:
92 if not found: 100 warn(None, "Logging domain %s is not valid, ignoring" % domainstr)
93 bb.msg.warn(None, "Logging domain %s is not valid, ignoring" % domain)
94 101
95# 102#
96# Message handling functions 103# Message handling functions
97# 104#
98 105
99def debug(level, domain, msg, fn = None): 106def debug(level, msgdomain, msg, fn = None):
100 if not domain: 107 if not msgdomain:
101 domain = 'default' 108 msgdomain = domain.Default
102 if debug_level[domain] >= level: 109
110 if debug_level[msgdomain] >= level:
103 bb.event.fire(MsgDebug(msg), None) 111 bb.event.fire(MsgDebug(msg), None)
112 if not bb.event._ui_handlers:
113 print('DEBUG: ' + msg)
114
115def note(level, msgdomain, msg, fn = None):
116 if not msgdomain:
117 msgdomain = domain.Default
104 118
105def note(level, domain, msg, fn = None): 119 if level == 1 or verbose or debug_level[msgdomain] >= 1:
106 if not domain:
107 domain = 'default'
108 if level == 1 or verbose or debug_level[domain] >= 1:
109 bb.event.fire(MsgNote(msg), None) 120 bb.event.fire(MsgNote(msg), None)
121 if not bb.event._ui_handlers:
122 print('NOTE: ' + msg)
110 123
111def warn(domain, msg, fn = None): 124def warn(msgdomain, msg, fn = None):
112 bb.event.fire(MsgWarn(msg), None) 125 bb.event.fire(MsgWarn(msg), None)
126 if not bb.event._ui_handlers:
127 print('WARNING: ' + msg)
113 128
114def error(domain, msg, fn = None): 129def error(msgdomain, msg, fn = None):
115 bb.event.fire(MsgError(msg), None) 130 bb.event.fire(MsgError(msg), None)
116 print 'ERROR: ' + msg 131 print 'ERROR: ' + msg
117 132
118def fatal(domain, msg, fn = None): 133def fatal(msgdomain, msg, fn = None):
119 bb.event.fire(MsgFatal(msg), None) 134 bb.event.fire(MsgFatal(msg), None)
120 print 'FATAL: ' + msg 135 print('FATAL: ' + msg)
121 sys.exit(1) 136 sys.exit(1)
122 137
123def plain(msg, fn = None): 138def plain(msg, fn = None):
124 bb.event.fire(MsgPlain(msg), None) 139 bb.event.fire(MsgPlain(msg), None)
125 140 if not bb.event._ui_handlers:
141 print(msg)
diff --git a/bitbake/lib/bb/parse/__init__.py b/bitbake/lib/bb/parse/__init__.py
index 2a7897cdf2..95f372b00b 100644
--- a/bitbake/lib/bb/parse/__init__.py
+++ b/bitbake/lib/bb/parse/__init__.py
@@ -24,11 +24,10 @@ File parsers for the BitBake build tools.
24# 24#
25# Based on functions from the base bb module, Copyright 2003 Holger Schurig 25# Based on functions from the base bb module, Copyright 2003 Holger Schurig
26 26
27__all__ = [ 'ParseError', 'SkipPackage', 'cached_mtime', 'mark_dependency',
28 'supports', 'handle', 'init' ]
29handlers = [] 27handlers = []
30 28
31import bb, os 29import bb, os
30import bb.utils
32 31
33class ParseError(Exception): 32class ParseError(Exception):
34 """Exception raised when parsing fails""" 33 """Exception raised when parsing fails"""
@@ -38,12 +37,12 @@ class SkipPackage(Exception):
38 37
39__mtime_cache = {} 38__mtime_cache = {}
40def cached_mtime(f): 39def cached_mtime(f):
41 if not __mtime_cache.has_key(f): 40 if f not in __mtime_cache:
42 __mtime_cache[f] = os.stat(f)[8] 41 __mtime_cache[f] = os.stat(f)[8]
43 return __mtime_cache[f] 42 return __mtime_cache[f]
44 43
45def cached_mtime_noerror(f): 44def cached_mtime_noerror(f):
46 if not __mtime_cache.has_key(f): 45 if f not in __mtime_cache:
47 try: 46 try:
48 __mtime_cache[f] = os.stat(f)[8] 47 __mtime_cache[f] = os.stat(f)[8]
49 except OSError: 48 except OSError:
@@ -57,8 +56,8 @@ def update_mtime(f):
57def mark_dependency(d, f): 56def mark_dependency(d, f):
58 if f.startswith('./'): 57 if f.startswith('./'):
59 f = "%s/%s" % (os.getcwd(), f[2:]) 58 f = "%s/%s" % (os.getcwd(), f[2:])
60 deps = bb.data.getVar('__depends', d) or [] 59 deps = bb.data.getVar('__depends', d) or set()
61 deps.append( (f, cached_mtime(f)) ) 60 deps.update([(f, cached_mtime(f))])
62 bb.data.setVar('__depends', deps, d) 61 bb.data.setVar('__depends', deps, d)
63 62
64def supports(fn, data): 63def supports(fn, data):
@@ -82,9 +81,11 @@ def init(fn, data):
82 81
83def resolve_file(fn, d): 82def resolve_file(fn, d):
84 if not os.path.isabs(fn): 83 if not os.path.isabs(fn):
85 fn = bb.which(bb.data.getVar("BBPATH", d, 1), fn) 84 bbpath = bb.data.getVar("BBPATH", d, True)
86 if not fn: 85 newfn = bb.which(bbpath, fn)
87 raise IOError("file %s not found" % fn) 86 if not newfn:
87 raise IOError("file %s not found in %s" % (fn, bbpath))
88 fn = newfn
88 89
89 bb.msg.debug(2, bb.msg.domain.Parsing, "LOAD %s" % fn) 90 bb.msg.debug(2, bb.msg.domain.Parsing, "LOAD %s" % fn)
90 return fn 91 return fn
diff --git a/bitbake/lib/bb/parse/ast.py b/bitbake/lib/bb/parse/ast.py
index 59aa44bee0..dae2e11154 100644
--- a/bitbake/lib/bb/parse/ast.py
+++ b/bitbake/lib/bb/parse/ast.py
@@ -21,8 +21,11 @@
21# with this program; if not, write to the Free Software Foundation, Inc., 21# with this program; if not, write to the Free Software Foundation, Inc.,
22# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23 23
24from __future__ import absolute_import
25from future_builtins import filter
24import bb, re, string 26import bb, re, string
25from itertools import chain 27from bb import methodpool
28import itertools
26 29
27__word__ = re.compile(r"\S+") 30__word__ = re.compile(r"\S+")
28__parsed_methods__ = bb.methodpool.get_parsed_dict() 31__parsed_methods__ = bb.methodpool.get_parsed_dict()
@@ -30,7 +33,8 @@ _bbversions_re = re.compile(r"\[(?P<from>[0-9]+)-(?P<to>[0-9]+)\]")
30 33
31class StatementGroup(list): 34class StatementGroup(list):
32 def eval(self, data): 35 def eval(self, data):
33 map(lambda x: x.eval(data), self) 36 for statement in self:
37 statement.eval(data)
34 38
35class AstNode(object): 39class AstNode(object):
36 pass 40 pass
@@ -103,7 +107,6 @@ class DataNode(AstNode):
103 val = groupd["value"] 107 val = groupd["value"]
104 108
105 if 'flag' in groupd and groupd['flag'] != None: 109 if 'flag' in groupd and groupd['flag'] != None:
106 bb.msg.debug(3, bb.msg.domain.Parsing, "setVarFlag(%s, %s, %s, data)" % (key, groupd['flag'], val))
107 bb.data.setVarFlag(key, groupd['flag'], val, data) 110 bb.data.setVarFlag(key, groupd['flag'], val, data)
108 elif groupd["lazyques"]: 111 elif groupd["lazyques"]:
109 assigned = bb.data.getVar("__lazy_assigned", data) or [] 112 assigned = bb.data.getVar("__lazy_assigned", data) or []
@@ -143,7 +146,7 @@ class PythonMethodNode(AstNode):
143 # Note we will add root to parsedmethods after having parse 146 # Note we will add root to parsedmethods after having parse
144 # 'this' file. This means we will not parse methods from 147 # 'this' file. This means we will not parse methods from
145 # bb classes twice 148 # bb classes twice
146 if not self.root in __parsed_methods__: 149 if not bb.methodpool.parsed_module(self.root):
147 text = '\n'.join(self.body) 150 text = '\n'.join(self.body)
148 bb.methodpool.insert_method(self.root, text, self.fn) 151 bb.methodpool.insert_method(self.root, text, self.fn)
149 152
@@ -254,7 +257,7 @@ class InheritNode(AstNode):
254 257
255 def eval(self, data): 258 def eval(self, data):
256 bb.parse.BBHandler.inherit(self.n, data) 259 bb.parse.BBHandler.inherit(self.n, data)
257 260
258def handleInclude(statements, m, fn, lineno, force): 261def handleInclude(statements, m, fn, lineno, force):
259 statements.append(IncludeNode(m.group(1), fn, lineno, force)) 262 statements.append(IncludeNode(m.group(1), fn, lineno, force))
260 263
@@ -293,7 +296,7 @@ def handleInherit(statements, m):
293 n = __word__.findall(files) 296 n = __word__.findall(files)
294 statements.append(InheritNode(m.group(1))) 297 statements.append(InheritNode(m.group(1)))
295 298
296def finalise(fn, d): 299def finalize(fn, d):
297 for lazykey in bb.data.getVar("__lazy_assigned", d) or (): 300 for lazykey in bb.data.getVar("__lazy_assigned", d) or ():
298 if bb.data.getVar(lazykey, d) is None: 301 if bb.data.getVar(lazykey, d) is None:
299 val = bb.data.getVarFlag(lazykey, "defaultval", d) 302 val = bb.data.getVarFlag(lazykey, "defaultval", d)
@@ -301,35 +304,16 @@ def finalise(fn, d):
301 304
302 bb.data.expandKeys(d) 305 bb.data.expandKeys(d)
303 bb.data.update_data(d) 306 bb.data.update_data(d)
304 anonqueue = bb.data.getVar("__anonqueue", d, 1) or [] 307 code = []
305 body = [x['content'] for x in anonqueue] 308 for funcname in bb.data.getVar("__BBANONFUNCS", d) or []:
306 flag = { 'python' : 1, 'func' : 1 } 309 code.append("%s(d)" % funcname)
307 bb.data.setVar("__anonfunc", "\n".join(body), d) 310 bb.utils.simple_exec("\n".join(code), {"d": d})
308 bb.data.setVarFlags("__anonfunc", flag, d)
309 from bb import build
310 try:
311 t = bb.data.getVar('T', d)
312 bb.data.setVar('T', '${TMPDIR}/anonfunc/', d)
313 anonfuncs = bb.data.getVar('__BBANONFUNCS', d) or []
314 code = ""
315 for f in anonfuncs:
316 code = code + " %s(d)\n" % f
317 bb.data.setVar("__anonfunc", code, d)
318 build.exec_func("__anonfunc", d)
319 bb.data.delVar('T', d)
320 if t:
321 bb.data.setVar('T', t, d)
322 except Exception, e:
323 bb.msg.debug(1, bb.msg.domain.Parsing, "Exception when executing anonymous function: %s" % e)
324 raise
325 bb.data.delVar("__anonqueue", d)
326 bb.data.delVar("__anonfunc", d)
327 bb.data.update_data(d) 311 bb.data.update_data(d)
328 312
329 all_handlers = {} 313 all_handlers = {}
330 for var in bb.data.getVar('__BBHANDLERS', d) or []: 314 for var in bb.data.getVar('__BBHANDLERS', d) or []:
331 # try to add the handler 315 # try to add the handler
332 handler = bb.data.getVar(var,d) 316 handler = bb.data.getVar(var, d)
333 bb.event.register(var, handler) 317 bb.event.register(var, handler)
334 318
335 tasklist = bb.data.getVar('__BBTASKS', d) or [] 319 tasklist = bb.data.getVar('__BBTASKS', d) or []
@@ -360,7 +344,7 @@ def _expand_versions(versions):
360 versions = iter(versions) 344 versions = iter(versions)
361 while True: 345 while True:
362 try: 346 try:
363 version = versions.next() 347 version = next(versions)
364 except StopIteration: 348 except StopIteration:
365 break 349 break
366 350
@@ -370,14 +354,14 @@ def _expand_versions(versions):
370 else: 354 else:
371 newversions = expand_one(version, int(range_ver.group("from")), 355 newversions = expand_one(version, int(range_ver.group("from")),
372 int(range_ver.group("to"))) 356 int(range_ver.group("to")))
373 versions = chain(newversions, versions) 357 versions = itertools.chain(newversions, versions)
374 358
375def multi_finalize(fn, d): 359def multi_finalize(fn, d):
376 safe_d = d 360 safe_d = d
377 361
378 d = bb.data.createCopy(safe_d) 362 d = bb.data.createCopy(safe_d)
379 try: 363 try:
380 finalise(fn, d) 364 finalize(fn, d)
381 except bb.parse.SkipPackage: 365 except bb.parse.SkipPackage:
382 bb.data.setVar("__SKIPPED", True, d) 366 bb.data.setVar("__SKIPPED", True, d)
383 datastores = {"": safe_d} 367 datastores = {"": safe_d}
@@ -420,7 +404,7 @@ def multi_finalize(fn, d):
420 d = bb.data.createCopy(safe_d) 404 d = bb.data.createCopy(safe_d)
421 verfunc(pv, d, safe_d) 405 verfunc(pv, d, safe_d)
422 try: 406 try:
423 finalise(fn, d) 407 finalize(fn, d)
424 except bb.parse.SkipPackage: 408 except bb.parse.SkipPackage:
425 bb.data.setVar("__SKIPPED", True, d) 409 bb.data.setVar("__SKIPPED", True, d)
426 410
@@ -436,15 +420,15 @@ def multi_finalize(fn, d):
436 safe_d.setVar("BBCLASSEXTEND", extended) 420 safe_d.setVar("BBCLASSEXTEND", extended)
437 _create_variants(datastores, extended.split(), extendfunc) 421 _create_variants(datastores, extended.split(), extendfunc)
438 422
439 for variant, variant_d in datastores.items(): 423 for variant, variant_d in datastores.iteritems():
440 if variant: 424 if variant:
441 try: 425 try:
442 finalise(fn, variant_d) 426 finalize(fn, variant_d)
443 except bb.parse.SkipPackage: 427 except bb.parse.SkipPackage:
444 bb.data.setVar("__SKIPPED", True, variant_d) 428 bb.data.setVar("__SKIPPED", True, variant_d)
445 429
446 if len(datastores) > 1: 430 if len(datastores) > 1:
447 variants = filter(None, datastores.keys()) 431 variants = filter(None, datastores.iterkeys())
448 safe_d.setVar("__VARIANTS", " ".join(variants)) 432 safe_d.setVar("__VARIANTS", " ".join(variants))
449 433
450 datastores[""] = d 434 datastores[""] = d
diff --git a/bitbake/lib/bb/parse/parse_py/BBHandler.py b/bitbake/lib/bb/parse/parse_py/BBHandler.py
index 262c883c95..bb56174881 100644
--- a/bitbake/lib/bb/parse/parse_py/BBHandler.py
+++ b/bitbake/lib/bb/parse/parse_py/BBHandler.py
@@ -11,7 +11,7 @@
11 11
12# Copyright (C) 2003, 2004 Chris Larson 12# Copyright (C) 2003, 2004 Chris Larson
13# Copyright (C) 2003, 2004 Phil Blundell 13# Copyright (C) 2003, 2004 Phil Blundell
14# 14#
15# This program is free software; you can redistribute it and/or modify 15# This program is free software; you can redistribute it and/or modify
16# it under the terms of the GNU General Public License version 2 as 16# it under the terms of the GNU General Public License version 2 as
17# published by the Free Software Foundation. 17# published by the Free Software Foundation.
@@ -25,15 +25,17 @@
25# with this program; if not, write to the Free Software Foundation, Inc., 25# with this program; if not, write to the Free Software Foundation, Inc.,
26# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 26# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
27 27
28import re, bb, os, sys, time, string 28from __future__ import absolute_import
29import re, bb, os
29import bb.fetch, bb.build, bb.utils 30import bb.fetch, bb.build, bb.utils
30from bb import data, fetch 31from bb import data
31 32
32from ConfHandler import include, init 33from . import ConfHandler
33from bb.parse import ParseError, resolve_file, ast 34from .. import resolve_file, ast
35from .ConfHandler import include, init
34 36
35# For compatibility 37# For compatibility
36from bb.parse import vars_from_file 38bb.deprecate_import(__name__, "bb.parse", ["vars_from_file"])
37 39
38__func_start_regexp__ = re.compile( r"(((?P<py>python)|(?P<fr>fakeroot))\s*)*(?P<func>[\w\.\-\+\{\}\$]+)?\s*\(\s*\)\s*{$" ) 40__func_start_regexp__ = re.compile( r"(((?P<py>python)|(?P<fr>fakeroot))\s*)*(?P<func>[\w\.\-\+\{\}\$]+)?\s*\(\s*\)\s*{$" )
39__inherit_regexp__ = re.compile( r"inherit\s+(.+)" ) 41__inherit_regexp__ = re.compile( r"inherit\s+(.+)" )
@@ -68,8 +70,8 @@ def inherit(files, d):
68 __inherit_cache = data.getVar('__inherit_cache', d) or [] 70 __inherit_cache = data.getVar('__inherit_cache', d) or []
69 fn = "" 71 fn = ""
70 lineno = 0 72 lineno = 0
71 files = data.expand(files, d)
72 for file in files: 73 for file in files:
74 file = data.expand(file, d)
73 if file[0] != "/" and file[-8:] != ".bbclass": 75 if file[0] != "/" and file[-8:] != ".bbclass":
74 file = os.path.join('classes', '%s.bbclass' % file) 76 file = os.path.join('classes', '%s.bbclass' % file)
75 77
@@ -80,17 +82,17 @@ def inherit(files, d):
80 include(fn, file, d, "inherit") 82 include(fn, file, d, "inherit")
81 __inherit_cache = data.getVar('__inherit_cache', d) or [] 83 __inherit_cache = data.getVar('__inherit_cache', d) or []
82 84
83def get_statements(filename, absolsute_filename, base_name): 85def get_statements(filename, absolute_filename, base_name):
84 global cached_statements 86 global cached_statements
85 87
86 try: 88 try:
87 return cached_statements[absolsute_filename] 89 return cached_statements[absolute_filename]
88 except KeyError: 90 except KeyError:
89 file = open(absolsute_filename, 'r') 91 file = open(absolute_filename, 'r')
90 statements = ast.StatementGroup() 92 statements = ast.StatementGroup()
91 93
92 lineno = 0 94 lineno = 0
93 while 1: 95 while True:
94 lineno = lineno + 1 96 lineno = lineno + 1
95 s = file.readline() 97 s = file.readline()
96 if not s: break 98 if not s: break
@@ -101,7 +103,7 @@ def get_statements(filename, absolsute_filename, base_name):
101 feeder(IN_PYTHON_EOF, "", filename, base_name, statements) 103 feeder(IN_PYTHON_EOF, "", filename, base_name, statements)
102 104
103 if filename.endswith(".bbclass") or filename.endswith(".inc"): 105 if filename.endswith(".bbclass") or filename.endswith(".inc"):
104 cached_statements[absolsute_filename] = statements 106 cached_statements[absolute_filename] = statements
105 return statements 107 return statements
106 108
107def handle(fn, d, include): 109def handle(fn, d, include):
@@ -118,7 +120,7 @@ def handle(fn, d, include):
118 bb.msg.debug(2, bb.msg.domain.Parsing, "BB " + fn + ": handle(data, include)") 120 bb.msg.debug(2, bb.msg.domain.Parsing, "BB " + fn + ": handle(data, include)")
119 121
120 (root, ext) = os.path.splitext(os.path.basename(fn)) 122 (root, ext) = os.path.splitext(os.path.basename(fn))
121 base_name = "%s%s" % (root,ext) 123 base_name = "%s%s" % (root, ext)
122 init(d) 124 init(d)
123 125
124 if ext == ".bbclass": 126 if ext == ".bbclass":
@@ -164,7 +166,7 @@ def handle(fn, d, include):
164 return d 166 return d
165 167
166def feeder(lineno, s, fn, root, statements): 168def feeder(lineno, s, fn, root, statements):
167 global __func_start_regexp__, __inherit_regexp__, __export_func_regexp__, __addtask_regexp__, __addhandler_regexp__, __def_regexp__, __python_func_regexp__, __inpython__,__infunc__, __body__, classes, bb, __residue__ 169 global __func_start_regexp__, __inherit_regexp__, __export_func_regexp__, __addtask_regexp__, __addhandler_regexp__, __def_regexp__, __python_func_regexp__, __inpython__, __infunc__, __body__, classes, bb, __residue__
168 if __infunc__: 170 if __infunc__:
169 if s == '}': 171 if s == '}':
170 __body__.append('') 172 __body__.append('')
@@ -231,10 +233,9 @@ def feeder(lineno, s, fn, root, statements):
231 ast.handleInherit(statements, m) 233 ast.handleInherit(statements, m)
232 return 234 return
233 235
234 from bb.parse import ConfHandler
235 return ConfHandler.feeder(lineno, s, fn, statements) 236 return ConfHandler.feeder(lineno, s, fn, statements)
236 237
237# Add us to the handlers list 238# Add us to the handlers list
238from bb.parse import handlers 239from .. import handlers
239handlers.append({'supports': supports, 'handle': handle, 'init': init}) 240handlers.append({'supports': supports, 'handle': handle, 'init': init})
240del handlers 241del handlers
diff --git a/bitbake/lib/bb/parse/parse_py/ConfHandler.py b/bitbake/lib/bb/parse/parse_py/ConfHandler.py
index f4f85de245..9128a2ef8f 100644
--- a/bitbake/lib/bb/parse/parse_py/ConfHandler.py
+++ b/bitbake/lib/bb/parse/parse_py/ConfHandler.py
@@ -10,7 +10,7 @@
10 10
11# Copyright (C) 2003, 2004 Chris Larson 11# Copyright (C) 2003, 2004 Chris Larson
12# Copyright (C) 2003, 2004 Phil Blundell 12# Copyright (C) 2003, 2004 Phil Blundell
13# 13#
14# This program is free software; you can redistribute it and/or modify 14# This program is free software; you can redistribute it and/or modify
15# it under the terms of the GNU General Public License version 2 as 15# it under the terms of the GNU General Public License version 2 as
16# published by the Free Software Foundation. 16# published by the Free Software Foundation.
@@ -24,7 +24,8 @@
24# with this program; if not, write to the Free Software Foundation, Inc., 24# with this program; if not, write to the Free Software Foundation, Inc.,
25# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 25# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
26 26
27import re, bb.data, os, sys 27import re, bb.data, os
28import bb.utils
28from bb.parse import ParseError, resolve_file, ast 29from bb.parse import ParseError, resolve_file, ast
29 30
30#__config_regexp__ = re.compile( r"(?P<exp>export\s*)?(?P<var>[a-zA-Z0-9\-_+.${}]+)\s*(?P<colon>:)?(?P<ques>\?)?=\s*(?P<apo>['\"]?)(?P<value>.*)(?P=apo)$") 31#__config_regexp__ = re.compile( r"(?P<exp>export\s*)?(?P<var>[a-zA-Z0-9\-_+.${}]+)\s*(?P<colon>:)?(?P<ques>\?)?=\s*(?P<apo>['\"]?)(?P<value>.*)(?P=apo)$")
@@ -36,10 +37,7 @@ __export_regexp__ = re.compile( r"export\s+(.+)" )
36def init(data): 37def init(data):
37 topdir = bb.data.getVar('TOPDIR', data) 38 topdir = bb.data.getVar('TOPDIR', data)
38 if not topdir: 39 if not topdir:
39 topdir = os.getcwd() 40 bb.data.setVar('TOPDIR', os.getcwd(), data)
40 bb.data.setVar('TOPDIR', topdir, data)
41 if not bb.data.getVar('BBPATH', data):
42 bb.fatal("The BBPATH environment variable must be set")
43 41
44 42
45def supports(fn, d): 43def supports(fn, d):
@@ -60,7 +58,7 @@ def include(oldfn, fn, data, error_out):
60 if not os.path.isabs(fn): 58 if not os.path.isabs(fn):
61 dname = os.path.dirname(oldfn) 59 dname = os.path.dirname(oldfn)
62 bbpath = "%s:%s" % (dname, bb.data.getVar("BBPATH", data, 1)) 60 bbpath = "%s:%s" % (dname, bb.data.getVar("BBPATH", data, 1))
63 abs_fn = bb.which(bbpath, fn) 61 abs_fn = bb.utils.which(bbpath, fn)
64 if abs_fn: 62 if abs_fn:
65 fn = abs_fn 63 fn = abs_fn
66 64
@@ -88,7 +86,7 @@ def handle(fn, data, include):
88 86
89 statements = ast.StatementGroup() 87 statements = ast.StatementGroup()
90 lineno = 0 88 lineno = 0
91 while 1: 89 while True:
92 lineno = lineno + 1 90 lineno = lineno + 1
93 s = f.readline() 91 s = f.readline()
94 if not s: break 92 if not s: break
diff --git a/bitbake/lib/bb/parse/parse_py/__init__.py b/bitbake/lib/bb/parse/parse_py/__init__.py
index 9e0e00adda..3e658d0de9 100644
--- a/bitbake/lib/bb/parse/parse_py/__init__.py
+++ b/bitbake/lib/bb/parse/parse_py/__init__.py
@@ -25,9 +25,9 @@ File parsers for the BitBake build tools.
25# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 25# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
26# 26#
27# Based on functions from the base bb module, Copyright 2003 Holger Schurig 27# Based on functions from the base bb module, Copyright 2003 Holger Schurig
28__version__ = '1.0'
29 28
30__all__ = [ 'ConfHandler', 'BBHandler'] 29from __future__ import absolute_import
30from . import ConfHandler
31from . import BBHandler
31 32
32import ConfHandler 33__version__ = '1.0'
33import BBHandler
diff --git a/bitbake/lib/bb/persist_data.py b/bitbake/lib/bb/persist_data.py
index bc4045fe85..df0409cd8a 100644
--- a/bitbake/lib/bb/persist_data.py
+++ b/bitbake/lib/bb/persist_data.py
@@ -16,6 +16,7 @@
16# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 16# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17 17
18import bb, os 18import bb, os
19import bb.utils
19 20
20try: 21try:
21 import sqlite3 22 import sqlite3
@@ -33,58 +34,63 @@ class PersistData:
33 """ 34 """
34 BitBake Persistent Data Store 35 BitBake Persistent Data Store
35 36
36 Used to store data in a central location such that other threads/tasks can 37 Used to store data in a central location such that other threads/tasks can
37 access them at some future date. 38 access them at some future date.
38 39
39 The "domain" is used as a key to isolate each data pool and in this 40 The "domain" is used as a key to isolate each data pool and in this
40 implementation corresponds to an SQL table. The SQL table consists of a 41 implementation corresponds to an SQL table. The SQL table consists of a
41 simple key and value pair. 42 simple key and value pair.
42 43
43 Why sqlite? It handles all the locking issues for us. 44 Why sqlite? It handles all the locking issues for us.
44 """ 45 """
45 def __init__(self, d): 46 def __init__(self, d, persistent_database_connection):
47 if "connection" in persistent_database_connection:
48 self.cursor = persistent_database_connection["connection"].cursor()
49 return
46 self.cachedir = bb.data.getVar("PERSISTENT_DIR", d, True) or bb.data.getVar("CACHE", d, True) 50 self.cachedir = bb.data.getVar("PERSISTENT_DIR", d, True) or bb.data.getVar("CACHE", d, True)
47 if self.cachedir in [None, '']: 51 if self.cachedir in [None, '']:
48 bb.msg.fatal(bb.msg.domain.PersistData, "Please set the 'PERSISTENT_DIR' or 'CACHE' variable.") 52 bb.msg.fatal(bb.msg.domain.PersistData, "Please set the 'PERSISTENT_DIR' or 'CACHE' variable.")
49 try: 53 try:
50 os.stat(self.cachedir) 54 os.stat(self.cachedir)
51 except OSError: 55 except OSError:
52 bb.mkdirhier(self.cachedir) 56 bb.utils.mkdirhier(self.cachedir)
53 57
54 self.cachefile = os.path.join(self.cachedir,"bb_persist_data.sqlite3") 58 self.cachefile = os.path.join(self.cachedir, "bb_persist_data.sqlite3")
55 bb.msg.debug(1, bb.msg.domain.PersistData, "Using '%s' as the persistent data cache" % self.cachefile) 59 bb.msg.debug(1, bb.msg.domain.PersistData, "Using '%s' as the persistent data cache" % self.cachefile)
56 60
57 self.connection = sqlite3.connect(self.cachefile, timeout=5, isolation_level=None) 61 connection = sqlite3.connect(self.cachefile, timeout=5, isolation_level=None)
62 persistent_database_connection["connection"] = connection
63 self.cursor = persistent_database_connection["connection"].cursor()
58 64
59 def addDomain(self, domain): 65 def addDomain(self, domain):
60 """ 66 """
61 Should be called before any domain is used 67 Should be called before any domain is used
62 Creates it if it doesn't exist. 68 Creates it if it doesn't exist.
63 """ 69 """
64 self.connection.execute("CREATE TABLE IF NOT EXISTS %s(key TEXT, value TEXT);" % domain) 70 self.cursor.execute("CREATE TABLE IF NOT EXISTS %s(key TEXT, value TEXT);" % domain)
65 71
66 def delDomain(self, domain): 72 def delDomain(self, domain):
67 """ 73 """
68 Removes a domain and all the data it contains 74 Removes a domain and all the data it contains
69 """ 75 """
70 self.connection.execute("DROP TABLE IF EXISTS %s;" % domain) 76 self.cursor.execute("DROP TABLE IF EXISTS %s;" % domain)
71 77
72 def getKeyValues(self, domain): 78 def getKeyValues(self, domain):
73 """ 79 """
74 Return a list of key + value pairs for a domain 80 Return a list of key + value pairs for a domain
75 """ 81 """
76 ret = {} 82 ret = {}
77 data = self.connection.execute("SELECT key, value from %s;" % domain) 83 data = self.cursor.execute("SELECT key, value from %s;" % domain)
78 for row in data: 84 for row in data:
79 ret[str(row[0])] = str(row[1]) 85 ret[str(row[0])] = str(row[1])
80 86
81 return ret 87 return ret
82 88
83 def getValue(self, domain, key): 89 def getValue(self, domain, key):
84 """ 90 """
85 Return the value of a key for a domain 91 Return the value of a key for a domain
86 """ 92 """
87 data = self.connection.execute("SELECT * from %s where key=?;" % domain, [key]) 93 data = self.cursor.execute("SELECT * from %s where key=?;" % domain, [key])
88 for row in data: 94 for row in data:
89 return row[1] 95 return row[1]
90 96
@@ -92,7 +98,7 @@ class PersistData:
92 """ 98 """
93 Sets the value of a key for a domain 99 Sets the value of a key for a domain
94 """ 100 """
95 data = self.connection.execute("SELECT * from %s where key=?;" % domain, [key]) 101 data = self.cursor.execute("SELECT * from %s where key=?;" % domain, [key])
96 rows = 0 102 rows = 0
97 for row in data: 103 for row in data:
98 rows = rows + 1 104 rows = rows + 1
@@ -108,14 +114,11 @@ class PersistData:
108 self._execute("DELETE from %s where key=?;" % domain, [key]) 114 self._execute("DELETE from %s where key=?;" % domain, [key])
109 115
110 def _execute(self, *query): 116 def _execute(self, *query):
111 while True: 117 while True:
112 try: 118 try:
113 self.connection.execute(*query) 119 self.cursor.execute(*query)
114 return 120 return
115 except sqlite3.OperationalError, e: 121 except sqlite3.OperationalError as e:
116 if 'database is locked' in str(e): 122 if 'database is locked' in str(e):
117 continue 123 continue
118 raise 124 raise
119
120
121
diff --git a/bitbake/lib/bb/providers.py b/bitbake/lib/bb/providers.py
index 058996ba57..58326f0398 100644
--- a/bitbake/lib/bb/providers.py
+++ b/bitbake/lib/bb/providers.py
@@ -62,7 +62,7 @@ def sortPriorities(pn, dataCache, pkg_pn = None):
62def preferredVersionMatch(pe, pv, pr, preferred_e, preferred_v, preferred_r): 62def preferredVersionMatch(pe, pv, pr, preferred_e, preferred_v, preferred_r):
63 """ 63 """
64 Check if the version pe,pv,pr is the preferred one. 64 Check if the version pe,pv,pr is the preferred one.
65 If there is preferred version defined and ends with '%', then pv has to start with that version after removing the '%' 65 If there is preferred version defined and ends with '%', then pv has to start with that version after removing the '%'
66 """ 66 """
67 if (pr == preferred_r or preferred_r == None): 67 if (pr == preferred_r or preferred_r == None):
68 if (pe == preferred_e or preferred_e == None): 68 if (pe == preferred_e or preferred_e == None):
@@ -103,7 +103,7 @@ def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None):
103 103
104 for file_set in pkg_pn: 104 for file_set in pkg_pn:
105 for f in file_set: 105 for f in file_set:
106 pe,pv,pr = dataCache.pkg_pepvpr[f] 106 pe, pv, pr = dataCache.pkg_pepvpr[f]
107 if preferredVersionMatch(pe, pv, pr, preferred_e, preferred_v, preferred_r): 107 if preferredVersionMatch(pe, pv, pr, preferred_e, preferred_v, preferred_r):
108 preferred_file = f 108 preferred_file = f
109 preferred_ver = (pe, pv, pr) 109 preferred_ver = (pe, pv, pr)
@@ -136,7 +136,7 @@ def findLatestProvider(pn, cfgData, dataCache, file_set):
136 latest_p = 0 136 latest_p = 0
137 latest_f = None 137 latest_f = None
138 for file_name in file_set: 138 for file_name in file_set:
139 pe,pv,pr = dataCache.pkg_pepvpr[file_name] 139 pe, pv, pr = dataCache.pkg_pepvpr[file_name]
140 dp = dataCache.pkg_dp[file_name] 140 dp = dataCache.pkg_dp[file_name]
141 141
142 if (latest is None) or ((latest_p == dp) and (utils.vercmp(latest, (pe, pv, pr)) < 0)) or (dp > latest_p): 142 if (latest is None) or ((latest_p == dp) and (utils.vercmp(latest, (pe, pv, pr)) < 0)) or (dp > latest_p):
@@ -169,14 +169,14 @@ def findBestProvider(pn, cfgData, dataCache, pkg_pn = None, item = None):
169 169
170def _filterProviders(providers, item, cfgData, dataCache): 170def _filterProviders(providers, item, cfgData, dataCache):
171 """ 171 """
172 Take a list of providers and filter/reorder according to the 172 Take a list of providers and filter/reorder according to the
173 environment variables and previous build results 173 environment variables and previous build results
174 """ 174 """
175 eligible = [] 175 eligible = []
176 preferred_versions = {} 176 preferred_versions = {}
177 sortpkg_pn = {} 177 sortpkg_pn = {}
178 178
179 # The order of providers depends on the order of the files on the disk 179 # The order of providers depends on the order of the files on the disk
180 # up to here. Sort pkg_pn to make dependency issues reproducible rather 180 # up to here. Sort pkg_pn to make dependency issues reproducible rather
181 # than effectively random. 181 # than effectively random.
182 providers.sort() 182 providers.sort()
@@ -226,7 +226,7 @@ def _filterProviders(providers, item, cfgData, dataCache):
226 226
227def filterProviders(providers, item, cfgData, dataCache): 227def filterProviders(providers, item, cfgData, dataCache):
228 """ 228 """
229 Take a list of providers and filter/reorder according to the 229 Take a list of providers and filter/reorder according to the
230 environment variables and previous build results 230 environment variables and previous build results
231 Takes a "normal" target item 231 Takes a "normal" target item
232 """ 232 """
@@ -254,7 +254,7 @@ def filterProviders(providers, item, cfgData, dataCache):
254 254
255def filterProvidersRunTime(providers, item, cfgData, dataCache): 255def filterProvidersRunTime(providers, item, cfgData, dataCache):
256 """ 256 """
257 Take a list of providers and filter/reorder according to the 257 Take a list of providers and filter/reorder according to the
258 environment variables and previous build results 258 environment variables and previous build results
259 Takes a "runtime" target item 259 Takes a "runtime" target item
260 """ 260 """
@@ -297,7 +297,7 @@ def getRuntimeProviders(dataCache, rdepend):
297 rproviders = [] 297 rproviders = []
298 298
299 if rdepend in dataCache.rproviders: 299 if rdepend in dataCache.rproviders:
300 rproviders += dataCache.rproviders[rdepend] 300 rproviders += dataCache.rproviders[rdepend]
301 301
302 if rdepend in dataCache.packages: 302 if rdepend in dataCache.packages:
303 rproviders += dataCache.packages[rdepend] 303 rproviders += dataCache.packages[rdepend]
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index c5f4380c86..a4aea6c004 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -22,15 +22,15 @@ Handles preparation and execution of a queue of tasks
22# with this program; if not, write to the Free Software Foundation, Inc., 22# with this program; if not, write to the Free Software Foundation, Inc.,
23# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 23# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24 24
25from bb import msg, data, event, mkdirhier, utils
26import bb, os, sys 25import bb, os, sys
26from bb import msg, data, event
27import signal 27import signal
28import stat 28import stat
29import fcntl 29import fcntl
30 30
31class TaskFailure(Exception): 31class TaskFailure(Exception):
32 """Exception raised when a task in a runqueue fails""" 32 """Exception raised when a task in a runqueue fails"""
33 def __init__(self, x): 33 def __init__(self, x):
34 self.args = x 34 self.args = x
35 35
36 36
@@ -60,7 +60,7 @@ class RunQueueStats:
60 def taskActive(self): 60 def taskActive(self):
61 self.active = self.active + 1 61 self.active = self.active + 1
62 62
63# These values indicate the next step due to be run in the 63# These values indicate the next step due to be run in the
64# runQueue state machine 64# runQueue state machine
65runQueuePrepare = 2 65runQueuePrepare = 2
66runQueueRunInit = 3 66runQueueRunInit = 3
@@ -76,7 +76,7 @@ class RunQueueScheduler:
76 """ 76 """
77 def __init__(self, runqueue): 77 def __init__(self, runqueue):
78 """ 78 """
79 The default scheduler just returns the first buildable task (the 79 The default scheduler just returns the first buildable task (the
80 priority map is sorted by task numer) 80 priority map is sorted by task numer)
81 """ 81 """
82 self.rq = runqueue 82 self.rq = runqueue
@@ -109,8 +109,7 @@ class RunQueueSchedulerSpeed(RunQueueScheduler):
109 109
110 self.rq = runqueue 110 self.rq = runqueue
111 111
112 sortweight = deepcopy(self.rq.runq_weight) 112 sortweight = sorted(deepcopy(self.rq.runq_weight))
113 sortweight.sort()
114 copyweight = deepcopy(self.rq.runq_weight) 113 copyweight = deepcopy(self.rq.runq_weight)
115 self.prio_map = [] 114 self.prio_map = []
116 115
@@ -123,10 +122,10 @@ class RunQueueSchedulerSpeed(RunQueueScheduler):
123 122
124class RunQueueSchedulerCompletion(RunQueueSchedulerSpeed): 123class RunQueueSchedulerCompletion(RunQueueSchedulerSpeed):
125 """ 124 """
126 A scheduler optimised to complete .bb files are quickly as possible. The 125 A scheduler optimised to complete .bb files are quickly as possible. The
127 priority map is sorted by task weight, but then reordered so once a given 126 priority map is sorted by task weight, but then reordered so once a given
128 .bb file starts to build, its completed as quickly as possible. This works 127 .bb file starts to build, its completed as quickly as possible. This works
129 well where disk space is at a premium and classes like OE's rm_work are in 128 well where disk space is at a premium and classes like OE's rm_work are in
130 force. 129 force.
131 """ 130 """
132 def __init__(self, runqueue): 131 def __init__(self, runqueue):
@@ -135,7 +134,7 @@ class RunQueueSchedulerCompletion(RunQueueSchedulerSpeed):
135 134
136 #FIXME - whilst this groups all fnids together it does not reorder the 135 #FIXME - whilst this groups all fnids together it does not reorder the
137 #fnid groups optimally. 136 #fnid groups optimally.
138 137
139 basemap = deepcopy(self.prio_map) 138 basemap = deepcopy(self.prio_map)
140 self.prio_map = [] 139 self.prio_map = []
141 while (len(basemap) > 0): 140 while (len(basemap) > 0):
@@ -231,7 +230,7 @@ class RunQueue:
231 if chain1[index] != chain2[index]: 230 if chain1[index] != chain2[index]:
232 return False 231 return False
233 return True 232 return True
234 233
235 def chain_array_contains(chain, chain_array): 234 def chain_array_contains(chain, chain_array):
236 """ 235 """
237 Return True if chain_array contains chain 236 Return True if chain_array contains chain
@@ -286,7 +285,7 @@ class RunQueue:
286 285
287 def calculate_task_weights(self, endpoints): 286 def calculate_task_weights(self, endpoints):
288 """ 287 """
289 Calculate a number representing the "weight" of each task. Heavier weighted tasks 288 Calculate a number representing the "weight" of each task. Heavier weighted tasks
290 have more dependencies and hence should be executed sooner for maximum speed. 289 have more dependencies and hence should be executed sooner for maximum speed.
291 290
292 This function also sanity checks the task list finding tasks that its not 291 This function also sanity checks the task list finding tasks that its not
@@ -307,7 +306,7 @@ class RunQueue:
307 weight[listid] = 1 306 weight[listid] = 1
308 task_done[listid] = True 307 task_done[listid] = True
309 308
310 while 1: 309 while True:
311 next_points = [] 310 next_points = []
312 for listid in endpoints: 311 for listid in endpoints:
313 for revdep in self.runq_depends[listid]: 312 for revdep in self.runq_depends[listid]:
@@ -318,7 +317,7 @@ class RunQueue:
318 task_done[revdep] = True 317 task_done[revdep] = True
319 endpoints = next_points 318 endpoints = next_points
320 if len(next_points) == 0: 319 if len(next_points) == 0:
321 break 320 break
322 321
323 # Circular dependency sanity check 322 # Circular dependency sanity check
324 problem_tasks = [] 323 problem_tasks = []
@@ -345,7 +344,7 @@ class RunQueue:
345 344
346 def prepare_runqueue(self): 345 def prepare_runqueue(self):
347 """ 346 """
348 Turn a set of taskData into a RunQueue and compute data needed 347 Turn a set of taskData into a RunQueue and compute data needed
349 to optimise the execution order. 348 to optimise the execution order.
350 """ 349 """
351 350
@@ -365,12 +364,12 @@ class RunQueue:
365 # Step A - Work out a list of tasks to run 364 # Step A - Work out a list of tasks to run
366 # 365 #
367 # Taskdata gives us a list of possible providers for every build and run 366 # Taskdata gives us a list of possible providers for every build and run
368 # target ordered by priority. It also gives information on each of those 367 # target ordered by priority. It also gives information on each of those
369 # providers. 368 # providers.
370 # 369 #
371 # To create the actual list of tasks to execute we fix the list of 370 # To create the actual list of tasks to execute we fix the list of
372 # providers and then resolve the dependencies into task IDs. This 371 # providers and then resolve the dependencies into task IDs. This
373 # process is repeated for each type of dependency (tdepends, deptask, 372 # process is repeated for each type of dependency (tdepends, deptask,
374 # rdeptast, recrdeptask, idepends). 373 # rdeptast, recrdeptask, idepends).
375 374
376 def add_build_dependencies(depids, tasknames, depends): 375 def add_build_dependencies(depids, tasknames, depends):
@@ -411,12 +410,12 @@ class RunQueue:
411 410
412 if fnid not in taskData.failed_fnids: 411 if fnid not in taskData.failed_fnids:
413 412
414 # Resolve task internal dependencies 413 # Resolve task internal dependencies
415 # 414 #
416 # e.g. addtask before X after Y 415 # e.g. addtask before X after Y
417 depends = taskData.tasks_tdepends[task] 416 depends = taskData.tasks_tdepends[task]
418 417
419 # Resolve 'deptask' dependencies 418 # Resolve 'deptask' dependencies
420 # 419 #
421 # e.g. do_sometask[deptask] = "do_someothertask" 420 # e.g. do_sometask[deptask] = "do_someothertask"
422 # (makes sure sometask runs after someothertask of all DEPENDS) 421 # (makes sure sometask runs after someothertask of all DEPENDS)
@@ -424,7 +423,7 @@ class RunQueue:
424 tasknames = task_deps['deptask'][taskData.tasks_name[task]].split() 423 tasknames = task_deps['deptask'][taskData.tasks_name[task]].split()
425 add_build_dependencies(taskData.depids[fnid], tasknames, depends) 424 add_build_dependencies(taskData.depids[fnid], tasknames, depends)
426 425
427 # Resolve 'rdeptask' dependencies 426 # Resolve 'rdeptask' dependencies
428 # 427 #
429 # e.g. do_sometask[rdeptask] = "do_someothertask" 428 # e.g. do_sometask[rdeptask] = "do_someothertask"
430 # (makes sure sometask runs after someothertask of all RDEPENDS) 429 # (makes sure sometask runs after someothertask of all RDEPENDS)
@@ -432,7 +431,7 @@ class RunQueue:
432 taskname = task_deps['rdeptask'][taskData.tasks_name[task]] 431 taskname = task_deps['rdeptask'][taskData.tasks_name[task]]
433 add_runtime_dependencies(taskData.rdepids[fnid], [taskname], depends) 432 add_runtime_dependencies(taskData.rdepids[fnid], [taskname], depends)
434 433
435 # Resolve inter-task dependencies 434 # Resolve inter-task dependencies
436 # 435 #
437 # e.g. do_sometask[depends] = "targetname:do_someothertask" 436 # e.g. do_sometask[depends] = "targetname:do_someothertask"
438 # (makes sure sometask runs after targetname's someothertask) 437 # (makes sure sometask runs after targetname's someothertask)
@@ -467,8 +466,8 @@ class RunQueue:
467 newdep = [] 466 newdep = []
468 bb.msg.debug(2, bb.msg.domain.RunQueue, "Task %s (%s %s) contains self reference! %s" % (task, taskData.fn_index[taskData.tasks_fnid[task]], taskData.tasks_name[task], depends)) 467 bb.msg.debug(2, bb.msg.domain.RunQueue, "Task %s (%s %s) contains self reference! %s" % (task, taskData.fn_index[taskData.tasks_fnid[task]], taskData.tasks_name[task], depends))
469 for dep in depends: 468 for dep in depends:
470 if task != dep: 469 if task != dep:
471 newdep.append(dep) 470 newdep.append(dep)
472 depends = newdep 471 depends = newdep
473 472
474 self.runq_fnid.append(taskData.tasks_fnid[task]) 473 self.runq_fnid.append(taskData.tasks_fnid[task])
@@ -482,7 +481,7 @@ class RunQueue:
482 # 481 #
483 # Build a list of recursive cumulative dependencies for each fnid 482 # Build a list of recursive cumulative dependencies for each fnid
484 # We do this by fnid, since if A depends on some task in B 483 # We do this by fnid, since if A depends on some task in B
485 # we're interested in later tasks B's fnid might have but B itself 484 # we're interested in later tasks B's fnid might have but B itself
486 # doesn't depend on 485 # doesn't depend on
487 # 486 #
488 # Algorithm is O(tasks) + O(tasks)*O(fnids) 487 # Algorithm is O(tasks) + O(tasks)*O(fnids)
@@ -513,7 +512,7 @@ class RunQueue:
513 if len(runq_recrdepends[task]) > 0: 512 if len(runq_recrdepends[task]) > 0:
514 taskfnid = self.runq_fnid[task] 513 taskfnid = self.runq_fnid[task]
515 for dep in reccumdepends[taskfnid]: 514 for dep in reccumdepends[taskfnid]:
516 # Ignore self references 515 # Ignore self references
517 if dep == task: 516 if dep == task:
518 continue 517 continue
519 for taskname in runq_recrdepends[task]: 518 for taskname in runq_recrdepends[task]:
@@ -631,11 +630,11 @@ class RunQueue:
631 for dep in revdeps: 630 for dep in revdeps:
632 if dep in self.runq_depends[listid]: 631 if dep in self.runq_depends[listid]:
633 #self.dump_data(taskData) 632 #self.dump_data(taskData)
634 bb.msg.fatal(bb.msg.domain.RunQueue, "Task %s (%s) has circular dependency on %s (%s)" % (taskData.fn_index[self.runq_fnid[dep]], self.runq_task[dep] , taskData.fn_index[self.runq_fnid[listid]], self.runq_task[listid])) 633 bb.msg.fatal(bb.msg.domain.RunQueue, "Task %s (%s) has circular dependency on %s (%s)" % (taskData.fn_index[self.runq_fnid[dep]], self.runq_task[dep], taskData.fn_index[self.runq_fnid[listid]], self.runq_task[listid]))
635 634
636 bb.msg.note(2, bb.msg.domain.RunQueue, "Compute totals (have %s endpoint(s))" % len(endpoints)) 635 bb.msg.note(2, bb.msg.domain.RunQueue, "Compute totals (have %s endpoint(s))" % len(endpoints))
637 636
638 # Calculate task weights 637 # Calculate task weights
639 # Check of higher length circular dependencies 638 # Check of higher length circular dependencies
640 self.runq_weight = self.calculate_task_weights(endpoints) 639 self.runq_weight = self.calculate_task_weights(endpoints)
641 640
@@ -657,7 +656,7 @@ class RunQueue:
657 for prov in self.dataCache.fn_provides[fn]: 656 for prov in self.dataCache.fn_provides[fn]:
658 if prov not in prov_list: 657 if prov not in prov_list:
659 prov_list[prov] = [fn] 658 prov_list[prov] = [fn]
660 elif fn not in prov_list[prov]: 659 elif fn not in prov_list[prov]:
661 prov_list[prov].append(fn) 660 prov_list[prov].append(fn)
662 error = False 661 error = False
663 for prov in prov_list: 662 for prov in prov_list:
@@ -703,7 +702,7 @@ class RunQueue:
703 buildable.append(task) 702 buildable.append(task)
704 703
705 def check_buildable(self, task, buildable): 704 def check_buildable(self, task, buildable):
706 for revdep in self.runq_revdeps[task]: 705 for revdep in self.runq_revdeps[task]:
707 alldeps = 1 706 alldeps = 1
708 for dep in self.runq_depends[revdep]: 707 for dep in self.runq_depends[revdep]:
709 if dep in unchecked: 708 if dep in unchecked:
@@ -774,7 +773,7 @@ class RunQueue:
774 #print "Not current: %s" % notcurrent 773 #print "Not current: %s" % notcurrent
775 774
776 if len(unchecked) > 0: 775 if len(unchecked) > 0:
777 bb.fatal("check_stamps fatal internal error") 776 bb.msg.fatal(bb.msg.domain.RunQueue, "check_stamps fatal internal error")
778 return current 777 return current
779 778
780 def check_stamp_task(self, task): 779 def check_stamp_task(self, task):
@@ -811,10 +810,10 @@ class RunQueue:
811 try: 810 try:
812 t2 = os.stat(stampfile2)[stat.ST_MTIME] 811 t2 = os.stat(stampfile2)[stat.ST_MTIME]
813 if t1 < t2: 812 if t1 < t2:
814 bb.msg.debug(2, bb.msg.domain.RunQueue, "Stampfile %s < %s" % (stampfile,stampfile2)) 813 bb.msg.debug(2, bb.msg.domain.RunQueue, "Stampfile %s < %s" % (stampfile, stampfile2))
815 iscurrent = False 814 iscurrent = False
816 except: 815 except:
817 bb.msg.debug(2, bb.msg.domain.RunQueue, "Exception reading %s for %s" % (stampfile2 ,stampfile)) 816 bb.msg.debug(2, bb.msg.domain.RunQueue, "Exception reading %s for %s" % (stampfile2, stampfile))
818 iscurrent = False 817 iscurrent = False
819 818
820 return iscurrent 819 return iscurrent
@@ -852,7 +851,7 @@ class RunQueue:
852 return False 851 return False
853 852
854 if self.state is runQueueChildProcess: 853 if self.state is runQueueChildProcess:
855 print "Child process" 854 print("Child process")
856 return False 855 return False
857 856
858 # Loop 857 # Loop
@@ -885,7 +884,7 @@ class RunQueue:
885 def task_complete(self, task): 884 def task_complete(self, task):
886 """ 885 """
887 Mark a task as completed 886 Mark a task as completed
888 Look at the reverse dependencies and mark any task with 887 Look at the reverse dependencies and mark any task with
889 completed dependencies as buildable 888 completed dependencies as buildable
890 """ 889 """
891 self.runq_complete[task] = 1 890 self.runq_complete[task] = 1
@@ -929,7 +928,7 @@ class RunQueue:
929 while True: 928 while True:
930 task = None 929 task = None
931 if self.stats.active < self.number_tasks: 930 if self.stats.active < self.number_tasks:
932 task = self.sched.next() 931 task = next(self.sched)
933 if task is not None: 932 if task is not None:
934 fn = self.taskData.fn_index[self.runq_fnid[task]] 933 fn = self.taskData.fn_index[self.runq_fnid[task]]
935 934
@@ -948,7 +947,7 @@ class RunQueue:
948 try: 947 try:
949 pipein, pipeout = os.pipe() 948 pipein, pipeout = os.pipe()
950 pid = os.fork() 949 pid = os.fork()
951 except OSError, e: 950 except OSError as e:
952 bb.msg.fatal(bb.msg.domain.RunQueue, "fork failed: %d (%s)" % (e.errno, e.strerror)) 951 bb.msg.fatal(bb.msg.domain.RunQueue, "fork failed: %d (%s)" % (e.errno, e.strerror))
953 if pid == 0: 952 if pid == 0:
954 os.close(pipein) 953 os.close(pipein)
@@ -982,10 +981,11 @@ class RunQueue:
982 try: 981 try:
983 self.cooker.tryBuild(fn, taskname[3:]) 982 self.cooker.tryBuild(fn, taskname[3:])
984 except bb.build.EventException: 983 except bb.build.EventException:
985 bb.msg.error(bb.msg.domain.Build, "Build of " + fn + " " + taskname + " failed")
986 os._exit(1) 984 os._exit(1)
987 except: 985 except Exception:
988 bb.msg.error(bb.msg.domain.Build, "Build of " + fn + " " + taskname + " failed") 986 from traceback import format_exc
987 bb.msg.error(bb.msg.domain.Build, "Build of %s %s failed" % (fn, taskname))
988 bb.msg.error(bb.msg.domain.Build, format_exc())
989 os._exit(1) 989 os._exit(1)
990 os._exit(0) 990 os._exit(0)
991 991
@@ -1031,12 +1031,13 @@ class RunQueue:
1031 return 1031 return
1032 1032
1033 def finish_runqueue_now(self): 1033 def finish_runqueue_now(self):
1034 bb.msg.note(1, bb.msg.domain.RunQueue, "Sending SIGINT to remaining %s tasks" % self.stats.active) 1034 if self.stats.active:
1035 for k, v in self.build_pids.iteritems(): 1035 bb.msg.note(1, bb.msg.domain.RunQueue, "Sending SIGINT to remaining %s tasks" % self.stats.active)
1036 try: 1036 for k, v in self.build_pids.iteritems():
1037 os.kill(-k, signal.SIGINT) 1037 try:
1038 except: 1038 os.kill(-k, signal.SIGINT)
1039 pass 1039 except:
1040 pass
1040 for pipe in self.build_pipes: 1041 for pipe in self.build_pipes:
1041 self.build_pipes[pipe].read() 1042 self.build_pipes[pipe].read()
1042 1043
@@ -1085,30 +1086,30 @@ class RunQueue:
1085 """ 1086 """
1086 bb.msg.debug(3, bb.msg.domain.RunQueue, "run_tasks:") 1087 bb.msg.debug(3, bb.msg.domain.RunQueue, "run_tasks:")
1087 for task in range(len(self.runq_task)): 1088 for task in range(len(self.runq_task)):
1088 bb.msg.debug(3, bb.msg.domain.RunQueue, " (%s)%s - %s: %s Deps %s RevDeps %s" % (task, 1089 bb.msg.debug(3, bb.msg.domain.RunQueue, " (%s)%s - %s: %s Deps %s RevDeps %s" % (task,
1089 taskQueue.fn_index[self.runq_fnid[task]], 1090 taskQueue.fn_index[self.runq_fnid[task]],
1090 self.runq_task[task], 1091 self.runq_task[task],
1091 self.runq_weight[task], 1092 self.runq_weight[task],
1092 self.runq_depends[task], 1093 self.runq_depends[task],
1093 self.runq_revdeps[task])) 1094 self.runq_revdeps[task]))
1094 1095
1095 bb.msg.debug(3, bb.msg.domain.RunQueue, "sorted_tasks:") 1096 bb.msg.debug(3, bb.msg.domain.RunQueue, "sorted_tasks:")
1096 for task1 in range(len(self.runq_task)): 1097 for task1 in range(len(self.runq_task)):
1097 if task1 in self.prio_map: 1098 if task1 in self.prio_map:
1098 task = self.prio_map[task1] 1099 task = self.prio_map[task1]
1099 bb.msg.debug(3, bb.msg.domain.RunQueue, " (%s)%s - %s: %s Deps %s RevDeps %s" % (task, 1100 bb.msg.debug(3, bb.msg.domain.RunQueue, " (%s)%s - %s: %s Deps %s RevDeps %s" % (task,
1100 taskQueue.fn_index[self.runq_fnid[task]], 1101 taskQueue.fn_index[self.runq_fnid[task]],
1101 self.runq_task[task], 1102 self.runq_task[task],
1102 self.runq_weight[task], 1103 self.runq_weight[task],
1103 self.runq_depends[task], 1104 self.runq_depends[task],
1104 self.runq_revdeps[task])) 1105 self.runq_revdeps[task]))
1105 1106
1106 1107
1107class TaskFailure(Exception): 1108class TaskFailure(Exception):
1108 """ 1109 """
1109 Exception raised when a task in a runqueue fails 1110 Exception raised when a task in a runqueue fails
1110 """ 1111 """
1111 def __init__(self, x): 1112 def __init__(self, x):
1112 self.args = x 1113 self.args = x
1113 1114
1114 1115
@@ -1194,6 +1195,5 @@ class runQueuePipe():
1194 while self.read(): 1195 while self.read():
1195 continue 1196 continue
1196 if len(self.queue) > 0: 1197 if len(self.queue) > 0:
1197 print "Warning, worker left partial message" 1198 print("Warning, worker left partial message")
1198 os.close(self.fd) 1199 os.close(self.fd)
1199
diff --git a/bitbake/lib/bb/server/none.py b/bitbake/lib/bb/server/none.py
index ebda111582..e28aa8d7d7 100644
--- a/bitbake/lib/bb/server/none.py
+++ b/bitbake/lib/bb/server/none.py
@@ -115,7 +115,7 @@ class BitBakeServer():
115 115
116 def register_idle_function(self, function, data): 116 def register_idle_function(self, function, data):
117 """Register a function to be called while the server is idle""" 117 """Register a function to be called while the server is idle"""
118 assert callable(function) 118 assert hasattr(function, '__call__')
119 self._idlefuns[function] = data 119 self._idlefuns[function] = data
120 120
121 def idle_commands(self, delay): 121 def idle_commands(self, delay):
@@ -178,4 +178,3 @@ class BitBakeServerConnection():
178 self.connection.terminateServer() 178 self.connection.terminateServer()
179 except: 179 except:
180 pass 180 pass
181
diff --git a/bitbake/lib/bb/server/xmlrpc.py b/bitbake/lib/bb/server/xmlrpc.py
index 3364918c77..cb2949fb9f 100644
--- a/bitbake/lib/bb/server/xmlrpc.py
+++ b/bitbake/lib/bb/server/xmlrpc.py
@@ -42,7 +42,7 @@ from SimpleXMLRPCServer import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler
42import inspect, select 42import inspect, select
43 43
44if sys.hexversion < 0x020600F0: 44if sys.hexversion < 0x020600F0:
45 print "Sorry, python 2.6 or later is required for bitbake's XMLRPC mode" 45 print("Sorry, python 2.6 or later is required for bitbake's XMLRPC mode")
46 sys.exit(1) 46 sys.exit(1)
47 47
48class BitBakeServerCommands(): 48class BitBakeServerCommands():
@@ -74,7 +74,7 @@ class BitBakeServerCommands():
74 Trigger the server to quit 74 Trigger the server to quit
75 """ 75 """
76 self.server.quit = True 76 self.server.quit = True
77 print "Server (cooker) exitting" 77 print("Server (cooker) exitting")
78 return 78 return
79 79
80 def ping(self): 80 def ping(self):
@@ -89,8 +89,8 @@ class BitBakeServer(SimpleXMLRPCServer):
89 89
90 def __init__(self, cooker, interface = ("localhost", 0)): 90 def __init__(self, cooker, interface = ("localhost", 0)):
91 """ 91 """
92 Constructor 92 Constructor
93 """ 93 """
94 SimpleXMLRPCServer.__init__(self, interface, 94 SimpleXMLRPCServer.__init__(self, interface,
95 requestHandler=SimpleXMLRPCRequestHandler, 95 requestHandler=SimpleXMLRPCRequestHandler,
96 logRequests=False, allow_none=True) 96 logRequests=False, allow_none=True)
@@ -112,7 +112,7 @@ class BitBakeServer(SimpleXMLRPCServer):
112 112
113 def register_idle_function(self, function, data): 113 def register_idle_function(self, function, data):
114 """Register a function to be called while the server is idle""" 114 """Register a function to be called while the server is idle"""
115 assert callable(function) 115 assert hasattr(function, '__call__')
116 self._idlefuns[function] = data 116 self._idlefuns[function] = data
117 117
118 def serve_forever(self): 118 def serve_forever(self):
@@ -146,7 +146,7 @@ class BitBakeServer(SimpleXMLRPCServer):
146 traceback.print_exc() 146 traceback.print_exc()
147 pass 147 pass
148 if nextsleep is None and len(self._idlefuns) > 0: 148 if nextsleep is None and len(self._idlefuns) > 0:
149 nextsleep = 0 149 nextsleep = 0
150 self.timeout = nextsleep 150 self.timeout = nextsleep
151 # Tell idle functions we're exiting 151 # Tell idle functions we're exiting
152 for function, data in self._idlefuns.items(): 152 for function, data in self._idlefuns.items():
@@ -175,7 +175,7 @@ class BitBakeServerConnection():
175 def terminate(self): 175 def terminate(self):
176 # Don't wait for server indefinitely 176 # Don't wait for server indefinitely
177 import socket 177 import socket
178 socket.setdefaulttimeout(2) 178 socket.setdefaulttimeout(2)
179 try: 179 try:
180 self.events.system_quit() 180 self.events.system_quit()
181 except: 181 except:
@@ -184,4 +184,3 @@ class BitBakeServerConnection():
184 self.connection.terminateServer() 184 self.connection.terminateServer()
185 except: 185 except:
186 pass 186 pass
187
diff --git a/bitbake/lib/bb/shell.py b/bitbake/lib/bb/shell.py
index 7abea0f126..f9ca9d5bd3 100644
--- a/bitbake/lib/bb/shell.py
+++ b/bitbake/lib/bb/shell.py
@@ -52,12 +52,14 @@ PROBLEMS:
52# Import and setup global variables 52# Import and setup global variables
53########################################################################## 53##########################################################################
54 54
55from __future__ import print_function
56from functools import reduce
55try: 57try:
56 set 58 set
57except NameError: 59except NameError:
58 from sets import Set as set 60 from sets import Set as set
59import sys, os, readline, socket, httplib, urllib, commands, popen2, copy, shlex, Queue, fnmatch 61import sys, os, readline, socket, httplib, urllib, commands, popen2, shlex, Queue, fnmatch
60from bb import data, parse, build, fatal, cache, taskdata, runqueue, providers as Providers 62from bb import data, parse, build, cache, taskdata, runqueue, providers as Providers
61 63
62__version__ = "0.5.3.1" 64__version__ = "0.5.3.1"
63__credits__ = """BitBake Shell Version %s (C) 2005 Michael 'Mickey' Lauer <mickey@Vanille.de> 65__credits__ = """BitBake Shell Version %s (C) 2005 Michael 'Mickey' Lauer <mickey@Vanille.de>
@@ -98,7 +100,7 @@ class BitBakeShellCommands:
98 100
99 def _checkParsed( self ): 101 def _checkParsed( self ):
100 if not parsed: 102 if not parsed:
101 print "SHELL: This command needs to parse bbfiles..." 103 print("SHELL: This command needs to parse bbfiles...")
102 self.parse( None ) 104 self.parse( None )
103 105
104 def _findProvider( self, item ): 106 def _findProvider( self, item ):
@@ -119,28 +121,28 @@ class BitBakeShellCommands:
119 """Register a new name for a command""" 121 """Register a new name for a command"""
120 new, old = params 122 new, old = params
121 if not old in cmds: 123 if not old in cmds:
122 print "ERROR: Command '%s' not known" % old 124 print("ERROR: Command '%s' not known" % old)
123 else: 125 else:
124 cmds[new] = cmds[old] 126 cmds[new] = cmds[old]
125 print "OK" 127 print("OK")
126 alias.usage = "<alias> <command>" 128 alias.usage = "<alias> <command>"
127 129
128 def buffer( self, params ): 130 def buffer( self, params ):
129 """Dump specified output buffer""" 131 """Dump specified output buffer"""
130 index = params[0] 132 index = params[0]
131 print self._shell.myout.buffer( int( index ) ) 133 print(self._shell.myout.buffer( int( index ) ))
132 buffer.usage = "<index>" 134 buffer.usage = "<index>"
133 135
134 def buffers( self, params ): 136 def buffers( self, params ):
135 """Show the available output buffers""" 137 """Show the available output buffers"""
136 commands = self._shell.myout.bufferedCommands() 138 commands = self._shell.myout.bufferedCommands()
137 if not commands: 139 if not commands:
138 print "SHELL: No buffered commands available yet. Start doing something." 140 print("SHELL: No buffered commands available yet. Start doing something.")
139 else: 141 else:
140 print "="*35, "Available Output Buffers", "="*27 142 print("="*35, "Available Output Buffers", "="*27)
141 for index, cmd in enumerate( commands ): 143 for index, cmd in enumerate( commands ):
142 print "| %s %s" % ( str( index ).ljust( 3 ), cmd ) 144 print("| %s %s" % ( str( index ).ljust( 3 ), cmd ))
143 print "="*88 145 print("="*88)
144 146
145 def build( self, params, cmd = "build" ): 147 def build( self, params, cmd = "build" ):
146 """Build a providee""" 148 """Build a providee"""
@@ -149,7 +151,7 @@ class BitBakeShellCommands:
149 self._checkParsed() 151 self._checkParsed()
150 names = globfilter( cooker.status.pkg_pn, globexpr ) 152 names = globfilter( cooker.status.pkg_pn, globexpr )
151 if len( names ) == 0: names = [ globexpr ] 153 if len( names ) == 0: names = [ globexpr ]
152 print "SHELL: Building %s" % ' '.join( names ) 154 print("SHELL: Building %s" % ' '.join( names ))
153 155
154 td = taskdata.TaskData(cooker.configuration.abort) 156 td = taskdata.TaskData(cooker.configuration.abort)
155 localdata = data.createCopy(cooker.configuration.data) 157 localdata = data.createCopy(cooker.configuration.data)
@@ -168,22 +170,22 @@ class BitBakeShellCommands:
168 tasks.append([name, "do_%s" % cmd]) 170 tasks.append([name, "do_%s" % cmd])
169 171
170 td.add_unresolved(localdata, cooker.status) 172 td.add_unresolved(localdata, cooker.status)
171 173
172 rq = runqueue.RunQueue(cooker, localdata, cooker.status, td, tasks) 174 rq = runqueue.RunQueue(cooker, localdata, cooker.status, td, tasks)
173 rq.prepare_runqueue() 175 rq.prepare_runqueue()
174 rq.execute_runqueue() 176 rq.execute_runqueue()
175 177
176 except Providers.NoProvider: 178 except Providers.NoProvider:
177 print "ERROR: No Provider" 179 print("ERROR: No Provider")
178 last_exception = Providers.NoProvider 180 last_exception = Providers.NoProvider
179 181
180 except runqueue.TaskFailure, fnids: 182 except runqueue.TaskFailure as fnids:
181 for fnid in fnids: 183 for fnid in fnids:
182 print "ERROR: '%s' failed" % td.fn_index[fnid] 184 print("ERROR: '%s' failed" % td.fn_index[fnid])
183 last_exception = runqueue.TaskFailure 185 last_exception = runqueue.TaskFailure
184 186
185 except build.EventException, e: 187 except build.EventException as e:
186 print "ERROR: Couldn't build '%s'" % names 188 print("ERROR: Couldn't build '%s'" % names)
187 last_exception = e 189 last_exception = e
188 190
189 191
@@ -216,7 +218,7 @@ class BitBakeShellCommands:
216 if bbfile is not None: 218 if bbfile is not None:
217 os.system( "%s %s" % ( os.environ.get( "EDITOR", "vi" ), bbfile ) ) 219 os.system( "%s %s" % ( os.environ.get( "EDITOR", "vi" ), bbfile ) )
218 else: 220 else:
219 print "ERROR: Nothing provides '%s'" % name 221 print("ERROR: Nothing provides '%s'" % name)
220 edit.usage = "<providee>" 222 edit.usage = "<providee>"
221 223
222 def environment( self, params ): 224 def environment( self, params ):
@@ -239,14 +241,14 @@ class BitBakeShellCommands:
239 global last_exception 241 global last_exception
240 name = params[0] 242 name = params[0]
241 bf = completeFilePath( name ) 243 bf = completeFilePath( name )
242 print "SHELL: Calling '%s' on '%s'" % ( cmd, bf ) 244 print("SHELL: Calling '%s' on '%s'" % ( cmd, bf ))
243 245
244 try: 246 try:
245 cooker.buildFile(bf, cmd) 247 cooker.buildFile(bf, cmd)
246 except parse.ParseError: 248 except parse.ParseError:
247 print "ERROR: Unable to open or parse '%s'" % bf 249 print("ERROR: Unable to open or parse '%s'" % bf)
248 except build.EventException, e: 250 except build.EventException as e:
249 print "ERROR: Couldn't build '%s'" % name 251 print("ERROR: Couldn't build '%s'" % name)
250 last_exception = e 252 last_exception = e
251 253
252 fileBuild.usage = "<bbfile>" 254 fileBuild.usage = "<bbfile>"
@@ -270,62 +272,62 @@ class BitBakeShellCommands:
270 def fileReparse( self, params ): 272 def fileReparse( self, params ):
271 """(re)Parse a bb file""" 273 """(re)Parse a bb file"""
272 bbfile = params[0] 274 bbfile = params[0]
273 print "SHELL: Parsing '%s'" % bbfile 275 print("SHELL: Parsing '%s'" % bbfile)
274 parse.update_mtime( bbfile ) 276 parse.update_mtime( bbfile )
275 cooker.bb_cache.cacheValidUpdate(bbfile) 277 cooker.bb_cache.cacheValidUpdate(bbfile)
276 fromCache = cooker.bb_cache.loadData(bbfile, cooker.configuration.data, cooker.status) 278 fromCache = cooker.bb_cache.loadData(bbfile, cooker.configuration.data, cooker.status)
277 cooker.bb_cache.sync() 279 cooker.bb_cache.sync()
278 if False: #fromCache: 280 if False: #fromCache:
279 print "SHELL: File has not been updated, not reparsing" 281 print("SHELL: File has not been updated, not reparsing")
280 else: 282 else:
281 print "SHELL: Parsed" 283 print("SHELL: Parsed")
282 fileReparse.usage = "<bbfile>" 284 fileReparse.usage = "<bbfile>"
283 285
284 def abort( self, params ): 286 def abort( self, params ):
285 """Toggle abort task execution flag (see bitbake -k)""" 287 """Toggle abort task execution flag (see bitbake -k)"""
286 cooker.configuration.abort = not cooker.configuration.abort 288 cooker.configuration.abort = not cooker.configuration.abort
287 print "SHELL: Abort Flag is now '%s'" % repr( cooker.configuration.abort ) 289 print("SHELL: Abort Flag is now '%s'" % repr( cooker.configuration.abort ))
288 290
289 def force( self, params ): 291 def force( self, params ):
290 """Toggle force task execution flag (see bitbake -f)""" 292 """Toggle force task execution flag (see bitbake -f)"""
291 cooker.configuration.force = not cooker.configuration.force 293 cooker.configuration.force = not cooker.configuration.force
292 print "SHELL: Force Flag is now '%s'" % repr( cooker.configuration.force ) 294 print("SHELL: Force Flag is now '%s'" % repr( cooker.configuration.force ))
293 295
294 def help( self, params ): 296 def help( self, params ):
295 """Show a comprehensive list of commands and their purpose""" 297 """Show a comprehensive list of commands and their purpose"""
296 print "="*30, "Available Commands", "="*30 298 print("="*30, "Available Commands", "="*30)
297 for cmd in sorted(cmds): 299 for cmd in sorted(cmds):
298 function,numparams,usage,helptext = cmds[cmd] 300 function, numparams, usage, helptext = cmds[cmd]
299 print "| %s | %s" % (usage.ljust(30), helptext) 301 print("| %s | %s" % (usage.ljust(30), helptext))
300 print "="*78 302 print("="*78)
301 303
302 def lastError( self, params ): 304 def lastError( self, params ):
303 """Show the reason or log that was produced by the last BitBake event exception""" 305 """Show the reason or log that was produced by the last BitBake event exception"""
304 if last_exception is None: 306 if last_exception is None:
305 print "SHELL: No Errors yet (Phew)..." 307 print("SHELL: No Errors yet (Phew)...")
306 else: 308 else:
307 reason, event = last_exception.args 309 reason, event = last_exception.args
308 print "SHELL: Reason for the last error: '%s'" % reason 310 print("SHELL: Reason for the last error: '%s'" % reason)
309 if ':' in reason: 311 if ':' in reason:
310 msg, filename = reason.split( ':' ) 312 msg, filename = reason.split( ':' )
311 filename = filename.strip() 313 filename = filename.strip()
312 print "SHELL: Dumping log file for last error:" 314 print("SHELL: Dumping log file for last error:")
313 try: 315 try:
314 print open( filename ).read() 316 print(open( filename ).read())
315 except IOError: 317 except IOError:
316 print "ERROR: Couldn't open '%s'" % filename 318 print("ERROR: Couldn't open '%s'" % filename)
317 319
318 def match( self, params ): 320 def match( self, params ):
319 """Dump all files or providers matching a glob expression""" 321 """Dump all files or providers matching a glob expression"""
320 what, globexpr = params 322 what, globexpr = params
321 if what == "files": 323 if what == "files":
322 self._checkParsed() 324 self._checkParsed()
323 for key in globfilter( cooker.status.pkg_fn, globexpr ): print key 325 for key in globfilter( cooker.status.pkg_fn, globexpr ): print(key)
324 elif what == "providers": 326 elif what == "providers":
325 self._checkParsed() 327 self._checkParsed()
326 for key in globfilter( cooker.status.pkg_pn, globexpr ): print key 328 for key in globfilter( cooker.status.pkg_pn, globexpr ): print(key)
327 else: 329 else:
328 print "Usage: match %s" % self.print_.usage 330 print("Usage: match %s" % self.print_.usage)
329 match.usage = "<files|providers> <glob>" 331 match.usage = "<files|providers> <glob>"
330 332
331 def new( self, params ): 333 def new( self, params ):
@@ -335,15 +337,15 @@ class BitBakeShellCommands:
335 fulldirname = "%s/%s" % ( packages, dirname ) 337 fulldirname = "%s/%s" % ( packages, dirname )
336 338
337 if not os.path.exists( fulldirname ): 339 if not os.path.exists( fulldirname ):
338 print "SHELL: Creating '%s'" % fulldirname 340 print("SHELL: Creating '%s'" % fulldirname)
339 os.mkdir( fulldirname ) 341 os.mkdir( fulldirname )
340 if os.path.exists( fulldirname ) and os.path.isdir( fulldirname ): 342 if os.path.exists( fulldirname ) and os.path.isdir( fulldirname ):
341 if os.path.exists( "%s/%s" % ( fulldirname, filename ) ): 343 if os.path.exists( "%s/%s" % ( fulldirname, filename ) ):
342 print "SHELL: ERROR: %s/%s already exists" % ( fulldirname, filename ) 344 print("SHELL: ERROR: %s/%s already exists" % ( fulldirname, filename ))
343 return False 345 return False
344 print "SHELL: Creating '%s/%s'" % ( fulldirname, filename ) 346 print("SHELL: Creating '%s/%s'" % ( fulldirname, filename ))
345 newpackage = open( "%s/%s" % ( fulldirname, filename ), "w" ) 347 newpackage = open( "%s/%s" % ( fulldirname, filename ), "w" )
346 print >>newpackage,"""DESCRIPTION = "" 348 print("""DESCRIPTION = ""
347SECTION = "" 349SECTION = ""
348AUTHOR = "" 350AUTHOR = ""
349HOMEPAGE = "" 351HOMEPAGE = ""
@@ -370,7 +372,7 @@ SRC_URI = ""
370#do_install() { 372#do_install() {
371# 373#
372#} 374#}
373""" 375""", file=newpackage)
374 newpackage.close() 376 newpackage.close()
375 os.system( "%s %s/%s" % ( os.environ.get( "EDITOR" ), fulldirname, filename ) ) 377 os.system( "%s %s/%s" % ( os.environ.get( "EDITOR" ), fulldirname, filename ) )
376 new.usage = "<directory> <filename>" 378 new.usage = "<directory> <filename>"
@@ -390,14 +392,14 @@ SRC_URI = ""
390 def pasteLog( self, params ): 392 def pasteLog( self, params ):
391 """Send the last event exception error log (if there is one) to http://rafb.net/paste""" 393 """Send the last event exception error log (if there is one) to http://rafb.net/paste"""
392 if last_exception is None: 394 if last_exception is None:
393 print "SHELL: No Errors yet (Phew)..." 395 print("SHELL: No Errors yet (Phew)...")
394 else: 396 else:
395 reason, event = last_exception.args 397 reason, event = last_exception.args
396 print "SHELL: Reason for the last error: '%s'" % reason 398 print("SHELL: Reason for the last error: '%s'" % reason)
397 if ':' in reason: 399 if ':' in reason:
398 msg, filename = reason.split( ':' ) 400 msg, filename = reason.split( ':' )
399 filename = filename.strip() 401 filename = filename.strip()
400 print "SHELL: Pasting log file to pastebin..." 402 print("SHELL: Pasting log file to pastebin...")
401 403
402 file = open( filename ).read() 404 file = open( filename ).read()
403 sendToPastebin( "contents of " + filename, file ) 405 sendToPastebin( "contents of " + filename, file )
@@ -419,23 +421,23 @@ SRC_URI = ""
419 cooker.buildDepgraph() 421 cooker.buildDepgraph()
420 global parsed 422 global parsed
421 parsed = True 423 parsed = True
422 print 424 print()
423 425
424 def reparse( self, params ): 426 def reparse( self, params ):
425 """(re)Parse a providee's bb file""" 427 """(re)Parse a providee's bb file"""
426 bbfile = self._findProvider( params[0] ) 428 bbfile = self._findProvider( params[0] )
427 if bbfile is not None: 429 if bbfile is not None:
428 print "SHELL: Found bbfile '%s' for '%s'" % ( bbfile, params[0] ) 430 print("SHELL: Found bbfile '%s' for '%s'" % ( bbfile, params[0] ))
429 self.fileReparse( [ bbfile ] ) 431 self.fileReparse( [ bbfile ] )
430 else: 432 else:
431 print "ERROR: Nothing provides '%s'" % params[0] 433 print("ERROR: Nothing provides '%s'" % params[0])
432 reparse.usage = "<providee>" 434 reparse.usage = "<providee>"
433 435
434 def getvar( self, params ): 436 def getvar( self, params ):
435 """Dump the contents of an outer BitBake environment variable""" 437 """Dump the contents of an outer BitBake environment variable"""
436 var = params[0] 438 var = params[0]
437 value = data.getVar( var, cooker.configuration.data, 1 ) 439 value = data.getVar( var, cooker.configuration.data, 1 )
438 print value 440 print(value)
439 getvar.usage = "<variable>" 441 getvar.usage = "<variable>"
440 442
441 def peek( self, params ): 443 def peek( self, params ):
@@ -445,9 +447,9 @@ SRC_URI = ""
445 if bbfile is not None: 447 if bbfile is not None:
446 the_data = cooker.bb_cache.loadDataFull(bbfile, cooker.configuration.data) 448 the_data = cooker.bb_cache.loadDataFull(bbfile, cooker.configuration.data)
447 value = the_data.getVar( var, 1 ) 449 value = the_data.getVar( var, 1 )
448 print value 450 print(value)
449 else: 451 else:
450 print "ERROR: Nothing provides '%s'" % name 452 print("ERROR: Nothing provides '%s'" % name)
451 peek.usage = "<providee> <variable>" 453 peek.usage = "<providee> <variable>"
452 454
453 def poke( self, params ): 455 def poke( self, params ):
@@ -455,7 +457,7 @@ SRC_URI = ""
455 name, var, value = params 457 name, var, value = params
456 bbfile = self._findProvider( name ) 458 bbfile = self._findProvider( name )
457 if bbfile is not None: 459 if bbfile is not None:
458 print "ERROR: Sorry, this functionality is currently broken" 460 print("ERROR: Sorry, this functionality is currently broken")
459 #d = cooker.pkgdata[bbfile] 461 #d = cooker.pkgdata[bbfile]
460 #data.setVar( var, value, d ) 462 #data.setVar( var, value, d )
461 463
@@ -463,7 +465,7 @@ SRC_URI = ""
463 #cooker.pkgdata.setDirty(bbfile, d) 465 #cooker.pkgdata.setDirty(bbfile, d)
464 #print "OK" 466 #print "OK"
465 else: 467 else:
466 print "ERROR: Nothing provides '%s'" % name 468 print("ERROR: Nothing provides '%s'" % name)
467 poke.usage = "<providee> <variable> <value>" 469 poke.usage = "<providee> <variable> <value>"
468 470
469 def print_( self, params ): 471 def print_( self, params ):
@@ -471,12 +473,12 @@ SRC_URI = ""
471 what = params[0] 473 what = params[0]
472 if what == "files": 474 if what == "files":
473 self._checkParsed() 475 self._checkParsed()
474 for key in cooker.status.pkg_fn: print key 476 for key in cooker.status.pkg_fn: print(key)
475 elif what == "providers": 477 elif what == "providers":
476 self._checkParsed() 478 self._checkParsed()
477 for key in cooker.status.providers: print key 479 for key in cooker.status.providers: print(key)
478 else: 480 else:
479 print "Usage: print %s" % self.print_.usage 481 print("Usage: print %s" % self.print_.usage)
480 print_.usage = "<files|providers>" 482 print_.usage = "<files|providers>"
481 483
482 def python( self, params ): 484 def python( self, params ):
@@ -496,7 +498,7 @@ SRC_URI = ""
496 """Set an outer BitBake environment variable""" 498 """Set an outer BitBake environment variable"""
497 var, value = params 499 var, value = params
498 data.setVar( var, value, cooker.configuration.data ) 500 data.setVar( var, value, cooker.configuration.data )
499 print "OK" 501 print("OK")
500 setVar.usage = "<variable> <value>" 502 setVar.usage = "<variable> <value>"
501 503
502 def rebuild( self, params ): 504 def rebuild( self, params ):
@@ -508,7 +510,7 @@ SRC_URI = ""
508 def shell( self, params ): 510 def shell( self, params ):
509 """Execute a shell command and dump the output""" 511 """Execute a shell command and dump the output"""
510 if params != "": 512 if params != "":
511 print commands.getoutput( " ".join( params ) ) 513 print(commands.getoutput( " ".join( params ) ))
512 shell.usage = "<...>" 514 shell.usage = "<...>"
513 515
514 def stage( self, params ): 516 def stage( self, params ):
@@ -518,17 +520,17 @@ SRC_URI = ""
518 520
519 def status( self, params ): 521 def status( self, params ):
520 """<just for testing>""" 522 """<just for testing>"""
521 print "-" * 78 523 print("-" * 78)
522 print "building list = '%s'" % cooker.building_list 524 print("building list = '%s'" % cooker.building_list)
523 print "build path = '%s'" % cooker.build_path 525 print("build path = '%s'" % cooker.build_path)
524 print "consider_msgs_cache = '%s'" % cooker.consider_msgs_cache 526 print("consider_msgs_cache = '%s'" % cooker.consider_msgs_cache)
525 print "build stats = '%s'" % cooker.stats 527 print("build stats = '%s'" % cooker.stats)
526 if last_exception is not None: print "last_exception = '%s'" % repr( last_exception.args ) 528 if last_exception is not None: print("last_exception = '%s'" % repr( last_exception.args ))
527 print "memory output contents = '%s'" % self._shell.myout._buffer 529 print("memory output contents = '%s'" % self._shell.myout._buffer)
528 530
529 def test( self, params ): 531 def test( self, params ):
530 """<just for testing>""" 532 """<just for testing>"""
531 print "testCommand called with '%s'" % params 533 print("testCommand called with '%s'" % params)
532 534
533 def unpack( self, params ): 535 def unpack( self, params ):
534 """Execute 'unpack' on a providee""" 536 """Execute 'unpack' on a providee"""
@@ -553,12 +555,12 @@ SRC_URI = ""
553 try: 555 try:
554 providers = cooker.status.providers[item] 556 providers = cooker.status.providers[item]
555 except KeyError: 557 except KeyError:
556 print "SHELL: ERROR: Nothing provides", preferred 558 print("SHELL: ERROR: Nothing provides", preferred)
557 else: 559 else:
558 for provider in providers: 560 for provider in providers:
559 if provider == pf: provider = " (***) %s" % provider 561 if provider == pf: provider = " (***) %s" % provider
560 else: provider = " %s" % provider 562 else: provider = " %s" % provider
561 print provider 563 print(provider)
562 which.usage = "<providee>" 564 which.usage = "<providee>"
563 565
564########################################################################## 566##########################################################################
@@ -583,7 +585,7 @@ def sendToPastebin( desc, content ):
583 mydata["nick"] = "%s@%s" % ( os.environ.get( "USER", "unknown" ), socket.gethostname() or "unknown" ) 585 mydata["nick"] = "%s@%s" % ( os.environ.get( "USER", "unknown" ), socket.gethostname() or "unknown" )
584 mydata["text"] = content 586 mydata["text"] = content
585 params = urllib.urlencode( mydata ) 587 params = urllib.urlencode( mydata )
586 headers = {"Content-type": "application/x-www-form-urlencoded","Accept": "text/plain"} 588 headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
587 589
588 host = "rafb.net" 590 host = "rafb.net"
589 conn = httplib.HTTPConnection( "%s:80" % host ) 591 conn = httplib.HTTPConnection( "%s:80" % host )
@@ -594,9 +596,9 @@ def sendToPastebin( desc, content ):
594 596
595 if response.status == 302: 597 if response.status == 302:
596 location = response.getheader( "location" ) or "unknown" 598 location = response.getheader( "location" ) or "unknown"
597 print "SHELL: Pasted to http://%s%s" % ( host, location ) 599 print("SHELL: Pasted to http://%s%s" % ( host, location ))
598 else: 600 else:
599 print "ERROR: %s %s" % ( response.status, response.reason ) 601 print("ERROR: %s %s" % ( response.status, response.reason ))
600 602
601def completer( text, state ): 603def completer( text, state ):
602 """Return a possible readline completion""" 604 """Return a possible readline completion"""
@@ -643,7 +645,7 @@ def columnize( alist, width = 80 ):
643 return reduce(lambda line, word, width=width: '%s%s%s' % 645 return reduce(lambda line, word, width=width: '%s%s%s' %
644 (line, 646 (line,
645 ' \n'[(len(line[line.rfind('\n')+1:]) 647 ' \n'[(len(line[line.rfind('\n')+1:])
646 + len(word.split('\n',1)[0] 648 + len(word.split('\n', 1)[0]
647 ) >= width)], 649 ) >= width)],
648 word), 650 word),
649 alist 651 alist
@@ -718,7 +720,7 @@ class BitBakeShell:
718 except IOError: 720 except IOError:
719 pass # It doesn't exist yet. 721 pass # It doesn't exist yet.
720 722
721 print __credits__ 723 print(__credits__)
722 724
723 def cleanup( self ): 725 def cleanup( self ):
724 """Write readline history and clean up resources""" 726 """Write readline history and clean up resources"""
@@ -726,7 +728,7 @@ class BitBakeShell:
726 try: 728 try:
727 readline.write_history_file( self.historyfilename ) 729 readline.write_history_file( self.historyfilename )
728 except: 730 except:
729 print "SHELL: Unable to save command history" 731 print("SHELL: Unable to save command history")
730 732
731 def registerCommand( self, command, function, numparams = 0, usage = "", helptext = "" ): 733 def registerCommand( self, command, function, numparams = 0, usage = "", helptext = "" ):
732 """Register a command""" 734 """Register a command"""
@@ -740,11 +742,11 @@ class BitBakeShell:
740 try: 742 try:
741 function, numparams, usage, helptext = cmds[command] 743 function, numparams, usage, helptext = cmds[command]
742 except KeyError: 744 except KeyError:
743 print "SHELL: ERROR: '%s' command is not a valid command." % command 745 print("SHELL: ERROR: '%s' command is not a valid command." % command)
744 self.myout.removeLast() 746 self.myout.removeLast()
745 else: 747 else:
746 if (numparams != -1) and (not len( params ) == numparams): 748 if (numparams != -1) and (not len( params ) == numparams):
747 print "Usage: '%s'" % usage 749 print("Usage: '%s'" % usage)
748 return 750 return
749 751
750 result = function( self.commands, params ) 752 result = function( self.commands, params )
@@ -759,7 +761,7 @@ class BitBakeShell:
759 if not cmdline: 761 if not cmdline:
760 continue 762 continue
761 if "|" in cmdline: 763 if "|" in cmdline:
762 print "ERROR: '|' in startup file is not allowed. Ignoring line" 764 print("ERROR: '|' in startup file is not allowed. Ignoring line")
763 continue 765 continue
764 self.commandQ.put( cmdline.strip() ) 766 self.commandQ.put( cmdline.strip() )
765 767
@@ -801,10 +803,10 @@ class BitBakeShell:
801 sys.stdout.write( pipe.fromchild.read() ) 803 sys.stdout.write( pipe.fromchild.read() )
802 # 804 #
803 except EOFError: 805 except EOFError:
804 print 806 print()
805 return 807 return
806 except KeyboardInterrupt: 808 except KeyboardInterrupt:
807 print 809 print()
808 810
809########################################################################## 811##########################################################################
810# Start function - called from the BitBake command line utility 812# Start function - called from the BitBake command line utility
@@ -819,4 +821,4 @@ def start( aCooker ):
819 bbshell.cleanup() 821 bbshell.cleanup()
820 822
821if __name__ == "__main__": 823if __name__ == "__main__":
822 print "SHELL: Sorry, this program should only be called by BitBake." 824 print("SHELL: Sorry, this program should only be called by BitBake.")
diff --git a/bitbake/lib/bb/taskdata.py b/bitbake/lib/bb/taskdata.py
index 3e5e006f5f..e31f967850 100644
--- a/bitbake/lib/bb/taskdata.py
+++ b/bitbake/lib/bb/taskdata.py
@@ -34,7 +34,7 @@ def re_match_strings(target, strings):
34 34
35 for name in strings: 35 for name in strings:
36 if (name==target or 36 if (name==target or
37 re.search(name,target)!=None): 37 re.search(name, target)!=None):
38 return True 38 return True
39 return False 39 return False
40 40
@@ -84,7 +84,7 @@ class TaskData:
84 84
85 def getrun_id(self, name): 85 def getrun_id(self, name):
86 """ 86 """
87 Return an ID number for the run target name. 87 Return an ID number for the run target name.
88 If it doesn't exist, create one. 88 If it doesn't exist, create one.
89 """ 89 """
90 if not name in self.run_names_index: 90 if not name in self.run_names_index:
@@ -95,7 +95,7 @@ class TaskData:
95 95
96 def getfn_id(self, name): 96 def getfn_id(self, name):
97 """ 97 """
98 Return an ID number for the filename. 98 Return an ID number for the filename.
99 If it doesn't exist, create one. 99 If it doesn't exist, create one.
100 """ 100 """
101 if not name in self.fn_index: 101 if not name in self.fn_index:
@@ -271,7 +271,7 @@ class TaskData:
271 271
272 def get_unresolved_build_targets(self, dataCache): 272 def get_unresolved_build_targets(self, dataCache):
273 """ 273 """
274 Return a list of build targets who's providers 274 Return a list of build targets who's providers
275 are unknown. 275 are unknown.
276 """ 276 """
277 unresolved = [] 277 unresolved = []
@@ -286,7 +286,7 @@ class TaskData:
286 286
287 def get_unresolved_run_targets(self, dataCache): 287 def get_unresolved_run_targets(self, dataCache):
288 """ 288 """
289 Return a list of runtime targets who's providers 289 Return a list of runtime targets who's providers
290 are unknown. 290 are unknown.
291 """ 291 """
292 unresolved = [] 292 unresolved = []
@@ -304,7 +304,7 @@ class TaskData:
304 Return a list of providers of item 304 Return a list of providers of item
305 """ 305 """
306 targetid = self.getbuild_id(item) 306 targetid = self.getbuild_id(item)
307 307
308 return self.build_targets[targetid] 308 return self.build_targets[targetid]
309 309
310 def get_dependees(self, itemid): 310 def get_dependees(self, itemid):
@@ -354,20 +354,15 @@ class TaskData:
354 self.add_provider_internal(cfgData, dataCache, item) 354 self.add_provider_internal(cfgData, dataCache, item)
355 except bb.providers.NoProvider: 355 except bb.providers.NoProvider:
356 if self.abort: 356 if self.abort:
357 if self.get_rdependees_str(item):
358 bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (item, self.get_dependees_str(item)))
359 else:
360 bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (item))
361 raise 357 raise
362 targetid = self.getbuild_id(item) 358 self.remove_buildtarget(self.getbuild_id(item))
363 self.remove_buildtarget(targetid)
364 359
365 self.mark_external_target(item) 360 self.mark_external_target(item)
366 361
367 def add_provider_internal(self, cfgData, dataCache, item): 362 def add_provider_internal(self, cfgData, dataCache, item):
368 """ 363 """
369 Add the providers of item to the task data 364 Add the providers of item to the task data
370 Mark entries were specifically added externally as against dependencies 365 Mark entries were specifically added externally as against dependencies
371 added internally during dependency resolution 366 added internally during dependency resolution
372 """ 367 """
373 368
@@ -375,11 +370,7 @@ class TaskData:
375 return 370 return
376 371
377 if not item in dataCache.providers: 372 if not item in dataCache.providers:
378 if self.get_rdependees_str(item): 373 bb.event.fire(bb.event.NoProvider(item, dependees=self.get_rdependees_str(item)), cfgData)
379 bb.msg.note(2, bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (item, self.get_dependees_str(item)))
380 else:
381 bb.msg.note(2, bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (item))
382 bb.event.fire(bb.event.NoProvider(item), cfgData)
383 raise bb.providers.NoProvider(item) 374 raise bb.providers.NoProvider(item)
384 375
385 if self.have_build_target(item): 376 if self.have_build_target(item):
@@ -391,8 +382,7 @@ class TaskData:
391 eligible = [p for p in eligible if not self.getfn_id(p) in self.failed_fnids] 382 eligible = [p for p in eligible if not self.getfn_id(p) in self.failed_fnids]
392 383
393 if not eligible: 384 if not eligible:
394 bb.msg.note(2, bb.msg.domain.Provider, "No buildable provider PROVIDES '%s' but '%s' DEPENDS on or otherwise requires it. Enable debugging and see earlier logs to find unbuildable providers." % (item, self.get_dependees_str(item))) 385 bb.event.fire(bb.event.NoProvider(item, dependees=self.get_dependees_str(item)), cfgData)
395 bb.event.fire(bb.event.NoProvider(item), cfgData)
396 raise bb.providers.NoProvider(item) 386 raise bb.providers.NoProvider(item)
397 387
398 if len(eligible) > 1 and foundUnique == False: 388 if len(eligible) > 1 and foundUnique == False:
@@ -400,8 +390,6 @@ class TaskData:
400 providers_list = [] 390 providers_list = []
401 for fn in eligible: 391 for fn in eligible:
402 providers_list.append(dataCache.pkg_fn[fn]) 392 providers_list.append(dataCache.pkg_fn[fn])
403 bb.msg.note(1, bb.msg.domain.Provider, "multiple providers are available for %s (%s);" % (item, ", ".join(providers_list)))
404 bb.msg.note(1, bb.msg.domain.Provider, "consider defining PREFERRED_PROVIDER_%s" % item)
405 bb.event.fire(bb.event.MultipleProviders(item, providers_list), cfgData) 393 bb.event.fire(bb.event.MultipleProviders(item, providers_list), cfgData)
406 self.consider_msgs_cache.append(item) 394 self.consider_msgs_cache.append(item)
407 395
@@ -431,16 +419,14 @@ class TaskData:
431 all_p = bb.providers.getRuntimeProviders(dataCache, item) 419 all_p = bb.providers.getRuntimeProviders(dataCache, item)
432 420
433 if not all_p: 421 if not all_p:
434 bb.msg.error(bb.msg.domain.Provider, "'%s' RDEPENDS/RRECOMMENDS or otherwise requires the runtime entity '%s' but it wasn't found in any PACKAGE or RPROVIDES variables" % (self.get_rdependees_str(item), item)) 422 bb.event.fire(bb.event.NoProvider(item, runtime=True, dependees=self.get_rdependees_str(item)), cfgData)
435 bb.event.fire(bb.event.NoProvider(item, runtime=True), cfgData)
436 raise bb.providers.NoRProvider(item) 423 raise bb.providers.NoRProvider(item)
437 424
438 eligible, numberPreferred = bb.providers.filterProvidersRunTime(all_p, item, cfgData, dataCache) 425 eligible, numberPreferred = bb.providers.filterProvidersRunTime(all_p, item, cfgData, dataCache)
439 eligible = [p for p in eligible if not self.getfn_id(p) in self.failed_fnids] 426 eligible = [p for p in eligible if not self.getfn_id(p) in self.failed_fnids]
440 427
441 if not eligible: 428 if not eligible:
442 bb.msg.error(bb.msg.domain.Provider, "'%s' RDEPENDS/RRECOMMENDS or otherwise requires the runtime entity '%s' but it wasn't found in any PACKAGE or RPROVIDES variables of any buildable targets.\nEnable debugging and see earlier logs to find unbuildable targets." % (self.get_rdependees_str(item), item)) 429 bb.event.fire(bb.event.NoProvider(item, runtime=True, dependees=self.get_rdependees_str(item)), cfgData)
443 bb.event.fire(bb.event.NoProvider(item, runtime=True), cfgData)
444 raise bb.providers.NoRProvider(item) 430 raise bb.providers.NoRProvider(item)
445 431
446 if len(eligible) > 1 and numberPreferred == 0: 432 if len(eligible) > 1 and numberPreferred == 0:
@@ -448,9 +434,7 @@ class TaskData:
448 providers_list = [] 434 providers_list = []
449 for fn in eligible: 435 for fn in eligible:
450 providers_list.append(dataCache.pkg_fn[fn]) 436 providers_list.append(dataCache.pkg_fn[fn])
451 bb.msg.note(2, bb.msg.domain.Provider, "multiple providers are available for runtime %s (%s);" % (item, ", ".join(providers_list))) 437 bb.event.fire(bb.event.MultipleProviders(item, providers_list, runtime=True), cfgData)
452 bb.msg.note(2, bb.msg.domain.Provider, "consider defining a PREFERRED_PROVIDER entry to match runtime %s" % item)
453 bb.event.fire(bb.event.MultipleProviders(item,providers_list, runtime=True), cfgData)
454 self.consider_msgs_cache.append(item) 438 self.consider_msgs_cache.append(item)
455 439
456 if numberPreferred > 1: 440 if numberPreferred > 1:
@@ -458,9 +442,7 @@ class TaskData:
458 providers_list = [] 442 providers_list = []
459 for fn in eligible: 443 for fn in eligible:
460 providers_list.append(dataCache.pkg_fn[fn]) 444 providers_list.append(dataCache.pkg_fn[fn])
461 bb.msg.note(2, bb.msg.domain.Provider, "multiple providers are available for runtime %s (top %s entries preferred) (%s);" % (item, numberPreferred, ", ".join(providers_list))) 445 bb.event.fire(bb.event.MultipleProviders(item, providers_list, runtime=True), cfgData)
462 bb.msg.note(2, bb.msg.domain.Provider, "consider defining only one PREFERRED_PROVIDER entry to match runtime %s" % item)
463 bb.event.fire(bb.event.MultipleProviders(item,providers_list, runtime=True), cfgData)
464 self.consider_msgs_cache.append(item) 446 self.consider_msgs_cache.append(item)
465 447
466 # run through the list until we find one that we can build 448 # run through the list until we find one that we can build
@@ -515,8 +497,9 @@ class TaskData:
515 self.fail_fnid(self.tasks_fnid[taskid], missing_list) 497 self.fail_fnid(self.tasks_fnid[taskid], missing_list)
516 498
517 if self.abort and targetid in self.external_targets: 499 if self.abort and targetid in self.external_targets:
518 bb.msg.error(bb.msg.domain.Provider, "Required build target '%s' has no buildable providers.\nMissing or unbuildable dependency chain was: %s" % (self.build_names_index[targetid], missing_list)) 500 target = self.build_names_index[targetid]
519 raise bb.providers.NoProvider 501 bb.msg.error(bb.msg.domain.Provider, "Required build target '%s' has no buildable providers.\nMissing or unbuildable dependency chain was: %s" % (target, missing_list))
502 raise bb.providers.NoProvider(target)
520 503
521 def remove_runtarget(self, targetid, missing_list = []): 504 def remove_runtarget(self, targetid, missing_list = []):
522 """ 505 """
@@ -539,7 +522,7 @@ class TaskData:
539 Resolve all unresolved build and runtime targets 522 Resolve all unresolved build and runtime targets
540 """ 523 """
541 bb.msg.note(1, bb.msg.domain.TaskData, "Resolving any missing task queue dependencies") 524 bb.msg.note(1, bb.msg.domain.TaskData, "Resolving any missing task queue dependencies")
542 while 1: 525 while True:
543 added = 0 526 added = 0
544 for target in self.get_unresolved_build_targets(dataCache): 527 for target in self.get_unresolved_build_targets(dataCache):
545 try: 528 try:
@@ -548,10 +531,6 @@ class TaskData:
548 except bb.providers.NoProvider: 531 except bb.providers.NoProvider:
549 targetid = self.getbuild_id(target) 532 targetid = self.getbuild_id(target)
550 if self.abort and targetid in self.external_targets: 533 if self.abort and targetid in self.external_targets:
551 if self.get_rdependees_str(target):
552 bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (target, self.get_dependees_str(target)))
553 else:
554 bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (target))
555 raise 534 raise
556 self.remove_buildtarget(targetid) 535 self.remove_buildtarget(targetid)
557 for target in self.get_unresolved_run_targets(dataCache): 536 for target in self.get_unresolved_run_targets(dataCache):
@@ -594,9 +573,9 @@ class TaskData:
594 bb.msg.debug(3, bb.msg.domain.TaskData, "tasks:") 573 bb.msg.debug(3, bb.msg.domain.TaskData, "tasks:")
595 for task in range(len(self.tasks_name)): 574 for task in range(len(self.tasks_name)):
596 bb.msg.debug(3, bb.msg.domain.TaskData, " (%s)%s - %s: %s" % ( 575 bb.msg.debug(3, bb.msg.domain.TaskData, " (%s)%s - %s: %s" % (
597 task, 576 task,
598 self.fn_index[self.tasks_fnid[task]], 577 self.fn_index[self.tasks_fnid[task]],
599 self.tasks_name[task], 578 self.tasks_name[task],
600 self.tasks_tdepends[task])) 579 self.tasks_tdepends[task]))
601 580
602 bb.msg.debug(3, bb.msg.domain.TaskData, "dependency ids (per fn):") 581 bb.msg.debug(3, bb.msg.domain.TaskData, "dependency ids (per fn):")
@@ -606,5 +585,3 @@ class TaskData:
606 bb.msg.debug(3, bb.msg.domain.TaskData, "runtime dependency ids (per fn):") 585 bb.msg.debug(3, bb.msg.domain.TaskData, "runtime dependency ids (per fn):")
607 for fnid in self.rdepids: 586 for fnid in self.rdepids:
608 bb.msg.debug(3, bb.msg.domain.TaskData, " %s %s: %s" % (fnid, self.fn_index[fnid], self.rdepids[fnid])) 587 bb.msg.debug(3, bb.msg.domain.TaskData, " %s %s: %s" % (fnid, self.fn_index[fnid], self.rdepids[fnid]))
609
610
diff --git a/bitbake/lib/bb/ui/__init__.py b/bitbake/lib/bb/ui/__init__.py
index c6a377a8e6..a4805ed028 100644
--- a/bitbake/lib/bb/ui/__init__.py
+++ b/bitbake/lib/bb/ui/__init__.py
@@ -15,4 +15,3 @@
15# You should have received a copy of the GNU General Public License along 15# You should have received a copy of the GNU General Public License along
16# with this program; if not, write to the Free Software Foundation, Inc., 16# with this program; if not, write to the Free Software Foundation, Inc.,
17# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18
diff --git a/bitbake/lib/bb/ui/crumbs/__init__.py b/bitbake/lib/bb/ui/crumbs/__init__.py
index c6a377a8e6..a4805ed028 100644
--- a/bitbake/lib/bb/ui/crumbs/__init__.py
+++ b/bitbake/lib/bb/ui/crumbs/__init__.py
@@ -15,4 +15,3 @@
15# You should have received a copy of the GNU General Public License along 15# You should have received a copy of the GNU General Public License along
16# with this program; if not, write to the Free Software Foundation, Inc., 16# with this program; if not, write to the Free Software Foundation, Inc.,
17# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18
diff --git a/bitbake/lib/bb/ui/crumbs/buildmanager.py b/bitbake/lib/bb/ui/crumbs/buildmanager.py
index f89e8eefd4..e858d75e4c 100644
--- a/bitbake/lib/bb/ui/crumbs/buildmanager.py
+++ b/bitbake/lib/bb/ui/crumbs/buildmanager.py
@@ -28,7 +28,7 @@ import time
28class BuildConfiguration: 28class BuildConfiguration:
29 """ Represents a potential *or* historic *or* concrete build. It 29 """ Represents a potential *or* historic *or* concrete build. It
30 encompasses all the things that we need to tell bitbake to do to make it 30 encompasses all the things that we need to tell bitbake to do to make it
31 build what we want it to build. 31 build what we want it to build.
32 32
33 It also stored the metadata URL and the set of possible machines (and the 33 It also stored the metadata URL and the set of possible machines (and the
34 distros / images / uris for these. Apart from the metdata URL these are 34 distros / images / uris for these. Apart from the metdata URL these are
@@ -73,34 +73,33 @@ class BuildConfiguration:
73 return self.urls 73 return self.urls
74 74
75 # It might be a lot lot better if we stored these in like, bitbake conf 75 # It might be a lot lot better if we stored these in like, bitbake conf
76 # file format. 76 # file format.
77 @staticmethod 77 @staticmethod
78 def load_from_file (filename): 78 def load_from_file (filename):
79 f = open (filename, "r")
80 79
81 conf = BuildConfiguration() 80 conf = BuildConfiguration()
82 for line in f.readlines(): 81 with open(filename, "r") as f:
83 data = line.split (";")[1] 82 for line in f:
84 if (line.startswith ("metadata-url;")): 83 data = line.split (";")[1]
85 conf.metadata_url = data.strip() 84 if (line.startswith ("metadata-url;")):
86 continue 85 conf.metadata_url = data.strip()
87 if (line.startswith ("url;")): 86 continue
88 conf.urls += [data.strip()] 87 if (line.startswith ("url;")):
89 continue 88 conf.urls += [data.strip()]
90 if (line.startswith ("extra-url;")): 89 continue
91 conf.extra_urls += [data.strip()] 90 if (line.startswith ("extra-url;")):
92 continue 91 conf.extra_urls += [data.strip()]
93 if (line.startswith ("machine;")): 92 continue
94 conf.machine = data.strip() 93 if (line.startswith ("machine;")):
95 continue 94 conf.machine = data.strip()
96 if (line.startswith ("distribution;")): 95 continue
97 conf.distro = data.strip() 96 if (line.startswith ("distribution;")):
98 continue 97 conf.distro = data.strip()
99 if (line.startswith ("image;")): 98 continue
100 conf.image = data.strip() 99 if (line.startswith ("image;")):
101 continue 100 conf.image = data.strip()
101 continue
102 102
103 f.close ()
104 return conf 103 return conf
105 104
106 # Serialise to a file. This is part of the build process and we use this 105 # Serialise to a file. This is part of the build process and we use this
@@ -140,13 +139,13 @@ class BuildResult(gobject.GObject):
140 ".conf" in the directory for the build. 139 ".conf" in the directory for the build.
141 140
142 This is GObject so that it can be included in the TreeStore.""" 141 This is GObject so that it can be included in the TreeStore."""
143 142
144 (STATE_COMPLETE, STATE_FAILED, STATE_ONGOING) = \ 143 (STATE_COMPLETE, STATE_FAILED, STATE_ONGOING) = \
145 (0, 1, 2) 144 (0, 1, 2)
146 145
147 def __init__ (self, parent, identifier): 146 def __init__ (self, parent, identifier):
148 gobject.GObject.__init__ (self) 147 gobject.GObject.__init__ (self)
149 self.date = None 148 self.date = None
150 149
151 self.files = [] 150 self.files = []
152 self.status = None 151 self.status = None
@@ -157,8 +156,8 @@ class BuildResult(gobject.GObject):
157 # format build-<year><month><day>-<ordinal> we can easily 156 # format build-<year><month><day>-<ordinal> we can easily
158 # pull it out. 157 # pull it out.
159 # TODO: Better to stat a file? 158 # TODO: Better to stat a file?
160 (_ , date, revision) = identifier.split ("-") 159 (_, date, revision) = identifier.split ("-")
161 print date 160 print(date)
162 161
163 year = int (date[0:4]) 162 year = int (date[0:4])
164 month = int (date[4:6]) 163 month = int (date[4:6])
@@ -181,7 +180,7 @@ class BuildResult(gobject.GObject):
181 self.add_file (file) 180 self.add_file (file)
182 181
183 def add_file (self, file): 182 def add_file (self, file):
184 # Just add the file for now. Don't care about the type. 183 # Just add the file for now. Don't care about the type.
185 self.files += [(file, None)] 184 self.files += [(file, None)]
186 185
187class BuildManagerModel (gtk.TreeStore): 186class BuildManagerModel (gtk.TreeStore):
@@ -194,7 +193,7 @@ class BuildManagerModel (gtk.TreeStore):
194 193
195 def __init__ (self): 194 def __init__ (self):
196 gtk.TreeStore.__init__ (self, 195 gtk.TreeStore.__init__ (self,
197 gobject.TYPE_STRING, 196 gobject.TYPE_STRING,
198 gobject.TYPE_STRING, 197 gobject.TYPE_STRING,
199 gobject.TYPE_STRING, 198 gobject.TYPE_STRING,
200 gobject.TYPE_STRING, 199 gobject.TYPE_STRING,
@@ -207,7 +206,7 @@ class BuildManager (gobject.GObject):
207 "results" directory but is also used for starting a new build.""" 206 "results" directory but is also used for starting a new build."""
208 207
209 __gsignals__ = { 208 __gsignals__ = {
210 'population-finished' : (gobject.SIGNAL_RUN_LAST, 209 'population-finished' : (gobject.SIGNAL_RUN_LAST,
211 gobject.TYPE_NONE, 210 gobject.TYPE_NONE,
212 ()), 211 ()),
213 'populate-error' : (gobject.SIGNAL_RUN_LAST, 212 'populate-error' : (gobject.SIGNAL_RUN_LAST,
@@ -220,13 +219,13 @@ class BuildManager (gobject.GObject):
220 date = long (time.mktime (result.date.timetuple())) 219 date = long (time.mktime (result.date.timetuple()))
221 220
222 # Add a top level entry for the build 221 # Add a top level entry for the build
223 222
224 self.model.set (iter, 223 self.model.set (iter,
225 BuildManagerModel.COL_IDENT, result.identifier, 224 BuildManagerModel.COL_IDENT, result.identifier,
226 BuildManagerModel.COL_DESC, result.conf.image, 225 BuildManagerModel.COL_DESC, result.conf.image,
227 BuildManagerModel.COL_MACHINE, result.conf.machine, 226 BuildManagerModel.COL_MACHINE, result.conf.machine,
228 BuildManagerModel.COL_DISTRO, result.conf.distro, 227 BuildManagerModel.COL_DISTRO, result.conf.distro,
229 BuildManagerModel.COL_BUILD_RESULT, result, 228 BuildManagerModel.COL_BUILD_RESULT, result,
230 BuildManagerModel.COL_DATE, date, 229 BuildManagerModel.COL_DATE, date,
231 BuildManagerModel.COL_STATE, result.state) 230 BuildManagerModel.COL_STATE, result.state)
232 231
@@ -257,7 +256,7 @@ class BuildManager (gobject.GObject):
257 256
258 while (iter): 257 while (iter):
259 (ident, state) = self.model.get(iter, 258 (ident, state) = self.model.get(iter,
260 BuildManagerModel.COL_IDENT, 259 BuildManagerModel.COL_IDENT,
261 BuildManagerModel.COL_STATE) 260 BuildManagerModel.COL_STATE)
262 261
263 if state == BuildResult.STATE_ONGOING: 262 if state == BuildResult.STATE_ONGOING:
@@ -385,8 +384,8 @@ class BuildManager (gobject.GObject):
385 build_directory]) 384 build_directory])
386 server.runCommand(["buildTargets", [conf.image], "rootfs"]) 385 server.runCommand(["buildTargets", [conf.image], "rootfs"])
387 386
388 except Exception, e: 387 except Exception as e:
389 print e 388 print(e)
390 389
391class BuildManagerTreeView (gtk.TreeView): 390class BuildManagerTreeView (gtk.TreeView):
392 """ The tree view for the build manager. This shows the historic builds 391 """ The tree view for the build manager. This shows the historic builds
@@ -422,29 +421,29 @@ class BuildManagerTreeView (gtk.TreeView):
422 421
423 # Misc descriptiony thing 422 # Misc descriptiony thing
424 renderer = gtk.CellRendererText () 423 renderer = gtk.CellRendererText ()
425 col = gtk.TreeViewColumn (None, renderer, 424 col = gtk.TreeViewColumn (None, renderer,
426 text=BuildManagerModel.COL_DESC) 425 text=BuildManagerModel.COL_DESC)
427 self.append_column (col) 426 self.append_column (col)
428 427
429 # Machine 428 # Machine
430 renderer = gtk.CellRendererText () 429 renderer = gtk.CellRendererText ()
431 col = gtk.TreeViewColumn ("Machine", renderer, 430 col = gtk.TreeViewColumn ("Machine", renderer,
432 text=BuildManagerModel.COL_MACHINE) 431 text=BuildManagerModel.COL_MACHINE)
433 self.append_column (col) 432 self.append_column (col)
434 433
435 # distro 434 # distro
436 renderer = gtk.CellRendererText () 435 renderer = gtk.CellRendererText ()
437 col = gtk.TreeViewColumn ("Distribution", renderer, 436 col = gtk.TreeViewColumn ("Distribution", renderer,
438 text=BuildManagerModel.COL_DISTRO) 437 text=BuildManagerModel.COL_DISTRO)
439 self.append_column (col) 438 self.append_column (col)
440 439
441 # date (using a custom function for formatting the cell contents it 440 # date (using a custom function for formatting the cell contents it
442 # takes epoch -> human readable string) 441 # takes epoch -> human readable string)
443 renderer = gtk.CellRendererText () 442 renderer = gtk.CellRendererText ()
444 col = gtk.TreeViewColumn ("Date", renderer, 443 col = gtk.TreeViewColumn ("Date", renderer,
445 text=BuildManagerModel.COL_DATE) 444 text=BuildManagerModel.COL_DATE)
446 self.append_column (col) 445 self.append_column (col)
447 col.set_cell_data_func (renderer, 446 col.set_cell_data_func (renderer,
448 self.date_format_custom_cell_data_func) 447 self.date_format_custom_cell_data_func)
449 448
450 # For status. 449 # For status.
@@ -454,4 +453,3 @@ class BuildManagerTreeView (gtk.TreeView):
454 self.append_column (col) 453 self.append_column (col)
455 col.set_cell_data_func (renderer, 454 col.set_cell_data_func (renderer,
456 self.state_format_custom_cell_data_fun) 455 self.state_format_custom_cell_data_fun)
457
diff --git a/bitbake/lib/bb/ui/crumbs/runningbuild.py b/bitbake/lib/bb/ui/crumbs/runningbuild.py
index 18afd6674d..b4416ecbb3 100644
--- a/bitbake/lib/bb/ui/crumbs/runningbuild.py
+++ b/bitbake/lib/bb/ui/crumbs/runningbuild.py
@@ -24,7 +24,7 @@ import gobject
24class RunningBuildModel (gtk.TreeStore): 24class RunningBuildModel (gtk.TreeStore):
25 (COL_TYPE, COL_PACKAGE, COL_TASK, COL_MESSAGE, COL_ICON, COL_ACTIVE) = (0, 1, 2, 3, 4, 5) 25 (COL_TYPE, COL_PACKAGE, COL_TASK, COL_MESSAGE, COL_ICON, COL_ACTIVE) = (0, 1, 2, 3, 4, 5)
26 def __init__ (self): 26 def __init__ (self):
27 gtk.TreeStore.__init__ (self, 27 gtk.TreeStore.__init__ (self,
28 gobject.TYPE_STRING, 28 gobject.TYPE_STRING,
29 gobject.TYPE_STRING, 29 gobject.TYPE_STRING,
30 gobject.TYPE_STRING, 30 gobject.TYPE_STRING,
@@ -34,7 +34,7 @@ class RunningBuildModel (gtk.TreeStore):
34 34
35class RunningBuild (gobject.GObject): 35class RunningBuild (gobject.GObject):
36 __gsignals__ = { 36 __gsignals__ = {
37 'build-succeeded' : (gobject.SIGNAL_RUN_LAST, 37 'build-succeeded' : (gobject.SIGNAL_RUN_LAST,
38 gobject.TYPE_NONE, 38 gobject.TYPE_NONE,
39 ()), 39 ()),
40 'build-failed' : (gobject.SIGNAL_RUN_LAST, 40 'build-failed' : (gobject.SIGNAL_RUN_LAST,
@@ -63,7 +63,7 @@ class RunningBuild (gobject.GObject):
63 # for the message. 63 # for the message.
64 if hasattr(event, 'pid'): 64 if hasattr(event, 'pid'):
65 pid = event.pid 65 pid = event.pid
66 if self.pids_to_task.has_key(pid): 66 if pid in self.pids_to_task:
67 (package, task) = self.pids_to_task[pid] 67 (package, task) = self.pids_to_task[pid]
68 parent = self.tasks_to_iter[(package, task)] 68 parent = self.tasks_to_iter[(package, task)]
69 69
@@ -82,29 +82,29 @@ class RunningBuild (gobject.GObject):
82 82
83 # Add the message to the tree either at the top level if parent is 83 # Add the message to the tree either at the top level if parent is
84 # None otherwise as a descendent of a task. 84 # None otherwise as a descendent of a task.
85 self.model.append (parent, 85 self.model.append (parent,
86 (event.__name__.split()[-1], # e.g. MsgWarn, MsgError 86 (event.__name__.split()[-1], # e.g. MsgWarn, MsgError
87 package, 87 package,
88 task, 88 task,
89 event._message, 89 event._message,
90 icon, 90 icon,
91 False)) 91 False))
92 elif isinstance(event, bb.build.TaskStarted): 92 elif isinstance(event, bb.build.TaskStarted):
93 (package, task) = (event._package, event._task) 93 (package, task) = (event._package, event._task)
94 94
95 # Save out this PID. 95 # Save out this PID.
96 self.pids_to_task[pid] = (package,task) 96 self.pids_to_task[pid] = (package, task)
97 97
98 # Check if we already have this package in our model. If so then 98 # Check if we already have this package in our model. If so then
99 # that can be the parent for the task. Otherwise we create a new 99 # that can be the parent for the task. Otherwise we create a new
100 # top level for the package. 100 # top level for the package.
101 if (self.tasks_to_iter.has_key ((package, None))): 101 if ((package, None) in self.tasks_to_iter):
102 parent = self.tasks_to_iter[(package, None)] 102 parent = self.tasks_to_iter[(package, None)]
103 else: 103 else:
104 parent = self.model.append (None, (None, 104 parent = self.model.append (None, (None,
105 package, 105 package,
106 None, 106 None,
107 "Package: %s" % (package), 107 "Package: %s" % (package),
108 None, 108 None,
109 False)) 109 False))
110 self.tasks_to_iter[(package, None)] = parent 110 self.tasks_to_iter[(package, None)] = parent
@@ -114,10 +114,10 @@ class RunningBuild (gobject.GObject):
114 self.model.set(parent, self.model.COL_ICON, "gtk-execute") 114 self.model.set(parent, self.model.COL_ICON, "gtk-execute")
115 115
116 # Add an entry in the model for this task 116 # Add an entry in the model for this task
117 i = self.model.append (parent, (None, 117 i = self.model.append (parent, (None,
118 package, 118 package,
119 task, 119 task,
120 "Task: %s" % (task), 120 "Task: %s" % (task),
121 None, 121 None,
122 False)) 122 False))
123 123
@@ -176,5 +176,3 @@ class RunningBuildTreeView (gtk.TreeView):
176 renderer = gtk.CellRendererText () 176 renderer = gtk.CellRendererText ()
177 col = gtk.TreeViewColumn ("Message", renderer, text=3) 177 col = gtk.TreeViewColumn ("Message", renderer, text=3)
178 self.append_column (col) 178 self.append_column (col)
179
180
diff --git a/bitbake/lib/bb/ui/depexp.py b/bitbake/lib/bb/ui/depexp.py
index cfa5b6564e..1cd58cac18 100644
--- a/bitbake/lib/bb/ui/depexp.py
+++ b/bitbake/lib/bb/ui/depexp.py
@@ -201,14 +201,14 @@ def init(server, eventHandler):
201 try: 201 try:
202 cmdline = server.runCommand(["getCmdLineAction"]) 202 cmdline = server.runCommand(["getCmdLineAction"])
203 if not cmdline or cmdline[0] != "generateDotGraph": 203 if not cmdline or cmdline[0] != "generateDotGraph":
204 print "This UI is only compatible with the -g option" 204 print("This UI is only compatible with the -g option")
205 return 205 return
206 ret = server.runCommand(["generateDepTreeEvent", cmdline[1], cmdline[2]]) 206 ret = server.runCommand(["generateDepTreeEvent", cmdline[1], cmdline[2]])
207 if ret != True: 207 if ret != True:
208 print "Couldn't run command! %s" % ret 208 print("Couldn't run command! %s" % ret)
209 return 209 return
210 except xmlrpclib.Fault, x: 210 except xmlrpclib.Fault as x:
211 print "XMLRPC Fault getting commandline:\n %s" % x 211 print("XMLRPC Fault getting commandline:\n %s" % x)
212 return 212 return
213 213
214 shutdown = 0 214 shutdown = 0
@@ -233,8 +233,8 @@ def init(server, eventHandler):
233 x = event.sofar 233 x = event.sofar
234 y = event.total 234 y = event.total
235 if x == y: 235 if x == y:
236 print("\nParsing finished. %d cached, %d parsed, %d skipped, %d masked, %d errors." 236 print(("\nParsing finished. %d cached, %d parsed, %d skipped, %d masked, %d errors."
237 % ( event.cached, event.parsed, event.skipped, event.masked, event.errors)) 237 % ( event.cached, event.parsed, event.skipped, event.masked, event.errors)))
238 pbar.hide() 238 pbar.hide()
239 gtk.gdk.threads_enter() 239 gtk.gdk.threads_enter()
240 pbar.progress.set_fraction(float(x)/float(y)) 240 pbar.progress.set_fraction(float(x)/float(y))
@@ -250,7 +250,7 @@ def init(server, eventHandler):
250 if isinstance(event, bb.command.CookerCommandCompleted): 250 if isinstance(event, bb.command.CookerCommandCompleted):
251 continue 251 continue
252 if isinstance(event, bb.command.CookerCommandFailed): 252 if isinstance(event, bb.command.CookerCommandFailed):
253 print "Command execution failed: %s" % event.error 253 print("Command execution failed: %s" % event.error)
254 break 254 break
255 if isinstance(event, bb.cooker.CookerExit): 255 if isinstance(event, bb.cooker.CookerExit):
256 break 256 break
@@ -259,14 +259,13 @@ def init(server, eventHandler):
259 259
260 except KeyboardInterrupt: 260 except KeyboardInterrupt:
261 if shutdown == 2: 261 if shutdown == 2:
262 print "\nThird Keyboard Interrupt, exit.\n" 262 print("\nThird Keyboard Interrupt, exit.\n")
263 break 263 break
264 if shutdown == 1: 264 if shutdown == 1:
265 print "\nSecond Keyboard Interrupt, stopping...\n" 265 print("\nSecond Keyboard Interrupt, stopping...\n")
266 server.runCommand(["stateStop"]) 266 server.runCommand(["stateStop"])
267 if shutdown == 0: 267 if shutdown == 0:
268 print "\nKeyboard Interrupt, closing down...\n" 268 print("\nKeyboard Interrupt, closing down...\n")
269 server.runCommand(["stateShutdown"]) 269 server.runCommand(["stateShutdown"])
270 shutdown = shutdown + 1 270 shutdown = shutdown + 1
271 pass 271 pass
272
diff --git a/bitbake/lib/bb/ui/goggle.py b/bitbake/lib/bb/ui/goggle.py
index 94995d82db..2cfa002f8a 100644
--- a/bitbake/lib/bb/ui/goggle.py
+++ b/bitbake/lib/bb/ui/goggle.py
@@ -25,13 +25,13 @@ from bb.ui.crumbs.runningbuild import RunningBuildTreeView, RunningBuild
25 25
26def event_handle_idle_func (eventHandler, build): 26def event_handle_idle_func (eventHandler, build):
27 27
28 # Consume as many messages as we can in the time available to us 28 # Consume as many messages as we can in the time available to us
29 event = eventHandler.getEvent() 29 event = eventHandler.getEvent()
30 while event: 30 while event:
31 build.handle_event (event) 31 build.handle_event (event)
32 event = eventHandler.getEvent() 32 event = eventHandler.getEvent()
33 33
34 return True 34 return True
35 35
36class MainWindow (gtk.Window): 36class MainWindow (gtk.Window):
37 def __init__ (self): 37 def __init__ (self):
@@ -55,15 +55,15 @@ def init (server, eventHandler):
55 window.cur_build_tv.set_model (running_build.model) 55 window.cur_build_tv.set_model (running_build.model)
56 try: 56 try:
57 cmdline = server.runCommand(["getCmdLineAction"]) 57 cmdline = server.runCommand(["getCmdLineAction"])
58 print cmdline 58 print(cmdline)
59 if not cmdline: 59 if not cmdline:
60 return 1 60 return 1
61 ret = server.runCommand(cmdline) 61 ret = server.runCommand(cmdline)
62 if ret != True: 62 if ret != True:
63 print "Couldn't get default commandline! %s" % ret 63 print("Couldn't get default commandline! %s" % ret)
64 return 1 64 return 1
65 except xmlrpclib.Fault, x: 65 except xmlrpclib.Fault as x:
66 print "XMLRPC Fault getting commandline:\n %s" % x 66 print("XMLRPC Fault getting commandline:\n %s" % x)
67 return 1 67 return 1
68 68
69 # Use a timeout function for probing the event queue to find out if we 69 # Use a timeout function for probing the event queue to find out if we
@@ -74,4 +74,3 @@ def init (server, eventHandler):
74 running_build) 74 running_build)
75 75
76 gtk.main() 76 gtk.main()
77
diff --git a/bitbake/lib/bb/ui/knotty.py b/bitbake/lib/bb/ui/knotty.py
index ed26bb2b4c..f81759abf8 100644
--- a/bitbake/lib/bb/ui/knotty.py
+++ b/bitbake/lib/bb/ui/knotty.py
@@ -18,8 +18,9 @@
18# with this program; if not, write to the Free Software Foundation, Inc., 18# with this program; if not, write to the Free Software Foundation, Inc.,
19# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 19# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 20
21import os 21from __future__ import division
22 22
23import os
23import sys 24import sys
24import itertools 25import itertools
25import xmlrpclib 26import xmlrpclib
@@ -44,10 +45,10 @@ def init(server, eventHandler):
44 return 1 45 return 1
45 ret = server.runCommand(cmdline) 46 ret = server.runCommand(cmdline)
46 if ret != True: 47 if ret != True:
47 print "Couldn't get default commandline! %s" % ret 48 print("Couldn't get default commandline! %s" % ret)
48 return 1 49 return 1
49 except xmlrpclib.Fault, x: 50 except xmlrpclib.Fault as x:
50 print "XMLRPC Fault getting commandline:\n %s" % x 51 print("XMLRPC Fault getting commandline:\n %s" % x)
51 return 1 52 return 1
52 53
53 shutdown = 0 54 shutdown = 0
@@ -65,39 +66,39 @@ def init(server, eventHandler):
65 if shutdown and helper.needUpdate: 66 if shutdown and helper.needUpdate:
66 activetasks, failedtasks = helper.getTasks() 67 activetasks, failedtasks = helper.getTasks()
67 if activetasks: 68 if activetasks:
68 print "Waiting for %s active tasks to finish:" % len(activetasks) 69 print("Waiting for %s active tasks to finish:" % len(activetasks))
69 tasknum = 1 70 tasknum = 1
70 for task in activetasks: 71 for task in activetasks:
71 print "%s: %s (pid %s)" % (tasknum, activetasks[task]["title"], task) 72 print("%s: %s (pid %s)" % (tasknum, activetasks[task]["title"], task))
72 tasknum = tasknum + 1 73 tasknum = tasknum + 1
73 74
74 if isinstance(event, bb.msg.MsgPlain): 75 if isinstance(event, bb.msg.MsgPlain):
75 print event._message 76 print(event._message)
76 continue 77 continue
77 if isinstance(event, bb.msg.MsgDebug): 78 if isinstance(event, bb.msg.MsgDebug):
78 print 'DEBUG: ' + event._message 79 print('DEBUG: ' + event._message)
79 continue 80 continue
80 if isinstance(event, bb.msg.MsgNote): 81 if isinstance(event, bb.msg.MsgNote):
81 print 'NOTE: ' + event._message 82 print('NOTE: ' + event._message)
82 continue 83 continue
83 if isinstance(event, bb.msg.MsgWarn): 84 if isinstance(event, bb.msg.MsgWarn):
84 print 'WARNING: ' + event._message 85 print('WARNING: ' + event._message)
85 continue 86 continue
86 if isinstance(event, bb.msg.MsgError): 87 if isinstance(event, bb.msg.MsgError):
87 return_value = 1 88 return_value = 1
88 print 'ERROR: ' + event._message 89 print('ERROR: ' + event._message)
89 continue 90 continue
90 if isinstance(event, bb.msg.MsgFatal): 91 if isinstance(event, bb.msg.MsgFatal):
91 return_value = 1 92 return_value = 1
92 print 'FATAL: ' + event._message 93 print('FATAL: ' + event._message)
93 break 94 break
94 if isinstance(event, bb.build.TaskFailed): 95 if isinstance(event, bb.build.TaskFailed):
95 return_value = 1 96 return_value = 1
96 logfile = event.logfile 97 logfile = event.logfile
97 if logfile: 98 if logfile and os.path.exists(logfile):
98 print "ERROR: Logfile of failure stored in: %s" % logfile 99 print("ERROR: Logfile of failure stored in: %s" % logfile)
99 if 1 or includelogs: 100 if 1 or includelogs:
100 print "Log data follows:" 101 print("Log data follows:")
101 f = open(logfile, "r") 102 f = open(logfile, "r")
102 lines = [] 103 lines = []
103 while True: 104 while True:
@@ -110,19 +111,19 @@ def init(server, eventHandler):
110 if len(lines) > int(loglines): 111 if len(lines) > int(loglines):
111 lines.pop(0) 112 lines.pop(0)
112 else: 113 else:
113 print '| %s' % l 114 print('| %s' % l)
114 f.close() 115 f.close()
115 if lines: 116 if lines:
116 for line in lines: 117 for line in lines:
117 print line 118 print(line)
118 if isinstance(event, bb.build.TaskBase): 119 if isinstance(event, bb.build.TaskBase):
119 print "NOTE: %s" % event._message 120 print("NOTE: %s" % event._message)
120 continue 121 continue
121 if isinstance(event, bb.event.ParseProgress): 122 if isinstance(event, bb.event.ParseProgress):
122 x = event.sofar 123 x = event.sofar
123 y = event.total 124 y = event.total
124 if os.isatty(sys.stdout.fileno()): 125 if os.isatty(sys.stdout.fileno()):
125 sys.stdout.write("\rNOTE: Handling BitBake files: %s (%04d/%04d) [%2d %%]" % ( parsespin.next(), x, y, x*100/y ) ) 126 sys.stdout.write("\rNOTE: Handling BitBake files: %s (%04d/%04d) [%2d %%]" % ( next(parsespin), x, y, x*100//y ) )
126 sys.stdout.flush() 127 sys.stdout.flush()
127 else: 128 else:
128 if x == 1: 129 if x == 1:
@@ -132,8 +133,8 @@ def init(server, eventHandler):
132 sys.stdout.write("done.") 133 sys.stdout.write("done.")
133 sys.stdout.flush() 134 sys.stdout.flush()
134 if x == y: 135 if x == y:
135 print("\nParsing of %d .bb files complete (%d cached, %d parsed). %d targets, %d skipped, %d masked, %d errors." 136 print(("\nParsing of %d .bb files complete (%d cached, %d parsed). %d targets, %d skipped, %d masked, %d errors."
136 % ( event.total, event.cached, event.parsed, event.virtuals, event.skipped, event.masked, event.errors)) 137 % ( event.total, event.cached, event.parsed, event.virtuals, event.skipped, event.masked, event.errors)))
137 continue 138 continue
138 139
139 if isinstance(event, bb.command.CookerCommandCompleted): 140 if isinstance(event, bb.command.CookerCommandCompleted):
@@ -143,39 +144,48 @@ def init(server, eventHandler):
143 continue 144 continue
144 if isinstance(event, bb.command.CookerCommandFailed): 145 if isinstance(event, bb.command.CookerCommandFailed):
145 return_value = 1 146 return_value = 1
146 print "Command execution failed: %s" % event.error 147 print("Command execution failed: %s" % event.error)
147 break 148 break
148 if isinstance(event, bb.cooker.CookerExit): 149 if isinstance(event, bb.cooker.CookerExit):
149 break 150 break
150
151 # ignore
152 if isinstance(event, bb.event.BuildStarted):
153 continue
154 if isinstance(event, bb.event.BuildCompleted):
155 continue
156 if isinstance(event, bb.event.MultipleProviders): 151 if isinstance(event, bb.event.MultipleProviders):
152 print("NOTE: multiple providers are available for %s%s (%s)" % (event._is_runtime and "runtime " or "",
153 event._item,
154 ", ".join(event._candidates)))
155 print("NOTE: consider defining a PREFERRED_PROVIDER entry to match %s" % event._item)
156 continue
157 if isinstance(event, bb.event.NoProvider):
158 if event._runtime:
159 r = "R"
160 else:
161 r = ""
162
163 if event._dependees:
164 print("ERROR: Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)" % (r, event._item, ", ".join(event._dependees), r))
165 else:
166 print("ERROR: Nothing %sPROVIDES '%s'" % (r, event._item))
157 continue 167 continue
158 if isinstance(event, bb.runqueue.runQueueEvent): 168
159 continue 169 # ignore
160 if isinstance(event, bb.runqueue.runQueueExitWait): 170 if isinstance(event, (bb.event.BuildBase,
161 continue 171 bb.event.StampUpdate,
162 if isinstance(event, bb.event.StampUpdate): 172 bb.event.ConfigParsed,
163 continue 173 bb.event.RecipeParsed,
164 if isinstance(event, bb.event.ConfigParsed): 174 bb.runqueue.runQueueEvent,
165 continue 175 bb.runqueue.runQueueExitWait)):
166 if isinstance(event, bb.event.RecipeParsed):
167 continue 176 continue
168 print "Unknown Event: %s" % event 177
178 print("Unknown Event: %s" % event)
169 179
170 except KeyboardInterrupt: 180 except KeyboardInterrupt:
171 if shutdown == 2: 181 if shutdown == 2:
172 print "\nThird Keyboard Interrupt, exit.\n" 182 print("\nThird Keyboard Interrupt, exit.\n")
173 break 183 break
174 if shutdown == 1: 184 if shutdown == 1:
175 print "\nSecond Keyboard Interrupt, stopping...\n" 185 print("\nSecond Keyboard Interrupt, stopping...\n")
176 server.runCommand(["stateStop"]) 186 server.runCommand(["stateStop"])
177 if shutdown == 0: 187 if shutdown == 0:
178 print "\nKeyboard Interrupt, closing down...\n" 188 print("\nKeyboard Interrupt, closing down...\n")
179 server.runCommand(["stateShutdown"]) 189 server.runCommand(["stateShutdown"])
180 shutdown = shutdown + 1 190 shutdown = shutdown + 1
181 pass 191 pass
diff --git a/bitbake/lib/bb/ui/ncurses.py b/bitbake/lib/bb/ui/ncurses.py
index 14310dc124..3fed4c58a8 100644
--- a/bitbake/lib/bb/ui/ncurses.py
+++ b/bitbake/lib/bb/ui/ncurses.py
@@ -44,6 +44,8 @@
44 44
45""" 45"""
46 46
47from __future__ import division
48
47import os, sys, curses, itertools, time 49import os, sys, curses, itertools, time
48import bb 50import bb
49import xmlrpclib 51import xmlrpclib
@@ -136,7 +138,7 @@ class NCursesUI:
136 """Thread Activity Window""" 138 """Thread Activity Window"""
137 def __init__( self, x, y, width, height ): 139 def __init__( self, x, y, width, height ):
138 NCursesUI.DecoratedWindow.__init__( self, "Thread Activity", x, y, width, height ) 140 NCursesUI.DecoratedWindow.__init__( self, "Thread Activity", x, y, width, height )
139 141
140 def setStatus( self, thread, text ): 142 def setStatus( self, thread, text ):
141 line = "%02d: %s" % ( thread, text ) 143 line = "%02d: %s" % ( thread, text )
142 width = self.dimensions[WIDTH] 144 width = self.dimensions[WIDTH]
@@ -199,8 +201,8 @@ class NCursesUI:
199 201
200 main_left = 0 202 main_left = 0
201 main_top = 0 203 main_top = 0
202 main_height = ( height / 3 * 2 ) 204 main_height = ( height // 3 * 2 )
203 main_width = ( width / 3 ) * 2 205 main_width = ( width // 3 ) * 2
204 clo_left = main_left 206 clo_left = main_left
205 clo_top = main_top + main_height 207 clo_top = main_top + main_height
206 clo_height = height - main_height - main_top - 1 208 clo_height = height - main_height - main_top - 1
@@ -225,17 +227,17 @@ class NCursesUI:
225 227
226 helper = uihelper.BBUIHelper() 228 helper = uihelper.BBUIHelper()
227 shutdown = 0 229 shutdown = 0
228 230
229 try: 231 try:
230 cmdline = server.runCommand(["getCmdLineAction"]) 232 cmdline = server.runCommand(["getCmdLineAction"])
231 if not cmdline: 233 if not cmdline:
232 return 234 return
233 ret = server.runCommand(cmdline) 235 ret = server.runCommand(cmdline)
234 if ret != True: 236 if ret != True:
235 print "Couldn't get default commandlind! %s" % ret 237 print("Couldn't get default commandlind! %s" % ret)
236 return 238 return
237 except xmlrpclib.Fault, x: 239 except xmlrpclib.Fault as x:
238 print "XMLRPC Fault getting commandline:\n %s" % x 240 print("XMLRPC Fault getting commandline:\n %s" % x)
239 return 241 return
240 242
241 exitflag = False 243 exitflag = False
@@ -246,7 +248,7 @@ class NCursesUI:
246 continue 248 continue
247 helper.eventHandler(event) 249 helper.eventHandler(event)
248 #mw.appendText("%s\n" % event[0]) 250 #mw.appendText("%s\n" % event[0])
249 if isinstance(event, bb.build.Task): 251 if isinstance(event, bb.build.TaskBase):
250 mw.appendText("NOTE: %s\n" % event._message) 252 mw.appendText("NOTE: %s\n" % event._message)
251 if isinstance(event, bb.msg.MsgDebug): 253 if isinstance(event, bb.msg.MsgDebug):
252 mw.appendText('DEBUG: ' + event._message + '\n') 254 mw.appendText('DEBUG: ' + event._message + '\n')
@@ -263,10 +265,10 @@ class NCursesUI:
263 y = event.total 265 y = event.total
264 if x == y: 266 if x == y:
265 mw.setStatus("Idle") 267 mw.setStatus("Idle")
266 mw.appendText("Parsing finished. %d cached, %d parsed, %d skipped, %d masked." 268 mw.appendText("Parsing finished. %d cached, %d parsed, %d skipped, %d masked."
267 % ( event.cached, event.parsed, event.skipped, event.masked )) 269 % ( event.cached, event.parsed, event.skipped, event.masked ))
268 else: 270 else:
269 mw.setStatus("Parsing: %s (%04d/%04d) [%2d %%]" % ( parsespin.next(), x, y, x*100/y ) ) 271 mw.setStatus("Parsing: %s (%04d/%04d) [%2d %%]" % ( next(parsespin), x, y, x*100//y ) )
270# if isinstance(event, bb.build.TaskFailed): 272# if isinstance(event, bb.build.TaskFailed):
271# if event.logfile: 273# if event.logfile:
272# if data.getVar("BBINCLUDELOGS", d): 274# if data.getVar("BBINCLUDELOGS", d):
@@ -301,12 +303,12 @@ class NCursesUI:
301 taw.setText(0, 0, "") 303 taw.setText(0, 0, "")
302 if activetasks: 304 if activetasks:
303 taw.appendText("Active Tasks:\n") 305 taw.appendText("Active Tasks:\n")
304 for task in activetasks: 306 for task in activetasks.itervalues():
305 taw.appendText(task) 307 taw.appendText(task["title"])
306 if failedtasks: 308 if failedtasks:
307 taw.appendText("Failed Tasks:\n") 309 taw.appendText("Failed Tasks:\n")
308 for task in failedtasks: 310 for task in failedtasks:
309 taw.appendText(task) 311 taw.appendText(task["title"])
310 312
311 curses.doupdate() 313 curses.doupdate()
312 except KeyboardInterrupt: 314 except KeyboardInterrupt:
@@ -324,7 +326,7 @@ class NCursesUI:
324 326
325def init(server, eventHandler): 327def init(server, eventHandler):
326 if not os.isatty(sys.stdout.fileno()): 328 if not os.isatty(sys.stdout.fileno()):
327 print "FATAL: Unable to run 'ncurses' UI without a TTY." 329 print("FATAL: Unable to run 'ncurses' UI without a TTY.")
328 return 330 return
329 ui = NCursesUI() 331 ui = NCursesUI()
330 try: 332 try:
@@ -332,4 +334,3 @@ def init(server, eventHandler):
332 except: 334 except:
333 import traceback 335 import traceback
334 traceback.print_exc() 336 traceback.print_exc()
335
diff --git a/bitbake/lib/bb/ui/puccho.py b/bitbake/lib/bb/ui/puccho.py
index 713aa1f4a6..a627fc803f 100644
--- a/bitbake/lib/bb/ui/puccho.py
+++ b/bitbake/lib/bb/ui/puccho.py
@@ -24,6 +24,7 @@ import gtk.glade
24import threading 24import threading
25import urllib2 25import urllib2
26import os 26import os
27import contextlib
27 28
28from bb.ui.crumbs.buildmanager import BuildManager, BuildConfiguration 29from bb.ui.crumbs.buildmanager import BuildManager, BuildConfiguration
29from bb.ui.crumbs.buildmanager import BuildManagerTreeView 30from bb.ui.crumbs.buildmanager import BuildManagerTreeView
@@ -38,7 +39,7 @@ class MetaDataLoader(gobject.GObject):
38 on what machines are available. The distribution and images available for 39 on what machines are available. The distribution and images available for
39 the machine and the the uris to use for building the given machine.""" 40 the machine and the the uris to use for building the given machine."""
40 __gsignals__ = { 41 __gsignals__ = {
41 'success' : (gobject.SIGNAL_RUN_LAST, 42 'success' : (gobject.SIGNAL_RUN_LAST,
42 gobject.TYPE_NONE, 43 gobject.TYPE_NONE,
43 ()), 44 ()),
44 'error' : (gobject.SIGNAL_RUN_LAST, 45 'error' : (gobject.SIGNAL_RUN_LAST,
@@ -77,20 +78,19 @@ class MetaDataLoader(gobject.GObject):
77 def run (self): 78 def run (self):
78 result = {} 79 result = {}
79 try: 80 try:
80 f = urllib2.urlopen (self.url) 81 with contextlib.closing (urllib2.urlopen (self.url)) as f:
81 82 # Parse the metadata format. The format is....
82 # Parse the metadata format. The format is.... 83 # <machine>;<default distro>|<distro>...;<default image>|<image>...;<type##url>|...
83 # <machine>;<default distro>|<distro>...;<default image>|<image>...;<type##url>|... 84 for line in f:
84 for line in f.readlines(): 85 components = line.split(";")
85 components = line.split(";") 86 if (len (components) < 4):
86 if (len (components) < 4): 87 raise MetaDataLoader.LoaderThread.LoaderImportException
87 raise MetaDataLoader.LoaderThread.LoaderImportException 88 machine = components[0]
88 machine = components[0] 89 distros = components[1].split("|")
89 distros = components[1].split("|") 90 images = components[2].split("|")
90 images = components[2].split("|") 91 urls = components[3].split("|")
91 urls = components[3].split("|") 92
92 93 result[machine] = (distros, images, urls)
93 result[machine] = (distros, images, urls)
94 94
95 # Create an object representing this *potential* 95 # Create an object representing this *potential*
96 # configuration. It can become concrete if the machine, distro 96 # configuration. It can become concrete if the machine, distro
@@ -104,13 +104,13 @@ class MetaDataLoader(gobject.GObject):
104 gobject.idle_add (MetaDataLoader.emit_success_signal, 104 gobject.idle_add (MetaDataLoader.emit_success_signal,
105 self.loader) 105 self.loader)
106 106
107 except MetaDataLoader.LoaderThread.LoaderImportException, e: 107 except MetaDataLoader.LoaderThread.LoaderImportException as e:
108 gobject.idle_add (MetaDataLoader.emit_error_signal, self.loader, 108 gobject.idle_add (MetaDataLoader.emit_error_signal, self.loader,
109 "Repository metadata corrupt") 109 "Repository metadata corrupt")
110 except Exception, e: 110 except Exception as e:
111 gobject.idle_add (MetaDataLoader.emit_error_signal, self.loader, 111 gobject.idle_add (MetaDataLoader.emit_error_signal, self.loader,
112 "Unable to download repository metadata") 112 "Unable to download repository metadata")
113 print e 113 print(e)
114 114
115 def try_fetch_from_url (self, url): 115 def try_fetch_from_url (self, url):
116 # Try and download the metadata. Firing a signal if successful 116 # Try and download the metadata. Firing a signal if successful
@@ -211,7 +211,7 @@ class BuildSetupDialog (gtk.Dialog):
211 # Build 211 # Build
212 button = gtk.Button ("_Build", None, True) 212 button = gtk.Button ("_Build", None, True)
213 image = gtk.Image () 213 image = gtk.Image ()
214 image.set_from_stock (gtk.STOCK_EXECUTE,gtk.ICON_SIZE_BUTTON) 214 image.set_from_stock (gtk.STOCK_EXECUTE, gtk.ICON_SIZE_BUTTON)
215 button.set_image (image) 215 button.set_image (image)
216 self.add_action_widget (button, BuildSetupDialog.RESPONSE_BUILD) 216 self.add_action_widget (button, BuildSetupDialog.RESPONSE_BUILD)
217 button.show_all () 217 button.show_all ()
@@ -293,7 +293,7 @@ class BuildSetupDialog (gtk.Dialog):
293 if (active_iter): 293 if (active_iter):
294 self.configuration.machine = model.get(active_iter, 0)[0] 294 self.configuration.machine = model.get(active_iter, 0)[0]
295 295
296 # Extract the chosen distro from the combo 296 # Extract the chosen distro from the combo
297 model = self.distribution_combo.get_model() 297 model = self.distribution_combo.get_model()
298 active_iter = self.distribution_combo.get_active_iter() 298 active_iter = self.distribution_combo.get_active_iter()
299 if (active_iter): 299 if (active_iter):
@@ -311,62 +311,62 @@ class BuildSetupDialog (gtk.Dialog):
311# 311#
312# TODO: Should be a method on the RunningBuild class 312# TODO: Should be a method on the RunningBuild class
313def event_handle_timeout (eventHandler, build): 313def event_handle_timeout (eventHandler, build):
314 # Consume as many messages as we can ... 314 # Consume as many messages as we can ...
315 event = eventHandler.getEvent() 315 event = eventHandler.getEvent()
316 while event: 316 while event:
317 build.handle_event (event) 317 build.handle_event (event)
318 event = eventHandler.getEvent() 318 event = eventHandler.getEvent()
319 return True 319 return True
320 320
321class MainWindow (gtk.Window): 321class MainWindow (gtk.Window):
322 322
323 # Callback that gets fired when the user hits a button in the 323 # Callback that gets fired when the user hits a button in the
324 # BuildSetupDialog. 324 # BuildSetupDialog.
325 def build_dialog_box_response_cb (self, dialog, response_id): 325 def build_dialog_box_response_cb (self, dialog, response_id):
326 conf = None 326 conf = None
327 if (response_id == BuildSetupDialog.RESPONSE_BUILD): 327 if (response_id == BuildSetupDialog.RESPONSE_BUILD):
328 dialog.update_configuration() 328 dialog.update_configuration()
329 print dialog.configuration.machine, dialog.configuration.distro, \ 329 print(dialog.configuration.machine, dialog.configuration.distro, \
330 dialog.configuration.image 330 dialog.configuration.image)
331 conf = dialog.configuration 331 conf = dialog.configuration
332 332
333 dialog.destroy() 333 dialog.destroy()
334 334
335 if conf: 335 if conf:
336 self.manager.do_build (conf) 336 self.manager.do_build (conf)
337 337
338 def build_button_clicked_cb (self, button): 338 def build_button_clicked_cb (self, button):
339 dialog = BuildSetupDialog () 339 dialog = BuildSetupDialog ()
340 340
341 # For some unknown reason Dialog.run causes nice little deadlocks ... :-( 341 # For some unknown reason Dialog.run causes nice little deadlocks ... :-(
342 dialog.connect ("response", self.build_dialog_box_response_cb) 342 dialog.connect ("response", self.build_dialog_box_response_cb)
343 dialog.show() 343 dialog.show()
344 344
345 def __init__ (self): 345 def __init__ (self):
346 gtk.Window.__init__ (self) 346 gtk.Window.__init__ (self)
347 347
348 # Pull in *just* the main vbox from the Glade XML data and then pack 348 # Pull in *just* the main vbox from the Glade XML data and then pack
349 # that inside the window 349 # that inside the window
350 gxml = gtk.glade.XML (os.path.dirname(__file__) + "/crumbs/puccho.glade", 350 gxml = gtk.glade.XML (os.path.dirname(__file__) + "/crumbs/puccho.glade",
351 root = "main_window_vbox") 351 root = "main_window_vbox")
352 vbox = gxml.get_widget ("main_window_vbox") 352 vbox = gxml.get_widget ("main_window_vbox")
353 self.add (vbox) 353 self.add (vbox)
354 354
355 # Create the tree views for the build manager view and the progress view 355 # Create the tree views for the build manager view and the progress view
356 self.build_manager_view = BuildManagerTreeView() 356 self.build_manager_view = BuildManagerTreeView()
357 self.running_build_view = RunningBuildTreeView() 357 self.running_build_view = RunningBuildTreeView()
358 358
359 # Grab the scrolled windows that we put the tree views into 359 # Grab the scrolled windows that we put the tree views into
360 self.results_scrolledwindow = gxml.get_widget ("results_scrolledwindow") 360 self.results_scrolledwindow = gxml.get_widget ("results_scrolledwindow")
361 self.progress_scrolledwindow = gxml.get_widget ("progress_scrolledwindow") 361 self.progress_scrolledwindow = gxml.get_widget ("progress_scrolledwindow")
362 362
363 # Put the tree views inside ... 363 # Put the tree views inside ...
364 self.results_scrolledwindow.add (self.build_manager_view) 364 self.results_scrolledwindow.add (self.build_manager_view)
365 self.progress_scrolledwindow.add (self.running_build_view) 365 self.progress_scrolledwindow.add (self.running_build_view)
366 366
367 # Hook up the build button... 367 # Hook up the build button...
368 self.build_button = gxml.get_widget ("main_toolbutton_build") 368 self.build_button = gxml.get_widget ("main_toolbutton_build")
369 self.build_button.connect ("clicked", self.build_button_clicked_cb) 369 self.build_button.connect ("clicked", self.build_button_clicked_cb)
370 370
371# I'm not very happy about the current ownership of the RunningBuild. I have 371# I'm not very happy about the current ownership of the RunningBuild. I have
372# my suspicions that this object should be held by the BuildManager since we 372# my suspicions that this object should be held by the BuildManager since we
@@ -383,11 +383,11 @@ def running_build_succeeded_cb (running_build, manager):
383 # BuildManager. It can then hook onto the signals directly and drive 383 # BuildManager. It can then hook onto the signals directly and drive
384 # interesting things it cares about. 384 # interesting things it cares about.
385 manager.notify_build_succeeded () 385 manager.notify_build_succeeded ()
386 print "build succeeded" 386 print("build succeeded")
387 387
388def running_build_failed_cb (running_build, manager): 388def running_build_failed_cb (running_build, manager):
389 # As above 389 # As above
390 print "build failed" 390 print("build failed")
391 manager.notify_build_failed () 391 manager.notify_build_failed ()
392 392
393def init (server, eventHandler): 393def init (server, eventHandler):
diff --git a/bitbake/lib/bb/ui/uievent.py b/bitbake/lib/bb/ui/uievent.py
index 36302f4da7..f1e4d791ee 100644
--- a/bitbake/lib/bb/ui/uievent.py
+++ b/bitbake/lib/bb/ui/uievent.py
@@ -19,7 +19,7 @@
19 19
20 20
21""" 21"""
22Use this class to fork off a thread to recieve event callbacks from the bitbake 22Use this class to fork off a thread to recieve event callbacks from the bitbake
23server and queue them for the UI to process. This process must be used to avoid 23server and queue them for the UI to process. This process must be used to avoid
24client/server deadlocks. 24client/server deadlocks.
25""" 25"""
@@ -110,16 +110,15 @@ class UIXMLRPCServer (SimpleXMLRPCServer):
110 return (sock, addr) 110 return (sock, addr)
111 except socket.timeout: 111 except socket.timeout:
112 pass 112 pass
113 return (None,None) 113 return (None, None)
114 114
115 def close_request(self, request): 115 def close_request(self, request):
116 if request is None: 116 if request is None:
117 return 117 return
118 SimpleXMLRPCServer.close_request(self, request) 118 SimpleXMLRPCServer.close_request(self, request)
119 119
120 def process_request(self, request, client_address): 120 def process_request(self, request, client_address):
121 if request is None: 121 if request is None:
122 return 122 return
123 SimpleXMLRPCServer.process_request(self, request, client_address) 123 SimpleXMLRPCServer.process_request(self, request, client_address)
124 124
125
diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py
index 86b9c724ed..c0cc9c6ea2 100644
--- a/bitbake/lib/bb/utils.py
+++ b/bitbake/lib/bb/utils.py
@@ -19,10 +19,22 @@ BitBake Utility Functions
19# with this program; if not, write to the Free Software Foundation, Inc., 19# with this program; if not, write to the Free Software Foundation, Inc.,
20# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21 21
22import re, fcntl, os, string, stat, shutil, time
23import sys
24import bb
25import errno
26import bb.msg
27from commands import getstatusoutput
28
29# Version comparison
22separators = ".-" 30separators = ".-"
23 31
24import re, fcntl, os, types, bb, string, stat, shutil 32# Context used in better_exec, eval
25from commands import getstatusoutput 33_context = {
34 "os": os,
35 "bb": bb,
36 "time": time,
37}
26 38
27def explode_version(s): 39def explode_version(s):
28 r = [] 40 r = []
@@ -60,9 +72,9 @@ def vercmp_part(a, b):
60 if ca == None and cb == None: 72 if ca == None and cb == None:
61 return 0 73 return 0
62 74
63 if type(ca) is types.StringType: 75 if isinstance(ca, basestring):
64 sa = ca in separators 76 sa = ca in separators
65 if type(cb) is types.StringType: 77 if isinstance(cb, basestring):
66 sb = cb in separators 78 sb = cb in separators
67 if sa and not sb: 79 if sa and not sb:
68 return -1 80 return -1
@@ -85,6 +97,131 @@ def vercmp(ta, tb):
85 r = vercmp_part(ra, rb) 97 r = vercmp_part(ra, rb)
86 return r 98 return r
87 99
100_package_weights_ = {"pre":-2, "p":0, "alpha":-4, "beta":-3, "rc":-1} # dicts are unordered
101_package_ends_ = ["pre", "p", "alpha", "beta", "rc", "cvs", "bk", "HEAD" ] # so we need ordered list
102
103def relparse(myver):
104 """Parses the last elements of a version number into a triplet, that can
105 later be compared.
106 """
107
108 number = 0
109 p1 = 0
110 p2 = 0
111 mynewver = myver.split('_')
112 if len(mynewver) == 2:
113 # an _package_weights_
114 number = float(mynewver[0])
115 match = 0
116 for x in _package_ends_:
117 elen = len(x)
118 if mynewver[1][:elen] == x:
119 match = 1
120 p1 = _package_weights_[x]
121 try:
122 p2 = float(mynewver[1][elen:])
123 except:
124 p2 = 0
125 break
126 if not match:
127 # normal number or number with letter at end
128 divider = len(myver)-1
129 if myver[divider:] not in "1234567890":
130 # letter at end
131 p1 = ord(myver[divider:])
132 number = float(myver[0:divider])
133 else:
134 number = float(myver)
135 else:
136 # normal number or number with letter at end
137 divider = len(myver)-1
138 if myver[divider:] not in "1234567890":
139 #letter at end
140 p1 = ord(myver[divider:])
141 number = float(myver[0:divider])
142 else:
143 number = float(myver)
144 return [number, p1, p2]
145
146__vercmp_cache__ = {}
147
148def vercmp_string(val1, val2):
149 """This takes two version strings and returns an integer to tell you whether
150 the versions are the same, val1>val2 or val2>val1.
151 """
152
153 # quick short-circuit
154 if val1 == val2:
155 return 0
156 valkey = val1 + " " + val2
157
158 # cache lookup
159 try:
160 return __vercmp_cache__[valkey]
161 try:
162 return - __vercmp_cache__[val2 + " " + val1]
163 except KeyError:
164 pass
165 except KeyError:
166 pass
167
168 # consider 1_p2 vc 1.1
169 # after expansion will become (1_p2,0) vc (1,1)
170 # then 1_p2 is compared with 1 before 0 is compared with 1
171 # to solve the bug we need to convert it to (1,0_p2)
172 # by splitting _prepart part and adding it back _after_expansion
173
174 val1_prepart = val2_prepart = ''
175 if val1.count('_'):
176 val1, val1_prepart = val1.split('_', 1)
177 if val2.count('_'):
178 val2, val2_prepart = val2.split('_', 1)
179
180 # replace '-' by '.'
181 # FIXME: Is it needed? can val1/2 contain '-'?
182
183 val1 = val1.split("-")
184 if len(val1) == 2:
185 val1[0] = val1[0] + "." + val1[1]
186 val2 = val2.split("-")
187 if len(val2) == 2:
188 val2[0] = val2[0] + "." + val2[1]
189
190 val1 = val1[0].split('.')
191 val2 = val2[0].split('.')
192
193 # add back decimal point so that .03 does not become "3" !
194 for x in range(1, len(val1)):
195 if val1[x][0] == '0' :
196 val1[x] = '.' + val1[x]
197 for x in range(1, len(val2)):
198 if val2[x][0] == '0' :
199 val2[x] = '.' + val2[x]
200
201 # extend varion numbers
202 if len(val2) < len(val1):
203 val2.extend(["0"]*(len(val1)-len(val2)))
204 elif len(val1) < len(val2):
205 val1.extend(["0"]*(len(val2)-len(val1)))
206
207 # add back _prepart tails
208 if val1_prepart:
209 val1[-1] += '_' + val1_prepart
210 if val2_prepart:
211 val2[-1] += '_' + val2_prepart
212 # The above code will extend version numbers out so they
213 # have the same number of digits.
214 for x in range(0, len(val1)):
215 cmp1 = relparse(val1[x])
216 cmp2 = relparse(val2[x])
217 for y in range(0, 3):
218 myret = cmp1[y] - cmp2[y]
219 if myret != 0:
220 __vercmp_cache__[valkey] = myret
221 return myret
222 __vercmp_cache__[valkey] = 0
223 return 0
224
88def explode_deps(s): 225def explode_deps(s):
89 """ 226 """
90 Take an RDEPENDS style string of format: 227 Take an RDEPENDS style string of format:
@@ -154,26 +291,22 @@ def _print_trace(body, line):
154 """ 291 """
155 Print the Environment of a Text Body 292 Print the Environment of a Text Body
156 """ 293 """
157 import bb
158
159 # print the environment of the method 294 # print the environment of the method
160 bb.msg.error(bb.msg.domain.Util, "Printing the environment of the function") 295 bb.msg.error(bb.msg.domain.Util, "Printing the environment of the function")
161 min_line = max(1,line-4) 296 min_line = max(1, line-4)
162 max_line = min(line+4,len(body)-1) 297 max_line = min(line + 4, len(body)-1)
163 for i in range(min_line,max_line+1): 298 for i in range(min_line, max_line + 1):
164 bb.msg.error(bb.msg.domain.Util, "\t%.4d:%s" % (i, body[i-1]) ) 299 bb.msg.error(bb.msg.domain.Util, "\t%.4d:%s" % (i, body[i-1]) )
165 300
166 301
167def better_compile(text, file, realfile): 302def better_compile(text, file, realfile, mode = "exec"):
168 """ 303 """
169 A better compile method. This method 304 A better compile method. This method
170 will print the offending lines. 305 will print the offending lines.
171 """ 306 """
172 try: 307 try:
173 return compile(text, file, "exec") 308 return compile(text, file, mode)
174 except Exception, e: 309 except Exception as e:
175 import bb,sys
176
177 # split the text into lines again 310 # split the text into lines again
178 body = text.split('\n') 311 body = text.split('\n')
179 bb.msg.error(bb.msg.domain.Util, "Error in compiling python function in: ", realfile) 312 bb.msg.error(bb.msg.domain.Util, "Error in compiling python function in: ", realfile)
@@ -191,18 +324,18 @@ def better_exec(code, context, text, realfile):
191 print the lines that are responsible for the 324 print the lines that are responsible for the
192 error. 325 error.
193 """ 326 """
194 import bb,sys 327 import bb.parse
195 try: 328 try:
196 exec code in context 329 exec(code, _context, context)
197 except: 330 except:
198 (t,value,tb) = sys.exc_info() 331 (t, value, tb) = sys.exc_info()
199 332
200 if t in [bb.parse.SkipPackage, bb.build.FuncFailed]: 333 if t in [bb.parse.SkipPackage, bb.build.FuncFailed]:
201 raise 334 raise
202 335
203 # print the Header of the Error Message 336 # print the Header of the Error Message
204 bb.msg.error(bb.msg.domain.Util, "Error in executing python function in: %s" % realfile) 337 bb.msg.error(bb.msg.domain.Util, "Error in executing python function in: %s" % realfile)
205 bb.msg.error(bb.msg.domain.Util, "Exception:%s Message:%s" % (t,value) ) 338 bb.msg.error(bb.msg.domain.Util, "Exception:%s Message:%s" % (t, value))
206 339
207 # let us find the line number now 340 # let us find the line number now
208 while tb.tb_next: 341 while tb.tb_next:
@@ -212,48 +345,14 @@ def better_exec(code, context, text, realfile):
212 line = traceback.tb_lineno(tb) 345 line = traceback.tb_lineno(tb)
213 346
214 _print_trace( text.split('\n'), line ) 347 _print_trace( text.split('\n'), line )
215 348
216 raise 349 raise
217 350
218def Enum(*names): 351def simple_exec(code, context):
219 """ 352 exec(code, _context, context)
220 A simple class to give Enum support 353
221 """ 354def better_eval(source, locals):
222 355 return eval(source, _context, locals)
223 assert names, "Empty enums are not supported"
224
225 class EnumClass(object):
226 __slots__ = names
227 def __iter__(self): return iter(constants)
228 def __len__(self): return len(constants)
229 def __getitem__(self, i): return constants[i]
230 def __repr__(self): return 'Enum' + str(names)
231 def __str__(self): return 'enum ' + str(constants)
232
233 class EnumValue(object):
234 __slots__ = ('__value')
235 def __init__(self, value): self.__value = value
236 Value = property(lambda self: self.__value)
237 EnumType = property(lambda self: EnumType)
238 def __hash__(self): return hash(self.__value)
239 def __cmp__(self, other):
240 # C fans might want to remove the following assertion
241 # to make all enums comparable by ordinal value {;))
242 assert self.EnumType is other.EnumType, "Only values from the same enum are comparable"
243 return cmp(self.__value, other.__value)
244 def __invert__(self): return constants[maximum - self.__value]
245 def __nonzero__(self): return bool(self.__value)
246 def __repr__(self): return str(names[self.__value])
247
248 maximum = len(names) - 1
249 constants = [None] * len(names)
250 for i, each in enumerate(names):
251 val = EnumValue(i)
252 setattr(EnumClass, each, val)
253 constants[i] = val
254 constants = tuple(constants)
255 EnumType = EnumClass()
256 return EnumType
257 356
258def lockfile(name): 357def lockfile(name):
259 """ 358 """
@@ -262,37 +361,36 @@ def lockfile(name):
262 """ 361 """
263 path = os.path.dirname(name) 362 path = os.path.dirname(name)
264 if not os.path.isdir(path): 363 if not os.path.isdir(path):
265 import bb, sys
266 bb.msg.error(bb.msg.domain.Util, "Error, lockfile path does not exist!: %s" % path) 364 bb.msg.error(bb.msg.domain.Util, "Error, lockfile path does not exist!: %s" % path)
267 sys.exit(1) 365 sys.exit(1)
268 366
269 while True: 367 while True:
270 # If we leave the lockfiles lying around there is no problem 368 # If we leave the lockfiles lying around there is no problem
271 # but we should clean up after ourselves. This gives potential 369 # but we should clean up after ourselves. This gives potential
272 # for races though. To work around this, when we acquire the lock 370 # for races though. To work around this, when we acquire the lock
273 # we check the file we locked was still the lock file on disk. 371 # we check the file we locked was still the lock file on disk.
274 # by comparing inode numbers. If they don't match or the lockfile 372 # by comparing inode numbers. If they don't match or the lockfile
275 # no longer exists, we start again. 373 # no longer exists, we start again.
276 374
277 # This implementation is unfair since the last person to request the 375 # This implementation is unfair since the last person to request the
278 # lock is the most likely to win it. 376 # lock is the most likely to win it.
279 377
280 try: 378 try:
281 lf = open(name, "a+") 379 lf = open(name, "a + ")
282 fcntl.flock(lf.fileno(), fcntl.LOCK_EX) 380 fcntl.flock(lf.fileno(), fcntl.LOCK_EX)
283 statinfo = os.fstat(lf.fileno()) 381 statinfo = os.fstat(lf.fileno())
284 if os.path.exists(lf.name): 382 if os.path.exists(lf.name):
285 statinfo2 = os.stat(lf.name) 383 statinfo2 = os.stat(lf.name)
286 if statinfo.st_ino == statinfo2.st_ino: 384 if statinfo.st_ino == statinfo2.st_ino:
287 return lf 385 return lf
288 # File no longer exists or changed, retry 386 # File no longer exists or changed, retry
289 lf.close 387 lf.close
290 except Exception, e: 388 except Exception as e:
291 continue 389 continue
292 390
293def unlockfile(lf): 391def unlockfile(lf):
294 """ 392 """
295 Unlock a file locked using lockfile() 393 Unlock a file locked using lockfile()
296 """ 394 """
297 os.unlink(lf.name) 395 os.unlink(lf.name)
298 fcntl.flock(lf.fileno(), fcntl.LOCK_UN) 396 fcntl.flock(lf.fileno(), fcntl.LOCK_UN)
@@ -308,7 +406,7 @@ def md5_file(filename):
308 except ImportError: 406 except ImportError:
309 import md5 407 import md5
310 m = md5.new() 408 m = md5.new()
311 409
312 for line in open(filename): 410 for line in open(filename):
313 m.update(line) 411 m.update(line)
314 return m.hexdigest() 412 return m.hexdigest()
@@ -368,19 +466,17 @@ def filter_environment(good_vars):
368 are not known and may influence the build in a negative way. 466 are not known and may influence the build in a negative way.
369 """ 467 """
370 468
371 import bb
372
373 removed_vars = [] 469 removed_vars = []
374 for key in os.environ.keys(): 470 for key in os.environ.keys():
375 if key in good_vars: 471 if key in good_vars:
376 continue 472 continue
377 473
378 removed_vars.append(key) 474 removed_vars.append(key)
379 os.unsetenv(key) 475 os.unsetenv(key)
380 del os.environ[key] 476 del os.environ[key]
381 477
382 if len(removed_vars): 478 if len(removed_vars):
383 bb.debug(1, "Removed the following variables from the environment:", ",".join(removed_vars)) 479 bb.msg.debug(1, bb.msg.domain.Util, "Removed the following variables from the environment:", ",".join(removed_vars))
384 480
385 return removed_vars 481 return removed_vars
386 482
@@ -410,7 +506,7 @@ def build_environment(d):
410 """ 506 """
411 Build an environment from all exported variables. 507 Build an environment from all exported variables.
412 """ 508 """
413 import bb 509 import bb.data
414 for var in bb.data.keys(d): 510 for var in bb.data.keys(d):
415 export = bb.data.getVarFlag(var, "export", d) 511 export = bb.data.getVarFlag(var, "export", d)
416 if export: 512 if export:
@@ -419,7 +515,7 @@ def build_environment(d):
419def prunedir(topdir): 515def prunedir(topdir):
420 # Delete everything reachable from the directory named in 'topdir'. 516 # Delete everything reachable from the directory named in 'topdir'.
421 # CAUTION: This is dangerous! 517 # CAUTION: This is dangerous!
422 for root, dirs, files in os.walk(topdir, topdown=False): 518 for root, dirs, files in os.walk(topdir, topdown = False):
423 for name in files: 519 for name in files:
424 os.remove(os.path.join(root, name)) 520 os.remove(os.path.join(root, name))
425 for name in dirs: 521 for name in dirs:
@@ -434,7 +530,7 @@ def prunedir(topdir):
434# but thats possibly insane and suffixes is probably going to be small 530# but thats possibly insane and suffixes is probably going to be small
435# 531#
436def prune_suffix(var, suffixes, d): 532def prune_suffix(var, suffixes, d):
437 # See if var ends with any of the suffixes listed and 533 # See if var ends with any of the suffixes listed and
438 # remove it if found 534 # remove it if found
439 for suffix in suffixes: 535 for suffix in suffixes:
440 if var.endswith(suffix): 536 if var.endswith(suffix):
@@ -446,169 +542,167 @@ def mkdirhier(dir):
446 directory already exists like os.makedirs 542 directory already exists like os.makedirs
447 """ 543 """
448 544
449 bb.debug(3, "mkdirhier(%s)" % dir) 545 bb.msg.debug(3, bb.msg.domain.Util, "mkdirhier(%s)" % dir)
450 try: 546 try:
451 os.makedirs(dir) 547 os.makedirs(dir)
452 bb.debug(2, "created " + dir) 548 bb.msg.debug(2, bb.msg.domain.Util, "created " + dir)
453 except OSError, e: 549 except OSError as e:
454 if e.errno != 17: raise e 550 if e.errno != errno.EEXIST:
455 551 raise e
456import stat
457 552
458def movefile(src,dest,newmtime=None,sstat=None): 553def movefile(src, dest, newmtime = None, sstat = None):
459 """Moves a file from src to dest, preserving all permissions and 554 """Moves a file from src to dest, preserving all permissions and
460 attributes; mtime will be preserved even when moving across 555 attributes; mtime will be preserved even when moving across
461 filesystems. Returns true on success and false on failure. Move is 556 filesystems. Returns true on success and false on failure. Move is
462 atomic. 557 atomic.
463 """ 558 """
464 559
465 #print "movefile("+src+","+dest+","+str(newmtime)+","+str(sstat)+")" 560 #print "movefile(" + src + "," + dest + "," + str(newmtime) + "," + str(sstat) + ")"
466 try: 561 try:
467 if not sstat: 562 if not sstat:
468 sstat=os.lstat(src) 563 sstat = os.lstat(src)
469 except Exception, e: 564 except Exception as e:
470 print "movefile: Stating source file failed...", e 565 print("movefile: Stating source file failed...", e)
471 return None 566 return None
472 567
473 destexists=1 568 destexists = 1
474 try: 569 try:
475 dstat=os.lstat(dest) 570 dstat = os.lstat(dest)
476 except: 571 except:
477 dstat=os.lstat(os.path.dirname(dest)) 572 dstat = os.lstat(os.path.dirname(dest))
478 destexists=0 573 destexists = 0
479 574
480 if destexists: 575 if destexists:
481 if stat.S_ISLNK(dstat[stat.ST_MODE]): 576 if stat.S_ISLNK(dstat[stat.ST_MODE]):
482 try: 577 try:
483 os.unlink(dest) 578 os.unlink(dest)
484 destexists=0 579 destexists = 0
485 except Exception, e: 580 except Exception as e:
486 pass 581 pass
487 582
488 if stat.S_ISLNK(sstat[stat.ST_MODE]): 583 if stat.S_ISLNK(sstat[stat.ST_MODE]):
489 try: 584 try:
490 target=os.readlink(src) 585 target = os.readlink(src)
491 if destexists and not stat.S_ISDIR(dstat[stat.ST_MODE]): 586 if destexists and not stat.S_ISDIR(dstat[stat.ST_MODE]):
492 os.unlink(dest) 587 os.unlink(dest)
493 os.symlink(target,dest) 588 os.symlink(target, dest)
494 #os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID]) 589 #os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID])
495 os.unlink(src) 590 os.unlink(src)
496 return os.lstat(dest) 591 return os.lstat(dest)
497 except Exception, e: 592 except Exception as e:
498 print "movefile: failed to properly create symlink:", dest, "->", target, e 593 print("movefile: failed to properly create symlink:", dest, "->", target, e)
499 return None 594 return None
500 595
501 renamefailed=1 596 renamefailed = 1
502 if sstat[stat.ST_DEV]==dstat[stat.ST_DEV]: 597 if sstat[stat.ST_DEV] == dstat[stat.ST_DEV]:
503 try: 598 try:
504 ret=os.rename(src,dest) 599 os.rename(src, dest)
505 renamefailed=0 600 renamefailed = 0
506 except Exception, e: 601 except Exception as e:
507 import errno 602 if e[0] != errno.EXDEV:
508 if e[0]!=errno.EXDEV:
509 # Some random error. 603 # Some random error.
510 print "movefile: Failed to move", src, "to", dest, e 604 print("movefile: Failed to move", src, "to", dest, e)
511 return None 605 return None
512 # Invalid cross-device-link 'bind' mounted or actually Cross-Device 606 # Invalid cross-device-link 'bind' mounted or actually Cross-Device
513 607
514 if renamefailed: 608 if renamefailed:
515 didcopy=0 609 didcopy = 0
516 if stat.S_ISREG(sstat[stat.ST_MODE]): 610 if stat.S_ISREG(sstat[stat.ST_MODE]):
517 try: # For safety copy then move it over. 611 try: # For safety copy then move it over.
518 shutil.copyfile(src,dest+"#new") 612 shutil.copyfile(src, dest + "#new")
519 os.rename(dest+"#new",dest) 613 os.rename(dest + "#new", dest)
520 didcopy=1 614 didcopy = 1
521 except Exception, e: 615 except Exception as e:
522 print 'movefile: copy', src, '->', dest, 'failed.', e 616 print('movefile: copy', src, '->', dest, 'failed.', e)
523 return None 617 return None
524 else: 618 else:
525 #we don't yet handle special, so we need to fall back to /bin/mv 619 #we don't yet handle special, so we need to fall back to /bin/mv
526 a=getstatusoutput("/bin/mv -f "+"'"+src+"' '"+dest+"'") 620 a = getstatusoutput("/bin/mv -f " + "'" + src + "' '" + dest + "'")
527 if a[0]!=0: 621 if a[0] != 0:
528 print "movefile: Failed to move special file:" + src + "' to '" + dest + "'", a 622 print("movefile: Failed to move special file:" + src + "' to '" + dest + "'", a)
529 return None # failure 623 return None # failure
530 try: 624 try:
531 if didcopy: 625 if didcopy:
532 os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID]) 626 os.lchown(dest, sstat[stat.ST_UID], sstat[stat.ST_GID])
533 os.chmod(dest, stat.S_IMODE(sstat[stat.ST_MODE])) # Sticky is reset on chown 627 os.chmod(dest, stat.S_IMODE(sstat[stat.ST_MODE])) # Sticky is reset on chown
534 os.unlink(src) 628 os.unlink(src)
535 except Exception, e: 629 except Exception as e:
536 print "movefile: Failed to chown/chmod/unlink", dest, e 630 print("movefile: Failed to chown/chmod/unlink", dest, e)
537 return None 631 return None
538 632
539 if newmtime: 633 if newmtime:
540 os.utime(dest,(newmtime,newmtime)) 634 os.utime(dest, (newmtime, newmtime))
541 else: 635 else:
542 os.utime(dest, (sstat[stat.ST_ATIME], sstat[stat.ST_MTIME])) 636 os.utime(dest, (sstat[stat.ST_ATIME], sstat[stat.ST_MTIME]))
543 newmtime=sstat[stat.ST_MTIME] 637 newmtime = sstat[stat.ST_MTIME]
544 return newmtime 638 return newmtime
545 639
546def copyfile(src,dest,newmtime=None,sstat=None): 640def copyfile(src, dest, newmtime = None, sstat = None):
547 """ 641 """
548 Copies a file from src to dest, preserving all permissions and 642 Copies a file from src to dest, preserving all permissions and
549 attributes; mtime will be preserved even when moving across 643 attributes; mtime will be preserved even when moving across
550 filesystems. Returns true on success and false on failure. 644 filesystems. Returns true on success and false on failure.
551 """ 645 """
552 #print "copyfile("+src+","+dest+","+str(newmtime)+","+str(sstat)+")" 646 #print "copyfile(" + src + "," + dest + "," + str(newmtime) + "," + str(sstat) + ")"
553 try: 647 try:
554 if not sstat: 648 if not sstat:
555 sstat=os.lstat(src) 649 sstat = os.lstat(src)
556 except Exception, e: 650 except Exception as e:
557 print "copyfile: Stating source file failed...", e 651 print("copyfile: Stating source file failed...", e)
558 return False 652 return False
559 653
560 destexists=1 654 destexists = 1
561 try: 655 try:
562 dstat=os.lstat(dest) 656 dstat = os.lstat(dest)
563 except: 657 except:
564 dstat=os.lstat(os.path.dirname(dest)) 658 dstat = os.lstat(os.path.dirname(dest))
565 destexists=0 659 destexists = 0
566 660
567 if destexists: 661 if destexists:
568 if stat.S_ISLNK(dstat[stat.ST_MODE]): 662 if stat.S_ISLNK(dstat[stat.ST_MODE]):
569 try: 663 try:
570 os.unlink(dest) 664 os.unlink(dest)
571 destexists=0 665 destexists = 0
572 except Exception, e: 666 except Exception as e:
573 pass 667 pass
574 668
575 if stat.S_ISLNK(sstat[stat.ST_MODE]): 669 if stat.S_ISLNK(sstat[stat.ST_MODE]):
576 try: 670 try:
577 target=os.readlink(src) 671 target = os.readlink(src)
578 if destexists and not stat.S_ISDIR(dstat[stat.ST_MODE]): 672 if destexists and not stat.S_ISDIR(dstat[stat.ST_MODE]):
579 os.unlink(dest) 673 os.unlink(dest)
580 os.symlink(target,dest) 674 os.symlink(target, dest)
581 #os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID]) 675 #os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID])
582 return os.lstat(dest) 676 return os.lstat(dest)
583 except Exception, e: 677 except Exception as e:
584 print "copyfile: failed to properly create symlink:", dest, "->", target, e 678 print("copyfile: failed to properly create symlink:", dest, "->", target, e)
585 return False 679 return False
586 680
587 if stat.S_ISREG(sstat[stat.ST_MODE]): 681 if stat.S_ISREG(sstat[stat.ST_MODE]):
588 try: # For safety copy then move it over. 682 try: # For safety copy then move it over.
589 shutil.copyfile(src,dest+"#new") 683 shutil.copyfile(src, dest + "#new")
590 os.rename(dest+"#new",dest) 684 os.rename(dest + "#new", dest)
591 except Exception, e: 685 except Exception as e:
592 print 'copyfile: copy', src, '->', dest, 'failed.', e 686 print('copyfile: copy', src, '->', dest, 'failed.', e)
593 return False 687 return False
594 else: 688 else:
595 #we don't yet handle special, so we need to fall back to /bin/mv 689 #we don't yet handle special, so we need to fall back to /bin/mv
596 a=getstatusoutput("/bin/cp -f "+"'"+src+"' '"+dest+"'") 690 a = getstatusoutput("/bin/cp -f " + "'" + src + "' '" + dest + "'")
597 if a[0]!=0: 691 if a[0] != 0:
598 print "copyfile: Failed to copy special file:" + src + "' to '" + dest + "'", a 692 print("copyfile: Failed to copy special file:" + src + "' to '" + dest + "'", a)
599 return False # failure 693 return False # failure
600 try: 694 try:
601 os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID]) 695 os.lchown(dest, sstat[stat.ST_UID], sstat[stat.ST_GID])
602 os.chmod(dest, stat.S_IMODE(sstat[stat.ST_MODE])) # Sticky is reset on chown 696 os.chmod(dest, stat.S_IMODE(sstat[stat.ST_MODE])) # Sticky is reset on chown
603 except Exception, e: 697 except Exception as e:
604 print "copyfile: Failed to chown/chmod/unlink", dest, e 698 print("copyfile: Failed to chown/chmod/unlink", dest, e)
605 return False 699 return False
606 700
607 if newmtime: 701 if newmtime:
608 os.utime(dest,(newmtime,newmtime)) 702 os.utime(dest, (newmtime, newmtime))
609 else: 703 else:
610 os.utime(dest, (sstat[stat.ST_ATIME], sstat[stat.ST_MTIME])) 704 os.utime(dest, (sstat[stat.ST_ATIME], sstat[stat.ST_MTIME]))
611 newmtime=sstat[stat.ST_MTIME] 705 newmtime = sstat[stat.ST_MTIME]
612 return newmtime 706 return newmtime
613 707
614def which(path, item, direction = 0): 708def which(path, item, direction = 0):
diff --git a/build/conf/local.conf.sample b/build/conf/local.conf.sample
index 6285821d52..fc013bcd10 100644
--- a/build/conf/local.conf.sample
+++ b/build/conf/local.conf.sample
@@ -33,6 +33,8 @@ MACHINE ?= "qemux86"
33#MACHINE ?= "mx31litekit" 33#MACHINE ?= "mx31litekit"
34#MACHINE ?= "mx31phy" 34#MACHINE ?= "mx31phy"
35#MACHINE ?= "zylonite" 35#MACHINE ?= "zylonite"
36#MACHINE ?= "igep0020"
37#MACHINE ?= "igep0030"
36 38
37DISTRO ?= "poky" 39DISTRO ?= "poky"
38# For bleeding edge / experimental / unstable package versions 40# For bleeding edge / experimental / unstable package versions
diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass
index e5453848ae..29ee99042b 100644
--- a/meta/classes/cross-canadian.bbclass
+++ b/meta/classes/cross-canadian.bbclass
@@ -44,9 +44,9 @@ target_prefix := "${prefix}"
44target_exec_prefix := "${exec_prefix}" 44target_exec_prefix := "${exec_prefix}"
45 45
46# Change to place files in SDKPATH 46# Change to place files in SDKPATH
47prefix = "${SDKPATH}" 47base_prefix = "${SDKPATHNATIVE}"
48exec_prefix = "${SDKPATH}" 48prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
49base_prefix = "${SDKPATH}" 49exec_prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
50 50
51FILES_${PN} = "${prefix}" 51FILES_${PN} = "${prefix}"
52FILES_${PN}-dbg += "${prefix}/.debug \ 52FILES_${PN}-dbg += "${prefix}/.debug \
@@ -56,5 +56,5 @@ FILES_${PN}-dbg += "${prefix}/.debug \
56export PKG_CONFIG_DIR = "${STAGING_DIR_HOST}${layout_libdir}/pkgconfig" 56export PKG_CONFIG_DIR = "${STAGING_DIR_HOST}${layout_libdir}/pkgconfig"
57export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}" 57export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}"
58 58
59# Cross-canadian packages need to pull in nativesdk so's, sorry for ugliness 59# Cross-canadian packages need to pull in nativesdk dynamic libs
60SHLIBSDIR = "${STAGING_DIR}/${SDK_ARCH}-nativesdk-pokysdk-${BUILD_OS}/shlibs" 60SHLIBSDIR = "${STAGING_DIR}/${SDK_ARCH}-nativesdk-pokysdk-${BUILD_OS}/shlibs"
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index e4e8900f98..4a5b83e30b 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -34,8 +34,11 @@ python () {
34 deps += " %s:do_populate_sysroot" % dep 34 deps += " %s:do_populate_sysroot" % dep
35 bb.data.setVarFlag('do_rootfs', 'depends', deps, d) 35 bb.data.setVarFlag('do_rootfs', 'depends', deps, d)
36 36
37 runtime_mapping_rename("PACKAGE_INSTALL", d) 37 # If we don't do this we try and run the mapping hooks while parsing which is slow
38 runtime_mapping_rename("PACKAGE_INSTALL_ATTEMPTONLY", d) 38 # bitbake should really provide something to let us know this...
39 if bb.data.getVar('__RUNQUEUE_DO_NOT_USE_EXTERNALLY', d, True) is not None:
40 runtime_mapping_rename("PACKAGE_INSTALL", d)
41 runtime_mapping_rename("PACKAGE_INSTALL_ATTEMPTONLY", d)
39} 42}
40 43
41# 44#
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index 230a1be752..a04542e208 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -31,6 +31,9 @@ PACKAGEFUNCS += " do_package_qa "
31# TARGET_OS TARGET_ARCH MACHINE, OSABI, ABIVERSION, Little Endian, 32bit? 31# TARGET_OS TARGET_ARCH MACHINE, OSABI, ABIVERSION, Little Endian, 32bit?
32def package_qa_get_machine_dict(): 32def package_qa_get_machine_dict():
33 return { 33 return {
34 "darwin9" : {
35 "arm" : (40, 0, 0, True, True),
36 },
34 "linux" : { 37 "linux" : {
35 "arm" : (40, 97, 0, True, True), 38 "arm" : (40, 97, 0, True, True),
36 "armeb": (40, 97, 0, False, True), 39 "armeb": (40, 97, 0, False, True),
@@ -58,8 +61,12 @@ def package_qa_get_machine_dict():
58 "i486": ( 3, 0, 0, True, True), 61 "i486": ( 3, 0, 0, True, True),
59 "i586": ( 3, 0, 0, True, True), 62 "i586": ( 3, 0, 0, True, True),
60 "i686": ( 3, 0, 0, True, True), 63 "i686": ( 3, 0, 0, True, True),
64 "x86_64": ( 62, 0, 0, True, False),
65 "mips": ( 8, 0, 0, False, True),
61 "mipsel": ( 8, 0, 0, True, True), 66 "mipsel": ( 8, 0, 0, True, True),
62 "avr32": (6317, 0, 0, False, True), 67 "avr32": (6317, 0, 0, False, True),
68 "sh4": (42, 0, 0, True, True),
69
63 }, 70 },
64 "uclinux-uclibc" : { 71 "uclinux-uclibc" : {
65 "bfin": ( 106, 0, 0, True, True), 72 "bfin": ( 106, 0, 0, True, True),
@@ -72,9 +79,16 @@ def package_qa_get_machine_dict():
72 "arm" : (40, 0, 0, True, True), 79 "arm" : (40, 0, 0, True, True),
73 "armeb" : (40, 0, 0, False, True), 80 "armeb" : (40, 0, 0, False, True),
74 }, 81 },
82 "linux-gnuspe" : {
83 "powerpc": (20, 0, 0, False, True),
84 },
85 "linux-uclibcspe" : {
86 "powerpc": (20, 0, 0, False, True),
87 },
75 88
76 } 89 }
77 90
91
78# Known Error classes 92# Known Error classes
79# 0 - non dev contains .so 93# 0 - non dev contains .so
80# 1 - package contains a dangerous RPATH 94# 1 - package contains a dangerous RPATH
@@ -85,6 +99,8 @@ def package_qa_get_machine_dict():
85# 6 - .pc contains reference to /usr/include or workdir 99# 6 - .pc contains reference to /usr/include or workdir
86# 7 - the desktop file is not valid 100# 7 - the desktop file is not valid
87# 8 - .la contains reference to the workdir 101# 8 - .la contains reference to the workdir
102# 9 - LDFLAGS ignored
103# 10 - Build paths in binaries
88 104
89def package_qa_clean_path(path,d): 105def package_qa_clean_path(path,d):
90 """ Remove the common prefix from the path. In this case it is the TMPDIR""" 106 """ Remove the common prefix from the path. In this case it is the TMPDIR"""
@@ -113,6 +129,7 @@ def package_qa_write_error(error_class, name, path, d):
113 "evil hides inside the .pc", 129 "evil hides inside the .pc",
114 "the desktop file is not valid", 130 "the desktop file is not valid",
115 ".la contains reference to the workdir", 131 ".la contains reference to the workdir",
132 "LDFLAGS ignored",
116 "package contains reference to tmpdir paths", 133 "package contains reference to tmpdir paths",
117 ] 134 ]
118 135
@@ -141,69 +158,84 @@ def package_qa_handle_error(error_class, error_msg, name, path, d):
141 158
142 return not fatal 159 return not fatal
143 160
144def package_qa_check_rpath(file,name,d): 161def package_qa_check_rpath(file,name,d, elf):
145 """ 162 """
146 Check for dangerous RPATHs 163 Check for dangerous RPATHs
147 """ 164 """
165 if not elf:
166 return True
167
148 sane = True 168 sane = True
149 scanelf = os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True),'scanelf') 169 scanelf = os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True),'scanelf')
150 bad_dir = bb.data.getVar('TMPDIR', d, True) + "/work" 170 bad_dirs = [bb.data.getVar('TMPDIR', d, True) + "/work", bb.data.getVar('STAGING_DIR_TARGET', d, True)]
151 bad_dir_test = bb.data.getVar('TMPDIR', d, True) 171 bad_dir_test = bb.data.getVar('TMPDIR', d, True)
152 if not os.path.exists(scanelf): 172 if not os.path.exists(scanelf):
153 bb.fatal("Can not check RPATH, scanelf (part of pax-utils-native) not found") 173 bb.fatal("Can not check RPATH, scanelf (part of pax-utils-native) not found")
154 174
155 if not bad_dir in bb.data.getVar('WORKDIR', d, True): 175 if not bad_dirs[0] in bb.data.getVar('WORKDIR', d, True):
156 bb.fatal("This class assumed that WORKDIR is ${TMPDIR}/work... Not doing any check") 176 bb.fatal("This class assumed that WORKDIR is ${TMPDIR}/work... Not doing any check")
157 177
158 output = os.popen("%s -B -F%%r#F '%s'" % (scanelf,file)) 178 output = os.popen("%s -B -F%%r#F '%s'" % (scanelf,file))
159 txt = output.readline().split() 179 txt = output.readline().split()
160 for line in txt: 180 for line in txt:
161 if bad_dir in line: 181 for dir in bad_dirs:
162 error_msg = "package %s contains bad RPATH %s in file %s" % (name, line, file) 182 if dir in line:
163 sane = package_qa_handle_error(1, error_msg, name, file, d) 183 error_msg = "package %s contains bad RPATH %s in file %s" % (name, line, file)
184 sane = sane + package_qa_handle_error(1, error_msg, name, file, d)
164 185
165 return sane 186 return sane
166 187
167def package_qa_check_devdbg(path, name,d): 188def package_qa_check_dev(path, name,d, elf):
168 """ 189 """
169 Check for debug remains inside the binary or 190 Check for ".so" library symlinks in non-dev packages
170 non dev packages containing
171 """ 191 """
172 192
173 sane = True 193 sane = True
174 194
175 if not "-dev" in name: 195 if not name.endswith("-dev") and path.endswith(".so") and os.path.islink(path):
176 if path[-3:] == ".so" and os.path.islink(path): 196 error_msg = "non -dev package contains symlink .so: %s path '%s'" % \
177 error_msg = "non -dev package contains symlink .so: %s path '%s'" % \ 197 (name, package_qa_clean_path(path,d))
178 (name, package_qa_clean_path(path,d)) 198 sane = package_qa_handle_error(0, error_msg, name, path, d)
179 sane = package_qa_handle_error(0, error_msg, name, path, d) 199
200 return sane
201
202def package_qa_check_dbg(path, name,d, elf):
203 """
204 Check for ".debug" files or directories outside of the dbg package
205 """
206
207 sane = True
180 208
181 if not "-dbg" in name: 209 if not "-dbg" in name:
182 if '.debug' in path: 210 if '.debug' in path.split(os.path.sep):
183 error_msg = "non debug package contains .debug directory: %s path %s" % \ 211 error_msg = "non debug package contains .debug directory: %s path %s" % \
184 (name, package_qa_clean_path(path,d)) 212 (name, package_qa_clean_path(path,d))
185 sane = package_qa_handle_error(3, error_msg, name, path, d) 213 sane = package_qa_handle_error(3, error_msg, name, path, d)
186 214
187 return sane 215 return sane
188 216
189def package_qa_check_perm(path,name,d): 217def package_qa_check_perm(path,name,d, elf):
190 """ 218 """
191 Check the permission of files 219 Check the permission of files
192 """ 220 """
193 sane = True 221 sane = True
194 return sane 222 return sane
195 223
196def package_qa_check_arch(path,name,d): 224def package_qa_check_arch(path,name,d, elf):
197 """ 225 """
198 Check if archs are compatible 226 Check if archs are compatible
199 """ 227 """
228 if not elf:
229 return True
230
200 sane = True 231 sane = True
201 target_os = bb.data.getVar('TARGET_OS', d, True) 232 target_os = bb.data.getVar('TARGET_OS', d, True)
202 target_arch = bb.data.getVar('TARGET_ARCH', d, True) 233 target_arch = bb.data.getVar('TARGET_ARCH', d, True)
203 234
204 # FIXME: Cross package confuse this check, so just skip them 235 # FIXME: Cross package confuse this check, so just skip them
205 if bb.data.inherits_class('cross', d) or bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('cross-canadian', d): 236 for s in ['cross', 'nativesdk', 'cross-canadian']:
206 return True 237 if bb.data.inherits_class(s, d):
238 return True
207 239
208 # avoid following links to /usr/bin (e.g. on udev builds) 240 # avoid following links to /usr/bin (e.g. on udev builds)
209 # we will check the files pointed to anyway... 241 # we will check the files pointed to anyway...
@@ -213,11 +245,6 @@ def package_qa_check_arch(path,name,d):
213 #if this will throw an exception, then fix the dict above 245 #if this will throw an exception, then fix the dict above
214 (machine, osabi, abiversion, littleendian, bits32) \ 246 (machine, osabi, abiversion, littleendian, bits32) \
215 = package_qa_get_machine_dict()[target_os][target_arch] 247 = package_qa_get_machine_dict()[target_os][target_arch]
216 elf = package_qa_get_elf(path, bits32)
217 try:
218 elf.open()
219 except:
220 return True
221 248
222 # Check the architecture and endiannes of the binary 249 # Check the architecture and endiannes of the binary
223 if not machine == elf.machine(): 250 if not machine == elf.machine():
@@ -231,7 +258,7 @@ def package_qa_check_arch(path,name,d):
231 258
232 return sane 259 return sane
233 260
234def package_qa_check_desktop(path, name, d): 261def package_qa_check_desktop(path, name, d, elf):
235 """ 262 """
236 Run all desktop files through desktop-file-validate. 263 Run all desktop files through desktop-file-validate.
237 """ 264 """
@@ -245,7 +272,48 @@ def package_qa_check_desktop(path, name, d):
245 272
246 return sane 273 return sane
247 274
248def package_qa_check_buildpaths(path, name, d): 275def package_qa_hash_style(path, name, d, elf):
276 """
277 Check if the binary has the right hash style...
278 """
279
280 if not elf:
281 return True
282
283 if os.path.islink(path):
284 return True
285
286 gnu_hash = "--hash-style=gnu" in bb.data.getVar('LDFLAGS', d, True)
287 if not gnu_hash:
288 gnu_hash = "--hash-style=both" in bb.data.getVar('LDFLAGS', d, True)
289 if not gnu_hash:
290 return True
291
292 objdump = bb.data.getVar('OBJDUMP', d, True)
293 env_path = bb.data.getVar('PATH', d, True)
294
295 sane = True
296 elf = False
297 # A bit hacky. We do not know if path is an elf binary or not
298 # we will search for 'NEEDED' or 'INIT' as this should be printed...
299 # and come before the HASH section (guess!!!) and works on split out
300 # debug symbols too
301 for line in os.popen("LC_ALL=C PATH=%s %s -p '%s' 2> /dev/null" % (env_path, objdump, path), "r"):
302 if "NEEDED" in line or "INIT" in line:
303 sane = False
304 elf = True
305 if "GNU_HASH" in line:
306 sane = True
307 if "[mips32]" in line or "[mips64]" in line:
308 sane = True
309
310 if elf and not sane:
311 error_msg = "No GNU_HASH in the elf binary: '%s'" % path
312 return package_qa_handle_error(9, error_msg, name, path, d)
313
314 return True
315
316def package_qa_check_buildpaths(path, name, d, elf):
249 """ 317 """
250 Check for build paths inside target files and error if not found in the whitelist 318 Check for build paths inside target files and error if not found in the whitelist
251 """ 319 """
@@ -263,7 +331,7 @@ def package_qa_check_buildpaths(path, name, d):
263 file_content = open(path).read() 331 file_content = open(path).read()
264 if tmpdir in file_content: 332 if tmpdir in file_content:
265 error_msg = "File %s in package contained reference to tmpdir" % package_qa_clean_path(path,d) 333 error_msg = "File %s in package contained reference to tmpdir" % package_qa_clean_path(path,d)
266 sane = package_qa_handle_error(9, error_msg, name, path, d) 334 sane = package_qa_handle_error(10, error_msg, name, path, d)
267 return sane 335 return sane
268 336
269def package_qa_check_license(workdir, d): 337def package_qa_check_license(workdir, d):
@@ -356,7 +424,7 @@ def package_qa_check_staged(path,d):
356 for root, dirs, files in os.walk(path): 424 for root, dirs, files in os.walk(path):
357 for file in files: 425 for file in files:
358 path = os.path.join(root,file) 426 path = os.path.join(root,file)
359 if file[-2:] == "la": 427 if file.endswith(".la"):
360 file_content = open(path).read() 428 file_content = open(path).read()
361 # Don't check installed status for native/cross packages 429 # Don't check installed status for native/cross packages
362 if not bb.data.inherits_class("native", d) and not bb.data.inherits_class("cross", d): 430 if not bb.data.inherits_class("native", d) and not bb.data.inherits_class("cross", d):
@@ -366,7 +434,7 @@ def package_qa_check_staged(path,d):
366 if workdir in file_content: 434 if workdir in file_content:
367 error_msg = "%s failed sanity test (workdir) in path %s" % (file,root) 435 error_msg = "%s failed sanity test (workdir) in path %s" % (file,root)
368 sane = package_qa_handle_error(8, error_msg, "staging", path, d) 436 sane = package_qa_handle_error(8, error_msg, "staging", path, d)
369 elif file[-2:] == "pc": 437 elif file.endswith(".pc"):
370 file_content = open(path).read() 438 file_content = open(path).read()
371 if pkgconfigcheck in file_content: 439 if pkgconfigcheck in file_content:
372 error_msg = "%s failed sanity test (tmpdir) in path %s" % (file,root) 440 error_msg = "%s failed sanity test (tmpdir) in path %s" % (file,root)
@@ -376,24 +444,36 @@ def package_qa_check_staged(path,d):
376 444
377# Walk over all files in a directory and call func 445# Walk over all files in a directory and call func
378def package_qa_walk(path, funcs, package,d): 446def package_qa_walk(path, funcs, package,d):
379 sane = True 447 import oe.qa
380 448
449 #if this will throw an exception, then fix the dict above
450 target_os = bb.data.getVar('TARGET_OS', d, True)
451 target_arch = bb.data.getVar('TARGET_ARCH', d, True)
452 (machine, osabi, abiversion, littleendian, bits32) \
453 = package_qa_get_machine_dict()[target_os][target_arch]
454
455 sane = True
381 for root, dirs, files in os.walk(path): 456 for root, dirs, files in os.walk(path):
382 for file in files: 457 for file in files:
383 path = os.path.join(root,file) 458 path = os.path.join(root,file)
459 elf = oe.qa.ELFFile(path, bits32)
460 try:
461 elf.open()
462 except:
463 elf = None
384 for func in funcs: 464 for func in funcs:
385 if not func(path, package,d): 465 if not func(path, package,d, elf):
386 sane = False 466 sane = False
387 467
388 return sane 468 return sane
389 469
390def package_qa_check_rdepends(pkg, workdir, d): 470def package_qa_check_rdepends(pkg, pkgdest, d):
391 sane = True 471 sane = True
392 if not "-dbg" in pkg and not "task-" in pkg and not "-image" in pkg: 472 if not "-dbg" in pkg and not "task-" in pkg and not "-image" in pkg:
393 # Copied from package_ipk.bbclass 473 # Copied from package_ipk.bbclass
394 # boiler plate to update the data 474 # boiler plate to update the data
395 localdata = bb.data.createCopy(d) 475 localdata = bb.data.createCopy(d)
396 root = "%s/install/%s" % (workdir, pkg) 476 root = "%s/%s" % (pkgdest, pkg)
397 477
398 bb.data.setVar('ROOT', '', localdata) 478 bb.data.setVar('ROOT', '', localdata)
399 bb.data.setVar('ROOT_%s' % pkg, root, localdata) 479 bb.data.setVar('ROOT_%s' % pkg, root, localdata)
@@ -425,6 +505,7 @@ def package_qa_check_rdepends(pkg, workdir, d):
425# The PACKAGE FUNC to scan each package 505# The PACKAGE FUNC to scan each package
426python do_package_qa () { 506python do_package_qa () {
427 bb.note("DO PACKAGE QA") 507 bb.note("DO PACKAGE QA")
508 pkgdest = bb.data.getVar('PKGDEST', d, True)
428 workdir = bb.data.getVar('WORKDIR', d, True) 509 workdir = bb.data.getVar('WORKDIR', d, True)
429 packages = bb.data.getVar('PACKAGES',d, True) 510 packages = bb.data.getVar('PACKAGES',d, True)
430 511
@@ -432,9 +513,11 @@ python do_package_qa () {
432 if not packages: 513 if not packages:
433 return 514 return
434 515
435 checks = [package_qa_check_rpath, package_qa_check_devdbg, 516 checks = [package_qa_check_rpath, package_qa_check_dev,
436 package_qa_check_perm, package_qa_check_arch, 517 package_qa_check_perm, package_qa_check_arch,
437 package_qa_check_desktop, package_qa_check_buildpaths] 518 package_qa_check_desktop,
519 package_qa_check_dbg]
520 # package_qa_check_buildpaths, package_qa_hash_style
438 walk_sane = True 521 walk_sane = True
439 rdepends_sane = True 522 rdepends_sane = True
440 for package in packages.split(): 523 for package in packages.split():
@@ -443,10 +526,10 @@ python do_package_qa () {
443 continue 526 continue
444 527
445 bb.note("Checking Package: %s" % package) 528 bb.note("Checking Package: %s" % package)
446 path = "%s/install/%s" % (workdir, package) 529 path = "%s/%s" % (pkgdest, package)
447 if not package_qa_walk(path, checks, package, d): 530 if not package_qa_walk(path, checks, package, d):
448 walk_sane = False 531 walk_sane = False
449 if not package_qa_check_rdepends(package, workdir, d): 532 if not package_qa_check_rdepends(package, pkgdest, d):
450 rdepends_sane = False 533 rdepends_sane = False
451 534
452 535
diff --git a/meta/classes/nativesdk.bbclass b/meta/classes/nativesdk.bbclass
index 2c897c6076..892bae5ecf 100644
--- a/meta/classes/nativesdk.bbclass
+++ b/meta/classes/nativesdk.bbclass
@@ -37,9 +37,9 @@ CXXFLAGS = "${BUILDSDK_CFLAGS}"
37LDFLAGS = "${BUILDSDK_LDFLAGS}" 37LDFLAGS = "${BUILDSDK_LDFLAGS}"
38 38
39# Change to place files in SDKPATH 39# Change to place files in SDKPATH
40prefix = "${SDKPATH}" 40base_prefix = "${SDKPATHNATIVE}"
41exec_prefix = "${SDKPATH}" 41prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
42base_prefix = "${SDKPATH}" 42exec_prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
43 43
44FILES_${PN} += "${prefix}" 44FILES_${PN} += "${prefix}"
45FILES_${PN}-dbg += "${prefix}/.debug \ 45FILES_${PN}-dbg += "${prefix}/.debug \
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
index edec2a47f6..90ef272c24 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes/package_deb.bbclass
@@ -112,11 +112,7 @@ python do_package_deb () {
112 pkgname = pkg 112 pkgname = pkg
113 bb.data.setVar('PKG', pkgname, localdata) 113 bb.data.setVar('PKG', pkgname, localdata)
114 114
115 overrides = bb.data.getVar('OVERRIDES', localdata) 115 bb.data.setVar('OVERRIDES', pkg, localdata)
116 if not overrides:
117 raise bb.build.FuncFailed('OVERRIDES not defined')
118 overrides = bb.data.expand(overrides, localdata)
119 bb.data.setVar('OVERRIDES', pkg + ':' + overrides, localdata)
120 116
121 bb.data.update_data(localdata) 117 bb.data.update_data(localdata)
122 basedir = os.path.join(os.path.dirname(root)) 118 basedir = os.path.join(os.path.dirname(root))
diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass
index 1b40cfebc9..11b60b1563 100644
--- a/meta/classes/package_ipk.bbclass
+++ b/meta/classes/package_ipk.bbclass
@@ -179,10 +179,7 @@ python do_package_ipk () {
179 pkgname = pkg 179 pkgname = pkg
180 bb.data.setVar('PKG', pkgname, localdata) 180 bb.data.setVar('PKG', pkgname, localdata)
181 181
182 overrides = bb.data.getVar('OVERRIDES', localdata, True) 182 bb.data.setVar('OVERRIDES', pkg, localdata)
183 if not overrides:
184 raise bb.build.FuncFailed('OVERRIDES not defined')
185 bb.data.setVar('OVERRIDES', pkg + ':' + overrides, localdata)
186 183
187 bb.data.update_data(localdata) 184 bb.data.update_data(localdata)
188 basedir = os.path.join(os.path.dirname(root)) 185 basedir = os.path.join(os.path.dirname(root))
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index b08d478479..da4f64cc91 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -188,11 +188,7 @@ python do_package_rpm () {
188 pkgname = pkg 188 pkgname = pkg
189 bb.data.setVar('PKG', pkgname, localdata) 189 bb.data.setVar('PKG', pkgname, localdata)
190 190
191 overrides = bb.data.getVar('OVERRIDES', localdata) 191 bb.data.setVar('OVERRIDES', pkg, localdata)
192 if not overrides:
193 raise bb.build.FuncFailed('OVERRIDES not defined')
194 overrides = bb.data.expand(overrides, localdata)
195 bb.data.setVar('OVERRIDES', pkg + ':' + overrides, localdata)
196 192
197 bb.data.update_data(localdata) 193 bb.data.update_data(localdata)
198 basedir = os.path.join(os.path.dirname(root)) 194 basedir = os.path.join(os.path.dirname(root))
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 9d8e59457c..492ed9678a 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -43,6 +43,9 @@ includedir_native = "${prefix_native}/include"
43libdir_native = "${prefix_native}/lib" 43libdir_native = "${prefix_native}/lib"
44datadir_native = "${prefix_native}/share" 44datadir_native = "${prefix_native}/share"
45bindir_cross = "/bin" 45bindir_cross = "/bin"
46prefix_nativesdk = "/usr"
47bindir_nativesdk = "${prefix_nativesdk}/bin"
48libdir_nativesdk = "${prefix_nativesdk}/lib"
46 49
47# 50#
48# Cross recipes need to know about the target layout 51# Cross recipes need to know about the target layout
@@ -290,6 +293,7 @@ PKGDATA_DIR = "${TMPDIR}/pkgdata/${MULTIMACH_TARGET_SYS}"
290 293
291SDK_NAME = "${DISTRO}/${TARGET_ARCH}" 294SDK_NAME = "${DISTRO}/${TARGET_ARCH}"
292SDKPATH = "/usr/local/${SDK_NAME}" 295SDKPATH = "/usr/local/${SDK_NAME}"
296SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
293 297
294################################################################## 298##################################################################
295# Kernel info. 299# Kernel info.
diff --git a/meta/conf/distro/include/poky-default.inc b/meta/conf/distro/include/poky-default.inc
index cf6739d39d..90ec4ce399 100644
--- a/meta/conf/distro/include/poky-default.inc
+++ b/meta/conf/distro/include/poky-default.inc
@@ -15,7 +15,7 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs = "gcc-runtime"
15GCCVERSION ?= "4.3.3" 15GCCVERSION ?= "4.3.3"
16BINUVERSION ?= "2.20.1" 16BINUVERSION ?= "2.20.1"
17GLIBCVERSION ?= "2.9" 17GLIBCVERSION ?= "2.9"
18LINUXLIBCVERSION ?= "2.6.33" 18LINUXLIBCVERSION ?= "2.6.34"
19 19
20# Temporary preferred version overrides for PPC 20# Temporary preferred version overrides for PPC
21PREFERRED_VERSION_u-boot-mkimage-native_powerpc ?= "2009.08" 21PREFERRED_VERSION_u-boot-mkimage-native_powerpc ?= "2009.08"
diff --git a/meta/conf/distro/include/poky-fixed-revisions.inc b/meta/conf/distro/include/poky-fixed-revisions.inc
index 72dcdcf564..42f54ce299 100644
--- a/meta/conf/distro/include/poky-fixed-revisions.inc
+++ b/meta/conf/distro/include/poky-fixed-revisions.inc
@@ -9,11 +9,11 @@ PREFERRED_VERSION_libmatchbox ?= "1.9"
9PREFERRED_VERSION_gtk-sato-engine ?= "0.3.1" 9PREFERRED_VERSION_gtk-sato-engine ?= "0.3.1"
10PREFERRED_VERSION_matchbox-theme-sato ?= "0.1" 10PREFERRED_VERSION_matchbox-theme-sato ?= "0.1"
11 11
12PREFERRED_VERSION_glib-2.0 ?= "2.22.3" 12PREFERRED_VERSION_glib-2.0 ?= "2.24.1"
13PREFERRED_VERSION_glib-2.0-native ?= "2.22.3" 13PREFERRED_VERSION_glib-2.0-native ?= "2.24.1"
14PREFERRED_VERSION_atk ?= "1.24.0" 14PREFERRED_VERSION_atk ?= "1.24.0"
15PREFERRED_VERSION_cairo ?= "1.8.2" 15PREFERRED_VERSION_cairo ?= "1.8.10"
16PREFERRED_VERSION_pango ?= "1.22.2" 16PREFERRED_VERSION_pango ?= "1.28.0"
17PREFERRED_VERSION_gtk+ ?= "2.14.2" 17PREFERRED_VERSION_gtk+ ?= "2.14.2"
18 18
19PREFERRED_VERSION_dbus ?= "1.2.4" 19PREFERRED_VERSION_dbus ?= "1.2.4"
diff --git a/meta/conf/distro/include/preferred-xorg-versions.inc b/meta/conf/distro/include/preferred-xorg-versions.inc
index fb31e544c0..fe3e21ccac 100644
--- a/meta/conf/distro/include/preferred-xorg-versions.inc
+++ b/meta/conf/distro/include/preferred-xorg-versions.inc
@@ -30,7 +30,7 @@ PREFERRED_VERSION_libfontenc ?= "1.0.5"
30PREFERRED_VERSION_libfontenc-native ?= "1.0.5" 30PREFERRED_VERSION_libfontenc-native ?= "1.0.5"
31PREFERRED_VERSION_libfs ?= "1.0.1" 31PREFERRED_VERSION_libfs ?= "1.0.1"
32PREFERRED_VERSION_libice ?= "1.0.6" 32PREFERRED_VERSION_libice ?= "1.0.6"
33PREFERRED_VERSION_liblbxutil ?= "1.0.1" 33PREFERRED_VERSION_liblbxutil ?= "1.1.0"
34PREFERRED_VERSION_liboldx ?= "1.0.1" 34PREFERRED_VERSION_liboldx ?= "1.0.1"
35PREFERRED_VERSION_libsm ?= "1.1.1" 35PREFERRED_VERSION_libsm ?= "1.1.1"
36PREFERRED_VERSION_libwindowswm ?= "1.0.0" 36PREFERRED_VERSION_libwindowswm ?= "1.0.0"
@@ -71,7 +71,7 @@ PREFERRED_VERSION_libxrandr-nativesdk ?= "1.3.0"
71PREFERRED_VERSION_libxrender ?= "0.9.5" 71PREFERRED_VERSION_libxrender ?= "0.9.5"
72PREFERRED_VERSION_libxrender-nativesdk ?= "0.9.5" 72PREFERRED_VERSION_libxrender-nativesdk ?= "0.9.5"
73PREFERRED_VERSION_libxres ?= "1.0.4" 73PREFERRED_VERSION_libxres ?= "1.0.4"
74PREFERRED_VERSION_libxscrnsaver ?= "1.1.3" 74PREFERRED_VERSION_libxscrnsaver ?= "1.2.0"
75PREFERRED_VERSION_libxt ?= "1.0.8" 75PREFERRED_VERSION_libxt ?= "1.0.8"
76PREFERRED_VERSION_libxtrap ?= "1.0.0" 76PREFERRED_VERSION_libxtrap ?= "1.0.0"
77PREFERRED_VERSION_libxtst ?= "1.1.0" 77PREFERRED_VERSION_libxtst ?= "1.1.0"
@@ -93,8 +93,8 @@ PREFERRED_VERSION_renderproto-nativesdk ?= "0.11"
93PREFERRED_VERSION_resourceproto ?= "1.1.0" 93PREFERRED_VERSION_resourceproto ?= "1.1.0"
94PREFERRED_VERSION_scrnsaverproto ?= "1.2.0" 94PREFERRED_VERSION_scrnsaverproto ?= "1.2.0"
95PREFERRED_VERSION_trapproto ?= "3.4.3" 95PREFERRED_VERSION_trapproto ?= "3.4.3"
96PREFERRED_VERSION_util-macros ?= "1.6.0" 96PREFERRED_VERSION_util-macros ?= "1.10.0"
97PREFERRED_VERSION_util-macros-native ?= "1.6.0" 97PREFERRED_VERSION_util-macros-native ?= "1.10.0"
98PREFERRED_VERSION_videoproto ?= "2.3.0" 98PREFERRED_VERSION_videoproto ?= "2.3.0"
99PREFERRED_VERSION_windowswmproto ?= "1.0.4" 99PREFERRED_VERSION_windowswmproto ?= "1.0.4"
100PREFERRED_VERSION_x11perf ?= "1.5" 100PREFERRED_VERSION_x11perf ?= "1.5"
@@ -126,7 +126,7 @@ PREFERRED_VERSION_xproto ?= "7.0.17"
126PREFERRED_VERSION_xproto-native ?= "7.0.17" 126PREFERRED_VERSION_xproto-native ?= "7.0.17"
127PREFERRED_VERSION_xproto-nativesdk ?= "7.0.17" 127PREFERRED_VERSION_xproto-nativesdk ?= "7.0.17"
128PREFERRED_VERSION_xproxymanagementprotocol ?= "1.0.3" 128PREFERRED_VERSION_xproxymanagementprotocol ?= "1.0.3"
129PREFERRED_VERSION_xrandr ?= "1.2.3" 129PREFERRED_VERSION_xrandr ?= "1.3.2"
130PREFERRED_VERSION_xrdb ?= "1.0.5" 130PREFERRED_VERSION_xrdb ?= "1.0.5"
131PREFERRED_VERSION_xserver-kdrive ?= "1.7.99.2" 131PREFERRED_VERSION_xserver-kdrive ?= "1.7.99.2"
132PREFERRED_VERSION_xserver-xf86-dri-lite ?= "1.7.99.2" 132PREFERRED_VERSION_xserver-xf86-dri-lite ?= "1.7.99.2"
@@ -141,8 +141,8 @@ PREFERRED_VERSION_libdrm ?= "2.4.21"
141PREFERRED_VERSION_xcb-proto ?= "1.6" 141PREFERRED_VERSION_xcb-proto ?= "1.6"
142PREFERRED_VERSION_libxcb ?= "1.6" 142PREFERRED_VERSION_libxcb ?= "1.6"
143PREFERRED_VERSION_libxcb-nativesdk ?= "1.6" 143PREFERRED_VERSION_libxcb-nativesdk ?= "1.6"
144PREFERRED_VERSION_libpciaccess ?= "0.10.5" 144PREFERRED_VERSION_libpciaccess ?= "0.11.0"
145PREFERRED_VERSION_xf86-input-evdev ?= "2.3.2" 145PREFERRED_VERSION_xf86-input-evdev ?= "2.4.0"
146PREFERRED_VERSION_xf86-input-mouse ?= "1.5.0" 146PREFERRED_VERSION_xf86-input-mouse ?= "1.5.0"
147PREFERRED_VERSION_xf86-input-keyboard ?= "1.4.0" 147PREFERRED_VERSION_xf86-input-keyboard ?= "1.4.0"
148PREFERRED_VERSION_xf86-input-synaptics ?= "1.2.1" 148PREFERRED_VERSION_xf86-input-synaptics ?= "1.2.1"
diff --git a/meta/conf/distro/include/private/distro_base_libs_1.inc b/meta/conf/distro/include/private/distro_base_libs_1.inc
index 7f54be600a..1467f6b98b 100644
--- a/meta/conf/distro/include/private/distro_base_libs_1.inc
+++ b/meta/conf/distro/include/private/distro_base_libs_1.inc
@@ -95,3 +95,28 @@ RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn+dbus-glib = "6 months"
95RECIPE_LATEST_RELEASE_DATE_pn+dbus-glib = "03/2010" 95RECIPE_LATEST_RELEASE_DATE_pn+dbus-glib = "03/2010"
96RECIPE_COMMENTS_pn+dbus-glib = "" 96RECIPE_COMMENTS_pn+dbus-glib = ""
97 97
98RECIPE_STATUS_pn-neon="green"
99DEPENDENCY_CHECK_pn-neon = "not done"
100RECIPE_LATEST_VERSION_pn-neon="0.29.3"
101RECIPE_NO_OF_PATCHES_pn-neon="0"
102RECIPE_INTEL_SECTION_pn-neon = "base libs"
103RECIPE_LATEST_RELEASE_DATE_pn-neon="01/2010"
104RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-neon="15 days"
105RECIPE_COMMENTS_pn-neon = ""
106
107RECIPE_STATUS_pn+libpng = "green"
108DEPENDENCY_CHECK_pn+libpng = "not done"
109RECIPE_LATEST_VERSION_pn+libpng = "1.4.3"
110RECIPE_PATCH_pn+libpng+makefile = "by RP; 2008; to define ECHO explicitly for lbitool 2.2.2. need check whether it's still valide for new libtool. candidate for upstream"
111RECIPE_INTEL_SECTION_pn+libpng = "base libs"
112RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn+libpng = "1 month"
113RECIPE_LATEST_RELEASE_DATE_pn+libpng = "06/2010"
114RECIPE_COMMENTS_pn+libpng = ""
115
116RECIPE_STATUS_pn+libidn = "green"
117DEPENDENCY_CHECK_pn+libidn = "not done"
118RECIPE_LATEST_VERSION_pn+libidn = "1.19"
119RECIPE_INTEL_SECTION_pn+libidn = "base libs"
120RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn+libidn = "3 months"
121RECIPE_LATEST_RELEASE_DATE_pn+libidn = "05/2010"
122RECIPE_COMMENTS_pn+libidn = ""
diff --git a/meta/conf/distro/include/private/distro_base_libs_2.inc b/meta/conf/distro/include/private/distro_base_libs_2.inc
index da319c0608..22dfd3b4dd 100644
--- a/meta/conf/distro/include/private/distro_base_libs_2.inc
+++ b/meta/conf/distro/include/private/distro_base_libs_2.inc
@@ -137,3 +137,60 @@ RECIPE_INTEL_SECTION_pn-openssl = "base libs"
137RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-openssl = "3 months" 137RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-openssl = "3 months"
138RECIPE_LATEST_RELEASE_DATE_pn-openssl = "06/2010" 138RECIPE_LATEST_RELEASE_DATE_pn-openssl = "06/2010"
139RECIPE_COMMENTS_pn-openssl = "0.9.8o is actually used for stability concerns" 139RECIPE_COMMENTS_pn-openssl = "0.9.8o is actually used for stability concerns"
140
141RECIPE_STATUS_pn-libnss-mdns = "red" # need upgrade
142DEPENDENCY_CHECK_pn-libnss-mdns = "not done"
143RECIPE_LATEST_VERSION_pn-libnss-mdns = "0.10"
144RECIPE_INTEL_SECTION_pn-libnss-mdns = "base libs"
145RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libnss-mdns = "n/a"
146RECIPE_LATEST_RELEASE_DATE_pn-libnss-mdns = "05/2007"
147RECIPE_COMMENTS_pn-libnss-mdns = ""
148
149RECIPE_STATUS_pn-ncurses = "red" # need upgrade
150DEPENDENCY_CHECK_pn-ncurses = "not done"
151RECIPE_LATEST_VERSION_pn-ncurses = "5.7"
152RECIPE_INTEL_SECTION_pn-ncurses = "base libs"
153RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-ncurses = "23 months"
154RECIPE_LATEST_RELEASE_DATE_pn-ncurses = "11/2008"
155RECIPE_COMMENTS_pn-ncurses = ""
156
157RECIPE_STATUS_pn-popt = "green"
158DEPENDENCY_CHECK_pn-popt = "done"
159RECIPE_LATEST_VERSION_pn-popt = "1.16"
160RECIPE_INTEL_SECTION_pn-popt = "base libs"
161RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-popt = "13 months"
162RECIPE_LATEST_RELEASE_DATE_pn-popt = "05/2010"
163RECIPE_COMMENTS_pn-popt = ""
164
165RECIPE_STATUS_pn-sqlite3 = "red" # need upgrade
166DEPENDENCY_CHECK_pn-sqlite3 = "not done"
167RECIPE_LATEST_VERSION_pn-sqlite3 = "3.6.23.1"
168RECIPE_INTEL_SECTION_pn-sqlite3 = "base libs"
169RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-sqlite3 = "1 month"
170RECIPE_LATEST_RELEASE_DATE_pn-sqlite3 = "03/2010"
171RECIPE_COMMENTS_pn-sqlite3 = ""
172
173RECIPE_STATUS_pn-startup-notification = "red" # need upgrade
174DEPENDENCY_CHECK_pn-startup-notification = "not done"
175RECIPE_LATEST_VERSION_pn-startup-notification = "0.10"
176RECIPE_INTEL_SECTION_pn-startup-notification = "base libs"
177RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-startup-notification = "25 months"
178RECIPE_LATEST_RELEASE_DATE_pn-startup-notification = "04/2009"
179RECIPE_COMMENTS_pn-startup-notification = ""
180
181RECIPE_STATUS_pn-libpthread-stubs = "green"
182DEPENDENCY_CHECK_pn-libpthread-stubs = "done"
183RECIPE_LATEST_VERSION_pn-libpthread-stubs = "0.3"
184RECIPE_INTEL_SECTION_pn-libpthread-stubs = "base libs"
185RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libpthread-stubs = "n/a"
186RECIPE_LATEST_RELEASE_DATE_pn-libpthread-stubs = "10/2009"
187RECIPE_COMMENTS_pn-libpthread-stubs = "0.1: 11/2006, 0.2: 09/2009, 0.3: 10/2009"
188
189RECIPE_STATUS_pn-libusb-compat = "red" # need upgrade
190DEPENDENCY_CHECK_pn-libusb-compat = "not done"
191RECIPE_LATEST_VERSION_pn-libusb-compat = "0.1.3"
192RECIPE_INTEL_SECTION_pn-libusb-compat = "base utils"
193RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libusb-compat = "1 month"
194RECIPE_LATEST_RELEASE_DATE_pn-libusb-compat = "07/2009"
195RECIPE_COMMENTS_pn-libusb-compat = "possibly conflicts with libusb"
196
diff --git a/meta/conf/distro/include/private/distro_base_utils_1.inc b/meta/conf/distro/include/private/distro_base_utils_1.inc
index 3ce57d1afc..b36eec7e40 100644
--- a/meta/conf/distro/include/private/distro_base_utils_1.inc
+++ b/meta/conf/distro/include/private/distro_base_utils_1.inc
@@ -215,3 +215,44 @@ RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn+prism-firmware = "same time"
215RECIPE_LATEST_RELEASE_DATE_pn+prism-firmware = "07/2005" 215RECIPE_LATEST_RELEASE_DATE_pn+prism-firmware = "07/2005"
216RECIPE_COMMENTS_pn+prism-firmware = "1.7.4 and 1.8.4 are both released at same time. perhaps then we don't need upgrade this one?" 216RECIPE_COMMENTS_pn+prism-firmware = "1.7.4 and 1.8.4 are both released at same time. perhaps then we don't need upgrade this one?"
217 217
218RECIPE_STATUS_pn+base-files = "yellow" # do we need those tewaks for ad-hoc platforms
219DEPENDENCY_CHECK_pn+base-files = "not done"
220RECIPE_LATEST_VERSION_pn+base-files = "3.0.14"
221RECIPE_INTEL_SECTION_pn+base-files = "base utils"
222RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn+base-files = "n/a"
223RECIPE_LATEST_RELEASE_DATE_pn+base-files = "n/a"
224RECIPE_COMMENTS_pn+base-files = "licenses are pacakges here; all local files. RP said that the version 3.0.14 may come from debian. no need to upgrade it now"
225
226RECIPE_STATUS_pn+base-passwd = "yellow" # do we need those tewaks for ad-hoc platforms
227DEPENDENCY_CHECK_pn+base-passwd = "not done"
228RECIPE_LATEST_VERSION_pn+base-passwd = "3.5.22"
229RECIPE_PATCH_pn+base-passwd+configure = "in upstream now"
230RECIPE_PATCH_pn+base-passwd+nobash = "change /bin/bash to /bin/sh in passwd.master; another specific poky tweak"
231RECIPE_PATCH_pn+base-passwd+root-home = "change home for root user in passwd.master; perhaps a poky specific tweak; oe even has other root-home patch for different configurations"
232RECIPE_PATCH_pn+base-passwd+mysql = "set correct uid/gid for mysql; 8836cd80; 2005; perhaps it could be removed now because previous fix is on an existing mysql line but now it becomes a simple addition"
233RECIPE_INTEL_SECTION_pn+base-passwd = "base utils"
234RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn+base-passwd = "1 year"
235RECIPE_LATEST_RELEASE_DATE_pn+base-passwd = "09/2009"
236RECIPE_COMMENTS_pn+base-passwd = ""
237
238RECIPE_STATUS_pn+apmd = "green"
239DEPENDENCY_CHECK_pn+apmd = "not done"
240RECIPE_LATEST_VERSION_pn+apmd = "3.2.2-14"
241RECIPE_PATCH_pn+apmd+debian = "unclear"
242RECIPE_PATCH_pn+apmd+workaround = "unclear"
243RECIPE_PATCH_pn+apmd+unlinux = "added in 3.2.2; 9456cdc1; 2007; to prevent build from interfering with host kernel headers. curious whether it's still required or any better way?"
244RECIPE_PATCH_pn+apmd+libtool = "added in 3.2.2; 35de05e5; 2008; by RP; to solve compability with libtool 2.2.4. perhaps for upstream"
245RECIPE_INTEL_SECTION_pn+apmd = "base utils"
246RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn+apmd = "1 year"
247RECIPE_LATEST_RELEASE_DATE_pn+apmd = "07/2009"
248RECIPE_COMMENTS_pn+apmd = ""
249
250RECIPE_STATUS_pn+gperf = "green"
251DEPENDENCY_CHECK_pn+gperf = "not done"
252RECIPE_LATEST_VERSION_pn+gperf = "3.0.4"
253RECIPE_PATCH_pn+gperf+autoreconf = "added in 2007; e02b1a6c; perhaps it's required if only purpose is to downgraded AC_PREREQ from 2.60 to 2.59; acinclude.m4 perhaps could be generated automatically"
254RECIPE_INTEL_SECTION_pn+gperf = "base utils"
255RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn+gperf = "2 years"
256RECIPE_LATEST_RELEASE_DATE_pn+gperf = "02/2009"
257RECIPE_COMMENTS_pn+gperf = "3.0.4 is GPLv3, however we only require native version so far"
258
diff --git a/meta/conf/distro/include/private/distro_base_utils_2.inc b/meta/conf/distro/include/private/distro_base_utils_2.inc
index 4286db648b..90ed9d2d61 100644
--- a/meta/conf/distro/include/private/distro_base_utils_2.inc
+++ b/meta/conf/distro/include/private/distro_base_utils_2.inc
@@ -121,3 +121,217 @@ RECIPE_INTEL_SECTION_pn-curl = "base utils"
121RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-curl = "2 months" 121RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-curl = "2 months"
122RECIPE_LATEST_RELEASE_DATE_pn-curl = "06/2010" 122RECIPE_LATEST_RELEASE_DATE_pn-curl = "06/2010"
123RECIPE_COMMENTS_pn-curl = "" 123RECIPE_COMMENTS_pn-curl = ""
124
125RECIPE_STATUS_pn-gconf-dbus = "red" # need upgrade
126DEPENDENCY_CHECK_pn-gconf-dbus = "not done"
127RECIPE_LATEST_VERSION_pn-gconf-dbus = "2.16.0"
128RECIPE_INTEL_SECTION_pn-gconf-dbus = "base utils"
129RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gconf-dbus = "n/a"
130RECIPE_LATEST_RELEASE_DATE_pn-gconf-dbus = "n/a"
131RECIPE_COMMENTS_pn-gconf-dbus = "difficult to identify official site and current status"
132
133RECIPE_STATUS_pn-pkgconfig = "red" # need upgrade
134DEPENDENCY_CHECK_pn-pkgconfig = "not done"
135RECIPE_LATEST_VERSION_pn-pkgconfig = "0.25"
136RECIPE_INTEL_SECTION_pn-pkgconfig = "base utils"
137RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-pkgconfig = "n/a"
138RECIPE_LATEST_RELEASE_DATE_pn-pkgconfig = "05/2010"
139RECIPE_COMMENTS_pn-pkgconfig = "git as candidate, 0.23: 01/2008, 0.24: 05/2010, 0.25: 05/2010"
140
141RECIPE_STATUS_pn-less = "green"
142DEPENDENCY_CHECK_pn-less = "done"
143RECIPE_LATEST_VERSION_pn-less = "436"
144RECIPE_INTEL_SECTION_pn-less = "base utils"
145RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-less = "1 month"
146RECIPE_LATEST_RELEASE_DATE_pn-less = "07/2009"
147RECIPE_COMMENTS_pn-less = "also licensed under less, which is a 2-clause BSD-like permissive license"
148
149RECIPE_STATUS_pn-genext2fs = "red" # need upgrade
150DEPENDENCY_CHECK_pn-genext2fs = "not done"
151RECIPE_LATEST_VERSION_pn-genext2fs = "1.4.1"
152RECIPE_INTEL_SECTION_pn-genext2fs = "base utils"
153RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-genext2fs = "3 months"
154RECIPE_LATEST_RELEASE_DATE_pn-genext2fs = "04/2007"
155RECIPE_COMMENTS_pn-genext2fs = ""
156
157RECIPE_STATUS_pn-findutils = "red" # need upgrade
158DEPENDENCY_CHECK_pn-findutils = "not done"
159RECIPE_LATEST_VERSION_pn-findutils = "4.4.2"
160RECIPE_INTEL_SECTION_pn-findutils = "base utils"
161RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-findutils = "2 months"
162RECIPE_LATEST_RELEASE_DATE_pn-findutils = "06/2009"
163RECIPE_COMMENTS_pn-findutils = ""
164
165RECIPE_STATUS_pn-file = "green"
166DEPENDENCY_CHECK_pn-file = "done"
167RECIPE_LATEST_VERSION_pn-file = "5.04"
168RECIPE_PATCH_pn-file+dump = "some new magic data"
169RECIPE_PATCH_pn-file+filesystems = "some other new magic data"
170RECIPE_INTEL_SECTION_pn-file = "base utils"
171RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-file = "8 months"
172RECIPE_LATEST_RELEASE_DATE_pn-file = "01/2010"
173RECIPE_COMMENTS_pn-file = "2-clause BSD"
174
175RECIPE_STATUS_pn-rsync = "yellow" # missing dependencies
176DEPENDENCY_CHECK_pn-rsync = "done" # can also add acl and attr as dependencies
177RECIPE_LATEST_VERSION_pn-rsync = "3.0.7"
178RECIPE_PATCH_pn-rsync+rsyncd.conf = "init script"
179RECIPE_PATCH_pn-rsync+acinclude.m4 = "custom m4 macros"
180RECIPE_INTEL_SECTION_pn-rsync = "base utils"
181RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-rsync = "7 months"
182RECIPE_LATEST_RELEASE_DATE_pn-rsync = "12/2009"
183RECIPE_COMMENTS_pn-rsync = ""
184
185RECIPE_STATUS_pn-nfs-utils = "red" # need upgrade
186DEPENDENCY_CHECK_pn-nfs-utils = "not done"
187RECIPE_LATEST_VERSION_pn-nfs-utils = "1.2.2"
188RECIPE_INTEL_SECTION_pn-nfs-utils = "base utils"
189RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-nfs-utils = "3 months"
190RECIPE_LATEST_RELEASE_DATE_pn-nfs-utils = "02/2010"
191RECIPE_COMMENTS_pn-nfs-utils = ""
192
193RECIPE_STATUS_pn-dropbear = "green"
194DEPENDENCY_CHECK_pn-dropbear = "not done"
195RECIPE_LATEST_VERSION_pn-dropbear = "0.52"
196RECIPE_PATCH_pn-dropbear+urandom-xauth-changes-to-options.h = "xauth path change"
197RECIPE_PATCH_pn-dropbear+configure = "use configure cache value for cross compiling"
198RECIPE_PATCH_pn-dropbear+fix-skb-keys = "enlarge key buffer size"
199RECIPE_PATCH_pn-dropbear+allow-nopw = "allow login with no password, applied on in occasions"
200RECIPE_PATCH_pn-dropbear+init = "init script"
201RECIPE_INTEL_SECTION_pn-dropbear = "base utils"
202RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-dropbear = "8 months"
203RECIPE_LATEST_RELEASE_DATE_pn-dropbear = "11/2008"
204RECIPE_COMMENTS_pn-dropbear = ""
205
206RECIPE_STATUS_pn-hal = "red" # need upgrade
207DEPENDENCY_CHECK_pn-hal = "not done"
208RECIPE_LATEST_VERSION_pn-hal = "0.5.14"
209RECIPE_INTEL_SECTION_pn-hal = "base utils"
210RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-hal = "4 months"
211RECIPE_LATEST_RELEASE_DATE_pn-hal = "11/2009"
212RECIPE_COMMENTS_pn-hal = "The licensing is very complicated, Most files are GPLv2+ | AFL \
213with some borrowed code under LGPLv2.1, AFL itself is incompatible with GPL/LGPL"
214
215RECIPE_STATUS_pn-hal-info = "red" # need upgrade
216DEPENDENCY_CHECK_pn-hal-info = "not done"
217RECIPE_LATEST_VERSION_pn-hal-info = "20091130"
218RECIPE_INTEL_SECTION_pn-hal-info = "base utils"
219RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-hal-info = "4 months"
220RECIPE_LATEST_RELEASE_DATE_pn-hal-info = "11/2009"
221RECIPE_COMMENTS_pn-hal-info = ""
222
223RECIPE_STATUS_pn-avahi = "red" # need upgrade
224DEPENDENCY_CHECK_pn-avahi = "not done"
225RECIPE_LATEST_VERSION_pn-avahi = "0.6.25"
226RECIPE_INTEL_SECTION_pn-avahi = "base utils"
227RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-avahi = "4 months"
228RECIPE_LATEST_RELEASE_DATE_pn-avahi = "04/2009"
229RECIPE_COMMENTS_pn-avahi = ""
230
231RECIPE_STATUS_pn-js = "yellow" # may not work for platforms other than 32bit x86
232DEPENDENCY_CHECK_pn-js = "not done"
233RECIPE_LATEST_VERSION_pn-js = "1.8.0~rc1"
234RECIPE_PATCH_pn-js+usepic = "get around broken PIC test for cross compiling"
235RECIPE_PATCH_pn-js+link-with-gcc = "use $(CC) instead of $(LD) to link"
236RECIPE_PATCH_pn-js+jsautocfg.h = "architecture specified configurations"
237RECIPE_INTEL_SECTION_pn-js = "base utils"
238RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-js = "11 months"
239RECIPE_LATEST_RELEASE_DATE_pn-js = "03/2009"
240RECIPE_COMMENTS_pn-js = "1.7.0 is 10/2007, alternative java based packaged called Rhino"
241
242RECIPE_STATUS_pn-pcmciautils = "red" # need upgrade
243DEPENDENCY_CHECK_pn-pcmciautils = "not done"
244RECIPE_LATEST_VERSION_pn-pcmciautils = "017"
245RECIPE_INTEL_SECTION_pn-pcmciautils = "base utils"
246RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-pcmciautils = "3 months"
247RECIPE_LATEST_RELEASE_DATE_pn-pcmciautils = "01/2010"
248RECIPE_COMMENTS_pn-pcmciautils = ""
249
250RECIPE_STATUS_pn-unzip = "green"
251DEPENDENCY_CHECK_pn-unzip = "not done"
252RECIPE_LATEST_VERSION_pn-unzip = "6.0"
253RECIPE_INTEL_SECTION_pn-unzip = "base utils"
254RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-unzip = "49 months"
255RECIPE_LATEST_RELEASE_DATE_pn-unzip = "04/2009"
256RECIPE_COMMENTS_pn-unzip = "5.52 has a race condition vulnerability for Unix version"
257
258RECIPE_STATUS_pn-zip = "green"
259DEPENDENCY_CHECK_pn-zip = "not done"
260RECIPE_LATEST_VERSION_pn-zip = "3.0"
261RECIPE_INTEL_SECTION_pn-zip = "base utils"
262RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-zip = "21 months"
263RECIPE_LATEST_RELEASE_DATE_pn-zip = "09/2009"
264RECIPE_COMMENTS_pn-zip = ""
265
266RECIPE_STATUS_pn-strace = "green"
267DEPENDENCY_CHECK_pn-strace = "not done"
268RECIPE_LATEST_VERSION_pn-strace = "4.5.20"
269RECIPE_INTEL_SECTION_pn-strace = "base utils"
270RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-strace = "6 months"
271RECIPE_LATEST_RELEASE_DATE_pn-strace = "04/2010"
272RECIPE_COMMENTS_pn-strace = "3-clause BSD"
273
274RECIPE_STATUS_pn-dhcp = "red" # need upgrade
275DEPENDENCY_CHECK_pn-dhcp = "not done"
276RECIPE_LATEST_VERSION_pn-dhcp = "4.1.1-P1"
277RECIPE_INTEL_SECTION_pn-dhcp = "base utils"
278RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-dhcp = "n/a"
279RECIPE_LATEST_RELEASE_DATE_pn-dhcp = "06/2010"
280RECIPE_COMMENTS_pn-dhcp = "several major release, others are 3.1.3, 4.0.2-P1, need to identify"
281
282RECIPE_STATUS_pn-v86d = "yellow" # self written configure
283DEPENDENCY_CHECK_pn-v86d = "not done"
284RECIPE_LATEST_VERSION_pn-v86d = "0.1.9"
285RECIPE_PATCH_pn-v86d+fbsetup = "init script"
286RECIPE_INTEL_SECTION_pn-v86d = "base utils"
287RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-v86d = "1 month"
288RECIPE_LATEST_RELEASE_DATE_pn-v86d = "10/2008"
289RECIPE_COMMENTS_pn-v86d = "contains code under other licenses"
290
291RECIPE_STATUS_pn-udev = "red" # need upgrade
292DEPENDENCY_CHECK_pn-udev = "not done"
293RECIPE_LATEST_VERSION_pn-udev = "157"
294RECIPE_INTEL_SECTION_pn-udev = "base utils"
295RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-udev = "<1 month"
296RECIPE_LATEST_RELEASE_DATE_pn-udev = "06/2010"
297RECIPE_COMMENTS_pn-udev = "may need different versions for different kernels"
298
299RECIPE_STATUS_pn-tzdata = "green"
300DEPENDENCY_CHECK_pn-tzdata = "not done"
301RECIPE_LATEST_VERSION_pn-tzdata = "2010j"
302RECIPE_INTEL_SECTION_pn-tzdata = "base utils"
303RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-tzdata = "1 month"
304RECIPE_LATEST_RELEASE_DATE_pn-tzdata = "05/2010"
305RECIPE_COMMENTS_pn-tzdata = ""
306
307RECIPE_STATUS_pn-tinylogin = "yellow" # replaced, place holder for tracking
308DEPENDENCY_CHECK_pn-tinylogin = "not done"
309RECIPE_LATEST_VERSION_pn-tinylogin = "n/a"
310RECIPE_INTEL_SECTION_pn-tinylogin = "base utils"
311RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-tinylogin = "n/a"
312RECIPE_LATEST_RELEASE_DATE_pn-tinylogin = "n/a"
313RECIPE_COMMENTS_pn-tinylogin = "merged into busybox"
314
315RECIPE_STATUS_pn-spectrum-fw = "red" # need upgrade
316DEPENDENCY_CHECK_pn-spectrum-fw = "not done"
317RECIPE_LATEST_VERSION_pn-spectrum-fw = "n/a"
318RECIPE_INTEL_SECTION_pn-spectrum-fw = "base utils"
319RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-spectrum-fw = "n/a"
320RECIPE_LATEST_RELEASE_DATE_pn-spectrum-fw = "n/a"
321RECIPE_COMMENTS_pn-spectrum-fw = "difficult to identify official site and current status"
322
323RECIPE_STATUS_pn-rpm = "red" # need upgrade
324DEPENDENCY_CHECK_pn-rpm = "not done"
325RECIPE_LATEST_VERSION_pn-rpm = "4.8.0"
326RECIPE_INTEL_SECTION_pn-rpm = "base utils"
327RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-rpm = "2 months"
328RECIPE_LATEST_RELEASE_DATE_pn-rpm = "01/2010"
329RECIPE_COMMENTS_pn-rpm = "the library alone is under dual license"
330
331RECIPE_STATUS_pn-shared-mime-info = "red" # need upgrade
332DEPENDENCY_CHECK_pn-shared-mime-info = "not done"
333RECIPE_LATEST_VERSION_pn-shared-mime-info = "0.71"
334RECIPE_INTEL_SECTION_pn-shared-mime-info = "base utils"
335RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-shared-mime-info = "5 months"
336RECIPE_LATEST_RELEASE_DATE_pn-shared-mime-info = "02/2010"
337RECIPE_COMMENTS_pn-shared-mime-info = ""
diff --git a/meta/conf/distro/include/private/distro_connectivity.inc b/meta/conf/distro/include/private/distro_connectivity.inc
index 6c4e04627e..9f4fda1889 100644
--- a/meta/conf/distro/include/private/distro_connectivity.inc
+++ b/meta/conf/distro/include/private/distro_connectivity.inc
@@ -39,3 +39,27 @@ RECIPE_LATEST_VERSION_pn-wpa-supplicant="0.7.2"
39RECIPE_NO_OF_PATCHES_pn-wpa-supplicant="0" 39RECIPE_NO_OF_PATCHES_pn-wpa-supplicant="0"
40RECIPE_LATEST_RELEASE_DATE_pn-wpa-supplicant="2010/04/18" 40RECIPE_LATEST_RELEASE_DATE_pn-wpa-supplicant="2010/04/18"
41RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-wpa-supplicant="3 months" 41RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-wpa-supplicant="3 months"
42
43RECIPE_STATUS_pn-ppp="green"
44RECIPE_LATEST_VERSION_pn-ppp="2.4.5"
45RECIPE_NO_OF_PATCHES_pn-ppp="5"
46RECIPE_LATEST_RELEASE_DATE_pn-ppp="2009/11/17"
47RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-ppp="4 years"
48
49RECIPE_STATUS_pn-libproxy="red" # Need upgrade
50RECIPE_LATEST_VERSION_pn-libproxy="0.4.4"
51RECIPE_NO_OF_PATCHES_pn-libproxy="1"
52RECIPE_LATEST_RELEASE_DATE_pn-libproxy="2010/05/19"
53RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libproxy="3 months"
54
55RECIPE_STATUS_pn-networkmanager="red" # Need upgrade
56RECIPE_LATEST_VERSION_pn-networkmanager="0.8"
57RECIPE_NO_OF_PATCHES_pn-networkmanager="4"
58RECIPE_LATEST_RELEASE_DATE_pn-networkmanager="2010/04/18"
59RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-networkmanager="3 months"
60
61RECIPE_STATUS_pn-networkmanager-applet="red" # Need upgrade
62RECIPE_LATEST_VERSION_pn-networkmanager-applet="n/a"
63RECIPE_NO_OF_PATCHES_pn-networkmanager-applet="4"
64RECIPE_LATEST_RELEASE_DATE_pn-networkmanager-applet="n/a"
65RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-networkmanager-applet="n/a"
diff --git a/meta/conf/distro/include/private/distro_kernel.inc b/meta/conf/distro/include/private/distro_kernel.inc
index eff11faadb..145ae2bba5 100644
--- a/meta/conf/distro/include/private/distro_kernel.inc
+++ b/meta/conf/distro/include/private/distro_kernel.inc
@@ -4,4 +4,8 @@ RECIPE_NO_OF_PATCHES_pn-hostap-utils="1"
4RECIPE_LATEST_RELEASE_DATE_pn-hostap-utils="2008/12/03" 4RECIPE_LATEST_RELEASE_DATE_pn-hostap-utils="2008/12/03"
5RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-hostap-utils="7 months" 5RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-hostap-utils="7 months"
6 6
7 7RECIPE_STATUS_pn-kexec-tools="green"
8RECIPE_LATEST_VERSION_pn-kexec-tools="2.0.1"
9RECIPE_NO_OF_PATCHES_pn-kexec-tools="1"
10RECIPE_LATEST_RELEASE_DATE_pn-kexec-tools="2009/08/12"
11RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-kexec-tools="1 year"
diff --git a/meta/conf/distro/include/private/distro_multimedia.inc b/meta/conf/distro/include/private/distro_multimedia.inc
index a3d8386bd7..6a14e4173c 100644
--- a/meta/conf/distro/include/private/distro_multimedia.inc
+++ b/meta/conf/distro/include/private/distro_multimedia.inc
@@ -111,3 +111,9 @@ RECIPE_LATEST_VERSION_pn-speex="1.2rc1"
111RECIPE_NO_OF_PATCHES_pn-speex="0" 111RECIPE_NO_OF_PATCHES_pn-speex="0"
112RECIPE_LATEST_RELEASE_DATE_pn-speex="2008/07/24" 112RECIPE_LATEST_RELEASE_DATE_pn-speex="2008/07/24"
113RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-speex="8 months" 113RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-speex="8 months"
114
115RECIPE_STATUS_pn-libmusicbrainz="green"
116RECIPE_LATEST_VERSION_pn-libmusicbrainz="3.0.2"
117RECIPE_NO_OF_PATCHES_pn-libmusicbrainz="0"
118RECIPE_LATEST_RELEASE_DATE_pn-libmusicbrainz="2008/09/13"
119RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libmusicbrainz="14 months"
diff --git a/meta/conf/distro/include/private/distro_toolchain_devel.inc b/meta/conf/distro/include/private/distro_toolchain_devel.inc
index 2bcfdec483..2ef4978904 100644
--- a/meta/conf/distro/include/private/distro_toolchain_devel.inc
+++ b/meta/conf/distro/include/private/distro_toolchain_devel.inc
@@ -137,16 +137,16 @@ RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-oprofile="4 months"
137RECIPE_LATEST_RELEASE_DATE_pn-oprofile="2009/11/24" 137RECIPE_LATEST_RELEASE_DATE_pn-oprofile="2009/11/24"
138 138
139RECIPE_STATUS_pn-perl="red" # upgrade needed 139RECIPE_STATUS_pn-perl="red" # upgrade needed
140RECIPE_LATEST_VERSION_pn-perl="5.13.1" 140RECIPE_LATEST_VERSION_pn-perl="5.12.1"
141RECIPE_NO_OF_PATCHES_pn-perl="33" 141RECIPE_NO_OF_PATCHES_pn-perl="33"
142RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-perl="3 days" 142RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-perl="1 months"
143RECIPE_LATEST_RELEASE_DATE_pn-perl="2010/05/20" 143RECIPE_LATEST_RELEASE_DATE_pn-perl="2010/05/16"
144 144
145RECIPE_STATUS_pn-prelink="red" # upgrade needed 145RECIPE_STATUS_pn-prelink="red" # upgrade needed
146RECIPE_LATEST_VERSION_pn-prelink="20090925" 146RECIPE_LATEST_VERSION_pn-prelink="20100106"
147RECIPE_NO_OF_PATCHES_pn-prelink="3" 147RECIPE_NO_OF_PATCHES_pn-prelink="3"
148RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-prelink="6 months" 148RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-prelink="2 months"
149RECIPE_LATEST_RELEASE_DATE_pn-prelink="2009/09/25" 149RECIPE_LATEST_RELEASE_DATE_pn-prelink="2010/01/06"
150 150
151RECIPE_STATUS_pn-python-dbus="red" # upgrade needed 151RECIPE_STATUS_pn-python-dbus="red" # upgrade needed
152RECIPE_LATEST_VERSION_pn-python-dbus="0.83.1" 152RECIPE_LATEST_VERSION_pn-python-dbus="0.83.1"
diff --git a/meta/conf/distro/include/private/distro_x11_apps_1.inc b/meta/conf/distro/include/private/distro_x11_apps_1.inc
index 9401ab4878..ce668fd66c 100644
--- a/meta/conf/distro/include/private/distro_x11_apps_1.inc
+++ b/meta/conf/distro/include/private/distro_x11_apps_1.inc
@@ -29,3 +29,12 @@ RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xrestop = "18 months"
29RECIPE_LATEST_RELEASE_DATE_pn-xrestop = "03/2006" 29RECIPE_LATEST_RELEASE_DATE_pn-xrestop = "03/2006"
30RECIPE_COMMENTS_pn-xrestop = "" 30RECIPE_COMMENTS_pn-xrestop = ""
31 31
32RECIPE_STATUS_pn-pcmanfm = "yellow" # update needed
33DEPENDENCY_CHECK_pn-pcmanfm = "not done"
34RECIPE_LATEST_VERSION_pn-pcmanfm = "0.9.7"
35RECIPE_NO_OF_PATCHES_pn-pcmanfm = "4"
36RECIPE_INTEL_SECTION_pn-pcmanfm = "graphic apps"
37RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-pcmanfm = "4 months"
38RECIPE_LATEST_RELEASE_DATE_pn-pcmanfm = "05/2010"
39RECIPE_COMMENTS_pn-pcmanfm = ""
40
diff --git a/meta/conf/distro/include/private/distro_x11_apps_2.inc b/meta/conf/distro/include/private/distro_x11_apps_2.inc
index a26696fc40..8222e5d144 100644
--- a/meta/conf/distro/include/private/distro_x11_apps_2.inc
+++ b/meta/conf/distro/include/private/distro_x11_apps_2.inc
@@ -78,3 +78,10 @@ RECIPE_NO_OF_PATCHES_pn-xwininfo="0"
78RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xwininfo="1 year" 78RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xwininfo="1 year"
79RECIPE_LATEST_RELEASE_DATE_pn-xwininfo="2009/10/12" 79RECIPE_LATEST_RELEASE_DATE_pn-xwininfo="2009/10/12"
80RECIPE_INTEL_SECTION_pn-xwininfo="graphic app" 80RECIPE_INTEL_SECTION_pn-xwininfo="graphic app"
81
82RECIPE_STATUS_pn-xrandr="green" # no update needed
83RECIPE_LATEST_VERSION_pn-xrandr="1.3.2"
84RECIPE_NO_OF_PATCHES_pn-xrandr="0"
85RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xrandr="1 month"
86RECIPE_LATEST_RELEASE_DATE_pn-xrandr="2009/09/10"
87RECIPE_INTEL_SECTION_pn-xrandr="graphic app"
diff --git a/meta/conf/distro/include/private/distro_x11_core.inc b/meta/conf/distro/include/private/distro_x11_core.inc
index 2ec9d54814..58eee34211 100644
--- a/meta/conf/distro/include/private/distro_x11_core.inc
+++ b/meta/conf/distro/include/private/distro_x11_core.inc
@@ -58,7 +58,7 @@ RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libdrm="1 month"
58RECIPE_LATEST_RELEASE_DATE_pn-libdrm="2010/06/10" 58RECIPE_LATEST_RELEASE_DATE_pn-libdrm="2010/06/10"
59RECIPE_INTEL_SECTION_pn-libdrm="graphic core" 59RECIPE_INTEL_SECTION_pn-libdrm="graphic core"
60 60
61RECIPE_STATUS_pn-python-pycairo="red" # upgrade needed. src file name changed to py2cairo 61RECIPE_STATUS_pn-python-pycairo="green" # no upgrade needed
62RECIPE_LATEST_VERSION_pn-python-pycairo="1.8.10" 62RECIPE_LATEST_VERSION_pn-python-pycairo="1.8.10"
63RECIPE_NO_OF_PATCHES_pn-python-pycairo="0" 63RECIPE_NO_OF_PATCHES_pn-python-pycairo="0"
64RECIPE_LATEST_RELEASE_DATE_pn-python-pycairo="2010/05/20" 64RECIPE_LATEST_RELEASE_DATE_pn-python-pycairo="2010/05/20"
@@ -70,3 +70,45 @@ RECIPE_NO_OF_PATCHES_pn-libxfontcache="0"
70RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxfontcache="3 years" 70RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxfontcache="3 years"
71RECIPE_LATEST_RELEASE_DATE_pn-libxfontcache="2009/10/08" 71RECIPE_LATEST_RELEASE_DATE_pn-libxfontcache="2009/10/08"
72RECIPE_INTEL_SECTION_pn-libxfontcache="graphic core" 72RECIPE_INTEL_SECTION_pn-libxfontcache="graphic core"
73
74RECIPE_STATUS_pn-xf86-input-evdev="green" # no update needed
75RECIPE_LATEST_VERSION_pn-xf86-input-evdev="2.4.0"
76RECIPE_NO_OF_PATCHES_pn-xf86-input-evdev="0"
77RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xf86-input-evdev="1 monthes"
78RECIPE_LATEST_RELEASE_DATE_pn-xf86-input-evdev="2010/04/06"
79RECIPE_INTEL_SECTION_pn-xf86-input-evdev="graphic core"
80
81RECIPE_STATUS_pn-xf86-video-vmware="green" # no update needed
82RECIPE_LATEST_VERSION_pn-xf86-video-vmware="11.0.1"
83RECIPE_NO_OF_PATCHES_pn-xf86-video-vmware="0"
84RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xf86-video-vmware="2 monthes"
85RECIPE_LATEST_RELEASE_DATE_pn-xf86-video-vmware="2010/03/18"
86RECIPE_INTEL_SECTION_pn-xf86-video-vmware="graphic core"
87
88RECIPE_STATUS_pn-cairo="green" # no update needed
89RECIPE_LATEST_VERSION_pn-cairo="1.9.10"
90RECIPE_NO_OF_PATCHES_pn-cairo="1"
91RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-cairo="1 monthes"
92RECIPE_LATEST_RELEASE_DATE_pn-cairo="2010/02/20"
93RECIPE_INTEL_SECTION_pn-cairo="graphic core"
94
95RECIPE_STATUS_pn-xserver-nodm-init="green" # no update needed
96RECIPE_LATEST_VERSION_pn-xserver-nodm-init="0" # local patch
97RECIPE_NO_OF_PATCHES_pn-xserver-nodm-init="0"
98#RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xserver-nodm-init=""
99#RECIPE_LATEST_RELEASE_DATE_pn-xserver-nodm-init=""
100RECIPE_INTEL_SECTION_pn-xserver-nodm-init="graphic core"
101
102RECIPE_STATUS_pn-xserver-xf86-config="green" # no update needed
103RECIPE_LATEST_VERSION_pn-xserver-xf86-config="0.1" # local patch
104RECIPE_NO_OF_PATCHES_pn-xserver-xf86-config="0"
105#RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xserver-xf86-config=""
106#RECIPE_LATEST_RELEASE_DATE_pn-xserver-xf86-config=""
107RECIPE_INTEL_SECTION_pn-xserver-xf86-config="graphic core"
108
109RECIPE_STATUS_pn-pango="green" # no update needed
110RECIPE_LATEST_VERSION_pn-pango="1.28.0"
111RECIPE_NO_OF_PATCHES_pn-pango="1"
112RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-pango="1 month"
113RECIPE_LATEST_RELEASE_DATE_pn-pango="2010/03/10"
114RECIPE_INTEL_SECTION_pn-pango="graphic core"
diff --git a/meta/conf/distro/include/private/distro_x11_libs.inc b/meta/conf/distro/include/private/distro_x11_libs.inc
index 1142c1d733..3fbc582f61 100644
--- a/meta/conf/distro/include/private/distro_x11_libs.inc
+++ b/meta/conf/distro/include/private/distro_x11_libs.inc
@@ -615,3 +615,61 @@ RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxmu = "1+ years"
615RECIPE_LATEST_RELEASE_DATE_pn-libxmu = "09/2009" 615RECIPE_LATEST_RELEASE_DATE_pn-libxmu = "09/2009"
616RECIPE_COMMENTS_pn-libxmu = "" 616RECIPE_COMMENTS_pn-libxmu = ""
617 617
618RECIPE_STATUS_pn-libpciaccess = "green"
619DEPENDENCY_CHECK_pn-libpciaccess = "not done"
620RECIPE_LATEST_VERSION_pn-libpciaccess = "0.11.0"
621RECIPE_NO_OF_PATCHES_pn-libpciaccess = "0"
622RECIPE_INTEL_SECTION_pn-libpciaccess = "x11/libs"
623RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libpciaccess = "1+ years"
624RECIPE_LATEST_RELEASE_DATE_pn-libpciaccess = "12/2009"
625RECIPE_COMMENTS_pn-libpciaccess = ""
626
627RECIPE_STATUS_pn-xkeyboard-config = "green"
628DEPENDENCY_CHECK_pn-xkeyboard-config = "not done"
629RECIPE_LATEST_VERSION_pn-xkeyboard-config = "1.9"
630RECIPE_NO_OF_PATCHES_pn-xkeyboard-config = "0"
631RECIPE_INTEL_SECTION_pn-xkeyboard-config = "x11/libs"
632RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xkeyboard-config = "4 months"
633RECIPE_LATEST_RELEASE_DATE_pn-xkeyboard-config = "05/2010"
634RECIPE_COMMENTS_pn-xkeyboard-config = ""
635
636RECIPE_STATUS_pn-util-macros = "green"
637DEPENDENCY_CHECK_pn-util-macros = "not done"
638RECIPE_LATEST_VERSION_pn-util-macros = "1.10.0"
639RECIPE_NO_OF_PATCHES_pn-util-macros = "1"
640RECIPE_PATCH_pn-util-macros+unbreak_cross_compile = "the patch isn't needed any longer since the upstream has fixed the cross-compile issue, so is removed from the recipe file"
641RECIPE_INTEL_SECTION_pn-util-macros = "x11/utils"
642RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-util-macros = "2 days"
643RECIPE_LATEST_RELEASE_DATE_pn-util-macros = "06/2010"
644RECIPE_COMMENTS_pn-util-macros = ""
645
646RECIPE_STATUS_pn-fontconfig = "green"
647DEPENDENCY_CHECK_pn-fontconfig = "not done"
648RECIPE_LATEST_VERSION_pn-fontconfig = "2.8.0"
649RECIPE_NO_OF_PATCHES_pn-fontconfig = "1"
650RECIPE_PATCH_pn-fontconfig+fix-pkgconfig = "an one-line patch; fix the linkage to freetype in fontconfig.pc.in"
651RECIPE_INTEL_SECTION_pn-fontconfig = "x11/libs"
652RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-fontconfig = "2 months"
653RECIPE_LATEST_RELEASE_DATE_pn-fontconfig = "11/2009"
654RECIPE_COMMENTS_pn-fontconfig = ""
655
656RECIPE_STATUS_pn-freetype = "green"
657DEPENDENCY_CHECK_pn-freetype = "not done"
658RECIPE_LATEST_VERSION_pn-freetype = "2.3.12"
659RECIPE_NO_OF_PATCHES_pn-freetype = "2"
660RECIPE_PATCH_pn-freetype+fix-x86_64-build = "a two-line simple fix to builds/unix/configure.{raw,ac}; 2.3.12 has integrated it; so removed the patch in the new recipe file"
661RECIPE_PATCH_pn-freetype+fix-x86_64-build = "a two-line simple fix to builds/unix/freetype-config.in; 2.3.12 has integrated it; so removed the patch in the new recipe file"
662RECIPE_INTEL_SECTION_pn-freetype = "libs"
663RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-freetype = "4 months"
664RECIPE_LATEST_RELEASE_DATE_pn-freetype = "02/2010"
665RECIPE_COMMENTS_pn-freetype = ""
666
667RECIPE_STATUS_pn-librsvg = "green"
668DEPENDENCY_CHECK_pn-librsvg = "not done"
669RECIPE_LATEST_VERSION_pn-librsvg = "2.26.3"
670RECIPE_NO_OF_PATCHES_pn-librsvg = "0"
671RECIPE_INTEL_SECTION_pn-librsvg = "x11/utils"
672RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-librsvg = "10 months"
673RECIPE_LATEST_RELEASE_DATE_pn-librsvg = "05/2010"
674RECIPE_COMMENTS_pn-librsvg = ""
675
diff --git a/meta/conf/distro/include/private/distro_x11_ux.inc b/meta/conf/distro/include/private/distro_x11_ux.inc
index 8a88de4281..573577d340 100644
--- a/meta/conf/distro/include/private/distro_x11_ux.inc
+++ b/meta/conf/distro/include/private/distro_x11_ux.inc
@@ -182,3 +182,156 @@ RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-atk = "1 month"
182RECIPE_LATEST_RELEASE_DATE_pn-atk = "03/2010" 182RECIPE_LATEST_RELEASE_DATE_pn-atk = "03/2010"
183RECIPE_COMMENTS_pn-atk = "" 183RECIPE_COMMENTS_pn-atk = ""
184 184
185RECIPE_STATUS_pn-gtk+ = "yellow" # update needed
186DEPENDENCY_CHECK_pn-gtk+ = "not done"
187RECIPE_LATEST_VERSION_pn-gtk+ = "2.20.1"
188RECIPE_NO_OF_PATCHES_pn-gtk+ = "0"
189RECIPE_INTEL_SECTION_pn-gtk+ = "graphic UX"
190RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gtk+ = "2 months"
191RECIPE_LATEST_RELEASE_DATE_pn-gtk+ = "05/2010"
192RECIPE_COMMENTS_pn-gtk+ = ""
193
194RECIPE_STATUS_pn-gnome-common = "yellow" # update needed
195DEPENDENCY_CHECK_pn-gnome-common = "not done"
196RECIPE_LATEST_VERSION_pn-gnome-common = "2.28.0"
197RECIPE_NO_OF_PATCHES_pn-gnome-common = "0"
198RECIPE_INTEL_SECTION_pn-gnome-common = "graphic UX"
199RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gnome-common = "6 months"
200RECIPE_LATEST_RELEASE_DATE_pn-gnome-common = "09/2009"
201RECIPE_COMMENTS_pn-gnome-common = ""
202
203RECIPE_STATUS_pn-webkit-gtk = "yellow" # update needed
204DEPENDENCY_CHECK_pn-webkit-gtk = "not done"
205RECIPE_LATEST_VERSION_pn-webkit-gtk = "1.2.1"
206RECIPE_NO_OF_PATCHES_pn-webkit-gtk = "0"
207RECIPE_INTEL_SECTION_pn-webkit-gtk = "graphic UX"
208RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-webkit-gtk = "1 month"
209RECIPE_LATEST_RELEASE_DATE_pn-webkit-gtk = "06/2010"
210RECIPE_COMMENTS_pn-webkit-gtk = ""
211
212RECIPE_STATUS_pn-eds-dbus = "yellow" # update needed; custome configure
213DEPENDENCY_CHECK_pn-eds-dbus = "not done"
214RECIPE_LATEST_VERSION_pn-eds-dbus = "2.31.4"
215RECIPE_NO_OF_PATCHES_pn-eds-dbus = "0"
216RECIPE_INTEL_SECTION_pn-eds-dbus = "graphic UX"
217RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-eds-dbus = "1 month"
218RECIPE_LATEST_RELEASE_DATE_pn-eds-dbus = "06/2010"
219RECIPE_COMMENTS_pn-eds-dbus = ""
220
221RECIPE_STATUS_pn-gnome-keyring = "yellow" # update needed
222DEPENDENCY_CHECK_pn-gnome-keyring = "not done"
223RECIPE_LATEST_VERSION_pn-gnome-keyring = "2.31.4"
224RECIPE_NO_OF_PATCHES_pn-gnome-keyring = "0"
225RECIPE_INTEL_SECTION_pn-gnome-keyring = "graphic UX"
226RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gnome-keyring = "1 month"
227RECIPE_LATEST_RELEASE_DATE_pn-gnome-keyring = "06/2010"
228RECIPE_COMMENTS_pn-gnome-keyring = ""
229
230RECIPE_STATUS_pn-gtk-sato-engine = "yellow" # update needed
231DEPENDENCY_CHECK_pn-gtk-sato-engine = "not done"
232RECIPE_LATEST_VERSION_pn-gtk-sato-engine = "0.3.2"
233RECIPE_NO_OF_PATCHES_pn-gtk-sato-engine = "0"
234RECIPE_INTEL_SECTION_pn-gtk-sato-engine = "graphic UX"
235RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gtk-sato-engine = "n/a"
236RECIPE_LATEST_RELEASE_DATE_pn-gtk-sato-engine = "02/2008"
237RECIPE_COMMENTS_pn-gtk-sato-engine = ""
238
239RECIPE_STATUS_pn-hicolor-icon-theme = "yellow" # update needed
240DEPENDENCY_CHECK_pn-hicolor-icon-theme = "not done"
241RECIPE_LATEST_VERSION_pn-hicolor-icon-theme = "0.12"
242RECIPE_NO_OF_PATCHES_pn-hicolor-icon-theme = "0"
243RECIPE_INTEL_SECTION_pn-hicolor-icon-theme = "graphic UX"
244RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-hicolor-icon-theme = "4 months"
245RECIPE_LATEST_RELEASE_DATE_pn-hicolor-icon-theme = "09/2009"
246RECIPE_COMMENTS_pn-hicolor-icon-theme = ""
247
248RECIPE_STATUS_pn-jpeg = "yellow" # update needed
249DEPENDENCY_CHECK_pn-jpeg = "not done"
250RECIPE_LATEST_VERSION_pn-jpeg = "8b"
251RECIPE_NO_OF_PATCHES_pn-jpeg = "0"
252RECIPE_INTEL_SECTION_pn-jpeg = "graphic UX"
253RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-jpeg = "12 months"
254RECIPE_LATEST_RELEASE_DATE_pn-jpeg = "05/2010"
255RECIPE_COMMENTS_pn-jpeg = ""
256
257RECIPE_STATUS_pn-libfakekey = "green" # no update needed
258DEPENDENCY_CHECK_pn-libfakekey = "not done"
259RECIPE_LATEST_VERSION_pn-libfakekey = "0.2"
260RECIPE_NO_OF_PATCHES_pn-libfakekey = "0"
261RECIPE_INTEL_SECTION_pn-libfakekey = "graphic UX"
262RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libfakekey = "n/a"
263RECIPE_LATEST_RELEASE_DATE_pn-libfakekey = "07/2006"
264RECIPE_COMMENTS_pn-libfakekey = ""
265
266RECIPE_STATUS_pn-libglade = "yellow" # update needed
267DEPENDENCY_CHECK_pn-libglade = "not done"
268RECIPE_LATEST_VERSION_pn-libglade = "2.6.4"
269RECIPE_NO_OF_PATCHES_pn-libglade = "0"
270RECIPE_INTEL_SECTION_pn-libglade = "graphic UX"
271RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libglade = "7 months"
272RECIPE_LATEST_RELEASE_DATE_pn-libglade = "03/2009"
273RECIPE_COMMENTS_pn-libglade = ""
274
275RECIPE_STATUS_pn-libsoup-2.4 = "yellow" # update needed
276DEPENDENCY_CHECK_pn-libsoup-2.4 = "not done"
277RECIPE_LATEST_VERSION_pn-libsoup-2.4 = "2.31.2"
278RECIPE_NO_OF_PATCHES_pn-libsoup-2.4 = "0"
279RECIPE_INTEL_SECTION_pn-libsoup-2.4 = "graphic UX"
280RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libsoup-2.4 = "1 month"
281RECIPE_LATEST_RELEASE_DATE_pn-libsoup-2.4 = "05/2010"
282RECIPE_COMMENTS_pn-libsoup-2.4 = ""
283
284RECIPE_STATUS_pn-libxslt = "yellow" # update needed
285DEPENDENCY_CHECK_pn-libxslt = "not done"
286RECIPE_LATEST_VERSION_pn-libxslt = "1.1.26"
287RECIPE_NO_OF_PATCHES_pn-libxslt = "0"
288RECIPE_INTEL_SECTION_pn-libxslt = "graphic UX"
289RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxslt = "1 month"
290RECIPE_LATEST_RELEASE_DATE_pn-libxslt = "09/2009"
291RECIPE_COMMENTS_pn-libxslt = ""
292
293RECIPE_STATUS_pn-matchbox-config-gtk = "yellow" # update needed
294DEPENDENCY_CHECK_pn-matchbox-config-gtk = "not done"
295RECIPE_LATEST_VERSION_pn-matchbox-config-gtk = "2081"
296RECIPE_NO_OF_PATCHES_pn-matchbox-config-gtk = "0"
297RECIPE_INTEL_SECTION_pn-matchbox-config-gtk = "graphic UX"
298RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-matchbox-config-gtk = "n/a"
299RECIPE_LATEST_RELEASE_DATE_pn-matchbox-config-gtk = "09/2008"
300RECIPE_COMMENTS_pn-matchbox-config-gtk = ""
301
302RECIPE_STATUS_pn-matchbox-keyboard = "yellow" # update needed
303DEPENDENCY_CHECK_pn-matchbox-keyboard = "not done"
304RECIPE_LATEST_VERSION_pn-matchbox-keyboard = "2075"
305RECIPE_NO_OF_PATCHES_pn-matchbox-keyboard = "0"
306RECIPE_INTEL_SECTION_pn-matchbox-keyboard = "graphic UX"
307RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-matchbox-keyboard = "n/a"
308RECIPE_LATEST_RELEASE_DATE_pn-matchbox-keyboard = "09/2008"
309RECIPE_COMMENTS_pn-matchbox-keyboard = ""
310
311RECIPE_STATUS_pn-matchbox-panel-2 = "yellow" # update needed
312DEPENDENCY_CHECK_pn-matchbox-panel-2 = "not done"
313RECIPE_LATEST_VERSION_pn-matchbox-panel-2 = "2109"
314RECIPE_NO_OF_PATCHES_pn-matchbox-panel-2 = "0"
315RECIPE_INTEL_SECTION_pn-matchbox-panel-2 = "graphic UX"
316RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-matchbox-panel-2 = "n/a"
317RECIPE_LATEST_RELEASE_DATE_pn-matchbox-panel-2 = "04/2010"
318RECIPE_COMMENTS_pn-matchbox-panel-2 = ""
319
320RECIPE_STATUS_pn-matchbox-stroke = "yellow" # update needed
321DEPENDENCY_CHECK_pn-matchbox-stroke = "not done"
322RECIPE_LATEST_VERSION_pn-matchbox-stroke = "1820"
323RECIPE_NO_OF_PATCHES_pn-matchbox-stroke = "0"
324RECIPE_INTEL_SECTION_pn-matchbox-stroke = "graphic UX"
325RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-matchbox-stroke = "n/a"
326RECIPE_LATEST_RELEASE_DATE_pn-matchbox-stroke = "11/2007"
327RECIPE_COMMENTS_pn-matchbox-stroke = ""
328
329RECIPE_STATUS_pn-matchbox-wm = "yellow" # update needed
330DEPENDENCY_CHECK_pn-matchbox-wm = "not done"
331RECIPE_LATEST_VERSION_pn-matchbox-wm = "1819"
332RECIPE_NO_OF_PATCHES_pn-matchbox-wm = "0"
333RECIPE_INTEL_SECTION_pn-matchbox-wm = "graphic UX"
334RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-matchbox-wm = "n/a"
335RECIPE_LATEST_RELEASE_DATE_pn-matchbox-wm = "11/2007"
336RECIPE_COMMENTS_pn-matchbox-wm = ""
337
diff --git a/meta/conf/distro/poky.conf b/meta/conf/distro/poky.conf
index 57231fd6ef..951e156c25 100644
--- a/meta/conf/distro/poky.conf
+++ b/meta/conf/distro/poky.conf
@@ -58,8 +58,8 @@ require conf/distro/include/poky-${POKYMODE}.inc
58POKYLIBC ?= "glibc" 58POKYLIBC ?= "glibc"
59require conf/distro/include/poky-${POKYLIBC}.inc 59require conf/distro/include/poky-${POKYLIBC}.inc
60 60
61SDK_NAME = "${DISTRO}-${POKYMODE}-${POKYLIBC}-${SDK_ARCH}-${TARGET_ARCH}" 61SDK_NAME = "${DISTRO}-${POKYLIBC}-${SDK_ARCH}-${TARGET_ARCH}"
62SDKPATH = "/usr/local/${DISTRO}/${POKYMODE}-${POKYLIBC}" 62SDKPATH = "/opt/${DISTRO}"
63 63
64CACHE = "${TMPDIR}/cache/${POKYMODE}-${POKYLIBC}${@['', '/' + str(bb.data.getVar('MACHINE', d, 1))][bool(bb.data.getVar('MACHINE', d, 1))]}${@['', '/' + str(bb.data.getVar('SDKMACHINE', d, 1))][bool(bb.data.getVar('SDKMACHINE', d, 1))]}" 64CACHE = "${TMPDIR}/cache/${POKYMODE}-${POKYLIBC}${@['', '/' + str(bb.data.getVar('MACHINE', d, 1))][bool(bb.data.getVar('MACHINE', d, 1))]}${@['', '/' + str(bb.data.getVar('SDKMACHINE', d, 1))][bool(bb.data.getVar('SDKMACHINE', d, 1))]}"
65 65
diff --git a/meta/conf/machine/igep0020.conf b/meta/conf/machine/igep0020.conf
index aa7afb7df7..9ddbad65b3 100644
--- a/meta/conf/machine/igep0020.conf
+++ b/meta/conf/machine/igep0020.conf
@@ -4,6 +4,9 @@
4TARGET_ARCH = "arm" 4TARGET_ARCH = "arm"
5PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6 armv7 armv7a" 5PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6 armv7 armv7a"
6 6
7# Floating point option
8TARGET_FPU_arm = "hard"
9
7PREFERRED_PROVIDER_virtual/xserver = "xserver-xf86-lite" 10PREFERRED_PROVIDER_virtual/xserver = "xserver-xf86-lite"
8XSERVER = "xserver-xf86-lite \ 11XSERVER = "xserver-xf86-lite \
9 xf86-input-evdev \ 12 xf86-input-evdev \
@@ -16,7 +19,7 @@ XSERVER = "xserver-xf86-lite \
16GUI_MACHINE_CLASS = "bigscreen" 19GUI_MACHINE_CLASS = "bigscreen"
17 20
18#Ship all kernel modules till the board support has matured enough 21#Ship all kernel modules till the board support has matured enough
19MACHINE_EXTRA_RRECOMMENDS = " kernel-modules" 22MACHINE_EXTRA_RRECOMMENDS = " kernel-modules linux-firmware-sd8686"
20 23
21include conf/machine/include/tune-cortexa8.inc 24include conf/machine/include/tune-cortexa8.inc
22 25
@@ -26,7 +29,7 @@ EXTRA_IMAGECMD_jffs2 = "-lnp "
26# Guesswork 29# Guesswork
27SERIAL_CONSOLE = "115200 ttyS2" 30SERIAL_CONSOLE = "115200 ttyS2"
28 31
29PREFERRED_PROVIDER_virtual/kernel = "linux-igep2" 32PREFERRED_PROVIDER_virtual/kernel = "linux-igep"
30 33
31KERNEL_IMAGETYPE = "uImage" 34KERNEL_IMAGETYPE = "uImage"
32 35
diff --git a/meta/conf/machine/igep0030.conf b/meta/conf/machine/igep0030.conf
new file mode 100644
index 0000000000..7ebfaa0ca5
--- /dev/null
+++ b/meta/conf/machine/igep0030.conf
@@ -0,0 +1,41 @@
1#@TYPE: Machine
2#@NAME: OMAP3 IGEP module
3#@DESCRIPTION: Machine configuration for the OMAP3 IGEP module (http://www.myigep.com)
4TARGET_ARCH = "arm"
5PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6 armv7 armv7a"
6
7# Floating point option
8TARGET_FPU_arm = "hard"
9
10PREFERRED_PROVIDER_virtual/xserver = "xserver-xf86-lite"
11XSERVER = "xserver-xf86-lite \
12 xf86-input-evdev \
13 xf86-input-mouse \
14 xf86-input-keyboard \
15 xf86-video-omapfb"
16
17
18# Only has DVI connector for external screen
19GUI_MACHINE_CLASS = "bigscreen"
20
21#Ship all kernel modules till the board support has matured enough
22MACHINE_EXTRA_RRECOMMENDS = " kernel-modules linux-firmware-sd8686"
23
24include conf/machine/include/tune-cortexa8.inc
25
26IMAGE_FSTYPES += "cpio ext3 jffs2"
27EXTRA_IMAGECMD_jffs2 = "-lnp "
28
29# Guesswork
30SERIAL_CONSOLE = "115200 ttyS2"
31
32PREFERRED_PROVIDER_virtual/kernel = "linux-igep"
33
34KERNEL_IMAGETYPE = "uImage"
35
36UBOOT_ENTRYPOINT = "0x80008000"
37UBOOT_LOADADDRESS = "0x80008000"
38
39MACHINE_FEATURES = "kernel26 apm alsa bluetooth usbgadget usbhost vfat wifi"
40
41# EXTRA_IMAGEDEPENDS += "u-boot x-load"
diff --git a/meta/packages/apmd/apmd_3.2.2.bb b/meta/packages/apmd/apmd_3.2.2.bb
index 288413f8d7..821f0855f9 100644
--- a/meta/packages/apmd/apmd_3.2.2.bb
+++ b/meta/packages/apmd/apmd_3.2.2.bb
@@ -1,15 +1,15 @@
1DESCRIPTION = "Set of tools for managing notebook power consumption." 1DESCRIPTION = "Set of tools for managing notebook power consumption."
2SECTION = "base" 2SECTION = "base"
3PRIORITY = "required" 3PRIORITY = "required"
4LICENSE = "GPLv2+"
4DEPENDS = "libtool-cross" 5DEPENDS = "libtool-cross"
5LICENSE = "GPL"
6PR = "r13" 6PR = "r13"
7 7
8SRC_URI = "${DEBIAN_MIRROR}/main/a/apmd/apmd_${PV}.orig.tar.gz \ 8SRC_URI = "${DEBIAN_MIRROR}/main/a/apmd/apmd_${PV}.orig.tar.gz \
9 file://debian.patch;patch=1 \ 9 file://debian.patch \
10 file://workaround.patch;patch=1 \ 10 file://workaround.patch \
11 file://unlinux.patch;patch=1 \ 11 file://unlinux.patch \
12 file://libtool.patch;patch=1 \ 12 file://libtool.patch \
13 file://init \ 13 file://init \
14 file://default \ 14 file://default \
15 file://apmd_proxy \ 15 file://apmd_proxy \
diff --git a/meta/packages/avahi/avahi.inc b/meta/packages/avahi/avahi.inc
index fdc234dc8b..4e29493196 100644
--- a/meta/packages/avahi/avahi.inc
+++ b/meta/packages/avahi/avahi.inc
@@ -1,9 +1,14 @@
1DESCRIPTION = "Avahi implements the DNS-SD over Multicast DNS" 1DESCRIPTION = "Avahi implements the DNS-SD over Multicast DNS"
2AUTHOR = "Lennart Poettering <lennart@poettering.net>" 2AUTHOR = "Lennart Poettering <lennart@poettering.net>"
3HOMEPAGE = "http://avahi.org" 3HOMEPAGE = "http://avahi.org"
4BUGTRACKER = "http://avahi.org/report"
4SECTION = "network" 5SECTION = "network"
5PRIORITY = "optional" 6PRIORITY = "optional"
6LICENSE = "GPL" 7
8# major part is under LGPLv2.1+, but several .dtd, .xsl, initscripts and
9# python scripts are under GPLv2+
10LICENSE = "GPLv2+ & LGPLv2.1+"
11
7DEPENDS = "expat libdaemon dbus glib-2.0 gtk+ libglade" 12DEPENDS = "expat libdaemon dbus glib-2.0 gtk+ libglade"
8RRECOMMENDS = "libnss-mdns" 13RRECOMMENDS = "libnss-mdns"
9RRECOMMENDS_avahi-daemon = "libnss-mdns" 14RRECOMMENDS_avahi-daemon = "libnss-mdns"
diff --git a/meta/packages/base-files/base-files_3.0.14.bb b/meta/packages/base-files/base-files_3.0.14.bb
index ba61a1cefb..a8f092db09 100644
--- a/meta/packages/base-files/base-files_3.0.14.bb
+++ b/meta/packages/base-files/base-files_3.0.14.bb
@@ -4,8 +4,7 @@ PRIORITY = "required"
4PR = "r64" 4PR = "r64"
5LICENSE = "GPLv2" 5LICENSE = "GPLv2"
6 6
7SRC_URI = " \ 7SRC_URI = "file://rotation \
8 file://rotation \
9 file://nsswitch.conf \ 8 file://nsswitch.conf \
10 file://motd \ 9 file://motd \
11 file://inputrc \ 10 file://inputrc \
@@ -27,32 +26,32 @@ SRC_URI = " \
27 file://licenses/LGPL-2.1 \ 26 file://licenses/LGPL-2.1 \
28 file://licenses/LGPL-3 \ 27 file://licenses/LGPL-3 \
29 file://licenses/GFDL-1.2 \ 28 file://licenses/GFDL-1.2 \
30 file://licenses/Artistic " 29 file://licenses/Artistic"
31S = "${WORKDIR}" 30S = "${WORKDIR}"
32 31
33docdir_append = "/${P}" 32docdir_append = "/${P}"
34dirs1777 = "/tmp ${localstatedir}/volatile/lock ${localstatedir}/volatile/tmp" 33dirs1777 = "/tmp ${localstatedir}/volatile/lock ${localstatedir}/volatile/tmp"
35dirs2775 = "/home ${prefix}/src ${localstatedir}/local" 34dirs2775 = "/home ${prefix}/src ${localstatedir}/local"
36dirs755 = "/bin /boot /dev ${sysconfdir} ${sysconfdir}/default \ 35dirs755 = "/bin /boot /dev ${sysconfdir} ${sysconfdir}/default \
37 ${sysconfdir}/skel /lib /mnt /proc /home/root /sbin \ 36 ${sysconfdir}/skel /lib /mnt /proc /home/root /sbin \
38 ${prefix} ${bindir} ${docdir} /usr/games ${includedir} \ 37 ${prefix} ${bindir} ${docdir} /usr/games ${includedir} \
39 ${libdir} ${sbindir} ${datadir} \ 38 ${libdir} ${sbindir} ${datadir} \
40 ${datadir}/common-licenses ${datadir}/dict ${infodir} \ 39 ${datadir}/common-licenses ${datadir}/dict ${infodir} \
41 ${mandir} ${datadir}/misc ${localstatedir} \ 40 ${mandir} ${datadir}/misc ${localstatedir} \
42 ${localstatedir}/backups ${localstatedir}/lib \ 41 ${localstatedir}/backups ${localstatedir}/lib \
43 /sys ${localstatedir}/lib/misc ${localstatedir}/spool \ 42 /sys ${localstatedir}/lib/misc ${localstatedir}/spool \
44 ${localstatedir}/volatile ${localstatedir}/volatile/cache \ 43 ${localstatedir}/volatile ${localstatedir}/volatile/cache \
45 ${localstatedir}/volatile/lock/subsys \ 44 ${localstatedir}/volatile/lock/subsys \
46 ${localstatedir}/volatile/log \ 45 ${localstatedir}/volatile/log \
47 ${localstatedir}/volatile/run \ 46 ${localstatedir}/volatile/run \
48 /mnt /media /media/card /media/cf /media/net /media/ram \ 47 /mnt /media /media/card /media/cf /media/net /media/ram \
49 /media/union /media/realroot /media/hdd \ 48 /media/union /media/realroot /media/hdd \
50 /media/mmc1" 49 /media/mmc1"
51volatiles = "cache run log lock tmp" 50volatiles = "cache run log lock tmp"
52conffiles = "${sysconfdir}/debian_version ${sysconfdir}/host.conf \ 51conffiles = "${sysconfdir}/debian_version ${sysconfdir}/host.conf \
53 ${sysconfdir}/inputrc ${sysconfdir}/issue /${sysconfdir}/issue.net \ 52 ${sysconfdir}/inputrc ${sysconfdir}/issue /${sysconfdir}/issue.net \
54 ${sysconfdir}/nsswitch.conf ${sysconfdir}/profile \ 53 ${sysconfdir}/nsswitch.conf ${sysconfdir}/profile \
55 ${sysconfdir}/default" 54 ${sysconfdir}/default"
56 55
57# 56#
58# set standard hostname, might be a candidate for a DISTRO variable? :M: 57# set standard hostname, might be a candidate for a DISTRO variable? :M:
diff --git a/meta/packages/base-passwd/base-passwd_3.5.9.bb b/meta/packages/base-passwd/base-passwd_3.5.9.bb
index 051b8d6a3f..46333ebd59 100644
--- a/meta/packages/base-passwd/base-passwd_3.5.9.bb
+++ b/meta/packages/base-passwd/base-passwd_3.5.9.bb
@@ -1,20 +1,18 @@
1DESCRIPTION = "Base system password/group files." 1DESCRIPTION = "Base system password/group files."
2SECTION = "base" 2SECTION = "base"
3PR = "r2" 3PR = "r2"
4LICENSE = "GPL" 4LICENSE = "GPLv2+"
5 5
6SRC_URI = "${DEBIAN_MIRROR}/main/b/base-passwd/base-passwd_${PV}.tar.gz \ 6SRC_URI = "${DEBIAN_MIRROR}/main/b/base-passwd/base-passwd_${PV}.tar.gz \
7 file://configure.patch;patch=1 \ 7 file://configure.patch \
8 file://nobash.patch;patch=1 \ 8 file://nobash.patch \
9 file://root-home.patch;patch=1 \ 9 file://root-home.patch \
10 file://mysql.patch;patch=1" 10 file://mysql.patch"
11 11
12S = "${WORKDIR}/base-passwd" 12S = "${WORKDIR}/base-passwd"
13 13
14inherit autotools 14inherit autotools
15 15
16FILES_${PN}-doc += "${docdir}"
17
18do_install () { 16do_install () {
19 install -d -m 755 ${D}${sbindir} 17 install -d -m 755 ${D}${sbindir}
20 install -p -m 755 update-passwd ${D}${sbindir}/ 18 install -p -m 755 update-passwd ${D}${sbindir}/
diff --git a/meta/packages/busybox/busybox-1.15.3/0000-wget-no-check-certificate.patch b/meta/packages/busybox/busybox-1.15.3/0000-wget-no-check-certificate.patch
deleted file mode 100644
index c737f172b1..0000000000
--- a/meta/packages/busybox/busybox-1.15.3/0000-wget-no-check-certificate.patch
+++ /dev/null
@@ -1,12 +0,0 @@
1diff --git a/networking/wget.c b/networking/wget.c
2index 9d813dc..09edd67 100644
3--- a/networking/wget.c
4+++ b/networking/wget.c
5@@ -546,6 +546,7 @@ int wget_main(int argc UNUSED_PARAM, char **argv)
6 "passive-ftp\0" No_argument "\xff"
7 "header\0" Required_argument "\xfe"
8 "post-data\0" Required_argument "\xfd"
9+ "no-check-certificate\0" No_argument "\xfc"
10 ;
11 #endif
12
diff --git a/meta/packages/busybox/busybox-1.15.3/ash_fix_redirection_of_fd_0.patch b/meta/packages/busybox/busybox-1.15.3/ash_fix_redirection_of_fd_0.patch
deleted file mode 100644
index 5c791271e5..0000000000
--- a/meta/packages/busybox/busybox-1.15.3/ash_fix_redirection_of_fd_0.patch
+++ /dev/null
@@ -1,21 +0,0 @@
1Fix redirection of fd 0 in scripts sourced from interactive ash
2
3Based on Busybox git 08d8b3cee1329d390f91bce419e2b4dadf484952 by
4Denys Vlasenko <vda.linux@googlemail.com>.
5
6Can be removed when we bump to 1.16.1 + patches or later
7
8JL 03/06/10
9Index: busybox-1.15.3/shell/ash.c
10===================================================================
11--- busybox-1.15.3.orig/shell/ash.c 2009-12-12 21:16:38.000000000 +0000
12+++ busybox-1.15.3/shell/ash.c 2010-06-03 09:44:59.484647637 +0100
13@@ -5071,7 +5071,7 @@
14 return 0;
15 pf = g_parsefile;
16 while (pf) {
17- if (fd == pf->fd) {
18+ if (pf->fd > 0 && fd == pf->fd) {
19 return 1;
20 }
21 pf = pf->prev;
diff --git a/meta/packages/busybox/busybox-1.15.3/fdisk_lineedit_segfault.patch b/meta/packages/busybox/busybox-1.15.3/fdisk_lineedit_segfault.patch
deleted file mode 100644
index 633153f1ce..0000000000
--- a/meta/packages/busybox/busybox-1.15.3/fdisk_lineedit_segfault.patch
+++ /dev/null
@@ -1,12 +0,0 @@
1--- old/libbb/lineedit.c 2008/09/27 01:28:56 23530
2+++ new/libbb/lineedit.c 2008/11/02 00:41:05 23898
3@@ -1412,7 +1412,8 @@
4 if ((state->flags & SAVE_HISTORY) && state->hist_file)
5 load_history(state->hist_file);
6 #endif
7- state->cur_history = state->cnt_history;
8+ if (state->flags & DO_HISTORY)
9+ state->cur_history = state->cnt_history;
10
11 /* prepare before init handlers */
12 cmdedit_y = 0; /* quasireal y, not true if line > xt*yt */
diff --git a/meta/packages/busybox/busybox-1.15.3/fix b/meta/packages/busybox/busybox-1.15.3/fix
deleted file mode 100644
index 544f41b256..0000000000
--- a/meta/packages/busybox/busybox-1.15.3/fix
+++ /dev/null
@@ -1,31 +0,0 @@
1---
2 util-linux/mdev.c | 3 ++-
3 1 file changed, 2 insertions(+), 1 deletion(-)
4
5--- busybox-1.13.2.orig/util-linux/mdev.c
6+++ busybox-1.13.2/util-linux/mdev.c
7@@ -107,11 +107,11 @@ static void make_device(char *path, int
8
9 #if ENABLE_FEATURE_MDEV_CONF
10 parser = config_open2("/etc/mdev.conf", fopen_for_read);
11
12 /* If we have config file, look up user settings */
13- while (config_read(parser, tokens, 4, 3, "# \t", PARSE_NORMAL)) {
14+ while (config_read(parser, tokens, 5, 3, "# \t", PARSE_NORMAL)) {
15 regmatch_t off[1 + 9*ENABLE_FEATURE_MDEV_RENAME_REGEXP];
16 char *val;
17
18 /* Fields: regex uid:gid mode [alias] [cmd] */
19
20@@ -211,10 +211,11 @@ static void make_device(char *path, int
21 }
22 #endif /* ENABLE_FEATURE_MDEV_RENAME */
23
24 #if ENABLE_FEATURE_MDEV_EXEC
25 /* The rest (opt): command to run */
26+ val = tokens[4];
27 if (!val)
28 break;
29 {
30 const char *s = "@$*";
31 const char *s2 = strchr(s, *val);
diff --git a/meta/packages/busybox/busybox-1.15.3/r24785.patch b/meta/packages/busybox/busybox-1.15.3/r24785.patch
deleted file mode 100644
index e3e80befcd..0000000000
--- a/meta/packages/busybox/busybox-1.15.3/r24785.patch
+++ /dev/null
@@ -1,14 +0,0 @@
1--- busybox/util-linux/mdev.c 2009/01/08 17:19:01 24725
2+++ busybox/util-linux/mdev.c 2009/01/12 07:57:52 24785
3@@ -179,8 +179,9 @@
4 unsigned i, n;
5 #endif
6 char *a = val;
7- s = strchr(val, ' ');
8- val = (s && s[1]) ? s+1 : NULL;
9+ s = strchrnul(val, ' ');
10+ val = (s[0] && s[1]) ? s+1 : NULL;
11+ s[0] = '\0';
12 #if ENABLE_FEATURE_MDEV_RENAME_REGEXP
13 /* substitute %1..9 with off[1..9], if any */
14 n = 0;
diff --git a/meta/packages/busybox/busybox-1.15.3/xargs-double-size.patch b/meta/packages/busybox/busybox-1.15.3/xargs-double-size.patch
deleted file mode 100644
index df64554ffc..0000000000
--- a/meta/packages/busybox/busybox-1.15.3/xargs-double-size.patch
+++ /dev/null
@@ -1,13 +0,0 @@
1--- busybox-1.2.1/findutils/xargs.c.org 2006-09-19 18:18:17.084592997 +0200
2+++ busybox-1.2.1/findutils/xargs.c 2006-09-19 18:18:09.820275793 +0200
3@@ -466,8 +466,8 @@
4 have it at 1 meg). Things will work fine with a large ARG_MAX but it
5 will probably hurt the system more than it needs to; an array of this
6 size is allocated. */
7- if (orig_arg_max > 20 * 1024)
8- orig_arg_max = 20 * 1024;
9+ if (orig_arg_max > 40 * 1024)
10+ orig_arg_max = 40 * 1024;
11 n_max_chars = orig_arg_max;
12 }
13 max_chars = xmalloc(n_max_chars);
diff --git a/meta/packages/busybox/busybox-1.15.3/B921600.patch b/meta/packages/busybox/busybox-1.16.2/B921600.patch
index 61cc32b0e5..803dc411d8 100644
--- a/meta/packages/busybox/busybox-1.15.3/B921600.patch
+++ b/meta/packages/busybox/busybox-1.16.2/B921600.patch
@@ -1,3 +1,12 @@
1# copy commit message from OE as the patch comment:
2# commit 5b1ed09b1ab1a60a28a76e4658bc9957cd361b5d
3# Author: Valentin Longchamp <valentin.longchamp@epfl.ch>
4# Date: Mon Dec 8 14:43:23 2008 +0100
5
6# busybox: added support for 921600 speed of serial line
7#
8# above comment added by Kevin Tian <kevin.tian@intel.com>, 2010-07-06
9
1diff -upNr busybox-1.7.2/libbb/speed_table.c busybox-1.7.2-921600/libbb/speed_table.c 10diff -upNr busybox-1.7.2/libbb/speed_table.c busybox-1.7.2-921600/libbb/speed_table.c
2--- busybox-1.7.2/libbb/speed_table.c 2007-09-03 13:48:41.000000000 +0200 11--- busybox-1.7.2/libbb/speed_table.c 2007-09-03 13:48:41.000000000 +0200
3+++ busybox-1.7.2-921600/libbb/speed_table.c 2008-10-09 16:23:26.269592899 +0200 12+++ busybox-1.7.2-921600/libbb/speed_table.c 2008-10-09 16:23:26.269592899 +0200
diff --git a/meta/packages/busybox/busybox-1.16.2/busybox-appletlib-dependency.patch b/meta/packages/busybox/busybox-1.16.2/busybox-appletlib-dependency.patch
new file mode 100644
index 0000000000..041aa6c54c
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.16.2/busybox-appletlib-dependency.patch
@@ -0,0 +1,35 @@
1# copy commit message from OE as the patch comment:
2# commit 98c24291aa165f53423c27ae033831ce0b3bb676
3# Author: Roman I Khimov <khimov@altell.ru>
4# Date: Thu Mar 26 23:03:58 2009 +0000
5#
6# busybox: update appletlib dependency patch
7#
8# Previous version still failed from time to time on clean-start builds
9# with 4 bitbake threads and '-j16'. Building busybox as sole target worked
10# well.
11#
12# The reason is that previous version introduced a race between applets make
13# processes spawned from top-level Makefile and from libbb Makefile.
14#
15# Fix it with high-level dependency that doesn't create races.
16#
17# Signed-off-by: Koen Kooi <koen@openembedded.org>
18#
19# above comment added by Kevin Tian <kevin.tian@intel.com>, 2010-07-06
20
21Index: busybox-1.13.2/Makefile
22===================================================================
23--- busybox-1.13.2.orig/Makefile 2009-03-19 15:44:37.419270265 +0300
24+++ busybox-1.13.2/Makefile 2009-03-19 15:45:57.737521296 +0300
25@@ -471,6 +471,10 @@
26 util-linux/ \
27 util-linux/volume_id/ \
28
29+# Lib interdeps
30+# libbb uses headers generated in applets
31+libbb: applets
32+
33 endif # KBUILD_EXTMOD
34
35 ifeq ($(dot-config),1)
diff --git a/meta/packages/busybox/busybox-1.15.3/defconfig b/meta/packages/busybox/busybox-1.16.2/defconfig
index c347c80d5b..431da94dd2 100644
--- a/meta/packages/busybox/busybox-1.15.3/defconfig
+++ b/meta/packages/busybox/busybox-1.16.2/defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Busybox version: 1.15.3 3# Busybox version: 1.16.2
4# Tue Jun 1 14:34:32 2010 4# Tue Jul 6 14:52:48 2010
5# 5#
6CONFIG_HAVE_DOT_CONFIG=y 6CONFIG_HAVE_DOT_CONFIG=y
7 7
@@ -14,6 +14,8 @@ CONFIG_HAVE_DOT_CONFIG=y
14# 14#
15# CONFIG_DESKTOP is not set 15# CONFIG_DESKTOP is not set
16# CONFIG_EXTRA_COMPAT is not set 16# CONFIG_EXTRA_COMPAT is not set
17# CONFIG_INCLUDE_SUSv2 is not set
18# CONFIG_USE_PORTABLE_CODE is not set
17CONFIG_FEATURE_BUFFERS_USE_MALLOC=y 19CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
18# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set 20# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
19# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set 21# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
@@ -59,7 +61,6 @@ CONFIG_EXTRA_CFLAGS=""
59CONFIG_NO_DEBUG_LIB=y 61CONFIG_NO_DEBUG_LIB=y
60# CONFIG_DMALLOC is not set 62# CONFIG_DMALLOC is not set
61# CONFIG_EFENCE is not set 63# CONFIG_EFENCE is not set
62# CONFIG_INCLUDE_SUSv2 is not set
63 64
64# 65#
65# Installation Options 66# Installation Options
@@ -120,6 +121,7 @@ CONFIG_CPIO=y
120# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set 121# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
121CONFIG_GUNZIP=y 122CONFIG_GUNZIP=y
122CONFIG_GZIP=y 123CONFIG_GZIP=y
124# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set
123# CONFIG_LZOP is not set 125# CONFIG_LZOP is not set
124# CONFIG_LZOP_COMPR_HIGH is not set 126# CONFIG_LZOP_COMPR_HIGH is not set
125# CONFIG_RPM2CPIO is not set 127# CONFIG_RPM2CPIO is not set
@@ -133,6 +135,7 @@ CONFIG_FEATURE_TAR_FROM=y
133CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y 135CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
134# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set 136# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
135# CONFIG_FEATURE_TAR_UNAME_GNAME is not set 137# CONFIG_FEATURE_TAR_UNAME_GNAME is not set
138# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set
136# CONFIG_UNCOMPRESS is not set 139# CONFIG_UNCOMPRESS is not set
137# CONFIG_UNLZMA is not set 140# CONFIG_UNLZMA is not set
138# CONFIG_FEATURE_LZMA_FAST is not set 141# CONFIG_FEATURE_LZMA_FAST is not set
@@ -148,15 +151,19 @@ CONFIG_CAT=y
148CONFIG_CHGRP=y 151CONFIG_CHGRP=y
149CONFIG_CHMOD=y 152CONFIG_CHMOD=y
150CONFIG_CHOWN=y 153CONFIG_CHOWN=y
154# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set
151CONFIG_CHROOT=y 155CONFIG_CHROOT=y
152# CONFIG_CKSUM is not set 156# CONFIG_CKSUM is not set
153# CONFIG_COMM is not set 157# CONFIG_COMM is not set
154CONFIG_CP=y 158CONFIG_CP=y
159# CONFIG_FEATURE_CP_LONG_OPTIONS is not set
155CONFIG_CUT=y 160CONFIG_CUT=y
156CONFIG_DATE=y 161CONFIG_DATE=y
157# CONFIG_FEATURE_DATE_ISOFMT is not set 162# CONFIG_FEATURE_DATE_ISOFMT is not set
163CONFIG_FEATURE_DATE_COMPAT=y
158CONFIG_DD=y 164CONFIG_DD=y
159CONFIG_FEATURE_DD_SIGNAL_HANDLING=y 165CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
166# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set
160# CONFIG_FEATURE_DD_IBS_OBS is not set 167# CONFIG_FEATURE_DD_IBS_OBS is not set
161CONFIG_DF=y 168CONFIG_DF=y
162# CONFIG_FEATURE_DF_FANCY is not set 169# CONFIG_FEATURE_DF_FANCY is not set
@@ -271,7 +278,7 @@ CONFIG_FEATURE_AUTOWIDTH=y
271CONFIG_FEATURE_HUMAN_READABLE=y 278CONFIG_FEATURE_HUMAN_READABLE=y
272 279
273# 280#
274# Common options for md5sum, sha1sum 281# Common options for md5sum, sha1sum, sha256sum, sha512sum
275# 282#
276CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y 283CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
277 284
@@ -318,9 +325,8 @@ CONFIG_AWK=y
318# CONFIG_FEATURE_AWK_LIBM is not set 325# CONFIG_FEATURE_AWK_LIBM is not set
319CONFIG_CMP=y 326CONFIG_CMP=y
320CONFIG_DIFF=y 327CONFIG_DIFF=y
321CONFIG_FEATURE_DIFF_BINARY=y 328# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set
322CONFIG_FEATURE_DIFF_DIR=y 329CONFIG_FEATURE_DIFF_DIR=y
323# CONFIG_FEATURE_DIFF_MINIMAL is not set
324# CONFIG_ED is not set 330# CONFIG_ED is not set
325CONFIG_PATCH=y 331CONFIG_PATCH=y
326CONFIG_SED=y 332CONFIG_SED=y
@@ -364,6 +370,7 @@ CONFIG_FEATURE_FIND_PRUNE=y
364CONFIG_FEATURE_FIND_PATH=y 370CONFIG_FEATURE_FIND_PATH=y
365CONFIG_FEATURE_FIND_REGEX=y 371CONFIG_FEATURE_FIND_REGEX=y
366# CONFIG_FEATURE_FIND_CONTEXT is not set 372# CONFIG_FEATURE_FIND_CONTEXT is not set
373# CONFIG_FEATURE_FIND_LINKS is not set
367CONFIG_GREP=y 374CONFIG_GREP=y
368CONFIG_FEATURE_GREP_EGREP_ALIAS=y 375CONFIG_FEATURE_GREP_EGREP_ALIAS=y
369CONFIG_FEATURE_GREP_FGREP_ALIAS=y 376CONFIG_FEATURE_GREP_FGREP_ALIAS=y
@@ -453,6 +460,7 @@ CONFIG_MODPROBE=y
453# Options common to multiple modutils 460# Options common to multiple modutils
454# 461#
455# CONFIG_FEATURE_2_4_MODULES is not set 462# CONFIG_FEATURE_2_4_MODULES is not set
463# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
456# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set 464# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
457# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set 465# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
458# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set 466# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
@@ -488,12 +496,14 @@ CONFIG_FEATURE_FDISK_WRITABLE=y
488# CONFIG_FINDFS is not set 496# CONFIG_FINDFS is not set
489# CONFIG_FREERAMDISK is not set 497# CONFIG_FREERAMDISK is not set
490CONFIG_FSCK_MINIX=y 498CONFIG_FSCK_MINIX=y
499# CONFIG_MKFS_EXT2 is not set
491CONFIG_MKFS_MINIX=y 500CONFIG_MKFS_MINIX=y
492 501
493# 502#
494# Minix filesystem support 503# Minix filesystem support
495# 504#
496CONFIG_FEATURE_MINIX2=y 505CONFIG_FEATURE_MINIX2=y
506# CONFIG_MKFS_REISER is not set
497# CONFIG_MKFS_VFAT is not set 507# CONFIG_MKFS_VFAT is not set
498# CONFIG_GETOPT is not set 508# CONFIG_GETOPT is not set
499# CONFIG_FEATURE_GETOPT_LONG is not set 509# CONFIG_FEATURE_GETOPT_LONG is not set
@@ -506,6 +516,8 @@ CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
506# CONFIG_IPCRM is not set 516# CONFIG_IPCRM is not set
507# CONFIG_IPCS is not set 517# CONFIG_IPCS is not set
508CONFIG_LOSETUP=y 518CONFIG_LOSETUP=y
519# CONFIG_LSPCI is not set
520# CONFIG_LSUSB is not set
509# CONFIG_MDEV is not set 521# CONFIG_MDEV is not set
510# CONFIG_FEATURE_MDEV_CONF is not set 522# CONFIG_FEATURE_MDEV_CONF is not set
511# CONFIG_FEATURE_MDEV_RENAME is not set 523# CONFIG_FEATURE_MDEV_RENAME is not set
@@ -518,6 +530,7 @@ CONFIG_MORE=y
518CONFIG_FEATURE_USE_TERMIOS=y 530CONFIG_FEATURE_USE_TERMIOS=y
519# CONFIG_VOLUMEID is not set 531# CONFIG_VOLUMEID is not set
520# CONFIG_FEATURE_VOLUMEID_EXT is not set 532# CONFIG_FEATURE_VOLUMEID_EXT is not set
533# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
521# CONFIG_FEATURE_VOLUMEID_REISERFS is not set 534# CONFIG_FEATURE_VOLUMEID_REISERFS is not set
522# CONFIG_FEATURE_VOLUMEID_FAT is not set 535# CONFIG_FEATURE_VOLUMEID_FAT is not set
523# CONFIG_FEATURE_VOLUMEID_HFS is not set 536# CONFIG_FEATURE_VOLUMEID_HFS is not set
@@ -595,6 +608,7 @@ CONFIG_DC=y
595# CONFIG_EJECT is not set 608# CONFIG_EJECT is not set
596# CONFIG_FEATURE_EJECT_SCSI is not set 609# CONFIG_FEATURE_EJECT_SCSI is not set
597# CONFIG_FBSPLASH is not set 610# CONFIG_FBSPLASH is not set
611# CONFIG_FLASHCP is not set
598# CONFIG_FLASH_LOCK is not set 612# CONFIG_FLASH_LOCK is not set
599# CONFIG_FLASH_UNLOCK is not set 613# CONFIG_FLASH_UNLOCK is not set
600# CONFIG_FLASH_ERASEALL is not set 614# CONFIG_FLASH_ERASEALL is not set
@@ -638,6 +652,7 @@ CONFIG_TIME=y
638# CONFIG_TIMEOUT is not set 652# CONFIG_TIMEOUT is not set
639# CONFIG_TTYSIZE is not set 653# CONFIG_TTYSIZE is not set
640# CONFIG_VOLNAME is not set 654# CONFIG_VOLNAME is not set
655# CONFIG_WALL is not set
641# CONFIG_WATCHDOG is not set 656# CONFIG_WATCHDOG is not set
642 657
643# 658#
@@ -657,6 +672,7 @@ CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
657# CONFIG_FAKEIDENTD is not set 672# CONFIG_FAKEIDENTD is not set
658# CONFIG_FTPD is not set 673# CONFIG_FTPD is not set
659# CONFIG_FEATURE_FTP_WRITE is not set 674# CONFIG_FEATURE_FTP_WRITE is not set
675# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set
660# CONFIG_FTPGET is not set 676# CONFIG_FTPGET is not set
661# CONFIG_FTPPUT is not set 677# CONFIG_FTPPUT is not set
662# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set 678# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
@@ -722,6 +738,8 @@ CONFIG_NETSTAT=y
722# CONFIG_FEATURE_NETSTAT_WIDE is not set 738# CONFIG_FEATURE_NETSTAT_WIDE is not set
723# CONFIG_FEATURE_NETSTAT_PRG is not set 739# CONFIG_FEATURE_NETSTAT_PRG is not set
724CONFIG_NSLOOKUP=y 740CONFIG_NSLOOKUP=y
741# CONFIG_NTPD is not set
742# CONFIG_FEATURE_NTPD_SERVER is not set
725CONFIG_PING=y 743CONFIG_PING=y
726CONFIG_PING6=y 744CONFIG_PING6=y
727CONFIG_FEATURE_FANCY_PING=y 745CONFIG_FEATURE_FANCY_PING=y
@@ -733,22 +751,25 @@ CONFIG_TELNET=y
733CONFIG_FEATURE_TELNET_AUTOLOGIN=y 751CONFIG_FEATURE_TELNET_AUTOLOGIN=y
734# CONFIG_TELNETD is not set 752# CONFIG_TELNETD is not set
735# CONFIG_FEATURE_TELNETD_STANDALONE is not set 753# CONFIG_FEATURE_TELNETD_STANDALONE is not set
754# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
736CONFIG_TFTP=y 755CONFIG_TFTP=y
737# CONFIG_TFTPD is not set 756# CONFIG_TFTPD is not set
738CONFIG_FEATURE_TFTP_GET=y 757CONFIG_FEATURE_TFTP_GET=y
739CONFIG_FEATURE_TFTP_PUT=y 758CONFIG_FEATURE_TFTP_PUT=y
740# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set 759# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
760# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
741# CONFIG_TFTP_DEBUG is not set 761# CONFIG_TFTP_DEBUG is not set
742CONFIG_TRACEROUTE=y 762CONFIG_TRACEROUTE=y
763# CONFIG_TRACEROUTE6 is not set
743# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set 764# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
744# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set 765# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
745# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set 766# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
746CONFIG_APP_UDHCPD=y 767CONFIG_UDHCPD=y
747# CONFIG_APP_DHCPRELAY is not set 768# CONFIG_DHCPRELAY is not set
748CONFIG_APP_DUMPLEASES=y 769CONFIG_DUMPLEASES=y
749# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set 770# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
750CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases" 771CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases"
751CONFIG_APP_UDHCPC=y 772CONFIG_UDHCPC=y
752CONFIG_FEATURE_UDHCPC_ARPING=y 773CONFIG_FEATURE_UDHCPC_ARPING=y
753# CONFIG_FEATURE_UDHCP_PORT is not set 774# CONFIG_FEATURE_UDHCP_PORT is not set
754CONFIG_UDHCP_DEBUG=0 775CONFIG_UDHCP_DEBUG=0
@@ -813,6 +834,7 @@ CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
813# CONFIG_FEATURE_TOP_DECIMALS is not set 834# CONFIG_FEATURE_TOP_DECIMALS is not set
814# CONFIG_FEATURE_TOP_SMP_PROCESS is not set 835# CONFIG_FEATURE_TOP_SMP_PROCESS is not set
815# CONFIG_FEATURE_TOPMEM is not set 836# CONFIG_FEATURE_TOPMEM is not set
837# CONFIG_FEATURE_SHOW_THREADS is not set
816CONFIG_UPTIME=y 838CONFIG_UPTIME=y
817CONFIG_WATCH=y 839CONFIG_WATCH=y
818 840
@@ -855,8 +877,6 @@ CONFIG_FEATURE_SH_IS_ASH=y
855CONFIG_ASH=y 877CONFIG_ASH=y
856CONFIG_ASH_BASH_COMPAT=y 878CONFIG_ASH_BASH_COMPAT=y
857CONFIG_ASH_JOB_CONTROL=y 879CONFIG_ASH_JOB_CONTROL=y
858CONFIG_ASH_READ_NCHARS=y
859CONFIG_ASH_READ_TIMEOUT=y
860CONFIG_ASH_ALIAS=y 880CONFIG_ASH_ALIAS=y
861CONFIG_ASH_GETOPTS=y 881CONFIG_ASH_GETOPTS=y
862CONFIG_ASH_BUILTIN_ECHO=y 882CONFIG_ASH_BUILTIN_ECHO=y
@@ -879,6 +899,7 @@ CONFIG_ASH_EXPAND_PRMT=y
879# CONFIG_HUSH_FUNCTIONS is not set 899# CONFIG_HUSH_FUNCTIONS is not set
880# CONFIG_HUSH_LOCAL is not set 900# CONFIG_HUSH_LOCAL is not set
881# CONFIG_HUSH_EXPORT_N is not set 901# CONFIG_HUSH_EXPORT_N is not set
902# CONFIG_HUSH_RANDOM_SUPPORT is not set
882# CONFIG_LASH is not set 903# CONFIG_LASH is not set
883# CONFIG_MSH is not set 904# CONFIG_MSH is not set
884CONFIG_SH_MATH_SUPPORT=y 905CONFIG_SH_MATH_SUPPORT=y
diff --git a/meta/packages/busybox/busybox-1.15.3/get_header_tar.patch b/meta/packages/busybox/busybox-1.16.2/get_header_tar.patch
index 0121cd1b61..bc9b427ea9 100644
--- a/meta/packages/busybox/busybox-1.15.3/get_header_tar.patch
+++ b/meta/packages/busybox/busybox-1.16.2/get_header_tar.patch
@@ -1,3 +1,12 @@
1# copy commit message from OE as the patch comment:
2# commit 5a0e1d473ca7aca5ffefffe9a2ec44ae7a1f35bc
3# Author: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
4# Date: Wed Feb 11 22:40:21 2009 +0100
5#
6# busybox: fix tar problem with filenames that are exactly 100 bytes
7#
8# above comment added by Kevin Tian <kevin.tian@intel.com>, 2010-07-06
9
1--- busybox-1.13.2/archival/libunarchive/get_header_tar.c.orig 2008-11-09 18:28:02.000000000 +0100 10--- busybox-1.13.2/archival/libunarchive/get_header_tar.c.orig 2008-11-09 18:28:02.000000000 +0100
2+++ busybox-1.13.2/archival/libunarchive/get_header_tar.c 2009-02-11 22:34:52.000000000 +0100 11+++ busybox-1.13.2/archival/libunarchive/get_header_tar.c 2009-02-11 22:34:52.000000000 +0100
3@@ -252,6 +252,8 @@ 12@@ -252,6 +252,8 @@
diff --git a/meta/packages/busybox/busybox-1.15.3/run-parts.in.usr-bin.patch b/meta/packages/busybox/busybox-1.16.2/run-parts.in.usr-bin.patch
index 6f209ce571..bedb974432 100644
--- a/meta/packages/busybox/busybox-1.15.3/run-parts.in.usr-bin.patch
+++ b/meta/packages/busybox/busybox-1.16.2/run-parts.in.usr-bin.patch
@@ -1,3 +1,18 @@
1# copy commit message from OE as the patch comment:
2# commit f1b326c83be0d95571b991d8d2ee239982380b6b
3# Author: Martin Jansa <Martin.Jansa@gmail.com>
4# Date: Fri Apr 30 15:37:38 2010 +0200
5#
6# busybox: add patch for installing run-parts to /usr/bin/ instead of /bin
7#
8# * otherwise debianutils install will fail with
9# update-alternatives: Error: cannot register alternative run-parts to /usr/bin/run-parts since it is
10#
11# Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
12#
13# Poky doesn't have debianutils, but let's keep it for safety
14# above comment added by Kevin Tian <kevin.tian@intel.com>, 2010-07-06
15
1diff -uNr busybox-1.15.3.orig//include/applets.h busybox-1.15.3/include/applets.h 16diff -uNr busybox-1.15.3.orig//include/applets.h busybox-1.15.3/include/applets.h
2--- busybox-1.15.3.orig//include/applets.h 2009-12-12 22:13:28.000000000 +0100 17--- busybox-1.15.3.orig//include/applets.h 2009-12-12 22:13:28.000000000 +0100
3+++ busybox-1.15.3/include/applets.h 2010-04-30 15:35:40.000000000 +0200 18+++ busybox-1.15.3/include/applets.h 2010-04-30 15:35:40.000000000 +0200
diff --git a/meta/packages/busybox/busybox-1.15.3/udhcpc-fix-nfsroot.patch b/meta/packages/busybox/busybox-1.16.2/udhcpc-fix-nfsroot.patch
index edea898b10..89eeb425ad 100644
--- a/meta/packages/busybox/busybox-1.15.3/udhcpc-fix-nfsroot.patch
+++ b/meta/packages/busybox/busybox-1.16.2/udhcpc-fix-nfsroot.patch
@@ -1,3 +1,11 @@
1# copy commit message from OE as the patch comment:
2# commit ec4da6df3ad5b8b03446d0dda9c50a2439ae325a
3# Author: Denys Dmytriyenko <denis@denix.org>
4# Date: Wed Feb 4 11:43:18 2009 -0500
5#
6# busybox: fix nfsroot issues with resetting IP and deleting routes
7#
8# above comment added by Kevin Tian <kevin.tian@intel.com>, 2010-07-06
1Index: busybox-1.15.3/examples/udhcp/simple.script 9Index: busybox-1.15.3/examples/udhcp/simple.script
2=================================================================== 10===================================================================
3--- busybox-1.15.3.orig/examples/udhcp/simple.script 2010-06-27 12:17:14.116876946 +0200 11--- busybox-1.15.3.orig/examples/udhcp/simple.script 2010-06-27 12:17:14.116876946 +0200
diff --git a/meta/packages/busybox/busybox-1.15.3/udhcpscript.patch b/meta/packages/busybox/busybox-1.16.2/udhcpscript.patch
index 2ffba956ae..81bca634af 100644
--- a/meta/packages/busybox/busybox-1.15.3/udhcpscript.patch
+++ b/meta/packages/busybox/busybox-1.16.2/udhcpscript.patch
@@ -1,3 +1,12 @@
1# copy commit message from OE as the patch comment
2# commit c9bb6478a873d6de4c8a0e712435ac9a658a345d
3# Author: Holger Schurig <schurig@mn-solutions.de>
4# Date: Wed Sep 29 08:29:58 2004 +0000
5#
6# udhcpscript: fixes the "deleting routers" error message in case of no existing default routes
7#
8# Above comment added by Kevin Tian <kevin.tian@intel.com>, 2010-07-06
9
1Index: busybox-1.15.1/examples/udhcp/simple.script 10Index: busybox-1.15.1/examples/udhcp/simple.script
2=================================================================== 11===================================================================
3--- busybox-1.15.1.orig/examples/udhcp/simple.script 2009-09-12 17:55:36.000000000 +0200 12--- busybox-1.15.1.orig/examples/udhcp/simple.script 2009-09-12 17:55:36.000000000 +0200
diff --git a/meta/packages/busybox/busybox.inc b/meta/packages/busybox/busybox.inc
index 9f450532da..8c258135c8 100644
--- a/meta/packages/busybox/busybox.inc
+++ b/meta/packages/busybox/busybox.inc
@@ -7,7 +7,6 @@ SECTION = "base"
7PRIORITY = "required" 7PRIORITY = "required"
8 8
9export EXTRA_CFLAGS = "${CFLAGS}" 9export EXTRA_CFLAGS = "${CFLAGS}"
10EXTRA_OEMAKE_append = " CROSS=${HOST_PREFIX}"
11PACKAGES =+ "${PN}-httpd ${PN}-udhcpd" 10PACKAGES =+ "${PN}-httpd ${PN}-udhcpd"
12 11
13FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www" 12FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www"
@@ -70,7 +69,7 @@ do_install () {
70 install -m 0755 ${WORKDIR}/busybox-httpd ${D}${sysconfdir}/init.d/ 69 install -m 0755 ${WORKDIR}/busybox-httpd ${D}${sysconfdir}/init.d/
71 install -d ${D}/srv/www 70 install -d ${D}/srv/www
72 fi 71 fi
73 if grep "CONFIG_APP_UDHCPD=y" ${WORKDIR}/defconfig; then 72 if grep "CONFIG_UDHCPD=y" ${WORKDIR}/defconfig; then
74 # Move udhcpd back to /usr/sbin/udhcpd 73 # Move udhcpd back to /usr/sbin/udhcpd
75 install -d ${D}${sbindir} 74 install -d ${D}${sbindir}
76 mv ${D}/busybox${sbindir}/udhcpd ${D}${sbindir}/ 75 mv ${D}/busybox${sbindir}/udhcpd ${D}${sbindir}/
@@ -84,7 +83,7 @@ do_install () {
84 83
85 install -m 0755 ${WORKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/ 84 install -m 0755 ${WORKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/
86 fi 85 fi
87 if grep "CONFIG_APP_UDHCPC=y" ${WORKDIR}/defconfig; then 86 if grep "CONFIG_UDHCPC=y" ${WORKDIR}/defconfig; then
88 # Move dhcpc back to /usr/sbin/udhcpc 87 # Move dhcpc back to /usr/sbin/udhcpc
89 install -d ${D}${base_sbindir} 88 install -d ${D}${base_sbindir}
90 mv ${D}/busybox${base_sbindir}/udhcpc ${D}${base_sbindir}/ 89 mv ${D}/busybox${base_sbindir}/udhcpc ${D}${base_sbindir}/
diff --git a/meta/packages/busybox/busybox_1.15.3.bb b/meta/packages/busybox/busybox_1.15.3.bb
deleted file mode 100644
index 9be4abdb17..0000000000
--- a/meta/packages/busybox/busybox_1.15.3.bb
+++ /dev/null
@@ -1,28 +0,0 @@
1require busybox.inc
2PR = "r5"
3
4SRC_URI = "\
5 http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
6 file://udhcpscript.patch \
7 file://udhcpc-fix-nfsroot.patch \
8 file://B921600.patch \
9 file://get_header_tar.patch \
10 file://busybox-appletlib-dependency.patch \
11 file://0000-wget-no-check-certificate.patch \
12 file://run-parts.in.usr-bin.patch \
13 file://ash_fix_redirection_of_fd_0.patch \
14 file://find-touchscreen.sh \
15 file://busybox-cron \
16 file://busybox-httpd \
17 file://busybox-udhcpd \
18 file://default.script \
19 file://simple.script \
20 file://hwclock.sh \
21 file://mount.busybox \
22 file://syslog \
23 file://syslog.conf \
24 file://umount.busybox \
25 file://defconfig \
26"
27
28EXTRA_OEMAKE += "V=1 ARCH=${TARGET_ARCH} CROSS_COMPILE=${TARGET_PREFIX}"
diff --git a/meta/packages/busybox/busybox_1.16.2.bb b/meta/packages/busybox/busybox_1.16.2.bb
new file mode 100644
index 0000000000..0952f4ddb0
--- /dev/null
+++ b/meta/packages/busybox/busybox_1.16.2.bb
@@ -0,0 +1,24 @@
1require busybox.inc
2PR = "r0"
3
4SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
5 file://udhcpscript.patch \
6 file://udhcpc-fix-nfsroot.patch \
7 file://B921600.patch \
8 file://get_header_tar.patch \
9 file://busybox-appletlib-dependency.patch \
10 file://run-parts.in.usr-bin.patch \
11 file://find-touchscreen.sh \
12 file://busybox-cron \
13 file://busybox-httpd \
14 file://busybox-udhcpd \
15 file://default.script \
16 file://simple.script \
17 file://hwclock.sh \
18 file://mount.busybox \
19 file://syslog \
20 file://syslog.conf \
21 file://umount.busybox \
22 file://defconfig"
23
24EXTRA_OEMAKE += "V=1 ARCH=${TARGET_ARCH} CROSS_COMPILE=${TARGET_PREFIX}"
diff --git a/meta/packages/busybox/files/busybox-appletlib-dependency.patch b/meta/packages/busybox/files/busybox-appletlib-dependency.patch
deleted file mode 100644
index 3efd4c0882..0000000000
--- a/meta/packages/busybox/files/busybox-appletlib-dependency.patch
+++ /dev/null
@@ -1,15 +0,0 @@
1Index: busybox-1.13.2/Makefile
2===================================================================
3--- busybox-1.13.2.orig/Makefile 2009-03-19 15:44:37.419270265 +0300
4+++ busybox-1.13.2/Makefile 2009-03-19 15:45:57.737521296 +0300
5@@ -471,6 +471,10 @@
6 util-linux/ \
7 util-linux/volume_id/ \
8
9+# Lib interdeps
10+# libbb uses headers generated in applets
11+libbb: applets
12+
13 endif # KBUILD_EXTMOD
14
15 ifeq ($(dot-config),1)
diff --git a/meta/packages/cairo/cairo-1.8.2/hardcoded_libtool.patch b/meta/packages/cairo/cairo-1.8.10/hardcoded_libtool.patch
index afdf2c8f08..afdf2c8f08 100644
--- a/meta/packages/cairo/cairo-1.8.2/hardcoded_libtool.patch
+++ b/meta/packages/cairo/cairo-1.8.10/hardcoded_libtool.patch
diff --git a/meta/packages/cairo/cairo.inc b/meta/packages/cairo/cairo.inc
index 1847519c67..e73a839671 100644
--- a/meta/packages/cairo/cairo.inc
+++ b/meta/packages/cairo/cairo.inc
@@ -1,8 +1,10 @@
1DESCRIPTION = "Cairo graphics library"
2HOMEPAGE = "http://cairographics.org"
3BUGTRACKER = "http://bugs.freedesktop.org"
1SECTION = "libs" 4SECTION = "libs"
2PRIORITY = "optional" 5PRIORITY = "optional"
6LICENSE = "MPLv1.1 & LGPLv2.1"
3DEPENDS = "virtual/libx11 libsm libpng fontconfig libxrender pixman" 7DEPENDS = "virtual/libx11 libsm libpng fontconfig libxrender pixman"
4DESCRIPTION = "Cairo graphics library"
5LICENSE = "MPL LGPL"
6 8
7#check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points 9#check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points
8require cairo-fpu.inc 10require cairo-fpu.inc
diff --git a/meta/packages/cairo/cairo_1.8.10.bb b/meta/packages/cairo/cairo_1.8.10.bb
new file mode 100644
index 0000000000..9e7e7a3bf6
--- /dev/null
+++ b/meta/packages/cairo/cairo_1.8.10.bb
@@ -0,0 +1,8 @@
1require cairo.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=7d7cc3410ae869ed913ebd30d7f45941"
4
5PR = "r0"
6
7SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.gz \
8 file://hardcoded_libtool.patch"
diff --git a/meta/packages/cairo/cairo_1.8.2.bb b/meta/packages/cairo/cairo_1.8.2.bb
deleted file mode 100644
index fd8a99b49e..0000000000
--- a/meta/packages/cairo/cairo_1.8.2.bb
+++ /dev/null
@@ -1,6 +0,0 @@
1require cairo.inc
2
3PR = "r1"
4
5SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.gz \
6 file://hardcoded_libtool.patch;patch=1"
diff --git a/meta/packages/dbus/dbus.inc b/meta/packages/dbus/dbus.inc
index b122cf7017..af866a9537 100644
--- a/meta/packages/dbus/dbus.inc
+++ b/meta/packages/dbus/dbus.inc
@@ -1,17 +1,15 @@
1DESCRIPTION = "Message bus system for applications to talk to one another" 1DESCRIPTION = "D-Bus is a message bus system, a simple way for applications to talk to one another. In addition to interprocess communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a \"single instance\" application or daemon, and to launch applications and daemons on demand when their services are needed"
2HOMEPAGE = "http://dbus.freedesktop.org" 2HOMEPAGE = "http://dbus.freedesktop.org"
3SECTION = "base" 3SECTION = "base"
4LICENSE = "GPL" 4LICENSE = "AFL2.1 | GPLv2+"
5DEPENDS = "expat glib-2.0 virtual/libintl virtual/libx11 libsm" 5DEPENDS = "expat glib-2.0 virtual/libintl virtual/libx11 libsm"
6 6
7SRC_URI = "\ 7SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
8 http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ 8 file://cross.patch; \
9 file://cross.patch;patch=1 \ 9 file://tmpdir.patch; \
10 file://tmpdir.patch;patch=1 \ 10 file://fix-install-daemon.patch; \
11 file://fix-install-daemon.patch;patch=1 \ 11 file://dbus-1.init \
12 file://dbus-1.init \ 12 file://99_dbus"
13 file://99_dbus \
14"
15 13
16inherit autotools pkgconfig gettext 14inherit autotools pkgconfig gettext
17 15
diff --git a/meta/packages/dropbear/dropbear-0.49/configure.patch b/meta/packages/dropbear/dropbear-0.52/configure.patch
index 8d11b23f14..8d11b23f14 100644
--- a/meta/packages/dropbear/dropbear-0.49/configure.patch
+++ b/meta/packages/dropbear/dropbear-0.52/configure.patch
diff --git a/meta/packages/dropbear/dropbear.inc b/meta/packages/dropbear/dropbear.inc
index 7f5dbe356b..1d78d5c59b 100644
--- a/meta/packages/dropbear/dropbear.inc
+++ b/meta/packages/dropbear/dropbear.inc
@@ -1,7 +1,12 @@
1DESCRIPTION = "Dropbear is a lightweight SSH and SCP Implementation" 1DESCRIPTION = "Dropbear is a lightweight SSH and SCP Implementation"
2HOMEPAGE = "http://matt.ucc.asn.au/dropbear/dropbear.html" 2HOMEPAGE = "http://matt.ucc.asn.au/dropbear/dropbear.html"
3SECTION = "console/network" 3SECTION = "console/network"
4
5# some files are from other projects and have others license terms:
6# public domain, OpenSSH 3.5p1, OpenSSH3.6.1p2, PuTTY
4LICENSE = "MIT" 7LICENSE = "MIT"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=3a5b0c2f0d0c49dfde9558ae2036683c"
9
5DEPENDS = "zlib" 10DEPENDS = "zlib"
6PROVIDES = "ssh sshd" 11PROVIDES = "ssh sshd"
7RPROVIDES = "ssh sshd" 12RPROVIDES = "ssh sshd"
diff --git a/meta/packages/dropbear/dropbear/allow-nopw.patch b/meta/packages/dropbear/dropbear/allow-nopw.patch
index 1a709b8da0..2ae361c63e 100644
--- a/meta/packages/dropbear/dropbear/allow-nopw.patch
+++ b/meta/packages/dropbear/dropbear/allow-nopw.patch
@@ -1,33 +1,34 @@
1diff -Nurd dropbear-0.45/svr-auth.c dropbear-0.45.patched/svr-auth.c 1diff --git a/svr-auth.c b/svr-auth.c
2--- dropbear-0.45/svr-auth.c 2005-03-06 20:27:02.000000000 -0800 2index 5da0aa7..4de4964 100644
3+++ dropbear-0.45.patched/svr-auth.c 2005-03-08 15:22:43.998592744 -0800 3--- a/svr-auth.c
4@@ -237,6 +237,7 @@ 4+++ b/svr-auth.c
5@@ -249,6 +249,7 @@ static int checkusername(unsigned char *username, unsigned int userlen) {
5 } 6 }
6 7
7 /* check for an empty password */ 8 /* check for an empty password */
8+#ifdef DISALLOW_EMPTY_PW 9+#ifdef DISALLOW_EMPTY_PW
9 if (ses.authstate.pw->pw_passwd[0] == '\0') { 10 if (ses.authstate.pw_passwd[0] == '\0') {
10 TRACE(("leave checkusername: empty pword")) 11 TRACE(("leave checkusername: empty pword"))
11 dropbear_log(LOG_WARNING, "user '%s' has blank password, rejected", 12 dropbear_log(LOG_WARNING, "user '%s' has blank password, rejected",
12@@ -244,7 +245,7 @@ 13@@ -256,6 +257,7 @@ static int checkusername(unsigned char *username, unsigned int userlen) {
13 send_msg_userauth_failure(0, 1); 14 send_msg_userauth_failure(0, 1);
14 return DROPBEAR_FAILURE; 15 return DROPBEAR_FAILURE;
15 } 16 }
16-
17+#endif 17+#endif
18 TRACE(("shell is %s", ses.authstate.pw->pw_shell))
19 18
20 /* check that the shell is set */ 19 TRACE(("shell is %s", ses.authstate.pw_shell))
21diff -Nurd dropbear-0.45/svr-authpasswd.c dropbear-0.45.patched/svr-authpasswd.c 20
22--- dropbear-0.45/svr-authpasswd.c 2005-03-06 20:27:02.000000000 -0800 21diff --git a/svr-authpasswd.c b/svr-authpasswd.c
23+++ dropbear-0.45.patched/svr-authpasswd.c 2005-03-08 15:22:44.010591023 -0800 22index 53550a2..7b896bd 100644
24@@ -64,9 +64,13 @@ 23--- a/svr-authpasswd.c
24+++ b/svr-authpasswd.c
25@@ -64,9 +64,13 @@ void svr_auth_password() {
25 * since the shadow password may differ to that tested 26 * since the shadow password may differ to that tested
26 * in auth.c */ 27 * in auth.c */
27 if (passwdcrypt[0] == '\0') { 28 if (passwdcrypt[0] == '\0') {
28+#ifdef DISALLOW_EMPTY_PASSWD 29+#ifdef DISALLOW_EMPTY_PASSWD
29 dropbear_log(LOG_WARNING, "user '%s' has blank password, rejected", 30 dropbear_log(LOG_WARNING, "user '%s' has blank password, rejected",
30 ses.authstate.printableuser); 31 ses.authstate.pw_name);
31 send_msg_userauth_failure(0, 1); 32 send_msg_userauth_failure(0, 1);
32+#else 33+#else
33+ send_msg_userauth_success(); 34+ send_msg_userauth_success();
diff --git a/meta/packages/dropbear/dropbear/urandom-xauth-changes-to-options.h.patch b/meta/packages/dropbear/dropbear/urandom-xauth-changes-to-options.h.patch
index e2b1dd5da5..75ba306565 100644
--- a/meta/packages/dropbear/dropbear/urandom-xauth-changes-to-options.h.patch
+++ b/meta/packages/dropbear/dropbear/urandom-xauth-changes-to-options.h.patch
@@ -1,15 +1,6 @@
1diff -Nurd dropbear-0.45/options.h dropbear-0.45.patched/options.h 1diff -Nurd dropbear-0.45/options.h dropbear-0.45.patched/options.h
2--- dropbear-0.45/options.h 2005-03-06 20:27:02.000000000 -0800 2--- dropbear-0.45/options.h 2005-03-06 20:27:02.000000000 -0800
3+++ dropbear-0.45.patched/options.h 2005-03-08 15:25:09.368742090 -0800 3+++ dropbear-0.45.patched/options.h 2005-03-08 15:25:09.368742090 -0800
4@@ -143,7 +143,7 @@
5 * however significantly reduce the security of your ssh connections
6 * if the PRNG state becomes guessable - make sure you know what you are
7 * doing if you change this. */
8-#define DROPBEAR_RANDOM_DEV "/dev/random"
9+#define DROPBEAR_RANDOM_DEV "/dev/urandom"
10
11 /* prngd must be manually set up to produce output */
12 /*#define DROPBEAR_PRNGD_SOCKET "/var/run/dropbear-rng"*/
13@@ -167,7 +167,7 @@ 4@@ -167,7 +167,7 @@
14 /* The command to invoke for xauth when using X11 forwarding. 5 /* The command to invoke for xauth when using X11 forwarding.
15 * "-q" for quiet */ 6 * "-q" for quiet */
diff --git a/meta/packages/dropbear/dropbear_0.49.bb b/meta/packages/dropbear/dropbear_0.52.bb
index 929eeb8174..51217ea39d 100644
--- a/meta/packages/dropbear/dropbear_0.49.bb
+++ b/meta/packages/dropbear/dropbear_0.52.bb
@@ -1,3 +1,3 @@
1require dropbear.inc 1require dropbear.inc
2 2
3PR="r2" 3PR="r0"
diff --git a/meta/packages/eds/eds-dbus_2.20.0.bb b/meta/packages/eds/eds-dbus_2.20.0.bb
index 7f6a52e43b..2cbc9037a9 100644
--- a/meta/packages/eds/eds-dbus_2.20.0.bb
+++ b/meta/packages/eds/eds-dbus_2.20.0.bb
@@ -1,5 +1,9 @@
1DESCRIPTION = "Evolution database backend server" 1DESCRIPTION = "Evolution database backend server"
2LICENSE = "LGPL" 2HOMEPAGE = "http://www.gnome.org/projects/evolution/"
3BUGTRACKER = "https://bugzilla.gnome.org/"
4
5LICENSE = "LGPLv2 & LGPLv2+"
6
3DEPENDS = "intltool-native glib-2.0 gtk+ gconf dbus db gnome-common virtual/libiconv zlib libsoup libglade" 7DEPENDS = "intltool-native glib-2.0 gtk+ gconf dbus db gnome-common virtual/libiconv zlib libsoup libglade"
4 8
5PR = "r1" 9PR = "r1"
diff --git a/meta/packages/eds/eds-dbus_git.bb b/meta/packages/eds/eds-dbus_git.bb
index 6a785a8e52..30fbc821bb 100644
--- a/meta/packages/eds/eds-dbus_git.bb
+++ b/meta/packages/eds/eds-dbus_git.bb
@@ -1,5 +1,9 @@
1DESCRIPTION = "Evolution database backend server" 1DESCRIPTION = "Evolution database backend server"
2LICENSE = "LGPL" 2HOMEPAGE = "http://www.gnome.org/projects/evolution/"
3BUGTRACKER = "https://bugzilla.gnome.org/"
4
5LICENSE = "LGPLv2 & LGPLv2+"
6
3DEPENDS = "intltool-native glib-2.0 gtk+ gconf dbus db gnome-common virtual/libiconv zlib libsoup-2.4 libglade libical gnome-keyring" 7DEPENDS = "intltool-native glib-2.0 gtk+ gconf dbus db gnome-common virtual/libiconv zlib libsoup-2.4 libglade libical gnome-keyring"
4 8
5PV = "2.29+git${SRCPV}" 9PV = "2.29+git${SRCPV}"
diff --git a/meta/packages/file/file/native-fix.diff b/meta/packages/file/file/native-fix.diff
deleted file mode 100644
index d17215a1b4..0000000000
--- a/meta/packages/file/file/native-fix.diff
+++ /dev/null
@@ -1,13 +0,0 @@
1Index: file-4.16/magic/Makefile.am
2===================================================================
3--- file-4.16.orig/magic/Makefile.am 2005-08-18 17:20:49.000000000 +0200
4+++ file-4.16/magic/Makefile.am 2006-03-08 17:01:13.000000000 +0100
5@@ -18,7 +18,7 @@
6 if IS_CROSS_COMPILE
7 FILE_COMPILE = file
8 else
9-FILE_COMPILE = $(top_builddir)/src/file
10+FILE_COMPILE = ../src/file
11 endif
12
13 magic.mgc: magic
diff --git a/meta/packages/file/file_4.18.bb b/meta/packages/file/file_5.04.bb
index 1ff8425447..d872be5dfa 100644
--- a/meta/packages/file/file_4.18.bb
+++ b/meta/packages/file/file_5.04.bb
@@ -1,8 +1,15 @@
1DESCRIPTION = "File attempts to classify files depending \ 1DESCRIPTION = "File attempts to classify files depending \
2on their contents and prints a description if a match is found." 2on their contents and prints a description if a match is found."
3HOMEPAGE = "http://www.darwinsys.com/file/"
3SECTION = "console/utils" 4SECTION = "console/utils"
4LICENSE = "BSD-ADV" 5
5DEPENDS = "file-native" 6# two clause BSD
7LICENSE = "BSD"
8LIC_FILES_CHKSUM = "file://COPYING;beginline=2;md5=6a7382872edb68d33e1a9398b6e03188"
9
10DEPENDS = "zlib file-native"
11DEPENDS_virtclass-native = "zlib-native"
12PR = "r0"
6 13
7SRC_URI = "ftp://ftp.astron.com/pub/file/file-${PV}.tar.gz \ 14SRC_URI = "ftp://ftp.astron.com/pub/file/file-${PV}.tar.gz \
8 file://dump \ 15 file://dump \
@@ -11,11 +18,10 @@ SRC_URI = "ftp://ftp.astron.com/pub/file/file-${PV}.tar.gz \
11inherit autotools 18inherit autotools
12 19
13do_configure_prepend() { 20do_configure_prepend() {
14 sed -i -e 's,$(top_builddir)/src/file,file,' ${S}/magic/Makefile.am
15 cp ${WORKDIR}/dump ${S}/magic/Magdir/ 21 cp ${WORKDIR}/dump ${S}/magic/Magdir/
16 cp ${WORKDIR}/filesystems ${S}/magic/Magdir/ 22 cp ${WORKDIR}/filesystems ${S}/magic/Magdir/
17} 23}
18 24
19DEPENDS_virtclass-native = "" 25FILES_${PN} += "${datadir}/misc/*.mgc"
20SRC_URI_append_virtclass-native = " file://native-fix.diff;patch=1" 26
21BBCLASSEXTEND = "native" 27BBCLASSEXTEND = "native"
diff --git a/meta/packages/findutils/findutils.inc b/meta/packages/findutils/findutils.inc
index b54b09b7b1..1ca44337c5 100644
--- a/meta/packages/findutils/findutils.inc
+++ b/meta/packages/findutils/findutils.inc
@@ -1,6 +1,10 @@
1DESCRIPTION = "find, locate, and xargs binaries." 1DESCRIPTION = "find, locate, and xargs binaries."
2HOMEPAGE = "http://www.gnu.org/software/findutils/"
3BUGTRACKER = "http://savannah.gnu.org/bugs/?group=findutils"
2SECTION = "console/utils" 4SECTION = "console/utils"
3LICENSE = "GPL" 5
6# GPLv2+ (<< 4.2.32), GPLv3+ (>= 4.2.32)
7LICENSE = "GPLv3+"
4 8
5SRC_URI = "${GNU_MIRROR}/findutils/findutils-${PV}.tar.gz \ 9SRC_URI = "${GNU_MIRROR}/findutils/findutils-${PV}.tar.gz \
6 file://mkdir.patch;patch=1" 10 file://mkdir.patch;patch=1"
diff --git a/meta/packages/findutils/findutils_4.2.29.bb b/meta/packages/findutils/findutils_4.2.29.bb
index 6373bad9c6..7511e408f8 100644
--- a/meta/packages/findutils/findutils_4.2.29.bb
+++ b/meta/packages/findutils/findutils_4.2.29.bb
@@ -1,5 +1,6 @@
1require findutils.inc 1require findutils.inc
2 2
3LICENSE = "GPLv2+"
3PR = "r2" 4PR = "r2"
4 5
5do_install_append () { 6do_install_append () {
@@ -17,4 +18,4 @@ pkg_prerm_${PN} () {
17 for i in find xargs; do update-alternatives --remove $i $i.${PN}; done 18 for i in find xargs; do update-alternatives --remove $i $i.${PN}; done
18} 19}
19 20
20BBCLASSEXTEND = "native" \ No newline at end of file 21BBCLASSEXTEND = "native"
diff --git a/meta/packages/fontconfig/fontconfig-2.6.0/fix-pkgconfig.patch b/meta/packages/fontconfig/fontconfig-2.6.0/fix-pkgconfig.patch
deleted file mode 100644
index 17b85f758d..0000000000
--- a/meta/packages/fontconfig/fontconfig-2.6.0/fix-pkgconfig.patch
+++ /dev/null
@@ -1,15 +0,0 @@
1---
2 fontconfig.pc.in | 2 +-
3 1 file changed, 1 insertion(+), 1 deletion(-)
4
5--- fontconfig-2.6.0.orig/fontconfig.pc.in
6+++ fontconfig-2.6.0/fontconfig.pc.in
7@@ -5,7 +5,7 @@ includedir=@includedir@
8
9 Name: Fontconfig
10 Description: Font configuration and customization library
11 Version: @VERSION@
12 Libs: -L${libdir} -lfontconfig
13-Libs.private: @EXPAT_LIBS@ @FREETYPE_LIBS@
14+Libs.private: @EXPAT_LIBS@ -L${libdir} -lfreetype
15 Cflags: -I${includedir}
diff --git a/meta/packages/fontconfig/fontconfig-2.6.0/97_fontconfig b/meta/packages/fontconfig/fontconfig-2.8.0/97_fontconfig
index 2993959dbb..2993959dbb 100644
--- a/meta/packages/fontconfig/fontconfig-2.6.0/97_fontconfig
+++ b/meta/packages/fontconfig/fontconfig-2.8.0/97_fontconfig
diff --git a/meta/packages/fontconfig/fontconfig-2.8.0/fix-pkgconfig.patch b/meta/packages/fontconfig/fontconfig-2.8.0/fix-pkgconfig.patch
new file mode 100644
index 0000000000..7fec1e9104
--- /dev/null
+++ b/meta/packages/fontconfig/fontconfig-2.8.0/fix-pkgconfig.patch
@@ -0,0 +1,13 @@
1---
2 fontconfig.pc.in | 2 +-
3 1 file changed, 1 insertion(+), 1 deletion(-)
4
5--- fontconfig-2.8.0.orig/fontconfig.pc.in
6+++ fontconfig-2.8.0/fontconfig.pc.in
7@@ -7,5 +7,5 @@
8 Description: Font configuration and customization library
9 Version: @VERSION@
10 Libs: -L${libdir} -lfontconfig
11-Libs.private: @LIBXML2_LIBS@ @EXPAT_LIBS@ @FREETYPE_LIBS@ @ICONV_LIBS@
12+Libs.private: @LIBXML2_LIBS@ @EXPAT_LIBS@ -L{libdir} -lfreetype @ICONV_LIBS@
13 Cflags: -I${includedir}
diff --git a/meta/packages/fontconfig/fontconfig-native_2.6.0.bb b/meta/packages/fontconfig/fontconfig-native_2.8.0.bb
index 03a1bc86c2..03a1bc86c2 100644
--- a/meta/packages/fontconfig/fontconfig-native_2.6.0.bb
+++ b/meta/packages/fontconfig/fontconfig-native_2.8.0.bb
diff --git a/meta/packages/fontconfig/fontconfig_2.6.0.bb b/meta/packages/fontconfig/fontconfig_2.8.0.bb
index 4c6df307f4..f83d72cdda 100644
--- a/meta/packages/fontconfig/fontconfig_2.6.0.bb
+++ b/meta/packages/fontconfig/fontconfig_2.8.0.bb
@@ -1,12 +1,20 @@
1SECTION = "libs"
2LICENSE = "BSD"
3DESCRIPTION = "A library for configuring and customizing font access." 1DESCRIPTION = "A library for configuring and customizing font access."
2HOMEPAGE = "http://www.fontconfig.org"
3BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig"
4
5LICENSE = "MIT-style & MIT & Public Domain"
6LIC_FILES_CHKSUM = "file://COPYING;md5=f3ad4145dea6ca7efa2f1bee8165a7a1 \
7 file://src/fcfreetype.c;endline=45;md5=bc3dd139e2f7245a02fde5545b203a6f \
8 file://src/fccache.c;beginline=1020;endline=1035;md5=0326cfeb4a7333dd4dd25fbbc4b9f27f"
9
10SECTION = "libs"
11
4DEPENDS = "expat freetype zlib" 12DEPENDS = "expat freetype zlib"
5 13
6PR = "r1" 14PR = "r0"
7 15
8SRC_URI = "http://fontconfig.org/release/fontconfig-${PV}.tar.gz \ 16SRC_URI = "http://fontconfig.org/release/fontconfig-${PV}.tar.gz \
9 file://fix-pkgconfig.patch;patch=1 \ 17 file://fix-pkgconfig.patch \
10 file://97_fontconfig" 18 file://97_fontconfig"
11 19
12PACKAGES =+ "fontconfig-utils-dbg fontconfig-utils " 20PACKAGES =+ "fontconfig-utils-dbg fontconfig-utils "
diff --git a/meta/packages/freetype/freetype-2.3.5/no-hardcode.patch b/meta/packages/freetype/freetype-2.3.12/no-hardcode.patch
index 44ae450a14..44ae450a14 100644
--- a/meta/packages/freetype/freetype-2.3.5/no-hardcode.patch
+++ b/meta/packages/freetype/freetype-2.3.12/no-hardcode.patch
diff --git a/meta/packages/freetype/freetype-2.3.5/configure.patch b/meta/packages/freetype/freetype-2.3.5/configure.patch
deleted file mode 100644
index f11cf96be0..0000000000
--- a/meta/packages/freetype/freetype-2.3.5/configure.patch
+++ /dev/null
@@ -1,47 +0,0 @@
1
2#
3# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
4#
5
6Index: freetype-2.1.8/builds/unix/configure.ac
7===================================================================
8--- freetype-2.1.8.orig/builds/unix/configure.ac 2004-04-14 04:49:11.000000000 -0400
9+++ freetype-2.1.8/builds/unix/configure.ac 2005-03-12 03:14:23.000000000 -0500
10@@ -111,8 +111,8 @@
11 # Check for system zlib
12
13 AC_ARG_WITH([zlib],
14- dnl don't quote AS_HELP_STRING!
15- AS_HELP_STRING([--without-zlib],
16+ dnl don't quote AC_HELP_STRING!
17+ AC_HELP_STRING([--without-zlib],
18 [use internal zlib instead of system-wide]))
19 if test x$with_zlib != xno && test -z "$LIBZ"; then
20 AC_CHECK_LIB([z], [gzsetparams], [AC_CHECK_HEADER([zlib.h], [LIBZ='-lz'])])
21@@ -127,7 +127,7 @@
22 # Whether to use Mac OS resource-based fonts or not
23
24 AC_ARG_WITH([old-mac-fonts],
25- dnl don't quote AS_HELP_STRING!
26- AS_HELP_STRING([--with-old-mac-fonts],
27+ dnl don't quote AC_HELP_STRING!
28+ AC_HELP_STRING([--with-old-mac-fonts],
29 [allow Mac resource-based fonts to be used]))
30 if test x$with_old_mac_fonts = xyes; then
31Index: freetype-2.1.8/builds/unix/unix-cc.in
32===================================================================
33--- freetype-2.1.8.orig/builds/unix/unix-cc.in 2003-11-09 03:37:13.000000000 -0500
34+++ freetype-2.1.8/builds/unix/unix-cc.in 2005-03-12 18:37:24.613693760 -0500
35@@ -14,9 +14,11 @@
36
37 CC := @CC@
38 COMPILER_SEP := $(SEP)
39+SHELL := @SHELL@
40+top_builddir := $(BUILD_DIR)
41
42 ifndef LIBTOOL
43- LIBTOOL := $(BUILD_DIR)/libtool
44+ LIBTOOL := @LIBTOOL@
45 endif
46
47
diff --git a/meta/packages/freetype/freetype-2.3.5/fix-x86_64-build.patch b/meta/packages/freetype/freetype-2.3.5/fix-x86_64-build.patch
deleted file mode 100644
index ae504dcb0b..0000000000
--- a/meta/packages/freetype/freetype-2.3.5/fix-x86_64-build.patch
+++ /dev/null
@@ -1,26 +0,0 @@
1Index: freetype-2.3.1/builds/unix/configure.raw
2===================================================================
3--- freetype-2.3.1.orig/builds/unix/configure.raw
4+++ freetype-2.3.1/builds/unix/configure.raw
5@@ -40,7 +40,7 @@ AC_SUBST(EXEEXT)
6 # checks for native programs to generate building tool
7
8 if test ${cross_compiling} = yes; then
9- AC_CHECK_PROG(CC_BUILD, ${build}-gcc, ${build-gcc})
10+ AC_CHECK_PROG(CC_BUILD, ${build}-gcc, ${build}-gcc)
11 test -z "${CC_BUILD}" && AC_CHECK_PROG(CC_BUILD, gcc, gcc)
12 test -z "${CC_BUILD}" && AC_CHECK_PROG(CC_BUILD, cc, cc, , , /usr/ucb/cc)
13 test -z "${CC_BUILD}" && AC_MSG_ERROR([cannot find native C compiler])
14Index: freetype-2.3.1/builds/unix/configure.ac
15===================================================================
16--- freetype-2.3.1.orig/builds/unix/configure.ac
17+++ freetype-2.3.1/builds/unix/configure.ac
18@@ -40,7 +40,7 @@ AC_SUBST(EXEEXT)
19 # checks for native programs to generate building tool
20
21 if test ${cross_compiling} = yes; then
22- AC_CHECK_PROG(CC_BUILD, ${build}-gcc, ${build-gcc})
23+ AC_CHECK_PROG(CC_BUILD, ${build}-gcc, ${build}-gcc)
24 test -z "${CC_BUILD}" && AC_CHECK_PROG(CC_BUILD, gcc, gcc)
25 test -z "${CC_BUILD}" && AC_CHECK_PROG(CC_BUILD, cc, cc, , , /usr/ucb/cc)
26 test -z "${CC_BUILD}" && AC_MSG_ERROR([cannot find native C compiler])
diff --git a/meta/packages/freetype/freetype_2.3.5.bb b/meta/packages/freetype/freetype_2.3.12.bb
index 5bbbd7d657..da62ffb3b2 100644
--- a/meta/packages/freetype/freetype_2.3.5.bb
+++ b/meta/packages/freetype/freetype_2.3.12.bb
@@ -1,12 +1,18 @@
1DESCRIPTION = "Freetype font rendering library" 1DESCRIPTION = "Freetype font rendering library"
2HOMEPAGE = "http://www.freetype.org/"
3BUGTRACKER = "https://savannah.nongnu.org/bugs/?group=freetype"
4
5LICENSE = "FreeTypeLicense | GPLv2+"
6LIC_FILES_CHKSUM = "file://docs/LICENSE.TXT;md5=8bc1a580aeb518100d00a2dd29e68edf \
7 file://docs/FTL.TXT;md5=d479e83797f699fe873b38dadd0fcd4c \
8 file://docs/GPL.TXT;md5=8ef380476f642c20ebf40fecb0add2ec"
9
2SECTION = "libs" 10SECTION = "libs"
3LICENSE = "freetype" 11
4PR = "r3" 12PR = "r0"
5 13
6SRC_URI = "${SOURCEFORGE_MIRROR}/freetype/freetype-${PV}.tar.bz2 \ 14SRC_URI = "${SOURCEFORGE_MIRROR}/freetype/freetype-${PV}.tar.bz2 \
7 file://fix-x86_64-build.patch;patch=1 \ 15 file://no-hardcode.patch"
8 file://no-hardcode.patch;patch=1 \
9 "
10 16
11S = "${WORKDIR}/freetype-${PV}" 17S = "${WORKDIR}/freetype-${PV}"
12 18
diff --git a/meta/packages/gcc/gcc-crosssdk-initial.inc b/meta/packages/gcc/gcc-crosssdk-initial.inc
index 4b8346b004..794a953472 100644
--- a/meta/packages/gcc/gcc-crosssdk-initial.inc
+++ b/meta/packages/gcc/gcc-crosssdk-initial.inc
@@ -1,7 +1,7 @@
1inherit crosssdk 1inherit crosssdk
2 2
3SYSTEMHEADERS = "${SDKPATH}/include" 3SYSTEMHEADERS = "${SDKPATHNATIVE}${prefix_nativesdk}/include"
4SYSTEMLIBS1 = "${SDKPATH}/lib/" 4SYSTEMLIBS1 = "${SDKPATHNATIVE}${libdir_nativesdk}/"
5 5
6DEPENDS = "virtual/${TARGET_PREFIX}binutils-crosssdk gettext-native" 6DEPENDS = "virtual/${TARGET_PREFIX}binutils-crosssdk gettext-native"
7PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial-crosssdk" 7PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial-crosssdk"
diff --git a/meta/packages/gcc/gcc-crosssdk-intermediate.inc b/meta/packages/gcc/gcc-crosssdk-intermediate.inc
index 6034360050..5b88d33139 100644
--- a/meta/packages/gcc/gcc-crosssdk-intermediate.inc
+++ b/meta/packages/gcc/gcc-crosssdk-intermediate.inc
@@ -1,7 +1,7 @@
1inherit crosssdk 1inherit crosssdk
2 2
3SYSTEMHEADERS = "${SDKPATH}/include" 3SYSTEMHEADERS = "${SDKPATHNATIVE}${prefix_nativesdk}/include"
4SYSTEMLIBS1 = "${SDKPATH}/lib/" 4SYSTEMLIBS1 = "${SDKPATHNATIVE}${libdir_nativesdk}/"
5 5
6DEPENDS = "virtual/${TARGET_PREFIX}binutils-crosssdk gettext-native" 6DEPENDS = "virtual/${TARGET_PREFIX}binutils-crosssdk gettext-native"
7DEPENDS += "virtual/${TARGET_PREFIX}libc-initial-nativesdk" 7DEPENDS += "virtual/${TARGET_PREFIX}libc-initial-nativesdk"
diff --git a/meta/packages/gcc/gcc-crosssdk.inc b/meta/packages/gcc/gcc-crosssdk.inc
index e2252bbfce..be2d0b0a28 100644
--- a/meta/packages/gcc/gcc-crosssdk.inc
+++ b/meta/packages/gcc/gcc-crosssdk.inc
@@ -1,7 +1,7 @@
1inherit crosssdk 1inherit crosssdk
2 2
3SYSTEMHEADERS = "${SDKPATH}/include" 3SYSTEMHEADERS = "${SDKPATHNATIVE}${prefix_nativesdk}/include"
4SYSTEMLIBS1 = "${SDKPATH}/lib/" 4SYSTEMLIBS1 = "${SDKPATHNATIVE}${libdir_nativesdk}/"
5 5
6GCCMULTILIB = "--disable-multilib" 6GCCMULTILIB = "--disable-multilib"
7 7
diff --git a/meta/packages/genext2fs/genext2fs.inc b/meta/packages/genext2fs/genext2fs.inc
index c2984bccdd..deab50564d 100644
--- a/meta/packages/genext2fs/genext2fs.inc
+++ b/meta/packages/genext2fs/genext2fs.inc
@@ -1,4 +1,5 @@
1LICENSE = "GPL"
2DESCRIPTION = "A tool to generate an ext2 filesystem \ 1DESCRIPTION = "A tool to generate an ext2 filesystem \
3as a normal (non-root) user." 2as a normal (non-root) user."
3HOMEPAGE = "http://genext2fs.sourceforge.net/"
4SECTION = "console/utils" 4SECTION = "console/utils"
5LICENSE = "GPLv2"
diff --git a/meta/packages/glib-2.0/glib-2.0-2.22.3/glib-gettextize-dir.patch b/meta/packages/glib-2.0/glib-2.0-2.22.3/glib-gettextize-dir.patch
deleted file mode 100644
index efe3325578..0000000000
--- a/meta/packages/glib-2.0/glib-2.0-2.22.3/glib-gettextize-dir.patch
+++ /dev/null
@@ -1,11 +0,0 @@
1--- glib-2.10.3/glib-gettextize.in.old 2006-06-21 12:46:45.000000000 +0100
2+++ glib-2.10.3/glib-gettextize.in 2006-06-21 12:48:14.000000000 +0100
3@@ -49,7 +49,7 @@
4 ;;
5 esac
6
7-gettext_dir=$prefix/share/glib-2.0/gettext
8+gettext_dir=@datadir@/glib-2.0/gettext
9
10 while test $# -gt 0; do
11 case "$1" in
diff --git a/meta/packages/glib-2.0/glib-2.0-2.22.3/glibconfig-sysdefs.h b/meta/packages/glib-2.0/glib-2.0-2.22.3/glibconfig-sysdefs.h
deleted file mode 100644
index 1329e7f21c..0000000000
--- a/meta/packages/glib-2.0/glib-2.0-2.22.3/glibconfig-sysdefs.h
+++ /dev/null
@@ -1,6 +0,0 @@
1#define GLIB_SYSDEF_POLLIN =1
2#define GLIB_SYSDEF_POLLOUT =4
3#define GLIB_SYSDEF_POLLPRI =2
4#define GLIB_SYSDEF_POLLERR =8
5#define GLIB_SYSDEF_POLLHUP =16
6#define GLIB_SYSDEF_POLLNVAL =32
diff --git a/meta/packages/glib-2.0/glib-2.0-2.24.1/60_wait-longer-for-threads-to-die.patch b/meta/packages/glib-2.0/glib-2.0-2.24.1/60_wait-longer-for-threads-to-die.patch
new file mode 100644
index 0000000000..1676b3e257
--- /dev/null
+++ b/meta/packages/glib-2.0/glib-2.0-2.24.1/60_wait-longer-for-threads-to-die.patch
@@ -0,0 +1,29 @@
1# copy from OE, said to borrow from Ubuntu. Not in glib-2.0 upstream yet. Add for sanity.
2#
3# by Kevin Tian <kevin.tian@intel.com>, 06/25/2010
4--- glib/tests/threadpool-test.c.old 2008-02-12 06:11:21.000000000 +0100
5+++ glib/tests/threadpool-test.c 2008-02-12 06:11:52.000000000 +0100
6@@ -5,8 +5,8 @@
7
8 #include <glib.h>
9
10-#define DEBUG_MSG(x)
11-/* #define DEBUG_MSG(args) g_printerr args ; g_printerr ("\n"); */
12+/* #define DEBUG_MSG(x) */
13+#define DEBUG_MSG(args) g_printerr args ; g_printerr ("\n");
14
15 #define WAIT 5 /* seconds */
16 #define MAX_THREADS 10
17@@ -124,10 +124,10 @@
18 DEBUG_MSG (("[unused] stopping unused threads"));
19 g_thread_pool_stop_unused_threads ();
20
21- DEBUG_MSG (("[unused] waiting ONE second for threads to die"));
22+ DEBUG_MSG (("[unused] waiting FIVE second for threads to die"));
23
24 /* Some time for threads to die. */
25- g_usleep (G_USEC_PER_SEC);
26+ g_usleep (5 * G_USEC_PER_SEC);
27
28 DEBUG_MSG (("[unused] stopped idle threads, %d remain, %d threads still exist",
29 g_thread_pool_get_num_unused_threads (),
diff --git a/meta/packages/glib-2.0/glib-2.0-2.22.3/configure-libtool.patch b/meta/packages/glib-2.0/glib-2.0-2.24.1/configure-libtool.patch
index 3ba79b8986..3ba79b8986 100644
--- a/meta/packages/glib-2.0/glib-2.0-2.22.3/configure-libtool.patch
+++ b/meta/packages/glib-2.0/glib-2.0-2.24.1/configure-libtool.patch
diff --git a/meta/packages/glib-2.0/glib-2.0-2.24.1/gatomic-proper-pointer-get-cast.patch b/meta/packages/glib-2.0/glib-2.0-2.24.1/gatomic-proper-pointer-get-cast.patch
new file mode 100644
index 0000000000..1f3920f03a
--- /dev/null
+++ b/meta/packages/glib-2.0/glib-2.0-2.24.1/gatomic-proper-pointer-get-cast.patch
@@ -0,0 +1,37 @@
1# handle cast warning. borrow from OE, but updated with a better fix from glib
2# developing tree.
3#
4# by Kevin Tian <kevin.tian@intel.com>, 06/25/2010
5commit bf2719c815d719d1899b4bdb1b81ff6798471094
6Author: Lars Ellenberg <lars.ellenberg@linbit.com>
7Date: Thu Apr 15 19:03:05 2010 +0200
8
9 Cast to volatile to avoid warnings from -Wcast-qual
10
11 https://bugzilla.gnome.org/show_bug.cgi?id=457641
12
13diff --git a/glib/gatomic.h b/glib/gatomic.h
14index 7d9c318..22b28d9 100644
15--- a/glib/gatomic.h
16+++ b/glib/gatomic.h
17@@ -64,16 +64,16 @@ void g_atomic_pointer_set (volatile gpointer G_GNUC_MAY_ALI
18 #else
19 # define g_atomic_int_get(atomic) \
20 ((void) sizeof (gchar [sizeof (*(atomic)) == sizeof (gint) ? 1 : -1]), \
21- (g_atomic_int_get) ((volatile gint G_GNUC_MAY_ALIAS *) (void *) (atomic)))
22+ (g_atomic_int_get) ((volatile gint G_GNUC_MAY_ALIAS *) (volatile void *) (atomic)))
23 # define g_atomic_int_set(atomic, newval) \
24 ((void) sizeof (gchar [sizeof (*(atomic)) == sizeof (gint) ? 1 : -1]), \
25- (g_atomic_int_set) ((volatile gint G_GNUC_MAY_ALIAS *) (void *) (atomic), (newval)))
26+ (g_atomic_int_set) ((volatile gint G_GNUC_MAY_ALIAS *) (volatile void *) (atomic), (newval)))
27 # define g_atomic_pointer_get(atomic) \
28 ((void) sizeof (gchar [sizeof (*(atomic)) == sizeof (gpointer) ? 1 : -1]), \
29- (g_atomic_pointer_get) ((volatile gpointer G_GNUC_MAY_ALIAS *) (void *) (atomic)))
30+ (g_atomic_pointer_get) ((volatile gpointer G_GNUC_MAY_ALIAS *) (volatile void *) (atomic)))
31 # define g_atomic_pointer_set(atomic, newval) \
32 ((void) sizeof (gchar [sizeof (*(atomic)) == sizeof (gpointer) ? 1 : -1]), \
33- (g_atomic_pointer_set) ((volatile gpointer G_GNUC_MAY_ALIAS *) (void *) (atomic), (newval)))
34+ (g_atomic_pointer_set) ((volatile gpointer G_GNUC_MAY_ALIAS *) (volatile void *) (atomic), (newval)))
35 #endif /* G_ATOMIC_OP_MEMORY_BARRIER_NEEDED */
36
37 #define g_atomic_int_inc(atomic) (g_atomic_int_add ((atomic), 1))
diff --git a/meta/packages/glib-2.0/glib-2.0-2.24.1/glib-gettextize-dir.patch b/meta/packages/glib-2.0/glib-2.0-2.24.1/glib-gettextize-dir.patch
new file mode 100644
index 0000000000..c44e491556
--- /dev/null
+++ b/meta/packages/glib-2.0/glib-2.0-2.24.1/glib-gettextize-dir.patch
@@ -0,0 +1,19 @@
1# an very old patch cherry-picked in every glib-2.0 patch directory. The earliest container
2# for it is 2.6.5 in OE. The earliest commit for it is c8e5702127e507e82e6f68a4b8c546803accea9d
3# in OE side which ports from previous bitkeeper SCM. In OE side it's only used til 2.12.4.
4#
5# keep it since it's always cleaner to not hardcode destination path. Use @datadir@ is more
6# portable here. mark for upstream
7#
8# by Kevin Tian <kevin.tian@intel.com>, 06/25/2010
9--- glib-2.10.3/glib-gettextize.in.old 2006-06-21 12:46:45.000000000 +0100
10+++ glib-2.10.3/glib-gettextize.in 2006-06-21 12:48:14.000000000 +0100
11@@ -49,7 +49,7 @@
12 ;;
13 esac
14
15-gettext_dir=$prefix/share/glib-2.0/gettext
16+gettext_dir=@datadir@/glib-2.0/gettext
17
18 while test $# -gt 0; do
19 case "$1" in
diff --git a/meta/packages/glib-2.0/glib-2.0_2.22.3.bb b/meta/packages/glib-2.0/glib-2.0_2.22.3.bb
deleted file mode 100644
index 26d91a9cfa..0000000000
--- a/meta/packages/glib-2.0/glib-2.0_2.22.3.bb
+++ /dev/null
@@ -1,11 +0,0 @@
1require glib.inc
2
3PR = "r1"
4
5SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glib/2.22/glib-${PV}.tar.bz2 \
6 file://glibconfig-sysdefs.h \
7 file://configure-libtool.patch;patch=1"
8
9SRC_URI_append_virtclass-native = " file://glib-gettextize-dir.patch;patch=1"
10
11BBCLASSEXTEND = "native"
diff --git a/meta/packages/glib-2.0/glib-2.0_2.24.1.bb b/meta/packages/glib-2.0/glib-2.0_2.24.1.bb
new file mode 100644
index 0000000000..d8d1cc52d2
--- /dev/null
+++ b/meta/packages/glib-2.0/glib-2.0_2.24.1.bb
@@ -0,0 +1,11 @@
1require glib.inc
2
3PR = "r0"
4
5SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glib/2.24/glib-${PV}.tar.bz2 \
6 file://configure-libtool.patch \
7 file://gatomic-proper-pointer-get-cast.patch \
8 file://60_wait-longer-for-threads-to-die.patch"
9
10SRC_URI_append_virtclass-native = " file://glib-gettextize-dir.patch"
11BBCLASSEXTEND = "native"
diff --git a/meta/packages/glib-2.0/glib.inc b/meta/packages/glib-2.0/glib.inc
index f4167e8bf8..6e7f6a3347 100644
--- a/meta/packages/glib-2.0/glib.inc
+++ b/meta/packages/glib-2.0/glib.inc
@@ -1,35 +1,32 @@
1DESCRIPTION = "GLib is a general-purpose utility library, \ 1DESCRIPTION = "GLib is a general-purpose utility library, which provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on. It works on many UNIX-like platforms, Windows, OS/2 and BeOS"
2which provides many useful data types, macros, \ 2# pcre is under BSD;
3type conversions, string utilities, file utilities, a main \ 3# docs/reference/COPYING is with a 'public domai'-like license!
4loop abstraction, and so on. It works on many \ 4LICENSE = "LGPLv2+ & BSD & public domain"
5UNIX-like platforms, Windows, OS/2 and BeOS." 5LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
6LICENSE = "LGPL" 6 file://glib/glib.h;startline=4;endline=17;md5=a4332fe58b076f29d07c9c066d2967b6 \
7 file://gmodule/COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
8 file://gmodule/gmodule.h;startline=4;endline=17;md5=76ab161b37202cd004073c42fac276ed \
9 file://glib/pcre/COPYING;md5=266ebc3ff74ee9ce6fad65577667c0f4 \
10 file://glib/pcre/pcre.h;startline=11;endline=35;md5=000109ccf7c4c470b74046e2cc59f7e3 \
11 file://docs/reference/COPYING;md5=f51a5100c17af6bae00735cd791e1fcc"
12BUGTRACKER = "http://bugzilla.gnome.org"
7SECTION = "libs" 13SECTION = "libs"
8PRIORITY = "optional" 14
9DEPENDS = "glib-2.0-native gtk-doc-native virtual/libiconv virtual/libintl" 15require glib-2.0.inc
16
17DEPENDS = "glib-2.0-native gtk-doc-native virtual/libiconv virtual/libintl zip"
10DEPENDS_virtclass-native = "gtk-doc-native pkgconfig-native gettext-native" 18DEPENDS_virtclass-native = "gtk-doc-native pkgconfig-native gettext-native"
11PACKAGES =+ "glib-2.0-utils " 19PACKAGES =+ "glib-2.0-utils "
12 20
13LEAD_SONAME = "libglib-2.0.*" 21LEAD_SONAME = "libglib-2.0.*"
14FILES_glib-2.0-utils = "${bindir}/*" 22FILES_glib-2.0-utils = "${bindir}/*"
15 23
16EXTRA_OECONF = "--enable-included-printf=no"
17
18S = "${WORKDIR}/glib-${PV}"
19
20inherit autotools pkgconfig gettext 24inherit autotools pkgconfig gettext
21 25
22require glib-2.0.inc 26S = "${WORKDIR}/glib-${PV}"
23
24acpaths = ""
25do_configure_prepend () {
26 install -m 0644 ${WORKDIR}/glibconfig-sysdefs.h .
27}
28 27
29do_install_append () { 28EXTRA_OECONF = "--disable-debug --enable-included-printf=no"
30 install -d ${D}${includedir}/glib-2.0/glib 29EXTRA_OECONF_virtclass-native = ""
31 install -m 0755 ${S}/glibconfig.h ${D}${includedir}/glib-2.0/glibconfig.h
32}
33 30
34FILES_${PN} = "${libdir}/lib*${SOLIBS}" 31FILES_${PN} = "${libdir}/lib*${SOLIBS}"
35FILES_${PN}-dev += "${libdir}/glib-2.0/include" 32FILES_${PN}-dev += "${libdir}/glib-2.0/include"
diff --git a/meta/packages/gnome/gconf-dbus_svn.bb b/meta/packages/gnome/gconf-dbus_svn.bb
index 1910188278..f296a99b59 100644
--- a/meta/packages/gnome/gconf-dbus_svn.bb
+++ b/meta/packages/gnome/gconf-dbus_svn.bb
@@ -1,7 +1,8 @@
1DESCRIPTION = "Settings daemon using DBUS for communication."
1SECTION = "x11/utils" 2SECTION = "x11/utils"
3LICENSE = "LGPLv2+"
4
2DEPENDS = "intltool-native virtual/libintl glib-2.0 dbus dbus-glib libxml2 popt gtk-doc-native" 5DEPENDS = "intltool-native virtual/libintl glib-2.0 dbus dbus-glib libxml2 popt gtk-doc-native"
3DESCRIPTION = "Settings daemon using DBUS for communication."
4LICENSE = "GPL"
5PROVIDES = "gconf" 6PROVIDES = "gconf"
6RPROVIDES_${PN} = "gconf" 7RPROVIDES_${PN} = "gconf"
7RPROVIDES_${PN}-dev = "gconf-dev" 8RPROVIDES_${PN}-dev = "gconf-dev"
@@ -9,14 +10,12 @@ RPROVIDES_${PN}-dev = "gconf-dev"
9PV = "2.16.0+svnr${SRCREV}" 10PV = "2.16.0+svnr${SRCREV}"
10 11
11SRC_URI = "svn://developer.imendio.com/svn/gconf-dbus;module=trunk;proto=http" 12SRC_URI = "svn://developer.imendio.com/svn/gconf-dbus;module=trunk;proto=http"
13S = "${WORKDIR}/trunk"
12 14
13inherit pkgconfig autotools 15inherit pkgconfig autotools
14S = "${WORKDIR}/trunk"
15 16
16PARALLEL_MAKE = "" 17PARALLEL_MAKE = ""
17 18
18FILES_${PN} = "${libdir}/GConf-dbus/2/*.so ${libdir}/dbus-1.0 ${sysconfdir} ${datadir}/dbus* ${libdir}/*.so.* ${bindir}/* ${libexecdir}/*"
19FILES_${PN}-dbg += " ${libdir}/GConf-dbus/2/.debug"
20 19
21EXTRA_OECONF = "--disable-gtk-doc --disable-gtk --enable-shared --disable-static --enable-debug=yes" 20EXTRA_OECONF = "--disable-gtk-doc --disable-gtk --enable-shared --disable-static --enable-debug=yes"
22 21
@@ -25,5 +24,8 @@ do_configure_prepend() {
25 touch gtk-doc.make 24 touch gtk-doc.make
26} 25}
27 26
27FILES_${PN} = "${libdir}/GConf-dbus/2/*.so ${libdir}/dbus-1.0 ${sysconfdir} ${datadir}/dbus* ${libdir}/*.so.* ${bindir}/* ${libexecdir}/*"
28FILES_${PN}-dbg += " ${libdir}/GConf-dbus/2/.debug"
29
28BBCLASSEXTEND = "native" 30BBCLASSEXTEND = "native"
29 31
diff --git a/meta/packages/gnome/gnome-common_2.20.0.bb b/meta/packages/gnome/gnome-common_2.20.0.bb
index 075ac141a1..c2eae72d55 100644
--- a/meta/packages/gnome/gnome-common_2.20.0.bb
+++ b/meta/packages/gnome/gnome-common_2.20.0.bb
@@ -1,7 +1,11 @@
1LICENSE = "GPL" 1DESCRIPTION = "Common macros for building GNOME applications"
2HOMEPAGE = "http://www.gnome.org/"
3BUGTRACKER = "https://bugzilla.gnome.org/"
4
5LICENSE = "GPLv3"
6
2SECTION = "x11/gnome" 7SECTION = "x11/gnome"
3PR = "r1" 8PR = "r1"
4DESCRIPTION = "Common macros for building GNOME applications"
5inherit gnome 9inherit gnome
6 10
7# all isn't appropriate since STAGING_DATADIR is target specific 11# all isn't appropriate since STAGING_DATADIR is target specific
diff --git a/meta/packages/gnome/gnome-keyring_2.26.1.bb b/meta/packages/gnome/gnome-keyring_2.26.1.bb
index 6d1e335291..ae7e920a91 100644
--- a/meta/packages/gnome/gnome-keyring_2.26.1.bb
+++ b/meta/packages/gnome/gnome-keyring_2.26.1.bb
@@ -1,4 +1,9 @@
1LICENSE = "GPL" 1DESCRIPTION = "Password and keyring managing daemon"
2HOMEPAGE = "http://www.gnome.org/"
3BUGTRACKER = "https://bugzilla.gnome.org/"
4
5LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
6
2SECTION = "x11/gnome" 7SECTION = "x11/gnome"
3 8
4PR = "r1" 9PR = "r1"
diff --git a/meta/packages/gnutls/libtasn1_1.7.bb b/meta/packages/gnutls/libtasn1_1.7.bb
deleted file mode 100644
index 90be5ade7b..0000000000
--- a/meta/packages/gnutls/libtasn1_1.7.bb
+++ /dev/null
@@ -1,12 +0,0 @@
1DESCRIPTION = "Library for ASN.1 and DER manipulation"
2LICENSE = "LGPL"
3
4PR = "r1"
5
6SRC_URI = "ftp://ftp.gnutls.org/pub/gnutls/libtasn1/libtasn1-${PV}.tar.gz"
7
8inherit autotools binconfig
9
10AUTOTOOLS_STAGE_PKGCONFIG = "1"
11
12BBCLASSEXTEND = "native" \ No newline at end of file
diff --git a/meta/packages/gnutls/libtasn1_2.7.bb b/meta/packages/gnutls/libtasn1_2.7.bb
new file mode 100644
index 0000000000..11a7dc5055
--- /dev/null
+++ b/meta/packages/gnutls/libtasn1_2.7.bb
@@ -0,0 +1,21 @@
1DESCRIPTION = "Library for ASN.1 and DER manipulation"
2HOMEPAGE = "http://www.gnu.org/software/libtasn1/"
3
4LICENSE = "GPLv3+ & LGPLv2.1+"
5LICENSE_${PN}-bin = "GPLv3+"
6LICENSE_${PN} = "LGPLv2.1+"
7LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
8 file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
9 file://README;endline=8;md5=c3803a3e8ca5ab5eb1e5912faa405351"
10
11RREPLACES_${PN}-bin = "libtasn1 (<< 2.7)"
12
13PR = "r0"
14
15SRC_URI = "ftp://ftp.gnutls.org/pub/gnutls/libtasn1/libtasn1-${PV}.tar.gz"
16
17inherit autotools binconfig lib_package
18
19AUTOTOOLS_STAGE_PKGCONFIG = "1"
20
21BBCLASSEXTEND = "native"
diff --git a/meta/packages/gperf/gperf_3.0.3.bb b/meta/packages/gperf/gperf_3.0.3.bb
index f6ab39e32e..e5e5cf10c9 100644
--- a/meta/packages/gperf/gperf_3.0.3.bb
+++ b/meta/packages/gperf/gperf_3.0.3.bb
@@ -1,9 +1,11 @@
1DESCRIPTION = "GNU gperf is a perfect hash function generator"
1HOMEPAGE = "http://www.gnu.org/software/gperf" 2HOMEPAGE = "http://www.gnu.org/software/gperf"
2LICENSE = "GPL"
3SUMMARY = "Generate a perfect hash function from a set of keywords" 3SUMMARY = "Generate a perfect hash function from a set of keywords"
4# 3.0.4 change to GPLv3, but only native version is used
5LICENSE = "GPLv2+"
4 6
5SRC_URI = "${GNU_MIRROR}/gperf/gperf-${PV}.tar.gz \ 7SRC_URI = "${GNU_MIRROR}/gperf/gperf-${PV}.tar.gz \
6 file://autoreconf.patch;patch=1" 8 file://autoreconf.patch"
7 9
8inherit autotools 10inherit autotools
9 11
diff --git a/meta/packages/gtk+/gtk+.inc b/meta/packages/gtk+/gtk+.inc
index e8fe233382..f7fa00d5c4 100644
--- a/meta/packages/gtk+/gtk+.inc
+++ b/meta/packages/gtk+/gtk+.inc
@@ -1,8 +1,11 @@
1DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \ 1DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
2set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites." 2set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites."
3HOMEPAGE = "http://www.gtk.org" 3HOMEPAGE = "http://www.gtk.org"
4BUGTRACKER = "https://bugzilla.gnome.org/"
5
6LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
7
4SECTION = "libs" 8SECTION = "libs"
5LICENSE = "LGPL"
6PRIORITY = "optional" 9PRIORITY = "optional"
7DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc-native libxrandr \ 10DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc-native libxrandr \
8 libgcrypt libxdamage libxrender libxcomposite cairo" 11 libgcrypt libxdamage libxrender libxcomposite cairo"
diff --git a/meta/packages/gtk-engines/gtk-sato-engine.inc b/meta/packages/gtk-engines/gtk-sato-engine.inc
index 5ac690d630..f9ab14c8b0 100644
--- a/meta/packages/gtk-engines/gtk-sato-engine.inc
+++ b/meta/packages/gtk-engines/gtk-sato-engine.inc
@@ -1,6 +1,10 @@
1DESCRIPTION = "Sato theme engine for GTK" 1DESCRIPTION = "Sato theme engine for GTK"
2HOMEPAGE = "http://www.o-hand.com"
3BUGTRACKER = "http://bugzilla.openedhand.com/"
4
5LICENSE = "LGPLv2+"
6
2SECTION = "x11/base" 7SECTION = "x11/base"
3LICENSE = "LGPL"
4DEPENDS = "gtk+" 8DEPENDS = "gtk+"
5RDEPENDS_gtk-theme-sato = "gtk-sato-engine" 9RDEPENDS_gtk-theme-sato = "gtk-sato-engine"
6 10
diff --git a/meta/packages/hal/hal-info.inc b/meta/packages/hal/hal-info.inc
index 635fd0aa41..bea28cd6a7 100644
--- a/meta/packages/hal/hal-info.inc
+++ b/meta/packages/hal/hal-info.inc
@@ -1,7 +1,9 @@
1DESCRIPTION = "Hardware Abstraction Layer device information" 1DESCRIPTION = "Hardware Abstraction Layer device information"
2HOMEPAGE = "http://hal.freedesktop.org/" 2HOMEPAGE = "http://hal.freedesktop.org/"
3BUGTRACKER = "http://bugs.freedesktop.org/buglist.cgi?product=hal"
3SECTION = "unknown" 4SECTION = "unknown"
4LICENSE = "GPL AFL" 5
6LICENSE = "GPLv2 | AFL"
5 7
6SRC_URI = "http://hal.freedesktop.org/releases/${PN}-${PV}.tar.gz" 8SRC_URI = "http://hal.freedesktop.org/releases/${PN}-${PV}.tar.gz"
7S = "${WORKDIR}/${PN}-${PV}" 9S = "${WORKDIR}/${PN}-${PV}"
diff --git a/meta/packages/hal/hal-info_git.bb b/meta/packages/hal/hal-info_git.bb
index 0cb44706f6..154a4129fa 100644
--- a/meta/packages/hal/hal-info_git.bb
+++ b/meta/packages/hal/hal-info_git.bb
@@ -1,7 +1,9 @@
1DESCRIPTION = "Hardware Abstraction Layer device information" 1DESCRIPTION = "Hardware Abstraction Layer device information"
2HOMEPAGE = "http://freedesktop.org/Software/hal" 2HOMEPAGE = "http://freedesktop.org/Software/hal"
3BUGTRACKER = "http://bugs.freedesktop.org/buglist.cgi?product=hal"
3SECTION = "unknown" 4SECTION = "unknown"
4LICENSE = "GPL AFL" 5
6LICENSE = "GPLv2 | AFL"
5 7
6PV = "${SRCDATE}+git" 8PV = "${SRCDATE}+git"
7PR = "r2" 9PR = "r2"
diff --git a/meta/packages/hal/hal.inc b/meta/packages/hal/hal.inc
index 4d72e94fa7..2b70eb714d 100644
--- a/meta/packages/hal/hal.inc
+++ b/meta/packages/hal/hal.inc
@@ -1,22 +1,24 @@
1DESCRIPTION = "Hardware Abstraction Layer" 1DESCRIPTION = "Hardware Abstraction Layer"
2HOMEPAGE = "http://freedesktop.org/Software/hal" 2HOMEPAGE = "http://freedesktop.org/Software/hal"
3BUGTRACKER = "http://bugs.freedesktop.org/buglist.cgi?product=hal"
3SECTION = "unknown" 4SECTION = "unknown"
4LICENSE = "GPL LGPL AFL"
5 5
6SRC_URI = "http://hal.freedesktop.org/releases/hal-${PV}.tar.gz" 6LICENSE = "GPLv2+ | AFL"
7
8S = "${WORKDIR}/hal-${PV}"
9
10inherit autotools pkgconfig
11 7
12DEPENDS = "virtual/kernel dbus-glib udev intltool intltool-native expat libusb gperf-native" 8DEPENDS = "virtual/kernel dbus-glib udev intltool intltool-native expat libusb gperf-native"
13RDEPENDS += "udev hal-info" 9RDEPENDS += "udev hal-info"
14RRECOMMENDS = "udev-utils" 10RRECOMMENDS = "udev-utils"
15 11
12SRC_URI = "http://hal.freedesktop.org/releases/hal-${PV}.tar.gz"
16SRC_URI += "file://99_hal \ 13SRC_URI += "file://99_hal \
17 file://20hal \ 14 file://20hal \
18 " 15 "
19 16
17S = "${WORKDIR}/hal-${PV}"
18
19inherit autotools pkgconfig
20
21
20LEAD_SONAME = "libhal.so" 22LEAD_SONAME = "libhal.so"
21 23
22# machines with pci and acpi get a machine dependant hal 24# machines with pci and acpi get a machine dependant hal
diff --git a/meta/packages/hal/hal_git.bb b/meta/packages/hal/hal_git.bb
index 21fde21fe9..85bb777d5f 100644
--- a/meta/packages/hal/hal_git.bb
+++ b/meta/packages/hal/hal_git.bb
@@ -1,19 +1,21 @@
1DESCRIPTION = "Hardware Abstraction Layer" 1DESCRIPTION = "Hardware Abstraction Layer"
2HOMEPAGE = "http://freedesktop.org/Software/hal" 2HOMEPAGE = "http://freedesktop.org/Software/hal"
3BUGTRACKER = "http://bugs.freedesktop.org/buglist.cgi?product=hal"
3SECTION = "unknown" 4SECTION = "unknown"
4LICENSE = "GPL LGPL AFL" 5
6LICENSE = "GPLv2+ | AFL"
5 7
6DEPENDS = "virtual/kernel dbus-glib udev intltool-native expat libusb" 8DEPENDS = "virtual/kernel dbus-glib udev intltool-native expat libusb"
7RDEPENDS_${PN} += "udev hal-info" 9RDEPENDS_${PN} += "udev hal-info"
8RRECOMMENDS_${PN} += "udev-utils" 10RRECOMMENDS_${PN} += "udev-utils"
9 11
12PV = "0.5.9.1+git${SRCDATE}"
13PR = "r4"
14
10SRC_URI = "git://anongit.freedesktop.org/hal/;protocol=git \ 15SRC_URI = "git://anongit.freedesktop.org/hal/;protocol=git \
11 file://20hal \ 16 file://20hal \
12 file://99_hal" 17 file://99_hal"
13 18
14PV = "0.5.9.1+git${SRCDATE}"
15PR = "r4"
16
17S = "${WORKDIR}/git" 19S = "${WORKDIR}/git"
18 20
19inherit autotools pkgconfig 21inherit autotools pkgconfig
diff --git a/meta/packages/hicolor-icon-theme/hicolor-icon-theme_0.10.bb b/meta/packages/hicolor-icon-theme/hicolor-icon-theme_0.10.bb
index aab3273145..5b97fc33ba 100644
--- a/meta/packages/hicolor-icon-theme/hicolor-icon-theme_0.10.bb
+++ b/meta/packages/hicolor-icon-theme/hicolor-icon-theme_0.10.bb
@@ -1,5 +1,10 @@
1DESCRIPTION = "default icon theme that all icon themes automatically inherit from."
2HOMEPAGE = "http://icon-theme.freedesktop.org/wiki/HicolorTheme"
3BUGTRACKER = "https://bugs.freedesktop.org/"
4
5LICENSE = "GPLv2"
6
1SECTION = "unknown" 7SECTION = "unknown"
2LICENSE = "GPL"
3inherit gnome 8inherit gnome
4 9
5PR = "r3" 10PR = "r3"
diff --git a/meta/packages/jpeg/jpeg_6b.bb b/meta/packages/jpeg/jpeg_6b.bb
index 10c578caa7..87293676de 100644
--- a/meta/packages/jpeg/jpeg_6b.bb
+++ b/meta/packages/jpeg/jpeg_6b.bb
@@ -1,5 +1,9 @@
1DESCRIPTION = "libjpeg is a library for handling the JPEG (JFIF) image format." 1DESCRIPTION = "libjpeg is a library for handling the JPEG (JFIF) image format."
2HOMEPAGE = "http://www.ijg.org/"
3BUGTRACKER = ""
4
2LICENSE ="jpeg" 5LICENSE ="jpeg"
6
3SECTION = "libs" 7SECTION = "libs"
4PRIORITY = "required" 8PRIORITY = "required"
5 9
diff --git a/meta/packages/js/js_1.5.bb b/meta/packages/js/js_1.5.bb
index ce763338d3..fe8c8c2b9b 100644
--- a/meta/packages/js/js_1.5.bb
+++ b/meta/packages/js/js_1.5.bb
@@ -1,12 +1,15 @@
1LICENSE = "GPL" 1DESCRIPTION = "Spidermonkey: a javascript engine written in C"
2DESCRIPTION = "A JavaScript engine" 2HOMEPAGE = "http://www.mozilla.org/js/spidermonkey/"
3SECTION = "libs" 3SECTION = "libs"
4
5# the package is licensed under either of the following
6LICENSE = "MPL1.1 | GPLv2+ | LGPLv2.1+"
4DEPENDS = "readline" 7DEPENDS = "readline"
8PR = "r1"
5SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/js/older-packages/js-1.5.tar.gz \ 9SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/js/older-packages/js-1.5.tar.gz \
6 file://link_with_gcc.patch;patch=1 \ 10 file://link_with_gcc.patch;patch=1 \
7 file://usepic.patch;patch=1 \ 11 file://usepic.patch;patch=1 \
8 file://jsautocfg.h" 12 file://jsautocfg.h"
9PR = "r1"
10 13
11S = "${WORKDIR}/js/src" 14S = "${WORKDIR}/js/src"
12 15
diff --git a/meta/packages/kexec/kexec-tools-1.101/kexec-arm-atags.patch b/meta/packages/kexec/kexec-tools-1.101/kexec-arm-atags.patch
deleted file mode 100644
index bf6f640035..0000000000
--- a/meta/packages/kexec/kexec-tools-1.101/kexec-arm-atags.patch
+++ /dev/null
@@ -1,294 +0,0 @@
1---
2 kexec/arch/arm/kexec-zImage-arm.c | 259 ++++++++++++++++++++++++++++++++++++--
3 1 file changed, 252 insertions(+), 7 deletions(-)
4
5Index: kexec-tools-1.101/kexec/arch/arm/kexec-zImage-arm.c
6===================================================================
7--- kexec-tools-1.101.orig/kexec/arch/arm/kexec-zImage-arm.c 2007-12-26 21:17:07.000000000 +0000
8+++ kexec-tools-1.101/kexec/arch/arm/kexec-zImage-arm.c 2007-12-27 01:24:25.000000000 +0000
9@@ -1,11 +1,83 @@
10+/*
11+ * - 08/21/2007 ATAG support added by Uli Luckas <u.luckas@road.de>
12+ *
13+ */
14 #define _GNU_SOURCE
15 #include <stdio.h>
16 #include <string.h>
17 #include <stdlib.h>
18 #include <errno.h>
19 #include <limits.h>
20+#include <stdint.h>
21+#include <getopt.h>
22+#include <arch/options.h>
23+#include <asm/page.h>
24 #include "../../kexec.h"
25
26+#define COMMAND_LINE_SIZE 1024
27+#define BOOT_PARAMS_SIZE 1536
28+
29+struct tag_header {
30+ uint32_t size;
31+ uint32_t tag;
32+};
33+
34+/* The list must start with an ATAG_CORE node */
35+#define ATAG_CORE 0x54410001
36+
37+struct tag_core {
38+ uint32_t flags; /* bit 0 = read-only */
39+ uint32_t pagesize;
40+ uint32_t rootdev;
41+};
42+
43+/* it is allowed to have multiple ATAG_MEM nodes */
44+#define ATAG_MEM 0x54410002
45+
46+struct tag_mem32 {
47+ uint32_t size;
48+ uint32_t start; /* physical start address */
49+};
50+
51+/* describes where the compressed ramdisk image lives (virtual address) */
52+/*
53+ * this one accidentally used virtual addresses - as such,
54+ * it's deprecated.
55+ */
56+#define ATAG_INITRD 0x54410005
57+
58+/* describes where the compressed ramdisk image lives (physical address) */
59+#define ATAG_INITRD2 0x54420005
60+
61+struct tag_initrd {
62+ uint32_t start; /* physical start address */
63+ uint32_t size; /* size of compressed ramdisk image in bytes */
64+};
65+
66+/* command line: \0 terminated string */
67+#define ATAG_CMDLINE 0x54410009
68+
69+struct tag_cmdline {
70+ char cmdline[1]; /* this is the minimum size */
71+};
72+
73+/* The list ends with an ATAG_NONE node. */
74+#define ATAG_NONE 0x00000000
75+
76+struct tag {
77+ struct tag_header hdr;
78+ union {
79+ struct tag_core core;
80+ struct tag_mem32 mem;
81+ struct tag_initrd initrd;
82+ struct tag_cmdline cmdline;
83+ } u;
84+};
85+
86+#define tag_next(t) ((struct tag *)((uint32_t *)(t) + (t)->hdr.size))
87+#define byte_size(t) ((t)->hdr.size << 2)
88+#define tag_size(type) ((sizeof(struct tag_header) + sizeof(struct type) + 3) >> 2)
89+
90 int zImage_arm_probe(const char *buf, off_t len)
91 {
92 /*
93@@ -14,21 +86,194 @@ int zImage_arm_probe(const char *buf, of
94 */
95 return 0;
96 }
97+
98 void zImage_arm_usage(void)
99 {
100+ printf( " --command-line=STRING Set the kernel command line to STRING.\n"
101+ " --append=STRING Set the kernel command line to STRING.\n"
102+ " --initrd=FILE Use FILE as the kernel's initial ramdisk.\n"
103+ " --ramdisk=FILE Use FILE as the kernel's initial ramdisk.\n"
104+ );
105 }
106-int zImage_arm_load(int argc, char **argv, const char *buf, off_t len,
107+
108+static
109+struct tag * atag_read_tags(void)
110+{
111+ static unsigned long buf[BOOT_PARAMS_SIZE];
112+ const char fn[]= "/proc/atags";
113+ FILE *fp;
114+ fp = fopen(fn, "r");
115+ if (!fp) {
116+ fprintf(stderr, "Cannot open %s: %s\n",
117+ fn, strerror(errno));
118+ return NULL;
119+ }
120+
121+ fread(buf, sizeof(buf[1]), BOOT_PARAMS_SIZE, fp);
122+ if (ferror(fp)) {
123+ fprintf(stderr, "Cannot read %s: %s\n",
124+ fn, strerror(errno));
125+ fclose(fp);
126+ return NULL;
127+ }
128+
129+ fclose(fp);
130+ return (struct tag *) buf;
131+}
132+
133+
134+static
135+int atag_arm_load(struct kexec_info *info, unsigned long base,
136+ const char *command_line, off_t command_line_len,
137+ const char *initrd, off_t initrd_len)
138+{
139+ struct tag *saved_tags = atag_read_tags();
140+ char *buf;
141+ off_t len;
142+ struct tag *params;
143+ uint32_t *initrd_start;
144+
145+ buf = xmalloc(getpagesize());
146+ if (!buf) {
147+ fprintf(stderr, "Compiling ATAGs: out of memory\n");
148+ return -1;
149+ }
150+
151+ memset(buf, 0xff, getpagesize());
152+ params = (struct tag *)buf;
153+
154+ if (saved_tags) {
155+ // Copy tags
156+ saved_tags = (struct tag *) saved_tags;
157+ while(byte_size(saved_tags)) {
158+ switch (saved_tags->hdr.tag) {
159+ case ATAG_INITRD:
160+ case ATAG_INITRD2:
161+ case ATAG_CMDLINE:
162+ case ATAG_NONE:
163+ // skip these tags
164+ break;
165+ default:
166+ // copy all other tags
167+ memcpy(params, saved_tags, byte_size(saved_tags));
168+ params = tag_next(params);
169+ }
170+ saved_tags = tag_next(saved_tags);
171+ }
172+ } else {
173+ params->hdr.size = 2;
174+ params->hdr.tag = ATAG_CORE;
175+ params = tag_next(params);
176+ }
177+
178+ if (initrd) {
179+ params->hdr.size = tag_size(tag_initrd);
180+ params->hdr.tag = ATAG_INITRD2;
181+ initrd_start = &params->u.initrd.start;
182+ params->u.initrd.size = initrd_len;
183+ params = tag_next(params);
184+ }
185+
186+ if (command_line) {
187+ params->hdr.size = (sizeof(struct tag_header) + command_line_len + 3) >> 2;
188+ params->hdr.tag = ATAG_CMDLINE;
189+ memcpy(params->u.cmdline.cmdline, command_line,
190+ command_line_len);
191+ params->u.cmdline.cmdline[command_line_len - 1] = '\0';
192+ params = tag_next(params);
193+ }
194+
195+ params->hdr.size = 0;
196+ params->hdr.tag = ATAG_NONE;
197+
198+ len = ((char *)params - buf) + sizeof(struct tag_header);
199+
200+ add_segment(info, buf, len, base, len);
201+
202+ if (initrd) {
203+ struct memory_range *range;
204+ int ranges;
205+ get_memory_ranges(&range, &ranges);
206+ *initrd_start = locate_hole(info, initrd_len, getpagesize(), range[0].start + 0x800000, ULONG_MAX, INT_MAX);
207+ if (*initrd_start == ULONG_MAX)
208+ return -1;
209+ add_segment(info, initrd, initrd_len, *initrd_start, initrd_len);
210+ }
211+
212+ return 0;
213+}
214+
215+int zImage_arm_load(int argc, char **argv, const char *buf, off_t len,
216 struct kexec_info *info)
217 {
218 unsigned long base;
219- unsigned int offset = 0x8000; /* 32k offset from memory start */
220+ unsigned int atag_offset = 0x1000; /* 4k offset from memory start */
221+ unsigned int offset = 0x8000; /* 32k offset from memory start */
222+ const char *command_line;
223+ off_t command_line_len;
224+ const char *ramdisk;
225+ char *ramdisk_buf;
226+ off_t ramdisk_length;
227+ int opt;
228+#define OPT_APPEND 'a'
229+#define OPT_RAMDISK 'r'
230+ static const struct option options[] = {
231+ KEXEC_ARCH_OPTIONS
232+ { "command-line", 1, 0, OPT_APPEND },
233+ { "append", 1, 0, OPT_APPEND },
234+ { "initrd", 1, 0, OPT_RAMDISK },
235+ { "ramdisk", 1, 0, OPT_RAMDISK },
236+ { 0, 0, 0, 0 },
237+ };
238+ static const char short_options[] = KEXEC_ARCH_OPT_STR "a:r:";
239+
240+ /*
241+ * Parse the command line arguments
242+ */
243+ command_line = 0;
244+ command_line_len = 0;
245+ ramdisk = 0;
246+ ramdisk_buf = 0;
247+ ramdisk_length = 0;
248+ while((opt = getopt_long(argc, argv, short_options, options, 0)) != -1) {
249+ switch(opt) {
250+ default:
251+ /* Ignore core options */
252+ if (opt < OPT_ARCH_MAX) {
253+ break;
254+ }
255+ case '?':
256+ usage();
257+ return -1;
258+ case OPT_APPEND:
259+ command_line = optarg;
260+ break;
261+ case OPT_RAMDISK:
262+ ramdisk = optarg;
263+ break;
264+ }
265+ }
266+ if (command_line) {
267+ command_line_len = strlen(command_line) + 1;
268+ if (command_line_len > COMMAND_LINE_SIZE)
269+ command_line_len = COMMAND_LINE_SIZE;
270+ }
271+ if (ramdisk) {
272+ ramdisk_buf = slurp_file(ramdisk, &ramdisk_length);
273+ }
274+
275 base = locate_hole(info,len+offset,0,0,ULONG_MAX,INT_MAX);
276 if (base == ULONG_MAX)
277- {
278 return -1;
279- }
280- base += offset;
281- add_segment(info,buf,len,base,len);
282- info->entry = (void*)base;
283+
284+ if (atag_arm_load(info, base + atag_offset,
285+ command_line, command_line_len,
286+ ramdisk_buf, ramdisk_length) == -1)
287+ return -1;
288+
289+ add_segment(info, buf, len, base + offset, len);
290+
291+ info->entry = (void*)base + offset;
292+
293 return 0;
294 }
diff --git a/meta/packages/kexec/kexec-tools-1.101/kexec-tools-arm.patch b/meta/packages/kexec/kexec-tools-1.101/kexec-tools-arm.patch
deleted file mode 100644
index 6e43b76096..0000000000
--- a/meta/packages/kexec/kexec-tools-1.101/kexec-tools-arm.patch
+++ /dev/null
@@ -1,417 +0,0 @@
1Index: kexec-tools-1.101/kexec/arch/arm/include/arch/options.h
2===================================================================
3--- /dev/null 1970-01-01 00:00:00.000000000 +0000
4+++ kexec-tools-1.101/kexec/arch/arm/include/arch/options.h 2006-02-06 18:28:37.027097280 +0100
5@@ -0,0 +1,11 @@
6+#ifndef KEXEC_ARCH_ARM_OPTIONS_H
7+#define KEXEC_ARCH_ARM_OPTIONS_H
8+
9+#define OPT_ARCH_MAX (OPT_MAX+0)
10+
11+#define KEXEC_ARCH_OPTIONS \
12+ KEXEC_OPTIONS \
13+
14+#define KEXEC_ARCH_OPT_STR KEXEC_OPT_STR ""
15+
16+#endif /* KEXEC_ARCH_ARM_OPTIONS_H */
17Index: kexec-tools-1.101/kexec/arch/arm/kexec-arm.c
18===================================================================
19--- /dev/null 1970-01-01 00:00:00.000000000 +0000
20+++ kexec-tools-1.101/kexec/arch/arm/kexec-arm.c 2006-02-06 18:28:37.027097280 +0100
21@@ -0,0 +1,138 @@
22+/*
23+ * kexec: Linux boots Linux
24+ *
25+ * modified from kexec-ppc.c
26+ *
27+ */
28+
29+#define _GNU_SOURCE
30+#include <stddef.h>
31+#include <stdio.h>
32+#include <errno.h>
33+#include <stdint.h>
34+#include <string.h>
35+#include <getopt.h>
36+#include <sys/utsname.h>
37+#include "../../kexec.h"
38+#include "../../kexec-syscall.h"
39+#include "kexec-arm.h"
40+#include <arch/options.h>
41+
42+#define MAX_MEMORY_RANGES 64
43+#define MAX_LINE 160
44+static struct memory_range memory_range[MAX_MEMORY_RANGES];
45+
46+/* Return a sorted list of available memory ranges. */
47+int get_memory_ranges(struct memory_range **range, int *ranges)
48+{
49+ const char iomem[]= "/proc/iomem";
50+ int memory_ranges = 0;
51+ char line[MAX_LINE];
52+ FILE *fp;
53+ fp = fopen(iomem, "r");
54+ if (!fp) {
55+ fprintf(stderr, "Cannot open %s: %s\n",
56+ iomem, strerror(errno));
57+ return -1;
58+ }
59+
60+ while(fgets(line, sizeof(line), fp) != 0) {
61+ unsigned long long start, end;
62+ char *str;
63+ int type;
64+ int consumed;
65+ int count;
66+ if (memory_ranges >= MAX_MEMORY_RANGES)
67+ break;
68+ count = sscanf(line, "%Lx-%Lx : %n",
69+ &start, &end, &consumed);
70+ if (count != 2)
71+ continue;
72+ str = line + consumed;
73+ end = end + 1;
74+
75+ if (memcmp(str, "System RAM\n", 11) == 0) {
76+ type = RANGE_RAM;
77+ }
78+ else if (memcmp(str, "reserved\n", 9) == 0) {
79+ type = RANGE_RESERVED;
80+ }
81+ else {
82+ continue;
83+ }
84+
85+ memory_range[memory_ranges].start = start;
86+ memory_range[memory_ranges].end = end;
87+ memory_range[memory_ranges].type = type;
88+ memory_ranges++;
89+ }
90+ fclose(fp);
91+ *range = memory_range;
92+ *ranges = memory_ranges;
93+ return 0;
94+}
95+
96+/* Supported file types and callbacks */
97+struct file_type file_type[] = {
98+ {"zImage", zImage_arm_probe, zImage_arm_load, zImage_arm_usage},
99+};
100+int file_types = sizeof(file_type) / sizeof(file_type[0]);
101+
102+
103+void arch_usage(void)
104+{
105+}
106+
107+static struct {
108+} arch_options = {
109+};
110+int arch_process_options(int argc, char **argv)
111+{
112+ static const struct option options[] = {
113+ KEXEC_ARCH_OPTIONS
114+ { 0, 0, NULL, 0 },
115+ };
116+ static const char short_options[] = KEXEC_ARCH_OPT_STR;
117+ int opt;
118+ unsigned long value;
119+ char *end;
120+
121+ opterr = 0; /* Don't complain about unrecognized options here */
122+ while((opt = getopt_long(argc, argv, short_options, options, 0)) != -1) {
123+ switch(opt) {
124+ default:
125+ break;
126+ }
127+ }
128+ /* Reset getopt for the next pass; called in other source modules */
129+ opterr = 1;
130+ optind = 1;
131+ return 0;
132+}
133+
134+int arch_compat_trampoline(struct kexec_info *info, unsigned long *flags)
135+{
136+ int result;
137+ struct utsname utsname;
138+ result = uname(&utsname);
139+ if (result < 0) {
140+ fprintf(stderr, "uname failed: %s\n",
141+ strerror(errno));
142+ return -1;
143+ }
144+ if (strncmp(utsname.machine, "arm",3) == 0)
145+ {
146+ *flags |= KEXEC_ARCH_ARM;
147+ }
148+ else {
149+ fprintf(stderr, "Unsupported machine type: %s\n",
150+ utsname.machine);
151+ return -1;
152+ }
153+ return 0;
154+}
155+
156+void arch_update_purgatory(struct kexec_info *info)
157+{
158+}
159+
160Index: kexec-tools-1.101/kexec/arch/arm/kexec-arm.h
161===================================================================
162--- /dev/null 1970-01-01 00:00:00.000000000 +0000
163+++ kexec-tools-1.101/kexec/arch/arm/kexec-arm.h 2006-02-06 18:28:37.028097128 +0100
164@@ -0,0 +1,9 @@
165+#ifndef KEXEC_ARM_H
166+#define KEXEC_ARM_H
167+
168+int zImage_arm_probe(const char *buf, off_t len);
169+int zImage_arm_load(int argc, char **argv, const char *buf, off_t len,
170+ struct kexec_info *info);
171+void zImage_arm_usage(void);
172+
173+#endif /* KEXEC_ARM_H */
174Index: kexec-tools-1.101/kexec/arch/arm/kexec-elf-rel-arm.c
175===================================================================
176--- /dev/null 1970-01-01 00:00:00.000000000 +0000
177+++ kexec-tools-1.101/kexec/arch/arm/kexec-elf-rel-arm.c 2006-02-06 18:28:37.028097128 +0100
178@@ -0,0 +1,35 @@
179+#include <stdio.h>
180+#include <elf.h>
181+#include "../../kexec.h"
182+#include "../../kexec-elf.h"
183+
184+int machine_verify_elf_rel(struct mem_ehdr *ehdr)
185+{
186+ if (ehdr->ei_data != ELFDATA2MSB) {
187+ return 0;
188+ }
189+ if (ehdr->ei_class != ELFCLASS32) {
190+ return 0;
191+ }
192+ if (ehdr->e_machine != EM_ARM)
193+ {
194+ return 0;
195+ }
196+ return 1;
197+}
198+
199+void machine_apply_elf_rel(struct mem_ehdr *ehdr, unsigned long r_type,
200+ void *location, unsigned long address, unsigned long value)
201+{
202+ switch(r_type) {
203+ case R_ARM_ABS32:
204+ *((uint32_t *)location) += value;
205+ break;
206+ case R_ARM_REL32:
207+ *((uint32_t *)location) += value - address;
208+ break;
209+ default:
210+ die("Unknown rel relocation: %lu\n", r_type);
211+ break;
212+ }
213+}
214Index: kexec-tools-1.101/kexec/arch/arm/kexec-zImage-arm.c
215===================================================================
216--- /dev/null 1970-01-01 00:00:00.000000000 +0000
217+++ kexec-tools-1.101/kexec/arch/arm/kexec-zImage-arm.c 2006-02-06 18:28:37.028097128 +0100
218@@ -0,0 +1,34 @@
219+#define _GNU_SOURCE
220+#include <stdio.h>
221+#include <string.h>
222+#include <stdlib.h>
223+#include <errno.h>
224+#include <limits.h>
225+#include "../../kexec.h"
226+
227+int zImage_arm_probe(const char *buf, off_t len)
228+{
229+ /*
230+ * Only zImage loading is supported. Do not check if
231+ * the buffer is valid kernel image
232+ */
233+ return 0;
234+}
235+void zImage_arm_usage(void)
236+{
237+}
238+int zImage_arm_load(int argc, char **argv, const char *buf, off_t len,
239+ struct kexec_info *info)
240+{
241+ unsigned long base;
242+ unsigned int offset = 0x8000; /* 32k offset from memory start */
243+ base = locate_hole(info,len+offset,0,0,ULONG_MAX,INT_MAX);
244+ if (base == ULONG_MAX)
245+ {
246+ return -1;
247+ }
248+ base += offset;
249+ add_segment(info,buf,len,base,len);
250+ info->entry = (void*)base;
251+ return 0;
252+}
253Index: kexec-tools-1.101/kexec/arch/arm/Makefile
254===================================================================
255--- /dev/null 1970-01-01 00:00:00.000000000 +0000
256+++ kexec-tools-1.101/kexec/arch/arm/Makefile 2006-02-06 18:28:37.028097128 +0100
257@@ -0,0 +1,8 @@
258+#
259+# kexec arm (linux booting linux)
260+#
261+KEXEC_C_SRCS+= kexec/arch/arm/kexec-elf-rel-arm.c
262+KEXEC_C_SRCS+= kexec/arch/arm/kexec-zImage-arm.c
263+KEXEC_C_SRCS+= kexec/arch/arm/kexec-arm.c
264+
265+KEXEC_S_SRCS+=
266Index: kexec-tools-1.101/kexec/kexec.c
267===================================================================
268--- kexec-tools-1.101.orig/kexec/kexec.c 2005-01-13 14:24:29.000000000 +0100
269+++ kexec-tools-1.101/kexec/kexec.c 2006-02-06 18:28:37.029096976 +0100
270@@ -187,7 +187,7 @@
271 }
272
273 /* Compute the free memory ranges */
274- max_mem_ranges = memory_ranges + (info->nr_segments -1);
275+ max_mem_ranges = memory_ranges + (info->nr_segments);
276 mem_range = malloc(max_mem_ranges *sizeof(struct memory_range));
277 mem_ranges = 0;
278
279Index: kexec-tools-1.101/kexec/kexec-syscall.h
280===================================================================
281--- kexec-tools-1.101.orig/kexec/kexec-syscall.h 2005-01-06 07:59:50.000000000 +0100
282+++ kexec-tools-1.101/kexec/kexec-syscall.h 2006-02-06 18:28:37.029096976 +0100
283@@ -37,6 +37,9 @@
284 #ifdef __x86_64__
285 #define __NR_kexec_load 246
286 #endif
287+#ifdef __arm__
288+#define __NR_kexec_load __NR_SYSCALL_BASE + 347
289+#endif
290 #ifndef __NR_kexec_load
291 #error Unknown processor architecture. Needs a kexec_load syscall number.
292 #endif
293@@ -67,6 +70,7 @@
294 #define KEXEC_ARCH_PPC (20 << 16)
295 #define KEXEC_ARCH_PPC64 (21 << 16)
296 #define KEXEC_ARCH_IA_64 (50 << 16)
297+#define KEXEC_ARCH_ARM (40 << 16)
298
299 #define KEXEC_MAX_SEGMENTS 8
300
301Index: kexec-tools-1.101/purgatory/arch/arm/include/limits.h
302===================================================================
303--- /dev/null 1970-01-01 00:00:00.000000000 +0000
304+++ kexec-tools-1.101/purgatory/arch/arm/include/limits.h 2006-02-06 18:28:37.031096672 +0100
305@@ -0,0 +1,58 @@
306+#ifndef LIMITS_H
307+#define LIMITS_H 1
308+
309+
310+/* Number of bits in a `char' */
311+#define CHAR_BIT 8
312+
313+/* Minimum and maximum values a `signed char' can hold */
314+#define SCHAR_MIN (-128)
315+#define SCHAR_MAX 127
316+
317+/* Maximum value an `unsigned char' can hold. (Minimum is 0.) */
318+#define UCHAR_MAX 255
319+
320+/* Minimum and maximum values a `char' can hold */
321+#define CHAR_MIN SCHAR_MIN
322+#define CHAR_MAX SCHAR_MAX
323+
324+/* Minimum and maximum values a `signed short int' can hold */
325+#define SHRT_MIN (-32768)
326+#define SHRT_MAX 32767
327+
328+/* Maximum value an `unsigned short' can hold. (Minimum is 0.) */
329+#define USHRT_MAX 65535
330+
331+
332+/* Minimum and maximum values a `signed int' can hold */
333+#define INT_MIN (-INT_MAX - 1)
334+#define INT_MAX 2147483647
335+
336+/* Maximum value an `unsigned int' can hold. (Minimum is 0.) */
337+#define UINT_MAX 4294967295U
338+
339+
340+/* Minimum and maximum values a `signed int' can hold */
341+#define INT_MIN (-INT_MAX - 1)
342+#define INT_MAX 2147483647
343+
344+/* Maximum value an `unsigned int' can hold. (Minimum is 0.) */
345+#define UINT_MAX 4294967295U
346+
347+/* Minimum and maximum values a `signed long' can hold */
348+#define LONG_MAX 2147483647L
349+#define LONG_MIN (-LONG_MAX - 1L)
350+
351+/* Maximum value an `unsigned long' can hold. (Minimum is 0.) */
352+#define ULONG_MAX 4294967295UL
353+
354+/* Minimum and maximum values a `signed long long' can hold */
355+#define LLONG_MAX 9223372036854775807LL
356+#define LLONG_MIN (-LONG_MAX - 1LL)
357+
358+
359+/* Maximum value an `unsigned long long' can hold. (Minimum is 0.) */
360+#define ULLONG_MAX 18446744073709551615ULL
361+
362+
363+#endif /* LIMITS_H */
364Index: kexec-tools-1.101/purgatory/arch/arm/include/stdint.h
365===================================================================
366--- /dev/null 1970-01-01 00:00:00.000000000 +0000
367+++ kexec-tools-1.101/purgatory/arch/arm/include/stdint.h 2006-02-06 18:28:37.031096672 +0100
368@@ -0,0 +1,16 @@
369+#ifndef STDINT_H
370+#define STDINT_H
371+
372+typedef unsigned long size_t;
373+
374+typedef unsigned char uint8_t;
375+typedef unsigned short uint16_t;
376+typedef unsigned int uint32_t;
377+typedef unsigned long long uint64_t;
378+
379+typedef signed char int8_t;
380+typedef signed short int16_t;
381+typedef signed int int32_t;
382+typedef signed long long int64_t;
383+
384+#endif /* STDINT_H */
385Index: kexec-tools-1.101/purgatory/arch/arm/Makefile
386===================================================================
387--- /dev/null 1970-01-01 00:00:00.000000000 +0000
388+++ kexec-tools-1.101/purgatory/arch/arm/Makefile 2006-02-06 18:28:37.031096672 +0100
389@@ -0,0 +1,7 @@
390+#
391+# Purgatory arm
392+#
393+
394+PURGATORY_S_SRCS +=
395+PURGATORY_C_SRCS +=
396+
397Index: kexec-tools-1.101/configure.ac
398===================================================================
399--- kexec-tools-1.101.orig/configure.ac 2005-01-09 02:36:57.000000000 +0100
400+++ kexec-tools-1.101/configure.ac 2006-02-06 18:30:19.274553304 +0100
401@@ -25,12 +25,15 @@
402 powerpc )
403 host_cpu="ppc"
404 ;;
405+ arm* )
406+ host_cpu="arm"
407+ ;;
408 * )
409 host_cpu="$host_cpu"
410 ;;
411 esac
412 case $host_cpu in
413- i386|ppc|x86_64|alpha|ppc64|ia64)
414+ i386|ppc|x86_64|alpha|ppc64|ia64|arm)
415 ;;
416 * )
417 AC_MSG_ERROR([ unsupported architecture $host_cpu])
diff --git a/meta/packages/kexec/kexec-tools-1.101/recentheader.patch b/meta/packages/kexec/kexec-tools-1.101/recentheader.patch
deleted file mode 100644
index b0a1a049eb..0000000000
--- a/meta/packages/kexec/kexec-tools-1.101/recentheader.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1Index: kexec-tools-1.101/kexec/arch/i386/kexec-multiboot-x86.c
2===================================================================
3--- kexec-tools-1.101.orig/kexec/arch/i386/kexec-multiboot-x86.c 2009-06-12 12:09:04.000000000 +0100
4+++ kexec-tools-1.101/kexec/arch/i386/kexec-multiboot-x86.c 2009-06-12 12:09:44.000000000 +0100
5@@ -47,7 +47,6 @@
6 #include <getopt.h>
7 #include <elf.h>
8 #include <boot/elf_boot.h>
9-#include <asm/page.h>
10 #include <ip_checksum.h>
11 #include "../../kexec.h"
12 #include "../../kexec-elf.h"
13@@ -341,7 +340,7 @@
14 /* Pick the next aligned spot to load it in */
15 freespace = add_buffer(info,
16 buf, mod_size, mod_size,
17- PAGE_SIZE, 0, 0xffffffffUL, 1);
18+ getpagesize(), 0, 0xffffffffUL, 1);
19
20 /* Add the module command line */
21 sprintf(mod_clp, "%s", mod_command_line);
22Index: kexec-tools-1.101/kexec/arch/arm/kexec-zImage-arm.c
23===================================================================
24--- kexec-tools-1.101.orig/kexec/arch/arm/kexec-zImage-arm.c 2009-07-07 13:24:17.000000000 +0100
25+++ kexec-tools-1.101/kexec/arch/arm/kexec-zImage-arm.c 2009-07-07 13:24:56.000000000 +0100
26@@ -11,7 +11,7 @@
27 #include <stdint.h>
28 #include <getopt.h>
29 #include <arch/options.h>
30-#include <asm/page.h>
31+#include <unistd.h>
32 #include "../../kexec.h"
33
34 #define COMMAND_LINE_SIZE 1024
diff --git a/meta/packages/kexec/kexec-tools-1.101/configurefix.patch b/meta/packages/kexec/kexec-tools-2.0.1/configurefix.patch
index 60c55f08e9..1f0b507731 100644
--- a/meta/packages/kexec/kexec-tools-1.101/configurefix.patch
+++ b/meta/packages/kexec/kexec-tools-2.0.1/configurefix.patch
@@ -1,3 +1,9 @@
1kexec-tools: Fix synatx error with recent autoconf+automake
2
3Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
4
5Move it to kexec-tools-2.0.1 directory. Dongxiao Xu <dongxiao.xu@intel.com>
6
1Index: kexec-tools-1.101/configure.ac 7Index: kexec-tools-1.101/configure.ac
2=================================================================== 8===================================================================
3--- kexec-tools-1.101.orig/configure.ac 2010-02-02 15:14:43.173906722 +0000 9--- kexec-tools-1.101.orig/configure.ac 2010-02-02 15:14:43.173906722 +0000
diff --git a/meta/packages/kexec/kexec-tools.inc b/meta/packages/kexec/kexec-tools.inc
index 8b8c70af67..1b28618414 100644
--- a/meta/packages/kexec/kexec-tools.inc
+++ b/meta/packages/kexec/kexec-tools.inc
@@ -1,16 +1,15 @@
1DESCRIPTION = "Kexec is a fast reboot feature that lets you reboot to a new Linux kernel" 1DESCRIPTION = "Kexec is a fast reboot feature that lets you reboot to a new Linux kernel"
2AUTHOR = "Eric Biederman" 2AUTHOR = "Eric Biederman"
3HOMEPAGE = "http://www.xmission.com/~ebiederm/files/kexec/" 3HOMEPAGE = "http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools/"
4SECTION = "kernel/userland" 4SECTION = "kernel/userland"
5LICENSE = "GPL" 5LICENSE = "GPLv2"
6LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a \
7 file://kexec/kexec.c;beginline=1;endline=20;md5=af10f6ae4a8715965e648aa687ad3e09"
6DEPENDS = "virtual/kernel zlib" 8DEPENDS = "virtual/kernel zlib"
7 9
10SRC_URI = "http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools//kexec-tools-${PV}.tar.gz \
11 file://configurefix.patch;patch=1"
12
8inherit autotools 13inherit autotools
9 14
10COMPATIBLE_HOST = '(x86_64|i.86.*|arm.*)-(linux|freebsd.*)' 15COMPATIBLE_HOST = '(x86_64|i.86.*|arm.*)-(linux|freebsd.*)'
11
12SRC_URI = "http://www.xmission.com/~ebiederm/files/kexec/kexec-tools-${PV}.tar.gz \
13 file://kexec-tools-arm.patch;patch=1 \
14 file://kexec-arm-atags.patch;patch=1 \
15 file://recentheader.patch;patch=1 \
16 file://configurefix.patch;patch=1"
diff --git a/meta/packages/kexec/kexec-tools_1.101.bb b/meta/packages/kexec/kexec-tools_2.0.1.bb
index 949f22cf1f..758d3ec9fd 100644
--- a/meta/packages/kexec/kexec-tools_1.101.bb
+++ b/meta/packages/kexec/kexec-tools_2.0.1.bb
@@ -2,4 +2,4 @@ require kexec-tools.inc
2export LDFLAGS = "-L${STAGING_LIBDIR}" 2export LDFLAGS = "-L${STAGING_LIBDIR}"
3EXTRA_OECONF = " --with-zlib=yes" 3EXTRA_OECONF = " --with-zlib=yes"
4 4
5PR = "r8" 5PR = "r0"
diff --git a/meta/packages/less/less_418.bb b/meta/packages/less/less_436.bb
index d63e2c3290..872a127f43 100644
--- a/meta/packages/less/less_418.bb
+++ b/meta/packages/less/less_436.bb
@@ -3,10 +3,17 @@ based program for viewing text files and the output from other \
3programs. Less offers many features beyond those that more does." 3programs. Less offers many features beyond those that more does."
4HOMEPAGE = "http://www.greenwoodsoftware.com/" 4HOMEPAGE = "http://www.greenwoodsoftware.com/"
5SECTION = "console/utils" 5SECTION = "console/utils"
6LICENSE = "BSD" 6
7# (GPLv2+ (<< 418), GPLv3+ (>= 418)) | less
8# less is a 2-clause BSD-like permissive license
9LICENSE = "GPLv3+ | less"
10LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
11 file://LICENSE;md5=fd5ccf3de28f72a0254fa8768ec8180c"
7DEPENDS = "ncurses" 12DEPENDS = "ncurses"
13PR = "r0"
14
15SRC_URI = "http://www.greenwoodsoftware.com/${PN}/${PN}-${PV}.tar.gz"
8 16
9SRC_URI = "${GNU_MIRROR}/less/less-${PV}.tar.gz"
10 17
11inherit autotools update-alternatives 18inherit autotools update-alternatives
12 19
diff --git a/meta/packages/libfakekey/libfakekey_svn.bb b/meta/packages/libfakekey/libfakekey_svn.bb
index 479ef2cd37..cb835445bc 100644
--- a/meta/packages/libfakekey/libfakekey_svn.bb
+++ b/meta/packages/libfakekey/libfakekey_svn.bb
@@ -1,5 +1,9 @@
1DESCRIPTION = "Matchbox keyboard" 1DESCRIPTION = "Matchbox keyboard"
2LICENSE = "GPL" 2HOMEPAGE = "http://matchbox-project.org/"
3BUGTRACKER = "http://bugzilla.openedhand.com/"
4
5LICENSE = "LGPLv2+"
6
3DEPENDS = "libxtst" 7DEPENDS = "libxtst"
4SECTION = "x11/wm" 8SECTION = "x11/wm"
5PV = "0.0+svnr${SRCREV}" 9PV = "0.0+svnr${SRCREV}"
diff --git a/meta/packages/libglade/libglade_2.6.2.bb b/meta/packages/libglade/libglade_2.6.2.bb
index abb8e11504..3ff3630fca 100644
--- a/meta/packages/libglade/libglade_2.6.2.bb
+++ b/meta/packages/libglade/libglade_2.6.2.bb
@@ -1,5 +1,9 @@
1LICENSE = "LGPL"
2DESCRIPTION = "Runtime support for GTK interface builder" 1DESCRIPTION = "Runtime support for GTK interface builder"
2HOMEPAGE = "http://library.gnome.org/devel/libglade/"
3BUGTRACKER = "https://bugzilla.gnome.org/"
4
5LICENSE = "LGPLv2 & LGPLv2+"
6
3SECTION = "libs" 7SECTION = "libs"
4PRIORITY = "optional" 8PRIORITY = "optional"
5DEPENDS = "gtk+ gtk-doc-native" 9DEPENDS = "gtk+ gtk-doc-native"
diff --git a/meta/packages/libgpg-error/libgpg-error_1.6.bb b/meta/packages/libgpg-error/libgpg-error_1.6.bb
index c34100e25d..d5c6fe80b5 100644
--- a/meta/packages/libgpg-error/libgpg-error_1.6.bb
+++ b/meta/packages/libgpg-error/libgpg-error_1.6.bb
@@ -1,11 +1,10 @@
1DESCRIPTION = "GPG-Error library" 1DESCRIPTION = "GPG-Error library"
2SECTION = "libs" 2SECTION = "libs"
3PRIORITY = "optional" 3LICENSE = "GPLv2+ & LGPLv2.1+"
4LICENSE = "GPL LGPL FDL"
5DEPENDS = "gettext" 4DEPENDS = "gettext"
6 5
7SRC_URI = "ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-${PV}.tar.bz2 \ 6SRC_URI = "ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-${PV}.tar.bz2 \
8 file://pkgconfig.patch;patch=1" 7 file://pkgconfig.patch;"
9 8
10# move libgpg-error-config into -dev package 9# move libgpg-error-config into -dev package
11FILES_${PN} = "${libdir}/lib*.so.*" 10FILES_${PN} = "${libdir}/lib*.so.*"
diff --git a/meta/packages/libidn/libidn_0.5.19.bb b/meta/packages/libidn/libidn_0.5.19.bb
index cf5c6e1925..07cdb96470 100644
--- a/meta/packages/libidn/libidn_0.5.19.bb
+++ b/meta/packages/libidn/libidn_0.5.19.bb
@@ -1,7 +1,8 @@
1LICENSE = "LGPL"
2DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group." 1DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group."
2HOMEPAGE = "http://www.gnu.org/software/libidn/"
3SECTION = "libs" 3SECTION = "libs"
4PRIORITY = "optional" 4# change to GPLv3 for >1.0 version
5LICENSE = "LGPLv2.1+ & GPLv2+"
5PR = "r1" 6PR = "r1"
6 7
7inherit pkgconfig autotools gettext 8inherit pkgconfig autotools gettext
diff --git a/meta/packages/libnss-mdns/libnss-mdns_0.7.bb b/meta/packages/libnss-mdns/libnss-mdns_0.7.bb
index 04ee4d69de..46a9cd49fb 100644
--- a/meta/packages/libnss-mdns/libnss-mdns_0.7.bb
+++ b/meta/packages/libnss-mdns/libnss-mdns_0.7.bb
@@ -1,9 +1,10 @@
1DESCRIPTION = "NSS module for Multicast DNS name resolution" 1DESCRIPTION = "NSS module for Multicast DNS name resolution"
2HOMEPAGE = "http://0pointer.de/lennart/projects/nss-mdns/" 2HOMEPAGE = "http://0pointer.de/lennart/projects/nss-mdns/"
3LICENSE = "GPL"
4SECTION = "libs" 3SECTION = "libs"
5PRIORITY = "optional" 4PRIORITY = "optional"
6 5
6LICENSE = "LGPLv2.1+"
7
7PR = "r0" 8PR = "r0"
8 9
9EXTRA_OECONF = "--libdir=/lib" 10EXTRA_OECONF = "--libdir=/lib"
diff --git a/meta/packages/libpng/libpng_1.2.20.bb b/meta/packages/libpng/libpng_1.2.20.bb
index 8f727719b1..c6f9d2f649 100644
--- a/meta/packages/libpng/libpng_1.2.20.bb
+++ b/meta/packages/libpng/libpng_1.2.20.bb
@@ -1,13 +1,13 @@
1DESCRIPTION = "PNG Library" 1DESCRIPTION = "PNG Library"
2HOMEPAGE = "http://www.libpng.org/" 2HOMEPAGE = "http://www.libpng.org/"
3LICENSE = "libpng"
4SECTION = "libs" 3SECTION = "libs"
4LICENSE = "libpng"
5DEPENDS = "zlib" 5DEPENDS = "zlib"
6PRIORITY = "required" 6PRIORITY = "required"
7PR = "r9" 7PR = "r9"
8 8
9SRC_URI = "${SOURCEFORGE_MIRROR}/libpng/libpng-${PV}.tar.bz2 \ 9SRC_URI = "${SOURCEFORGE_MIRROR}/libpng/libpng-${PV}.tar.bz2 \
10 file://makefile_fix.patch;patch=1" 10 file://makefile_fix.patch"
11 11
12inherit autotools binconfig pkgconfig pkgconfig_stage 12inherit autotools binconfig pkgconfig pkgconfig_stage
13 13
@@ -24,9 +24,9 @@ do_install() {
24} 24}
25 25
26python do_package() { 26python do_package() {
27 if bb.data.getVar('DEBIAN_NAMES', d, 1): 27 if bb.data.getVar('DEBIAN_NAMES', d, 1):
28 bb.data.setVar('PKG_${PN}', 'libpng12', d) 28 bb.data.setVar('PKG_${PN}', 'libpng12', d)
29 bb.build.exec_func('package_do_package', d) 29 bb.build.exec_func('package_do_package', d)
30} 30}
31 31
32PACKAGES =+ "${PN}12-dbg ${PN}12 ${PN}12-dev" 32PACKAGES =+ "${PN}12-dbg ${PN}12 ${PN}12-dev"
diff --git a/meta/packages/libproxy/libproxy_0.2.3.bb b/meta/packages/libproxy/libproxy_0.2.3.bb
index f6a6198a90..8c5ca42ab8 100644
--- a/meta/packages/libproxy/libproxy_0.2.3.bb
+++ b/meta/packages/libproxy/libproxy_0.2.3.bb
@@ -1,6 +1,8 @@
1DESCRIPTION = "A library that provides automatic proxy configuration management" 1DESCRIPTION = "A library that provides automatic proxy configuration management"
2HOMEPAGE = "http://code.google.com/p/libproxy/" 2HOMEPAGE = "http://code.google.com/p/libproxy/"
3LICENSE = "LGPL" 3BUGTRACKER = "http://code.google.com/p/libproxy/issues/list"
4LICENSE = "LGPLv2.1+"
5
4SECTION = "libs" 6SECTION = "libs"
5 7
6DEPENDS = "virtual/libx11 xmu gconf-dbus" 8DEPENDS = "virtual/libx11 xmu gconf-dbus"
@@ -13,4 +15,4 @@ inherit autotools pkgconfig
13 15
14EXTRA_OECONF = "--without-kde --with-gnome --without-webkit --without-python --without-mozjs --without-networkmanager" 16EXTRA_OECONF = "--without-kde --with-gnome --without-webkit --without-python --without-mozjs --without-networkmanager"
15 17
16FILES_${PN}-dbg += "${libdir}/libproxy/0.2.3/plugins/" \ No newline at end of file 18FILES_${PN}-dbg += "${libdir}/libproxy/0.2.3/plugins/"
diff --git a/meta/packages/librsvg/librsvg_svn.bb b/meta/packages/librsvg/librsvg_svn.bb
index a49e7faa26..e14e117ef6 100644
--- a/meta/packages/librsvg/librsvg_svn.bb
+++ b/meta/packages/librsvg/librsvg_svn.bb
@@ -1,7 +1,10 @@
1DESCRIPTION = "Library for rendering SVG files" 1DESCRIPTION = "Library for rendering SVG files"
2HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/sources/librsvg/"
3BUGTRACKER = "https://bugzilla.gnome.org/"
4
2SECTION = "x11/utils" 5SECTION = "x11/utils"
3DEPENDS = "gtk+ libcroco cairo libxml2 popt" 6DEPENDS = "gtk+ libcroco cairo libxml2 popt"
4LICENSE = "LGPL" 7LICENSE = "LGPLv2+"
5PR = "r3" 8PR = "r3"
6 9
7EXTRA_OECONF = "--disable-mozilla-plugin --without-svgz --without-croco --disable-gnome-vfs" 10EXTRA_OECONF = "--disable-mozilla-plugin --without-svgz --without-croco --disable-gnome-vfs"
diff --git a/meta/packages/libsoup/libsoup-2.4_2.25.91.bb b/meta/packages/libsoup/libsoup-2.4_2.25.91.bb
index 5229e28f26..c0969ffd68 100644
--- a/meta/packages/libsoup/libsoup-2.4_2.25.91.bb
+++ b/meta/packages/libsoup/libsoup-2.4_2.25.91.bb
@@ -1,5 +1,9 @@
1DESCRIPTION = "An HTTP library implementation in C" 1DESCRIPTION = "An HTTP library implementation in C"
2LICENSE = "GPL" 2HOMEPAGE = "http://www.gnome.org/"
3BUGTRACKER = "https://bugzilla.gnome.org/"
4
5LICENSE = "LGPLv2"
6
3SECTION = "x11/gnome/libs" 7SECTION = "x11/gnome/libs"
4 8
5DEPENDS = "glib-2.0 gnutls libxml2 libproxy sqlite3" 9DEPENDS = "glib-2.0 gnutls libxml2 libproxy sqlite3"
diff --git a/meta/packages/libusb/libusb-compat_0.0.9+0.1.0-beta2.bb b/meta/packages/libusb/libusb-compat_0.0.9+0.1.0-beta2.bb
index 6564d6c6ad..087fe3ada5 100644
--- a/meta/packages/libusb/libusb-compat_0.0.9+0.1.0-beta2.bb
+++ b/meta/packages/libusb/libusb-compat_0.0.9+0.1.0-beta2.bb
@@ -1,13 +1,14 @@
1DESCRIPTION = "libusb is a library to provide userspace \ 1DESCRIPTION = "libusb is a library to provide userspace \
2access to USB devices." 2access to USB devices."
3HOMEPAGE = "http://libusb.sf.net" 3HOMEPAGE = "http://www.libusb.org/"
4BUGTRACKER = "http://www.libusb.org/report"
4SECTION = "libs" 5SECTION = "libs"
5LICENSE = "LGPL" 6LICENSE = "LGPLv2.1+"
7DEPENDS = "libusb1"
6 8
7PE = "1" 9PE = "1"
8PR = "r0" 10PR = "r0"
9 11
10DEPENDS = "libusb1"
11 12
12SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-compat-0.1.0-beta2.tar.bz2 \ 13SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-compat-0.1.0-beta2.tar.bz2 \
13 file://0.1.0-beta1-gcc3.4-fix.patch;patch=1 \ 14 file://0.1.0-beta1-gcc3.4-fix.patch;patch=1 \
diff --git a/meta/packages/libxslt/libxslt_1.1.22.bb b/meta/packages/libxslt/libxslt_1.1.22.bb
index 6f368a51c1..ce6cca7f78 100644
--- a/meta/packages/libxslt/libxslt_1.1.22.bb
+++ b/meta/packages/libxslt/libxslt_1.1.22.bb
@@ -1,8 +1,12 @@
1DESCRIPTION = "GNOME XSLT library" 1DESCRIPTION = "GNOME XSLT library"
2HOMEPAGE = "http://xmlsoft.org/XSLT/"
3BUGTRACKER = "https://bugzilla.gnome.org/"
4
5LICENSE = "MIT"
6
2SECTION = "libs" 7SECTION = "libs"
3PRIORITY = "optional" 8PRIORITY = "optional"
4DEPENDS = "libxml2 (>=2.6.27)" 9DEPENDS = "libxml2 (>=2.6.27)"
5LICENSE = "MIT"
6PR = "r3" 10PR = "r3"
7 11
8SRC_URI = "ftp://xmlsoft.org/libxml2/libxslt-${PV}.tar.gz \ 12SRC_URI = "ftp://xmlsoft.org/libxml2/libxslt-${PV}.tar.gz \
diff --git a/meta/packages/linux-firmware/linux-firmware_git.bb b/meta/packages/linux-firmware/linux-firmware_git.bb
new file mode 100644
index 0000000000..81583fc40b
--- /dev/null
+++ b/meta/packages/linux-firmware/linux-firmware_git.bb
@@ -0,0 +1,34 @@
1DESCRIPTION = "Firmware files for use with Linux kernel"
2SECTION = "kernel"
3LICENSE = "Proprietary"
4LICENSE_${PN}-sd8686 = "Firmware:LICENSE.libertas"
5
6PROVIDES += "linux-firmware-sd8686"
7
8SRCREV = "85212bf6501da865e570f6b2f6fbd6f212850609"
9
10PV = "0.0+git${SRCREV}"
11
12SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git;protocol=git"
13
14S = "${WORKDIR}/git"
15
16do_compile() {
17 :
18}
19
20do_install() {
21 install -d ${D}/lib/firmware/
22 # Libertas sd8686
23 install -m 0666 libertas/sd8686_v9.bin ${D}/lib/firmware/sd8686.bin
24 install -m 0666 libertas/sd8686_v9_helper.bin ${D}/lib/firmware/sd8686_helper.bin
25 install -m 0666 LICENCE.libertas ${D}/lib/firmware/
26}
27
28PACKAGES = "${PN}-sd8686"
29
30FILES_${PN}-sd8686 = "/lib/firmware/sd8686* /lib/firmware/LICENCE.libertas"
31
32RPROVIDES_${PN}-sd8686 = "${PN}-sd8686"
33
34PACKAGE_ARCH = "all"
diff --git a/meta/packages/linux-libc-headers/files/unifdef.patch b/meta/packages/linux-libc-headers/files/unifdef.patch
deleted file mode 100644
index bda8860009..0000000000
--- a/meta/packages/linux-libc-headers/files/unifdef.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1Index: linux-2.6.20/scripts/unifdef.c
2===================================================================
3--- linux-2.6.20.orig/scripts/unifdef.c
4+++ linux-2.6.20/scripts/unifdef.c
5@@ -206,7 +206,7 @@ static void done(void);
6 static void error(const char *);
7 static int findsym(const char *);
8 static void flushline(bool);
9-static Linetype getline(void);
10+static Linetype parseline(void);
11 static Linetype ifeval(const char **);
12 static void ignoreoff(void);
13 static void ignoreon(void);
14@@ -512,7 +512,7 @@ process(void)
15
16 for (;;) {
17 linenum++;
18- lineval = getline();
19+ lineval = parseline();
20 trans_table[ifstate[depth]][lineval]();
21 debug("process %s -> %s depth %d",
22 linetype_name[lineval],
23@@ -526,7 +526,7 @@ process(void)
24 * help from skipcomment().
25 */
26 static Linetype
27-getline(void)
28+parseline(void)
29 {
30 const char *cp;
31 int cursym;
diff --git a/meta/packages/linux-libc-headers/linux-libc-headers-2.6.20/procinfo.h b/meta/packages/linux-libc-headers/linux-libc-headers-2.6.20/procinfo.h
deleted file mode 100644
index 8cdf828af8..0000000000
--- a/meta/packages/linux-libc-headers/linux-libc-headers-2.6.20/procinfo.h
+++ /dev/null
@@ -1,24 +0,0 @@
1/*
2 * linux/include/asm-arm/procinfo.h
3 *
4 * Copyright (C) 1996-1999 Russell King
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10#ifndef __ASM_PROCINFO_H
11#define __ASM_PROCINFO_H
12
13#define HWCAP_SWP 1
14#define HWCAP_HALF 2
15#define HWCAP_THUMB 4
16#define HWCAP_26BIT 8 /* Play it safe */
17#define HWCAP_FAST_MULT 16
18#define HWCAP_FPA 32
19#define HWCAP_VFP 64
20#define HWCAP_EDSP 128
21#define HWCAP_JAVA 256
22#define HWCAP_IWMMXT 512
23#define HWCAP_CRUNCH 1024
24#endif
diff --git a/meta/packages/linux-libc-headers/linux-libc-headers-2.6.30/headerfix.patch b/meta/packages/linux-libc-headers/linux-libc-headers-2.6.30/headerfix.patch
deleted file mode 100644
index b2ebf40632..0000000000
--- a/meta/packages/linux-libc-headers/linux-libc-headers-2.6.30/headerfix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
1Index: linux-2.6.30/include/linux/if_tunnel.h
2===================================================================
3--- linux-2.6.30.orig/include/linux/if_tunnel.h 2009-08-27 14:34:49.000000000 +0100
4+++ linux-2.6.30/include/linux/if_tunnel.h 2009-08-27 14:35:04.000000000 +0100
5@@ -2,6 +2,7 @@
6 #define _IF_TUNNEL_H_
7
8 #include <linux/types.h>
9+#include <asm/byteorder.h>
10
11 #ifdef __KERNEL__
12 #include <linux/ip.h>
diff --git a/meta/packages/linux-libc-headers/linux-libc-headers.inc b/meta/packages/linux-libc-headers/linux-libc-headers.inc
index 1f567ca1d1..e6cb1d8669 100644
--- a/meta/packages/linux-libc-headers/linux-libc-headers.inc
+++ b/meta/packages/linux-libc-headers/linux-libc-headers.inc
@@ -1,6 +1,9 @@
1DESCRIPTION = "Sanitized set of 2.6 kernel headers for the C library's use." 1DESCRIPTION = "Sanitized set of 2.6 kernel headers for the C library's use."
2SECTION = "devel" 2SECTION = "devel"
3LICENSE = "GPL" 3LICENSE = "GPLv2"
4
5LIC_CHKSUM_FILES = "file://COPYING "
6SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2"
4 7
5#DEPENDS = "cross-linkage" 8#DEPENDS = "cross-linkage"
6RDEPENDS_${PN}-dev = "" 9RDEPENDS_${PN}-dev = ""
diff --git a/meta/packages/linux-libc-headers/linux-libc-headers-2.6.33/hayes-gone.patch b/meta/packages/linux-libc-headers/linux-libc-headers/hayes-gone.patch
index dc6338a952..719c320202 100644
--- a/meta/packages/linux-libc-headers/linux-libc-headers-2.6.33/hayes-gone.patch
+++ b/meta/packages/linux-libc-headers/linux-libc-headers/hayes-gone.patch
@@ -2,10 +2,13 @@
2# configuration are no longer needed, and they break setserial by making it 2# configuration are no longer needed, and they break setserial by making it
3# believe that it should compile in the code that supports this modem. 3# believe that it should compile in the code that supports this modem.
4 4
5Index: linux-2.6.33/include/asm-generic/ioctls.h 52010/06/16
6Created-by: Jeff Dike <jdike@linux.intel.com>
7
8Index: linux-2.6.34/include/asm-generic/ioctls.h
6=================================================================== 9===================================================================
7--- linux-2.6.33.orig/include/asm-generic/ioctls.h 10--- linux-2.6.34.orig/include/asm-generic/ioctls.h
8+++ linux-2.6.33/include/asm-generic/ioctls.h 11+++ linux-2.6.34/include/asm-generic/ioctls.h
9@@ -86,16 +86,6 @@ 12@@ -86,16 +86,6 @@
10 #define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */ 13 #define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
11 #define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */ 14 #define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
diff --git a/meta/packages/linux-libc-headers/linux-libc-headers/ppc_glibc_build_fix.patch b/meta/packages/linux-libc-headers/linux-libc-headers/ppc_glibc_build_fix.patch
new file mode 100644
index 0000000000..81fa5ce8c9
--- /dev/null
+++ b/meta/packages/linux-libc-headers/linux-libc-headers/ppc_glibc_build_fix.patch
@@ -0,0 +1,25 @@
1stdint.h has C definitions which troubles assembler. and if asm/ptrace.h
2is included in assembler context, then it should not include the
3C-specific stdint.h file.
4 This was causing glibc building issue on ppc.
5Looks like this issue is introduced on the 2.6.34 kernel.
6
72010-06-024
8Signed-Off-By:Nitin A Kamble <nitin.a.kamble@intel.com>
9Acked-By:Jeff Dike <jdike@linux.intel.com>
10
11Index: linux-2.6.34/arch/powerpc/include/asm/ptrace.h
12===================================================================
13--- linux-2.6.34.orig/arch/powerpc/include/asm/ptrace.h
14+++ linux-2.6.34/arch/powerpc/include/asm/ptrace.h
15@@ -27,8 +27,10 @@
16 #ifdef __KERNEL__
17 #include <linux/types.h>
18 #else
19+#ifndef __ASSEMBLY__
20 #include <stdint.h>
21 #endif
22+#endif
23
24 #ifndef __ASSEMBLY__
25
diff --git a/meta/packages/linux-libc-headers/linux-libc-headers_2.6.20.bb b/meta/packages/linux-libc-headers/linux-libc-headers_2.6.20.bb
deleted file mode 100644
index e72d710c9c..0000000000
--- a/meta/packages/linux-libc-headers/linux-libc-headers_2.6.20.bb
+++ /dev/null
@@ -1,51 +0,0 @@
1require linux-libc-headers.inc
2
3INHIBIT_DEFAULT_DEPS = "1"
4DEPENDS += "unifdef-native"
5PR = "r10"
6
7SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
8 file://procinfo.h \
9 file://unifdef.patch;patch=1"
10
11S = "${WORKDIR}/linux-${PV}"
12
13set_arch() {
14 case ${TARGET_ARCH} in
15 alpha*) ARCH=alpha ;;
16 arm*) ARCH=arm ;;
17 cris*) ARCH=cris ;;
18 hppa*) ARCH=parisc ;;
19 i*86*) ARCH=i386 ;;
20 ia64*) ARCH=ia64 ;;
21 mips*) ARCH=mips ;;
22 m68k*) ARCH=m68k ;;
23 powerpc*) ARCH=powerpc ;;
24 s390*) ARCH=s390 ;;
25 sh*) ARCH=sh ;;
26 sparc64*) ARCH=sparc64 ;;
27 sparc*) ARCH=sparc ;;
28 x86_64*) ARCH=x86_64 ;;
29 avr32*) ARCH=avr32 ;;
30 bfin*) ARCH=blackfin ;;
31 esac
32}
33
34do_configure() {
35 set_arch
36 oe_runmake allnoconfig ARCH=$ARCH
37}
38
39do_compile () {
40}
41
42do_install() {
43 set_arch
44 oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix} ARCH=$ARCH
45}
46
47do_install_append_arm() {
48 cp ${WORKDIR}/procinfo.h ${D}${includedir}/asm/
49}
50
51BBCLASSEXTEND = "nativesdk"
diff --git a/meta/packages/linux-libc-headers/linux-libc-headers_2.6.29.bb b/meta/packages/linux-libc-headers/linux-libc-headers_2.6.29.bb
deleted file mode 100644
index 5b8e7a4fdf..0000000000
--- a/meta/packages/linux-libc-headers/linux-libc-headers_2.6.29.bb
+++ /dev/null
@@ -1,45 +0,0 @@
1require linux-libc-headers.inc
2
3INHIBIT_DEFAULT_DEPS = "1"
4DEPENDS += "unifdef-native"
5PR = "r2"
6
7SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 "
8
9S = "${WORKDIR}/linux-${PV}"
10
11set_arch() {
12 case ${TARGET_ARCH} in
13 alpha*) ARCH=alpha ;;
14 arm*) ARCH=arm ;;
15 cris*) ARCH=cris ;;
16 hppa*) ARCH=parisc ;;
17 i*86*) ARCH=i386 ;;
18 ia64*) ARCH=ia64 ;;
19 mips*) ARCH=mips ;;
20 m68k*) ARCH=m68k ;;
21 powerpc*) ARCH=powerpc ;;
22 s390*) ARCH=s390 ;;
23 sh*) ARCH=sh ;;
24 sparc64*) ARCH=sparc64 ;;
25 sparc*) ARCH=sparc ;;
26 x86_64*) ARCH=x86_64 ;;
27 avr32*) ARCH=avr32 ;;
28 bfin*) ARCH=blackfin ;;
29 esac
30}
31
32do_configure() {
33 set_arch
34 oe_runmake allnoconfig ARCH=$ARCH
35}
36
37do_compile () {
38}
39
40do_install() {
41 set_arch
42 oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix} ARCH=$ARCH
43}
44
45BBCLASSEXTEND = "nativesdk"
diff --git a/meta/packages/linux-libc-headers/linux-libc-headers_2.6.30.bb b/meta/packages/linux-libc-headers/linux-libc-headers_2.6.30.bb
deleted file mode 100644
index 9f7c484ee3..0000000000
--- a/meta/packages/linux-libc-headers/linux-libc-headers_2.6.30.bb
+++ /dev/null
@@ -1,46 +0,0 @@
1require linux-libc-headers.inc
2
3INHIBIT_DEFAULT_DEPS = "1"
4DEPENDS += "unifdef-native"
5PR = "r3"
6
7SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
8 file://headerfix.patch;patch=1"
9
10S = "${WORKDIR}/linux-${PV}"
11
12set_arch() {
13 case ${TARGET_ARCH} in
14 alpha*) ARCH=alpha ;;
15 arm*) ARCH=arm ;;
16 cris*) ARCH=cris ;;
17 hppa*) ARCH=parisc ;;
18 i*86*) ARCH=i386 ;;
19 ia64*) ARCH=ia64 ;;
20 mips*) ARCH=mips ;;
21 m68k*) ARCH=m68k ;;
22 powerpc*) ARCH=powerpc ;;
23 s390*) ARCH=s390 ;;
24 sh*) ARCH=sh ;;
25 sparc64*) ARCH=sparc64 ;;
26 sparc*) ARCH=sparc ;;
27 x86_64*) ARCH=x86_64 ;;
28 avr32*) ARCH=avr32 ;;
29 bfin*) ARCH=blackfin ;;
30 esac
31}
32
33do_configure() {
34 set_arch
35 oe_runmake allnoconfig ARCH=$ARCH
36}
37
38do_compile () {
39}
40
41do_install() {
42 set_arch
43 oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix} ARCH=$ARCH
44}
45
46BBCLASSEXTEND = "nativesdk"
diff --git a/meta/packages/linux-libc-headers/linux-libc-headers_2.6.33.bb b/meta/packages/linux-libc-headers/linux-libc-headers_2.6.34.bb
index a299f55c29..31c305854f 100644
--- a/meta/packages/linux-libc-headers/linux-libc-headers_2.6.33.bb
+++ b/meta/packages/linux-libc-headers/linux-libc-headers_2.6.34.bb
@@ -2,10 +2,10 @@ require linux-libc-headers.inc
2 2
3INHIBIT_DEFAULT_DEPS = "1" 3INHIBIT_DEFAULT_DEPS = "1"
4DEPENDS += "unifdef-native" 4DEPENDS += "unifdef-native"
5PR = "r2" 5PR = "r0"
6 6
7SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ 7SRC_URI += "file://hayes-gone.patch \
8 file://hayes-gone.patch" 8 file://ppc_glibc_build_fix.patch"
9 9
10S = "${WORKDIR}/linux-${PV}" 10S = "${WORKDIR}/linux-${PV}"
11 11
@@ -25,8 +25,8 @@ set_arch() {
25 sparc64*) ARCH=sparc64 ;; 25 sparc64*) ARCH=sparc64 ;;
26 sparc*) ARCH=sparc ;; 26 sparc*) ARCH=sparc ;;
27 x86_64*) ARCH=x86_64 ;; 27 x86_64*) ARCH=x86_64 ;;
28 avr32*) ARCH=avr32 ;; 28 avr32*) ARCH=avr32 ;;
29 bfin*) ARCH=blackfin ;; 29 bfin*) ARCH=blackfin ;;
30 esac 30 esac
31} 31}
32 32
diff --git a/meta/packages/linux/linux-igep-2.6.33.5/0001-omap3-init-MUX-for-OMAP3-IGEP-module.patch b/meta/packages/linux/linux-igep-2.6.33.5/0001-omap3-init-MUX-for-OMAP3-IGEP-module.patch
new file mode 100644
index 0000000000..85024f50a2
--- /dev/null
+++ b/meta/packages/linux/linux-igep-2.6.33.5/0001-omap3-init-MUX-for-OMAP3-IGEP-module.patch
@@ -0,0 +1,36 @@
1From 1a91088e389bd3bbf5d9ee1f3a15edd9edb84eb6 Mon Sep 17 00:00:00 2001
2From: Enric Balletbo i Serra <eballetbo@iseebcn.com>
3Date: Wed, 16 Jun 2010 17:41:26 +0200
4Subject: [PATCH] omap3: init MUX for OMAP3 IGEP module.
5
6Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
7---
8 arch/arm/mach-omap2/board-igep0030.c | 10 ++++++++++
9 1 files changed, 10 insertions(+), 0 deletions(-)
10
11diff --git a/arch/arm/mach-omap2/board-igep0030.c b/arch/arm/mach-omap2/board-igep0030.c
12index aa99236..425b2ec 100644
13--- a/arch/arm/mach-omap2/board-igep0030.c
14+++ b/arch/arm/mach-omap2/board-igep0030.c
15@@ -420,8 +420,18 @@ static void __init igep3_init_wifi_bt(void)
16 pr_warning("IGEP: Could not obtain gpio GPIO_BT_NRESET\n");
17 }
18
19+#ifdef CONFIG_OMAP_MUX
20+static struct omap_board_mux board_mux[] __initdata = {
21+ { .reg_offset = OMAP_MUX_TERMINATOR },
22+};
23+#else
24+#define board_mux NULL
25+#endif
26+
27 static void __init igep3_init(void)
28 {
29+ omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
30+
31 omap_serial_init();
32 usb_musb_init(&musb_board_data);
33 usb_ehci_init(&ehci_pdata);
34--
351.7.0.4
36
diff --git a/meta/packages/linux/linux-igep2-2.6.28/igep0020/defconfig b/meta/packages/linux/linux-igep-2.6.33.5/defconfig-igep0020
index d906338fc9..65b962f772 100644
--- a/meta/packages/linux/linux-igep2-2.6.28/igep0020/defconfig
+++ b/meta/packages/linux/linux-igep-2.6.33.5/defconfig-igep0020
@@ -1,15 +1,14 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.28.10 3# Linux kernel version: 2.6.33.4
4# Wed Jan 20 16:55:59 2010 4# Mon May 17 15:56:32 2010
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y 7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y 8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y 9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y 10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y 11CONFIG_HAVE_PROC_CPU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y 12CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y 13CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_HAVE_LATENCYTOP_SUPPORT=y 14CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -18,14 +17,14 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
18CONFIG_HARDIRQS_SW_RESEND=y 17CONFIG_HARDIRQS_SW_RESEND=y
19CONFIG_GENERIC_IRQ_PROBE=y 18CONFIG_GENERIC_IRQ_PROBE=y
20CONFIG_RWSEM_GENERIC_SPINLOCK=y 19CONFIG_RWSEM_GENERIC_SPINLOCK=y
21# CONFIG_ARCH_HAS_ILOG2_U32 is not set 20CONFIG_ARCH_HAS_CPUFREQ=y
22# CONFIG_ARCH_HAS_ILOG2_U64 is not set
23CONFIG_GENERIC_HWEIGHT=y 21CONFIG_GENERIC_HWEIGHT=y
24CONFIG_GENERIC_CALIBRATE_DELAY=y 22CONFIG_GENERIC_CALIBRATE_DELAY=y
25CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 23CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
26CONFIG_OPROFILE_ARMV7=y 24CONFIG_ARM_L1_CACHE_SHIFT_6=y
27CONFIG_VECTORS_BASE=0xffff0000 25CONFIG_VECTORS_BASE=0xffff0000
28CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 26CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
27CONFIG_CONSTRUCTORS=y
29 28
30# 29#
31# General setup 30# General setup
@@ -35,28 +34,59 @@ CONFIG_BROKEN_ON_SMP=y
35CONFIG_INIT_ENV_ARG_LIMIT=32 34CONFIG_INIT_ENV_ARG_LIMIT=32
36CONFIG_LOCALVERSION="" 35CONFIG_LOCALVERSION=""
37# CONFIG_LOCALVERSION_AUTO is not set 36# CONFIG_LOCALVERSION_AUTO is not set
37CONFIG_HAVE_KERNEL_GZIP=y
38CONFIG_HAVE_KERNEL_LZO=y
39CONFIG_KERNEL_GZIP=y
40# CONFIG_KERNEL_BZIP2 is not set
41# CONFIG_KERNEL_LZMA is not set
42# CONFIG_KERNEL_LZO is not set
38CONFIG_SWAP=y 43CONFIG_SWAP=y
39CONFIG_SYSVIPC=y 44CONFIG_SYSVIPC=y
40CONFIG_SYSVIPC_SYSCTL=y 45CONFIG_SYSVIPC_SYSCTL=y
41# CONFIG_POSIX_MQUEUE is not set 46CONFIG_POSIX_MQUEUE=y
47CONFIG_POSIX_MQUEUE_SYSCTL=y
42CONFIG_BSD_PROCESS_ACCT=y 48CONFIG_BSD_PROCESS_ACCT=y
43# CONFIG_BSD_PROCESS_ACCT_V3 is not set 49CONFIG_BSD_PROCESS_ACCT_V3=y
44# CONFIG_TASKSTATS is not set 50# CONFIG_TASKSTATS is not set
45# CONFIG_AUDIT is not set 51# CONFIG_AUDIT is not set
46CONFIG_IKCONFIG=y 52
47CONFIG_IKCONFIG_PROC=y 53#
54# RCU Subsystem
55#
56CONFIG_TREE_RCU=y
57# CONFIG_TREE_PREEMPT_RCU is not set
58# CONFIG_TINY_RCU is not set
59# CONFIG_RCU_TRACE is not set
60CONFIG_RCU_FANOUT=32
61# CONFIG_RCU_FANOUT_EXACT is not set
62# CONFIG_TREE_RCU_TRACE is not set
63# CONFIG_IKCONFIG is not set
48CONFIG_LOG_BUF_SHIFT=17 64CONFIG_LOG_BUF_SHIFT=17
49# CONFIG_CGROUPS is not set 65CONFIG_CGROUPS=y
50CONFIG_GROUP_SCHED=y 66# CONFIG_CGROUP_DEBUG is not set
67# CONFIG_CGROUP_NS is not set
68# CONFIG_CGROUP_FREEZER is not set
69# CONFIG_CGROUP_DEVICE is not set
70# CONFIG_CPUSETS is not set
71# CONFIG_CGROUP_CPUACCT is not set
72# CONFIG_RESOURCE_COUNTERS is not set
73CONFIG_CGROUP_SCHED=y
51CONFIG_FAIR_GROUP_SCHED=y 74CONFIG_FAIR_GROUP_SCHED=y
52# CONFIG_RT_GROUP_SCHED is not set 75CONFIG_RT_GROUP_SCHED=y
53CONFIG_USER_SCHED=y
54# CONFIG_CGROUP_SCHED is not set
55# CONFIG_SYSFS_DEPRECATED_V2 is not set 76# CONFIG_SYSFS_DEPRECATED_V2 is not set
56# CONFIG_RELAY is not set 77CONFIG_RELAY=y
57# CONFIG_NAMESPACES is not set 78CONFIG_NAMESPACES=y
79CONFIG_UTS_NS=y
80CONFIG_IPC_NS=y
81# CONFIG_USER_NS is not set
82# CONFIG_PID_NS is not set
83CONFIG_NET_NS=y
58CONFIG_BLK_DEV_INITRD=y 84CONFIG_BLK_DEV_INITRD=y
59CONFIG_INITRAMFS_SOURCE="" 85CONFIG_INITRAMFS_SOURCE=""
86CONFIG_RD_GZIP=y
87CONFIG_RD_BZIP2=y
88CONFIG_RD_LZMA=y
89CONFIG_RD_LZO=y
60CONFIG_CC_OPTIMIZE_FOR_SIZE=y 90CONFIG_CC_OPTIMIZE_FOR_SIZE=y
61CONFIG_SYSCTL=y 91CONFIG_SYSCTL=y
62CONFIG_ANON_INODES=y 92CONFIG_ANON_INODES=y
@@ -65,7 +95,7 @@ CONFIG_UID16=y
65# CONFIG_SYSCTL_SYSCALL is not set 95# CONFIG_SYSCTL_SYSCALL is not set
66CONFIG_KALLSYMS=y 96CONFIG_KALLSYMS=y
67# CONFIG_KALLSYMS_ALL is not set 97# CONFIG_KALLSYMS_ALL is not set
68# CONFIG_KALLSYMS_EXTRA_PASS is not set 98CONFIG_KALLSYMS_EXTRA_PASS=y
69CONFIG_HOTPLUG=y 99CONFIG_HOTPLUG=y
70CONFIG_PRINTK=y 100CONFIG_PRINTK=y
71CONFIG_BUG=y 101CONFIG_BUG=y
@@ -78,69 +108,110 @@ CONFIG_TIMERFD=y
78CONFIG_EVENTFD=y 108CONFIG_EVENTFD=y
79CONFIG_SHMEM=y 109CONFIG_SHMEM=y
80CONFIG_AIO=y 110CONFIG_AIO=y
111CONFIG_HAVE_PERF_EVENTS=y
112CONFIG_PERF_USE_VMALLOC=y
113
114#
115# Kernel Performance Events And Counters
116#
117CONFIG_PERF_EVENTS=y
118# CONFIG_PERF_COUNTERS is not set
119# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
81CONFIG_VM_EVENT_COUNTERS=y 120CONFIG_VM_EVENT_COUNTERS=y
82# CONFIG_COMPAT_BRK is not set 121# CONFIG_COMPAT_BRK is not set
83CONFIG_SLAB=y 122CONFIG_SLAB=y
84# CONFIG_SLUB is not set 123# CONFIG_SLUB is not set
85# CONFIG_SLOB is not set 124# CONFIG_SLOB is not set
86CONFIG_PROFILING=y 125# CONFIG_PROFILING is not set
87# CONFIG_MARKERS is not set
88CONFIG_OPROFILE=y
89CONFIG_HAVE_OPROFILE=y 126CONFIG_HAVE_OPROFILE=y
90# CONFIG_KPROBES is not set 127# CONFIG_KPROBES is not set
91CONFIG_HAVE_KPROBES=y 128CONFIG_HAVE_KPROBES=y
92CONFIG_HAVE_KRETPROBES=y 129CONFIG_HAVE_KRETPROBES=y
93CONFIG_HAVE_CLK=y 130CONFIG_HAVE_CLK=y
131
132#
133# GCOV-based kernel profiling
134#
135# CONFIG_GCOV_KERNEL is not set
136CONFIG_SLOW_WORK=y
137# CONFIG_SLOW_WORK_DEBUG is not set
94CONFIG_HAVE_GENERIC_DMA_COHERENT=y 138CONFIG_HAVE_GENERIC_DMA_COHERENT=y
95CONFIG_SLABINFO=y 139CONFIG_SLABINFO=y
96CONFIG_RT_MUTEXES=y 140CONFIG_RT_MUTEXES=y
97# CONFIG_TINY_SHMEM is not set
98CONFIG_BASE_SMALL=0 141CONFIG_BASE_SMALL=0
99CONFIG_MODULES=y 142CONFIG_MODULES=y
100# CONFIG_MODULE_FORCE_LOAD is not set 143CONFIG_MODULE_FORCE_LOAD=y
101CONFIG_MODULE_UNLOAD=y 144CONFIG_MODULE_UNLOAD=y
102CONFIG_MODULE_FORCE_UNLOAD=y 145# CONFIG_MODULE_FORCE_UNLOAD is not set
103# CONFIG_MODVERSIONS is not set 146# CONFIG_MODVERSIONS is not set
104# CONFIG_MODULE_SRCVERSION_ALL is not set 147# CONFIG_MODULE_SRCVERSION_ALL is not set
105CONFIG_KMOD=y
106CONFIG_BLOCK=y 148CONFIG_BLOCK=y
107CONFIG_LBD=y 149CONFIG_LBDAF=y
108# CONFIG_BLK_DEV_IO_TRACE is not set
109CONFIG_LSF=y
110# CONFIG_BLK_DEV_BSG is not set 150# CONFIG_BLK_DEV_BSG is not set
111# CONFIG_BLK_DEV_INTEGRITY is not set 151# CONFIG_BLK_DEV_INTEGRITY is not set
152# CONFIG_BLK_CGROUP is not set
112 153
113# 154#
114# IO Schedulers 155# IO Schedulers
115# 156#
116CONFIG_IOSCHED_NOOP=y 157CONFIG_IOSCHED_NOOP=y
117CONFIG_IOSCHED_AS=y
118CONFIG_IOSCHED_DEADLINE=y 158CONFIG_IOSCHED_DEADLINE=y
119CONFIG_IOSCHED_CFQ=y 159CONFIG_IOSCHED_CFQ=y
120# CONFIG_DEFAULT_AS is not set 160# CONFIG_CFQ_GROUP_IOSCHED is not set
121# CONFIG_DEFAULT_DEADLINE is not set 161# CONFIG_DEFAULT_DEADLINE is not set
122CONFIG_DEFAULT_CFQ=y 162CONFIG_DEFAULT_CFQ=y
123# CONFIG_DEFAULT_NOOP is not set 163# CONFIG_DEFAULT_NOOP is not set
124CONFIG_DEFAULT_IOSCHED="cfq" 164CONFIG_DEFAULT_IOSCHED="cfq"
125CONFIG_CLASSIC_RCU=y 165# CONFIG_INLINE_SPIN_TRYLOCK is not set
126CONFIG_FREEZER=y 166# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
167# CONFIG_INLINE_SPIN_LOCK is not set
168# CONFIG_INLINE_SPIN_LOCK_BH is not set
169# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
170# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
171CONFIG_INLINE_SPIN_UNLOCK=y
172# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
173CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
174# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
175# CONFIG_INLINE_READ_TRYLOCK is not set
176# CONFIG_INLINE_READ_LOCK is not set
177# CONFIG_INLINE_READ_LOCK_BH is not set
178# CONFIG_INLINE_READ_LOCK_IRQ is not set
179# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
180CONFIG_INLINE_READ_UNLOCK=y
181# CONFIG_INLINE_READ_UNLOCK_BH is not set
182CONFIG_INLINE_READ_UNLOCK_IRQ=y
183# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
184# CONFIG_INLINE_WRITE_TRYLOCK is not set
185# CONFIG_INLINE_WRITE_LOCK is not set
186# CONFIG_INLINE_WRITE_LOCK_BH is not set
187# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
188# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
189CONFIG_INLINE_WRITE_UNLOCK=y
190# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
191CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
192# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
193# CONFIG_MUTEX_SPIN_ON_OWNER is not set
194# CONFIG_FREEZER is not set
127 195
128# 196#
129# System Type 197# System Type
130# 198#
199CONFIG_MMU=y
131# CONFIG_ARCH_AAEC2000 is not set 200# CONFIG_ARCH_AAEC2000 is not set
132# CONFIG_ARCH_INTEGRATOR is not set 201# CONFIG_ARCH_INTEGRATOR is not set
133# CONFIG_ARCH_REALVIEW is not set 202# CONFIG_ARCH_REALVIEW is not set
134# CONFIG_ARCH_VERSATILE is not set 203# CONFIG_ARCH_VERSATILE is not set
135# CONFIG_ARCH_AT91 is not set 204# CONFIG_ARCH_AT91 is not set
136# CONFIG_ARCH_CLPS7500 is not set
137# CONFIG_ARCH_CLPS711X is not set 205# CONFIG_ARCH_CLPS711X is not set
206# CONFIG_ARCH_GEMINI is not set
138# CONFIG_ARCH_EBSA110 is not set 207# CONFIG_ARCH_EBSA110 is not set
139# CONFIG_ARCH_EP93XX is not set 208# CONFIG_ARCH_EP93XX is not set
140# CONFIG_ARCH_FOOTBRIDGE is not set 209# CONFIG_ARCH_FOOTBRIDGE is not set
210# CONFIG_ARCH_MXC is not set
211# CONFIG_ARCH_STMP3XXX is not set
141# CONFIG_ARCH_NETX is not set 212# CONFIG_ARCH_NETX is not set
142# CONFIG_ARCH_H720X is not set 213# CONFIG_ARCH_H720X is not set
143# CONFIG_ARCH_IMX is not set 214# CONFIG_ARCH_NOMADIK is not set
144# CONFIG_ARCH_IOP13XX is not set 215# CONFIG_ARCH_IOP13XX is not set
145# CONFIG_ARCH_IOP32X is not set 216# CONFIG_ARCH_IOP32X is not set
146# CONFIG_ARCH_IOP33X is not set 217# CONFIG_ARCH_IOP33X is not set
@@ -148,87 +219,89 @@ CONFIG_FREEZER=y
148# CONFIG_ARCH_IXP2000 is not set 219# CONFIG_ARCH_IXP2000 is not set
149# CONFIG_ARCH_IXP4XX is not set 220# CONFIG_ARCH_IXP4XX is not set
150# CONFIG_ARCH_L7200 is not set 221# CONFIG_ARCH_L7200 is not set
222# CONFIG_ARCH_DOVE is not set
151# CONFIG_ARCH_KIRKWOOD is not set 223# CONFIG_ARCH_KIRKWOOD is not set
152# CONFIG_ARCH_KS8695 is not set
153# CONFIG_ARCH_NS9XXX is not set
154# CONFIG_ARCH_LOKI is not set 224# CONFIG_ARCH_LOKI is not set
155# CONFIG_ARCH_MV78XX0 is not set 225# CONFIG_ARCH_MV78XX0 is not set
156# CONFIG_ARCH_MXC is not set
157# CONFIG_ARCH_ORION5X is not set 226# CONFIG_ARCH_ORION5X is not set
227# CONFIG_ARCH_MMP is not set
228# CONFIG_ARCH_KS8695 is not set
229# CONFIG_ARCH_NS9XXX is not set
230# CONFIG_ARCH_W90X900 is not set
231# CONFIG_ARCH_NUC93X is not set
158# CONFIG_ARCH_PNX4008 is not set 232# CONFIG_ARCH_PNX4008 is not set
159# CONFIG_ARCH_PXA is not set 233# CONFIG_ARCH_PXA is not set
234# CONFIG_ARCH_MSM is not set
160# CONFIG_ARCH_RPC is not set 235# CONFIG_ARCH_RPC is not set
161# CONFIG_ARCH_SA1100 is not set 236# CONFIG_ARCH_SA1100 is not set
162# CONFIG_ARCH_S3C2410 is not set 237# CONFIG_ARCH_S3C2410 is not set
238# CONFIG_ARCH_S3C64XX is not set
239# CONFIG_ARCH_S5PC1XX is not set
163# CONFIG_ARCH_SHARK is not set 240# CONFIG_ARCH_SHARK is not set
164# CONFIG_ARCH_LH7A40X is not set 241# CONFIG_ARCH_LH7A40X is not set
242# CONFIG_ARCH_U300 is not set
165# CONFIG_ARCH_DAVINCI is not set 243# CONFIG_ARCH_DAVINCI is not set
166CONFIG_ARCH_OMAP=y 244CONFIG_ARCH_OMAP=y
167# CONFIG_ARCH_MSM is not set 245# CONFIG_ARCH_BCMRING is not set
246# CONFIG_ARCH_U8500 is not set
168 247
169# 248#
170# TI OMAP Implementations 249# TI OMAP Implementations
171# 250#
172CONFIG_ARCH_OMAP_OTG=y 251CONFIG_ARCH_OMAP_OTG=y
173# CONFIG_ARCH_OMAP1 is not set 252# CONFIG_ARCH_OMAP1 is not set
253CONFIG_ARCH_OMAP2PLUS=y
174# CONFIG_ARCH_OMAP2 is not set 254# CONFIG_ARCH_OMAP2 is not set
175CONFIG_ARCH_OMAP3=y 255CONFIG_ARCH_OMAP3=y
256# CONFIG_ARCH_OMAP4 is not set
176 257
177# 258#
178# OMAP Feature Selections 259# OMAP Feature Selections
179# 260#
180# CONFIG_OMAP_DEBUG_POWERDOMAIN is not set 261# CONFIG_OMAP_RESET_CLOCKS is not set
181# CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set
182CONFIG_OMAP_SMARTREFLEX=y
183# CONFIG_OMAP_SMARTREFLEX_TESTING is not set
184CONFIG_OMAP_RESET_CLOCKS=y
185CONFIG_OMAP_BOOT_TAG=y
186CONFIG_OMAP_BOOT_REASON=y
187# CONFIG_OMAP_COMPONENT_VERSION is not set
188# CONFIG_OMAP_GPIO_SWITCH is not set
189# CONFIG_OMAP_MUX is not set 262# CONFIG_OMAP_MUX is not set
190CONFIG_OMAP_MCBSP=y 263CONFIG_OMAP_MCBSP=y
191# CONFIG_OMAP_MMU_FWK is not set 264CONFIG_OMAP_MBOX_FWK=m
192# CONFIG_OMAP_MBOX_FWK is not set 265CONFIG_OMAP_IOMMU=m
193# CONFIG_OMAP_MPU_TIMER is not set 266# CONFIG_OMAP_MPU_TIMER is not set
194CONFIG_OMAP_32K_TIMER=y 267CONFIG_OMAP_32K_TIMER=y
268# CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set
195CONFIG_OMAP_32K_TIMER_HZ=128 269CONFIG_OMAP_32K_TIMER_HZ=128
196CONFIG_OMAP_TICK_GPTIMER=12
197CONFIG_OMAP_DM_TIMER=y 270CONFIG_OMAP_DM_TIMER=y
198# CONFIG_OMAP_LL_DEBUG_UART1 is not set 271# CONFIG_OMAP_PM_NONE is not set
199# CONFIG_OMAP_LL_DEBUG_UART2 is not set 272CONFIG_OMAP_PM_NOOP=y
200CONFIG_OMAP_LL_DEBUG_UART3=y
201CONFIG_ARCH_OMAP34XX=y
202CONFIG_ARCH_OMAP3430=y 273CONFIG_ARCH_OMAP3430=y
274CONFIG_OMAP_PACKAGE_CBB=y
203 275
204# 276#
205# OMAP Board Type 277# OMAP Board Type
206# 278#
207# CONFIG_MACH_OMAP_LDP is not set
208# CONFIG_MACH_OMAP_3430SDP is not set
209# CONFIG_MACH_OMAP3EVM is not set
210# CONFIG_MACH_OMAP3_BEAGLE is not set 279# CONFIG_MACH_OMAP3_BEAGLE is not set
280# CONFIG_MACH_DEVKIT8000 is not set
281# CONFIG_MACH_OMAP_LDP is not set
211# CONFIG_MACH_OVERO is not set 282# CONFIG_MACH_OVERO is not set
283# CONFIG_MACH_OMAP3EVM is not set
284# CONFIG_MACH_OMAP3517EVM is not set
212# CONFIG_MACH_OMAP3_PANDORA is not set 285# CONFIG_MACH_OMAP3_PANDORA is not set
286# CONFIG_MACH_OMAP3_TOUCHBOOK is not set
287# CONFIG_MACH_OMAP_3430SDP is not set
288# CONFIG_MACH_NOKIA_RX51 is not set
289# CONFIG_MACH_OMAP_ZOOM2 is not set
290# CONFIG_MACH_OMAP_ZOOM3 is not set
291# CONFIG_MACH_CM_T35 is not set
213CONFIG_MACH_IGEP0020=y 292CONFIG_MACH_IGEP0020=y
214 293# CONFIG_MACH_OMAP_3630SDP is not set
215# 294# CONFIG_OMAP3_EMU is not set
216# Boot options 295# CONFIG_OMAP3_SDRC_AC_TIMING is not set
217#
218
219#
220# Power management
221#
222 296
223# 297#
224# Processor Type 298# Processor Type
225# 299#
226CONFIG_CPU_32=y
227CONFIG_CPU_32v6K=y 300CONFIG_CPU_32v6K=y
228CONFIG_CPU_V7=y 301CONFIG_CPU_V7=y
229CONFIG_CPU_32v7=y 302CONFIG_CPU_32v7=y
230CONFIG_CPU_ABRT_EV7=y 303CONFIG_CPU_ABRT_EV7=y
231CONFIG_CPU_PABRT_IFAR=y 304CONFIG_CPU_PABRT_V7=y
232CONFIG_CPU_CACHE_V7=y 305CONFIG_CPU_CACHE_V7=y
233CONFIG_CPU_CACHE_VIPT=y 306CONFIG_CPU_CACHE_VIPT=y
234CONFIG_CPU_COPY_V6=y 307CONFIG_CPU_COPY_V6=y
@@ -246,7 +319,12 @@ CONFIG_ARM_THUMBEE=y
246# CONFIG_CPU_DCACHE_DISABLE is not set 319# CONFIG_CPU_DCACHE_DISABLE is not set
247# CONFIG_CPU_BPREDICT_DISABLE is not set 320# CONFIG_CPU_BPREDICT_DISABLE is not set
248CONFIG_HAS_TLS_REG=y 321CONFIG_HAS_TLS_REG=y
249# CONFIG_OUTER_CACHE is not set 322CONFIG_ARM_L1_CACHE_SHIFT=6
323CONFIG_CPU_HAS_PMU=y
324CONFIG_ARM_ERRATA_430973=y
325CONFIG_ARM_ERRATA_458693=y
326CONFIG_ARM_ERRATA_460075=y
327CONFIG_COMMON_CLKDEV=y
250 328
251# 329#
252# Bus support 330# Bus support
@@ -265,14 +343,19 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
265CONFIG_VMSPLIT_3G=y 343CONFIG_VMSPLIT_3G=y
266# CONFIG_VMSPLIT_2G is not set 344# CONFIG_VMSPLIT_2G is not set
267# CONFIG_VMSPLIT_1G is not set 345# CONFIG_VMSPLIT_1G is not set
268CONFIG_PAGE_OFFSET=0xB0000000 346CONFIG_PAGE_OFFSET=0xC0000000
347# CONFIG_PREEMPT_NONE is not set
348CONFIG_PREEMPT_VOLUNTARY=y
269# CONFIG_PREEMPT is not set 349# CONFIG_PREEMPT is not set
270CONFIG_HZ=128 350CONFIG_HZ=128
351# CONFIG_THUMB2_KERNEL is not set
271CONFIG_AEABI=y 352CONFIG_AEABI=y
272# CONFIG_OABI_COMPAT is not set 353# CONFIG_OABI_COMPAT is not set
273CONFIG_ARCH_FLATMEM_HAS_HOLES=y 354CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
274# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set 355# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
275# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set 356# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
357# CONFIG_HIGHMEM is not set
358CONFIG_HW_PERF_EVENTS=y
276CONFIG_SELECT_MEMORY_MODEL=y 359CONFIG_SELECT_MEMORY_MODEL=y
277CONFIG_FLATMEM_MANUAL=y 360CONFIG_FLATMEM_MANUAL=y
278# CONFIG_DISCONTIGMEM_MANUAL is not set 361# CONFIG_DISCONTIGMEM_MANUAL is not set
@@ -281,42 +364,28 @@ CONFIG_FLATMEM=y
281CONFIG_FLAT_NODE_MEM_MAP=y 364CONFIG_FLAT_NODE_MEM_MAP=y
282CONFIG_PAGEFLAGS_EXTENDED=y 365CONFIG_PAGEFLAGS_EXTENDED=y
283CONFIG_SPLIT_PTLOCK_CPUS=4 366CONFIG_SPLIT_PTLOCK_CPUS=4
284# CONFIG_RESOURCES_64BIT is not set
285# CONFIG_PHYS_ADDR_T_64BIT is not set 367# CONFIG_PHYS_ADDR_T_64BIT is not set
286CONFIG_ZONE_DMA_FLAG=0 368CONFIG_ZONE_DMA_FLAG=0
287CONFIG_VIRT_TO_BUS=y 369CONFIG_VIRT_TO_BUS=y
288CONFIG_UNEVICTABLE_LRU=y 370# CONFIG_KSM is not set
371CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
289# CONFIG_LEDS is not set 372# CONFIG_LEDS is not set
290CONFIG_ALIGNMENT_TRAP=y 373CONFIG_ALIGNMENT_TRAP=y
374# CONFIG_UACCESS_WITH_MEMCPY is not set
291 375
292# 376#
293# Boot options 377# Boot options
294# 378#
295CONFIG_ZBOOT_ROM_TEXT=0x0 379CONFIG_ZBOOT_ROM_TEXT=0x0
296CONFIG_ZBOOT_ROM_BSS=0x0 380CONFIG_ZBOOT_ROM_BSS=0x0
297CONFIG_CMDLINE=" debug " 381CONFIG_CMDLINE=""
298# CONFIG_XIP_KERNEL is not set 382# CONFIG_XIP_KERNEL is not set
299CONFIG_KEXEC=y 383# CONFIG_KEXEC is not set
300CONFIG_ATAGS_PROC=y
301 384
302# 385#
303# CPU Power Management 386# CPU Power Management
304# 387#
305CONFIG_CPU_FREQ=y 388# CONFIG_CPU_FREQ is not set
306CONFIG_CPU_FREQ_TABLE=y
307CONFIG_CPU_FREQ_DEBUG=y
308CONFIG_CPU_FREQ_STAT=y
309CONFIG_CPU_FREQ_STAT_DETAILS=y
310# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
311# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
312# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
313CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
314# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
315CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
316CONFIG_CPU_FREQ_GOV_POWERSAVE=y
317CONFIG_CPU_FREQ_GOV_USERSPACE=y
318CONFIG_CPU_FREQ_GOV_ONDEMAND=y
319CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
320# CONFIG_CPU_IDLE is not set 389# CONFIG_CPU_IDLE is not set
321 390
322# 391#
@@ -336,21 +405,17 @@ CONFIG_NEON=y
336CONFIG_BINFMT_ELF=y 405CONFIG_BINFMT_ELF=y
337# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set 406# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
338CONFIG_HAVE_AOUT=y 407CONFIG_HAVE_AOUT=y
339# CONFIG_BINFMT_AOUT is not set 408CONFIG_BINFMT_AOUT=m
340CONFIG_BINFMT_MISC=y 409CONFIG_BINFMT_MISC=m
341 410
342# 411#
343# Power management options 412# Power management options
344# 413#
345CONFIG_PM=y 414CONFIG_PM=y
346CONFIG_PM_DEBUG=y 415# CONFIG_PM_DEBUG is not set
347# CONFIG_PM_VERBOSE is not set 416# CONFIG_SUSPEND is not set
348CONFIG_CAN_PM_TRACE=y
349CONFIG_PM_SLEEP=y
350CONFIG_SUSPEND=y
351# CONFIG_PM_TEST_SUSPEND is not set
352CONFIG_SUSPEND_FREEZER=y
353# CONFIG_APM_EMULATION is not set 417# CONFIG_APM_EMULATION is not set
418# CONFIG_PM_RUNTIME is not set
354CONFIG_ARCH_SUSPEND_POSSIBLE=y 419CONFIG_ARCH_SUSPEND_POSSIBLE=y
355CONFIG_NET=y 420CONFIG_NET=y
356 421
@@ -358,65 +423,99 @@ CONFIG_NET=y
358# Networking options 423# Networking options
359# 424#
360CONFIG_PACKET=y 425CONFIG_PACKET=y
361CONFIG_PACKET_MMAP=y
362CONFIG_UNIX=y 426CONFIG_UNIX=y
363CONFIG_XFRM=y 427CONFIG_XFRM=y
364# CONFIG_XFRM_USER is not set 428CONFIG_XFRM_USER=m
365# CONFIG_XFRM_SUB_POLICY is not set 429# CONFIG_XFRM_SUB_POLICY is not set
366# CONFIG_XFRM_MIGRATE is not set 430CONFIG_XFRM_MIGRATE=y
367# CONFIG_XFRM_STATISTICS is not set 431# CONFIG_XFRM_STATISTICS is not set
368CONFIG_NET_KEY=y 432CONFIG_XFRM_IPCOMP=m
369# CONFIG_NET_KEY_MIGRATE is not set 433CONFIG_NET_KEY=m
434CONFIG_NET_KEY_MIGRATE=y
370CONFIG_INET=y 435CONFIG_INET=y
371# CONFIG_IP_MULTICAST is not set 436CONFIG_IP_MULTICAST=y
372# CONFIG_IP_ADVANCED_ROUTER is not set 437CONFIG_IP_ADVANCED_ROUTER=y
438CONFIG_ASK_IP_FIB_HASH=y
439# CONFIG_IP_FIB_TRIE is not set
373CONFIG_IP_FIB_HASH=y 440CONFIG_IP_FIB_HASH=y
441CONFIG_IP_MULTIPLE_TABLES=y
442CONFIG_IP_ROUTE_MULTIPATH=y
443CONFIG_IP_ROUTE_VERBOSE=y
374CONFIG_IP_PNP=y 444CONFIG_IP_PNP=y
375CONFIG_IP_PNP_DHCP=y 445CONFIG_IP_PNP_DHCP=y
376CONFIG_IP_PNP_BOOTP=y 446CONFIG_IP_PNP_BOOTP=y
377CONFIG_IP_PNP_RARP=y 447# CONFIG_IP_PNP_RARP is not set
378# CONFIG_NET_IPIP is not set 448CONFIG_NET_IPIP=m
379# CONFIG_NET_IPGRE is not set 449CONFIG_NET_IPGRE=m
450CONFIG_NET_IPGRE_BROADCAST=y
451CONFIG_IP_MROUTE=y
452CONFIG_IP_PIMSM_V1=y
453CONFIG_IP_PIMSM_V2=y
380# CONFIG_ARPD is not set 454# CONFIG_ARPD is not set
381# CONFIG_SYN_COOKIES is not set 455CONFIG_SYN_COOKIES=y
382# CONFIG_INET_AH is not set 456CONFIG_INET_AH=m
383# CONFIG_INET_ESP is not set 457CONFIG_INET_ESP=m
384# CONFIG_INET_IPCOMP is not set 458CONFIG_INET_IPCOMP=m
385# CONFIG_INET_XFRM_TUNNEL is not set 459CONFIG_INET_XFRM_TUNNEL=m
386CONFIG_INET_TUNNEL=m 460CONFIG_INET_TUNNEL=m
387CONFIG_INET_XFRM_MODE_TRANSPORT=y 461CONFIG_INET_XFRM_MODE_TRANSPORT=m
388CONFIG_INET_XFRM_MODE_TUNNEL=y 462CONFIG_INET_XFRM_MODE_TUNNEL=m
389CONFIG_INET_XFRM_MODE_BEET=y 463CONFIG_INET_XFRM_MODE_BEET=m
390# CONFIG_INET_LRO is not set 464CONFIG_INET_LRO=y
391CONFIG_INET_DIAG=y 465CONFIG_INET_DIAG=y
392CONFIG_INET_TCP_DIAG=y 466CONFIG_INET_TCP_DIAG=y
393# CONFIG_TCP_CONG_ADVANCED is not set 467CONFIG_TCP_CONG_ADVANCED=y
468CONFIG_TCP_CONG_BIC=m
394CONFIG_TCP_CONG_CUBIC=y 469CONFIG_TCP_CONG_CUBIC=y
470CONFIG_TCP_CONG_WESTWOOD=m
471CONFIG_TCP_CONG_HTCP=m
472CONFIG_TCP_CONG_HSTCP=m
473CONFIG_TCP_CONG_HYBLA=m
474CONFIG_TCP_CONG_VEGAS=m
475CONFIG_TCP_CONG_SCALABLE=m
476CONFIG_TCP_CONG_LP=m
477CONFIG_TCP_CONG_VENO=m
478CONFIG_TCP_CONG_YEAH=m
479CONFIG_TCP_CONG_ILLINOIS=m
480# CONFIG_DEFAULT_BIC is not set
481CONFIG_DEFAULT_CUBIC=y
482# CONFIG_DEFAULT_HTCP is not set
483# CONFIG_DEFAULT_VEGAS is not set
484# CONFIG_DEFAULT_WESTWOOD is not set
485# CONFIG_DEFAULT_RENO is not set
395CONFIG_DEFAULT_TCP_CONG="cubic" 486CONFIG_DEFAULT_TCP_CONG="cubic"
396# CONFIG_TCP_MD5SIG is not set 487# CONFIG_TCP_MD5SIG is not set
397CONFIG_IPV6=m 488CONFIG_IPV6=y
398# CONFIG_IPV6_PRIVACY is not set 489CONFIG_IPV6_PRIVACY=y
399# CONFIG_IPV6_ROUTER_PREF is not set 490# CONFIG_IPV6_ROUTER_PREF is not set
400# CONFIG_IPV6_OPTIMISTIC_DAD is not set 491# CONFIG_IPV6_OPTIMISTIC_DAD is not set
401# CONFIG_INET6_AH is not set 492CONFIG_INET6_AH=m
402# CONFIG_INET6_ESP is not set 493CONFIG_INET6_ESP=m
403# CONFIG_INET6_IPCOMP is not set 494CONFIG_INET6_IPCOMP=m
404# CONFIG_IPV6_MIP6 is not set 495# CONFIG_IPV6_MIP6 is not set
405# CONFIG_INET6_XFRM_TUNNEL is not set 496CONFIG_INET6_XFRM_TUNNEL=m
406# CONFIG_INET6_TUNNEL is not set 497CONFIG_INET6_TUNNEL=m
407CONFIG_INET6_XFRM_MODE_TRANSPORT=m 498CONFIG_INET6_XFRM_MODE_TRANSPORT=m
408CONFIG_INET6_XFRM_MODE_TUNNEL=m 499CONFIG_INET6_XFRM_MODE_TUNNEL=m
409CONFIG_INET6_XFRM_MODE_BEET=m 500CONFIG_INET6_XFRM_MODE_BEET=m
410# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set 501# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
411CONFIG_IPV6_SIT=m 502CONFIG_IPV6_SIT=m
503# CONFIG_IPV6_SIT_6RD is not set
412CONFIG_IPV6_NDISC_NODETYPE=y 504CONFIG_IPV6_NDISC_NODETYPE=y
413# CONFIG_IPV6_TUNNEL is not set 505CONFIG_IPV6_TUNNEL=m
414# CONFIG_IPV6_MULTIPLE_TABLES is not set 506CONFIG_IPV6_MULTIPLE_TABLES=y
507# CONFIG_IPV6_SUBTREES is not set
415# CONFIG_IPV6_MROUTE is not set 508# CONFIG_IPV6_MROUTE is not set
416# CONFIG_NETWORK_SECMARK is not set 509# CONFIG_NETWORK_SECMARK is not set
417# CONFIG_NETFILTER is not set 510# CONFIG_NETFILTER is not set
418# CONFIG_IP_DCCP is not set 511# CONFIG_IP_DCCP is not set
419# CONFIG_IP_SCTP is not set 512CONFIG_IP_SCTP=m
513# CONFIG_SCTP_DBG_MSG is not set
514# CONFIG_SCTP_DBG_OBJCNT is not set
515# CONFIG_SCTP_HMAC_NONE is not set
516# CONFIG_SCTP_HMAC_SHA1 is not set
517CONFIG_SCTP_HMAC_MD5=y
518# CONFIG_RDS is not set
420# CONFIG_TIPC is not set 519# CONFIG_TIPC is not set
421# CONFIG_ATM is not set 520# CONFIG_ATM is not set
422# CONFIG_BRIDGE is not set 521# CONFIG_BRIDGE is not set
@@ -430,7 +529,10 @@ CONFIG_IPV6_NDISC_NODETYPE=y
430# CONFIG_LAPB is not set 529# CONFIG_LAPB is not set
431# CONFIG_ECONET is not set 530# CONFIG_ECONET is not set
432# CONFIG_WAN_ROUTER is not set 531# CONFIG_WAN_ROUTER is not set
532# CONFIG_PHONET is not set
533# CONFIG_IEEE802154 is not set
433# CONFIG_NET_SCHED is not set 534# CONFIG_NET_SCHED is not set
535# CONFIG_DCB is not set
434 536
435# 537#
436# Network testing 538# Network testing
@@ -452,46 +554,47 @@ CONFIG_BT_HIDP=m
452# 554#
453# Bluetooth device drivers 555# Bluetooth device drivers
454# 556#
455# CONFIG_BT_HCIUSB is not set 557CONFIG_BT_HCIBTUSB=m
456# CONFIG_BT_HCIBTUSB is not set 558CONFIG_BT_HCIBTSDIO=m
457# CONFIG_BT_HCIBTSDIO is not set
458CONFIG_BT_HCIUART=m 559CONFIG_BT_HCIUART=m
459CONFIG_BT_HCIUART_H4=y 560CONFIG_BT_HCIUART_H4=y
460CONFIG_BT_HCIUART_BCSP=y 561CONFIG_BT_HCIUART_BCSP=y
461CONFIG_BT_HCIUART_LL=y 562CONFIG_BT_HCIUART_LL=y
462# CONFIG_BT_HCIBCM203X is not set 563CONFIG_BT_HCIBCM203X=m
463# CONFIG_BT_HCIBPA10X is not set 564CONFIG_BT_HCIBPA10X=m
464# CONFIG_BT_HCIBFUSB is not set 565CONFIG_BT_HCIBFUSB=m
465# CONFIG_BT_HCIBRF6150 is not set 566CONFIG_BT_HCIVHCI=m
466# CONFIG_BT_HCIH4P is not set 567# CONFIG_BT_MRVL is not set
467# CONFIG_BT_HCIVHCI is not set 568CONFIG_BT_ATH3K=m
468# CONFIG_AF_RXRPC is not set 569# CONFIG_AF_RXRPC is not set
469# CONFIG_PHONET is not set 570CONFIG_FIB_RULES=y
470CONFIG_WIRELESS=y 571CONFIG_WIRELESS=y
471CONFIG_CFG80211=y
472CONFIG_NL80211=y
473CONFIG_WIRELESS_OLD_REGULATORY=y
474CONFIG_WIRELESS_EXT=y 572CONFIG_WIRELESS_EXT=y
573CONFIG_WEXT_CORE=y
574CONFIG_WEXT_PROC=y
575CONFIG_WEXT_SPY=y
576CONFIG_CFG80211=m
577# CONFIG_NL80211_TESTMODE is not set
578# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
579# CONFIG_CFG80211_REG_DEBUG is not set
580CONFIG_CFG80211_DEFAULT_PS=y
581CONFIG_CFG80211_DEBUGFS=y
582# CONFIG_CFG80211_INTERNAL_REGDB is not set
583CONFIG_CFG80211_WEXT=y
475CONFIG_WIRELESS_EXT_SYSFS=y 584CONFIG_WIRELESS_EXT_SYSFS=y
476CONFIG_MAC80211=y 585CONFIG_LIB80211=m
477 586# CONFIG_LIB80211_DEBUG is not set
478# 587CONFIG_MAC80211=m
479# Rate control algorithm selection 588# CONFIG_MAC80211_RC_PID is not set
480# 589CONFIG_MAC80211_RC_MINSTREL=y
481CONFIG_MAC80211_RC_PID=y 590# CONFIG_MAC80211_RC_DEFAULT_PID is not set
482# CONFIG_MAC80211_RC_MINSTREL is not set 591CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
483CONFIG_MAC80211_RC_DEFAULT_PID=y 592CONFIG_MAC80211_RC_DEFAULT="minstrel"
484# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
485CONFIG_MAC80211_RC_DEFAULT="pid"
486CONFIG_MAC80211_MESH=y 593CONFIG_MAC80211_MESH=y
487# CONFIG_MAC80211_LEDS is not set 594# CONFIG_MAC80211_LEDS is not set
488# CONFIG_MAC80211_DEBUGFS is not set 595# CONFIG_MAC80211_DEBUGFS is not set
489# CONFIG_MAC80211_DEBUG_MENU is not set 596# CONFIG_MAC80211_DEBUG_MENU is not set
490CONFIG_IEEE80211=y 597# CONFIG_WIMAX is not set
491# CONFIG_IEEE80211_DEBUG is not set
492CONFIG_IEEE80211_CRYPT_WEP=y
493CONFIG_IEEE80211_CRYPT_CCMP=y
494CONFIG_IEEE80211_CRYPT_TKIP=y
495# CONFIG_RFKILL is not set 598# CONFIG_RFKILL is not set
496# CONFIG_NET_9P is not set 599# CONFIG_NET_9P is not set
497 600
@@ -503,18 +606,21 @@ CONFIG_IEEE80211_CRYPT_TKIP=y
503# Generic Driver Options 606# Generic Driver Options
504# 607#
505CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 608CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
609# CONFIG_DEVTMPFS is not set
506CONFIG_STANDALONE=y 610CONFIG_STANDALONE=y
507CONFIG_PREVENT_FIRMWARE_BUILD=y 611# CONFIG_PREVENT_FIRMWARE_BUILD is not set
508CONFIG_FW_LOADER=y 612CONFIG_FW_LOADER=y
509CONFIG_FIRMWARE_IN_KERNEL=y 613CONFIG_FIRMWARE_IN_KERNEL=y
510CONFIG_EXTRA_FIRMWARE="" 614CONFIG_EXTRA_FIRMWARE=""
511# CONFIG_DEBUG_DRIVER is not set 615# CONFIG_DEBUG_DRIVER is not set
512# CONFIG_DEBUG_DEVRES is not set 616# CONFIG_DEBUG_DEVRES is not set
513# CONFIG_SYS_HYPERVISOR is not set 617# CONFIG_SYS_HYPERVISOR is not set
514# CONFIG_CONNECTOR is not set 618CONFIG_CONNECTOR=y
619CONFIG_PROC_EVENTS=y
515CONFIG_MTD=y 620CONFIG_MTD=y
516# CONFIG_MTD_DEBUG is not set 621# CONFIG_MTD_DEBUG is not set
517CONFIG_MTD_CONCAT=y 622CONFIG_MTD_TESTS=m
623CONFIG_MTD_CONCAT=m
518CONFIG_MTD_PARTITIONS=y 624CONFIG_MTD_PARTITIONS=y
519# CONFIG_MTD_REDBOOT_PARTS is not set 625# CONFIG_MTD_REDBOOT_PARTS is not set
520CONFIG_MTD_CMDLINE_PARTS=y 626CONFIG_MTD_CMDLINE_PARTS=y
@@ -564,6 +670,7 @@ CONFIG_MTD_CFI_I2=y
564# 670#
565# CONFIG_MTD_DATAFLASH is not set 671# CONFIG_MTD_DATAFLASH is not set
566# CONFIG_MTD_M25P80 is not set 672# CONFIG_MTD_M25P80 is not set
673# CONFIG_MTD_SST25L is not set
567# CONFIG_MTD_SLRAM is not set 674# CONFIG_MTD_SLRAM is not set
568# CONFIG_MTD_PHRAM is not set 675# CONFIG_MTD_PHRAM is not set
569# CONFIG_MTD_MTDRAM is not set 676# CONFIG_MTD_MTDRAM is not set
@@ -577,12 +684,17 @@ CONFIG_MTD_CFI_I2=y
577# CONFIG_MTD_DOC2001PLUS is not set 684# CONFIG_MTD_DOC2001PLUS is not set
578# CONFIG_MTD_NAND is not set 685# CONFIG_MTD_NAND is not set
579CONFIG_MTD_ONENAND=y 686CONFIG_MTD_ONENAND=y
580CONFIG_MTD_ONENAND_VERIFY_WRITE=y 687# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set
581# CONFIG_MTD_ONENAND_GENERIC is not set 688# CONFIG_MTD_ONENAND_GENERIC is not set
582CONFIG_MTD_ONENAND_OMAP2=y 689CONFIG_MTD_ONENAND_OMAP2=y
583# CONFIG_MTD_ONENAND_OTP is not set 690# CONFIG_MTD_ONENAND_OTP is not set
584CONFIG_MTD_ONENAND_2X_PROGRAM=y 691CONFIG_MTD_ONENAND_2X_PROGRAM=y
585# CONFIG_MTD_ONENAND_SIM is not set 692CONFIG_MTD_ONENAND_SIM=m
693
694#
695# LPDDR flash memory drivers
696#
697# CONFIG_MTD_LPDDR is not set
586 698
587# 699#
588# UBI - Unsorted block images 700# UBI - Unsorted block images
@@ -590,7 +702,7 @@ CONFIG_MTD_ONENAND_2X_PROGRAM=y
590CONFIG_MTD_UBI=y 702CONFIG_MTD_UBI=y
591CONFIG_MTD_UBI_WL_THRESHOLD=4096 703CONFIG_MTD_UBI_WL_THRESHOLD=4096
592CONFIG_MTD_UBI_BEB_RESERVE=1 704CONFIG_MTD_UBI_BEB_RESERVE=1
593# CONFIG_MTD_UBI_GLUEBI is not set 705CONFIG_MTD_UBI_GLUEBI=m
594 706
595# 707#
596# UBI debugging options 708# UBI debugging options
@@ -601,20 +713,34 @@ CONFIG_BLK_DEV=y
601# CONFIG_BLK_DEV_COW_COMMON is not set 713# CONFIG_BLK_DEV_COW_COMMON is not set
602CONFIG_BLK_DEV_LOOP=y 714CONFIG_BLK_DEV_LOOP=y
603CONFIG_BLK_DEV_CRYPTOLOOP=m 715CONFIG_BLK_DEV_CRYPTOLOOP=m
604# CONFIG_BLK_DEV_NBD is not set 716# CONFIG_BLK_DEV_DRBD is not set
717CONFIG_BLK_DEV_NBD=m
605# CONFIG_BLK_DEV_UB is not set 718# CONFIG_BLK_DEV_UB is not set
606CONFIG_BLK_DEV_RAM=y 719CONFIG_BLK_DEV_RAM=y
607CONFIG_BLK_DEV_RAM_COUNT=16 720CONFIG_BLK_DEV_RAM_COUNT=1
608CONFIG_BLK_DEV_RAM_SIZE=16384 721CONFIG_BLK_DEV_RAM_SIZE=65536
609# CONFIG_BLK_DEV_XIP is not set 722# CONFIG_BLK_DEV_XIP is not set
610# CONFIG_CDROM_PKTCDVD is not set 723# CONFIG_CDROM_PKTCDVD is not set
611# CONFIG_ATA_OVER_ETH is not set 724# CONFIG_ATA_OVER_ETH is not set
725# CONFIG_MG_DISK is not set
612CONFIG_MISC_DEVICES=y 726CONFIG_MISC_DEVICES=y
613# CONFIG_EEPROM_93CX6 is not set 727# CONFIG_AD525X_DPOT is not set
614# CONFIG_ICS932S401 is not set 728# CONFIG_ICS932S401 is not set
615# CONFIG_OMAP_STI is not set
616# CONFIG_ENCLOSURE_SERVICES is not set 729# CONFIG_ENCLOSURE_SERVICES is not set
730# CONFIG_ISL29003 is not set
731# CONFIG_DS1682 is not set
732# CONFIG_TI_DAC7512 is not set
617# CONFIG_C2PORT is not set 733# CONFIG_C2PORT is not set
734
735#
736# EEPROM support
737#
738CONFIG_EEPROM_AT24=m
739CONFIG_EEPROM_AT25=m
740# CONFIG_EEPROM_LEGACY is not set
741CONFIG_EEPROM_MAX6875=m
742CONFIG_EEPROM_93CX6=m
743# CONFIG_IWMC3200TOP is not set
618CONFIG_HAVE_IDE=y 744CONFIG_HAVE_IDE=y
619# CONFIG_IDE is not set 745# CONFIG_IDE is not set
620 746
@@ -632,16 +758,11 @@ CONFIG_SCSI_PROC_FS=y
632# SCSI support type (disk, tape, CD-ROM) 758# SCSI support type (disk, tape, CD-ROM)
633# 759#
634CONFIG_BLK_DEV_SD=y 760CONFIG_BLK_DEV_SD=y
635CONFIG_CHR_DEV_ST=y 761# CONFIG_CHR_DEV_ST is not set
636CONFIG_CHR_DEV_OSST=y 762# CONFIG_CHR_DEV_OSST is not set
637CONFIG_BLK_DEV_SR=y 763# CONFIG_BLK_DEV_SR is not set
638# CONFIG_BLK_DEV_SR_VENDOR is not set 764# CONFIG_CHR_DEV_SG is not set
639CONFIG_CHR_DEV_SG=y 765# CONFIG_CHR_DEV_SCH is not set
640CONFIG_CHR_DEV_SCH=y
641
642#
643# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
644#
645# CONFIG_SCSI_MULTI_LUN is not set 766# CONFIG_SCSI_MULTI_LUN is not set
646# CONFIG_SCSI_CONSTANTS is not set 767# CONFIG_SCSI_CONSTANTS is not set
647# CONFIG_SCSI_LOGGING is not set 768# CONFIG_SCSI_LOGGING is not set
@@ -658,21 +779,20 @@ CONFIG_SCSI_WAIT_SCAN=m
658# CONFIG_SCSI_SRP_ATTRS is not set 779# CONFIG_SCSI_SRP_ATTRS is not set
659CONFIG_SCSI_LOWLEVEL=y 780CONFIG_SCSI_LOWLEVEL=y
660# CONFIG_ISCSI_TCP is not set 781# CONFIG_ISCSI_TCP is not set
782# CONFIG_LIBFC is not set
783# CONFIG_LIBFCOE is not set
661# CONFIG_SCSI_DEBUG is not set 784# CONFIG_SCSI_DEBUG is not set
662CONFIG_SCSI_DH=y 785# CONFIG_SCSI_DH is not set
663# CONFIG_SCSI_DH_RDAC is not set 786# CONFIG_SCSI_OSD_INITIATOR is not set
664# CONFIG_SCSI_DH_HP_SW is not set
665# CONFIG_SCSI_DH_EMC is not set
666# CONFIG_SCSI_DH_ALUA is not set
667# CONFIG_ATA is not set 787# CONFIG_ATA is not set
668# CONFIG_MD is not set 788# CONFIG_MD is not set
669CONFIG_NETDEVICES=y 789CONFIG_NETDEVICES=y
670# CONFIG_DUMMY is not set 790CONFIG_DUMMY=m
671# CONFIG_BONDING is not set 791# CONFIG_BONDING is not set
672# CONFIG_MACVLAN is not set 792# CONFIG_MACVLAN is not set
673# CONFIG_EQUALIZER is not set 793CONFIG_EQUALIZER=m
674# CONFIG_TUN is not set 794CONFIG_TUN=m
675# CONFIG_VETH is not set 795CONFIG_VETH=m
676CONFIG_PHYLIB=y 796CONFIG_PHYLIB=y
677 797
678# 798#
@@ -688,16 +808,22 @@ CONFIG_PHYLIB=y
688# CONFIG_BROADCOM_PHY is not set 808# CONFIG_BROADCOM_PHY is not set
689# CONFIG_ICPLUS_PHY is not set 809# CONFIG_ICPLUS_PHY is not set
690# CONFIG_REALTEK_PHY is not set 810# CONFIG_REALTEK_PHY is not set
811# CONFIG_NATIONAL_PHY is not set
812# CONFIG_STE10XP is not set
813# CONFIG_LSI_ET1011C_PHY is not set
691# CONFIG_FIXED_PHY is not set 814# CONFIG_FIXED_PHY is not set
692# CONFIG_MDIO_BITBANG is not set 815# CONFIG_MDIO_BITBANG is not set
693CONFIG_NET_ETHERNET=y 816CONFIG_NET_ETHERNET=y
694CONFIG_MII=y 817CONFIG_MII=y
695# CONFIG_AX88796 is not set 818# CONFIG_AX88796 is not set
696# CONFIG_SMC91X is not set 819# CONFIG_SMC91X is not set
820# CONFIG_TI_DAVINCI_EMAC is not set
697# CONFIG_DM9000 is not set 821# CONFIG_DM9000 is not set
698# CONFIG_ENC28J60 is not set 822# CONFIG_ENC28J60 is not set
823# CONFIG_ETHOC is not set
699# CONFIG_SMC911X is not set 824# CONFIG_SMC911X is not set
700CONFIG_SMSC911X=y 825CONFIG_SMSC911X=y
826# CONFIG_DNET is not set
701# CONFIG_IBM_NEW_EMAC_ZMII is not set 827# CONFIG_IBM_NEW_EMAC_ZMII is not set
702# CONFIG_IBM_NEW_EMAC_RGMII is not set 828# CONFIG_IBM_NEW_EMAC_RGMII is not set
703# CONFIG_IBM_NEW_EMAC_TAH is not set 829# CONFIG_IBM_NEW_EMAC_TAH is not set
@@ -706,40 +832,65 @@ CONFIG_SMSC911X=y
706# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set 832# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
707# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 833# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
708# CONFIG_B44 is not set 834# CONFIG_B44 is not set
835# CONFIG_KS8842 is not set
836# CONFIG_KS8851 is not set
837# CONFIG_KS8851_MLL is not set
709# CONFIG_NETDEV_1000 is not set 838# CONFIG_NETDEV_1000 is not set
710# CONFIG_NETDEV_10000 is not set 839# CONFIG_NETDEV_10000 is not set
711 840CONFIG_WLAN=y
712#
713# Wireless LAN
714#
715# CONFIG_WLAN_PRE80211 is not set
716CONFIG_WLAN_80211=y
717CONFIG_LIBERTAS=m
718# CONFIG_LIBERTAS_USB is not set
719CONFIG_LIBERTAS_SDIO=m
720# CONFIG_LIBERTAS_SPI is not set
721# CONFIG_LIBERTAS_DEBUG is not set
722# CONFIG_LIBERTAS_THINFIRM is not set 841# CONFIG_LIBERTAS_THINFIRM is not set
842# CONFIG_AT76C50X_USB is not set
723# CONFIG_USB_ZD1201 is not set 843# CONFIG_USB_ZD1201 is not set
724# CONFIG_USB_NET_RNDIS_WLAN is not set 844# CONFIG_USB_NET_RNDIS_WLAN is not set
725# CONFIG_RTL8187 is not set 845# CONFIG_RTL8187 is not set
726# CONFIG_MAC80211_HWSIM is not set 846# CONFIG_MAC80211_HWSIM is not set
727# CONFIG_P54_COMMON is not set 847# CONFIG_ATH_COMMON is not set
728# CONFIG_IWLWIFI_LEDS is not set
729# CONFIG_HOSTAP is not set
730# CONFIG_B43 is not set 848# CONFIG_B43 is not set
731# CONFIG_B43LEGACY is not set 849# CONFIG_B43LEGACY is not set
732# CONFIG_ZD1211RW is not set 850# CONFIG_HOSTAP is not set
851# CONFIG_IWM is not set
852CONFIG_LIBERTAS=m
853CONFIG_LIBERTAS_USB=m
854CONFIG_LIBERTAS_SDIO=m
855# CONFIG_LIBERTAS_SPI is not set
856# CONFIG_LIBERTAS_DEBUG is not set
857# CONFIG_LIBERTAS_MESH is not set
858# CONFIG_P54_COMMON is not set
733# CONFIG_RT2X00 is not set 859# CONFIG_RT2X00 is not set
860# CONFIG_WL12XX is not set
861# CONFIG_ZD1211RW is not set
862
863#
864# Enable WiMAX (Networking options) to see the WiMAX drivers
865#
734 866
735# 867#
736# USB Network Adapters 868# USB Network Adapters
737# 869#
738# CONFIG_USB_CATC is not set 870# CONFIG_USB_CATC is not set
739# CONFIG_USB_KAWETH is not set 871CONFIG_USB_KAWETH=m
740# CONFIG_USB_PEGASUS is not set 872CONFIG_USB_PEGASUS=m
741# CONFIG_USB_RTL8150 is not set 873# CONFIG_USB_RTL8150 is not set
742# CONFIG_USB_USBNET is not set 874CONFIG_USB_USBNET=m
875CONFIG_USB_NET_AX8817X=m
876CONFIG_USB_NET_CDCETHER=m
877CONFIG_USB_NET_CDC_EEM=m
878CONFIG_USB_NET_DM9601=m
879CONFIG_USB_NET_SMSC95XX=m
880CONFIG_USB_NET_GL620A=m
881CONFIG_USB_NET_NET1080=m
882CONFIG_USB_NET_PLUSB=m
883CONFIG_USB_NET_MCS7830=m
884CONFIG_USB_NET_RNDIS_HOST=m
885CONFIG_USB_NET_CDC_SUBSET=m
886CONFIG_USB_ALI_M5632=y
887CONFIG_USB_AN2720=y
888CONFIG_USB_BELKIN=y
889CONFIG_USB_ARMLINUX=y
890# CONFIG_USB_EPSON2888 is not set
891# CONFIG_USB_KC2190 is not set
892CONFIG_USB_NET_ZAURUS=m
893# CONFIG_USB_NET_INT51X1 is not set
743# CONFIG_WAN is not set 894# CONFIG_WAN is not set
744CONFIG_PPP=m 895CONFIG_PPP=m
745CONFIG_PPP_MULTILINK=y 896CONFIG_PPP_MULTILINK=y
@@ -751,19 +902,24 @@ CONFIG_PPP_BSDCOMP=m
751CONFIG_PPP_MPPE=m 902CONFIG_PPP_MPPE=m
752CONFIG_PPPOE=m 903CONFIG_PPPOE=m
753CONFIG_PPPOL2TP=m 904CONFIG_PPPOL2TP=m
754# CONFIG_SLIP is not set 905CONFIG_SLIP=m
906CONFIG_SLIP_COMPRESSED=y
755CONFIG_SLHC=m 907CONFIG_SLHC=m
908CONFIG_SLIP_SMART=y
909CONFIG_SLIP_MODE_SLIP6=y
756# CONFIG_NETCONSOLE is not set 910# CONFIG_NETCONSOLE is not set
757# CONFIG_NETPOLL is not set 911# CONFIG_NETPOLL is not set
758# CONFIG_NET_POLL_CONTROLLER is not set 912# CONFIG_NET_POLL_CONTROLLER is not set
759# CONFIG_ISDN is not set 913# CONFIG_ISDN is not set
914# CONFIG_PHONE is not set
760 915
761# 916#
762# Input device support 917# Input device support
763# 918#
764CONFIG_INPUT=y 919CONFIG_INPUT=y
765# CONFIG_INPUT_FF_MEMLESS is not set 920CONFIG_INPUT_FF_MEMLESS=m
766# CONFIG_INPUT_POLLDEV is not set 921# CONFIG_INPUT_POLLDEV is not set
922# CONFIG_INPUT_SPARSEKMAP is not set
767 923
768# 924#
769# Userland interfaces 925# Userland interfaces
@@ -780,41 +936,50 @@ CONFIG_INPUT_EVDEV=y
780# Input Device Drivers 936# Input Device Drivers
781# 937#
782CONFIG_INPUT_KEYBOARD=y 938CONFIG_INPUT_KEYBOARD=y
939# CONFIG_KEYBOARD_ADP5588 is not set
783# CONFIG_KEYBOARD_ATKBD is not set 940# CONFIG_KEYBOARD_ATKBD is not set
784# CONFIG_KEYBOARD_SUNKBD is not set 941# CONFIG_QT2160 is not set
785# CONFIG_KEYBOARD_LKKBD is not set 942# CONFIG_KEYBOARD_LKKBD is not set
786# CONFIG_KEYBOARD_XTKBD is not set 943CONFIG_KEYBOARD_GPIO=y
944# CONFIG_KEYBOARD_MATRIX is not set
945# CONFIG_KEYBOARD_LM8323 is not set
946# CONFIG_KEYBOARD_MAX7359 is not set
787# CONFIG_KEYBOARD_NEWTON is not set 947# CONFIG_KEYBOARD_NEWTON is not set
948# CONFIG_KEYBOARD_OPENCORES is not set
788# CONFIG_KEYBOARD_STOWAWAY is not set 949# CONFIG_KEYBOARD_STOWAWAY is not set
789# CONFIG_KEYBOARD_TWL4030 is not set 950# CONFIG_KEYBOARD_SUNKBD is not set
790# CONFIG_KEYBOARD_LM8323 is not set 951CONFIG_KEYBOARD_TWL4030=m
791# CONFIG_KEYBOARD_GPIO is not set 952# CONFIG_KEYBOARD_XTKBD is not set
792CONFIG_INPUT_MOUSE=y 953CONFIG_INPUT_MOUSE=y
793CONFIG_MOUSE_PS2=y 954# CONFIG_MOUSE_PS2 is not set
794CONFIG_MOUSE_PS2_ALPS=y
795CONFIG_MOUSE_PS2_LOGIPS2PP=y
796CONFIG_MOUSE_PS2_SYNAPTICS=y
797CONFIG_MOUSE_PS2_LIFEBOOK=y
798CONFIG_MOUSE_PS2_TRACKPOINT=y
799# CONFIG_MOUSE_PS2_ELANTECH is not set
800# CONFIG_MOUSE_PS2_TOUCHKIT is not set
801# CONFIG_MOUSE_SERIAL is not set 955# CONFIG_MOUSE_SERIAL is not set
802# CONFIG_MOUSE_APPLETOUCH is not set 956# CONFIG_MOUSE_APPLETOUCH is not set
803# CONFIG_MOUSE_BCM5974 is not set 957# CONFIG_MOUSE_BCM5974 is not set
804# CONFIG_MOUSE_VSXXXAA is not set 958# CONFIG_MOUSE_VSXXXAA is not set
805# CONFIG_MOUSE_GPIO is not set 959# CONFIG_MOUSE_GPIO is not set
960# CONFIG_MOUSE_SYNAPTICS_I2C is not set
806# CONFIG_INPUT_JOYSTICK is not set 961# CONFIG_INPUT_JOYSTICK is not set
807# CONFIG_INPUT_TABLET is not set 962# CONFIG_INPUT_TABLET is not set
808# CONFIG_INPUT_TOUCHSCREEN is not set 963# CONFIG_INPUT_TOUCHSCREEN is not set
809# CONFIG_INPUT_MISC is not set 964CONFIG_INPUT_MISC=y
965CONFIG_INPUT_ATI_REMOTE=m
966CONFIG_INPUT_ATI_REMOTE2=m
967# CONFIG_INPUT_KEYSPAN_REMOTE is not set
968# CONFIG_INPUT_POWERMATE is not set
969CONFIG_INPUT_YEALINK=m
970CONFIG_INPUT_CM109=m
971CONFIG_INPUT_TWL4030_PWRBUTTON=y
972CONFIG_INPUT_UINPUT=m
973CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
810 974
811# 975#
812# Hardware I/O ports 976# Hardware I/O ports
813# 977#
814CONFIG_SERIO=y 978CONFIG_SERIO=y
815# CONFIG_SERIO_SERPORT is not set 979CONFIG_SERIO_SERPORT=y
816CONFIG_SERIO_LIBPS2=y 980CONFIG_SERIO_LIBPS2=y
817# CONFIG_SERIO_RAW is not set 981# CONFIG_SERIO_RAW is not set
982# CONFIG_SERIO_ALTERA_PS2 is not set
818# CONFIG_GAMEPORT is not set 983# CONFIG_GAMEPORT is not set
819 984
820# 985#
@@ -825,7 +990,7 @@ CONFIG_CONSOLE_TRANSLATIONS=y
825CONFIG_VT_CONSOLE=y 990CONFIG_VT_CONSOLE=y
826CONFIG_HW_CONSOLE=y 991CONFIG_HW_CONSOLE=y
827CONFIG_VT_HW_CONSOLE_BINDING=y 992CONFIG_VT_HW_CONSOLE_BINDING=y
828CONFIG_DEVKMEM=y 993# CONFIG_DEVKMEM is not set
829# CONFIG_SERIAL_NONSTANDARD is not set 994# CONFIG_SERIAL_NONSTANDARD is not set
830 995
831# 996#
@@ -844,20 +1009,24 @@ CONFIG_SERIAL_8250_RSA=y
844# 1009#
845# Non-8250 serial port support 1010# Non-8250 serial port support
846# 1011#
1012# CONFIG_SERIAL_MAX3100 is not set
847CONFIG_SERIAL_CORE=y 1013CONFIG_SERIAL_CORE=y
848CONFIG_SERIAL_CORE_CONSOLE=y 1014CONFIG_SERIAL_CORE_CONSOLE=y
849CONFIG_UNIX98_PTYS=y 1015CONFIG_UNIX98_PTYS=y
850# CONFIG_LEGACY_PTYS is not set 1016# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
1017CONFIG_LEGACY_PTYS=y
1018CONFIG_LEGACY_PTY_COUNT=16
851# CONFIG_IPMI_HANDLER is not set 1019# CONFIG_IPMI_HANDLER is not set
852CONFIG_HW_RANDOM=y 1020# CONFIG_HW_RANDOM is not set
853# CONFIG_NVRAM is not set
854# CONFIG_R3964 is not set 1021# CONFIG_R3964 is not set
855# CONFIG_RAW_DRIVER is not set 1022# CONFIG_RAW_DRIVER is not set
856# CONFIG_TCG_TPM is not set 1023# CONFIG_TCG_TPM is not set
857CONFIG_I2C=y 1024CONFIG_I2C=y
858CONFIG_I2C_BOARDINFO=y 1025CONFIG_I2C_BOARDINFO=y
1026CONFIG_I2C_COMPAT=y
859CONFIG_I2C_CHARDEV=y 1027CONFIG_I2C_CHARDEV=y
860CONFIG_I2C_HELPER_AUTO=y 1028CONFIG_I2C_HELPER_AUTO=y
1029CONFIG_I2C_ALGOBIT=m
861 1030
862# 1031#
863# I2C Hardware Bus support 1032# I2C Hardware Bus support
@@ -866,6 +1035,7 @@ CONFIG_I2C_HELPER_AUTO=y
866# 1035#
867# I2C system bus drivers (mostly embedded / system-on-chip) 1036# I2C system bus drivers (mostly embedded / system-on-chip)
868# 1037#
1038# CONFIG_I2C_DESIGNWARE is not set
869# CONFIG_I2C_GPIO is not set 1039# CONFIG_I2C_GPIO is not set
870# CONFIG_I2C_OCORES is not set 1040# CONFIG_I2C_OCORES is not set
871CONFIG_I2C_OMAP=y 1041CONFIG_I2C_OMAP=y
@@ -887,21 +1057,7 @@ CONFIG_I2C_OMAP=y
887# 1057#
888# Miscellaneous I2C Chip support 1058# Miscellaneous I2C Chip support
889# 1059#
890# CONFIG_DS1682 is not set
891# CONFIG_AT24 is not set
892CONFIG_SENSORS_EEPROM=y
893# CONFIG_SENSORS_PCF8574 is not set
894# CONFIG_PCF8575 is not set
895# CONFIG_SENSORS_PCA9539 is not set
896# CONFIG_SENSORS_PCF8591 is not set
897# CONFIG_TPS65010 is not set
898CONFIG_TWL4030_MADC=m
899CONFIG_TWL4030_PWRBUTTON=y
900CONFIG_TWL4030_POWEROFF=y
901# CONFIG_SENSORS_MAX6875 is not set
902# CONFIG_SENSORS_TSL2550 is not set 1060# CONFIG_SENSORS_TSL2550 is not set
903# CONFIG_SENSORS_TSL2563 is not set
904# CONFIG_LP5521 is not set
905# CONFIG_I2C_DEBUG_CORE is not set 1061# CONFIG_I2C_DEBUG_CORE is not set
906# CONFIG_I2C_DEBUG_ALGO is not set 1062# CONFIG_I2C_DEBUG_ALGO is not set
907# CONFIG_I2C_DEBUG_BUS is not set 1063# CONFIG_I2C_DEBUG_BUS is not set
@@ -914,16 +1070,22 @@ CONFIG_SPI_MASTER=y
914# SPI Master Controller Drivers 1070# SPI Master Controller Drivers
915# 1071#
916# CONFIG_SPI_BITBANG is not set 1072# CONFIG_SPI_BITBANG is not set
1073# CONFIG_SPI_GPIO is not set
917CONFIG_SPI_OMAP24XX=y 1074CONFIG_SPI_OMAP24XX=y
1075# CONFIG_SPI_XILINX is not set
1076# CONFIG_SPI_DESIGNWARE is not set
918 1077
919# 1078#
920# SPI Protocol Masters 1079# SPI Protocol Masters
921# 1080#
922# CONFIG_SPI_AT25 is not set
923# CONFIG_SPI_TSC210X is not set
924# CONFIG_SPI_TSC2301 is not set
925CONFIG_SPI_SPIDEV=y 1081CONFIG_SPI_SPIDEV=y
926# CONFIG_SPI_TLE62X0 is not set 1082# CONFIG_SPI_TLE62X0 is not set
1083
1084#
1085# PPS support
1086#
1087CONFIG_PPS=m
1088# CONFIG_PPS_DEBUG is not set
927CONFIG_ARCH_REQUIRE_GPIOLIB=y 1089CONFIG_ARCH_REQUIRE_GPIOLIB=y
928CONFIG_GPIOLIB=y 1090CONFIG_GPIOLIB=y
929# CONFIG_DEBUG_GPIO is not set 1091# CONFIG_DEBUG_GPIO is not set
@@ -940,6 +1102,7 @@ CONFIG_GPIO_SYSFS=y
940# CONFIG_GPIO_PCA953X is not set 1102# CONFIG_GPIO_PCA953X is not set
941# CONFIG_GPIO_PCF857X is not set 1103# CONFIG_GPIO_PCF857X is not set
942CONFIG_GPIO_TWL4030=y 1104CONFIG_GPIO_TWL4030=y
1105# CONFIG_GPIO_ADP5588 is not set
943 1106
944# 1107#
945# PCI GPIO expanders: 1108# PCI GPIO expanders:
@@ -950,10 +1113,26 @@ CONFIG_GPIO_TWL4030=y
950# 1113#
951# CONFIG_GPIO_MAX7301 is not set 1114# CONFIG_GPIO_MAX7301 is not set
952# CONFIG_GPIO_MCP23S08 is not set 1115# CONFIG_GPIO_MCP23S08 is not set
1116# CONFIG_GPIO_MC33880 is not set
1117
1118#
1119# AC97 GPIO expanders:
1120#
953# CONFIG_W1 is not set 1121# CONFIG_W1 is not set
954# CONFIG_POWER_SUPPLY is not set 1122CONFIG_POWER_SUPPLY=y
1123# CONFIG_POWER_SUPPLY_DEBUG is not set
1124# CONFIG_PDA_POWER is not set
1125# CONFIG_BATTERY_DS2760 is not set
1126# CONFIG_BATTERY_DS2782 is not set
1127# CONFIG_BATTERY_BQ27x00 is not set
1128# CONFIG_BATTERY_MAX17040 is not set
955CONFIG_HWMON=y 1129CONFIG_HWMON=y
956# CONFIG_HWMON_VID is not set 1130# CONFIG_HWMON_VID is not set
1131# CONFIG_HWMON_DEBUG_CHIP is not set
1132
1133#
1134# Native drivers
1135#
957# CONFIG_SENSORS_AD7414 is not set 1136# CONFIG_SENSORS_AD7414 is not set
958# CONFIG_SENSORS_AD7418 is not set 1137# CONFIG_SENSORS_AD7418 is not set
959# CONFIG_SENSORS_ADCXX is not set 1138# CONFIG_SENSORS_ADCXX is not set
@@ -966,16 +1145,19 @@ CONFIG_HWMON=y
966# CONFIG_SENSORS_ADT7462 is not set 1145# CONFIG_SENSORS_ADT7462 is not set
967# CONFIG_SENSORS_ADT7470 is not set 1146# CONFIG_SENSORS_ADT7470 is not set
968# CONFIG_SENSORS_ADT7473 is not set 1147# CONFIG_SENSORS_ADT7473 is not set
1148# CONFIG_SENSORS_ADT7475 is not set
969# CONFIG_SENSORS_ATXP1 is not set 1149# CONFIG_SENSORS_ATXP1 is not set
970# CONFIG_SENSORS_DS1621 is not set 1150# CONFIG_SENSORS_DS1621 is not set
971# CONFIG_SENSORS_F71805F is not set 1151# CONFIG_SENSORS_F71805F is not set
972# CONFIG_SENSORS_F71882FG is not set 1152# CONFIG_SENSORS_F71882FG is not set
973# CONFIG_SENSORS_F75375S is not set 1153# CONFIG_SENSORS_F75375S is not set
1154# CONFIG_SENSORS_G760A is not set
974# CONFIG_SENSORS_GL518SM is not set 1155# CONFIG_SENSORS_GL518SM is not set
975# CONFIG_SENSORS_GL520SM is not set 1156# CONFIG_SENSORS_GL520SM is not set
976# CONFIG_SENSORS_IT87 is not set 1157# CONFIG_SENSORS_IT87 is not set
977# CONFIG_SENSORS_LM63 is not set 1158# CONFIG_SENSORS_LM63 is not set
978# CONFIG_SENSORS_LM70 is not set 1159# CONFIG_SENSORS_LM70 is not set
1160# CONFIG_SENSORS_LM73 is not set
979# CONFIG_SENSORS_LM75 is not set 1161# CONFIG_SENSORS_LM75 is not set
980# CONFIG_SENSORS_LM77 is not set 1162# CONFIG_SENSORS_LM77 is not set
981# CONFIG_SENSORS_LM78 is not set 1163# CONFIG_SENSORS_LM78 is not set
@@ -986,17 +1168,25 @@ CONFIG_HWMON=y
986# CONFIG_SENSORS_LM90 is not set 1168# CONFIG_SENSORS_LM90 is not set
987# CONFIG_SENSORS_LM92 is not set 1169# CONFIG_SENSORS_LM92 is not set
988# CONFIG_SENSORS_LM93 is not set 1170# CONFIG_SENSORS_LM93 is not set
1171# CONFIG_SENSORS_LTC4215 is not set
1172# CONFIG_SENSORS_LTC4245 is not set
1173# CONFIG_SENSORS_LM95241 is not set
989# CONFIG_SENSORS_MAX1111 is not set 1174# CONFIG_SENSORS_MAX1111 is not set
990# CONFIG_SENSORS_MAX1619 is not set 1175# CONFIG_SENSORS_MAX1619 is not set
991# CONFIG_SENSORS_MAX6650 is not set 1176# CONFIG_SENSORS_MAX6650 is not set
992# CONFIG_SENSORS_PC87360 is not set 1177# CONFIG_SENSORS_PC87360 is not set
993# CONFIG_SENSORS_PC87427 is not set 1178# CONFIG_SENSORS_PC87427 is not set
1179# CONFIG_SENSORS_PCF8591 is not set
1180# CONFIG_SENSORS_SHT15 is not set
994# CONFIG_SENSORS_DME1737 is not set 1181# CONFIG_SENSORS_DME1737 is not set
995# CONFIG_SENSORS_SMSC47M1 is not set 1182# CONFIG_SENSORS_SMSC47M1 is not set
996# CONFIG_SENSORS_SMSC47M192 is not set 1183# CONFIG_SENSORS_SMSC47M192 is not set
997# CONFIG_SENSORS_SMSC47B397 is not set 1184# CONFIG_SENSORS_SMSC47B397 is not set
998# CONFIG_SENSORS_ADS7828 is not set 1185# CONFIG_SENSORS_ADS7828 is not set
1186# CONFIG_SENSORS_AMC6821 is not set
999# CONFIG_SENSORS_THMC50 is not set 1187# CONFIG_SENSORS_THMC50 is not set
1188# CONFIG_SENSORS_TMP401 is not set
1189# CONFIG_SENSORS_TMP421 is not set
1000# CONFIG_SENSORS_VT1211 is not set 1190# CONFIG_SENSORS_VT1211 is not set
1001# CONFIG_SENSORS_W83781D is not set 1191# CONFIG_SENSORS_W83781D is not set
1002# CONFIG_SENSORS_W83791D is not set 1192# CONFIG_SENSORS_W83791D is not set
@@ -1006,10 +1196,9 @@ CONFIG_HWMON=y
1006# CONFIG_SENSORS_W83L786NG is not set 1196# CONFIG_SENSORS_W83L786NG is not set
1007# CONFIG_SENSORS_W83627HF is not set 1197# CONFIG_SENSORS_W83627HF is not set
1008# CONFIG_SENSORS_W83627EHF is not set 1198# CONFIG_SENSORS_W83627EHF is not set
1009# CONFIG_SENSORS_TSC210X is not set 1199# CONFIG_SENSORS_LIS3_SPI is not set
1010CONFIG_SENSORS_OMAP34XX=y 1200# CONFIG_SENSORS_LIS3_I2C is not set
1011# CONFIG_HWMON_DEBUG_CHIP is not set 1201CONFIG_THERMAL=m
1012CONFIG_THERMAL=y
1013CONFIG_THERMAL_HWMON=y 1202CONFIG_THERMAL_HWMON=y
1014CONFIG_WATCHDOG=y 1203CONFIG_WATCHDOG=y
1015CONFIG_WATCHDOG_NOWAYOUT=y 1204CONFIG_WATCHDOG_NOWAYOUT=y
@@ -1017,8 +1206,9 @@ CONFIG_WATCHDOG_NOWAYOUT=y
1017# 1206#
1018# Watchdog Device Drivers 1207# Watchdog Device Drivers
1019# 1208#
1020# CONFIG_SOFT_WATCHDOG is not set 1209CONFIG_SOFT_WATCHDOG=m
1021CONFIG_OMAP_WATCHDOG=y 1210CONFIG_OMAP_WATCHDOG=m
1211CONFIG_TWL4030_WATCHDOG=m
1022 1212
1023# 1213#
1024# USB-based Watchdog Cards 1214# USB-based Watchdog Cards
@@ -1029,29 +1219,52 @@ CONFIG_SSB_POSSIBLE=y
1029# 1219#
1030# Sonics Silicon Backplane 1220# Sonics Silicon Backplane
1031# 1221#
1032# CONFIG_SSB is not set 1222CONFIG_SSB=m
1223CONFIG_SSB_SDIOHOST_POSSIBLE=y
1224# CONFIG_SSB_SDIOHOST is not set
1225# CONFIG_SSB_SILENT is not set
1226# CONFIG_SSB_DEBUG is not set
1033 1227
1034# 1228#
1035# Multifunction device drivers 1229# Multifunction device drivers
1036# 1230#
1037# CONFIG_MFD_CORE is not set 1231CONFIG_MFD_CORE=y
1038# CONFIG_MFD_SM501 is not set 1232# CONFIG_MFD_SM501 is not set
1039# CONFIG_MFD_ASIC3 is not set 1233# CONFIG_MFD_ASIC3 is not set
1040# CONFIG_HTC_EGPIO is not set 1234# CONFIG_HTC_EGPIO is not set
1041# CONFIG_HTC_PASIC3 is not set 1235# CONFIG_HTC_PASIC3 is not set
1236# CONFIG_TPS65010 is not set
1042CONFIG_TWL4030_CORE=y 1237CONFIG_TWL4030_CORE=y
1043# CONFIG_TWL4030_POWER is not set 1238CONFIG_TWL4030_POWER=y
1239CONFIG_TWL4030_CODEC=y
1044# CONFIG_MFD_TMIO is not set 1240# CONFIG_MFD_TMIO is not set
1045# CONFIG_MFD_T7L66XB is not set 1241# CONFIG_MFD_T7L66XB is not set
1046# CONFIG_MFD_TC6387XB is not set 1242# CONFIG_MFD_TC6387XB is not set
1047# CONFIG_MFD_TC6393XB is not set 1243# CONFIG_MFD_TC6393XB is not set
1048# CONFIG_PMIC_DA903X is not set 1244# CONFIG_PMIC_DA903X is not set
1245# CONFIG_PMIC_ADP5520 is not set
1049# CONFIG_MFD_WM8400 is not set 1246# CONFIG_MFD_WM8400 is not set
1247# CONFIG_MFD_WM831X is not set
1050# CONFIG_MFD_WM8350_I2C is not set 1248# CONFIG_MFD_WM8350_I2C is not set
1051 1249# CONFIG_MFD_PCF50633 is not set
1052# 1250# CONFIG_MFD_MC13783 is not set
1053# Multimedia devices 1251# CONFIG_AB3100_CORE is not set
1054# 1252# CONFIG_EZX_PCAP is not set
1253# CONFIG_MFD_88PM8607 is not set
1254# CONFIG_AB4500_CORE is not set
1255CONFIG_REGULATOR=y
1256# CONFIG_REGULATOR_DEBUG is not set
1257# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1258# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1259# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
1260# CONFIG_REGULATOR_BQ24022 is not set
1261# CONFIG_REGULATOR_MAX1586 is not set
1262# CONFIG_REGULATOR_MAX8660 is not set
1263CONFIG_REGULATOR_TWL4030=y
1264# CONFIG_REGULATOR_LP3971 is not set
1265# CONFIG_REGULATOR_TPS65023 is not set
1266# CONFIG_REGULATOR_TPS6507X is not set
1267CONFIG_MEDIA_SUPPORT=y
1055 1268
1056# 1269#
1057# Multimedia core support 1270# Multimedia core support
@@ -1066,56 +1279,89 @@ CONFIG_VIDEO_MEDIA=m
1066# 1279#
1067# Multimedia drivers 1280# Multimedia drivers
1068# 1281#
1282CONFIG_IR_CORE=y
1283CONFIG_VIDEO_IR=y
1069CONFIG_MEDIA_ATTACH=y 1284CONFIG_MEDIA_ATTACH=y
1070CONFIG_MEDIA_TUNER=m 1285CONFIG_MEDIA_TUNER=m
1071# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set 1286# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
1072CONFIG_MEDIA_TUNER_SIMPLE=m 1287CONFIG_MEDIA_TUNER_SIMPLE=m
1073CONFIG_MEDIA_TUNER_TDA8290=m 1288CONFIG_MEDIA_TUNER_TDA8290=m
1074CONFIG_MEDIA_TUNER_TDA827X=m
1075CONFIG_MEDIA_TUNER_TDA18271=m 1289CONFIG_MEDIA_TUNER_TDA18271=m
1076CONFIG_MEDIA_TUNER_TDA9887=m 1290CONFIG_MEDIA_TUNER_TDA9887=m
1077CONFIG_MEDIA_TUNER_TEA5761=m 1291CONFIG_MEDIA_TUNER_TEA5761=m
1078CONFIG_MEDIA_TUNER_TEA5767=m 1292CONFIG_MEDIA_TUNER_TEA5767=m
1079CONFIG_MEDIA_TUNER_MT20XX=m 1293CONFIG_MEDIA_TUNER_MT20XX=m
1080CONFIG_MEDIA_TUNER_MT2060=m
1081CONFIG_MEDIA_TUNER_MT2266=m
1082CONFIG_MEDIA_TUNER_QT1010=m
1083CONFIG_MEDIA_TUNER_XC2028=m 1294CONFIG_MEDIA_TUNER_XC2028=m
1084CONFIG_MEDIA_TUNER_XC5000=m 1295CONFIG_MEDIA_TUNER_XC5000=m
1085CONFIG_MEDIA_TUNER_MXL5005S=m 1296CONFIG_MEDIA_TUNER_MXL5007T=m
1297CONFIG_MEDIA_TUNER_MC44S803=m
1086CONFIG_VIDEO_V4L2=m 1298CONFIG_VIDEO_V4L2=m
1087CONFIG_VIDEO_V4L1=m 1299CONFIG_VIDEO_V4L1=m
1300CONFIG_VIDEOBUF_GEN=m
1301CONFIG_VIDEOBUF_DMA_SG=m
1302CONFIG_VIDEOBUF_VMALLOC=m
1303CONFIG_VIDEOBUF_DMA_CONTIG=m
1304CONFIG_VIDEOBUF_DVB=m
1088CONFIG_VIDEO_TVEEPROM=m 1305CONFIG_VIDEO_TVEEPROM=m
1089CONFIG_VIDEO_TUNER=m 1306CONFIG_VIDEO_TUNER=m
1090CONFIG_VIDEO_CAPTURE_DRIVERS=y 1307CONFIG_VIDEO_CAPTURE_DRIVERS=y
1091# CONFIG_VIDEO_ADV_DEBUG is not set 1308# CONFIG_VIDEO_ADV_DEBUG is not set
1092# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set 1309# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
1093CONFIG_VIDEO_HELPER_CHIPS_AUTO=y 1310CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
1311CONFIG_VIDEO_IR_I2C=m
1094CONFIG_VIDEO_MSP3400=m 1312CONFIG_VIDEO_MSP3400=m
1095CONFIG_VIDEO_CS53L32A=m 1313CONFIG_VIDEO_CS53L32A=m
1096CONFIG_VIDEO_WM8775=m 1314CONFIG_VIDEO_WM8775=m
1315CONFIG_VIDEO_MT9V011=m
1097CONFIG_VIDEO_SAA711X=m 1316CONFIG_VIDEO_SAA711X=m
1317CONFIG_VIDEO_TVP5150=m
1098CONFIG_VIDEO_CX25840=m 1318CONFIG_VIDEO_CX25840=m
1099CONFIG_VIDEO_CX2341X=m 1319CONFIG_VIDEO_CX2341X=m
1100# CONFIG_VIDEO_VIVI is not set 1320CONFIG_VIDEO_VIVI=m
1101# CONFIG_VIDEO_CPIA is not set 1321# CONFIG_VIDEO_CPIA is not set
1102# CONFIG_VIDEO_CPIA2 is not set 1322CONFIG_VIDEO_CPIA2=m
1103# CONFIG_VIDEO_SAA5246A is not set 1323CONFIG_VIDEO_SAA5246A=m
1104# CONFIG_VIDEO_SAA5249 is not set 1324CONFIG_VIDEO_SAA5249=m
1105# CONFIG_VIDEO_AU0828 is not set 1325CONFIG_VIDEO_AU0828=m
1106# CONFIG_SOC_CAMERA is not set 1326CONFIG_VIDEO_OMAP3=m
1327CONFIG_VIDEO_OMAP34XX_ISP_PREVIEWER=m
1328CONFIG_VIDEO_OMAP34XX_ISP_RESIZER=m
1329CONFIG_SOC_CAMERA=m
1330CONFIG_SOC_CAMERA_MT9M001=m
1331CONFIG_SOC_CAMERA_MT9M111=m
1332CONFIG_SOC_CAMERA_MT9T031=m
1333CONFIG_SOC_CAMERA_MT9T112=m
1334CONFIG_SOC_CAMERA_MT9V022=m
1335CONFIG_SOC_CAMERA_RJ54N1=m
1336CONFIG_SOC_CAMERA_TW9910=m
1337CONFIG_SOC_CAMERA_PLATFORM=m
1338CONFIG_SOC_CAMERA_OV772X=m
1339CONFIG_SOC_CAMERA_OV9640=m
1340CONFIG_VIDEO_SH_MOBILE_CEU=m
1107CONFIG_V4L_USB_DRIVERS=y 1341CONFIG_V4L_USB_DRIVERS=y
1108CONFIG_USB_VIDEO_CLASS=m 1342CONFIG_USB_VIDEO_CLASS=m
1109CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y 1343CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
1110CONFIG_USB_GSPCA=m 1344CONFIG_USB_GSPCA=m
1111CONFIG_USB_M5602=m 1345CONFIG_USB_M5602=m
1346CONFIG_USB_STV06XX=m
1347CONFIG_USB_GL860=m
1348CONFIG_USB_GSPCA_BENQ=m
1112CONFIG_USB_GSPCA_CONEX=m 1349CONFIG_USB_GSPCA_CONEX=m
1350CONFIG_USB_GSPCA_CPIA1=m
1113CONFIG_USB_GSPCA_ETOMS=m 1351CONFIG_USB_GSPCA_ETOMS=m
1114CONFIG_USB_GSPCA_FINEPIX=m 1352CONFIG_USB_GSPCA_FINEPIX=m
1353CONFIG_USB_GSPCA_JEILINJ=m
1115CONFIG_USB_GSPCA_MARS=m 1354CONFIG_USB_GSPCA_MARS=m
1355CONFIG_USB_GSPCA_MR97310A=m
1116CONFIG_USB_GSPCA_OV519=m 1356CONFIG_USB_GSPCA_OV519=m
1357CONFIG_USB_GSPCA_OV534=m
1358CONFIG_USB_GSPCA_OV534_9=m
1117CONFIG_USB_GSPCA_PAC207=m 1359CONFIG_USB_GSPCA_PAC207=m
1360CONFIG_USB_GSPCA_PAC7302=m
1118CONFIG_USB_GSPCA_PAC7311=m 1361CONFIG_USB_GSPCA_PAC7311=m
1362CONFIG_USB_GSPCA_SN9C2028=m
1363CONFIG_USB_GSPCA_SN9C20X=m
1364CONFIG_USB_GSPCA_SN9C20X_EVDEV=y
1119CONFIG_USB_GSPCA_SONIXB=m 1365CONFIG_USB_GSPCA_SONIXB=m
1120CONFIG_USB_GSPCA_SONIXJ=m 1366CONFIG_USB_GSPCA_SONIXJ=m
1121CONFIG_USB_GSPCA_SPCA500=m 1367CONFIG_USB_GSPCA_SPCA500=m
@@ -1124,7 +1370,10 @@ CONFIG_USB_GSPCA_SPCA505=m
1124CONFIG_USB_GSPCA_SPCA506=m 1370CONFIG_USB_GSPCA_SPCA506=m
1125CONFIG_USB_GSPCA_SPCA508=m 1371CONFIG_USB_GSPCA_SPCA508=m
1126CONFIG_USB_GSPCA_SPCA561=m 1372CONFIG_USB_GSPCA_SPCA561=m
1373CONFIG_USB_GSPCA_SQ905=m
1374CONFIG_USB_GSPCA_SQ905C=m
1127CONFIG_USB_GSPCA_STK014=m 1375CONFIG_USB_GSPCA_STK014=m
1376CONFIG_USB_GSPCA_STV0680=m
1128CONFIG_USB_GSPCA_SUNPLUS=m 1377CONFIG_USB_GSPCA_SUNPLUS=m
1129CONFIG_USB_GSPCA_T613=m 1378CONFIG_USB_GSPCA_T613=m
1130CONFIG_USB_GSPCA_TV8532=m 1379CONFIG_USB_GSPCA_TV8532=m
@@ -1134,67 +1383,44 @@ CONFIG_VIDEO_PVRUSB2=m
1134CONFIG_VIDEO_PVRUSB2_SYSFS=y 1383CONFIG_VIDEO_PVRUSB2_SYSFS=y
1135CONFIG_VIDEO_PVRUSB2_DVB=y 1384CONFIG_VIDEO_PVRUSB2_DVB=y
1136# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set 1385# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
1137# CONFIG_VIDEO_EM28XX is not set 1386CONFIG_VIDEO_HDPVR=m
1387CONFIG_VIDEO_EM28XX=m
1388CONFIG_VIDEO_EM28XX_ALSA=m
1389CONFIG_VIDEO_EM28XX_DVB=m
1390CONFIG_VIDEO_TLG2300=m
1391CONFIG_VIDEO_CX231XX=m
1392CONFIG_VIDEO_CX231XX_ALSA=m
1393CONFIG_VIDEO_CX231XX_DVB=m
1138CONFIG_VIDEO_USBVISION=m 1394CONFIG_VIDEO_USBVISION=m
1139CONFIG_VIDEO_USBVIDEO=m 1395CONFIG_VIDEO_USBVIDEO=m
1140CONFIG_USB_VICAM=m 1396# CONFIG_USB_VICAM is not set
1141CONFIG_USB_IBMCAM=m 1397CONFIG_USB_IBMCAM=m
1142CONFIG_USB_KONICAWC=m 1398CONFIG_USB_KONICAWC=m
1143CONFIG_USB_QUICKCAM_MESSENGER=m 1399# CONFIG_USB_QUICKCAM_MESSENGER is not set
1144# CONFIG_USB_ET61X251 is not set 1400# CONFIG_USB_ET61X251 is not set
1145CONFIG_VIDEO_OVCAMCHIP=m 1401# CONFIG_VIDEO_OVCAMCHIP is not set
1146CONFIG_USB_W9968CF=m 1402# CONFIG_USB_OV511 is not set
1147CONFIG_USB_OV511=m
1148CONFIG_USB_SE401=m 1403CONFIG_USB_SE401=m
1149CONFIG_USB_SN9C102=m 1404# CONFIG_USB_SN9C102 is not set
1150CONFIG_USB_STV680=m 1405# CONFIG_USB_STV680 is not set
1151# CONFIG_USB_ZC0301 is not set 1406# CONFIG_USB_ZC0301 is not set
1152CONFIG_USB_PWC=m 1407CONFIG_USB_PWC=m
1153# CONFIG_USB_PWC_DEBUG is not set 1408# CONFIG_USB_PWC_DEBUG is not set
1409CONFIG_USB_PWC_INPUT_EVDEV=y
1154CONFIG_USB_ZR364XX=m 1410CONFIG_USB_ZR364XX=m
1155# CONFIG_USB_STKWEBCAM is not set 1411CONFIG_USB_STKWEBCAM=m
1156# CONFIG_USB_S2255 is not set 1412CONFIG_USB_S2255=m
1157CONFIG_RADIO_ADAPTERS=y 1413# CONFIG_RADIO_ADAPTERS is not set
1158# CONFIG_USB_DSBR is not set 1414CONFIG_DVB_MAX_ADAPTERS=8
1159# CONFIG_USB_SI470X is not set 1415# CONFIG_DVB_DYNAMIC_MINORS is not set
1160# CONFIG_USB_MR800 is not set
1161CONFIG_DVB_CAPTURE_DRIVERS=y 1416CONFIG_DVB_CAPTURE_DRIVERS=y
1162# CONFIG_TTPCI_EEPROM is not set 1417# CONFIG_TTPCI_EEPROM is not set
1163 1418
1164# 1419#
1165# Supported USB Adapters 1420# Supported USB Adapters
1166# 1421#
1167CONFIG_DVB_USB=m 1422# CONFIG_DVB_USB is not set
1168# CONFIG_DVB_USB_DEBUG is not set 1423# CONFIG_SMS_SIANO_MDTV is not set
1169CONFIG_DVB_USB_A800=m
1170CONFIG_DVB_USB_DIBUSB_MB=m
1171# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
1172CONFIG_DVB_USB_DIBUSB_MC=m
1173CONFIG_DVB_USB_DIB0700=m
1174CONFIG_DVB_USB_UMT_010=m
1175CONFIG_DVB_USB_CXUSB=m
1176CONFIG_DVB_USB_M920X=m
1177CONFIG_DVB_USB_GL861=m
1178CONFIG_DVB_USB_AU6610=m
1179CONFIG_DVB_USB_DIGITV=m
1180CONFIG_DVB_USB_VP7045=m
1181CONFIG_DVB_USB_VP702X=m
1182CONFIG_DVB_USB_GP8PSK=m
1183CONFIG_DVB_USB_NOVA_T_USB2=m
1184CONFIG_DVB_USB_TTUSB2=m
1185CONFIG_DVB_USB_DTT200U=m
1186CONFIG_DVB_USB_OPERA1=m
1187CONFIG_DVB_USB_AF9005=m
1188CONFIG_DVB_USB_AF9005_REMOTE=m
1189CONFIG_DVB_USB_DW2102=m
1190CONFIG_DVB_USB_CINERGY_T2=m
1191CONFIG_DVB_USB_ANYSEE=m
1192CONFIG_DVB_USB_DTV5100=m
1193CONFIG_DVB_USB_AF9015=m
1194CONFIG_DVB_TTUSB_BUDGET=m
1195CONFIG_DVB_TTUSB_DEC=m
1196CONFIG_DVB_SIANO_SMS1XXX=m
1197CONFIG_DVB_SIANO_SMS1XXX_SMS_IDS=y
1198 1424
1199# 1425#
1200# Supported FlexCopII (B2C2) Adapters 1426# Supported FlexCopII (B2C2) Adapters
@@ -1204,90 +1430,16 @@ CONFIG_DVB_SIANO_SMS1XXX_SMS_IDS=y
1204# 1430#
1205# Supported DVB Frontends 1431# Supported DVB Frontends
1206# 1432#
1207
1208#
1209# Customise DVB Frontends
1210#
1211# CONFIG_DVB_FE_CUSTOMISE is not set 1433# CONFIG_DVB_FE_CUSTOMISE is not set
1212
1213#
1214# DVB-S (satellite) frontends
1215#
1216CONFIG_DVB_CX24110=m
1217CONFIG_DVB_CX24123=m
1218CONFIG_DVB_MT312=m
1219CONFIG_DVB_S5H1420=m
1220CONFIG_DVB_STV0288=m
1221CONFIG_DVB_STB6000=m
1222CONFIG_DVB_STV0299=m
1223CONFIG_DVB_TDA8083=m
1224CONFIG_DVB_TDA10086=m
1225CONFIG_DVB_VES1X93=m
1226CONFIG_DVB_TUNER_ITD1000=m
1227CONFIG_DVB_TDA826X=m
1228CONFIG_DVB_TUA6100=m
1229CONFIG_DVB_CX24116=m
1230CONFIG_DVB_SI21XX=m
1231
1232#
1233# DVB-T (terrestrial) frontends
1234#
1235CONFIG_DVB_SP8870=m
1236CONFIG_DVB_SP887X=m
1237CONFIG_DVB_CX22700=m
1238CONFIG_DVB_CX22702=m
1239# CONFIG_DVB_DRX397XD is not set
1240CONFIG_DVB_L64781=m
1241CONFIG_DVB_TDA1004X=m
1242CONFIG_DVB_NXT6000=m
1243CONFIG_DVB_MT352=m
1244CONFIG_DVB_ZL10353=m 1434CONFIG_DVB_ZL10353=m
1245CONFIG_DVB_DIB3000MB=m
1246CONFIG_DVB_DIB3000MC=m
1247CONFIG_DVB_DIB7000M=m
1248CONFIG_DVB_DIB7000P=m
1249CONFIG_DVB_TDA10048=m 1435CONFIG_DVB_TDA10048=m
1250
1251#
1252# DVB-C (cable) frontends
1253#
1254CONFIG_DVB_VES1820=m
1255CONFIG_DVB_TDA10021=m
1256CONFIG_DVB_TDA10023=m 1436CONFIG_DVB_TDA10023=m
1257CONFIG_DVB_STV0297=m
1258
1259#
1260# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
1261#
1262CONFIG_DVB_NXT200X=m
1263# CONFIG_DVB_OR51211 is not set
1264# CONFIG_DVB_OR51132 is not set
1265CONFIG_DVB_BCM3510=m
1266CONFIG_DVB_LGDT330X=m 1437CONFIG_DVB_LGDT330X=m
1267CONFIG_DVB_S5H1409=m 1438CONFIG_DVB_S5H1409=m
1268CONFIG_DVB_AU8522=m 1439CONFIG_DVB_AU8522=m
1269CONFIG_DVB_S5H1411=m 1440CONFIG_DVB_S5H1411=m
1270 1441CONFIG_DAB=y
1271# 1442CONFIG_USB_DABUSB=m
1272# Digital terrestrial only tuners/PLL
1273#
1274CONFIG_DVB_PLL=m
1275CONFIG_DVB_TUNER_DIB0070=m
1276
1277#
1278# SEC control devices for DVB-S
1279#
1280CONFIG_DVB_LNBP21=m
1281# CONFIG_DVB_ISL6405 is not set
1282CONFIG_DVB_ISL6421=m
1283# CONFIG_DVB_LGS8GL5 is not set
1284
1285#
1286# Tools to develop new frontends
1287#
1288# CONFIG_DVB_DUMMY_FE is not set
1289CONFIG_DVB_AF9013=m
1290# CONFIG_DAB is not set
1291 1443
1292# 1444#
1293# Graphics support 1445# Graphics support
@@ -1310,40 +1462,46 @@ CONFIG_FB_CFB_IMAGEBLIT=y
1310# CONFIG_FB_SVGALIB is not set 1462# CONFIG_FB_SVGALIB is not set
1311# CONFIG_FB_MACMODES is not set 1463# CONFIG_FB_MACMODES is not set
1312# CONFIG_FB_BACKLIGHT is not set 1464# CONFIG_FB_BACKLIGHT is not set
1313# CONFIG_FB_MODE_HELPERS is not set 1465CONFIG_FB_MODE_HELPERS=y
1314# CONFIG_FB_TILEBLITTING is not set 1466# CONFIG_FB_TILEBLITTING is not set
1315 1467
1316# 1468#
1317# Frame buffer hardware drivers 1469# Frame buffer hardware drivers
1318# 1470#
1471# CONFIG_FB_UVESA is not set
1319# CONFIG_FB_S1D13XXX is not set 1472# CONFIG_FB_S1D13XXX is not set
1473# CONFIG_FB_TMIO is not set
1320# CONFIG_FB_VIRTUAL is not set 1474# CONFIG_FB_VIRTUAL is not set
1321# CONFIG_FB_METRONOME is not set 1475# CONFIG_FB_METRONOME is not set
1322# CONFIG_FB_MB862XX is not set 1476# CONFIG_FB_MB862XX is not set
1477# CONFIG_FB_BROADSHEET is not set
1323# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set 1478# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
1479CONFIG_OMAP2_VRAM=y
1480CONFIG_OMAP2_VRFB=y
1324CONFIG_OMAP2_DSS=y 1481CONFIG_OMAP2_DSS=y
1325CONFIG_OMAP2_DSS_VRAM_SIZE=4 1482CONFIG_OMAP2_VRAM_SIZE=14
1326CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y 1483CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
1484# CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set
1327# CONFIG_OMAP2_DSS_RFBI is not set 1485# CONFIG_OMAP2_DSS_RFBI is not set
1328# CONFIG_OMAP2_DSS_VENC is not set 1486# CONFIG_OMAP2_DSS_VENC is not set
1329# CONFIG_OMAP2_DSS_SDI is not set 1487# CONFIG_OMAP2_DSS_SDI is not set
1330CONFIG_OMAP2_DSS_DSI=y 1488CONFIG_OMAP2_DSS_DSI=y
1331CONFIG_OMAP2_DSS_USE_DSI_PLL=y 1489CONFIG_OMAP2_DSS_USE_DSI_PLL=y
1332# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set 1490# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
1333CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=1 1491CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
1492CONFIG_FB_OMAP2=y
1493CONFIG_FB_OMAP2_DEBUG_SUPPORT=y
1494CONFIG_FB_OMAP2_NUM_FBS=3
1334 1495
1335# 1496#
1336# OMAP2/3 Display Device Drivers 1497# OMAP2/3 Display Device Drivers
1337# 1498#
1338CONFIG_PANEL_GENERIC=y 1499CONFIG_PANEL_GENERIC=y
1339# CONFIG_PANEL_SAMSUNG_LTE430WQ_F0C is not set
1340# CONFIG_PANEL_SHARP_LS037V7DW01 is not set 1500# CONFIG_PANEL_SHARP_LS037V7DW01 is not set
1341# CONFIG_PANEL_N800 is not set 1501# CONFIG_PANEL_SHARP_LQ043T1DG01 is not set
1342# CONFIG_CTRL_BLIZZARD is not set 1502# CONFIG_PANEL_TAAL is not set
1343CONFIG_FB_OMAP2=y 1503# CONFIG_PANEL_TOPPOLY_TDO35S is not set
1344CONFIG_FB_OMAP2_DEBUG_SUPPORT=y 1504# CONFIG_PANEL_TPO_TD043MTEA1 is not set
1345# CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE is not set
1346CONFIG_FB_OMAP2_NUM_FBS=3
1347# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 1505# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
1348 1506
1349# 1507#
@@ -1363,15 +1521,28 @@ CONFIG_DUMMY_CONSOLE=y
1363CONFIG_FRAMEBUFFER_CONSOLE=y 1521CONFIG_FRAMEBUFFER_CONSOLE=y
1364# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set 1522# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
1365CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y 1523CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
1366# CONFIG_FONTS is not set 1524CONFIG_FONTS=y
1367CONFIG_FONT_8x8=y 1525# CONFIG_FONT_8x8 is not set
1368CONFIG_FONT_8x16=y 1526CONFIG_FONT_8x16=y
1369# CONFIG_LOGO is not set 1527# CONFIG_FONT_6x11 is not set
1528# CONFIG_FONT_7x14 is not set
1529# CONFIG_FONT_PEARL_8x8 is not set
1530# CONFIG_FONT_ACORN_8x8 is not set
1531# CONFIG_FONT_MINI_4x6 is not set
1532# CONFIG_FONT_SUN8x16 is not set
1533# CONFIG_FONT_SUN12x22 is not set
1534# CONFIG_FONT_10x18 is not set
1535CONFIG_LOGO=y
1536# CONFIG_LOGO_LINUX_MONO is not set
1537# CONFIG_LOGO_LINUX_VGA16 is not set
1538CONFIG_LOGO_LINUX_CLUT224=y
1370CONFIG_SOUND=y 1539CONFIG_SOUND=y
1371CONFIG_SOUND_OSS_CORE=y 1540CONFIG_SOUND_OSS_CORE=y
1541CONFIG_SOUND_OSS_CORE_PRECLAIM=y
1372CONFIG_SND=y 1542CONFIG_SND=y
1373CONFIG_SND_TIMER=y 1543CONFIG_SND_TIMER=y
1374CONFIG_SND_PCM=y 1544CONFIG_SND_PCM=y
1545CONFIG_SND_JACK=y
1375CONFIG_SND_SEQUENCER=m 1546CONFIG_SND_SEQUENCER=m
1376# CONFIG_SND_SEQ_DUMMY is not set 1547# CONFIG_SND_SEQ_DUMMY is not set
1377CONFIG_SND_OSSEMUL=y 1548CONFIG_SND_OSSEMUL=y
@@ -1379,62 +1550,90 @@ CONFIG_SND_MIXER_OSS=y
1379CONFIG_SND_PCM_OSS=y 1550CONFIG_SND_PCM_OSS=y
1380CONFIG_SND_PCM_OSS_PLUGINS=y 1551CONFIG_SND_PCM_OSS_PLUGINS=y
1381CONFIG_SND_SEQUENCER_OSS=y 1552CONFIG_SND_SEQUENCER_OSS=y
1553CONFIG_SND_HRTIMER=m
1554CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
1382# CONFIG_SND_DYNAMIC_MINORS is not set 1555# CONFIG_SND_DYNAMIC_MINORS is not set
1383CONFIG_SND_SUPPORT_OLD_API=y 1556CONFIG_SND_SUPPORT_OLD_API=y
1384CONFIG_SND_VERBOSE_PROCFS=y 1557CONFIG_SND_VERBOSE_PROCFS=y
1385# CONFIG_SND_VERBOSE_PRINTK is not set 1558# CONFIG_SND_VERBOSE_PRINTK is not set
1386# CONFIG_SND_DEBUG is not set 1559# CONFIG_SND_DEBUG is not set
1560# CONFIG_SND_RAWMIDI_SEQ is not set
1561# CONFIG_SND_OPL3_LIB_SEQ is not set
1562# CONFIG_SND_OPL4_LIB_SEQ is not set
1563# CONFIG_SND_SBAWE_SEQ is not set
1564# CONFIG_SND_EMU10K1_SEQ is not set
1387CONFIG_SND_DRIVERS=y 1565CONFIG_SND_DRIVERS=y
1388# CONFIG_SND_DUMMY is not set 1566# CONFIG_SND_DUMMY is not set
1389# CONFIG_SND_VIRMIDI is not set 1567# CONFIG_SND_VIRMIDI is not set
1390# CONFIG_SND_MTPAV is not set 1568# CONFIG_SND_MTPAV is not set
1391# CONFIG_SND_SERIAL_U16550 is not set 1569# CONFIG_SND_SERIAL_U16550 is not set
1392# CONFIG_SND_MPU401 is not set 1570# CONFIG_SND_MPU401 is not set
1393CONFIG_SND_ARM=y 1571# CONFIG_SND_ARM is not set
1394# CONFIG_SND_SPI is not set 1572# CONFIG_SND_SPI is not set
1395# CONFIG_SND_USB is not set 1573# CONFIG_SND_USB is not set
1396CONFIG_SND_SOC=y 1574CONFIG_SND_SOC=y
1397CONFIG_SND_OMAP_SOC=y 1575CONFIG_SND_OMAP_SOC=y
1398CONFIG_SND_OMAP_SOC_MCBSP=y 1576CONFIG_SND_OMAP_SOC_MCBSP=y
1399CONFIG_SND_OMAP_SOC_IGEP0020=y 1577CONFIG_SND_OMAP_SOC_IGEP0020=y
1578CONFIG_SND_SOC_I2C_AND_SPI=y
1400# CONFIG_SND_SOC_ALL_CODECS is not set 1579# CONFIG_SND_SOC_ALL_CODECS is not set
1401CONFIG_SND_SOC_TWL4030=y 1580CONFIG_SND_SOC_TWL4030=y
1402# CONFIG_SOUND_PRIME is not set 1581# CONFIG_SOUND_PRIME is not set
1403CONFIG_HID_SUPPORT=y 1582CONFIG_HID_SUPPORT=y
1404CONFIG_HID=y 1583CONFIG_HID=y
1405CONFIG_HID_DEBUG=y 1584CONFIG_HIDRAW=y
1406# CONFIG_HIDRAW is not set
1407 1585
1408# 1586#
1409# USB Input Devices 1587# USB Input Devices
1410# 1588#
1411CONFIG_USB_HID=y 1589CONFIG_USB_HID=y
1412# CONFIG_HID_PID is not set 1590CONFIG_HID_PID=y
1413# CONFIG_USB_HIDDEV is not set 1591CONFIG_USB_HIDDEV=y
1414 1592
1415# 1593#
1416# Special HID drivers 1594# Special HID drivers
1417# 1595#
1418# CONFIG_HID_COMPAT is not set 1596CONFIG_HID_3M_PCT=m
1419# CONFIG_HID_A4TECH is not set 1597CONFIG_HID_A4TECH=m
1420# CONFIG_HID_APPLE is not set 1598CONFIG_HID_APPLE=m
1421# CONFIG_HID_BELKIN is not set 1599CONFIG_HID_BELKIN=m
1422# CONFIG_HID_BRIGHT is not set 1600CONFIG_HID_CHERRY=m
1423# CONFIG_HID_CHERRY is not set 1601CONFIG_HID_CHICONY=m
1424# CONFIG_HID_CHICONY is not set 1602CONFIG_HID_CYPRESS=m
1425# CONFIG_HID_CYPRESS is not set 1603CONFIG_HID_DRAGONRISE=m
1426# CONFIG_HID_DELL is not set 1604CONFIG_DRAGONRISE_FF=y
1427# CONFIG_HID_EZKEY is not set 1605CONFIG_HID_EZKEY=m
1428# CONFIG_HID_GYRATION is not set 1606CONFIG_HID_KYE=m
1429# CONFIG_HID_LOGITECH is not set 1607CONFIG_HID_GYRATION=m
1430# CONFIG_HID_MICROSOFT is not set 1608CONFIG_HID_TWINHAN=m
1431# CONFIG_HID_MONTEREY is not set 1609# CONFIG_HID_KENSINGTON is not set
1432# CONFIG_HID_PANTHERLORD is not set 1610CONFIG_HID_LOGITECH=m
1433# CONFIG_HID_PETALYNX is not set 1611CONFIG_LOGITECH_FF=y
1434# CONFIG_HID_SAMSUNG is not set 1612CONFIG_LOGIRUMBLEPAD2_FF=y
1435# CONFIG_HID_SONY is not set 1613# CONFIG_LOGIG940_FF is not set
1436# CONFIG_HID_SUNPLUS is not set 1614# CONFIG_HID_MAGICMOUSE is not set
1437# CONFIG_THRUSTMASTER_FF is not set 1615CONFIG_HID_MICROSOFT=m
1616# CONFIG_HID_MOSART is not set
1617CONFIG_HID_MONTEREY=m
1618CONFIG_HID_NTRIG=m
1619# CONFIG_HID_ORTEK is not set
1620CONFIG_HID_PANTHERLORD=m
1621CONFIG_PANTHERLORD_FF=y
1622CONFIG_HID_PETALYNX=m
1623# CONFIG_HID_QUANTA is not set
1624CONFIG_HID_SAMSUNG=m
1625CONFIG_HID_SONY=m
1626# CONFIG_HID_STANTUM is not set
1627CONFIG_HID_SUNPLUS=m
1628CONFIG_HID_GREENASIA=m
1629CONFIG_GREENASIA_FF=y
1630CONFIG_HID_SMARTJOYPLUS=m
1631CONFIG_SMARTJOYPLUS_FF=y
1632CONFIG_HID_TOPSEED=m
1633CONFIG_HID_THRUSTMASTER=m
1634CONFIG_THRUSTMASTER_FF=y
1635CONFIG_HID_WACOM=m
1636CONFIG_HID_ZEROPLUS=m
1438# CONFIG_ZEROPLUS_FF is not set 1637# CONFIG_ZEROPLUS_FF is not set
1439CONFIG_USB_SUPPORT=y 1638CONFIG_USB_SUPPORT=y
1440CONFIG_USB_ARCH_HAS_HCD=y 1639CONFIG_USB_ARCH_HAS_HCD=y
@@ -1442,33 +1641,39 @@ CONFIG_USB_ARCH_HAS_OHCI=y
1442CONFIG_USB_ARCH_HAS_EHCI=y 1641CONFIG_USB_ARCH_HAS_EHCI=y
1443CONFIG_USB=y 1642CONFIG_USB=y
1444# CONFIG_USB_DEBUG is not set 1643# CONFIG_USB_DEBUG is not set
1445# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set 1644CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
1446 1645
1447# 1646#
1448# Miscellaneous USB options 1647# Miscellaneous USB options
1449# 1648#
1450CONFIG_USB_DEVICEFS=y 1649# CONFIG_USB_DEVICEFS is not set
1451CONFIG_USB_DEVICE_CLASS=y 1650# CONFIG_USB_DEVICE_CLASS is not set
1452# CONFIG_USB_DYNAMIC_MINORS is not set 1651# CONFIG_USB_DYNAMIC_MINORS is not set
1453CONFIG_USB_SUSPEND=y 1652CONFIG_USB_SUSPEND=y
1454CONFIG_USB_OTG=y 1653CONFIG_USB_OTG=y
1455# CONFIG_USB_OTG_WHITELIST is not set 1654# CONFIG_USB_OTG_WHITELIST is not set
1456# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1655# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1457CONFIG_USB_MON=y 1656CONFIG_USB_MON=m
1458# CONFIG_USB_WUSB is not set 1657# CONFIG_USB_WUSB is not set
1459# CONFIG_USB_WUSB_CBAF is not set 1658CONFIG_USB_WUSB_CBAF=m
1659# CONFIG_USB_WUSB_CBAF_DEBUG is not set
1460 1660
1461# 1661#
1462# USB Host Controller Drivers 1662# USB Host Controller Drivers
1463# 1663#
1464# CONFIG_USB_C67X00_HCD is not set 1664# CONFIG_USB_C67X00_HCD is not set
1465CONFIG_USB_EHCI_HCD=y 1665CONFIG_USB_EHCI_HCD=y
1466CONFIG_OMAP_EHCI_PHY_MODE=y
1467# CONFIG_OMAP_EHCI_TLL_MODE is not set
1468CONFIG_USB_EHCI_ROOT_HUB_TT=y 1666CONFIG_USB_EHCI_ROOT_HUB_TT=y
1469CONFIG_USB_EHCI_TT_NEWSCHED=y 1667# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1668# CONFIG_USB_OXU210HP_HCD is not set
1470# CONFIG_USB_ISP116X_HCD is not set 1669# CONFIG_USB_ISP116X_HCD is not set
1471# CONFIG_USB_OHCI_HCD is not set 1670# CONFIG_USB_ISP1760_HCD is not set
1671# CONFIG_USB_ISP1362_HCD is not set
1672CONFIG_USB_OHCI_HCD=m
1673# CONFIG_USB_OHCI_HCD_SSB is not set
1674# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
1675# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
1676CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1472# CONFIG_USB_SL811_HCD is not set 1677# CONFIG_USB_SL811_HCD is not set
1473# CONFIG_USB_R8A66597_HCD is not set 1678# CONFIG_USB_R8A66597_HCD is not set
1474# CONFIG_USB_HWA_HCD is not set 1679# CONFIG_USB_HWA_HCD is not set
@@ -1491,24 +1696,23 @@ CONFIG_USB_INVENTRA_DMA=y
1491# 1696#
1492# USB Device Class drivers 1697# USB Device Class drivers
1493# 1698#
1494# CONFIG_USB_ACM is not set 1699CONFIG_USB_ACM=m
1495# CONFIG_USB_PRINTER is not set 1700CONFIG_USB_PRINTER=m
1496# CONFIG_USB_WDM is not set 1701CONFIG_USB_WDM=m
1497# CONFIG_USB_TMC is not set 1702# CONFIG_USB_TMC is not set
1498 1703
1499# 1704#
1500# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1705# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1501# 1706#
1502 1707
1503# 1708#
1504# see USB_STORAGE Help for more information 1709# also be needed; see USB_STORAGE Help for more info
1505# 1710#
1506CONFIG_USB_STORAGE=y 1711CONFIG_USB_STORAGE=m
1507# CONFIG_USB_STORAGE_DEBUG is not set 1712# CONFIG_USB_STORAGE_DEBUG is not set
1508# CONFIG_USB_STORAGE_DATAFAB is not set 1713# CONFIG_USB_STORAGE_DATAFAB is not set
1509# CONFIG_USB_STORAGE_FREECOM is not set 1714# CONFIG_USB_STORAGE_FREECOM is not set
1510# CONFIG_USB_STORAGE_ISD200 is not set 1715# CONFIG_USB_STORAGE_ISD200 is not set
1511# CONFIG_USB_STORAGE_DPCM is not set
1512# CONFIG_USB_STORAGE_USBAT is not set 1716# CONFIG_USB_STORAGE_USBAT is not set
1513# CONFIG_USB_STORAGE_SDDR09 is not set 1717# CONFIG_USB_STORAGE_SDDR09 is not set
1514# CONFIG_USB_STORAGE_SDDR55 is not set 1718# CONFIG_USB_STORAGE_SDDR55 is not set
@@ -1517,7 +1721,7 @@ CONFIG_USB_STORAGE=y
1517# CONFIG_USB_STORAGE_ONETOUCH is not set 1721# CONFIG_USB_STORAGE_ONETOUCH is not set
1518# CONFIG_USB_STORAGE_KARMA is not set 1722# CONFIG_USB_STORAGE_KARMA is not set
1519# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set 1723# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1520CONFIG_USB_LIBUSUAL=y 1724# CONFIG_USB_LIBUSUAL is not set
1521 1725
1522# 1726#
1523# USB Imaging devices 1727# USB Imaging devices
@@ -1528,38 +1732,97 @@ CONFIG_USB_LIBUSUAL=y
1528# 1732#
1529# USB port drivers 1733# USB port drivers
1530# 1734#
1531# CONFIG_USB_SERIAL is not set 1735CONFIG_USB_SERIAL=m
1736CONFIG_USB_EZUSB=y
1737CONFIG_USB_SERIAL_GENERIC=y
1738CONFIG_USB_SERIAL_AIRCABLE=m
1739CONFIG_USB_SERIAL_ARK3116=m
1740CONFIG_USB_SERIAL_BELKIN=m
1741CONFIG_USB_SERIAL_CH341=m
1742CONFIG_USB_SERIAL_WHITEHEAT=m
1743CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1744CONFIG_USB_SERIAL_CP210X=m
1745CONFIG_USB_SERIAL_CYPRESS_M8=m
1746CONFIG_USB_SERIAL_EMPEG=m
1747CONFIG_USB_SERIAL_FTDI_SIO=m
1748CONFIG_USB_SERIAL_FUNSOFT=m
1749CONFIG_USB_SERIAL_VISOR=m
1750CONFIG_USB_SERIAL_IPAQ=m
1751CONFIG_USB_SERIAL_IR=m
1752CONFIG_USB_SERIAL_EDGEPORT=m
1753CONFIG_USB_SERIAL_EDGEPORT_TI=m
1754CONFIG_USB_SERIAL_GARMIN=m
1755CONFIG_USB_SERIAL_IPW=m
1756CONFIG_USB_SERIAL_IUU=m
1757CONFIG_USB_SERIAL_KEYSPAN_PDA=m
1758CONFIG_USB_SERIAL_KEYSPAN=m
1759CONFIG_USB_SERIAL_KEYSPAN_MPR=y
1760CONFIG_USB_SERIAL_KEYSPAN_USA28=y
1761CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
1762CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
1763CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
1764CONFIG_USB_SERIAL_KEYSPAN_USA19=y
1765CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
1766CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
1767CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
1768CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
1769CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
1770CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
1771CONFIG_USB_SERIAL_KLSI=m
1772CONFIG_USB_SERIAL_KOBIL_SCT=m
1773CONFIG_USB_SERIAL_MCT_U232=m
1774CONFIG_USB_SERIAL_MOS7720=m
1775CONFIG_USB_SERIAL_MOS7840=m
1776CONFIG_USB_SERIAL_MOTOROLA=m
1777CONFIG_USB_SERIAL_NAVMAN=m
1778CONFIG_USB_SERIAL_PL2303=m
1779CONFIG_USB_SERIAL_OTI6858=m
1780CONFIG_USB_SERIAL_QUALCOMM=m
1781CONFIG_USB_SERIAL_SPCP8X5=m
1782CONFIG_USB_SERIAL_HP4X=m
1783CONFIG_USB_SERIAL_SAFE=m
1784CONFIG_USB_SERIAL_SAFE_PADDED=y
1785CONFIG_USB_SERIAL_SIEMENS_MPI=m
1786CONFIG_USB_SERIAL_SIERRAWIRELESS=m
1787CONFIG_USB_SERIAL_SYMBOL=m
1788CONFIG_USB_SERIAL_TI=m
1789CONFIG_USB_SERIAL_CYBERJACK=m
1790CONFIG_USB_SERIAL_XIRCOM=m
1791CONFIG_USB_SERIAL_OPTION=m
1792CONFIG_USB_SERIAL_OMNINET=m
1793CONFIG_USB_SERIAL_OPTICON=m
1794# CONFIG_USB_SERIAL_DEBUG is not set
1532 1795
1533# 1796#
1534# USB Miscellaneous drivers 1797# USB Miscellaneous drivers
1535# 1798#
1536# CONFIG_USB_EMI62 is not set 1799CONFIG_USB_EMI62=m
1537# CONFIG_USB_EMI26 is not set 1800CONFIG_USB_EMI26=m
1538# CONFIG_USB_ADUTUX is not set 1801CONFIG_USB_ADUTUX=m
1539# CONFIG_USB_SEVSEG is not set 1802CONFIG_USB_SEVSEG=m
1540# CONFIG_USB_RIO500 is not set 1803CONFIG_USB_RIO500=m
1541# CONFIG_USB_LEGOTOWER is not set 1804CONFIG_USB_LEGOTOWER=m
1542# CONFIG_USB_LCD is not set 1805CONFIG_USB_LCD=m
1543# CONFIG_USB_BERRY_CHARGE is not set 1806CONFIG_USB_BERRY_CHARGE=m
1544# CONFIG_USB_LED is not set 1807CONFIG_USB_LED=m
1545# CONFIG_USB_CYPRESS_CY7C63 is not set 1808CONFIG_USB_CYPRESS_CY7C63=m
1546# CONFIG_USB_CYTHERM is not set 1809CONFIG_USB_CYTHERM=m
1547# CONFIG_USB_PHIDGET is not set 1810CONFIG_USB_IDMOUSE=m
1548# CONFIG_USB_IDMOUSE is not set
1549# CONFIG_USB_FTDI_ELAN is not set 1811# CONFIG_USB_FTDI_ELAN is not set
1550# CONFIG_USB_APPLEDISPLAY is not set 1812# CONFIG_USB_APPLEDISPLAY is not set
1551# CONFIG_USB_SISUSBVGA is not set 1813CONFIG_USB_SISUSBVGA=m
1552# CONFIG_USB_LD is not set 1814CONFIG_USB_SISUSBVGA_CON=y
1553# CONFIG_USB_TRANCEVIBRATOR is not set 1815CONFIG_USB_LD=m
1816CONFIG_USB_TRANCEVIBRATOR=m
1554# CONFIG_USB_IOWARRIOR is not set 1817# CONFIG_USB_IOWARRIOR is not set
1555# CONFIG_USB_TEST is not set 1818CONFIG_USB_TEST=m
1556# CONFIG_USB_ISIGHTFW is not set 1819# CONFIG_USB_ISIGHTFW is not set
1557# CONFIG_USB_VST is not set 1820CONFIG_USB_VST=m
1558CONFIG_USB_GADGET=y 1821CONFIG_USB_GADGET=y
1559# CONFIG_USB_GADGET_DEBUG is not set 1822# CONFIG_USB_GADGET_DEBUG is not set
1560# CONFIG_USB_GADGET_DEBUG_FILES is not set 1823# CONFIG_USB_GADGET_DEBUG_FILES is not set
1561# CONFIG_USB_GADGET_DEBUG_FS is not set 1824# CONFIG_USB_GADGET_DEBUG_FS is not set
1562CONFIG_USB_GADGET_VBUS_DRAW=2 1825CONFIG_USB_GADGET_VBUS_DRAW=100
1563CONFIG_USB_GADGET_SELECTED=y 1826CONFIG_USB_GADGET_SELECTED=y
1564# CONFIG_USB_GADGET_AT91 is not set 1827# CONFIG_USB_GADGET_AT91 is not set
1565# CONFIG_USB_GADGET_ATMEL_USBA is not set 1828# CONFIG_USB_GADGET_ATMEL_USBA is not set
@@ -1567,32 +1830,43 @@ CONFIG_USB_GADGET_SELECTED=y
1567# CONFIG_USB_GADGET_LH7A40X is not set 1830# CONFIG_USB_GADGET_LH7A40X is not set
1568# CONFIG_USB_GADGET_OMAP is not set 1831# CONFIG_USB_GADGET_OMAP is not set
1569# CONFIG_USB_GADGET_PXA25X is not set 1832# CONFIG_USB_GADGET_PXA25X is not set
1833# CONFIG_USB_GADGET_R8A66597 is not set
1570# CONFIG_USB_GADGET_PXA27X is not set 1834# CONFIG_USB_GADGET_PXA27X is not set
1835# CONFIG_USB_GADGET_S3C_HSOTG is not set
1836# CONFIG_USB_GADGET_IMX is not set
1571# CONFIG_USB_GADGET_S3C2410 is not set 1837# CONFIG_USB_GADGET_S3C2410 is not set
1572# CONFIG_USB_GADGET_M66592 is not set 1838# CONFIG_USB_GADGET_M66592 is not set
1573# CONFIG_USB_GADGET_AMD5536UDC is not set 1839# CONFIG_USB_GADGET_AMD5536UDC is not set
1574# CONFIG_USB_GADGET_FSL_QE is not set 1840# CONFIG_USB_GADGET_FSL_QE is not set
1841# CONFIG_USB_GADGET_CI13XXX is not set
1575# CONFIG_USB_GADGET_NET2280 is not set 1842# CONFIG_USB_GADGET_NET2280 is not set
1576# CONFIG_USB_GADGET_GOKU is not set 1843# CONFIG_USB_GADGET_GOKU is not set
1844# CONFIG_USB_GADGET_LANGWELL is not set
1577# CONFIG_USB_GADGET_DUMMY_HCD is not set 1845# CONFIG_USB_GADGET_DUMMY_HCD is not set
1578CONFIG_USB_GADGET_DUALSPEED=y 1846CONFIG_USB_GADGET_DUALSPEED=y
1579# CONFIG_USB_ZERO is not set 1847# CONFIG_USB_ZERO is not set
1848# CONFIG_USB_AUDIO is not set
1580CONFIG_USB_ETH=y 1849CONFIG_USB_ETH=y
1581CONFIG_USB_ETH_RNDIS=y 1850CONFIG_USB_ETH_RNDIS=y
1851# CONFIG_USB_ETH_EEM is not set
1582# CONFIG_USB_GADGETFS is not set 1852# CONFIG_USB_GADGETFS is not set
1583# CONFIG_USB_FILE_STORAGE is not set 1853# CONFIG_USB_FILE_STORAGE is not set
1854# CONFIG_USB_MASS_STORAGE is not set
1584# CONFIG_USB_G_SERIAL is not set 1855# CONFIG_USB_G_SERIAL is not set
1585# CONFIG_USB_MIDI_GADGET is not set 1856# CONFIG_USB_MIDI_GADGET is not set
1586# CONFIG_USB_G_PRINTER is not set 1857# CONFIG_USB_G_PRINTER is not set
1587# CONFIG_USB_CDC_COMPOSITE is not set 1858# CONFIG_USB_CDC_COMPOSITE is not set
1859# CONFIG_USB_G_MULTI is not set
1588 1860
1589# 1861#
1590# OTG and related infrastructure 1862# OTG and related infrastructure
1591# 1863#
1592CONFIG_USB_OTG_UTILS=y 1864CONFIG_USB_OTG_UTILS=y
1593CONFIG_USB_GPIO_VBUS=y 1865# CONFIG_USB_GPIO_VBUS is not set
1594# CONFIG_ISP1301_OMAP is not set 1866# CONFIG_ISP1301_OMAP is not set
1867# CONFIG_USB_ULPI is not set
1595CONFIG_TWL4030_USB=y 1868CONFIG_TWL4030_USB=y
1869# CONFIG_NOP_USB_XCEIV is not set
1596CONFIG_MMC=y 1870CONFIG_MMC=y
1597# CONFIG_MMC_DEBUG is not set 1871# CONFIG_MMC_DEBUG is not set
1598CONFIG_MMC_UNSAFE_RESUME=y 1872CONFIG_MMC_UNSAFE_RESUME=y
@@ -1602,23 +1876,51 @@ CONFIG_MMC_UNSAFE_RESUME=y
1602# 1876#
1603CONFIG_MMC_BLOCK=y 1877CONFIG_MMC_BLOCK=y
1604CONFIG_MMC_BLOCK_BOUNCE=y 1878CONFIG_MMC_BLOCK_BOUNCE=y
1605# CONFIG_SDIO_UART is not set 1879CONFIG_SDIO_UART=m
1606# CONFIG_MMC_TEST is not set 1880# CONFIG_MMC_TEST is not set
1607 1881
1608# 1882#
1609# MMC/SD/SDIO Host Controller Drivers 1883# MMC/SD/SDIO Host Controller Drivers
1610# 1884#
1611# CONFIG_MMC_SDHCI is not set 1885# CONFIG_MMC_SDHCI is not set
1886# CONFIG_MMC_OMAP is not set
1612CONFIG_MMC_OMAP_HS=y 1887CONFIG_MMC_OMAP_HS=y
1613# CONFIG_MMC_SPI is not set 1888# CONFIG_MMC_AT91 is not set
1889# CONFIG_MMC_ATMELMCI is not set
1890CONFIG_MMC_SPI=m
1614# CONFIG_MEMSTICK is not set 1891# CONFIG_MEMSTICK is not set
1892CONFIG_NEW_LEDS=y
1893CONFIG_LEDS_CLASS=y
1894
1895#
1896# LED drivers
1897#
1898# CONFIG_LEDS_PCA9532 is not set
1899CONFIG_LEDS_GPIO=y
1900CONFIG_LEDS_GPIO_PLATFORM=y
1901# CONFIG_LEDS_LP3944 is not set
1902# CONFIG_LEDS_PCA955X is not set
1903# CONFIG_LEDS_DAC124S085 is not set
1904# CONFIG_LEDS_REGULATOR is not set
1905# CONFIG_LEDS_BD2802 is not set
1906# CONFIG_LEDS_LT3593 is not set
1907
1908#
1909# LED Triggers
1910#
1911CONFIG_LEDS_TRIGGERS=y
1912CONFIG_LEDS_TRIGGER_TIMER=m
1913CONFIG_LEDS_TRIGGER_HEARTBEAT=y
1914CONFIG_LEDS_TRIGGER_BACKLIGHT=m
1915CONFIG_LEDS_TRIGGER_GPIO=m
1916CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
1917
1918#
1919# iptables trigger is under Netfilter config (LED target)
1920#
1615# CONFIG_ACCESSIBILITY is not set 1921# CONFIG_ACCESSIBILITY is not set
1616# CONFIG_NEW_LEDS is not set
1617CONFIG_RTC_LIB=y 1922CONFIG_RTC_LIB=y
1618CONFIG_RTC_CLASS=y 1923CONFIG_RTC_CLASS=m
1619CONFIG_RTC_HCTOSYS=y
1620CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1621# CONFIG_RTC_DEBUG is not set
1622 1924
1623# 1925#
1624# RTC interfaces 1926# RTC interfaces
@@ -1642,10 +1944,12 @@ CONFIG_RTC_INTF_DEV=y
1642# CONFIG_RTC_DRV_PCF8563 is not set 1944# CONFIG_RTC_DRV_PCF8563 is not set
1643# CONFIG_RTC_DRV_PCF8583 is not set 1945# CONFIG_RTC_DRV_PCF8583 is not set
1644# CONFIG_RTC_DRV_M41T80 is not set 1946# CONFIG_RTC_DRV_M41T80 is not set
1645CONFIG_RTC_DRV_TWL4030=y 1947# CONFIG_RTC_DRV_BQ32K is not set
1948CONFIG_RTC_DRV_TWL4030=m
1646# CONFIG_RTC_DRV_S35390A is not set 1949# CONFIG_RTC_DRV_S35390A is not set
1647# CONFIG_RTC_DRV_FM3130 is not set 1950# CONFIG_RTC_DRV_FM3130 is not set
1648# CONFIG_RTC_DRV_RX8581 is not set 1951# CONFIG_RTC_DRV_RX8581 is not set
1952# CONFIG_RTC_DRV_RX8025 is not set
1649 1953
1650# 1954#
1651# SPI RTC drivers 1955# SPI RTC drivers
@@ -1657,6 +1961,7 @@ CONFIG_RTC_DRV_TWL4030=y
1657# CONFIG_RTC_DRV_R9701 is not set 1961# CONFIG_RTC_DRV_R9701 is not set
1658# CONFIG_RTC_DRV_RS5C348 is not set 1962# CONFIG_RTC_DRV_RS5C348 is not set
1659# CONFIG_RTC_DRV_DS3234 is not set 1963# CONFIG_RTC_DRV_DS3234 is not set
1964# CONFIG_RTC_DRV_PCF2123 is not set
1660 1965
1661# 1966#
1662# Platform RTC drivers 1967# Platform RTC drivers
@@ -1670,28 +1975,32 @@ CONFIG_RTC_DRV_TWL4030=y
1670# CONFIG_RTC_DRV_M48T86 is not set 1975# CONFIG_RTC_DRV_M48T86 is not set
1671# CONFIG_RTC_DRV_M48T35 is not set 1976# CONFIG_RTC_DRV_M48T35 is not set
1672# CONFIG_RTC_DRV_M48T59 is not set 1977# CONFIG_RTC_DRV_M48T59 is not set
1978# CONFIG_RTC_DRV_MSM6242 is not set
1673# CONFIG_RTC_DRV_BQ4802 is not set 1979# CONFIG_RTC_DRV_BQ4802 is not set
1980# CONFIG_RTC_DRV_RP5C01 is not set
1674# CONFIG_RTC_DRV_V3020 is not set 1981# CONFIG_RTC_DRV_V3020 is not set
1675 1982
1676# 1983#
1677# on-CPU RTC drivers 1984# on-CPU RTC drivers
1678# 1985#
1679# CONFIG_DMADEVICES is not set 1986# CONFIG_DMADEVICES is not set
1680CONFIG_REGULATOR=y 1987# CONFIG_AUXDISPLAY is not set
1681# CONFIG_REGULATOR_DEBUG is not set 1988CONFIG_UIO=y
1682# CONFIG_REGULATOR_FIXED_VOLTAGE is not set 1989# CONFIG_UIO_PDRV is not set
1683# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set 1990# CONFIG_UIO_PDRV_GENIRQ is not set
1684# CONFIG_REGULATOR_BQ24022 is not set 1991# CONFIG_UIO_SMX is not set
1685CONFIG_REGULATOR_TWL4030=y 1992# CONFIG_UIO_SERCOS3 is not set
1686# CONFIG_UIO is not set
1687 1993
1688# 1994#
1689# CBUS support 1995# TI VLYNQ
1690# 1996#
1691# CONFIG_CBUS is not set 1997# CONFIG_STAGING is not set
1692CONFIG_MPU_BRIDGE=m 1998CONFIG_MPU_BRIDGE=m
1693CONFIG_BRIDGE_MEMPOOL_SIZE=0x600000 1999CONFIG_BRIDGE_MEMPOOL_SIZE=0x600000
1694# CONFIG_BRIDGE_DEBUG is not set 2000# CONFIG_BRIDGE_DEBUG is not set
2001# CONFIG_BRIDGE_RECOVERY is not set
2002# CONFIG_BRIDGE_CACHE_LINE_CHECK is not set
2003# CONFIG_BRIDGE_WDT3 is not set
1695 2004
1696# 2005#
1697# Bridge Notifications 2006# Bridge Notifications
@@ -1699,51 +2008,69 @@ CONFIG_BRIDGE_MEMPOOL_SIZE=0x600000
1699# CONFIG_BRIDGE_NTFY_PWRERR is not set 2008# CONFIG_BRIDGE_NTFY_PWRERR is not set
1700 2009
1701# 2010#
2011# CBUS support
2012#
2013# CONFIG_CBUS is not set
2014
2015#
1702# File systems 2016# File systems
1703# 2017#
1704CONFIG_EXT2_FS=y 2018CONFIG_EXT2_FS=y
1705# CONFIG_EXT2_FS_XATTR is not set 2019CONFIG_EXT2_FS_XATTR=y
2020CONFIG_EXT2_FS_POSIX_ACL=y
2021CONFIG_EXT2_FS_SECURITY=y
1706# CONFIG_EXT2_FS_XIP is not set 2022# CONFIG_EXT2_FS_XIP is not set
1707CONFIG_EXT3_FS=y 2023CONFIG_EXT3_FS=y
1708# CONFIG_EXT3_FS_XATTR is not set 2024CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
1709CONFIG_EXT4_FS=m 2025CONFIG_EXT3_FS_XATTR=y
1710# CONFIG_EXT4DEV_COMPAT is not set 2026CONFIG_EXT3_FS_POSIX_ACL=y
2027CONFIG_EXT3_FS_SECURITY=y
2028CONFIG_EXT4_FS=y
1711CONFIG_EXT4_FS_XATTR=y 2029CONFIG_EXT4_FS_XATTR=y
1712# CONFIG_EXT4_FS_POSIX_ACL is not set 2030CONFIG_EXT4_FS_POSIX_ACL=y
1713# CONFIG_EXT4_FS_SECURITY is not set 2031CONFIG_EXT4_FS_SECURITY=y
2032# CONFIG_EXT4_DEBUG is not set
1714CONFIG_JBD=y 2033CONFIG_JBD=y
1715# CONFIG_JBD_DEBUG is not set 2034# CONFIG_JBD_DEBUG is not set
1716CONFIG_JBD2=m 2035CONFIG_JBD2=y
1717# CONFIG_JBD2_DEBUG is not set 2036# CONFIG_JBD2_DEBUG is not set
1718CONFIG_FS_MBCACHE=m 2037CONFIG_FS_MBCACHE=y
1719# CONFIG_REISERFS_FS is not set 2038# CONFIG_REISERFS_FS is not set
1720# CONFIG_JFS_FS is not set 2039# CONFIG_JFS_FS is not set
1721CONFIG_FS_POSIX_ACL=y 2040CONFIG_FS_POSIX_ACL=y
1722CONFIG_FILE_LOCKING=y
1723# CONFIG_XFS_FS is not set 2041# CONFIG_XFS_FS is not set
1724# CONFIG_GFS2_FS is not set 2042# CONFIG_GFS2_FS is not set
1725# CONFIG_OCFS2_FS is not set 2043# CONFIG_OCFS2_FS is not set
2044CONFIG_BTRFS_FS=y
2045CONFIG_BTRFS_FS_POSIX_ACL=y
2046# CONFIG_NILFS2_FS is not set
2047CONFIG_FILE_LOCKING=y
2048CONFIG_FSNOTIFY=y
1726CONFIG_DNOTIFY=y 2049CONFIG_DNOTIFY=y
1727CONFIG_INOTIFY=y 2050CONFIG_INOTIFY=y
1728CONFIG_INOTIFY_USER=y 2051CONFIG_INOTIFY_USER=y
1729CONFIG_QUOTA=y 2052CONFIG_QUOTA=y
1730# CONFIG_QUOTA_NETLINK_INTERFACE is not set 2053CONFIG_QUOTA_NETLINK_INTERFACE=y
1731CONFIG_PRINT_QUOTA_WARNING=y 2054# CONFIG_PRINT_QUOTA_WARNING is not set
2055CONFIG_QUOTA_TREE=y
1732# CONFIG_QFMT_V1 is not set 2056# CONFIG_QFMT_V1 is not set
1733CONFIG_QFMT_V2=y 2057CONFIG_QFMT_V2=y
1734CONFIG_QUOTACTL=y 2058CONFIG_QUOTACTL=y
1735# CONFIG_AUTOFS_FS is not set 2059# CONFIG_AUTOFS_FS is not set
1736# CONFIG_AUTOFS4_FS is not set 2060CONFIG_AUTOFS4_FS=m
1737CONFIG_FUSE_FS=m 2061CONFIG_FUSE_FS=m
2062CONFIG_CUSE=m
2063
2064#
2065# Caches
2066#
2067# CONFIG_FSCACHE is not set
1738 2068
1739# 2069#
1740# CD-ROM/DVD Filesystems 2070# CD-ROM/DVD Filesystems
1741# 2071#
1742CONFIG_ISO9660_FS=m 2072# CONFIG_ISO9660_FS is not set
1743CONFIG_JOLIET=y 2073# CONFIG_UDF_FS is not set
1744CONFIG_ZISOFS=y
1745CONFIG_UDF_FS=m
1746CONFIG_UDF_NLS=y
1747 2074
1748# 2075#
1749# DOS/FAT/NT Filesystems 2076# DOS/FAT/NT Filesystems
@@ -1753,7 +2080,9 @@ CONFIG_MSDOS_FS=y
1753CONFIG_VFAT_FS=y 2080CONFIG_VFAT_FS=y
1754CONFIG_FAT_DEFAULT_CODEPAGE=437 2081CONFIG_FAT_DEFAULT_CODEPAGE=437
1755CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" 2082CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1756# CONFIG_NTFS_FS is not set 2083CONFIG_NTFS_FS=m
2084# CONFIG_NTFS_DEBUG is not set
2085CONFIG_NTFS_RW=y
1757 2086
1758# 2087#
1759# Pseudo filesystems 2088# Pseudo filesystems
@@ -1765,11 +2094,8 @@ CONFIG_SYSFS=y
1765CONFIG_TMPFS=y 2094CONFIG_TMPFS=y
1766# CONFIG_TMPFS_POSIX_ACL is not set 2095# CONFIG_TMPFS_POSIX_ACL is not set
1767# CONFIG_HUGETLB_PAGE is not set 2096# CONFIG_HUGETLB_PAGE is not set
1768# CONFIG_CONFIGFS_FS is not set 2097CONFIG_CONFIGFS_FS=m
1769 2098CONFIG_MISC_FILESYSTEMS=y
1770#
1771# Miscellaneous filesystems
1772#
1773# CONFIG_ADFS_FS is not set 2099# CONFIG_ADFS_FS is not set
1774# CONFIG_AFFS_FS is not set 2100# CONFIG_AFFS_FS is not set
1775# CONFIG_HFS_FS is not set 2101# CONFIG_HFS_FS is not set
@@ -1781,26 +2107,27 @@ CONFIG_JFFS2_FS=y
1781CONFIG_JFFS2_FS_DEBUG=0 2107CONFIG_JFFS2_FS_DEBUG=0
1782CONFIG_JFFS2_FS_WRITEBUFFER=y 2108CONFIG_JFFS2_FS_WRITEBUFFER=y
1783# CONFIG_JFFS2_FS_WBUF_VERIFY is not set 2109# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
1784CONFIG_JFFS2_SUMMARY=y 2110# CONFIG_JFFS2_SUMMARY is not set
1785CONFIG_JFFS2_FS_XATTR=y 2111# CONFIG_JFFS2_FS_XATTR is not set
1786CONFIG_JFFS2_FS_POSIX_ACL=y
1787CONFIG_JFFS2_FS_SECURITY=y
1788CONFIG_JFFS2_COMPRESSION_OPTIONS=y 2112CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1789CONFIG_JFFS2_ZLIB=y 2113CONFIG_JFFS2_ZLIB=y
1790CONFIG_JFFS2_LZO=y 2114CONFIG_JFFS2_LZO=y
1791CONFIG_JFFS2_RTIME=y 2115CONFIG_JFFS2_RTIME=y
1792CONFIG_JFFS2_RUBIN=y 2116# CONFIG_JFFS2_RUBIN is not set
1793# CONFIG_JFFS2_CMODE_NONE is not set 2117# CONFIG_JFFS2_CMODE_NONE is not set
1794# CONFIG_JFFS2_CMODE_PRIORITY is not set 2118# CONFIG_JFFS2_CMODE_PRIORITY is not set
1795# CONFIG_JFFS2_CMODE_SIZE is not set 2119# CONFIG_JFFS2_CMODE_SIZE is not set
1796CONFIG_JFFS2_CMODE_FAVOURLZO=y 2120CONFIG_JFFS2_CMODE_FAVOURLZO=y
1797CONFIG_UBIFS_FS=y 2121CONFIG_UBIFS_FS=y
1798# CONFIG_UBIFS_FS_XATTR is not set 2122CONFIG_UBIFS_FS_XATTR=y
1799# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set 2123CONFIG_UBIFS_FS_ADVANCED_COMPR=y
1800CONFIG_UBIFS_FS_LZO=y 2124CONFIG_UBIFS_FS_LZO=y
1801CONFIG_UBIFS_FS_ZLIB=y 2125CONFIG_UBIFS_FS_ZLIB=y
1802# CONFIG_UBIFS_FS_DEBUG is not set 2126# CONFIG_UBIFS_FS_DEBUG is not set
1803# CONFIG_CRAMFS is not set 2127CONFIG_CRAMFS=y
2128CONFIG_SQUASHFS=y
2129# CONFIG_SQUASHFS_EMBEDDED is not set
2130CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
1804# CONFIG_VXFS_FS is not set 2131# CONFIG_VXFS_FS is not set
1805# CONFIG_MINIX_FS is not set 2132# CONFIG_MINIX_FS is not set
1806# CONFIG_OMFS_FS is not set 2133# CONFIG_OMFS_FS is not set
@@ -1812,20 +2139,30 @@ CONFIG_UBIFS_FS_ZLIB=y
1812CONFIG_NETWORK_FILESYSTEMS=y 2139CONFIG_NETWORK_FILESYSTEMS=y
1813CONFIG_NFS_FS=y 2140CONFIG_NFS_FS=y
1814CONFIG_NFS_V3=y 2141CONFIG_NFS_V3=y
1815# CONFIG_NFS_V3_ACL is not set 2142CONFIG_NFS_V3_ACL=y
1816CONFIG_NFS_V4=y 2143# CONFIG_NFS_V4 is not set
1817CONFIG_ROOT_NFS=y 2144CONFIG_ROOT_NFS=y
1818# CONFIG_NFSD is not set 2145CONFIG_NFSD=m
2146CONFIG_NFSD_V2_ACL=y
2147CONFIG_NFSD_V3=y
2148CONFIG_NFSD_V3_ACL=y
2149# CONFIG_NFSD_V4 is not set
1819CONFIG_LOCKD=y 2150CONFIG_LOCKD=y
1820CONFIG_LOCKD_V4=y 2151CONFIG_LOCKD_V4=y
2152CONFIG_EXPORTFS=m
2153CONFIG_NFS_ACL_SUPPORT=y
1821CONFIG_NFS_COMMON=y 2154CONFIG_NFS_COMMON=y
1822CONFIG_SUNRPC=y 2155CONFIG_SUNRPC=y
1823CONFIG_SUNRPC_GSS=y 2156# CONFIG_RPCSEC_GSS_KRB5 is not set
1824# CONFIG_SUNRPC_REGISTER_V4 is not set
1825CONFIG_RPCSEC_GSS_KRB5=y
1826# CONFIG_RPCSEC_GSS_SPKM3 is not set 2157# CONFIG_RPCSEC_GSS_SPKM3 is not set
1827# CONFIG_SMB_FS is not set 2158# CONFIG_SMB_FS is not set
1828# CONFIG_CIFS is not set 2159CONFIG_CIFS=m
2160# CONFIG_CIFS_STATS is not set
2161CONFIG_CIFS_WEAK_PW_HASH=y
2162CONFIG_CIFS_XATTR=y
2163CONFIG_CIFS_POSIX=y
2164CONFIG_CIFS_DEBUG2=y
2165# CONFIG_CIFS_EXPERIMENTAL is not set
1829# CONFIG_NCP_FS is not set 2166# CONFIG_NCP_FS is not set
1830# CONFIG_CODA_FS is not set 2167# CONFIG_CODA_FS is not set
1831# CONFIG_AFS_FS is not set 2168# CONFIG_AFS_FS is not set
@@ -1853,45 +2190,46 @@ CONFIG_MSDOS_PARTITION=y
1853# CONFIG_SYSV68_PARTITION is not set 2190# CONFIG_SYSV68_PARTITION is not set
1854CONFIG_NLS=y 2191CONFIG_NLS=y
1855CONFIG_NLS_DEFAULT="iso8859-1" 2192CONFIG_NLS_DEFAULT="iso8859-1"
1856CONFIG_NLS_CODEPAGE_437=y 2193CONFIG_NLS_CODEPAGE_437=m
1857# CONFIG_NLS_CODEPAGE_737 is not set 2194CONFIG_NLS_CODEPAGE_737=m
1858# CONFIG_NLS_CODEPAGE_775 is not set 2195CONFIG_NLS_CODEPAGE_775=m
1859# CONFIG_NLS_CODEPAGE_850 is not set 2196CONFIG_NLS_CODEPAGE_850=m
1860# CONFIG_NLS_CODEPAGE_852 is not set 2197CONFIG_NLS_CODEPAGE_852=m
1861# CONFIG_NLS_CODEPAGE_855 is not set 2198CONFIG_NLS_CODEPAGE_855=m
1862# CONFIG_NLS_CODEPAGE_857 is not set 2199CONFIG_NLS_CODEPAGE_857=m
1863# CONFIG_NLS_CODEPAGE_860 is not set 2200CONFIG_NLS_CODEPAGE_860=m
1864# CONFIG_NLS_CODEPAGE_861 is not set 2201CONFIG_NLS_CODEPAGE_861=m
1865# CONFIG_NLS_CODEPAGE_862 is not set 2202CONFIG_NLS_CODEPAGE_862=m
1866# CONFIG_NLS_CODEPAGE_863 is not set 2203CONFIG_NLS_CODEPAGE_863=m
1867# CONFIG_NLS_CODEPAGE_864 is not set 2204CONFIG_NLS_CODEPAGE_864=m
1868# CONFIG_NLS_CODEPAGE_865 is not set 2205CONFIG_NLS_CODEPAGE_865=m
1869# CONFIG_NLS_CODEPAGE_866 is not set 2206CONFIG_NLS_CODEPAGE_866=m
1870# CONFIG_NLS_CODEPAGE_869 is not set 2207CONFIG_NLS_CODEPAGE_869=m
1871# CONFIG_NLS_CODEPAGE_936 is not set 2208CONFIG_NLS_CODEPAGE_936=m
1872# CONFIG_NLS_CODEPAGE_950 is not set 2209CONFIG_NLS_CODEPAGE_950=m
1873# CONFIG_NLS_CODEPAGE_932 is not set 2210CONFIG_NLS_CODEPAGE_932=m
1874# CONFIG_NLS_CODEPAGE_949 is not set 2211CONFIG_NLS_CODEPAGE_949=m
1875# CONFIG_NLS_CODEPAGE_874 is not set 2212CONFIG_NLS_CODEPAGE_874=m
1876# CONFIG_NLS_ISO8859_8 is not set 2213CONFIG_NLS_ISO8859_8=m
1877# CONFIG_NLS_CODEPAGE_1250 is not set 2214CONFIG_NLS_CODEPAGE_1250=m
1878# CONFIG_NLS_CODEPAGE_1251 is not set 2215CONFIG_NLS_CODEPAGE_1251=m
1879# CONFIG_NLS_ASCII is not set 2216CONFIG_NLS_ASCII=m
1880CONFIG_NLS_ISO8859_1=y 2217CONFIG_NLS_ISO8859_1=m
1881# CONFIG_NLS_ISO8859_2 is not set 2218CONFIG_NLS_ISO8859_2=m
1882# CONFIG_NLS_ISO8859_3 is not set 2219CONFIG_NLS_ISO8859_3=m
1883# CONFIG_NLS_ISO8859_4 is not set 2220CONFIG_NLS_ISO8859_4=m
1884# CONFIG_NLS_ISO8859_5 is not set 2221CONFIG_NLS_ISO8859_5=m
1885# CONFIG_NLS_ISO8859_6 is not set 2222CONFIG_NLS_ISO8859_6=m
1886# CONFIG_NLS_ISO8859_7 is not set 2223CONFIG_NLS_ISO8859_7=m
1887# CONFIG_NLS_ISO8859_9 is not set 2224CONFIG_NLS_ISO8859_9=m
1888# CONFIG_NLS_ISO8859_13 is not set 2225CONFIG_NLS_ISO8859_13=m
1889# CONFIG_NLS_ISO8859_14 is not set 2226CONFIG_NLS_ISO8859_14=m
1890# CONFIG_NLS_ISO8859_15 is not set 2227CONFIG_NLS_ISO8859_15=m
1891# CONFIG_NLS_KOI8_R is not set 2228CONFIG_NLS_KOI8_R=m
1892# CONFIG_NLS_KOI8_U is not set 2229CONFIG_NLS_KOI8_U=m
1893# CONFIG_NLS_UTF8 is not set 2230CONFIG_NLS_UTF8=m
1894# CONFIG_DLM is not set 2231CONFIG_DLM=m
2232# CONFIG_DLM_DEBUG is not set
1895 2233
1896# 2234#
1897# Kernel hacking 2235# Kernel hacking
@@ -1901,6 +2239,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
1901CONFIG_ENABLE_MUST_CHECK=y 2239CONFIG_ENABLE_MUST_CHECK=y
1902CONFIG_FRAME_WARN=1024 2240CONFIG_FRAME_WARN=1024
1903CONFIG_MAGIC_SYSRQ=y 2241CONFIG_MAGIC_SYSRQ=y
2242# CONFIG_STRIP_ASM_SYMS is not set
1904# CONFIG_UNUSED_SYMBOLS is not set 2243# CONFIG_UNUSED_SYMBOLS is not set
1905CONFIG_DEBUG_FS=y 2244CONFIG_DEBUG_FS=y
1906# CONFIG_HEADERS_CHECK is not set 2245# CONFIG_HEADERS_CHECK is not set
@@ -1909,11 +2248,15 @@ CONFIG_DEBUG_KERNEL=y
1909CONFIG_DETECT_SOFTLOCKUP=y 2248CONFIG_DETECT_SOFTLOCKUP=y
1910# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 2249# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1911CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 2250CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
2251CONFIG_DETECT_HUNG_TASK=y
2252# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
2253CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1912CONFIG_SCHED_DEBUG=y 2254CONFIG_SCHED_DEBUG=y
1913CONFIG_SCHEDSTATS=y 2255# CONFIG_SCHEDSTATS is not set
1914CONFIG_TIMER_STATS=y 2256# CONFIG_TIMER_STATS is not set
1915# CONFIG_DEBUG_OBJECTS is not set 2257# CONFIG_DEBUG_OBJECTS is not set
1916# CONFIG_DEBUG_SLAB is not set 2258# CONFIG_DEBUG_SLAB is not set
2259# CONFIG_DEBUG_KMEMLEAK is not set
1917# CONFIG_DEBUG_RT_MUTEXES is not set 2260# CONFIG_DEBUG_RT_MUTEXES is not set
1918# CONFIG_RT_MUTEX_TESTER is not set 2261# CONFIG_RT_MUTEX_TESTER is not set
1919# CONFIG_DEBUG_SPINLOCK is not set 2262# CONFIG_DEBUG_SPINLOCK is not set
@@ -1931,33 +2274,45 @@ CONFIG_DEBUG_INFO=y
1931# CONFIG_DEBUG_MEMORY_INIT is not set 2274# CONFIG_DEBUG_MEMORY_INIT is not set
1932# CONFIG_DEBUG_LIST is not set 2275# CONFIG_DEBUG_LIST is not set
1933# CONFIG_DEBUG_SG is not set 2276# CONFIG_DEBUG_SG is not set
1934CONFIG_FRAME_POINTER=y 2277# CONFIG_DEBUG_NOTIFIERS is not set
2278# CONFIG_DEBUG_CREDENTIALS is not set
1935# CONFIG_BOOT_PRINTK_DELAY is not set 2279# CONFIG_BOOT_PRINTK_DELAY is not set
1936# CONFIG_RCU_TORTURE_TEST is not set 2280# CONFIG_RCU_TORTURE_TEST is not set
1937# CONFIG_RCU_CPU_STALL_DETECTOR is not set 2281# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1938# CONFIG_BACKTRACE_SELF_TEST is not set 2282# CONFIG_BACKTRACE_SELF_TEST is not set
1939# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 2283# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
2284# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1940# CONFIG_FAULT_INJECTION is not set 2285# CONFIG_FAULT_INJECTION is not set
1941# CONFIG_LATENCYTOP is not set 2286# CONFIG_LATENCYTOP is not set
2287# CONFIG_SYSCTL_SYSCALL_CHECK is not set
2288# CONFIG_PAGE_POISONING is not set
1942CONFIG_HAVE_FUNCTION_TRACER=y 2289CONFIG_HAVE_FUNCTION_TRACER=y
1943 2290CONFIG_TRACING_SUPPORT=y
1944# 2291CONFIG_FTRACE=y
1945# Tracers
1946#
1947# CONFIG_FUNCTION_TRACER is not set 2292# CONFIG_FUNCTION_TRACER is not set
1948# CONFIG_IRQSOFF_TRACER is not set 2293# CONFIG_IRQSOFF_TRACER is not set
1949# CONFIG_SCHED_TRACER is not set 2294# CONFIG_SCHED_TRACER is not set
1950# CONFIG_CONTEXT_SWITCH_TRACER is not set 2295# CONFIG_ENABLE_DEFAULT_TRACERS is not set
1951# CONFIG_BOOT_TRACER is not set 2296# CONFIG_BOOT_TRACER is not set
2297CONFIG_BRANCH_PROFILE_NONE=y
2298# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
2299# CONFIG_PROFILE_ALL_BRANCHES is not set
1952# CONFIG_STACK_TRACER is not set 2300# CONFIG_STACK_TRACER is not set
1953# CONFIG_DYNAMIC_PRINTK_DEBUG is not set 2301# CONFIG_KMEMTRACE is not set
2302# CONFIG_WORKQUEUE_TRACER is not set
2303# CONFIG_BLK_DEV_IO_TRACE is not set
2304# CONFIG_DYNAMIC_DEBUG is not set
1954# CONFIG_SAMPLES is not set 2305# CONFIG_SAMPLES is not set
1955CONFIG_HAVE_ARCH_KGDB=y 2306CONFIG_HAVE_ARCH_KGDB=y
1956# CONFIG_KGDB is not set 2307# CONFIG_KGDB is not set
1957CONFIG_DEBUG_USER=y 2308CONFIG_ARM_UNWIND=y
1958CONFIG_DEBUG_ERRORS=y 2309# CONFIG_DEBUG_USER is not set
2310# CONFIG_DEBUG_ERRORS is not set
1959# CONFIG_DEBUG_STACK_USAGE is not set 2311# CONFIG_DEBUG_STACK_USAGE is not set
1960# CONFIG_DEBUG_LL is not set 2312CONFIG_DEBUG_LL=y
2313# CONFIG_EARLY_PRINTK is not set
2314# CONFIG_DEBUG_ICEDCC is not set
2315# CONFIG_OC_ETM is not set
1961 2316
1962# 2317#
1963# Security options 2318# Security options
@@ -1965,28 +2320,34 @@ CONFIG_DEBUG_ERRORS=y
1965# CONFIG_KEYS is not set 2320# CONFIG_KEYS is not set
1966# CONFIG_SECURITY is not set 2321# CONFIG_SECURITY is not set
1967# CONFIG_SECURITYFS is not set 2322# CONFIG_SECURITYFS is not set
1968# CONFIG_SECURITY_FILE_CAPABILITIES is not set 2323# CONFIG_DEFAULT_SECURITY_SELINUX is not set
2324# CONFIG_DEFAULT_SECURITY_SMACK is not set
2325# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
2326CONFIG_DEFAULT_SECURITY_DAC=y
2327CONFIG_DEFAULT_SECURITY=""
1969CONFIG_CRYPTO=y 2328CONFIG_CRYPTO=y
1970 2329
1971# 2330#
1972# Crypto core or helper 2331# Crypto core or helper
1973# 2332#
1974# CONFIG_CRYPTO_FIPS is not set
1975CONFIG_CRYPTO_ALGAPI=y 2333CONFIG_CRYPTO_ALGAPI=y
1976CONFIG_CRYPTO_ALGAPI2=y 2334CONFIG_CRYPTO_ALGAPI2=y
2335CONFIG_CRYPTO_AEAD=m
1977CONFIG_CRYPTO_AEAD2=y 2336CONFIG_CRYPTO_AEAD2=y
1978CONFIG_CRYPTO_BLKCIPHER=y 2337CONFIG_CRYPTO_BLKCIPHER=y
1979CONFIG_CRYPTO_BLKCIPHER2=y 2338CONFIG_CRYPTO_BLKCIPHER2=y
1980CONFIG_CRYPTO_HASH=m 2339CONFIG_CRYPTO_HASH=y
1981CONFIG_CRYPTO_HASH2=y 2340CONFIG_CRYPTO_HASH2=y
1982CONFIG_CRYPTO_RNG2=y 2341CONFIG_CRYPTO_RNG2=y
2342CONFIG_CRYPTO_PCOMP=y
1983CONFIG_CRYPTO_MANAGER=y 2343CONFIG_CRYPTO_MANAGER=y
1984CONFIG_CRYPTO_MANAGER2=y 2344CONFIG_CRYPTO_MANAGER2=y
1985CONFIG_CRYPTO_GF128MUL=m 2345# CONFIG_CRYPTO_GF128MUL is not set
1986CONFIG_CRYPTO_NULL=m 2346# CONFIG_CRYPTO_NULL is not set
1987CONFIG_CRYPTO_CRYPTD=m 2347CONFIG_CRYPTO_WORKQUEUE=y
1988# CONFIG_CRYPTO_AUTHENC is not set 2348# CONFIG_CRYPTO_CRYPTD is not set
1989CONFIG_CRYPTO_TEST=m 2349CONFIG_CRYPTO_AUTHENC=m
2350# CONFIG_CRYPTO_TEST is not set
1990 2351
1991# 2352#
1992# Authenticated Encryption with Associated Data 2353# Authenticated Encryption with Associated Data
@@ -2002,7 +2363,7 @@ CONFIG_CRYPTO_CBC=y
2002# CONFIG_CRYPTO_CTR is not set 2363# CONFIG_CRYPTO_CTR is not set
2003# CONFIG_CRYPTO_CTS is not set 2364# CONFIG_CRYPTO_CTS is not set
2004CONFIG_CRYPTO_ECB=y 2365CONFIG_CRYPTO_ECB=y
2005CONFIG_CRYPTO_LRW=m 2366# CONFIG_CRYPTO_LRW is not set
2006CONFIG_CRYPTO_PCBC=m 2367CONFIG_CRYPTO_PCBC=m
2007# CONFIG_CRYPTO_XTS is not set 2368# CONFIG_CRYPTO_XTS is not set
2008 2369
@@ -2010,49 +2371,51 @@ CONFIG_CRYPTO_PCBC=m
2010# Hash modes 2371# Hash modes
2011# 2372#
2012CONFIG_CRYPTO_HMAC=m 2373CONFIG_CRYPTO_HMAC=m
2013CONFIG_CRYPTO_XCBC=m 2374# CONFIG_CRYPTO_XCBC is not set
2375# CONFIG_CRYPTO_VMAC is not set
2014 2376
2015# 2377#
2016# Digest 2378# Digest
2017# 2379#
2018CONFIG_CRYPTO_CRC32C=m 2380CONFIG_CRYPTO_CRC32C=y
2019CONFIG_CRYPTO_MD4=m 2381# CONFIG_CRYPTO_GHASH is not set
2382# CONFIG_CRYPTO_MD4 is not set
2020CONFIG_CRYPTO_MD5=y 2383CONFIG_CRYPTO_MD5=y
2021CONFIG_CRYPTO_MICHAEL_MIC=y 2384CONFIG_CRYPTO_MICHAEL_MIC=m
2022# CONFIG_CRYPTO_RMD128 is not set 2385# CONFIG_CRYPTO_RMD128 is not set
2023# CONFIG_CRYPTO_RMD160 is not set 2386# CONFIG_CRYPTO_RMD160 is not set
2024# CONFIG_CRYPTO_RMD256 is not set 2387# CONFIG_CRYPTO_RMD256 is not set
2025# CONFIG_CRYPTO_RMD320 is not set 2388# CONFIG_CRYPTO_RMD320 is not set
2026CONFIG_CRYPTO_SHA1=m 2389CONFIG_CRYPTO_SHA1=m
2027CONFIG_CRYPTO_SHA256=m 2390# CONFIG_CRYPTO_SHA256 is not set
2028CONFIG_CRYPTO_SHA512=m 2391# CONFIG_CRYPTO_SHA512 is not set
2029CONFIG_CRYPTO_TGR192=m 2392# CONFIG_CRYPTO_TGR192 is not set
2030CONFIG_CRYPTO_WP512=m 2393# CONFIG_CRYPTO_WP512 is not set
2031 2394
2032# 2395#
2033# Ciphers 2396# Ciphers
2034# 2397#
2035CONFIG_CRYPTO_AES=y 2398CONFIG_CRYPTO_AES=y
2036CONFIG_CRYPTO_ANUBIS=m 2399# CONFIG_CRYPTO_ANUBIS is not set
2037CONFIG_CRYPTO_ARC4=y 2400CONFIG_CRYPTO_ARC4=y
2038CONFIG_CRYPTO_BLOWFISH=m 2401# CONFIG_CRYPTO_BLOWFISH is not set
2039CONFIG_CRYPTO_CAMELLIA=m 2402# CONFIG_CRYPTO_CAMELLIA is not set
2040CONFIG_CRYPTO_CAST5=m 2403# CONFIG_CRYPTO_CAST5 is not set
2041CONFIG_CRYPTO_CAST6=m 2404# CONFIG_CRYPTO_CAST6 is not set
2042CONFIG_CRYPTO_DES=y 2405CONFIG_CRYPTO_DES=y
2043CONFIG_CRYPTO_FCRYPT=m 2406# CONFIG_CRYPTO_FCRYPT is not set
2044CONFIG_CRYPTO_KHAZAD=m 2407# CONFIG_CRYPTO_KHAZAD is not set
2045# CONFIG_CRYPTO_SALSA20 is not set 2408# CONFIG_CRYPTO_SALSA20 is not set
2046# CONFIG_CRYPTO_SEED is not set 2409# CONFIG_CRYPTO_SEED is not set
2047CONFIG_CRYPTO_SERPENT=m 2410# CONFIG_CRYPTO_SERPENT is not set
2048CONFIG_CRYPTO_TEA=m 2411# CONFIG_CRYPTO_TEA is not set
2049CONFIG_CRYPTO_TWOFISH=m 2412# CONFIG_CRYPTO_TWOFISH is not set
2050CONFIG_CRYPTO_TWOFISH_COMMON=m
2051 2413
2052# 2414#
2053# Compression 2415# Compression
2054# 2416#
2055CONFIG_CRYPTO_DEFLATE=y 2417CONFIG_CRYPTO_DEFLATE=y
2418# CONFIG_CRYPTO_ZLIB is not set
2056CONFIG_CRYPTO_LZO=y 2419CONFIG_CRYPTO_LZO=y
2057 2420
2058# 2421#
@@ -2060,23 +2423,29 @@ CONFIG_CRYPTO_LZO=y
2060# 2423#
2061# CONFIG_CRYPTO_ANSI_CPRNG is not set 2424# CONFIG_CRYPTO_ANSI_CPRNG is not set
2062CONFIG_CRYPTO_HW=y 2425CONFIG_CRYPTO_HW=y
2426# CONFIG_BINARY_PRINTF is not set
2063 2427
2064# 2428#
2065# Library routines 2429# Library routines
2066# 2430#
2067CONFIG_BITREVERSE=y 2431CONFIG_BITREVERSE=y
2432CONFIG_GENERIC_FIND_LAST_BIT=y
2068CONFIG_CRC_CCITT=y 2433CONFIG_CRC_CCITT=y
2069CONFIG_CRC16=y 2434CONFIG_CRC16=y
2070CONFIG_CRC_T10DIF=y 2435CONFIG_CRC_T10DIF=y
2071CONFIG_CRC_ITU_T=y 2436CONFIG_CRC_ITU_T=m
2072CONFIG_CRC32=y 2437CONFIG_CRC32=y
2073CONFIG_CRC7=y 2438CONFIG_CRC7=m
2074CONFIG_LIBCRC32C=y 2439CONFIG_LIBCRC32C=y
2075CONFIG_ZLIB_INFLATE=y 2440CONFIG_ZLIB_INFLATE=y
2076CONFIG_ZLIB_DEFLATE=y 2441CONFIG_ZLIB_DEFLATE=y
2077CONFIG_LZO_COMPRESS=y 2442CONFIG_LZO_COMPRESS=y
2078CONFIG_LZO_DECOMPRESS=y 2443CONFIG_LZO_DECOMPRESS=y
2079CONFIG_PLIST=y 2444CONFIG_DECOMPRESS_GZIP=y
2445CONFIG_DECOMPRESS_BZIP2=y
2446CONFIG_DECOMPRESS_LZMA=y
2447CONFIG_DECOMPRESS_LZO=y
2080CONFIG_HAS_IOMEM=y 2448CONFIG_HAS_IOMEM=y
2081CONFIG_HAS_IOPORT=y 2449CONFIG_HAS_IOPORT=y
2082CONFIG_HAS_DMA=y 2450CONFIG_HAS_DMA=y
2451CONFIG_NLATTR=y
diff --git a/meta/packages/linux/linux-igep-2.6.33.5/defconfig-igep0030 b/meta/packages/linux/linux-igep-2.6.33.5/defconfig-igep0030
new file mode 100644
index 0000000000..c2cf05bb1d
--- /dev/null
+++ b/meta/packages/linux/linux-igep-2.6.33.5/defconfig-igep0030
@@ -0,0 +1,2454 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.33.4
4# Mon Jun 7 13:36:37 2010
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_HAVE_PROC_CPU=y
12CONFIG_GENERIC_HARDIRQS=y
13CONFIG_STACKTRACE_SUPPORT=y
14CONFIG_HAVE_LATENCYTOP_SUPPORT=y
15CONFIG_LOCKDEP_SUPPORT=y
16CONFIG_TRACE_IRQFLAGS_SUPPORT=y
17CONFIG_HARDIRQS_SW_RESEND=y
18CONFIG_GENERIC_IRQ_PROBE=y
19CONFIG_RWSEM_GENERIC_SPINLOCK=y
20CONFIG_ARCH_HAS_CPUFREQ=y
21CONFIG_GENERIC_HWEIGHT=y
22CONFIG_GENERIC_CALIBRATE_DELAY=y
23CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
24CONFIG_ARM_L1_CACHE_SHIFT_6=y
25CONFIG_VECTORS_BASE=0xffff0000
26CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
27CONFIG_CONSTRUCTORS=y
28
29#
30# General setup
31#
32CONFIG_EXPERIMENTAL=y
33CONFIG_BROKEN_ON_SMP=y
34CONFIG_INIT_ENV_ARG_LIMIT=32
35CONFIG_LOCALVERSION=""
36# CONFIG_LOCALVERSION_AUTO is not set
37CONFIG_HAVE_KERNEL_GZIP=y
38CONFIG_HAVE_KERNEL_LZO=y
39CONFIG_KERNEL_GZIP=y
40# CONFIG_KERNEL_BZIP2 is not set
41# CONFIG_KERNEL_LZMA is not set
42# CONFIG_KERNEL_LZO is not set
43CONFIG_SWAP=y
44CONFIG_SYSVIPC=y
45CONFIG_SYSVIPC_SYSCTL=y
46CONFIG_POSIX_MQUEUE=y
47CONFIG_POSIX_MQUEUE_SYSCTL=y
48CONFIG_BSD_PROCESS_ACCT=y
49CONFIG_BSD_PROCESS_ACCT_V3=y
50# CONFIG_TASKSTATS is not set
51# CONFIG_AUDIT is not set
52
53#
54# RCU Subsystem
55#
56CONFIG_TREE_RCU=y
57# CONFIG_TREE_PREEMPT_RCU is not set
58# CONFIG_TINY_RCU is not set
59# CONFIG_RCU_TRACE is not set
60CONFIG_RCU_FANOUT=32
61# CONFIG_RCU_FANOUT_EXACT is not set
62# CONFIG_TREE_RCU_TRACE is not set
63# CONFIG_IKCONFIG is not set
64CONFIG_LOG_BUF_SHIFT=17
65CONFIG_CGROUPS=y
66# CONFIG_CGROUP_DEBUG is not set
67# CONFIG_CGROUP_NS is not set
68# CONFIG_CGROUP_FREEZER is not set
69# CONFIG_CGROUP_DEVICE is not set
70# CONFIG_CPUSETS is not set
71# CONFIG_CGROUP_CPUACCT is not set
72# CONFIG_RESOURCE_COUNTERS is not set
73CONFIG_CGROUP_SCHED=y
74CONFIG_FAIR_GROUP_SCHED=y
75CONFIG_RT_GROUP_SCHED=y
76# CONFIG_SYSFS_DEPRECATED_V2 is not set
77CONFIG_RELAY=y
78CONFIG_NAMESPACES=y
79CONFIG_UTS_NS=y
80CONFIG_IPC_NS=y
81# CONFIG_USER_NS is not set
82# CONFIG_PID_NS is not set
83CONFIG_NET_NS=y
84CONFIG_BLK_DEV_INITRD=y
85CONFIG_INITRAMFS_SOURCE=""
86CONFIG_RD_GZIP=y
87CONFIG_RD_BZIP2=y
88CONFIG_RD_LZMA=y
89CONFIG_RD_LZO=y
90CONFIG_CC_OPTIMIZE_FOR_SIZE=y
91CONFIG_SYSCTL=y
92CONFIG_ANON_INODES=y
93CONFIG_EMBEDDED=y
94CONFIG_UID16=y
95# CONFIG_SYSCTL_SYSCALL is not set
96CONFIG_KALLSYMS=y
97# CONFIG_KALLSYMS_ALL is not set
98CONFIG_KALLSYMS_EXTRA_PASS=y
99CONFIG_HOTPLUG=y
100CONFIG_PRINTK=y
101CONFIG_BUG=y
102CONFIG_ELF_CORE=y
103CONFIG_BASE_FULL=y
104CONFIG_FUTEX=y
105CONFIG_EPOLL=y
106CONFIG_SIGNALFD=y
107CONFIG_TIMERFD=y
108CONFIG_EVENTFD=y
109CONFIG_SHMEM=y
110CONFIG_AIO=y
111CONFIG_HAVE_PERF_EVENTS=y
112CONFIG_PERF_USE_VMALLOC=y
113
114#
115# Kernel Performance Events And Counters
116#
117CONFIG_PERF_EVENTS=y
118# CONFIG_PERF_COUNTERS is not set
119# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
120CONFIG_VM_EVENT_COUNTERS=y
121# CONFIG_COMPAT_BRK is not set
122CONFIG_SLAB=y
123# CONFIG_SLUB is not set
124# CONFIG_SLOB is not set
125# CONFIG_PROFILING is not set
126CONFIG_HAVE_OPROFILE=y
127# CONFIG_KPROBES is not set
128CONFIG_HAVE_KPROBES=y
129CONFIG_HAVE_KRETPROBES=y
130CONFIG_HAVE_CLK=y
131
132#
133# GCOV-based kernel profiling
134#
135# CONFIG_GCOV_KERNEL is not set
136CONFIG_SLOW_WORK=y
137# CONFIG_SLOW_WORK_DEBUG is not set
138CONFIG_HAVE_GENERIC_DMA_COHERENT=y
139CONFIG_SLABINFO=y
140CONFIG_RT_MUTEXES=y
141CONFIG_BASE_SMALL=0
142CONFIG_MODULES=y
143CONFIG_MODULE_FORCE_LOAD=y
144CONFIG_MODULE_UNLOAD=y
145# CONFIG_MODULE_FORCE_UNLOAD is not set
146# CONFIG_MODVERSIONS is not set
147# CONFIG_MODULE_SRCVERSION_ALL is not set
148CONFIG_BLOCK=y
149CONFIG_LBDAF=y
150# CONFIG_BLK_DEV_BSG is not set
151# CONFIG_BLK_DEV_INTEGRITY is not set
152# CONFIG_BLK_CGROUP is not set
153
154#
155# IO Schedulers
156#
157CONFIG_IOSCHED_NOOP=y
158CONFIG_IOSCHED_DEADLINE=y
159CONFIG_IOSCHED_CFQ=y
160# CONFIG_CFQ_GROUP_IOSCHED is not set
161# CONFIG_DEFAULT_DEADLINE is not set
162CONFIG_DEFAULT_CFQ=y
163# CONFIG_DEFAULT_NOOP is not set
164CONFIG_DEFAULT_IOSCHED="cfq"
165# CONFIG_INLINE_SPIN_TRYLOCK is not set
166# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
167# CONFIG_INLINE_SPIN_LOCK is not set
168# CONFIG_INLINE_SPIN_LOCK_BH is not set
169# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
170# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
171CONFIG_INLINE_SPIN_UNLOCK=y
172# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
173CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
174# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
175# CONFIG_INLINE_READ_TRYLOCK is not set
176# CONFIG_INLINE_READ_LOCK is not set
177# CONFIG_INLINE_READ_LOCK_BH is not set
178# CONFIG_INLINE_READ_LOCK_IRQ is not set
179# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
180CONFIG_INLINE_READ_UNLOCK=y
181# CONFIG_INLINE_READ_UNLOCK_BH is not set
182CONFIG_INLINE_READ_UNLOCK_IRQ=y
183# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
184# CONFIG_INLINE_WRITE_TRYLOCK is not set
185# CONFIG_INLINE_WRITE_LOCK is not set
186# CONFIG_INLINE_WRITE_LOCK_BH is not set
187# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
188# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
189CONFIG_INLINE_WRITE_UNLOCK=y
190# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
191CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
192# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
193# CONFIG_MUTEX_SPIN_ON_OWNER is not set
194# CONFIG_FREEZER is not set
195
196#
197# System Type
198#
199CONFIG_MMU=y
200# CONFIG_ARCH_AAEC2000 is not set
201# CONFIG_ARCH_INTEGRATOR is not set
202# CONFIG_ARCH_REALVIEW is not set
203# CONFIG_ARCH_VERSATILE is not set
204# CONFIG_ARCH_AT91 is not set
205# CONFIG_ARCH_CLPS711X is not set
206# CONFIG_ARCH_GEMINI is not set
207# CONFIG_ARCH_EBSA110 is not set
208# CONFIG_ARCH_EP93XX is not set
209# CONFIG_ARCH_FOOTBRIDGE is not set
210# CONFIG_ARCH_MXC is not set
211# CONFIG_ARCH_STMP3XXX is not set
212# CONFIG_ARCH_NETX is not set
213# CONFIG_ARCH_H720X is not set
214# CONFIG_ARCH_NOMADIK is not set
215# CONFIG_ARCH_IOP13XX is not set
216# CONFIG_ARCH_IOP32X is not set
217# CONFIG_ARCH_IOP33X is not set
218# CONFIG_ARCH_IXP23XX is not set
219# CONFIG_ARCH_IXP2000 is not set
220# CONFIG_ARCH_IXP4XX is not set
221# CONFIG_ARCH_L7200 is not set
222# CONFIG_ARCH_DOVE is not set
223# CONFIG_ARCH_KIRKWOOD is not set
224# CONFIG_ARCH_LOKI is not set
225# CONFIG_ARCH_MV78XX0 is not set
226# CONFIG_ARCH_ORION5X is not set
227# CONFIG_ARCH_MMP is not set
228# CONFIG_ARCH_KS8695 is not set
229# CONFIG_ARCH_NS9XXX is not set
230# CONFIG_ARCH_W90X900 is not set
231# CONFIG_ARCH_NUC93X is not set
232# CONFIG_ARCH_PNX4008 is not set
233# CONFIG_ARCH_PXA is not set
234# CONFIG_ARCH_MSM is not set
235# CONFIG_ARCH_RPC is not set
236# CONFIG_ARCH_SA1100 is not set
237# CONFIG_ARCH_S3C2410 is not set
238# CONFIG_ARCH_S3C64XX is not set
239# CONFIG_ARCH_S5PC1XX is not set
240# CONFIG_ARCH_SHARK is not set
241# CONFIG_ARCH_LH7A40X is not set
242# CONFIG_ARCH_U300 is not set
243# CONFIG_ARCH_DAVINCI is not set
244CONFIG_ARCH_OMAP=y
245# CONFIG_ARCH_BCMRING is not set
246# CONFIG_ARCH_U8500 is not set
247
248#
249# TI OMAP Implementations
250#
251CONFIG_ARCH_OMAP_OTG=y
252# CONFIG_ARCH_OMAP1 is not set
253CONFIG_ARCH_OMAP2PLUS=y
254# CONFIG_ARCH_OMAP2 is not set
255CONFIG_ARCH_OMAP3=y
256# CONFIG_ARCH_OMAP4 is not set
257
258#
259# OMAP Feature Selections
260#
261# CONFIG_OMAP_RESET_CLOCKS is not set
262CONFIG_OMAP_MUX=y
263CONFIG_OMAP_MUX_DEBUG=y
264CONFIG_OMAP_MUX_WARNINGS=y
265CONFIG_OMAP_MCBSP=y
266CONFIG_OMAP_MBOX_FWK=m
267CONFIG_OMAP_IOMMU=m
268# CONFIG_OMAP_MPU_TIMER is not set
269CONFIG_OMAP_32K_TIMER=y
270# CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set
271CONFIG_OMAP_32K_TIMER_HZ=128
272CONFIG_OMAP_DM_TIMER=y
273# CONFIG_OMAP_PM_NONE is not set
274CONFIG_OMAP_PM_NOOP=y
275CONFIG_ARCH_OMAP3430=y
276CONFIG_OMAP_PACKAGE_CBB=y
277
278#
279# OMAP Board Type
280#
281# CONFIG_MACH_OMAP3_BEAGLE is not set
282# CONFIG_MACH_DEVKIT8000 is not set
283# CONFIG_MACH_OMAP_LDP is not set
284# CONFIG_MACH_OVERO is not set
285# CONFIG_MACH_OMAP3EVM is not set
286# CONFIG_MACH_OMAP3517EVM is not set
287# CONFIG_MACH_OMAP3_PANDORA is not set
288# CONFIG_MACH_OMAP3_TOUCHBOOK is not set
289# CONFIG_MACH_OMAP_3430SDP is not set
290# CONFIG_MACH_NOKIA_RX51 is not set
291# CONFIG_MACH_OMAP_ZOOM2 is not set
292# CONFIG_MACH_OMAP_ZOOM3 is not set
293# CONFIG_MACH_CM_T35 is not set
294# CONFIG_MACH_IGEP0020 is not set
295CONFIG_MACH_IGEP0030=y
296# CONFIG_MACH_OMAP_3630SDP is not set
297# CONFIG_OMAP3_EMU is not set
298# CONFIG_OMAP3_SDRC_AC_TIMING is not set
299
300#
301# Processor Type
302#
303CONFIG_CPU_32v6K=y
304CONFIG_CPU_V7=y
305CONFIG_CPU_32v7=y
306CONFIG_CPU_ABRT_EV7=y
307CONFIG_CPU_PABRT_V7=y
308CONFIG_CPU_CACHE_V7=y
309CONFIG_CPU_CACHE_VIPT=y
310CONFIG_CPU_COPY_V6=y
311CONFIG_CPU_TLB_V7=y
312CONFIG_CPU_HAS_ASID=y
313CONFIG_CPU_CP15=y
314CONFIG_CPU_CP15_MMU=y
315
316#
317# Processor Features
318#
319CONFIG_ARM_THUMB=y
320CONFIG_ARM_THUMBEE=y
321# CONFIG_CPU_ICACHE_DISABLE is not set
322# CONFIG_CPU_DCACHE_DISABLE is not set
323# CONFIG_CPU_BPREDICT_DISABLE is not set
324CONFIG_HAS_TLS_REG=y
325CONFIG_ARM_L1_CACHE_SHIFT=6
326CONFIG_CPU_HAS_PMU=y
327CONFIG_ARM_ERRATA_430973=y
328CONFIG_ARM_ERRATA_458693=y
329CONFIG_ARM_ERRATA_460075=y
330CONFIG_COMMON_CLKDEV=y
331
332#
333# Bus support
334#
335# CONFIG_PCI_SYSCALL is not set
336# CONFIG_ARCH_SUPPORTS_MSI is not set
337# CONFIG_PCCARD is not set
338
339#
340# Kernel Features
341#
342CONFIG_TICK_ONESHOT=y
343CONFIG_NO_HZ=y
344CONFIG_HIGH_RES_TIMERS=y
345CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
346CONFIG_VMSPLIT_3G=y
347# CONFIG_VMSPLIT_2G is not set
348# CONFIG_VMSPLIT_1G is not set
349CONFIG_PAGE_OFFSET=0xC0000000
350# CONFIG_PREEMPT_NONE is not set
351CONFIG_PREEMPT_VOLUNTARY=y
352# CONFIG_PREEMPT is not set
353CONFIG_HZ=128
354# CONFIG_THUMB2_KERNEL is not set
355CONFIG_AEABI=y
356# CONFIG_OABI_COMPAT is not set
357CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
358# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
359# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
360# CONFIG_HIGHMEM is not set
361CONFIG_HW_PERF_EVENTS=y
362CONFIG_SELECT_MEMORY_MODEL=y
363CONFIG_FLATMEM_MANUAL=y
364# CONFIG_DISCONTIGMEM_MANUAL is not set
365# CONFIG_SPARSEMEM_MANUAL is not set
366CONFIG_FLATMEM=y
367CONFIG_FLAT_NODE_MEM_MAP=y
368CONFIG_PAGEFLAGS_EXTENDED=y
369CONFIG_SPLIT_PTLOCK_CPUS=4
370# CONFIG_PHYS_ADDR_T_64BIT is not set
371CONFIG_ZONE_DMA_FLAG=0
372CONFIG_VIRT_TO_BUS=y
373# CONFIG_KSM is not set
374CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
375# CONFIG_LEDS is not set
376CONFIG_ALIGNMENT_TRAP=y
377# CONFIG_UACCESS_WITH_MEMCPY is not set
378
379#
380# Boot options
381#
382CONFIG_ZBOOT_ROM_TEXT=0x0
383CONFIG_ZBOOT_ROM_BSS=0x0
384CONFIG_CMDLINE=""
385# CONFIG_XIP_KERNEL is not set
386# CONFIG_KEXEC is not set
387
388#
389# CPU Power Management
390#
391# CONFIG_CPU_FREQ is not set
392# CONFIG_CPU_IDLE is not set
393
394#
395# Floating point emulation
396#
397
398#
399# At least one emulation must be selected
400#
401CONFIG_VFP=y
402CONFIG_VFPv3=y
403CONFIG_NEON=y
404
405#
406# Userspace binary formats
407#
408CONFIG_BINFMT_ELF=y
409# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
410CONFIG_HAVE_AOUT=y
411CONFIG_BINFMT_AOUT=m
412CONFIG_BINFMT_MISC=m
413
414#
415# Power management options
416#
417CONFIG_PM=y
418# CONFIG_PM_DEBUG is not set
419# CONFIG_SUSPEND is not set
420# CONFIG_APM_EMULATION is not set
421# CONFIG_PM_RUNTIME is not set
422CONFIG_ARCH_SUSPEND_POSSIBLE=y
423CONFIG_NET=y
424
425#
426# Networking options
427#
428CONFIG_PACKET=y
429CONFIG_UNIX=y
430CONFIG_XFRM=y
431CONFIG_XFRM_USER=m
432# CONFIG_XFRM_SUB_POLICY is not set
433CONFIG_XFRM_MIGRATE=y
434# CONFIG_XFRM_STATISTICS is not set
435CONFIG_XFRM_IPCOMP=m
436CONFIG_NET_KEY=m
437CONFIG_NET_KEY_MIGRATE=y
438CONFIG_INET=y
439CONFIG_IP_MULTICAST=y
440CONFIG_IP_ADVANCED_ROUTER=y
441CONFIG_ASK_IP_FIB_HASH=y
442# CONFIG_IP_FIB_TRIE is not set
443CONFIG_IP_FIB_HASH=y
444CONFIG_IP_MULTIPLE_TABLES=y
445CONFIG_IP_ROUTE_MULTIPATH=y
446CONFIG_IP_ROUTE_VERBOSE=y
447CONFIG_IP_PNP=y
448CONFIG_IP_PNP_DHCP=y
449CONFIG_IP_PNP_BOOTP=y
450# CONFIG_IP_PNP_RARP is not set
451CONFIG_NET_IPIP=m
452CONFIG_NET_IPGRE=m
453CONFIG_NET_IPGRE_BROADCAST=y
454CONFIG_IP_MROUTE=y
455CONFIG_IP_PIMSM_V1=y
456CONFIG_IP_PIMSM_V2=y
457# CONFIG_ARPD is not set
458CONFIG_SYN_COOKIES=y
459CONFIG_INET_AH=m
460CONFIG_INET_ESP=m
461CONFIG_INET_IPCOMP=m
462CONFIG_INET_XFRM_TUNNEL=m
463CONFIG_INET_TUNNEL=m
464CONFIG_INET_XFRM_MODE_TRANSPORT=m
465CONFIG_INET_XFRM_MODE_TUNNEL=m
466CONFIG_INET_XFRM_MODE_BEET=m
467CONFIG_INET_LRO=y
468CONFIG_INET_DIAG=y
469CONFIG_INET_TCP_DIAG=y
470CONFIG_TCP_CONG_ADVANCED=y
471CONFIG_TCP_CONG_BIC=m
472CONFIG_TCP_CONG_CUBIC=y
473CONFIG_TCP_CONG_WESTWOOD=m
474CONFIG_TCP_CONG_HTCP=m
475CONFIG_TCP_CONG_HSTCP=m
476CONFIG_TCP_CONG_HYBLA=m
477CONFIG_TCP_CONG_VEGAS=m
478CONFIG_TCP_CONG_SCALABLE=m
479CONFIG_TCP_CONG_LP=m
480CONFIG_TCP_CONG_VENO=m
481CONFIG_TCP_CONG_YEAH=m
482CONFIG_TCP_CONG_ILLINOIS=m
483# CONFIG_DEFAULT_BIC is not set
484CONFIG_DEFAULT_CUBIC=y
485# CONFIG_DEFAULT_HTCP is not set
486# CONFIG_DEFAULT_VEGAS is not set
487# CONFIG_DEFAULT_WESTWOOD is not set
488# CONFIG_DEFAULT_RENO is not set
489CONFIG_DEFAULT_TCP_CONG="cubic"
490# CONFIG_TCP_MD5SIG is not set
491CONFIG_IPV6=y
492CONFIG_IPV6_PRIVACY=y
493# CONFIG_IPV6_ROUTER_PREF is not set
494# CONFIG_IPV6_OPTIMISTIC_DAD is not set
495CONFIG_INET6_AH=m
496CONFIG_INET6_ESP=m
497CONFIG_INET6_IPCOMP=m
498# CONFIG_IPV6_MIP6 is not set
499CONFIG_INET6_XFRM_TUNNEL=m
500CONFIG_INET6_TUNNEL=m
501CONFIG_INET6_XFRM_MODE_TRANSPORT=m
502CONFIG_INET6_XFRM_MODE_TUNNEL=m
503CONFIG_INET6_XFRM_MODE_BEET=m
504# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
505CONFIG_IPV6_SIT=m
506# CONFIG_IPV6_SIT_6RD is not set
507CONFIG_IPV6_NDISC_NODETYPE=y
508CONFIG_IPV6_TUNNEL=m
509CONFIG_IPV6_MULTIPLE_TABLES=y
510# CONFIG_IPV6_SUBTREES is not set
511# CONFIG_IPV6_MROUTE is not set
512# CONFIG_NETWORK_SECMARK is not set
513# CONFIG_NETFILTER is not set
514# CONFIG_IP_DCCP is not set
515CONFIG_IP_SCTP=m
516# CONFIG_SCTP_DBG_MSG is not set
517# CONFIG_SCTP_DBG_OBJCNT is not set
518# CONFIG_SCTP_HMAC_NONE is not set
519# CONFIG_SCTP_HMAC_SHA1 is not set
520CONFIG_SCTP_HMAC_MD5=y
521# CONFIG_RDS is not set
522# CONFIG_TIPC is not set
523# CONFIG_ATM is not set
524# CONFIG_BRIDGE is not set
525# CONFIG_NET_DSA is not set
526# CONFIG_VLAN_8021Q is not set
527# CONFIG_DECNET is not set
528# CONFIG_LLC2 is not set
529# CONFIG_IPX is not set
530# CONFIG_ATALK is not set
531# CONFIG_X25 is not set
532# CONFIG_LAPB is not set
533# CONFIG_ECONET is not set
534# CONFIG_WAN_ROUTER is not set
535# CONFIG_PHONET is not set
536# CONFIG_IEEE802154 is not set
537# CONFIG_NET_SCHED is not set
538# CONFIG_DCB is not set
539
540#
541# Network testing
542#
543# CONFIG_NET_PKTGEN is not set
544# CONFIG_HAMRADIO is not set
545# CONFIG_CAN is not set
546# CONFIG_IRDA is not set
547CONFIG_BT=m
548CONFIG_BT_L2CAP=m
549CONFIG_BT_SCO=m
550CONFIG_BT_RFCOMM=m
551CONFIG_BT_RFCOMM_TTY=y
552CONFIG_BT_BNEP=m
553CONFIG_BT_BNEP_MC_FILTER=y
554CONFIG_BT_BNEP_PROTO_FILTER=y
555CONFIG_BT_HIDP=m
556
557#
558# Bluetooth device drivers
559#
560CONFIG_BT_HCIBTUSB=m
561CONFIG_BT_HCIBTSDIO=m
562CONFIG_BT_HCIUART=m
563CONFIG_BT_HCIUART_H4=y
564CONFIG_BT_HCIUART_BCSP=y
565CONFIG_BT_HCIUART_LL=y
566CONFIG_BT_HCIBCM203X=m
567CONFIG_BT_HCIBPA10X=m
568CONFIG_BT_HCIBFUSB=m
569CONFIG_BT_HCIVHCI=m
570# CONFIG_BT_MRVL is not set
571CONFIG_BT_ATH3K=m
572# CONFIG_AF_RXRPC is not set
573CONFIG_FIB_RULES=y
574CONFIG_WIRELESS=y
575CONFIG_WIRELESS_EXT=y
576CONFIG_WEXT_CORE=y
577CONFIG_WEXT_PROC=y
578CONFIG_WEXT_SPY=y
579CONFIG_CFG80211=m
580# CONFIG_NL80211_TESTMODE is not set
581# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
582# CONFIG_CFG80211_REG_DEBUG is not set
583CONFIG_CFG80211_DEFAULT_PS=y
584CONFIG_CFG80211_DEBUGFS=y
585# CONFIG_CFG80211_INTERNAL_REGDB is not set
586CONFIG_CFG80211_WEXT=y
587CONFIG_WIRELESS_EXT_SYSFS=y
588CONFIG_LIB80211=m
589# CONFIG_LIB80211_DEBUG is not set
590CONFIG_MAC80211=m
591# CONFIG_MAC80211_RC_PID is not set
592CONFIG_MAC80211_RC_MINSTREL=y
593# CONFIG_MAC80211_RC_DEFAULT_PID is not set
594CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
595CONFIG_MAC80211_RC_DEFAULT="minstrel"
596CONFIG_MAC80211_MESH=y
597# CONFIG_MAC80211_LEDS is not set
598# CONFIG_MAC80211_DEBUGFS is not set
599# CONFIG_MAC80211_DEBUG_MENU is not set
600# CONFIG_WIMAX is not set
601# CONFIG_RFKILL is not set
602# CONFIG_NET_9P is not set
603
604#
605# Device Drivers
606#
607
608#
609# Generic Driver Options
610#
611CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
612# CONFIG_DEVTMPFS is not set
613CONFIG_STANDALONE=y
614# CONFIG_PREVENT_FIRMWARE_BUILD is not set
615CONFIG_FW_LOADER=y
616CONFIG_FIRMWARE_IN_KERNEL=y
617CONFIG_EXTRA_FIRMWARE=""
618# CONFIG_DEBUG_DRIVER is not set
619# CONFIG_DEBUG_DEVRES is not set
620# CONFIG_SYS_HYPERVISOR is not set
621CONFIG_CONNECTOR=y
622CONFIG_PROC_EVENTS=y
623CONFIG_MTD=y
624# CONFIG_MTD_DEBUG is not set
625CONFIG_MTD_TESTS=m
626CONFIG_MTD_CONCAT=m
627CONFIG_MTD_PARTITIONS=y
628# CONFIG_MTD_REDBOOT_PARTS is not set
629CONFIG_MTD_CMDLINE_PARTS=y
630# CONFIG_MTD_AFS_PARTS is not set
631# CONFIG_MTD_AR7_PARTS is not set
632
633#
634# User Modules And Translation Layers
635#
636CONFIG_MTD_CHAR=y
637CONFIG_MTD_BLKDEVS=y
638CONFIG_MTD_BLOCK=y
639# CONFIG_FTL is not set
640# CONFIG_NFTL is not set
641# CONFIG_INFTL is not set
642# CONFIG_RFD_FTL is not set
643# CONFIG_SSFDC is not set
644# CONFIG_MTD_OOPS is not set
645
646#
647# RAM/ROM/Flash chip drivers
648#
649# CONFIG_MTD_CFI is not set
650# CONFIG_MTD_JEDECPROBE is not set
651CONFIG_MTD_MAP_BANK_WIDTH_1=y
652CONFIG_MTD_MAP_BANK_WIDTH_2=y
653CONFIG_MTD_MAP_BANK_WIDTH_4=y
654# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
655# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
656# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
657CONFIG_MTD_CFI_I1=y
658CONFIG_MTD_CFI_I2=y
659# CONFIG_MTD_CFI_I4 is not set
660# CONFIG_MTD_CFI_I8 is not set
661# CONFIG_MTD_RAM is not set
662# CONFIG_MTD_ROM is not set
663# CONFIG_MTD_ABSENT is not set
664
665#
666# Mapping drivers for chip access
667#
668# CONFIG_MTD_COMPLEX_MAPPINGS is not set
669# CONFIG_MTD_PLATRAM is not set
670
671#
672# Self-contained MTD device drivers
673#
674# CONFIG_MTD_DATAFLASH is not set
675# CONFIG_MTD_M25P80 is not set
676# CONFIG_MTD_SST25L is not set
677# CONFIG_MTD_SLRAM is not set
678# CONFIG_MTD_PHRAM is not set
679# CONFIG_MTD_MTDRAM is not set
680CONFIG_MTD_BLOCK2MTD=y
681
682#
683# Disk-On-Chip Device Drivers
684#
685# CONFIG_MTD_DOC2000 is not set
686# CONFIG_MTD_DOC2001 is not set
687# CONFIG_MTD_DOC2001PLUS is not set
688# CONFIG_MTD_NAND is not set
689CONFIG_MTD_ONENAND=y
690# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set
691# CONFIG_MTD_ONENAND_GENERIC is not set
692CONFIG_MTD_ONENAND_OMAP2=y
693# CONFIG_MTD_ONENAND_OTP is not set
694CONFIG_MTD_ONENAND_2X_PROGRAM=y
695CONFIG_MTD_ONENAND_SIM=m
696
697#
698# LPDDR flash memory drivers
699#
700# CONFIG_MTD_LPDDR is not set
701
702#
703# UBI - Unsorted block images
704#
705CONFIG_MTD_UBI=y
706CONFIG_MTD_UBI_WL_THRESHOLD=4096
707CONFIG_MTD_UBI_BEB_RESERVE=1
708CONFIG_MTD_UBI_GLUEBI=m
709
710#
711# UBI debugging options
712#
713# CONFIG_MTD_UBI_DEBUG is not set
714# CONFIG_PARPORT is not set
715CONFIG_BLK_DEV=y
716# CONFIG_BLK_DEV_COW_COMMON is not set
717CONFIG_BLK_DEV_LOOP=y
718CONFIG_BLK_DEV_CRYPTOLOOP=m
719# CONFIG_BLK_DEV_DRBD is not set
720CONFIG_BLK_DEV_NBD=m
721# CONFIG_BLK_DEV_UB is not set
722CONFIG_BLK_DEV_RAM=y
723CONFIG_BLK_DEV_RAM_COUNT=1
724CONFIG_BLK_DEV_RAM_SIZE=65536
725# CONFIG_BLK_DEV_XIP is not set
726# CONFIG_CDROM_PKTCDVD is not set
727# CONFIG_ATA_OVER_ETH is not set
728# CONFIG_MG_DISK is not set
729CONFIG_MISC_DEVICES=y
730# CONFIG_AD525X_DPOT is not set
731# CONFIG_ICS932S401 is not set
732# CONFIG_ENCLOSURE_SERVICES is not set
733# CONFIG_ISL29003 is not set
734# CONFIG_DS1682 is not set
735# CONFIG_TI_DAC7512 is not set
736# CONFIG_C2PORT is not set
737
738#
739# EEPROM support
740#
741CONFIG_EEPROM_AT24=m
742CONFIG_EEPROM_AT25=m
743# CONFIG_EEPROM_LEGACY is not set
744CONFIG_EEPROM_MAX6875=m
745CONFIG_EEPROM_93CX6=m
746# CONFIG_IWMC3200TOP is not set
747CONFIG_HAVE_IDE=y
748# CONFIG_IDE is not set
749
750#
751# SCSI device support
752#
753# CONFIG_RAID_ATTRS is not set
754CONFIG_SCSI=y
755CONFIG_SCSI_DMA=y
756# CONFIG_SCSI_TGT is not set
757# CONFIG_SCSI_NETLINK is not set
758CONFIG_SCSI_PROC_FS=y
759
760#
761# SCSI support type (disk, tape, CD-ROM)
762#
763CONFIG_BLK_DEV_SD=y
764# CONFIG_CHR_DEV_ST is not set
765# CONFIG_CHR_DEV_OSST is not set
766# CONFIG_BLK_DEV_SR is not set
767# CONFIG_CHR_DEV_SG is not set
768# CONFIG_CHR_DEV_SCH is not set
769# CONFIG_SCSI_MULTI_LUN is not set
770# CONFIG_SCSI_CONSTANTS is not set
771# CONFIG_SCSI_LOGGING is not set
772# CONFIG_SCSI_SCAN_ASYNC is not set
773CONFIG_SCSI_WAIT_SCAN=m
774
775#
776# SCSI Transports
777#
778# CONFIG_SCSI_SPI_ATTRS is not set
779# CONFIG_SCSI_FC_ATTRS is not set
780# CONFIG_SCSI_ISCSI_ATTRS is not set
781# CONFIG_SCSI_SAS_LIBSAS is not set
782# CONFIG_SCSI_SRP_ATTRS is not set
783CONFIG_SCSI_LOWLEVEL=y
784# CONFIG_ISCSI_TCP is not set
785# CONFIG_LIBFC is not set
786# CONFIG_LIBFCOE is not set
787# CONFIG_SCSI_DEBUG is not set
788# CONFIG_SCSI_DH is not set
789# CONFIG_SCSI_OSD_INITIATOR is not set
790# CONFIG_ATA is not set
791# CONFIG_MD is not set
792CONFIG_NETDEVICES=y
793CONFIG_DUMMY=m
794# CONFIG_BONDING is not set
795# CONFIG_MACVLAN is not set
796CONFIG_EQUALIZER=m
797CONFIG_TUN=m
798CONFIG_VETH=m
799CONFIG_PHYLIB=y
800
801#
802# MII PHY device drivers
803#
804# CONFIG_MARVELL_PHY is not set
805# CONFIG_DAVICOM_PHY is not set
806# CONFIG_QSEMI_PHY is not set
807# CONFIG_LXT_PHY is not set
808# CONFIG_CICADA_PHY is not set
809# CONFIG_VITESSE_PHY is not set
810# CONFIG_SMSC_PHY is not set
811# CONFIG_BROADCOM_PHY is not set
812# CONFIG_ICPLUS_PHY is not set
813# CONFIG_REALTEK_PHY is not set
814# CONFIG_NATIONAL_PHY is not set
815# CONFIG_STE10XP is not set
816# CONFIG_LSI_ET1011C_PHY is not set
817# CONFIG_FIXED_PHY is not set
818# CONFIG_MDIO_BITBANG is not set
819CONFIG_NET_ETHERNET=y
820CONFIG_MII=y
821# CONFIG_AX88796 is not set
822# CONFIG_SMC91X is not set
823# CONFIG_TI_DAVINCI_EMAC is not set
824# CONFIG_DM9000 is not set
825# CONFIG_ENC28J60 is not set
826# CONFIG_ETHOC is not set
827# CONFIG_SMC911X is not set
828CONFIG_SMSC911X=y
829# CONFIG_DNET is not set
830# CONFIG_IBM_NEW_EMAC_ZMII is not set
831# CONFIG_IBM_NEW_EMAC_RGMII is not set
832# CONFIG_IBM_NEW_EMAC_TAH is not set
833# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
834# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
835# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
836# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
837# CONFIG_B44 is not set
838# CONFIG_KS8842 is not set
839# CONFIG_KS8851 is not set
840# CONFIG_KS8851_MLL is not set
841# CONFIG_NETDEV_1000 is not set
842# CONFIG_NETDEV_10000 is not set
843CONFIG_WLAN=y
844# CONFIG_LIBERTAS_THINFIRM is not set
845# CONFIG_AT76C50X_USB is not set
846# CONFIG_USB_ZD1201 is not set
847# CONFIG_USB_NET_RNDIS_WLAN is not set
848# CONFIG_RTL8187 is not set
849# CONFIG_MAC80211_HWSIM is not set
850# CONFIG_ATH_COMMON is not set
851# CONFIG_B43 is not set
852# CONFIG_B43LEGACY is not set
853# CONFIG_HOSTAP is not set
854# CONFIG_IWM is not set
855CONFIG_LIBERTAS=m
856CONFIG_LIBERTAS_USB=m
857CONFIG_LIBERTAS_SDIO=m
858# CONFIG_LIBERTAS_SPI is not set
859# CONFIG_LIBERTAS_DEBUG is not set
860# CONFIG_LIBERTAS_MESH is not set
861# CONFIG_P54_COMMON is not set
862# CONFIG_RT2X00 is not set
863# CONFIG_WL12XX is not set
864# CONFIG_ZD1211RW is not set
865
866#
867# Enable WiMAX (Networking options) to see the WiMAX drivers
868#
869
870#
871# USB Network Adapters
872#
873# CONFIG_USB_CATC is not set
874CONFIG_USB_KAWETH=m
875CONFIG_USB_PEGASUS=m
876# CONFIG_USB_RTL8150 is not set
877CONFIG_USB_USBNET=m
878CONFIG_USB_NET_AX8817X=m
879CONFIG_USB_NET_CDCETHER=m
880CONFIG_USB_NET_CDC_EEM=m
881CONFIG_USB_NET_DM9601=m
882CONFIG_USB_NET_SMSC95XX=m
883CONFIG_USB_NET_GL620A=m
884CONFIG_USB_NET_NET1080=m
885CONFIG_USB_NET_PLUSB=m
886CONFIG_USB_NET_MCS7830=m
887CONFIG_USB_NET_RNDIS_HOST=m
888CONFIG_USB_NET_CDC_SUBSET=m
889CONFIG_USB_ALI_M5632=y
890CONFIG_USB_AN2720=y
891CONFIG_USB_BELKIN=y
892CONFIG_USB_ARMLINUX=y
893# CONFIG_USB_EPSON2888 is not set
894# CONFIG_USB_KC2190 is not set
895CONFIG_USB_NET_ZAURUS=m
896# CONFIG_USB_NET_INT51X1 is not set
897# CONFIG_WAN is not set
898CONFIG_PPP=m
899CONFIG_PPP_MULTILINK=y
900CONFIG_PPP_FILTER=y
901CONFIG_PPP_ASYNC=m
902CONFIG_PPP_SYNC_TTY=m
903CONFIG_PPP_DEFLATE=m
904CONFIG_PPP_BSDCOMP=m
905CONFIG_PPP_MPPE=m
906CONFIG_PPPOE=m
907CONFIG_PPPOL2TP=m
908CONFIG_SLIP=m
909CONFIG_SLIP_COMPRESSED=y
910CONFIG_SLHC=m
911CONFIG_SLIP_SMART=y
912CONFIG_SLIP_MODE_SLIP6=y
913# CONFIG_NETCONSOLE is not set
914# CONFIG_NETPOLL is not set
915# CONFIG_NET_POLL_CONTROLLER is not set
916# CONFIG_ISDN is not set
917# CONFIG_PHONE is not set
918
919#
920# Input device support
921#
922CONFIG_INPUT=y
923CONFIG_INPUT_FF_MEMLESS=m
924# CONFIG_INPUT_POLLDEV is not set
925# CONFIG_INPUT_SPARSEKMAP is not set
926
927#
928# Userland interfaces
929#
930CONFIG_INPUT_MOUSEDEV=y
931CONFIG_INPUT_MOUSEDEV_PSAUX=y
932CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
933CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
934# CONFIG_INPUT_JOYDEV is not set
935CONFIG_INPUT_EVDEV=y
936# CONFIG_INPUT_EVBUG is not set
937
938#
939# Input Device Drivers
940#
941CONFIG_INPUT_KEYBOARD=y
942# CONFIG_KEYBOARD_ADP5588 is not set
943# CONFIG_KEYBOARD_ATKBD is not set
944# CONFIG_QT2160 is not set
945# CONFIG_KEYBOARD_LKKBD is not set
946CONFIG_KEYBOARD_GPIO=y
947# CONFIG_KEYBOARD_MATRIX is not set
948# CONFIG_KEYBOARD_LM8323 is not set
949# CONFIG_KEYBOARD_MAX7359 is not set
950# CONFIG_KEYBOARD_NEWTON is not set
951# CONFIG_KEYBOARD_OPENCORES is not set
952# CONFIG_KEYBOARD_STOWAWAY is not set
953# CONFIG_KEYBOARD_SUNKBD is not set
954CONFIG_KEYBOARD_TWL4030=m
955# CONFIG_KEYBOARD_XTKBD is not set
956CONFIG_INPUT_MOUSE=y
957# CONFIG_MOUSE_PS2 is not set
958# CONFIG_MOUSE_SERIAL is not set
959# CONFIG_MOUSE_APPLETOUCH is not set
960# CONFIG_MOUSE_BCM5974 is not set
961# CONFIG_MOUSE_VSXXXAA is not set
962# CONFIG_MOUSE_GPIO is not set
963# CONFIG_MOUSE_SYNAPTICS_I2C is not set
964# CONFIG_INPUT_JOYSTICK is not set
965# CONFIG_INPUT_TABLET is not set
966# CONFIG_INPUT_TOUCHSCREEN is not set
967CONFIG_INPUT_MISC=y
968CONFIG_INPUT_ATI_REMOTE=m
969CONFIG_INPUT_ATI_REMOTE2=m
970# CONFIG_INPUT_KEYSPAN_REMOTE is not set
971# CONFIG_INPUT_POWERMATE is not set
972CONFIG_INPUT_YEALINK=m
973CONFIG_INPUT_CM109=m
974CONFIG_INPUT_TWL4030_PWRBUTTON=y
975CONFIG_INPUT_UINPUT=m
976CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
977
978#
979# Hardware I/O ports
980#
981CONFIG_SERIO=y
982CONFIG_SERIO_SERPORT=y
983CONFIG_SERIO_LIBPS2=y
984# CONFIG_SERIO_RAW is not set
985# CONFIG_SERIO_ALTERA_PS2 is not set
986# CONFIG_GAMEPORT is not set
987
988#
989# Character devices
990#
991CONFIG_VT=y
992CONFIG_CONSOLE_TRANSLATIONS=y
993CONFIG_VT_CONSOLE=y
994CONFIG_HW_CONSOLE=y
995CONFIG_VT_HW_CONSOLE_BINDING=y
996# CONFIG_DEVKMEM is not set
997# CONFIG_SERIAL_NONSTANDARD is not set
998
999#
1000# Serial drivers
1001#
1002CONFIG_SERIAL_8250=y
1003CONFIG_SERIAL_8250_CONSOLE=y
1004CONFIG_SERIAL_8250_NR_UARTS=32
1005CONFIG_SERIAL_8250_RUNTIME_UARTS=4
1006CONFIG_SERIAL_8250_EXTENDED=y
1007CONFIG_SERIAL_8250_MANY_PORTS=y
1008CONFIG_SERIAL_8250_SHARE_IRQ=y
1009CONFIG_SERIAL_8250_DETECT_IRQ=y
1010CONFIG_SERIAL_8250_RSA=y
1011
1012#
1013# Non-8250 serial port support
1014#
1015# CONFIG_SERIAL_MAX3100 is not set
1016CONFIG_SERIAL_CORE=y
1017CONFIG_SERIAL_CORE_CONSOLE=y
1018CONFIG_UNIX98_PTYS=y
1019# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
1020CONFIG_LEGACY_PTYS=y
1021CONFIG_LEGACY_PTY_COUNT=16
1022# CONFIG_IPMI_HANDLER is not set
1023# CONFIG_HW_RANDOM is not set
1024# CONFIG_R3964 is not set
1025# CONFIG_RAW_DRIVER is not set
1026# CONFIG_TCG_TPM is not set
1027CONFIG_I2C=y
1028CONFIG_I2C_BOARDINFO=y
1029CONFIG_I2C_COMPAT=y
1030CONFIG_I2C_CHARDEV=y
1031CONFIG_I2C_HELPER_AUTO=y
1032CONFIG_I2C_ALGOBIT=m
1033
1034#
1035# I2C Hardware Bus support
1036#
1037
1038#
1039# I2C system bus drivers (mostly embedded / system-on-chip)
1040#
1041# CONFIG_I2C_DESIGNWARE is not set
1042# CONFIG_I2C_GPIO is not set
1043# CONFIG_I2C_OCORES is not set
1044CONFIG_I2C_OMAP=y
1045# CONFIG_I2C_SIMTEC is not set
1046
1047#
1048# External I2C/SMBus adapter drivers
1049#
1050# CONFIG_I2C_PARPORT_LIGHT is not set
1051# CONFIG_I2C_TAOS_EVM is not set
1052# CONFIG_I2C_TINY_USB is not set
1053
1054#
1055# Other I2C/SMBus bus drivers
1056#
1057# CONFIG_I2C_PCA_PLATFORM is not set
1058# CONFIG_I2C_STUB is not set
1059
1060#
1061# Miscellaneous I2C Chip support
1062#
1063# CONFIG_SENSORS_TSL2550 is not set
1064# CONFIG_I2C_DEBUG_CORE is not set
1065# CONFIG_I2C_DEBUG_ALGO is not set
1066# CONFIG_I2C_DEBUG_BUS is not set
1067# CONFIG_I2C_DEBUG_CHIP is not set
1068CONFIG_SPI=y
1069# CONFIG_SPI_DEBUG is not set
1070CONFIG_SPI_MASTER=y
1071
1072#
1073# SPI Master Controller Drivers
1074#
1075# CONFIG_SPI_BITBANG is not set
1076# CONFIG_SPI_GPIO is not set
1077CONFIG_SPI_OMAP24XX=y
1078# CONFIG_SPI_XILINX is not set
1079# CONFIG_SPI_DESIGNWARE is not set
1080
1081#
1082# SPI Protocol Masters
1083#
1084CONFIG_SPI_SPIDEV=y
1085# CONFIG_SPI_TLE62X0 is not set
1086
1087#
1088# PPS support
1089#
1090CONFIG_PPS=m
1091# CONFIG_PPS_DEBUG is not set
1092CONFIG_ARCH_REQUIRE_GPIOLIB=y
1093CONFIG_GPIOLIB=y
1094# CONFIG_DEBUG_GPIO is not set
1095CONFIG_GPIO_SYSFS=y
1096
1097#
1098# Memory mapped GPIO expanders:
1099#
1100
1101#
1102# I2C GPIO expanders:
1103#
1104# CONFIG_GPIO_MAX732X is not set
1105# CONFIG_GPIO_PCA953X is not set
1106# CONFIG_GPIO_PCF857X is not set
1107CONFIG_GPIO_TWL4030=y
1108# CONFIG_GPIO_ADP5588 is not set
1109
1110#
1111# PCI GPIO expanders:
1112#
1113
1114#
1115# SPI GPIO expanders:
1116#
1117# CONFIG_GPIO_MAX7301 is not set
1118# CONFIG_GPIO_MCP23S08 is not set
1119# CONFIG_GPIO_MC33880 is not set
1120
1121#
1122# AC97 GPIO expanders:
1123#
1124# CONFIG_W1 is not set
1125CONFIG_POWER_SUPPLY=y
1126# CONFIG_POWER_SUPPLY_DEBUG is not set
1127# CONFIG_PDA_POWER is not set
1128# CONFIG_BATTERY_DS2760 is not set
1129# CONFIG_BATTERY_DS2782 is not set
1130# CONFIG_BATTERY_BQ27x00 is not set
1131# CONFIG_BATTERY_MAX17040 is not set
1132CONFIG_HWMON=y
1133# CONFIG_HWMON_VID is not set
1134# CONFIG_HWMON_DEBUG_CHIP is not set
1135
1136#
1137# Native drivers
1138#
1139# CONFIG_SENSORS_AD7414 is not set
1140# CONFIG_SENSORS_AD7418 is not set
1141# CONFIG_SENSORS_ADCXX is not set
1142# CONFIG_SENSORS_ADM1021 is not set
1143# CONFIG_SENSORS_ADM1025 is not set
1144# CONFIG_SENSORS_ADM1026 is not set
1145# CONFIG_SENSORS_ADM1029 is not set
1146# CONFIG_SENSORS_ADM1031 is not set
1147# CONFIG_SENSORS_ADM9240 is not set
1148# CONFIG_SENSORS_ADT7462 is not set
1149# CONFIG_SENSORS_ADT7470 is not set
1150# CONFIG_SENSORS_ADT7473 is not set
1151# CONFIG_SENSORS_ADT7475 is not set
1152# CONFIG_SENSORS_ATXP1 is not set
1153# CONFIG_SENSORS_DS1621 is not set
1154# CONFIG_SENSORS_F71805F is not set
1155# CONFIG_SENSORS_F71882FG is not set
1156# CONFIG_SENSORS_F75375S is not set
1157# CONFIG_SENSORS_G760A is not set
1158# CONFIG_SENSORS_GL518SM is not set
1159# CONFIG_SENSORS_GL520SM is not set
1160# CONFIG_SENSORS_IT87 is not set
1161# CONFIG_SENSORS_LM63 is not set
1162# CONFIG_SENSORS_LM70 is not set
1163# CONFIG_SENSORS_LM73 is not set
1164# CONFIG_SENSORS_LM75 is not set
1165# CONFIG_SENSORS_LM77 is not set
1166# CONFIG_SENSORS_LM78 is not set
1167# CONFIG_SENSORS_LM80 is not set
1168# CONFIG_SENSORS_LM83 is not set
1169# CONFIG_SENSORS_LM85 is not set
1170# CONFIG_SENSORS_LM87 is not set
1171# CONFIG_SENSORS_LM90 is not set
1172# CONFIG_SENSORS_LM92 is not set
1173# CONFIG_SENSORS_LM93 is not set
1174# CONFIG_SENSORS_LTC4215 is not set
1175# CONFIG_SENSORS_LTC4245 is not set
1176# CONFIG_SENSORS_LM95241 is not set
1177# CONFIG_SENSORS_MAX1111 is not set
1178# CONFIG_SENSORS_MAX1619 is not set
1179# CONFIG_SENSORS_MAX6650 is not set
1180# CONFIG_SENSORS_PC87360 is not set
1181# CONFIG_SENSORS_PC87427 is not set
1182# CONFIG_SENSORS_PCF8591 is not set
1183# CONFIG_SENSORS_SHT15 is not set
1184# CONFIG_SENSORS_DME1737 is not set
1185# CONFIG_SENSORS_SMSC47M1 is not set
1186# CONFIG_SENSORS_SMSC47M192 is not set
1187# CONFIG_SENSORS_SMSC47B397 is not set
1188# CONFIG_SENSORS_ADS7828 is not set
1189# CONFIG_SENSORS_AMC6821 is not set
1190# CONFIG_SENSORS_THMC50 is not set
1191# CONFIG_SENSORS_TMP401 is not set
1192# CONFIG_SENSORS_TMP421 is not set
1193# CONFIG_SENSORS_VT1211 is not set
1194# CONFIG_SENSORS_W83781D is not set
1195# CONFIG_SENSORS_W83791D is not set
1196# CONFIG_SENSORS_W83792D is not set
1197# CONFIG_SENSORS_W83793 is not set
1198# CONFIG_SENSORS_W83L785TS is not set
1199# CONFIG_SENSORS_W83L786NG is not set
1200# CONFIG_SENSORS_W83627HF is not set
1201# CONFIG_SENSORS_W83627EHF is not set
1202# CONFIG_SENSORS_LIS3_SPI is not set
1203# CONFIG_SENSORS_LIS3_I2C is not set
1204CONFIG_THERMAL=m
1205CONFIG_THERMAL_HWMON=y
1206CONFIG_WATCHDOG=y
1207CONFIG_WATCHDOG_NOWAYOUT=y
1208
1209#
1210# Watchdog Device Drivers
1211#
1212CONFIG_SOFT_WATCHDOG=m
1213CONFIG_OMAP_WATCHDOG=m
1214CONFIG_TWL4030_WATCHDOG=m
1215
1216#
1217# USB-based Watchdog Cards
1218#
1219# CONFIG_USBPCWATCHDOG is not set
1220CONFIG_SSB_POSSIBLE=y
1221
1222#
1223# Sonics Silicon Backplane
1224#
1225CONFIG_SSB=m
1226CONFIG_SSB_SDIOHOST_POSSIBLE=y
1227# CONFIG_SSB_SDIOHOST is not set
1228# CONFIG_SSB_SILENT is not set
1229# CONFIG_SSB_DEBUG is not set
1230
1231#
1232# Multifunction device drivers
1233#
1234CONFIG_MFD_CORE=y
1235# CONFIG_MFD_SM501 is not set
1236# CONFIG_MFD_ASIC3 is not set
1237# CONFIG_HTC_EGPIO is not set
1238# CONFIG_HTC_PASIC3 is not set
1239# CONFIG_TPS65010 is not set
1240CONFIG_TWL4030_CORE=y
1241CONFIG_TWL4030_POWER=y
1242CONFIG_TWL4030_CODEC=y
1243# CONFIG_MFD_TMIO is not set
1244# CONFIG_MFD_T7L66XB is not set
1245# CONFIG_MFD_TC6387XB is not set
1246# CONFIG_MFD_TC6393XB is not set
1247# CONFIG_PMIC_DA903X is not set
1248# CONFIG_PMIC_ADP5520 is not set
1249# CONFIG_MFD_WM8400 is not set
1250# CONFIG_MFD_WM831X is not set
1251# CONFIG_MFD_WM8350_I2C is not set
1252# CONFIG_MFD_PCF50633 is not set
1253# CONFIG_MFD_MC13783 is not set
1254# CONFIG_AB3100_CORE is not set
1255# CONFIG_EZX_PCAP is not set
1256# CONFIG_MFD_88PM8607 is not set
1257# CONFIG_AB4500_CORE is not set
1258CONFIG_REGULATOR=y
1259# CONFIG_REGULATOR_DEBUG is not set
1260# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1261# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1262# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
1263# CONFIG_REGULATOR_BQ24022 is not set
1264# CONFIG_REGULATOR_MAX1586 is not set
1265# CONFIG_REGULATOR_MAX8660 is not set
1266CONFIG_REGULATOR_TWL4030=y
1267# CONFIG_REGULATOR_LP3971 is not set
1268# CONFIG_REGULATOR_TPS65023 is not set
1269# CONFIG_REGULATOR_TPS6507X is not set
1270CONFIG_MEDIA_SUPPORT=y
1271
1272#
1273# Multimedia core support
1274#
1275CONFIG_VIDEO_DEV=m
1276CONFIG_VIDEO_V4L2_COMMON=m
1277CONFIG_VIDEO_ALLOW_V4L1=y
1278CONFIG_VIDEO_V4L1_COMPAT=y
1279CONFIG_DVB_CORE=m
1280CONFIG_VIDEO_MEDIA=m
1281
1282#
1283# Multimedia drivers
1284#
1285CONFIG_IR_CORE=y
1286CONFIG_VIDEO_IR=y
1287CONFIG_MEDIA_ATTACH=y
1288CONFIG_MEDIA_TUNER=m
1289# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
1290CONFIG_MEDIA_TUNER_SIMPLE=m
1291CONFIG_MEDIA_TUNER_TDA8290=m
1292CONFIG_MEDIA_TUNER_TDA18271=m
1293CONFIG_MEDIA_TUNER_TDA9887=m
1294CONFIG_MEDIA_TUNER_TEA5761=m
1295CONFIG_MEDIA_TUNER_TEA5767=m
1296CONFIG_MEDIA_TUNER_MT20XX=m
1297CONFIG_MEDIA_TUNER_XC2028=m
1298CONFIG_MEDIA_TUNER_XC5000=m
1299CONFIG_MEDIA_TUNER_MXL5007T=m
1300CONFIG_MEDIA_TUNER_MC44S803=m
1301CONFIG_VIDEO_V4L2=m
1302CONFIG_VIDEO_V4L1=m
1303CONFIG_VIDEOBUF_GEN=m
1304CONFIG_VIDEOBUF_DMA_SG=m
1305CONFIG_VIDEOBUF_VMALLOC=m
1306CONFIG_VIDEOBUF_DMA_CONTIG=m
1307CONFIG_VIDEOBUF_DVB=m
1308CONFIG_VIDEO_TVEEPROM=m
1309CONFIG_VIDEO_TUNER=m
1310CONFIG_VIDEO_CAPTURE_DRIVERS=y
1311# CONFIG_VIDEO_ADV_DEBUG is not set
1312# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
1313CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
1314CONFIG_VIDEO_IR_I2C=m
1315CONFIG_VIDEO_MSP3400=m
1316CONFIG_VIDEO_CS53L32A=m
1317CONFIG_VIDEO_WM8775=m
1318CONFIG_VIDEO_MT9V011=m
1319CONFIG_VIDEO_SAA711X=m
1320CONFIG_VIDEO_TVP5150=m
1321CONFIG_VIDEO_CX25840=m
1322CONFIG_VIDEO_CX2341X=m
1323CONFIG_VIDEO_VIVI=m
1324# CONFIG_VIDEO_CPIA is not set
1325CONFIG_VIDEO_CPIA2=m
1326CONFIG_VIDEO_SAA5246A=m
1327CONFIG_VIDEO_SAA5249=m
1328CONFIG_VIDEO_AU0828=m
1329CONFIG_VIDEO_OMAP3=m
1330CONFIG_VIDEO_OMAP34XX_ISP_PREVIEWER=m
1331CONFIG_VIDEO_OMAP34XX_ISP_RESIZER=m
1332CONFIG_SOC_CAMERA=m
1333CONFIG_SOC_CAMERA_MT9M001=m
1334CONFIG_SOC_CAMERA_MT9M111=m
1335CONFIG_SOC_CAMERA_MT9T031=m
1336CONFIG_SOC_CAMERA_MT9T112=m
1337CONFIG_SOC_CAMERA_MT9V022=m
1338CONFIG_SOC_CAMERA_RJ54N1=m
1339CONFIG_SOC_CAMERA_TW9910=m
1340CONFIG_SOC_CAMERA_PLATFORM=m
1341CONFIG_SOC_CAMERA_OV772X=m
1342CONFIG_SOC_CAMERA_OV9640=m
1343CONFIG_VIDEO_SH_MOBILE_CEU=m
1344CONFIG_V4L_USB_DRIVERS=y
1345CONFIG_USB_VIDEO_CLASS=m
1346CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
1347CONFIG_USB_GSPCA=m
1348CONFIG_USB_M5602=m
1349CONFIG_USB_STV06XX=m
1350CONFIG_USB_GL860=m
1351CONFIG_USB_GSPCA_BENQ=m
1352CONFIG_USB_GSPCA_CONEX=m
1353CONFIG_USB_GSPCA_CPIA1=m
1354CONFIG_USB_GSPCA_ETOMS=m
1355CONFIG_USB_GSPCA_FINEPIX=m
1356CONFIG_USB_GSPCA_JEILINJ=m
1357CONFIG_USB_GSPCA_MARS=m
1358CONFIG_USB_GSPCA_MR97310A=m
1359CONFIG_USB_GSPCA_OV519=m
1360CONFIG_USB_GSPCA_OV534=m
1361CONFIG_USB_GSPCA_OV534_9=m
1362CONFIG_USB_GSPCA_PAC207=m
1363CONFIG_USB_GSPCA_PAC7302=m
1364CONFIG_USB_GSPCA_PAC7311=m
1365CONFIG_USB_GSPCA_SN9C2028=m
1366CONFIG_USB_GSPCA_SN9C20X=m
1367CONFIG_USB_GSPCA_SN9C20X_EVDEV=y
1368CONFIG_USB_GSPCA_SONIXB=m
1369CONFIG_USB_GSPCA_SONIXJ=m
1370CONFIG_USB_GSPCA_SPCA500=m
1371CONFIG_USB_GSPCA_SPCA501=m
1372CONFIG_USB_GSPCA_SPCA505=m
1373CONFIG_USB_GSPCA_SPCA506=m
1374CONFIG_USB_GSPCA_SPCA508=m
1375CONFIG_USB_GSPCA_SPCA561=m
1376CONFIG_USB_GSPCA_SQ905=m
1377CONFIG_USB_GSPCA_SQ905C=m
1378CONFIG_USB_GSPCA_STK014=m
1379CONFIG_USB_GSPCA_STV0680=m
1380CONFIG_USB_GSPCA_SUNPLUS=m
1381CONFIG_USB_GSPCA_T613=m
1382CONFIG_USB_GSPCA_TV8532=m
1383CONFIG_USB_GSPCA_VC032X=m
1384CONFIG_USB_GSPCA_ZC3XX=m
1385CONFIG_VIDEO_PVRUSB2=m
1386CONFIG_VIDEO_PVRUSB2_SYSFS=y
1387CONFIG_VIDEO_PVRUSB2_DVB=y
1388# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
1389CONFIG_VIDEO_HDPVR=m
1390CONFIG_VIDEO_EM28XX=m
1391CONFIG_VIDEO_EM28XX_ALSA=m
1392CONFIG_VIDEO_EM28XX_DVB=m
1393CONFIG_VIDEO_TLG2300=m
1394CONFIG_VIDEO_CX231XX=m
1395CONFIG_VIDEO_CX231XX_ALSA=m
1396CONFIG_VIDEO_CX231XX_DVB=m
1397CONFIG_VIDEO_USBVISION=m
1398CONFIG_VIDEO_USBVIDEO=m
1399# CONFIG_USB_VICAM is not set
1400CONFIG_USB_IBMCAM=m
1401CONFIG_USB_KONICAWC=m
1402# CONFIG_USB_QUICKCAM_MESSENGER is not set
1403# CONFIG_USB_ET61X251 is not set
1404# CONFIG_VIDEO_OVCAMCHIP is not set
1405# CONFIG_USB_OV511 is not set
1406CONFIG_USB_SE401=m
1407# CONFIG_USB_SN9C102 is not set
1408# CONFIG_USB_STV680 is not set
1409# CONFIG_USB_ZC0301 is not set
1410CONFIG_USB_PWC=m
1411# CONFIG_USB_PWC_DEBUG is not set
1412CONFIG_USB_PWC_INPUT_EVDEV=y
1413CONFIG_USB_ZR364XX=m
1414CONFIG_USB_STKWEBCAM=m
1415CONFIG_USB_S2255=m
1416# CONFIG_RADIO_ADAPTERS is not set
1417CONFIG_DVB_MAX_ADAPTERS=8
1418# CONFIG_DVB_DYNAMIC_MINORS is not set
1419CONFIG_DVB_CAPTURE_DRIVERS=y
1420# CONFIG_TTPCI_EEPROM is not set
1421
1422#
1423# Supported USB Adapters
1424#
1425# CONFIG_DVB_USB is not set
1426# CONFIG_SMS_SIANO_MDTV is not set
1427
1428#
1429# Supported FlexCopII (B2C2) Adapters
1430#
1431# CONFIG_DVB_B2C2_FLEXCOP is not set
1432
1433#
1434# Supported DVB Frontends
1435#
1436# CONFIG_DVB_FE_CUSTOMISE is not set
1437CONFIG_DVB_ZL10353=m
1438CONFIG_DVB_TDA10048=m
1439CONFIG_DVB_TDA10023=m
1440CONFIG_DVB_LGDT330X=m
1441CONFIG_DVB_S5H1409=m
1442CONFIG_DVB_AU8522=m
1443CONFIG_DVB_S5H1411=m
1444CONFIG_DAB=y
1445CONFIG_USB_DABUSB=m
1446
1447#
1448# Graphics support
1449#
1450# CONFIG_VGASTATE is not set
1451# CONFIG_VIDEO_OUTPUT_CONTROL is not set
1452CONFIG_FB=y
1453# CONFIG_FIRMWARE_EDID is not set
1454# CONFIG_FB_DDC is not set
1455# CONFIG_FB_BOOT_VESA_SUPPORT is not set
1456CONFIG_FB_CFB_FILLRECT=y
1457CONFIG_FB_CFB_COPYAREA=y
1458CONFIG_FB_CFB_IMAGEBLIT=y
1459# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
1460# CONFIG_FB_SYS_FILLRECT is not set
1461# CONFIG_FB_SYS_COPYAREA is not set
1462# CONFIG_FB_SYS_IMAGEBLIT is not set
1463# CONFIG_FB_FOREIGN_ENDIAN is not set
1464# CONFIG_FB_SYS_FOPS is not set
1465# CONFIG_FB_SVGALIB is not set
1466# CONFIG_FB_MACMODES is not set
1467# CONFIG_FB_BACKLIGHT is not set
1468CONFIG_FB_MODE_HELPERS=y
1469# CONFIG_FB_TILEBLITTING is not set
1470
1471#
1472# Frame buffer hardware drivers
1473#
1474# CONFIG_FB_UVESA is not set
1475# CONFIG_FB_S1D13XXX is not set
1476# CONFIG_FB_TMIO is not set
1477# CONFIG_FB_VIRTUAL is not set
1478# CONFIG_FB_METRONOME is not set
1479# CONFIG_FB_MB862XX is not set
1480# CONFIG_FB_BROADSHEET is not set
1481# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
1482CONFIG_OMAP2_VRAM=y
1483CONFIG_OMAP2_VRFB=y
1484CONFIG_OMAP2_DSS=y
1485CONFIG_OMAP2_VRAM_SIZE=14
1486CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
1487# CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set
1488# CONFIG_OMAP2_DSS_RFBI is not set
1489# CONFIG_OMAP2_DSS_VENC is not set
1490# CONFIG_OMAP2_DSS_SDI is not set
1491CONFIG_OMAP2_DSS_DSI=y
1492CONFIG_OMAP2_DSS_USE_DSI_PLL=y
1493# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
1494CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
1495CONFIG_FB_OMAP2=y
1496CONFIG_FB_OMAP2_DEBUG_SUPPORT=y
1497CONFIG_FB_OMAP2_NUM_FBS=3
1498
1499#
1500# OMAP2/3 Display Device Drivers
1501#
1502CONFIG_PANEL_GENERIC=y
1503# CONFIG_PANEL_SHARP_LS037V7DW01 is not set
1504# CONFIG_PANEL_SHARP_LQ043T1DG01 is not set
1505# CONFIG_PANEL_TAAL is not set
1506# CONFIG_PANEL_TOPPOLY_TDO35S is not set
1507# CONFIG_PANEL_TPO_TD043MTEA1 is not set
1508# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
1509
1510#
1511# Display device support
1512#
1513CONFIG_DISPLAY_SUPPORT=y
1514
1515#
1516# Display hardware drivers
1517#
1518
1519#
1520# Console display driver support
1521#
1522# CONFIG_VGA_CONSOLE is not set
1523CONFIG_DUMMY_CONSOLE=y
1524CONFIG_FRAMEBUFFER_CONSOLE=y
1525# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
1526CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
1527CONFIG_FONTS=y
1528# CONFIG_FONT_8x8 is not set
1529CONFIG_FONT_8x16=y
1530# CONFIG_FONT_6x11 is not set
1531# CONFIG_FONT_7x14 is not set
1532# CONFIG_FONT_PEARL_8x8 is not set
1533# CONFIG_FONT_ACORN_8x8 is not set
1534# CONFIG_FONT_MINI_4x6 is not set
1535# CONFIG_FONT_SUN8x16 is not set
1536# CONFIG_FONT_SUN12x22 is not set
1537# CONFIG_FONT_10x18 is not set
1538CONFIG_LOGO=y
1539# CONFIG_LOGO_LINUX_MONO is not set
1540# CONFIG_LOGO_LINUX_VGA16 is not set
1541CONFIG_LOGO_LINUX_CLUT224=y
1542CONFIG_SOUND=y
1543CONFIG_SOUND_OSS_CORE=y
1544CONFIG_SOUND_OSS_CORE_PRECLAIM=y
1545CONFIG_SND=y
1546CONFIG_SND_TIMER=y
1547CONFIG_SND_PCM=y
1548CONFIG_SND_JACK=y
1549CONFIG_SND_SEQUENCER=m
1550# CONFIG_SND_SEQ_DUMMY is not set
1551CONFIG_SND_OSSEMUL=y
1552CONFIG_SND_MIXER_OSS=y
1553CONFIG_SND_PCM_OSS=y
1554CONFIG_SND_PCM_OSS_PLUGINS=y
1555CONFIG_SND_SEQUENCER_OSS=y
1556CONFIG_SND_HRTIMER=m
1557CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
1558# CONFIG_SND_DYNAMIC_MINORS is not set
1559CONFIG_SND_SUPPORT_OLD_API=y
1560CONFIG_SND_VERBOSE_PROCFS=y
1561# CONFIG_SND_VERBOSE_PRINTK is not set
1562# CONFIG_SND_DEBUG is not set
1563# CONFIG_SND_RAWMIDI_SEQ is not set
1564# CONFIG_SND_OPL3_LIB_SEQ is not set
1565# CONFIG_SND_OPL4_LIB_SEQ is not set
1566# CONFIG_SND_SBAWE_SEQ is not set
1567# CONFIG_SND_EMU10K1_SEQ is not set
1568CONFIG_SND_DRIVERS=y
1569# CONFIG_SND_DUMMY is not set
1570# CONFIG_SND_VIRMIDI is not set
1571# CONFIG_SND_MTPAV is not set
1572# CONFIG_SND_SERIAL_U16550 is not set
1573# CONFIG_SND_MPU401 is not set
1574# CONFIG_SND_ARM is not set
1575# CONFIG_SND_SPI is not set
1576# CONFIG_SND_USB is not set
1577CONFIG_SND_SOC=y
1578CONFIG_SND_OMAP_SOC=y
1579CONFIG_SND_OMAP_SOC_MCBSP=y
1580CONFIG_SND_OMAP_SOC_IGEP0030=y
1581CONFIG_SND_SOC_I2C_AND_SPI=y
1582# CONFIG_SND_SOC_ALL_CODECS is not set
1583CONFIG_SND_SOC_TWL4030=y
1584# CONFIG_SOUND_PRIME is not set
1585CONFIG_HID_SUPPORT=y
1586CONFIG_HID=y
1587CONFIG_HIDRAW=y
1588
1589#
1590# USB Input Devices
1591#
1592CONFIG_USB_HID=y
1593CONFIG_HID_PID=y
1594CONFIG_USB_HIDDEV=y
1595
1596#
1597# Special HID drivers
1598#
1599CONFIG_HID_3M_PCT=m
1600CONFIG_HID_A4TECH=m
1601CONFIG_HID_APPLE=m
1602CONFIG_HID_BELKIN=m
1603CONFIG_HID_CHERRY=m
1604CONFIG_HID_CHICONY=m
1605CONFIG_HID_CYPRESS=m
1606CONFIG_HID_DRAGONRISE=m
1607CONFIG_DRAGONRISE_FF=y
1608CONFIG_HID_EZKEY=m
1609CONFIG_HID_KYE=m
1610CONFIG_HID_GYRATION=m
1611CONFIG_HID_TWINHAN=m
1612# CONFIG_HID_KENSINGTON is not set
1613CONFIG_HID_LOGITECH=m
1614CONFIG_LOGITECH_FF=y
1615CONFIG_LOGIRUMBLEPAD2_FF=y
1616# CONFIG_LOGIG940_FF is not set
1617# CONFIG_HID_MAGICMOUSE is not set
1618CONFIG_HID_MICROSOFT=m
1619# CONFIG_HID_MOSART is not set
1620CONFIG_HID_MONTEREY=m
1621CONFIG_HID_NTRIG=m
1622# CONFIG_HID_ORTEK is not set
1623CONFIG_HID_PANTHERLORD=m
1624CONFIG_PANTHERLORD_FF=y
1625CONFIG_HID_PETALYNX=m
1626# CONFIG_HID_QUANTA is not set
1627CONFIG_HID_SAMSUNG=m
1628CONFIG_HID_SONY=m
1629# CONFIG_HID_STANTUM is not set
1630CONFIG_HID_SUNPLUS=m
1631CONFIG_HID_GREENASIA=m
1632CONFIG_GREENASIA_FF=y
1633CONFIG_HID_SMARTJOYPLUS=m
1634CONFIG_SMARTJOYPLUS_FF=y
1635CONFIG_HID_TOPSEED=m
1636CONFIG_HID_THRUSTMASTER=m
1637CONFIG_THRUSTMASTER_FF=y
1638CONFIG_HID_WACOM=m
1639CONFIG_HID_ZEROPLUS=m
1640# CONFIG_ZEROPLUS_FF is not set
1641CONFIG_USB_SUPPORT=y
1642CONFIG_USB_ARCH_HAS_HCD=y
1643CONFIG_USB_ARCH_HAS_OHCI=y
1644CONFIG_USB_ARCH_HAS_EHCI=y
1645CONFIG_USB=y
1646# CONFIG_USB_DEBUG is not set
1647CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
1648
1649#
1650# Miscellaneous USB options
1651#
1652# CONFIG_USB_DEVICEFS is not set
1653# CONFIG_USB_DEVICE_CLASS is not set
1654# CONFIG_USB_DYNAMIC_MINORS is not set
1655CONFIG_USB_SUSPEND=y
1656CONFIG_USB_OTG=y
1657# CONFIG_USB_OTG_WHITELIST is not set
1658# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1659CONFIG_USB_MON=m
1660# CONFIG_USB_WUSB is not set
1661CONFIG_USB_WUSB_CBAF=m
1662# CONFIG_USB_WUSB_CBAF_DEBUG is not set
1663
1664#
1665# USB Host Controller Drivers
1666#
1667# CONFIG_USB_C67X00_HCD is not set
1668CONFIG_USB_EHCI_HCD=y
1669CONFIG_USB_EHCI_ROOT_HUB_TT=y
1670# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1671# CONFIG_USB_OXU210HP_HCD is not set
1672# CONFIG_USB_ISP116X_HCD is not set
1673# CONFIG_USB_ISP1760_HCD is not set
1674# CONFIG_USB_ISP1362_HCD is not set
1675CONFIG_USB_OHCI_HCD=m
1676# CONFIG_USB_OHCI_HCD_SSB is not set
1677# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
1678# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
1679CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1680# CONFIG_USB_SL811_HCD is not set
1681# CONFIG_USB_R8A66597_HCD is not set
1682# CONFIG_USB_HWA_HCD is not set
1683CONFIG_USB_MUSB_HDRC=y
1684CONFIG_USB_MUSB_SOC=y
1685
1686#
1687# OMAP 343x high speed USB support
1688#
1689# CONFIG_USB_MUSB_HOST is not set
1690# CONFIG_USB_MUSB_PERIPHERAL is not set
1691CONFIG_USB_MUSB_OTG=y
1692CONFIG_USB_GADGET_MUSB_HDRC=y
1693CONFIG_USB_MUSB_HDRC_HCD=y
1694# CONFIG_MUSB_PIO_ONLY is not set
1695CONFIG_USB_INVENTRA_DMA=y
1696# CONFIG_USB_TI_CPPI_DMA is not set
1697# CONFIG_USB_MUSB_DEBUG is not set
1698
1699#
1700# USB Device Class drivers
1701#
1702CONFIG_USB_ACM=m
1703CONFIG_USB_PRINTER=m
1704CONFIG_USB_WDM=m
1705# CONFIG_USB_TMC is not set
1706
1707#
1708# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1709#
1710
1711#
1712# also be needed; see USB_STORAGE Help for more info
1713#
1714CONFIG_USB_STORAGE=m
1715# CONFIG_USB_STORAGE_DEBUG is not set
1716# CONFIG_USB_STORAGE_DATAFAB is not set
1717# CONFIG_USB_STORAGE_FREECOM is not set
1718# CONFIG_USB_STORAGE_ISD200 is not set
1719# CONFIG_USB_STORAGE_USBAT is not set
1720# CONFIG_USB_STORAGE_SDDR09 is not set
1721# CONFIG_USB_STORAGE_SDDR55 is not set
1722# CONFIG_USB_STORAGE_JUMPSHOT is not set
1723# CONFIG_USB_STORAGE_ALAUDA is not set
1724# CONFIG_USB_STORAGE_ONETOUCH is not set
1725# CONFIG_USB_STORAGE_KARMA is not set
1726# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1727# CONFIG_USB_LIBUSUAL is not set
1728
1729#
1730# USB Imaging devices
1731#
1732# CONFIG_USB_MDC800 is not set
1733# CONFIG_USB_MICROTEK is not set
1734
1735#
1736# USB port drivers
1737#
1738CONFIG_USB_SERIAL=m
1739CONFIG_USB_EZUSB=y
1740CONFIG_USB_SERIAL_GENERIC=y
1741CONFIG_USB_SERIAL_AIRCABLE=m
1742CONFIG_USB_SERIAL_ARK3116=m
1743CONFIG_USB_SERIAL_BELKIN=m
1744CONFIG_USB_SERIAL_CH341=m
1745CONFIG_USB_SERIAL_WHITEHEAT=m
1746CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1747CONFIG_USB_SERIAL_CP210X=m
1748CONFIG_USB_SERIAL_CYPRESS_M8=m
1749CONFIG_USB_SERIAL_EMPEG=m
1750CONFIG_USB_SERIAL_FTDI_SIO=m
1751CONFIG_USB_SERIAL_FUNSOFT=m
1752CONFIG_USB_SERIAL_VISOR=m
1753CONFIG_USB_SERIAL_IPAQ=m
1754CONFIG_USB_SERIAL_IR=m
1755CONFIG_USB_SERIAL_EDGEPORT=m
1756CONFIG_USB_SERIAL_EDGEPORT_TI=m
1757CONFIG_USB_SERIAL_GARMIN=m
1758CONFIG_USB_SERIAL_IPW=m
1759CONFIG_USB_SERIAL_IUU=m
1760CONFIG_USB_SERIAL_KEYSPAN_PDA=m
1761CONFIG_USB_SERIAL_KEYSPAN=m
1762CONFIG_USB_SERIAL_KEYSPAN_MPR=y
1763CONFIG_USB_SERIAL_KEYSPAN_USA28=y
1764CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
1765CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
1766CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
1767CONFIG_USB_SERIAL_KEYSPAN_USA19=y
1768CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
1769CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
1770CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
1771CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
1772CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
1773CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
1774CONFIG_USB_SERIAL_KLSI=m
1775CONFIG_USB_SERIAL_KOBIL_SCT=m
1776CONFIG_USB_SERIAL_MCT_U232=m
1777CONFIG_USB_SERIAL_MOS7720=m
1778CONFIG_USB_SERIAL_MOS7840=m
1779CONFIG_USB_SERIAL_MOTOROLA=m
1780CONFIG_USB_SERIAL_NAVMAN=m
1781CONFIG_USB_SERIAL_PL2303=m
1782CONFIG_USB_SERIAL_OTI6858=m
1783CONFIG_USB_SERIAL_QUALCOMM=m
1784CONFIG_USB_SERIAL_SPCP8X5=m
1785CONFIG_USB_SERIAL_HP4X=m
1786CONFIG_USB_SERIAL_SAFE=m
1787CONFIG_USB_SERIAL_SAFE_PADDED=y
1788CONFIG_USB_SERIAL_SIEMENS_MPI=m
1789CONFIG_USB_SERIAL_SIERRAWIRELESS=m
1790CONFIG_USB_SERIAL_SYMBOL=m
1791CONFIG_USB_SERIAL_TI=m
1792CONFIG_USB_SERIAL_CYBERJACK=m
1793CONFIG_USB_SERIAL_XIRCOM=m
1794CONFIG_USB_SERIAL_OPTION=m
1795CONFIG_USB_SERIAL_OMNINET=m
1796CONFIG_USB_SERIAL_OPTICON=m
1797# CONFIG_USB_SERIAL_DEBUG is not set
1798
1799#
1800# USB Miscellaneous drivers
1801#
1802CONFIG_USB_EMI62=m
1803CONFIG_USB_EMI26=m
1804CONFIG_USB_ADUTUX=m
1805CONFIG_USB_SEVSEG=m
1806CONFIG_USB_RIO500=m
1807CONFIG_USB_LEGOTOWER=m
1808CONFIG_USB_LCD=m
1809CONFIG_USB_BERRY_CHARGE=m
1810CONFIG_USB_LED=m
1811CONFIG_USB_CYPRESS_CY7C63=m
1812CONFIG_USB_CYTHERM=m
1813CONFIG_USB_IDMOUSE=m
1814# CONFIG_USB_FTDI_ELAN is not set
1815# CONFIG_USB_APPLEDISPLAY is not set
1816CONFIG_USB_SISUSBVGA=m
1817CONFIG_USB_SISUSBVGA_CON=y
1818CONFIG_USB_LD=m
1819CONFIG_USB_TRANCEVIBRATOR=m
1820# CONFIG_USB_IOWARRIOR is not set
1821CONFIG_USB_TEST=m
1822# CONFIG_USB_ISIGHTFW is not set
1823CONFIG_USB_VST=m
1824CONFIG_USB_GADGET=y
1825# CONFIG_USB_GADGET_DEBUG is not set
1826# CONFIG_USB_GADGET_DEBUG_FILES is not set
1827# CONFIG_USB_GADGET_DEBUG_FS is not set
1828CONFIG_USB_GADGET_VBUS_DRAW=100
1829CONFIG_USB_GADGET_SELECTED=y
1830# CONFIG_USB_GADGET_AT91 is not set
1831# CONFIG_USB_GADGET_ATMEL_USBA is not set
1832# CONFIG_USB_GADGET_FSL_USB2 is not set
1833# CONFIG_USB_GADGET_LH7A40X is not set
1834# CONFIG_USB_GADGET_OMAP is not set
1835# CONFIG_USB_GADGET_PXA25X is not set
1836# CONFIG_USB_GADGET_R8A66597 is not set
1837# CONFIG_USB_GADGET_PXA27X is not set
1838# CONFIG_USB_GADGET_S3C_HSOTG is not set
1839# CONFIG_USB_GADGET_IMX is not set
1840# CONFIG_USB_GADGET_S3C2410 is not set
1841# CONFIG_USB_GADGET_M66592 is not set
1842# CONFIG_USB_GADGET_AMD5536UDC is not set
1843# CONFIG_USB_GADGET_FSL_QE is not set
1844# CONFIG_USB_GADGET_CI13XXX is not set
1845# CONFIG_USB_GADGET_NET2280 is not set
1846# CONFIG_USB_GADGET_GOKU is not set
1847# CONFIG_USB_GADGET_LANGWELL is not set
1848# CONFIG_USB_GADGET_DUMMY_HCD is not set
1849CONFIG_USB_GADGET_DUALSPEED=y
1850# CONFIG_USB_ZERO is not set
1851# CONFIG_USB_AUDIO is not set
1852CONFIG_USB_ETH=y
1853CONFIG_USB_ETH_RNDIS=y
1854# CONFIG_USB_ETH_EEM is not set
1855# CONFIG_USB_GADGETFS is not set
1856# CONFIG_USB_FILE_STORAGE is not set
1857# CONFIG_USB_MASS_STORAGE is not set
1858# CONFIG_USB_G_SERIAL is not set
1859# CONFIG_USB_MIDI_GADGET is not set
1860# CONFIG_USB_G_PRINTER is not set
1861# CONFIG_USB_CDC_COMPOSITE is not set
1862# CONFIG_USB_G_MULTI is not set
1863
1864#
1865# OTG and related infrastructure
1866#
1867CONFIG_USB_OTG_UTILS=y
1868# CONFIG_USB_GPIO_VBUS is not set
1869# CONFIG_ISP1301_OMAP is not set
1870# CONFIG_USB_ULPI is not set
1871CONFIG_TWL4030_USB=y
1872# CONFIG_NOP_USB_XCEIV is not set
1873CONFIG_MMC=y
1874# CONFIG_MMC_DEBUG is not set
1875CONFIG_MMC_UNSAFE_RESUME=y
1876
1877#
1878# MMC/SD/SDIO Card Drivers
1879#
1880CONFIG_MMC_BLOCK=y
1881CONFIG_MMC_BLOCK_BOUNCE=y
1882CONFIG_SDIO_UART=m
1883# CONFIG_MMC_TEST is not set
1884
1885#
1886# MMC/SD/SDIO Host Controller Drivers
1887#
1888# CONFIG_MMC_SDHCI is not set
1889# CONFIG_MMC_OMAP is not set
1890CONFIG_MMC_OMAP_HS=y
1891# CONFIG_MMC_AT91 is not set
1892# CONFIG_MMC_ATMELMCI is not set
1893CONFIG_MMC_SPI=m
1894# CONFIG_MEMSTICK is not set
1895CONFIG_NEW_LEDS=y
1896CONFIG_LEDS_CLASS=y
1897
1898#
1899# LED drivers
1900#
1901# CONFIG_LEDS_PCA9532 is not set
1902CONFIG_LEDS_GPIO=y
1903CONFIG_LEDS_GPIO_PLATFORM=y
1904# CONFIG_LEDS_LP3944 is not set
1905# CONFIG_LEDS_PCA955X is not set
1906# CONFIG_LEDS_DAC124S085 is not set
1907# CONFIG_LEDS_REGULATOR is not set
1908# CONFIG_LEDS_BD2802 is not set
1909# CONFIG_LEDS_LT3593 is not set
1910
1911#
1912# LED Triggers
1913#
1914CONFIG_LEDS_TRIGGERS=y
1915CONFIG_LEDS_TRIGGER_TIMER=m
1916CONFIG_LEDS_TRIGGER_HEARTBEAT=y
1917CONFIG_LEDS_TRIGGER_BACKLIGHT=m
1918CONFIG_LEDS_TRIGGER_GPIO=m
1919CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
1920
1921#
1922# iptables trigger is under Netfilter config (LED target)
1923#
1924# CONFIG_ACCESSIBILITY is not set
1925CONFIG_RTC_LIB=y
1926CONFIG_RTC_CLASS=m
1927
1928#
1929# RTC interfaces
1930#
1931CONFIG_RTC_INTF_SYSFS=y
1932CONFIG_RTC_INTF_PROC=y
1933CONFIG_RTC_INTF_DEV=y
1934# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1935# CONFIG_RTC_DRV_TEST is not set
1936
1937#
1938# I2C RTC drivers
1939#
1940# CONFIG_RTC_DRV_DS1307 is not set
1941# CONFIG_RTC_DRV_DS1374 is not set
1942# CONFIG_RTC_DRV_DS1672 is not set
1943# CONFIG_RTC_DRV_MAX6900 is not set
1944# CONFIG_RTC_DRV_RS5C372 is not set
1945# CONFIG_RTC_DRV_ISL1208 is not set
1946# CONFIG_RTC_DRV_X1205 is not set
1947# CONFIG_RTC_DRV_PCF8563 is not set
1948# CONFIG_RTC_DRV_PCF8583 is not set
1949# CONFIG_RTC_DRV_M41T80 is not set
1950# CONFIG_RTC_DRV_BQ32K is not set
1951CONFIG_RTC_DRV_TWL4030=m
1952# CONFIG_RTC_DRV_S35390A is not set
1953# CONFIG_RTC_DRV_FM3130 is not set
1954# CONFIG_RTC_DRV_RX8581 is not set
1955# CONFIG_RTC_DRV_RX8025 is not set
1956
1957#
1958# SPI RTC drivers
1959#
1960# CONFIG_RTC_DRV_M41T94 is not set
1961# CONFIG_RTC_DRV_DS1305 is not set
1962# CONFIG_RTC_DRV_DS1390 is not set
1963# CONFIG_RTC_DRV_MAX6902 is not set
1964# CONFIG_RTC_DRV_R9701 is not set
1965# CONFIG_RTC_DRV_RS5C348 is not set
1966# CONFIG_RTC_DRV_DS3234 is not set
1967# CONFIG_RTC_DRV_PCF2123 is not set
1968
1969#
1970# Platform RTC drivers
1971#
1972# CONFIG_RTC_DRV_CMOS is not set
1973# CONFIG_RTC_DRV_DS1286 is not set
1974# CONFIG_RTC_DRV_DS1511 is not set
1975# CONFIG_RTC_DRV_DS1553 is not set
1976# CONFIG_RTC_DRV_DS1742 is not set
1977# CONFIG_RTC_DRV_STK17TA8 is not set
1978# CONFIG_RTC_DRV_M48T86 is not set
1979# CONFIG_RTC_DRV_M48T35 is not set
1980# CONFIG_RTC_DRV_M48T59 is not set
1981# CONFIG_RTC_DRV_MSM6242 is not set
1982# CONFIG_RTC_DRV_BQ4802 is not set
1983# CONFIG_RTC_DRV_RP5C01 is not set
1984# CONFIG_RTC_DRV_V3020 is not set
1985
1986#
1987# on-CPU RTC drivers
1988#
1989# CONFIG_DMADEVICES is not set
1990# CONFIG_AUXDISPLAY is not set
1991CONFIG_UIO=y
1992# CONFIG_UIO_PDRV is not set
1993# CONFIG_UIO_PDRV_GENIRQ is not set
1994# CONFIG_UIO_SMX is not set
1995# CONFIG_UIO_SERCOS3 is not set
1996
1997#
1998# TI VLYNQ
1999#
2000# CONFIG_STAGING is not set
2001CONFIG_MPU_BRIDGE=m
2002CONFIG_BRIDGE_MEMPOOL_SIZE=0x600000
2003# CONFIG_BRIDGE_DEBUG is not set
2004# CONFIG_BRIDGE_RECOVERY is not set
2005# CONFIG_BRIDGE_CACHE_LINE_CHECK is not set
2006# CONFIG_BRIDGE_WDT3 is not set
2007
2008#
2009# Bridge Notifications
2010#
2011# CONFIG_BRIDGE_NTFY_PWRERR is not set
2012
2013#
2014# CBUS support
2015#
2016# CONFIG_CBUS is not set
2017
2018#
2019# File systems
2020#
2021CONFIG_EXT2_FS=y
2022CONFIG_EXT2_FS_XATTR=y
2023CONFIG_EXT2_FS_POSIX_ACL=y
2024CONFIG_EXT2_FS_SECURITY=y
2025# CONFIG_EXT2_FS_XIP is not set
2026CONFIG_EXT3_FS=y
2027CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
2028CONFIG_EXT3_FS_XATTR=y
2029CONFIG_EXT3_FS_POSIX_ACL=y
2030CONFIG_EXT3_FS_SECURITY=y
2031CONFIG_EXT4_FS=y
2032CONFIG_EXT4_FS_XATTR=y
2033CONFIG_EXT4_FS_POSIX_ACL=y
2034CONFIG_EXT4_FS_SECURITY=y
2035# CONFIG_EXT4_DEBUG is not set
2036CONFIG_JBD=y
2037# CONFIG_JBD_DEBUG is not set
2038CONFIG_JBD2=y
2039# CONFIG_JBD2_DEBUG is not set
2040CONFIG_FS_MBCACHE=y
2041# CONFIG_REISERFS_FS is not set
2042# CONFIG_JFS_FS is not set
2043CONFIG_FS_POSIX_ACL=y
2044# CONFIG_XFS_FS is not set
2045# CONFIG_GFS2_FS is not set
2046# CONFIG_OCFS2_FS is not set
2047CONFIG_BTRFS_FS=y
2048CONFIG_BTRFS_FS_POSIX_ACL=y
2049# CONFIG_NILFS2_FS is not set
2050CONFIG_FILE_LOCKING=y
2051CONFIG_FSNOTIFY=y
2052CONFIG_DNOTIFY=y
2053CONFIG_INOTIFY=y
2054CONFIG_INOTIFY_USER=y
2055CONFIG_QUOTA=y
2056CONFIG_QUOTA_NETLINK_INTERFACE=y
2057# CONFIG_PRINT_QUOTA_WARNING is not set
2058CONFIG_QUOTA_TREE=y
2059# CONFIG_QFMT_V1 is not set
2060CONFIG_QFMT_V2=y
2061CONFIG_QUOTACTL=y
2062# CONFIG_AUTOFS_FS is not set
2063CONFIG_AUTOFS4_FS=m
2064CONFIG_FUSE_FS=m
2065CONFIG_CUSE=m
2066
2067#
2068# Caches
2069#
2070# CONFIG_FSCACHE is not set
2071
2072#
2073# CD-ROM/DVD Filesystems
2074#
2075# CONFIG_ISO9660_FS is not set
2076# CONFIG_UDF_FS is not set
2077
2078#
2079# DOS/FAT/NT Filesystems
2080#
2081CONFIG_FAT_FS=y
2082CONFIG_MSDOS_FS=y
2083CONFIG_VFAT_FS=y
2084CONFIG_FAT_DEFAULT_CODEPAGE=437
2085CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
2086CONFIG_NTFS_FS=m
2087# CONFIG_NTFS_DEBUG is not set
2088CONFIG_NTFS_RW=y
2089
2090#
2091# Pseudo filesystems
2092#
2093CONFIG_PROC_FS=y
2094CONFIG_PROC_SYSCTL=y
2095CONFIG_PROC_PAGE_MONITOR=y
2096CONFIG_SYSFS=y
2097CONFIG_TMPFS=y
2098# CONFIG_TMPFS_POSIX_ACL is not set
2099# CONFIG_HUGETLB_PAGE is not set
2100CONFIG_CONFIGFS_FS=m
2101CONFIG_MISC_FILESYSTEMS=y
2102# CONFIG_ADFS_FS is not set
2103# CONFIG_AFFS_FS is not set
2104# CONFIG_HFS_FS is not set
2105# CONFIG_HFSPLUS_FS is not set
2106# CONFIG_BEFS_FS is not set
2107# CONFIG_BFS_FS is not set
2108# CONFIG_EFS_FS is not set
2109CONFIG_JFFS2_FS=y
2110CONFIG_JFFS2_FS_DEBUG=0
2111CONFIG_JFFS2_FS_WRITEBUFFER=y
2112# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
2113# CONFIG_JFFS2_SUMMARY is not set
2114# CONFIG_JFFS2_FS_XATTR is not set
2115CONFIG_JFFS2_COMPRESSION_OPTIONS=y
2116CONFIG_JFFS2_ZLIB=y
2117CONFIG_JFFS2_LZO=y
2118CONFIG_JFFS2_RTIME=y
2119# CONFIG_JFFS2_RUBIN is not set
2120# CONFIG_JFFS2_CMODE_NONE is not set
2121# CONFIG_JFFS2_CMODE_PRIORITY is not set
2122# CONFIG_JFFS2_CMODE_SIZE is not set
2123CONFIG_JFFS2_CMODE_FAVOURLZO=y
2124CONFIG_UBIFS_FS=y
2125CONFIG_UBIFS_FS_XATTR=y
2126CONFIG_UBIFS_FS_ADVANCED_COMPR=y
2127CONFIG_UBIFS_FS_LZO=y
2128CONFIG_UBIFS_FS_ZLIB=y
2129# CONFIG_UBIFS_FS_DEBUG is not set
2130CONFIG_CRAMFS=y
2131CONFIG_SQUASHFS=y
2132# CONFIG_SQUASHFS_EMBEDDED is not set
2133CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
2134# CONFIG_VXFS_FS is not set
2135# CONFIG_MINIX_FS is not set
2136# CONFIG_OMFS_FS is not set
2137# CONFIG_HPFS_FS is not set
2138# CONFIG_QNX4FS_FS is not set
2139# CONFIG_ROMFS_FS is not set
2140# CONFIG_SYSV_FS is not set
2141# CONFIG_UFS_FS is not set
2142CONFIG_NETWORK_FILESYSTEMS=y
2143CONFIG_NFS_FS=y
2144CONFIG_NFS_V3=y
2145CONFIG_NFS_V3_ACL=y
2146# CONFIG_NFS_V4 is not set
2147CONFIG_ROOT_NFS=y
2148CONFIG_NFSD=m
2149CONFIG_NFSD_V2_ACL=y
2150CONFIG_NFSD_V3=y
2151CONFIG_NFSD_V3_ACL=y
2152# CONFIG_NFSD_V4 is not set
2153CONFIG_LOCKD=y
2154CONFIG_LOCKD_V4=y
2155CONFIG_EXPORTFS=m
2156CONFIG_NFS_ACL_SUPPORT=y
2157CONFIG_NFS_COMMON=y
2158CONFIG_SUNRPC=y
2159# CONFIG_RPCSEC_GSS_KRB5 is not set
2160# CONFIG_RPCSEC_GSS_SPKM3 is not set
2161# CONFIG_SMB_FS is not set
2162CONFIG_CIFS=m
2163# CONFIG_CIFS_STATS is not set
2164CONFIG_CIFS_WEAK_PW_HASH=y
2165CONFIG_CIFS_XATTR=y
2166CONFIG_CIFS_POSIX=y
2167CONFIG_CIFS_DEBUG2=y
2168# CONFIG_CIFS_EXPERIMENTAL is not set
2169# CONFIG_NCP_FS is not set
2170# CONFIG_CODA_FS is not set
2171# CONFIG_AFS_FS is not set
2172
2173#
2174# Partition Types
2175#
2176CONFIG_PARTITION_ADVANCED=y
2177# CONFIG_ACORN_PARTITION is not set
2178# CONFIG_OSF_PARTITION is not set
2179# CONFIG_AMIGA_PARTITION is not set
2180# CONFIG_ATARI_PARTITION is not set
2181# CONFIG_MAC_PARTITION is not set
2182CONFIG_MSDOS_PARTITION=y
2183# CONFIG_BSD_DISKLABEL is not set
2184# CONFIG_MINIX_SUBPARTITION is not set
2185# CONFIG_SOLARIS_X86_PARTITION is not set
2186# CONFIG_UNIXWARE_DISKLABEL is not set
2187# CONFIG_LDM_PARTITION is not set
2188# CONFIG_SGI_PARTITION is not set
2189# CONFIG_ULTRIX_PARTITION is not set
2190# CONFIG_SUN_PARTITION is not set
2191# CONFIG_KARMA_PARTITION is not set
2192# CONFIG_EFI_PARTITION is not set
2193# CONFIG_SYSV68_PARTITION is not set
2194CONFIG_NLS=y
2195CONFIG_NLS_DEFAULT="iso8859-1"
2196CONFIG_NLS_CODEPAGE_437=m
2197CONFIG_NLS_CODEPAGE_737=m
2198CONFIG_NLS_CODEPAGE_775=m
2199CONFIG_NLS_CODEPAGE_850=m
2200CONFIG_NLS_CODEPAGE_852=m
2201CONFIG_NLS_CODEPAGE_855=m
2202CONFIG_NLS_CODEPAGE_857=m
2203CONFIG_NLS_CODEPAGE_860=m
2204CONFIG_NLS_CODEPAGE_861=m
2205CONFIG_NLS_CODEPAGE_862=m
2206CONFIG_NLS_CODEPAGE_863=m
2207CONFIG_NLS_CODEPAGE_864=m
2208CONFIG_NLS_CODEPAGE_865=m
2209CONFIG_NLS_CODEPAGE_866=m
2210CONFIG_NLS_CODEPAGE_869=m
2211CONFIG_NLS_CODEPAGE_936=m
2212CONFIG_NLS_CODEPAGE_950=m
2213CONFIG_NLS_CODEPAGE_932=m
2214CONFIG_NLS_CODEPAGE_949=m
2215CONFIG_NLS_CODEPAGE_874=m
2216CONFIG_NLS_ISO8859_8=m
2217CONFIG_NLS_CODEPAGE_1250=m
2218CONFIG_NLS_CODEPAGE_1251=m
2219CONFIG_NLS_ASCII=m
2220CONFIG_NLS_ISO8859_1=m
2221CONFIG_NLS_ISO8859_2=m
2222CONFIG_NLS_ISO8859_3=m
2223CONFIG_NLS_ISO8859_4=m
2224CONFIG_NLS_ISO8859_5=m
2225CONFIG_NLS_ISO8859_6=m
2226CONFIG_NLS_ISO8859_7=m
2227CONFIG_NLS_ISO8859_9=m
2228CONFIG_NLS_ISO8859_13=m
2229CONFIG_NLS_ISO8859_14=m
2230CONFIG_NLS_ISO8859_15=m
2231CONFIG_NLS_KOI8_R=m
2232CONFIG_NLS_KOI8_U=m
2233CONFIG_NLS_UTF8=m
2234CONFIG_DLM=m
2235# CONFIG_DLM_DEBUG is not set
2236
2237#
2238# Kernel hacking
2239#
2240CONFIG_PRINTK_TIME=y
2241CONFIG_ENABLE_WARN_DEPRECATED=y
2242CONFIG_ENABLE_MUST_CHECK=y
2243CONFIG_FRAME_WARN=1024
2244CONFIG_MAGIC_SYSRQ=y
2245# CONFIG_STRIP_ASM_SYMS is not set
2246# CONFIG_UNUSED_SYMBOLS is not set
2247CONFIG_DEBUG_FS=y
2248# CONFIG_HEADERS_CHECK is not set
2249CONFIG_DEBUG_KERNEL=y
2250# CONFIG_DEBUG_SHIRQ is not set
2251CONFIG_DETECT_SOFTLOCKUP=y
2252# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
2253CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
2254CONFIG_DETECT_HUNG_TASK=y
2255# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
2256CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
2257CONFIG_SCHED_DEBUG=y
2258# CONFIG_SCHEDSTATS is not set
2259# CONFIG_TIMER_STATS is not set
2260# CONFIG_DEBUG_OBJECTS is not set
2261# CONFIG_DEBUG_SLAB is not set
2262# CONFIG_DEBUG_KMEMLEAK is not set
2263# CONFIG_DEBUG_RT_MUTEXES is not set
2264# CONFIG_RT_MUTEX_TESTER is not set
2265# CONFIG_DEBUG_SPINLOCK is not set
2266CONFIG_DEBUG_MUTEXES=y
2267# CONFIG_DEBUG_LOCK_ALLOC is not set
2268# CONFIG_PROVE_LOCKING is not set
2269# CONFIG_LOCK_STAT is not set
2270# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
2271# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
2272# CONFIG_DEBUG_KOBJECT is not set
2273# CONFIG_DEBUG_BUGVERBOSE is not set
2274CONFIG_DEBUG_INFO=y
2275# CONFIG_DEBUG_VM is not set
2276# CONFIG_DEBUG_WRITECOUNT is not set
2277# CONFIG_DEBUG_MEMORY_INIT is not set
2278# CONFIG_DEBUG_LIST is not set
2279# CONFIG_DEBUG_SG is not set
2280# CONFIG_DEBUG_NOTIFIERS is not set
2281# CONFIG_DEBUG_CREDENTIALS is not set
2282# CONFIG_BOOT_PRINTK_DELAY is not set
2283# CONFIG_RCU_TORTURE_TEST is not set
2284# CONFIG_RCU_CPU_STALL_DETECTOR is not set
2285# CONFIG_BACKTRACE_SELF_TEST is not set
2286# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
2287# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
2288# CONFIG_FAULT_INJECTION is not set
2289# CONFIG_LATENCYTOP is not set
2290# CONFIG_SYSCTL_SYSCALL_CHECK is not set
2291# CONFIG_PAGE_POISONING is not set
2292CONFIG_HAVE_FUNCTION_TRACER=y
2293CONFIG_TRACING_SUPPORT=y
2294CONFIG_FTRACE=y
2295# CONFIG_FUNCTION_TRACER is not set
2296# CONFIG_IRQSOFF_TRACER is not set
2297# CONFIG_SCHED_TRACER is not set
2298# CONFIG_ENABLE_DEFAULT_TRACERS is not set
2299# CONFIG_BOOT_TRACER is not set
2300CONFIG_BRANCH_PROFILE_NONE=y
2301# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
2302# CONFIG_PROFILE_ALL_BRANCHES is not set
2303# CONFIG_STACK_TRACER is not set
2304# CONFIG_KMEMTRACE is not set
2305# CONFIG_WORKQUEUE_TRACER is not set
2306# CONFIG_BLK_DEV_IO_TRACE is not set
2307# CONFIG_DYNAMIC_DEBUG is not set
2308# CONFIG_SAMPLES is not set
2309CONFIG_HAVE_ARCH_KGDB=y
2310# CONFIG_KGDB is not set
2311CONFIG_ARM_UNWIND=y
2312# CONFIG_DEBUG_USER is not set
2313# CONFIG_DEBUG_ERRORS is not set
2314# CONFIG_DEBUG_STACK_USAGE is not set
2315CONFIG_DEBUG_LL=y
2316# CONFIG_EARLY_PRINTK is not set
2317# CONFIG_DEBUG_ICEDCC is not set
2318# CONFIG_OC_ETM is not set
2319
2320#
2321# Security options
2322#
2323# CONFIG_KEYS is not set
2324# CONFIG_SECURITY is not set
2325# CONFIG_SECURITYFS is not set
2326# CONFIG_DEFAULT_SECURITY_SELINUX is not set
2327# CONFIG_DEFAULT_SECURITY_SMACK is not set
2328# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
2329CONFIG_DEFAULT_SECURITY_DAC=y
2330CONFIG_DEFAULT_SECURITY=""
2331CONFIG_CRYPTO=y
2332
2333#
2334# Crypto core or helper
2335#
2336CONFIG_CRYPTO_ALGAPI=y
2337CONFIG_CRYPTO_ALGAPI2=y
2338CONFIG_CRYPTO_AEAD=m
2339CONFIG_CRYPTO_AEAD2=y
2340CONFIG_CRYPTO_BLKCIPHER=y
2341CONFIG_CRYPTO_BLKCIPHER2=y
2342CONFIG_CRYPTO_HASH=y
2343CONFIG_CRYPTO_HASH2=y
2344CONFIG_CRYPTO_RNG2=y
2345CONFIG_CRYPTO_PCOMP=y
2346CONFIG_CRYPTO_MANAGER=y
2347CONFIG_CRYPTO_MANAGER2=y
2348# CONFIG_CRYPTO_GF128MUL is not set
2349# CONFIG_CRYPTO_NULL is not set
2350CONFIG_CRYPTO_WORKQUEUE=y
2351# CONFIG_CRYPTO_CRYPTD is not set
2352CONFIG_CRYPTO_AUTHENC=m
2353# CONFIG_CRYPTO_TEST is not set
2354
2355#
2356# Authenticated Encryption with Associated Data
2357#
2358# CONFIG_CRYPTO_CCM is not set
2359# CONFIG_CRYPTO_GCM is not set
2360# CONFIG_CRYPTO_SEQIV is not set
2361
2362#
2363# Block modes
2364#
2365CONFIG_CRYPTO_CBC=y
2366# CONFIG_CRYPTO_CTR is not set
2367# CONFIG_CRYPTO_CTS is not set
2368CONFIG_CRYPTO_ECB=y
2369# CONFIG_CRYPTO_LRW is not set
2370CONFIG_CRYPTO_PCBC=m
2371# CONFIG_CRYPTO_XTS is not set
2372
2373#
2374# Hash modes
2375#
2376CONFIG_CRYPTO_HMAC=m
2377# CONFIG_CRYPTO_XCBC is not set
2378# CONFIG_CRYPTO_VMAC is not set
2379
2380#
2381# Digest
2382#
2383CONFIG_CRYPTO_CRC32C=y
2384# CONFIG_CRYPTO_GHASH is not set
2385# CONFIG_CRYPTO_MD4 is not set
2386CONFIG_CRYPTO_MD5=y
2387CONFIG_CRYPTO_MICHAEL_MIC=m
2388# CONFIG_CRYPTO_RMD128 is not set
2389# CONFIG_CRYPTO_RMD160 is not set
2390# CONFIG_CRYPTO_RMD256 is not set
2391# CONFIG_CRYPTO_RMD320 is not set
2392CONFIG_CRYPTO_SHA1=m
2393# CONFIG_CRYPTO_SHA256 is not set
2394# CONFIG_CRYPTO_SHA512 is not set
2395# CONFIG_CRYPTO_TGR192 is not set
2396# CONFIG_CRYPTO_WP512 is not set
2397
2398#
2399# Ciphers
2400#
2401CONFIG_CRYPTO_AES=y
2402# CONFIG_CRYPTO_ANUBIS is not set
2403CONFIG_CRYPTO_ARC4=y
2404# CONFIG_CRYPTO_BLOWFISH is not set
2405# CONFIG_CRYPTO_CAMELLIA is not set
2406# CONFIG_CRYPTO_CAST5 is not set
2407# CONFIG_CRYPTO_CAST6 is not set
2408CONFIG_CRYPTO_DES=y
2409# CONFIG_CRYPTO_FCRYPT is not set
2410# CONFIG_CRYPTO_KHAZAD is not set
2411# CONFIG_CRYPTO_SALSA20 is not set
2412# CONFIG_CRYPTO_SEED is not set
2413# CONFIG_CRYPTO_SERPENT is not set
2414# CONFIG_CRYPTO_TEA is not set
2415# CONFIG_CRYPTO_TWOFISH is not set
2416
2417#
2418# Compression
2419#
2420CONFIG_CRYPTO_DEFLATE=y
2421# CONFIG_CRYPTO_ZLIB is not set
2422CONFIG_CRYPTO_LZO=y
2423
2424#
2425# Random Number Generation
2426#
2427# CONFIG_CRYPTO_ANSI_CPRNG is not set
2428CONFIG_CRYPTO_HW=y
2429# CONFIG_BINARY_PRINTF is not set
2430
2431#
2432# Library routines
2433#
2434CONFIG_BITREVERSE=y
2435CONFIG_GENERIC_FIND_LAST_BIT=y
2436CONFIG_CRC_CCITT=y
2437CONFIG_CRC16=y
2438CONFIG_CRC_T10DIF=y
2439CONFIG_CRC_ITU_T=m
2440CONFIG_CRC32=y
2441CONFIG_CRC7=m
2442CONFIG_LIBCRC32C=y
2443CONFIG_ZLIB_INFLATE=y
2444CONFIG_ZLIB_DEFLATE=y
2445CONFIG_LZO_COMPRESS=y
2446CONFIG_LZO_DECOMPRESS=y
2447CONFIG_DECOMPRESS_GZIP=y
2448CONFIG_DECOMPRESS_BZIP2=y
2449CONFIG_DECOMPRESS_LZMA=y
2450CONFIG_DECOMPRESS_LZO=y
2451CONFIG_HAS_IOMEM=y
2452CONFIG_HAS_IOPORT=y
2453CONFIG_HAS_DMA=y
2454CONFIG_NLATTR=y
diff --git a/meta/packages/linux/linux-igep2_2.6.28.bb b/meta/packages/linux/linux-igep2_2.6.28.bb
deleted file mode 100644
index 113fe1fa11..0000000000
--- a/meta/packages/linux/linux-igep2_2.6.28.bb
+++ /dev/null
@@ -1,18 +0,0 @@
1require linux.inc
2
3DESCRIPTION = "Linux kernel for OMAP processors"
4KERNEL_IMAGETYPE = "uImage"
5
6COMPATIBLE_MACHINE = "igep0020"
7
8DEFAULT_PREFERENCE_igep0020 = "1"
9
10PR = "r4"
11
12KV = "2.6.28.10-3"
13
14SRC_URI = "http://downloads.myigep.com/sources/kernel/linux-omap-${KV}.tar.gz \
15 file://defconfig \
16"
17
18S = "${WORKDIR}/linux-omap-${KV}"
diff --git a/meta/packages/linux/linux-igep_2.6.33.5.bb b/meta/packages/linux/linux-igep_2.6.33.5.bb
new file mode 100644
index 0000000000..6e961b7efd
--- /dev/null
+++ b/meta/packages/linux/linux-igep_2.6.33.5.bb
@@ -0,0 +1,30 @@
1DESCRIPTION = "2.6 Linux Kernel for IGEP based platforms"
2SECTION = "kernel"
3LICENSE = "GPL"
4
5DEFAULT_PREFERENCE = "-1"
6DEFAULT_PREFERENCE_igep0020 = "1"
7DEFAULT_PREFERENCE_igep0030 = "1"
8
9COMPATIBLE_MACHINE = "(igep0020|igep0030)"
10
11inherit kernel
12
13KV = "${PV}-0"
14
15SRC_URI = "http://downloads.igep.es/sources/linux-omap-${KV}.tar.gz \
16 file://0001-omap3-init-MUX-for-OMAP3-IGEP-module.patch;patch=1 \
17 file://defconfig-igep0020 \
18 file://defconfig-igep0030"
19
20do_configure() {
21
22 rm -f ${S}/.config || true
23
24 cp ${WORKDIR}/defconfig-${MACHINE} ${S}/.config
25
26 yes '' | oe_runmake oldconfig
27
28}
29
30S = "${WORKDIR}/linux-omap-${KV}"
diff --git a/meta/packages/matchbox-config-gtk/matchbox-config-gtk_svn.bb b/meta/packages/matchbox-config-gtk/matchbox-config-gtk_svn.bb
index bc6c0511dd..6c684d8cdb 100644
--- a/meta/packages/matchbox-config-gtk/matchbox-config-gtk_svn.bb
+++ b/meta/packages/matchbox-config-gtk/matchbox-config-gtk_svn.bb
@@ -1,5 +1,9 @@
1DESCRIPTION = "Matchbox GTK+ theme configuration application." 1DESCRIPTION = "Matchbox GTK+ theme configuration application."
2LICENSE = "GPL" 2HOMEPAGE = "http://matchbox-project.org"
3BUGTRACKER = "http://bugzilla.openedhand.com/"
4
5LICENSE = "GPLv2+"
6
3DEPENDS = "gconf gtk+" 7DEPENDS = "gconf gtk+"
4RDEPENDS = "settings-daemon" 8RDEPENDS = "settings-daemon"
5 9
diff --git a/meta/packages/matchbox-keyboard/matchbox-keyboard_svn.bb b/meta/packages/matchbox-keyboard/matchbox-keyboard_svn.bb
index 568a83e516..bfceba05d4 100644
--- a/meta/packages/matchbox-keyboard/matchbox-keyboard_svn.bb
+++ b/meta/packages/matchbox-keyboard/matchbox-keyboard_svn.bb
@@ -1,5 +1,9 @@
1DESCRIPTION = "Matchbox virtual keyboard for X11" 1DESCRIPTION = "Matchbox virtual keyboard for X11"
2LICENSE = "GPL" 2HOMEPAGE = "http://matchbox-project.org"
3BUGTRACKER = "http://bugzilla.openedhand.com/"
4
5LICENSE = "GPLv2+"
6
3DEPENDS = "libfakekey expat libxft gtk+ matchbox-panel-2" 7DEPENDS = "libfakekey expat libxft gtk+ matchbox-panel-2"
4RDEPENDS = "formfactor dbus-wait" 8RDEPENDS = "formfactor dbus-wait"
5SECTION = "x11" 9SECTION = "x11"
diff --git a/meta/packages/matchbox-panel-2/matchbox-panel-2_svn.bb b/meta/packages/matchbox-panel-2/matchbox-panel-2_svn.bb
index b35f79875e..d75b9ef405 100644
--- a/meta/packages/matchbox-panel-2/matchbox-panel-2_svn.bb
+++ b/meta/packages/matchbox-panel-2/matchbox-panel-2_svn.bb
@@ -1,4 +1,9 @@
1LICENSE = "GPLv2" 1DESCRIPTION = "A simple GTK+ based panel for handheld devices."
2HOMEPAGE = "http://matchbox-project.org"
3BUGTRACKER = "http://bugzilla.openedhand.com/"
4
5LICENSE = "GPLv2+"
6
2PRIORITY = "optional" 7PRIORITY = "optional"
3DEPENDS = "gtk+ startup-notification dbus dbus-glib" 8DEPENDS = "gtk+ startup-notification dbus dbus-glib"
4DEPENDS += " ${@base_contains("MACHINE_FEATURES", "acpi", "libacpi", "",d)}" 9DEPENDS += " ${@base_contains("MACHINE_FEATURES", "acpi", "libacpi", "",d)}"
diff --git a/meta/packages/matchbox-stroke/matchbox-stroke_svn.bb b/meta/packages/matchbox-stroke/matchbox-stroke_svn.bb
index ad6b030daf..f3626557e3 100644
--- a/meta/packages/matchbox-stroke/matchbox-stroke_svn.bb
+++ b/meta/packages/matchbox-stroke/matchbox-stroke_svn.bb
@@ -1,5 +1,9 @@
1DESCRIPTION = "Matchbox stroke recogniser" 1DESCRIPTION = "Matchbox stroke recogniser"
2LICENSE = "GPL" 2HOMEPAGE = "http://matchbox-project.org"
3BUGTRACKER = "http://bugzilla.openedhand.com/"
4
5LICENSE = "GPLv2"
6
3DEPENDS = "libfakekey expat libxft" 7DEPENDS = "libfakekey expat libxft"
4SECTION = "x11/wm" 8SECTION = "x11/wm"
5PV = "0.0+svnr${SRCREV}" 9PV = "0.0+svnr${SRCREV}"
diff --git a/meta/packages/matchbox-wm/matchbox-wm_svn.bb b/meta/packages/matchbox-wm/matchbox-wm_svn.bb
index b4b137325e..09c2ddfb0b 100644
--- a/meta/packages/matchbox-wm/matchbox-wm_svn.bb
+++ b/meta/packages/matchbox-wm/matchbox-wm_svn.bb
@@ -1,6 +1,10 @@
1SECTION = "x11/wm"
2DESCRIPTION = "Matchbox window manager" 1DESCRIPTION = "Matchbox window manager"
3LICENSE = "GPL" 2HOMEPAGE = "http://matchbox-project.org"
3BUGTRACKER = "http://bugzilla.openedhand.com/"
4
5LICENSE = "GPLv2+"
6
7SECTION = "x11/wm"
4DEPENDS = "libmatchbox virtual/libx11 libxext libxrender startup-notification expat gconf" 8DEPENDS = "libmatchbox virtual/libx11 libxext libxrender startup-notification expat gconf"
5 9
6PV = "1.2+svnr${SRCREV}" 10PV = "1.2+svnr${SRCREV}"
diff --git a/meta/packages/meta/meta-toolchain.bb b/meta/packages/meta/meta-toolchain.bb
index 9ae5554eaa..43b4f027c4 100644
--- a/meta/packages/meta/meta-toolchain.bb
+++ b/meta/packages/meta/meta-toolchain.bb
@@ -6,11 +6,12 @@ inherit meta
6 6
7SDK_DIR = "${WORKDIR}/sdk" 7SDK_DIR = "${WORKDIR}/sdk"
8SDK_OUTPUT = "${SDK_DIR}/image" 8SDK_OUTPUT = "${SDK_DIR}/image"
9SDK_OUTPUT2 = "${SDK_DIR}/image-extras"
10SDK_DEPLOY = "${TMPDIR}/deploy/sdk" 9SDK_DEPLOY = "${TMPDIR}/deploy/sdk"
11 10
11SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${TARGET_SYS}"
12
12IPKG_HOST = "opkg-cl -f ${IPKGCONF_SDK} -o ${SDK_OUTPUT}" 13IPKG_HOST = "opkg-cl -f ${IPKGCONF_SDK} -o ${SDK_OUTPUT}"
13IPKG_TARGET = "opkg-cl -f ${IPKGCONF_TARGET} -o ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}" 14IPKG_TARGET = "opkg-cl -f ${IPKGCONF_TARGET} -o ${SDK_OUTPUT}/${SDKTARGETSYSROOT}"
14 15
15TOOLCHAIN_HOST_TASK ?= "task-sdk-host" 16TOOLCHAIN_HOST_TASK ?= "task-sdk-host"
16TOOLCHAIN_TARGET_TASK ?= "task-poky-standalone-sdk-target task-poky-standalone-sdk-target-dbg" 17TOOLCHAIN_TARGET_TASK ?= "task-poky-standalone-sdk-target task-poky-standalone-sdk-target-dbg"
@@ -22,10 +23,9 @@ EXCLUDE_FROM_WORLD = "1"
22 23
23do_populate_sdk() { 24do_populate_sdk() {
24 rm -rf ${SDK_OUTPUT} 25 rm -rf ${SDK_OUTPUT}
25 rm -rf ${SDK_OUTPUT2}
26 mkdir -p ${SDK_OUTPUT} 26 mkdir -p ${SDK_OUTPUT}
27 mkdir -p ${SDK_OUTPUT}${libdir}/opkg/ 27 mkdir -p ${SDK_OUTPUT}${libdir}/opkg/
28 mkdir -p ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}${libdir}/opkg/ 28 mkdir -p ${SDK_OUTPUT}/${SDKTARGETSYSROOT}${libdir}/opkg/
29 29
30 rm -f ${IPKGCONF_TARGET} 30 rm -f ${IPKGCONF_TARGET}
31 touch ${IPKGCONF_TARGET} 31 touch ${IPKGCONF_TARGET}
@@ -45,58 +45,32 @@ do_populate_sdk() {
45 ${IPKG_TARGET} update 45 ${IPKG_TARGET} update
46 ${IPKG_TARGET} install ${TOOLCHAIN_TARGET_TASK} 46 ${IPKG_TARGET} install ${TOOLCHAIN_TARGET_TASK}
47 47
48 install -d ${SDK_OUTPUT}/${SDKPATH}/usr/lib/opkg 48 install -d ${SDK_OUTPUT}/${SDKPATHNATIVE}${libdir_nativesdk}/opkg
49 mv ${SDK_OUTPUT}/usr/lib/opkg/* ${SDK_OUTPUT}/${SDKPATH}/usr/lib/opkg/ 49 mv ${SDK_OUTPUT}/usr/lib/opkg/* ${SDK_OUTPUT}/${SDKPATHNATIVE}${libdir_nativesdk}/opkg/
50 rm -Rf ${SDK_OUTPUT}/usr/lib 50 rm -Rf ${SDK_OUTPUT}/usr
51 51
52 # Don't ship any libGL in the SDK 52 # Don't ship any libGL in the SDK
53 rm -rf ${SDK_OUTPUT}/${SDKPATH}/usr/lib/libGL* 53 rm -rf ${SDK_OUTPUT}/${SDKPATHNATIVE}${libdir_nativesdk}/libGL*
54 54
55 install -d ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}/${sysconfdir} 55 install -d ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/${sysconfdir}
56 install -m 0644 ${IPKGCONF_TARGET} ${IPKGCONF_SDK} ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}/${sysconfdir}/ 56 install -m 0644 ${IPKGCONF_TARGET} ${IPKGCONF_SDK} ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/${sysconfdir}/
57 57
58 install -d ${SDK_OUTPUT}/${SDKPATH}/${sysconfdir} 58 install -d ${SDK_OUTPUT}/${SDKPATHNATIVE}/${sysconfdir}
59 install -m 0644 ${IPKGCONF_SDK} ${SDK_OUTPUT}/${SDKPATH}/${sysconfdir}/ 59 install -m 0644 ${IPKGCONF_SDK} ${SDK_OUTPUT}/${SDKPATHNATIVE}/${sysconfdir}/
60 60
61 # extract and store ipks, pkgdata and shlibs data 61 # Can copy pstage files here
62 target_pkgs=`cat ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}/usr/lib/opkg/status | grep Package: | cut -f 2 -d ' '` 62 # target_pkgs=`cat ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/usr/lib/opkg/status | grep Package: | cut -f 2 -d ' '`
63 mkdir -p ${SDK_OUTPUT2}/${SDKPATH}/ipk/
64 mkdir -p ${SDK_OUTPUT2}/${SDKPATH}/pkgdata/runtime/
65 mkdir -p ${SDK_OUTPUT2}/${SDKPATH}/${TARGET_SYS}/shlibs/
66 for pkg in $target_pkgs ; do
67 for arch in $revipkgarchs; do
68 pkgnames=${DEPLOY_DIR_IPK}/$arch/${pkg}_*_$arch.ipk
69 if [ -e $pkgnames ]; then
70 echo "Found $pkgnames"
71 cp $pkgnames ${SDK_OUTPUT2}/${SDKPATH}/ipk/
72 orig_pkg=`opkg-list-fields $pkgnames | grep OE: | cut -d ' ' -f2`
73 pkg_subdir=$arch${TARGET_VENDOR}${@['-' + bb.data.getVar('TARGET_OS', d, 1), ''][bb.data.getVar('TARGET_OS', d, 1) == ('' or 'custom')]}
74 mkdir -p ${SDK_OUTPUT2}/${SDKPATH}/pkgdata/$pkg_subdir/runtime
75 cp ${TMPDIR}/pkgdata/$pkg_subdir/$orig_pkg ${SDK_OUTPUT2}/${SDKPATH}/pkgdata/$pkg_subdir/
76 subpkgs=`cat ${TMPDIR}/pkgdata/$pkg_subdir/$orig_pkg | grep PACKAGES: | cut -b 10-`
77 for subpkg in $subpkgs; do
78 cp ${TMPDIR}/pkgdata/$pkg_subdir/runtime/$subpkg ${SDK_OUTPUT2}/${SDKPATH}/pkgdata/$pkg_subdir/runtime/
79 if [ -e ${TMPDIR}/pkgdata/$pkg_subdir/runtime/$subpkg.packaged ];then
80 cp ${TMPDIR}/pkgdata/$pkg_subdir/runtime/$subpkg.packaged ${SDK_OUTPUT2}/${SDKPATH}/pkgdata/$pkg_subdir/runtime/
81 fi
82 if [ -e ${STAGING_DIR_TARGET}/shlibs/$subpkg.list ]; then
83 cp ${STAGING_DIR_TARGET}/shlibs/$subpkg.* ${SDK_OUTPUT2}/${SDKPATH}/${TARGET_SYS}/shlibs/
84 fi
85 done
86 break
87 fi
88 done
89 done
90 63
91 # Fix or remove broken .la files 64 # Fix or remove broken .la files
92 for i in `find ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS} -name \*.la`; do 65 for i in `find ${SDK_OUTPUT}/${SDKTARGETSYSROOT} -name \*.la`; do
93 sed -i -e "/^dependency_libs=/s,\([[:space:]']\)${base_libdir},\1${SDKPATH}/${TARGET_SYS}${base_libdir},g" \ 66 sed -i -e "/^dependency_libs=/s,\([[:space:]']\)${base_libdir},\1${SDKTARGETSYSROOT}${base_libdir},g" \
94 -e "/^dependency_libs=/s,\([[:space:]']\)${libdir},\1${SDKPATH}/${TARGET_SYS}${libdir},g" \ 67 -e "/^dependency_libs=/s,\([[:space:]']\)${libdir},\1${SDKTARGETSYSROOT}${libdir},g" \
95 -e "/^dependency_libs=/s,\-\([LR]\)${base_libdir},-\1${SDKPATH}/${TARGET_SYS}${base_libdir},g" \ 68 -e "/^dependency_libs=/s,\-\([LR]\)${base_libdir},-\1${SDKTARGETSYSROOT}${base_libdir},g" \
96 -e "/^dependency_libs=/s,\-\([LR]\)${libdir},-\1${SDKPATH}/${TARGET_SYS}${libdir},g" \ 69 -e "/^dependency_libs=/s,\-\([LR]\)${libdir},-\1${SDKTARGETSYSROOT}${libdir},g" \
97 -e 's/^installed=yes$/installed=no/' $i 70 -e 's/^installed=yes$/installed=no/' $i
98 done 71 done
99 rm -f ${SDK_OUTPUT}/${SDKPATH}/lib/*.la 72 #rm -f ${SDK_OUTPUT}/${SDKPATHNATIVE}/lib/*.la
73 rm -f ${SDK_OUTPUT}/${SDKPATHNATIVE}${libdir_nativesdk}/*.la
100 74
101 # Setup site file for external use 75 # Setup site file for external use
102 siteconfig=${SDK_OUTPUT}/${SDKPATH}/site-config-${TARGET_SYS} 76 siteconfig=${SDK_OUTPUT}/${SDKPATH}/site-config-${TARGET_SYS}
@@ -108,21 +82,21 @@ do_populate_sdk() {
108 # Create environment setup script 82 # Create environment setup script
109 script=${SDK_OUTPUT}/${SDKPATH}/environment-setup-${TARGET_SYS} 83 script=${SDK_OUTPUT}/${SDKPATH}/environment-setup-${TARGET_SYS}
110 touch $script 84 touch $script
111 echo 'export PATH=${SDKPATH}/bin:$PATH' >> $script 85 echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:$PATH' >> $script
112 echo 'export PKG_CONFIG_SYSROOT_DIR=${SDKPATH}/${TARGET_SYS}' >> $script 86 echo 'export PKG_CONFIG_SYSROOT_DIR=${SDKTARGETSYSROOT}' >> $script
113 echo 'export PKG_CONFIG_PATH=${SDKPATH}/${TARGET_SYS}${libdir}/pkgconfig' >> $script 87 echo 'export PKG_CONFIG_PATH=${SDKTARGETSYSROOT}${libdir}/pkgconfig' >> $script
114 echo 'export CONFIG_SITE=${SDKPATH}/site-config-${TARGET_SYS}' >> $script 88 echo 'export CONFIG_SITE=${SDKPATH}/site-config-${TARGET_SYS}' >> $script
115 echo 'export CC=${TARGET_PREFIX}gcc' >> $script 89 echo 'export CC=${TARGET_PREFIX}gcc' >> $script
116 echo 'export CONFIGURE_FLAGS="--target=${TARGET_SYS} --host=${TARGET_SYS} --build=${SDK_ARCH}-linux"' >> $script 90 echo 'export CONFIGURE_FLAGS="--target=${TARGET_SYS} --host=${TARGET_SYS} --build=${SDK_ARCH}-linux"' >> $script
117 if [ "${TARGET_OS}" = "darwin8" ]; then 91 if [ "${TARGET_OS}" = "darwin8" ]; then
118 echo 'export TARGET_CFLAGS="-I${SDKPATH}/${TARGET_SYS}${includedir}"' >> $script 92 echo 'export TARGET_CFLAGS="-I${SDKTARGETSYSROOT}${includedir}"' >> $script
119 echo 'export TARGET_LDFLAGS="-L${SDKPATH}/${TARGET_SYS}${libdir}"' >> $script 93 echo 'export TARGET_LDFLAGS="-L${SDKTARGETSYSROOT}${libdir}"' >> $script
120 # Workaround darwin toolchain sysroot path problems 94 # Workaround darwin toolchain sysroot path problems
121 cd ${SDK_OUTPUT}${SDKPATH}/${TARGET_SYS}/usr 95 cd ${SDK_OUTPUT}${SDKTARGETSYSROOT}/usr
122 ln -s /usr/local local 96 ln -s /usr/local local
123 fi 97 fi
124 echo "alias opkg='LD_LIBRARY_PATH=${SDKPATH}/lib ${SDKPATH}/bin/opkg-cl -f ${SDKPATH}/${sysconfdir}/opkg-sdk.conf -o ${SDKPATH}'" >> $script 98 echo "alias opkg='LD_LIBRARY_PATH=${SDKPATHNATIVE}${libdir_nativesdk} ${SDKPATHNATIVE}${bindir_nativesdk}/opkg-cl -f ${SDKPATHNATIVE}/${sysconfdir}/opkg-sdk.conf -o ${SDKPATHNATIVE}'" >> $script
125 echo "alias opkg-target='LD_LIBRARY_PATH=${SDKPATH}/lib ${SDKPATH}/bin/opkg-cl -f ${SDKPATH}/${TARGET_SYS}${sysconfdir}/opkg.conf -o ${SDKPATH}/${TARGET_SYS}'" >> $script 99 echo "alias opkg-target='LD_LIBRARY_PATH=${SDKPATHNATIVE}${libdir_nativesdk} ${SDKPATHNATIVE}${bindir_nativesdk}/opkg-cl -f ${SDKTARGETSYSROOT}${sysconfdir}/opkg.conf -o ${SDKTARGETSYSROOT}'" >> $script
126 100
127 # Add version information 101 # Add version information
128 versionfile=${SDK_OUTPUT}/${SDKPATH}/version-${TARGET_SYS} 102 versionfile=${SDK_OUTPUT}/${SDKPATH}/version-${TARGET_SYS}
@@ -136,8 +110,6 @@ do_populate_sdk() {
136 mkdir -p ${SDK_DEPLOY} 110 mkdir -p ${SDK_DEPLOY}
137 cd ${SDK_OUTPUT} 111 cd ${SDK_OUTPUT}
138 fakeroot tar cfj ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 . 112 fakeroot tar cfj ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 .
139 cd ${SDK_OUTPUT2}
140 fakeroot tar cfj ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}-extras.tar.bz2 .
141} 113}
142 114
143do_populate_sdk[nostamp] = "1" 115do_populate_sdk[nostamp] = "1"
diff --git a/meta/packages/module-init-tools/module-init-tools.inc b/meta/packages/module-init-tools/module-init-tools.inc
index 9955f619ba..2db6bcd544 100644
--- a/meta/packages/module-init-tools/module-init-tools.inc
+++ b/meta/packages/module-init-tools/module-init-tools.inc
@@ -1,6 +1,4 @@
1DESCRIPTION = "This package contains a set of programs for loading, inserting, and \ 1DESCRIPTION = "This package contains a set of programs for loading, inserting, and removing kernel modules for Linux (versions 2.5.48 and above). It serves the same function that the modutils package serves for Linux 2.4"
2removing kernel modules for Linux (versions 2.5.48 and above). It serves \
3the same function that the modutils package serves for Linux 2.4."
4LICENSE = "GPLv2" 2LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ 3LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
6 file://lsmod.c;md5=030a1ab6b7b2b97e9959db0d5f1c093d" 4 file://lsmod.c;md5=030a1ab6b7b2b97e9959db0d5f1c093d"
@@ -13,11 +11,11 @@ FILES_module-init-tools-depmod = "${sbindir}/depmod.26"
13FILES_module-init-tools-insmod-static = "${sbindir}/insmod.static" 11FILES_module-init-tools-insmod-static = "${sbindir}/insmod.static"
14 12
15SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/kernel/module-init-tools/module-init-tools-${PV}.tar.bz2 \ 13SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/kernel/module-init-tools/module-init-tools-${PV}.tar.bz2 \
16 file://ignore_arch_directory;apply=yes \ 14 file://ignore_arch_directory;apply=yes \
17 file://modutils_extension;apply=yes \ 15 file://modutils_extension;apply=yes \
18 file://no_man_rebuild;apply=yes \ 16 file://no_man_rebuild;apply=yes \
19 file://manpagesopt;apply=yes \ 17 file://manpagesopt;apply=yes \
20 file://module-init-tools-remove-index.patch;apply=yes " 18 file://module-init-tools-remove-index.patch;"
21S = "${WORKDIR}/module-init-tools-${PV}" 19S = "${WORKDIR}/module-init-tools-${PV}"
22 20
23EXTRA_OECONF = "--disable-manpages" 21EXTRA_OECONF = "--disable-manpages"
diff --git a/meta/packages/mtd/mtd-utils-1.3.1/add-exclusion-to-mkfs-jffs2-git-2.patch b/meta/packages/mtd/mtd-utils-1.3.1/add-exclusion-to-mkfs-jffs2-git-2.patch
new file mode 100644
index 0000000000..fb776fddce
--- /dev/null
+++ b/meta/packages/mtd/mtd-utils-1.3.1/add-exclusion-to-mkfs-jffs2-git-2.patch
@@ -0,0 +1,101 @@
1--- /tmp/mkfs.jffs2.c 2009-01-11 15:28:41.000000000 +0100
2+++ git/mkfs.jffs2.c 2009-01-11 15:59:29.000000000 +0100
3@@ -100,6 +100,11 @@
4 struct rb_node hardlink_rb;
5 };
6
7+struct ignorepath_entry {
8+ struct ignorepath_entry* next; /* Points to the next ignorepath element */
9+ char name[PATH_MAX]; /* Name of the entry */
10+};
11+static struct ignorepath_entry* ignorepath = 0;
12 struct rb_root hardlinks;
13 static int out_fd = -1;
14 static int in_fd = -1;
15@@ -408,7 +413,7 @@
16 char *hpath, *tpath;
17 struct dirent *dp, **namelist;
18 struct filesystem_entry *entry;
19-
20+ struct ignorepath_entry* element = ignorepath;
21
22 if (lstat(hostpath, &sb)) {
23 perror_msg_and_die("%s", hostpath);
24@@ -417,6 +422,15 @@
25 entry = add_host_filesystem_entry(targetpath, hostpath,
26 sb.st_uid, sb.st_gid, sb.st_mode, 0, parent);
27
28+ while ( element ) {
29+ if ( strcmp( element->name, targetpath ) == 0 ) {
30+ printf( "Note: ignoring directories below '%s'\n", targetpath );
31+ return entry;
32+ break;
33+ }
34+ element = element->next;
35+ }
36+
37 n = scandir(hostpath, &namelist, 0, alphasort);
38 if (n < 0) {
39 perror_msg_and_die("opening directory %s", hostpath);
40@@ -1453,6 +1467,7 @@
41 {"root", 1, NULL, 'r'},
42 {"pagesize", 1, NULL, 's'},
43 {"eraseblock", 1, NULL, 'e'},
44+ {"ignore", 1, NULL, 'I'},
45 {"output", 1, NULL, 'o'},
46 {"help", 0, NULL, 'h'},
47 {"verbose", 0, NULL, 'v'},
48@@ -1500,6 +1515,7 @@
49 " -L, --list-compressors Show the list of the avaiable compressors\n"
50 " -t, --test-compression Call decompress and compare with the original (for test)\n"
51 " -n, --no-cleanmarkers Don't add a cleanmarker to every eraseblock\n"
52+" -I, --ignore=PATH Ignore sub directory and file tree below PATH when recursing over the file system\n"
53 " -o, --output=FILE Output to FILE (default: stdout)\n"
54 " -l, --little-endian Create a little-endian filesystem\n"
55 " -b, --big-endian Create a big-endian filesystem\n"
56@@ -1666,6 +1682,7 @@
57 char *compr_name = NULL;
58 int compr_prior = -1;
59 int warn_page_size = 0;
60+ struct ignorepath_entry* element = ignorepath;
61
62 page_size = sysconf(_SC_PAGESIZE);
63 if (page_size < 0) /* System doesn't know so ... */
64@@ -1676,7 +1693,7 @@
65 jffs2_compressors_init();
66
67 while ((opt = getopt_long(argc, argv,
68- "D:d:r:s:o:qUPfh?vVe:lbp::nc:m:x:X:Lty:i:", long_options, &c)) >= 0)
69+ "D:d:r:s:I:o:qUPfh?vVe:lbp::nc:m:x:X:Lty:i:", long_options, &c)) >= 0)
70 {
71 switch (opt) {
72 case 'D':
73@@ -1700,6 +1717,28 @@
74 warn_page_size = 0; /* set by user, so don't need to warn */
75 break;
76
77+ case 'I':
78+ printf( "Note: Adding '%s' to ignore Path\n", optarg );
79+ element = ignorepath;
80+ if ( !ignorepath ) {
81+ ignorepath = xmalloc( sizeof( struct ignorepath_entry ) );
82+ ignorepath->next = 0;
83+ strcpy( &ignorepath->name[0], optarg );
84+ } else {
85+ while ( element->next ) element = element->next;
86+ element->next = xmalloc( sizeof( struct ignorepath_entry ) );
87+ element->next->next = 0;
88+ strcpy( &element->next->name[0], optarg );
89+ }
90+ printf( "--------- Dumping ignore path list ----------------\n" );
91+ element = ignorepath;
92+ while ( element ) {
93+ printf( " * '%s'\n", &element->name[0] );
94+ element = element->next;
95+ }
96+ printf( "---------------------------------------------------\n" );
97+ break;
98+
99 case 'o':
100 if (out_fd != -1) {
101 error_msg_and_die("output filename specified more than once");
diff --git a/meta/packages/mtd/mtd-utils-1.3.1/add-oobsize-64-and-writesize-4096-as-normal-nand.patch b/meta/packages/mtd/mtd-utils-1.3.1/add-oobsize-64-and-writesize-4096-as-normal-nand.patch
new file mode 100644
index 0000000000..64f25f79e1
--- /dev/null
+++ b/meta/packages/mtd/mtd-utils-1.3.1/add-oobsize-64-and-writesize-4096-as-normal-nand.patch
@@ -0,0 +1,24 @@
1Index: git/nanddump.c
2===================================================================
3--- git.orig/nanddump.c 2010-04-29 10:24:15.000000000 +0200
4+++ git/nanddump.c 2010-04-29 10:28:45.000000000 +0200
5@@ -210,6 +210,7 @@
6
7 /* Make sure device page sizes are valid */
8 if (!(meminfo.oobsize == 128 && meminfo.writesize == 4096) &&
9+ !(meminfo.oobsize == 64 && meminfo.writesize == 4096) &&
10 !(meminfo.oobsize == 64 && meminfo.writesize == 2048) &&
11 !(meminfo.oobsize == 32 && meminfo.writesize == 1024) &&
12 !(meminfo.oobsize == 16 && meminfo.writesize == 512) &&
13Index: git/nandwrite.c
14===================================================================
15--- git.orig/nandwrite.c 2010-04-29 09:59:30.000000000 +0200
16+++ git/nandwrite.c 2010-04-29 10:27:51.000000000 +0200
17@@ -294,6 +294,7 @@
18 if (!(meminfo.oobsize == 16 && meminfo.writesize == 512) &&
19 !(meminfo.oobsize == 8 && meminfo.writesize == 256) &&
20 !(meminfo.oobsize == 64 && meminfo.writesize == 2048) &&
21+ !(meminfo.oobsize == 64 && meminfo.writesize == 4096) &&
22 !(meminfo.oobsize == 128 && meminfo.writesize == 4096)) {
23 fprintf(stderr, "Unknown flash (not normal NAND)\n");
24 close(fd);
diff --git a/meta/packages/mtd/mtd-utils_1.3.1.bb b/meta/packages/mtd/mtd-utils_1.3.1.bb
new file mode 100644
index 0000000000..909b28b21c
--- /dev/null
+++ b/meta/packages/mtd/mtd-utils_1.3.1.bb
@@ -0,0 +1,27 @@
1DESCRIPTION = "Tools for managing memory technology devices."
2SECTION = "base"
3DEPENDS = "zlib lzo e2fsprogs util-linux"
4HOMEPAGE = "http://www.linux-mtd.infradead.org/"
5LICENSE = "GPLv2"
6
7SRC_URI = "git://git.infradead.org/mtd-utils.git;protocol=git;tag=v${PV} \
8 file://add-exclusion-to-mkfs-jffs2-git-2.patch;patch=1 \
9 file://fix-ignoreerrors-git.patch;patch=1 \
10 file://add-oobsize-64-and-writesize-4096-as-normal-nand.patch;patch=1"
11
12S = "${WORKDIR}/git/"
13
14EXTRA_OEMAKE = "'CC=${CC}' 'CFLAGS=${CFLAGS} -I${S}/include -DWITHOUT_XATTR' 'BUILDDIR=${S}'"
15
16do_install () {
17 oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} INCLUDEDIR=${includedir}
18 install -d ${D}${includedir}/mtd/
19 for f in ${S}/include/mtd/*.h; do
20 install -m 0644 $f ${D}${includedir}/mtd/
21 done
22}
23
24PARALLEL_MAKE = ""
25
26BBCLASSEXTEND = "native"
27NATIVE_INSTALL_WORKS = "1"
diff --git a/meta/packages/musicbrainz/files/autofoo.patch b/meta/packages/musicbrainz/files/autofoo.patch
deleted file mode 100644
index e323047963..0000000000
--- a/meta/packages/musicbrainz/files/autofoo.patch
+++ /dev/null
@@ -1,180 +0,0 @@
1---
2 ac_func_accept_argtypes.m4 | 94 +++++++++++++++++++++++++++++++++++++++++++++
3 configure.in | 64 ------------------------------
4 2 files changed, 96 insertions(+), 62 deletions(-)
5
6Index: libmusicbrainz-2.1.3/ac_func_accept_argtypes.m4
7===================================================================
8--- /dev/null 1970-01-01 00:00:00.000000000 +0000
9+++ libmusicbrainz-2.1.3/ac_func_accept_argtypes.m4 2007-08-01 22:08:44.000000000 +0100
10@@ -0,0 +1,94 @@
11+##### http://autoconf-archive.cryp.to/ac_func_accept_argtypes.html
12+#
13+# SYNOPSIS
14+#
15+# AC_FUNC_ACCEPT_ARGTYPES
16+#
17+# DESCRIPTION
18+#
19+# Checks the data types of the three arguments to accept(). Results
20+# are placed into the symbols ACCEPT_TYPE_ARG[123], consistent with
21+# the following example:
22+#
23+# #define ACCEPT_ARG1 int
24+# #define ACCEPT_ARG2 struct sockaddr *
25+# #define ACCEPT_ARG3 socklen_t *
26+#
27+# This macro requires AC_CHECK_HEADERS to have already verified the
28+# presence or absence of sys/types.h and sys/socket.h.
29+#
30+# NOTE: This is just a modified version of the
31+# AC_FUNC_SELECT_ARGTYPES macro. Credit for that one goes to David
32+# MacKenzie et. al.
33+#
34+# LAST MODIFICATION
35+#
36+# 2006-10-22
37+#
38+# COPYLEFT
39+#
40+# Copyright (c) 2006 Daniel Richard G. <skunk@iskunk.org>
41+#
42+# This program is free software; you can redistribute it and/or
43+# modify it under the terms of the GNU General Public License as
44+# published by the Free Software Foundation; either version 2 of the
45+# License, or (at your option) any later version.
46+#
47+# This program is distributed in the hope that it will be useful, but
48+# WITHOUT ANY WARRANTY; without even the implied warranty of
49+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
50+# General Public License for more details.
51+#
52+# You should have received a copy of the GNU General Public License
53+# along with this program; if not, write to the Free Software
54+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
55+# 02111-1307, USA.
56+#
57+# As a special exception, the respective Autoconf Macro's copyright
58+# owner gives unlimited permission to copy, distribute and modify the
59+# configure scripts that are the output of Autoconf when processing
60+# the Macro. You need not follow the terms of the GNU General Public
61+# License when using or distributing such scripts, even though
62+# portions of the text of the Macro appear in them. The GNU General
63+# Public License (GPL) does govern all other use of the material that
64+# constitutes the Autoconf Macro.
65+#
66+# This special exception to the GPL applies to versions of the
67+# Autoconf Macro released by the Autoconf Macro Archive. When you
68+# make and distribute a modified version of the Autoconf Macro, you
69+# may extend this special exception to the GPL to apply to your
70+# modified version as well.
71+
72+AC_DEFUN([AC_FUNC_ACCEPT_ARGTYPES],
73+[AC_MSG_CHECKING([types of arguments for accept()])
74+ AC_CACHE_VAL(ac_cv_func_accept_arg1,dnl
75+ [AC_CACHE_VAL(ac_cv_func_accept_arg2,dnl
76+ [AC_CACHE_VAL(ac_cv_func_accept_arg3,dnl
77+ [for ac_cv_func_accept_arg1 in 'int' 'unsigned int'; do
78+ for ac_cv_func_accept_arg2 in 'struct sockaddr' 'void'; do
79+ for ac_cv_func_accept_arg3 in 'socklen_t' 'size_t' 'unsigned int' 'int'; do
80+ AC_TRY_COMPILE(dnl
81+[#ifdef HAVE_SYS_TYPES_H
82+#include <sys/types.h>
83+#endif
84+#ifdef HAVE_SYS_SOCKET_H
85+#include <sys/socket.h>
86+#endif
87+extern accept ($ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2 *, $ac_cv_func_accept_arg3 *);],,dnl
88+ [ac_not_found=no ; break 3], ac_not_found=yes)
89+ done
90+ done
91+ done
92+ ])dnl AC_CACHE_VAL
93+ ])dnl AC_CACHE_VAL
94+ ])dnl AC_CACHE_VAL
95+ if test "$ac_not_found" = yes; then
96+ ac_cv_func_accept_arg1=int
97+ ac_cv_func_accept_arg2='struct sockaddr'
98+ ac_cv_func_accept_arg3='socklen_t'
99+ fi
100+ AC_MSG_RESULT([$ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3])
101+ AC_DEFINE_UNQUOTED(ACCEPT_ARG1,$ac_cv_func_accept_arg1, "Argument 1 to accept()")
102+ AC_DEFINE_UNQUOTED(ACCEPT_ARG2,$ac_cv_func_accept_arg2, "Argument 2 to accept()")
103+ AC_DEFINE_UNQUOTED(ACCEPT_ARG3,$ac_cv_func_accept_arg3, "Argument 3 to accept()")
104+])
105Index: libmusicbrainz-2.1.3/configure.in
106===================================================================
107--- libmusicbrainz-2.1.3.orig/configure.in 2007-08-01 21:14:59.000000000 +0100
108+++ libmusicbrainz-2.1.3/configure.in 2007-08-01 21:46:03.000000000 +0100
109@@ -76,69 +76,9 @@ AC_DEFUN([AC_PROTOTYPE],[
110 popdef([function])
111 ])
112
113-AC_DEFUN([AC_PROTOTYPE_REVERSE],[ifelse($#,0,,$#,1,[[$1]],[AC_PROTOTYPE_REVERSE(builtin([shift],$@)),[$1]])])
114-
115-AC_DEFUN([AC_PROTOTYPE_SUBST],[ifelse($2,,[$1],[AC_PROTOTYPE_SUBST(patsubst([$1],[$2],[$2[]_VAL]),builtin([shift],builtin([shift],$@)))])])
116-
117-AC_DEFUN([AC_PROTOTYPE_TAGS],[ifelse($1,,[],[$1, AC_PROTOTYPE_TAGS(builtin([shift],builtin([shift],$@)))])])
118-AC_DEFUN([AC_PROTOTYPE_DEFINES],[ifelse($1,,[],[AC_DEFINE(function[]_$1, $1_VAL) AC_PROTOTYPE_DEFINES(builtin([shift],$@))])])
119-
120-AC_DEFUN([AC_PROTOTYPE_STATUS],[ifelse($1,,[],[$1 => $1_VAL AC_PROTOTYPE_STATUS(builtin([shift],$@))])])
121-
122-AC_DEFUN([AC_PROTOTYPE_EACH],[
123- ifelse($2,, [
124- ], [
125- pushdef([$1_VAL], $2)
126- AC_PROTOTYPE_LOOP(rest)
127- popdef([$1_VAL])
128- AC_PROTOTYPE_EACH($1, builtin([shift], builtin([shift], $@)))
129- ])
130-])
131-
132-AC_DEFUN([AC_PROTOTYPE_LOOP],[
133- ifelse(builtin([eval], $# > 3), 1,
134- [
135- pushdef([rest],[builtin([shift],builtin([shift],$@))])
136- AC_PROTOTYPE_EACH($2,$1)
137- popdef([rest])
138- ], [
139- AC_MSG_CHECKING($3 AC_PROTOTYPE_STATUS(tags))
140- ac_save_CPPFLAGS="$CPPFLAGS"
141- ifelse(AC_LANG(C++),,if test "$GXX" = "yes" ; then CPPFLAGS="$CPPFLAGS -Werror" ; fi)
142- ifelse(AC_LANG(C),,if test "$GCC" = "yes" ; then CPPFLAGS="$CPPFLAGS -Werror" ; fi)
143- AC_TRY_COMPILE($2, $1, [
144- CPPFLAGS="$ac_save_CPPFLAGS"
145- AC_MSG_RESULT(ok)
146- AC_PROTOTYPE_DEFINES(tags)
147- break;
148- ], [
149- CPPFLAGS="$ac_save_CPPFLAGS"
150- AC_MSG_RESULT(not ok)
151- ])
152- ]
153- )
154-])
155-
156-AC_DEFUN([AC_PROTOTYPE_ACCEPT],[
157-AC_PROTOTYPE(accept,
158- [
159- #include <sys/types.h>
160- #include <sys/socket.h>
161- ],
162- [
163- int a = 0;
164- ARG2 * b = 0;
165- ARG3 * c = 0;
166- accept(a, b, c);
167- ],
168- ARG2, [struct sockaddr, void],
169- ARG3, [socklen_t, size_t, int, unsigned int, long unsigned int])
170-])
171-
172-AC_PROTOTYPE_ACCEPT
173+m4_include(ac_func_accept_argtypes.m4)
174+AC_FUNC_ACCEPT_ARGTYPES()
175
176-AC_DEFINE_UNQUOTED([ACCEPT_ARG2],,"Argument 2 to accept()")
177-AC_DEFINE_UNQUOTED([ACCEPT_ARG3],,"Argument 3 to accept()")
178 AC_DEFINE_UNQUOTED(PREFIX, "${prefix}", [Application install prefix])
179
180 AC_OUTPUT([
diff --git a/meta/packages/musicbrainz/files/gcc43_fix.patch b/meta/packages/musicbrainz/files/gcc43_fix.patch
deleted file mode 100644
index 520837dd06..0000000000
--- a/meta/packages/musicbrainz/files/gcc43_fix.patch
+++ /dev/null
@@ -1,63 +0,0 @@
1Index: libmusicbrainz-2.1.3/lib/c_wrapper.cpp
2===================================================================
3--- libmusicbrainz-2.1.3.orig/lib/c_wrapper.cpp 2008-07-18 15:40:55.000000000 +0100
4+++ libmusicbrainz-2.1.3/lib/c_wrapper.cpp 2008-07-18 15:42:05.000000000 +0100
5@@ -21,6 +21,7 @@
6 $Id: c_wrapper.cpp 665 2003-10-16 22:21:10Z robert $
7
8 ----------------------------------------------------------------------------*/
9+#include <cstring>
10 #include "musicbrainz.h"
11 #include "trm.h"
12 #include "mb_c.h"
13Index: libmusicbrainz-2.1.3/lib/comhttpsocket.cpp
14===================================================================
15--- libmusicbrainz-2.1.3.orig/lib/comhttpsocket.cpp 2008-07-18 15:40:55.000000000 +0100
16+++ libmusicbrainz-2.1.3/lib/comhttpsocket.cpp 2008-07-18 15:42:38.000000000 +0100
17@@ -10,6 +10,8 @@
18 #pragma warning(disable:4786)
19 #endif
20
21+#include <cstring>
22+
23 #include "comhttpsocket.h"
24 #ifdef WIN32
25 #include "../config_win32.h"
26Index: libmusicbrainz-2.1.3/lib/comsocket.cpp
27===================================================================
28--- libmusicbrainz-2.1.3.orig/lib/comsocket.cpp 2008-07-18 15:40:55.000000000 +0100
29+++ libmusicbrainz-2.1.3/lib/comsocket.cpp 2008-07-18 15:43:05.000000000 +0100
30@@ -28,6 +28,7 @@
31 programed by : Sean Ward
32 email : sward@relatable.com
33 ***************************************************************************/
34+#include <cstring>
35
36 #include "config.h"
37
38Index: libmusicbrainz-2.1.3/lib/http.cpp
39===================================================================
40--- libmusicbrainz-2.1.3.orig/lib/http.cpp 2008-07-18 15:40:55.000000000 +0100
41+++ libmusicbrainz-2.1.3/lib/http.cpp 2008-07-18 15:41:32.000000000 +0100
42@@ -23,6 +23,8 @@
43
44 ----------------------------------------------------------------------------*/
45 #include <stdio.h>
46+#include <cstring>
47+#include <cstdlib>
48 #include <sys/types.h>
49 #include <sys/stat.h>
50 #include <ctype.h>
51Index: libmusicbrainz-2.1.3/lib/sigclient.cpp
52===================================================================
53--- libmusicbrainz-2.1.3.orig/lib/sigclient.cpp 2008-07-18 15:40:55.000000000 +0100
54+++ libmusicbrainz-2.1.3/lib/sigclient.cpp 2008-07-18 15:43:27.000000000 +0100
55@@ -29,6 +29,8 @@
56 email : ijr@relatable.com
57 ***************************************************************************/
58
59+#include <cstring>
60+
61 #ifdef WIN32
62 #pragma warning(disable:4786)
63 #endif
diff --git a/meta/packages/musicbrainz/libmusicbrainz_2.1.3.bb b/meta/packages/musicbrainz/libmusicbrainz_2.1.3.bb
deleted file mode 100644
index 372dfe4ac7..0000000000
--- a/meta/packages/musicbrainz/libmusicbrainz_2.1.3.bb
+++ /dev/null
@@ -1,14 +0,0 @@
1DESCRIPTION = "The MusicBrainz client is a library which can be built into other programs. The library allows you to access the data held on the MusicBrainz server."
2HOMEPAGE = "http://musicbrainz.org"
3LICENSE = "LGPL"
4DEPENDS = "expat"
5PR = "r1"
6
7SRC_URI = "http://ftp.musicbrainz.org/pub/musicbrainz/libmusicbrainz-2.1.3.tar.gz \
8 file://gcc43_fix.patch;patch=1 \
9 file://autofoo.patch;patch=1"
10
11inherit autotools pkgconfig
12
13
14
diff --git a/meta/packages/musicbrainz/libmusicbrainz_3.0.2.bb b/meta/packages/musicbrainz/libmusicbrainz_3.0.2.bb
new file mode 100644
index 0000000000..b649620ac4
--- /dev/null
+++ b/meta/packages/musicbrainz/libmusicbrainz_3.0.2.bb
@@ -0,0 +1,12 @@
1DESCRIPTION = "The MusicBrainz client is a library which can be built into other programs. The library allows you to access the data held on the MusicBrainz server."
2HOMEPAGE = "http://musicbrainz.org"
3LICENSE = "LGPLv2.1+"
4LIC_FILES_CHKSUM = "file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24 \
5 file://include/musicbrainz3/includes.h;beginline=1;endline=21;md5=e7d3b3e6d8bb7ee278dc4040d380ebd5"
6DEPENDS = "expat neon"
7
8PR = "r0"
9
10SRC_URI = "http://ftp.musicbrainz.org/pub/musicbrainz/${PN}-${PV}.tar.gz"
11
12inherit cmake pkgconfig
diff --git a/meta/packages/neon/neon-0.28.1/pkgconfig.patch b/meta/packages/neon/neon-0.29.3/pkgconfig.patch
index 6256d9ab2b..6256d9ab2b 100644
--- a/meta/packages/neon/neon-0.28.1/pkgconfig.patch
+++ b/meta/packages/neon/neon-0.29.3/pkgconfig.patch
diff --git a/meta/packages/neon/neon_0.28.1.bb b/meta/packages/neon/neon_0.29.3.bb
index 3b2472a786..bb18893f9e 100644
--- a/meta/packages/neon/neon_0.28.1.bb
+++ b/meta/packages/neon/neon_0.29.3.bb
@@ -1,8 +1,13 @@
1DESCRIPTION = "neon is an HTTP and WebDAV client library, with a C interface." 1DESCRIPTION = "neon is an HTTP and WebDAV client library, with a C interface."
2HOMEPAGE = "http://www.webdav.org/neon/"
2SECTION = "libs" 3SECTION = "libs"
3LICENSE = "LGPL" 4LICENSE = "LGPLv2+"
5LIC_FILES_CHKSUM = "file://src/COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a \
6 file://src/ne_utils.h;beginline=1;endline=20;md5=2caca609538eddaa6f6adf120a218037"
4DEPENDS = "zlib libxml2 expat time gnutls" 7DEPENDS = "zlib libxml2 expat time gnutls"
5 8
9PR = "r0"
10
6SRC_URI = "http://www.webdav.org/${PN}/${P}.tar.gz \ 11SRC_URI = "http://www.webdav.org/${PN}/${P}.tar.gz \
7 file://pkgconfig.patch;patch=1" 12 file://pkgconfig.patch;patch=1"
8 13
diff --git a/meta/packages/netbase/netbase/busybox.patch b/meta/packages/netbase/netbase/busybox.patch
deleted file mode 100644
index 845bb421ed..0000000000
--- a/meta/packages/netbase/netbase/busybox.patch
+++ /dev/null
@@ -1,13 +0,0 @@
1--- netbase-3.18.orig/debian/networking.init.d~busybox
2+++ netbase-3.18.orig/debian/networking.init.d
3@@ -15,8 +15,8 @@
4 # spoof protection on all current and future interfaces.
5
6 if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then
7- for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
8- echo 1 > $f
9+ for f in /proc/sys/net/ipv4/conf/*; do
10+ echo 1 > $f/rp_filter
11 done
12 return 0
13 else
diff --git a/meta/packages/netbase/netbase_4.21.bb b/meta/packages/netbase/netbase_4.41.bb
index bed35adfc9..a3e2e87424 100644
--- a/meta/packages/netbase/netbase_4.21.bb
+++ b/meta/packages/netbase/netbase_4.41.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "This package provides the necessary infrastructure for basic TCP/
2HOMEPAGE = "http://packages.debian.org/netbase" 2HOMEPAGE = "http://packages.debian.org/netbase"
3SECTION = "base" 3SECTION = "base"
4LICENSE = "GPLv2" 4LICENSE = "GPLv2"
5PR = "r23" 5PR = "r0"
6 6
7inherit update-rc.d 7inherit update-rc.d
8 8
@@ -32,8 +32,6 @@ do_install () {
32 install -m 0644 etc-rpc ${D}${sysconfdir}/rpc 32 install -m 0644 etc-rpc ${D}${sysconfdir}/rpc
33 install -m 0644 etc-protocols ${D}${sysconfdir}/protocols 33 install -m 0644 etc-protocols ${D}${sysconfdir}/protocols
34 install -m 0644 etc-services ${D}${sysconfdir}/services 34 install -m 0644 etc-services ${D}${sysconfdir}/services
35 install -m 0755 update-inetd ${D}${sbindir}/
36 install -m 0644 update-inetd.8 ${D}${mandir}/man8/
37 install -m 0644 ${WORKDIR}/interfaces ${D}${sysconfdir}/network/interfaces 35 install -m 0644 ${WORKDIR}/interfaces ${D}${sysconfdir}/network/interfaces
38 36
39 # Disable network manager on machines that commonly do NFS booting 37 # Disable network manager on machines that commonly do NFS booting
diff --git a/meta/packages/networkmanager/networkmanager-applet_svn.bb b/meta/packages/networkmanager/networkmanager-applet_svn.bb
index c458294619..1f0987011f 100644
--- a/meta/packages/networkmanager/networkmanager-applet_svn.bb
+++ b/meta/packages/networkmanager/networkmanager-applet_svn.bb
@@ -1,5 +1,7 @@
1DESCRIPTION = "GTK+ applet for NetworkManager" 1DESCRIPTION = "GTK+ applet for NetworkManager"
2LICENSE = "GPL" 2HOMEPAGE = "http://projects.gnome.org/NetworkManager/"
3BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=NetworkManager&content="
4LICENSE = "GPLv2+ & LGPLv2.1+"
3DEPENDS = "networkmanager dbus-glib libglade gconf gnome-keyring" 5DEPENDS = "networkmanager dbus-glib libglade gconf gnome-keyring"
4#TODO DEPENDS libnotify 6#TODO DEPENDS libnotify
5RDEPENDS = "networkmanager dbus-wait" 7RDEPENDS = "networkmanager dbus-wait"
@@ -19,9 +21,8 @@ PV = "0.0+svnr${SRCREV}"
19S = "${WORKDIR}/trunk" 21S = "${WORKDIR}/trunk"
20 22
21FILES_${PN} += "${datadir}/nm-applet/ \ 23FILES_${PN} += "${datadir}/nm-applet/ \
22 ${datadir}/gnome-vpn-properties/ \ 24 ${datadir}/gnome-vpn-properties/ \
23 ${datadir}/gnome/autostart/ \ 25 ${datadir}/gnome/autostart/"
24 "
25 26
26do_install_append () { 27do_install_append () {
27 install -d ${D}${sysconfdir}/X11/Xsession.d/ 28 install -d ${D}${sysconfdir}/X11/Xsession.d/
diff --git a/meta/packages/networkmanager/networkmanager_svn.bb b/meta/packages/networkmanager/networkmanager_svn.bb
index 7a41676613..f60496db70 100644
--- a/meta/packages/networkmanager/networkmanager_svn.bb
+++ b/meta/packages/networkmanager/networkmanager_svn.bb
@@ -1,7 +1,8 @@
1DESCRIPTION = "NetworkManager" 1DESCRIPTION = "NetworkManager"
2HOMEPAGE = "http://projects.gnome.org/NetworkManager/"
3BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=NetworkManager&content="
2SECTION = "net/misc" 4SECTION = "net/misc"
3LICENSE = "GPL" 5LICENSE = "GPLv2+ & LGPLv2+"
4HOMEPAGE = "http://www.gnome.org"
5PRIORITY = "optional" 6PRIORITY = "optional"
6DEPENDS = "libnl dbus dbus-glib hal gconf-dbus wireless-tools ppp gnome-common polkit" 7DEPENDS = "libnl dbus dbus-glib hal gconf-dbus wireless-tools ppp gnome-common polkit"
7RDEPENDS = "hal wpa-supplicant iproute2 dhcp-client" 8RDEPENDS = "hal wpa-supplicant iproute2 dhcp-client"
@@ -10,16 +11,15 @@ PV = "0.7+svnr${SRCREV}"
10PR = "r9" 11PR = "r9"
11 12
12SRC_URI="svn://svn.gnome.org/svn/NetworkManager/;module=trunk;proto=http \ 13SRC_URI="svn://svn.gnome.org/svn/NetworkManager/;module=trunk;proto=http \
13 file://no-restarts.diff;patch=1;pnum=0 \ 14 file://no-restarts.diff;patch=1;pnum=0 \
14 file://libnlfix.patch;patch=1 \ 15 file://libnlfix.patch;patch=1 \
15 file://makefile-fix.patch;patch=1 \ 16 file://makefile-fix.patch;patch=1 \
16 file://allow-disabling.patch;patch=1 \ 17 file://allow-disabling.patch;patch=1 \
17 file://NetworkManager \ 18 file://NetworkManager \
18 file://99_networkmanager" 19 file://99_networkmanager"
19 20
20EXTRA_OECONF = " \ 21EXTRA_OECONF = "--with-distro=debian \
21 --with-distro=debian \ 22 --with-ip=/sbin/ip"
22 --with-ip=/sbin/ip"
23# TODO: will /bin/ip from busybox do? 23# TODO: will /bin/ip from busybox do?
24 24
25S = "${WORKDIR}/trunk" 25S = "${WORKDIR}/trunk"
@@ -52,8 +52,7 @@ FILES_libnmutil += "${libdir}/libnm-util.so.*"
52FILES_libnmglib += "${libdir}/libnm_glib.so.*" 52FILES_libnmglib += "${libdir}/libnm_glib.so.*"
53 53
54FILES_${PN}-dev = "${includedir}/* \ 54FILES_${PN}-dev = "${includedir}/* \
55 ${libdir}/*.so \ 55 ${libdir}/*.so \
56 ${libdir}/*.a \ 56 ${libdir}/*.a \
57 ${libdir}/pkgconfig/*.pc \ 57 ${libdir}/pkgconfig/*.pc \
58 ${datadir}/NetworkManager/gdb-cmd \ 58 ${datadir}/NetworkManager/gdb-cmd"
59 "
diff --git a/meta/packages/nfs-utils/nfs-utils_1.0.6.bb b/meta/packages/nfs-utils/nfs-utils_1.0.6.bb
index 50586b04e3..1ffb96a468 100644
--- a/meta/packages/nfs-utils/nfs-utils_1.0.6.bb
+++ b/meta/packages/nfs-utils/nfs-utils_1.0.6.bb
@@ -1,7 +1,8 @@
1DESCRIPTION = "userspace utilities for kernel nfs" 1DESCRIPTION = "userspace utilities for kernel nfs"
2PRIORITY = "optional" 2HOMEPAGE = "http://nfs.sourceforge.net/"
3SECTION = "console/network" 3SECTION = "console/network"
4LICENSE = "GPL" 4PRIORITY = "optional"
5LICENSE = "GPLv2+"
5PR = "r14" 6PR = "r14"
6 7
7SRC_URI = "${SOURCEFORGE_MIRROR}/nfs/nfs-utils-${PV}.tar.gz \ 8SRC_URI = "${SOURCEFORGE_MIRROR}/nfs/nfs-utils-${PV}.tar.gz \
diff --git a/meta/packages/pango/pango-1.22.2/doublefix.patch b/meta/packages/pango/pango-1.22.2/doublefix.patch
deleted file mode 100644
index 876f62ab39..0000000000
--- a/meta/packages/pango/pango-1.22.2/doublefix.patch
+++ /dev/null
@@ -1,17 +0,0 @@
1Fix double header inclusion for bug with recent autoconf/automake
2
3RP 4/2/10
4
5Index: pango-1.22.2/pango/Makefile.am
6===================================================================
7--- pango-1.22.2.orig/pango/Makefile.am 2010-02-04 12:05:30.000000000 +0000
8+++ pango-1.22.2/pango/Makefile.am 2010-02-04 12:07:21.000000000 +0000
9@@ -233,7 +233,7 @@
10 # ------------------- libpangoxft -------------------
11
12 if HAVE_XFT
13-pangoinclude_HEADERS += pangoxft.h pangoxft-render.h pango-ot.h
14+pangoinclude_HEADERS += pangoxft.h pangoxft-render.h
15 lib_LTLIBRARIES += libpangoxft-1.0.la
16 endif
17
diff --git a/meta/packages/pango/pango-1.26.0/no-introspect.patch b/meta/packages/pango/pango-1.26.0/no-introspect.patch
deleted file mode 100644
index b5ee86aa89..0000000000
--- a/meta/packages/pango/pango-1.26.0/no-introspect.patch
+++ /dev/null
@@ -1,13 +0,0 @@
1Index: pango-1.26.0/configure.in
2===================================================================
3--- pango-1.26.0.orig/configure.in 2009-10-12 17:46:48.000000000 +0100
4+++ pango-1.26.0/configure.in 2009-10-12 17:47:00.000000000 +0100
5@@ -494,7 +494,7 @@
6 # Checks for GObject Introspection
7 #
8 have_introspection=false
9-PKG_CHECK_MODULES(INTROSPECTION, gobject-introspection-1.0 >= 0.6.4, have_introspection=true, have_introspection=false)
10+#PKG_CHECK_MODULES(INTROSPECTION, gobject-introspection-1.0 >= 0.6.4, have_introspection=true, have_introspection=false)
11 AM_CONDITIONAL(HAVE_INTROSPECTION, $have_introspection)
12
13 G_IR_SCANNER=
diff --git a/meta/packages/pango/pango-1.26.0/no-tests.patch b/meta/packages/pango/pango-1.26.0/no-tests.patch
deleted file mode 100644
index 4a74d8c4d6..0000000000
--- a/meta/packages/pango/pango-1.26.0/no-tests.patch
+++ /dev/null
@@ -1,12 +0,0 @@
1Index: pango-1.22.2/Makefile.am
2===================================================================
3--- pango-1.22.2.orig/Makefile.am
4+++ pango-1.22.2/Makefile.am
5@@ -1,6 +1,6 @@
6 ## Process this file with automake to create Makefile.in.
7
8-SUBDIRS= pango modules pango-view examples docs tools tests
9+SUBDIRS= pango modules pango-view examples docs tools
10
11 EXTRA_DIST = \
12 autogen.sh \
diff --git a/meta/packages/pango/pango-1.22.2/no-tests.patch b/meta/packages/pango/pango-1.28.0/no-tests.patch
index 4a74d8c4d6..4a74d8c4d6 100644
--- a/meta/packages/pango/pango-1.22.2/no-tests.patch
+++ b/meta/packages/pango/pango-1.28.0/no-tests.patch
diff --git a/meta/packages/pango/pango.inc b/meta/packages/pango/pango.inc
index eee9b938ce..2e28cc4431 100644
--- a/meta/packages/pango/pango.inc
+++ b/meta/packages/pango/pango.inc
@@ -1,12 +1,10 @@
1DESCRIPTION = "The goal of the Pango project is to provide an \ 1DESCRIPTION = "The goal of the Pango project is to provide an \
2Open Source framework for the layout and rendering of \ 2Open Source framework for the layout and rendering of \
3internationalized text." 3internationalized text."
4LICENSE = "LGPL" 4HOMEPAGE = "http://www.pango.org/"
5 5BUGTRACKER = "http://bugzilla.gnome.org"
6inherit gnome
7EXTRA_AUTORECONF = ""
8
9SECTION = "x11/libs" 6SECTION = "x11/libs"
7LICENSE = "LGPL"
10 8
11DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv virtual/libx11 libxft gtk-doc-native cairo" 9DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv virtual/libx11 libxft gtk-doc-native cairo"
12 10
@@ -14,6 +12,10 @@ PACKAGES_DYNAMIC = "pango-module-*"
14 12
15RRECOMMENDS_${PN} = "pango-module-basic-x pango-module-basic-fc" 13RRECOMMENDS_${PN} = "pango-module-basic-x pango-module-basic-fc"
16 14
15inherit gnome
16
17EXTRA_AUTORECONF = ""
18
17# seems to go wrong with default cflags 19# seems to go wrong with default cflags
18FULL_OPTIMIZATION_arm = "-O2" 20FULL_OPTIMIZATION_arm = "-O2"
19 21
@@ -24,10 +26,6 @@ EXTRA_OECONF = "--disable-glibtest \
24LEAD_SONAME = "libpango-1.0*" 26LEAD_SONAME = "libpango-1.0*"
25LIBV = "1.6.0" 27LIBV = "1.6.0"
26 28
27FILES_${PN} = "/etc ${bindir}/* ${libdir}/libpango*${SOLIBS}"
28FILES_${PN}-dbg += "${libdir}/pango/${LIBV}/modules/.debug"
29FILES_${PN}-dev += "${libdir}/pango/${LIBV}/modules/*.la"
30
31do_stage () { 29do_stage () {
32 autotools_stage_all 30 autotools_stage_all
33} 31}
@@ -46,3 +44,7 @@ python populate_packages_prepend () {
46 44
47 do_split_packages(d, modules_root, '^pango-(.*)\.so$', 'pango-module-%s', 'Pango module %s', prologue + 'pango-querymodules > /etc/pango/pango.modules') 45 do_split_packages(d, modules_root, '^pango-(.*)\.so$', 'pango-module-%s', 'Pango module %s', prologue + 'pango-querymodules > /etc/pango/pango.modules')
48} 46}
47
48FILES_${PN} = "/etc ${bindir}/* ${libdir}/libpango*${SOLIBS}"
49FILES_${PN}-dbg += "${libdir}/pango/${LIBV}/modules/.debug"
50FILES_${PN}-dev += "${libdir}/pango/${LIBV}/modules/*.la"
diff --git a/meta/packages/pango/pango_1.22.2.bb b/meta/packages/pango/pango_1.22.2.bb
deleted file mode 100644
index 14153db1ac..0000000000
--- a/meta/packages/pango/pango_1.22.2.bb
+++ /dev/null
@@ -1,6 +0,0 @@
1require pango.inc
2
3SRC_URI += "file://no-tests.patch;patch=1"
4SRC_URI += "file://doublefix.patch;patch=1"
5
6PR = "r1"
diff --git a/meta/packages/pango/pango_1.26.0.bb b/meta/packages/pango/pango_1.26.0.bb
deleted file mode 100644
index 101035eb61..0000000000
--- a/meta/packages/pango/pango_1.26.0.bb
+++ /dev/null
@@ -1,6 +0,0 @@
1require pango.inc
2
3SRC_URI += "file://no-tests.patch;patch=1"
4SRC_URI += "file://no-introspect.patch;patch=1"
5
6PARALLEL_MAKE = ""
diff --git a/meta/packages/pango/pango_1.28.0.bb b/meta/packages/pango/pango_1.28.0.bb
new file mode 100644
index 0000000000..ae914ffc53
--- /dev/null
+++ b/meta/packages/pango/pango_1.28.0.bb
@@ -0,0 +1,9 @@
1require pango.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
4
5PR = "r0"
6
7SRC_URI += "file://no-tests.patch"
8
9PARALLEL_MAKE = ""
diff --git a/meta/packages/pcmanfm/pcmanfm_0.3.2.2.bb b/meta/packages/pcmanfm/pcmanfm_0.3.2.2.bb
index d45f93e837..0576c32f53 100644
--- a/meta/packages/pcmanfm/pcmanfm_0.3.2.2.bb
+++ b/meta/packages/pcmanfm/pcmanfm_0.3.2.2.bb
@@ -1,5 +1,9 @@
1LICENSE = "GPL" 1DESCRIPTION = "Fast lightweight tabbed filemanager"
2DESCRIPTION = "procfs tools" 2HOMEPAGE = "http://pcmanfm.sourceforge.net/"
3BUGTRACKER = ""
4
5LICENSE = "GPLv2 & GPLv2+ & LGPLv2.1+"
6
3SECTION = "x11" 7SECTION = "x11"
4PRIORITY = "optional" 8PRIORITY = "optional"
5DEPENDS = "gtk+ startup-notification" 9DEPENDS = "gtk+ startup-notification"
diff --git a/meta/packages/pcmciautils/pcmciautils.inc b/meta/packages/pcmciautils/pcmciautils.inc
index da247d7cba..7adef38e02 100644
--- a/meta/packages/pcmciautils/pcmciautils.inc
+++ b/meta/packages/pcmciautils/pcmciautils.inc
@@ -1,9 +1,10 @@
1DESCRIPTION = "Linux Kernel 2.6 Userland Utilities for the PCMCIA Subsystem" 1DESCRIPTION = "Linux Kernel 2.6 Userland Utilities for the PCMCIA Subsystem"
2DEPENDS = "sysfsutils flex-native"
3RDEPENDS = "udev module-init-tools"
4HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html" 2HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html"
5SECTION = "kernel/userland" 3SECTION = "kernel/userland"
6PRIORITY = "optional" 4PRIORITY = "optional"
5LICENSE = "GPLv2"
6DEPENDS = "sysfsutils flex-native"
7RDEPENDS = "udev module-init-tools"
7 8
8SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/kernel/pcmcia/pcmciautils-${PV}.tar.bz2" 9SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/kernel/pcmcia/pcmciautils-${PV}.tar.bz2"
9 10
diff --git a/meta/packages/pkgconfig/pkgconfig.inc b/meta/packages/pkgconfig/pkgconfig.inc
index c64037299e..a42ee9e1d0 100644
--- a/meta/packages/pkgconfig/pkgconfig.inc
+++ b/meta/packages/pkgconfig/pkgconfig.inc
@@ -1,18 +1,17 @@
1SECTION = "console/utils"
2DESCRIPTION = "pkg-config is a system for managing library \ 1DESCRIPTION = "pkg-config is a system for managing library \
3compile/link flags that works with automake and autoconf. \ 2compile/link flags that works with automake and autoconf. \
4It replaces the ubiquitous *-config scripts you may have \ 3It replaces the ubiquitous *-config scripts you may have \
5seen with a single tool." 4seen with a single tool."
6HOMEPAGE = "http://pkg-config.freedesktop.org/wiki/" 5HOMEPAGE = "http://pkg-config.freedesktop.org/wiki/"
7LICENSE = "GPL" 6BUGTRACKER = "http://bugs.freedesktop.org/buglist.cgi?product=pkg-config"
7SECTION = "console/utils"
8
9LICENSE = "GPLv2+"
8PR = "r8" 10PR = "r8"
9 11
10DEPENDS = "glib-2.0" 12DEPENDS = "glib-2.0"
11DEPENDS_virtclass-native = "" 13DEPENDS_virtclass-native = ""
12DEPENDS_virtclass-nativesdk = "" 14DEPENDS_virtclass-nativesdk = ""
13EXTRA_OECONF = "--with-installed-glib --disable-legacy-scripts"
14EXTRA_OECONF_virtclass-native = "--disable-legacy-scripts"
15EXTRA_OECONF_virtclass-nativesdk = "--disable-legacy-scripts"
16 15
17SRC_URI = "http://pkgconfig.freedesktop.org/releases/pkg-config-${PV}.tar.gz \ 16SRC_URI = "http://pkgconfig.freedesktop.org/releases/pkg-config-${PV}.tar.gz \
18 file://autofoo.patch \ 17 file://autofoo.patch \
@@ -24,6 +23,10 @@ S = "${WORKDIR}/pkg-config-${PV}/"
24 23
25inherit autotools 24inherit autotools
26 25
26EXTRA_OECONF = "--with-installed-glib --disable-legacy-scripts"
27EXTRA_OECONF_virtclass-native = "--disable-legacy-scripts"
28EXTRA_OECONF_virtclass-nativesdk = "--disable-legacy-scripts"
29
27acpaths = "-I ." 30acpaths = "-I ."
28do_configure_prepend () { 31do_configure_prepend () {
29 install -m 0644 ${WORKDIR}/glibconfig-sysdefs.h glib-1.2.10/ 32 install -m 0644 ${WORKDIR}/glibconfig-sysdefs.h glib-1.2.10/
diff --git a/meta/packages/popt/popt_1.14.bb b/meta/packages/popt/popt_1.16.bb
index e7e7062d59..347c0fc4a4 100644
--- a/meta/packages/popt/popt_1.14.bb
+++ b/meta/packages/popt/popt_1.16.bb
@@ -1,10 +1,14 @@
1DESCRIPTION = "The popt library for parsing command line options." 1DESCRIPTION = "The popt library for parsing command line options."
2LICENSE = "MIT" 2HOMEPAGE = "http://rpm5.org/"
3SECTION = "libs" 3SECTION = "libs"
4DEPENDS = "gettext" 4DEPENDS = "gettext"
5 5
6LICENSE = "MIT"
7LIC_FILES_CHKSUM = "file://COPYING;md5=cb0613c30af2a8249b8dcc67d3edb06d"
8PR = "r0"
9
6SRC_URI = "http://rpm5.org/files/popt/popt-${PV}.tar.gz" 10SRC_URI = "http://rpm5.org/files/popt/popt-${PV}.tar.gz"
7 11
8inherit autotools 12inherit autotools
9 13
10BBCLASSEXTEND = "native" \ No newline at end of file 14BBCLASSEXTEND = "native"
diff --git a/meta/packages/ppp/ppp-2.4.3/makefile-remove-hard-usr-reference.patch b/meta/packages/ppp/ppp-2.4.3/makefile-remove-hard-usr-reference.patch
deleted file mode 100644
index 574abfaf2c..0000000000
--- a/meta/packages/ppp/ppp-2.4.3/makefile-remove-hard-usr-reference.patch
+++ /dev/null
@@ -1,19 +0,0 @@
1--- ppp-2.4.3/pppd/Makefile.linux.orig 2006-01-17 15:09:56.000000000 +0000
2+++ ppp-2.4.3/pppd/Makefile.linux 2006-01-17 15:10:21.000000000 +0000
3@@ -117,12 +117,12 @@
4 #LIBS += -lshadow $(LIBS)
5 endif
6
7-ifneq ($(wildcard /usr/include/crypt.h),)
8+#ifneq ($(wildcard /usr/include/crypt.h),)
9 CFLAGS += -DHAVE_CRYPT_H=1
10-endif
11-ifneq ($(wildcard /usr/lib/libcrypt.*),)
12+#endif
13+#ifneq ($(wildcard /usr/lib/libcrypt.*),)
14 LIBS += -lcrypt
15-endif
16+#endif
17
18 ifdef NEEDDES
19 ifndef USE_CRYPT
diff --git a/meta/packages/ppp/ppp-2.4.3/plugins-fix-CC.patch b/meta/packages/ppp/ppp-2.4.3/plugins-fix-CC.patch
deleted file mode 100644
index ac3822ac1d..0000000000
--- a/meta/packages/ppp/ppp-2.4.3/plugins-fix-CC.patch
+++ /dev/null
@@ -1,7 +0,0 @@
1--- ppp-2.4.3/pppd/plugins/Makefile.linux~ 2004-11-13 23:57:35.000000000 -0800
2+++ ppp-2.4.3/pppd/plugins/Makefile.linux 2005-08-11 17:19:28.000000000 -0700
3@@ -1,4 +1,3 @@
4-CC = gcc
5 COPTS = -O2 -g
6 CFLAGS = $(COPTS) -I.. -I../../include -fPIC
7 LDFLAGS = -shared
diff --git a/meta/packages/ppp/ppp-2.4.3/pppoatm-makefile.patch b/meta/packages/ppp/ppp-2.4.3/pppoatm-makefile.patch
deleted file mode 100644
index 5601f593d0..0000000000
--- a/meta/packages/ppp/ppp-2.4.3/pppoatm-makefile.patch
+++ /dev/null
@@ -1,7 +0,0 @@
1--- ppp-2.4.3/pppd/plugins/pppoatm/Makefile.linux.orig 2005-10-26 20:38:50.990298750 +0100
2+++ ppp-2.4.3/pppd/plugins/pppoatm/Makefile.linux 2005-10-26 20:39:05.583210750 +0100
3@@ -1,4 +1,3 @@
4-CC = gcc
5 COPTS = -O2 -g
6 CFLAGS = $(COPTS) -I../.. -I../../../include -fPIC
7 LDFLAGS = -shared
diff --git a/meta/packages/ppp/files/08setupdns b/meta/packages/ppp/ppp-2.4.5/08setupdns
index 998219de97..998219de97 100644
--- a/meta/packages/ppp/files/08setupdns
+++ b/meta/packages/ppp/ppp-2.4.5/08setupdns
diff --git a/meta/packages/ppp/files/92removedns b/meta/packages/ppp/ppp-2.4.5/92removedns
index 2eadec6899..2eadec6899 100644
--- a/meta/packages/ppp/files/92removedns
+++ b/meta/packages/ppp/ppp-2.4.5/92removedns
diff --git a/meta/packages/ppp/ppp-2.4.3/cifdefroute.patch b/meta/packages/ppp/ppp-2.4.5/cifdefroute.patch
index d61b920c50..6473a08bc7 100644
--- a/meta/packages/ppp/ppp-2.4.3/cifdefroute.patch
+++ b/meta/packages/ppp/ppp-2.4.5/cifdefroute.patch
@@ -1,37 +1,37 @@
1This patch comes from OpenEmbedded.
2The original patch is from Debian / SuSE to implement replacedefaultroute
3Rebased it to fit ppp-2.4.5. Dongxiao Xu <dongxiao.xu@intel.com>
1 4
2# 5diff -urN ppp-2.4.5-orig/pppd/ipcp.c ppp-2.4.5/pppd/ipcp.c
3# Patch managed by http://www.holgerschurig.de/patcher.html 6--- ppp-2.4.5-orig/pppd/ipcp.c 2010-06-30 15:51:12.050166398 +0800
4# 7+++ ppp-2.4.5/pppd/ipcp.c 2010-06-30 16:40:00.478716855 +0800
5 8@@ -198,6 +198,16 @@
6--- ppp-2.4.3/pppd/ipcp.c~cifdefroute.patch
7+++ ppp-2.4.3/pppd/ipcp.c
8@@ -197,6 +197,16 @@
9 "disable defaultroute option", OPT_ALIAS | OPT_A2CLR, 9 "disable defaultroute option", OPT_ALIAS | OPT_A2CLR,
10 &ipcp_wantoptions[0].default_route }, 10 &ipcp_wantoptions[0].default_route },
11 11
12+#ifdef __linux__ 12+#ifdef __linux__
13+ { "replacedefaultroute", o_bool, 13+ { "replacedefaultroute", o_bool,
14+ &ipcp_wantoptions[0].replace_default_route, 14+ &ipcp_wantoptions[0].replace_default_route,
15+ "Replace default route", 1 15+ "Replace default route", 1
16+ }, 16+ },
17+ { "noreplacedefaultroute", o_bool, 17+ { "noreplacedefaultroute", o_bool,
18+ &ipcp_allowoptions[0].replace_default_route, 18+ &ipcp_allowoptions[0].replace_default_route,
19+ "Never replace default route", OPT_A2COPY, 19+ "Never replace default route", OPT_A2COPY,
20+ &ipcp_wantoptions[0].replace_default_route }, 20+ &ipcp_wantoptions[0].replace_default_route },
21+#endif 21+#endif
22 { "proxyarp", o_bool, &ipcp_wantoptions[0].proxy_arp, 22 { "proxyarp", o_bool, &ipcp_wantoptions[0].proxy_arp,
23 "Add proxy ARP entry", OPT_ENABLE|1, &ipcp_allowoptions[0].proxy_arp }, 23 "Add proxy ARP entry", OPT_ENABLE|1, &ipcp_allowoptions[0].proxy_arp },
24 { "noproxyarp", o_bool, &ipcp_allowoptions[0].proxy_arp, 24 { "noproxyarp", o_bool, &ipcp_allowoptions[0].proxy_arp,
25@@ -263,7 +273,7 @@ 25@@ -271,7 +281,7 @@
26 ip_active_pkt 26 ip_active_pkt
27 }; 27 };
28 28
29-static void ipcp_clear_addrs __P((int, u_int32_t, u_int32_t)); 29-static void ipcp_clear_addrs __P((int, u_int32_t, u_int32_t));
30+static void ipcp_clear_addrs __P((int, u_int32_t, u_int32_t, bool)); 30+static void ipcp_clear_addrs __P((int, u_int32_t, u_int32_t, bool));
31 static void ipcp_script __P((char *)); /* Run an up/down script */ 31 static void ipcp_script __P((char *, int)); /* Run an up/down script */
32 static void ipcp_script_done __P((void *)); 32 static void ipcp_script_done __P((void *));
33 33
34@@ -1659,7 +1669,12 @@ 34@@ -1742,7 +1752,12 @@
35 if (!sifnpmode(u, PPP_IP, NPMODE_QUEUE)) 35 if (!sifnpmode(u, PPP_IP, NPMODE_QUEUE))
36 return 0; 36 return 0;
37 if (wo->default_route) 37 if (wo->default_route)
@@ -39,22 +39,22 @@
39 if (sifdefaultroute(u, wo->ouraddr, wo->hisaddr)) 39 if (sifdefaultroute(u, wo->ouraddr, wo->hisaddr))
40+#else 40+#else
41+ if (sifdefaultroute(u, wo->ouraddr, wo->hisaddr, 41+ if (sifdefaultroute(u, wo->ouraddr, wo->hisaddr,
42+ wo->replace_default_route)) 42+ wo->replace_default_route))
43+#endif 43+#endif
44 default_route_set[u] = 1; 44 default_route_set[u] = 1;
45 if (wo->proxy_arp) 45 if (wo->proxy_arp)
46 if (sifproxyarp(u, wo->hisaddr)) 46 if (sifproxyarp(u, wo->hisaddr))
47@@ -1741,7 +1756,8 @@ 47@@ -1830,7 +1845,8 @@
48 */ 48 */
49 if (demand) { 49 if (demand) {
50 if (go->ouraddr != wo->ouraddr || ho->hisaddr != wo->hisaddr) { 50 if (go->ouraddr != wo->ouraddr || ho->hisaddr != wo->hisaddr) {
51- ipcp_clear_addrs(f->unit, wo->ouraddr, wo->hisaddr); 51- ipcp_clear_addrs(f->unit, wo->ouraddr, wo->hisaddr);
52+ ipcp_clear_addrs(f->unit, wo->ouraddr, wo->hisaddr, 52+ ipcp_clear_addrs(f->unit, wo->ouraddr, wo->hisaddr,
53+ wo->replace_default_route); 53+ wo->replace_default_route);
54 if (go->ouraddr != wo->ouraddr) { 54 if (go->ouraddr != wo->ouraddr) {
55 warn("Local IP address changed to %I", go->ouraddr); 55 warn("Local IP address changed to %I", go->ouraddr);
56 script_setenv("OLDIPLOCAL", ip_ntoa(wo->ouraddr), 0); 56 script_setenv("OLDIPLOCAL", ip_ntoa(wo->ouraddr), 0);
57@@ -1766,7 +1782,12 @@ 57@@ -1855,7 +1871,12 @@
58 58
59 /* assign a default route through the interface if required */ 59 /* assign a default route through the interface if required */
60 if (ipcp_wantoptions[f->unit].default_route) 60 if (ipcp_wantoptions[f->unit].default_route)
@@ -67,7 +67,7 @@
67 default_route_set[f->unit] = 1; 67 default_route_set[f->unit] = 1;
68 68
69 /* Make a proxy ARP entry if requested. */ 69 /* Make a proxy ARP entry if requested. */
70@@ -1813,7 +1834,12 @@ 70@@ -1905,7 +1926,12 @@
71 71
72 /* assign a default route through the interface if required */ 72 /* assign a default route through the interface if required */
73 if (ipcp_wantoptions[f->unit].default_route) 73 if (ipcp_wantoptions[f->unit].default_route)
@@ -80,7 +80,7 @@
80 default_route_set[f->unit] = 1; 80 default_route_set[f->unit] = 1;
81 81
82 /* Make a proxy ARP entry if requested. */ 82 /* Make a proxy ARP entry if requested. */
83@@ -1890,7 +1916,7 @@ 83@@ -1983,7 +2009,7 @@
84 sifnpmode(f->unit, PPP_IP, NPMODE_DROP); 84 sifnpmode(f->unit, PPP_IP, NPMODE_DROP);
85 sifdown(f->unit); 85 sifdown(f->unit);
86 ipcp_clear_addrs(f->unit, ipcp_gotoptions[f->unit].ouraddr, 86 ipcp_clear_addrs(f->unit, ipcp_gotoptions[f->unit].ouraddr,
@@ -89,7 +89,7 @@
89 } 89 }
90 90
91 /* Execute the ip-down script */ 91 /* Execute the ip-down script */
92@@ -1906,16 +1932,25 @@ 92@@ -1999,12 +2025,21 @@
93 * proxy arp entries, etc. 93 * proxy arp entries, etc.
94 */ 94 */
95 static void 95 static void
@@ -100,11 +100,7 @@
100 u_int32_t hisaddr; /* remote address */ 100 u_int32_t hisaddr; /* remote address */
101+ bool replacedefaultroute; 101+ bool replacedefaultroute;
102 { 102 {
103 if (proxy_arp_set[unit]) { 103- if (proxy_arp_set[unit]) {
104 cifproxyarp(unit, hisaddr);
105 proxy_arp_set[unit] = 0;
106 }
107- if (default_route_set[unit]) {
108+ /* If replacedefaultroute, sifdefaultroute will be called soon 104+ /* If replacedefaultroute, sifdefaultroute will be called soon
109+ * with replacedefaultroute set and that will overwrite the current 105+ * with replacedefaultroute set and that will overwrite the current
110+ * default route. This is the case only when doing demand, otherwise 106+ * default route. This is the case only when doing demand, otherwise
@@ -114,22 +110,24 @@
114+ * is one saved by an sifdefaultroute with replacedefaultroute. 110+ * is one saved by an sifdefaultroute with replacedefaultroute.
115+ */ 111+ */
116+ if (!replacedefaultroute && default_route_set[unit]) { 112+ if (!replacedefaultroute && default_route_set[unit]) {
117 cifdefaultroute(unit, ouraddr, hisaddr); 113 cifproxyarp(unit, hisaddr);
118 default_route_set[unit] = 0; 114 proxy_arp_set[unit] = 0;
119 } 115 }
120--- ppp-2.4.3/pppd/ipcp.h~cifdefroute.patch 116diff -urN ppp-2.4.5-orig/pppd/ipcp.h ppp-2.4.5/pppd/ipcp.h
121+++ ppp-2.4.3/pppd/ipcp.h 117--- ppp-2.4.5-orig/pppd/ipcp.h 2010-06-30 15:51:12.043682063 +0800
118+++ ppp-2.4.5/pppd/ipcp.h 2010-06-30 16:40:49.586203129 +0800
122@@ -70,6 +70,7 @@ 119@@ -70,6 +70,7 @@
123 bool old_addrs; /* Use old (IP-Addresses) option? */ 120 bool old_addrs; /* Use old (IP-Addresses) option? */
124 bool req_addr; /* Ask peer to send IP address? */ 121 bool req_addr; /* Ask peer to send IP address? */
125 bool default_route; /* Assign default route through interface? */ 122 bool default_route; /* Assign default route through interface? */
126+ bool replace_default_route; /* Replace default route through interface? */ 123+ bool replace_default_route; /* Replace default route through interface? */
127 bool proxy_arp; /* Make proxy ARP entry for peer? */ 124 bool proxy_arp; /* Make proxy ARP entry for peer? */
128 bool neg_vj; /* Van Jacobson Compression? */ 125 bool neg_vj; /* Van Jacobson Compression? */
129 bool old_vj; /* use old (short) form of VJ option? */ 126 bool old_vj; /* use old (short) form of VJ option? */
130--- ppp-2.4.3/pppd/pppd.8~cifdefroute.patch 127diff -urN ppp-2.4.5-orig/pppd/pppd.8 ppp-2.4.5/pppd/pppd.8
131+++ ppp-2.4.3/pppd/pppd.8 128--- ppp-2.4.5-orig/pppd/pppd.8 2010-06-30 15:51:12.043682063 +0800
132@@ -120,6 +120,13 @@ 129+++ ppp-2.4.5/pppd/pppd.8 2010-06-30 16:42:47.102413859 +0800
130@@ -121,6 +121,13 @@
133 This entry is removed when the PPP connection is broken. This option 131 This entry is removed when the PPP connection is broken. This option
134 is privileged if the \fInodefaultroute\fR option has been specified. 132 is privileged if the \fInodefaultroute\fR option has been specified.
135 .TP 133 .TP
@@ -143,7 +141,7 @@
143 .B disconnect \fIscript 141 .B disconnect \fIscript
144 Execute the command specified by \fIscript\fR, by passing it to a 142 Execute the command specified by \fIscript\fR, by passing it to a
145 shell, after 143 shell, after
146@@ -701,7 +708,12 @@ 144@@ -717,7 +724,12 @@
147 .TP 145 .TP
148 .B nodefaultroute 146 .B nodefaultroute
149 Disable the \fIdefaultroute\fR option. The system administrator who 147 Disable the \fIdefaultroute\fR option. The system administrator who
@@ -157,9 +155,10 @@
157 can do so by placing this option in the /etc/ppp/options file. 155 can do so by placing this option in the /etc/ppp/options file.
158 .TP 156 .TP
159 .B nodeflate 157 .B nodeflate
160--- ppp-2.4.3/pppd/pppd.h~cifdefroute.patch 158diff -urN ppp-2.4.5-orig/pppd/pppd.h ppp-2.4.5/pppd/pppd.h
161+++ ppp-2.4.3/pppd/pppd.h 159--- ppp-2.4.5-orig/pppd/pppd.h 2010-06-30 15:51:12.050166398 +0800
162@@ -640,7 +640,11 @@ 160+++ ppp-2.4.5/pppd/pppd.h 2010-06-30 16:43:36.514148327 +0800
161@@ -643,7 +643,11 @@
163 int cif6addr __P((int, eui64_t, eui64_t)); 162 int cif6addr __P((int, eui64_t, eui64_t));
164 /* Remove an IPv6 address from i/f */ 163 /* Remove an IPv6 address from i/f */
165 #endif 164 #endif
@@ -171,18 +170,19 @@
171 /* Create default route through i/f */ 170 /* Create default route through i/f */
172 int cifdefaultroute __P((int, u_int32_t, u_int32_t)); 171 int cifdefaultroute __P((int, u_int32_t, u_int32_t));
173 /* Delete default route through i/f */ 172 /* Delete default route through i/f */
174--- ppp-2.4.3/pppd/sys-linux.c~cifdefroute.patch 173diff -urN ppp-2.4.5-orig/pppd/sys-linux.c ppp-2.4.5/pppd/sys-linux.c
175+++ ppp-2.4.3/pppd/sys-linux.c 174--- ppp-2.4.5-orig/pppd/sys-linux.c 2010-06-30 15:51:12.050166398 +0800
175+++ ppp-2.4.5/pppd/sys-linux.c 2010-06-30 16:54:00.362716231 +0800
176@@ -206,6 +206,8 @@ 176@@ -206,6 +206,8 @@
177 177
178 static int if_is_up; /* Interface has been marked up */ 178 static int if_is_up; /* Interface has been marked up */
179 static u_int32_t default_route_gateway; /* Gateway for default route added */ 179 static int have_default_route; /* Gateway for default route added */
180+static struct rtentry old_def_rt; /* Old default route */ 180+static struct rtentry old_def_rt; /* Old default route */
181+static int default_rt_repl_rest; /* replace and restore old default rt */ 181+static int default_rt_repl_rest; /* replace and restore old default rt */
182 static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */ 182 static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */
183 static char proxy_arp_dev[16]; /* Device for proxy arp entry */ 183 static char proxy_arp_dev[16]; /* Device for proxy arp entry */
184 static u_int32_t our_old_addr; /* for detecting address changes */ 184 static u_int32_t our_old_addr; /* for detecting address changes */
185@@ -1513,6 +1515,9 @@ 185@@ -1537,6 +1539,9 @@
186 p = NULL; 186 p = NULL;
187 } 187 }
188 188
@@ -192,10 +192,24 @@
192 SIN_ADDR(rt->rt_dst) = strtoul(cols[route_dest_col], NULL, 16); 192 SIN_ADDR(rt->rt_dst) = strtoul(cols[route_dest_col], NULL, 16);
193 SIN_ADDR(rt->rt_gateway) = strtoul(cols[route_gw_col], NULL, 16); 193 SIN_ADDR(rt->rt_gateway) = strtoul(cols[route_gw_col], NULL, 16);
194 SIN_ADDR(rt->rt_genmask) = strtoul(cols[route_mask_col], NULL, 16); 194 SIN_ADDR(rt->rt_genmask) = strtoul(cols[route_mask_col], NULL, 16);
195@@ -1582,19 +1587,53 @@ 195@@ -1606,20 +1611,51 @@
196 /******************************************************************** 196 /********************************************************************
197 * 197 *
198 * sifdefaultroute - assign a default route through the address given. 198 * sifdefaultroute - assign a default route through the address given.
199- */
200-
201-int sifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway)
202-{
203- struct rtentry rt;
204-
205- if (defaultroute_exists(&rt) && strcmp(rt.rt_dev, ifname) != 0) {
206- if (rt.rt_flags & RTF_GATEWAY)
207- error("not replacing existing default route via %I",
208- SIN_ADDR(rt.rt_gateway));
209- else
210- error("not replacing existing default route through %s",
211- rt.rt_dev);
212- return 0;
199+ * 213+ *
200+ * If the global default_rt_repl_rest flag is set, then this function 214+ * If the global default_rt_repl_rest flag is set, then this function
201+ * already replaced the original system defaultroute with some other 215+ * already replaced the original system defaultroute with some other
@@ -204,18 +218,13 @@
204+ * when pppd sets first a defaultroute it it's temporary ppp0 addresses 218+ * when pppd sets first a defaultroute it it's temporary ppp0 addresses
205+ * and then changes the temporary addresses to the addresses for the real 219+ * and then changes the temporary addresses to the addresses for the real
206+ * ppp connection when it has come up. 220+ * ppp connection when it has come up.
207 */ 221+ */
208 222+
209-int sifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway)
210+int sifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway, bool replace) 223+int sifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway, bool replace)
211 { 224+{
212- struct rtentry rt;
213+ struct rtentry rt, tmp_rt; 225+ struct rtentry rt, tmp_rt;
214+ struct rtentry *del_rt = NULL; 226+ struct rtentry *del_rt = NULL;
215 227+
216- if (defaultroute_exists(&rt) && strcmp(rt.rt_dev, ifname) != 0) {
217- u_int32_t old_gateway = SIN_ADDR(rt.rt_gateway);
218+
219+ if (default_rt_repl_rest) { 228+ if (default_rt_repl_rest) {
220+ /* We have already reclaced the original defaultroute, if we 229+ /* We have already reclaced the original defaultroute, if we
221+ * are called again, we will delete the current default route 230+ * are called again, we will delete the current default route
@@ -229,11 +238,6 @@
229+ * check if we should save and replace a default route: 238+ * check if we should save and replace a default route:
230+ */ 239+ */
231+ u_int32_t old_gateway = SIN_ADDR(old_def_rt.rt_gateway); 240+ u_int32_t old_gateway = SIN_ADDR(old_def_rt.rt_gateway);
232
233- if (old_gateway != gateway)
234- error("not replacing existing default route to %s [%I]",
235- rt.rt_dev, old_gateway);
236- return 0;
237+ if (old_gateway != gateway) { 241+ if (old_gateway != gateway) {
238+ if (!replace) { 242+ if (!replace) {
239+ error("not replacing default route to %s [%I]", 243+ error("not replacing default route to %s [%I]",
@@ -253,8 +257,8 @@
253+ } 257+ }
254 } 258 }
255 259
256 memset (&rt, '\0', sizeof (rt)); 260 memset (&rt, 0, sizeof (rt));
257@@ -1616,6 +1655,12 @@ 261@@ -1638,6 +1674,12 @@
258 error("default route ioctl(SIOCADDRT): %m"); 262 error("default route ioctl(SIOCADDRT): %m");
259 return 0; 263 return 0;
260 } 264 }
@@ -265,9 +269,9 @@
265+ return 0; 269+ return 0;
266+ } 270+ }
267 271
268 default_route_gateway = gateway; 272 have_default_route = 1;
269 return 1; 273 return 1;
270@@ -1651,6 +1696,16 @@ 274@@ -1673,6 +1715,16 @@
271 return 0; 275 return 0;
272 } 276 }
273 } 277 }
diff --git a/meta/packages/ppp/ppp-2.4.3/enable-ipv6.patch b/meta/packages/ppp/ppp-2.4.5/enable-ipv6.patch
index 7b8acb2dd0..daa7f2ecc6 100644
--- a/meta/packages/ppp/ppp-2.4.3/enable-ipv6.patch
+++ b/meta/packages/ppp/ppp-2.4.5/enable-ipv6.patch
@@ -1,3 +1,5 @@
1The patch comes from OpenEmbedded
2
1--- ppp-2.4.3/pppd/Makefile.linux.orig 2005-10-28 21:07:40.396359250 +0100 3--- ppp-2.4.3/pppd/Makefile.linux.orig 2005-10-28 21:07:40.396359250 +0100
2+++ ppp-2.4.3/pppd/Makefile.linux 2005-10-28 21:07:54.217223000 +0100 4+++ ppp-2.4.3/pppd/Makefile.linux 2005-10-28 21:07:54.217223000 +0100
3@@ -62,7 +62,7 @@ 5@@ -62,7 +62,7 @@
diff --git a/meta/packages/ppp/files/init b/meta/packages/ppp/ppp-2.4.5/init
index 5b3b7abe2f..5b3b7abe2f 100755
--- a/meta/packages/ppp/files/init
+++ b/meta/packages/ppp/ppp-2.4.5/init
diff --git a/meta/packages/ppp/files/ip-down b/meta/packages/ppp/ppp-2.4.5/ip-down
index 06d35487a5..06d35487a5 100755
--- a/meta/packages/ppp/files/ip-down
+++ b/meta/packages/ppp/ppp-2.4.5/ip-down
diff --git a/meta/packages/ppp/files/ip-up b/meta/packages/ppp/ppp-2.4.5/ip-up
index fc2fae9fe0..fc2fae9fe0 100755
--- a/meta/packages/ppp/files/ip-up
+++ b/meta/packages/ppp/ppp-2.4.5/ip-up
diff --git a/meta/packages/ppp/ppp-2.4.5/makefile-remove-hard-usr-reference.patch b/meta/packages/ppp/ppp-2.4.5/makefile-remove-hard-usr-reference.patch
new file mode 100644
index 0000000000..9ba868839e
--- /dev/null
+++ b/meta/packages/ppp/ppp-2.4.5/makefile-remove-hard-usr-reference.patch
@@ -0,0 +1,19 @@
1The patch comes from OpenEmbedded.
2Rebased for ppp-2.4.5. Dongxiao Xu <dongxiao.xu@intel.com>
3
4diff -urN ppp-2.4.5-orig/pppd/Makefile.linux ppp-2.4.5/pppd/Makefile.linux
5--- ppp-2.4.5-orig/pppd/Makefile.linux 2010-06-30 15:51:12.043682063 +0800
6+++ ppp-2.4.5/pppd/Makefile.linux 2010-06-30 17:08:21.806363042 +0800
7@@ -117,10 +117,10 @@
8 #LIBS += -lshadow $(LIBS)
9 endif
10
11-ifneq ($(wildcard /usr/include/crypt.h),)
12+#ifneq ($(wildcard /usr/include/crypt.h),)
13 CFLAGS += -DHAVE_CRYPT_H=1
14 LIBS += -lcrypt
15-endif
16+#endif
17
18 ifdef NEEDDES
19 ifndef USE_CRYPT
diff --git a/meta/packages/ppp/ppp-2.4.3/makefile.patch b/meta/packages/ppp/ppp-2.4.5/makefile.patch
index 4b9cf30cdd..94af5af6de 100644
--- a/meta/packages/ppp/ppp-2.4.3/makefile.patch
+++ b/meta/packages/ppp/ppp-2.4.5/makefile.patch
@@ -1,21 +1,21 @@
1The patch comes from OpenEmbedded
2Rebased for ppp-2.4.5. Dongxiao Xu <dongxiao.xu@intel.com>
1 3
2# 4diff -ruN ppp-2.4.5-orig/chat/Makefile.linux ppp-2.4.5/chat/Makefile.linux
3# Patch managed by http://www.holgerschurig.de/patcher.html 5--- ppp-2.4.5-orig/chat/Makefile.linux 2010-06-30 15:51:12.050166398 +0800
4# 6+++ ppp-2.4.5/chat/Makefile.linux 2010-06-30 15:51:30.450118446 +0800
5
6--- ppp-2.4.3/chat/Makefile.linux~pppd.patch
7+++ ppp-2.4.3/chat/Makefile.linux
8@@ -25,7 +25,7 @@ 7@@ -25,7 +25,7 @@
9 8
10 install: chat 9 install: chat
11 mkdir -p $(BINDIR) 10 mkdir -p $(BINDIR) $(MANDIR)
12- $(INSTALL) -s -c chat $(BINDIR) 11- $(INSTALL) -s -c chat $(BINDIR)
13+ $(INSTALL) -c chat $(BINDIR) 12+ $(INSTALL) -c chat $(BINDIR)
14 $(INSTALL) -c -m 644 chat.8 $(MANDIR) 13 $(INSTALL) -c -m 644 chat.8 $(MANDIR)
15 14
16 clean: 15 clean:
17--- ppp-2.4.3/pppd/Makefile.linux~pppd.patch 16diff -ruN ppp-2.4.5-orig/pppd/Makefile.linux ppp-2.4.5/pppd/Makefile.linux
18+++ ppp-2.4.3/pppd/Makefile.linux 17--- ppp-2.4.5-orig/pppd/Makefile.linux 2010-06-30 15:51:12.043682063 +0800
18+++ ppp-2.4.5/pppd/Makefile.linux 2010-06-30 15:52:11.214170607 +0800
19@@ -99,7 +99,7 @@ 19@@ -99,7 +99,7 @@
20 CFLAGS += -DUSE_SRP -DOPENSSL -I/usr/local/ssl/include 20 CFLAGS += -DUSE_SRP -DOPENSSL -I/usr/local/ssl/include
21 LIBS += -lsrp -L/usr/local/ssl/lib -lcrypto 21 LIBS += -lsrp -L/usr/local/ssl/lib -lcrypto
@@ -25,7 +25,7 @@
25 MANPAGES += srp-entry.8 25 MANPAGES += srp-entry.8
26 EXTRACLEAN += srp-entry.o 26 EXTRACLEAN += srp-entry.o
27 NEEDDES=y 27 NEEDDES=y
28@@ -202,7 +202,7 @@ 28@@ -200,7 +200,7 @@
29 install: pppd 29 install: pppd
30 mkdir -p $(BINDIR) $(MANDIR) 30 mkdir -p $(BINDIR) $(MANDIR)
31 $(EXTRAINSTALL) 31 $(EXTRAINSTALL)
@@ -34,42 +34,9 @@
34 if chgrp pppusers $(BINDIR)/pppd 2>/dev/null; then \ 34 if chgrp pppusers $(BINDIR)/pppd 2>/dev/null; then \
35 chmod o-rx,u+s $(BINDIR)/pppd; fi 35 chmod o-rx,u+s $(BINDIR)/pppd; fi
36 $(INSTALL) -c -m 444 pppd.8 $(MANDIR) 36 $(INSTALL) -c -m 444 pppd.8 $(MANDIR)
37--- ppp-2.4.3/pppdump/Makefile.linux~pppd.patch 37diff -ruN ppp-2.4.5-orig/pppd/plugins/radius/Makefile.linux ppp-2.4.5/pppd/plugins/radius/Makefile.linux
38+++ ppp-2.4.3/pppdump/Makefile.linux 38--- ppp-2.4.5-orig/pppd/plugins/radius/Makefile.linux 2010-06-30 15:51:12.047676187 +0800
39@@ -17,5 +17,5 @@ 39+++ ppp-2.4.5/pppd/plugins/radius/Makefile.linux 2010-06-30 15:53:47.750182267 +0800
40
41 install:
42 mkdir -p $(BINDIR) $(MANDIR)
43- $(INSTALL) -s -c pppdump $(BINDIR)
44+ $(INSTALL) -c pppdump $(BINDIR)
45 $(INSTALL) -c -m 444 pppdump.8 $(MANDIR)
46--- ppp-2.4.3/pppstats/Makefile.linux~pppd.patch
47+++ ppp-2.4.3/pppstats/Makefile.linux
48@@ -22,7 +22,7 @@
49
50 install: pppstats
51 -mkdir -p $(MANDIR)
52- $(INSTALL) -s -c pppstats $(BINDIR)
53+ $(INSTALL) -c pppstats $(BINDIR)
54 $(INSTALL) -c -m 444 pppstats.8 $(MANDIR)
55
56 pppstats: $(PPPSTATSRCS)
57--- ppp-2.4.3/pppd/plugins/rp-pppoe/Makefile.linux~pppd.patch
58+++ ppp-2.4.3/pppd/plugins/rp-pppoe/Makefile.linux
59@@ -39,9 +39,9 @@
60
61 install: all
62 $(INSTALL) -d -m 755 $(LIBDIR)
63- $(INSTALL) -s -c -m 4550 rp-pppoe.so $(LIBDIR)
64+ $(INSTALL) -c -m 4550 rp-pppoe.so $(LIBDIR)
65 $(INSTALL) -d -m 755 $(BINDIR)
66- $(INSTALL) -s -c -m 555 pppoe-discovery $(BINDIR)
67+ $(INSTALL) -c -m 555 pppoe-discovery $(BINDIR)
68
69 clean:
70 rm -f *.o *.so
71--- ppp-2.4.3/pppd/plugins/radius/Makefile.linux~pppd.patch
72+++ ppp-2.4.3/pppd/plugins/radius/Makefile.linux
73@@ -36,11 +36,11 @@ 40@@ -36,11 +36,11 @@
74 41
75 install: all 42 install: all
@@ -87,3 +54,40 @@
87 54
88 radius.so: radius.o libradiusclient.a 55 radius.so: radius.o libradiusclient.a
89 $(CC) -o radius.so -shared radius.o libradiusclient.a 56 $(CC) -o radius.so -shared radius.o libradiusclient.a
57diff -ruN ppp-2.4.5-orig/pppd/plugins/rp-pppoe/Makefile.linux ppp-2.4.5/pppd/plugins/rp-pppoe/Makefile.linux
58--- ppp-2.4.5-orig/pppd/plugins/rp-pppoe/Makefile.linux 2010-06-30 15:51:12.047676187 +0800
59+++ ppp-2.4.5/pppd/plugins/rp-pppoe/Makefile.linux 2010-06-30 15:53:15.454486877 +0800
60@@ -43,9 +43,9 @@
61
62 install: all
63 $(INSTALL) -d -m 755 $(LIBDIR)
64- $(INSTALL) -s -c -m 4550 rp-pppoe.so $(LIBDIR)
65+ $(INSTALL) -c -m 4550 rp-pppoe.so $(LIBDIR)
66 $(INSTALL) -d -m 755 $(BINDIR)
67- $(INSTALL) -s -c -m 555 pppoe-discovery $(BINDIR)
68+ $(INSTALL) -c -m 555 pppoe-discovery $(BINDIR)
69
70 clean:
71 rm -f *.o *.so pppoe-discovery
72diff -ruN ppp-2.4.5-orig/pppdump/Makefile.linux ppp-2.4.5/pppdump/Makefile.linux
73--- ppp-2.4.5-orig/pppdump/Makefile.linux 2010-06-30 15:51:12.058183383 +0800
74+++ ppp-2.4.5/pppdump/Makefile.linux 2010-06-30 15:52:25.762183537 +0800
75@@ -17,5 +17,5 @@
76
77 install:
78 mkdir -p $(BINDIR) $(MANDIR)
79- $(INSTALL) -s -c pppdump $(BINDIR)
80+ $(INSTALL) -c pppdump $(BINDIR)
81 $(INSTALL) -c -m 444 pppdump.8 $(MANDIR)
82diff -ruN ppp-2.4.5-orig/pppstats/Makefile.linux ppp-2.4.5/pppstats/Makefile.linux
83--- ppp-2.4.5-orig/pppstats/Makefile.linux 2010-06-30 15:51:12.058183383 +0800
84+++ ppp-2.4.5/pppstats/Makefile.linux 2010-06-30 15:52:42.486341081 +0800
85@@ -22,7 +22,7 @@
86
87 install: pppstats
88 -mkdir -p $(MANDIR)
89- $(INSTALL) -s -c pppstats $(BINDIR)
90+ $(INSTALL) -c pppstats $(BINDIR)
91 $(INSTALL) -c -m 444 pppstats.8 $(MANDIR)
92
93 pppstats: $(PPPSTATSRCS)
diff --git a/meta/packages/ppp/files/poff b/meta/packages/ppp/ppp-2.4.5/poff
index 0521a9406a..0521a9406a 100644
--- a/meta/packages/ppp/files/poff
+++ b/meta/packages/ppp/ppp-2.4.5/poff
diff --git a/meta/packages/ppp/files/pon b/meta/packages/ppp/ppp-2.4.5/pon
index 91c059501a..91c059501a 100644
--- a/meta/packages/ppp/files/pon
+++ b/meta/packages/ppp/ppp-2.4.5/pon
diff --git a/meta/packages/ppp/ppp-2.4.3/pppd-resolv-varrun.patch b/meta/packages/ppp/ppp-2.4.5/pppd-resolv-varrun.patch
index c22d8cc085..c4e61fdd28 100644
--- a/meta/packages/ppp/ppp-2.4.3/pppd-resolv-varrun.patch
+++ b/meta/packages/ppp/ppp-2.4.5/pppd-resolv-varrun.patch
@@ -1,10 +1,9 @@
1The patch comes from OpenEmbedded
2Rebased for ppp-2.4.5. Dongxiao Xu <dongxiao.xu@intel.com>
1 3
2# 4diff -ruN ppp-2.4.5-orig/pppd/ipcp.c ppp-2.4.5/pppd/ipcp.c
3# Patch managed by http://www.holgerschurig.de/patcher.html 5--- ppp-2.4.5-orig/pppd/ipcp.c 2010-06-30 15:51:12.050166398 +0800
4# 6+++ ppp-2.4.5/pppd/ipcp.c 2010-06-30 17:02:33.930393283 +0800
5
6--- ppp-2.4.3/pppd/ipcp.c~pppd-resolv-varrun.patch
7+++ ppp-2.4.3/pppd/ipcp.c
8@@ -55,6 +55,8 @@ 7@@ -55,6 +55,8 @@
9 #include <sys/socket.h> 8 #include <sys/socket.h>
10 #include <netinet/in.h> 9 #include <netinet/in.h>
@@ -14,7 +13,7 @@
14 13
15 #include "pppd.h" 14 #include "pppd.h"
16 #include "fsm.h" 15 #include "fsm.h"
17@@ -2032,6 +2034,14 @@ 16@@ -2095,6 +2097,14 @@
18 u_int32_t peerdns1, peerdns2; 17 u_int32_t peerdns1, peerdns2;
19 { 18 {
20 FILE *f; 19 FILE *f;
@@ -29,9 +28,10 @@
29 28
30 f = fopen(_PATH_RESOLV, "w"); 29 f = fopen(_PATH_RESOLV, "w");
31 if (f == NULL) { 30 if (f == NULL) {
32--- ppp-2.4.3/pppd/pathnames.h~pppd-resolv-varrun.patch 31diff -ruN ppp-2.4.5-orig/pppd/pathnames.h ppp-2.4.5/pppd/pathnames.h
33+++ ppp-2.4.3/pppd/pathnames.h 32--- ppp-2.4.5-orig/pppd/pathnames.h 2010-06-30 15:51:12.043682063 +0800
34@@ -29,7 +29,8 @@ 33+++ ppp-2.4.5/pppd/pathnames.h 2010-06-30 17:03:20.594371055 +0800
34@@ -30,7 +30,8 @@
35 #define _PATH_TTYOPT _ROOT_PATH "/etc/ppp/options." 35 #define _PATH_TTYOPT _ROOT_PATH "/etc/ppp/options."
36 #define _PATH_CONNERRS _ROOT_PATH "/etc/ppp/connect-errors" 36 #define _PATH_CONNERRS _ROOT_PATH "/etc/ppp/connect-errors"
37 #define _PATH_PEERFILES _ROOT_PATH "/etc/ppp/peers/" 37 #define _PATH_PEERFILES _ROOT_PATH "/etc/ppp/peers/"
diff --git a/meta/packages/ppp/ppp_2.4.3.bb b/meta/packages/ppp/ppp_2.4.5.bb
index 092bec18c4..e9caf3d13e 100644
--- a/meta/packages/ppp/ppp_2.4.3.bb
+++ b/meta/packages/ppp/ppp_2.4.5.bb
@@ -1,25 +1,29 @@
1DESCRIPTION = "ppp (Paul's PPP Package) is an open source package which implements \
2the Point-to-Point Protocol (PPP) on Linux and Solaris systems."
1SECTION = "console/network" 3SECTION = "console/network"
2DESCRIPTION = "Point-to-Point Protocol (PPP) daemon"
3HOMEPAGE = "http://samba.org/ppp/" 4HOMEPAGE = "http://samba.org/ppp/"
5BUGTRACKER = "http://ppp.samba.org/cgi-bin/ppp-bugs"
4DEPENDS = "libpcap" 6DEPENDS = "libpcap"
5LICENSE = "BSD GPLv2" 7LICENSE = "BSD & GPLv2+ & LGPLv2+ & public domain"
6PR = "r3" 8LIC_FILES_CHKSUM = "file://pppd/ccp.c;beginline=1;endline=29;md5=e2c43fe6e81ff77d87dc9c290a424dea \
9 file://pppd/plugins/passprompt.c;beginline=1;endline=10;md5=3bcbcdbf0e369c9a3e0b8c8275b065d8 \
10 file://pppd/tdb.c;beginline=1;endline=27;md5=4ca3a9991b011038d085d6675ae7c4e6 \
11 file://chat/chat.c;beginline=1;endline=15;md5=0d374b8545ee5c62d7aff1acbd38add2"
12PR = "r0"
7 13
8SRC_URI = "http://ppp.samba.org/ftp/ppp/ppp-${PV}.tar.gz \ 14SRC_URI = "http://ppp.samba.org/ftp/ppp/ppp-${PV}.tar.gz \
9 file://makefile.patch;patch=1 \ 15 file://makefile.patch \
10 file://cifdefroute.patch;patch=1 \ 16 file://cifdefroute.patch \
11 file://pppd-resolv-varrun.patch;patch=1 \ 17 file://pppd-resolv-varrun.patch \
12 file://plugins-fix-CC.patch;patch=1 \ 18 file://enable-ipv6.patch \
13 file://pppoatm-makefile.patch;patch=1 \ 19 file://makefile-remove-hard-usr-reference.patch \
14 file://enable-ipv6.patch;patch=1 \ 20 file://pon \
15 file://makefile-remove-hard-usr-reference.patch;patch=1 \ 21 file://poff \
16 file://pon \ 22 file://init \
17 file://poff \ 23 file://ip-up \
18 file://init \ 24 file://ip-down \
19 file://ip-up \ 25 file://08setupdns \
20 file://ip-down \ 26 file://92removedns"
21 file://08setupdns \
22 file://92removedns"
23 27
24SRC_URI_append_nylon = " file://ppp-tdbread.patch;patch=1" 28SRC_URI_append_nylon = " file://ppp-tdbread.patch;patch=1"
25 29
@@ -33,7 +37,7 @@ do_install_append () {
33 mkdir -p ${D}${bindir}/ ${D}${sysconfdir}/init.d 37 mkdir -p ${D}${bindir}/ ${D}${sysconfdir}/init.d
34 mkdir -p ${D}${sysconfdir}/ppp/ip-up.d/ 38 mkdir -p ${D}${sysconfdir}/ppp/ip-up.d/
35 mkdir -p ${D}${sysconfdir}/ppp/ip-down.d/ 39 mkdir -p ${D}${sysconfdir}/ppp/ip-down.d/
36 install -m 0755 ${WORKDIR}/pon ${D}${bindir}/pon 40 install -m 0755 ${WORKDIR}/pon ${D}${bindir}/pon
37 install -m 0755 ${WORKDIR}/poff ${D}${bindir}/poff 41 install -m 0755 ${WORKDIR}/poff ${D}${bindir}/poff
38 install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/ppp 42 install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/ppp
39 install -m 0755 ${WORKDIR}/ip-up ${D}${sysconfdir}/ppp/ 43 install -m 0755 ${WORKDIR}/ip-up ${D}${sysconfdir}/ppp/
diff --git a/meta/packages/prelink/prelink-20061027/arm_eabi.patch b/meta/packages/prelink/prelink-20061027/arm_eabi.patch
deleted file mode 100644
index 768d82e74c..0000000000
--- a/meta/packages/prelink/prelink-20061027/arm_eabi.patch
+++ /dev/null
@@ -1,300 +0,0 @@
1---
2 src/arch-arm.c | 177 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
3 1 file changed, 172 insertions(+), 5 deletions(-)
4
5Index: prelink-0.0.20061027/src/arch-arm.c
6===================================================================
7--- prelink-0.0.20061027.orig/src/arch-arm.c 2006-08-13 16:18:17.000000000 +0100
8+++ prelink-0.0.20061027/src/arch-arm.c 2008-06-12 10:46:12.000000000 +0100
9@@ -145,6 +145,27 @@
10 error (0, 0, "%s: R_ARM_PC24 relocs with non-zero addend should not be present in prelinked REL sections",
11 dso->filename);
12 return 1;
13+ /* DTPMOD32 is impossible to predict unless prelink sets the rules.
14+ DTPOFF32/TPOFF32 are converted REL->RELA. */
15+ case R_ARM_TLS_DTPOFF32:
16+ error (0, 0, "%s: R_ARM_TLS_DTPOFF32 relocs should not be present in prelinked REL section",
17+ dso->filename);
18+ return 1;
19+ case R_ARM_TLS_DTPMOD32:
20+ if (dso->ehdr.e_type == ET_EXEC)
21+ {
22+ error (0, 0, "%s: R_ARM_TLS_DTPMOD32 reloc in executable?",
23+ dso->filename);
24+ return 1;
25+ }
26+ break;
27+ case R_ARM_TLS_TPOFF32:
28+ if (dso->ehdr.e_type == ET_EXEC) {
29+ error (0, 0, "%s: R_ARM_TLS_TPOFF32 relocs should not be present in prelinked ET_EXEC REL sections",
30+ dso->filename);
31+ return 1;
32+ }
33+ break;
34 case R_ARM_COPY:
35 if (dso->ehdr.e_type == ET_EXEC)
36 /* COPY relocs are handled specially in generic code. */
37@@ -195,6 +216,24 @@
38 write_le32 (dso, rela->r_offset,
39 (read_ule32 (dso, rela->r_offset) & 0xff000000) | val);
40 break;
41+ case R_ARM_TLS_DTPOFF32:
42+ write_le32 (dso, rela->r_offset, value + rela->r_addend);
43+ break;
44+ /* DTPMOD32 and TPOFF32 are impossible to predict unless prelink
45+ sets the rules. */
46+ case R_ARM_TLS_DTPMOD32:
47+ if (dso->ehdr.e_type == ET_EXEC)
48+ {
49+ error (0, 0, "%s: R_ARM_TLS_DTPMOD32 reloc in executable?",
50+ dso->filename);
51+ return 1;
52+ }
53+ break;
54+ case R_ARM_TLS_TPOFF32:
55+ if (dso->ehdr.e_type == ET_EXEC && info->resolvetls)
56+ write_le32 (dso, rela->r_offset,
57+ value + rela->r_addend + info->resolvetls->offset);
58+ break;
59 case R_ARM_COPY:
60 if (dso->ehdr.e_type == ET_EXEC)
61 /* COPY relocs are handled specially in generic code. */
62@@ -315,6 +354,7 @@
63 {
64 GElf_Addr value;
65 struct prelink_conflict *conflict;
66+ struct prelink_tls *tls;
67 GElf_Rela *ret;
68
69 if (GELF_R_TYPE (rel->r_info) == R_ARM_RELATIVE
70@@ -324,8 +364,32 @@
71 conflict = prelink_conflict (info, GELF_R_SYM (rel->r_info),
72 GELF_R_TYPE (rel->r_info));
73 if (conflict == NULL)
74- return 0;
75- value = conflict_lookup_value (conflict);
76+ {
77+ if (info->curtls == NULL)
78+ return 0;
79+ switch (GELF_R_TYPE (rel->r_info))
80+ {
81+ /* Even local DTPMOD and {D,}TPOFF relocs need conflicts. */
82+ case R_ARM_TLS_DTPMOD32:
83+ case R_ARM_TLS_DTPOFF32:
84+ case R_ARM_TLS_TPOFF32:
85+ break;
86+ default:
87+ return 0;
88+ }
89+ value = 0;
90+ }
91+ else
92+ {
93+ /* DTPOFF32 wants to see only real conflicts, not lookups
94+ with reloc_class RTYPE_CLASS_TLS. */
95+ if (GELF_R_TYPE (rel->r_info) == R_ARM_TLS_DTPOFF32
96+ && conflict->lookup.tls == conflict->conflict.tls
97+ && conflict->lookupval == conflict->conflictval)
98+ return 0;
99+
100+ value = conflict_lookup_value (conflict);
101+ }
102 ret = prelink_conflict_add_rela (info);
103 if (ret == NULL)
104 return 1;
105@@ -342,6 +406,33 @@
106 error (0, 0, "%s: R_ARM_%s relocs should not be present in prelinked REL sections",
107 dso->filename, GELF_R_TYPE (rel->r_info) == R_ARM_ABS32 ? "ABS32" : "PC24");
108 return 1;
109+ case R_ARM_TLS_DTPMOD32:
110+ case R_ARM_TLS_DTPOFF32:
111+ case R_ARM_TLS_TPOFF32:
112+ if (conflict != NULL
113+ && (conflict->reloc_class != RTYPE_CLASS_TLS
114+ || conflict->lookup.tls == NULL))
115+ {
116+ error (0, 0, "%s: R_ARM_TLS not resolving to STT_TLS symbol",
117+ dso->filename);
118+ return 1;
119+ }
120+ tls = conflict ? conflict->lookup.tls : info->curtls;
121+ ret->r_info = GELF_R_INFO (0, R_ARM_ABS32);
122+ switch (GELF_R_TYPE (rel->r_info))
123+ {
124+ case R_ARM_TLS_DTPMOD32:
125+ ret->r_addend = tls->modid;
126+ break;
127+ case R_ARM_TLS_DTPOFF32:
128+ ret->r_addend = value + read_ule32 (dso, rel->r_offset);
129+ break;
130+ case R_ARM_TLS_TPOFF32:
131+ ret->r_addend = value + read_ule32 (dso, rel->r_offset)
132+ + tls->offset;
133+ break;
134+ }
135+ break;
136 case R_ARM_COPY:
137 error (0, 0, "R_ARM_COPY should not be present in shared libraries");
138 return 1;
139@@ -359,6 +450,7 @@
140 {
141 GElf_Addr value;
142 struct prelink_conflict *conflict;
143+ struct prelink_tls *tls;
144 GElf_Rela *ret;
145 Elf32_Sword val;
146
147@@ -369,8 +461,32 @@
148 conflict = prelink_conflict (info, GELF_R_SYM (rela->r_info),
149 GELF_R_TYPE (rela->r_info));
150 if (conflict == NULL)
151- return 0;
152- value = conflict_lookup_value (conflict);
153+ {
154+ if (info->curtls == NULL)
155+ return 0;
156+ switch (GELF_R_TYPE (rela->r_info))
157+ {
158+ /* Even local DTPMOD and {D,}TPOFF relocs need conflicts. */
159+ case R_ARM_TLS_DTPMOD32:
160+ case R_ARM_TLS_DTPOFF32:
161+ case R_ARM_TLS_TPOFF32:
162+ break;
163+ default:
164+ return 0;
165+ }
166+ value = 0;
167+ }
168+ else
169+ {
170+ /* DTPOFF32 wants to see only real conflicts, not lookups
171+ with reloc_class RTYPE_CLASS_TLS. */
172+ if (GELF_R_TYPE (rela->r_info) == R_ARM_TLS_DTPOFF32
173+ && conflict->lookup.tls == conflict->conflict.tls
174+ && conflict->lookupval == conflict->conflictval)
175+ return 0;
176+
177+ value = conflict_lookup_value (conflict);
178+ }
179 ret = prelink_conflict_add_rela (info);
180 if (ret == NULL)
181 return 1;
182@@ -398,6 +514,32 @@
183 case R_ARM_COPY:
184 error (0, 0, "R_ARM_COPY should not be present in shared libraries");
185 return 1;
186+ case R_ARM_TLS_DTPMOD32:
187+ case R_ARM_TLS_DTPOFF32:
188+ case R_ARM_TLS_TPOFF32:
189+ if (conflict != NULL
190+ && (conflict->reloc_class != RTYPE_CLASS_TLS
191+ || conflict->lookup.tls == NULL))
192+ {
193+ error (0, 0, "%s: R_ARM_TLS not resolving to STT_TLS symbol",
194+ dso->filename);
195+ return 1;
196+ }
197+ tls = conflict ? conflict->lookup.tls : info->curtls;
198+ ret->r_info = GELF_R_INFO (0, R_ARM_ABS32);
199+ switch (GELF_R_TYPE (rela->r_info))
200+ {
201+ case R_ARM_TLS_DTPMOD32:
202+ ret->r_addend = tls->modid;
203+ break;
204+ case R_ARM_TLS_DTPOFF32:
205+ ret->r_addend = value + rela->r_addend;
206+ break;
207+ case R_ARM_TLS_TPOFF32:
208+ ret->r_addend = value + rela->r_addend + tls->offset;
209+ break;
210+ }
211+ break;
212 default:
213 error (0, 0, "%s: Unknown arm relocation type %d", dso->filename,
214 (int) GELF_R_TYPE (rela->r_info));
215@@ -418,6 +560,8 @@
216 abort ();
217 case R_ARM_RELATIVE:
218 case R_ARM_ABS32:
219+ case R_ARM_TLS_TPOFF32:
220+ case R_ARM_TLS_DTPOFF32:
221 rela->r_addend = (Elf32_Sword) read_ule32 (dso, rel->r_offset);
222 break;
223 case R_ARM_PC24:
224@@ -426,6 +570,7 @@
225 break;
226 case R_ARM_COPY:
227 case R_ARM_GLOB_DAT:
228+ case R_ARM_TLS_DTPMOD32:
229 rela->r_addend = 0;
230 break;
231 }
232@@ -445,6 +590,8 @@
233 abort ();
234 case R_ARM_RELATIVE:
235 case R_ARM_ABS32:
236+ case R_ARM_TLS_TPOFF32:
237+ case R_ARM_TLS_DTPOFF32:
238 write_le32 (dso, rela->r_offset, rela->r_addend);
239 break;
240 case R_ARM_PC24:
241@@ -453,6 +600,7 @@
242 | ((rela->r_addend >> 2) & 0xffffff));
243 break;
244 case R_ARM_GLOB_DAT:
245+ case R_ARM_TLS_DTPMOD32:
246 write_le32 (dso, rela->r_offset, 0);
247 break;
248 }
249@@ -488,6 +636,18 @@
250 /* FALLTHROUGH */
251 case R_ARM_PC24:
252 return 1;
253+ case R_ARM_TLS_DTPOFF32:
254+ /* We can prelink these fields, and the addend is relative
255+ to the symbol value. A RELA entry is needed. */
256+ return 1;
257+ case R_ARM_TLS_TPOFF32:
258+ /* In shared libraries TPOFF32 is changed always into
259+ conflicts, for executables we need to preserve
260+ original addend. */
261+ if (dso->ehdr.e_type == ET_EXEC) {
262+ return 1;
263+ }
264+ break;
265 }
266 }
267 }
268@@ -612,6 +772,12 @@
269 return 0;
270 error (0, 0, "%s: R_ARM_COPY reloc in shared library?", dso->filename);
271 return 1;
272+ case R_ARM_TLS_DTPMOD32:
273+ write_le32 (dso, rel->r_offset, 0);
274+ break;
275+ case R_ARM_TLS_DTPOFF32:
276+ case R_ARM_TLS_TPOFF32:
277+ break;
278 default:
279 error (0, 0, "%s: Unknown arm relocation type %d", dso->filename,
280 (int) GELF_R_TYPE (rel->r_info));
281@@ -634,6 +800,10 @@
282 {
283 case R_ARM_COPY: return RTYPE_CLASS_COPY;
284 case R_ARM_JUMP_SLOT: return RTYPE_CLASS_PLT;
285+ case R_ARM_TLS_DTPMOD32:
286+ case R_ARM_TLS_DTPOFF32:
287+ case R_ARM_TLS_TPOFF32:
288+ return RTYPE_CLASS_TLS;
289 default: return RTYPE_CLASS_VALID;
290 }
291 }
292@@ -646,7 +816,7 @@
293 .R_JMP_SLOT = R_ARM_JUMP_SLOT,
294 .R_COPY = R_ARM_COPY,
295 .R_RELATIVE = R_ARM_RELATIVE,
296- .dynamic_linker = "/lib/ld-linux.so.2",
297+ .dynamic_linker = "/lib/ld-linux.so.3",
298 .adjust_dyn = arm_adjust_dyn,
299 .adjust_rel = arm_adjust_rel,
300 .adjust_rela = arm_adjust_rela,
diff --git a/meta/packages/prelink/prelink-20061027/prelink.conf b/meta/packages/prelink/prelink/prelink.conf
index c5a4f4adc3..c5a4f4adc3 100644
--- a/meta/packages/prelink/prelink-20061027/prelink.conf
+++ b/meta/packages/prelink/prelink/prelink.conf
diff --git a/meta/packages/prelink/prelink-20061027/prelink.cron.daily b/meta/packages/prelink/prelink/prelink.cron.daily
index 0b3c07322c..0b3c07322c 100644
--- a/meta/packages/prelink/prelink-20061027/prelink.cron.daily
+++ b/meta/packages/prelink/prelink/prelink.cron.daily
diff --git a/meta/packages/prelink/prelink-20061027/prelink.default b/meta/packages/prelink/prelink/prelink.default
index 901258ed2a..901258ed2a 100644
--- a/meta/packages/prelink/prelink-20061027/prelink.default
+++ b/meta/packages/prelink/prelink/prelink.default
diff --git a/meta/packages/prelink/prelink_20061027.bb b/meta/packages/prelink/prelink_20100106.bb
index 21c538d5c2..a84aaa267a 100644
--- a/meta/packages/prelink/prelink_20061027.bb
+++ b/meta/packages/prelink/prelink_20100106.bb
@@ -4,18 +4,17 @@ DESCRIPTION = " The prelink package contains a utility which modifies ELF shared
4and executables, so that far fewer relocations need to be resolved at \ 4and executables, so that far fewer relocations need to be resolved at \
5runtime and thus programs come up faster." 5runtime and thus programs come up faster."
6LICENSE = "GPL" 6LICENSE = "GPL"
7PR = "r9" 7PR = "r0"
8 8
9SRC_URI = "${DEBIAN_MIRROR}/main/p/prelink/prelink_0.0.${PV}.orig.tar.gz \ 9SRC_URI = "http://people.redhat.com/jakub/prelink/prelink-${PV}.tar.bz2 \
10 file://prelink.conf \ 10 file://prelink.conf \
11 file://prelink.cron.daily \ 11 file://prelink.cron.daily \
12 file://prelink.default" 12 file://prelink.default"
13 13
14TARGET_OS_ORIG := "${TARGET_OS}" 14TARGET_OS_ORIG := "${TARGET_OS}"
15OVERRIDES_append = ":${TARGET_OS_ORIG}" 15OVERRIDES_append = ":${TARGET_OS_ORIG}"
16SRC_URI_append_linux-gnueabi = " file://arm_eabi.patch;patch=1"
17 16
18S = "${WORKDIR}/prelink-0.0.${PV}" 17S = "${WORKDIR}/prelink"
19 18
20EXTRA_OECONF = "--disable-64bit" 19EXTRA_OECONF = "--disable-64bit"
21 20
diff --git a/meta/packages/python/python-pycairo_1.4.0.bb b/meta/packages/python/python-pycairo_1.8.8.bb
index cd00c61c14..30261f9814 100644
--- a/meta/packages/python/python-pycairo_1.4.0.bb
+++ b/meta/packages/python/python-pycairo_1.8.8.bb
@@ -1,9 +1,12 @@
1DESCRIPTION = "Python Bindings for the Cairo canvas library" 1DESCRIPTION = "Python Bindings for the Cairo canvas library"
2SECTION = "python-devel"
3HOMEPAGE = "http://cairographics.org/pycairo" 2HOMEPAGE = "http://cairographics.org/pycairo"
4LICENSE = "LGPL MPL" 3BUGTRACKER = "http://bugs.freedesktop.org"
4SECTION = "python-devel"
5LICENSE = "LGPLv2.1 & MPLv1.1"
6LIC_FILES_CHKSUM = "file://COPYING;md5=f2e071ab72978431b294a0d696327421"
7# cairo >= 1.8.8
5DEPENDS = "cairo" 8DEPENDS = "cairo"
6PR = "ml1.3" 9PR = "ml0"
7 10
8SRC_URI = "http://cairographics.org/releases/pycairo-${PV}.tar.gz" 11SRC_URI = "http://cairographics.org/releases/pycairo-${PV}.tar.gz"
9S = "${WORKDIR}/pycairo-${PV}" 12S = "${WORKDIR}/pycairo-${PV}"
diff --git a/meta/packages/qmake/qmake2-cross-2.10a/0001-fix-mkspecs.patch b/meta/packages/qmake/qmake2-cross/0001-fix-mkspecs.patch
index abebfdfa27..4ebc3dea8d 100644
--- a/meta/packages/qmake/qmake2-cross-2.10a/0001-fix-mkspecs.patch
+++ b/meta/packages/qmake/qmake2-cross/0001-fix-mkspecs.patch
@@ -8,10 +8,10 @@ Subject: [PATCH] fix mkspecs
8 mkspecs/common/linux.conf | 26 +++++++++++++------------- 8 mkspecs/common/linux.conf | 26 +++++++++++++-------------
9 2 files changed, 22 insertions(+), 22 deletions(-) 9 2 files changed, 22 insertions(+), 22 deletions(-)
10 10
11diff --git a/mkspecs/common/g++.conf b/mkspecs/common/g++.conf 11Index: qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/g++.conf
12index f5a5c8e..4007c7e 100644 12===================================================================
13--- a/mkspecs/common/g++.conf 13--- qt-embedded-linux-opensource-src-4.5.3.orig/mkspecs/common/g++.conf
14+++ b/mkspecs/common/g++.conf 14+++ qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/g++.conf
15@@ -2,12 +2,12 @@ 15@@ -2,12 +2,12 @@
16 # qmake configuration for common gcc 16 # qmake configuration for common gcc
17 # 17 #
@@ -28,7 +28,7 @@ index f5a5c8e..4007c7e 100644
28 QMAKE_CFLAGS_DEBUG += -g 28 QMAKE_CFLAGS_DEBUG += -g
29 QMAKE_CFLAGS_SHLIB += -fPIC 29 QMAKE_CFLAGS_SHLIB += -fPIC
30 QMAKE_CFLAGS_STATIC_LIB += -fPIC 30 QMAKE_CFLAGS_STATIC_LIB += -fPIC
31@@ -16,8 +16,8 @@ QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden 31@@ -16,8 +16,8 @@ QMAKE_CFLAGS_HIDESYMS += -fvisibility=
32 QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} 32 QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
33 QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE} 33 QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
34 34
@@ -39,33 +39,37 @@ index f5a5c8e..4007c7e 100644
39 QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS 39 QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
40 QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON 40 QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
41 QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF 41 QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
42@@ -30,9 +30,9 @@ QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden 42@@ -30,11 +30,11 @@ QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAG
43 QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} 43 QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
44 QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE 44 QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
45 45
46-QMAKE_LINK = g++ 46-QMAKE_LINK = g++
47-QMAKE_LINK_SHLIB = g++ 47-QMAKE_LINK_SHLIB = g++
48-QMAKE_LINK_C = gcc
49-QMAKE_LINK_C_SHLIB = gcc
48-QMAKE_LFLAGS += 50-QMAKE_LFLAGS +=
49+QMAKE_LINK = $(OE_QMAKE_LINK) 51+QMAKE_LINK = $(OE_QMAKE_LINK)
50+QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK) 52+QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK)
53+QMAKE_LINK_C = $(OE_QMAKE_CC)
54+QMAKE_LINK_C_SHLIB = $(OE_QMAKE_CC)
51+QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS) 55+QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS)
52 QMAKE_LFLAGS_RELEASE += 56 QMAKE_LFLAGS_RELEASE += -Wl,-O1
53 QMAKE_LFLAGS_DEBUG += 57 QMAKE_LFLAGS_DEBUG +=
54 QMAKE_LFLAGS_APP += 58 QMAKE_LFLAGS_APP +=
55@@ -40,7 +40,7 @@ QMAKE_LFLAGS_SHLIB += -shared 59@@ -43,7 +43,7 @@ QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SH
56 QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
57 QMAKE_LFLAGS_SONAME += -Wl,-soname, 60 QMAKE_LFLAGS_SONAME += -Wl,-soname,
58 QMAKE_LFLAGS_THREAD += 61 QMAKE_LFLAGS_THREAD +=
62 QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
59-QMAKE_RPATH = -Wl,-rpath, 63-QMAKE_RPATH = -Wl,-rpath,
60+QMAKE_RPATH = -Wl,-rpath-link, 64+QMAKE_RPATH = -Wl,-rpath-link,
61 65
62 QMAKE_PCH_OUTPUT_EXT = .gch 66 QMAKE_PCH_OUTPUT_EXT = .gch
63 67
64diff --git a/mkspecs/common/linux.conf b/mkspecs/common/linux.conf 68Index: qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/linux.conf
65index 3796a87..52acf16 100644 69===================================================================
66--- a/mkspecs/common/linux.conf 70--- qt-embedded-linux-opensource-src-4.5.3.orig/mkspecs/common/linux.conf
67+++ b/mkspecs/common/linux.conf 71+++ qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/linux.conf
68@@ -7,26 +7,26 @@ QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD 72@@ -7,27 +7,27 @@ QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_
69 73
70 QMAKE_INCDIR = 74 QMAKE_INCDIR =
71 QMAKE_LIBDIR = 75 QMAKE_LIBDIR =
@@ -99,11 +103,13 @@ index 3796a87..52acf16 100644
99+QMAKE_UIC = $(OE_QMAKE_UIC) 103+QMAKE_UIC = $(OE_QMAKE_UIC)
100 104
101-QMAKE_AR = ar cqs 105-QMAKE_AR = ar cqs
106-QMAKE_OBJCOPY = objcopy
102+QMAKE_AR = $(OE_QMAKE_AR) cqs 107+QMAKE_AR = $(OE_QMAKE_AR) cqs
108+QMAKE_OBJCOPY = $(OE_QMAKE_OBJCOPY)
103 QMAKE_RANLIB = 109 QMAKE_RANLIB =
104 110
105 QMAKE_TAR = tar -cf 111 QMAKE_TAR = tar -cf
106@@ -38,11 +38,11 @@ QMAKE_COPY_DIR = $(COPY) -r 112@@ -39,7 +39,7 @@ QMAKE_COPY_DIR = $(COPY) -r
107 QMAKE_MOVE = mv -f 113 QMAKE_MOVE = mv -f
108 QMAKE_DEL_FILE = rm -f 114 QMAKE_DEL_FILE = rm -f
109 QMAKE_DEL_DIR = rmdir 115 QMAKE_DEL_DIR = rmdir
@@ -112,12 +118,3 @@ index 3796a87..52acf16 100644
112 QMAKE_STRIPFLAGS_LIB += --strip-unneeded 118 QMAKE_STRIPFLAGS_LIB += --strip-unneeded
113 QMAKE_CHK_DIR_EXISTS = test -d 119 QMAKE_CHK_DIR_EXISTS = test -d
114 QMAKE_MKDIR = mkdir -p 120 QMAKE_MKDIR = mkdir -p
115 QMAKE_INSTALL_FILE = install -m 644 -p
116 QMAKE_INSTALL_PROGRAM = install -m 755 -p
117
118-include(unix.conf)
119\ No newline at end of file
120+include(unix.conf)
121--
1221.5.1.6
123
diff --git a/meta/packages/qmake/qmake2-cross-2.10a/linux-oe-qmake.conf b/meta/packages/qmake/qmake2-cross/linux-oe-qmake.conf
index f58481a693..f58481a693 100644
--- a/meta/packages/qmake/qmake2-cross-2.10a/linux-oe-qmake.conf
+++ b/meta/packages/qmake/qmake2-cross/linux-oe-qmake.conf
diff --git a/meta/packages/qmake/qmake2-cross-2.10a/use-lflags-last.patch b/meta/packages/qmake/qmake2-cross/use-lflags-last.patch
index 4197dbbf64..4197dbbf64 100644
--- a/meta/packages/qmake/qmake2-cross-2.10a/use-lflags-last.patch
+++ b/meta/packages/qmake/qmake2-cross/use-lflags-last.patch
diff --git a/meta/packages/qmake/qmake2-cross_2.10a.bb b/meta/packages/qmake/qmake2-cross_2.10a.bb
index b8b73c12d8..60f738b9ce 100644
--- a/meta/packages/qmake/qmake2-cross_2.10a.bb
+++ b/meta/packages/qmake/qmake2-cross_2.10a.bb
@@ -3,9 +3,9 @@ PRIORITY = "optional"
3HOMEPAGE = "http://www.trolltech.com" 3HOMEPAGE = "http://www.trolltech.com"
4SECTION = "devel" 4SECTION = "devel"
5LICENSE = "GPL" 5LICENSE = "GPL"
6PR = "r1" 6PR = "r2"
7 7
8QTVER = "qtopia-core-opensource-src-4.3.2" 8QTVER = "qt-embedded-linux-opensource-src-4.5.3"
9 9
10SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/${QTVER}.tar.gz \ 10SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/${QTVER}.tar.gz \
11 file://0001-fix-mkspecs.patch;patch=1 \ 11 file://0001-fix-mkspecs.patch;patch=1 \
@@ -20,6 +20,7 @@ inherit autotools cross
20 20
21export QTDIR = "${S}" 21export QTDIR = "${S}"
22EXTRA_OEMAKE = "-e" 22EXTRA_OEMAKE = "-e"
23EXTRA_OECONF = "-opensource"
23 24
24do_configure() { 25do_configure() {
25 # Install the OE build templates 26 # Install the OE build templates
@@ -41,6 +42,7 @@ do_configure() {
41 export OE_QMAKE_LDFLAGS="${LDFLAGS}" 42 export OE_QMAKE_LDFLAGS="${LDFLAGS}"
42 export OE_QMAKE_LINK="${CCLD}" 43 export OE_QMAKE_LINK="${CCLD}"
43 export OE_QMAKE_AR="${AR}" 44 export OE_QMAKE_AR="${AR}"
45 export OE_QMAKE_OBJCOPY="${OBJCOPY}"
44 export OE_QMAKE_STRIP="${STRIP}" 46 export OE_QMAKE_STRIP="${STRIP}"
45 export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic" 47 export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic"
46 export OE_QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc" 48 export OE_QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc"
diff --git a/meta/packages/rpm/rpm_4.4.2.3.bb b/meta/packages/rpm/rpm_4.4.2.3.bb
index 6efa87bb00..6605650023 100644
--- a/meta/packages/rpm/rpm_4.4.2.3.bb
+++ b/meta/packages/rpm/rpm_4.4.2.3.bb
@@ -1,6 +1,10 @@
1DESCRIPTION = "The RPM Package Manager." 1DESCRIPTION = "The RPM Package Manager."
2HOMEPAGE = "http://rpm.org/" 2HOMEPAGE = "http://rpm.org/"
3LICENSE = "LGPL GPL" 3BUGTRACKER = "http://rpm.org/report"
4
5# library is covered under dual license of GPL | LGPL
6LICENSE = "(LGPLv2+ | GPLv2+) & GPLv2+"
7
4DEPENDS = "zlib beecrypt file popt python" 8DEPENDS = "zlib beecrypt file popt python"
5PR = "r16" 9PR = "r16"
6 10
@@ -13,10 +17,10 @@ SRC_URI = "http://www.rpm.org/releases/rpm-4.4.x/rpm-4.4.2.3.tar.gz \
13 file://extcond.patch;patch=1;pnum=0 \ 17 file://extcond.patch;patch=1;pnum=0 \
14 file://disabledwarf.patch;patch=1" 18 file://disabledwarf.patch;patch=1"
15 19
16inherit autotools gettext
17
18S = "${WORKDIR}/rpm-${PV}" 20S = "${WORKDIR}/rpm-${PV}"
19 21
22inherit autotools gettext
23
20acpaths = "-I ${S}/db/dist/aclocal -I ${S}/db/dist/aclocal_java" 24acpaths = "-I ${S}/db/dist/aclocal -I ${S}/db/dist/aclocal_java"
21 25
22EXTRA_OECONF = "--with-python=$PYTHONVER \ 26EXTRA_OECONF = "--with-python=$PYTHONVER \
diff --git a/meta/packages/rsync/rsync_2.6.9.bb b/meta/packages/rsync/rsync_2.6.9.bb
index 52a0a8dba2..2b0275b292 100644
--- a/meta/packages/rsync/rsync_2.6.9.bb
+++ b/meta/packages/rsync/rsync_2.6.9.bb
@@ -1,8 +1,12 @@
1LICENSE = "GPL"
2DESCRIPTION = "A file-synchronization tool" 1DESCRIPTION = "A file-synchronization tool"
2HOMEPAGE = "http://rsync.samba.org/"
3BUGTRACKER = "http://rsync.samba.org/bugzilla.html"
3SECTION = "console/network" 4SECTION = "console/network"
4PRIORITY = "optional" 5PRIORITY = "optional"
5 6
7# GPLv2+ (<< 3.0.0), GPLv3+ (>= 3.0.0)
8LICENSE = "GPLv2+"
9
6SRC_URI = "http://rsync.samba.org/ftp/rsync/src/rsync-${PV}.tar.gz \ 10SRC_URI = "http://rsync.samba.org/ftp/rsync/src/rsync-${PV}.tar.gz \
7 file://rsyncd.conf" 11 file://rsyncd.conf"
8 12
diff --git a/meta/packages/shared-mime-info/shared-mime-info.inc b/meta/packages/shared-mime-info/shared-mime-info.inc
index 81320371fa..d60f81d9d0 100644
--- a/meta/packages/shared-mime-info/shared-mime-info.inc
+++ b/meta/packages/shared-mime-info/shared-mime-info.inc
@@ -1,12 +1,14 @@
1DESCRIPTION = "shared MIME database and spec"
2HOMEPAGE = "http://freedesktop.org/wiki/Software/shared-mime-info"
1SECTION = "base" 3SECTION = "base"
2LICENSE = "GPL" 4LICENSE = "GPLv2+"
3 5
4SRC_URI = "http://freedesktop.org/~hadess/shared-mime-info-${PV}.tar.bz2"
5DEPENDS = "libxml2 intltool-native glib-2.0 shared-mime-info-native" 6DEPENDS = "libxml2 intltool-native glib-2.0 shared-mime-info-native"
6DEPENDS_virtclass-native = "libxml2-native intltool-native glib-2.0-native" 7DEPENDS_virtclass-native = "libxml2-native intltool-native glib-2.0-native"
7
8PR = "r2" 8PR = "r2"
9 9
10SRC_URI = "http://freedesktop.org/~hadess/shared-mime-info-${PV}.tar.bz2"
11
10inherit autotools pkgconfig gettext 12inherit autotools pkgconfig gettext
11 13
12EXTRA_OECONF = "--disable-update-mimedb" 14EXTRA_OECONF = "--disable-update-mimedb"
diff --git a/meta/packages/startup-notification/startup-notification_0.9.bb b/meta/packages/startup-notification/startup-notification_0.9.bb
index 42710c417f..840814b3f3 100644
--- a/meta/packages/startup-notification/startup-notification_0.9.bb
+++ b/meta/packages/startup-notification/startup-notification_0.9.bb
@@ -1,7 +1,12 @@
1DESCRIPTION = "Startup notification support" 1DESCRIPTION = "Startup notification support"
2LICENSE = "LGPL" 2HOMEPAGE = "http://www.freedesktop.org/wiki/software/startup-notification/"
3SECTION = "libs" 3SECTION = "libs"
4PRIORITY = "optional" 4PRIORITY = "optional"
5
6# most files are under MIT, but libsn/sn-utils.c is under LGPL, the
7# effective license is LGPL
8LICENSE = "LGPLv2+"
9
5DEPENDS = "virtual/libx11 libsm" 10DEPENDS = "virtual/libx11 libsm"
6 11
7inherit autotools pkgconfig 12inherit autotools pkgconfig
diff --git a/meta/packages/strace/strace_4.5.20.bb b/meta/packages/strace/strace_4.5.20.bb
index 73df9452a8..cc2ae1a964 100644
--- a/meta/packages/strace/strace_4.5.20.bb
+++ b/meta/packages/strace/strace_4.5.20.bb
@@ -1,6 +1,8 @@
1DESCRIPTION = "strace is a system call tracing tool." 1DESCRIPTION = "strace is a system call tracing tool."
2HOMEPAGE = "http://sourceforge.net/projects/strace/"
2SECTION = "console/utils" 3SECTION = "console/utils"
3LICENSE = "GPL" 4LICENSE = "BSD"
5LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=4535377ede62550fdeaf39f595fd550a"
4PR = "r0" 6PR = "r0"
5 7
6SRC_URI = "${SOURCEFORGE_MIRROR}/strace/strace-${PV}.tar.bz2" 8SRC_URI = "${SOURCEFORGE_MIRROR}/strace/strace-${PV}.tar.bz2"
diff --git a/meta/packages/sudo/files/autofoo.patch b/meta/packages/sudo/files/autofoo.patch
index 995f026a83..4f24737610 100644
--- a/meta/packages/sudo/files/autofoo.patch
+++ b/meta/packages/sudo/files/autofoo.patch
@@ -1,51 +1,11 @@
1Index: sudo-1.6.8p12/configure.in 1# fix underquotes, rebased to 1.7.2p7
2#
3# by Kevin Tian <kevin.tian@intel.com>, 06/23/2010
4Index: sudo-1.7.2p7/aclocal.m4
2=================================================================== 5===================================================================
3--- sudo-1.6.8p12.orig/configure.in 2004-11-26 04:31:20.000000000 +1100 6--- sudo-1.7.2p7.orig/aclocal.m4 2010-06-23 13:33:57.000000000 +0800
4+++ sudo-1.6.8p12/configure.in 2007-05-16 16:45:20.000000000 +1000 7+++ sudo-1.7.2p7/aclocal.m4 2010-06-23 13:36:41.000000000 +0800
5@@ -1609,7 +1609,7 @@ 8@@ -10,7 +10,7 @@
6 AC_CHECK_FUNCS(getspnam, [CHECKSHADOW="false"], [AC_CHECK_LIB(gen, getspnam, AC_DEFINE(HAVE_GETSPNAM) [SUDO_LIBS="${SUDO_LIBS} -lgen"; LIBS="${LIBS} -lgen"])])
7 fi
8 if test "$CHECKSHADOW" = "true"; then
9- AC_CHECK_FUNC(getprpwnam, [AC_DEFINE(HAVE_GETPRPWNAM) [CHECKSHADOW="false"; SECUREWARE=1], AC_CHECK_LIB(sec, getprpwnam, AC_DEFINE(HAVE_GETPRPWNAM) [CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lsec"; LIBS="${LIBS} -lsec"], AC_CHECK_LIB(security, getprpwnam, AC_DEFINE(HAVE_GETPRPWNAM) [CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lsecurity"; LIBS="${LIBS} -lsecurity"], AC_CHECK_LIB(prot, getprpwnam, AC_DEFINE(HAVE_GETPRPWNAM) [CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lprot"; LIBS="${LIBS} -lprot"])))])
10+ AC_CHECK_FUNC(getprpwnam, [AC_DEFINE(HAVE_GETPRPWNAM) CHECKSHADOW="false"; SECUREWARE=1], [AC_CHECK_LIB(sec, getprpwnam, [AC_DEFINE(HAVE_GETPRPWNAM) CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lsec"; LIBS="${LIBS} -lsec"], [AC_CHECK_LIB(security, getprpwnam, [AC_DEFINE(HAVE_GETPRPWNAM) CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lsecurity"; LIBS="${LIBS} -lsecurity"], [AC_CHECK_LIB(prot, getprpwnam, [AC_DEFINE(HAVE_GETPRPWNAM) CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lprot"; LIBS="${LIBS} -lprot"])])])])
11 fi
12
13 dnl
14@@ -1670,7 +1670,7 @@
15 SUDO_TYPE_INO_T
16 SUDO_FULL_VOID
17 SUDO_UID_T_LEN
18-SUDO_LONG_LONG
19+SUDO_TYPE_LONG_LONG
20 SUDO_SOCK_SA_LEN
21 dnl
22 dnl only set RETSIGTYPE if it is not set already
23@@ -1700,12 +1700,14 @@
24 if test -z "$BROKEN_GETCWD"; then
25 AC_REPLACE_FUNCS(getcwd)
26 fi
27-AC_CHECK_FUNCS(lockf flock, [break])
28-AC_CHECK_FUNCS(waitpid wait3, [break])
29-AC_CHECK_FUNCS(innetgr _innetgr, [AC_CHECK_FUNCS(getdomainname) [break]])
30-AC_CHECK_FUNCS(lsearch, , [AC_CHECK_LIB(compat, lsearch, AC_CHECK_HEADER(search.h, AC_DEFINE(HAVE_LSEARCH) [LIBS="${LIBS} -lcompat"], AC_LIBOBJ(lsearch), -), AC_LIBOBJ(lsearch))])
31-AC_CHECK_FUNCS(utimes, [AC_CHECK_FUNCS(futimes futimesat, [break])], [AC_CHECK_FUNCS(futime) AC_LIBOBJ(utimes)])
32-SUDO_FUNC_FNMATCH(AC_DEFINE(HAVE_FNMATCH), AC_LIBOBJ(fnmatch))
33+AC_CHECK_FUNCS(lockf flock)
34+AC_CHECK_FUNCS(waitpid wait3)
35+AC_CHECK_FUNCS(innetgr _innetgr, [AC_CHECK_FUNCS(getdomainname)])
36+
37+AC_CHECK_FUNCS(lsearch, , [AC_CHECK_LIB(compat, lsearch, [AC_CHECK_HEADER(search.h, [AC_DEFINE(HAVE_LSEARCH) LIBS="$LIBS -lcompat"], [AC_LIBOBJ([lsearch])])], [AC_LIBOBJ([lsearch])])])
38+
39+AC_CHECK_FUNCS(utimes)
40+SUDO_FUNC_FNMATCH([AC_DEFINE([HAVE_FNMATCH], [1], [Define if you have the 'fnmatch' function.])], [AC_LIBOBJ([fnmatch])])
41 SUDO_FUNC_ISBLANK
42 AC_REPLACE_FUNCS(strerror strcasecmp sigaction strlcpy strlcat closefrom)
43 AC_CHECK_FUNCS(snprintf vsnprintf asprintf vasprintf, , [NEED_SNPRINTF=1])
44Index: sudo-1.6.8p12/aclocal.m4
45===================================================================
46--- sudo-1.6.8p12.orig/aclocal.m4 2004-09-08 03:14:51.000000000 +1000
47+++ sudo-1.6.8p12/aclocal.m4 2007-05-16 16:45:08.000000000 +1000
48@@ -9,7 +9,7 @@
49 dnl 9 dnl
50 dnl check for sendmail 10 dnl check for sendmail
51 dnl 11 dnl
@@ -54,7 +14,7 @@ Index: sudo-1.6.8p12/aclocal.m4
54 if test -f "/usr/sbin/sendmail"; then 14 if test -f "/usr/sbin/sendmail"; then
55 AC_MSG_RESULT(/usr/sbin/sendmail) 15 AC_MSG_RESULT(/usr/sbin/sendmail)
56 SUDO_DEFINE(_PATH_SUDO_SENDMAIL, "/usr/sbin/sendmail") 16 SUDO_DEFINE(_PATH_SUDO_SENDMAIL, "/usr/sbin/sendmail")
57@@ -36,7 +36,7 @@ 17@@ -37,7 +37,7 @@
58 dnl 18 dnl
59 dnl check for vi 19 dnl check for vi
60 dnl 20 dnl
@@ -63,7 +23,7 @@ Index: sudo-1.6.8p12/aclocal.m4
63 if test -f "/usr/bin/vi"; then 23 if test -f "/usr/bin/vi"; then
64 AC_MSG_RESULT(/usr/bin/vi) 24 AC_MSG_RESULT(/usr/bin/vi)
65 SUDO_DEFINE(_PATH_VI, "/usr/bin/vi") 25 SUDO_DEFINE(_PATH_VI, "/usr/bin/vi")
66@@ -60,7 +60,7 @@ 26@@ -61,7 +61,7 @@
67 dnl 27 dnl
68 dnl check for mv 28 dnl check for mv
69 dnl 29 dnl
@@ -72,7 +32,7 @@ Index: sudo-1.6.8p12/aclocal.m4
72 if test -f "/usr/bin/mv"; then 32 if test -f "/usr/bin/mv"; then
73 AC_MSG_RESULT(/usr/bin/mv) 33 AC_MSG_RESULT(/usr/bin/mv)
74 SUDO_DEFINE(_PATH_MV, "/usr/bin/mv") 34 SUDO_DEFINE(_PATH_MV, "/usr/bin/mv")
75@@ -81,7 +81,7 @@ 35@@ -82,7 +82,7 @@
76 dnl 36 dnl
77 dnl check for bourne shell 37 dnl check for bourne shell
78 dnl 38 dnl
@@ -81,7 +41,7 @@ Index: sudo-1.6.8p12/aclocal.m4
81 if test -f "/bin/sh"; then 41 if test -f "/bin/sh"; then
82 AC_MSG_RESULT(/bin/sh) 42 AC_MSG_RESULT(/bin/sh)
83 SUDO_DEFINE(_PATH_BSHELL, "/bin/sh") 43 SUDO_DEFINE(_PATH_BSHELL, "/bin/sh")
84@@ -114,7 +114,7 @@ 44@@ -115,7 +115,7 @@
85 dnl 45 dnl
86 dnl Where the log file goes, use /var/log if it exists, else /{var,usr}/adm 46 dnl Where the log file goes, use /var/log if it exists, else /{var,usr}/adm
87 dnl 47 dnl
@@ -90,7 +50,7 @@ Index: sudo-1.6.8p12/aclocal.m4
90 if test -n "$with_logpath"; then 50 if test -n "$with_logpath"; then
91 AC_MSG_RESULT($with_logpath) 51 AC_MSG_RESULT($with_logpath)
92 SUDO_DEFINE_UNQUOTED(_PATH_SUDO_LOGFILE, "$with_logpath") 52 SUDO_DEFINE_UNQUOTED(_PATH_SUDO_LOGFILE, "$with_logpath")
93@@ -135,7 +135,7 @@ 53@@ -136,7 +136,7 @@
94 dnl 54 dnl
95 dnl Where the log file goes, use /var/log if it exists, else /{var,usr}/adm 55 dnl Where the log file goes, use /var/log if it exists, else /{var,usr}/adm
96 dnl 56 dnl
@@ -99,16 +59,7 @@ Index: sudo-1.6.8p12/aclocal.m4
99 if test -n "$with_timedir"; then 59 if test -n "$with_timedir"; then
100 AC_MSG_RESULT($with_timedir) 60 AC_MSG_RESULT($with_timedir)
101 SUDO_DEFINE_UNQUOTED(_PATH_SUDO_TIMEDIR, "$with_timedir") 61 SUDO_DEFINE_UNQUOTED(_PATH_SUDO_TIMEDIR, "$with_timedir")
102@@ -158,7 +158,7 @@ 62@@ -160,7 +160,7 @@
103 dnl
104 dnl check for fullly working void
105 dnl
106-AC_DEFUN(SUDO_FULL_VOID, [AC_MSG_CHECKING(for full void implementation)
107+AC_DEFUN([SUDO_FULL_VOID], [AC_MSG_CHECKING(for full void implementation)
108 AC_TRY_COMPILE(, [void *foo;
109 foo = (void *)0; (void *)"test";], AC_DEFINE(VOID, void, [Define to "void" if your compiler supports void pointers, else use "char"].)
110 AC_MSG_RESULT(yes), AC_DEFINE(VOID, char)
111@@ -168,7 +168,7 @@
112 dnl SUDO_CHECK_TYPE(TYPE, DEFAULT) 63 dnl SUDO_CHECK_TYPE(TYPE, DEFAULT)
113 dnl XXX - should require the check for unistd.h... 64 dnl XXX - should require the check for unistd.h...
114 dnl 65 dnl
@@ -117,7 +68,7 @@ Index: sudo-1.6.8p12/aclocal.m4
117 [AC_REQUIRE([AC_HEADER_STDC])dnl 68 [AC_REQUIRE([AC_HEADER_STDC])dnl
118 AC_MSG_CHECKING(for $1) 69 AC_MSG_CHECKING(for $1)
119 AC_CACHE_VAL(sudo_cv_type_$1, 70 AC_CACHE_VAL(sudo_cv_type_$1,
120@@ -189,31 +189,31 @@ 71@@ -181,31 +181,31 @@
121 dnl 72 dnl
122 dnl Check for size_t declation 73 dnl Check for size_t declation
123 dnl 74 dnl
@@ -151,22 +102,10 @@ Index: sudo-1.6.8p12/aclocal.m4
151 dnl 102 dnl
152-AC_DEFUN(SUDO_FUNC_FNMATCH, 103-AC_DEFUN(SUDO_FUNC_FNMATCH,
153+AC_DEFUN([SUDO_FUNC_FNMATCH], 104+AC_DEFUN([SUDO_FUNC_FNMATCH],
154 [AC_MSG_CHECKING(for working fnmatch with FNM_CASEFOLD) 105 [AC_MSG_CHECKING([for working fnmatch with FNM_CASEFOLD])
155 AC_CACHE_VAL(sudo_cv_func_fnmatch, 106 AC_CACHE_VAL(sudo_cv_func_fnmatch,
156 [rm -f conftestdata; > conftestdata 107 [rm -f conftestdata; > conftestdata
157@@ -224,9 +224,9 @@ 108@@ -271,7 +271,7 @@
158 rm -f core core.* *.core])dnl
159 AC_MSG_RESULT($sudo_cv_func_fnmatch)
160 if test $sudo_cv_func_fnmatch = yes; then
161- [$1]
162+ $1
163 else
164- [$2]
165+ $2
166 fi
167 ])
168
169@@ -246,7 +246,7 @@
170 dnl 109 dnl
171 dnl check for sa_len field in struct sockaddr 110 dnl check for sa_len field in struct sockaddr
172 dnl 111 dnl
@@ -175,7 +114,7 @@ Index: sudo-1.6.8p12/aclocal.m4
175 [AC_MSG_CHECKING(for sa_len field in struct sockaddr) 114 [AC_MSG_CHECKING(for sa_len field in struct sockaddr)
176 AC_CACHE_VAL(sudo_cv_sock_sa_len, 115 AC_CACHE_VAL(sudo_cv_sock_sa_len,
177 [AC_TRY_RUN([#include <sys/types.h> 116 [AC_TRY_RUN([#include <sys/types.h>
178@@ -269,7 +269,7 @@ 117@@ -294,7 +294,7 @@
179 dnl we can't really trust UID_MAX or MAXUID since they may exist 118 dnl we can't really trust UID_MAX or MAXUID since they may exist
180 dnl only for backwards compatibility. 119 dnl only for backwards compatibility.
181 dnl 120 dnl
@@ -184,39 +123,21 @@ Index: sudo-1.6.8p12/aclocal.m4
184 [AC_REQUIRE([AC_TYPE_UID_T]) 123 [AC_REQUIRE([AC_TYPE_UID_T])
185 AC_MSG_CHECKING(max length of uid_t) 124 AC_MSG_CHECKING(max length of uid_t)
186 AC_CACHE_VAL(sudo_cv_uid_t_len, 125 AC_CACHE_VAL(sudo_cv_uid_t_len,
187@@ -301,17 +301,29 @@ 126@@ -327,7 +327,7 @@
188
189 dnl 127 dnl
190 dnl check for "long long" 128 dnl Check for presence of long long and for sizeof(long long) == sizeof(long)
191-dnl XXX hard to cache since it includes 2 tests
192 dnl 129 dnl
193-AC_DEFUN(SUDO_LONG_LONG, [AC_MSG_CHECKING(for long long support) 130-AC_DEFUN(SUDO_TYPE_LONG_LONG,
194-AC_TRY_LINK(, [long long foo = 1000; foo /= 10;], AC_DEFINE(HAVE_LONG_LONG, 1, [Define if your compiler supports the "long long" type.])
195-[AC_TRY_RUN([main() {if (sizeof(long long) == sizeof(long)) exit(0); else exit(1);}], AC_DEFINE(LONG_IS_QUAD, 1, [Define if sizeof(long) == sizeof(long long).]))]
196-AC_MSG_RESULT(yes), AC_MSG_RESULT(no))])
197+AC_DEFUN([SUDO_TYPE_LONG_LONG], 131+AC_DEFUN([SUDO_TYPE_LONG_LONG],
198+[AC_CHECK_TYPES(long long, [AC_DEFINE(HAVE_LONG_LONG, 1, [Define if your 132 [AC_CHECK_TYPES(long long, [AC_DEFINE(HAVE_LONG_LONG, 1, [Define if your compiler supports the "long long" type.])]
199+compiler supports the "long long" type.])] 133 [AC_MSG_CHECKING(for long and long long equivalence)
200+[AC_MSG_CHECKING(for long and long long equivalence) 134 AC_CACHE_VAL(sudo_cv_type_long_is_quad,
201+AC_CACHE_VAL(sudo_cv_type_long_is_quad, 135@@ -347,7 +347,7 @@
202+[AC_TRY_RUN([
203+main() {
204+if (sizeof(long long) == sizeof(long)) exit(0);
205+else exit(1);
206+}], [sudo_cv_type_long_is_quad=yes],
207+[sudo_cv_type_long_is_quad=no], [sudo_cv_type_long_is_quad=no])
208+rm -f core core.* *.core])dnl
209+AC_MSG_RESULT($sudo_cv_type_long_is_quad)
210+if test $sudo_cv_type_long_is_quad = yes; then
211+ AC_DEFINE(LONG_IS_QUAD, 1, [Define if sizeof(long) == sizeof(long long).])
212+fi
213+])])
214
215 dnl 136 dnl
216 dnl append a libpath to an LDFLAGS style variable 137 dnl append a libpath to an LDFLAGS style variable
217 dnl 138 dnl
218-AC_DEFUN(SUDO_APPEND_LIBPATH, [ 139-AC_DEFUN(SUDO_APPEND_LIBPATH, [
219+AC_DEFUN([SUDO_APPEND_LIBPATH], [ 140+AC_DEFUN([SUDO_APPEND_LIBPATH], [
220 if test X"$with_rpath" = X"yes"; then 141 if test X"$with_rpath" = X"yes"; then
221 $1="${$1} -L$2 -R$2" 142 case "$host" in
222 else 143 *-*-hpux*) $1="${$1} -L$2 -Wl,+b,$2"
diff --git a/meta/packages/sudo/files/autofoo1.patch b/meta/packages/sudo/files/autofoo1.patch
deleted file mode 100644
index 995f026a83..0000000000
--- a/meta/packages/sudo/files/autofoo1.patch
+++ /dev/null
@@ -1,222 +0,0 @@
1Index: sudo-1.6.8p12/configure.in
2===================================================================
3--- sudo-1.6.8p12.orig/configure.in 2004-11-26 04:31:20.000000000 +1100
4+++ sudo-1.6.8p12/configure.in 2007-05-16 16:45:20.000000000 +1000
5@@ -1609,7 +1609,7 @@
6 AC_CHECK_FUNCS(getspnam, [CHECKSHADOW="false"], [AC_CHECK_LIB(gen, getspnam, AC_DEFINE(HAVE_GETSPNAM) [SUDO_LIBS="${SUDO_LIBS} -lgen"; LIBS="${LIBS} -lgen"])])
7 fi
8 if test "$CHECKSHADOW" = "true"; then
9- AC_CHECK_FUNC(getprpwnam, [AC_DEFINE(HAVE_GETPRPWNAM) [CHECKSHADOW="false"; SECUREWARE=1], AC_CHECK_LIB(sec, getprpwnam, AC_DEFINE(HAVE_GETPRPWNAM) [CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lsec"; LIBS="${LIBS} -lsec"], AC_CHECK_LIB(security, getprpwnam, AC_DEFINE(HAVE_GETPRPWNAM) [CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lsecurity"; LIBS="${LIBS} -lsecurity"], AC_CHECK_LIB(prot, getprpwnam, AC_DEFINE(HAVE_GETPRPWNAM) [CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lprot"; LIBS="${LIBS} -lprot"])))])
10+ AC_CHECK_FUNC(getprpwnam, [AC_DEFINE(HAVE_GETPRPWNAM) CHECKSHADOW="false"; SECUREWARE=1], [AC_CHECK_LIB(sec, getprpwnam, [AC_DEFINE(HAVE_GETPRPWNAM) CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lsec"; LIBS="${LIBS} -lsec"], [AC_CHECK_LIB(security, getprpwnam, [AC_DEFINE(HAVE_GETPRPWNAM) CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lsecurity"; LIBS="${LIBS} -lsecurity"], [AC_CHECK_LIB(prot, getprpwnam, [AC_DEFINE(HAVE_GETPRPWNAM) CHECKSHADOW="false"; SECUREWARE=1; SUDO_LIBS="${SUDO_LIBS} -lprot"; LIBS="${LIBS} -lprot"])])])])
11 fi
12
13 dnl
14@@ -1670,7 +1670,7 @@
15 SUDO_TYPE_INO_T
16 SUDO_FULL_VOID
17 SUDO_UID_T_LEN
18-SUDO_LONG_LONG
19+SUDO_TYPE_LONG_LONG
20 SUDO_SOCK_SA_LEN
21 dnl
22 dnl only set RETSIGTYPE if it is not set already
23@@ -1700,12 +1700,14 @@
24 if test -z "$BROKEN_GETCWD"; then
25 AC_REPLACE_FUNCS(getcwd)
26 fi
27-AC_CHECK_FUNCS(lockf flock, [break])
28-AC_CHECK_FUNCS(waitpid wait3, [break])
29-AC_CHECK_FUNCS(innetgr _innetgr, [AC_CHECK_FUNCS(getdomainname) [break]])
30-AC_CHECK_FUNCS(lsearch, , [AC_CHECK_LIB(compat, lsearch, AC_CHECK_HEADER(search.h, AC_DEFINE(HAVE_LSEARCH) [LIBS="${LIBS} -lcompat"], AC_LIBOBJ(lsearch), -), AC_LIBOBJ(lsearch))])
31-AC_CHECK_FUNCS(utimes, [AC_CHECK_FUNCS(futimes futimesat, [break])], [AC_CHECK_FUNCS(futime) AC_LIBOBJ(utimes)])
32-SUDO_FUNC_FNMATCH(AC_DEFINE(HAVE_FNMATCH), AC_LIBOBJ(fnmatch))
33+AC_CHECK_FUNCS(lockf flock)
34+AC_CHECK_FUNCS(waitpid wait3)
35+AC_CHECK_FUNCS(innetgr _innetgr, [AC_CHECK_FUNCS(getdomainname)])
36+
37+AC_CHECK_FUNCS(lsearch, , [AC_CHECK_LIB(compat, lsearch, [AC_CHECK_HEADER(search.h, [AC_DEFINE(HAVE_LSEARCH) LIBS="$LIBS -lcompat"], [AC_LIBOBJ([lsearch])])], [AC_LIBOBJ([lsearch])])])
38+
39+AC_CHECK_FUNCS(utimes)
40+SUDO_FUNC_FNMATCH([AC_DEFINE([HAVE_FNMATCH], [1], [Define if you have the 'fnmatch' function.])], [AC_LIBOBJ([fnmatch])])
41 SUDO_FUNC_ISBLANK
42 AC_REPLACE_FUNCS(strerror strcasecmp sigaction strlcpy strlcat closefrom)
43 AC_CHECK_FUNCS(snprintf vsnprintf asprintf vasprintf, , [NEED_SNPRINTF=1])
44Index: sudo-1.6.8p12/aclocal.m4
45===================================================================
46--- sudo-1.6.8p12.orig/aclocal.m4 2004-09-08 03:14:51.000000000 +1000
47+++ sudo-1.6.8p12/aclocal.m4 2007-05-16 16:45:08.000000000 +1000
48@@ -9,7 +9,7 @@
49 dnl
50 dnl check for sendmail
51 dnl
52-AC_DEFUN(SUDO_PROG_SENDMAIL, [AC_MSG_CHECKING(for sendmail)
53+AC_DEFUN([SUDO_PROG_SENDMAIL], [AC_MSG_CHECKING(for sendmail)
54 if test -f "/usr/sbin/sendmail"; then
55 AC_MSG_RESULT(/usr/sbin/sendmail)
56 SUDO_DEFINE(_PATH_SUDO_SENDMAIL, "/usr/sbin/sendmail")
57@@ -36,7 +36,7 @@
58 dnl
59 dnl check for vi
60 dnl
61-AC_DEFUN(SUDO_PROG_VI, [AC_MSG_CHECKING(for vi)
62+AC_DEFUN([SUDO_PROG_VI], [AC_MSG_CHECKING(for vi)
63 if test -f "/usr/bin/vi"; then
64 AC_MSG_RESULT(/usr/bin/vi)
65 SUDO_DEFINE(_PATH_VI, "/usr/bin/vi")
66@@ -60,7 +60,7 @@
67 dnl
68 dnl check for mv
69 dnl
70-AC_DEFUN(SUDO_PROG_MV, [AC_MSG_CHECKING(for mv)
71+AC_DEFUN([SUDO_PROG_MV], [AC_MSG_CHECKING(for mv)
72 if test -f "/usr/bin/mv"; then
73 AC_MSG_RESULT(/usr/bin/mv)
74 SUDO_DEFINE(_PATH_MV, "/usr/bin/mv")
75@@ -81,7 +81,7 @@
76 dnl
77 dnl check for bourne shell
78 dnl
79-AC_DEFUN(SUDO_PROG_BSHELL, [AC_MSG_CHECKING(for bourne shell)
80+AC_DEFUN([SUDO_PROG_BSHELL], [AC_MSG_CHECKING(for bourne shell)
81 if test -f "/bin/sh"; then
82 AC_MSG_RESULT(/bin/sh)
83 SUDO_DEFINE(_PATH_BSHELL, "/bin/sh")
84@@ -114,7 +114,7 @@
85 dnl
86 dnl Where the log file goes, use /var/log if it exists, else /{var,usr}/adm
87 dnl
88-AC_DEFUN(SUDO_LOGFILE, [AC_MSG_CHECKING(for log file location)
89+AC_DEFUN([SUDO_LOGFILE], [AC_MSG_CHECKING(for log file location)
90 if test -n "$with_logpath"; then
91 AC_MSG_RESULT($with_logpath)
92 SUDO_DEFINE_UNQUOTED(_PATH_SUDO_LOGFILE, "$with_logpath")
93@@ -135,7 +135,7 @@
94 dnl
95 dnl Where the log file goes, use /var/log if it exists, else /{var,usr}/adm
96 dnl
97-AC_DEFUN(SUDO_TIMEDIR, [AC_MSG_CHECKING(for timestamp file location)
98+AC_DEFUN([SUDO_TIMEDIR], [AC_MSG_CHECKING(for timestamp file location)
99 if test -n "$with_timedir"; then
100 AC_MSG_RESULT($with_timedir)
101 SUDO_DEFINE_UNQUOTED(_PATH_SUDO_TIMEDIR, "$with_timedir")
102@@ -158,7 +158,7 @@
103 dnl
104 dnl check for fullly working void
105 dnl
106-AC_DEFUN(SUDO_FULL_VOID, [AC_MSG_CHECKING(for full void implementation)
107+AC_DEFUN([SUDO_FULL_VOID], [AC_MSG_CHECKING(for full void implementation)
108 AC_TRY_COMPILE(, [void *foo;
109 foo = (void *)0; (void *)"test";], AC_DEFINE(VOID, void, [Define to "void" if your compiler supports void pointers, else use "char"].)
110 AC_MSG_RESULT(yes), AC_DEFINE(VOID, char)
111@@ -168,7 +168,7 @@
112 dnl SUDO_CHECK_TYPE(TYPE, DEFAULT)
113 dnl XXX - should require the check for unistd.h...
114 dnl
115-AC_DEFUN(SUDO_CHECK_TYPE,
116+AC_DEFUN([SUDO_CHECK_TYPE],
117 [AC_REQUIRE([AC_HEADER_STDC])dnl
118 AC_MSG_CHECKING(for $1)
119 AC_CACHE_VAL(sudo_cv_type_$1,
120@@ -189,31 +189,31 @@
121 dnl
122 dnl Check for size_t declation
123 dnl
124-AC_DEFUN(SUDO_TYPE_SIZE_T,
125+AC_DEFUN([SUDO_TYPE_SIZE_T],
126 [SUDO_CHECK_TYPE(size_t, int)])
127
128 dnl
129 dnl Check for ssize_t declation
130 dnl
131-AC_DEFUN(SUDO_TYPE_SSIZE_T,
132+AC_DEFUN([SUDO_TYPE_SSIZE_T],
133 [SUDO_CHECK_TYPE(ssize_t, int)])
134
135 dnl
136 dnl Check for dev_t declation
137 dnl
138-AC_DEFUN(SUDO_TYPE_DEV_T,
139+AC_DEFUN([SUDO_TYPE_DEV_T],
140 [SUDO_CHECK_TYPE(dev_t, int)])
141
142 dnl
143 dnl Check for ino_t declation
144 dnl
145-AC_DEFUN(SUDO_TYPE_INO_T,
146+AC_DEFUN([SUDO_TYPE_INO_T],
147 [SUDO_CHECK_TYPE(ino_t, unsigned int)])
148
149 dnl
150 dnl check for working fnmatch(3)
151 dnl
152-AC_DEFUN(SUDO_FUNC_FNMATCH,
153+AC_DEFUN([SUDO_FUNC_FNMATCH],
154 [AC_MSG_CHECKING(for working fnmatch with FNM_CASEFOLD)
155 AC_CACHE_VAL(sudo_cv_func_fnmatch,
156 [rm -f conftestdata; > conftestdata
157@@ -224,9 +224,9 @@
158 rm -f core core.* *.core])dnl
159 AC_MSG_RESULT($sudo_cv_func_fnmatch)
160 if test $sudo_cv_func_fnmatch = yes; then
161- [$1]
162+ $1
163 else
164- [$2]
165+ $2
166 fi
167 ])
168
169@@ -246,7 +246,7 @@
170 dnl
171 dnl check for sa_len field in struct sockaddr
172 dnl
173-AC_DEFUN(SUDO_SOCK_SA_LEN,
174+AC_DEFUN([SUDO_SOCK_SA_LEN],
175 [AC_MSG_CHECKING(for sa_len field in struct sockaddr)
176 AC_CACHE_VAL(sudo_cv_sock_sa_len,
177 [AC_TRY_RUN([#include <sys/types.h>
178@@ -269,7 +269,7 @@
179 dnl we can't really trust UID_MAX or MAXUID since they may exist
180 dnl only for backwards compatibility.
181 dnl
182-AC_DEFUN(SUDO_UID_T_LEN,
183+AC_DEFUN([SUDO_UID_T_LEN],
184 [AC_REQUIRE([AC_TYPE_UID_T])
185 AC_MSG_CHECKING(max length of uid_t)
186 AC_CACHE_VAL(sudo_cv_uid_t_len,
187@@ -301,17 +301,29 @@
188
189 dnl
190 dnl check for "long long"
191-dnl XXX hard to cache since it includes 2 tests
192 dnl
193-AC_DEFUN(SUDO_LONG_LONG, [AC_MSG_CHECKING(for long long support)
194-AC_TRY_LINK(, [long long foo = 1000; foo /= 10;], AC_DEFINE(HAVE_LONG_LONG, 1, [Define if your compiler supports the "long long" type.])
195-[AC_TRY_RUN([main() {if (sizeof(long long) == sizeof(long)) exit(0); else exit(1);}], AC_DEFINE(LONG_IS_QUAD, 1, [Define if sizeof(long) == sizeof(long long).]))]
196-AC_MSG_RESULT(yes), AC_MSG_RESULT(no))])
197+AC_DEFUN([SUDO_TYPE_LONG_LONG],
198+[AC_CHECK_TYPES(long long, [AC_DEFINE(HAVE_LONG_LONG, 1, [Define if your
199+compiler supports the "long long" type.])]
200+[AC_MSG_CHECKING(for long and long long equivalence)
201+AC_CACHE_VAL(sudo_cv_type_long_is_quad,
202+[AC_TRY_RUN([
203+main() {
204+if (sizeof(long long) == sizeof(long)) exit(0);
205+else exit(1);
206+}], [sudo_cv_type_long_is_quad=yes],
207+[sudo_cv_type_long_is_quad=no], [sudo_cv_type_long_is_quad=no])
208+rm -f core core.* *.core])dnl
209+AC_MSG_RESULT($sudo_cv_type_long_is_quad)
210+if test $sudo_cv_type_long_is_quad = yes; then
211+ AC_DEFINE(LONG_IS_QUAD, 1, [Define if sizeof(long) == sizeof(long long).])
212+fi
213+])])
214
215 dnl
216 dnl append a libpath to an LDFLAGS style variable
217 dnl
218-AC_DEFUN(SUDO_APPEND_LIBPATH, [
219+AC_DEFUN([SUDO_APPEND_LIBPATH], [
220 if test X"$with_rpath" = X"yes"; then
221 $1="${$1} -L$2 -R$2"
222 else
diff --git a/meta/packages/sudo/files/noexec-link.patch b/meta/packages/sudo/files/noexec-link.patch
index 98b35c657b..e0d35d0e25 100644
--- a/meta/packages/sudo/files/noexec-link.patch
+++ b/meta/packages/sudo/files/noexec-link.patch
@@ -1,3 +1,7 @@
1# libtool requires library's name to start with 'lib', or else error is reported. with "-module" option
2# that check is skipped
3#
4# comments added by Kevin Tian <kevin.tian@intel.com>, 06/23/2010
1Index: sudo-1.6.8p6/Makefile.in 5Index: sudo-1.6.8p6/Makefile.in
2=================================================================== 6===================================================================
3--- sudo-1.6.8p6.orig/Makefile.in 2005-01-21 19:09:26.963276656 -0500 7--- sudo-1.6.8p6.orig/Makefile.in 2005-01-21 19:09:26.963276656 -0500
diff --git a/meta/packages/sudo/files/nonrootinstall.patch b/meta/packages/sudo/files/nonrootinstall.patch
deleted file mode 100644
index db174b373f..0000000000
--- a/meta/packages/sudo/files/nonrootinstall.patch
+++ /dev/null
@@ -1,56 +0,0 @@
1
2#
3# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
4#
5
6Index: sudo-1.6.8p5/Makefile.in
7===================================================================
8--- sudo-1.6.8p5.orig/Makefile.in 2004-11-25 12:27:00.000000000 -0500
9+++ sudo-1.6.8p5/Makefile.in 2005-01-21 18:02:00.447440568 -0500
10@@ -81,10 +81,16 @@
11 mandirform = $(mandir)/$(mantype)$(mansectform)
12
13 # User and group ids the installed files should be "owned" by
14+ifeq ($(DESTDIR),)
15+install_owncmd = -o $(install_uid) -g $(install_gid)
16+endif
17 install_uid = 0
18 install_gid = 0
19
20 # User, group, and mode the sudoers file should be "owned" by (configure)
21+ifeq ($(DESTDIR),)
22+sudoers_owncmd = -o $(sudoers_uid) -g $(sudoers_gid)
23+endif
24 sudoers_uid = @SUDOERS_UID@
25 sudoers_gid = @SUDOERS_GID@
26 sudoers_mode = @SUDOERS_MODE@
27@@ -301,12 +307,11 @@
28 $(DESTDIR)$(noexecdir)
29
30 install-binaries: $(PROGS)
31- $(INSTALL) -O $(install_uid) -G $(install_gid) -M 4111 -s sudo $(DESTDIR)$(sudodir)/sudo
32+ $(INSTALL) $(install_owncmd) -m 4555 -s sudo $(DESTDIR)$(sudodir)/sudo
33+ $(INSTALL) $(install_owncmd) -m 0555 -s visudo $(DESTDIR)$(visudodir)/visudo
34 rm -f $(DESTDIR)$(sudodir)/sudoedit
35 ln $(DESTDIR)$(sudodir)/sudo $(DESTDIR)$(sudodir)/sudoedit
36
37- $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0111 -s visudo $(DESTDIR)$(visudodir)/visudo
38-
39 install-noexec: sudo_noexec.la
40 $(LIBTOOL) --mode=install $(INSTALL) sudo_noexec.la $(DESTDIR)$(noexecdir)
41
42@@ -319,11 +324,11 @@
43 $(srcdir)/sudoers $(DESTDIR)$(sudoersdir)/sudoers
44
45 install-man:
46- $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/sudo.$(mantype) $(DESTDIR)$(mandirsu)/sudo.$(mansectsu)
47+ $(INSTALL) $(install_owncmd) -m 0444 @mansrcdir@/sudo.$(mantype) $(DESTDIR)$(mandirsu)/sudo.$(mansectsu)
48 @rm -f $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu)
49 ln $(DESTDIR)$(mandirsu)/sudo.$(mansectsu) $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu)
50- $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/visudo.$(mantype) $(DESTDIR)$(mandirsu)/visudo.$(mansectsu)
51- $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/sudoers.$(mantype) $(DESTDIR)$(mandirform)/sudoers.$(mansectform)
52+ $(INSTALL) $(install_owncmd) -m 0444 @mansrcdir@/visudo.$(mantype) $(DESTDIR)$(mandirsu)/visudo.$(mansectsu)
53+ $(INSTALL) $(install_owncmd) -m 0444 @mansrcdir@/sudoers.$(mantype) $(DESTDIR)$(mandirform)/sudoers.$(mansectform)
54 @MAN_POSTINSTALL@
55
56 check:
diff --git a/meta/packages/sudo/files/nostrip.patch b/meta/packages/sudo/files/nostrip.patch
index 287d43a8e7..3c71b4fd86 100644
--- a/meta/packages/sudo/files/nostrip.patch
+++ b/meta/packages/sudo/files/nostrip.patch
@@ -1,4 +1,7 @@
1 1# this could be pushed upstream to allowing conditional strip. Now it's not applied.
2# we use sed in recipe for same purpose. Keep here as reminder for upstream
3#
4# comment added by Kevin Tian <kevin.tian@intel.com>, 07/01/2010
2# 5#
3# Patch managed by http://www.holgerschurig.de/patcher.html 6# Patch managed by http://www.holgerschurig.de/patcher.html
4# 7#
diff --git a/meta/packages/sudo/sudo.inc b/meta/packages/sudo/sudo.inc
index 0dfb22ba8a..2add94bef4 100644
--- a/meta/packages/sudo/sudo.inc
+++ b/meta/packages/sudo/sudo.inc
@@ -1,17 +1,25 @@
1DESCRIPTION = "Sudo (superuser do) allows a system \ 1DESCRIPTION = "Sudo (superuser do) allows a system administrator to give certain users (or groups of users) the ability to run some (or all) commands as root while logging all commands and arguments."
2administrator to give certain users (or groups of \
3users) the ability to run some (or all) commands \
4as root while logging all commands and arguments."
5LICENSE = "sudo"
6HOMEPAGE = "http://www.courtesan.com/sudo/" 2HOMEPAGE = "http://www.courtesan.com/sudo/"
3BUGTRACKER = "http://www.sudo.ws/bugs/"
7PRIORITY = "optional" 4PRIORITY = "optional"
8SECTION = "admin" 5SECTION = "admin"
6LICENSE = "ISC & UCB & MIT"
7LIC_FILES_CHKSUM = "file://LICENSE;md5=a7dfe8895011d65d0c2e24aaf5ad0843 \
8 file://nonunix.h;startline=4;endline=28;md5=1e70feedac93a3fd7f5254e3fec52677 \
9 file://vasgroups.c;startline=4;endline=28;md5=1e70feedac93a3fd7f5254e3fec52677 \
10 file://fnmatch.c;startline=6;endline=31;md5=0779058eafd6e23b966585b45bfa54f3 \
11 file://getcwd.c;startline=5;endline=27;md5=08d82914995224a0ca42116d7ca2a218 \
12 file://glob.c;startline=6;endline=31;md5=299cb38ec8d56e89118ce57fb83b4f78 \
13 file://snprintf.c;startline=6;endline=31;md5=dabd56a89a7a773850dc06ee4f1ecde2"
9 14
10inherit autotools 15inherit autotools
11 16
12EXTRA_OECONF = "--with-editor=/bin/vi --with-env-editor" 17EXTRA_OECONF = "--with-editor=/bin/vi --with-env-editor"
13 18
14do_configure_prepend () { 19do_configure_prepend () {
20 # Prevent binaries from being stripped on the host
21 sed -i 's/\($(INSTALL).*\) -s \(.*[(sudo|visudo)]\)/\1 \2/g' Makefile.in
22
15 rm -f acsite.m4 23 rm -f acsite.m4
16 if [ ! -e acinclude.m4 ]; then 24 if [ ! -e acinclude.m4 ]; then
17 cat aclocal.m4 > acinclude.m4 25 cat aclocal.m4 > acinclude.m4
diff --git a/meta/packages/sudo/sudo_1.6.8p12.bb b/meta/packages/sudo/sudo_1.6.8p12.bb
deleted file mode 100644
index 1764df5039..0000000000
--- a/meta/packages/sudo/sudo_1.6.8p12.bb
+++ /dev/null
@@ -1,12 +0,0 @@
1PR = "r3"
2
3SRC_URI = "http://ftp.sudo.ws/sudo/dist/OLD/sudo-1.6.8.tar.gz \
4 http://ftp.sudo.ws/sudo/dist/OLD/sudo-1.6.8p12.patch.gz;patch=1 \
5 file://nonrootinstall.patch;patch=1 \
6 file://nostrip.patch;patch=1 \
7 file://autofoo.patch;patch=1 \
8 file://noexec-link.patch;patch=1"
9
10require sudo.inc
11
12S = "${WORKDIR}/sudo-1.6.8"
diff --git a/meta/packages/sudo/sudo_1.7.2p7.bb b/meta/packages/sudo/sudo_1.7.2p7.bb
new file mode 100644
index 0000000000..3dd6cdf059
--- /dev/null
+++ b/meta/packages/sudo/sudo_1.7.2p7.bb
@@ -0,0 +1,7 @@
1PR = "r0"
2
3SRC_URI = "http://ftp.sudo.ws/sudo/dist/sudo-1.7.2p7.tar.gz \
4 file://noexec-link.patch"
5
6require sudo.inc
7EXTRA_OECONF += " --with-pam=no"
diff --git a/meta/packages/ttf-fonts/liberation-fonts_1.04.bb b/meta/packages/ttf-fonts/liberation-fonts_1.04.bb
index 33bf2a98c0..6b887e31b6 100644
--- a/meta/packages/ttf-fonts/liberation-fonts_1.04.bb
+++ b/meta/packages/ttf-fonts/liberation-fonts_1.04.bb
@@ -1,4 +1,7 @@
1DESCRIPTION = "The fonts - TTF Edition" 1DESCRIPTION = "The Liberation(tm) Fonts is a font family originally created by Ascender(c) which aims metric compatibility as usage of Arial, Times New Roman, Courier New"
2HOMEPAGE = "https://fedorahosted.org/liberation-fonts/"
3BUGTRACKER = "https://bugzilla.redhat.com/"
4
2SECTION = "x11/fonts" 5SECTION = "x11/fonts"
3PRIORITY = "optional" 6PRIORITY = "optional"
4LICENSE = "GPLv2" 7LICENSE = "GPLv2"
@@ -9,18 +12,18 @@ PE = "1"
9SRC_URI = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-${PV}.tar.gz \ 12SRC_URI = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-${PV}.tar.gz \
10 file://30-liberation-aliases.conf" 13 file://30-liberation-aliases.conf"
11 14
12do_install () { 15do_install () {
13 install -d ${D}${datadir}/fonts/ttf/ 16 install -d ${D}${datadir}/fonts/ttf/
14 for i in *.ttf; do 17 for i in *.ttf; do
15 install -m 0644 $i ${D}${prefix}/share/fonts/ttf/${i} 18 install -m 0644 $i ${D}${prefix}/share/fonts/ttf/${i}
16 done 19 done
17 20
18 install -d ${D}${sysconfdir}/fonts/conf.d/ 21 install -d ${D}${sysconfdir}/fonts/conf.d/
19 install -m 0644 ${WORKDIR}/30-liberation-aliases.conf ${D}${sysconfdir}/fonts/conf.d/ 22 install -m 0644 ${WORKDIR}/30-liberation-aliases.conf ${D}${sysconfdir}/fonts/conf.d/
20 23
21 install -d ${D}${prefix}/share/doc/${PN}/ 24 install -d ${D}${prefix}/share/doc/${PN}/
22 install -m 0644 License.txt ${D}${datadir}/doc/${PN}/ 25 install -m 0644 License.txt ${D}${datadir}/doc/${PN}/
23} 26}
24 27
25pkg_postinst () { 28pkg_postinst () {
26#!/bin/sh 29#!/bin/sh
diff --git a/meta/packages/tzdata/tzdata_2009s.bb b/meta/packages/tzdata/tzdata_2010j.bb
index 2f9e0c8e49..97eb1173c1 100644
--- a/meta/packages/tzdata/tzdata_2009s.bb
+++ b/meta/packages/tzdata/tzdata_2010j.bb
@@ -1,6 +1,9 @@
1DESCRIPTION = "Timezone data" 1DESCRIPTION = "Timezone data"
2HOMEPAGE = "ftp://elsie.nci.nih.gov/pub/"
2SECTION = "base" 3SECTION = "base"
3PRIORITY = "optional" 4PRIORITY = "optional"
5LICENSE = "PD"
6LIC_FILES_CHKSUM = "file://asia;beginline=2;endline=3;md5=06468c0e84ef4d4c97045a4a29b08234"
4DEPENDS = "tzcode-native" 7DEPENDS = "tzcode-native"
5 8
6PR = "r0" 9PR = "r0"
diff --git a/meta/packages/unzip/unzip_552.bb b/meta/packages/unzip/unzip_6.0.bb
index 84e4fd4a73..7b0f9dc721 100644
--- a/meta/packages/unzip/unzip_552.bb
+++ b/meta/packages/unzip/unzip_6.0.bb
@@ -1,10 +1,13 @@
1DESCRIPTION = "A (de)compression library for the ZIP format" 1DESCRIPTION = "A (de)compression library for the ZIP format"
2HOMEPAGE = "http://www.info-zip.org"
2SECTION = "console/utils" 3SECTION = "console/utils"
3LICENSE = "Info-ZIP" 4LICENSE = "Info-ZIP"
4PR = "r1" 5LIC_FILES_CHKSUM = "file://LICENSE;md5=94caec5a51ef55ef711ee4e8b1c69e29"
6PE = "1"
7PR = "r0"
5 8
6SRC_URI = "http://ftp.info-zip.org/pub/infozip/src/unzip${PV}.tar.gz" 9SRC_URI = "ftp://ftp.info-zip.org/pub/infozip/src/unzip60.tgz"
7S = "${WORKDIR}/unzip-5.52" 10S = "${WORKDIR}/unzip60"
8 11
9export LD = "${CC}" 12export LD = "${CC}"
10LD_virtclass-native = "${CC}" 13LD_virtclass-native = "${CC}"
diff --git a/meta/packages/v86d/v86d_0.1.5.bb b/meta/packages/v86d/v86d_0.1.9.bb
index 30a1c092a4..19510b9348 100644
--- a/meta/packages/v86d/v86d_0.1.5.bb
+++ b/meta/packages/v86d/v86d_0.1.9.bb
@@ -1,11 +1,14 @@
1DESCRIPTION = "User support binary for the uvesafb kernel module" 1DESCRIPTION = "User support binary for the uvesafb kernel module"
2SRC_URI = "http://dev.gentoo.org/~spock/projects/uvesafb/archive/v86d-${PV}.tar.bz2 \ 2HOMEPAGE = "http://dev.gentoo.org/~spock/projects/uvesafb/"
3 file://fbsetup" 3
4DEPENDS = "virtual/kernel"
5LICENSE = "GPLv2" 4LICENSE = "GPLv2"
6PR = "r3"
7 5
6DEPENDS = "virtual/kernel"
8RRECOMMENDS_${PN} = "kernel-module-uvesafb" 7RRECOMMENDS_${PN} = "kernel-module-uvesafb"
8PR = "r0"
9
10SRC_URI = "http://dev.gentoo.org/~spock/projects/uvesafb/archive/v86d-${PV}.tar.bz2 \
11 file://fbsetup"
9 12
10PACKAGE_ARCH = "${MACHINE_ARCH}" 13PACKAGE_ARCH = "${MACHINE_ARCH}"
11COMPATIBLE_MACHINE = "(qemux86|bootcdx86)" 14COMPATIBLE_MACHINE = "(qemux86|bootcdx86)"
diff --git a/meta/packages/vte/vte.inc b/meta/packages/vte/vte.inc
index ba06151c74..6138f8ca01 100644
--- a/meta/packages/vte/vte.inc
+++ b/meta/packages/vte/vte.inc
@@ -1,5 +1,6 @@
1DESCRIPTION = "vte is a virtual terminal emulator" 1DESCRIPTION = "vte is a virtual terminal emulator"
2LICENSE = "LGPL" 2BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte"
3LICENSE = "LGPLv2.1+"
3DEPENDS = " glib-2.0 gtk+ intltool-native ncurses" 4DEPENDS = " glib-2.0 gtk+ intltool-native ncurses"
4RDEPENDS_libvte = "vte-termcap" 5RDEPENDS_libvte = "vte-termcap"
5 6
diff --git a/meta/packages/webkit/webkit-gtk_svn.bb b/meta/packages/webkit/webkit-gtk_svn.bb
index f999280128..acce1c3f1c 100644
--- a/meta/packages/webkit/webkit-gtk_svn.bb
+++ b/meta/packages/webkit/webkit-gtk_svn.bb
@@ -1,3 +1,9 @@
1DESCRIPTION = "WebKitGTK+ is the port of the portable web rendering engine WebKitK to the GTK+ platform."
2HOMEPAGE = "http://www.webkitgtk.org/"
3BUGTRACKER = "http://bugs.webkit.org/"
4
5LICENSE = "BSD & LGPLv2+"
6
1DEPENDS = "curl icu libxml2 cairo libxslt libidn gnutls gtk+ gstreamer gst-plugins-base gnome-vfs flex-native gperf-native perl-native sqlite3" 7DEPENDS = "curl icu libxml2 cairo libxslt libidn gnutls gtk+ gstreamer gst-plugins-base gnome-vfs flex-native gperf-native perl-native sqlite3"
2DEPENDS_darwin8 = "curl icu libxml2 cairo libxslt libidn gnutls gtk+ gstreamer flex-native gperf-native perl-native sqlite3" 8DEPENDS_darwin8 = "curl icu libxml2 cairo libxslt libidn gnutls gtk+ gstreamer flex-native gperf-native perl-native sqlite3"
3 9
diff --git a/meta/packages/xcb/libpthread-stubs_0.1.bb b/meta/packages/xcb/libpthread-stubs_0.3.bb
index 9dd0aaff43..8ded7a0747 100644
--- a/meta/packages/xcb/libpthread-stubs_0.1.bb
+++ b/meta/packages/xcb/libpthread-stubs_0.3.bb
@@ -1,9 +1,11 @@
1DESCRIPTION = "This library provides weak aliases for pthread functions \ 1DESCRIPTION = "This library provides weak aliases for pthread functions \
2not provided in libc or otherwise available by default." 2not provided in libc or otherwise available by default."
3SECTION = "x11/libs"
4LICENSE = "MIT-X"
5HOMEPAGE = "http://xcb.freedesktop.org" 3HOMEPAGE = "http://xcb.freedesktop.org"
6PR = "r1" 4BUGTRACKER = "http://bugs.freedesktop.org/buglist.cgi?product=XCB"
5SECTION = "x11/libs"
6LICENSE = "MIT"
7LIC_FILES_CHKSUM = "file://COPYING;md5=6edc1fea03d959f0c2d743fe5ca746ad"
8PR = "r0"
7 9
8PARALLEL_MAKE = "" 10PARALLEL_MAKE = ""
9#DEPENDS = "xcb-proto xproto libxau libxslt-native" 11#DEPENDS = "xcb-proto xproto libxau libxslt-native"
diff --git a/meta/packages/xorg-app/xrandr_1.2.3.bb b/meta/packages/xorg-app/xrandr_1.3.2.bb
index 05ef6af95d..3ddccb2496 100644
--- a/meta/packages/xorg-app/xrandr_1.2.3.bb
+++ b/meta/packages/xorg-app/xrandr_1.3.2.bb
@@ -2,7 +2,9 @@ require xorg-app-common.inc
2 2
3DESCRIPTION = "X Resize and Rotate extension command." 3DESCRIPTION = "X Resize and Rotate extension command."
4LICENSE= "BSD-X" 4LICENSE= "BSD-X"
5LIC_FILES_CHKSUM = "file://COPYING;md5=fe1608bdb33cf8c62a4438f7d34679b3"
5DEPENDS += "libxrandr libxrender" 6DEPENDS += "libxrandr libxrender"
6PE = "1" 7PE = "1"
8PR = "r0"
7 9
8SRC_URI += "file://resolve_symbol_clash.patch;patch=1" 10SRC_URI += "file://resolve_symbol_clash.patch"
diff --git a/meta/packages/xorg-driver/xf86-driver-common.inc b/meta/packages/xorg-driver/xf86-driver-common.inc
index 9d83ce9ae3..550423b0f8 100644
--- a/meta/packages/xorg-driver/xf86-driver-common.inc
+++ b/meta/packages/xorg-driver/xf86-driver-common.inc
@@ -1,5 +1,6 @@
1DESCRIPTION = "X driver" 1DESCRIPTION = "X driver"
2HOMEPAGE = "http://www.x.org" 2HOMEPAGE = "http://www.x.org"
3BUGTRACKER = "https://bugs.freedesktop.org"
3SECTION = "x11/drivers" 4SECTION = "x11/drivers"
4LICENSE = "MIT-X" 5LICENSE = "MIT-X"
5 6
diff --git a/meta/packages/xorg-driver/xf86-input-evdev_2.3.2.bb b/meta/packages/xorg-driver/xf86-input-evdev_2.4.0.bb
index d1fb0f000d..49bfb30c94 100644
--- a/meta/packages/xorg-driver/xf86-input-evdev_2.3.2.bb
+++ b/meta/packages/xorg-driver/xf86-input-evdev_2.4.0.bb
@@ -2,3 +2,6 @@ require xf86-input-common.inc
2 2
3DESCRIPTION = "X.Org X server -- evdev input driver" 3DESCRIPTION = "X.Org X server -- evdev input driver"
4 4
5LIC_FILES_CHKSUM = "file://COPYING;md5=ebf4ad82cd33b1432eacb1798a43c092"
6
7PR = "r0"
diff --git a/meta/packages/xorg-driver/xf86-video-vmware_10.16.9.bb b/meta/packages/xorg-driver/xf86-video-vmware_11.0.1.bb
index 74a8848637..dafdbdf481 100644
--- a/meta/packages/xorg-driver/xf86-video-vmware_10.16.9.bb
+++ b/meta/packages/xorg-driver/xf86-video-vmware_11.0.1.bb
@@ -1,7 +1,12 @@
1require xf86-video-common.inc 1require xf86-video-common.inc
2 2
3DESCRIPTION = "X.Org X server -- VMware SVGA II display driver" 3DESCRIPTION = "X.Org X server -- VMware SVGA II display driver"
4
5LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
6
4DEPENDS += "virtual/libx11 libxvmc drm glproto \ 7DEPENDS += "virtual/libx11 libxvmc drm glproto \
5 virtual/libgl xineramaproto libpciaccess" 8 virtual/libgl xineramaproto libpciaccess"
6 9
7COMPATIBLE_HOST = '(i.86.*-linux)' \ No newline at end of file 10PR = "r0"
11
12COMPATIBLE_HOST = '(i.86.*-linux)'
diff --git a/meta/packages/xorg-font/font-alias_1.0.2.bb b/meta/packages/xorg-font/font-alias_1.0.2.bb
index 5314cbc5db..e2ca8f2dd3 100644
--- a/meta/packages/xorg-font/font-alias_1.0.2.bb
+++ b/meta/packages/xorg-font/font-alias_1.0.2.bb
@@ -1,7 +1,7 @@
1require xorg-font-common.inc
2
3DESCRIPTION = "X font aliases." 1DESCRIPTION = "X font aliases."
4 2
3require xorg-font-common.inc
4
5DEPENDS = "virtual/xserver font-util" 5DEPENDS = "virtual/xserver font-util"
6RDEPENDS = "encodings font-util" 6RDEPENDS = "encodings font-util"
7 7
diff --git a/meta/packages/xorg-font/xorg-minimal-fonts.bb b/meta/packages/xorg-font/xorg-minimal-fonts.bb
index 2262f03e84..db3dc96b10 100644
--- a/meta/packages/xorg-font/xorg-minimal-fonts.bb
+++ b/meta/packages/xorg-font/xorg-minimal-fonts.bb
@@ -1,4 +1,7 @@
1DESCRIPTION = "Xorg minimal fonts data"
1HOMEPAGE = "http://www.x.org" 2HOMEPAGE = "http://www.x.org"
3BUGTRACKER = "n/a"
4
2SECTION = "x11/fonts" 5SECTION = "x11/fonts"
3LICENSE = "MIT-X" 6LICENSE = "MIT-X"
4 7
diff --git a/meta/packages/xorg-lib/libpciaccess_0.10.5.bb b/meta/packages/xorg-lib/libpciaccess_0.10.5.bb
deleted file mode 100644
index 5eedaa0312..0000000000
--- a/meta/packages/xorg-lib/libpciaccess_0.10.5.bb
+++ /dev/null
@@ -1,3 +0,0 @@
1require xorg-lib-common.inc
2
3DEPENDS += "xproto virtual/libx11"
diff --git a/meta/packages/xorg-lib/libpciaccess_0.11.0.bb b/meta/packages/xorg-lib/libpciaccess_0.11.0.bb
new file mode 100644
index 0000000000..b4032c0a10
--- /dev/null
+++ b/meta/packages/xorg-lib/libpciaccess_0.11.0.bb
@@ -0,0 +1,10 @@
1DESCRIPTION = "Generic PCI access library"
2
3require xorg-lib-common.inc
4
5LICENSE = "MIT & MIT-style"
6LIC_FILES_CHKSUM = "file://COPYING;md5=ad1647740bccb2315e6f6368dce05c6d"
7
8PR = "r0"
9
10DEPENDS += "xproto virtual/libx11"
diff --git a/meta/packages/xorg-lib/xkeyboard-config_1.6.bb b/meta/packages/xorg-lib/xkeyboard-config_1.9.bb
index 9a7494d48a..0e59bd506f 100644
--- a/meta/packages/xorg-lib/xkeyboard-config_1.6.bb
+++ b/meta/packages/xorg-lib/xkeyboard-config_1.9.bb
@@ -1,10 +1,15 @@
1HOMEPAGE = "http://freedesktop.org/wiki/Software/XKeyboardConfig"
2DESCRIPTION = "Keyboard configuration database for X Window" 1DESCRIPTION = "Keyboard configuration database for X Window"
3SRC_URI = "http://xlibs.freedesktop.org/xkbdesc/xkeyboard-config-${PV}.tar.bz2" 2HOMEPAGE = "http://freedesktop.org/wiki/Software/XKeyboardConfig"
3BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xkeyboard-config"
4
5LICENSE = "MIT & MIT-style"
6LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9"
7
8SRC_URI = "http://people.freedesktop.org/~svu/xkeyboard-config-${PV}.tar.bz2"
4SECTION = "x11/libs" 9SECTION = "x11/libs"
5LICENSE = "MIT-X"
6DEPENDS = "intltool xkbcomp-native glib-2.0" 10DEPENDS = "intltool xkbcomp-native glib-2.0"
7PR = "r2" 11
12PR = "r0"
8 13
9EXTRA_OECONF = "--with-xkb-rules-symlink=xorg" 14EXTRA_OECONF = "--with-xkb-rules-symlink=xorg"
10 15
diff --git a/meta/packages/xorg-util/files/unbreak_cross_compile.patch b/meta/packages/xorg-util/files/unbreak_cross_compile.patch
deleted file mode 100644
index 1f784944d3..0000000000
--- a/meta/packages/xorg-util/files/unbreak_cross_compile.patch
+++ /dev/null
@@ -1,19 +0,0 @@
1---
2 xorg-macros.m4.in | 2 --
3 1 file changed, 2 deletions(-)
4
5--- util-macros-1.1.6.orig/xorg-macros.m4.in
6+++ util-macros-1.1.6/xorg-macros.m4.in
7@@ -252,12 +252,10 @@ HAVE_DEFS_ENT=
8 BUILDTXTDOC=no
9 BUILDPDFDOC=no
10 BUILDPSDOC=no
11 BUILDHTMLDOC=no
12
13-AC_CHECK_FILE([$XORG_SGML_PATH/X11/defs.ent], [HAVE_DEFS_ENT=yes])
14-
15 AC_PATH_PROG(DOCBOOKPS, docbook2ps)
16 AC_PATH_PROG(DOCBOOKPDF, docbook2pdf)
17 AC_PATH_PROG(DOCBOOKHTML, docbook2html)
18 AC_PATH_PROG(DOCBOOKTXT, docbook2txt)
19
diff --git a/meta/packages/xorg-util/util-macros_1.6.0.bb b/meta/packages/xorg-util/util-macros_1.10.0.bb
index 052a658736..d3bf613a63 100644
--- a/meta/packages/xorg-util/util-macros_1.6.0.bb
+++ b/meta/packages/xorg-util/util-macros_1.10.0.bb
@@ -1,9 +1,12 @@
1DESCRIPTION = "X autotools macros"
2
1require xorg-util-common.inc 3require xorg-util-common.inc
2 4
3DESCRIPTION = "X autotools macros" 5LICENSE = "MIT & MIT-style"
4PE = "1" 6LIC_FILES_CHKSUM = "file://COPYING;md5=b8b2965be9997891cf7ddccdfb242ca8"
5 7
6SRC_URI += "file://unbreak_cross_compile.patch;patch=1" 8PE = "1"
9PR = "r0"
7 10
8# ${PN} is empty so we need to tweak -dev and -dbg package dependencies 11# ${PN} is empty so we need to tweak -dev and -dbg package dependencies
9DEPENDS = "gettext" 12DEPENDS = "gettext"
diff --git a/meta/packages/xorg-util/xorg-util-common.inc b/meta/packages/xorg-util/xorg-util-common.inc
index 86603e40b1..18d022c49f 100644
--- a/meta/packages/xorg-util/xorg-util-common.inc
+++ b/meta/packages/xorg-util/xorg-util-common.inc
@@ -1,4 +1,6 @@
1HOMEPAGE = "http://www.x.org" 1HOMEPAGE = "http://www.x.org"
2BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg"
3
2SECTION = "x11/utils" 4SECTION = "x11/utils"
3LICENSE = "MIT-X" 5LICENSE = "MIT-X"
4 6
diff --git a/meta/packages/zip/zip.inc b/meta/packages/zip/zip.inc
index 7593d924a1..9a269ea890 100644
--- a/meta/packages/zip/zip.inc
+++ b/meta/packages/zip/zip.inc
@@ -1,8 +1,11 @@
1DESCRIPTION = "Archiver for .zip files" 1DESCRIPTION = "Archiver for .zip files"
2HOMEPAGE = "http://www.info-zip.org"
2SECTION = "console/utils" 3SECTION = "console/utils"
4
3LICENSE = "Info-ZIP" 5LICENSE = "Info-ZIP"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=04d43c5d70b496c032308106e26ae17d"
4 7
5SRC_URI = "http://ftp.info-zip.org/pub/infozip/src/zip${@bb.data.getVar('PV',d,1).replace('.', '')}.tar.gz" 8SRC_URI = "ftp://ftp.info-zip.org/pub/infozip/src/zip${@bb.data.getVar('PV',d,1).replace('.', '')}.tgz"
6 9
7EXTRA_OEMAKE = "'CC=${CC}' 'BIND=${CC}' 'AS=${CC} -c' 'CPP=${CPP}' \ 10EXTRA_OEMAKE = "'CC=${CC}' 'BIND=${CC}' 'AS=${CC} -c' 'CPP=${CPP}' \
8 'CFLAGS=-I. -DUNIX ${CFLAGS}' 'INSTALL=install' \ 11 'CFLAGS=-I. -DUNIX ${CFLAGS}' 'INSTALL=install' \
diff --git a/meta/packages/zip/zip_2.32.bb b/meta/packages/zip/zip_2.32.bb
deleted file mode 100644
index 4e01db84c7..0000000000
--- a/meta/packages/zip/zip_2.32.bb
+++ /dev/null
@@ -1,3 +0,0 @@
1require zip.inc
2
3PR="r1"
diff --git a/meta/packages/zip/zip_3.0.bb b/meta/packages/zip/zip_3.0.bb
new file mode 100644
index 0000000000..c5df637a38
--- /dev/null
+++ b/meta/packages/zip/zip_3.0.bb
@@ -0,0 +1,6 @@
1require zip.inc
2
3PR="r0"
4
5# zip-2.32 still uses directory name of zip-2.30
6S = "${WORKDIR}/zip30"
diff --git a/meta/site/common b/meta/site/common
index 90766886b3..631be4fa06 100644
--- a/meta/site/common
+++ b/meta/site/common
@@ -3,3 +3,10 @@ mr_cv_target_elf=${mr_cv_target_elf=yes}
3 3
4# Normally kernels have /dev/random enabled 4# Normally kernels have /dev/random enabled
5ac_cv_file__dev_random=${ac_cv_file__dev_random=yes} 5ac_cv_file__dev_random=${ac_cv_file__dev_random=yes}
6
7# Avoid sudo to assume void for unsetenv in cross environment, or else it conflicts with
8# target stdlib.h prototype which follows POSIX compiliance. Mark for upstream.
9sudo_cv_func_unsetenv_void=no
10
11# Whether gettext macros should add rpath options
12acl_cv_rpath=${acl_cv_rpath=no}