summaryrefslogtreecommitdiff
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 6d74e5b85..fdf1e20f8 100755
--- a/bitbake/bin/bitbake
+++ b/bitbake/bin/bitbake
@@ -22,127 +22,137 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-import sys, os, getopt, re, time, optparse, xmlrpclib
-sys.path.insert(0,os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib'))
+import os
+import sys
+sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])),
+ 'lib'))
+
+import optparse
+import warnings
+from traceback import format_exception
import bb
+import bb.msg
from bb import cooker
from bb import ui
from bb import server
from bb.server import none
#from bb.server import xmlrpc
-__version__ = "1.9.0"
+__version__ = "1.11.0"
+
-if sys.hexversion < 0x020500F0:
- print "Sorry, python 2.5 or later is required for this version of bitbake"
- sys.exit(1)
#============================================================================#
# BBOptions
#============================================================================#
-class BBConfiguration( object ):
+class BBConfiguration(object):
"""
Manages build options and configurations for one run
"""
- def __init__( self, options ):
+
+ def __init__(self, options):
for key, val in options.__dict__.items():
- setattr( self, key, val )
+ setattr(self, key, val)
+ self.pkgs_to_build = []
def print_exception(exc, value, tb):
- """
- Print the exception to stderr, only showing the traceback if bitbake
- debugging is enabled.
- """
- if not bb.msg.debug_level['default']:
- tb = None
+ """Send exception information through bb.msg"""
+ bb.fatal("".join(format_exception(exc, value, tb, limit=8)))
+
+sys.excepthook = print_exception
- sys.__excepthook__(exc, value, tb)
+_warnings_showwarning = warnings.showwarning
+def _showwarning(message, category, filename, lineno, file=None, line=None):
+ """Display python warning messages using bb.msg"""
+ if file is not None:
+ if _warnings_showwarning is not None:
+ _warnings_showwarning(message, category, filename, lineno, file, line)
+ else:
+ s = warnings.formatwarning(message, category, filename, lineno)
+ s = s.split("\n")[0]
+ bb.msg.warn(None, s)
+
+warnings.showwarning = _showwarning
+warnings.simplefilter("ignore", DeprecationWarning)
#============================================================================#
# main
#============================================================================#
def main():
- return_value = 0
- pythonver = sys.version_info
- if pythonver[0] < 2 or (pythonver[0] == 2 and pythonver[1] < 5):
- print "Sorry, bitbake needs python 2.5 or later."
- sys.exit(1)
+ return_value = 1
- parser = optparse.OptionParser( version = "BitBake Build Tool Core version %s, %%prog version %s" % ( bb.__version__, __version__ ),
- usage = """%prog [options] [package ...]
+ parser = optparse.OptionParser(
+ version = "BitBake Build Tool Core version %s, %%prog version %s" % (bb.__version__, __version__),
+ usage = """%prog [options] [package ...]
Executes the specified task (default is 'build') for a given set of BitBake files.
It expects that BBFILES is defined, which is a space separated list of files to
be executed. BBFILES does support wildcards.
-Default BBFILES are the .bb files in the current directory.""" )
-
- parser.add_option( "-b", "--buildfile", help = "execute the task against this .bb file, rather than a package from BBFILES.",
- action = "store", dest = "buildfile", default = None )
+Default BBFILES are the .bb files in the current directory.""")
- 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.",
- action = "store_false", dest = "abort", default = True )
+ parser.add_option("-b", "--buildfile", help = "execute the task against this .bb file, rather than a package from BBFILES.",
+ action = "store", dest = "buildfile", default = None)
- parser.add_option( "-a", "--tryaltconfigs", help = "continue with builds by trying to use alternative providers where possible.",
- action = "store_true", dest = "tryaltconfigs", default = False )
+ 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.",
+ action = "store_false", dest = "abort", default = True)
- parser.add_option( "-f", "--force", help = "force run of specified cmd, regardless of stamp status",
- action = "store_true", dest = "force", default = False )
+ parser.add_option("-a", "--tryaltconfigs", help = "continue with builds by trying to use alternative providers where possible.",
+ action = "store_true", dest = "tryaltconfigs", default = False)
- parser.add_option( "-i", "--interactive", help = "drop into the interactive mode also called the BitBake shell.",
- action = "store_true", dest = "interactive", default = False )
+ parser.add_option("-f", "--force", help = "force run of specified cmd, regardless of stamp status",
+ action = "store_true", dest = "force", default = False)
- 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",
- action = "store", dest = "cmd" )
+ 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",
+ action = "store", dest = "cmd")
- parser.add_option( "-r", "--read", help = "read the specified file before bitbake.conf",
- action = "append", dest = "file", default = [] )
+ parser.add_option("-r", "--read", help = "read the specified file before bitbake.conf",
+ action = "append", dest = "file", default = [])
- parser.add_option( "-v", "--verbose", help = "output more chit-chat to the terminal",
- action = "store_true", dest = "verbose", default = False )
+ parser.add_option("-v", "--verbose", help = "output more chit-chat to the terminal",
+ action = "store_true", dest = "verbose", default = False)
- parser.add_option( "-D", "--debug", help = "Increase the debug level. You can specify this more than once.",
+ parser.add_option("-D", "--debug", help = "Increase the debug level. You can specify this more than once.",
action = "count", dest="debug", default = 0)
- parser.add_option( "-n", "--dry-run", help = "don't execute, just go through the motions",
- action = "store_true", dest = "dry_run", default = False )
+ parser.add_option("-n", "--dry-run", help = "don't execute, just go through the motions",
+ action = "store_true", dest = "dry_run", default = False)
- parser.add_option( "-p", "--parse-only", help = "quit after parsing the BB files (developers only)",
- action = "store_true", dest = "parse_only", default = False )
+ parser.add_option("-p", "--parse-only", help = "quit after parsing the BB files (developers only)",
+ action = "store_true", dest = "parse_only", default = False)
- parser.add_option( "-d", "--disable-psyco", help = "disable using the psyco just-in-time compiler (not recommended)",
- action = "store_true", dest = "disable_psyco", default = False )
+ parser.add_option("-d", "--disable-psyco", help = "disable using the psyco just-in-time compiler (not recommended)",
+ action = "store_true", dest = "disable_psyco", default = False)
- parser.add_option( "-s", "--show-versions", help = "show current and preferred versions of all packages",
- action = "store_true", dest = "show_versions", default = False )
+ parser.add_option("-s", "--show-versions", help = "show current and preferred versions of all packages",
+ action = "store_true", dest = "show_versions", default = False)
- parser.add_option( "-e", "--environment", help = "show the global or per-package environment (this is what used to be bbread)",
- action = "store_true", dest = "show_environment", default = False )
+ parser.add_option("-e", "--environment", help = "show the global or per-package environment (this is what used to be bbread)",
+ action = "store_true", dest = "show_environment", default = False)
- parser.add_option( "-g", "--graphviz", help = "emit the dependency trees of the specified packages in the dot syntax",
- action = "store_true", dest = "dot_graph", default = False )
+ parser.add_option("-g", "--graphviz", help = "emit the dependency trees of the specified packages in the dot syntax",
+ action = "store_true", dest = "dot_graph", default = False)
- 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""",
- action = "append", dest = "extra_assume_provided", default = [] )
+ 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""",
+ action = "append", dest = "extra_assume_provided", default = [])
- parser.add_option( "-l", "--log-domains", help = """Show debug logging for the specified logging domains""",
- action = "append", dest = "debug_domains", default = [] )
+ parser.add_option("-l", "--log-domains", help = """Show debug logging for the specified logging domains""",
+ action = "append", dest = "debug_domains", default = [])
- parser.add_option( "-P", "--profile", help = "profile the command and print a report",
- action = "store_true", dest = "profile", default = False )
+ parser.add_option("-P", "--profile", help = "profile the command and print a report",
+ action = "store_true", dest = "profile", default = False)
- parser.add_option( "-u", "--ui", help = "userinterface to use",
+ parser.add_option("-u", "--ui", help = "userinterface to use",
action = "store", dest = "ui")
- parser.add_option( "", "--revisions-changed", help = "Set the exit code depending on whether upstream floating revisions have changed or not",
- action = "store_true", dest = "revisions_changed", default = False )
+ parser.add_option("", "--revisions-changed", help = "Set the exit code depending on whether upstream floating revisions have changed or not",
+ action = "store_true", dest = "revisions_changed", default = False)
options, args = parser.parse_args(sys.argv)
configuration = BBConfiguration(options)
- configuration.pkgs_to_build = []
configuration.pkgs_to_build.extend(args[1:])
#server = bb.server.xmlrpc
@@ -150,7 +160,7 @@ Default BBFILES are the .bb files in the current directory.""" )
# Save a logfile for cooker into the current working directory. When the
# server is daemonized this logfile will be truncated.
- cooker_logfile = os.path.join (os.getcwd(), "cooker.log")
+ cooker_logfile = os.path.join(os.getcwd(), "cooker.log")
bb.utils.init_logger(bb.msg, configuration.verbose, configuration.debug,
configuration.debug_domains)
@@ -169,8 +179,6 @@ Default BBFILES are the .bb files in the current directory.""" )
server.BitBakeServerFork(serverinfo, cooker.serve, cooker_logfile)
del cooker
- sys.excepthook = print_exception
-
# Setup a connection to the server (cooker)
serverConnection = server.BitBakeServerConnection(serverinfo)
@@ -181,19 +189,24 @@ Default BBFILES are the .bb files in the current directory.""" )
ui = "knotty"
try:
- # Dynamically load the UI based on the ui name. Although we
- # suggest a fixed set this allows you to have flexibility in which
- # ones are available.
- exec "from bb.ui import " + ui
- exec "return_value = " + ui + ".init(serverConnection.connection, serverConnection.events)"
- except ImportError:
+ # Dynamically load the UI based on the ui name. Although we
+ # suggest a fixed set this allows you to have flexibility in which
+ # ones are available.
+ uimodule = __import__("bb.ui", fromlist = [ui])
+ ui_init = getattr(uimodule, ui).init
+ except AttributeError:
print "FATAL: Invalid user interface '%s' specified. " % ui
print "Valid interfaces are 'ncurses', 'depexp' or the default, 'knotty'."
- except Exception, e:
- print "FATAL: Unable to start to '%s' UI due to exception: %s." % (configuration.ui, e)
+ else:
+ try:
+ return_value = ui_init(serverConnection.connection, serverConnection.events)
+ except Exception as e:
+ print "FATAL: Unable to start to '%s' UI: %s" % (ui, e)
+ raise
finally:
serverConnection.terminate()
- return return_value
+
+ return return_value
if __name__ == "__main__":
ret = main()
diff --git a/bitbake/bin/bitdoc b/bitbake/bin/bitdoc
index 4940f660a..8043b2bd1 100755
--- a/bitbake/bin/bitdoc
+++ b/bitbake/bin/bitdoc
@@ -48,7 +48,7 @@ class HTMLFormatter:
From pydoc... almost identical at least
"""
while pairs:
- (a,b) = pairs[0]
+ (a, b) = pairs[0]
text = join(split(text, a), b)
pairs = pairs[1:]
return text
@@ -87,7 +87,7 @@ class HTMLFormatter:
return txt + ",".join(txts)
- def groups(self,item):
+ def groups(self, item):
"""
Create HTML to link to related groups
"""
@@ -99,12 +99,12 @@ class HTMLFormatter:
txt = "<p><b>See also:</b><br>"
txts = []
for group in item.groups():
- txts.append( """<a href="group%s.html">%s</a> """ % (group,group) )
+ txts.append( """<a href="group%s.html">%s</a> """ % (group, group) )
return txt + ",".join(txts)
- def createKeySite(self,item):
+ def createKeySite(self, item):
"""
Create a site for a key. It contains the header/navigator, a heading,
the description, links to related keys and to the groups.
@@ -149,8 +149,7 @@ class HTMLFormatter:
"""
groups = ""
- sorted_groups = doc.groups()
- sorted_groups.sort()
+ sorted_groups = sorted(doc.groups())
for group in sorted_groups:
groups += """<a href="group%s.html">%s</a><br>""" % (group, group)
@@ -185,8 +184,7 @@ class HTMLFormatter:
Create Overview of all avilable keys
"""
keys = ""
- sorted_keys = doc.doc_keys()
- sorted_keys.sort()
+ sorted_keys = sorted(doc.doc_keys())
for key in sorted_keys:
keys += """<a href="key%s.html">%s</a><br>""" % (key, key)
@@ -214,7 +212,7 @@ class HTMLFormatter:
description += "<h2 Description of Grozp %s</h2>" % gr
description += _description
- items.sort(lambda x,y:cmp(x.name(),y.name()))
+ items.sort(lambda x, y:cmp(x.name(), y.name()))
for group in items:
groups += """<a href="key%s.html">%s</a><br>""" % (group.name(), group.name())
@@ -343,7 +341,7 @@ class DocumentationItem:
def addGroup(self, group):
self._groups.append(group)
- def addRelation(self,relation):
+ def addRelation(self, relation):
self._related.append(relation)
def sort(self):
@@ -396,7 +394,7 @@ class Documentation:
"""
return self.__groups.keys()
- def group_content(self,group_name):
+ def group_content(self, group_name):
"""
Return a list of keys/names that are in a specefic
group or the empty list
@@ -412,7 +410,7 @@ def parse_cmdline(args):
Parse the CMD line and return the result as a n-tuple
"""
- parser = optparse.OptionParser( version = "Bitbake Documentation Tool Core version %s, %%prog version %s" % (bb.__version__,__version__))
+ parser = optparse.OptionParser( version = "Bitbake Documentation Tool Core version %s, %%prog version %s" % (bb.__version__, __version__))
usage = """%prog [options]
Create 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....
parser.add_option( "-D", "--debug", help = "Increase the debug level",
action = "count", dest = "debug", default = 0 )
- parser.add_option( "-v","--verbose", help = "output more chit-char to the terminal",
+ parser.add_option( "-v", "--verbose", help = "output more chit-char to the terminal",
action = "store_true", dest = "verbose", default = False )
options, args = parser.parse_args( sys.argv )
@@ -443,7 +441,7 @@ def main():
The main Method
"""
- (config_file,output_dir) = parse_cmdline( sys.argv )
+ (config_file, output_dir) = parse_cmdline( sys.argv )
# right to let us load the file now
try:
diff --git a/bitbake/doc/manual/usermanual.xml b/bitbake/doc/manual/usermanual.xml
index 6424a7ebd..7b87ad837 100644
--- a/bitbake/doc/manual/usermanual.xml
+++ b/bitbake/doc/manual/usermanual.xml
@@ -215,13 +215,11 @@ addtask printdate before do_build</screen></para>
<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>
<para><screen>addhandler myclass_eventhandler
python myclass_eventhandler() {
- from bb.event import NotHandled, getName
+ from bb.event import getName
from bb import data
print "The name of the Event is %s" % getName(e)
print "The file we run for is %s" % data.getVar('FILE', e.data, True)
-
- return NotHandled
}
</screen></para><para>
This 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
<section>
<title>CVS File Fetcher</title>
- <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.
+ <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.
</para>
- <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>.
+ <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>.
<screen><varname>SRC_URI</varname> = "cvs://CVSROOT;module=mymodule;tag=some-version;method=ext"
<varname>SRC_URI</varname> = "cvs://CVSROOT;module=mymodule;date=20060126;localdir=usethat"
</screen>
diff --git a/bitbake/lib/bb/COW.py b/bitbake/lib/bb/COW.py
index ca206cf4b..6917ec378 100644
--- a/bitbake/lib/bb/COW.py
+++ b/bitbake/lib/bb/COW.py
@@ -3,7 +3,7 @@
#
# This is a copy on write dictionary and set which abuses classes to try and be nice and fast.
#
-# Copyright (C) 2006 Tim Amsell
+# Copyright (C) 2006 Tim Amsell
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
@@ -18,29 +18,31 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
-#Please Note:
+#Please Note:
# Be careful when using mutable types (ie Dict and Lists) - operations involving these are SLOW.
# Assign a file to __warn__ to get warnings about slow operations.
#
+from __future__ import print_function
import copy
import types
-types.ImmutableTypes = tuple([ \
- types.BooleanType, \
- types.ComplexType, \
- types.FloatType, \
- types.IntType, \
- types.LongType, \
- types.NoneType, \
- types.TupleType, \
- frozenset] + \
- list(types.StringTypes))
+ImmutableTypes = (
+ types.NoneType,
+ bool,
+ complex,
+ float,
+ int,
+ long,
+ tuple,
+ frozenset,
+ basestring
+)
MUTABLE = "__mutable__"
class COWMeta(type):
pass
-
+
class COWDictMeta(COWMeta):
__warn__ = False
__hasmutable__ = False
@@ -59,12 +61,12 @@ class COWDictMeta(COWMeta):
__call__ = cow
def __setitem__(cls, key, value):
- if not isinstance(value, types.ImmutableTypes):
+ if not isinstance(value, ImmutableTypes):
if not isinstance(value, COWMeta):
cls.__hasmutable__ = True
key += MUTABLE
setattr(cls, key, value)
-
+
def __getmutable__(cls, key, readonly=False):
nkey = key + MUTABLE
try:
@@ -77,10 +79,10 @@ class COWDictMeta(COWMeta):
return value
if not cls.__warn__ is False and not isinstance(value, COWMeta):
- print >> cls.__warn__, "Warning: Doing a copy because %s is a mutable type." % key
+ print("Warning: Doing a copy because %s is a mutable type." % key, file=cls.__warn__)
try:
value = value.copy()
- except AttributeError, e:
+ except AttributeError as e:
value = copy.copy(value)
setattr(cls, nkey, value)
return value
@@ -98,13 +100,13 @@ class COWDictMeta(COWMeta):
value = getattr(cls, key)
except AttributeError:
value = cls.__getmutable__(key, readonly)
-
- # This is for values which have been deleted
+
+ # This is for values which have been deleted
if value is cls.__marker__:
raise AttributeError("key %s does not exist." % key)
return value
- except AttributeError, e:
+ except AttributeError as e:
if not default is cls.__getmarker__:
return default
@@ -118,6 +120,9 @@ class COWDictMeta(COWMeta):
key += MUTABLE
delattr(cls, key)
+ def __contains__(cls, key):
+ return cls.has_key(key)
+
def has_key(cls, key):
value = cls.__getreadonly__(key, cls.__marker__)
if value is cls.__marker__:
@@ -127,7 +132,7 @@ class COWDictMeta(COWMeta):
def iter(cls, type, readonly=False):
for key in dir(cls):
if key.startswith("__"):
- continue
+ continue
if key.endswith(MUTABLE):
key = key[:-len(MUTABLE)]
@@ -153,11 +158,11 @@ class COWDictMeta(COWMeta):
return cls.iter("keys")
def itervalues(cls, readonly=False):
if not cls.__warn__ is False and cls.__hasmutable__ and readonly is False:
- print >> cls.__warn__, "Warning: If you arn't going to change any of the values call with True."
+ print("Warning: If you arn't going to change any of the values call with True.", file=cls.__warn__)
return cls.iter("values", readonly)
def iteritems(cls, readonly=False):
if not cls.__warn__ is False and cls.__hasmutable__ and readonly is False:
- print >> cls.__warn__, "Warning: If you arn't going to change any of the values call with True."
+ print("Warning: If you arn't going to change any of the values call with True.", file=cls.__warn__)
return cls.iter("items", readonly)
class COWSetMeta(COWDictMeta):
@@ -176,13 +181,13 @@ class COWSetMeta(COWDictMeta):
def remove(cls, value):
COWDictMeta.__delitem__(cls, repr(hash(value)))
-
+
def __in__(cls, value):
return COWDictMeta.has_key(repr(hash(value)))
def iterkeys(cls):
raise TypeError("sets don't have keys")
-
+
def iteritems(cls):
raise TypeError("sets don't have 'items'")
@@ -199,120 +204,120 @@ if __name__ == "__main__":
import sys
COWDictBase.__warn__ = sys.stderr
a = COWDictBase()
- print "a", a
+ print("a", a)
a['a'] = 'a'
a['b'] = 'b'
a['dict'] = {}
b = a.copy()
- print "b", b
+ print("b", b)
b['c'] = 'b'
- print
+ print()
- print "a", a
+ print("a", a)
for x in a.iteritems():
- print x
- print "--"
- print "b", b
+ print(x)
+ print("--")
+ print("b", b)
for x in b.iteritems():
- print x
- print
+ print(x)
+ print()
b['dict']['a'] = 'b'
b['a'] = 'c'
- print "a", a
+ print("a", a)
for x in a.iteritems():
- print x
- print "--"
- print "b", b
+ print(x)
+ print("--")
+ print("b", b)
for x in b.iteritems():
- print x
- print
+ print(x)
+ print()
try:
b['dict2']
- except KeyError, e:
- print "Okay!"
+ except KeyError as e:
+ print("Okay!")
a['set'] = COWSetBase()
a['set'].add("o1")
a['set'].add("o1")
a['set'].add("o2")
- print "a", a
+ print("a", a)
for x in a['set'].itervalues():
- print x
- print "--"
- print "b", b
+ print(x)
+ print("--")
+ print("b", b)
for x in b['set'].itervalues():
- print x
- print
+ print(x)
+ print()
b['set'].add('o3')
- print "a", a
+ print("a", a)
for x in a['set'].itervalues():
- print x
- print "--"
- print "b", b
+ print(x)
+ print("--")
+ print("b", b)
for x in b['set'].itervalues():
- print x
- print
+ print(x)
+ print()
a['set2'] = set()
a['set2'].add("o1")
a['set2'].add("o1")
a['set2'].add("o2")
- print "a", a
+ print("a", a)
for x in a.iteritems():
- print x
- print "--"
- print "b", b
+ print(x)
+ print("--")
+ print("b", b)
for x in b.iteritems(readonly=True):
- print x
- print
+ print(x)
+ print()
del b['b']
try:
- print b['b']
+ print(b['b'])
except KeyError:
- print "Yay! deleted key raises error"
+ print("Yay! deleted key raises error")
if b.has_key('b'):
- print "Boo!"
+ print("Boo!")
else:
- print "Yay - has_key with delete works!"
-
- print "a", a
+ print("Yay - has_key with delete works!")
+
+ print("a", a)
for x in a.iteritems():
- print x
- print "--"
- print "b", b
+ print(x)
+ print("--")
+ print("b", b)
for x in b.iteritems(readonly=True):
- print x
- print
+ print(x)
+ print()
b.__revertitem__('b')
- print "a", a
+ print("a", a)
for x in a.iteritems():
- print x
- print "--"
- print "b", b
+ print(x)
+ print("--")
+ print("b", b)
for x in b.iteritems(readonly=True):
- print x
- print
+ print(x)
+ print()
b.__revertitem__('dict')
- print "a", a
+ print("a", a)
for x in a.iteritems():
- print x
- print "--"
- print "b", b
+ print(x)
+ print("--")
+ print("b", b)
for x in b.iteritems(readonly=True):
- print x
- print
+ print(x)
+ print()
diff --git a/bitbake/lib/bb/__init__.py b/bitbake/lib/bb/__init__.py
index c7cd0f62d..88adfc1df 100644
--- a/bitbake/lib/bb/__init__.py
+++ b/bitbake/lib/bb/__init__.py
@@ -21,39 +21,14 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-__version__ = "1.9.0"
-
-__all__ = [
-
- "debug",
- "note",
- "error",
- "fatal",
-
- "mkdirhier",
- "movefile",
- "vercmp",
-
-# fetch
- "decodeurl",
- "encodeurl",
-
-# modules
- "parse",
- "data",
- "command",
- "event",
- "build",
- "fetch",
- "manifest",
- "methodpool",
- "cache",
- "runqueue",
- "taskdata",
- "providers",
- ]
-
-import sys, os, types, re, string
+__version__ = "1.11.0"
+
+import sys
+if sys.version_info < (2, 6, 0):
+ raise RuntimeError("Sorry, python 2.6.0 or later is required for this version of bitbake")
+
+import os
+import bb.msg
if "BBDEBUG" in os.environ:
level = int(os.environ["BBDEBUG"])
@@ -81,14 +56,45 @@ def fatal(*args):
bb.msg.fatal(None, ''.join(args))
-# For compatibility
-from bb.fetch import MalformedUrl, encodeurl, decodeurl
-from bb.data import VarExpandError
-from bb.utils import mkdirhier, movefile, copyfile, which
-from bb.utils import vercmp
+def deprecated(func, name = None, advice = ""):
+ """This is a decorator which can be used to mark functions
+ as deprecated. It will result in a warning being emmitted
+ when the function is used."""
+ import warnings
+
+ if advice:
+ advice = ": %s" % advice
+ if name is None:
+ name = func.__name__
+
+ def newFunc(*args, **kwargs):
+ warnings.warn("Call to deprecated function %s%s." % (name,
+ advice),
+ category = PendingDeprecationWarning,
+ stacklevel = 2)
+ return func(*args, **kwargs)
+ newFunc.__name__ = func.__name__
+ newFunc.__doc__ = func.__doc__
+ newFunc.__dict__.update(func.__dict__)
+ return newFunc
-
-if __name__ == "__main__":
- import doctest, bb
- bb.msg.set_debug_level(0)
- doctest.testmod(bb)
+# For compatibility
+def deprecate_import(current, modulename, fromlist, renames = None):
+ """Import objects from one module into another, wrapping them with a DeprecationWarning"""
+ import sys
+
+ module = __import__(modulename, fromlist = fromlist)
+ for position, objname in enumerate(fromlist):
+ obj = getattr(module, objname)
+ newobj = deprecated(obj, "{0}.{1}".format(current, objname),
+ "Please use {0}.{1} instead".format(modulename, objname))
+ if renames:
+ newname = renames[position]
+ else:
+ newname = objname
+
+ setattr(sys.modules[current], newname, newobj)
+
+deprecate_import(__name__, "bb.fetch", ("MalformedUrl", "encodeurl", "decodeurl"))
+deprecate_import(__name__, "bb.utils", ("mkdirhier", "movefile", "copyfile", "which"))
+deprecate_import(__name__, "bb.utils", ["vercmp_string"], ["vercmp"])
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
index 43dbfc136..1f4107fb6 100644
--- a/bitbake/lib/bb/build.py
+++ b/bitbake/lib/bb/build.py
@@ -27,8 +27,9 @@
from bb import data, event, mkdirhier, utils
import bb, os, sys
+import bb.utils
-# When we execute a python function we'd like certain things
+# When we execute a python function we'd like certain things
# in all namespaces, hence we add them to __builtins__
# If we do not do this and use the exec globals, they will
# not be available to subfunctions.
@@ -98,18 +99,19 @@ def exec_func(func, d, dirs = None):
ispython = flags['python']
- cleandirs = (data.expand(flags['cleandirs'], d) or "").split()
- for cdir in cleandirs:
- os.system("rm -rf %s" % cdir)
+ cleandirs = flags['cleandirs']
+ if cleandirs:
+ for cdir in data.expand(cleandirs, d).split():
+ os.system("rm -rf %s" % cdir)
- if dirs:
- dirs = data.expand(dirs, d)
- else:
- dirs = (data.expand(flags['dirs'], d) or "").split()
- for adir in dirs:
- mkdirhier(adir)
+ if dirs is None:
+ dirs = flags['dirs']
+ if dirs:
+ dirs = data.expand(dirs, d).split()
- if len(dirs) > 0:
+ if dirs:
+ for adir in dirs:
+ bb.utils.mkdirhier(adir)
adir = dirs[-1]
else:
adir = data.getVar('B', d, 1)
@@ -123,8 +125,8 @@ def exec_func(func, d, dirs = None):
# Setup logfiles
t = data.getVar('T', d, 1)
if not t:
- bb.msg.fatal(bb.msg.domain.Build, "T not set")
- mkdirhier(t)
+ raise SystemExit("T variable not set, unable to build")
+ bb.utils.mkdirhier(t)
logfile = "%s/log.%s.%s" % (t, func, str(os.getpid()))
runfile = "%s/run.%s.%s" % (t, func, str(os.getpid()))
@@ -139,7 +141,7 @@ def exec_func(func, d, dirs = None):
so = os.popen("tee \"%s\"" % logfile, "w")
else:
so = file(logfile, 'w')
- except OSError, e:
+ except OSError as e:
bb.msg.error(bb.msg.domain.Build, "opening log file: %s" % e)
pass
@@ -156,9 +158,10 @@ def exec_func(func, d, dirs = None):
os.dup2(se.fileno(), ose[1])
locks = []
- lockfiles = (data.expand(flags['lockfiles'], d) or "").split()
- for lock in lockfiles:
- locks.append(bb.utils.lockfile(lock))
+ lockfiles = flags['lockfiles']
+ if lockfiles:
+ for lock in data.expand(lockfiles, d).split():
+ locks.append(bb.utils.lockfile(lock))
try:
# Run the function
@@ -200,26 +203,22 @@ def exec_func(func, d, dirs = None):
def exec_func_python(func, d, runfile, logfile):
"""Execute a python BB 'function'"""
- import re, os
bbfile = bb.data.getVar('FILE', d, 1)
- tmp = "def " + func + "():\n%s" % data.getVar(func, d)
- tmp += '\n' + func + '()'
+ tmp = "def " + func + "(d):\n%s" % data.getVar(func, d)
+ tmp += '\n' + func + '(d)'
f = open(runfile, "w")
f.write(tmp)
comp = utils.better_compile(tmp, func, bbfile)
- g = {} # globals
- g['d'] = d
try:
- utils.better_exec(comp, g, tmp, bbfile)
+ utils.better_exec(comp, {"d": d}, tmp, bbfile)
except:
- (t,value,tb) = sys.exc_info()
+ (t, value, tb) = sys.exc_info()
if t in [bb.parse.SkipPackage, bb.build.FuncFailed]:
raise
- bb.msg.error(bb.msg.domain.Build, "Function %s failed" % func)
- raise FuncFailed("function %s failed" % func, logfile)
+ raise FuncFailed("Function %s failed" % func, logfile)
def exec_func_shell(func, d, runfile, logfile, flags):
"""Execute a shell BB 'function' Returns true if execution was successful.
@@ -248,7 +247,6 @@ def exec_func_shell(func, d, runfile, logfile, flags):
f.close()
os.chmod(runfile, 0775)
if not func:
- bb.msg.error(bb.msg.domain.Build, "Function not specified")
raise FuncFailed("Function not specified for exec_func_shell")
# execute function
@@ -262,7 +260,6 @@ def exec_func_shell(func, d, runfile, logfile, flags):
if ret == 0:
return
- bb.msg.error(bb.msg.domain.Build, "Function %s failed" % func)
raise FuncFailed("function %s failed" % func, logfile)
@@ -287,7 +284,7 @@ def exec_task(task, d):
event.fire(TaskStarted(task, localdata), localdata)
exec_func(task, localdata)
event.fire(TaskSucceeded(task, localdata), localdata)
- except FuncFailed, message:
+ except FuncFailed as message:
# Try to extract the optional logfile
try:
(msg, logfile) = message
@@ -305,8 +302,8 @@ def exec_task(task, d):
def extract_stamp(d, fn):
"""
- Extracts stamp format which is either a data dictonary (fn unset)
- or a dataCache entry (fn set).
+ Extracts stamp format which is either a data dictonary (fn unset)
+ or a dataCache entry (fn set).
"""
if fn:
return d.stamp[fn]
@@ -323,7 +320,7 @@ def stamp_internal(task, d, file_name):
if not stamp:
return
stamp = "%s.%s" % (stamp, task)
- mkdirhier(os.path.dirname(stamp))
+ bb.utils.mkdirhier(os.path.dirname(stamp))
# Remove the file and recreate to force timestamp
# change on broken NFS filesystems
if os.access(stamp, os.F_OK):
@@ -363,7 +360,7 @@ def add_tasks(tasklist, d):
if not task in task_deps['tasks']:
task_deps['tasks'].append(task)
- flags = data.getVarFlags(task, d)
+ flags = data.getVarFlags(task, d)
def getTask(name):
if not name in task_deps:
task_deps[name] = {}
@@ -389,4 +386,3 @@ def remove_task(task, kill, d):
If kill is 1, also remove tasks that depend on this task."""
data.delVarFlag(task, 'task', d)
-
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py
index 1f180012e..da4546640 100644
--- a/bitbake/lib/bb/cache.py
+++ b/bitbake/lib/bb/cache.py
@@ -28,7 +28,7 @@
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-import os, re
+import os
import bb.data
import bb.utils
@@ -44,10 +44,10 @@ class Cache:
"""
BitBake Cache implementation
"""
- def __init__(self, cooker):
+ def __init__(self, data):
- self.cachedir = bb.data.getVar("CACHE", cooker.configuration.data, True)
+ self.cachedir = bb.data.getVar("CACHE", data, True)
self.clean = {}
self.checked = {}
self.depends_cache = {}
@@ -61,30 +61,28 @@ class Cache:
return
self.has_cache = True
- self.cachefile = os.path.join(self.cachedir,"bb_cache.dat")
+ self.cachefile = os.path.join(self.cachedir, "bb_cache.dat")
bb.msg.debug(1, bb.msg.domain.Cache, "Using cache in '%s'" % self.cachedir)
- try:
- os.stat( self.cachedir )
- except OSError:
- bb.mkdirhier( self.cachedir )
+ bb.utils.mkdirhier(self.cachedir)
# If any of configuration.data's dependencies are newer than the
# cache there isn't even any point in loading it...
newest_mtime = 0
- deps = bb.data.getVar("__depends", cooker.configuration.data, True)
- for f,old_mtime in deps:
- if old_mtime > newest_mtime:
- newest_mtime = old_mtime
+ deps = bb.data.getVar("__depends", data)
+
+ old_mtimes = [old_mtime for f, old_mtime in deps]
+ old_mtimes.append(newest_mtime)
+ newest_mtime = max(old_mtimes)
if bb.parse.cached_mtime_noerror(self.cachefile) >= newest_mtime:
try:
p = pickle.Unpickler(file(self.cachefile, "rb"))
self.depends_cache, version_data = p.load()
if version_data['CACHE_VER'] != __cache_version__:
- raise ValueError, 'Cache Version Mismatch'
+ raise ValueError('Cache Version Mismatch')
if version_data['BITBAKE_VER'] != bb.__version__:
- raise ValueError, 'Bitbake Version Mismatch'
+ raise ValueError('Bitbake Version Mismatch')
except EOFError:
bb.msg.note(1, bb.msg.domain.Cache, "Truncated cache found, rebuilding...")
self.depends_cache = {}
@@ -92,27 +90,23 @@ class Cache:
bb.msg.note(1, bb.msg.domain.Cache, "Invalid cache found, rebuilding...")
self.depends_cache = {}
else:
- try:
- os.stat( self.cachefile )
+ if os.path.isfile(self.cachefile):
bb.msg.note(1, bb.msg.domain.Cache, "Out of date cache found, rebuilding...")
- except OSError:
- pass
def getVar(self, var, fn, exp = 0):
"""
Gets the value of a variable
(similar to getVar in the data class)
-
+
There are two scenarios:
1. We have cached data - serve from depends_cache[fn]
- 2. We're learning what data to cache - serve from data
+ 2. We're learning what data to cache - serve from data
backend but add a copy of the data to the cache.
"""
if fn in self.clean:
return self.depends_cache[fn][var]
- if not fn in self.depends_cache:
- self.depends_cache[fn] = {}
+ self.depends_cache.setdefault(fn, {})
if fn != self.data_fn:
# We're trying to access data in the cache which doesn't exist
@@ -134,14 +128,14 @@ class Cache:
self.data = data
# Make sure __depends makes the depends_cache
- # If we're a virtual class we need to make sure all our depends are appended
+ # If we're a virtual class we need to make sure all our depends are appended
# to the depends of fn.
- depends = self.getVar("__depends", virtualfn, True) or []
+ depends = self.getVar("__depends", virtualfn) or set()
+ self.depends_cache.setdefault(fn, {})
if "__depends" not in self.depends_cache[fn] or not self.depends_cache[fn]["__depends"]:
self.depends_cache[fn]["__depends"] = depends
- for dep in depends:
- if dep not in self.depends_cache[fn]["__depends"]:
- self.depends_cache[fn]["__depends"].append(dep)
+ else:
+ self.depends_cache[fn]["__depends"].update(depends)
# Make sure the variants always make it into the cache too
self.getVar('__VARIANTS', virtualfn, True)
@@ -217,7 +211,7 @@ class Cache:
for data in bb_data:
virtualfn = self.realfn2virtual(fn, data)
self.setData(virtualfn, fn, bb_data[data])
- if self.getVar("__SKIPPED", virtualfn, True):
+ if self.getVar("__SKIPPED", virtualfn):
skipped += 1
bb.msg.debug(1, bb.msg.domain.Cache, "Skipping %s" % virtualfn)
else:
@@ -258,11 +252,11 @@ class Cache:
self.remove(fn)
return False
- mtime = bb.parse.cached_mtime_noerror(fn)
+ mtime = bb.parse.cached_mtime_noerror(fn)
# Check file still exists
if mtime == 0:
- bb.msg.debug(2, bb.msg.domain.Cache, "Cache: %s not longer exists" % fn)
+ bb.msg.debug(2, bb.msg.domain.Cache, "Cache: %s no longer exists" % fn)
self.remove(fn)
return False
@@ -275,7 +269,7 @@ class Cache:
# Check dependencies are still valid
depends = self.getVar("__depends", fn, True)
if depends:
- for f,old_mtime in depends:
+ for f, old_mtime in depends:
fmtime = bb.parse.cached_mtime_noerror(f)
# Check if file still exists
if old_mtime != 0 and fmtime == 0:
@@ -345,14 +339,14 @@ class Cache:
def handle_data(self, file_name, cacheData):
"""
- Save data we need into the cache
+ Save data we need into the cache
"""
pn = self.getVar('PN', file_name, True)
pe = self.getVar('PE', file_name, True) or "0"
pv = self.getVar('PV', file_name, True)
if 'SRCREVINACTION' in pv:
- bb.note("Found SRCREVINACTION in PV (%s) or %s. Please report this bug." % (pv, file_name))
+ bb.msg.note(1, bb.msg.domain.Cache, "Found SRCREVINACTION in PV (%s) or %s. Please report this bug." % (pv, file_name))
pr = self.getVar('PR', file_name, True)
dp = int(self.getVar('DEFAULT_PREFERENCE', file_name, True) or "0")
depends = bb.utils.explode_deps(self.getVar("DEPENDS", file_name, True) or "")
@@ -360,7 +354,7 @@ class Cache:
packages_dynamic = (self.getVar('PACKAGES_DYNAMIC', file_name, True) or "").split()
rprovides = (self.getVar("RPROVIDES", file_name, True) or "").split()
- cacheData.task_deps[file_name] = self.getVar("_task_deps", file_name, True)
+ cacheData.task_deps[file_name] = self.getVar("_task_deps", file_name)
# build PackageName to FileName lookup table
if pn not in cacheData.pkg_pn:
@@ -371,7 +365,7 @@ class Cache:
# build FileName to PackageName lookup table
cacheData.pkg_fn[file_name] = pn
- cacheData.pkg_pepvpr[file_name] = (pe,pv,pr)
+ cacheData.pkg_pepvpr[file_name] = (pe, pv, pr)
cacheData.pkg_dp[file_name] = dp
provides = [pn]
@@ -400,13 +394,13 @@ class Cache:
if not dep in cacheData.all_depends:
cacheData.all_depends.append(dep)
- # Build reverse hash for PACKAGES, so runtime dependencies
+ # Build reverse hash for PACKAGES, so runtime dependencies
# can be be resolved (RDEPENDS, RRECOMMENDS etc.)
for package in packages:
if not package in cacheData.packages:
cacheData.packages[package] = []
cacheData.packages[package].append(file_name)
- rprovides += (self.getVar("RPROVIDES_%s" % package, file_name, 1) or "").split()
+ rprovides += (self.getVar("RPROVIDES_%s" % package, file_name, 1) or "").split()
for package in packages_dynamic:
if not package in cacheData.packages_dynamic:
@@ -445,38 +439,45 @@ class Cache:
self.getVar('__BB_DONT_CACHE', file_name, True)
self.getVar('__VARIANTS', file_name, True)
- def load_bbfile( self, bbfile , config):
+ def load_bbfile( self, bbfile, config):
"""
Load and parse one .bb build file
Return the data and whether parsing resulted in the file being skipped
"""
+ chdir_back = False
- import bb
- from bb import utils, data, parse, debug, event, fatal
+ from bb import data, parse
# expand tmpdir to include this topdir
data.setVar('TMPDIR', data.getVar('TMPDIR', config, 1) or "", config)
bbfile_loc = os.path.abspath(os.path.dirname(bbfile))
oldpath = os.path.abspath(os.getcwd())
- if bb.parse.cached_mtime_noerror(bbfile_loc):
- os.chdir(bbfile_loc)
+ parse.cached_mtime_noerror(bbfile_loc)
bb_data = data.init_db(config)
+ # The ConfHandler first looks if there is a TOPDIR and if not
+ # then it would call getcwd().
+ # Previously, we chdir()ed to bbfile_loc, called the handler
+ # and finally chdir()ed back, a couple of thousand times. We now
+ # just fill in TOPDIR to point to bbfile_loc if there is no TOPDIR yet.
+ if not data.getVar('TOPDIR', bb_data):
+ chdir_back = True
+ data.setVar('TOPDIR', bbfile_loc, bb_data)
try:
bb_data = parse.handle(bbfile, bb_data) # read .bb data
- os.chdir(oldpath)
+ if chdir_back: os.chdir(oldpath)
return bb_data
except:
- os.chdir(oldpath)
+ if chdir_back: os.chdir(oldpath)
raise
def init(cooker):
"""
- The Objective: Cache the minimum amount of data possible yet get to the
+ The Objective: Cache the minimum amount of data possible yet get to the
stage of building packages (i.e. tryBuild) without reparsing any .bb files.
- To do this, we intercept getVar calls and only cache the variables we see
- being accessed. We rely on the cache getVar calls being made for all
- variables bitbake might need to use to reach this stage. For each cached
+ To do this, we intercept getVar calls and only cache the variables we see
+ being accessed. We rely on the cache getVar calls being made for all
+ variables bitbake might need to use to reach this stage. For each cached
file we need to track:
* Its mtime
@@ -486,7 +487,7 @@ def init(cooker):
Files causing parsing errors are evicted from the cache.
"""
- return Cache(cooker)
+ return Cache(cooker.configuration.data)
diff --git a/bitbake/lib/bb/command.py b/bitbake/lib/bb/command.py
index 06bd203c9..9a8d689e2 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'
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
"""
-The bitbake server takes 'commands' from its UI/commandline.
+The bitbake server takes 'commands' from its UI/commandline.
Commands are either synchronous or asynchronous.
Async commands return data to the client in the form of events.
Sync commands must only return data through the function return value
@@ -62,7 +62,7 @@ class Command:
try:
command = commandline.pop(0)
if command in CommandsSync.__dict__:
- # Can run synchronous commands straight away
+ # Can run synchronous commands straight away
return getattr(CommandsSync, command)(self.cmds_sync, self, commandline)
if self.currentAsyncCommand is not None:
return "Busy (%s in progress)" % self.currentAsyncCommand[0]
@@ -89,7 +89,17 @@ class Command:
return False
else:
return False
- except:
+ except KeyboardInterrupt as exc:
+ self.finishAsyncCommand("Interrupted")
+ return False
+ except SystemExit as exc:
+ arg = exc.args[0]
+ if isinstance(arg, basestring):
+ self.finishAsyncCommand(arg)
+ else:
+ self.finishAsyncCommand("Exited with %s" % arg)
+ return False
+ except Exception:
import traceback
self.finishAsyncCommand(traceback.format_exc())
return False
@@ -268,6 +278,3 @@ class CookerCommandSetExitCode(bb.event.Event):
def __init__(self, exitcode):
bb.event.Event.__init__(self)
self.exitcode = int(exitcode)
-
-
-
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 2406dfe95..488bc610d 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -22,11 +22,13 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-import sys, os, getopt, glob, copy, os.path, re, time
+from __future__ import print_function
+import sys, os, glob, os.path, re, time
+import sre_constants
+from cStringIO import StringIO
+from contextlib import closing
import bb
-from bb import utils, data, parse, event, cache, providers, taskdata, runqueue
-from bb import command
-import itertools, sre_constants
+from bb import utils, data, parse, event, cache, providers, taskdata, command, runqueue
class MultipleMatches(Exception):
"""
@@ -121,11 +123,11 @@ class BBCooker:
self.commandlineAction = None
if 'world' in self.configuration.pkgs_to_build:
- bb.error("'world' is not a valid target for --environment.")
+ bb.msg.error(bb.msg.domain.Build, "'world' is not a valid target for --environment.")
elif len(self.configuration.pkgs_to_build) > 1:
- bb.error("Only one target can be used with the --environment option.")
+ bb.msg.error(bb.msg.domain.Build, "Only one target can be used with the --environment option.")
elif self.configuration.buildfile and len(self.configuration.pkgs_to_build) > 0:
- bb.error("No target should be used with the --environment and --buildfile options.")
+ bb.msg.error(bb.msg.domain.Build, "No target should be used with the --environment and --buildfile options.")
elif len(self.configuration.pkgs_to_build) > 0:
self.commandlineAction = ["showEnvironmentTarget", self.configuration.pkgs_to_build]
else:
@@ -138,21 +140,18 @@ class BBCooker:
self.commandlineAction = ["showVersions"]
elif self.configuration.parse_only:
self.commandlineAction = ["parseFiles"]
- # FIXME - implement
- #elif self.configuration.interactive:
- # self.interactiveMode()
elif self.configuration.dot_graph:
if self.configuration.pkgs_to_build:
self.commandlineAction = ["generateDotGraph", self.configuration.pkgs_to_build, self.configuration.cmd]
else:
self.commandlineAction = None
- bb.error("Please specify a package name for dependency graph generation.")
+ bb.msg.error(bb.msg.domain.Build, "Please specify a package name for dependency graph generation.")
else:
if self.configuration.pkgs_to_build:
self.commandlineAction = ["buildTargets", self.configuration.pkgs_to_build, self.configuration.cmd]
else:
self.commandlineAction = None
- bb.error("Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.")
+ bb.msg.error(bb.msg.domain.Build, "Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.")
def runCommands(self, server, data, abort):
"""
@@ -174,14 +173,14 @@ class BBCooker:
except bb.build.FuncFailed:
bb.msg.error(bb.msg.domain.Build, "task stack execution failed")
raise
- except bb.build.EventException, e:
+ except bb.build.EventException as e:
event = e.args[1]
bb.msg.error(bb.msg.domain.Build, "%s event exception, aborting" % bb.event.getName(event))
raise
def tryBuild(self, fn, task):
"""
- Build a provider and its dependencies.
+ Build a provider and its dependencies.
build_depends is a list of previous build dependencies (not runtime)
If build_depends is empty, we're dealing with a runtime depends
"""
@@ -206,7 +205,7 @@ class BBCooker:
# Sort by priority
for pn in pkg_pn:
- (last_ver,last_file,pref_ver,pref_file) = bb.providers.findBestProvider(pn, self.configuration.data, self.status)
+ (last_ver, last_file, pref_ver, pref_file) = bb.providers.findBestProvider(pn, self.configuration.data, self.status)
preferred_versions[pn] = (pref_ver, pref_file)
latest_versions[pn] = (last_ver, last_file)
@@ -260,27 +259,22 @@ class BBCooker:
if fn:
try:
envdata = self.bb_cache.loadDataFull(fn, self.configuration.data)
- except IOError, e:
+ except IOError as e:
bb.msg.error(bb.msg.domain.Parsing, "Unable to read %s: %s" % (fn, e))
raise
- except Exception, e:
+ except Exception as e:
bb.msg.error(bb.msg.domain.Parsing, "%s" % e)
raise
- class dummywrite:
- def __init__(self):
- self.writebuf = ""
- def write(self, output):
- self.writebuf = self.writebuf + output
-
# emit variables and shell functions
try:
data.update_data(envdata)
- wb = dummywrite()
- data.emit_env(wb, envdata, True)
- bb.msg.plain(wb.writebuf)
- except Exception, e:
+ with closing(StringIO()) as env:
+ data.emit_env(env, envdata, True)
+ bb.msg.plain(env.getvalue())
+ except Exception as e:
bb.msg.fatal(bb.msg.domain.Parsing, "%s" % e)
+
# emit the metadata which isnt valid shell
data.expandKeys(envdata)
for e in envdata.keys():
@@ -315,7 +309,7 @@ class BBCooker:
rq = bb.runqueue.RunQueue(self, self.configuration.data, self.status, taskdata, runlist)
rq.prepare_runqueue()
- seen_fnids = []
+ seen_fnids = []
depend_tree = {}
depend_tree["depends"] = {}
depend_tree["tdepends"] = {}
@@ -352,7 +346,7 @@ class BBCooker:
depend_tree["rdepends-pn"][pn] = []
for rdep in taskdata.rdepids[fnid]:
- depend_tree["rdepends-pn"][pn].append(taskdata.run_names_index[rdep])
+ depend_tree["rdepends-pn"][pn].append(taskdata.run_names_index[rdep])
rdepends = self.status.rundeps[fn]
for package in rdepends:
@@ -397,51 +391,51 @@ class BBCooker:
# Prints a flattened form of package-depends below where subpackages of a package are merged into the main pn
depends_file = file('pn-depends.dot', 'w' )
- print >> depends_file, "digraph depends {"
+ print("digraph depends {", file=depends_file)
for pn in depgraph["pn"]:
fn = depgraph["pn"][pn]["filename"]
version = depgraph["pn"][pn]["version"]
- print >> depends_file, '"%s" [label="%s %s\\n%s"]' % (pn, pn, version, fn)
+ print('"%s" [label="%s %s\\n%s"]' % (pn, pn, version, fn), file=depends_file)
for pn in depgraph["depends"]:
for depend in depgraph["depends"][pn]:
- print >> depends_file, '"%s" -> "%s"' % (pn, depend)
+ print('"%s" -> "%s"' % (pn, depend), file=depends_file)
for pn in depgraph["rdepends-pn"]:
for rdepend in depgraph["rdepends-pn"][pn]:
- print >> depends_file, '"%s" -> "%s" [style=dashed]' % (pn, rdepend)
- print >> depends_file, "}"
+ print('"%s" -> "%s" [style=dashed]' % (pn, rdepend), file=depends_file)
+ print("}", file=depends_file)
bb.msg.plain("PN dependencies saved to 'pn-depends.dot'")
depends_file = file('package-depends.dot', 'w' )
- print >> depends_file, "digraph depends {"
+ print("digraph depends {", file=depends_file)
for package in depgraph["packages"]:
pn = depgraph["packages"][package]["pn"]
fn = depgraph["packages"][package]["filename"]
version = depgraph["packages"][package]["version"]
if package == pn:
- print >> depends_file, '"%s" [label="%s %s\\n%s"]' % (pn, pn, version, fn)
+ print('"%s" [label="%s %s\\n%s"]' % (pn, pn, version, fn), file=depends_file)
else:
- print >> depends_file, '"%s" [label="%s(%s) %s\\n%s"]' % (package, package, pn, version, fn)
+ print('"%s" [label="%s(%s) %s\\n%s"]' % (package, package, pn, version, fn), file=depends_file)
for depend in depgraph["depends"][pn]:
- print >> depends_file, '"%s" -> "%s"' % (package, depend)
+ print('"%s" -> "%s"' % (package, depend), file=depends_file)
for package in depgraph["rdepends-pkg"]:
for rdepend in depgraph["rdepends-pkg"][package]:
- print >> depends_file, '"%s" -> "%s" [style=dashed]' % (package, rdepend)
+ print('"%s" -> "%s" [style=dashed]' % (package, rdepend), file=depends_file)
for package in depgraph["rrecs-pkg"]:
for rdepend in depgraph["rrecs-pkg"][package]:
- print >> depends_file, '"%s" -> "%s" [style=dashed]' % (package, rdepend)
- print >> depends_file, "}"
+ print('"%s" -> "%s" [style=dashed]' % (package, rdepend), file=depends_file)
+ print("}", file=depends_file)
bb.msg.plain("Package dependencies saved to 'package-depends.dot'")
tdepends_file = file('task-depends.dot', 'w' )
- print >> tdepends_file, "digraph depends {"
+ print("digraph depends {", file=tdepends_file)
for task in depgraph["tdepends"]:
(pn, taskname) = task.rsplit(".", 1)
fn = depgraph["pn"][pn]["filename"]
version = depgraph["pn"][pn]["version"]
- print >> tdepends_file, '"%s.%s" [label="%s %s\\n%s\\n%s"]' % (pn, taskname, pn, taskname, version, fn)
+ print('"%s.%s" [label="%s %s\\n%s\\n%s"]' % (pn, taskname, pn, taskname, version, fn), file=tdepends_file)
for dep in depgraph["tdepends"][task]:
- print >> tdepends_file, '"%s" -> "%s"' % (task, dep)
- print >> tdepends_file, "}"
+ print('"%s" -> "%s"' % (task, dep), file=tdepends_file)
+ print("}", file=tdepends_file)
bb.msg.plain("Task dependencies saved to 'task-depends.dot'")
def buildDepgraph( self ):
@@ -452,9 +446,12 @@ class BBCooker:
bb.data.update_data(localdata)
bb.data.expandKeys(localdata)
+ matched = set()
def calc_bbfile_priority(filename):
- for (regex, pri) in self.status.bbfile_config_priorities:
+ for _, _, regex, pri in self.status.bbfile_config_priorities:
if regex.match(filename):
+ if not regex in matched:
+ matched.add(regex)
return pri
return 0
@@ -473,6 +470,11 @@ class BBCooker:
for p in self.status.pkg_fn:
self.status.bbfile_priority[p] = calc_bbfile_priority(p)
+ for collection, pattern, regex, _ in self.status.bbfile_config_priorities:
+ if not regex in matched:
+ bb.msg.warn(bb.msg.domain.Provider, "No bb files matched BBFILE_PATTERN_%s '%s'" %
+ (collection, pattern))
+
def buildWorldTargetList(self):
"""
Build package list for "bitbake world"
@@ -505,31 +507,57 @@ class BBCooker:
"""Drop off into a shell"""
try:
from bb import shell
- except ImportError, details:
+ except ImportError as details:
bb.msg.fatal(bb.msg.domain.Parsing, "Sorry, shell not available (%s)" % details )
else:
shell.start( self )
+ def _findLayerConf(self):
+ path = os.getcwd()
+ while path != "/":
+ bblayers = os.path.join(path, "conf", "bblayers.conf")
+ if os.path.exists(bblayers):
+ return bblayers
+
+ path, _ = os.path.split(path)
+
def parseConfigurationFiles(self, files):
try:
data = self.configuration.data
for f in files:
data = bb.parse.handle(f, data)
- layerconf = os.path.join(os.getcwd(), "conf", "bblayers.conf")
- if os.path.exists(layerconf):
+ layerconf = self._findLayerConf()
+ if layerconf:
bb.msg.debug(2, bb.msg.domain.Parsing, "Found bblayers.conf (%s)" % layerconf)
data = bb.parse.handle(layerconf, data)
layers = (bb.data.getVar('BBLAYERS', data, True) or "").split()
+ data = bb.data.createCopy(data)
for layer in layers:
bb.msg.debug(2, bb.msg.domain.Parsing, "Adding layer %s" % layer)
bb.data.setVar('LAYERDIR', layer, data)
data = bb.parse.handle(os.path.join(layer, "conf", "layer.conf"), data)
+ # XXX: Hack, relies on the local keys of the datasmart
+ # instance being stored in the 'dict' attribute and makes
+ # assumptions about how variable expansion works, but
+ # there's no better way to force an expansion of a single
+ # variable across the datastore today, and this at least
+ # lets us reference LAYERDIR without having to immediately
+ # eval all our variables that use it.
+ for key in data.dict:
+ if key != "_data":
+ value = data.getVar(key, False)
+ if value and "${LAYERDIR}" in value:
+ data.setVar(key, value.replace("${LAYERDIR}", layer))
+
bb.data.delVar('LAYERDIR', data)
+ if not data.getVar("BBPATH", True):
+ bb.fatal("The BBPATH variable is not set")
+
data = bb.parse.handle(os.path.join("conf", "bitbake.conf"), data)
self.configuration.data = data
@@ -541,16 +569,17 @@ class BBCooker:
# Nomally we only register event handlers at the end of parsing .bb files
# We register any handlers we've found so far here...
- for var in data.getVar('__BBHANDLERS', self.configuration.data) or []:
- bb.event.register(var,bb.data.getVar(var, self.configuration.data))
+ for var in bb.data.getVar('__BBHANDLERS', self.configuration.data) or []:
+ bb.event.register(var, bb.data.getVar(var, self.configuration.data))
bb.fetch.fetcher_init(self.configuration.data)
bb.event.fire(bb.event.ConfigParsed(), self.configuration.data)
- except IOError, e:
+
+ except IOError as e:
bb.msg.fatal(bb.msg.domain.Parsing, "Error when parsing %s: %s" % (files, str(e)))
- except bb.parse.ParseError, details:
+ except bb.parse.ParseError as details:
bb.msg.fatal(bb.msg.domain.Parsing, "Unable to parse %s (%s)" % (files, details) )
def handleCollections( self, collections ):
@@ -573,7 +602,7 @@ class BBCooker:
continue
try:
pri = int(priority)
- self.status.bbfile_config_priorities.append((cre, pri))
+ self.status.bbfile_config_priorities.append((c, regex, cre, pri))
except ValueError:
bb.msg.error(bb.msg.domain.Parsing, "invalid value for BBFILE_PRIORITY_%s: \"%s\"" % (c, priority))
@@ -582,8 +611,8 @@ class BBCooker:
Setup any variables needed before starting a build
"""
if not bb.data.getVar("BUILDNAME", self.configuration.data):
- bb.data.setVar("BUILDNAME", os.popen('date +%Y%m%d%H%M').readline().strip(), self.configuration.data)
- bb.data.setVar("BUILDSTART", time.strftime('%m/%d/%Y %H:%M:%S',time.gmtime()), self.configuration.data)
+ bb.data.setVar("BUILDNAME", time.strftime('%Y%m%d%H%M'), self.configuration.data)
+ bb.data.setVar("BUILDSTART", time.strftime('%m/%d/%Y %H:%M:%S', time.gmtime()), self.configuration.data)
def matchFiles(self, buildfile):
"""
@@ -630,13 +659,19 @@ class BBCooker:
if (task == None):
task = self.configuration.cmd
- fn = self.matchFile(buildfile)
+ self.bb_cache = bb.cache.init(self)
+ self.status = bb.cache.CacheData()
+
+ (fn, cls) = self.bb_cache.virtualfn2realfn(buildfile)
+ buildfile = self.matchFile(fn)
+ fn = self.bb_cache.realfn2virtual(buildfile, cls)
+
self.buildSetVars()
# Load data into the cache for fn and parse the loaded cache data
- self.bb_cache = bb.cache.init(self)
- self.status = bb.cache.CacheData()
- self.bb_cache.loadData(fn, self.configuration.data, self.status)
+ the_data = self.bb_cache.loadDataFull(fn, self.configuration.data)
+ self.bb_cache.setData(fn, buildfile, the_data)
+ self.bb_cache.handle_data(fn, self.status)
# Tweak some variables
item = self.bb_cache.getVar('PN', fn, True)
@@ -675,8 +710,8 @@ class BBCooker:
failures = 0
try:
retval = rq.execute_runqueue()
- except runqueue.TaskFailure, fnids:
- for fnid in fnids:
+ except runqueue.TaskFailure as exc:
+ for fnid in exc.args:
bb.msg.error(bb.msg.domain.Build, "'%s' failed" % taskdata.fn_index[fnid])
failures = failures + 1
retval = False
@@ -711,8 +746,8 @@ class BBCooker:
failures = 0
try:
retval = rq.execute_runqueue()
- except runqueue.TaskFailure, fnids:
- for fnid in fnids:
+ except runqueue.TaskFailure as exc:
+ for fnid in exc.args:
bb.msg.error(bb.msg.domain.Build, "'%s' failed" % taskdata.fn_index[fnid])
failures = failures + 1
retval = False
@@ -769,10 +804,10 @@ class BBCooker:
ignore = bb.data.getVar("ASSUME_PROVIDED", self.configuration.data, 1) or ""
self.status.ignored_dependencies = set(ignore.split())
-
+
for dep in self.configuration.extra_assume_provided:
self.status.ignored_dependencies.add(dep)
-
+
self.handleCollections( bb.data.getVar("BBFILE_COLLECTIONS", self.configuration.data, 1) )
bb.msg.debug(1, bb.msg.domain.Collection, "collecting .bb files")
@@ -810,7 +845,7 @@ class BBCooker:
for f in contents:
(root, ext) = os.path.splitext(f)
if ext == ".bb":
- bbfiles.append(os.path.abspath(os.path.join(os.getcwd(),f)))
+ bbfiles.append(os.path.abspath(os.path.join(os.getcwd(), f)))
return bbfiles
def find_bbfiles( self, path ):
@@ -822,7 +857,7 @@ class BBCooker:
for ignored in ('SCCS', 'CVS', '.svn'):
if ignored in dirs:
dirs.remove(ignored)
- found += [join(dir,f) for f in files if f.endswith('.bb')]
+ found += [join(dir, f) for f in files if f.endswith('.bb')]
return found
@@ -906,9 +941,9 @@ class BBCooker:
pout.close()
else:
self.server.serve_forever()
-
+
bb.event.fire(CookerExit(), self.configuration.event_data)
-
+
class CookerExit(bb.event.Event):
"""
Notify clients of the Cooker shutdown
@@ -937,9 +972,9 @@ class CookerParser:
self.pointer = 0
def parse_next(self):
+ cooker = self.cooker
if self.pointer < len(self.filelist):
f = self.filelist[self.pointer]
- cooker = self.cooker
try:
fromCache, skipped, virtuals = cooker.bb_cache.loadData(f, cooker.configuration.data, cooker.status)
@@ -951,7 +986,7 @@ class CookerParser:
self.skipped += skipped
self.virtuals += virtuals
- except IOError, e:
+ except IOError as e:
self.error += 1
cooker.bb_cache.remove(f)
bb.msg.error(bb.msg.domain.Collection, "opening %s: %s" % (f, e))
@@ -960,7 +995,7 @@ class CookerParser:
cooker.bb_cache.remove(f)
cooker.bb_cache.sync()
raise
- except Exception, e:
+ except Exception as e:
self.error += 1
cooker.bb_cache.remove(f)
bb.msg.error(bb.msg.domain.Collection, "%s while parsing %s" % (e, f))
@@ -978,4 +1013,3 @@ class CookerParser:
raise ParsingErrorsFound
return False
return True
-
diff --git a/bitbake/lib/bb/daemonize.py b/bitbake/lib/bb/daemonize.py
index 1a8bb379f..f0714b3af 100644
--- a/bitbake/lib/bb/daemonize.py
+++ b/bitbake/lib/bb/daemonize.py
@@ -1,191 +1,190 @@
-"""
-Python Deamonizing helper
-
-Configurable daemon behaviors:
-
- 1.) The current working directory set to the "/" directory.
- 2.) The current file creation mode mask set to 0.
- 3.) Close all open files (1024).
- 4.) Redirect standard I/O streams to "/dev/null".
-
-A failed call to fork() now raises an exception.
-
-References:
- 1) Advanced Programming in the Unix Environment: W. Richard Stevens
- 2) Unix Programming Frequently Asked Questions:
- http://www.erlenstar.demon.co.uk/unix/faq_toc.html
-
-Modified to allow a function to be daemonized and return for
-bitbake use by Richard Purdie
-"""
-
-__author__ = "Chad J. Schroeder"
-__copyright__ = "Copyright (C) 2005 Chad J. Schroeder"
-__version__ = "0.2"
-
-# Standard Python modules.
-import os # Miscellaneous OS interfaces.
-import sys # System-specific parameters and functions.
-
-# Default daemon parameters.
-# File mode creation mask of the daemon.
-# For BitBake's children, we do want to inherit the parent umask.
-UMASK = None
-
-# Default maximum for the number of available file descriptors.
-MAXFD = 1024
-
-# The standard I/O file descriptors are redirected to /dev/null by default.
-if (hasattr(os, "devnull")):
- REDIRECT_TO = os.devnull
-else:
- REDIRECT_TO = "/dev/null"
-
-def createDaemon(function, logfile):
- """
- Detach a process from the controlling terminal and run it in the
- background as a daemon, returning control to the caller.
- """
-
- try:
- # Fork a child process so the parent can exit. This returns control to
- # the command-line or shell. It also guarantees that the child will not
- # be a process group leader, since the child receives a new process ID
- # and inherits the parent's process group ID. This step is required
- # to insure that the next call to os.setsid is successful.
- pid = os.fork()
- except OSError, e:
- raise Exception, "%s [%d]" % (e.strerror, e.errno)
-
- if (pid == 0): # The first child.
- # To become the session leader of this new session and the process group
- # leader of the new process group, we call os.setsid(). The process is
- # also guaranteed not to have a controlling terminal.
- os.setsid()
-
- # Is ignoring SIGHUP necessary?
- #
- # It's often suggested that the SIGHUP signal should be ignored before
- # the second fork to avoid premature termination of the process. The
- # reason is that when the first child terminates, all processes, e.g.
- # the second child, in the orphaned group will be sent a SIGHUP.
- #
- # "However, as part of the session management system, there are exactly
- # two cases where SIGHUP is sent on the death of a process:
- #
- # 1) When the process that dies is the session leader of a session that
- # is attached to a terminal device, SIGHUP is sent to all processes
- # in the foreground process group of that terminal device.
- # 2) When the death of a process causes a process group to become
- # orphaned, and one or more processes in the orphaned group are
- # stopped, then SIGHUP and SIGCONT are sent to all members of the
- # orphaned group." [2]
- #
- # The first case can be ignored since the child is guaranteed not to have
- # a controlling terminal. The second case isn't so easy to dismiss.
- # The process group is orphaned when the first child terminates and
- # POSIX.1 requires that every STOPPED process in an orphaned process
- # group be sent a SIGHUP signal followed by a SIGCONT signal. Since the
- # second child is not STOPPED though, we can safely forego ignoring the
- # SIGHUP signal. In any case, there are no ill-effects if it is ignored.
- #
- # import signal # Set handlers for asynchronous events.
- # signal.signal(signal.SIGHUP, signal.SIG_IGN)
-
- try:
- # Fork a second child and exit immediately to prevent zombies. This
- # causes the second child process to be orphaned, making the init
- # process responsible for its cleanup. And, since the first child is
- # a session leader without a controlling terminal, it's possible for
- # it to acquire one by opening a terminal in the future (System V-
- # based systems). This second fork guarantees that the child is no
- # longer a session leader, preventing the daemon from ever acquiring
- # a controlling terminal.
- pid = os.fork() # Fork a second child.
- except OSError, e:
- raise Exception, "%s [%d]" % (e.strerror, e.errno)
-
- if (pid == 0): # The second child.
- # We probably don't want the file mode creation mask inherited from
- # the parent, so we give the child complete control over permissions.
- if UMASK is not None:
- os.umask(UMASK)
- else:
- # Parent (the first child) of the second child.
- os._exit(0)
- else:
- # exit() or _exit()?
- # _exit is like exit(), but it doesn't call any functions registered
- # with atexit (and on_exit) or any registered signal handlers. It also
- # closes any open file descriptors. Using exit() may cause all stdio
- # streams to be flushed twice and any temporary files may be unexpectedly
- # removed. It's therefore recommended that child branches of a fork()
- # and the parent branch(es) of a daemon use _exit().
- return
-
- # Close all open file descriptors. This prevents the child from keeping
- # open any file descriptors inherited from the parent. There is a variety
- # of methods to accomplish this task. Three are listed below.
- #
- # Try the system configuration variable, SC_OPEN_MAX, to obtain the maximum
- # number of open file descriptors to close. If it doesn't exists, use
- # the default value (configurable).
- #
- # try:
- # maxfd = os.sysconf("SC_OPEN_MAX")
- # except (AttributeError, ValueError):
- # maxfd = MAXFD
- #
- # OR
- #
- # if (os.sysconf_names.has_key("SC_OPEN_MAX")):
- # maxfd = os.sysconf("SC_OPEN_MAX")
- # else:
- # maxfd = MAXFD
- #
- # OR
- #
- # Use the getrlimit method to retrieve the maximum file descriptor number
- # that can be opened by this process. If there is not limit on the
- # resource, use the default value.
- #
- import resource # Resource usage information.
- maxfd = resource.getrlimit(resource.RLIMIT_NOFILE)[1]
- if (maxfd == resource.RLIM_INFINITY):
- maxfd = MAXFD
-
- # Iterate through and close all file descriptors.
-# for fd in range(0, maxfd):
-# try:
-# os.close(fd)
-# except OSError: # ERROR, fd wasn't open to begin with (ignored)
-# pass
-
- # Redirect the standard I/O file descriptors to the specified file. Since
- # the daemon has no controlling terminal, most daemons redirect stdin,
- # stdout, and stderr to /dev/null. This is done to prevent side-effects
- # from reads and writes to the standard I/O file descriptors.
-
- # This call to open is guaranteed to return the lowest file descriptor,
- # which will be 0 (stdin), since it was closed above.
-# os.open(REDIRECT_TO, os.O_RDWR) # standard input (0)
-
- # Duplicate standard input to standard output and standard error.
-# os.dup2(0, 1) # standard output (1)
-# os.dup2(0, 2) # standard error (2)
-
-
- si = file('/dev/null', 'r')
- so = file(logfile, 'w')
- se = so
-
-
- # Replace those fds with our own
- os.dup2(si.fileno(), sys.stdin.fileno())
- os.dup2(so.fileno(), sys.stdout.fileno())
- os.dup2(se.fileno(), sys.stderr.fileno())
-
- function()
-
- os._exit(0)
-
+"""
+Python Deamonizing helper
+
+Configurable daemon behaviors:
+
+ 1.) The current working directory set to the "/" directory.
+ 2.) The current file creation mode mask set to 0.
+ 3.) Close all open files (1024).
+ 4.) Redirect standard I/O streams to "/dev/null".
+
+A failed call to fork() now raises an exception.
+
+References:
+ 1) Advanced Programming in the Unix Environment: W. Richard Stevens
+ 2) Unix Programming Frequently Asked Questions:
+ http://www.erlenstar.demon.co.uk/unix/faq_toc.html
+
+Modified to allow a function to be daemonized and return for
+bitbake use by Richard Purdie
+"""
+
+__author__ = "Chad J. Schroeder"
+__copyright__ = "Copyright (C) 2005 Chad J. Schroeder"
+__version__ = "0.2"
+
+# Standard Python modules.
+import os # Miscellaneous OS interfaces.
+import sys # System-specific parameters and functions.
+
+# Default daemon parameters.
+# File mode creation mask of the daemon.
+# For BitBake's children, we do want to inherit the parent umask.
+UMASK = None
+
+# Default maximum for the number of available file descriptors.
+MAXFD = 1024
+
+# The standard I/O file descriptors are redirected to /dev/null by default.
+if (hasattr(os, "devnull")):
+ REDIRECT_TO = os.devnull
+else:
+ REDIRECT_TO = "/dev/null"
+
+def createDaemon(function, logfile):
+ """
+ Detach a process from the controlling terminal and run it in the
+ background as a daemon, returning control to the caller.
+ """
+
+ try:
+ # Fork a child process so the parent can exit. This returns control to
+ # the command-line or shell. It also guarantees that the child will not
+ # be a process group leader, since the child receives a new process ID
+ # and inherits the parent's process group ID. This step is required
+ # to insure that the next call to os.setsid is successful.
+ pid = os.fork()
+ except OSError as e:
+ raise Exception("%s [%d]" % (e.strerror, e.errno))
+
+ if (pid == 0): # The first child.
+ # To become the session leader of this new session and the process group
+ # leader of the new process group, we call os.setsid(). The process is
+ # also guaranteed not to have a controlling terminal.
+ os.setsid()
+
+ # Is ignoring SIGHUP necessary?
+ #
+ # It's often suggested that the SIGHUP signal should be ignored before
+ # the second fork to avoid premature termination of the process. The
+ # reason is that when the first child terminates, all processes, e.g.
+ # the second child, in the orphaned group will be sent a SIGHUP.
+ #
+ # "However, as part of the session management system, there are exactly
+ # two cases where SIGHUP is sent on the death of a process:
+ #
+ # 1) When the process that dies is the session leader of a session that
+ # is attached to a terminal device, SIGHUP is sent to all processes
+ # in the foreground process group of that terminal device.
+ # 2) When the death of a process causes a process group to become
+ # orphaned, and one or more processes in the orphaned group are
+ # stopped, then SIGHUP and SIGCONT are sent to all members of the
+ # orphaned group." [2]
+ #
+ # The first case can be ignored since the child is guaranteed not to have
+ # a controlling terminal. The second case isn't so easy to dismiss.
+ # The process group is orphaned when the first child terminates and
+ # POSIX.1 requires that every STOPPED process in an orphaned process
+ # group be sent a SIGHUP signal followed by a SIGCONT signal. Since the
+ # second child is not STOPPED though, we can safely forego ignoring the
+ # SIGHUP signal. In any case, there are no ill-effects if it is ignored.
+ #
+ # import signal # Set handlers for asynchronous events.
+ # signal.signal(signal.SIGHUP, signal.SIG_IGN)
+
+ try:
+ # Fork a second child and exit immediately to prevent zombies. This
+ # causes the second child process to be orphaned, making the init
+ # process responsible for its cleanup. And, since the first child is
+ # a session leader without a controlling terminal, it's possible for
+ # it to acquire one by opening a terminal in the future (System V-
+ # based systems). This second fork guarantees that the child is no
+ # longer a session leader, preventing the daemon from ever acquiring
+ # a controlling terminal.
+ pid = os.fork() # Fork a second child.
+ except OSError as e:
+ raise Exception("%s [%d]" % (e.strerror, e.errno))
+
+ if (pid == 0): # The second child.
+ # We probably don't want the file mode creation mask inherited from
+ # the parent, so we give the child complete control over permissions.
+ if UMASK is not None:
+ os.umask(UMASK)
+ else:
+ # Parent (the first child) of the second child.
+ os._exit(0)
+ else:
+ # exit() or _exit()?
+ # _exit is like exit(), but it doesn't call any functions registered
+ # with atexit (and on_exit) or any registered signal handlers. It also
+ # closes any open file descriptors. Using exit() may cause all stdio
+ # streams to be flushed twice and any temporary files may be unexpectedly
+ # removed. It's therefore recommended that child branches of a fork()
+ # and the parent branch(es) of a daemon use _exit().
+ return
+
+ # Close all open file descriptors. This prevents the child from keeping
+ # open any file descriptors inherited from the parent. There is a variety
+ # of methods to accomplish this task. Three are listed below.
+ #
+ # Try the system configuration variable, SC_OPEN_MAX, to obtain the maximum
+ # number of open file descriptors to close. If it doesn't exists, use
+ # the default value (configurable).
+ #
+ # try:
+ # maxfd = os.sysconf("SC_OPEN_MAX")
+ # except (AttributeError, ValueError):
+ # maxfd = MAXFD
+ #
+ # OR
+ #
+ # if (os.sysconf_names.has_key("SC_OPEN_MAX")):
+ # maxfd = os.sysconf("SC_OPEN_MAX")
+ # else:
+ # maxfd = MAXFD
+ #
+ # OR
+ #
+ # Use the getrlimit method to retrieve the maximum file descriptor number
+ # that can be opened by this process. If there is not limit on the
+ # resource, use the default value.
+ #
+ import resource # Resource usage information.
+ maxfd = resource.getrlimit(resource.RLIMIT_NOFILE)[1]
+ if (maxfd == resource.RLIM_INFINITY):
+ maxfd = MAXFD
+
+ # Iterate through and close all file descriptors.
+# for fd in range(0, maxfd):
+# try:
+# os.close(fd)
+# except OSError: # ERROR, fd wasn't open to begin with (ignored)
+# pass
+
+ # Redirect the standard I/O file descriptors to the specified file. Since
+ # the daemon has no controlling terminal, most daemons redirect stdin,
+ # stdout, and stderr to /dev/null. This is done to prevent side-effects
+ # from reads and writes to the standard I/O file descriptors.
+
+ # This call to open is guaranteed to return the lowest file descriptor,
+ # which will be 0 (stdin), since it was closed above.
+# os.open(REDIRECT_TO, os.O_RDWR) # standard input (0)
+
+ # Duplicate standard input to standard output and standard error.
+# os.dup2(0, 1) # standard output (1)
+# os.dup2(0, 2) # standard error (2)
+
+
+ si = file('/dev/null', 'r')
+ so = file(logfile, 'w')
+ se = so
+
+
+ # Replace those fds with our own
+ os.dup2(si.fileno(), sys.stdin.fileno())
+ os.dup2(so.fileno(), sys.stdout.fileno())
+ os.dup2(se.fileno(), sys.stderr.fileno())
+
+ function()
+
+ os._exit(0)
diff --git a/bitbake/lib/bb/data.py b/bitbake/lib/bb/data.py
index c3bb1a1f4..636983edc 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
suggested 'give me cookies on setting the variables and
things will work out'. Taking this suggestion into account
applying the skills from the not yet passed 'Entwurf und
-Analyse von Algorithmen' lecture and the cookie
+Analyse von Algorithmen' lecture and the cookie
monster seems to be right. We will track setVar more carefully
to have faster update_data and expandKeys operations.
@@ -37,39 +37,40 @@ the speed is more critical here.
#
#Based on functions from the base bb module, Copyright 2003 Holger Schurig
-import sys, os, re, types
+import sys, os, re
if sys.argv[0][-5:] == "pydoc":
path = os.path.dirname(os.path.dirname(sys.argv[1]))
else:
path = os.path.dirname(os.path.dirname(sys.argv[0]))
-sys.path.insert(0,path)
+sys.path.insert(0, path)
+from itertools import groupby
from bb import data_smart
import bb
-class VarExpandError(Exception):
- pass
-
_dict_type = data_smart.DataSmart
def init():
+ """Return a new object representing the Bitbake data"""
return _dict_type()
def init_db(parent = None):
+ """Return a new object representing the Bitbake data,
+ optionally based on an existing object"""
if parent:
return parent.createCopy()
else:
return _dict_type()
def createCopy(source):
- """Link the source set to the destination
- If one does not find the value in the destination set,
- search will go on to the source set to get the value.
- Value from source are copy-on-write. i.e. any try to
- modify one of them will end up putting the modified value
- in the destination set.
- """
- return source.createCopy()
+ """Link the source set to the destination
+ If one does not find the value in the destination set,
+ search will go on to the source set to get the value.
+ Value from source are copy-on-write. i.e. any try to
+ modify one of them will end up putting the modified value
+ in the destination set.
+ """
+ return source.createCopy()
def initVar(var, d):
"""Non-destructive var init for data structure"""
@@ -77,91 +78,34 @@ def initVar(var, d):
def setVar(var, value, d):
- """Set a variable to a given value
-
- Example:
- >>> d = init()
- >>> setVar('TEST', 'testcontents', d)
- >>> print getVar('TEST', d)
- testcontents
- """
- d.setVar(var,value)
+ """Set a variable to a given value"""
+ d.setVar(var, value)
def getVar(var, d, exp = 0):
- """Gets the value of a variable
-
- Example:
- >>> d = init()
- >>> setVar('TEST', 'testcontents', d)
- >>> print getVar('TEST', d)
- testcontents
- """
- return d.getVar(var,exp)
+ """Gets the value of a variable"""
+ return d.getVar(var, exp)
def renameVar(key, newkey, d):
- """Renames a variable from key to newkey
-
- Example:
- >>> d = init()
- >>> setVar('TEST', 'testcontents', d)
- >>> renameVar('TEST', 'TEST2', d)
- >>> print getVar('TEST2', d)
- testcontents
- """
+ """Renames a variable from key to newkey"""
d.renameVar(key, newkey)
def delVar(var, d):
- """Removes a variable from the data set
-
- Example:
- >>> d = init()
- >>> setVar('TEST', 'testcontents', d)
- >>> print getVar('TEST', d)
- testcontents
- >>> delVar('TEST', d)
- >>> print getVar('TEST', d)
- None
- """
+ """Removes a variable from the data set"""
d.delVar(var)
def setVarFlag(var, flag, flagvalue, d):
- """Set a flag for a given variable to a given value
-
- Example:
- >>> d = init()
- >>> setVarFlag('TEST', 'python', 1, d)
- >>> print getVarFlag('TEST', 'python', d)
- 1
- """
- d.setVarFlag(var,flag,flagvalue)
+ """Set a flag for a given variable to a given value"""
+ d.setVarFlag(var, flag, flagvalue)
def getVarFlag(var, flag, d):
- """Gets given flag from given var
-
- Example:
- >>> d = init()
- >>> setVarFlag('TEST', 'python', 1, d)
- >>> print getVarFlag('TEST', 'python', d)
- 1
- """
- return d.getVarFlag(var,flag)
+ """Gets given flag from given var"""
+ return d.getVarFlag(var, flag)
def delVarFlag(var, flag, d):
- """Removes a given flag from the variable's flags
-
- Example:
- >>> d = init()
- >>> setVarFlag('TEST', 'testflag', 1, d)
- >>> print getVarFlag('TEST', 'testflag', d)
- 1
- >>> delVarFlag('TEST', 'testflag', d)
- >>> print getVarFlag('TEST', 'testflag', d)
- None
-
- """
- d.delVarFlag(var,flag)
+ """Removes a given flag from the variable's flags"""
+ d.delVarFlag(var, flag)
def setVarFlags(var, flags, d):
"""Set the flags for a given variable
@@ -170,115 +114,27 @@ def setVarFlags(var, flags, d):
setVarFlags will not clear previous
flags. Think of this method as
addVarFlags
-
- Example:
- >>> d = init()
- >>> myflags = {}
- >>> myflags['test'] = 'blah'
- >>> setVarFlags('TEST', myflags, d)
- >>> print getVarFlag('TEST', 'test', d)
- blah
"""
- d.setVarFlags(var,flags)
+ d.setVarFlags(var, flags)
def getVarFlags(var, d):
- """Gets a variable's flags
-
- Example:
- >>> d = init()
- >>> setVarFlag('TEST', 'test', 'blah', d)
- >>> print getVarFlags('TEST', d)['test']
- blah
- """
+ """Gets a variable's flags"""
return d.getVarFlags(var)
def delVarFlags(var, d):
- """Removes a variable's flags
-
- Example:
- >>> data = init()
- >>> setVarFlag('TEST', 'testflag', 1, data)
- >>> print getVarFlag('TEST', 'testflag', data)
- 1
- >>> delVarFlags('TEST', data)
- >>> print getVarFlags('TEST', data)
- None
-
- """
+ """Removes a variable's flags"""
d.delVarFlags(var)
def keys(d):
- """Return a list of keys in d
-
- Example:
- >>> d = init()
- >>> setVar('TEST', 1, d)
- >>> setVar('MOO' , 2, d)
- >>> setVarFlag('TEST', 'test', 1, d)
- >>> keys(d)
- ['TEST', 'MOO']
- """
+ """Return a list of keys in d"""
return d.keys()
-def getData(d):
- """Returns the data object used"""
- return d
-
-def setData(newData, d):
- """Sets the data object to the supplied value"""
- d = newData
-
-
-##
-## Cookie Monsters' query functions
-##
-def _get_override_vars(d, override):
- """
- Internal!!!
-
- Get the Names of Variables that have a specific
- override. This function returns a iterable
- Set or an empty list
- """
- return []
-
-def _get_var_flags_triple(d):
- """
- Internal!!!
-
- """
- return []
__expand_var_regexp__ = re.compile(r"\${[^{}]+}")
__expand_python_regexp__ = re.compile(r"\${@.+?}")
def expand(s, d, varname = None):
- """Variable expansion using the data store.
-
- Example:
- Standard expansion:
- >>> d = init()
- >>> setVar('A', 'sshd', d)
- >>> print expand('/usr/bin/${A}', d)
- /usr/bin/sshd
-
- Python expansion:
- >>> d = init()
- >>> print expand('result: ${@37 * 72}', d)
- result: 2664
-
- Shell expansion:
- >>> d = init()
- >>> print expand('${TARGET_MOO}', d)
- ${TARGET_MOO}
- >>> setVar('TARGET_MOO', 'yupp', d)
- >>> print expand('${TARGET_MOO}',d)
- yupp
- >>> setVar('SRC_URI', 'http://somebug.${TARGET_MOO}', d)
- >>> delVar('TARGET_MOO', d)
- >>> print expand('${SRC_URI}', d)
- http://somebug.${TARGET_MOO}
- """
+ """Variable expansion using the data store"""
return d.expand(s, varname)
def expandKeys(alterdata, readdata = None):
@@ -295,38 +151,13 @@ def expandKeys(alterdata, readdata = None):
continue
todolist[key] = ekey
- # These two for loops are split for performance to maximise the
+ # These two for loops are split for performance to maximise the
# usefulness of the expand cache
for key in todolist:
ekey = todolist[key]
renameVar(key, ekey, alterdata)
-def expandData(alterdata, readdata = None):
- """For each variable in alterdata, expand it, and update the var contents.
- Replacements use data from readdata.
-
- Example:
- >>> a=init()
- >>> b=init()
- >>> setVar("dlmsg", "dl_dir is ${DL_DIR}", a)
- >>> setVar("DL_DIR", "/path/to/whatever", b)
- >>> expandData(a, b)
- >>> print getVar("dlmsg", a)
- dl_dir is /path/to/whatever
- """
- if readdata == None:
- readdata = alterdata
-
- for key in keys(alterdata):
- val = getVar(key, alterdata)
- if type(val) is not types.StringType:
- continue
- expanded = expand(val, readdata)
-# print "key is %s, val is %s, expanded is %s" % (key, val, expanded)
- if val != expanded:
- setVar(key, expanded, alterdata)
-
def inheritFromOS(d):
"""Inherit variables from the environment."""
for s in os.environ.keys():
@@ -351,21 +182,15 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False):
if all:
oval = getVar(var, d, 0)
val = getVar(var, d, 1)
- except KeyboardInterrupt:
+ except (KeyboardInterrupt, bb.build.FuncFailed):
raise
- except:
- excname = str(sys.exc_info()[0])
- if excname == "bb.build.FuncFailed":
- raise
- o.write('# expansion of %s threw %s\n' % (var, excname))
+ except Exception, exc:
+ o.write('# expansion of %s threw %s: %s\n' % (var, exc.__class__.__name__, str(exc)))
return 0
if all:
o.write('# %s=%s\n' % (var, oval))
- if type(val) is not types.StringType:
- return 0
-
if (var.find("-") != -1 or var.find(".") != -1 or var.find('{') != -1 or var.find('}') != -1 or var.find('+') != -1) and not all:
return 0
@@ -375,10 +200,11 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False):
o.write('unset %s\n' % varExpanded)
return 1
- val.rstrip()
if not val:
return 0
+ val = str(val)
+
if func:
# NOTE: should probably check for unbalanced {} within the var
o.write("%s() {\n%s\n}\n" % (varExpanded, val))
@@ -393,173 +219,22 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False):
o.write('%s="%s"\n' % (varExpanded, alter))
return 1
-
def emit_env(o=sys.__stdout__, d = init(), all=False):
"""Emits all items in the data store in a format such that it can be sourced by a shell."""
- env = keys(d)
-
- for e in env:
- if getVarFlag(e, "func", d):
- continue
- emit_var(e, o, d, all) and o.write('\n')
-
- for e in env:
- if not getVarFlag(e, "func", d):
- continue
- emit_var(e, o, d) and o.write('\n')
+ isfunc = lambda key: bool(d.getVarFlag(key, "func"))
+ keys = sorted((key for key in d.keys() if not key.startswith("__")), key=isfunc)
+ grouped = groupby(keys, isfunc)
+ for isfunc, keys in grouped:
+ for key in keys:
+ emit_var(key, o, d, all and not isfunc) and o.write('\n')
def update_data(d):
- """Modifies the environment vars according to local overrides and commands.
- Examples:
- Appending to a variable:
- >>> d = init()
- >>> setVar('TEST', 'this is a', d)
- >>> setVar('TEST_append', ' test', d)
- >>> setVar('TEST_append', ' of the emergency broadcast system.', d)
- >>> update_data(d)
- >>> print getVar('TEST', d)
- this is a test of the emergency broadcast system.
-
- Prepending to a variable:
- >>> setVar('TEST', 'virtual/libc', d)
- >>> setVar('TEST_prepend', 'virtual/tmake ', d)
- >>> setVar('TEST_prepend', 'virtual/patcher ', d)
- >>> update_data(d)
- >>> print getVar('TEST', d)
- virtual/patcher virtual/tmake virtual/libc
-
- Overrides:
- >>> setVar('TEST_arm', 'target', d)
- >>> setVar('TEST_ramses', 'machine', d)
- >>> setVar('TEST_local', 'local', d)
- >>> setVar('OVERRIDES', 'arm', d)
-
- >>> setVar('TEST', 'original', d)
- >>> update_data(d)
- >>> print getVar('TEST', d)
- target
-
- >>> setVar('OVERRIDES', 'arm:ramses:local', d)
- >>> setVar('TEST', 'original', d)
- >>> update_data(d)
- >>> print getVar('TEST', d)
- local
-
- CopyMonster:
- >>> e = d.createCopy()
- >>> setVar('TEST_foo', 'foo', e)
- >>> update_data(e)
- >>> print getVar('TEST', e)
- local
-
- >>> setVar('OVERRIDES', 'arm:ramses:local:foo', e)
- >>> update_data(e)
- >>> print getVar('TEST', e)
- foo
-
- >>> f = d.createCopy()
- >>> setVar('TEST_moo', 'something', f)
- >>> setVar('OVERRIDES', 'moo:arm:ramses:local:foo', e)
- >>> update_data(e)
- >>> print getVar('TEST', e)
- foo
-
-
- >>> h = init()
- >>> setVar('SRC_URI', 'file://append.foo;patch=1 ', h)
- >>> g = h.createCopy()
- >>> setVar('SRC_URI_append_arm', 'file://other.foo;patch=1', g)
- >>> setVar('OVERRIDES', 'arm:moo', g)
- >>> update_data(g)
- >>> print getVar('SRC_URI', g)
- file://append.foo;patch=1 file://other.foo;patch=1
-
- """
- bb.msg.debug(2, bb.msg.domain.Data, "update_data()")
-
- # now ask the cookie monster for help
- #print "Cookie Monster"
- #print "Append/Prepend %s" % d._special_values
- #print "Overrides %s" % d._seen_overrides
-
- overrides = (getVar('OVERRIDES', d, 1) or "").split(':') or []
-
- #
- # Well let us see what breaks here. We used to iterate
- # over each variable and apply the override and then
- # do the line expanding.
- # If we have bad luck - which we will have - the keys
- # where in some order that is so important for this
- # method which we don't have anymore.
- # Anyway we will fix that and write test cases this
- # time.
-
- #
- # First we apply all overrides
- # Then we will handle _append and _prepend
- #
-
- for o in overrides:
- # calculate '_'+override
- l = len(o)+1
-
- # see if one should even try
- if not d._seen_overrides.has_key(o):
- continue
-
- vars = d._seen_overrides[o]
- for var in vars:
- name = var[:-l]
- try:
- d[name] = d[var]
- except:
- bb.msg.note(1, bb.msg.domain.Data, "Untracked delVar")
-
- # now on to the appends and prepends
- if d._special_values.has_key('_append'):
- appends = d._special_values['_append'] or []
- for append in appends:
- for (a, o) in getVarFlag(append, '_append', d) or []:
- # maybe the OVERRIDE was not yet added so keep the append
- if (o and o in overrides) or not o:
- delVarFlag(append, '_append', d)
- if o and not o in overrides:
- continue
-
- sval = getVar(append,d) or ""
- sval+=a
- setVar(append, sval, d)
-
-
- if d._special_values.has_key('_prepend'):
- prepends = d._special_values['_prepend'] or []
-
- for prepend in prepends:
- for (a, o) in getVarFlag(prepend, '_prepend', d) or []:
- # maybe the OVERRIDE was not yet added so keep the prepend
- if (o and o in overrides) or not o:
- delVarFlag(prepend, '_prepend', d)
- if o and not o in overrides:
- continue
-
- sval = a + (getVar(prepend,d) or "")
- setVar(prepend, sval, d)
-
+ """Performs final steps upon the datastore, including application of overrides"""
+ d.finalize()
def inherits_class(klass, d):
val = getVar('__inherit_cache', d) or []
if os.path.join('classes', '%s.bbclass' % klass) in val:
return True
return False
-
-def _test():
- """Start a doctest run on this module"""
- import doctest
- import bb
- from bb import data
- bb.msg.set_debug_level(0)
- doctest.testmod(data)
-
-if __name__ == "__main__":
- _test()
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py
index 9067d54bf..01a333024 100644
--- a/bitbake/lib/bb/data_smart.py
+++ b/bitbake/lib/bb/data_smart.py
@@ -28,22 +28,16 @@ BitBake build tools.
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
-import copy, os, re, sys, time, types
+import copy, re, sys
import bb
-from bb import utils, methodpool
-from COW import COWDictBase
-from new import classobj
+from bb import utils
+from bb.COW import COWDictBase
-__setvar_keyword__ = ["_append","_prepend"]
+__setvar_keyword__ = ["_append", "_prepend"]
__setvar_regexp__ = re.compile('(?P<base>.*?)(?P<keyword>_append|_prepend)(_(?P<add>.*))?')
__expand_var_regexp__ = re.compile(r"\${[^{}]+}")
__expand_python_regexp__ = re.compile(r"\${@.+?}")
-_expand_globals = {
- "os": os,
- "bb": bb,
- "time": time,
-}
class DataSmart:
@@ -55,9 +49,8 @@ class DataSmart:
self._seen_overrides = seen
self.expand_cache = {}
- self.expand_locals = {"d": self}
- def expand(self,s, varname):
+ def expand(self, s, varname):
def var_sub(match):
key = match.group()[2:-1]
if varname and key:
@@ -70,13 +63,12 @@ class DataSmart:
return match.group()
def python_sub(match):
- import bb
code = match.group()[3:-1]
- s = eval(code, _expand_globals, self.expand_locals)
- if type(s) == types.IntType: s = str(s)
- return s
+ codeobj = compile(code.strip(), varname or "<expansion>", "eval")
+ value = utils.better_eval(codeobj, {"d": self})
+ return str(value)
- if type(s) is not types.StringType: # sanity check
+ if not isinstance(s, basestring): # sanity check
return s
if varname and varname in self.expand_cache:
@@ -87,9 +79,8 @@ class DataSmart:
try:
s = __expand_var_regexp__.sub(var_sub, s)
s = __expand_python_regexp__.sub(python_sub, s)
- if s == olds: break
- if type(s) is not types.StringType: # sanity check
- bb.msg.error(bb.msg.domain.Data, 'expansion of %s returned non-string %s' % (olds, s))
+ if s == olds:
+ break
except KeyboardInterrupt:
raise
except:
@@ -101,23 +92,86 @@ class DataSmart:
return s
+ def finalize(self):
+ """Performs final steps upon the datastore, including application of overrides"""
+
+ overrides = (self.getVar("OVERRIDES", True) or "").split(":") or []
+
+ #
+ # Well let us see what breaks here. We used to iterate
+ # over each variable and apply the override and then
+ # do the line expanding.
+ # If we have bad luck - which we will have - the keys
+ # where in some order that is so important for this
+ # method which we don't have anymore.
+ # Anyway we will fix that and write test cases this
+ # time.
+
+ #
+ # First we apply all overrides
+ # Then we will handle _append and _prepend
+ #
+
+ for o in overrides:
+ # calculate '_'+override
+ l = len(o) + 1
+
+ # see if one should even try
+ if o not in self._seen_overrides:
+ continue
+
+ vars = self._seen_overrides[o]
+ for var in vars:
+ name = var[:-l]
+ try:
+ self[name] = self[var]
+ except Exception:
+ bb.msg.note(1, bb.msg.domain.Data, "Untracked delVar")
+
+ # now on to the appends and prepends
+ if "_append" in self._special_values:
+ appends = self._special_values["_append"] or []
+ for append in appends:
+ for (a, o) in self.getVarFlag(append, "_append") or []:
+ # maybe the OVERRIDE was not yet added so keep the append
+ if (o and o in overrides) or not o:
+ self.delVarFlag(append, "_append")
+ if o and not o in overrides:
+ continue
+
+ sval = self.getVar(append, False) or ""
+ sval += a
+ self.setVar(append, sval)
+
+
+ if "_prepend" in self._special_values:
+ prepends = self._special_values["_prepend"] or []
+
+ for prepend in prepends:
+ for (a, o) in self.getVarFlag(prepend, "_prepend") or []:
+ # maybe the OVERRIDE was not yet added so keep the prepend
+ if (o and o in overrides) or not o:
+ self.delVarFlag(prepend, "_prepend")
+ if o and not o in overrides:
+ continue
+
+ sval = a + (self.getVar(prepend, False) or "")
+ self.setVar(prepend, sval)
+
def initVar(self, var):
self.expand_cache = {}
if not var in self.dict:
self.dict[var] = {}
- def _findVar(self,var):
- _dest = self.dict
+ def _findVar(self, var):
+ dest = self.dict
+ while dest:
+ if var in dest:
+ return dest[var]
- while (_dest and var not in _dest):
- if not "_data" in _dest:
- _dest = None
+ if "_data" not in dest:
break
- _dest = _dest["_data"]
-
- if _dest and var in _dest:
- return _dest[var]
- return None
+ dest = dest["_data"]
def _makeShadowCopy(self, var):
if var in self.dict:
@@ -130,7 +184,7 @@ class DataSmart:
else:
self.initVar(var)
- def setVar(self,var,value):
+ def setVar(self, var, value):
self.expand_cache = {}
match = __setvar_regexp__.match(var)
if match and match.group("keyword") in __setvar_keyword__:
@@ -145,7 +199,7 @@ class DataSmart:
# pay the cookie monster
try:
self._special_values[keyword].add( base )
- except:
+ except KeyError:
self._special_values[keyword] = set()
self._special_values[keyword].add( base )
@@ -157,23 +211,23 @@ class DataSmart:
# more cookies for the cookie monster
if '_' in var:
override = var[var.rfind('_')+1:]
- if not self._seen_overrides.has_key(override):
+ if override not in self._seen_overrides:
self._seen_overrides[override] = set()
self._seen_overrides[override].add( var )
# setting var
self.dict[var]["content"] = value
- def getVar(self,var,exp):
- value = self.getVarFlag(var,"content")
+ def getVar(self, var, exp):
+ value = self.getVarFlag(var, "content")
if exp and value:
- return self.expand(value,var)
+ return self.expand(value, var)
return value
def renameVar(self, key, newkey):
"""
- Rename the variable key to newkey
+ Rename the variable key to newkey
"""
val = self.getVar(key, 0)
if val is not None:
@@ -187,30 +241,30 @@ class DataSmart:
dest = self.getVarFlag(newkey, i) or []
dest.extend(src)
self.setVarFlag(newkey, i, dest)
-
- if self._special_values.has_key(i) and key in self._special_values[i]:
+
+ if i in self._special_values and key in self._special_values[i]:
self._special_values[i].remove(key)
self._special_values[i].add(newkey)
self.delVar(key)
- def delVar(self,var):
+ def delVar(self, var):
self.expand_cache = {}
self.dict[var] = {}
- def setVarFlag(self,var,flag,flagvalue):
+ def setVarFlag(self, var, flag, flagvalue):
if not var in self.dict:
self._makeShadowCopy(var)
self.dict[var][flag] = flagvalue
- def getVarFlag(self,var,flag):
+ def getVarFlag(self, var, flag):
local_var = self._findVar(var)
if local_var:
if flag in local_var:
return copy.copy(local_var[flag])
return None
- def delVarFlag(self,var,flag):
+ def delVarFlag(self, var, flag):
local_var = self._findVar(var)
if not local_var:
return
@@ -220,7 +274,7 @@ class DataSmart:
if var in self.dict and flag in self.dict[var]:
del self.dict[var][flag]
- def setVarFlags(self,var,flags):
+ def setVarFlags(self, var, flags):
if not var in self.dict:
self._makeShadowCopy(var)
@@ -229,7 +283,7 @@ class DataSmart:
continue
self.dict[var][i] = flags[i]
- def getVarFlags(self,var):
+ def getVarFlags(self, var):
local_var = self._findVar(var)
flags = {}
@@ -244,7 +298,7 @@ class DataSmart:
return flags
- def delVarFlags(self,var):
+ def delVarFlags(self, var):
if not var in self.dict:
self._makeShadowCopy(var)
@@ -274,21 +328,19 @@ class DataSmart:
def keys(self):
def _keys(d, mykey):
if "_data" in d:
- _keys(d["_data"],mykey)
+ _keys(d["_data"], mykey)
for key in d.keys():
if key != "_data":
mykey[key] = None
keytab = {}
- _keys(self.dict,keytab)
+ _keys(self.dict, keytab)
return keytab.keys()
- def __getitem__(self,item):
+ def __getitem__(self, item):
#print "Warning deprecated"
return self.getVar(item, False)
- def __setitem__(self,var,data):
+ def __setitem__(self, var, data):
#print "Warning deprecated"
- self.setVar(var,data)
-
-
+ self.setVar(var, data)
diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py
index afd5bf57c..7731649ef 100644
--- a/bitbake/lib/bb/event.py
+++ b/bitbake/lib/bb/event.py
@@ -22,7 +22,8 @@ BitBake build tools.
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-import os, re, sys
+import os, sys
+import warnings
import bb.utils
import pickle
@@ -38,7 +39,7 @@ class Event:
self.pid = worker_pid
NotHandled = 0
-Handled = 1
+Handled = 1
Registered = 10
AlreadyRegistered = 14
@@ -48,13 +49,25 @@ _handlers = {}
_ui_handlers = {}
_ui_handler_seq = 0
+# For compatibility
+bb.utils._context["NotHandled"] = NotHandled
+bb.utils._context["Handled"] = Handled
+
def fire_class_handlers(event, d):
+ import bb.msg
+ if isinstance(event, bb.msg.MsgBase):
+ return
+
for handler in _handlers:
h = _handlers[handler]
event.data = d
if type(h).__name__ == "code":
- exec(h)
- tmpHandler(event)
+ locals = {"e": event}
+ bb.utils.simple_exec(h, locals)
+ ret = bb.utils.better_eval("tmpHandler(e)", locals)
+ if ret is not None:
+ warnings.warn("Using Handled/NotHandled in event handlers is deprecated",
+ DeprecationWarning, stacklevel = 2)
else:
h(event)
del event.data
@@ -76,9 +89,9 @@ def fire_ui_handlers(event, d):
def fire(event, d):
"""Fire off an Event"""
- # We can fire class handlers in the worker process context and this is
+ # We can fire class handlers in the worker process context and this is
# desired so they get the task based datastore.
- # UI handlers need to be fired in the server context so we defer this. They
+ # UI handlers need to be fired in the server context so we defer this. They
# don't have a datastore so the datastore context isn't a problem.
fire_class_handlers(event, d)
@@ -91,13 +104,13 @@ def worker_fire(event, d):
data = "<event>" + pickle.dumps(event) + "</event>"
try:
if os.write(worker_pipe, data) != len (data):
- print "Error sending event to server (short write)"
+ print("Error sending event to server (short write)")
except OSError:
sys.exit(1)
def fire_from_worker(event, d):
if not event.startswith("<event>") or not event.endswith("</event>"):
- print "Error, not an event"
+ print("Error, not an event")
return
event = pickle.loads(event[7:-8])
fire_ui_handlers(event, d)
@@ -222,10 +235,11 @@ class BuildCompleted(BuildBase):
class NoProvider(Event):
"""No Provider for an Event"""
- def __init__(self, item, runtime=False):
+ def __init__(self, item, runtime=False, dependees=None):
Event.__init__(self)
self._item = item
self._runtime = runtime
+ self._dependees = dependees
def getItem(self):
return self._item
@@ -284,4 +298,3 @@ class DepTreeGenerated(Event):
def __init__(self, depgraph):
Event.__init__(self)
self._depgraph = depgraph
-
diff --git a/bitbake/lib/bb/fetch/__init__.py b/bitbake/lib/bb/fetch/__init__.py
index b566da431..31b965379 100644
--- a/bitbake/lib/bb/fetch/__init__.py
+++ b/bitbake/lib/bb/fetch/__init__.py
@@ -24,6 +24,8 @@ BitBake build tools.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
+from __future__ import absolute_import
+from __future__ import print_function
import os, re
import bb
from bb import data
@@ -53,24 +55,6 @@ class InvalidSRCREV(Exception):
def decodeurl(url):
"""Decodes an URL into the tokens (scheme, network location, path,
user, password, parameters).
-
- >>> decodeurl("http://www.google.com/index.html")
- ('http', 'www.google.com', '/index.html', '', '', {})
-
- >>> decodeurl("file://gas/COPYING")
- ('file', '', 'gas/COPYING', '', '', {})
-
- CVS url with username, host and cvsroot. The cvs module to check out is in the
- parameters:
-
- >>> decodeurl("cvs://anoncvs@cvs.handhelds.org/cvs;module=familiar/dist/ipkg")
- ('cvs', 'cvs.handhelds.org', '/cvs', 'anoncvs', '', {'module': 'familiar/dist/ipkg'})
-
- Dito, but this time the username has a password part. And we also request a special tag
- to check out.
-
- >>> decodeurl("cvs://anoncvs:anonymous@cvs.handhelds.org/cvs;module=familiar/dist/ipkg;tag=V0-99-81")
- ('cvs', 'cvs.handhelds.org', '/cvs', 'anoncvs', 'anonymous', {'tag': 'V0-99-81', 'module': 'familiar/dist/ipkg'})
"""
m = re.compile('(?P<type>[^:]*)://((?P<user>.+)@)?(?P<location>[^;]+)(;(?P<parm>.*))?').match(url)
@@ -103,7 +87,7 @@ def decodeurl(url):
p = {}
if parm:
for s in parm.split(';'):
- s1,s2 = s.split('=')
+ s1, s2 = s.split('=')
p[s1] = s2
return (type, host, path, user, pswd, p)
@@ -111,27 +95,12 @@ def decodeurl(url):
def encodeurl(decoded):
"""Encodes a URL from tokens (scheme, network location, path,
user, password, parameters).
-
- >>> encodeurl(['http', 'www.google.com', '/index.html', '', '', {}])
- 'http://www.google.com/index.html'
-
- CVS with username, host and cvsroot. The cvs module to check out is in the
- parameters:
-
- >>> encodeurl(['cvs', 'cvs.handhelds.org', '/cvs', 'anoncvs', '', {'module': 'familiar/dist/ipkg'}])
- 'cvs://anoncvs@cvs.handhelds.org/cvs;module=familiar/dist/ipkg'
-
- Dito, but this time the username has a password part. And we also request a special tag
- to check out.
-
- >>> encodeurl(['cvs', 'cvs.handhelds.org', '/cvs', 'anoncvs', 'anonymous', {'tag': 'V0-99-81', 'module': 'familiar/dist/ipkg'}])
- 'cvs://anoncvs:anonymous@cvs.handhelds.org/cvs;tag=V0-99-81;module=familiar/dist/ipkg'
"""
(type, host, path, user, pswd, p) = decoded
if not type or not path:
- bb.msg.fatal(bb.msg.domain.Fetcher, "invalid or missing parameters for url encoding")
+ raise MissingParameterError("Type or path url components missing when encoding %s" % decoded)
url = '%s://' % type
if user:
url += "%s" % user
@@ -151,15 +120,14 @@ def uri_replace(uri, uri_find, uri_replace, d):
# bb.msg.note(1, bb.msg.domain.Fetcher, "uri_replace: operating on %s" % uri)
if not uri or not uri_find or not uri_replace:
bb.msg.debug(1, bb.msg.domain.Fetcher, "uri_replace: passed an undefined value, not replacing")
- uri_decoded = list(bb.decodeurl(uri))
- uri_find_decoded = list(bb.decodeurl(uri_find))
- uri_replace_decoded = list(bb.decodeurl(uri_replace))
- result_decoded = ['','','','','',{}]
+ uri_decoded = list(decodeurl(uri))
+ uri_find_decoded = list(decodeurl(uri_find))
+ uri_replace_decoded = list(decodeurl(uri_replace))
+ result_decoded = ['', '', '', '', '', {}]
for i in uri_find_decoded:
loc = uri_find_decoded.index(i)
result_decoded[loc] = uri_decoded[loc]
- import types
- if type(i) == types.StringType:
+ if isinstance(i, basestring):
if (re.match(i, uri_decoded[loc])):
result_decoded[loc] = re.sub(i, uri_replace_decoded[loc], uri_decoded[loc])
if uri_find_decoded.index(i) == 2:
@@ -174,19 +142,20 @@ def uri_replace(uri, uri_find, uri_replace, d):
# else:
# for j in i:
# FIXME: apply replacements against options
- return bb.encodeurl(result_decoded)
+ return encodeurl(result_decoded)
methods = []
urldata_cache = {}
saved_headrevs = {}
+persistent_database_connection = {}
def fetcher_init(d):
"""
- Called to initilize the fetchers once the configuration data is known
+ Called to initialize the fetchers once the configuration data is known.
Calls before this must not hit the cache.
"""
- pd = persist_data.PersistData(d)
- # When to drop SCM head revisions controled by user policy
+ pd = persist_data.PersistData(d, persistent_database_connection)
+ # When to drop SCM head revisions controlled by user policy
srcrev_policy = bb.data.getVar('BB_SRCREV_POLICY', d, 1) or "clear"
if srcrev_policy == "cache":
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):
pass
pd.delDomain("BB_URI_HEADREVS")
else:
- bb.msg.fatal(bb.msg.domain.Fetcher, "Invalid SRCREV cache policy of: %s" % srcrev_policy)
+ raise FetchError("Invalid SRCREV cache policy of: %s" % srcrev_policy)
for m in methods:
if hasattr(m, "init"):
@@ -214,7 +183,7 @@ def fetcher_compare_revisons(d):
return true/false on whether they've changed.
"""
- pd = persist_data.PersistData(d)
+ pd = persist_data.PersistData(d, persistent_database_connection)
data = pd.getKeyValues("BB_URI_HEADREVS")
data2 = bb.fetch.saved_headrevs
@@ -236,6 +205,7 @@ def fetcher_compare_revisons(d):
def init(urls, d, setup = True):
urldata = {}
+
fn = bb.data.getVar('FILE', d, 1)
if fn in urldata_cache:
urldata = urldata_cache[fn]
@@ -247,7 +217,7 @@ def init(urls, d, setup = True):
if setup:
for url in urldata:
if not urldata[url].setup:
- urldata[url].setup_localpath(d)
+ urldata[url].setup_localpath(d)
urldata_cache[fn] = urldata
return urldata
@@ -265,7 +235,7 @@ def go(d, urls = None):
ud = urldata[u]
m = ud.method
if ud.localfile:
- if not m.forcefetch(u, ud, d) and os.path.exists(ud.md5):
+ if not m.forcefetch(u, ud, d) and os.path.exists(ud.md5) and os.path.exists(ud.localfile):
# File already present along with md5 stamp file
# Touch md5 file to show activity
try:
@@ -275,8 +245,8 @@ def go(d, urls = None):
pass
continue
lf = bb.utils.lockfile(ud.lockfile)
- if not m.forcefetch(u, ud, d) and os.path.exists(ud.md5):
- # If someone else fetched this before we got the lock,
+ if not m.forcefetch(u, ud, d) and os.path.exists(ud.md5) and os.path.exists(ud.localfile):
+ # If someone else fetched this before we got the lock,
# notice and don't try again
try:
os.utime(ud.md5, None)
@@ -332,7 +302,7 @@ def checkstatus(d):
ret = try_mirrors (d, u, mirrors, True)
if not ret:
- bb.msg.error(bb.msg.domain.Fetcher, "URL %s doesn't work" % u)
+ raise FetchError("URL %s doesn't work" % u)
def localpaths(d):
"""
@@ -342,7 +312,7 @@ def localpaths(d):
urldata = init([], d, True)
for u in urldata:
- ud = urldata[u]
+ ud = urldata[u]
local.append(ud.localpath)
return local
@@ -354,15 +324,15 @@ def get_srcrev(d):
Return the version string for the current package
(usually to be used as PV)
Most packages usually only have one SCM so we just pass on the call.
- In the multi SCM case, we build a value based on SRCREV_FORMAT which must
+ In the multi SCM case, we build a value based on SRCREV_FORMAT which must
have been set.
"""
#
- # Ugly code alert. localpath in the fetchers will try to evaluate SRCREV which
+ # Ugly code alert. localpath in the fetchers will try to evaluate SRCREV which
# could translate into a call to here. If it does, we need to catch this
# and provide some way so it knows get_srcrev is active instead of being
- # some number etc. hence the srcrev_internal_call tracking and the magic
+ # some number etc. hence the srcrev_internal_call tracking and the magic
# "SRCREVINACTION" return value.
#
# Neater solutions welcome!
@@ -372,7 +342,7 @@ def get_srcrev(d):
scms = []
- # Only call setup_localpath on URIs which suppports_srcrev()
+ # Only call setup_localpath on URIs which suppports_srcrev()
urldata = init(bb.data.getVar('SRC_URI', d, 1).split(), d, False)
for u in urldata:
ud = urldata[u]
@@ -385,7 +355,7 @@ def get_srcrev(d):
bb.msg.error(bb.msg.domain.Fetcher, "SRCREV was used yet no valid SCM was found in SRC_URI")
raise ParameterError
- bb.data.setVar('__BB_DONT_CACHE','1', d)
+ bb.data.setVar('__BB_DONT_CACHE', '1', d)
if len(scms) == 1:
return urldata[scms[0]].method.sortable_revision(scms[0], urldata[scms[0]], d)
@@ -408,7 +378,7 @@ def get_srcrev(d):
def localpath(url, d, cache = True):
"""
- Called from the parser with cache=False since the cache isn't ready
+ Called from the parser with cache=False since the cache isn't ready
at this point. Also called from classed in OE e.g. patch.bbclass
"""
ud = init([url], d)
@@ -432,7 +402,7 @@ def runfetchcmd(cmd, d, quiet = False):
for var in exportvars:
val = data.getVar(var, d, True)
if val:
- cmd = 'export ' + var + '=%s; %s' % (val, cmd)
+ cmd = 'export ' + var + '=\"%s\"; %s' % (val, cmd)
bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % cmd)
@@ -440,12 +410,12 @@ def runfetchcmd(cmd, d, quiet = False):
stdout_handle = os.popen(cmd + " 2>&1", "r")
output = ""
- while 1:
+ while True:
line = stdout_handle.readline()
if not line:
break
if not quiet:
- print line,
+ print(line, end=' ')
output += line
status = stdout_handle.close() or 0
@@ -507,7 +477,7 @@ class FetchData(object):
"""
def __init__(self, url, d):
self.localfile = ""
- (self.type, self.host, self.path, self.user, self.pswd, self.parm) = bb.decodeurl(data.expand(url, d))
+ (self.type, self.host, self.path, self.user, self.pswd, self.parm) = decodeurl(data.expand(url, d))
self.date = Fetch.getSRCDate(self, d)
self.url = url
if not self.user and "user" in self.parm:
@@ -571,7 +541,7 @@ class Fetch(object):
def localpath(self, url, urldata, d):
"""
Return the local filename of a given url assuming a successful fetch.
- Can also setup variables in urldata for use in go (saving code duplication
+ Can also setup variables in urldata for use in go (saving code duplication
and duplicate code execution)
"""
return url
@@ -632,8 +602,8 @@ class Fetch(object):
"""
Return:
a) a source revision if specified
- b) True if auto srcrev is in action
- c) False otherwise
+ b) True if auto srcrev is in action
+ c) False otherwise
"""
if 'rev' in ud.parm:
@@ -665,7 +635,7 @@ class Fetch(object):
b) None otherwise
"""
- localcount= None
+ localcount = None
if 'name' in ud.parm:
pn = data.getVar("PN", d, 1)
localcount = data.getVar("LOCALCOUNT_" + ud.parm['name'], d, 1)
@@ -706,7 +676,7 @@ class Fetch(object):
if not hasattr(self, "_latest_revision"):
raise ParameterError
- pd = persist_data.PersistData(d)
+ pd = persist_data.PersistData(d, persistent_database_connection)
key = self.generate_revision_key(url, ud, d)
rev = pd.getValue("BB_URI_HEADREVS", key)
if rev != None:
@@ -718,12 +688,12 @@ class Fetch(object):
def sortable_revision(self, url, ud, d):
"""
-
+
"""
if hasattr(self, "_sortable_revision"):
return self._sortable_revision(url, ud, d)
- pd = persist_data.PersistData(d)
+ pd = persist_data.PersistData(d, persistent_database_connection)
key = self.generate_revision_key(url, ud, d)
latest_rev = self._build_revision(url, ud, d)
@@ -758,18 +728,18 @@ class Fetch(object):
key = self._revision_key(url, ud, d)
return "%s-%s" % (key, bb.data.getVar("PN", d, True) or "")
-import cvs
-import git
-import local
-import svn
-import wget
-import svk
-import ssh
-import perforce
-import bzr
-import hg
-import osc
-import repo
+from . import cvs
+from . import git
+from . import local
+from . import svn
+from . import wget
+from . import svk
+from . import ssh
+from . import perforce
+from . import bzr
+from . import hg
+from . import osc
+from . import repo
methods.append(local.Local())
methods.append(wget.Wget())
diff --git a/bitbake/lib/bb/fetch/bzr.py b/bitbake/lib/bb/fetch/bzr.py
index c6e33c334..813d7d8c8 100644
--- a/bitbake/lib/bb/fetch/bzr.py
+++ b/bitbake/lib/bb/fetch/bzr.py
@@ -46,15 +46,15 @@ class Bzr(Fetch):
revision = Fetch.srcrev_internal_helper(ud, d)
if revision is True:
- ud.revision = self.latest_revision(url, ud, d)
+ ud.revision = self.latest_revision(url, ud, d)
elif revision:
ud.revision = revision
if not ud.revision:
- ud.revision = self.latest_revision(url, ud, d)
+ ud.revision = self.latest_revision(url, ud, d)
ud.localfile = data.expand('bzr_%s_%s_%s.tar.gz' % (ud.host, ud.path.replace('/', '.'), ud.revision), d)
-
+
return os.path.join(data.getVar("DL_DIR", d, True), ud.localfile)
def _buildbzrcommand(self, ud, d, command):
@@ -145,4 +145,3 @@ class Bzr(Fetch):
def _build_revision(self, url, ud, d):
return ud.revision
-
diff --git a/bitbake/lib/bb/fetch/cvs.py b/bitbake/lib/bb/fetch/cvs.py
index 443f52131..61976f7ef 100644
--- a/bitbake/lib/bb/fetch/cvs.py
+++ b/bitbake/lib/bb/fetch/cvs.py
@@ -139,8 +139,8 @@ class Cvs(Fetch):
bb.msg.debug(2, bb.msg.domain.Fetcher, "Fetch: checking for module directory")
pkg = data.expand('${PN}', d)
pkgdir = os.path.join(data.expand('${CVSDIR}', localdata), pkg)
- moddir = os.path.join(pkgdir,localdir)
- if os.access(os.path.join(moddir,'CVS'), os.R_OK):
+ moddir = os.path.join(pkgdir, localdir)
+ if os.access(os.path.join(moddir, 'CVS'), os.R_OK):
bb.msg.note(1, bb.msg.domain.Fetcher, "Update " + loc)
# update sources there
os.chdir(moddir)
@@ -157,7 +157,7 @@ class Cvs(Fetch):
try:
os.rmdir(moddir)
except OSError:
- pass
+ pass
raise FetchError(ud.module)
# tar them up to a defined filename
diff --git a/bitbake/lib/bb/fetch/git.py b/bitbake/lib/bb/fetch/git.py
index 41ebc5b99..8c91de9db 100644
--- a/bitbake/lib/bb/fetch/git.py
+++ b/bitbake/lib/bb/fetch/git.py
@@ -57,12 +57,12 @@ class Git(Fetch):
tag = Fetch.srcrev_internal_helper(ud, d)
if tag is True:
- ud.tag = self.latest_revision(url, ud, d)
+ ud.tag = self.latest_revision(url, ud, d)
elif tag:
ud.tag = tag
if not ud.tag or ud.tag == "master":
- ud.tag = self.latest_revision(url, ud, d)
+ ud.tag = self.latest_revision(url, ud, d)
subdir = ud.parm.get("subpath", "")
if subdir != "":
@@ -114,7 +114,7 @@ class Git(Fetch):
os.chdir(ud.clonedir)
mirror_tarballs = data.getVar("BB_GENERATE_MIRROR_TARBALLS", d, True)
- if mirror_tarballs != "0" or 'fullclone' in ud.parm:
+ if mirror_tarballs != "0" or 'fullclone' in ud.parm:
bb.msg.note(1, bb.msg.domain.Fetcher, "Creating tarball of git repository")
runfetchcmd("tar -czf %s %s" % (repofile, os.path.join(".", ".git", "*") ), d)
@@ -188,7 +188,7 @@ class Git(Fetch):
def _sortable_buildindex_disabled(self, url, ud, d, rev):
"""
- Return a suitable buildindex for the revision specified. This is done by counting revisions
+ Return a suitable buildindex for the revision specified. This is done by counting revisions
using "git rev-list" which may or may not work in different circumstances.
"""
@@ -197,7 +197,7 @@ class Git(Fetch):
# Check if we have the rev already
if not os.path.exists(ud.clonedir):
- print "no repo"
+ print("no repo")
self.go(None, ud, d)
if not os.path.exists(ud.clonedir):
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):
buildindex = "%s" % output.split()[0]
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))
- return buildindex
-
+ return buildindex
diff --git a/bitbake/lib/bb/fetch/hg.py b/bitbake/lib/bb/fetch/hg.py
index d0756382f..efb3b5c76 100644
--- a/bitbake/lib/bb/fetch/hg.py
+++ b/bitbake/lib/bb/fetch/hg.py
@@ -134,9 +134,9 @@ class Hg(Fetch):
os.chdir(ud.pkgdir)
bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % fetchcmd)
runfetchcmd(fetchcmd, d)
-
- # Even when we clone (fetch), we still need to update as hg's clone
- # won't checkout the specified revision if its on a branch
+
+ # Even when we clone (fetch), we still need to update as hg's clone
+ # won't checkout the specified revision if its on a branch
updatecmd = self._buildhgcommand(ud, d, "update")
bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % updatecmd)
runfetchcmd(updatecmd, d)
@@ -170,4 +170,3 @@ class Hg(Fetch):
Return a unique key for the url
"""
return "hg:" + ud.moddir
-
diff --git a/bitbake/lib/bb/fetch/local.py b/bitbake/lib/bb/fetch/local.py
index f9bdf589c..882a2c460 100644
--- a/bitbake/lib/bb/fetch/local.py
+++ b/bitbake/lib/bb/fetch/local.py
@@ -27,6 +27,7 @@ BitBake build tools.
import os
import bb
+import bb.utils
from bb import data
from bb.fetch import Fetch
@@ -47,7 +48,7 @@ class Local(Fetch):
if path[0] != "/":
filespath = data.getVar('FILESPATH', d, 1)
if filespath:
- newpath = bb.which(filespath, path)
+ newpath = bb.utils.which(filespath, path)
if not newpath:
filesdir = data.getVar('FILESDIR', d, 1)
if filesdir:
@@ -65,8 +66,8 @@ class Local(Fetch):
Check the status of the url
"""
if urldata.localpath.find("*") != -1:
- bb.msg.note(1, bb.msg.domain.Fetcher, "URL %s looks like a glob and was therefore not checked." % url)
- return True
+ bb.msg.note(1, bb.msg.domain.Fetcher, "URL %s looks like a glob and was therefore not checked." % url)
+ return True
if os.path.exists(urldata.localpath):
- return True
+ return True
return False
diff --git a/bitbake/lib/bb/fetch/osc.py b/bitbake/lib/bb/fetch/osc.py
index 548dd9d07..ed773939b 100644
--- a/bitbake/lib/bb/fetch/osc.py
+++ b/bitbake/lib/bb/fetch/osc.py
@@ -16,7 +16,7 @@ from bb.fetch import MissingParameterError
from bb.fetch import runfetchcmd
class Osc(Fetch):
- """Class to fetch a module or modules from Opensuse build server
+ """Class to fetch a module or modules from Opensuse build server
repositories."""
def supports(self, url, ud, d):
@@ -64,7 +64,7 @@ class Osc(Fetch):
proto = "ocs"
if "proto" in ud.parm:
proto = ud.parm["proto"]
-
+
options = []
config = "-c %s" % self.generate_config(ud, d)
@@ -108,7 +108,7 @@ class Osc(Fetch):
os.chdir(ud.pkgdir)
bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % oscfetchcmd)
runfetchcmd(oscfetchcmd, d)
-
+
os.chdir(os.path.join(ud.pkgdir + ud.path))
# tar them up to a defined filename
try:
@@ -131,7 +131,7 @@ class Osc(Fetch):
config_path = "%s/oscrc" % data.expand('${OSCDIR}', d)
if (os.path.exists(config_path)):
- os.remove(config_path)
+ os.remove(config_path)
f = open(config_path, 'w')
f.write("[general]\n")
@@ -146,5 +146,5 @@ class Osc(Fetch):
f.write("user = %s\n" % ud.parm["user"])
f.write("pass = %s\n" % ud.parm["pswd"])
f.close()
-
+
return config_path
diff --git a/bitbake/lib/bb/fetch/perforce.py b/bitbake/lib/bb/fetch/perforce.py
index e2c342108..1c74cff34 100644
--- a/bitbake/lib/bb/fetch/perforce.py
+++ b/bitbake/lib/bb/fetch/perforce.py
@@ -25,6 +25,7 @@ BitBake build tools.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
+from future_builtins import zip
import os
import bb
from bb import data
@@ -35,15 +36,15 @@ class Perforce(Fetch):
def supports(self, url, ud, d):
return ud.type in ['p4']
- def doparse(url,d):
+ def doparse(url, d):
parm = {}
path = url.split("://")[1]
delim = path.find("@");
if delim != -1:
- (user,pswd,host,port) = path.split('@')[0].split(":")
+ (user, pswd, host, port) = path.split('@')[0].split(":")
path = path.split('@')[1]
else:
- (host,port) = data.getVar('P4PORT', d).split(':')
+ (host, port) = data.getVar('P4PORT', d).split(':')
user = ""
pswd = ""
@@ -53,19 +54,19 @@ class Perforce(Fetch):
plist = path.split(';')
for item in plist:
if item.count('='):
- (key,value) = item.split('=')
+ (key, value) = item.split('=')
keys.append(key)
values.append(value)
- parm = dict(zip(keys,values))
+ parm = dict(zip(keys, values))
path = "//" + path.split(';')[0]
host += ":%s" % (port)
parm["cset"] = Perforce.getcset(d, path, host, user, pswd, parm)
- return host,path,user,pswd,parm
+ return host, path, user, pswd, parm
doparse = staticmethod(doparse)
- def getcset(d, depot,host,user,pswd,parm):
+ def getcset(d, depot, host, user, pswd, parm):
p4opt = ""
if "cset" in parm:
return parm["cset"];
@@ -95,9 +96,9 @@ class Perforce(Fetch):
return cset.split(' ')[1]
getcset = staticmethod(getcset)
- def localpath(self, url, ud, d):
+ def localpath(self, url, ud, d):
- (host,path,user,pswd,parm) = Perforce.doparse(url,d)
+ (host, path, user, pswd, parm) = Perforce.doparse(url, d)
# If a label is specified, we use that as our filename
@@ -115,7 +116,7 @@ class Perforce(Fetch):
cset = Perforce.getcset(d, path, host, user, pswd, parm)
- ud.localfile = data.expand('%s+%s+%s.tar.gz' % (host,base.replace('/', '.'), cset), d)
+ ud.localfile = data.expand('%s+%s+%s.tar.gz' % (host, base.replace('/', '.'), cset), d)
return os.path.join(data.getVar("DL_DIR", d, 1), ud.localfile)
@@ -124,7 +125,7 @@ class Perforce(Fetch):
Fetch urls
"""
- (host,depot,user,pswd,parm) = Perforce.doparse(loc, d)
+ (host, depot, user, pswd, parm) = Perforce.doparse(loc, d)
if depot.find('/...') != -1:
path = depot[:depot.find('/...')]
@@ -160,14 +161,14 @@ class Perforce(Fetch):
tmppipe = os.popen(data.getVar('MKTEMPDIRCMD', localdata, 1) or "false")
tmpfile = tmppipe.readline().strip()
if not tmpfile:
- bb.error("Fetch: unable to create temporary directory.. make sure 'mktemp' is in the PATH.")
+ bb.msg.error(bb.msg.domain.Fetcher, "Fetch: unable to create temporary directory.. make sure 'mktemp' is in the PATH.")
raise FetchError(module)
if "label" in parm:
- depot = "%s@%s" % (depot,parm["label"])
+ depot = "%s@%s" % (depot, parm["label"])
else:
cset = Perforce.getcset(d, depot, host, user, pswd, parm)
- depot = "%s@%s" % (depot,cset)
+ depot = "%s@%s" % (depot, cset)
os.chdir(tmpfile)
bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc)
@@ -175,12 +176,12 @@ class Perforce(Fetch):
p4file = os.popen("%s%s files %s" % (p4cmd, p4opt, depot))
if not p4file:
- bb.error("Fetch: unable to get the P4 files from %s" % (depot))
+ bb.msg.error(bb.msg.domain.Fetcher, "Fetch: unable to get the P4 files from %s" % (depot))
raise FetchError(module)
count = 0
- for file in p4file:
+ for file in p4file:
list = file.split()
if list[2] == "delete":
@@ -189,11 +190,11 @@ class Perforce(Fetch):
dest = list[0][len(path)+1:]
where = dest.find("#")
- os.system("%s%s print -o %s/%s %s" % (p4cmd, p4opt, module,dest[:where],list[0]))
+ os.system("%s%s print -o %s/%s %s" % (p4cmd, p4opt, module, dest[:where], list[0]))
count = count + 1
-
+
if count == 0:
- bb.error("Fetch: No files gathered from the P4 fetch")
+ bb.msg.error(bb.msg.domain.Fetcher, "Fetch: No files gathered from the P4 fetch")
raise FetchError(module)
myret = os.system("tar -czf %s %s" % (ud.localpath, module))
@@ -205,5 +206,3 @@ class Perforce(Fetch):
raise FetchError(module)
# cleanup
os.system('rm -rf %s' % tmpfile)
-
-
diff --git a/bitbake/lib/bb/fetch/repo.py b/bitbake/lib/bb/fetch/repo.py
index 34c32fe0b..883310b01 100644
--- a/bitbake/lib/bb/fetch/repo.py
+++ b/bitbake/lib/bb/fetch/repo.py
@@ -23,11 +23,10 @@ BitBake "Fetch" repo (git) implementation
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-import os, re
+import os
import bb
from bb import data
from bb.fetch import Fetch
-from bb.fetch import FetchError
from bb.fetch import runfetchcmd
class Repo(Fetch):
diff --git a/bitbake/lib/bb/fetch/ssh.py b/bitbake/lib/bb/fetch/ssh.py
index 68e6fdb1d..86c76f4e4 100644
--- a/bitbake/lib/bb/fetch/ssh.py
+++ b/bitbake/lib/bb/fetch/ssh.py
@@ -114,5 +114,5 @@ class SSH(Fetch):
(exitstatus, output) = commands.getstatusoutput(cmd)
if exitstatus != 0:
- print output
+ print(output)
raise FetchError('Unable to fetch %s' % url)
diff --git a/bitbake/lib/bb/fetch/svn.py b/bitbake/lib/bb/fetch/svn.py
index ba9f6ab10..375e8df05 100644
--- a/bitbake/lib/bb/fetch/svn.py
+++ b/bitbake/lib/bb/fetch/svn.py
@@ -78,7 +78,7 @@ class Svn(Fetch):
ud.revision = rev
ud.date = ""
else:
- ud.revision = ""
+ ud.revision = ""
ud.localfile = data.expand('%s_%s_%s_%s_%s.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.path.replace('/', '.'), ud.revision, ud.date), d)
diff --git a/bitbake/lib/bb/fetch/wget.py b/bitbake/lib/bb/fetch/wget.py
index ae1c6ad13..dcc58c75e 100644
--- a/bitbake/lib/bb/fetch/wget.py
+++ b/bitbake/lib/bb/fetch/wget.py
@@ -30,6 +30,8 @@ import bb
from bb import data
from bb.fetch import Fetch
from bb.fetch import FetchError
+from bb.fetch import encodeurl, decodeurl
+from bb.fetch import runfetchcmd
class Wget(Fetch):
"""Class to fetch urls via 'wget'"""
@@ -37,11 +39,11 @@ class Wget(Fetch):
"""
Check to see if a given url can be fetched with wget.
"""
- return ud.type in ['http','https','ftp']
+ return ud.type in ['http', 'https', 'ftp']
def localpath(self, url, ud, d):
- url = bb.encodeurl([ud.type, ud.host, ud.path, ud.user, ud.pswd, {}])
+ url = encodeurl([ud.type, ud.host, ud.path, ud.user, ud.pswd, {}])
ud.basename = os.path.basename(ud.path)
ud.localfile = data.expand(os.path.basename(url), d)
@@ -60,37 +62,16 @@ class Wget(Fetch):
fetchcmd = data.getVar("FETCHCOMMAND", d, 1)
uri = uri.split(";")[0]
- uri_decoded = list(bb.decodeurl(uri))
+ uri_decoded = list(decodeurl(uri))
uri_type = uri_decoded[0]
uri_host = uri_decoded[1]
- bb.msg.note(1, bb.msg.domain.Fetcher, "fetch " + uri)
fetchcmd = fetchcmd.replace("${URI}", uri.split(";")[0])
fetchcmd = fetchcmd.replace("${FILE}", ud.basename)
- httpproxy = None
- ftpproxy = None
- if uri_type == 'http':
- httpproxy = data.getVar("HTTP_PROXY", d, True)
- httpproxy_ignore = (data.getVar("HTTP_PROXY_IGNORE", d, True) or "").split()
- for p in httpproxy_ignore:
- if uri_host.endswith(p):
- httpproxy = None
- break
- if uri_type == 'ftp':
- ftpproxy = data.getVar("FTP_PROXY", d, True)
- ftpproxy_ignore = (data.getVar("HTTP_PROXY_IGNORE", d, True) or "").split()
- for p in ftpproxy_ignore:
- if uri_host.endswith(p):
- ftpproxy = None
- break
- if httpproxy:
- fetchcmd = "http_proxy=" + httpproxy + " " + fetchcmd
- if ftpproxy:
- fetchcmd = "ftp_proxy=" + ftpproxy + " " + fetchcmd
+
+ bb.msg.note(1, bb.msg.domain.Fetcher, "fetch " + uri)
bb.msg.debug(2, bb.msg.domain.Fetcher, "executing " + fetchcmd)
- ret = os.system(fetchcmd)
- if ret != 0:
- return False
+ runfetchcmd(fetchcmd, d)
# Sanity check since wget can pretend it succeed when it didn't
# 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 f43c4a058..1485b1357 100644
--- a/bitbake/lib/bb/methodpool.py
+++ b/bitbake/lib/bb/methodpool.py
@@ -27,7 +27,7 @@
a method pool to do this task.
This pool will be used to compile and execute the functions. It
- will be smart enough to
+ will be smart enough to
"""
from bb.utils import better_compile, better_exec
@@ -43,8 +43,8 @@ def insert_method(modulename, code, fn):
Add code of a module should be added. The methods
will be simply added, no checking will be done
"""
- comp = better_compile(code, "<bb>", fn )
- better_exec(comp, __builtins__, code, fn)
+ comp = better_compile(code, modulename, fn )
+ better_exec(comp, None, code, fn)
# now some instrumentation
code = comp.co_names
@@ -59,7 +59,7 @@ def insert_method(modulename, code, fn):
def check_insert_method(modulename, code, fn):
"""
Add the code if it wasnt added before. The module
- name will be used for that
+ name will be used for that
Variables:
@modulename a short name e.g. base.bbclass
@@ -81,4 +81,4 @@ def get_parsed_dict():
"""
shortcut
"""
- return _parsed_methods
+ return _parsed_methods
diff --git a/bitbake/lib/bb/msg.py b/bitbake/lib/bb/msg.py
index 3fcf7091b..cea5efb5a 100644
--- a/bitbake/lib/bb/msg.py
+++ b/bitbake/lib/bb/msg.py
@@ -22,26 +22,32 @@ Message handling infrastructure for bitbake
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-import sys, bb
-from bb import event
-
-debug_level = {}
+import sys
+import collections
+import bb
+import bb.event
+debug_level = collections.defaultdict(lambda: 0)
verbose = False
-domain = bb.utils.Enum(
- 'Build',
- 'Cache',
- 'Collection',
- 'Data',
- 'Depends',
- 'Fetcher',
- 'Parsing',
- 'PersistData',
- 'Provider',
- 'RunQueue',
- 'TaskData',
- 'Util')
+def _NamedTuple(name, fields):
+ Tuple = collections.namedtuple(name, " ".join(fields))
+ return Tuple(*range(len(fields)))
+
+domain = _NamedTuple("Domain", (
+ "Default",
+ "Build",
+ "Cache",
+ "Collection",
+ "Data",
+ "Depends",
+ "Fetcher",
+ "Parsing",
+ "PersistData",
+ "Provider",
+ "RunQueue",
+ "TaskData",
+ "Util"))
class MsgBase(bb.event.Event):
@@ -49,7 +55,7 @@ class MsgBase(bb.event.Event):
def __init__(self, msg):
self._message = msg
- event.Event.__init__(self)
+ bb.event.Event.__init__(self)
class MsgDebug(MsgBase):
"""Debug Message"""
@@ -74,52 +80,62 @@ class MsgPlain(MsgBase):
#
def set_debug_level(level):
- bb.msg.debug_level = {}
- for domain in bb.msg.domain:
- bb.msg.debug_level[domain] = level
- bb.msg.debug_level['default'] = level
+ for d in domain:
+ debug_level[d] = level
+ debug_level[domain.Default] = level
+
+def get_debug_level(msgdomain = domain.Default):
+ return debug_level[msgdomain]
def set_verbose(level):
- bb.msg.verbose = level
-
-def set_debug_domains(domains):
- for domain in domains:
- found = False
- for ddomain in bb.msg.domain:
- if domain == str(ddomain):
- bb.msg.debug_level[ddomain] = bb.msg.debug_level[ddomain] + 1
- found = True
- if not found:
- bb.msg.warn(None, "Logging domain %s is not valid, ignoring" % domain)
+ verbose = level
+
+def set_debug_domains(strdomains):
+ for domainstr in strdomains:
+ for d in domain:
+ if domain._fields[d] == domainstr:
+ debug_level[d] += 1
+ break
+ else:
+ warn(None, "Logging domain %s is not valid, ignoring" % domainstr)
#
# Message handling functions
#
-def debug(level, domain, msg, fn = None):
- if not domain:
- domain = 'default'
- if debug_level[domain] >= level:
+def debug(level, msgdomain, msg, fn = None):
+ if not msgdomain:
+ msgdomain = domain.Default
+
+ if debug_level[msgdomain] >= level:
bb.event.fire(MsgDebug(msg), None)
+ if not bb.event._ui_handlers:
+ print('DEBUG: ' + msg)
+
+def note(level, msgdomain, msg, fn = None):
+ if not msgdomain:
+ msgdomain = domain.Default
-def note(level, domain, msg, fn = None):
- if not domain:
- domain = 'default'
- if level == 1 or verbose or debug_level[domain] >= 1:
+ if level == 1 or verbose or debug_level[msgdomain] >= 1:
bb.event.fire(MsgNote(msg), None)
+ if not bb.event._ui_handlers:
+ print('NOTE: ' + msg)
-def warn(domain, msg, fn = None):
+def warn(msgdomain, msg, fn = None):
bb.event.fire(MsgWarn(msg), None)
+ if not bb.event._ui_handlers:
+ print('WARNING: ' + msg)
-def error(domain, msg, fn = None):
+def error(msgdomain, msg, fn = None):
bb.event.fire(MsgError(msg), None)
print 'ERROR: ' + msg
-def fatal(domain, msg, fn = None):
+def fatal(msgdomain, msg, fn = None):
bb.event.fire(MsgFatal(msg), None)
- print 'FATAL: ' + msg
+ print('FATAL: ' + msg)
sys.exit(1)
def plain(msg, fn = None):
bb.event.fire(MsgPlain(msg), None)
-
+ if not bb.event._ui_handlers:
+ print(msg)
diff --git a/bitbake/lib/bb/parse/__init__.py b/bitbake/lib/bb/parse/__init__.py
index 2a7897cdf..95f372b00 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.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
-__all__ = [ 'ParseError', 'SkipPackage', 'cached_mtime', 'mark_dependency',
- 'supports', 'handle', 'init' ]
handlers = []
import bb, os
+import bb.utils
class ParseError(Exception):
"""Exception raised when parsing fails"""
@@ -38,12 +37,12 @@ class SkipPackage(Exception):
__mtime_cache = {}
def cached_mtime(f):
- if not __mtime_cache.has_key(f):
+ if f not in __mtime_cache:
__mtime_cache[f] = os.stat(f)[8]
return __mtime_cache[f]
def cached_mtime_noerror(f):
- if not __mtime_cache.has_key(f):
+ if f not in __mtime_cache:
try:
__mtime_cache[f] = os.stat(f)[8]
except OSError:
@@ -57,8 +56,8 @@ def update_mtime(f):
def mark_dependency(d, f):
if f.startswith('./'):
f = "%s/%s" % (os.getcwd(), f[2:])
- deps = bb.data.getVar('__depends', d) or []
- deps.append( (f, cached_mtime(f)) )
+ deps = bb.data.getVar('__depends', d) or set()
+ deps.update([(f, cached_mtime(f))])
bb.data.setVar('__depends', deps, d)
def supports(fn, data):
@@ -82,9 +81,11 @@ def init(fn, data):
def resolve_file(fn, d):
if not os.path.isabs(fn):
- fn = bb.which(bb.data.getVar("BBPATH", d, 1), fn)
- if not fn:
- raise IOError("file %s not found" % fn)
+ bbpath = bb.data.getVar("BBPATH", d, True)
+ newfn = bb.which(bbpath, fn)
+ if not newfn:
+ raise IOError("file %s not found in %s" % (fn, bbpath))
+ fn = newfn
bb.msg.debug(2, bb.msg.domain.Parsing, "LOAD %s" % fn)
return fn
diff --git a/bitbake/lib/bb/parse/ast.py b/bitbake/lib/bb/parse/ast.py
index 59aa44bee..dae2e1115 100644
--- a/bitbake/lib/bb/parse/ast.py
+++ b/bitbake/lib/bb/parse/ast.py
@@ -21,8 +21,11 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+from __future__ import absolute_import
+from future_builtins import filter
import bb, re, string
-from itertools import chain
+from bb import methodpool
+import itertools
__word__ = re.compile(r"\S+")
__parsed_methods__ = bb.methodpool.get_parsed_dict()
@@ -30,7 +33,8 @@ _bbversions_re = re.compile(r"\[(?P<from>[0-9]+)-(?P<to>[0-9]+)\]")
class StatementGroup(list):
def eval(self, data):
- map(lambda x: x.eval(data), self)
+ for statement in self:
+ statement.eval(data)
class AstNode(object):
pass
@@ -103,7 +107,6 @@ class DataNode(AstNode):
val = groupd["value"]
if 'flag' in groupd and groupd['flag'] != None:
- bb.msg.debug(3, bb.msg.domain.Parsing, "setVarFlag(%s, %s, %s, data)" % (key, groupd['flag'], val))
bb.data.setVarFlag(key, groupd['flag'], val, data)
elif groupd["lazyques"]:
assigned = bb.data.getVar("__lazy_assigned", data) or []
@@ -143,7 +146,7 @@ class PythonMethodNode(AstNode):
# Note we will add root to parsedmethods after having parse
# 'this' file. This means we will not parse methods from
# bb classes twice
- if not self.root in __parsed_methods__:
+ if not bb.methodpool.parsed_module(self.root):
text = '\n'.join(self.body)
bb.methodpool.insert_method(self.root, text, self.fn)
@@ -254,7 +257,7 @@ class InheritNode(AstNode):
def eval(self, data):
bb.parse.BBHandler.inherit(self.n, data)
-
+
def handleInclude(statements, m, fn, lineno, force):
statements.append(IncludeNode(m.group(1), fn, lineno, force))
@@ -293,7 +296,7 @@ def handleInherit(statements, m):
n = __word__.findall(files)
statements.append(InheritNode(m.group(1)))
-def finalise(fn, d):
+def finalize(fn, d):
for lazykey in bb.data.getVar("__lazy_assigned", d) or ():
if bb.data.getVar(lazykey, d) is None:
val = bb.data.getVarFlag(lazykey, "defaultval", d)
@@ -301,35 +304,16 @@ def finalise(fn, d):
bb.data.expandKeys(d)
bb.data.update_data(d)
- anonqueue = bb.data.getVar("__anonqueue", d, 1) or []
- body = [x['content'] for x in anonqueue]
- flag = { 'python' : 1, 'func' : 1 }
- bb.data.setVar("__anonfunc", "\n".join(body), d)
- bb.data.setVarFlags("__anonfunc", flag, d)
- from bb import build
- try:
- t = bb.data.getVar('T', d)
- bb.data.setVar('T', '${TMPDIR}/anonfunc/', d)
- anonfuncs = bb.data.getVar('__BBANONFUNCS', d) or []
- code = ""
- for f in anonfuncs:
- code = code + " %s(d)\n" % f
- bb.data.setVar("__anonfunc", code, d)
- build.exec_func("__anonfunc", d)
- bb.data.delVar('T', d)
- if t:
- bb.data.setVar('T', t, d)
- except Exception, e:
- bb.msg.debug(1, bb.msg.domain.Parsing, "Exception when executing anonymous function: %s" % e)
- raise
- bb.data.delVar("__anonqueue", d)
- bb.data.delVar("__anonfunc", d)
+ code = []
+ for funcname in bb.data.getVar("__BBANONFUNCS", d) or []:
+ code.append("%s(d)" % funcname)
+ bb.utils.simple_exec("\n".join(code), {"d": d})
bb.data.update_data(d)
- all_handlers = {}
+ all_handlers = {}
for var in bb.data.getVar('__BBHANDLERS', d) or []:
# try to add the handler
- handler = bb.data.getVar(var,d)
+ handler = bb.data.getVar(var, d)
bb.event.register(var, handler)
tasklist = bb.data.getVar('__BBTASKS', d) or []
@@ -360,7 +344,7 @@ def _expand_versions(versions):
versions = iter(versions)
while True:
try:
- version = versions.next()
+ version = next(versions)
except StopIteration:
break
@@ -370,14 +354,14 @@ def _expand_versions(versions):
else:
newversions = expand_one(version, int(range_ver.group("from")),
int(range_ver.group("to")))
- versions = chain(newversions, versions)
+ versions = itertools.chain(newversions, versions)
def multi_finalize(fn, d):
safe_d = d
d = bb.data.createCopy(safe_d)
try:
- finalise(fn, d)
+ finalize(fn, d)
except bb.parse.SkipPackage:
bb.data.setVar("__SKIPPED", True, d)
datastores = {"": safe_d}
@@ -420,7 +404,7 @@ def multi_finalize(fn, d):
d = bb.data.createCopy(safe_d)
verfunc(pv, d, safe_d)
try:
- finalise(fn, d)
+ finalize(fn, d)
except bb.parse.SkipPackage:
bb.data.setVar("__SKIPPED", True, d)
@@ -436,15 +420,15 @@ def multi_finalize(fn, d):
safe_d.setVar("BBCLASSEXTEND", extended)
_create_variants(datastores, extended.split(), extendfunc)
- for variant, variant_d in datastores.items():
+ for variant, variant_d in datastores.iteritems():
if variant:
try:
- finalise(fn, variant_d)
+ finalize(fn, variant_d)
except bb.parse.SkipPackage:
bb.data.setVar("__SKIPPED", True, variant_d)
if len(datastores) > 1:
- variants = filter(None, datastores.keys())
+ variants = filter(None, datastores.iterkeys())
safe_d.setVar("__VARIANTS", " ".join(variants))
datastores[""] = d
diff --git a/bitbake/lib/bb/parse/parse_py/BBHandler.py b/bitbake/lib/bb/parse/parse_py/BBHandler.py
index 262c883c9..bb5617488 100644
--- a/bitbake/lib/bb/parse/parse_py/BBHandler.py
+++ b/bitbake/lib/bb/parse/parse_py/BBHandler.py
@@ -11,7 +11,7 @@
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2003, 2004 Phil Blundell
-#
+#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
@@ -25,15 +25,17 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-import re, bb, os, sys, time, string
+from __future__ import absolute_import
+import re, bb, os
import bb.fetch, bb.build, bb.utils
-from bb import data, fetch
+from bb import data
-from ConfHandler import include, init
-from bb.parse import ParseError, resolve_file, ast
+from . import ConfHandler
+from .. import resolve_file, ast
+from .ConfHandler import include, init
# For compatibility
-from bb.parse import vars_from_file
+bb.deprecate_import(__name__, "bb.parse", ["vars_from_file"])
__func_start_regexp__ = re.compile( r"(((?P<py>python)|(?P<fr>fakeroot))\s*)*(?P<func>[\w\.\-\+\{\}\$]+)?\s*\(\s*\)\s*{$" )
__inherit_regexp__ = re.compile( r"inherit\s+(.+)" )
@@ -68,8 +70,8 @@ def inherit(files, d):
__inherit_cache = data.getVar('__inherit_cache', d) or []
fn = ""
lineno = 0
- files = data.expand(files, d)
for file in files:
+ file = data.expand(file, d)
if file[0] != "/" and file[-8:] != ".bbclass":
file = os.path.join('classes', '%s.bbclass' % file)
@@ -80,17 +82,17 @@ def inherit(files, d):
include(fn, file, d, "inherit")
__inherit_cache = data.getVar('__inherit_cache', d) or []
-def get_statements(filename, absolsute_filename, base_name):
+def get_statements(filename, absolute_filename, base_name):
global cached_statements
try:
- return cached_statements[absolsute_filename]
+ return cached_statements[absolute_filename]
except KeyError:
- file = open(absolsute_filename, 'r')
+ file = open(absolute_filename, 'r')
statements = ast.StatementGroup()
lineno = 0
- while 1:
+ while True:
lineno = lineno + 1
s = file.readline()
if not s: break
@@ -101,7 +103,7 @@ def get_statements(filename, absolsute_filename, base_name):
feeder(IN_PYTHON_EOF, "", filename, base_name, statements)
if filename.endswith(".bbclass") or filename.endswith(".inc"):
- cached_statements[absolsute_filename] = statements
+ cached_statements[absolute_filename] = statements
return statements
def handle(fn, d, include):
@@ -118,7 +120,7 @@ def handle(fn, d, include):
bb.msg.debug(2, bb.msg.domain.Parsing, "BB " + fn + ": handle(data, include)")
(root, ext) = os.path.splitext(os.path.basename(fn))
- base_name = "%s%s" % (root,ext)
+ base_name = "%s%s" % (root, ext)
init(d)
if ext == ".bbclass":
@@ -164,7 +166,7 @@ def handle(fn, d, include):
return d
def feeder(lineno, s, fn, root, statements):
- global __func_start_regexp__, __inherit_regexp__, __export_func_regexp__, __addtask_regexp__, __addhandler_regexp__, __def_regexp__, __python_func_regexp__, __inpython__,__infunc__, __body__, classes, bb, __residue__
+ global __func_start_regexp__, __inherit_regexp__, __export_func_regexp__, __addtask_regexp__, __addhandler_regexp__, __def_regexp__, __python_func_regexp__, __inpython__, __infunc__, __body__, classes, bb, __residue__
if __infunc__:
if s == '}':
__body__.append('')
@@ -231,10 +233,9 @@ def feeder(lineno, s, fn, root, statements):
ast.handleInherit(statements, m)
return
- from bb.parse import ConfHandler
return ConfHandler.feeder(lineno, s, fn, statements)
# Add us to the handlers list
-from bb.parse import handlers
+from .. import handlers
handlers.append({'supports': supports, 'handle': handle, 'init': init})
del handlers
diff --git a/bitbake/lib/bb/parse/parse_py/ConfHandler.py b/bitbake/lib/bb/parse/parse_py/ConfHandler.py
index f4f85de24..9128a2ef8 100644
--- a/bitbake/lib/bb/parse/parse_py/ConfHandler.py
+++ b/bitbake/lib/bb/parse/parse_py/ConfHandler.py
@@ -10,7 +10,7 @@
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2003, 2004 Phil Blundell
-#
+#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
@@ -24,7 +24,8 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-import re, bb.data, os, sys
+import re, bb.data, os
+import bb.utils
from bb.parse import ParseError, resolve_file, ast
#__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+(.+)" )
def init(data):
topdir = bb.data.getVar('TOPDIR', data)
if not topdir:
- topdir = os.getcwd()
- bb.data.setVar('TOPDIR', topdir, data)
- if not bb.data.getVar('BBPATH', data):
- bb.fatal("The BBPATH environment variable must be set")
+ bb.data.setVar('TOPDIR', os.getcwd(), data)
def supports(fn, d):
@@ -60,7 +58,7 @@ def include(oldfn, fn, data, error_out):
if not os.path.isabs(fn):
dname = os.path.dirname(oldfn)
bbpath = "%s:%s" % (dname, bb.data.getVar("BBPATH", data, 1))
- abs_fn = bb.which(bbpath, fn)
+ abs_fn = bb.utils.which(bbpath, fn)
if abs_fn:
fn = abs_fn
@@ -88,7 +86,7 @@ def handle(fn, data, include):
statements = ast.StatementGroup()
lineno = 0
- while 1:
+ while True:
lineno = lineno + 1
s = f.readline()
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 9e0e00add..3e658d0de 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.
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
-__version__ = '1.0'
-__all__ = [ 'ConfHandler', 'BBHandler']
+from __future__ import absolute_import
+from . import ConfHandler
+from . import BBHandler
-import ConfHandler
-import BBHandler
+__version__ = '1.0'
diff --git a/bitbake/lib/bb/persist_data.py b/bitbake/lib/bb/persist_data.py
index bc4045fe8..df0409cd8 100644
--- a/bitbake/lib/bb/persist_data.py
+++ b/bitbake/lib/bb/persist_data.py
@@ -16,6 +16,7 @@
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import bb, os
+import bb.utils
try:
import sqlite3
@@ -33,58 +34,63 @@ class PersistData:
"""
BitBake Persistent Data Store
- Used to store data in a central location such that other threads/tasks can
+ Used to store data in a central location such that other threads/tasks can
access them at some future date.
- The "domain" is used as a key to isolate each data pool and in this
- implementation corresponds to an SQL table. The SQL table consists of a
+ The "domain" is used as a key to isolate each data pool and in this
+ implementation corresponds to an SQL table. The SQL table consists of a
simple key and value pair.
Why sqlite? It handles all the locking issues for us.
"""
- def __init__(self, d):
+ def __init__(self, d, persistent_database_connection):
+ if "connection" in persistent_database_connection:
+ self.cursor = persistent_database_connection["connection"].cursor()
+ return
self.cachedir = bb.data.getVar("PERSISTENT_DIR", d, True) or bb.data.getVar("CACHE", d, True)
if self.cachedir in [None, '']:
bb.msg.fatal(bb.msg.domain.PersistData, "Please set the 'PERSISTENT_DIR' or 'CACHE' variable.")
try:
os.stat(self.cachedir)
except OSError:
- bb.mkdirhier(self.cachedir)
+ bb.utils.mkdirhier(self.cachedir)
- self.cachefile = os.path.join(self.cachedir,"bb_persist_data.sqlite3")
+ self.cachefile = os.path.join(self.cachedir, "bb_persist_data.sqlite3")
bb.msg.debug(1, bb.msg.domain.PersistData, "Using '%s' as the persistent data cache" % self.cachefile)
- self.connection = sqlite3.connect(self.cachefile, timeout=5, isolation_level=None)
+ connection = sqlite3.connect(self.cachefile, timeout=5, isolation_level=None)
+ persistent_database_connection["connection"] = connection
+ self.cursor = persistent_database_connection["connection"].cursor()
def addDomain(self, domain):
"""
Should be called before any domain is used
Creates it if it doesn't exist.
"""
- self.connection.execute("CREATE TABLE IF NOT EXISTS %s(key TEXT, value TEXT);" % domain)
+ self.cursor.execute("CREATE TABLE IF NOT EXISTS %s(key TEXT, value TEXT);" % domain)
def delDomain(self, domain):
"""
Removes a domain and all the data it contains
"""
- self.connection.execute("DROP TABLE IF EXISTS %s;" % domain)
+ self.cursor.execute("DROP TABLE IF EXISTS %s;" % domain)
def getKeyValues(self, domain):
"""
Return a list of key + value pairs for a domain
"""
ret = {}
- data = self.connection.execute("SELECT key, value from %s;" % domain)
+ data = self.cursor.execute("SELECT key, value from %s;" % domain)
for row in data:
ret[str(row[0])] = str(row[1])
- return ret
+ return ret
def getValue(self, domain, key):
"""
Return the value of a key for a domain
"""
- data = self.connection.execute("SELECT * from %s where key=?;" % domain, [key])
+ data = self.cursor.execute("SELECT * from %s where key=?;" % domain, [key])
for row in data:
return row[1]
@@ -92,7 +98,7 @@ class PersistData:
"""
Sets the value of a key for a domain
"""
- data = self.connection.execute("SELECT * from %s where key=?;" % domain, [key])
+ data = self.cursor.execute("SELECT * from %s where key=?;" % domain, [key])
rows = 0
for row in data:
rows = rows + 1
@@ -108,14 +114,11 @@ class PersistData:
self._execute("DELETE from %s where key=?;" % domain, [key])
def _execute(self, *query):
- while True:
+ while True:
try:
- self.connection.execute(*query)
+ self.cursor.execute(*query)
return
- except sqlite3.OperationalError, e:
+ except sqlite3.OperationalError as e:
if 'database is locked' in str(e):
continue
raise
-
-
-
diff --git a/bitbake/lib/bb/providers.py b/bitbake/lib/bb/providers.py
index 058996ba5..58326f039 100644
--- a/bitbake/lib/bb/providers.py
+++ b/bitbake/lib/bb/providers.py
@@ -62,7 +62,7 @@ def sortPriorities(pn, dataCache, pkg_pn = None):
def preferredVersionMatch(pe, pv, pr, preferred_e, preferred_v, preferred_r):
"""
Check if the version pe,pv,pr is the preferred one.
- If there is preferred version defined and ends with '%', then pv has to start with that version after removing the '%'
+ If there is preferred version defined and ends with '%', then pv has to start with that version after removing the '%'
"""
if (pr == preferred_r or preferred_r == None):
if (pe == preferred_e or preferred_e == None):
@@ -103,7 +103,7 @@ def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None):
for file_set in pkg_pn:
for f in file_set:
- pe,pv,pr = dataCache.pkg_pepvpr[f]
+ pe, pv, pr = dataCache.pkg_pepvpr[f]
if preferredVersionMatch(pe, pv, pr, preferred_e, preferred_v, preferred_r):
preferred_file = f
preferred_ver = (pe, pv, pr)
@@ -136,7 +136,7 @@ def findLatestProvider(pn, cfgData, dataCache, file_set):
latest_p = 0
latest_f = None
for file_name in file_set:
- pe,pv,pr = dataCache.pkg_pepvpr[file_name]
+ pe, pv, pr = dataCache.pkg_pepvpr[file_name]
dp = dataCache.pkg_dp[file_name]
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):
def _filterProviders(providers, item, cfgData, dataCache):
"""
- Take a list of providers and filter/reorder according to the
+ Take a list of providers and filter/reorder according to the
environment variables and previous build results
"""
eligible = []
preferred_versions = {}
sortpkg_pn = {}
- # The order of providers depends on the order of the files on the disk
+ # The order of providers depends on the order of the files on the disk
# up to here. Sort pkg_pn to make dependency issues reproducible rather
# than effectively random.
providers.sort()
@@ -226,7 +226,7 @@ def _filterProviders(providers, item, cfgData, dataCache):
def filterProviders(providers, item, cfgData, dataCache):
"""
- Take a list of providers and filter/reorder according to the
+ Take a list of providers and filter/reorder according to the
environment variables and previous build results
Takes a "normal" target item
"""
@@ -254,7 +254,7 @@ def filterProviders(providers, item, cfgData, dataCache):
def filterProvidersRunTime(providers, item, cfgData, dataCache):
"""
- Take a list of providers and filter/reorder according to the
+ Take a list of providers and filter/reorder according to the
environment variables and previous build results
Takes a "runtime" target item
"""
@@ -297,7 +297,7 @@ def getRuntimeProviders(dataCache, rdepend):
rproviders = []
if rdepend in dataCache.rproviders:
- rproviders += dataCache.rproviders[rdepend]
+ rproviders += dataCache.rproviders[rdepend]
if rdepend in dataCache.packages:
rproviders += dataCache.packages[rdepend]
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index c5f4380c8..a4aea6c00 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
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-from bb import msg, data, event, mkdirhier, utils
import bb, os, sys
+from bb import msg, data, event
import signal
import stat
import fcntl
class TaskFailure(Exception):
"""Exception raised when a task in a runqueue fails"""
- def __init__(self, x):
+ def __init__(self, x):
self.args = x
@@ -60,7 +60,7 @@ class RunQueueStats:
def taskActive(self):
self.active = self.active + 1
-# These values indicate the next step due to be run in the
+# These values indicate the next step due to be run in the
# runQueue state machine
runQueuePrepare = 2
runQueueRunInit = 3
@@ -76,7 +76,7 @@ class RunQueueScheduler:
"""
def __init__(self, runqueue):
"""
- The default scheduler just returns the first buildable task (the
+ The default scheduler just returns the first buildable task (the
priority map is sorted by task numer)
"""
self.rq = runqueue
@@ -109,8 +109,7 @@ class RunQueueSchedulerSpeed(RunQueueScheduler):
self.rq = runqueue
- sortweight = deepcopy(self.rq.runq_weight)
- sortweight.sort()
+ sortweight = sorted(deepcopy(self.rq.runq_weight))
copyweight = deepcopy(self.rq.runq_weight)
self.prio_map = []
@@ -123,10 +122,10 @@ class RunQueueSchedulerSpeed(RunQueueScheduler):
class RunQueueSchedulerCompletion(RunQueueSchedulerSpeed):
"""
- A scheduler optimised to complete .bb files are quickly as possible. The
- priority map is sorted by task weight, but then reordered so once a given
+ A scheduler optimised to complete .bb files are quickly as possible. The
+ priority map is sorted by task weight, but then reordered so once a given
.bb file starts to build, its completed as quickly as possible. This works
- well where disk space is at a premium and classes like OE's rm_work are in
+ well where disk space is at a premium and classes like OE's rm_work are in
force.
"""
def __init__(self, runqueue):
@@ -135,7 +134,7 @@ class RunQueueSchedulerCompletion(RunQueueSchedulerSpeed):
#FIXME - whilst this groups all fnids together it does not reorder the
#fnid groups optimally.
-
+
basemap = deepcopy(self.prio_map)
self.prio_map = []
while (len(basemap) > 0):
@@ -231,7 +230,7 @@ class RunQueue:
if chain1[index] != chain2[index]:
return False
return True
-
+
def chain_array_contains(chain, chain_array):
"""
Return True if chain_array contains chain
@@ -286,7 +285,7 @@ class RunQueue:
def calculate_task_weights(self, endpoints):
"""
- Calculate a number representing the "weight" of each task. Heavier weighted tasks
+ Calculate a number representing the "weight" of each task. Heavier weighted tasks
have more dependencies and hence should be executed sooner for maximum speed.
This function also sanity checks the task list finding tasks that its not
@@ -307,7 +306,7 @@ class RunQueue:
weight[listid] = 1
task_done[listid] = True
- while 1:
+ while True:
next_points = []
for listid in endpoints:
for revdep in self.runq_depends[listid]:
@@ -318,7 +317,7 @@ class RunQueue:
task_done[revdep] = True
endpoints = next_points
if len(next_points) == 0:
- break
+ break
# Circular dependency sanity check
problem_tasks = []
@@ -345,7 +344,7 @@ class RunQueue:
def prepare_runqueue(self):
"""
- Turn a set of taskData into a RunQueue and compute data needed
+ Turn a set of taskData into a RunQueue and compute data needed
to optimise the execution order.
"""
@@ -365,12 +364,12 @@ class RunQueue:
# Step A - Work out a list of tasks to run
#
# Taskdata gives us a list of possible providers for every build and run
- # target ordered by priority. It also gives information on each of those
+ # target ordered by priority. It also gives information on each of those
# providers.
#
- # To create the actual list of tasks to execute we fix the list of
- # providers and then resolve the dependencies into task IDs. This
- # process is repeated for each type of dependency (tdepends, deptask,
+ # To create the actual list of tasks to execute we fix the list of
+ # providers and then resolve the dependencies into task IDs. This
+ # process is repeated for each type of dependency (tdepends, deptask,
# rdeptast, recrdeptask, idepends).
def add_build_dependencies(depids, tasknames, depends):
@@ -411,12 +410,12 @@ class RunQueue:
if fnid not in taskData.failed_fnids:
- # Resolve task internal dependencies
+ # Resolve task internal dependencies
#
# e.g. addtask before X after Y
depends = taskData.tasks_tdepends[task]
- # Resolve 'deptask' dependencies
+ # Resolve 'deptask' dependencies
#
# e.g. do_sometask[deptask] = "do_someothertask"
# (makes sure sometask runs after someothertask of all DEPENDS)
@@ -424,7 +423,7 @@ class RunQueue:
tasknames = task_deps['deptask'][taskData.tasks_name[task]].split()
add_build_dependencies(taskData.depids[fnid], tasknames, depends)
- # Resolve 'rdeptask' dependencies
+ # Resolve 'rdeptask' dependencies
#
# e.g. do_sometask[rdeptask] = "do_someothertask"
# (makes sure sometask runs after someothertask of all RDEPENDS)
@@ -432,7 +431,7 @@ class RunQueue:
taskname = task_deps['rdeptask'][taskData.tasks_name[task]]
add_runtime_dependencies(taskData.rdepids[fnid], [taskname], depends)
- # Resolve inter-task dependencies
+ # Resolve inter-task dependencies
#
# e.g. do_sometask[depends] = "targetname:do_someothertask"
# (makes sure sometask runs after targetname's someothertask)
@@ -467,8 +466,8 @@ class RunQueue:
newdep = []
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))
for dep in depends:
- if task != dep:
- newdep.append(dep)
+ if task != dep:
+ newdep.append(dep)
depends = newdep
self.runq_fnid.append(taskData.tasks_fnid[task])
@@ -482,7 +481,7 @@ class RunQueue:
#
# Build a list of recursive cumulative dependencies for each fnid
# We do this by fnid, since if A depends on some task in B
- # we're interested in later tasks B's fnid might have but B itself
+ # we're interested in later tasks B's fnid might have but B itself
# doesn't depend on
#
# Algorithm is O(tasks) + O(tasks)*O(fnids)
@@ -513,7 +512,7 @@ class RunQueue:
if len(runq_recrdepends[task]) > 0:
taskfnid = self.runq_fnid[task]
for dep in reccumdepends[taskfnid]:
- # Ignore self references
+ # Ignore self references
if dep == task:
continue
for taskname in runq_recrdepends[task]:
@@ -631,11 +630,11 @@ class RunQueue:
for dep in revdeps:
if dep in self.runq_depends[listid]:
#self.dump_data(taskData)
- 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]))
+ 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]))
bb.msg.note(2, bb.msg.domain.RunQueue, "Compute totals (have %s endpoint(s))" % len(endpoints))
- # Calculate task weights
+ # Calculate task weights
# Check of higher length circular dependencies
self.runq_weight = self.calculate_task_weights(endpoints)
@@ -657,7 +656,7 @@ class RunQueue:
for prov in self.dataCache.fn_provides[fn]:
if prov not in prov_list:
prov_list[prov] = [fn]
- elif fn not in prov_list[prov]:
+ elif fn not in prov_list[prov]:
prov_list[prov].append(fn)
error = False
for prov in prov_list:
@@ -703,7 +702,7 @@ class RunQueue:
buildable.append(task)
def check_buildable(self, task, buildable):
- for revdep in self.runq_revdeps[task]:
+ for revdep in self.runq_revdeps[task]:
alldeps = 1
for dep in self.runq_depends[revdep]:
if dep in unchecked:
@@ -774,7 +773,7 @@ class RunQueue:
#print "Not current: %s" % notcurrent
if len(unchecked) > 0:
- bb.fatal("check_stamps fatal internal error")
+ bb.msg.fatal(bb.msg.domain.RunQueue, "check_stamps fatal internal error")
return current
def check_stamp_task(self, task):
@@ -811,10 +810,10 @@ class RunQueue:
try:
t2 = os.stat(stampfile2)[stat.ST_MTIME]
if t1 < t2:
- bb.msg.debug(2, bb.msg.domain.RunQueue, "Stampfile %s < %s" % (stampfile,stampfile2))
+ bb.msg.debug(2, bb.msg.domain.RunQueue, "Stampfile %s < %s" % (stampfile, stampfile2))
iscurrent = False
except:
- bb.msg.debug(2, bb.msg.domain.RunQueue, "Exception reading %s for %s" % (stampfile2 ,stampfile))
+ bb.msg.debug(2, bb.msg.domain.RunQueue, "Exception reading %s for %s" % (stampfile2, stampfile))
iscurrent = False
return iscurrent
@@ -852,7 +851,7 @@ class RunQueue:
return False
if self.state is runQueueChildProcess:
- print "Child process"
+ print("Child process")
return False
# Loop
@@ -885,7 +884,7 @@ class RunQueue:
def task_complete(self, task):
"""
Mark a task as completed
- Look at the reverse dependencies and mark any task with
+ Look at the reverse dependencies and mark any task with
completed dependencies as buildable
"""
self.runq_complete[task] = 1
@@ -929,7 +928,7 @@ class RunQueue:
while True:
task = None
if self.stats.active < self.number_tasks:
- task = self.sched.next()
+ task = next(self.sched)
if task is not None:
fn = self.taskData.fn_index[self.runq_fnid[task]]
@@ -948,7 +947,7 @@ class RunQueue:
try:
pipein, pipeout = os.pipe()
pid = os.fork()
- except OSError, e:
+ except OSError as e:
bb.msg.fatal(bb.msg.domain.RunQueue, "fork failed: %d (%s)" % (e.errno, e.strerror))
if pid == 0:
os.close(pipein)
@@ -982,10 +981,11 @@ class RunQueue:
try:
self.cooker.tryBuild(fn, taskname[3:])
except bb.build.EventException:
- bb.msg.error(bb.msg.domain.Build, "Build of " + fn + " " + taskname + " failed")
os._exit(1)
- except:
- bb.msg.error(bb.msg.domain.Build, "Build of " + fn + " " + taskname + " failed")
+ except Exception:
+ from traceback import format_exc
+ bb.msg.error(bb.msg.domain.Build, "Build of %s %s failed" % (fn, taskname))
+ bb.msg.error(bb.msg.domain.Build, format_exc())
os._exit(1)
os._exit(0)
@@ -1031,12 +1031,13 @@ class RunQueue:
return
def finish_runqueue_now(self):
- bb.msg.note(1, bb.msg.domain.RunQueue, "Sending SIGINT to remaining %s tasks" % self.stats.active)
- for k, v in self.build_pids.iteritems():
- try:
- os.kill(-k, signal.SIGINT)
- except:
- pass
+ if self.stats.active:
+ bb.msg.note(1, bb.msg.domain.RunQueue, "Sending SIGINT to remaining %s tasks" % self.stats.active)
+ for k, v in self.build_pids.iteritems():
+ try:
+ os.kill(-k, signal.SIGINT)
+ except:
+ pass
for pipe in self.build_pipes:
self.build_pipes[pipe].read()
@@ -1085,30 +1086,30 @@ class RunQueue:
"""
bb.msg.debug(3, bb.msg.domain.RunQueue, "run_tasks:")
for task in range(len(self.runq_task)):
- bb.msg.debug(3, bb.msg.domain.RunQueue, " (%s)%s - %s: %s Deps %s RevDeps %s" % (task,
- taskQueue.fn_index[self.runq_fnid[task]],
- self.runq_task[task],
- self.runq_weight[task],
- self.runq_depends[task],
- self.runq_revdeps[task]))
+ bb.msg.debug(3, bb.msg.domain.RunQueue, " (%s)%s - %s: %s Deps %s RevDeps %s" % (task,
+ taskQueue.fn_index[self.runq_fnid[task]],
+ self.runq_task[task],
+ self.runq_weight[task],
+ self.runq_depends[task],
+ self.runq_revdeps[task]))
bb.msg.debug(3, bb.msg.domain.RunQueue, "sorted_tasks:")
for task1 in range(len(self.runq_task)):
if task1 in self.prio_map:
task = self.prio_map[task1]
- bb.msg.debug(3, bb.msg.domain.RunQueue, " (%s)%s - %s: %s Deps %s RevDeps %s" % (task,
- taskQueue.fn_index[self.runq_fnid[task]],
- self.runq_task[task],
- self.runq_weight[task],
- self.runq_depends[task],
- self.runq_revdeps[task]))
+ bb.msg.debug(3, bb.msg.domain.RunQueue, " (%s)%s - %s: %s Deps %s RevDeps %s" % (task,
+ taskQueue.fn_index[self.runq_fnid[task]],
+ self.runq_task[task],
+ self.runq_weight[task],
+ self.runq_depends[task],
+ self.runq_revdeps[task]))
class TaskFailure(Exception):
"""
Exception raised when a task in a runqueue fails
"""
- def __init__(self, x):
+ def __init__(self, x):
self.args = x
@@ -1194,6 +1195,5 @@ class runQueuePipe():
while self.read():
continue
if len(self.queue) > 0:
- print "Warning, worker left partial message"
+ print("Warning, worker left partial message")
os.close(self.fd)
-
diff --git a/bitbake/lib/bb/server/none.py b/bitbake/lib/bb/server/none.py
index ebda11158..e28aa8d7d 100644
--- a/bitbake/lib/bb/server/none.py
+++ b/bitbake/lib/bb/server/none.py
@@ -115,7 +115,7 @@ class BitBakeServer():
def register_idle_function(self, function, data):
"""Register a function to be called while the server is idle"""
- assert callable(function)
+ assert hasattr(function, '__call__')
self._idlefuns[function] = data
def idle_commands(self, delay):
@@ -178,4 +178,3 @@ class BitBakeServerConnection():
self.connection.terminateServer()
except:
pass
-
diff --git a/bitbake/lib/bb/server/xmlrpc.py b/bitbake/lib/bb/server/xmlrpc.py
index 3364918c7..cb2949fb9 100644
--- a/bitbake/lib/bb/server/xmlrpc.py
+++ b/bitbake/lib/bb/server/xmlrpc.py
@@ -42,7 +42,7 @@ from SimpleXMLRPCServer import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler
import inspect, select
if sys.hexversion < 0x020600F0:
- print "Sorry, python 2.6 or later is required for bitbake's XMLRPC mode"
+ print("Sorry, python 2.6 or later is required for bitbake's XMLRPC mode")
sys.exit(1)
class BitBakeServerCommands():
@@ -74,7 +74,7 @@ class BitBakeServerCommands():
Trigger the server to quit
"""
self.server.quit = True
- print "Server (cooker) exitting"
+ print("Server (cooker) exitting")
return
def ping(self):
@@ -89,8 +89,8 @@ class BitBakeServer(SimpleXMLRPCServer):
def __init__(self, cooker, interface = ("localhost", 0)):
"""
- Constructor
- """
+ Constructor
+ """
SimpleXMLRPCServer.__init__(self, interface,
requestHandler=SimpleXMLRPCRequestHandler,
logRequests=False, allow_none=True)
@@ -112,7 +112,7 @@ class BitBakeServer(SimpleXMLRPCServer):
def register_idle_function(self, function, data):
"""Register a function to be called while the server is idle"""
- assert callable(function)
+ assert hasattr(function, '__call__')
self._idlefuns[function] = data
def serve_forever(self):
@@ -146,7 +146,7 @@ class BitBakeServer(SimpleXMLRPCServer):
traceback.print_exc()
pass
if nextsleep is None and len(self._idlefuns) > 0:
- nextsleep = 0
+ nextsleep = 0
self.timeout = nextsleep
# Tell idle functions we're exiting
for function, data in self._idlefuns.items():
@@ -175,7 +175,7 @@ class BitBakeServerConnection():
def terminate(self):
# Don't wait for server indefinitely
import socket
- socket.setdefaulttimeout(2)
+ socket.setdefaulttimeout(2)
try:
self.events.system_quit()
except:
@@ -184,4 +184,3 @@ class BitBakeServerConnection():
self.connection.terminateServer()
except:
pass
-
diff --git a/bitbake/lib/bb/shell.py b/bitbake/lib/bb/shell.py
index 7abea0f12..f9ca9d5bd 100644
--- a/bitbake/lib/bb/shell.py
+++ b/bitbake/lib/bb/shell.py
@@ -52,12 +52,14 @@ PROBLEMS:
# Import and setup global variables
##########################################################################
+from __future__ import print_function
+from functools import reduce
try:
set
except NameError:
from sets import Set as set
-import sys, os, readline, socket, httplib, urllib, commands, popen2, copy, shlex, Queue, fnmatch
-from bb import data, parse, build, fatal, cache, taskdata, runqueue, providers as Providers
+import sys, os, readline, socket, httplib, urllib, commands, popen2, shlex, Queue, fnmatch
+from bb import data, parse, build, cache, taskdata, runqueue, providers as Providers
__version__ = "0.5.3.1"
__credits__ = """BitBake Shell Version %s (C) 2005 Michael 'Mickey' Lauer <mickey@Vanille.de>
@@ -98,7 +100,7 @@ class BitBakeShellCommands:
def _checkParsed( self ):
if not parsed:
- print "SHELL: This command needs to parse bbfiles..."
+ print("SHELL: This command needs to parse bbfiles...")
self.parse( None )
def _findProvider( self, item ):
@@ -119,28 +121,28 @@ class BitBakeShellCommands:
"""Register a new name for a command"""
new, old = params
if not old in cmds:
- print "ERROR: Command '%s' not known" % old
+ print("ERROR: Command '%s' not known" % old)
else:
cmds[new] = cmds[old]
- print "OK"
+ print("OK")
alias.usage = "<alias> <command>"
def buffer( self, params ):
"""Dump specified output buffer"""
index = params[0]
- print self._shell.myout.buffer( int( index ) )
+ print(self._shell.myout.buffer( int( index ) ))
buffer.usage = "<index>"
def buffers( self, params ):
"""Show the available output buffers"""
commands = self._shell.myout.bufferedCommands()
if not commands:
- print "SHELL: No buffered commands available yet. Start doing something."
+ print("SHELL: No buffered commands available yet. Start doing something.")
else:
- print "="*35, "Available Output Buffers", "="*27
+ print("="*35, "Available Output Buffers", "="*27)
for index, cmd in enumerate( commands ):
- print "| %s %s" % ( str( index ).ljust( 3 ), cmd )
- print "="*88
+ print("| %s %s" % ( str( index ).ljust( 3 ), cmd ))
+ print("="*88)
def build( self, params, cmd = "build" ):
"""Build a providee"""
@@ -149,7 +151,7 @@ class BitBakeShellCommands:
self._checkParsed()
names = globfilter( cooker.status.pkg_pn, globexpr )
if len( names ) == 0: names = [ globexpr ]
- print "SHELL: Building %s" % ' '.join( names )
+ print("SHELL: Building %s" % ' '.join( names ))
td = taskdata.TaskData(cooker.configuration.abort)
localdata = data.createCopy(cooker.configuration.data)
@@ -168,22 +170,22 @@ class BitBakeShellCommands:
tasks.append([name, "do_%s" % cmd])
td.add_unresolved(localdata, cooker.status)
-
+
rq = runqueue.RunQueue(cooker, localdata, cooker.status, td, tasks)
rq.prepare_runqueue()
rq.execute_runqueue()
except Providers.NoProvider:
- print "ERROR: No Provider"
+ print("ERROR: No Provider")
last_exception = Providers.NoProvider
- except runqueue.TaskFailure, fnids:
+ except runqueue.TaskFailure as fnids:
for fnid in fnids:
- print "ERROR: '%s' failed" % td.fn_index[fnid]
+ print("ERROR: '%s' failed" % td.fn_index[fnid])
last_exception = runqueue.TaskFailure
- except build.EventException, e:
- print "ERROR: Couldn't build '%s'" % names
+ except build.EventException as e:
+ print("ERROR: Couldn't build '%s'" % names)
last_exception = e
@@ -216,7 +218,7 @@ class BitBakeShellCommands:
if bbfile is not None:
os.system( "%s %s" % ( os.environ.get( "EDITOR", "vi" ), bbfile ) )
else:
- print "ERROR: Nothing provides '%s'" % name
+ print("ERROR: Nothing provides '%s'" % name)
edit.usage = "<providee>"
def environment( self, params ):
@@ -239,14 +241,14 @@ class BitBakeShellCommands:
global last_exception
name = params[0]
bf = completeFilePath( name )
- print "SHELL: Calling '%s' on '%s'" % ( cmd, bf )
+ print("SHELL: Calling '%s' on '%s'" % ( cmd, bf ))
try:
cooker.buildFile(bf, cmd)
except parse.ParseError:
- print "ERROR: Unable to open or parse '%s'" % bf
- except build.EventException, e:
- print "ERROR: Couldn't build '%s'" % name
+ print("ERROR: Unable to open or parse '%s'" % bf)
+ except build.EventException as e:
+ print("ERROR: Couldn't build '%s'" % name)
last_exception = e
fileBuild.usage = "<bbfile>"
@@ -270,62 +272,62 @@ class BitBakeShellCommands:
def fileReparse( self, params ):
"""(re)Parse a bb file"""
bbfile = params[0]
- print "SHELL: Parsing '%s'" % bbfile
+ print("SHELL: Parsing '%s'" % bbfile)
parse.update_mtime( bbfile )
cooker.bb_cache.cacheValidUpdate(bbfile)
fromCache = cooker.bb_cache.loadData(bbfile, cooker.configuration.data, cooker.status)
cooker.bb_cache.sync()
if False: #fromCache:
- print "SHELL: File has not been updated, not reparsing"
+ print("SHELL: File has not been updated, not reparsing")
else:
- print "SHELL: Parsed"
+ print("SHELL: Parsed")
fileReparse.usage = "<bbfile>"
def abort( self, params ):
"""Toggle abort task execution flag (see bitbake -k)"""
cooker.configuration.abort = not cooker.configuration.abort
- print "SHELL: Abort Flag is now '%s'" % repr( cooker.configuration.abort )
+ print("SHELL: Abort Flag is now '%s'" % repr( cooker.configuration.abort ))
def force( self, params ):
"""Toggle force task execution flag (see bitbake -f)"""
cooker.configuration.force = not cooker.configuration.force
- print "SHELL: Force Flag is now '%s'" % repr( cooker.configuration.force )
+ print("SHELL: Force Flag is now '%s'" % repr( cooker.configuration.force ))
def help( self, params ):
"""Show a comprehensive list of commands and their purpose"""
- print "="*30, "Available Commands", "="*30
+ print("="*30, "Available Commands", "="*30)
for cmd in sorted(cmds):
- function,numparams,usage,helptext = cmds[cmd]
- print "| %s | %s" % (usage.ljust(30), helptext)
- print "="*78
+ function, numparams, usage, helptext = cmds[cmd]
+ print("| %s | %s" % (usage.ljust(30), helptext))
+ print("="*78)
def lastError( self, params ):
"""Show the reason or log that was produced by the last BitBake event exception"""
if last_exception is None:
- print "SHELL: No Errors yet (Phew)..."
+ print("SHELL: No Errors yet (Phew)...")
else:
reason, event = last_exception.args
- print "SHELL: Reason for the last error: '%s'" % reason
+ print("SHELL: Reason for the last error: '%s'" % reason)
if ':' in reason:
msg, filename = reason.split( ':' )
filename = filename.strip()
- print "SHELL: Dumping log file for last error:"
+ print("SHELL: Dumping log file for last error:")
try:
- print open( filename ).read()
+ print(open( filename ).read())
except IOError:
- print "ERROR: Couldn't open '%s'" % filename
+ print("ERROR: Couldn't open '%s'" % filename)
def match( self, params ):
"""Dump all files or providers matching a glob expression"""
what, globexpr = params
if what == "files":
self._checkParsed()
- for key in globfilter( cooker.status.pkg_fn, globexpr ): print key
+ for key in globfilter( cooker.status.pkg_fn, globexpr ): print(key)
elif what == "providers":
self._checkParsed()
- for key in globfilter( cooker.status.pkg_pn, globexpr ): print key
+ for key in globfilter( cooker.status.pkg_pn, globexpr ): print(key)
else:
- print "Usage: match %s" % self.print_.usage
+ print("Usage: match %s" % self.print_.usage)
match.usage = "<files|providers> <glob>"
def new( self, params ):
@@ -335,15 +337,15 @@ class BitBakeShellCommands:
fulldirname = "%s/%s" % ( packages, dirname )
if not os.path.exists( fulldirname ):
- print "SHELL: Creating '%s'" % fulldirname
+ print("SHELL: Creating '%s'" % fulldirname)
os.mkdir( fulldirname )
if os.path.exists( fulldirname ) and os.path.isdir( fulldirname ):
if os.path.exists( "%s/%s" % ( fulldirname, filename ) ):
- print "SHELL: ERROR: %s/%s already exists" % ( fulldirname, filename )
+ print("SHELL: ERROR: %s/%s already exists" % ( fulldirname, filename ))
return False
- print "SHELL: Creating '%s/%s'" % ( fulldirname, filename )
+ print("SHELL: Creating '%s/%s'" % ( fulldirname, filename ))
newpackage = open( "%s/%s" % ( fulldirname, filename ), "w" )
- print >>newpackage,"""DESCRIPTION = ""
+ print("""DESCRIPTION = ""
SECTION = ""
AUTHOR = ""
HOMEPAGE = ""
@@ -370,7 +372,7 @@ SRC_URI = ""
#do_install() {
#
#}
-"""
+""", file=newpackage)
newpackage.close()
os.system( "%s %s/%s" % ( os.environ.get( "EDITOR" ), fulldirname, filename ) )
new.usage = "<directory> <filename>"
@@ -390,14 +392,14 @@ SRC_URI = ""
def pasteLog( self, params ):
"""Send the last event exception error log (if there is one) to http://rafb.net/paste"""
if last_exception is None:
- print "SHELL: No Errors yet (Phew)..."
+ print("SHELL: No Errors yet (Phew)...")
else:
reason, event = last_exception.args
- print "SHELL: Reason for the last error: '%s'" % reason
+ print("SHELL: Reason for the last error: '%s'" % reason)
if ':' in reason:
msg, filename = reason.split( ':' )
filename = filename.strip()
- print "SHELL: Pasting log file to pastebin..."
+ print("SHELL: Pasting log file to pastebin...")
file = open( filename ).read()
sendToPastebin( "contents of " + filename, file )
@@ -419,23 +421,23 @@ SRC_URI = ""
cooker.buildDepgraph()
global parsed
parsed = True
- print
+ print()
def reparse( self, params ):
"""(re)Parse a providee's bb file"""
bbfile = self._findProvider( params[0] )
if bbfile is not None:
- print "SHELL: Found bbfile '%s' for '%s'" % ( bbfile, params[0] )
+ print("SHELL: Found bbfile '%s' for '%s'" % ( bbfile, params[0] ))
self.fileReparse( [ bbfile ] )
else:
- print "ERROR: Nothing provides '%s'" % params[0]
+ print("ERROR: Nothing provides '%s'" % params[0])
reparse.usage = "<providee>"
def getvar( self, params ):
"""Dump the contents of an outer BitBake environment variable"""
var = params[0]
value = data.getVar( var, cooker.configuration.data, 1 )
- print value
+ print(value)
getvar.usage = "<variable>"
def peek( self, params ):
@@ -445,9 +447,9 @@ SRC_URI = ""
if bbfile is not None:
the_data = cooker.bb_cache.loadDataFull(bbfile, cooker.configuration.data)
value = the_data.getVar( var, 1 )
- print value
+ print(value)
else:
- print "ERROR: Nothing provides '%s'" % name
+ print("ERROR: Nothing provides '%s'" % name)
peek.usage = "<providee> <variable>"
def poke( self, params ):
@@ -455,7 +457,7 @@ SRC_URI = ""
name, var, value = params
bbfile = self._findProvider( name )
if bbfile is not None:
- print "ERROR: Sorry, this functionality is currently broken"
+ print("ERROR: Sorry, this functionality is currently broken")
#d = cooker.pkgdata[bbfile]
#data.setVar( var, value, d )
@@ -463,7 +465,7 @@ SRC_URI = ""
#cooker.pkgdata.setDirty(bbfile, d)
#print "OK"
else:
- print "ERROR: Nothing provides '%s'" % name
+ print("ERROR: Nothing provides '%s'" % name)
poke.usage = "<providee> <variable> <value>"
def print_( self, params ):
@@ -471,12 +473,12 @@ SRC_URI = ""
what = params[0]
if what == "files":
self._checkParsed()
- for key in cooker.status.pkg_fn: print key
+ for key in cooker.status.pkg_fn: print(key)
elif what == "providers":
self._checkParsed()
- for key in cooker.status.providers: print key
+ for key in cooker.status.providers: print(key)
else:
- print "Usage: print %s" % self.print_.usage
+ print("Usage: print %s" % self.print_.usage)
print_.usage = "<files|providers>"
def python( self, params ):
@@ -496,7 +498,7 @@ SRC_URI = ""
"""Set an outer BitBake environment variable"""
var, value = params
data.setVar( var, value, cooker.configuration.data )
- print "OK"
+ print("OK")
setVar.usage = "<variable> <value>"
def rebuild( self, params ):
@@ -508,7 +510,7 @@ SRC_URI = ""
def shell( self, params ):
"""Execute a shell command and dump the output"""
if params != "":
- print commands.getoutput( " ".join( params ) )
+ print(commands.getoutput( " ".join( params ) ))
shell.usage = "<...>"
def stage( self, params ):
@@ -518,17 +520,17 @@ SRC_URI = ""
def status( self, params ):
"""<just for testing>"""
- print "-" * 78
- print "building list = '%s'" % cooker.building_list
- print "build path = '%s'" % cooker.build_path
- print "consider_msgs_cache = '%s'" % cooker.consider_msgs_cache
- print "build stats = '%s'" % cooker.stats
- if last_exception is not None: print "last_exception = '%s'" % repr( last_exception.args )
- print "memory output contents = '%s'" % self._shell.myout._buffer
+ print("-" * 78)
+ print("building list = '%s'" % cooker.building_list)
+ print("build path = '%s'" % cooker.build_path)
+ print("consider_msgs_cache = '%s'" % cooker.consider_msgs_cache)
+ print("build stats = '%s'" % cooker.stats)
+ if last_exception is not None: print("last_exception = '%s'" % repr( last_exception.args ))
+ print("memory output contents = '%s'" % self._shell.myout._buffer)
def test( self, params ):
"""<just for testing>"""
- print "testCommand called with '%s'" % params
+ print("testCommand called with '%s'" % params)
def unpack( self, params ):
"""Execute 'unpack' on a providee"""
@@ -553,12 +555,12 @@ SRC_URI = ""
try:
providers = cooker.status.providers[item]
except KeyError:
- print "SHELL: ERROR: Nothing provides", preferred
+ print("SHELL: ERROR: Nothing provides", preferred)
else:
for provider in providers:
if provider == pf: provider = " (***) %s" % provider
else: provider = " %s" % provider
- print provider
+ print(provider)
which.usage = "<providee>"
##########################################################################
@@ -583,7 +585,7 @@ def sendToPastebin( desc, content ):
mydata["nick"] = "%s@%s" % ( os.environ.get( "USER", "unknown" ), socket.gethostname() or "unknown" )
mydata["text"] = content
params = urllib.urlencode( mydata )
- headers = {"Content-type": "application/x-www-form-urlencoded","Accept": "text/plain"}
+ headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
host = "rafb.net"
conn = httplib.HTTPConnection( "%s:80" % host )
@@ -594,9 +596,9 @@ def sendToPastebin( desc, content ):
if response.status == 302:
location = response.getheader( "location" ) or "unknown"
- print "SHELL: Pasted to http://%s%s" % ( host, location )
+ print("SHELL: Pasted to http://%s%s" % ( host, location ))
else:
- print "ERROR: %s %s" % ( response.status, response.reason )
+ print("ERROR: %s %s" % ( response.status, response.reason ))
def completer( text, state ):
"""Return a possible readline completion"""
@@ -643,7 +645,7 @@ def columnize( alist, width = 80 ):
return reduce(lambda line, word, width=width: '%s%s%s' %
(line,
' \n'[(len(line[line.rfind('\n')+1:])
- + len(word.split('\n',1)[0]
+ + len(word.split('\n', 1)[0]
) >= width)],
word),
alist
@@ -718,7 +720,7 @@ class BitBakeShell:
except IOError:
pass # It doesn't exist yet.
- print __credits__
+ print(__credits__)
def cleanup( self ):
"""Write readline history and clean up resources"""
@@ -726,7 +728,7 @@ class BitBakeShell:
try:
readline.write_history_file( self.historyfilename )
except:
- print "SHELL: Unable to save command history"
+ print("SHELL: Unable to save command history")
def registerCommand( self, command, function, numparams = 0, usage = "", helptext = "" ):
"""Register a command"""
@@ -740,11 +742,11 @@ class BitBakeShell:
try:
function, numparams, usage, helptext = cmds[command]
except KeyError:
- print "SHELL: ERROR: '%s' command is not a valid command." % command
+ print("SHELL: ERROR: '%s' command is not a valid command." % command)
self.myout.removeLast()
else:
if (numparams != -1) and (not len( params ) == numparams):
- print "Usage: '%s'" % usage
+ print("Usage: '%s'" % usage)
return
result = function( self.commands, params )
@@ -759,7 +761,7 @@ class BitBakeShell:
if not cmdline:
continue
if "|" in cmdline:
- print "ERROR: '|' in startup file is not allowed. Ignoring line"
+ print("ERROR: '|' in startup file is not allowed. Ignoring line")
continue
self.commandQ.put( cmdline.strip() )
@@ -801,10 +803,10 @@ class BitBakeShell:
sys.stdout.write( pipe.fromchild.read() )
#
except EOFError:
- print
+ print()
return
except KeyboardInterrupt:
- print
+ print()
##########################################################################
# Start function - called from the BitBake command line utility
@@ -819,4 +821,4 @@ def start( aCooker ):
bbshell.cleanup()
if __name__ == "__main__":
- print "SHELL: Sorry, this program should only be called by BitBake."
+ 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 3e5e006f5..e31f96785 100644
--- a/bitbake/lib/bb/taskdata.py
+++ b/bitbake/lib/bb/taskdata.py
@@ -34,7 +34,7 @@ def re_match_strings(target, strings):
for name in strings:
if (name==target or
- re.search(name,target)!=None):
+ re.search(name, target)!=None):
return True
return False
@@ -84,7 +84,7 @@ class TaskData:
def getrun_id(self, name):
"""
- Return an ID number for the run target name.
+ Return an ID number for the run target name.
If it doesn't exist, create one.
"""
if not name in self.run_names_index:
@@ -95,7 +95,7 @@ class TaskData:
def getfn_id(self, name):
"""
- Return an ID number for the filename.
+ Return an ID number for the filename.
If it doesn't exist, create one.
"""
if not name in self.fn_index:
@@ -271,7 +271,7 @@ class TaskData:
def get_unresolved_build_targets(self, dataCache):
"""
- Return a list of build targets who's providers
+ Return a list of build targets who's providers
are unknown.
"""
unresolved = []
@@ -286,7 +286,7 @@ class TaskData:
def get_unresolved_run_targets(self, dataCache):
"""
- Return a list of runtime targets who's providers
+ Return a list of runtime targets who's providers
are unknown.
"""
unresolved = []
@@ -304,7 +304,7 @@ class TaskData:
Return a list of providers of item
"""
targetid = self.getbuild_id(item)
-
+
return self.build_targets[targetid]
def get_dependees(self, itemid):
@@ -354,20 +354,15 @@ class TaskData:
self.add_provider_internal(cfgData, dataCache, item)
except bb.providers.NoProvider:
if self.abort:
- if self.get_rdependees_str(item):
- bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (item, self.get_dependees_str(item)))
- else:
- bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (item))
raise
- targetid = self.getbuild_id(item)
- self.remove_buildtarget(targetid)
+ self.remove_buildtarget(self.getbuild_id(item))
self.mark_external_target(item)
def add_provider_internal(self, cfgData, dataCache, item):
"""
Add the providers of item to the task data
- Mark entries were specifically added externally as against dependencies
+ Mark entries were specifically added externally as against dependencies
added internally during dependency resolution
"""
@@ -375,11 +370,7 @@ class TaskData:
return
if not item in dataCache.providers:
- if self.get_rdependees_str(item):
- 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)))
- else:
- bb.msg.note(2, bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (item))
- bb.event.fire(bb.event.NoProvider(item), cfgData)
+ bb.event.fire(bb.event.NoProvider(item, dependees=self.get_rdependees_str(item)), cfgData)
raise bb.providers.NoProvider(item)
if self.have_build_target(item):
@@ -391,8 +382,7 @@ class TaskData:
eligible = [p for p in eligible if not self.getfn_id(p) in self.failed_fnids]
if not eligible:
- 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)))
- bb.event.fire(bb.event.NoProvider(item), cfgData)
+ bb.event.fire(bb.event.NoProvider(item, dependees=self.get_dependees_str(item)), cfgData)
raise bb.providers.NoProvider(item)
if len(eligible) > 1 and foundUnique == False:
@@ -400,8 +390,6 @@ class TaskData:
providers_list = []
for fn in eligible:
providers_list.append(dataCache.pkg_fn[fn])
- bb.msg.note(1, bb.msg.domain.Provider, "multiple providers are available for %s (%s);" % (item, ", ".join(providers_list)))
- bb.msg.note(1, bb.msg.domain.Provider, "consider defining PREFERRED_PROVIDER_%s" % item)
bb.event.fire(bb.event.MultipleProviders(item, providers_list), cfgData)
self.consider_msgs_cache.append(item)
@@ -431,16 +419,14 @@ class TaskData:
all_p = bb.providers.getRuntimeProviders(dataCache, item)
if not all_p:
- 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))
- bb.event.fire(bb.event.NoProvider(item, runtime=True), cfgData)
+ bb.event.fire(bb.event.NoProvider(item, runtime=True, dependees=self.get_rdependees_str(item)), cfgData)
raise bb.providers.NoRProvider(item)
eligible, numberPreferred = bb.providers.filterProvidersRunTime(all_p, item, cfgData, dataCache)
eligible = [p for p in eligible if not self.getfn_id(p) in self.failed_fnids]
if not eligible:
- 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))
- bb.event.fire(bb.event.NoProvider(item, runtime=True), cfgData)
+ bb.event.fire(bb.event.NoProvider(item, runtime=True, dependees=self.get_rdependees_str(item)), cfgData)
raise bb.providers.NoRProvider(item)
if len(eligible) > 1 and numberPreferred == 0:
@@ -448,9 +434,7 @@ class TaskData:
providers_list = []
for fn in eligible:
providers_list.append(dataCache.pkg_fn[fn])
- bb.msg.note(2, bb.msg.domain.Provider, "multiple providers are available for runtime %s (%s);" % (item, ", ".join(providers_list)))
- bb.msg.note(2, bb.msg.domain.Provider, "consider defining a PREFERRED_PROVIDER entry to match runtime %s" % item)
- bb.event.fire(bb.event.MultipleProviders(item,providers_list, runtime=True), cfgData)
+ bb.event.fire(bb.event.MultipleProviders(item, providers_list, runtime=True), cfgData)
self.consider_msgs_cache.append(item)
if numberPreferred > 1:
@@ -458,9 +442,7 @@ class TaskData:
providers_list = []
for fn in eligible:
providers_list.append(dataCache.pkg_fn[fn])
- 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)))
- bb.msg.note(2, bb.msg.domain.Provider, "consider defining only one PREFERRED_PROVIDER entry to match runtime %s" % item)
- bb.event.fire(bb.event.MultipleProviders(item,providers_list, runtime=True), cfgData)
+ bb.event.fire(bb.event.MultipleProviders(item, providers_list, runtime=True), cfgData)
self.consider_msgs_cache.append(item)
# run through the list until we find one that we can build
@@ -515,8 +497,9 @@ class TaskData:
self.fail_fnid(self.tasks_fnid[taskid], missing_list)
if self.abort and targetid in self.external_targets:
- 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))
- raise bb.providers.NoProvider
+ target = self.build_names_index[targetid]
+ 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))
+ raise bb.providers.NoProvider(target)
def remove_runtarget(self, targetid, missing_list = []):
"""
@@ -539,7 +522,7 @@ class TaskData:
Resolve all unresolved build and runtime targets
"""
bb.msg.note(1, bb.msg.domain.TaskData, "Resolving any missing task queue dependencies")
- while 1:
+ while True:
added = 0
for target in self.get_unresolved_build_targets(dataCache):
try:
@@ -548,10 +531,6 @@ class TaskData:
except bb.providers.NoProvider:
targetid = self.getbuild_id(target)
if self.abort and targetid in self.external_targets:
- if self.get_rdependees_str(target):
- bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (target, self.get_dependees_str(target)))
- else:
- bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (target))
raise
self.remove_buildtarget(targetid)
for target in self.get_unresolved_run_targets(dataCache):
@@ -594,9 +573,9 @@ class TaskData:
bb.msg.debug(3, bb.msg.domain.TaskData, "tasks:")
for task in range(len(self.tasks_name)):
bb.msg.debug(3, bb.msg.domain.TaskData, " (%s)%s - %s: %s" % (
- task,
- self.fn_index[self.tasks_fnid[task]],
- self.tasks_name[task],
+ task,
+ self.fn_index[self.tasks_fnid[task]],
+ self.tasks_name[task],
self.tasks_tdepends[task]))
bb.msg.debug(3, bb.msg.domain.TaskData, "dependency ids (per fn):")
@@ -606,5 +585,3 @@ class TaskData:
bb.msg.debug(3, bb.msg.domain.TaskData, "runtime dependency ids (per fn):")
for fnid in self.rdepids:
bb.msg.debug(3, bb.msg.domain.TaskData, " %s %s: %s" % (fnid, self.fn_index[fnid], self.rdepids[fnid]))
-
-
diff --git a/bitbake/lib/bb/ui/__init__.py b/bitbake/lib/bb/ui/__init__.py
index c6a377a8e..a4805ed02 100644
--- a/bitbake/lib/bb/ui/__init__.py
+++ b/bitbake/lib/bb/ui/__init__.py
@@ -15,4 +15,3 @@
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
diff --git a/bitbake/lib/bb/ui/crumbs/__init__.py b/bitbake/lib/bb/ui/crumbs/__init__.py
index c6a377a8e..a4805ed02 100644
--- a/bitbake/lib/bb/ui/crumbs/__init__.py
+++ b/bitbake/lib/bb/ui/crumbs/__init__.py
@@ -15,4 +15,3 @@
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
diff --git a/bitbake/lib/bb/ui/crumbs/buildmanager.py b/bitbake/lib/bb/ui/crumbs/buildmanager.py
index f89e8eefd..e858d75e4 100644
--- a/bitbake/lib/bb/ui/crumbs/buildmanager.py
+++ b/bitbake/lib/bb/ui/crumbs/buildmanager.py
@@ -28,7 +28,7 @@ import time
class BuildConfiguration:
""" Represents a potential *or* historic *or* concrete build. It
encompasses all the things that we need to tell bitbake to do to make it
- build what we want it to build.
+ build what we want it to build.
It also stored the metadata URL and the set of possible machines (and the
distros / images / uris for these. Apart from the metdata URL these are
@@ -73,34 +73,33 @@ class BuildConfiguration:
return self.urls
# It might be a lot lot better if we stored these in like, bitbake conf
- # file format.
- @staticmethod
+ # file format.
+ @staticmethod
def load_from_file (filename):
- f = open (filename, "r")
conf = BuildConfiguration()
- for line in f.readlines():
- data = line.split (";")[1]
- if (line.startswith ("metadata-url;")):
- conf.metadata_url = data.strip()
- continue
- if (line.startswith ("url;")):
- conf.urls += [data.strip()]
- continue
- if (line.startswith ("extra-url;")):
- conf.extra_urls += [data.strip()]
- continue
- if (line.startswith ("machine;")):
- conf.machine = data.strip()
- continue
- if (line.startswith ("distribution;")):
- conf.distro = data.strip()
- continue
- if (line.startswith ("image;")):
- conf.image = data.strip()
- continue
+ with open(filename, "r") as f:
+ for line in f:
+ data = line.split (";")[1]
+ if (line.startswith ("metadata-url;")):
+ conf.metadata_url = data.strip()
+ continue
+ if (line.startswith ("url;")):
+ conf.urls += [data.strip()]
+ continue
+ if (line.startswith ("extra-url;")):
+ conf.extra_urls += [data.strip()]
+ continue
+ if (line.startswith ("machine;")):
+ conf.machine = data.strip()
+ continue
+ if (line.startswith ("distribution;")):
+ conf.distro = data.strip()
+ continue
+ if (line.startswith ("image;")):
+ conf.image = data.strip()
+ continue
- f.close ()
return conf
# Serialise to a file. This is part of the build process and we use this
@@ -140,13 +139,13 @@ class BuildResult(gobject.GObject):
".conf" in the directory for the build.
This is GObject so that it can be included in the TreeStore."""
-
+
(STATE_COMPLETE, STATE_FAILED, STATE_ONGOING) = \
(0, 1, 2)
def __init__ (self, parent, identifier):
gobject.GObject.__init__ (self)
- self.date = None
+ self.date = None
self.files = []
self.status = None
@@ -157,8 +156,8 @@ class BuildResult(gobject.GObject):
# format build-<year><month><day>-<ordinal> we can easily
# pull it out.
# TODO: Better to stat a file?
- (_ , date, revision) = identifier.split ("-")
- print date
+ (_, date, revision) = identifier.split ("-")
+ print(date)
year = int (date[0:4])
month = int (date[4:6])
@@ -181,7 +180,7 @@ class BuildResult(gobject.GObject):
self.add_file (file)
def add_file (self, file):
- # Just add the file for now. Don't care about the type.
+ # Just add the file for now. Don't care about the type.
self.files += [(file, None)]
class BuildManagerModel (gtk.TreeStore):
@@ -194,7 +193,7 @@ class BuildManagerModel (gtk.TreeStore):
def __init__ (self):
gtk.TreeStore.__init__ (self,
- gobject.TYPE_STRING,
+ gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
@@ -207,7 +206,7 @@ class BuildManager (gobject.GObject):
"results" directory but is also used for starting a new build."""
__gsignals__ = {
- 'population-finished' : (gobject.SIGNAL_RUN_LAST,
+ 'population-finished' : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
'populate-error' : (gobject.SIGNAL_RUN_LAST,
@@ -220,13 +219,13 @@ class BuildManager (gobject.GObject):
date = long (time.mktime (result.date.timetuple()))
# Add a top level entry for the build
-
- self.model.set (iter,
+
+ self.model.set (iter,
BuildManagerModel.COL_IDENT, result.identifier,
BuildManagerModel.COL_DESC, result.conf.image,
- BuildManagerModel.COL_MACHINE, result.conf.machine,
- BuildManagerModel.COL_DISTRO, result.conf.distro,
- BuildManagerModel.COL_BUILD_RESULT, result,
+ BuildManagerModel.COL_MACHINE, result.conf.machine,
+ BuildManagerModel.COL_DISTRO, result.conf.distro,
+ BuildManagerModel.COL_BUILD_RESULT, result,
BuildManagerModel.COL_DATE, date,
BuildManagerModel.COL_STATE, result.state)
@@ -257,7 +256,7 @@ class BuildManager (gobject.GObject):
while (iter):
(ident, state) = self.model.get(iter,
- BuildManagerModel.COL_IDENT,
+ BuildManagerModel.COL_IDENT,
BuildManagerModel.COL_STATE)
if state == BuildResult.STATE_ONGOING:
@@ -385,8 +384,8 @@ class BuildManager (gobject.GObject):
build_directory])
server.runCommand(["buildTargets", [conf.image], "rootfs"])
- except Exception, e:
- print e
+ except Exception as e:
+ print(e)
class BuildManagerTreeView (gtk.TreeView):
""" The tree view for the build manager. This shows the historic builds
@@ -422,29 +421,29 @@ class BuildManagerTreeView (gtk.TreeView):
# Misc descriptiony thing
renderer = gtk.CellRendererText ()
- col = gtk.TreeViewColumn (None, renderer,
+ col = gtk.TreeViewColumn (None, renderer,
text=BuildManagerModel.COL_DESC)
self.append_column (col)
# Machine
renderer = gtk.CellRendererText ()
- col = gtk.TreeViewColumn ("Machine", renderer,
+ col = gtk.TreeViewColumn ("Machine", renderer,
text=BuildManagerModel.COL_MACHINE)
self.append_column (col)
# distro
renderer = gtk.CellRendererText ()
- col = gtk.TreeViewColumn ("Distribution", renderer,
+ col = gtk.TreeViewColumn ("Distribution", renderer,
text=BuildManagerModel.COL_DISTRO)
self.append_column (col)
# date (using a custom function for formatting the cell contents it
# takes epoch -> human readable string)
renderer = gtk.CellRendererText ()
- col = gtk.TreeViewColumn ("Date", renderer,
+ col = gtk.TreeViewColumn ("Date", renderer,
text=BuildManagerModel.COL_DATE)
self.append_column (col)
- col.set_cell_data_func (renderer,
+ col.set_cell_data_func (renderer,
self.date_format_custom_cell_data_func)
# For status.
@@ -454,4 +453,3 @@ class BuildManagerTreeView (gtk.TreeView):
self.append_column (col)
col.set_cell_data_func (renderer,
self.state_format_custom_cell_data_fun)
-
diff --git a/bitbake/lib/bb/ui/crumbs/runningbuild.py b/bitbake/lib/bb/ui/crumbs/runningbuild.py
index 18afd6674..b4416ecbb 100644
--- a/bitbake/lib/bb/ui/crumbs/runningbuild.py
+++ b/bitbake/lib/bb/ui/crumbs/runningbuild.py
@@ -24,7 +24,7 @@ import gobject
class RunningBuildModel (gtk.TreeStore):
(COL_TYPE, COL_PACKAGE, COL_TASK, COL_MESSAGE, COL_ICON, COL_ACTIVE) = (0, 1, 2, 3, 4, 5)
def __init__ (self):
- gtk.TreeStore.__init__ (self,
+ gtk.TreeStore.__init__ (self,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
@@ -34,7 +34,7 @@ class RunningBuildModel (gtk.TreeStore):
class RunningBuild (gobject.GObject):
__gsignals__ = {
- 'build-succeeded' : (gobject.SIGNAL_RUN_LAST,
+ 'build-succeeded' : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
'build-failed' : (gobject.SIGNAL_RUN_LAST,
@@ -63,7 +63,7 @@ class RunningBuild (gobject.GObject):
# for the message.
if hasattr(event, 'pid'):
pid = event.pid
- if self.pids_to_task.has_key(pid):
+ if pid in self.pids_to_task:
(package, task) = self.pids_to_task[pid]
parent = self.tasks_to_iter[(package, task)]
@@ -82,29 +82,29 @@ class RunningBuild (gobject.GObject):
# Add the message to the tree either at the top level if parent is
# None otherwise as a descendent of a task.
- self.model.append (parent,
+ self.model.append (parent,
(event.__name__.split()[-1], # e.g. MsgWarn, MsgError
- package,
+ package,
task,
event._message,
- icon,
+ icon,
False))
elif isinstance(event, bb.build.TaskStarted):
(package, task) = (event._package, event._task)
# Save out this PID.
- self.pids_to_task[pid] = (package,task)
+ self.pids_to_task[pid] = (package, task)
# Check if we already have this package in our model. If so then
# that can be the parent for the task. Otherwise we create a new
# top level for the package.
- if (self.tasks_to_iter.has_key ((package, None))):
+ if ((package, None) in self.tasks_to_iter):
parent = self.tasks_to_iter[(package, None)]
else:
- parent = self.model.append (None, (None,
- package,
+ parent = self.model.append (None, (None,
+ package,
None,
- "Package: %s" % (package),
+ "Package: %s" % (package),
None,
False))
self.tasks_to_iter[(package, None)] = parent
@@ -114,10 +114,10 @@ class RunningBuild (gobject.GObject):
self.model.set(parent, self.model.COL_ICON, "gtk-execute")
# Add an entry in the model for this task
- i = self.model.append (parent, (None,
- package,
+ i = self.model.append (parent, (None,
+ package,
task,
- "Task: %s" % (task),
+ "Task: %s" % (task),
None,
False))
@@ -176,5 +176,3 @@ class RunningBuildTreeView (gtk.TreeView):
renderer = gtk.CellRendererText ()
col = gtk.TreeViewColumn ("Message", renderer, text=3)
self.append_column (col)
-
-
diff --git a/bitbake/lib/bb/ui/depexp.py b/bitbake/lib/bb/ui/depexp.py
index cfa5b6564..1cd58cac1 100644
--- a/bitbake/lib/bb/ui/depexp.py
+++ b/bitbake/lib/bb/ui/depexp.py
@@ -201,14 +201,14 @@ def init(server, eventHandler):
try:
cmdline = server.runCommand(["getCmdLineAction"])
if not cmdline or cmdline[0] != "generateDotGraph":
- print "This UI is only compatible with the -g option"
+ print("This UI is only compatible with the -g option")
return
ret = server.runCommand(["generateDepTreeEvent", cmdline[1], cmdline[2]])
if ret != True:
- print "Couldn't run command! %s" % ret
+ print("Couldn't run command! %s" % ret)
return
- except xmlrpclib.Fault, x:
- print "XMLRPC Fault getting commandline:\n %s" % x
+ except xmlrpclib.Fault as x:
+ print("XMLRPC Fault getting commandline:\n %s" % x)
return
shutdown = 0
@@ -233,8 +233,8 @@ def init(server, eventHandler):
x = event.sofar
y = event.total
if x == y:
- print("\nParsing finished. %d cached, %d parsed, %d skipped, %d masked, %d errors."
- % ( event.cached, event.parsed, event.skipped, event.masked, event.errors))
+ print(("\nParsing finished. %d cached, %d parsed, %d skipped, %d masked, %d errors."
+ % ( event.cached, event.parsed, event.skipped, event.masked, event.errors)))
pbar.hide()
gtk.gdk.threads_enter()
pbar.progress.set_fraction(float(x)/float(y))
@@ -250,7 +250,7 @@ def init(server, eventHandler):
if isinstance(event, bb.command.CookerCommandCompleted):
continue
if isinstance(event, bb.command.CookerCommandFailed):
- print "Command execution failed: %s" % event.error
+ print("Command execution failed: %s" % event.error)
break
if isinstance(event, bb.cooker.CookerExit):
break
@@ -259,14 +259,13 @@ def init(server, eventHandler):
except KeyboardInterrupt:
if shutdown == 2:
- print "\nThird Keyboard Interrupt, exit.\n"
+ print("\nThird Keyboard Interrupt, exit.\n")
break
if shutdown == 1:
- print "\nSecond Keyboard Interrupt, stopping...\n"
+ print("\nSecond Keyboard Interrupt, stopping...\n")
server.runCommand(["stateStop"])
if shutdown == 0:
- print "\nKeyboard Interrupt, closing down...\n"
+ print("\nKeyboard Interrupt, closing down...\n")
server.runCommand(["stateShutdown"])
shutdown = shutdown + 1
pass
-
diff --git a/bitbake/lib/bb/ui/goggle.py b/bitbake/lib/bb/ui/goggle.py
index 94995d82d..2cfa002f8 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
def event_handle_idle_func (eventHandler, build):
- # Consume as many messages as we can in the time available to us
- event = eventHandler.getEvent()
- while event:
- build.handle_event (event)
- event = eventHandler.getEvent()
+ # Consume as many messages as we can in the time available to us
+ event = eventHandler.getEvent()
+ while event:
+ build.handle_event (event)
+ event = eventHandler.getEvent()
- return True
+ return True
class MainWindow (gtk.Window):
def __init__ (self):
@@ -55,15 +55,15 @@ def init (server, eventHandler):
window.cur_build_tv.set_model (running_build.model)
try:
cmdline = server.runCommand(["getCmdLineAction"])
- print cmdline
+ print(cmdline)
if not cmdline:
return 1
ret = server.runCommand(cmdline)
if ret != True:
- print "Couldn't get default commandline! %s" % ret
+ print("Couldn't get default commandline! %s" % ret)
return 1
- except xmlrpclib.Fault, x:
- print "XMLRPC Fault getting commandline:\n %s" % x
+ except xmlrpclib.Fault as x:
+ print("XMLRPC Fault getting commandline:\n %s" % x)
return 1
# Use a timeout function for probing the event queue to find out if we
@@ -74,4 +74,3 @@ def init (server, eventHandler):
running_build)
gtk.main()
-
diff --git a/bitbake/lib/bb/ui/knotty.py b/bitbake/lib/bb/ui/knotty.py
index ed26bb2b4..f81759abf 100644
--- a/bitbake/lib/bb/ui/knotty.py
+++ b/bitbake/lib/bb/ui/knotty.py
@@ -18,8 +18,9 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-import os
+from __future__ import division
+import os
import sys
import itertools
import xmlrpclib
@@ -44,10 +45,10 @@ def init(server, eventHandler):
return 1
ret = server.runCommand(cmdline)
if ret != True:
- print "Couldn't get default commandline! %s" % ret
+ print("Couldn't get default commandline! %s" % ret)
return 1
- except xmlrpclib.Fault, x:
- print "XMLRPC Fault getting commandline:\n %s" % x
+ except xmlrpclib.Fault as x:
+ print("XMLRPC Fault getting commandline:\n %s" % x)
return 1
shutdown = 0
@@ -65,39 +66,39 @@ def init(server, eventHandler):
if shutdown and helper.needUpdate:
activetasks, failedtasks = helper.getTasks()
if activetasks:
- print "Waiting for %s active tasks to finish:" % len(activetasks)
+ print("Waiting for %s active tasks to finish:" % len(activetasks))
tasknum = 1
for task in activetasks:
- print "%s: %s (pid %s)" % (tasknum, activetasks[task]["title"], task)
+ print("%s: %s (pid %s)" % (tasknum, activetasks[task]["title"], task))
tasknum = tasknum + 1
if isinstance(event, bb.msg.MsgPlain):
- print event._message
+ print(event._message)
continue
if isinstance(event, bb.msg.MsgDebug):
- print 'DEBUG: ' + event._message
+ print('DEBUG: ' + event._message)
continue
if isinstance(event, bb.msg.MsgNote):
- print 'NOTE: ' + event._message
+ print('NOTE: ' + event._message)
continue
if isinstance(event, bb.msg.MsgWarn):
- print 'WARNING: ' + event._message
+ print('WARNING: ' + event._message)
continue
if isinstance(event, bb.msg.MsgError):
return_value = 1
- print 'ERROR: ' + event._message
+ print('ERROR: ' + event._message)
continue
if isinstance(event, bb.msg.MsgFatal):
return_value = 1
- print 'FATAL: ' + event._message
+ print('FATAL: ' + event._message)
break
if isinstance(event, bb.build.TaskFailed):
return_value = 1
logfile = event.logfile
- if logfile:
- print "ERROR: Logfile of failure stored in: %s" % logfile
+ if logfile and os.path.exists(logfile):
+ print("ERROR: Logfile of failure stored in: %s" % logfile)
if 1 or includelogs:
- print "Log data follows:"
+ print("Log data follows:")
f = open(logfile, "r")
lines = []
while True:
@@ -110,19 +111,19 @@ def init(server, eventHandler):
if len(lines) > int(loglines):
lines.pop(0)
else:
- print '| %s' % l
+ print('| %s' % l)
f.close()
if lines:
for line in lines:
- print line
+ print(line)
if isinstance(event, bb.build.TaskBase):
- print "NOTE: %s" % event._message
+ print("NOTE: %s" % event._message)
continue
if isinstance(event, bb.event.ParseProgress):
x = event.sofar
y = event.total
if os.isatty(sys.stdout.fileno()):
- sys.stdout.write("\rNOTE: Handling BitBake files: %s (%04d/%04d) [%2d %%]" % ( parsespin.next(), x, y, x*100/y ) )
+ sys.stdout.write("\rNOTE: Handling BitBake files: %s (%04d/%04d) [%2d %%]" % ( next(parsespin), x, y, x*100//y ) )
sys.stdout.flush()
else:
if x == 1:
@@ -132,8 +133,8 @@ def init(server, eventHandler):
sys.stdout.write("done.")
sys.stdout.flush()
if x == y:
- print("\nParsing of %d .bb files complete (%d cached, %d parsed). %d targets, %d skipped, %d masked, %d errors."
- % ( event.total, event.cached, event.parsed, event.virtuals, event.skipped, event.masked, event.errors))
+ print(("\nParsing of %d .bb files complete (%d cached, %d parsed). %d targets, %d skipped, %d masked, %d errors."
+ % ( event.total, event.cached, event.parsed, event.virtuals, event.skipped, event.masked, event.errors)))
continue
if isinstance(event, bb.command.CookerCommandCompleted):
@@ -143,39 +144,48 @@ def init(server, eventHandler):
continue
if isinstance(event, bb.command.CookerCommandFailed):
return_value = 1
- print "Command execution failed: %s" % event.error
+ print("Command execution failed: %s" % event.error)
break
if isinstance(event, bb.cooker.CookerExit):
break
-
- # ignore
- if isinstance(event, bb.event.BuildStarted):
- continue
- if isinstance(event, bb.event.BuildCompleted):
- continue
if isinstance(event, bb.event.MultipleProviders):
+ print("NOTE: multiple providers are available for %s%s (%s)" % (event._is_runtime and "runtime " or "",
+ event._item,
+ ", ".join(event._candidates)))
+ print("NOTE: consider defining a PREFERRED_PROVIDER entry to match %s" % event._item)
+ continue
+ if isinstance(event, bb.event.NoProvider):
+ if event._runtime:
+ r = "R"
+ else:
+ r = ""
+
+ if event._dependees:
+ print("ERROR: Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)" % (r, event._item, ", ".join(event._dependees), r))
+ else:
+ print("ERROR: Nothing %sPROVIDES '%s'" % (r, event._item))
continue
- if isinstance(event, bb.runqueue.runQueueEvent):
- continue
- if isinstance(event, bb.runqueue.runQueueExitWait):
- continue
- if isinstance(event, bb.event.StampUpdate):
- continue
- if isinstance(event, bb.event.ConfigParsed):
- continue
- if isinstance(event, bb.event.RecipeParsed):
+
+ # ignore
+ if isinstance(event, (bb.event.BuildBase,
+ bb.event.StampUpdate,
+ bb.event.ConfigParsed,
+ bb.event.RecipeParsed,
+ bb.runqueue.runQueueEvent,
+ bb.runqueue.runQueueExitWait)):
continue
- print "Unknown Event: %s" % event
+
+ print("Unknown Event: %s" % event)
except KeyboardInterrupt:
if shutdown == 2:
- print "\nThird Keyboard Interrupt, exit.\n"
+ print("\nThird Keyboard Interrupt, exit.\n")
break
if shutdown == 1:
- print "\nSecond Keyboard Interrupt, stopping...\n"
+ print("\nSecond Keyboard Interrupt, stopping...\n")
server.runCommand(["stateStop"])
if shutdown == 0:
- print "\nKeyboard Interrupt, closing down...\n"
+ print("\nKeyboard Interrupt, closing down...\n")
server.runCommand(["stateShutdown"])
shutdown = shutdown + 1
pass
diff --git a/bitbake/lib/bb/ui/ncurses.py b/bitbake/lib/bb/ui/ncurses.py
index 14310dc12..3fed4c58a 100644
--- a/bitbake/lib/bb/ui/ncurses.py
+++ b/bitbake/lib/bb/ui/ncurses.py
@@ -44,6 +44,8 @@
"""
+from __future__ import division
+
import os, sys, curses, itertools, time
import bb
import xmlrpclib
@@ -136,7 +138,7 @@ class NCursesUI:
"""Thread Activity Window"""
def __init__( self, x, y, width, height ):
NCursesUI.DecoratedWindow.__init__( self, "Thread Activity", x, y, width, height )
-
+
def setStatus( self, thread, text ):
line = "%02d: %s" % ( thread, text )
width = self.dimensions[WIDTH]
@@ -199,8 +201,8 @@ class NCursesUI:
main_left = 0
main_top = 0
- main_height = ( height / 3 * 2 )
- main_width = ( width / 3 ) * 2
+ main_height = ( height // 3 * 2 )
+ main_width = ( width // 3 ) * 2
clo_left = main_left
clo_top = main_top + main_height
clo_height = height - main_height - main_top - 1
@@ -225,17 +227,17 @@ class NCursesUI:
helper = uihelper.BBUIHelper()
shutdown = 0
-
+
try:
cmdline = server.runCommand(["getCmdLineAction"])
if not cmdline:
return
ret = server.runCommand(cmdline)
if ret != True:
- print "Couldn't get default commandlind! %s" % ret
+ print("Couldn't get default commandlind! %s" % ret)
return
- except xmlrpclib.Fault, x:
- print "XMLRPC Fault getting commandline:\n %s" % x
+ except xmlrpclib.Fault as x:
+ print("XMLRPC Fault getting commandline:\n %s" % x)
return
exitflag = False
@@ -246,7 +248,7 @@ class NCursesUI:
continue
helper.eventHandler(event)
#mw.appendText("%s\n" % event[0])
- if isinstance(event, bb.build.Task):
+ if isinstance(event, bb.build.TaskBase):
mw.appendText("NOTE: %s\n" % event._message)
if isinstance(event, bb.msg.MsgDebug):
mw.appendText('DEBUG: ' + event._message + '\n')
@@ -263,10 +265,10 @@ class NCursesUI:
y = event.total
if x == y:
mw.setStatus("Idle")
- mw.appendText("Parsing finished. %d cached, %d parsed, %d skipped, %d masked."
+ mw.appendText("Parsing finished. %d cached, %d parsed, %d skipped, %d masked."
% ( event.cached, event.parsed, event.skipped, event.masked ))
else:
- mw.setStatus("Parsing: %s (%04d/%04d) [%2d %%]" % ( parsespin.next(), x, y, x*100/y ) )
+ mw.setStatus("Parsing: %s (%04d/%04d) [%2d %%]" % ( next(parsespin), x, y, x*100//y ) )
# if isinstance(event, bb.build.TaskFailed):
# if event.logfile:
# if data.getVar("BBINCLUDELOGS", d):
@@ -301,12 +303,12 @@ class NCursesUI:
taw.setText(0, 0, "")
if activetasks:
taw.appendText("Active Tasks:\n")
- for task in activetasks:
- taw.appendText(task)
+ for task in activetasks.itervalues():
+ taw.appendText(task["title"])
if failedtasks:
taw.appendText("Failed Tasks:\n")
for task in failedtasks:
- taw.appendText(task)
+ taw.appendText(task["title"])
curses.doupdate()
except KeyboardInterrupt:
@@ -324,7 +326,7 @@ class NCursesUI:
def init(server, eventHandler):
if not os.isatty(sys.stdout.fileno()):
- print "FATAL: Unable to run 'ncurses' UI without a TTY."
+ print("FATAL: Unable to run 'ncurses' UI without a TTY.")
return
ui = NCursesUI()
try:
@@ -332,4 +334,3 @@ def init(server, eventHandler):
except:
import traceback
traceback.print_exc()
-
diff --git a/bitbake/lib/bb/ui/puccho.py b/bitbake/lib/bb/ui/puccho.py
index 713aa1f4a..a627fc803 100644
--- a/bitbake/lib/bb/ui/puccho.py
+++ b/bitbake/lib/bb/ui/puccho.py
@@ -24,6 +24,7 @@ import gtk.glade
import threading
import urllib2
import os
+import contextlib
from bb.ui.crumbs.buildmanager import BuildManager, BuildConfiguration
from bb.ui.crumbs.buildmanager import BuildManagerTreeView
@@ -38,7 +39,7 @@ class MetaDataLoader(gobject.GObject):
on what machines are available. The distribution and images available for
the machine and the the uris to use for building the given machine."""
__gsignals__ = {
- 'success' : (gobject.SIGNAL_RUN_LAST,
+ 'success' : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
'error' : (gobject.SIGNAL_RUN_LAST,
@@ -77,20 +78,19 @@ class MetaDataLoader(gobject.GObject):
def run (self):
result = {}
try:
- f = urllib2.urlopen (self.url)
-
- # Parse the metadata format. The format is....
- # <machine>;<default distro>|<distro>...;<default image>|<image>...;<type##url>|...
- for line in f.readlines():
- components = line.split(";")
- if (len (components) < 4):
- raise MetaDataLoader.LoaderThread.LoaderImportException
- machine = components[0]
- distros = components[1].split("|")
- images = components[2].split("|")
- urls = components[3].split("|")
-
- result[machine] = (distros, images, urls)
+ with contextlib.closing (urllib2.urlopen (self.url)) as f:
+ # Parse the metadata format. The format is....
+ # <machine>;<default distro>|<distro>...;<default image>|<image>...;<type##url>|...
+ for line in f:
+ components = line.split(";")
+ if (len (components) < 4):
+ raise MetaDataLoader.LoaderThread.LoaderImportException
+ machine = components[0]
+ distros = components[1].split("|")
+ images = components[2].split("|")
+ urls = components[3].split("|")
+
+ result[machine] = (distros, images, urls)
# Create an object representing this *potential*
# configuration. It can become concrete if the machine, distro
@@ -104,13 +104,13 @@ class MetaDataLoader(gobject.GObject):
gobject.idle_add (MetaDataLoader.emit_success_signal,
self.loader)
- except MetaDataLoader.LoaderThread.LoaderImportException, e:
+ except MetaDataLoader.LoaderThread.LoaderImportException as e:
gobject.idle_add (MetaDataLoader.emit_error_signal, self.loader,
"Repository metadata corrupt")
- except Exception, e:
+ except Exception as e:
gobject.idle_add (MetaDataLoader.emit_error_signal, self.loader,
"Unable to download repository metadata")
- print e
+ print(e)
def try_fetch_from_url (self, url):
# Try and download the metadata. Firing a signal if successful
@@ -211,7 +211,7 @@ class BuildSetupDialog (gtk.Dialog):
# Build
button = gtk.Button ("_Build", None, True)
image = gtk.Image ()
- image.set_from_stock (gtk.STOCK_EXECUTE,gtk.ICON_SIZE_BUTTON)
+ image.set_from_stock (gtk.STOCK_EXECUTE, gtk.ICON_SIZE_BUTTON)
button.set_image (image)
self.add_action_widget (button, BuildSetupDialog.RESPONSE_BUILD)
button.show_all ()
@@ -293,7 +293,7 @@ class BuildSetupDialog (gtk.Dialog):
if (active_iter):
self.configuration.machine = model.get(active_iter, 0)[0]
- # Extract the chosen distro from the combo
+ # Extract the chosen distro from the combo
model = self.distribution_combo.get_model()
active_iter = self.distribution_combo.get_active_iter()
if (active_iter):
@@ -311,62 +311,62 @@ class BuildSetupDialog (gtk.Dialog):
#
# TODO: Should be a method on the RunningBuild class
def event_handle_timeout (eventHandler, build):
- # Consume as many messages as we can ...
- event = eventHandler.getEvent()
- while event:
- build.handle_event (event)
- event = eventHandler.getEvent()
- return True
+ # Consume as many messages as we can ...
+ event = eventHandler.getEvent()
+ while event:
+ build.handle_event (event)
+ event = eventHandler.getEvent()
+ return True
class MainWindow (gtk.Window):
- # Callback that gets fired when the user hits a button in the
- # BuildSetupDialog.
- def build_dialog_box_response_cb (self, dialog, response_id):
- conf = None
- if (response_id == BuildSetupDialog.RESPONSE_BUILD):
- dialog.update_configuration()
- print dialog.configuration.machine, dialog.configuration.distro, \
- dialog.configuration.image
- conf = dialog.configuration
+ # Callback that gets fired when the user hits a button in the
+ # BuildSetupDialog.
+ def build_dialog_box_response_cb (self, dialog, response_id):
+ conf = None
+ if (response_id == BuildSetupDialog.RESPONSE_BUILD):
+ dialog.update_configuration()
+ print(dialog.configuration.machine, dialog.configuration.distro, \
+ dialog.configuration.image)
+ conf = dialog.configuration
- dialog.destroy()
+ dialog.destroy()
- if conf:
- self.manager.do_build (conf)
+ if conf:
+ self.manager.do_build (conf)
- def build_button_clicked_cb (self, button):
- dialog = BuildSetupDialog ()
+ def build_button_clicked_cb (self, button):
+ dialog = BuildSetupDialog ()
- # For some unknown reason Dialog.run causes nice little deadlocks ... :-(
- dialog.connect ("response", self.build_dialog_box_response_cb)
- dialog.show()
+ # For some unknown reason Dialog.run causes nice little deadlocks ... :-(
+ dialog.connect ("response", self.build_dialog_box_response_cb)
+ dialog.show()
- def __init__ (self):
- gtk.Window.__init__ (self)
+ def __init__ (self):
+ gtk.Window.__init__ (self)
- # Pull in *just* the main vbox from the Glade XML data and then pack
- # that inside the window
- gxml = gtk.glade.XML (os.path.dirname(__file__) + "/crumbs/puccho.glade",
- root = "main_window_vbox")
- vbox = gxml.get_widget ("main_window_vbox")
- self.add (vbox)
+ # Pull in *just* the main vbox from the Glade XML data and then pack
+ # that inside the window
+ gxml = gtk.glade.XML (os.path.dirname(__file__) + "/crumbs/puccho.glade",
+ root = "main_window_vbox")
+ vbox = gxml.get_widget ("main_window_vbox")
+ self.add (vbox)
- # Create the tree views for the build manager view and the progress view
- self.build_manager_view = BuildManagerTreeView()
- self.running_build_view = RunningBuildTreeView()
+ # Create the tree views for the build manager view and the progress view
+ self.build_manager_view = BuildManagerTreeView()
+ self.running_build_view = RunningBuildTreeView()
- # Grab the scrolled windows that we put the tree views into
- self.results_scrolledwindow = gxml.get_widget ("results_scrolledwindow")
- self.progress_scrolledwindow = gxml.get_widget ("progress_scrolledwindow")
+ # Grab the scrolled windows that we put the tree views into
+ self.results_scrolledwindow = gxml.get_widget ("results_scrolledwindow")
+ self.progress_scrolledwindow = gxml.get_widget ("progress_scrolledwindow")
- # Put the tree views inside ...
- self.results_scrolledwindow.add (self.build_manager_view)
- self.progress_scrolledwindow.add (self.running_build_view)
+ # Put the tree views inside ...
+ self.results_scrolledwindow.add (self.build_manager_view)
+ self.progress_scrolledwindow.add (self.running_build_view)
- # Hook up the build button...
- self.build_button = gxml.get_widget ("main_toolbutton_build")
- self.build_button.connect ("clicked", self.build_button_clicked_cb)
+ # Hook up the build button...
+ self.build_button = gxml.get_widget ("main_toolbutton_build")
+ self.build_button.connect ("clicked", self.build_button_clicked_cb)
# I'm not very happy about the current ownership of the RunningBuild. I have
# 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):
# BuildManager. It can then hook onto the signals directly and drive
# interesting things it cares about.
manager.notify_build_succeeded ()
- print "build succeeded"
+ print("build succeeded")
def running_build_failed_cb (running_build, manager):
# As above
- print "build failed"
+ print("build failed")
manager.notify_build_failed ()
def init (server, eventHandler):
diff --git a/bitbake/lib/bb/ui/uievent.py b/bitbake/lib/bb/ui/uievent.py
index 36302f4da..f1e4d791e 100644
--- a/bitbake/lib/bb/ui/uievent.py
+++ b/bitbake/lib/bb/ui/uievent.py
@@ -19,7 +19,7 @@
"""
-Use this class to fork off a thread to recieve event callbacks from the bitbake
+Use this class to fork off a thread to recieve event callbacks from the bitbake
server and queue them for the UI to process. This process must be used to avoid
client/server deadlocks.
"""
@@ -110,16 +110,15 @@ class UIXMLRPCServer (SimpleXMLRPCServer):
return (sock, addr)
except socket.timeout:
pass
- return (None,None)
+ return (None, None)
def close_request(self, request):
if request is None:
return
SimpleXMLRPCServer.close_request(self, request)
-
+
def process_request(self, request, client_address):
if request is None:
return
SimpleXMLRPCServer.process_request(self, request, client_address)
-
diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py
index 86b9c724e..c0cc9c6ea 100644
--- a/bitbake/lib/bb/utils.py
+++ b/bitbake/lib/bb/utils.py
@@ -19,10 +19,22 @@ BitBake Utility Functions
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+import re, fcntl, os, string, stat, shutil, time
+import sys
+import bb
+import errno
+import bb.msg
+from commands import getstatusoutput
+
+# Version comparison
separators = ".-"
-import re, fcntl, os, types, bb, string, stat, shutil
-from commands import getstatusoutput
+# Context used in better_exec, eval
+_context = {
+ "os": os,
+ "bb": bb,
+ "time": time,
+}
def explode_version(s):
r = []
@@ -60,9 +72,9 @@ def vercmp_part(a, b):
if ca == None and cb == None:
return 0
- if type(ca) is types.StringType:
+ if isinstance(ca, basestring):
sa = ca in separators
- if type(cb) is types.StringType:
+ if isinstance(cb, basestring):
sb = cb in separators
if sa and not sb:
return -1
@@ -85,6 +97,131 @@ def vercmp(ta, tb):
r = vercmp_part(ra, rb)
return r
+_package_weights_ = {"pre":-2, "p":0, "alpha":-4, "beta":-3, "rc":-1} # dicts are unordered
+_package_ends_ = ["pre", "p", "alpha", "beta", "rc", "cvs", "bk", "HEAD" ] # so we need ordered list
+
+def relparse(myver):
+ """Parses the last elements of a version number into a triplet, that can
+ later be compared.
+ """
+
+ number = 0
+ p1 = 0
+ p2 = 0
+ mynewver = myver.split('_')
+ if len(mynewver) == 2:
+ # an _package_weights_
+ number = float(mynewver[0])
+ match = 0
+ for x in _package_ends_:
+ elen = len(x)
+ if mynewver[1][:elen] == x:
+ match = 1
+ p1 = _package_weights_[x]
+ try:
+ p2 = float(mynewver[1][elen:])
+ except:
+ p2 = 0
+ break
+ if not match:
+ # normal number or number with letter at end
+ divider = len(myver)-1
+ if myver[divider:] not in "1234567890":
+ # letter at end
+ p1 = ord(myver[divider:])
+ number = float(myver[0:divider])
+ else:
+ number = float(myver)
+ else:
+ # normal number or number with letter at end
+ divider = len(myver)-1
+ if myver[divider:] not in "1234567890":
+ #letter at end
+ p1 = ord(myver[divider:])
+ number = float(myver[0:divider])
+ else:
+ number = float(myver)
+ return [number, p1, p2]
+
+__vercmp_cache__ = {}
+
+def vercmp_string(val1, val2):
+ """This takes two version strings and returns an integer to tell you whether
+ the versions are the same, val1>val2 or val2>val1.
+ """
+
+ # quick short-circuit
+ if val1 == val2:
+ return 0
+ valkey = val1 + " " + val2
+
+ # cache lookup
+ try:
+ return __vercmp_cache__[valkey]
+ try:
+ return - __vercmp_cache__[val2 + " " + val1]
+ except KeyError:
+ pass
+ except KeyError:
+ pass
+
+ # consider 1_p2 vc 1.1
+ # after expansion will become (1_p2,0) vc (1,1)
+ # then 1_p2 is compared with 1 before 0 is compared with 1
+ # to solve the bug we need to convert it to (1,0_p2)
+ # by splitting _prepart part and adding it back _after_expansion
+
+ val1_prepart = val2_prepart = ''
+ if val1.count('_'):
+ val1, val1_prepart = val1.split('_', 1)
+ if val2.count('_'):
+ val2, val2_prepart = val2.split('_', 1)
+
+ # replace '-' by '.'
+ # FIXME: Is it needed? can val1/2 contain '-'?
+
+ val1 = val1.split("-")
+ if len(val1) == 2:
+ val1[0] = val1[0] + "." + val1[1]
+ val2 = val2.split("-")
+ if len(val2) == 2:
+ val2[0] = val2[0] + "." + val2[1]
+
+ val1 = val1[0].split('.')
+ val2 = val2[0].split('.')
+
+ # add back decimal point so that .03 does not become "3" !
+ for x in range(1, len(val1)):
+ if val1[x][0] == '0' :
+ val1[x] = '.' + val1[x]
+ for x in range(1, len(val2)):
+ if val2[x][0] == '0' :
+ val2[x] = '.' + val2[x]
+
+ # extend varion numbers
+ if len(val2) < len(val1):
+ val2.extend(["0"]*(len(val1)-len(val2)))
+ elif len(val1) < len(val2):
+ val1.extend(["0"]*(len(val2)-len(val1)))
+
+ # add back _prepart tails
+ if val1_prepart:
+ val1[-1] += '_' + val1_prepart
+ if val2_prepart:
+ val2[-1] += '_' + val2_prepart
+ # The above code will extend version numbers out so they
+ # have the same number of digits.
+ for x in range(0, len(val1)):
+ cmp1 = relparse(val1[x])
+ cmp2 = relparse(val2[x])
+ for y in range(0, 3):
+ myret = cmp1[y] - cmp2[y]
+ if myret != 0:
+ __vercmp_cache__[valkey] = myret
+ return myret
+ __vercmp_cache__[valkey] = 0
+ return 0
+
def explode_deps(s):
"""
Take an RDEPENDS style string of format:
@@ -154,26 +291,22 @@ def _print_trace(body, line):
"""
Print the Environment of a Text Body
"""
- import bb
-
# print the environment of the method
bb.msg.error(bb.msg.domain.Util, "Printing the environment of the function")
- min_line = max(1,line-4)
- max_line = min(line+4,len(body)-1)
- for i in range(min_line,max_line+1):
+ min_line = max(1, line-4)
+ max_line = min(line + 4, len(body)-1)
+ for i in range(min_line, max_line + 1):
bb.msg.error(bb.msg.domain.Util, "\t%.4d:%s" % (i, body[i-1]) )
-def better_compile(text, file, realfile):
+def better_compile(text, file, realfile, mode = "exec"):
"""
A better compile method. This method
will print the offending lines.
"""
try:
- return compile(text, file, "exec")
- except Exception, e:
- import bb,sys
-
+ return compile(text, file, mode)
+ except Exception as e:
# split the text into lines again
body = text.split('\n')
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):
print the lines that are responsible for the
error.
"""
- import bb,sys
+ import bb.parse
try:
- exec code in context
+ exec(code, _context, context)
except:
- (t,value,tb) = sys.exc_info()
+ (t, value, tb) = sys.exc_info()
if t in [bb.parse.SkipPackage, bb.build.FuncFailed]:
raise
# print the Header of the Error Message
bb.msg.error(bb.msg.domain.Util, "Error in executing python function in: %s" % realfile)
- bb.msg.error(bb.msg.domain.Util, "Exception:%s Message:%s" % (t,value) )
+ bb.msg.error(bb.msg.domain.Util, "Exception:%s Message:%s" % (t, value))
# let us find the line number now
while tb.tb_next:
@@ -212,48 +345,14 @@ def better_exec(code, context, text, realfile):
line = traceback.tb_lineno(tb)
_print_trace( text.split('\n'), line )
-
+
raise
-def Enum(*names):
- """
- A simple class to give Enum support
- """
-
- assert names, "Empty enums are not supported"
-
- class EnumClass(object):
- __slots__ = names
- def __iter__(self): return iter(constants)
- def __len__(self): return len(constants)
- def __getitem__(self, i): return constants[i]
- def __repr__(self): return 'Enum' + str(names)
- def __str__(self): return 'enum ' + str(constants)
-
- class EnumValue(object):
- __slots__ = ('__value')
- def __init__(self, value): self.__value = value
- Value = property(lambda self: self.__value)
- EnumType = property(lambda self: EnumType)
- def __hash__(self): return hash(self.__value)
- def __cmp__(self, other):
- # C fans might want to remove the following assertion
- # to make all enums comparable by ordinal value {;))
- assert self.EnumType is other.EnumType, "Only values from the same enum are comparable"
- return cmp(self.__value, other.__value)
- def __invert__(self): return constants[maximum - self.__value]
- def __nonzero__(self): return bool(self.__value)
- def __repr__(self): return str(names[self.__value])
-
- maximum = len(names) - 1
- constants = [None] * len(names)
- for i, each in enumerate(names):
- val = EnumValue(i)
- setattr(EnumClass, each, val)
- constants[i] = val
- constants = tuple(constants)
- EnumType = EnumClass()
- return EnumType
+def simple_exec(code, context):
+ exec(code, _context, context)
+
+def better_eval(source, locals):
+ return eval(source, _context, locals)
def lockfile(name):
"""
@@ -262,37 +361,36 @@ def lockfile(name):
"""
path = os.path.dirname(name)
if not os.path.isdir(path):
- import bb, sys
bb.msg.error(bb.msg.domain.Util, "Error, lockfile path does not exist!: %s" % path)
sys.exit(1)
while True:
# If we leave the lockfiles lying around there is no problem
# but we should clean up after ourselves. This gives potential
- # for races though. To work around this, when we acquire the lock
- # we check the file we locked was still the lock file on disk.
- # by comparing inode numbers. If they don't match or the lockfile
+ # for races though. To work around this, when we acquire the lock
+ # we check the file we locked was still the lock file on disk.
+ # by comparing inode numbers. If they don't match or the lockfile
# no longer exists, we start again.
- # This implementation is unfair since the last person to request the
+ # This implementation is unfair since the last person to request the
# lock is the most likely to win it.
try:
- lf = open(name, "a+")
+ lf = open(name, "a + ")
fcntl.flock(lf.fileno(), fcntl.LOCK_EX)
statinfo = os.fstat(lf.fileno())
if os.path.exists(lf.name):
- statinfo2 = os.stat(lf.name)
- if statinfo.st_ino == statinfo2.st_ino:
- return lf
+ statinfo2 = os.stat(lf.name)
+ if statinfo.st_ino == statinfo2.st_ino:
+ return lf
# File no longer exists or changed, retry
lf.close
- except Exception, e:
+ except Exception as e:
continue
def unlockfile(lf):
"""
- Unlock a file locked using lockfile()
+ Unlock a file locked using lockfile()
"""
os.unlink(lf.name)
fcntl.flock(lf.fileno(), fcntl.LOCK_UN)
@@ -308,7 +406,7 @@ def md5_file(filename):
except ImportError:
import md5
m = md5.new()
-
+
for line in open(filename):
m.update(line)
return m.hexdigest()
@@ -368,19 +466,17 @@ def filter_environment(good_vars):
are not known and may influence the build in a negative way.
"""
- import bb
-
removed_vars = []
for key in os.environ.keys():
if key in good_vars:
continue
-
+
removed_vars.append(key)
os.unsetenv(key)
del os.environ[key]
if len(removed_vars):
- bb.debug(1, "Removed the following variables from the environment:", ",".join(removed_vars))
+ bb.msg.debug(1, bb.msg.domain.Util, "Removed the following variables from the environment:", ",".join(removed_vars))
return removed_vars
@@ -410,7 +506,7 @@ def build_environment(d):
"""
Build an environment from all exported variables.
"""
- import bb
+ import bb.data
for var in bb.data.keys(d):
export = bb.data.getVarFlag(var, "export", d)
if export:
@@ -419,7 +515,7 @@ def build_environment(d):
def prunedir(topdir):
# Delete everything reachable from the directory named in 'topdir'.
# CAUTION: This is dangerous!
- for root, dirs, files in os.walk(topdir, topdown=False):
+ for root, dirs, files in os.walk(topdir, topdown = False):
for name in files:
os.remove(os.path.join(root, name))
for name in dirs:
@@ -434,7 +530,7 @@ def prunedir(topdir):
# but thats possibly insane and suffixes is probably going to be small
#
def prune_suffix(var, suffixes, d):
- # See if var ends with any of the suffixes listed and
+ # See if var ends with any of the suffixes listed and
# remove it if found
for suffix in suffixes:
if var.endswith(suffix):
@@ -446,169 +542,167 @@ def mkdirhier(dir):
directory already exists like os.makedirs
"""
- bb.debug(3, "mkdirhier(%s)" % dir)
+ bb.msg.debug(3, bb.msg.domain.Util, "mkdirhier(%s)" % dir)
try:
os.makedirs(dir)
- bb.debug(2, "created " + dir)
- except OSError, e:
- if e.errno != 17: raise e
-
-import stat
+ bb.msg.debug(2, bb.msg.domain.Util, "created " + dir)
+ except OSError as e:
+ if e.errno != errno.EEXIST:
+ raise e
-def movefile(src,dest,newmtime=None,sstat=None):
+def movefile(src, dest, newmtime = None, sstat = None):
"""Moves a file from src to dest, preserving all permissions and
attributes; mtime will be preserved even when moving across
filesystems. Returns true on success and false on failure. Move is
atomic.
"""
- #print "movefile("+src+","+dest+","+str(newmtime)+","+str(sstat)+")"
+ #print "movefile(" + src + "," + dest + "," + str(newmtime) + "," + str(sstat) + ")"
try:
if not sstat:
- sstat=os.lstat(src)
- except Exception, e:
- print "movefile: Stating source file failed...", e
+ sstat = os.lstat(src)
+ except Exception as e:
+ print("movefile: Stating source file failed...", e)
return None
- destexists=1
+ destexists = 1
try:
- dstat=os.lstat(dest)
+ dstat = os.lstat(dest)
except:
- dstat=os.lstat(os.path.dirname(dest))
- destexists=0
+ dstat = os.lstat(os.path.dirname(dest))
+ destexists = 0
if destexists:
if stat.S_ISLNK(dstat[stat.ST_MODE]):
try:
os.unlink(dest)
- destexists=0
- except Exception, e:
+ destexists = 0
+ except Exception as e:
pass
if stat.S_ISLNK(sstat[stat.ST_MODE]):
try:
- target=os.readlink(src)
+ target = os.readlink(src)
if destexists and not stat.S_ISDIR(dstat[stat.ST_MODE]):
os.unlink(dest)
- os.symlink(target,dest)
+ os.symlink(target, dest)
#os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID])
os.unlink(src)
return os.lstat(dest)
- except Exception, e:
- print "movefile: failed to properly create symlink:", dest, "->", target, e
+ except Exception as e:
+ print("movefile: failed to properly create symlink:", dest, "->", target, e)
return None
- renamefailed=1
- if sstat[stat.ST_DEV]==dstat[stat.ST_DEV]:
+ renamefailed = 1
+ if sstat[stat.ST_DEV] == dstat[stat.ST_DEV]:
try:
- ret=os.rename(src,dest)
- renamefailed=0
- except Exception, e:
- import errno
- if e[0]!=errno.EXDEV:
+ os.rename(src, dest)
+ renamefailed = 0
+ except Exception as e:
+ if e[0] != errno.EXDEV:
# Some random error.
- print "movefile: Failed to move", src, "to", dest, e
+ print("movefile: Failed to move", src, "to", dest, e)
return None
# Invalid cross-device-link 'bind' mounted or actually Cross-Device
if renamefailed:
- didcopy=0
+ didcopy = 0
if stat.S_ISREG(sstat[stat.ST_MODE]):
try: # For safety copy then move it over.
- shutil.copyfile(src,dest+"#new")
- os.rename(dest+"#new",dest)
- didcopy=1
- except Exception, e:
- print 'movefile: copy', src, '->', dest, 'failed.', e
+ shutil.copyfile(src, dest + "#new")
+ os.rename(dest + "#new", dest)
+ didcopy = 1
+ except Exception as e:
+ print('movefile: copy', src, '->', dest, 'failed.', e)
return None
else:
#we don't yet handle special, so we need to fall back to /bin/mv
- a=getstatusoutput("/bin/mv -f "+"'"+src+"' '"+dest+"'")
- if a[0]!=0:
- print "movefile: Failed to move special file:" + src + "' to '" + dest + "'", a
+ a = getstatusoutput("/bin/mv -f " + "'" + src + "' '" + dest + "'")
+ if a[0] != 0:
+ print("movefile: Failed to move special file:" + src + "' to '" + dest + "'", a)
return None # failure
try:
if didcopy:
- os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID])
+ os.lchown(dest, sstat[stat.ST_UID], sstat[stat.ST_GID])
os.chmod(dest, stat.S_IMODE(sstat[stat.ST_MODE])) # Sticky is reset on chown
os.unlink(src)
- except Exception, e:
- print "movefile: Failed to chown/chmod/unlink", dest, e
+ except Exception as e:
+ print("movefile: Failed to chown/chmod/unlink", dest, e)
return None
if newmtime:
- os.utime(dest,(newmtime,newmtime))
+ os.utime(dest, (newmtime, newmtime))
else:
os.utime(dest, (sstat[stat.ST_ATIME], sstat[stat.ST_MTIME]))
- newmtime=sstat[stat.ST_MTIME]
+ newmtime = sstat[stat.ST_MTIME]
return newmtime
-def copyfile(src,dest,newmtime=None,sstat=None):
+def copyfile(src, dest, newmtime = None, sstat = None):
"""
Copies a file from src to dest, preserving all permissions and
attributes; mtime will be preserved even when moving across
filesystems. Returns true on success and false on failure.
"""
- #print "copyfile("+src+","+dest+","+str(newmtime)+","+str(sstat)+")"
+ #print "copyfile(" + src + "," + dest + "," + str(newmtime) + "," + str(sstat) + ")"
try:
if not sstat:
- sstat=os.lstat(src)
- except Exception, e:
- print "copyfile: Stating source file failed...", e
+ sstat = os.lstat(src)
+ except Exception as e:
+ print("copyfile: Stating source file failed...", e)
return False
- destexists=1
+ destexists = 1
try:
- dstat=os.lstat(dest)
+ dstat = os.lstat(dest)
except:
- dstat=os.lstat(os.path.dirname(dest))
- destexists=0
+ dstat = os.lstat(os.path.dirname(dest))
+ destexists = 0
if destexists:
if stat.S_ISLNK(dstat[stat.ST_MODE]):
try:
os.unlink(dest)
- destexists=0
- except Exception, e:
+ destexists = 0
+ except Exception as e:
pass
if stat.S_ISLNK(sstat[stat.ST_MODE]):
try:
- target=os.readlink(src)
+ target = os.readlink(src)
if destexists and not stat.S_ISDIR(dstat[stat.ST_MODE]):
os.unlink(dest)
- os.symlink(target,dest)
+ os.symlink(target, dest)
#os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID])
return os.lstat(dest)
- except Exception, e:
- print "copyfile: failed to properly create symlink:", dest, "->", target, e
+ except Exception as e:
+ print("copyfile: failed to properly create symlink:", dest, "->", target, e)
return False
if stat.S_ISREG(sstat[stat.ST_MODE]):
- try: # For safety copy then move it over.
- shutil.copyfile(src,dest+"#new")
- os.rename(dest+"#new",dest)
- except Exception, e:
- print 'copyfile: copy', src, '->', dest, 'failed.', e
- return False
+ try: # For safety copy then move it over.
+ shutil.copyfile(src, dest + "#new")
+ os.rename(dest + "#new", dest)
+ except Exception as e:
+ print('copyfile: copy', src, '->', dest, 'failed.', e)
+ return False
else:
- #we don't yet handle special, so we need to fall back to /bin/mv
- a=getstatusoutput("/bin/cp -f "+"'"+src+"' '"+dest+"'")
- if a[0]!=0:
- print "copyfile: Failed to copy special file:" + src + "' to '" + dest + "'", a
- return False # failure
+ #we don't yet handle special, so we need to fall back to /bin/mv
+ a = getstatusoutput("/bin/cp -f " + "'" + src + "' '" + dest + "'")
+ if a[0] != 0:
+ print("copyfile: Failed to copy special file:" + src + "' to '" + dest + "'", a)
+ return False # failure
try:
- os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID])
+ os.lchown(dest, sstat[stat.ST_UID], sstat[stat.ST_GID])
os.chmod(dest, stat.S_IMODE(sstat[stat.ST_MODE])) # Sticky is reset on chown
- except Exception, e:
- print "copyfile: Failed to chown/chmod/unlink", dest, e
+ except Exception as e:
+ print("copyfile: Failed to chown/chmod/unlink", dest, e)
return False
if newmtime:
- os.utime(dest,(newmtime,newmtime))
+ os.utime(dest, (newmtime, newmtime))
else:
os.utime(dest, (sstat[stat.ST_ATIME], sstat[stat.ST_MTIME]))
- newmtime=sstat[stat.ST_MTIME]
+ newmtime = sstat[stat.ST_MTIME]
return newmtime
def which(path, item, direction = 0):
diff --git a/build/conf/local.conf.sample b/build/conf/local.conf.sample
index 6285821d5..fc013bcd1 100644
--- a/build/conf/local.conf.sample
+++ b/build/conf/local.conf.sample
@@ -33,6 +33,8 @@ MACHINE ?= "qemux86"
#MACHINE ?= "mx31litekit"
#MACHINE ?= "mx31phy"
#MACHINE ?= "zylonite"
+#MACHINE ?= "igep0020"
+#MACHINE ?= "igep0030"
DISTRO ?= "poky"
# For bleeding edge / experimental / unstable package versions
diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass
index e5453848a..29ee99042 100644
--- a/meta/classes/cross-canadian.bbclass
+++ b/meta/classes/cross-canadian.bbclass
@@ -44,9 +44,9 @@ target_prefix := "${prefix}"
target_exec_prefix := "${exec_prefix}"
# Change to place files in SDKPATH
-prefix = "${SDKPATH}"
-exec_prefix = "${SDKPATH}"
-base_prefix = "${SDKPATH}"
+base_prefix = "${SDKPATHNATIVE}"
+prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
+exec_prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
FILES_${PN} = "${prefix}"
FILES_${PN}-dbg += "${prefix}/.debug \
@@ -56,5 +56,5 @@ FILES_${PN}-dbg += "${prefix}/.debug \
export PKG_CONFIG_DIR = "${STAGING_DIR_HOST}${layout_libdir}/pkgconfig"
export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}"
-# Cross-canadian packages need to pull in nativesdk so's, sorry for ugliness
+# Cross-canadian packages need to pull in nativesdk dynamic libs
SHLIBSDIR = "${STAGING_DIR}/${SDK_ARCH}-nativesdk-pokysdk-${BUILD_OS}/shlibs"
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index e4e8900f9..4a5b83e30 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -34,8 +34,11 @@ python () {
deps += " %s:do_populate_sysroot" % dep
bb.data.setVarFlag('do_rootfs', 'depends', deps, d)
- runtime_mapping_rename("PACKAGE_INSTALL", d)
- runtime_mapping_rename("PACKAGE_INSTALL_ATTEMPTONLY", d)
+ # If we don't do this we try and run the mapping hooks while parsing which is slow
+ # bitbake should really provide something to let us know this...
+ if bb.data.getVar('__RUNQUEUE_DO_NOT_USE_EXTERNALLY', d, True) is not None:
+ runtime_mapping_rename("PACKAGE_INSTALL", d)
+ runtime_mapping_rename("PACKAGE_INSTALL_ATTEMPTONLY", d)
}
#
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index 230a1be75..a04542e20 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -31,6 +31,9 @@ PACKAGEFUNCS += " do_package_qa "
# TARGET_OS TARGET_ARCH MACHINE, OSABI, ABIVERSION, Little Endian, 32bit?
def package_qa_get_machine_dict():
return {
+ "darwin9" : {
+ "arm" : (40, 0, 0, True, True),
+ },
"linux" : {
"arm" : (40, 97, 0, True, True),
"armeb": (40, 97, 0, False, True),
@@ -58,8 +61,12 @@ def package_qa_get_machine_dict():
"i486": ( 3, 0, 0, True, True),
"i586": ( 3, 0, 0, True, True),
"i686": ( 3, 0, 0, True, True),
+ "x86_64": ( 62, 0, 0, True, False),
+ "mips": ( 8, 0, 0, False, True),
"mipsel": ( 8, 0, 0, True, True),
"avr32": (6317, 0, 0, False, True),
+ "sh4": (42, 0, 0, True, True),
+
},
"uclinux-uclibc" : {
"bfin": ( 106, 0, 0, True, True),
@@ -72,9 +79,16 @@ def package_qa_get_machine_dict():
"arm" : (40, 0, 0, True, True),
"armeb" : (40, 0, 0, False, True),
},
+ "linux-gnuspe" : {
+ "powerpc": (20, 0, 0, False, True),
+ },
+ "linux-uclibcspe" : {
+ "powerpc": (20, 0, 0, False, True),
+ },
}
+
# Known Error classes
# 0 - non dev contains .so
# 1 - package contains a dangerous RPATH
@@ -85,6 +99,8 @@ def package_qa_get_machine_dict():
# 6 - .pc contains reference to /usr/include or workdir
# 7 - the desktop file is not valid
# 8 - .la contains reference to the workdir
+# 9 - LDFLAGS ignored
+# 10 - Build paths in binaries
def package_qa_clean_path(path,d):
""" 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):
"evil hides inside the .pc",
"the desktop file is not valid",
".la contains reference to the workdir",
+ "LDFLAGS ignored",
"package contains reference to tmpdir paths",
]
@@ -141,69 +158,84 @@ def package_qa_handle_error(error_class, error_msg, name, path, d):
return not fatal
-def package_qa_check_rpath(file,name,d):
+def package_qa_check_rpath(file,name,d, elf):
"""
Check for dangerous RPATHs
"""
+ if not elf:
+ return True
+
sane = True
scanelf = os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True),'scanelf')
- bad_dir = bb.data.getVar('TMPDIR', d, True) + "/work"
+ bad_dirs = [bb.data.getVar('TMPDIR', d, True) + "/work", bb.data.getVar('STAGING_DIR_TARGET', d, True)]
bad_dir_test = bb.data.getVar('TMPDIR', d, True)
if not os.path.exists(scanelf):
bb.fatal("Can not check RPATH, scanelf (part of pax-utils-native) not found")
- if not bad_dir in bb.data.getVar('WORKDIR', d, True):
+ if not bad_dirs[0] in bb.data.getVar('WORKDIR', d, True):
bb.fatal("This class assumed that WORKDIR is ${TMPDIR}/work... Not doing any check")
output = os.popen("%s -B -F%%r#F '%s'" % (scanelf,file))
txt = output.readline().split()
for line in txt:
- if bad_dir in line:
- error_msg = "package %s contains bad RPATH %s in file %s" % (name, line, file)
- sane = package_qa_handle_error(1, error_msg, name, file, d)
+ for dir in bad_dirs:
+ if dir in line:
+ error_msg = "package %s contains bad RPATH %s in file %s" % (name, line, file)
+ sane = sane + package_qa_handle_error(1, error_msg, name, file, d)
return sane
-def package_qa_check_devdbg(path, name,d):
+def package_qa_check_dev(path, name,d, elf):
"""
- Check for debug remains inside the binary or
- non dev packages containing
+ Check for ".so" library symlinks in non-dev packages
"""
sane = True
- if not "-dev" in name:
- if path[-3:] == ".so" and os.path.islink(path):
- error_msg = "non -dev package contains symlink .so: %s path '%s'" % \
- (name, package_qa_clean_path(path,d))
- sane = package_qa_handle_error(0, error_msg, name, path, d)
+ if not name.endswith("-dev") and path.endswith(".so") and os.path.islink(path):
+ error_msg = "non -dev package contains symlink .so: %s path '%s'" % \
+ (name, package_qa_clean_path(path,d))
+ sane = package_qa_handle_error(0, error_msg, name, path, d)
+
+ return sane
+
+def package_qa_check_dbg(path, name,d, elf):
+ """
+ Check for ".debug" files or directories outside of the dbg package
+ """
+
+ sane = True
if not "-dbg" in name:
- if '.debug' in path:
+ if '.debug' in path.split(os.path.sep):
error_msg = "non debug package contains .debug directory: %s path %s" % \
(name, package_qa_clean_path(path,d))
sane = package_qa_handle_error(3, error_msg, name, path, d)
return sane
-def package_qa_check_perm(path,name,d):
+def package_qa_check_perm(path,name,d, elf):
"""
Check the permission of files
"""
sane = True
return sane
-def package_qa_check_arch(path,name,d):
+def package_qa_check_arch(path,name,d, elf):
"""
Check if archs are compatible
"""
+ if not elf:
+ return True
+
sane = True
target_os = bb.data.getVar('TARGET_OS', d, True)
target_arch = bb.data.getVar('TARGET_ARCH', d, True)
# FIXME: Cross package confuse this check, so just skip them
- if bb.data.inherits_class('cross', d) or bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('cross-canadian', d):
- return True
+ for s in ['cross', 'nativesdk', 'cross-canadian']:
+ if bb.data.inherits_class(s, d):
+ return True
# avoid following links to /usr/bin (e.g. on udev builds)
# we will check the files pointed to anyway...
@@ -213,11 +245,6 @@ def package_qa_check_arch(path,name,d):
#if this will throw an exception, then fix the dict above
(machine, osabi, abiversion, littleendian, bits32) \
= package_qa_get_machine_dict()[target_os][target_arch]
- elf = package_qa_get_elf(path, bits32)
- try:
- elf.open()
- except:
- return True
# Check the architecture and endiannes of the binary
if not machine == elf.machine():
@@ -231,7 +258,7 @@ def package_qa_check_arch(path,name,d):
return sane
-def package_qa_check_desktop(path, name, d):
+def package_qa_check_desktop(path, name, d, elf):
"""
Run all desktop files through desktop-file-validate.
"""
@@ -245,7 +272,48 @@ def package_qa_check_desktop(path, name, d):
return sane
-def package_qa_check_buildpaths(path, name, d):
+def package_qa_hash_style(path, name, d, elf):
+ """
+ Check if the binary has the right hash style...
+ """
+
+ if not elf:
+ return True
+
+ if os.path.islink(path):
+ return True
+
+ gnu_hash = "--hash-style=gnu" in bb.data.getVar('LDFLAGS', d, True)
+ if not gnu_hash:
+ gnu_hash = "--hash-style=both" in bb.data.getVar('LDFLAGS', d, True)
+ if not gnu_hash:
+ return True
+
+ objdump = bb.data.getVar('OBJDUMP', d, True)
+ env_path = bb.data.getVar('PATH', d, True)
+
+ sane = True
+ elf = False
+ # A bit hacky. We do not know if path is an elf binary or not
+ # we will search for 'NEEDED' or 'INIT' as this should be printed...
+ # and come before the HASH section (guess!!!) and works on split out
+ # debug symbols too
+ for line in os.popen("LC_ALL=C PATH=%s %s -p '%s' 2> /dev/null" % (env_path, objdump, path), "r"):
+ if "NEEDED" in line or "INIT" in line:
+ sane = False
+ elf = True
+ if "GNU_HASH" in line:
+ sane = True
+ if "[mips32]" in line or "[mips64]" in line:
+ sane = True
+
+ if elf and not sane:
+ error_msg = "No GNU_HASH in the elf binary: '%s'" % path
+ return package_qa_handle_error(9, error_msg, name, path, d)
+
+ return True
+
+def package_qa_check_buildpaths(path, name, d, elf):
"""
Check for build paths inside target files and error if not found in the whitelist
"""
@@ -263,7 +331,7 @@ def package_qa_check_buildpaths(path, name, d):
file_content = open(path).read()
if tmpdir in file_content:
error_msg = "File %s in package contained reference to tmpdir" % package_qa_clean_path(path,d)
- sane = package_qa_handle_error(9, error_msg, name, path, d)
+ sane = package_qa_handle_error(10, error_msg, name, path, d)
return sane
def package_qa_check_license(workdir, d):
@@ -356,7 +424,7 @@ def package_qa_check_staged(path,d):
for root, dirs, files in os.walk(path):
for file in files:
path = os.path.join(root,file)
- if file[-2:] == "la":
+ if file.endswith(".la"):
file_content = open(path).read()
# Don't check installed status for native/cross packages
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):
if workdir in file_content:
error_msg = "%s failed sanity test (workdir) in path %s" % (file,root)
sane = package_qa_handle_error(8, error_msg, "staging", path, d)
- elif file[-2:] == "pc":
+ elif file.endswith(".pc"):
file_content = open(path).read()
if pkgconfigcheck in file_content:
error_msg = "%s failed sanity test (tmpdir) in path %s" % (file,root)
@@ -376,24 +444,36 @@ def package_qa_check_staged(path,d):
# Walk over all files in a directory and call func
def package_qa_walk(path, funcs, package,d):
- sane = True
+ import oe.qa
+ #if this will throw an exception, then fix the dict above
+ target_os = bb.data.getVar('TARGET_OS', d, True)
+ target_arch = bb.data.getVar('TARGET_ARCH', d, True)
+ (machine, osabi, abiversion, littleendian, bits32) \
+ = package_qa_get_machine_dict()[target_os][target_arch]
+
+ sane = True
for root, dirs, files in os.walk(path):
for file in files:
path = os.path.join(root,file)
+ elf = oe.qa.ELFFile(path, bits32)
+ try:
+ elf.open()
+ except:
+ elf = None
for func in funcs:
- if not func(path, package,d):
+ if not func(path, package,d, elf):
sane = False
return sane
-def package_qa_check_rdepends(pkg, workdir, d):
+def package_qa_check_rdepends(pkg, pkgdest, d):
sane = True
if not "-dbg" in pkg and not "task-" in pkg and not "-image" in pkg:
# Copied from package_ipk.bbclass
# boiler plate to update the data
localdata = bb.data.createCopy(d)
- root = "%s/install/%s" % (workdir, pkg)
+ root = "%s/%s" % (pkgdest, pkg)
bb.data.setVar('ROOT', '', localdata)
bb.data.setVar('ROOT_%s' % pkg, root, localdata)
@@ -425,6 +505,7 @@ def package_qa_check_rdepends(pkg, workdir, d):
# The PACKAGE FUNC to scan each package
python do_package_qa () {
bb.note("DO PACKAGE QA")
+ pkgdest = bb.data.getVar('PKGDEST', d, True)
workdir = bb.data.getVar('WORKDIR', d, True)
packages = bb.data.getVar('PACKAGES',d, True)
@@ -432,9 +513,11 @@ python do_package_qa () {
if not packages:
return
- checks = [package_qa_check_rpath, package_qa_check_devdbg,
+ checks = [package_qa_check_rpath, package_qa_check_dev,
package_qa_check_perm, package_qa_check_arch,
- package_qa_check_desktop, package_qa_check_buildpaths]
+ package_qa_check_desktop,
+ package_qa_check_dbg]
+ # package_qa_check_buildpaths, package_qa_hash_style
walk_sane = True
rdepends_sane = True
for package in packages.split():
@@ -443,10 +526,10 @@ python do_package_qa () {
continue
bb.note("Checking Package: %s" % package)
- path = "%s/install/%s" % (workdir, package)
+ path = "%s/%s" % (pkgdest, package)
if not package_qa_walk(path, checks, package, d):
walk_sane = False
- if not package_qa_check_rdepends(package, workdir, d):
+ if not package_qa_check_rdepends(package, pkgdest, d):
rdepends_sane = False
diff --git a/meta/classes/nativesdk.bbclass b/meta/classes/nativesdk.bbclass
index 2c897c607..892bae5ec 100644
--- a/meta/classes/nativesdk.bbclass
+++ b/meta/classes/nativesdk.bbclass
@@ -37,9 +37,9 @@ CXXFLAGS = "${BUILDSDK_CFLAGS}"
LDFLAGS = "${BUILDSDK_LDFLAGS}"
# Change to place files in SDKPATH
-prefix = "${SDKPATH}"
-exec_prefix = "${SDKPATH}"
-base_prefix = "${SDKPATH}"
+base_prefix = "${SDKPATHNATIVE}"
+prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
+exec_prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
FILES_${PN} += "${prefix}"
FILES_${PN}-dbg += "${prefix}/.debug \
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
index edec2a47f..90ef272c2 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes/package_deb.bbclass
@@ -112,11 +112,7 @@ python do_package_deb () {
pkgname = pkg
bb.data.setVar('PKG', pkgname, localdata)
- overrides = bb.data.getVar('OVERRIDES', localdata)
- if not overrides:
- raise bb.build.FuncFailed('OVERRIDES not defined')
- overrides = bb.data.expand(overrides, localdata)
- bb.data.setVar('OVERRIDES', pkg + ':' + overrides, localdata)
+ bb.data.setVar('OVERRIDES', pkg, localdata)
bb.data.update_data(localdata)
basedir = os.path.join(os.path.dirname(root))
diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass
index 1b40cfebc..11b60b156 100644
--- a/meta/classes/package_ipk.bbclass
+++ b/meta/classes/package_ipk.bbclass
@@ -179,10 +179,7 @@ python do_package_ipk () {
pkgname = pkg
bb.data.setVar('PKG', pkgname, localdata)
- overrides = bb.data.getVar('OVERRIDES', localdata, True)
- if not overrides:
- raise bb.build.FuncFailed('OVERRIDES not defined')
- bb.data.setVar('OVERRIDES', pkg + ':' + overrides, localdata)
+ bb.data.setVar('OVERRIDES', pkg, localdata)
bb.data.update_data(localdata)
basedir = os.path.join(os.path.dirname(root))
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index b08d47847..da4f64cc9 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -188,11 +188,7 @@ python do_package_rpm () {
pkgname = pkg
bb.data.setVar('PKG', pkgname, localdata)
- overrides = bb.data.getVar('OVERRIDES', localdata)
- if not overrides:
- raise bb.build.FuncFailed('OVERRIDES not defined')
- overrides = bb.data.expand(overrides, localdata)
- bb.data.setVar('OVERRIDES', pkg + ':' + overrides, localdata)
+ bb.data.setVar('OVERRIDES', pkg, localdata)
bb.data.update_data(localdata)
basedir = os.path.join(os.path.dirname(root))
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 9d8e59457..492ed9678 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -43,6 +43,9 @@ includedir_native = "${prefix_native}/include"
libdir_native = "${prefix_native}/lib"
datadir_native = "${prefix_native}/share"
bindir_cross = "/bin"
+prefix_nativesdk = "/usr"
+bindir_nativesdk = "${prefix_nativesdk}/bin"
+libdir_nativesdk = "${prefix_nativesdk}/lib"
#
# Cross recipes need to know about the target layout
@@ -290,6 +293,7 @@ PKGDATA_DIR = "${TMPDIR}/pkgdata/${MULTIMACH_TARGET_SYS}"
SDK_NAME = "${DISTRO}/${TARGET_ARCH}"
SDKPATH = "/usr/local/${SDK_NAME}"
+SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
##################################################################
# Kernel info.
diff --git a/meta/conf/distro/include/poky-default.inc b/meta/conf/distro/include/poky-default.inc
index cf6739d39..90ec4ce39 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"
GCCVERSION ?= "4.3.3"
BINUVERSION ?= "2.20.1"
GLIBCVERSION ?= "2.9"
-LINUXLIBCVERSION ?= "2.6.33"
+LINUXLIBCVERSION ?= "2.6.34"
# Temporary preferred version overrides for PPC
PREFERRED_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 72dcdcf56..42f54ce29 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"
PREFERRED_VERSION_gtk-sato-engine ?= "0.3.1"
PREFERRED_VERSION_matchbox-theme-sato ?= "0.1"
-PREFERRED_VERSION_glib-2.0 ?= "2.22.3"
-PREFERRED_VERSION_glib-2.0-native ?= "2.22.3"
+PREFERRED_VERSION_glib-2.0 ?= "2.24.1"
+PREFERRED_VERSION_glib-2.0-native ?= "2.24.1"
PREFERRED_VERSION_atk ?= "1.24.0"
-PREFERRED_VERSION_cairo ?= "1.8.2"
-PREFERRED_VERSION_pango ?= "1.22.2"
+PREFERRED_VERSION_cairo ?= "1.8.10"
+PREFERRED_VERSION_pango ?= "1.28.0"
PREFERRED_VERSION_gtk+ ?= "2.14.2"
PREFERRED_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 fb31e544c..fe3e21cca 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"
PREFERRED_VERSION_libfontenc-native ?= "1.0.5"
PREFERRED_VERSION_libfs ?= "1.0.1"
PREFERRED_VERSION_libice ?= "1.0.6"
-PREFERRED_VERSION_liblbxutil ?= "1.0.1"
+PREFERRED_VERSION_liblbxutil ?= "1.1.0"
PREFERRED_VERSION_liboldx ?= "1.0.1"
PREFERRED_VERSION_libsm ?= "1.1.1"
PREFERRED_VERSION_libwindowswm ?= "1.0.0"
@@ -71,7 +71,7 @@ PREFERRED_VERSION_libxrandr-nativesdk ?= "1.3.0"
PREFERRED_VERSION_libxrender ?= "0.9.5"
PREFERRED_VERSION_libxrender-nativesdk ?= "0.9.5"
PREFERRED_VERSION_libxres ?= "1.0.4"
-PREFERRED_VERSION_libxscrnsaver ?= "1.1.3"
+PREFERRED_VERSION_libxscrnsaver ?= "1.2.0"
PREFERRED_VERSION_libxt ?= "1.0.8"
PREFERRED_VERSION_libxtrap ?= "1.0.0"
PREFERRED_VERSION_libxtst ?= "1.1.0"
@@ -93,8 +93,8 @@ PREFERRED_VERSION_renderproto-nativesdk ?= "0.11"
PREFERRED_VERSION_resourceproto ?= "1.1.0"
PREFERRED_VERSION_scrnsaverproto ?= "1.2.0"
PREFERRED_VERSION_trapproto ?= "3.4.3"
-PREFERRED_VERSION_util-macros ?= "1.6.0"
-PREFERRED_VERSION_util-macros-native ?= "1.6.0"
+PREFERRED_VERSION_util-macros ?= "1.10.0"
+PREFERRED_VERSION_util-macros-native ?= "1.10.0"
PREFERRED_VERSION_videoproto ?= "2.3.0"
PREFERRED_VERSION_windowswmproto ?= "1.0.4"
PREFERRED_VERSION_x11perf ?= "1.5"
@@ -126,7 +126,7 @@ PREFERRED_VERSION_xproto ?= "7.0.17"
PREFERRED_VERSION_xproto-native ?= "7.0.17"
PREFERRED_VERSION_xproto-nativesdk ?= "7.0.17"
PREFERRED_VERSION_xproxymanagementprotocol ?= "1.0.3"
-PREFERRED_VERSION_xrandr ?= "1.2.3"
+PREFERRED_VERSION_xrandr ?= "1.3.2"
PREFERRED_VERSION_xrdb ?= "1.0.5"
PREFERRED_VERSION_xserver-kdrive ?= "1.7.99.2"
PREFERRED_VERSION_xserver-xf86-dri-lite ?= "1.7.99.2"
@@ -141,8 +141,8 @@ PREFERRED_VERSION_libdrm ?= "2.4.21"
PREFERRED_VERSION_xcb-proto ?= "1.6"
PREFERRED_VERSION_libxcb ?= "1.6"
PREFERRED_VERSION_libxcb-nativesdk ?= "1.6"
-PREFERRED_VERSION_libpciaccess ?= "0.10.5"
-PREFERRED_VERSION_xf86-input-evdev ?= "2.3.2"
+PREFERRED_VERSION_libpciaccess ?= "0.11.0"
+PREFERRED_VERSION_xf86-input-evdev ?= "2.4.0"
PREFERRED_VERSION_xf86-input-mouse ?= "1.5.0"
PREFERRED_VERSION_xf86-input-keyboard ?= "1.4.0"
PREFERRED_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 7f54be600..1467f6b98 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"
RECIPE_LATEST_RELEASE_DATE_pn+dbus-glib = "03/2010"
RECIPE_COMMENTS_pn+dbus-glib = ""
+RECIPE_STATUS_pn-neon="green"
+DEPENDENCY_CHECK_pn-neon = "not done"
+RECIPE_LATEST_VERSION_pn-neon="0.29.3"
+RECIPE_NO_OF_PATCHES_pn-neon="0"
+RECIPE_INTEL_SECTION_pn-neon = "base libs"
+RECIPE_LATEST_RELEASE_DATE_pn-neon="01/2010"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-neon="15 days"
+RECIPE_COMMENTS_pn-neon = ""
+
+RECIPE_STATUS_pn+libpng = "green"
+DEPENDENCY_CHECK_pn+libpng = "not done"
+RECIPE_LATEST_VERSION_pn+libpng = "1.4.3"
+RECIPE_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"
+RECIPE_INTEL_SECTION_pn+libpng = "base libs"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn+libpng = "1 month"
+RECIPE_LATEST_RELEASE_DATE_pn+libpng = "06/2010"
+RECIPE_COMMENTS_pn+libpng = ""
+
+RECIPE_STATUS_pn+libidn = "green"
+DEPENDENCY_CHECK_pn+libidn = "not done"
+RECIPE_LATEST_VERSION_pn+libidn = "1.19"
+RECIPE_INTEL_SECTION_pn+libidn = "base libs"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn+libidn = "3 months"
+RECIPE_LATEST_RELEASE_DATE_pn+libidn = "05/2010"
+RECIPE_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 da319c060..22dfd3b4d 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"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-openssl = "3 months"
RECIPE_LATEST_RELEASE_DATE_pn-openssl = "06/2010"
RECIPE_COMMENTS_pn-openssl = "0.9.8o is actually used for stability concerns"
+
+RECIPE_STATUS_pn-libnss-mdns = "red" # need upgrade
+DEPENDENCY_CHECK_pn-libnss-mdns = "not done"
+RECIPE_LATEST_VERSION_pn-libnss-mdns = "0.10"
+RECIPE_INTEL_SECTION_pn-libnss-mdns = "base libs"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libnss-mdns = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn-libnss-mdns = "05/2007"
+RECIPE_COMMENTS_pn-libnss-mdns = ""
+
+RECIPE_STATUS_pn-ncurses = "red" # need upgrade
+DEPENDENCY_CHECK_pn-ncurses = "not done"
+RECIPE_LATEST_VERSION_pn-ncurses = "5.7"
+RECIPE_INTEL_SECTION_pn-ncurses = "base libs"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-ncurses = "23 months"
+RECIPE_LATEST_RELEASE_DATE_pn-ncurses = "11/2008"
+RECIPE_COMMENTS_pn-ncurses = ""
+
+RECIPE_STATUS_pn-popt = "green"
+DEPENDENCY_CHECK_pn-popt = "done"
+RECIPE_LATEST_VERSION_pn-popt = "1.16"
+RECIPE_INTEL_SECTION_pn-popt = "base libs"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-popt = "13 months"
+RECIPE_LATEST_RELEASE_DATE_pn-popt = "05/2010"
+RECIPE_COMMENTS_pn-popt = ""
+
+RECIPE_STATUS_pn-sqlite3 = "red" # need upgrade
+DEPENDENCY_CHECK_pn-sqlite3 = "not done"
+RECIPE_LATEST_VERSION_pn-sqlite3 = "3.6.23.1"
+RECIPE_INTEL_SECTION_pn-sqlite3 = "base libs"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-sqlite3 = "1 month"
+RECIPE_LATEST_RELEASE_DATE_pn-sqlite3 = "03/2010"
+RECIPE_COMMENTS_pn-sqlite3 = ""
+
+RECIPE_STATUS_pn-startup-notification = "red" # need upgrade
+DEPENDENCY_CHECK_pn-startup-notification = "not done"
+RECIPE_LATEST_VERSION_pn-startup-notification = "0.10"
+RECIPE_INTEL_SECTION_pn-startup-notification = "base libs"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-startup-notification = "25 months"
+RECIPE_LATEST_RELEASE_DATE_pn-startup-notification = "04/2009"
+RECIPE_COMMENTS_pn-startup-notification = ""
+
+RECIPE_STATUS_pn-libpthread-stubs = "green"
+DEPENDENCY_CHECK_pn-libpthread-stubs = "done"
+RECIPE_LATEST_VERSION_pn-libpthread-stubs = "0.3"
+RECIPE_INTEL_SECTION_pn-libpthread-stubs = "base libs"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libpthread-stubs = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn-libpthread-stubs = "10/2009"
+RECIPE_COMMENTS_pn-libpthread-stubs = "0.1: 11/2006, 0.2: 09/2009, 0.3: 10/2009"
+
+RECIPE_STATUS_pn-libusb-compat = "red" # need upgrade
+DEPENDENCY_CHECK_pn-libusb-compat = "not done"
+RECIPE_LATEST_VERSION_pn-libusb-compat = "0.1.3"
+RECIPE_INTEL_SECTION_pn-libusb-compat = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libusb-compat = "1 month"
+RECIPE_LATEST_RELEASE_DATE_pn-libusb-compat = "07/2009"
+RECIPE_COMMENTS_pn-libusb-compat = "possibly conflicts with libusb"
+
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 3ce57d1af..b36eec7e4 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"
RECIPE_LATEST_RELEASE_DATE_pn+prism-firmware = "07/2005"
RECIPE_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?"
+RECIPE_STATUS_pn+base-files = "yellow" # do we need those tewaks for ad-hoc platforms
+DEPENDENCY_CHECK_pn+base-files = "not done"
+RECIPE_LATEST_VERSION_pn+base-files = "3.0.14"
+RECIPE_INTEL_SECTION_pn+base-files = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn+base-files = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn+base-files = "n/a"
+RECIPE_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"
+
+RECIPE_STATUS_pn+base-passwd = "yellow" # do we need those tewaks for ad-hoc platforms
+DEPENDENCY_CHECK_pn+base-passwd = "not done"
+RECIPE_LATEST_VERSION_pn+base-passwd = "3.5.22"
+RECIPE_PATCH_pn+base-passwd+configure = "in upstream now"
+RECIPE_PATCH_pn+base-passwd+nobash = "change /bin/bash to /bin/sh in passwd.master; another specific poky tweak"
+RECIPE_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"
+RECIPE_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"
+RECIPE_INTEL_SECTION_pn+base-passwd = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn+base-passwd = "1 year"
+RECIPE_LATEST_RELEASE_DATE_pn+base-passwd = "09/2009"
+RECIPE_COMMENTS_pn+base-passwd = ""
+
+RECIPE_STATUS_pn+apmd = "green"
+DEPENDENCY_CHECK_pn+apmd = "not done"
+RECIPE_LATEST_VERSION_pn+apmd = "3.2.2-14"
+RECIPE_PATCH_pn+apmd+debian = "unclear"
+RECIPE_PATCH_pn+apmd+workaround = "unclear"
+RECIPE_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?"
+RECIPE_PATCH_pn+apmd+libtool = "added in 3.2.2; 35de05e5; 2008; by RP; to solve compability with libtool 2.2.4. perhaps for upstream"
+RECIPE_INTEL_SECTION_pn+apmd = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn+apmd = "1 year"
+RECIPE_LATEST_RELEASE_DATE_pn+apmd = "07/2009"
+RECIPE_COMMENTS_pn+apmd = ""
+
+RECIPE_STATUS_pn+gperf = "green"
+DEPENDENCY_CHECK_pn+gperf = "not done"
+RECIPE_LATEST_VERSION_pn+gperf = "3.0.4"
+RECIPE_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"
+RECIPE_INTEL_SECTION_pn+gperf = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn+gperf = "2 years"
+RECIPE_LATEST_RELEASE_DATE_pn+gperf = "02/2009"
+RECIPE_COMMENTS_pn+gperf = "3.0.4 is GPLv3, however we only require native version so far"
+
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 4286db648..90ed9d2d6 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"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-curl = "2 months"
RECIPE_LATEST_RELEASE_DATE_pn-curl = "06/2010"
RECIPE_COMMENTS_pn-curl = ""
+
+RECIPE_STATUS_pn-gconf-dbus = "red" # need upgrade
+DEPENDENCY_CHECK_pn-gconf-dbus = "not done"
+RECIPE_LATEST_VERSION_pn-gconf-dbus = "2.16.0"
+RECIPE_INTEL_SECTION_pn-gconf-dbus = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gconf-dbus = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn-gconf-dbus = "n/a"
+RECIPE_COMMENTS_pn-gconf-dbus = "difficult to identify official site and current status"
+
+RECIPE_STATUS_pn-pkgconfig = "red" # need upgrade
+DEPENDENCY_CHECK_pn-pkgconfig = "not done"
+RECIPE_LATEST_VERSION_pn-pkgconfig = "0.25"
+RECIPE_INTEL_SECTION_pn-pkgconfig = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-pkgconfig = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn-pkgconfig = "05/2010"
+RECIPE_COMMENTS_pn-pkgconfig = "git as candidate, 0.23: 01/2008, 0.24: 05/2010, 0.25: 05/2010"
+
+RECIPE_STATUS_pn-less = "green"
+DEPENDENCY_CHECK_pn-less = "done"
+RECIPE_LATEST_VERSION_pn-less = "436"
+RECIPE_INTEL_SECTION_pn-less = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-less = "1 month"
+RECIPE_LATEST_RELEASE_DATE_pn-less = "07/2009"
+RECIPE_COMMENTS_pn-less = "also licensed under less, which is a 2-clause BSD-like permissive license"
+
+RECIPE_STATUS_pn-genext2fs = "red" # need upgrade
+DEPENDENCY_CHECK_pn-genext2fs = "not done"
+RECIPE_LATEST_VERSION_pn-genext2fs = "1.4.1"
+RECIPE_INTEL_SECTION_pn-genext2fs = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-genext2fs = "3 months"
+RECIPE_LATEST_RELEASE_DATE_pn-genext2fs = "04/2007"
+RECIPE_COMMENTS_pn-genext2fs = ""
+
+RECIPE_STATUS_pn-findutils = "red" # need upgrade
+DEPENDENCY_CHECK_pn-findutils = "not done"
+RECIPE_LATEST_VERSION_pn-findutils = "4.4.2"
+RECIPE_INTEL_SECTION_pn-findutils = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-findutils = "2 months"
+RECIPE_LATEST_RELEASE_DATE_pn-findutils = "06/2009"
+RECIPE_COMMENTS_pn-findutils = ""
+
+RECIPE_STATUS_pn-file = "green"
+DEPENDENCY_CHECK_pn-file = "done"
+RECIPE_LATEST_VERSION_pn-file = "5.04"
+RECIPE_PATCH_pn-file+dump = "some new magic data"
+RECIPE_PATCH_pn-file+filesystems = "some other new magic data"
+RECIPE_INTEL_SECTION_pn-file = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-file = "8 months"
+RECIPE_LATEST_RELEASE_DATE_pn-file = "01/2010"
+RECIPE_COMMENTS_pn-file = "2-clause BSD"
+
+RECIPE_STATUS_pn-rsync = "yellow" # missing dependencies
+DEPENDENCY_CHECK_pn-rsync = "done" # can also add acl and attr as dependencies
+RECIPE_LATEST_VERSION_pn-rsync = "3.0.7"
+RECIPE_PATCH_pn-rsync+rsyncd.conf = "init script"
+RECIPE_PATCH_pn-rsync+acinclude.m4 = "custom m4 macros"
+RECIPE_INTEL_SECTION_pn-rsync = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-rsync = "7 months"
+RECIPE_LATEST_RELEASE_DATE_pn-rsync = "12/2009"
+RECIPE_COMMENTS_pn-rsync = ""
+
+RECIPE_STATUS_pn-nfs-utils = "red" # need upgrade
+DEPENDENCY_CHECK_pn-nfs-utils = "not done"
+RECIPE_LATEST_VERSION_pn-nfs-utils = "1.2.2"
+RECIPE_INTEL_SECTION_pn-nfs-utils = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-nfs-utils = "3 months"
+RECIPE_LATEST_RELEASE_DATE_pn-nfs-utils = "02/2010"
+RECIPE_COMMENTS_pn-nfs-utils = ""
+
+RECIPE_STATUS_pn-dropbear = "green"
+DEPENDENCY_CHECK_pn-dropbear = "not done"
+RECIPE_LATEST_VERSION_pn-dropbear = "0.52"
+RECIPE_PATCH_pn-dropbear+urandom-xauth-changes-to-options.h = "xauth path change"
+RECIPE_PATCH_pn-dropbear+configure = "use configure cache value for cross compiling"
+RECIPE_PATCH_pn-dropbear+fix-skb-keys = "enlarge key buffer size"
+RECIPE_PATCH_pn-dropbear+allow-nopw = "allow login with no password, applied on in occasions"
+RECIPE_PATCH_pn-dropbear+init = "init script"
+RECIPE_INTEL_SECTION_pn-dropbear = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-dropbear = "8 months"
+RECIPE_LATEST_RELEASE_DATE_pn-dropbear = "11/2008"
+RECIPE_COMMENTS_pn-dropbear = ""
+
+RECIPE_STATUS_pn-hal = "red" # need upgrade
+DEPENDENCY_CHECK_pn-hal = "not done"
+RECIPE_LATEST_VERSION_pn-hal = "0.5.14"
+RECIPE_INTEL_SECTION_pn-hal = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-hal = "4 months"
+RECIPE_LATEST_RELEASE_DATE_pn-hal = "11/2009"
+RECIPE_COMMENTS_pn-hal = "The licensing is very complicated, Most files are GPLv2+ | AFL \
+with some borrowed code under LGPLv2.1, AFL itself is incompatible with GPL/LGPL"
+
+RECIPE_STATUS_pn-hal-info = "red" # need upgrade
+DEPENDENCY_CHECK_pn-hal-info = "not done"
+RECIPE_LATEST_VERSION_pn-hal-info = "20091130"
+RECIPE_INTEL_SECTION_pn-hal-info = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-hal-info = "4 months"
+RECIPE_LATEST_RELEASE_DATE_pn-hal-info = "11/2009"
+RECIPE_COMMENTS_pn-hal-info = ""
+
+RECIPE_STATUS_pn-avahi = "red" # need upgrade
+DEPENDENCY_CHECK_pn-avahi = "not done"
+RECIPE_LATEST_VERSION_pn-avahi = "0.6.25"
+RECIPE_INTEL_SECTION_pn-avahi = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-avahi = "4 months"
+RECIPE_LATEST_RELEASE_DATE_pn-avahi = "04/2009"
+RECIPE_COMMENTS_pn-avahi = ""
+
+RECIPE_STATUS_pn-js = "yellow" # may not work for platforms other than 32bit x86
+DEPENDENCY_CHECK_pn-js = "not done"
+RECIPE_LATEST_VERSION_pn-js = "1.8.0~rc1"
+RECIPE_PATCH_pn-js+usepic = "get around broken PIC test for cross compiling"
+RECIPE_PATCH_pn-js+link-with-gcc = "use $(CC) instead of $(LD) to link"
+RECIPE_PATCH_pn-js+jsautocfg.h = "architecture specified configurations"
+RECIPE_INTEL_SECTION_pn-js = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-js = "11 months"
+RECIPE_LATEST_RELEASE_DATE_pn-js = "03/2009"
+RECIPE_COMMENTS_pn-js = "1.7.0 is 10/2007, alternative java based packaged called Rhino"
+
+RECIPE_STATUS_pn-pcmciautils = "red" # need upgrade
+DEPENDENCY_CHECK_pn-pcmciautils = "not done"
+RECIPE_LATEST_VERSION_pn-pcmciautils = "017"
+RECIPE_INTEL_SECTION_pn-pcmciautils = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-pcmciautils = "3 months"
+RECIPE_LATEST_RELEASE_DATE_pn-pcmciautils = "01/2010"
+RECIPE_COMMENTS_pn-pcmciautils = ""
+
+RECIPE_STATUS_pn-unzip = "green"
+DEPENDENCY_CHECK_pn-unzip = "not done"
+RECIPE_LATEST_VERSION_pn-unzip = "6.0"
+RECIPE_INTEL_SECTION_pn-unzip = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-unzip = "49 months"
+RECIPE_LATEST_RELEASE_DATE_pn-unzip = "04/2009"
+RECIPE_COMMENTS_pn-unzip = "5.52 has a race condition vulnerability for Unix version"
+
+RECIPE_STATUS_pn-zip = "green"
+DEPENDENCY_CHECK_pn-zip = "not done"
+RECIPE_LATEST_VERSION_pn-zip = "3.0"
+RECIPE_INTEL_SECTION_pn-zip = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-zip = "21 months"
+RECIPE_LATEST_RELEASE_DATE_pn-zip = "09/2009"
+RECIPE_COMMENTS_pn-zip = ""
+
+RECIPE_STATUS_pn-strace = "green"
+DEPENDENCY_CHECK_pn-strace = "not done"
+RECIPE_LATEST_VERSION_pn-strace = "4.5.20"
+RECIPE_INTEL_SECTION_pn-strace = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-strace = "6 months"
+RECIPE_LATEST_RELEASE_DATE_pn-strace = "04/2010"
+RECIPE_COMMENTS_pn-strace = "3-clause BSD"
+
+RECIPE_STATUS_pn-dhcp = "red" # need upgrade
+DEPENDENCY_CHECK_pn-dhcp = "not done"
+RECIPE_LATEST_VERSION_pn-dhcp = "4.1.1-P1"
+RECIPE_INTEL_SECTION_pn-dhcp = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-dhcp = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn-dhcp = "06/2010"
+RECIPE_COMMENTS_pn-dhcp = "several major release, others are 3.1.3, 4.0.2-P1, need to identify"
+
+RECIPE_STATUS_pn-v86d = "yellow" # self written configure
+DEPENDENCY_CHECK_pn-v86d = "not done"
+RECIPE_LATEST_VERSION_pn-v86d = "0.1.9"
+RECIPE_PATCH_pn-v86d+fbsetup = "init script"
+RECIPE_INTEL_SECTION_pn-v86d = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-v86d = "1 month"
+RECIPE_LATEST_RELEASE_DATE_pn-v86d = "10/2008"
+RECIPE_COMMENTS_pn-v86d = "contains code under other licenses"
+
+RECIPE_STATUS_pn-udev = "red" # need upgrade
+DEPENDENCY_CHECK_pn-udev = "not done"
+RECIPE_LATEST_VERSION_pn-udev = "157"
+RECIPE_INTEL_SECTION_pn-udev = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-udev = "<1 month"
+RECIPE_LATEST_RELEASE_DATE_pn-udev = "06/2010"
+RECIPE_COMMENTS_pn-udev = "may need different versions for different kernels"
+
+RECIPE_STATUS_pn-tzdata = "green"
+DEPENDENCY_CHECK_pn-tzdata = "not done"
+RECIPE_LATEST_VERSION_pn-tzdata = "2010j"
+RECIPE_INTEL_SECTION_pn-tzdata = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-tzdata = "1 month"
+RECIPE_LATEST_RELEASE_DATE_pn-tzdata = "05/2010"
+RECIPE_COMMENTS_pn-tzdata = ""
+
+RECIPE_STATUS_pn-tinylogin = "yellow" # replaced, place holder for tracking
+DEPENDENCY_CHECK_pn-tinylogin = "not done"
+RECIPE_LATEST_VERSION_pn-tinylogin = "n/a"
+RECIPE_INTEL_SECTION_pn-tinylogin = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-tinylogin = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn-tinylogin = "n/a"
+RECIPE_COMMENTS_pn-tinylogin = "merged into busybox"
+
+RECIPE_STATUS_pn-spectrum-fw = "red" # need upgrade
+DEPENDENCY_CHECK_pn-spectrum-fw = "not done"
+RECIPE_LATEST_VERSION_pn-spectrum-fw = "n/a"
+RECIPE_INTEL_SECTION_pn-spectrum-fw = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-spectrum-fw = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn-spectrum-fw = "n/a"
+RECIPE_COMMENTS_pn-spectrum-fw = "difficult to identify official site and current status"
+
+RECIPE_STATUS_pn-rpm = "red" # need upgrade
+DEPENDENCY_CHECK_pn-rpm = "not done"
+RECIPE_LATEST_VERSION_pn-rpm = "4.8.0"
+RECIPE_INTEL_SECTION_pn-rpm = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-rpm = "2 months"
+RECIPE_LATEST_RELEASE_DATE_pn-rpm = "01/2010"
+RECIPE_COMMENTS_pn-rpm = "the library alone is under dual license"
+
+RECIPE_STATUS_pn-shared-mime-info = "red" # need upgrade
+DEPENDENCY_CHECK_pn-shared-mime-info = "not done"
+RECIPE_LATEST_VERSION_pn-shared-mime-info = "0.71"
+RECIPE_INTEL_SECTION_pn-shared-mime-info = "base utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-shared-mime-info = "5 months"
+RECIPE_LATEST_RELEASE_DATE_pn-shared-mime-info = "02/2010"
+RECIPE_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 6c4e04627..9f4fda188 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"
RECIPE_NO_OF_PATCHES_pn-wpa-supplicant="0"
RECIPE_LATEST_RELEASE_DATE_pn-wpa-supplicant="2010/04/18"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-wpa-supplicant="3 months"
+
+RECIPE_STATUS_pn-ppp="green"
+RECIPE_LATEST_VERSION_pn-ppp="2.4.5"
+RECIPE_NO_OF_PATCHES_pn-ppp="5"
+RECIPE_LATEST_RELEASE_DATE_pn-ppp="2009/11/17"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-ppp="4 years"
+
+RECIPE_STATUS_pn-libproxy="red" # Need upgrade
+RECIPE_LATEST_VERSION_pn-libproxy="0.4.4"
+RECIPE_NO_OF_PATCHES_pn-libproxy="1"
+RECIPE_LATEST_RELEASE_DATE_pn-libproxy="2010/05/19"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libproxy="3 months"
+
+RECIPE_STATUS_pn-networkmanager="red" # Need upgrade
+RECIPE_LATEST_VERSION_pn-networkmanager="0.8"
+RECIPE_NO_OF_PATCHES_pn-networkmanager="4"
+RECIPE_LATEST_RELEASE_DATE_pn-networkmanager="2010/04/18"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-networkmanager="3 months"
+
+RECIPE_STATUS_pn-networkmanager-applet="red" # Need upgrade
+RECIPE_LATEST_VERSION_pn-networkmanager-applet="n/a"
+RECIPE_NO_OF_PATCHES_pn-networkmanager-applet="4"
+RECIPE_LATEST_RELEASE_DATE_pn-networkmanager-applet="n/a"
+RECIPE_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 eff11faad..145ae2bba 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"
RECIPE_LATEST_RELEASE_DATE_pn-hostap-utils="2008/12/03"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-hostap-utils="7 months"
-
+RECIPE_STATUS_pn-kexec-tools="green"
+RECIPE_LATEST_VERSION_pn-kexec-tools="2.0.1"
+RECIPE_NO_OF_PATCHES_pn-kexec-tools="1"
+RECIPE_LATEST_RELEASE_DATE_pn-kexec-tools="2009/08/12"
+RECIPE_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 a3d8386bd..6a14e4173 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"
RECIPE_NO_OF_PATCHES_pn-speex="0"
RECIPE_LATEST_RELEASE_DATE_pn-speex="2008/07/24"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-speex="8 months"
+
+RECIPE_STATUS_pn-libmusicbrainz="green"
+RECIPE_LATEST_VERSION_pn-libmusicbrainz="3.0.2"
+RECIPE_NO_OF_PATCHES_pn-libmusicbrainz="0"
+RECIPE_LATEST_RELEASE_DATE_pn-libmusicbrainz="2008/09/13"
+RECIPE_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 2bcfdec48..2ef497890 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"
RECIPE_LATEST_RELEASE_DATE_pn-oprofile="2009/11/24"
RECIPE_STATUS_pn-perl="red" # upgrade needed
-RECIPE_LATEST_VERSION_pn-perl="5.13.1"
+RECIPE_LATEST_VERSION_pn-perl="5.12.1"
RECIPE_NO_OF_PATCHES_pn-perl="33"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-perl="3 days"
-RECIPE_LATEST_RELEASE_DATE_pn-perl="2010/05/20"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-perl="1 months"
+RECIPE_LATEST_RELEASE_DATE_pn-perl="2010/05/16"
RECIPE_STATUS_pn-prelink="red" # upgrade needed
-RECIPE_LATEST_VERSION_pn-prelink="20090925"
+RECIPE_LATEST_VERSION_pn-prelink="20100106"
RECIPE_NO_OF_PATCHES_pn-prelink="3"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-prelink="6 months"
-RECIPE_LATEST_RELEASE_DATE_pn-prelink="2009/09/25"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-prelink="2 months"
+RECIPE_LATEST_RELEASE_DATE_pn-prelink="2010/01/06"
RECIPE_STATUS_pn-python-dbus="red" # upgrade needed
RECIPE_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 9401ab487..ce668fd66 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"
RECIPE_LATEST_RELEASE_DATE_pn-xrestop = "03/2006"
RECIPE_COMMENTS_pn-xrestop = ""
+RECIPE_STATUS_pn-pcmanfm = "yellow" # update needed
+DEPENDENCY_CHECK_pn-pcmanfm = "not done"
+RECIPE_LATEST_VERSION_pn-pcmanfm = "0.9.7"
+RECIPE_NO_OF_PATCHES_pn-pcmanfm = "4"
+RECIPE_INTEL_SECTION_pn-pcmanfm = "graphic apps"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-pcmanfm = "4 months"
+RECIPE_LATEST_RELEASE_DATE_pn-pcmanfm = "05/2010"
+RECIPE_COMMENTS_pn-pcmanfm = ""
+
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 a26696fc4..8222e5d14 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"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xwininfo="1 year"
RECIPE_LATEST_RELEASE_DATE_pn-xwininfo="2009/10/12"
RECIPE_INTEL_SECTION_pn-xwininfo="graphic app"
+
+RECIPE_STATUS_pn-xrandr="green" # no update needed
+RECIPE_LATEST_VERSION_pn-xrandr="1.3.2"
+RECIPE_NO_OF_PATCHES_pn-xrandr="0"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xrandr="1 month"
+RECIPE_LATEST_RELEASE_DATE_pn-xrandr="2009/09/10"
+RECIPE_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 2ec9d5481..58eee3421 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"
RECIPE_LATEST_RELEASE_DATE_pn-libdrm="2010/06/10"
RECIPE_INTEL_SECTION_pn-libdrm="graphic core"
-RECIPE_STATUS_pn-python-pycairo="red" # upgrade needed. src file name changed to py2cairo
+RECIPE_STATUS_pn-python-pycairo="green" # no upgrade needed
RECIPE_LATEST_VERSION_pn-python-pycairo="1.8.10"
RECIPE_NO_OF_PATCHES_pn-python-pycairo="0"
RECIPE_LATEST_RELEASE_DATE_pn-python-pycairo="2010/05/20"
@@ -70,3 +70,45 @@ RECIPE_NO_OF_PATCHES_pn-libxfontcache="0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxfontcache="3 years"
RECIPE_LATEST_RELEASE_DATE_pn-libxfontcache="2009/10/08"
RECIPE_INTEL_SECTION_pn-libxfontcache="graphic core"
+
+RECIPE_STATUS_pn-xf86-input-evdev="green" # no update needed
+RECIPE_LATEST_VERSION_pn-xf86-input-evdev="2.4.0"
+RECIPE_NO_OF_PATCHES_pn-xf86-input-evdev="0"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xf86-input-evdev="1 monthes"
+RECIPE_LATEST_RELEASE_DATE_pn-xf86-input-evdev="2010/04/06"
+RECIPE_INTEL_SECTION_pn-xf86-input-evdev="graphic core"
+
+RECIPE_STATUS_pn-xf86-video-vmware="green" # no update needed
+RECIPE_LATEST_VERSION_pn-xf86-video-vmware="11.0.1"
+RECIPE_NO_OF_PATCHES_pn-xf86-video-vmware="0"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xf86-video-vmware="2 monthes"
+RECIPE_LATEST_RELEASE_DATE_pn-xf86-video-vmware="2010/03/18"
+RECIPE_INTEL_SECTION_pn-xf86-video-vmware="graphic core"
+
+RECIPE_STATUS_pn-cairo="green" # no update needed
+RECIPE_LATEST_VERSION_pn-cairo="1.9.10"
+RECIPE_NO_OF_PATCHES_pn-cairo="1"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-cairo="1 monthes"
+RECIPE_LATEST_RELEASE_DATE_pn-cairo="2010/02/20"
+RECIPE_INTEL_SECTION_pn-cairo="graphic core"
+
+RECIPE_STATUS_pn-xserver-nodm-init="green" # no update needed
+RECIPE_LATEST_VERSION_pn-xserver-nodm-init="0" # local patch
+RECIPE_NO_OF_PATCHES_pn-xserver-nodm-init="0"
+#RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xserver-nodm-init=""
+#RECIPE_LATEST_RELEASE_DATE_pn-xserver-nodm-init=""
+RECIPE_INTEL_SECTION_pn-xserver-nodm-init="graphic core"
+
+RECIPE_STATUS_pn-xserver-xf86-config="green" # no update needed
+RECIPE_LATEST_VERSION_pn-xserver-xf86-config="0.1" # local patch
+RECIPE_NO_OF_PATCHES_pn-xserver-xf86-config="0"
+#RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xserver-xf86-config=""
+#RECIPE_LATEST_RELEASE_DATE_pn-xserver-xf86-config=""
+RECIPE_INTEL_SECTION_pn-xserver-xf86-config="graphic core"
+
+RECIPE_STATUS_pn-pango="green" # no update needed
+RECIPE_LATEST_VERSION_pn-pango="1.28.0"
+RECIPE_NO_OF_PATCHES_pn-pango="1"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-pango="1 month"
+RECIPE_LATEST_RELEASE_DATE_pn-pango="2010/03/10"
+RECIPE_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 1142c1d73..3fbc582f6 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"
RECIPE_LATEST_RELEASE_DATE_pn-libxmu = "09/2009"
RECIPE_COMMENTS_pn-libxmu = ""
+RECIPE_STATUS_pn-libpciaccess = "green"
+DEPENDENCY_CHECK_pn-libpciaccess = "not done"
+RECIPE_LATEST_VERSION_pn-libpciaccess = "0.11.0"
+RECIPE_NO_OF_PATCHES_pn-libpciaccess = "0"
+RECIPE_INTEL_SECTION_pn-libpciaccess = "x11/libs"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libpciaccess = "1+ years"
+RECIPE_LATEST_RELEASE_DATE_pn-libpciaccess = "12/2009"
+RECIPE_COMMENTS_pn-libpciaccess = ""
+
+RECIPE_STATUS_pn-xkeyboard-config = "green"
+DEPENDENCY_CHECK_pn-xkeyboard-config = "not done"
+RECIPE_LATEST_VERSION_pn-xkeyboard-config = "1.9"
+RECIPE_NO_OF_PATCHES_pn-xkeyboard-config = "0"
+RECIPE_INTEL_SECTION_pn-xkeyboard-config = "x11/libs"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xkeyboard-config = "4 months"
+RECIPE_LATEST_RELEASE_DATE_pn-xkeyboard-config = "05/2010"
+RECIPE_COMMENTS_pn-xkeyboard-config = ""
+
+RECIPE_STATUS_pn-util-macros = "green"
+DEPENDENCY_CHECK_pn-util-macros = "not done"
+RECIPE_LATEST_VERSION_pn-util-macros = "1.10.0"
+RECIPE_NO_OF_PATCHES_pn-util-macros = "1"
+RECIPE_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"
+RECIPE_INTEL_SECTION_pn-util-macros = "x11/utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-util-macros = "2 days"
+RECIPE_LATEST_RELEASE_DATE_pn-util-macros = "06/2010"
+RECIPE_COMMENTS_pn-util-macros = ""
+
+RECIPE_STATUS_pn-fontconfig = "green"
+DEPENDENCY_CHECK_pn-fontconfig = "not done"
+RECIPE_LATEST_VERSION_pn-fontconfig = "2.8.0"
+RECIPE_NO_OF_PATCHES_pn-fontconfig = "1"
+RECIPE_PATCH_pn-fontconfig+fix-pkgconfig = "an one-line patch; fix the linkage to freetype in fontconfig.pc.in"
+RECIPE_INTEL_SECTION_pn-fontconfig = "x11/libs"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-fontconfig = "2 months"
+RECIPE_LATEST_RELEASE_DATE_pn-fontconfig = "11/2009"
+RECIPE_COMMENTS_pn-fontconfig = ""
+
+RECIPE_STATUS_pn-freetype = "green"
+DEPENDENCY_CHECK_pn-freetype = "not done"
+RECIPE_LATEST_VERSION_pn-freetype = "2.3.12"
+RECIPE_NO_OF_PATCHES_pn-freetype = "2"
+RECIPE_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"
+RECIPE_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"
+RECIPE_INTEL_SECTION_pn-freetype = "libs"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-freetype = "4 months"
+RECIPE_LATEST_RELEASE_DATE_pn-freetype = "02/2010"
+RECIPE_COMMENTS_pn-freetype = ""
+
+RECIPE_STATUS_pn-librsvg = "green"
+DEPENDENCY_CHECK_pn-librsvg = "not done"
+RECIPE_LATEST_VERSION_pn-librsvg = "2.26.3"
+RECIPE_NO_OF_PATCHES_pn-librsvg = "0"
+RECIPE_INTEL_SECTION_pn-librsvg = "x11/utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-librsvg = "10 months"
+RECIPE_LATEST_RELEASE_DATE_pn-librsvg = "05/2010"
+RECIPE_COMMENTS_pn-librsvg = ""
+
diff --git a/meta/conf/distro/include/private/distro_x11_ux.inc b/meta/conf/distro/include/private/distro_x11_ux.inc
index 8a88de428..573577d34 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"
RECIPE_LATEST_RELEASE_DATE_pn-atk = "03/2010"
RECIPE_COMMENTS_pn-atk = ""
+RECIPE_STATUS_pn-gtk+ = "yellow" # update needed
+DEPENDENCY_CHECK_pn-gtk+ = "not done"
+RECIPE_LATEST_VERSION_pn-gtk+ = "2.20.1"
+RECIPE_NO_OF_PATCHES_pn-gtk+ = "0"
+RECIPE_INTEL_SECTION_pn-gtk+ = "graphic UX"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gtk+ = "2 months"
+RECIPE_LATEST_RELEASE_DATE_pn-gtk+ = "05/2010"
+RECIPE_COMMENTS_pn-gtk+ = ""
+
+RECIPE_STATUS_pn-gnome-common = "yellow" # update needed
+DEPENDENCY_CHECK_pn-gnome-common = "not done"
+RECIPE_LATEST_VERSION_pn-gnome-common = "2.28.0"
+RECIPE_NO_OF_PATCHES_pn-gnome-common = "0"
+RECIPE_INTEL_SECTION_pn-gnome-common = "graphic UX"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gnome-common = "6 months"
+RECIPE_LATEST_RELEASE_DATE_pn-gnome-common = "09/2009"
+RECIPE_COMMENTS_pn-gnome-common = ""
+
+RECIPE_STATUS_pn-webkit-gtk = "yellow" # update needed
+DEPENDENCY_CHECK_pn-webkit-gtk = "not done"
+RECIPE_LATEST_VERSION_pn-webkit-gtk = "1.2.1"
+RECIPE_NO_OF_PATCHES_pn-webkit-gtk = "0"
+RECIPE_INTEL_SECTION_pn-webkit-gtk = "graphic UX"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-webkit-gtk = "1 month"
+RECIPE_LATEST_RELEASE_DATE_pn-webkit-gtk = "06/2010"
+RECIPE_COMMENTS_pn-webkit-gtk = ""
+
+RECIPE_STATUS_pn-eds-dbus = "yellow" # update needed; custome configure
+DEPENDENCY_CHECK_pn-eds-dbus = "not done"
+RECIPE_LATEST_VERSION_pn-eds-dbus = "2.31.4"
+RECIPE_NO_OF_PATCHES_pn-eds-dbus = "0"
+RECIPE_INTEL_SECTION_pn-eds-dbus = "graphic UX"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-eds-dbus = "1 month"
+RECIPE_LATEST_RELEASE_DATE_pn-eds-dbus = "06/2010"
+RECIPE_COMMENTS_pn-eds-dbus = ""
+
+RECIPE_STATUS_pn-gnome-keyring = "yellow" # update needed
+DEPENDENCY_CHECK_pn-gnome-keyring = "not done"
+RECIPE_LATEST_VERSION_pn-gnome-keyring = "2.31.4"
+RECIPE_NO_OF_PATCHES_pn-gnome-keyring = "0"
+RECIPE_INTEL_SECTION_pn-gnome-keyring = "graphic UX"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gnome-keyring = "1 month"
+RECIPE_LATEST_RELEASE_DATE_pn-gnome-keyring = "06/2010"
+RECIPE_COMMENTS_pn-gnome-keyring = ""
+
+RECIPE_STATUS_pn-gtk-sato-engine = "yellow" # update needed
+DEPENDENCY_CHECK_pn-gtk-sato-engine = "not done"
+RECIPE_LATEST_VERSION_pn-gtk-sato-engine = "0.3.2"
+RECIPE_NO_OF_PATCHES_pn-gtk-sato-engine = "0"
+RECIPE_INTEL_SECTION_pn-gtk-sato-engine = "graphic UX"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gtk-sato-engine = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn-gtk-sato-engine = "02/2008"
+RECIPE_COMMENTS_pn-gtk-sato-engine = ""
+
+RECIPE_STATUS_pn-hicolor-icon-theme = "yellow" # update needed
+DEPENDENCY_CHECK_pn-hicolor-icon-theme = "not done"
+RECIPE_LATEST_VERSION_pn-hicolor-icon-theme = "0.12"
+RECIPE_NO_OF_PATCHES_pn-hicolor-icon-theme = "0"
+RECIPE_INTEL_SECTION_pn-hicolor-icon-theme = "graphic UX"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-hicolor-icon-theme = "4 months"
+RECIPE_LATEST_RELEASE_DATE_pn-hicolor-icon-theme = "09/2009"
+RECIPE_COMMENTS_pn-hicolor-icon-theme = ""
+
+RECIPE_STATUS_pn-jpeg = "yellow" # update needed
+DEPENDENCY_CHECK_pn-jpeg = "not done"
+RECIPE_LATEST_VERSION_pn-jpeg = "8b"
+RECIPE_NO_OF_PATCHES_pn-jpeg = "0"
+RECIPE_INTEL_SECTION_pn-jpeg = "graphic UX"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-jpeg = "12 months"
+RECIPE_LATEST_RELEASE_DATE_pn-jpeg = "05/2010"
+RECIPE_COMMENTS_pn-jpeg = ""
+
+RECIPE_STATUS_pn-libfakekey = "green" # no update needed
+DEPENDENCY_CHECK_pn-libfakekey = "not done"
+RECIPE_LATEST_VERSION_pn-libfakekey = "0.2"
+RECIPE_NO_OF_PATCHES_pn-libfakekey = "0"
+RECIPE_INTEL_SECTION_pn-libfakekey = "graphic UX"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libfakekey = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn-libfakekey = "07/2006"
+RECIPE_COMMENTS_pn-libfakekey = ""
+
+RECIPE_STATUS_pn-libglade = "yellow" # update needed
+DEPENDENCY_CHECK_pn-libglade = "not done"
+RECIPE_LATEST_VERSION_pn-libglade = "2.6.4"
+RECIPE_NO_OF_PATCHES_pn-libglade = "0"
+RECIPE_INTEL_SECTION_pn-libglade = "graphic UX"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libglade = "7 months"
+RECIPE_LATEST_RELEASE_DATE_pn-libglade = "03/2009"
+RECIPE_COMMENTS_pn-libglade = ""
+
+RECIPE_STATUS_pn-libsoup-2.4 = "yellow" # update needed
+DEPENDENCY_CHECK_pn-libsoup-2.4 = "not done"
+RECIPE_LATEST_VERSION_pn-libsoup-2.4 = "2.31.2"
+RECIPE_NO_OF_PATCHES_pn-libsoup-2.4 = "0"
+RECIPE_INTEL_SECTION_pn-libsoup-2.4 = "graphic UX"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libsoup-2.4 = "1 month"
+RECIPE_LATEST_RELEASE_DATE_pn-libsoup-2.4 = "05/2010"
+RECIPE_COMMENTS_pn-libsoup-2.4 = ""
+
+RECIPE_STATUS_pn-libxslt = "yellow" # update needed
+DEPENDENCY_CHECK_pn-libxslt = "not done"
+RECIPE_LATEST_VERSION_pn-libxslt = "1.1.26"
+RECIPE_NO_OF_PATCHES_pn-libxslt = "0"
+RECIPE_INTEL_SECTION_pn-libxslt = "graphic UX"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxslt = "1 month"
+RECIPE_LATEST_RELEASE_DATE_pn-libxslt = "09/2009"
+RECIPE_COMMENTS_pn-libxslt = ""
+
+RECIPE_STATUS_pn-matchbox-config-gtk = "yellow" # update needed
+DEPENDENCY_CHECK_pn-matchbox-config-gtk = "not done"
+RECIPE_LATEST_VERSION_pn-matchbox-config-gtk = "2081"
+RECIPE_NO_OF_PATCHES_pn-matchbox-config-gtk = "0"
+RECIPE_INTEL_SECTION_pn-matchbox-config-gtk = "graphic UX"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-matchbox-config-gtk = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn-matchbox-config-gtk = "09/2008"
+RECIPE_COMMENTS_pn-matchbox-config-gtk = ""
+
+RECIPE_STATUS_pn-matchbox-keyboard = "yellow" # update needed
+DEPENDENCY_CHECK_pn-matchbox-keyboard = "not done"
+RECIPE_LATEST_VERSION_pn-matchbox-keyboard = "2075"
+RECIPE_NO_OF_PATCHES_pn-matchbox-keyboard = "0"
+RECIPE_INTEL_SECTION_pn-matchbox-keyboard = "graphic UX"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-matchbox-keyboard = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn-matchbox-keyboard = "09/2008"
+RECIPE_COMMENTS_pn-matchbox-keyboard = ""
+
+RECIPE_STATUS_pn-matchbox-panel-2 = "yellow" # update needed
+DEPENDENCY_CHECK_pn-matchbox-panel-2 = "not done"
+RECIPE_LATEST_VERSION_pn-matchbox-panel-2 = "2109"
+RECIPE_NO_OF_PATCHES_pn-matchbox-panel-2 = "0"
+RECIPE_INTEL_SECTION_pn-matchbox-panel-2 = "graphic UX"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-matchbox-panel-2 = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn-matchbox-panel-2 = "04/2010"
+RECIPE_COMMENTS_pn-matchbox-panel-2 = ""
+
+RECIPE_STATUS_pn-matchbox-stroke = "yellow" # update needed
+DEPENDENCY_CHECK_pn-matchbox-stroke = "not done"
+RECIPE_LATEST_VERSION_pn-matchbox-stroke = "1820"
+RECIPE_NO_OF_PATCHES_pn-matchbox-stroke = "0"
+RECIPE_INTEL_SECTION_pn-matchbox-stroke = "graphic UX"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-matchbox-stroke = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn-matchbox-stroke = "11/2007"
+RECIPE_COMMENTS_pn-matchbox-stroke = ""
+
+RECIPE_STATUS_pn-matchbox-wm = "yellow" # update needed
+DEPENDENCY_CHECK_pn-matchbox-wm = "not done"
+RECIPE_LATEST_VERSION_pn-matchbox-wm = "1819"
+RECIPE_NO_OF_PATCHES_pn-matchbox-wm = "0"
+RECIPE_INTEL_SECTION_pn-matchbox-wm = "graphic UX"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-matchbox-wm = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn-matchbox-wm = "11/2007"
+RECIPE_COMMENTS_pn-matchbox-wm = ""
+
diff --git a/meta/conf/distro/poky.conf b/meta/conf/distro/poky.conf
index 57231fd6e..951e156c2 100644
--- a/meta/conf/distro/poky.conf
+++ b/meta/conf/distro/poky.conf
@@ -58,8 +58,8 @@ require conf/distro/include/poky-${POKYMODE}.inc
POKYLIBC ?= "glibc"
require conf/distro/include/poky-${POKYLIBC}.inc
-SDK_NAME = "${DISTRO}-${POKYMODE}-${POKYLIBC}-${SDK_ARCH}-${TARGET_ARCH}"
-SDKPATH = "/usr/local/${DISTRO}/${POKYMODE}-${POKYLIBC}"
+SDK_NAME = "${DISTRO}-${POKYLIBC}-${SDK_ARCH}-${TARGET_ARCH}"
+SDKPATH = "/opt/${DISTRO}"
CACHE = "${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))]}"
diff --git a/meta/conf/machine/igep0020.conf b/meta/conf/machine/igep0020.conf
index aa7afb7df..9ddbad65b 100644
--- a/meta/conf/machine/igep0020.conf
+++ b/meta/conf/machine/igep0020.conf
@@ -4,6 +4,9 @@
TARGET_ARCH = "arm"
PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6 armv7 armv7a"
+# Floating point option
+TARGET_FPU_arm = "hard"
+
PREFERRED_PROVIDER_virtual/xserver = "xserver-xf86-lite"
XSERVER = "xserver-xf86-lite \
xf86-input-evdev \
@@ -16,7 +19,7 @@ XSERVER = "xserver-xf86-lite \
GUI_MACHINE_CLASS = "bigscreen"
#Ship all kernel modules till the board support has matured enough
-MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
+MACHINE_EXTRA_RRECOMMENDS = " kernel-modules linux-firmware-sd8686"
include conf/machine/include/tune-cortexa8.inc
@@ -26,7 +29,7 @@ EXTRA_IMAGECMD_jffs2 = "-lnp "
# Guesswork
SERIAL_CONSOLE = "115200 ttyS2"
-PREFERRED_PROVIDER_virtual/kernel = "linux-igep2"
+PREFERRED_PROVIDER_virtual/kernel = "linux-igep"
KERNEL_IMAGETYPE = "uImage"
diff --git a/meta/conf/machine/igep0030.conf b/meta/conf/machine/igep0030.conf
new file mode 100644
index 000000000..7ebfaa0ca
--- /dev/null
+++ b/meta/conf/machine/igep0030.conf
@@ -0,0 +1,41 @@
+#@TYPE: Machine
+#@NAME: OMAP3 IGEP module
+#@DESCRIPTION: Machine configuration for the OMAP3 IGEP module (http://www.myigep.com)
+TARGET_ARCH = "arm"
+PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6 armv7 armv7a"
+
+# Floating point option
+TARGET_FPU_arm = "hard"
+
+PREFERRED_PROVIDER_virtual/xserver = "xserver-xf86-lite"
+XSERVER = "xserver-xf86-lite \
+ xf86-input-evdev \
+ xf86-input-mouse \
+ xf86-input-keyboard \
+ xf86-video-omapfb"
+
+
+# Only has DVI connector for external screen
+GUI_MACHINE_CLASS = "bigscreen"
+
+#Ship all kernel modules till the board support has matured enough
+MACHINE_EXTRA_RRECOMMENDS = " kernel-modules linux-firmware-sd8686"
+
+include conf/machine/include/tune-cortexa8.inc
+
+IMAGE_FSTYPES += "cpio ext3 jffs2"
+EXTRA_IMAGECMD_jffs2 = "-lnp "
+
+# Guesswork
+SERIAL_CONSOLE = "115200 ttyS2"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-igep"
+
+KERNEL_IMAGETYPE = "uImage"
+
+UBOOT_ENTRYPOINT = "0x80008000"
+UBOOT_LOADADDRESS = "0x80008000"
+
+MACHINE_FEATURES = "kernel26 apm alsa bluetooth usbgadget usbhost vfat wifi"
+
+# 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 288413f8d..821f0855f 100644
--- a/meta/packages/apmd/apmd_3.2.2.bb
+++ b/meta/packages/apmd/apmd_3.2.2.bb
@@ -1,15 +1,15 @@
DESCRIPTION = "Set of tools for managing notebook power consumption."
SECTION = "base"
PRIORITY = "required"
+LICENSE = "GPLv2+"
DEPENDS = "libtool-cross"
-LICENSE = "GPL"
PR = "r13"
SRC_URI = "${DEBIAN_MIRROR}/main/a/apmd/apmd_${PV}.orig.tar.gz \
- file://debian.patch;patch=1 \
- file://workaround.patch;patch=1 \
- file://unlinux.patch;patch=1 \
- file://libtool.patch;patch=1 \
+ file://debian.patch \
+ file://workaround.patch \
+ file://unlinux.patch \
+ file://libtool.patch \
file://init \
file://default \
file://apmd_proxy \
diff --git a/meta/packages/avahi/avahi.inc b/meta/packages/avahi/avahi.inc
index fdc234dc8..4e2949319 100644
--- a/meta/packages/avahi/avahi.inc
+++ b/meta/packages/avahi/avahi.inc
@@ -1,9 +1,14 @@
DESCRIPTION = "Avahi implements the DNS-SD over Multicast DNS"
AUTHOR = "Lennart Poettering <lennart@poettering.net>"
HOMEPAGE = "http://avahi.org"
+BUGTRACKER = "http://avahi.org/report"
SECTION = "network"
PRIORITY = "optional"
-LICENSE = "GPL"
+
+# major part is under LGPLv2.1+, but several .dtd, .xsl, initscripts and
+# python scripts are under GPLv2+
+LICENSE = "GPLv2+ & LGPLv2.1+"
+
DEPENDS = "expat libdaemon dbus glib-2.0 gtk+ libglade"
RRECOMMENDS = "libnss-mdns"
RRECOMMENDS_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 ba61a1cef..a8f092db0 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"
PR = "r64"
LICENSE = "GPLv2"
-SRC_URI = " \
- file://rotation \
+SRC_URI = "file://rotation \
file://nsswitch.conf \
file://motd \
file://inputrc \
@@ -27,32 +26,32 @@ SRC_URI = " \
file://licenses/LGPL-2.1 \
file://licenses/LGPL-3 \
file://licenses/GFDL-1.2 \
- file://licenses/Artistic "
+ file://licenses/Artistic"
S = "${WORKDIR}"
docdir_append = "/${P}"
dirs1777 = "/tmp ${localstatedir}/volatile/lock ${localstatedir}/volatile/tmp"
dirs2775 = "/home ${prefix}/src ${localstatedir}/local"
dirs755 = "/bin /boot /dev ${sysconfdir} ${sysconfdir}/default \
- ${sysconfdir}/skel /lib /mnt /proc /home/root /sbin \
- ${prefix} ${bindir} ${docdir} /usr/games ${includedir} \
- ${libdir} ${sbindir} ${datadir} \
- ${datadir}/common-licenses ${datadir}/dict ${infodir} \
- ${mandir} ${datadir}/misc ${localstatedir} \
- ${localstatedir}/backups ${localstatedir}/lib \
- /sys ${localstatedir}/lib/misc ${localstatedir}/spool \
- ${localstatedir}/volatile ${localstatedir}/volatile/cache \
- ${localstatedir}/volatile/lock/subsys \
- ${localstatedir}/volatile/log \
- ${localstatedir}/volatile/run \
- /mnt /media /media/card /media/cf /media/net /media/ram \
- /media/union /media/realroot /media/hdd \
- /media/mmc1"
+ ${sysconfdir}/skel /lib /mnt /proc /home/root /sbin \
+ ${prefix} ${bindir} ${docdir} /usr/games ${includedir} \
+ ${libdir} ${sbindir} ${datadir} \
+ ${datadir}/common-licenses ${datadir}/dict ${infodir} \
+ ${mandir} ${datadir}/misc ${localstatedir} \
+ ${localstatedir}/backups ${localstatedir}/lib \
+ /sys ${localstatedir}/lib/misc ${localstatedir}/spool \
+ ${localstatedir}/volatile ${localstatedir}/volatile/cache \
+ ${localstatedir}/volatile/lock/subsys \
+ ${localstatedir}/volatile/log \
+ ${localstatedir}/volatile/run \
+ /mnt /media /media/card /media/cf /media/net /media/ram \
+ /media/union /media/realroot /media/hdd \
+ /media/mmc1"
volatiles = "cache run log lock tmp"
conffiles = "${sysconfdir}/debian_version ${sysconfdir}/host.conf \
- ${sysconfdir}/inputrc ${sysconfdir}/issue /${sysconfdir}/issue.net \
- ${sysconfdir}/nsswitch.conf ${sysconfdir}/profile \
- ${sysconfdir}/default"
+ ${sysconfdir}/inputrc ${sysconfdir}/issue /${sysconfdir}/issue.net \
+ ${sysconfdir}/nsswitch.conf ${sysconfdir}/profile \
+ ${sysconfdir}/default"
#
# 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 051b8d6a3..46333ebd5 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 @@
DESCRIPTION = "Base system password/group files."
SECTION = "base"
PR = "r2"
-LICENSE = "GPL"
+LICENSE = "GPLv2+"
SRC_URI = "${DEBIAN_MIRROR}/main/b/base-passwd/base-passwd_${PV}.tar.gz \
- file://configure.patch;patch=1 \
- file://nobash.patch;patch=1 \
- file://root-home.patch;patch=1 \
- file://mysql.patch;patch=1"
+ file://configure.patch \
+ file://nobash.patch \
+ file://root-home.patch \
+ file://mysql.patch"
S = "${WORKDIR}/base-passwd"
inherit autotools
-FILES_${PN}-doc += "${docdir}"
-
do_install () {
install -d -m 755 ${D}${sbindir}
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 c737f172b..000000000
--- a/meta/packages/busybox/busybox-1.15.3/0000-wget-no-check-certificate.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/networking/wget.c b/networking/wget.c
-index 9d813dc..09edd67 100644
---- a/networking/wget.c
-+++ b/networking/wget.c
-@@ -546,6 +546,7 @@ int wget_main(int argc UNUSED_PARAM, char **argv)
- "passive-ftp\0" No_argument "\xff"
- "header\0" Required_argument "\xfe"
- "post-data\0" Required_argument "\xfd"
-+ "no-check-certificate\0" No_argument "\xfc"
- ;
- #endif
-
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 5c791271e..000000000
--- a/meta/packages/busybox/busybox-1.15.3/ash_fix_redirection_of_fd_0.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Fix redirection of fd 0 in scripts sourced from interactive ash
-
-Based on Busybox git 08d8b3cee1329d390f91bce419e2b4dadf484952 by
-Denys Vlasenko <vda.linux@googlemail.com>.
-
-Can be removed when we bump to 1.16.1 + patches or later
-
-JL 03/06/10
-Index: busybox-1.15.3/shell/ash.c
-===================================================================
---- busybox-1.15.3.orig/shell/ash.c 2009-12-12 21:16:38.000000000 +0000
-+++ busybox-1.15.3/shell/ash.c 2010-06-03 09:44:59.484647637 +0100
-@@ -5071,7 +5071,7 @@
- return 0;
- pf = g_parsefile;
- while (pf) {
-- if (fd == pf->fd) {
-+ if (pf->fd > 0 && fd == pf->fd) {
- return 1;
- }
- 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 633153f1c..000000000
--- a/meta/packages/busybox/busybox-1.15.3/fdisk_lineedit_segfault.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- old/libbb/lineedit.c 2008/09/27 01:28:56 23530
-+++ new/libbb/lineedit.c 2008/11/02 00:41:05 23898
-@@ -1412,7 +1412,8 @@
- if ((state->flags & SAVE_HISTORY) && state->hist_file)
- load_history(state->hist_file);
- #endif
-- state->cur_history = state->cnt_history;
-+ if (state->flags & DO_HISTORY)
-+ state->cur_history = state->cnt_history;
-
- /* prepare before init handlers */
- 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 544f41b25..000000000
--- a/meta/packages/busybox/busybox-1.15.3/fix
+++ /dev/null
@@ -1,31 +0,0 @@
----
- util-linux/mdev.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- busybox-1.13.2.orig/util-linux/mdev.c
-+++ busybox-1.13.2/util-linux/mdev.c
-@@ -107,11 +107,11 @@ static void make_device(char *path, int
-
- #if ENABLE_FEATURE_MDEV_CONF
- parser = config_open2("/etc/mdev.conf", fopen_for_read);
-
- /* If we have config file, look up user settings */
-- while (config_read(parser, tokens, 4, 3, "# \t", PARSE_NORMAL)) {
-+ while (config_read(parser, tokens, 5, 3, "# \t", PARSE_NORMAL)) {
- regmatch_t off[1 + 9*ENABLE_FEATURE_MDEV_RENAME_REGEXP];
- char *val;
-
- /* Fields: regex uid:gid mode [alias] [cmd] */
-
-@@ -211,10 +211,11 @@ static void make_device(char *path, int
- }
- #endif /* ENABLE_FEATURE_MDEV_RENAME */
-
- #if ENABLE_FEATURE_MDEV_EXEC
- /* The rest (opt): command to run */
-+ val = tokens[4];
- if (!val)
- break;
- {
- const char *s = "@$*";
- 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 e3e80befc..000000000
--- a/meta/packages/busybox/busybox-1.15.3/r24785.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- busybox/util-linux/mdev.c 2009/01/08 17:19:01 24725
-+++ busybox/util-linux/mdev.c 2009/01/12 07:57:52 24785
-@@ -179,8 +179,9 @@
- unsigned i, n;
- #endif
- char *a = val;
-- s = strchr(val, ' ');
-- val = (s && s[1]) ? s+1 : NULL;
-+ s = strchrnul(val, ' ');
-+ val = (s[0] && s[1]) ? s+1 : NULL;
-+ s[0] = '\0';
- #if ENABLE_FEATURE_MDEV_RENAME_REGEXP
- /* substitute %1..9 with off[1..9], if any */
- 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 df64554ff..000000000
--- a/meta/packages/busybox/busybox-1.15.3/xargs-double-size.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- busybox-1.2.1/findutils/xargs.c.org 2006-09-19 18:18:17.084592997 +0200
-+++ busybox-1.2.1/findutils/xargs.c 2006-09-19 18:18:09.820275793 +0200
-@@ -466,8 +466,8 @@
- have it at 1 meg). Things will work fine with a large ARG_MAX but it
- will probably hurt the system more than it needs to; an array of this
- size is allocated. */
-- if (orig_arg_max > 20 * 1024)
-- orig_arg_max = 20 * 1024;
-+ if (orig_arg_max > 40 * 1024)
-+ orig_arg_max = 40 * 1024;
- n_max_chars = orig_arg_max;
- }
- 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 61cc32b0e..803dc411d 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 @@
+# copy commit message from OE as the patch comment:
+# commit 5b1ed09b1ab1a60a28a76e4658bc9957cd361b5d
+# Author: Valentin Longchamp <valentin.longchamp@epfl.ch>
+# Date: Mon Dec 8 14:43:23 2008 +0100
+
+# busybox: added support for 921600 speed of serial line
+#
+# above comment added by Kevin Tian <kevin.tian@intel.com>, 2010-07-06
+
diff -upNr busybox-1.7.2/libbb/speed_table.c busybox-1.7.2-921600/libbb/speed_table.c
--- busybox-1.7.2/libbb/speed_table.c 2007-09-03 13:48:41.000000000 +0200
+++ 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 000000000..041aa6c54
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.16.2/busybox-appletlib-dependency.patch
@@ -0,0 +1,35 @@
+# copy commit message from OE as the patch comment:
+# commit 98c24291aa165f53423c27ae033831ce0b3bb676
+# Author: Roman I Khimov <khimov@altell.ru>
+# Date: Thu Mar 26 23:03:58 2009 +0000
+#
+# busybox: update appletlib dependency patch
+#
+# Previous version still failed from time to time on clean-start builds
+# with 4 bitbake threads and '-j16'. Building busybox as sole target worked
+# well.
+#
+# The reason is that previous version introduced a race between applets make
+# processes spawned from top-level Makefile and from libbb Makefile.
+#
+# Fix it with high-level dependency that doesn't create races.
+#
+# Signed-off-by: Koen Kooi <koen@openembedded.org>
+#
+# above comment added by Kevin Tian <kevin.tian@intel.com>, 2010-07-06
+
+Index: busybox-1.13.2/Makefile
+===================================================================
+--- busybox-1.13.2.orig/Makefile 2009-03-19 15:44:37.419270265 +0300
++++ busybox-1.13.2/Makefile 2009-03-19 15:45:57.737521296 +0300
+@@ -471,6 +471,10 @@
+ util-linux/ \
+ util-linux/volume_id/ \
+
++# Lib interdeps
++# libbb uses headers generated in applets
++libbb: applets
++
+ endif # KBUILD_EXTMOD
+
+ 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 c347c80d5..431da94dd 100644
--- a/meta/packages/busybox/busybox-1.15.3/defconfig
+++ b/meta/packages/busybox/busybox-1.16.2/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Busybox version: 1.15.3
-# Tue Jun 1 14:34:32 2010
+# Busybox version: 1.16.2
+# Tue Jul 6 14:52:48 2010
#
CONFIG_HAVE_DOT_CONFIG=y
@@ -14,6 +14,8 @@ CONFIG_HAVE_DOT_CONFIG=y
#
# CONFIG_DESKTOP is not set
# CONFIG_EXTRA_COMPAT is not set
+# CONFIG_INCLUDE_SUSv2 is not set
+# CONFIG_USE_PORTABLE_CODE is not set
CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
@@ -59,7 +61,6 @@ CONFIG_EXTRA_CFLAGS=""
CONFIG_NO_DEBUG_LIB=y
# CONFIG_DMALLOC is not set
# CONFIG_EFENCE is not set
-# CONFIG_INCLUDE_SUSv2 is not set
#
# Installation Options
@@ -120,6 +121,7 @@ CONFIG_CPIO=y
# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
CONFIG_GUNZIP=y
CONFIG_GZIP=y
+# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set
# CONFIG_LZOP is not set
# CONFIG_LZOP_COMPR_HIGH is not set
# CONFIG_RPM2CPIO is not set
@@ -133,6 +135,7 @@ CONFIG_FEATURE_TAR_FROM=y
CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
# CONFIG_FEATURE_TAR_UNAME_GNAME is not set
+# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set
# CONFIG_UNCOMPRESS is not set
# CONFIG_UNLZMA is not set
# CONFIG_FEATURE_LZMA_FAST is not set
@@ -148,15 +151,19 @@ CONFIG_CAT=y
CONFIG_CHGRP=y
CONFIG_CHMOD=y
CONFIG_CHOWN=y
+# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set
CONFIG_CHROOT=y
# CONFIG_CKSUM is not set
# CONFIG_COMM is not set
CONFIG_CP=y
+# CONFIG_FEATURE_CP_LONG_OPTIONS is not set
CONFIG_CUT=y
CONFIG_DATE=y
# CONFIG_FEATURE_DATE_ISOFMT is not set
+CONFIG_FEATURE_DATE_COMPAT=y
CONFIG_DD=y
CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
+# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set
# CONFIG_FEATURE_DD_IBS_OBS is not set
CONFIG_DF=y
# CONFIG_FEATURE_DF_FANCY is not set
@@ -271,7 +278,7 @@ CONFIG_FEATURE_AUTOWIDTH=y
CONFIG_FEATURE_HUMAN_READABLE=y
#
-# Common options for md5sum, sha1sum
+# Common options for md5sum, sha1sum, sha256sum, sha512sum
#
CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
@@ -318,9 +325,8 @@ CONFIG_AWK=y
# CONFIG_FEATURE_AWK_LIBM is not set
CONFIG_CMP=y
CONFIG_DIFF=y
-CONFIG_FEATURE_DIFF_BINARY=y
+# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set
CONFIG_FEATURE_DIFF_DIR=y
-# CONFIG_FEATURE_DIFF_MINIMAL is not set
# CONFIG_ED is not set
CONFIG_PATCH=y
CONFIG_SED=y
@@ -364,6 +370,7 @@ CONFIG_FEATURE_FIND_PRUNE=y
CONFIG_FEATURE_FIND_PATH=y
CONFIG_FEATURE_FIND_REGEX=y
# CONFIG_FEATURE_FIND_CONTEXT is not set
+# CONFIG_FEATURE_FIND_LINKS is not set
CONFIG_GREP=y
CONFIG_FEATURE_GREP_EGREP_ALIAS=y
CONFIG_FEATURE_GREP_FGREP_ALIAS=y
@@ -453,6 +460,7 @@ CONFIG_MODPROBE=y
# Options common to multiple modutils
#
# CONFIG_FEATURE_2_4_MODULES is not set
+# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
@@ -488,12 +496,14 @@ CONFIG_FEATURE_FDISK_WRITABLE=y
# CONFIG_FINDFS is not set
# CONFIG_FREERAMDISK is not set
CONFIG_FSCK_MINIX=y
+# CONFIG_MKFS_EXT2 is not set
CONFIG_MKFS_MINIX=y
#
# Minix filesystem support
#
CONFIG_FEATURE_MINIX2=y
+# CONFIG_MKFS_REISER is not set
# CONFIG_MKFS_VFAT is not set
# CONFIG_GETOPT is not set
# CONFIG_FEATURE_GETOPT_LONG is not set
@@ -506,6 +516,8 @@ CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
# CONFIG_IPCRM is not set
# CONFIG_IPCS is not set
CONFIG_LOSETUP=y
+# CONFIG_LSPCI is not set
+# CONFIG_LSUSB is not set
# CONFIG_MDEV is not set
# CONFIG_FEATURE_MDEV_CONF is not set
# CONFIG_FEATURE_MDEV_RENAME is not set
@@ -518,6 +530,7 @@ CONFIG_MORE=y
CONFIG_FEATURE_USE_TERMIOS=y
# CONFIG_VOLUMEID is not set
# CONFIG_FEATURE_VOLUMEID_EXT is not set
+# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
# CONFIG_FEATURE_VOLUMEID_REISERFS is not set
# CONFIG_FEATURE_VOLUMEID_FAT is not set
# CONFIG_FEATURE_VOLUMEID_HFS is not set
@@ -595,6 +608,7 @@ CONFIG_DC=y
# CONFIG_EJECT is not set
# CONFIG_FEATURE_EJECT_SCSI is not set
# CONFIG_FBSPLASH is not set
+# CONFIG_FLASHCP is not set
# CONFIG_FLASH_LOCK is not set
# CONFIG_FLASH_UNLOCK is not set
# CONFIG_FLASH_ERASEALL is not set
@@ -638,6 +652,7 @@ CONFIG_TIME=y
# CONFIG_TIMEOUT is not set
# CONFIG_TTYSIZE is not set
# CONFIG_VOLNAME is not set
+# CONFIG_WALL is not set
# CONFIG_WATCHDOG is not set
#
@@ -657,6 +672,7 @@ CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
# CONFIG_FAKEIDENTD is not set
# CONFIG_FTPD is not set
# CONFIG_FEATURE_FTP_WRITE is not set
+# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set
# CONFIG_FTPGET is not set
# CONFIG_FTPPUT is not set
# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
@@ -722,6 +738,8 @@ CONFIG_NETSTAT=y
# CONFIG_FEATURE_NETSTAT_WIDE is not set
# CONFIG_FEATURE_NETSTAT_PRG is not set
CONFIG_NSLOOKUP=y
+# CONFIG_NTPD is not set
+# CONFIG_FEATURE_NTPD_SERVER is not set
CONFIG_PING=y
CONFIG_PING6=y
CONFIG_FEATURE_FANCY_PING=y
@@ -733,22 +751,25 @@ CONFIG_TELNET=y
CONFIG_FEATURE_TELNET_AUTOLOGIN=y
# CONFIG_TELNETD is not set
# CONFIG_FEATURE_TELNETD_STANDALONE is not set
+# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
CONFIG_TFTP=y
# CONFIG_TFTPD is not set
CONFIG_FEATURE_TFTP_GET=y
CONFIG_FEATURE_TFTP_PUT=y
# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
+# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
# CONFIG_TFTP_DEBUG is not set
CONFIG_TRACEROUTE=y
+# CONFIG_TRACEROUTE6 is not set
# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
-CONFIG_APP_UDHCPD=y
-# CONFIG_APP_DHCPRELAY is not set
-CONFIG_APP_DUMPLEASES=y
+CONFIG_UDHCPD=y
+# CONFIG_DHCPRELAY is not set
+CONFIG_DUMPLEASES=y
# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases"
-CONFIG_APP_UDHCPC=y
+CONFIG_UDHCPC=y
CONFIG_FEATURE_UDHCPC_ARPING=y
# CONFIG_FEATURE_UDHCP_PORT is not set
CONFIG_UDHCP_DEBUG=0
@@ -813,6 +834,7 @@ CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
# CONFIG_FEATURE_TOP_DECIMALS is not set
# CONFIG_FEATURE_TOP_SMP_PROCESS is not set
# CONFIG_FEATURE_TOPMEM is not set
+# CONFIG_FEATURE_SHOW_THREADS is not set
CONFIG_UPTIME=y
CONFIG_WATCH=y
@@ -855,8 +877,6 @@ CONFIG_FEATURE_SH_IS_ASH=y
CONFIG_ASH=y
CONFIG_ASH_BASH_COMPAT=y
CONFIG_ASH_JOB_CONTROL=y
-CONFIG_ASH_READ_NCHARS=y
-CONFIG_ASH_READ_TIMEOUT=y
CONFIG_ASH_ALIAS=y
CONFIG_ASH_GETOPTS=y
CONFIG_ASH_BUILTIN_ECHO=y
@@ -879,6 +899,7 @@ CONFIG_ASH_EXPAND_PRMT=y
# CONFIG_HUSH_FUNCTIONS is not set
# CONFIG_HUSH_LOCAL is not set
# CONFIG_HUSH_EXPORT_N is not set
+# CONFIG_HUSH_RANDOM_SUPPORT is not set
# CONFIG_LASH is not set
# CONFIG_MSH is not set
CONFIG_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 0121cd1b6..bc9b427ea 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 @@
+# copy commit message from OE as the patch comment:
+# commit 5a0e1d473ca7aca5ffefffe9a2ec44ae7a1f35bc
+# Author: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
+# Date: Wed Feb 11 22:40:21 2009 +0100
+#
+# busybox: fix tar problem with filenames that are exactly 100 bytes
+#
+# above comment added by Kevin Tian <kevin.tian@intel.com>, 2010-07-06
+
--- busybox-1.13.2/archival/libunarchive/get_header_tar.c.orig 2008-11-09 18:28:02.000000000 +0100
+++ busybox-1.13.2/archival/libunarchive/get_header_tar.c 2009-02-11 22:34:52.000000000 +0100
@@ -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 6f209ce57..bedb97443 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 @@
+# copy commit message from OE as the patch comment:
+# commit f1b326c83be0d95571b991d8d2ee239982380b6b
+# Author: Martin Jansa <Martin.Jansa@gmail.com>
+# Date: Fri Apr 30 15:37:38 2010 +0200
+#
+# busybox: add patch for installing run-parts to /usr/bin/ instead of /bin
+#
+# * otherwise debianutils install will fail with
+# update-alternatives: Error: cannot register alternative run-parts to /usr/bin/run-parts since it is
+#
+# Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+#
+# Poky doesn't have debianutils, but let's keep it for safety
+# above comment added by Kevin Tian <kevin.tian@intel.com>, 2010-07-06
+
diff -uNr busybox-1.15.3.orig//include/applets.h busybox-1.15.3/include/applets.h
--- busybox-1.15.3.orig//include/applets.h 2009-12-12 22:13:28.000000000 +0100
+++ 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 edea898b1..89eeb425a 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 @@
+# copy commit message from OE as the patch comment:
+# commit ec4da6df3ad5b8b03446d0dda9c50a2439ae325a
+# Author: Denys Dmytriyenko <denis@denix.org>
+# Date: Wed Feb 4 11:43:18 2009 -0500
+#
+# busybox: fix nfsroot issues with resetting IP and deleting routes
+#
+# above comment added by Kevin Tian <kevin.tian@intel.com>, 2010-07-06
Index: busybox-1.15.3/examples/udhcp/simple.script
===================================================================
--- 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 2ffba956a..81bca634a 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 @@
+# copy commit message from OE as the patch comment
+# commit c9bb6478a873d6de4c8a0e712435ac9a658a345d
+# Author: Holger Schurig <schurig@mn-solutions.de>
+# Date: Wed Sep 29 08:29:58 2004 +0000
+#
+# udhcpscript: fixes the "deleting routers" error message in case of no existing default routes
+#
+# Above comment added by Kevin Tian <kevin.tian@intel.com>, 2010-07-06
+
Index: busybox-1.15.1/examples/udhcp/simple.script
===================================================================
--- 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 9f450532d..8c258135c 100644
--- a/meta/packages/busybox/busybox.inc
+++ b/meta/packages/busybox/busybox.inc
@@ -7,7 +7,6 @@ SECTION = "base"
PRIORITY = "required"
export EXTRA_CFLAGS = "${CFLAGS}"
-EXTRA_OEMAKE_append = " CROSS=${HOST_PREFIX}"
PACKAGES =+ "${PN}-httpd ${PN}-udhcpd"
FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www"
@@ -70,7 +69,7 @@ do_install () {
install -m 0755 ${WORKDIR}/busybox-httpd ${D}${sysconfdir}/init.d/
install -d ${D}/srv/www
fi
- if grep "CONFIG_APP_UDHCPD=y" ${WORKDIR}/defconfig; then
+ if grep "CONFIG_UDHCPD=y" ${WORKDIR}/defconfig; then
# Move udhcpd back to /usr/sbin/udhcpd
install -d ${D}${sbindir}
mv ${D}/busybox${sbindir}/udhcpd ${D}${sbindir}/
@@ -84,7 +83,7 @@ do_install () {
install -m 0755 ${WORKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/
fi
- if grep "CONFIG_APP_UDHCPC=y" ${WORKDIR}/defconfig; then
+ if grep "CONFIG_UDHCPC=y" ${WORKDIR}/defconfig; then
# Move dhcpc back to /usr/sbin/udhcpc
install -d ${D}${base_sbindir}
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 9be4abdb1..000000000
--- a/meta/packages/busybox/busybox_1.15.3.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-require busybox.inc
-PR = "r5"
-
-SRC_URI = "\
- http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
- file://udhcpscript.patch \
- file://udhcpc-fix-nfsroot.patch \
- file://B921600.patch \
- file://get_header_tar.patch \
- file://busybox-appletlib-dependency.patch \
- file://0000-wget-no-check-certificate.patch \
- file://run-parts.in.usr-bin.patch \
- file://ash_fix_redirection_of_fd_0.patch \
- file://find-touchscreen.sh \
- file://busybox-cron \
- file://busybox-httpd \
- file://busybox-udhcpd \
- file://default.script \
- file://simple.script \
- file://hwclock.sh \
- file://mount.busybox \
- file://syslog \
- file://syslog.conf \
- file://umount.busybox \
- file://defconfig \
-"
-
-EXTRA_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 000000000..0952f4ddb
--- /dev/null
+++ b/meta/packages/busybox/busybox_1.16.2.bb
@@ -0,0 +1,24 @@
+require busybox.inc
+PR = "r0"
+
+SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
+ file://udhcpscript.patch \
+ file://udhcpc-fix-nfsroot.patch \
+ file://B921600.patch \
+ file://get_header_tar.patch \
+ file://busybox-appletlib-dependency.patch \
+ file://run-parts.in.usr-bin.patch \
+ file://find-touchscreen.sh \
+ file://busybox-cron \
+ file://busybox-httpd \
+ file://busybox-udhcpd \
+ file://default.script \
+ file://simple.script \
+ file://hwclock.sh \
+ file://mount.busybox \
+ file://syslog \
+ file://syslog.conf \
+ file://umount.busybox \
+ file://defconfig"
+
+EXTRA_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 3efd4c088..000000000
--- a/meta/packages/busybox/files/busybox-appletlib-dependency.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Index: busybox-1.13.2/Makefile
-===================================================================
---- busybox-1.13.2.orig/Makefile 2009-03-19 15:44:37.419270265 +0300
-+++ busybox-1.13.2/Makefile 2009-03-19 15:45:57.737521296 +0300
-@@ -471,6 +471,10 @@
- util-linux/ \
- util-linux/volume_id/ \
-
-+# Lib interdeps
-+# libbb uses headers generated in applets
-+libbb: applets
-+
- endif # KBUILD_EXTMOD
-
- 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 afdf2c8f0..afdf2c8f0 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 1847519c6..e73a83967 100644
--- a/meta/packages/cairo/cairo.inc
+++ b/meta/packages/cairo/cairo.inc
@@ -1,8 +1,10 @@
+DESCRIPTION = "Cairo graphics library"
+HOMEPAGE = "http://cairographics.org"
+BUGTRACKER = "http://bugs.freedesktop.org"
SECTION = "libs"
PRIORITY = "optional"
+LICENSE = "MPLv1.1 & LGPLv2.1"
DEPENDS = "virtual/libx11 libsm libpng fontconfig libxrender pixman"
-DESCRIPTION = "Cairo graphics library"
-LICENSE = "MPL LGPL"
#check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points
require 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 000000000..9e7e7a3bf
--- /dev/null
+++ b/meta/packages/cairo/cairo_1.8.10.bb
@@ -0,0 +1,8 @@
+require cairo.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=7d7cc3410ae869ed913ebd30d7f45941"
+
+PR = "r0"
+
+SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.gz \
+ 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 fd8a99b49..000000000
--- a/meta/packages/cairo/cairo_1.8.2.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require cairo.inc
-
-PR = "r1"
-
-SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.gz \
- file://hardcoded_libtool.patch;patch=1"
diff --git a/meta/packages/dbus/dbus.inc b/meta/packages/dbus/dbus.inc
index b122cf701..af866a953 100644
--- a/meta/packages/dbus/dbus.inc
+++ b/meta/packages/dbus/dbus.inc
@@ -1,17 +1,15 @@
-DESCRIPTION = "Message bus system for applications to talk to one another"
+DESCRIPTION = "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"
HOMEPAGE = "http://dbus.freedesktop.org"
SECTION = "base"
-LICENSE = "GPL"
+LICENSE = "AFL2.1 | GPLv2+"
DEPENDS = "expat glib-2.0 virtual/libintl virtual/libx11 libsm"
-SRC_URI = "\
- http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
- file://cross.patch;patch=1 \
- file://tmpdir.patch;patch=1 \
- file://fix-install-daemon.patch;patch=1 \
- file://dbus-1.init \
- file://99_dbus \
-"
+SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
+ file://cross.patch; \
+ file://tmpdir.patch; \
+ file://fix-install-daemon.patch; \
+ file://dbus-1.init \
+ file://99_dbus"
inherit autotools pkgconfig gettext
diff --git a/meta/packages/dropbear/dropbear-0.49/configure.patch b/meta/packages/dropbear/dropbear-0.52/configure.patch
index 8d11b23f1..8d11b23f1 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 7f5dbe356..1d78d5c59 100644
--- a/meta/packages/dropbear/dropbear.inc
+++ b/meta/packages/dropbear/dropbear.inc
@@ -1,7 +1,12 @@
DESCRIPTION = "Dropbear is a lightweight SSH and SCP Implementation"
HOMEPAGE = "http://matt.ucc.asn.au/dropbear/dropbear.html"
SECTION = "console/network"
+
+# some files are from other projects and have others license terms:
+# public domain, OpenSSH 3.5p1, OpenSSH3.6.1p2, PuTTY
LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3a5b0c2f0d0c49dfde9558ae2036683c"
+
DEPENDS = "zlib"
PROVIDES = "ssh sshd"
RPROVIDES = "ssh sshd"
diff --git a/meta/packages/dropbear/dropbear/allow-nopw.patch b/meta/packages/dropbear/dropbear/allow-nopw.patch
index 1a709b8da..2ae361c63 100644
--- a/meta/packages/dropbear/dropbear/allow-nopw.patch
+++ b/meta/packages/dropbear/dropbear/allow-nopw.patch
@@ -1,33 +1,34 @@
-diff -Nurd dropbear-0.45/svr-auth.c dropbear-0.45.patched/svr-auth.c
---- dropbear-0.45/svr-auth.c 2005-03-06 20:27:02.000000000 -0800
-+++ dropbear-0.45.patched/svr-auth.c 2005-03-08 15:22:43.998592744 -0800
-@@ -237,6 +237,7 @@
+diff --git a/svr-auth.c b/svr-auth.c
+index 5da0aa7..4de4964 100644
+--- a/svr-auth.c
++++ b/svr-auth.c
+@@ -249,6 +249,7 @@ static int checkusername(unsigned char *username, unsigned int userlen) {
}
/* check for an empty password */
+#ifdef DISALLOW_EMPTY_PW
- if (ses.authstate.pw->pw_passwd[0] == '\0') {
+ if (ses.authstate.pw_passwd[0] == '\0') {
TRACE(("leave checkusername: empty pword"))
dropbear_log(LOG_WARNING, "user '%s' has blank password, rejected",
-@@ -244,7 +245,7 @@
+@@ -256,6 +257,7 @@ static int checkusername(unsigned char *username, unsigned int userlen) {
send_msg_userauth_failure(0, 1);
return DROPBEAR_FAILURE;
}
--
+#endif
- TRACE(("shell is %s", ses.authstate.pw->pw_shell))
- /* check that the shell is set */
-diff -Nurd dropbear-0.45/svr-authpasswd.c dropbear-0.45.patched/svr-authpasswd.c
---- dropbear-0.45/svr-authpasswd.c 2005-03-06 20:27:02.000000000 -0800
-+++ dropbear-0.45.patched/svr-authpasswd.c 2005-03-08 15:22:44.010591023 -0800
-@@ -64,9 +64,13 @@
+ TRACE(("shell is %s", ses.authstate.pw_shell))
+
+diff --git a/svr-authpasswd.c b/svr-authpasswd.c
+index 53550a2..7b896bd 100644
+--- a/svr-authpasswd.c
++++ b/svr-authpasswd.c
+@@ -64,9 +64,13 @@ void svr_auth_password() {
* since the shadow password may differ to that tested
* in auth.c */
if (passwdcrypt[0] == '\0') {
+#ifdef DISALLOW_EMPTY_PASSWD
dropbear_log(LOG_WARNING, "user '%s' has blank password, rejected",
- ses.authstate.printableuser);
+ ses.authstate.pw_name);
send_msg_userauth_failure(0, 1);
+#else
+ 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 e2b1dd5da..75ba30656 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 @@
diff -Nurd dropbear-0.45/options.h dropbear-0.45.patched/options.h
--- dropbear-0.45/options.h 2005-03-06 20:27:02.000000000 -0800
+++ dropbear-0.45.patched/options.h 2005-03-08 15:25:09.368742090 -0800
-@@ -143,7 +143,7 @@
- * however significantly reduce the security of your ssh connections
- * if the PRNG state becomes guessable - make sure you know what you are
- * doing if you change this. */
--#define DROPBEAR_RANDOM_DEV "/dev/random"
-+#define DROPBEAR_RANDOM_DEV "/dev/urandom"
-
- /* prngd must be manually set up to produce output */
- /*#define DROPBEAR_PRNGD_SOCKET "/var/run/dropbear-rng"*/
@@ -167,7 +167,7 @@
/* The command to invoke for xauth when using X11 forwarding.
* "-q" for quiet */
diff --git a/meta/packages/dropbear/dropbear_0.49.bb b/meta/packages/dropbear/dropbear_0.52.bb
index 929eeb817..51217ea39 100644
--- a/meta/packages/dropbear/dropbear_0.49.bb
+++ b/meta/packages/dropbear/dropbear_0.52.bb
@@ -1,3 +1,3 @@
require dropbear.inc
-PR="r2"
+PR="r0"
diff --git a/meta/packages/eds/eds-dbus_2.20.0.bb b/meta/packages/eds/eds-dbus_2.20.0.bb
index 7f6a52e43..2cbc9037a 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 @@
DESCRIPTION = "Evolution database backend server"
-LICENSE = "LGPL"
+HOMEPAGE = "http://www.gnome.org/projects/evolution/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "LGPLv2 & LGPLv2+"
+
DEPENDS = "intltool-native glib-2.0 gtk+ gconf dbus db gnome-common virtual/libiconv zlib libsoup libglade"
PR = "r1"
diff --git a/meta/packages/eds/eds-dbus_git.bb b/meta/packages/eds/eds-dbus_git.bb
index 6a785a8e5..30fbc821b 100644
--- a/meta/packages/eds/eds-dbus_git.bb
+++ b/meta/packages/eds/eds-dbus_git.bb
@@ -1,5 +1,9 @@
DESCRIPTION = "Evolution database backend server"
-LICENSE = "LGPL"
+HOMEPAGE = "http://www.gnome.org/projects/evolution/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "LGPLv2 & LGPLv2+"
+
DEPENDS = "intltool-native glib-2.0 gtk+ gconf dbus db gnome-common virtual/libiconv zlib libsoup-2.4 libglade libical gnome-keyring"
PV = "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 d17215a1b..000000000
--- a/meta/packages/file/file/native-fix.diff
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: file-4.16/magic/Makefile.am
-===================================================================
---- file-4.16.orig/magic/Makefile.am 2005-08-18 17:20:49.000000000 +0200
-+++ file-4.16/magic/Makefile.am 2006-03-08 17:01:13.000000000 +0100
-@@ -18,7 +18,7 @@
- if IS_CROSS_COMPILE
- FILE_COMPILE = file
- else
--FILE_COMPILE = $(top_builddir)/src/file
-+FILE_COMPILE = ../src/file
- endif
-
- magic.mgc: magic
diff --git a/meta/packages/file/file_4.18.bb b/meta/packages/file/file_5.04.bb
index 1ff842544..d872be5df 100644
--- a/meta/packages/file/file_4.18.bb
+++ b/meta/packages/file/file_5.04.bb
@@ -1,8 +1,15 @@
DESCRIPTION = "File attempts to classify files depending \
on their contents and prints a description if a match is found."
+HOMEPAGE = "http://www.darwinsys.com/file/"
SECTION = "console/utils"
-LICENSE = "BSD-ADV"
-DEPENDS = "file-native"
+
+# two clause BSD
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;beginline=2;md5=6a7382872edb68d33e1a9398b6e03188"
+
+DEPENDS = "zlib file-native"
+DEPENDS_virtclass-native = "zlib-native"
+PR = "r0"
SRC_URI = "ftp://ftp.astron.com/pub/file/file-${PV}.tar.gz \
file://dump \
@@ -11,11 +18,10 @@ SRC_URI = "ftp://ftp.astron.com/pub/file/file-${PV}.tar.gz \
inherit autotools
do_configure_prepend() {
- sed -i -e 's,$(top_builddir)/src/file,file,' ${S}/magic/Makefile.am
cp ${WORKDIR}/dump ${S}/magic/Magdir/
cp ${WORKDIR}/filesystems ${S}/magic/Magdir/
}
-DEPENDS_virtclass-native = ""
-SRC_URI_append_virtclass-native = " file://native-fix.diff;patch=1"
+FILES_${PN} += "${datadir}/misc/*.mgc"
+
BBCLASSEXTEND = "native"
diff --git a/meta/packages/findutils/findutils.inc b/meta/packages/findutils/findutils.inc
index b54b09b7b..1ca44337c 100644
--- a/meta/packages/findutils/findutils.inc
+++ b/meta/packages/findutils/findutils.inc
@@ -1,6 +1,10 @@
DESCRIPTION = "find, locate, and xargs binaries."
+HOMEPAGE = "http://www.gnu.org/software/findutils/"
+BUGTRACKER = "http://savannah.gnu.org/bugs/?group=findutils"
SECTION = "console/utils"
-LICENSE = "GPL"
+
+# GPLv2+ (<< 4.2.32), GPLv3+ (>= 4.2.32)
+LICENSE = "GPLv3+"
SRC_URI = "${GNU_MIRROR}/findutils/findutils-${PV}.tar.gz \
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 6373bad9c..7511e408f 100644
--- a/meta/packages/findutils/findutils_4.2.29.bb
+++ b/meta/packages/findutils/findutils_4.2.29.bb
@@ -1,5 +1,6 @@
require findutils.inc
+LICENSE = "GPLv2+"
PR = "r2"
do_install_append () {
@@ -17,4 +18,4 @@ pkg_prerm_${PN} () {
for i in find xargs; do update-alternatives --remove $i $i.${PN}; done
}
-BBCLASSEXTEND = "native" \ No newline at end of file
+BBCLASSEXTEND = "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 17b85f758..000000000
--- a/meta/packages/fontconfig/fontconfig-2.6.0/fix-pkgconfig.patch
+++ /dev/null
@@ -1,15 +0,0 @@
----
- fontconfig.pc.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- fontconfig-2.6.0.orig/fontconfig.pc.in
-+++ fontconfig-2.6.0/fontconfig.pc.in
-@@ -5,7 +5,7 @@ includedir=@includedir@
-
- Name: Fontconfig
- Description: Font configuration and customization library
- Version: @VERSION@
- Libs: -L${libdir} -lfontconfig
--Libs.private: @EXPAT_LIBS@ @FREETYPE_LIBS@
-+Libs.private: @EXPAT_LIBS@ -L${libdir} -lfreetype
- 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 2993959db..2993959db 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 000000000..7fec1e910
--- /dev/null
+++ b/meta/packages/fontconfig/fontconfig-2.8.0/fix-pkgconfig.patch
@@ -0,0 +1,13 @@
+---
+ fontconfig.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- fontconfig-2.8.0.orig/fontconfig.pc.in
++++ fontconfig-2.8.0/fontconfig.pc.in
+@@ -7,5 +7,5 @@
+ Description: Font configuration and customization library
+ Version: @VERSION@
+ Libs: -L${libdir} -lfontconfig
+-Libs.private: @LIBXML2_LIBS@ @EXPAT_LIBS@ @FREETYPE_LIBS@ @ICONV_LIBS@
++Libs.private: @LIBXML2_LIBS@ @EXPAT_LIBS@ -L{libdir} -lfreetype @ICONV_LIBS@
+ 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 03a1bc86c..03a1bc86c 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 4c6df307f..f83d72cdd 100644
--- a/meta/packages/fontconfig/fontconfig_2.6.0.bb
+++ b/meta/packages/fontconfig/fontconfig_2.8.0.bb
@@ -1,12 +1,20 @@
-SECTION = "libs"
-LICENSE = "BSD"
DESCRIPTION = "A library for configuring and customizing font access."
+HOMEPAGE = "http://www.fontconfig.org"
+BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig"
+
+LICENSE = "MIT-style & MIT & Public Domain"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f3ad4145dea6ca7efa2f1bee8165a7a1 \
+ file://src/fcfreetype.c;endline=45;md5=bc3dd139e2f7245a02fde5545b203a6f \
+ file://src/fccache.c;beginline=1020;endline=1035;md5=0326cfeb4a7333dd4dd25fbbc4b9f27f"
+
+SECTION = "libs"
+
DEPENDS = "expat freetype zlib"
-PR = "r1"
+PR = "r0"
SRC_URI = "http://fontconfig.org/release/fontconfig-${PV}.tar.gz \
- file://fix-pkgconfig.patch;patch=1 \
+ file://fix-pkgconfig.patch \
file://97_fontconfig"
PACKAGES =+ "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 44ae450a1..44ae450a1 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 f11cf96be..000000000
--- a/meta/packages/freetype/freetype-2.3.5/configure.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
-Index: freetype-2.1.8/builds/unix/configure.ac
-===================================================================
---- freetype-2.1.8.orig/builds/unix/configure.ac 2004-04-14 04:49:11.000000000 -0400
-+++ freetype-2.1.8/builds/unix/configure.ac 2005-03-12 03:14:23.000000000 -0500
-@@ -111,8 +111,8 @@
- # Check for system zlib
-
- AC_ARG_WITH([zlib],
-- dnl don't quote AS_HELP_STRING!
-- AS_HELP_STRING([--without-zlib],
-+ dnl don't quote AC_HELP_STRING!
-+ AC_HELP_STRING([--without-zlib],
- [use internal zlib instead of system-wide]))
- if test x$with_zlib != xno && test -z "$LIBZ"; then
- AC_CHECK_LIB([z], [gzsetparams], [AC_CHECK_HEADER([zlib.h], [LIBZ='-lz'])])
-@@ -127,7 +127,7 @@
- # Whether to use Mac OS resource-based fonts or not
-
- AC_ARG_WITH([old-mac-fonts],
-- dnl don't quote AS_HELP_STRING!
-- AS_HELP_STRING([--with-old-mac-fonts],
-+ dnl don't quote AC_HELP_STRING!
-+ AC_HELP_STRING([--with-old-mac-fonts],
- [allow Mac resource-based fonts to be used]))
- if test x$with_old_mac_fonts = xyes; then
-Index: freetype-2.1.8/builds/unix/unix-cc.in
-===================================================================
---- freetype-2.1.8.orig/builds/unix/unix-cc.in 2003-11-09 03:37:13.000000000 -0500
-+++ freetype-2.1.8/builds/unix/unix-cc.in 2005-03-12 18:37:24.613693760 -0500
-@@ -14,9 +14,11 @@
-
- CC := @CC@
- COMPILER_SEP := $(SEP)
-+SHELL := @SHELL@
-+top_builddir := $(BUILD_DIR)
-
- ifndef LIBTOOL
-- LIBTOOL := $(BUILD_DIR)/libtool
-+ LIBTOOL := @LIBTOOL@
- endif
-
-
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 ae504dcb0..000000000
--- a/meta/packages/freetype/freetype-2.3.5/fix-x86_64-build.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: freetype-2.3.1/builds/unix/configure.raw
-===================================================================
---- freetype-2.3.1.orig/builds/unix/configure.raw
-+++ freetype-2.3.1/builds/unix/configure.raw
-@@ -40,7 +40,7 @@ AC_SUBST(EXEEXT)
- # checks for native programs to generate building tool
-
- if test ${cross_compiling} = yes; then
-- AC_CHECK_PROG(CC_BUILD, ${build}-gcc, ${build-gcc})
-+ AC_CHECK_PROG(CC_BUILD, ${build}-gcc, ${build}-gcc)
- test -z "${CC_BUILD}" && AC_CHECK_PROG(CC_BUILD, gcc, gcc)
- test -z "${CC_BUILD}" && AC_CHECK_PROG(CC_BUILD, cc, cc, , , /usr/ucb/cc)
- test -z "${CC_BUILD}" && AC_MSG_ERROR([cannot find native C compiler])
-Index: freetype-2.3.1/builds/unix/configure.ac
-===================================================================
---- freetype-2.3.1.orig/builds/unix/configure.ac
-+++ freetype-2.3.1/builds/unix/configure.ac
-@@ -40,7 +40,7 @@ AC_SUBST(EXEEXT)
- # checks for native programs to generate building tool
-
- if test ${cross_compiling} = yes; then
-- AC_CHECK_PROG(CC_BUILD, ${build}-gcc, ${build-gcc})
-+ AC_CHECK_PROG(CC_BUILD, ${build}-gcc, ${build}-gcc)
- test -z "${CC_BUILD}" && AC_CHECK_PROG(CC_BUILD, gcc, gcc)
- test -z "${CC_BUILD}" && AC_CHECK_PROG(CC_BUILD, cc, cc, , , /usr/ucb/cc)
- 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 5bbbd7d65..da62ffb3b 100644
--- a/meta/packages/freetype/freetype_2.3.5.bb
+++ b/meta/packages/freetype/freetype_2.3.12.bb
@@ -1,12 +1,18 @@
DESCRIPTION = "Freetype font rendering library"
+HOMEPAGE = "http://www.freetype.org/"
+BUGTRACKER = "https://savannah.nongnu.org/bugs/?group=freetype"
+
+LICENSE = "FreeTypeLicense | GPLv2+"
+LIC_FILES_CHKSUM = "file://docs/LICENSE.TXT;md5=8bc1a580aeb518100d00a2dd29e68edf \
+ file://docs/FTL.TXT;md5=d479e83797f699fe873b38dadd0fcd4c \
+ file://docs/GPL.TXT;md5=8ef380476f642c20ebf40fecb0add2ec"
+
SECTION = "libs"
-LICENSE = "freetype"
-PR = "r3"
+
+PR = "r0"
SRC_URI = "${SOURCEFORGE_MIRROR}/freetype/freetype-${PV}.tar.bz2 \
- file://fix-x86_64-build.patch;patch=1 \
- file://no-hardcode.patch;patch=1 \
- "
+ file://no-hardcode.patch"
S = "${WORKDIR}/freetype-${PV}"
diff --git a/meta/packages/gcc/gcc-crosssdk-initial.inc b/meta/packages/gcc/gcc-crosssdk-initial.inc
index 4b8346b00..794a95347 100644
--- a/meta/packages/gcc/gcc-crosssdk-initial.inc
+++ b/meta/packages/gcc/gcc-crosssdk-initial.inc
@@ -1,7 +1,7 @@
inherit crosssdk
-SYSTEMHEADERS = "${SDKPATH}/include"
-SYSTEMLIBS1 = "${SDKPATH}/lib/"
+SYSTEMHEADERS = "${SDKPATHNATIVE}${prefix_nativesdk}/include"
+SYSTEMLIBS1 = "${SDKPATHNATIVE}${libdir_nativesdk}/"
DEPENDS = "virtual/${TARGET_PREFIX}binutils-crosssdk gettext-native"
PROVIDES = "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 603436005..5b88d3313 100644
--- a/meta/packages/gcc/gcc-crosssdk-intermediate.inc
+++ b/meta/packages/gcc/gcc-crosssdk-intermediate.inc
@@ -1,7 +1,7 @@
inherit crosssdk
-SYSTEMHEADERS = "${SDKPATH}/include"
-SYSTEMLIBS1 = "${SDKPATH}/lib/"
+SYSTEMHEADERS = "${SDKPATHNATIVE}${prefix_nativesdk}/include"
+SYSTEMLIBS1 = "${SDKPATHNATIVE}${libdir_nativesdk}/"
DEPENDS = "virtual/${TARGET_PREFIX}binutils-crosssdk gettext-native"
DEPENDS += "virtual/${TARGET_PREFIX}libc-initial-nativesdk"
diff --git a/meta/packages/gcc/gcc-crosssdk.inc b/meta/packages/gcc/gcc-crosssdk.inc
index e2252bbfc..be2d0b0a2 100644
--- a/meta/packages/gcc/gcc-crosssdk.inc
+++ b/meta/packages/gcc/gcc-crosssdk.inc
@@ -1,7 +1,7 @@
inherit crosssdk
-SYSTEMHEADERS = "${SDKPATH}/include"
-SYSTEMLIBS1 = "${SDKPATH}/lib/"
+SYSTEMHEADERS = "${SDKPATHNATIVE}${prefix_nativesdk}/include"
+SYSTEMLIBS1 = "${SDKPATHNATIVE}${libdir_nativesdk}/"
GCCMULTILIB = "--disable-multilib"
diff --git a/meta/packages/genext2fs/genext2fs.inc b/meta/packages/genext2fs/genext2fs.inc
index c2984bccd..deab50564 100644
--- a/meta/packages/genext2fs/genext2fs.inc
+++ b/meta/packages/genext2fs/genext2fs.inc
@@ -1,4 +1,5 @@
-LICENSE = "GPL"
DESCRIPTION = "A tool to generate an ext2 filesystem \
as a normal (non-root) user."
+HOMEPAGE = "http://genext2fs.sourceforge.net/"
SECTION = "console/utils"
+LICENSE = "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 efe332557..000000000
--- a/meta/packages/glib-2.0/glib-2.0-2.22.3/glib-gettextize-dir.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- glib-2.10.3/glib-gettextize.in.old 2006-06-21 12:46:45.000000000 +0100
-+++ glib-2.10.3/glib-gettextize.in 2006-06-21 12:48:14.000000000 +0100
-@@ -49,7 +49,7 @@
- ;;
- esac
-
--gettext_dir=$prefix/share/glib-2.0/gettext
-+gettext_dir=@datadir@/glib-2.0/gettext
-
- while test $# -gt 0; do
- 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 1329e7f21..000000000
--- a/meta/packages/glib-2.0/glib-2.0-2.22.3/glibconfig-sysdefs.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#define GLIB_SYSDEF_POLLIN =1
-#define GLIB_SYSDEF_POLLOUT =4
-#define GLIB_SYSDEF_POLLPRI =2
-#define GLIB_SYSDEF_POLLERR =8
-#define GLIB_SYSDEF_POLLHUP =16
-#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 000000000..1676b3e25
--- /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 @@
+# copy from OE, said to borrow from Ubuntu. Not in glib-2.0 upstream yet. Add for sanity.
+#
+# by Kevin Tian <kevin.tian@intel.com>, 06/25/2010
+--- glib/tests/threadpool-test.c.old 2008-02-12 06:11:21.000000000 +0100
++++ glib/tests/threadpool-test.c 2008-02-12 06:11:52.000000000 +0100
+@@ -5,8 +5,8 @@
+
+ #include <glib.h>
+
+-#define DEBUG_MSG(x)
+-/* #define DEBUG_MSG(args) g_printerr args ; g_printerr ("\n"); */
++/* #define DEBUG_MSG(x) */
++#define DEBUG_MSG(args) g_printerr args ; g_printerr ("\n");
+
+ #define WAIT 5 /* seconds */
+ #define MAX_THREADS 10
+@@ -124,10 +124,10 @@
+ DEBUG_MSG (("[unused] stopping unused threads"));
+ g_thread_pool_stop_unused_threads ();
+
+- DEBUG_MSG (("[unused] waiting ONE second for threads to die"));
++ DEBUG_MSG (("[unused] waiting FIVE second for threads to die"));
+
+ /* Some time for threads to die. */
+- g_usleep (G_USEC_PER_SEC);
++ g_usleep (5 * G_USEC_PER_SEC);
+
+ DEBUG_MSG (("[unused] stopped idle threads, %d remain, %d threads still exist",
+ 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 3ba79b898..3ba79b898 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 000000000..1f3920f03
--- /dev/null
+++ b/meta/packages/glib-2.0/glib-2.0-2.24.1/gatomic-proper-pointer-get-cast.patch
@@ -0,0 +1,37 @@
+# handle cast warning. borrow from OE, but updated with a better fix from glib
+# developing tree.
+#
+# by Kevin Tian <kevin.tian@intel.com>, 06/25/2010
+commit bf2719c815d719d1899b4bdb1b81ff6798471094
+Author: Lars Ellenberg <lars.ellenberg@linbit.com>
+Date: Thu Apr 15 19:03:05 2010 +0200
+
+ Cast to volatile to avoid warnings from -Wcast-qual
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=457641
+
+diff --git a/glib/gatomic.h b/glib/gatomic.h
+index 7d9c318..22b28d9 100644
+--- a/glib/gatomic.h
++++ b/glib/gatomic.h
+@@ -64,16 +64,16 @@ void g_atomic_pointer_set (volatile gpointer G_GNUC_MAY_ALI
+ #else
+ # define g_atomic_int_get(atomic) \
+ ((void) sizeof (gchar [sizeof (*(atomic)) == sizeof (gint) ? 1 : -1]), \
+- (g_atomic_int_get) ((volatile gint G_GNUC_MAY_ALIAS *) (void *) (atomic)))
++ (g_atomic_int_get) ((volatile gint G_GNUC_MAY_ALIAS *) (volatile void *) (atomic)))
+ # define g_atomic_int_set(atomic, newval) \
+ ((void) sizeof (gchar [sizeof (*(atomic)) == sizeof (gint) ? 1 : -1]), \
+- (g_atomic_int_set) ((volatile gint G_GNUC_MAY_ALIAS *) (void *) (atomic), (newval)))
++ (g_atomic_int_set) ((volatile gint G_GNUC_MAY_ALIAS *) (volatile void *) (atomic), (newval)))
+ # define g_atomic_pointer_get(atomic) \
+ ((void) sizeof (gchar [sizeof (*(atomic)) == sizeof (gpointer) ? 1 : -1]), \
+- (g_atomic_pointer_get) ((volatile gpointer G_GNUC_MAY_ALIAS *) (void *) (atomic)))
++ (g_atomic_pointer_get) ((volatile gpointer G_GNUC_MAY_ALIAS *) (volatile void *) (atomic)))
+ # define g_atomic_pointer_set(atomic, newval) \
+ ((void) sizeof (gchar [sizeof (*(atomic)) == sizeof (gpointer) ? 1 : -1]), \
+- (g_atomic_pointer_set) ((volatile gpointer G_GNUC_MAY_ALIAS *) (void *) (atomic), (newval)))
++ (g_atomic_pointer_set) ((volatile gpointer G_GNUC_MAY_ALIAS *) (volatile void *) (atomic), (newval)))
+ #endif /* G_ATOMIC_OP_MEMORY_BARRIER_NEEDED */
+
+ #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 000000000..c44e49155
--- /dev/null
+++ b/meta/packages/glib-2.0/glib-2.0-2.24.1/glib-gettextize-dir.patch
@@ -0,0 +1,19 @@
+# an very old patch cherry-picked in every glib-2.0 patch directory. The earliest container
+# for it is 2.6.5 in OE. The earliest commit for it is c8e5702127e507e82e6f68a4b8c546803accea9d
+# in OE side which ports from previous bitkeeper SCM. In OE side it's only used til 2.12.4.
+#
+# keep it since it's always cleaner to not hardcode destination path. Use @datadir@ is more
+# portable here. mark for upstream
+#
+# by Kevin Tian <kevin.tian@intel.com>, 06/25/2010
+--- glib-2.10.3/glib-gettextize.in.old 2006-06-21 12:46:45.000000000 +0100
++++ glib-2.10.3/glib-gettextize.in 2006-06-21 12:48:14.000000000 +0100
+@@ -49,7 +49,7 @@
+ ;;
+ esac
+
+-gettext_dir=$prefix/share/glib-2.0/gettext
++gettext_dir=@datadir@/glib-2.0/gettext
+
+ while test $# -gt 0; do
+ 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 26d91a9cf..000000000
--- a/meta/packages/glib-2.0/glib-2.0_2.22.3.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require glib.inc
-
-PR = "r1"
-
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glib/2.22/glib-${PV}.tar.bz2 \
- file://glibconfig-sysdefs.h \
- file://configure-libtool.patch;patch=1"
-
-SRC_URI_append_virtclass-native = " file://glib-gettextize-dir.patch;patch=1"
-
-BBCLASSEXTEND = "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 000000000..d8d1cc52d
--- /dev/null
+++ b/meta/packages/glib-2.0/glib-2.0_2.24.1.bb
@@ -0,0 +1,11 @@
+require glib.inc
+
+PR = "r0"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glib/2.24/glib-${PV}.tar.bz2 \
+ file://configure-libtool.patch \
+ file://gatomic-proper-pointer-get-cast.patch \
+ file://60_wait-longer-for-threads-to-die.patch"
+
+SRC_URI_append_virtclass-native = " file://glib-gettextize-dir.patch"
+BBCLASSEXTEND = "native"
diff --git a/meta/packages/glib-2.0/glib.inc b/meta/packages/glib-2.0/glib.inc
index f4167e8bf..6e7f6a334 100644
--- a/meta/packages/glib-2.0/glib.inc
+++ b/meta/packages/glib-2.0/glib.inc
@@ -1,35 +1,32 @@
-DESCRIPTION = "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."
-LICENSE = "LGPL"
+DESCRIPTION = "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"
+# pcre is under BSD;
+# docs/reference/COPYING is with a 'public domai'-like license!
+LICENSE = "LGPLv2+ & BSD & public domain"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
+ file://glib/glib.h;startline=4;endline=17;md5=a4332fe58b076f29d07c9c066d2967b6 \
+ file://gmodule/COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
+ file://gmodule/gmodule.h;startline=4;endline=17;md5=76ab161b37202cd004073c42fac276ed \
+ file://glib/pcre/COPYING;md5=266ebc3ff74ee9ce6fad65577667c0f4 \
+ file://glib/pcre/pcre.h;startline=11;endline=35;md5=000109ccf7c4c470b74046e2cc59f7e3 \
+ file://docs/reference/COPYING;md5=f51a5100c17af6bae00735cd791e1fcc"
+BUGTRACKER = "http://bugzilla.gnome.org"
SECTION = "libs"
-PRIORITY = "optional"
-DEPENDS = "glib-2.0-native gtk-doc-native virtual/libiconv virtual/libintl"
+
+require glib-2.0.inc
+
+DEPENDS = "glib-2.0-native gtk-doc-native virtual/libiconv virtual/libintl zip"
DEPENDS_virtclass-native = "gtk-doc-native pkgconfig-native gettext-native"
PACKAGES =+ "glib-2.0-utils "
LEAD_SONAME = "libglib-2.0.*"
FILES_glib-2.0-utils = "${bindir}/*"
-EXTRA_OECONF = "--enable-included-printf=no"
-
-S = "${WORKDIR}/glib-${PV}"
-
inherit autotools pkgconfig gettext
-require glib-2.0.inc
-
-acpaths = ""
-do_configure_prepend () {
- install -m 0644 ${WORKDIR}/glibconfig-sysdefs.h .
-}
+S = "${WORKDIR}/glib-${PV}"
-do_install_append () {
- install -d ${D}${includedir}/glib-2.0/glib
- install -m 0755 ${S}/glibconfig.h ${D}${includedir}/glib-2.0/glibconfig.h
-}
+EXTRA_OECONF = "--disable-debug --enable-included-printf=no"
+EXTRA_OECONF_virtclass-native = ""
FILES_${PN} = "${libdir}/lib*${SOLIBS}"
FILES_${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 191018827..f296a99b5 100644
--- a/meta/packages/gnome/gconf-dbus_svn.bb
+++ b/meta/packages/gnome/gconf-dbus_svn.bb
@@ -1,7 +1,8 @@
+DESCRIPTION = "Settings daemon using DBUS for communication."
SECTION = "x11/utils"
+LICENSE = "LGPLv2+"
+
DEPENDS = "intltool-native virtual/libintl glib-2.0 dbus dbus-glib libxml2 popt gtk-doc-native"
-DESCRIPTION = "Settings daemon using DBUS for communication."
-LICENSE = "GPL"
PROVIDES = "gconf"
RPROVIDES_${PN} = "gconf"
RPROVIDES_${PN}-dev = "gconf-dev"
@@ -9,14 +10,12 @@ RPROVIDES_${PN}-dev = "gconf-dev"
PV = "2.16.0+svnr${SRCREV}"
SRC_URI = "svn://developer.imendio.com/svn/gconf-dbus;module=trunk;proto=http"
+S = "${WORKDIR}/trunk"
inherit pkgconfig autotools
-S = "${WORKDIR}/trunk"
PARALLEL_MAKE = ""
-FILES_${PN} = "${libdir}/GConf-dbus/2/*.so ${libdir}/dbus-1.0 ${sysconfdir} ${datadir}/dbus* ${libdir}/*.so.* ${bindir}/* ${libexecdir}/*"
-FILES_${PN}-dbg += " ${libdir}/GConf-dbus/2/.debug"
EXTRA_OECONF = "--disable-gtk-doc --disable-gtk --enable-shared --disable-static --enable-debug=yes"
@@ -25,5 +24,8 @@ do_configure_prepend() {
touch gtk-doc.make
}
+FILES_${PN} = "${libdir}/GConf-dbus/2/*.so ${libdir}/dbus-1.0 ${sysconfdir} ${datadir}/dbus* ${libdir}/*.so.* ${bindir}/* ${libexecdir}/*"
+FILES_${PN}-dbg += " ${libdir}/GConf-dbus/2/.debug"
+
BBCLASSEXTEND = "native"
diff --git a/meta/packages/gnome/gnome-common_2.20.0.bb b/meta/packages/gnome/gnome-common_2.20.0.bb
index 075ac141a..c2eae72d5 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 @@
-LICENSE = "GPL"
+DESCRIPTION = "Common macros for building GNOME applications"
+HOMEPAGE = "http://www.gnome.org/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "GPLv3"
+
SECTION = "x11/gnome"
PR = "r1"
-DESCRIPTION = "Common macros for building GNOME applications"
inherit gnome
# 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 6d1e33529..ae7e920a9 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 @@
-LICENSE = "GPL"
+DESCRIPTION = "Password and keyring managing daemon"
+HOMEPAGE = "http://www.gnome.org/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
+
SECTION = "x11/gnome"
PR = "r1"
diff --git a/meta/packages/gnutls/libtasn1_1.7.bb b/meta/packages/gnutls/libtasn1_1.7.bb
deleted file mode 100644
index 90be5ade7..000000000
--- a/meta/packages/gnutls/libtasn1_1.7.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-DESCRIPTION = "Library for ASN.1 and DER manipulation"
-LICENSE = "LGPL"
-
-PR = "r1"
-
-SRC_URI = "ftp://ftp.gnutls.org/pub/gnutls/libtasn1/libtasn1-${PV}.tar.gz"
-
-inherit autotools binconfig
-
-AUTOTOOLS_STAGE_PKGCONFIG = "1"
-
-BBCLASSEXTEND = "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 000000000..11a7dc505
--- /dev/null
+++ b/meta/packages/gnutls/libtasn1_2.7.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Library for ASN.1 and DER manipulation"
+HOMEPAGE = "http://www.gnu.org/software/libtasn1/"
+
+LICENSE = "GPLv3+ & LGPLv2.1+"
+LICENSE_${PN}-bin = "GPLv3+"
+LICENSE_${PN} = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+ file://README;endline=8;md5=c3803a3e8ca5ab5eb1e5912faa405351"
+
+RREPLACES_${PN}-bin = "libtasn1 (<< 2.7)"
+
+PR = "r0"
+
+SRC_URI = "ftp://ftp.gnutls.org/pub/gnutls/libtasn1/libtasn1-${PV}.tar.gz"
+
+inherit autotools binconfig lib_package
+
+AUTOTOOLS_STAGE_PKGCONFIG = "1"
+
+BBCLASSEXTEND = "native"
diff --git a/meta/packages/gperf/gperf_3.0.3.bb b/meta/packages/gperf/gperf_3.0.3.bb
index f6ab39e32..e5e5cf10c 100644
--- a/meta/packages/gperf/gperf_3.0.3.bb
+++ b/meta/packages/gperf/gperf_3.0.3.bb
@@ -1,9 +1,11 @@
+DESCRIPTION = "GNU gperf is a perfect hash function generator"
HOMEPAGE = "http://www.gnu.org/software/gperf"
-LICENSE = "GPL"
SUMMARY = "Generate a perfect hash function from a set of keywords"
+# 3.0.4 change to GPLv3, but only native version is used
+LICENSE = "GPLv2+"
SRC_URI = "${GNU_MIRROR}/gperf/gperf-${PV}.tar.gz \
- file://autoreconf.patch;patch=1"
+ file://autoreconf.patch"
inherit autotools
diff --git a/meta/packages/gtk+/gtk+.inc b/meta/packages/gtk+/gtk+.inc
index e8fe23338..f7fa00d5c 100644
--- a/meta/packages/gtk+/gtk+.inc
+++ b/meta/packages/gtk+/gtk+.inc
@@ -1,8 +1,11 @@
DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites."
HOMEPAGE = "http://www.gtk.org"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
+
SECTION = "libs"
-LICENSE = "LGPL"
PRIORITY = "optional"
DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc-native libxrandr \
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 5ac690d63..f9ab14c8b 100644
--- a/meta/packages/gtk-engines/gtk-sato-engine.inc
+++ b/meta/packages/gtk-engines/gtk-sato-engine.inc
@@ -1,6 +1,10 @@
DESCRIPTION = "Sato theme engine for GTK"
+HOMEPAGE = "http://www.o-hand.com"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+LICENSE = "LGPLv2+"
+
SECTION = "x11/base"
-LICENSE = "LGPL"
DEPENDS = "gtk+"
RDEPENDS_gtk-theme-sato = "gtk-sato-engine"
diff --git a/meta/packages/hal/hal-info.inc b/meta/packages/hal/hal-info.inc
index 635fd0aa4..bea28cd6a 100644
--- a/meta/packages/hal/hal-info.inc
+++ b/meta/packages/hal/hal-info.inc
@@ -1,7 +1,9 @@
DESCRIPTION = "Hardware Abstraction Layer device information"
HOMEPAGE = "http://hal.freedesktop.org/"
+BUGTRACKER = "http://bugs.freedesktop.org/buglist.cgi?product=hal"
SECTION = "unknown"
-LICENSE = "GPL AFL"
+
+LICENSE = "GPLv2 | AFL"
SRC_URI = "http://hal.freedesktop.org/releases/${PN}-${PV}.tar.gz"
S = "${WORKDIR}/${PN}-${PV}"
diff --git a/meta/packages/hal/hal-info_git.bb b/meta/packages/hal/hal-info_git.bb
index 0cb44706f..154a4129f 100644
--- a/meta/packages/hal/hal-info_git.bb
+++ b/meta/packages/hal/hal-info_git.bb
@@ -1,7 +1,9 @@
DESCRIPTION = "Hardware Abstraction Layer device information"
HOMEPAGE = "http://freedesktop.org/Software/hal"
+BUGTRACKER = "http://bugs.freedesktop.org/buglist.cgi?product=hal"
SECTION = "unknown"
-LICENSE = "GPL AFL"
+
+LICENSE = "GPLv2 | AFL"
PV = "${SRCDATE}+git"
PR = "r2"
diff --git a/meta/packages/hal/hal.inc b/meta/packages/hal/hal.inc
index 4d72e94fa..2b70eb714 100644
--- a/meta/packages/hal/hal.inc
+++ b/meta/packages/hal/hal.inc
@@ -1,22 +1,24 @@
DESCRIPTION = "Hardware Abstraction Layer"
HOMEPAGE = "http://freedesktop.org/Software/hal"
+BUGTRACKER = "http://bugs.freedesktop.org/buglist.cgi?product=hal"
SECTION = "unknown"
-LICENSE = "GPL LGPL AFL"
-SRC_URI = "http://hal.freedesktop.org/releases/hal-${PV}.tar.gz"
-
-S = "${WORKDIR}/hal-${PV}"
-
-inherit autotools pkgconfig
+LICENSE = "GPLv2+ | AFL"
DEPENDS = "virtual/kernel dbus-glib udev intltool intltool-native expat libusb gperf-native"
RDEPENDS += "udev hal-info"
RRECOMMENDS = "udev-utils"
+SRC_URI = "http://hal.freedesktop.org/releases/hal-${PV}.tar.gz"
SRC_URI += "file://99_hal \
file://20hal \
"
+S = "${WORKDIR}/hal-${PV}"
+
+inherit autotools pkgconfig
+
+
LEAD_SONAME = "libhal.so"
# 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 21fde21fe..85bb777d5 100644
--- a/meta/packages/hal/hal_git.bb
+++ b/meta/packages/hal/hal_git.bb
@@ -1,19 +1,21 @@
DESCRIPTION = "Hardware Abstraction Layer"
HOMEPAGE = "http://freedesktop.org/Software/hal"
+BUGTRACKER = "http://bugs.freedesktop.org/buglist.cgi?product=hal"
SECTION = "unknown"
-LICENSE = "GPL LGPL AFL"
+
+LICENSE = "GPLv2+ | AFL"
DEPENDS = "virtual/kernel dbus-glib udev intltool-native expat libusb"
RDEPENDS_${PN} += "udev hal-info"
RRECOMMENDS_${PN} += "udev-utils"
+PV = "0.5.9.1+git${SRCDATE}"
+PR = "r4"
+
SRC_URI = "git://anongit.freedesktop.org/hal/;protocol=git \
file://20hal \
file://99_hal"
-PV = "0.5.9.1+git${SRCDATE}"
-PR = "r4"
-
S = "${WORKDIR}/git"
inherit 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 aab327314..5b97fc33b 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 @@
+DESCRIPTION = "default icon theme that all icon themes automatically inherit from."
+HOMEPAGE = "http://icon-theme.freedesktop.org/wiki/HicolorTheme"
+BUGTRACKER = "https://bugs.freedesktop.org/"
+
+LICENSE = "GPLv2"
+
SECTION = "unknown"
-LICENSE = "GPL"
inherit gnome
PR = "r3"
diff --git a/meta/packages/jpeg/jpeg_6b.bb b/meta/packages/jpeg/jpeg_6b.bb
index 10c578caa..87293676d 100644
--- a/meta/packages/jpeg/jpeg_6b.bb
+++ b/meta/packages/jpeg/jpeg_6b.bb
@@ -1,5 +1,9 @@
DESCRIPTION = "libjpeg is a library for handling the JPEG (JFIF) image format."
+HOMEPAGE = "http://www.ijg.org/"
+BUGTRACKER = ""
+
LICENSE ="jpeg"
+
SECTION = "libs"
PRIORITY = "required"
diff --git a/meta/packages/js/js_1.5.bb b/meta/packages/js/js_1.5.bb
index ce763338d..fe8c8c2b9 100644
--- a/meta/packages/js/js_1.5.bb
+++ b/meta/packages/js/js_1.5.bb
@@ -1,12 +1,15 @@
-LICENSE = "GPL"
-DESCRIPTION = "A JavaScript engine"
+DESCRIPTION = "Spidermonkey: a javascript engine written in C"
+HOMEPAGE = "http://www.mozilla.org/js/spidermonkey/"
SECTION = "libs"
+
+# the package is licensed under either of the following
+LICENSE = "MPL1.1 | GPLv2+ | LGPLv2.1+"
DEPENDS = "readline"
+PR = "r1"
SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/js/older-packages/js-1.5.tar.gz \
file://link_with_gcc.patch;patch=1 \
file://usepic.patch;patch=1 \
file://jsautocfg.h"
-PR = "r1"
S = "${WORKDIR}/js/src"
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 bf6f64003..000000000
--- a/meta/packages/kexec/kexec-tools-1.101/kexec-arm-atags.patch
+++ /dev/null
@@ -1,294 +0,0 @@
----
- kexec/arch/arm/kexec-zImage-arm.c | 259 ++++++++++++++++++++++++++++++++++++--
- 1 file changed, 252 insertions(+), 7 deletions(-)
-
-Index: kexec-tools-1.101/kexec/arch/arm/kexec-zImage-arm.c
-===================================================================
---- kexec-tools-1.101.orig/kexec/arch/arm/kexec-zImage-arm.c 2007-12-26 21:17:07.000000000 +0000
-+++ kexec-tools-1.101/kexec/arch/arm/kexec-zImage-arm.c 2007-12-27 01:24:25.000000000 +0000
-@@ -1,11 +1,83 @@
-+/*
-+ * - 08/21/2007 ATAG support added by Uli Luckas <u.luckas@road.de>
-+ *
-+ */
- #define _GNU_SOURCE
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- #include <errno.h>
- #include <limits.h>
-+#include <stdint.h>
-+#include <getopt.h>
-+#include <arch/options.h>
-+#include <asm/page.h>
- #include "../../kexec.h"
-
-+#define COMMAND_LINE_SIZE 1024
-+#define BOOT_PARAMS_SIZE 1536
-+
-+struct tag_header {
-+ uint32_t size;
-+ uint32_t tag;
-+};
-+
-+/* The list must start with an ATAG_CORE node */
-+#define ATAG_CORE 0x54410001
-+
-+struct tag_core {
-+ uint32_t flags; /* bit 0 = read-only */
-+ uint32_t pagesize;
-+ uint32_t rootdev;
-+};
-+
-+/* it is allowed to have multiple ATAG_MEM nodes */
-+#define ATAG_MEM 0x54410002
-+
-+struct tag_mem32 {
-+ uint32_t size;
-+ uint32_t start; /* physical start address */
-+};
-+
-+/* describes where the compressed ramdisk image lives (virtual address) */
-+/*
-+ * this one accidentally used virtual addresses - as such,
-+ * it's deprecated.
-+ */
-+#define ATAG_INITRD 0x54410005
-+
-+/* describes where the compressed ramdisk image lives (physical address) */
-+#define ATAG_INITRD2 0x54420005
-+
-+struct tag_initrd {
-+ uint32_t start; /* physical start address */
-+ uint32_t size; /* size of compressed ramdisk image in bytes */
-+};
-+
-+/* command line: \0 terminated string */
-+#define ATAG_CMDLINE 0x54410009
-+
-+struct tag_cmdline {
-+ char cmdline[1]; /* this is the minimum size */
-+};
-+
-+/* The list ends with an ATAG_NONE node. */
-+#define ATAG_NONE 0x00000000
-+
-+struct tag {
-+ struct tag_header hdr;
-+ union {
-+ struct tag_core core;
-+ struct tag_mem32 mem;
-+ struct tag_initrd initrd;
-+ struct tag_cmdline cmdline;
-+ } u;
-+};
-+
-+#define tag_next(t) ((struct tag *)((uint32_t *)(t) + (t)->hdr.size))
-+#define byte_size(t) ((t)->hdr.size << 2)
-+#define tag_size(type) ((sizeof(struct tag_header) + sizeof(struct type) + 3) >> 2)
-+
- int zImage_arm_probe(const char *buf, off_t len)
- {
- /*
-@@ -14,21 +86,194 @@ int zImage_arm_probe(const char *buf, of
- */
- return 0;
- }
-+
- void zImage_arm_usage(void)
- {
-+ printf( " --command-line=STRING Set the kernel command line to STRING.\n"
-+ " --append=STRING Set the kernel command line to STRING.\n"
-+ " --initrd=FILE Use FILE as the kernel's initial ramdisk.\n"
-+ " --ramdisk=FILE Use FILE as the kernel's initial ramdisk.\n"
-+ );
- }
--int zImage_arm_load(int argc, char **argv, const char *buf, off_t len,
-+
-+static
-+struct tag * atag_read_tags(void)
-+{
-+ static unsigned long buf[BOOT_PARAMS_SIZE];
-+ const char fn[]= "/proc/atags";
-+ FILE *fp;
-+ fp = fopen(fn, "r");
-+ if (!fp) {
-+ fprintf(stderr, "Cannot open %s: %s\n",
-+ fn, strerror(errno));
-+ return NULL;
-+ }
-+
-+ fread(buf, sizeof(buf[1]), BOOT_PARAMS_SIZE, fp);
-+ if (ferror(fp)) {
-+ fprintf(stderr, "Cannot read %s: %s\n",
-+ fn, strerror(errno));
-+ fclose(fp);
-+ return NULL;
-+ }
-+
-+ fclose(fp);
-+ return (struct tag *) buf;
-+}
-+
-+
-+static
-+int atag_arm_load(struct kexec_info *info, unsigned long base,
-+ const char *command_line, off_t command_line_len,
-+ const char *initrd, off_t initrd_len)
-+{
-+ struct tag *saved_tags = atag_read_tags();
-+ char *buf;
-+ off_t len;
-+ struct tag *params;
-+ uint32_t *initrd_start;
-+
-+ buf = xmalloc(getpagesize());
-+ if (!buf) {
-+ fprintf(stderr, "Compiling ATAGs: out of memory\n");
-+ return -1;
-+ }
-+
-+ memset(buf, 0xff, getpagesize());
-+ params = (struct tag *)buf;
-+
-+ if (saved_tags) {
-+ // Copy tags
-+ saved_tags = (struct tag *) saved_tags;
-+ while(byte_size(saved_tags)) {
-+ switch (saved_tags->hdr.tag) {
-+ case ATAG_INITRD:
-+ case ATAG_INITRD2:
-+ case ATAG_CMDLINE:
-+ case ATAG_NONE:
-+ // skip these tags
-+ break;
-+ default:
-+ // copy all other tags
-+ memcpy(params, saved_tags, byte_size(saved_tags));
-+ params = tag_next(params);
-+ }
-+ saved_tags = tag_next(saved_tags);
-+ }
-+ } else {
-+ params->hdr.size = 2;
-+ params->hdr.tag = ATAG_CORE;
-+ params = tag_next(params);
-+ }
-+
-+ if (initrd) {
-+ params->hdr.size = tag_size(tag_initrd);
-+ params->hdr.tag = ATAG_INITRD2;
-+ initrd_start = &params->u.initrd.start;
-+ params->u.initrd.size = initrd_len;
-+ params = tag_next(params);
-+ }
-+
-+ if (command_line) {
-+ params->hdr.size = (sizeof(struct tag_header) + command_line_len + 3) >> 2;
-+ params->hdr.tag = ATAG_CMDLINE;
-+ memcpy(params->u.cmdline.cmdline, command_line,
-+ command_line_len);
-+ params->u.cmdline.cmdline[command_line_len - 1] = '\0';
-+ params = tag_next(params);
-+ }
-+
-+ params->hdr.size = 0;
-+ params->hdr.tag = ATAG_NONE;
-+
-+ len = ((char *)params - buf) + sizeof(struct tag_header);
-+
-+ add_segment(info, buf, len, base, len);
-+
-+ if (initrd) {
-+ struct memory_range *range;
-+ int ranges;
-+ get_memory_ranges(&range, &ranges);
-+ *initrd_start = locate_hole(info, initrd_len, getpagesize(), range[0].start + 0x800000, ULONG_MAX, INT_MAX);
-+ if (*initrd_start == ULONG_MAX)
-+ return -1;
-+ add_segment(info, initrd, initrd_len, *initrd_start, initrd_len);
-+ }
-+
-+ return 0;
-+}
-+
-+int zImage_arm_load(int argc, char **argv, const char *buf, off_t len,
- struct kexec_info *info)
- {
- unsigned long base;
-- unsigned int offset = 0x8000; /* 32k offset from memory start */
-+ unsigned int atag_offset = 0x1000; /* 4k offset from memory start */
-+ unsigned int offset = 0x8000; /* 32k offset from memory start */
-+ const char *command_line;
-+ off_t command_line_len;
-+ const char *ramdisk;
-+ char *ramdisk_buf;
-+ off_t ramdisk_length;
-+ int opt;
-+#define OPT_APPEND 'a'
-+#define OPT_RAMDISK 'r'
-+ static const struct option options[] = {
-+ KEXEC_ARCH_OPTIONS
-+ { "command-line", 1, 0, OPT_APPEND },
-+ { "append", 1, 0, OPT_APPEND },
-+ { "initrd", 1, 0, OPT_RAMDISK },
-+ { "ramdisk", 1, 0, OPT_RAMDISK },
-+ { 0, 0, 0, 0 },
-+ };
-+ static const char short_options[] = KEXEC_ARCH_OPT_STR "a:r:";
-+
-+ /*
-+ * Parse the command line arguments
-+ */
-+ command_line = 0;
-+ command_line_len = 0;
-+ ramdisk = 0;
-+ ramdisk_buf = 0;
-+ ramdisk_length = 0;
-+ while((opt = getopt_long(argc, argv, short_options, options, 0)) != -1) {
-+ switch(opt) {
-+ default:
-+ /* Ignore core options */
-+ if (opt < OPT_ARCH_MAX) {
-+ break;
-+ }
-+ case '?':
-+ usage();
-+ return -1;
-+ case OPT_APPEND:
-+ command_line = optarg;
-+ break;
-+ case OPT_RAMDISK:
-+ ramdisk = optarg;
-+ break;
-+ }
-+ }
-+ if (command_line) {
-+ command_line_len = strlen(command_line) + 1;
-+ if (command_line_len > COMMAND_LINE_SIZE)
-+ command_line_len = COMMAND_LINE_SIZE;
-+ }
-+ if (ramdisk) {
-+ ramdisk_buf = slurp_file(ramdisk, &ramdisk_length);
-+ }
-+
- base = locate_hole(info,len+offset,0,0,ULONG_MAX,INT_MAX);
- if (base == ULONG_MAX)
-- {
- return -1;
-- }
-- base += offset;
-- add_segment(info,buf,len,base,len);
-- info->entry = (void*)base;
-+
-+ if (atag_arm_load(info, base + atag_offset,
-+ command_line, command_line_len,
-+ ramdisk_buf, ramdisk_length) == -1)
-+ return -1;
-+
-+ add_segment(info, buf, len, base + offset, len);
-+
-+ info->entry = (void*)base + offset;
-+
- return 0;
- }
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 6e43b7609..000000000
--- a/meta/packages/kexec/kexec-tools-1.101/kexec-tools-arm.patch
+++ /dev/null
@@ -1,417 +0,0 @@
-Index: kexec-tools-1.101/kexec/arch/arm/include/arch/options.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ kexec-tools-1.101/kexec/arch/arm/include/arch/options.h 2006-02-06 18:28:37.027097280 +0100
-@@ -0,0 +1,11 @@
-+#ifndef KEXEC_ARCH_ARM_OPTIONS_H
-+#define KEXEC_ARCH_ARM_OPTIONS_H
-+
-+#define OPT_ARCH_MAX (OPT_MAX+0)
-+
-+#define KEXEC_ARCH_OPTIONS \
-+ KEXEC_OPTIONS \
-+
-+#define KEXEC_ARCH_OPT_STR KEXEC_OPT_STR ""
-+
-+#endif /* KEXEC_ARCH_ARM_OPTIONS_H */
-Index: kexec-tools-1.101/kexec/arch/arm/kexec-arm.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ kexec-tools-1.101/kexec/arch/arm/kexec-arm.c 2006-02-06 18:28:37.027097280 +0100
-@@ -0,0 +1,138 @@
-+/*
-+ * kexec: Linux boots Linux
-+ *
-+ * modified from kexec-ppc.c
-+ *
-+ */
-+
-+#define _GNU_SOURCE
-+#include <stddef.h>
-+#include <stdio.h>
-+#include <errno.h>
-+#include <stdint.h>
-+#include <string.h>
-+#include <getopt.h>
-+#include <sys/utsname.h>
-+#include "../../kexec.h"
-+#include "../../kexec-syscall.h"
-+#include "kexec-arm.h"
-+#include <arch/options.h>
-+
-+#define MAX_MEMORY_RANGES 64
-+#define MAX_LINE 160
-+static struct memory_range memory_range[MAX_MEMORY_RANGES];
-+
-+/* Return a sorted list of available memory ranges. */
-+int get_memory_ranges(struct memory_range **range, int *ranges)
-+{
-+ const char iomem[]= "/proc/iomem";
-+ int memory_ranges = 0;
-+ char line[MAX_LINE];
-+ FILE *fp;
-+ fp = fopen(iomem, "r");
-+ if (!fp) {
-+ fprintf(stderr, "Cannot open %s: %s\n",
-+ iomem, strerror(errno));
-+ return -1;
-+ }
-+
-+ while(fgets(line, sizeof(line), fp) != 0) {
-+ unsigned long long start, end;
-+ char *str;
-+ int type;
-+ int consumed;
-+ int count;
-+ if (memory_ranges >= MAX_MEMORY_RANGES)
-+ break;
-+ count = sscanf(line, "%Lx-%Lx : %n",
-+ &start, &end, &consumed);
-+ if (count != 2)
-+ continue;
-+ str = line + consumed;
-+ end = end + 1;
-+
-+ if (memcmp(str, "System RAM\n", 11) == 0) {
-+ type = RANGE_RAM;
-+ }
-+ else if (memcmp(str, "reserved\n", 9) == 0) {
-+ type = RANGE_RESERVED;
-+ }
-+ else {
-+ continue;
-+ }
-+
-+ memory_range[memory_ranges].start = start;
-+ memory_range[memory_ranges].end = end;
-+ memory_range[memory_ranges].type = type;
-+ memory_ranges++;
-+ }
-+ fclose(fp);
-+ *range = memory_range;
-+ *ranges = memory_ranges;
-+ return 0;
-+}
-+
-+/* Supported file types and callbacks */
-+struct file_type file_type[] = {
-+ {"zImage", zImage_arm_probe, zImage_arm_load, zImage_arm_usage},
-+};
-+int file_types = sizeof(file_type) / sizeof(file_type[0]);
-+
-+
-+void arch_usage(void)
-+{
-+}
-+
-+static struct {
-+} arch_options = {
-+};
-+int arch_process_options(int argc, char **argv)
-+{
-+ static const struct option options[] = {
-+ KEXEC_ARCH_OPTIONS
-+ { 0, 0, NULL, 0 },
-+ };
-+ static const char short_options[] = KEXEC_ARCH_OPT_STR;
-+ int opt;
-+ unsigned long value;
-+ char *end;
-+
-+ opterr = 0; /* Don't complain about unrecognized options here */
-+ while((opt = getopt_long(argc, argv, short_options, options, 0)) != -1) {
-+ switch(opt) {
-+ default:
-+ break;
-+ }
-+ }
-+ /* Reset getopt for the next pass; called in other source modules */
-+ opterr = 1;
-+ optind = 1;
-+ return 0;
-+}
-+
-+int arch_compat_trampoline(struct kexec_info *info, unsigned long *flags)
-+{
-+ int result;
-+ struct utsname utsname;
-+ result = uname(&utsname);
-+ if (result < 0) {
-+ fprintf(stderr, "uname failed: %s\n",
-+ strerror(errno));
-+ return -1;
-+ }
-+ if (strncmp(utsname.machine, "arm",3) == 0)
-+ {
-+ *flags |= KEXEC_ARCH_ARM;
-+ }
-+ else {
-+ fprintf(stderr, "Unsupported machine type: %s\n",
-+ utsname.machine);
-+ return -1;
-+ }
-+ return 0;
-+}
-+
-+void arch_update_purgatory(struct kexec_info *info)
-+{
-+}
-+
-Index: kexec-tools-1.101/kexec/arch/arm/kexec-arm.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ kexec-tools-1.101/kexec/arch/arm/kexec-arm.h 2006-02-06 18:28:37.028097128 +0100
-@@ -0,0 +1,9 @@
-+#ifndef KEXEC_ARM_H
-+#define KEXEC_ARM_H
-+
-+int zImage_arm_probe(const char *buf, off_t len);
-+int zImage_arm_load(int argc, char **argv, const char *buf, off_t len,
-+ struct kexec_info *info);
-+void zImage_arm_usage(void);
-+
-+#endif /* KEXEC_ARM_H */
-Index: kexec-tools-1.101/kexec/arch/arm/kexec-elf-rel-arm.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ kexec-tools-1.101/kexec/arch/arm/kexec-elf-rel-arm.c 2006-02-06 18:28:37.028097128 +0100
-@@ -0,0 +1,35 @@
-+#include <stdio.h>
-+#include <elf.h>
-+#include "../../kexec.h"
-+#include "../../kexec-elf.h"
-+
-+int machine_verify_elf_rel(struct mem_ehdr *ehdr)
-+{
-+ if (ehdr->ei_data != ELFDATA2MSB) {
-+ return 0;
-+ }
-+ if (ehdr->ei_class != ELFCLASS32) {
-+ return 0;
-+ }
-+ if (ehdr->e_machine != EM_ARM)
-+ {
-+ return 0;
-+ }
-+ return 1;
-+}
-+
-+void machine_apply_elf_rel(struct mem_ehdr *ehdr, unsigned long r_type,
-+ void *location, unsigned long address, unsigned long value)
-+{
-+ switch(r_type) {
-+ case R_ARM_ABS32:
-+ *((uint32_t *)location) += value;
-+ break;
-+ case R_ARM_REL32:
-+ *((uint32_t *)location) += value - address;
-+ break;
-+ default:
-+ die("Unknown rel relocation: %lu\n", r_type);
-+ break;
-+ }
-+}
-Index: kexec-tools-1.101/kexec/arch/arm/kexec-zImage-arm.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ kexec-tools-1.101/kexec/arch/arm/kexec-zImage-arm.c 2006-02-06 18:28:37.028097128 +0100
-@@ -0,0 +1,34 @@
-+#define _GNU_SOURCE
-+#include <stdio.h>
-+#include <string.h>
-+#include <stdlib.h>
-+#include <errno.h>
-+#include <limits.h>
-+#include "../../kexec.h"
-+
-+int zImage_arm_probe(const char *buf, off_t len)
-+{
-+ /*
-+ * Only zImage loading is supported. Do not check if
-+ * the buffer is valid kernel image
-+ */
-+ return 0;
-+}
-+void zImage_arm_usage(void)
-+{
-+}
-+int zImage_arm_load(int argc, char **argv, const char *buf, off_t len,
-+ struct kexec_info *info)
-+{
-+ unsigned long base;
-+ unsigned int offset = 0x8000; /* 32k offset from memory start */
-+ base = locate_hole(info,len+offset,0,0,ULONG_MAX,INT_MAX);
-+ if (base == ULONG_MAX)
-+ {
-+ return -1;
-+ }
-+ base += offset;
-+ add_segment(info,buf,len,base,len);
-+ info->entry = (void*)base;
-+ return 0;
-+}
-Index: kexec-tools-1.101/kexec/arch/arm/Makefile
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ kexec-tools-1.101/kexec/arch/arm/Makefile 2006-02-06 18:28:37.028097128 +0100
-@@ -0,0 +1,8 @@
-+#
-+# kexec arm (linux booting linux)
-+#
-+KEXEC_C_SRCS+= kexec/arch/arm/kexec-elf-rel-arm.c
-+KEXEC_C_SRCS+= kexec/arch/arm/kexec-zImage-arm.c
-+KEXEC_C_SRCS+= kexec/arch/arm/kexec-arm.c
-+
-+KEXEC_S_SRCS+=
-Index: kexec-tools-1.101/kexec/kexec.c
-===================================================================
---- kexec-tools-1.101.orig/kexec/kexec.c 2005-01-13 14:24:29.000000000 +0100
-+++ kexec-tools-1.101/kexec/kexec.c 2006-02-06 18:28:37.029096976 +0100
-@@ -187,7 +187,7 @@
- }
-
- /* Compute the free memory ranges */
-- max_mem_ranges = memory_ranges + (info->nr_segments -1);
-+ max_mem_ranges = memory_ranges + (info->nr_segments);
- mem_range = malloc(max_mem_ranges *sizeof(struct memory_range));
- mem_ranges = 0;
-
-Index: kexec-tools-1.101/kexec/kexec-syscall.h
-===================================================================
---- kexec-tools-1.101.orig/kexec/kexec-syscall.h 2005-01-06 07:59:50.000000000 +0100
-+++ kexec-tools-1.101/kexec/kexec-syscall.h 2006-02-06 18:28:37.029096976 +0100
-@@ -37,6 +37,9 @@
- #ifdef __x86_64__
- #define __NR_kexec_load 246
- #endif
-+#ifdef __arm__
-+#define __NR_kexec_load __NR_SYSCALL_BASE + 347
-+#endif
- #ifndef __NR_kexec_load
- #error Unknown processor architecture. Needs a kexec_load syscall number.
- #endif
-@@ -67,6 +70,7 @@
- #define KEXEC_ARCH_PPC (20 << 16)
- #define KEXEC_ARCH_PPC64 (21 << 16)
- #define KEXEC_ARCH_IA_64 (50 << 16)
-+#define KEXEC_ARCH_ARM (40 << 16)
-
- #define KEXEC_MAX_SEGMENTS 8
-
-Index: kexec-tools-1.101/purgatory/arch/arm/include/limits.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ kexec-tools-1.101/purgatory/arch/arm/include/limits.h 2006-02-06 18:28:37.031096672 +0100
-@@ -0,0 +1,58 @@
-+#ifndef LIMITS_H
-+#define LIMITS_H 1
-+
-+
-+/* Number of bits in a `char' */
-+#define CHAR_BIT 8
-+
-+/* Minimum and maximum values a `signed char' can hold */
-+#define SCHAR_MIN (-128)
-+#define SCHAR_MAX 127
-+
-+/* Maximum value an `unsigned char' can hold. (Minimum is 0.) */
-+#define UCHAR_MAX 255
-+
-+/* Minimum and maximum values a `char' can hold */
-+#define CHAR_MIN SCHAR_MIN
-+#define CHAR_MAX SCHAR_MAX
-+
-+/* Minimum and maximum values a `signed short int' can hold */
-+#define SHRT_MIN (-32768)
-+#define SHRT_MAX 32767
-+
-+/* Maximum value an `unsigned short' can hold. (Minimum is 0.) */
-+#define USHRT_MAX 65535
-+
-+
-+/* Minimum and maximum values a `signed int' can hold */
-+#define INT_MIN (-INT_MAX - 1)
-+#define INT_MAX 2147483647
-+
-+/* Maximum value an `unsigned int' can hold. (Minimum is 0.) */
-+#define UINT_MAX 4294967295U
-+
-+
-+/* Minimum and maximum values a `signed int' can hold */
-+#define INT_MIN (-INT_MAX - 1)
-+#define INT_MAX 2147483647
-+
-+/* Maximum value an `unsigned int' can hold. (Minimum is 0.) */
-+#define UINT_MAX 4294967295U
-+
-+/* Minimum and maximum values a `signed long' can hold */
-+#define LONG_MAX 2147483647L
-+#define LONG_MIN (-LONG_MAX - 1L)
-+
-+/* Maximum value an `unsigned long' can hold. (Minimum is 0.) */
-+#define ULONG_MAX 4294967295UL
-+
-+/* Minimum and maximum values a `signed long long' can hold */
-+#define LLONG_MAX 9223372036854775807LL
-+#define LLONG_MIN (-LONG_MAX - 1LL)
-+
-+
-+/* Maximum value an `unsigned long long' can hold. (Minimum is 0.) */
-+#define ULLONG_MAX 18446744073709551615ULL
-+
-+
-+#endif /* LIMITS_H */
-Index: kexec-tools-1.101/purgatory/arch/arm/include/stdint.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ kexec-tools-1.101/purgatory/arch/arm/include/stdint.h 2006-02-06 18:28:37.031096672 +0100
-@@ -0,0 +1,16 @@
-+#ifndef STDINT_H
-+#define STDINT_H
-+
-+typedef unsigned long size_t;
-+
-+typedef unsigned char uint8_t;
-+typedef unsigned short uint16_t;
-+typedef unsigned int uint32_t;
-+typedef unsigned long long uint64_t;
-+
-+typedef signed char int8_t;
-+typedef signed short int16_t;
-+typedef signed int int32_t;
-+typedef signed long long int64_t;
-+
-+#endif /* STDINT_H */
-Index: kexec-tools-1.101/purgatory/arch/arm/Makefile
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ kexec-tools-1.101/purgatory/arch/arm/Makefile 2006-02-06 18:28:37.031096672 +0100
-@@ -0,0 +1,7 @@
-+#
-+# Purgatory arm
-+#
-+
-+PURGATORY_S_SRCS +=
-+PURGATORY_C_SRCS +=
-+
-Index: kexec-tools-1.101/configure.ac
-===================================================================
---- kexec-tools-1.101.orig/configure.ac 2005-01-09 02:36:57.000000000 +0100
-+++ kexec-tools-1.101/configure.ac 2006-02-06 18:30:19.274553304 +0100
-@@ -25,12 +25,15 @@
- powerpc )
- host_cpu="ppc"
- ;;
-+ arm* )
-+ host_cpu="arm"
-+ ;;
- * )
- host_cpu="$host_cpu"
- ;;
- esac
- case $host_cpu in
-- i386|ppc|x86_64|alpha|ppc64|ia64)
-+ i386|ppc|x86_64|alpha|ppc64|ia64|arm)
- ;;
- * )
- 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 b0a1a049e..000000000
--- a/meta/packages/kexec/kexec-tools-1.101/recentheader.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Index: kexec-tools-1.101/kexec/arch/i386/kexec-multiboot-x86.c
-===================================================================
---- kexec-tools-1.101.orig/kexec/arch/i386/kexec-multiboot-x86.c 2009-06-12 12:09:04.000000000 +0100
-+++ kexec-tools-1.101/kexec/arch/i386/kexec-multiboot-x86.c 2009-06-12 12:09:44.000000000 +0100
-@@ -47,7 +47,6 @@
- #include <getopt.h>
- #include <elf.h>
- #include <boot/elf_boot.h>
--#include <asm/page.h>
- #include <ip_checksum.h>
- #include "../../kexec.h"
- #include "../../kexec-elf.h"
-@@ -341,7 +340,7 @@
- /* Pick the next aligned spot to load it in */
- freespace = add_buffer(info,
- buf, mod_size, mod_size,
-- PAGE_SIZE, 0, 0xffffffffUL, 1);
-+ getpagesize(), 0, 0xffffffffUL, 1);
-
- /* Add the module command line */
- sprintf(mod_clp, "%s", mod_command_line);
-Index: kexec-tools-1.101/kexec/arch/arm/kexec-zImage-arm.c
-===================================================================
---- kexec-tools-1.101.orig/kexec/arch/arm/kexec-zImage-arm.c 2009-07-07 13:24:17.000000000 +0100
-+++ kexec-tools-1.101/kexec/arch/arm/kexec-zImage-arm.c 2009-07-07 13:24:56.000000000 +0100
-@@ -11,7 +11,7 @@
- #include <stdint.h>
- #include <getopt.h>
- #include <arch/options.h>
--#include <asm/page.h>
-+#include <unistd.h>
- #include "../../kexec.h"
-
- #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 60c55f08e..1f0b50773 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 @@
+kexec-tools: Fix synatx error with recent autoconf+automake
+
+Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
+
+Move it to kexec-tools-2.0.1 directory. Dongxiao Xu <dongxiao.xu@intel.com>
+
Index: kexec-tools-1.101/configure.ac
===================================================================
--- 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 8b8c70af6..1b2861841 100644
--- a/meta/packages/kexec/kexec-tools.inc
+++ b/meta/packages/kexec/kexec-tools.inc
@@ -1,16 +1,15 @@
DESCRIPTION = "Kexec is a fast reboot feature that lets you reboot to a new Linux kernel"
AUTHOR = "Eric Biederman"
-HOMEPAGE = "http://www.xmission.com/~ebiederm/files/kexec/"
+HOMEPAGE = "http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools/"
SECTION = "kernel/userland"
-LICENSE = "GPL"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a \
+ file://kexec/kexec.c;beginline=1;endline=20;md5=af10f6ae4a8715965e648aa687ad3e09"
DEPENDS = "virtual/kernel zlib"
+SRC_URI = "http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools//kexec-tools-${PV}.tar.gz \
+ file://configurefix.patch;patch=1"
+
inherit autotools
COMPATIBLE_HOST = '(x86_64|i.86.*|arm.*)-(linux|freebsd.*)'
-
-SRC_URI = "http://www.xmission.com/~ebiederm/files/kexec/kexec-tools-${PV}.tar.gz \
- file://kexec-tools-arm.patch;patch=1 \
- file://kexec-arm-atags.patch;patch=1 \
- file://recentheader.patch;patch=1 \
- 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 949f22cf1..758d3ec9f 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
export LDFLAGS = "-L${STAGING_LIBDIR}"
EXTRA_OECONF = " --with-zlib=yes"
-PR = "r8"
+PR = "r0"
diff --git a/meta/packages/less/less_418.bb b/meta/packages/less/less_436.bb
index d63e2c329..872a127f4 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 \
programs. Less offers many features beyond those that more does."
HOMEPAGE = "http://www.greenwoodsoftware.com/"
SECTION = "console/utils"
-LICENSE = "BSD"
+
+# (GPLv2+ (<< 418), GPLv3+ (>= 418)) | less
+# less is a 2-clause BSD-like permissive license
+LICENSE = "GPLv3+ | less"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE;md5=fd5ccf3de28f72a0254fa8768ec8180c"
DEPENDS = "ncurses"
+PR = "r0"
+
+SRC_URI = "http://www.greenwoodsoftware.com/${PN}/${PN}-${PV}.tar.gz"
-SRC_URI = "${GNU_MIRROR}/less/less-${PV}.tar.gz"
inherit autotools update-alternatives
diff --git a/meta/packages/libfakekey/libfakekey_svn.bb b/meta/packages/libfakekey/libfakekey_svn.bb
index 479ef2cd3..cb835445b 100644
--- a/meta/packages/libfakekey/libfakekey_svn.bb
+++ b/meta/packages/libfakekey/libfakekey_svn.bb
@@ -1,5 +1,9 @@
DESCRIPTION = "Matchbox keyboard"
-LICENSE = "GPL"
+HOMEPAGE = "http://matchbox-project.org/"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+LICENSE = "LGPLv2+"
+
DEPENDS = "libxtst"
SECTION = "x11/wm"
PV = "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 abb8e1150..3ff3630fc 100644
--- a/meta/packages/libglade/libglade_2.6.2.bb
+++ b/meta/packages/libglade/libglade_2.6.2.bb
@@ -1,5 +1,9 @@
-LICENSE = "LGPL"
DESCRIPTION = "Runtime support for GTK interface builder"
+HOMEPAGE = "http://library.gnome.org/devel/libglade/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "LGPLv2 & LGPLv2+"
+
SECTION = "libs"
PRIORITY = "optional"
DEPENDS = "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 c34100e25..d5c6fe80b 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 @@
DESCRIPTION = "GPG-Error library"
SECTION = "libs"
-PRIORITY = "optional"
-LICENSE = "GPL LGPL FDL"
+LICENSE = "GPLv2+ & LGPLv2.1+"
DEPENDS = "gettext"
SRC_URI = "ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-${PV}.tar.bz2 \
- file://pkgconfig.patch;patch=1"
+ file://pkgconfig.patch;"
# move libgpg-error-config into -dev package
FILES_${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 cf5c6e192..07cdb9647 100644
--- a/meta/packages/libidn/libidn_0.5.19.bb
+++ b/meta/packages/libidn/libidn_0.5.19.bb
@@ -1,7 +1,8 @@
-LICENSE = "LGPL"
DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group."
+HOMEPAGE = "http://www.gnu.org/software/libidn/"
SECTION = "libs"
-PRIORITY = "optional"
+# change to GPLv3 for >1.0 version
+LICENSE = "LGPLv2.1+ & GPLv2+"
PR = "r1"
inherit 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 04ee4d69d..46a9cd49f 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 @@
DESCRIPTION = "NSS module for Multicast DNS name resolution"
HOMEPAGE = "http://0pointer.de/lennart/projects/nss-mdns/"
-LICENSE = "GPL"
SECTION = "libs"
PRIORITY = "optional"
+LICENSE = "LGPLv2.1+"
+
PR = "r0"
EXTRA_OECONF = "--libdir=/lib"
diff --git a/meta/packages/libpng/libpng_1.2.20.bb b/meta/packages/libpng/libpng_1.2.20.bb
index 8f727719b..c6f9d2f64 100644
--- a/meta/packages/libpng/libpng_1.2.20.bb
+++ b/meta/packages/libpng/libpng_1.2.20.bb
@@ -1,13 +1,13 @@
DESCRIPTION = "PNG Library"
HOMEPAGE = "http://www.libpng.org/"
-LICENSE = "libpng"
SECTION = "libs"
+LICENSE = "libpng"
DEPENDS = "zlib"
PRIORITY = "required"
PR = "r9"
SRC_URI = "${SOURCEFORGE_MIRROR}/libpng/libpng-${PV}.tar.bz2 \
- file://makefile_fix.patch;patch=1"
+ file://makefile_fix.patch"
inherit autotools binconfig pkgconfig pkgconfig_stage
@@ -24,9 +24,9 @@ do_install() {
}
python do_package() {
- if bb.data.getVar('DEBIAN_NAMES', d, 1):
- bb.data.setVar('PKG_${PN}', 'libpng12', d)
- bb.build.exec_func('package_do_package', d)
+ if bb.data.getVar('DEBIAN_NAMES', d, 1):
+ bb.data.setVar('PKG_${PN}', 'libpng12', d)
+ bb.build.exec_func('package_do_package', d)
}
PACKAGES =+ "${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 f6a6198a9..8c5ca42ab 100644
--- a/meta/packages/libproxy/libproxy_0.2.3.bb
+++ b/meta/packages/libproxy/libproxy_0.2.3.bb
@@ -1,6 +1,8 @@
DESCRIPTION = "A library that provides automatic proxy configuration management"
HOMEPAGE = "http://code.google.com/p/libproxy/"
-LICENSE = "LGPL"
+BUGTRACKER = "http://code.google.com/p/libproxy/issues/list"
+LICENSE = "LGPLv2.1+"
+
SECTION = "libs"
DEPENDS = "virtual/libx11 xmu gconf-dbus"
@@ -13,4 +15,4 @@ inherit autotools pkgconfig
EXTRA_OECONF = "--without-kde --with-gnome --without-webkit --without-python --without-mozjs --without-networkmanager"
-FILES_${PN}-dbg += "${libdir}/libproxy/0.2.3/plugins/" \ No newline at end of file
+FILES_${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 a49e7faa2..e14e117ef 100644
--- a/meta/packages/librsvg/librsvg_svn.bb
+++ b/meta/packages/librsvg/librsvg_svn.bb
@@ -1,7 +1,10 @@
DESCRIPTION = "Library for rendering SVG files"
+HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/sources/librsvg/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
SECTION = "x11/utils"
DEPENDS = "gtk+ libcroco cairo libxml2 popt"
-LICENSE = "LGPL"
+LICENSE = "LGPLv2+"
PR = "r3"
EXTRA_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 5229e28f2..c0969ffd6 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 @@
DESCRIPTION = "An HTTP library implementation in C"
-LICENSE = "GPL"
+HOMEPAGE = "http://www.gnome.org/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "LGPLv2"
+
SECTION = "x11/gnome/libs"
DEPENDS = "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 6564d6c6a..087fe3ada 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 @@
DESCRIPTION = "libusb is a library to provide userspace \
access to USB devices."
-HOMEPAGE = "http://libusb.sf.net"
+HOMEPAGE = "http://www.libusb.org/"
+BUGTRACKER = "http://www.libusb.org/report"
SECTION = "libs"
-LICENSE = "LGPL"
+LICENSE = "LGPLv2.1+"
+DEPENDS = "libusb1"
PE = "1"
PR = "r0"
-DEPENDS = "libusb1"
SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-compat-0.1.0-beta2.tar.bz2 \
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 6f368a51c..ce6cca7f7 100644
--- a/meta/packages/libxslt/libxslt_1.1.22.bb
+++ b/meta/packages/libxslt/libxslt_1.1.22.bb
@@ -1,8 +1,12 @@
DESCRIPTION = "GNOME XSLT library"
+HOMEPAGE = "http://xmlsoft.org/XSLT/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "MIT"
+
SECTION = "libs"
PRIORITY = "optional"
DEPENDS = "libxml2 (>=2.6.27)"
-LICENSE = "MIT"
PR = "r3"
SRC_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 000000000..81583fc40
--- /dev/null
+++ b/meta/packages/linux-firmware/linux-firmware_git.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "Firmware files for use with Linux kernel"
+SECTION = "kernel"
+LICENSE = "Proprietary"
+LICENSE_${PN}-sd8686 = "Firmware:LICENSE.libertas"
+
+PROVIDES += "linux-firmware-sd8686"
+
+SRCREV = "85212bf6501da865e570f6b2f6fbd6f212850609"
+
+PV = "0.0+git${SRCREV}"
+
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git;protocol=git"
+
+S = "${WORKDIR}/git"
+
+do_compile() {
+ :
+}
+
+do_install() {
+ install -d ${D}/lib/firmware/
+ # Libertas sd8686
+ install -m 0666 libertas/sd8686_v9.bin ${D}/lib/firmware/sd8686.bin
+ install -m 0666 libertas/sd8686_v9_helper.bin ${D}/lib/firmware/sd8686_helper.bin
+ install -m 0666 LICENCE.libertas ${D}/lib/firmware/
+}
+
+PACKAGES = "${PN}-sd8686"
+
+FILES_${PN}-sd8686 = "/lib/firmware/sd8686* /lib/firmware/LICENCE.libertas"
+
+RPROVIDES_${PN}-sd8686 = "${PN}-sd8686"
+
+PACKAGE_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 bda886000..000000000
--- a/meta/packages/linux-libc-headers/files/unifdef.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Index: linux-2.6.20/scripts/unifdef.c
-===================================================================
---- linux-2.6.20.orig/scripts/unifdef.c
-+++ linux-2.6.20/scripts/unifdef.c
-@@ -206,7 +206,7 @@ static void done(void);
- static void error(const char *);
- static int findsym(const char *);
- static void flushline(bool);
--static Linetype getline(void);
-+static Linetype parseline(void);
- static Linetype ifeval(const char **);
- static void ignoreoff(void);
- static void ignoreon(void);
-@@ -512,7 +512,7 @@ process(void)
-
- for (;;) {
- linenum++;
-- lineval = getline();
-+ lineval = parseline();
- trans_table[ifstate[depth]][lineval]();
- debug("process %s -> %s depth %d",
- linetype_name[lineval],
-@@ -526,7 +526,7 @@ process(void)
- * help from skipcomment().
- */
- static Linetype
--getline(void)
-+parseline(void)
- {
- const char *cp;
- 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 8cdf828af..000000000
--- a/meta/packages/linux-libc-headers/linux-libc-headers-2.6.20/procinfo.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * linux/include/asm-arm/procinfo.h
- *
- * Copyright (C) 1996-1999 Russell King
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-#ifndef __ASM_PROCINFO_H
-#define __ASM_PROCINFO_H
-
-#define HWCAP_SWP 1
-#define HWCAP_HALF 2
-#define HWCAP_THUMB 4
-#define HWCAP_26BIT 8 /* Play it safe */
-#define HWCAP_FAST_MULT 16
-#define HWCAP_FPA 32
-#define HWCAP_VFP 64
-#define HWCAP_EDSP 128
-#define HWCAP_JAVA 256
-#define HWCAP_IWMMXT 512
-#define HWCAP_CRUNCH 1024
-#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 b2ebf4063..000000000
--- a/meta/packages/linux-libc-headers/linux-libc-headers-2.6.30/headerfix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: linux-2.6.30/include/linux/if_tunnel.h
-===================================================================
---- linux-2.6.30.orig/include/linux/if_tunnel.h 2009-08-27 14:34:49.000000000 +0100
-+++ linux-2.6.30/include/linux/if_tunnel.h 2009-08-27 14:35:04.000000000 +0100
-@@ -2,6 +2,7 @@
- #define _IF_TUNNEL_H_
-
- #include <linux/types.h>
-+#include <asm/byteorder.h>
-
- #ifdef __KERNEL__
- #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 1f567ca1d..e6cb1d866 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 @@
DESCRIPTION = "Sanitized set of 2.6 kernel headers for the C library's use."
SECTION = "devel"
-LICENSE = "GPL"
+LICENSE = "GPLv2"
+
+LIC_CHKSUM_FILES = "file://COPYING "
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2"
#DEPENDS = "cross-linkage"
RDEPENDS_${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 dc6338a95..719c32020 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 @@
# configuration are no longer needed, and they break setserial by making it
# believe that it should compile in the code that supports this modem.
-Index: linux-2.6.33/include/asm-generic/ioctls.h
+2010/06/16
+Created-by: Jeff Dike <jdike@linux.intel.com>
+
+Index: linux-2.6.34/include/asm-generic/ioctls.h
===================================================================
---- linux-2.6.33.orig/include/asm-generic/ioctls.h
-+++ linux-2.6.33/include/asm-generic/ioctls.h
+--- linux-2.6.34.orig/include/asm-generic/ioctls.h
++++ linux-2.6.34/include/asm-generic/ioctls.h
@@ -86,16 +86,6 @@
#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
#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 000000000..81fa5ce8c
--- /dev/null
+++ b/meta/packages/linux-libc-headers/linux-libc-headers/ppc_glibc_build_fix.patch
@@ -0,0 +1,25 @@
+stdint.h has C definitions which troubles assembler. and if asm/ptrace.h
+is included in assembler context, then it should not include the
+C-specific stdint.h file.
+ This was causing glibc building issue on ppc.
+Looks like this issue is introduced on the 2.6.34 kernel.
+
+2010-06-024
+Signed-Off-By:Nitin A Kamble <nitin.a.kamble@intel.com>
+Acked-By:Jeff Dike <jdike@linux.intel.com>
+
+Index: linux-2.6.34/arch/powerpc/include/asm/ptrace.h
+===================================================================
+--- linux-2.6.34.orig/arch/powerpc/include/asm/ptrace.h
++++ linux-2.6.34/arch/powerpc/include/asm/ptrace.h
+@@ -27,8 +27,10 @@
+ #ifdef __KERNEL__
+ #include <linux/types.h>
+ #else
++#ifndef __ASSEMBLY__
+ #include <stdint.h>
+ #endif
++#endif
+
+ #ifndef __ASSEMBLY__
+
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 e72d710c9..000000000
--- a/meta/packages/linux-libc-headers/linux-libc-headers_2.6.20.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-require linux-libc-headers.inc
-
-INHIBIT_DEFAULT_DEPS = "1"
-DEPENDS += "unifdef-native"
-PR = "r10"
-
-SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
- file://procinfo.h \
- file://unifdef.patch;patch=1"
-
-S = "${WORKDIR}/linux-${PV}"
-
-set_arch() {
- case ${TARGET_ARCH} in
- alpha*) ARCH=alpha ;;
- arm*) ARCH=arm ;;
- cris*) ARCH=cris ;;
- hppa*) ARCH=parisc ;;
- i*86*) ARCH=i386 ;;
- ia64*) ARCH=ia64 ;;
- mips*) ARCH=mips ;;
- m68k*) ARCH=m68k ;;
- powerpc*) ARCH=powerpc ;;
- s390*) ARCH=s390 ;;
- sh*) ARCH=sh ;;
- sparc64*) ARCH=sparc64 ;;
- sparc*) ARCH=sparc ;;
- x86_64*) ARCH=x86_64 ;;
- avr32*) ARCH=avr32 ;;
- bfin*) ARCH=blackfin ;;
- esac
-}
-
-do_configure() {
- set_arch
- oe_runmake allnoconfig ARCH=$ARCH
-}
-
-do_compile () {
-}
-
-do_install() {
- set_arch
- oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix} ARCH=$ARCH
-}
-
-do_install_append_arm() {
- cp ${WORKDIR}/procinfo.h ${D}${includedir}/asm/
-}
-
-BBCLASSEXTEND = "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 5b8e7a4fd..000000000
--- a/meta/packages/linux-libc-headers/linux-libc-headers_2.6.29.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-require linux-libc-headers.inc
-
-INHIBIT_DEFAULT_DEPS = "1"
-DEPENDS += "unifdef-native"
-PR = "r2"
-
-SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 "
-
-S = "${WORKDIR}/linux-${PV}"
-
-set_arch() {
- case ${TARGET_ARCH} in
- alpha*) ARCH=alpha ;;
- arm*) ARCH=arm ;;
- cris*) ARCH=cris ;;
- hppa*) ARCH=parisc ;;
- i*86*) ARCH=i386 ;;
- ia64*) ARCH=ia64 ;;
- mips*) ARCH=mips ;;
- m68k*) ARCH=m68k ;;
- powerpc*) ARCH=powerpc ;;
- s390*) ARCH=s390 ;;
- sh*) ARCH=sh ;;
- sparc64*) ARCH=sparc64 ;;
- sparc*) ARCH=sparc ;;
- x86_64*) ARCH=x86_64 ;;
- avr32*) ARCH=avr32 ;;
- bfin*) ARCH=blackfin ;;
- esac
-}
-
-do_configure() {
- set_arch
- oe_runmake allnoconfig ARCH=$ARCH
-}
-
-do_compile () {
-}
-
-do_install() {
- set_arch
- oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix} ARCH=$ARCH
-}
-
-BBCLASSEXTEND = "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 9f7c484ee..000000000
--- a/meta/packages/linux-libc-headers/linux-libc-headers_2.6.30.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-require linux-libc-headers.inc
-
-INHIBIT_DEFAULT_DEPS = "1"
-DEPENDS += "unifdef-native"
-PR = "r3"
-
-SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
- file://headerfix.patch;patch=1"
-
-S = "${WORKDIR}/linux-${PV}"
-
-set_arch() {
- case ${TARGET_ARCH} in
- alpha*) ARCH=alpha ;;
- arm*) ARCH=arm ;;
- cris*) ARCH=cris ;;
- hppa*) ARCH=parisc ;;
- i*86*) ARCH=i386 ;;
- ia64*) ARCH=ia64 ;;
- mips*) ARCH=mips ;;
- m68k*) ARCH=m68k ;;
- powerpc*) ARCH=powerpc ;;
- s390*) ARCH=s390 ;;
- sh*) ARCH=sh ;;
- sparc64*) ARCH=sparc64 ;;
- sparc*) ARCH=sparc ;;
- x86_64*) ARCH=x86_64 ;;
- avr32*) ARCH=avr32 ;;
- bfin*) ARCH=blackfin ;;
- esac
-}
-
-do_configure() {
- set_arch
- oe_runmake allnoconfig ARCH=$ARCH
-}
-
-do_compile () {
-}
-
-do_install() {
- set_arch
- oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix} ARCH=$ARCH
-}
-
-BBCLASSEXTEND = "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 a299f55c2..31c305854 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
INHIBIT_DEFAULT_DEPS = "1"
DEPENDS += "unifdef-native"
-PR = "r2"
+PR = "r0"
-SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
- file://hayes-gone.patch"
+SRC_URI += "file://hayes-gone.patch \
+ file://ppc_glibc_build_fix.patch"
S = "${WORKDIR}/linux-${PV}"
@@ -25,8 +25,8 @@ set_arch() {
sparc64*) ARCH=sparc64 ;;
sparc*) ARCH=sparc ;;
x86_64*) ARCH=x86_64 ;;
- avr32*) ARCH=avr32 ;;
- bfin*) ARCH=blackfin ;;
+ avr32*) ARCH=avr32 ;;
+ bfin*) ARCH=blackfin ;;
esac
}
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 000000000..85024f50a
--- /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 @@
+From 1a91088e389bd3bbf5d9ee1f3a15edd9edb84eb6 Mon Sep 17 00:00:00 2001
+From: Enric Balletbo i Serra <eballetbo@iseebcn.com>
+Date: Wed, 16 Jun 2010 17:41:26 +0200
+Subject: [PATCH] omap3: init MUX for OMAP3 IGEP module.
+
+Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
+---
+ arch/arm/mach-omap2/board-igep0030.c | 10 ++++++++++
+ 1 files changed, 10 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-igep0030.c b/arch/arm/mach-omap2/board-igep0030.c
+index aa99236..425b2ec 100644
+--- a/arch/arm/mach-omap2/board-igep0030.c
++++ b/arch/arm/mach-omap2/board-igep0030.c
+@@ -420,8 +420,18 @@ static void __init igep3_init_wifi_bt(void)
+ pr_warning("IGEP: Could not obtain gpio GPIO_BT_NRESET\n");
+ }
+
++#ifdef CONFIG_OMAP_MUX
++static struct omap_board_mux board_mux[] __initdata = {
++ { .reg_offset = OMAP_MUX_TERMINATOR },
++};
++#else
++#define board_mux NULL
++#endif
++
+ static void __init igep3_init(void)
+ {
++ omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
++
+ omap_serial_init();
+ usb_musb_init(&musb_board_data);
+ usb_ehci_init(&ehci_pdata);
+--
+1.7.0.4
+
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 d906338fc..65b962f77 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 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.28.10
-# Wed Jan 20 16:55:59 2010
+# Linux kernel version: 2.6.33.4
+# Mon May 17 15:56:32 2010
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
CONFIG_GENERIC_GPIO=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_MMU=y
-# CONFIG_NO_IOPORT is not set
+CONFIG_HAVE_PROC_CPU=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -18,14 +17,14 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_ARCH_HAS_CPUFREQ=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-CONFIG_OPROFILE_ARMV7=y
+CONFIG_ARM_L1_CACHE_SHIFT_6=y
CONFIG_VECTORS_BASE=0xffff0000
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
#
# General setup
@@ -35,28 +34,59 @@ CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_BZIP2 is not set
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_LZO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
-# CONFIG_POSIX_MQUEUE is not set
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
-# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+CONFIG_BSD_PROCESS_ACCT_V3=y
# CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_TINY_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=32
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
-# CONFIG_CGROUPS is not set
-CONFIG_GROUP_SCHED=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+# CONFIG_CGROUP_NS is not set
+# CONFIG_CGROUP_FREEZER is not set
+# CONFIG_CGROUP_DEVICE is not set
+# CONFIG_CPUSETS is not set
+# CONFIG_CGROUP_CPUACCT is not set
+# CONFIG_RESOURCE_COUNTERS is not set
+CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
-# CONFIG_RT_GROUP_SCHED is not set
-CONFIG_USER_SCHED=y
-# CONFIG_CGROUP_SCHED is not set
+CONFIG_RT_GROUP_SCHED=y
# CONFIG_SYSFS_DEPRECATED_V2 is not set
-# CONFIG_RELAY is not set
-# CONFIG_NAMESPACES is not set
+CONFIG_RELAY=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+# CONFIG_USER_NS is not set
+# CONFIG_PID_NS is not set
+CONFIG_NET_NS=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
@@ -65,7 +95,7 @@ CONFIG_UID16=y
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
@@ -78,69 +108,110 @@ CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_PERF_USE_VMALLOC=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_PERF_COUNTERS is not set
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_COMPAT_BRK is not set
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLOB is not set
-CONFIG_PROFILING=y
-# CONFIG_MARKERS is not set
-CONFIG_OPROFILE=y
+# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_CLK=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_SLOW_WORK=y
+# CONFIG_SLOW_WORK_DEBUG is not set
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
-# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
-# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_KMOD=y
CONFIG_BLOCK=y
-CONFIG_LBD=y
-# CONFIG_BLK_DEV_IO_TRACE is not set
-CONFIG_LSF=y
+CONFIG_LBDAF=y
# CONFIG_BLK_DEV_BSG is not set
# CONFIG_BLK_DEV_INTEGRITY is not set
+# CONFIG_BLK_CGROUP is not set
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
-# CONFIG_DEFAULT_AS is not set
+# CONFIG_CFQ_GROUP_IOSCHED is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
-CONFIG_CLASSIC_RCU=y
-CONFIG_FREEZER=y
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+CONFIG_INLINE_SPIN_UNLOCK=y
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+CONFIG_INLINE_READ_UNLOCK=y
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+CONFIG_INLINE_WRITE_UNLOCK=y
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+# CONFIG_FREEZER is not set
#
# System Type
#
+CONFIG_MMU=y
# CONFIG_ARCH_AAEC2000 is not set
# CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_REALVIEW is not set
# CONFIG_ARCH_VERSATILE is not set
# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_GEMINI is not set
# CONFIG_ARCH_EBSA110 is not set
# CONFIG_ARCH_EP93XX is not set
# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_STMP3XXX is not set
# CONFIG_ARCH_NETX is not set
# CONFIG_ARCH_H720X is not set
-# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_NOMADIK is not set
# CONFIG_ARCH_IOP13XX is not set
# CONFIG_ARCH_IOP32X is not set
# CONFIG_ARCH_IOP33X is not set
@@ -148,87 +219,89 @@ CONFIG_FREEZER=y
# CONFIG_ARCH_IXP2000 is not set
# CONFIG_ARCH_IXP4XX is not set
# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_DOVE is not set
# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
# CONFIG_ARCH_LOKI is not set
# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_MXC is not set
# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_MMP is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_W90X900 is not set
+# CONFIG_ARCH_NUC93X is not set
# CONFIG_ARCH_PNX4008 is not set
# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_MSM is not set
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_SA1100 is not set
# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_S3C64XX is not set
+# CONFIG_ARCH_S5PC1XX is not set
# CONFIG_ARCH_SHARK is not set
# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_U300 is not set
# CONFIG_ARCH_DAVINCI is not set
CONFIG_ARCH_OMAP=y
-# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_BCMRING is not set
+# CONFIG_ARCH_U8500 is not set
#
# TI OMAP Implementations
#
CONFIG_ARCH_OMAP_OTG=y
# CONFIG_ARCH_OMAP1 is not set
+CONFIG_ARCH_OMAP2PLUS=y
# CONFIG_ARCH_OMAP2 is not set
CONFIG_ARCH_OMAP3=y
+# CONFIG_ARCH_OMAP4 is not set
#
# OMAP Feature Selections
#
-# CONFIG_OMAP_DEBUG_POWERDOMAIN is not set
-# CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set
-CONFIG_OMAP_SMARTREFLEX=y
-# CONFIG_OMAP_SMARTREFLEX_TESTING is not set
-CONFIG_OMAP_RESET_CLOCKS=y
-CONFIG_OMAP_BOOT_TAG=y
-CONFIG_OMAP_BOOT_REASON=y
-# CONFIG_OMAP_COMPONENT_VERSION is not set
-# CONFIG_OMAP_GPIO_SWITCH is not set
+# CONFIG_OMAP_RESET_CLOCKS is not set
# CONFIG_OMAP_MUX is not set
CONFIG_OMAP_MCBSP=y
-# CONFIG_OMAP_MMU_FWK is not set
-# CONFIG_OMAP_MBOX_FWK is not set
+CONFIG_OMAP_MBOX_FWK=m
+CONFIG_OMAP_IOMMU=m
# CONFIG_OMAP_MPU_TIMER is not set
CONFIG_OMAP_32K_TIMER=y
+# CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set
CONFIG_OMAP_32K_TIMER_HZ=128
-CONFIG_OMAP_TICK_GPTIMER=12
CONFIG_OMAP_DM_TIMER=y
-# CONFIG_OMAP_LL_DEBUG_UART1 is not set
-# CONFIG_OMAP_LL_DEBUG_UART2 is not set
-CONFIG_OMAP_LL_DEBUG_UART3=y
-CONFIG_ARCH_OMAP34XX=y
+# CONFIG_OMAP_PM_NONE is not set
+CONFIG_OMAP_PM_NOOP=y
CONFIG_ARCH_OMAP3430=y
+CONFIG_OMAP_PACKAGE_CBB=y
#
# OMAP Board Type
#
-# CONFIG_MACH_OMAP_LDP is not set
-# CONFIG_MACH_OMAP_3430SDP is not set
-# CONFIG_MACH_OMAP3EVM is not set
# CONFIG_MACH_OMAP3_BEAGLE is not set
+# CONFIG_MACH_DEVKIT8000 is not set
+# CONFIG_MACH_OMAP_LDP is not set
# CONFIG_MACH_OVERO is not set
+# CONFIG_MACH_OMAP3EVM is not set
+# CONFIG_MACH_OMAP3517EVM is not set
# CONFIG_MACH_OMAP3_PANDORA is not set
+# CONFIG_MACH_OMAP3_TOUCHBOOK is not set
+# CONFIG_MACH_OMAP_3430SDP is not set
+# CONFIG_MACH_NOKIA_RX51 is not set
+# CONFIG_MACH_OMAP_ZOOM2 is not set
+# CONFIG_MACH_OMAP_ZOOM3 is not set
+# CONFIG_MACH_CM_T35 is not set
CONFIG_MACH_IGEP0020=y
-
-#
-# Boot options
-#
-
-#
-# Power management
-#
+# CONFIG_MACH_OMAP_3630SDP is not set
+# CONFIG_OMAP3_EMU is not set
+# CONFIG_OMAP3_SDRC_AC_TIMING is not set
#
# Processor Type
#
-CONFIG_CPU_32=y
CONFIG_CPU_32v6K=y
CONFIG_CPU_V7=y
CONFIG_CPU_32v7=y
CONFIG_CPU_ABRT_EV7=y
-CONFIG_CPU_PABRT_IFAR=y
+CONFIG_CPU_PABRT_V7=y
CONFIG_CPU_CACHE_V7=y
CONFIG_CPU_CACHE_VIPT=y
CONFIG_CPU_COPY_V6=y
@@ -246,7 +319,12 @@ CONFIG_ARM_THUMBEE=y
# CONFIG_CPU_DCACHE_DISABLE is not set
# CONFIG_CPU_BPREDICT_DISABLE is not set
CONFIG_HAS_TLS_REG=y
-# CONFIG_OUTER_CACHE is not set
+CONFIG_ARM_L1_CACHE_SHIFT=6
+CONFIG_CPU_HAS_PMU=y
+CONFIG_ARM_ERRATA_430973=y
+CONFIG_ARM_ERRATA_458693=y
+CONFIG_ARM_ERRATA_460075=y
+CONFIG_COMMON_CLKDEV=y
#
# Bus support
@@ -265,14 +343,19 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_2G is not set
# CONFIG_VMSPLIT_1G is not set
-CONFIG_PAGE_OFFSET=0xB0000000
+CONFIG_PAGE_OFFSET=0xC0000000
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
CONFIG_HZ=128
+# CONFIG_THUMB2_KERNEL is not set
CONFIG_AEABI=y
# CONFIG_OABI_COMPAT is not set
-CONFIG_ARCH_FLATMEM_HAS_HOLES=y
+CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+# CONFIG_HIGHMEM is not set
+CONFIG_HW_PERF_EVENTS=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
@@ -281,42 +364,28 @@ CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_RESOURCES_64BIT is not set
# CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=0
CONFIG_VIRT_TO_BUS=y
-CONFIG_UNEVICTABLE_LRU=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
# CONFIG_LEDS is not set
CONFIG_ALIGNMENT_TRAP=y
+# CONFIG_UACCESS_WITH_MEMCPY is not set
#
# Boot options
#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE=" debug "
+CONFIG_CMDLINE=""
# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
+# CONFIG_KEXEC is not set
#
# CPU Power Management
#
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_TABLE=y
-CONFIG_CPU_FREQ_DEBUG=y
-CONFIG_CPU_FREQ_STAT=y
-CONFIG_CPU_FREQ_STAT_DETAILS=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
-CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=y
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_ONDEMAND=y
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+# CONFIG_CPU_FREQ is not set
# CONFIG_CPU_IDLE is not set
#
@@ -336,21 +405,17 @@ CONFIG_NEON=y
CONFIG_BINFMT_ELF=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-CONFIG_BINFMT_MISC=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
#
# Power management options
#
CONFIG_PM=y
-CONFIG_PM_DEBUG=y
-# CONFIG_PM_VERBOSE is not set
-CONFIG_CAN_PM_TRACE=y
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND=y
-# CONFIG_PM_TEST_SUSPEND is not set
-CONFIG_SUSPEND_FREEZER=y
+# CONFIG_PM_DEBUG is not set
+# CONFIG_SUSPEND is not set
# CONFIG_APM_EMULATION is not set
+# CONFIG_PM_RUNTIME is not set
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_NET=y
@@ -358,65 +423,99 @@ CONFIG_NET=y
# Networking options
#
CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
CONFIG_XFRM=y
-# CONFIG_XFRM_USER is not set
+CONFIG_XFRM_USER=m
# CONFIG_XFRM_SUB_POLICY is not set
-# CONFIG_XFRM_MIGRATE is not set
+CONFIG_XFRM_MIGRATE=y
# CONFIG_XFRM_STATISTICS is not set
-CONFIG_NET_KEY=y
-# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+CONFIG_NET_KEY_MIGRATE=y
CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_ASK_IP_FIB_HASH=y
+# CONFIG_IP_FIB_TRIE is not set
CONFIG_IP_FIB_HASH=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_PNP_RARP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_XFRM_TUNNEL is not set
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
CONFIG_INET_TUNNEL=m
-CONFIG_INET_XFRM_MODE_TRANSPORT=y
-CONFIG_INET_XFRM_MODE_TUNNEL=y
-CONFIG_INET_XFRM_MODE_BEET=y
-# CONFIG_INET_LRO is not set
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
-# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+# CONFIG_DEFAULT_BIC is not set
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_HTCP is not set
+# CONFIG_DEFAULT_VEGAS is not set
+# CONFIG_DEFAULT_WESTWOOD is not set
+# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
-CONFIG_IPV6=m
-# CONFIG_IPV6_PRIVACY is not set
+CONFIG_IPV6=y
+CONFIG_IPV6_PRIVACY=y
# CONFIG_IPV6_ROUTER_PREF is not set
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
-# CONFIG_INET6_AH is not set
-# CONFIG_INET6_ESP is not set
-# CONFIG_INET6_IPCOMP is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
# CONFIG_IPV6_MIP6 is not set
-# CONFIG_INET6_XFRM_TUNNEL is not set
-# CONFIG_INET6_TUNNEL is not set
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_INET6_XFRM_MODE_BEET=m
# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
CONFIG_IPV6_SIT=m
+# CONFIG_IPV6_SIT_6RD is not set
CONFIG_IPV6_NDISC_NODETYPE=y
-# CONFIG_IPV6_TUNNEL is not set
-# CONFIG_IPV6_MULTIPLE_TABLES is not set
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+# CONFIG_IPV6_SUBTREES is not set
# CONFIG_IPV6_MROUTE is not set
# CONFIG_NETWORK_SECMARK is not set
# CONFIG_NETFILTER is not set
# CONFIG_IP_DCCP is not set
-# CONFIG_IP_SCTP is not set
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_HMAC_NONE is not set
+# CONFIG_SCTP_HMAC_SHA1 is not set
+CONFIG_SCTP_HMAC_MD5=y
+# CONFIG_RDS is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
@@ -430,7 +529,10 @@ CONFIG_IPV6_NDISC_NODETYPE=y
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
+# CONFIG_PHONET is not set
+# CONFIG_IEEE802154 is not set
# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
#
# Network testing
@@ -452,46 +554,47 @@ CONFIG_BT_HIDP=m
#
# Bluetooth device drivers
#
-# CONFIG_BT_HCIUSB is not set
-# CONFIG_BT_HCIBTUSB is not set
-# CONFIG_BT_HCIBTSDIO is not set
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_LL=y
-# CONFIG_BT_HCIBCM203X is not set
-# CONFIG_BT_HCIBPA10X is not set
-# CONFIG_BT_HCIBFUSB is not set
-# CONFIG_BT_HCIBRF6150 is not set
-# CONFIG_BT_HCIH4P is not set
-# CONFIG_BT_HCIVHCI is not set
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIVHCI=m
+# CONFIG_BT_MRVL is not set
+CONFIG_BT_ATH3K=m
# CONFIG_AF_RXRPC is not set
-# CONFIG_PHONET is not set
+CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
-CONFIG_CFG80211=y
-CONFIG_NL80211=y
-CONFIG_WIRELESS_OLD_REGULATORY=y
CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+CONFIG_CFG80211_DEBUGFS=y
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
CONFIG_WIRELESS_EXT_SYSFS=y
-CONFIG_MAC80211=y
-
-#
-# Rate control algorithm selection
-#
-CONFIG_MAC80211_RC_PID=y
-# CONFIG_MAC80211_RC_MINSTREL is not set
-CONFIG_MAC80211_RC_DEFAULT_PID=y
-# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
-CONFIG_MAC80211_RC_DEFAULT="pid"
+CONFIG_LIB80211=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+# CONFIG_MAC80211_RC_PID is not set
+CONFIG_MAC80211_RC_MINSTREL=y
+# CONFIG_MAC80211_RC_DEFAULT_PID is not set
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel"
CONFIG_MAC80211_MESH=y
# CONFIG_MAC80211_LEDS is not set
# CONFIG_MAC80211_DEBUGFS is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_IEEE80211=y
-# CONFIG_IEEE80211_DEBUG is not set
-CONFIG_IEEE80211_CRYPT_WEP=y
-CONFIG_IEEE80211_CRYPT_CCMP=y
-CONFIG_IEEE80211_CRYPT_TKIP=y
+# CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set
@@ -503,18 +606,21 @@ CONFIG_IEEE80211_CRYPT_TKIP=y
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+# CONFIG_DEVTMPFS is not set
CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
-# CONFIG_CONNECTOR is not set
+CONFIG_CONNECTOR=y
+CONFIG_PROC_EVENTS=y
CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set
-CONFIG_MTD_CONCAT=y
+CONFIG_MTD_TESTS=m
+CONFIG_MTD_CONCAT=m
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
@@ -564,6 +670,7 @@ CONFIG_MTD_CFI_I2=y
#
# CONFIG_MTD_DATAFLASH is not set
# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SST25L is not set
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
@@ -577,12 +684,17 @@ CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_DOC2001PLUS is not set
# CONFIG_MTD_NAND is not set
CONFIG_MTD_ONENAND=y
-CONFIG_MTD_ONENAND_VERIFY_WRITE=y
+# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set
# CONFIG_MTD_ONENAND_GENERIC is not set
CONFIG_MTD_ONENAND_OMAP2=y
# CONFIG_MTD_ONENAND_OTP is not set
CONFIG_MTD_ONENAND_2X_PROGRAM=y
-# CONFIG_MTD_ONENAND_SIM is not set
+CONFIG_MTD_ONENAND_SIM=m
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
#
# UBI - Unsorted block images
@@ -590,7 +702,7 @@ CONFIG_MTD_ONENAND_2X_PROGRAM=y
CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
+CONFIG_MTD_UBI_GLUEBI=m
#
# UBI debugging options
@@ -601,20 +713,34 @@ CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_CRYPTOLOOP=m
-# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_DRBD is not set
+CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=16384
+CONFIG_BLK_DEV_RAM_COUNT=1
+CONFIG_BLK_DEV_RAM_SIZE=65536
# CONFIG_BLK_DEV_XIP is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_MG_DISK is not set
CONFIG_MISC_DEVICES=y
-# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_AD525X_DPOT is not set
# CONFIG_ICS932S401 is not set
-# CONFIG_OMAP_STI is not set
# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_TI_DAC7512 is not set
# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_AT25=m
+# CONFIG_EEPROM_LEGACY is not set
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+# CONFIG_IWMC3200TOP is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
@@ -632,16 +758,11 @@ CONFIG_SCSI_PROC_FS=y
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
-CONFIG_CHR_DEV_ST=y
-CONFIG_CHR_DEV_OSST=y
-CONFIG_BLK_DEV_SR=y
-# CONFIG_BLK_DEV_SR_VENDOR is not set
-CONFIG_CHR_DEV_SG=y
-CONFIG_CHR_DEV_SCH=y
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
# CONFIG_SCSI_MULTI_LUN is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
@@ -658,21 +779,20 @@ CONFIG_SCSI_WAIT_SCAN=m
# CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
+# CONFIG_LIBFC is not set
+# CONFIG_LIBFCOE is not set
# CONFIG_SCSI_DEBUG is not set
-CONFIG_SCSI_DH=y
-# CONFIG_SCSI_DH_RDAC is not set
-# CONFIG_SCSI_DH_HP_SW is not set
-# CONFIG_SCSI_DH_EMC is not set
-# CONFIG_SCSI_DH_ALUA is not set
+# CONFIG_SCSI_DH is not set
+# CONFIG_SCSI_OSD_INITIATOR is not set
# CONFIG_ATA is not set
# CONFIG_MD is not set
CONFIG_NETDEVICES=y
-# CONFIG_DUMMY is not set
+CONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_MACVLAN is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-# CONFIG_VETH is not set
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_VETH=m
CONFIG_PHYLIB=y
#
@@ -688,16 +808,22 @@ CONFIG_PHYLIB=y
# CONFIG_BROADCOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set
# CONFIG_REALTEK_PHY is not set
+# CONFIG_NATIONAL_PHY is not set
+# CONFIG_STE10XP is not set
+# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_FIXED_PHY is not set
# CONFIG_MDIO_BITBANG is not set
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
# CONFIG_AX88796 is not set
# CONFIG_SMC91X is not set
+# CONFIG_TI_DAVINCI_EMAC is not set
# CONFIG_DM9000 is not set
# CONFIG_ENC28J60 is not set
+# CONFIG_ETHOC is not set
# CONFIG_SMC911X is not set
CONFIG_SMSC911X=y
+# CONFIG_DNET is not set
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
@@ -706,40 +832,65 @@ CONFIG_SMSC911X=y
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
# CONFIG_B44 is not set
+# CONFIG_KS8842 is not set
+# CONFIG_KS8851 is not set
+# CONFIG_KS8851_MLL is not set
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set
-
-#
-# Wireless LAN
-#
-# CONFIG_WLAN_PRE80211 is not set
-CONFIG_WLAN_80211=y
-CONFIG_LIBERTAS=m
-# CONFIG_LIBERTAS_USB is not set
-CONFIG_LIBERTAS_SDIO=m
-# CONFIG_LIBERTAS_SPI is not set
-# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_WLAN=y
# CONFIG_LIBERTAS_THINFIRM is not set
+# CONFIG_AT76C50X_USB is not set
# CONFIG_USB_ZD1201 is not set
# CONFIG_USB_NET_RNDIS_WLAN is not set
# CONFIG_RTL8187 is not set
# CONFIG_MAC80211_HWSIM is not set
-# CONFIG_P54_COMMON is not set
-# CONFIG_IWLWIFI_LEDS is not set
-# CONFIG_HOSTAP is not set
+# CONFIG_ATH_COMMON is not set
# CONFIG_B43 is not set
# CONFIG_B43LEGACY is not set
-# CONFIG_ZD1211RW is not set
+# CONFIG_HOSTAP is not set
+# CONFIG_IWM is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_SDIO=m
+# CONFIG_LIBERTAS_SPI is not set
+# CONFIG_LIBERTAS_DEBUG is not set
+# CONFIG_LIBERTAS_MESH is not set
+# CONFIG_P54_COMMON is not set
# CONFIG_RT2X00 is not set
+# CONFIG_WL12XX is not set
+# CONFIG_ZD1211RW is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_PEGASUS is not set
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
# CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_USBNET is not set
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+# CONFIG_USB_EPSON2888 is not set
+# CONFIG_USB_KC2190 is not set
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_USB_NET_INT51X1 is not set
# CONFIG_WAN is not set
CONFIG_PPP=m
CONFIG_PPP_MULTILINK=y
@@ -751,19 +902,24 @@ CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_MPPE=m
CONFIG_PPPOE=m
CONFIG_PPPOL2TP=m
-# CONFIG_SLIP is not set
+CONFIG_SLIP=m
+CONFIG_SLIP_COMPRESSED=y
CONFIG_SLHC=m
+CONFIG_SLIP_SMART=y
+CONFIG_SLIP_MODE_SLIP6=y
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
#
# Input device support
#
CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
+CONFIG_INPUT_FF_MEMLESS=m
# CONFIG_INPUT_POLLDEV is not set
+# CONFIG_INPUT_SPARSEKMAP is not set
#
# Userland interfaces
@@ -780,41 +936,50 @@ CONFIG_INPUT_EVDEV=y
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_QT2160 is not set
# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+# CONFIG_KEYBOARD_MATRIX is not set
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_TWL4030 is not set
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_GPIO is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+CONFIG_KEYBOARD_TWL4030=m
+# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_INPUT_MOUSE=y
-CONFIG_MOUSE_PS2=y
-CONFIG_MOUSE_PS2_ALPS=y
-CONFIG_MOUSE_PS2_LOGIPS2PP=y
-CONFIG_MOUSE_PS2_SYNAPTICS=y
-CONFIG_MOUSE_PS2_LIFEBOOK=y
-CONFIG_MOUSE_PS2_TRACKPOINT=y
-# CONFIG_MOUSE_PS2_ELANTECH is not set
-# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+# CONFIG_MOUSE_PS2 is not set
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_APPLETOUCH is not set
# CONFIG_MOUSE_BCM5974 is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_MOUSE_GPIO is not set
+# CONFIG_MOUSE_SYNAPTICS_I2C is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
-# CONFIG_INPUT_MISC is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_ATI_REMOTE=m
+CONFIG_INPUT_ATI_REMOTE2=m
+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
+# CONFIG_INPUT_POWERMATE is not set
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_CM109=m
+CONFIG_INPUT_TWL4030_PWRBUTTON=y
+CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
#
# Hardware I/O ports
#
CONFIG_SERIO=y
-# CONFIG_SERIO_SERPORT is not set
+CONFIG_SERIO_SERPORT=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_GAMEPORT is not set
#
@@ -825,7 +990,7 @@ CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_DEVKMEM=y
+# CONFIG_DEVKMEM is not set
# CONFIG_SERIAL_NONSTANDARD is not set
#
@@ -844,20 +1009,24 @@ CONFIG_SERIAL_8250_RSA=y
#
# Non-8250 serial port support
#
+# CONFIG_SERIAL_MAX3100 is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
-# CONFIG_LEGACY_PTYS is not set
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=16
# CONFIG_IPMI_HANDLER is not set
-CONFIG_HW_RANDOM=y
-# CONFIG_NVRAM is not set
+# CONFIG_HW_RANDOM is not set
# CONFIG_R3964 is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_TCG_TPM is not set
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_ALGOBIT=m
#
# I2C Hardware Bus support
@@ -866,6 +1035,7 @@ CONFIG_I2C_HELPER_AUTO=y
#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
+# CONFIG_I2C_DESIGNWARE is not set
# CONFIG_I2C_GPIO is not set
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_OMAP=y
@@ -887,21 +1057,7 @@ CONFIG_I2C_OMAP=y
#
# Miscellaneous I2C Chip support
#
-# CONFIG_DS1682 is not set
-# CONFIG_AT24 is not set
-CONFIG_SENSORS_EEPROM=y
-# CONFIG_SENSORS_PCF8574 is not set
-# CONFIG_PCF8575 is not set
-# CONFIG_SENSORS_PCA9539 is not set
-# CONFIG_SENSORS_PCF8591 is not set
-# CONFIG_TPS65010 is not set
-CONFIG_TWL4030_MADC=m
-CONFIG_TWL4030_PWRBUTTON=y
-CONFIG_TWL4030_POWEROFF=y
-# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_SENSORS_TSL2550 is not set
-# CONFIG_SENSORS_TSL2563 is not set
-# CONFIG_LP5521 is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
@@ -914,16 +1070,22 @@ CONFIG_SPI_MASTER=y
# SPI Master Controller Drivers
#
# CONFIG_SPI_BITBANG is not set
+# CONFIG_SPI_GPIO is not set
CONFIG_SPI_OMAP24XX=y
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_DESIGNWARE is not set
#
# SPI Protocol Masters
#
-# CONFIG_SPI_AT25 is not set
-# CONFIG_SPI_TSC210X is not set
-# CONFIG_SPI_TSC2301 is not set
CONFIG_SPI_SPIDEV=y
# CONFIG_SPI_TLE62X0 is not set
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
CONFIG_ARCH_REQUIRE_GPIOLIB=y
CONFIG_GPIOLIB=y
# CONFIG_DEBUG_GPIO is not set
@@ -940,6 +1102,7 @@ CONFIG_GPIO_SYSFS=y
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
CONFIG_GPIO_TWL4030=y
+# CONFIG_GPIO_ADP5588 is not set
#
# PCI GPIO expanders:
@@ -950,10 +1113,26 @@ CONFIG_GPIO_TWL4030=y
#
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MCP23S08 is not set
+# CONFIG_GPIO_MC33880 is not set
+
+#
+# AC97 GPIO expanders:
+#
# CONFIG_W1 is not set
-# CONFIG_POWER_SUPPLY is not set
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+# CONFIG_PDA_POWER is not set
+# CONFIG_BATTERY_DS2760 is not set
+# CONFIG_BATTERY_DS2782 is not set
+# CONFIG_BATTERY_BQ27x00 is not set
+# CONFIG_BATTERY_MAX17040 is not set
CONFIG_HWMON=y
# CONFIG_HWMON_VID is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADCXX is not set
@@ -966,16 +1145,19 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_ADT7462 is not set
# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7473 is not set
+# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not set
# CONFIG_SENSORS_F75375S is not set
+# CONFIG_SENSORS_G760A is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM70 is not set
+# CONFIG_SENSORS_LM73 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
@@ -986,17 +1168,25 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
+# CONFIG_SENSORS_LTC4215 is not set
+# CONFIG_SENSORS_LTC4245 is not set
+# CONFIG_SENSORS_LM95241 is not set
# CONFIG_SENSORS_MAX1111 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_SHT15 is not set
# CONFIG_SENSORS_DME1737 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_ADS7828 is not set
+# CONFIG_SENSORS_AMC6821 is not set
# CONFIG_SENSORS_THMC50 is not set
+# CONFIG_SENSORS_TMP401 is not set
+# CONFIG_SENSORS_TMP421 is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
@@ -1006,10 +1196,9 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_W83L786NG is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
-# CONFIG_SENSORS_TSC210X is not set
-CONFIG_SENSORS_OMAP34XX=y
-# CONFIG_HWMON_DEBUG_CHIP is not set
-CONFIG_THERMAL=y
+# CONFIG_SENSORS_LIS3_SPI is not set
+# CONFIG_SENSORS_LIS3_I2C is not set
+CONFIG_THERMAL=m
CONFIG_THERMAL_HWMON=y
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_NOWAYOUT=y
@@ -1017,8 +1206,9 @@ CONFIG_WATCHDOG_NOWAYOUT=y
#
# Watchdog Device Drivers
#
-# CONFIG_SOFT_WATCHDOG is not set
-CONFIG_OMAP_WATCHDOG=y
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_OMAP_WATCHDOG=m
+CONFIG_TWL4030_WATCHDOG=m
#
# USB-based Watchdog Cards
@@ -1029,29 +1219,52 @@ CONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#
-# CONFIG_SSB is not set
+CONFIG_SSB=m
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+# CONFIG_SSB_SDIOHOST is not set
+# CONFIG_SSB_SILENT is not set
+# CONFIG_SSB_DEBUG is not set
#
# Multifunction device drivers
#
-# CONFIG_MFD_CORE is not set
+CONFIG_MFD_CORE=y
# CONFIG_MFD_SM501 is not set
# CONFIG_MFD_ASIC3 is not set
# CONFIG_HTC_EGPIO is not set
# CONFIG_HTC_PASIC3 is not set
+# CONFIG_TPS65010 is not set
CONFIG_TWL4030_CORE=y
-# CONFIG_TWL4030_POWER is not set
+CONFIG_TWL4030_POWER=y
+CONFIG_TWL4030_CODEC=y
# CONFIG_MFD_TMIO is not set
# CONFIG_MFD_T7L66XB is not set
# CONFIG_MFD_TC6387XB is not set
# CONFIG_MFD_TC6393XB is not set
# CONFIG_PMIC_DA903X is not set
+# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X is not set
# CONFIG_MFD_WM8350_I2C is not set
-
-#
-# Multimedia devices
-#
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_MC13783 is not set
+# CONFIG_AB3100_CORE is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_MFD_88PM8607 is not set
+# CONFIG_AB4500_CORE is not set
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+# CONFIG_REGULATOR_BQ24022 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+CONFIG_REGULATOR_TWL4030=y
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+# CONFIG_REGULATOR_TPS6507X is not set
+CONFIG_MEDIA_SUPPORT=y
#
# Multimedia core support
@@ -1066,56 +1279,89 @@ CONFIG_VIDEO_MEDIA=m
#
# Multimedia drivers
#
+CONFIG_IR_CORE=y
+CONFIG_VIDEO_IR=y
CONFIG_MEDIA_ATTACH=y
CONFIG_MEDIA_TUNER=m
-# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
CONFIG_MEDIA_TUNER_SIMPLE=m
CONFIG_MEDIA_TUNER_TDA8290=m
-CONFIG_MEDIA_TUNER_TDA827X=m
CONFIG_MEDIA_TUNER_TDA18271=m
CONFIG_MEDIA_TUNER_TDA9887=m
CONFIG_MEDIA_TUNER_TEA5761=m
CONFIG_MEDIA_TUNER_TEA5767=m
CONFIG_MEDIA_TUNER_MT20XX=m
-CONFIG_MEDIA_TUNER_MT2060=m
-CONFIG_MEDIA_TUNER_MT2266=m
-CONFIG_MEDIA_TUNER_QT1010=m
CONFIG_MEDIA_TUNER_XC2028=m
CONFIG_MEDIA_TUNER_XC5000=m
-CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L1=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEOBUF_DMA_CONTIG=m
+CONFIG_VIDEOBUF_DVB=m
CONFIG_VIDEO_TVEEPROM=m
CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_CAPTURE_DRIVERS=y
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+CONFIG_VIDEO_IR_I2C=m
CONFIG_VIDEO_MSP3400=m
CONFIG_VIDEO_CS53L32A=m
CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_MT9V011=m
CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_TVP5150=m
CONFIG_VIDEO_CX25840=m
CONFIG_VIDEO_CX2341X=m
-# CONFIG_VIDEO_VIVI is not set
+CONFIG_VIDEO_VIVI=m
# CONFIG_VIDEO_CPIA is not set
-# CONFIG_VIDEO_CPIA2 is not set
-# CONFIG_VIDEO_SAA5246A is not set
-# CONFIG_VIDEO_SAA5249 is not set
-# CONFIG_VIDEO_AU0828 is not set
-# CONFIG_SOC_CAMERA is not set
+CONFIG_VIDEO_CPIA2=m
+CONFIG_VIDEO_SAA5246A=m
+CONFIG_VIDEO_SAA5249=m
+CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_OMAP3=m
+CONFIG_VIDEO_OMAP34XX_ISP_PREVIEWER=m
+CONFIG_VIDEO_OMAP34XX_ISP_RESIZER=m
+CONFIG_SOC_CAMERA=m
+CONFIG_SOC_CAMERA_MT9M001=m
+CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
+CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
+CONFIG_SOC_CAMERA_PLATFORM=m
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
+CONFIG_VIDEO_SH_MOBILE_CEU=m
CONFIG_V4L_USB_DRIVERS=y
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
CONFIG_USB_GSPCA=m
CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
CONFIG_USB_GSPCA_ETOMS=m
CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SN9C20X_EVDEV=y
CONFIG_USB_GSPCA_SONIXB=m
CONFIG_USB_GSPCA_SONIXJ=m
CONFIG_USB_GSPCA_SPCA500=m
@@ -1124,7 +1370,10 @@ CONFIG_USB_GSPCA_SPCA505=m
CONFIG_USB_GSPCA_SPCA506=m
CONFIG_USB_GSPCA_SPCA508=m
CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
CONFIG_USB_GSPCA_SUNPLUS=m
CONFIG_USB_GSPCA_T613=m
CONFIG_USB_GSPCA_TV8532=m
@@ -1134,67 +1383,44 @@ CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
-# CONFIG_VIDEO_EM28XX is not set
+CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
CONFIG_VIDEO_USBVISION=m
CONFIG_VIDEO_USBVIDEO=m
-CONFIG_USB_VICAM=m
+# CONFIG_USB_VICAM is not set
CONFIG_USB_IBMCAM=m
CONFIG_USB_KONICAWC=m
-CONFIG_USB_QUICKCAM_MESSENGER=m
+# CONFIG_USB_QUICKCAM_MESSENGER is not set
# CONFIG_USB_ET61X251 is not set
-CONFIG_VIDEO_OVCAMCHIP=m
-CONFIG_USB_W9968CF=m
-CONFIG_USB_OV511=m
+# CONFIG_VIDEO_OVCAMCHIP is not set
+# CONFIG_USB_OV511 is not set
CONFIG_USB_SE401=m
-CONFIG_USB_SN9C102=m
-CONFIG_USB_STV680=m
+# CONFIG_USB_SN9C102 is not set
+# CONFIG_USB_STV680 is not set
# CONFIG_USB_ZC0301 is not set
CONFIG_USB_PWC=m
# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
CONFIG_USB_ZR364XX=m
-# CONFIG_USB_STKWEBCAM is not set
-# CONFIG_USB_S2255 is not set
-CONFIG_RADIO_ADAPTERS=y
-# CONFIG_USB_DSBR is not set
-# CONFIG_USB_SI470X is not set
-# CONFIG_USB_MR800 is not set
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+# CONFIG_RADIO_ADAPTERS is not set
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
CONFIG_DVB_CAPTURE_DRIVERS=y
# CONFIG_TTPCI_EEPROM is not set
#
# Supported USB Adapters
#
-CONFIG_DVB_USB=m
-# CONFIG_DVB_USB_DEBUG is not set
-CONFIG_DVB_USB_A800=m
-CONFIG_DVB_USB_DIBUSB_MB=m
-# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
-CONFIG_DVB_USB_DIBUSB_MC=m
-CONFIG_DVB_USB_DIB0700=m
-CONFIG_DVB_USB_UMT_010=m
-CONFIG_DVB_USB_CXUSB=m
-CONFIG_DVB_USB_M920X=m
-CONFIG_DVB_USB_GL861=m
-CONFIG_DVB_USB_AU6610=m
-CONFIG_DVB_USB_DIGITV=m
-CONFIG_DVB_USB_VP7045=m
-CONFIG_DVB_USB_VP702X=m
-CONFIG_DVB_USB_GP8PSK=m
-CONFIG_DVB_USB_NOVA_T_USB2=m
-CONFIG_DVB_USB_TTUSB2=m
-CONFIG_DVB_USB_DTT200U=m
-CONFIG_DVB_USB_OPERA1=m
-CONFIG_DVB_USB_AF9005=m
-CONFIG_DVB_USB_AF9005_REMOTE=m
-CONFIG_DVB_USB_DW2102=m
-CONFIG_DVB_USB_CINERGY_T2=m
-CONFIG_DVB_USB_ANYSEE=m
-CONFIG_DVB_USB_DTV5100=m
-CONFIG_DVB_USB_AF9015=m
-CONFIG_DVB_TTUSB_BUDGET=m
-CONFIG_DVB_TTUSB_DEC=m
-CONFIG_DVB_SIANO_SMS1XXX=m
-CONFIG_DVB_SIANO_SMS1XXX_SMS_IDS=y
+# CONFIG_DVB_USB is not set
+# CONFIG_SMS_SIANO_MDTV is not set
#
# Supported FlexCopII (B2C2) Adapters
@@ -1204,90 +1430,16 @@ CONFIG_DVB_SIANO_SMS1XXX_SMS_IDS=y
#
# Supported DVB Frontends
#
-
-#
-# Customise DVB Frontends
-#
# CONFIG_DVB_FE_CUSTOMISE is not set
-
-#
-# DVB-S (satellite) frontends
-#
-CONFIG_DVB_CX24110=m
-CONFIG_DVB_CX24123=m
-CONFIG_DVB_MT312=m
-CONFIG_DVB_S5H1420=m
-CONFIG_DVB_STV0288=m
-CONFIG_DVB_STB6000=m
-CONFIG_DVB_STV0299=m
-CONFIG_DVB_TDA8083=m
-CONFIG_DVB_TDA10086=m
-CONFIG_DVB_VES1X93=m
-CONFIG_DVB_TUNER_ITD1000=m
-CONFIG_DVB_TDA826X=m
-CONFIG_DVB_TUA6100=m
-CONFIG_DVB_CX24116=m
-CONFIG_DVB_SI21XX=m
-
-#
-# DVB-T (terrestrial) frontends
-#
-CONFIG_DVB_SP8870=m
-CONFIG_DVB_SP887X=m
-CONFIG_DVB_CX22700=m
-CONFIG_DVB_CX22702=m
-# CONFIG_DVB_DRX397XD is not set
-CONFIG_DVB_L64781=m
-CONFIG_DVB_TDA1004X=m
-CONFIG_DVB_NXT6000=m
-CONFIG_DVB_MT352=m
CONFIG_DVB_ZL10353=m
-CONFIG_DVB_DIB3000MB=m
-CONFIG_DVB_DIB3000MC=m
-CONFIG_DVB_DIB7000M=m
-CONFIG_DVB_DIB7000P=m
CONFIG_DVB_TDA10048=m
-
-#
-# DVB-C (cable) frontends
-#
-CONFIG_DVB_VES1820=m
-CONFIG_DVB_TDA10021=m
CONFIG_DVB_TDA10023=m
-CONFIG_DVB_STV0297=m
-
-#
-# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
-#
-CONFIG_DVB_NXT200X=m
-# CONFIG_DVB_OR51211 is not set
-# CONFIG_DVB_OR51132 is not set
-CONFIG_DVB_BCM3510=m
CONFIG_DVB_LGDT330X=m
CONFIG_DVB_S5H1409=m
CONFIG_DVB_AU8522=m
CONFIG_DVB_S5H1411=m
-
-#
-# Digital terrestrial only tuners/PLL
-#
-CONFIG_DVB_PLL=m
-CONFIG_DVB_TUNER_DIB0070=m
-
-#
-# SEC control devices for DVB-S
-#
-CONFIG_DVB_LNBP21=m
-# CONFIG_DVB_ISL6405 is not set
-CONFIG_DVB_ISL6421=m
-# CONFIG_DVB_LGS8GL5 is not set
-
-#
-# Tools to develop new frontends
-#
-# CONFIG_DVB_DUMMY_FE is not set
-CONFIG_DVB_AF9013=m
-# CONFIG_DAB is not set
+CONFIG_DAB=y
+CONFIG_USB_DABUSB=m
#
# Graphics support
@@ -1310,40 +1462,46 @@ CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
-# CONFIG_FB_MODE_HELPERS is not set
+CONFIG_FB_MODE_HELPERS=y
# CONFIG_FB_TILEBLITTING is not set
#
# Frame buffer hardware drivers
#
+# CONFIG_FB_UVESA is not set
# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_TMIO is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
+CONFIG_OMAP2_VRAM=y
+CONFIG_OMAP2_VRFB=y
CONFIG_OMAP2_DSS=y
-CONFIG_OMAP2_DSS_VRAM_SIZE=4
+CONFIG_OMAP2_VRAM_SIZE=14
CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
+# CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set
# CONFIG_OMAP2_DSS_RFBI is not set
# CONFIG_OMAP2_DSS_VENC is not set
# CONFIG_OMAP2_DSS_SDI is not set
CONFIG_OMAP2_DSS_DSI=y
CONFIG_OMAP2_DSS_USE_DSI_PLL=y
# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
-CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=1
+CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
+CONFIG_FB_OMAP2=y
+CONFIG_FB_OMAP2_DEBUG_SUPPORT=y
+CONFIG_FB_OMAP2_NUM_FBS=3
#
# OMAP2/3 Display Device Drivers
#
CONFIG_PANEL_GENERIC=y
-# CONFIG_PANEL_SAMSUNG_LTE430WQ_F0C is not set
# CONFIG_PANEL_SHARP_LS037V7DW01 is not set
-# CONFIG_PANEL_N800 is not set
-# CONFIG_CTRL_BLIZZARD is not set
-CONFIG_FB_OMAP2=y
-CONFIG_FB_OMAP2_DEBUG_SUPPORT=y
-# CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE is not set
-CONFIG_FB_OMAP2_NUM_FBS=3
+# CONFIG_PANEL_SHARP_LQ043T1DG01 is not set
+# CONFIG_PANEL_TAAL is not set
+# CONFIG_PANEL_TOPPOLY_TDO35S is not set
+# CONFIG_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
@@ -1363,15 +1521,28 @@ CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-# CONFIG_FONTS is not set
-CONFIG_FONT_8x8=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
CONFIG_FONT_8x16=y
-# CONFIG_LOGO is not set
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
CONFIG_SOUND=y
CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
+CONFIG_SND_JACK=y
CONFIG_SND_SEQUENCER=m
# CONFIG_SND_SEQ_DUMMY is not set
CONFIG_SND_OSSEMUL=y
@@ -1379,62 +1550,90 @@ CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
# CONFIG_SND_DYNAMIC_MINORS is not set
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
+# CONFIG_SND_RAWMIDI_SEQ is not set
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
CONFIG_SND_DRIVERS=y
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
-CONFIG_SND_ARM=y
+# CONFIG_SND_ARM is not set
# CONFIG_SND_SPI is not set
# CONFIG_SND_USB is not set
CONFIG_SND_SOC=y
CONFIG_SND_OMAP_SOC=y
CONFIG_SND_OMAP_SOC_MCBSP=y
CONFIG_SND_OMAP_SOC_IGEP0020=y
+CONFIG_SND_SOC_I2C_AND_SPI=y
# CONFIG_SND_SOC_ALL_CODECS is not set
CONFIG_SND_SOC_TWL4030=y
# CONFIG_SOUND_PRIME is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
-CONFIG_HID_DEBUG=y
-# CONFIG_HIDRAW is not set
+CONFIG_HIDRAW=y
#
# USB Input Devices
#
CONFIG_USB_HID=y
-# CONFIG_HID_PID is not set
-# CONFIG_USB_HIDDEV is not set
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
#
# Special HID drivers
#
-# CONFIG_HID_COMPAT is not set
-# CONFIG_HID_A4TECH is not set
-# CONFIG_HID_APPLE is not set
-# CONFIG_HID_BELKIN is not set
-# CONFIG_HID_BRIGHT is not set
-# CONFIG_HID_CHERRY is not set
-# CONFIG_HID_CHICONY is not set
-# CONFIG_HID_CYPRESS is not set
-# CONFIG_HID_DELL is not set
-# CONFIG_HID_EZKEY is not set
-# CONFIG_HID_GYRATION is not set
-# CONFIG_HID_LOGITECH is not set
-# CONFIG_HID_MICROSOFT is not set
-# CONFIG_HID_MONTEREY is not set
-# CONFIG_HID_PANTHERLORD is not set
-# CONFIG_HID_PETALYNX is not set
-# CONFIG_HID_SAMSUNG is not set
-# CONFIG_HID_SONY is not set
-# CONFIG_HID_SUNPLUS is not set
-# CONFIG_THRUSTMASTER_FF is not set
+CONFIG_HID_3M_PCT=m
+CONFIG_HID_A4TECH=m
+CONFIG_HID_APPLE=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
+CONFIG_HID_EZKEY=m
+CONFIG_HID_KYE=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_TWINHAN=m
+# CONFIG_HID_KENSINGTON is not set
+CONFIG_HID_LOGITECH=m
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+# CONFIG_LOGIG940_FF is not set
+# CONFIG_HID_MAGICMOUSE is not set
+CONFIG_HID_MICROSOFT=m
+# CONFIG_HID_MOSART is not set
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_NTRIG=m
+# CONFIG_HID_ORTEK is not set
+CONFIG_HID_PANTHERLORD=m
+CONFIG_PANTHERLORD_FF=y
+CONFIG_HID_PETALYNX=m
+# CONFIG_HID_QUANTA is not set
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+# CONFIG_HID_STANTUM is not set
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_ZEROPLUS=m
# CONFIG_ZEROPLUS_FF is not set
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
@@ -1442,33 +1641,39 @@ CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
-# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
#
# Miscellaneous USB options
#
-CONFIG_USB_DEVICEFS=y
-CONFIG_USB_DEVICE_CLASS=y
+# CONFIG_USB_DEVICEFS is not set
+# CONFIG_USB_DEVICE_CLASS is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
CONFIG_USB_SUSPEND=y
CONFIG_USB_OTG=y
# CONFIG_USB_OTG_WHITELIST is not set
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
-CONFIG_USB_MON=y
+CONFIG_USB_MON=m
# CONFIG_USB_WUSB is not set
-# CONFIG_USB_WUSB_CBAF is not set
+CONFIG_USB_WUSB_CBAF=m
+# CONFIG_USB_WUSB_CBAF_DEBUG is not set
#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
CONFIG_USB_EHCI_HCD=y
-CONFIG_OMAP_EHCI_PHY_MODE=y
-# CONFIG_OMAP_EHCI_TLL_MODE is not set
CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_EHCI_TT_NEWSCHED=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
-# CONFIG_USB_OHCI_HCD is not set
+# CONFIG_USB_ISP1760_HCD is not set
+# CONFIG_USB_ISP1362_HCD is not set
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_HCD_SSB is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set
# CONFIG_USB_HWA_HCD is not set
@@ -1491,24 +1696,23 @@ CONFIG_USB_INVENTRA_DMA=y
#
# USB Device Class drivers
#
-# CONFIG_USB_ACM is not set
-# CONFIG_USB_PRINTER is not set
-# CONFIG_USB_WDM is not set
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_WDM=m
# CONFIG_USB_TMC is not set
#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#
#
-# see USB_STORAGE Help for more information
+# also be needed; see USB_STORAGE Help for more info
#
-CONFIG_USB_STORAGE=y
+CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
-# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
@@ -1517,7 +1721,7 @@ CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_ONETOUCH is not set
# CONFIG_USB_STORAGE_KARMA is not set
# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
-CONFIG_USB_LIBUSUAL=y
+# CONFIG_USB_LIBUSUAL is not set
#
# USB Imaging devices
@@ -1528,38 +1732,97 @@ CONFIG_USB_LIBUSUAL=y
#
# USB port drivers
#
-# CONFIG_USB_SERIAL is not set
+CONFIG_USB_SERIAL=m
+CONFIG_USB_EZUSB=y
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KEYSPAN_MPR=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19=y
+CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_MOTOROLA=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_SAFE_PADDED=y
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+# CONFIG_USB_SERIAL_DEBUG is not set
#
# USB Miscellaneous drivers
#
-# CONFIG_USB_EMI62 is not set
-# CONFIG_USB_EMI26 is not set
-# CONFIG_USB_ADUTUX is not set
-# CONFIG_USB_SEVSEG is not set
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_LEGOTOWER is not set
-# CONFIG_USB_LCD is not set
-# CONFIG_USB_BERRY_CHARGE is not set
-# CONFIG_USB_LED is not set
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_PHIDGET is not set
-# CONFIG_USB_IDMOUSE is not set
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_SEVSEG=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_BERRY_CHARGE=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
-# CONFIG_USB_SISUSBVGA is not set
-# CONFIG_USB_LD is not set
-# CONFIG_USB_TRANCEVIBRATOR is not set
+CONFIG_USB_SISUSBVGA=m
+CONFIG_USB_SISUSBVGA_CON=y
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
# CONFIG_USB_IOWARRIOR is not set
-# CONFIG_USB_TEST is not set
+CONFIG_USB_TEST=m
# CONFIG_USB_ISIGHTFW is not set
-# CONFIG_USB_VST is not set
+CONFIG_USB_VST=m
CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG is not set
# CONFIG_USB_GADGET_DEBUG_FILES is not set
# CONFIG_USB_GADGET_DEBUG_FS is not set
-CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_VBUS_DRAW=100
CONFIG_USB_GADGET_SELECTED=y
# CONFIG_USB_GADGET_AT91 is not set
# CONFIG_USB_GADGET_ATMEL_USBA is not set
@@ -1567,32 +1830,43 @@ CONFIG_USB_GADGET_SELECTED=y
# CONFIG_USB_GADGET_LH7A40X is not set
# CONFIG_USB_GADGET_OMAP is not set
# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_R8A66597 is not set
# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_S3C_HSOTG is not set
+# CONFIG_USB_GADGET_IMX is not set
# CONFIG_USB_GADGET_S3C2410 is not set
# CONFIG_USB_GADGET_M66592 is not set
# CONFIG_USB_GADGET_AMD5536UDC is not set
# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_CI13XXX is not set
# CONFIG_USB_GADGET_NET2280 is not set
# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LANGWELL is not set
# CONFIG_USB_GADGET_DUMMY_HCD is not set
CONFIG_USB_GADGET_DUALSPEED=y
# CONFIG_USB_ZERO is not set
+# CONFIG_USB_AUDIO is not set
CONFIG_USB_ETH=y
CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
# CONFIG_USB_GADGETFS is not set
# CONFIG_USB_FILE_STORAGE is not set
+# CONFIG_USB_MASS_STORAGE is not set
# CONFIG_USB_G_SERIAL is not set
# CONFIG_USB_MIDI_GADGET is not set
# CONFIG_USB_G_PRINTER is not set
# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_MULTI is not set
#
# OTG and related infrastructure
#
CONFIG_USB_OTG_UTILS=y
-CONFIG_USB_GPIO_VBUS=y
+# CONFIG_USB_GPIO_VBUS is not set
# CONFIG_ISP1301_OMAP is not set
+# CONFIG_USB_ULPI is not set
CONFIG_TWL4030_USB=y
+# CONFIG_NOP_USB_XCEIV is not set
CONFIG_MMC=y
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_UNSAFE_RESUME=y
@@ -1602,23 +1876,51 @@ CONFIG_MMC_UNSAFE_RESUME=y
#
CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_BOUNCE=y
-# CONFIG_SDIO_UART is not set
+CONFIG_SDIO_UART=m
# CONFIG_MMC_TEST is not set
#
# MMC/SD/SDIO Host Controller Drivers
#
# CONFIG_MMC_SDHCI is not set
+# CONFIG_MMC_OMAP is not set
CONFIG_MMC_OMAP_HS=y
-# CONFIG_MMC_SPI is not set
+# CONFIG_MMC_AT91 is not set
+# CONFIG_MMC_ATMELMCI is not set
+CONFIG_MMC_SPI=m
# CONFIG_MEMSTICK is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_PCA9532 is not set
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_GPIO_PLATFORM=y
+# CONFIG_LEDS_LP3944 is not set
+# CONFIG_LEDS_PCA955X is not set
+# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_REGULATOR is not set
+# CONFIG_LEDS_BD2802 is not set
+# CONFIG_LEDS_LT3593 is not set
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+CONFIG_LEDS_TRIGGER_GPIO=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
# CONFIG_ACCESSIBILITY is not set
-# CONFIG_NEW_LEDS is not set
CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
+CONFIG_RTC_CLASS=m
#
# RTC interfaces
@@ -1642,10 +1944,12 @@ CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
-CONFIG_RTC_DRV_TWL4030=y
+# CONFIG_RTC_DRV_BQ32K is not set
+CONFIG_RTC_DRV_TWL4030=m
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 is not set
#
# SPI RTC drivers
@@ -1657,6 +1961,7 @@ CONFIG_RTC_DRV_TWL4030=y
# CONFIG_RTC_DRV_R9701 is not set
# CONFIG_RTC_DRV_RS5C348 is not set
# CONFIG_RTC_DRV_DS3234 is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
#
# Platform RTC drivers
@@ -1670,28 +1975,32 @@ CONFIG_RTC_DRV_TWL4030=y
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_RP5C01 is not set
# CONFIG_RTC_DRV_V3020 is not set
#
# on-CPU RTC drivers
#
# CONFIG_DMADEVICES is not set
-CONFIG_REGULATOR=y
-# CONFIG_REGULATOR_DEBUG is not set
-# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
-# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-# CONFIG_REGULATOR_BQ24022 is not set
-CONFIG_REGULATOR_TWL4030=y
-# CONFIG_UIO is not set
+# CONFIG_AUXDISPLAY is not set
+CONFIG_UIO=y
+# CONFIG_UIO_PDRV is not set
+# CONFIG_UIO_PDRV_GENIRQ is not set
+# CONFIG_UIO_SMX is not set
+# CONFIG_UIO_SERCOS3 is not set
#
-# CBUS support
+# TI VLYNQ
#
-# CONFIG_CBUS is not set
+# CONFIG_STAGING is not set
CONFIG_MPU_BRIDGE=m
CONFIG_BRIDGE_MEMPOOL_SIZE=0x600000
# CONFIG_BRIDGE_DEBUG is not set
+# CONFIG_BRIDGE_RECOVERY is not set
+# CONFIG_BRIDGE_CACHE_LINE_CHECK is not set
+# CONFIG_BRIDGE_WDT3 is not set
#
# Bridge Notifications
@@ -1699,51 +2008,69 @@ CONFIG_BRIDGE_MEMPOOL_SIZE=0x600000
# CONFIG_BRIDGE_NTFY_PWRERR is not set
#
+# CBUS support
+#
+# CONFIG_CBUS is not set
+
+#
# File systems
#
CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
-# CONFIG_EXT3_FS_XATTR is not set
-CONFIG_EXT4_FS=m
-# CONFIG_EXT4DEV_COMPAT is not set
+CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_XATTR=y
-# CONFIG_EXT4_FS_POSIX_ACL is not set
-# CONFIG_EXT4_FS_SECURITY is not set
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
-CONFIG_JBD2=m
+CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
-CONFIG_FS_MBCACHE=m
+CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
-CONFIG_FILE_LOCKING=y
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
+CONFIG_BTRFS_FS=y
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_NILFS2_FS is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_QUOTA=y
-# CONFIG_QUOTA_NETLINK_INTERFACE is not set
-CONFIG_PRINT_QUOTA_WARNING=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+CONFIG_QUOTA_TREE=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
# CONFIG_AUTOFS_FS is not set
-# CONFIG_AUTOFS4_FS is not set
+CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
#
# CD-ROM/DVD Filesystems
#
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-CONFIG_UDF_NLS=y
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
#
# DOS/FAT/NT Filesystems
@@ -1753,7 +2080,9 @@ CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_NTFS_FS is not set
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
#
# Pseudo filesystems
@@ -1765,11 +2094,8 @@ CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_HUGETLB_PAGE is not set
-# CONFIG_CONFIGFS_FS is not set
-
-#
-# Miscellaneous filesystems
-#
+CONFIG_CONFIGFS_FS=m
+CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
@@ -1781,26 +2107,27 @@ CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-CONFIG_JFFS2_SUMMARY=y
-CONFIG_JFFS2_FS_XATTR=y
-CONFIG_JFFS2_FS_POSIX_ACL=y
-CONFIG_JFFS2_FS_SECURITY=y
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_LZO=y
CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
+# CONFIG_JFFS2_RUBIN is not set
# CONFIG_JFFS2_CMODE_NONE is not set
# CONFIG_JFFS2_CMODE_PRIORITY is not set
# CONFIG_JFFS2_CMODE_SIZE is not set
CONFIG_JFFS2_CMODE_FAVOURLZO=y
CONFIG_UBIFS_FS=y
-# CONFIG_UBIFS_FS_XATTR is not set
-# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
+CONFIG_UBIFS_FS_XATTR=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS_ZLIB=y
# CONFIG_UBIFS_FS_DEBUG is not set
-# CONFIG_CRAMFS is not set
+CONFIG_CRAMFS=y
+CONFIG_SQUASHFS=y
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
@@ -1812,20 +2139,30 @@ CONFIG_UBIFS_FS_ZLIB=y
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
-# CONFIG_NFS_V3_ACL is not set
-CONFIG_NFS_V4=y
+CONFIG_NFS_V3_ACL=y
+# CONFIG_NFS_V4 is not set
CONFIG_ROOT_NFS=y
-# CONFIG_NFSD is not set
+CONFIG_NFSD=m
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V3_ACL=y
+# CONFIG_NFSD_V4 is not set
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
-CONFIG_SUNRPC_GSS=y
-# CONFIG_SUNRPC_REGISTER_V4 is not set
-CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_RPCSEC_GSS_KRB5 is not set
# CONFIG_RPCSEC_GSS_SPKM3 is not set
# CONFIG_SMB_FS is not set
-# CONFIG_CIFS is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+CONFIG_CIFS_DEBUG2=y
+# CONFIG_CIFS_EXPERIMENTAL is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
@@ -1853,45 +2190,46 @@ CONFIG_MSDOS_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
-CONFIG_NLS_CODEPAGE_437=y
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-# CONFIG_NLS_CODEPAGE_850 is not set
-# CONFIG_NLS_CODEPAGE_852 is not set
-# CONFIG_NLS_CODEPAGE_855 is not set
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-# CONFIG_NLS_CODEPAGE_866 is not set
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-# CONFIG_NLS_ASCII is not set
-CONFIG_NLS_ISO8859_1=y
-# CONFIG_NLS_ISO8859_2 is not set
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
-# CONFIG_NLS_UTF8 is not set
-# CONFIG_DLM is not set
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
#
# Kernel hacking
@@ -1901,6 +2239,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=1024
CONFIG_MAGIC_SYSRQ=y
+# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
@@ -1909,11 +2248,15 @@ CONFIG_DEBUG_KERNEL=y
CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
CONFIG_SCHED_DEBUG=y
-CONFIG_SCHEDSTATS=y
-CONFIG_TIMER_STATS=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
@@ -1931,33 +2274,45 @@ CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_MEMORY_INIT is not set
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set
-CONFIG_FRAME_POINTER=y
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+# CONFIG_PAGE_POISONING is not set
CONFIG_HAVE_FUNCTION_TRACER=y
-
-#
-# Tracers
-#
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_SCHED_TRACER is not set
-# CONFIG_CONTEXT_SWITCH_TRACER is not set
+# CONFIG_ENABLE_DEFAULT_TRACERS is not set
# CONFIG_BOOT_TRACER is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
# CONFIG_STACK_TRACER is not set
-# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
+# CONFIG_KMEMTRACE is not set
+# CONFIG_WORKQUEUE_TRACER is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_DYNAMIC_DEBUG is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
-CONFIG_DEBUG_USER=y
-CONFIG_DEBUG_ERRORS=y
+CONFIG_ARM_UNWIND=y
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_ERRORS is not set
# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_LL is not set
+CONFIG_DEBUG_LL=y
+# CONFIG_EARLY_PRINTK is not set
+# CONFIG_DEBUG_ICEDCC is not set
+# CONFIG_OC_ETM is not set
#
# Security options
@@ -1965,28 +2320,34 @@ CONFIG_DEBUG_ERRORS=y
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set
# CONFIG_SECURITYFS is not set
-# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+# CONFIG_DEFAULT_SECURITY_SELINUX is not set
+# CONFIG_DEFAULT_SECURITY_SMACK is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
CONFIG_CRYPTO=y
#
# Crypto core or helper
#
-# CONFIG_CRYPTO_FIPS is not set
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
-CONFIG_CRYPTO_HASH=m
+CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
-CONFIG_CRYPTO_GF128MUL=m
-CONFIG_CRYPTO_NULL=m
-CONFIG_CRYPTO_CRYPTD=m
-# CONFIG_CRYPTO_AUTHENC is not set
-CONFIG_CRYPTO_TEST=m
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=y
+# CONFIG_CRYPTO_CRYPTD is not set
+CONFIG_CRYPTO_AUTHENC=m
+# CONFIG_CRYPTO_TEST is not set
#
# Authenticated Encryption with Associated Data
@@ -2002,7 +2363,7 @@ CONFIG_CRYPTO_CBC=y
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_CTS is not set
CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_LRW=m
+# CONFIG_CRYPTO_LRW is not set
CONFIG_CRYPTO_PCBC=m
# CONFIG_CRYPTO_XTS is not set
@@ -2010,49 +2371,51 @@ CONFIG_CRYPTO_PCBC=m
# Hash modes
#
CONFIG_CRYPTO_HMAC=m
-CONFIG_CRYPTO_XCBC=m
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
#
# Digest
#
-CONFIG_CRYPTO_CRC32C=m
-CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_CRC32C=y
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_MICHAEL_MIC=y
+CONFIG_CRYPTO_MICHAEL_MIC=m
# CONFIG_CRYPTO_RMD128 is not set
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not set
CONFIG_CRYPTO_SHA1=m
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_TGR192=m
-CONFIG_CRYPTO_WP512=m
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
#
# Ciphers
#
CONFIG_CRYPTO_AES=y
-CONFIG_CRYPTO_ANUBIS=m
+# CONFIG_CRYPTO_ANUBIS is not set
CONFIG_CRYPTO_ARC4=y
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_CAMELLIA=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
CONFIG_CRYPTO_DES=y
-CONFIG_CRYPTO_FCRYPT=m
-CONFIG_CRYPTO_KHAZAD=m
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_SEED is not set
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_TWOFISH_COMMON=m
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
+# CONFIG_CRYPTO_ZLIB is not set
CONFIG_CRYPTO_LZO=y
#
@@ -2060,23 +2423,29 @@ CONFIG_CRYPTO_LZO=y
#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
CONFIG_CRYPTO_HW=y
+# CONFIG_BINARY_PRINTF is not set
#
# Library routines
#
CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
-CONFIG_CRC_ITU_T=y
+CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
-CONFIG_CRC7=y
+CONFIG_CRC7=m
CONFIG_LIBCRC32C=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
-CONFIG_PLIST=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_LZO=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
+CONFIG_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 000000000..c2cf05bb1
--- /dev/null
+++ b/meta/packages/linux/linux-igep-2.6.33.5/defconfig-igep0030
@@ -0,0 +1,2454 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.33.4
+# Mon Jun 7 13:36:37 2010
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_HAVE_PROC_CPU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_ARCH_HAS_CPUFREQ=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_ARM_L1_CACHE_SHIFT_6=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_BZIP2 is not set
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_LZO is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_TINY_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=32
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=17
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+# CONFIG_CGROUP_NS is not set
+# CONFIG_CGROUP_FREEZER is not set
+# CONFIG_CGROUP_DEVICE is not set
+# CONFIG_CPUSETS is not set
+# CONFIG_CGROUP_CPUACCT is not set
+# CONFIG_RESOURCE_COUNTERS is not set
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_RT_GROUP_SCHED=y
+# CONFIG_SYSFS_DEPRECATED_V2 is not set
+CONFIG_RELAY=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+# CONFIG_USER_NS is not set
+# CONFIG_PID_NS is not set
+CONFIG_NET_NS=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_PERF_USE_VMALLOC=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_PERF_COUNTERS is not set
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_CLK=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_SLOW_WORK=y
+# CONFIG_SLOW_WORK_DEBUG is not set
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_BLOCK=y
+CONFIG_LBDAF=y
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+# CONFIG_BLK_CGROUP is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_CFQ_GROUP_IOSCHED is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+CONFIG_INLINE_SPIN_UNLOCK=y
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+CONFIG_INLINE_READ_UNLOCK=y
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+CONFIG_INLINE_WRITE_UNLOCK=y
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+# CONFIG_FREEZER is not set
+
+#
+# System Type
+#
+CONFIG_MMU=y
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_GEMINI is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_STMP3XXX is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_NOMADIK is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_DOVE is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_MMP is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_W90X900 is not set
+# CONFIG_ARCH_NUC93X is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_S3C64XX is not set
+# CONFIG_ARCH_S5PC1XX is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_U300 is not set
+# CONFIG_ARCH_DAVINCI is not set
+CONFIG_ARCH_OMAP=y
+# CONFIG_ARCH_BCMRING is not set
+# CONFIG_ARCH_U8500 is not set
+
+#
+# TI OMAP Implementations
+#
+CONFIG_ARCH_OMAP_OTG=y
+# CONFIG_ARCH_OMAP1 is not set
+CONFIG_ARCH_OMAP2PLUS=y
+# CONFIG_ARCH_OMAP2 is not set
+CONFIG_ARCH_OMAP3=y
+# CONFIG_ARCH_OMAP4 is not set
+
+#
+# OMAP Feature Selections
+#
+# CONFIG_OMAP_RESET_CLOCKS is not set
+CONFIG_OMAP_MUX=y
+CONFIG_OMAP_MUX_DEBUG=y
+CONFIG_OMAP_MUX_WARNINGS=y
+CONFIG_OMAP_MCBSP=y
+CONFIG_OMAP_MBOX_FWK=m
+CONFIG_OMAP_IOMMU=m
+# CONFIG_OMAP_MPU_TIMER is not set
+CONFIG_OMAP_32K_TIMER=y
+# CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set
+CONFIG_OMAP_32K_TIMER_HZ=128
+CONFIG_OMAP_DM_TIMER=y
+# CONFIG_OMAP_PM_NONE is not set
+CONFIG_OMAP_PM_NOOP=y
+CONFIG_ARCH_OMAP3430=y
+CONFIG_OMAP_PACKAGE_CBB=y
+
+#
+# OMAP Board Type
+#
+# CONFIG_MACH_OMAP3_BEAGLE is not set
+# CONFIG_MACH_DEVKIT8000 is not set
+# CONFIG_MACH_OMAP_LDP is not set
+# CONFIG_MACH_OVERO is not set
+# CONFIG_MACH_OMAP3EVM is not set
+# CONFIG_MACH_OMAP3517EVM is not set
+# CONFIG_MACH_OMAP3_PANDORA is not set
+# CONFIG_MACH_OMAP3_TOUCHBOOK is not set
+# CONFIG_MACH_OMAP_3430SDP is not set
+# CONFIG_MACH_NOKIA_RX51 is not set
+# CONFIG_MACH_OMAP_ZOOM2 is not set
+# CONFIG_MACH_OMAP_ZOOM3 is not set
+# CONFIG_MACH_CM_T35 is not set
+# CONFIG_MACH_IGEP0020 is not set
+CONFIG_MACH_IGEP0030=y
+# CONFIG_MACH_OMAP_3630SDP is not set
+# CONFIG_OMAP3_EMU is not set
+# CONFIG_OMAP3_SDRC_AC_TIMING is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32v6K=y
+CONFIG_CPU_V7=y
+CONFIG_CPU_32v7=y
+CONFIG_CPU_ABRT_EV7=y
+CONFIG_CPU_PABRT_V7=y
+CONFIG_CPU_CACHE_V7=y
+CONFIG_CPU_CACHE_VIPT=y
+CONFIG_CPU_COPY_V6=y
+CONFIG_CPU_TLB_V7=y
+CONFIG_CPU_HAS_ASID=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+CONFIG_ARM_THUMBEE=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_BPREDICT_DISABLE is not set
+CONFIG_HAS_TLS_REG=y
+CONFIG_ARM_L1_CACHE_SHIFT=6
+CONFIG_CPU_HAS_PMU=y
+CONFIG_ARM_ERRATA_430973=y
+CONFIG_ARM_ERRATA_458693=y
+CONFIG_ARM_ERRATA_460075=y
+CONFIG_COMMON_CLKDEV=y
+
+#
+# Bus support
+#
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_VMSPLIT_3G=y
+# CONFIG_VMSPLIT_2G is not set
+# CONFIG_VMSPLIT_1G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+CONFIG_HZ=128
+# CONFIG_THUMB2_KERNEL is not set
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+# CONFIG_HIGHMEM is not set
+CONFIG_HW_PERF_EVENTS=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=0
+CONFIG_VIRT_TO_BUS=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=y
+# CONFIG_UACCESS_WITH_MEMCPY is not set
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE=""
+# CONFIG_XIP_KERNEL is not set
+# CONFIG_KEXEC is not set
+
+#
+# CPU Power Management
+#
+# CONFIG_CPU_FREQ is not set
+# CONFIG_CPU_IDLE is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_VFP=y
+CONFIG_VFPv3=y
+CONFIG_NEON=y
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_HAVE_AOUT=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+# CONFIG_SUSPEND is not set
+# CONFIG_APM_EMULATION is not set
+# CONFIG_PM_RUNTIME is not set
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+# CONFIG_XFRM_SUB_POLICY is not set
+CONFIG_XFRM_MIGRATE=y
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+CONFIG_NET_KEY_MIGRATE=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_ASK_IP_FIB_HASH=y
+# CONFIG_IP_FIB_TRIE is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+# CONFIG_DEFAULT_BIC is not set
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_HTCP is not set
+# CONFIG_DEFAULT_VEGAS is not set
+# CONFIG_DEFAULT_WESTWOOD is not set
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=y
+CONFIG_IPV6_PRIVACY=y
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+# CONFIG_IPV6_MIP6 is not set
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+CONFIG_IPV6_SIT=m
+# CONFIG_IPV6_SIT_6RD is not set
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+# CONFIG_IPV6_SUBTREES is not set
+# CONFIG_IPV6_MROUTE is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_HMAC_NONE is not set
+# CONFIG_SCTP_HMAC_SHA1 is not set
+CONFIG_SCTP_HMAC_MD5=y
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_NET_DSA is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_PHONET is not set
+# CONFIG_IEEE802154 is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIVHCI=m
+# CONFIG_BT_MRVL is not set
+CONFIG_BT_ATH3K=m
+# CONFIG_AF_RXRPC is not set
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+CONFIG_CFG80211_DEBUGFS=y
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+# CONFIG_MAC80211_RC_PID is not set
+CONFIG_MAC80211_RC_MINSTREL=y
+# CONFIG_MAC80211_RC_DEFAULT_PID is not set
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel"
+CONFIG_MAC80211_MESH=y
+# CONFIG_MAC80211_LEDS is not set
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+# CONFIG_DEVTMPFS is not set
+CONFIG_STANDALONE=y
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+CONFIG_FW_LOADER=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_CONNECTOR=y
+CONFIG_PROC_EVENTS=y
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_TESTS=m
+CONFIG_MTD_CONCAT=m
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SST25L is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+CONFIG_MTD_BLOCK2MTD=y
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_NAND is not set
+CONFIG_MTD_ONENAND=y
+# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set
+# CONFIG_MTD_ONENAND_GENERIC is not set
+CONFIG_MTD_ONENAND_OMAP2=y
+# CONFIG_MTD_ONENAND_OTP is not set
+CONFIG_MTD_ONENAND_2X_PROGRAM=y
+CONFIG_MTD_ONENAND_SIM=m
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
+# UBI - Unsorted block images
+#
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_RESERVE=1
+CONFIG_MTD_UBI_GLUEBI=m
+
+#
+# UBI debugging options
+#
+# CONFIG_MTD_UBI_DEBUG is not set
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+# CONFIG_BLK_DEV_DRBD is not set
+CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=1
+CONFIG_BLK_DEV_RAM_SIZE=65536
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_MG_DISK is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_TI_DAC7512 is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+CONFIG_EEPROM_AT25=m
+# CONFIG_EEPROM_LEGACY is not set
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+# CONFIG_IWMC3200TOP is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_LIBFC is not set
+# CONFIG_LIBFCOE is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_DH is not set
+# CONFIG_SCSI_OSD_INITIATOR is not set
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+CONFIG_NETDEVICES=y
+CONFIG_DUMMY=m
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+CONFIG_EQUALIZER=m
+CONFIG_TUN=m
+CONFIG_VETH=m
+CONFIG_PHYLIB=y
+
+#
+# MII PHY device drivers
+#
+# CONFIG_MARVELL_PHY is not set
+# CONFIG_DAVICOM_PHY is not set
+# CONFIG_QSEMI_PHY is not set
+# CONFIG_LXT_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+# CONFIG_SMSC_PHY is not set
+# CONFIG_BROADCOM_PHY is not set
+# CONFIG_ICPLUS_PHY is not set
+# CONFIG_REALTEK_PHY is not set
+# CONFIG_NATIONAL_PHY is not set
+# CONFIG_STE10XP is not set
+# CONFIG_LSI_ET1011C_PHY is not set
+# CONFIG_FIXED_PHY is not set
+# CONFIG_MDIO_BITBANG is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_AX88796 is not set
+# CONFIG_SMC91X is not set
+# CONFIG_TI_DAVINCI_EMAC is not set
+# CONFIG_DM9000 is not set
+# CONFIG_ENC28J60 is not set
+# CONFIG_ETHOC is not set
+# CONFIG_SMC911X is not set
+CONFIG_SMSC911X=y
+# CONFIG_DNET is not set
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+# CONFIG_B44 is not set
+# CONFIG_KS8842 is not set
+# CONFIG_KS8851 is not set
+# CONFIG_KS8851_MLL is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_WLAN=y
+# CONFIG_LIBERTAS_THINFIRM is not set
+# CONFIG_AT76C50X_USB is not set
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_USB_NET_RNDIS_WLAN is not set
+# CONFIG_RTL8187 is not set
+# CONFIG_MAC80211_HWSIM is not set
+# CONFIG_ATH_COMMON is not set
+# CONFIG_B43 is not set
+# CONFIG_B43LEGACY is not set
+# CONFIG_HOSTAP is not set
+# CONFIG_IWM is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_SDIO=m
+# CONFIG_LIBERTAS_SPI is not set
+# CONFIG_LIBERTAS_DEBUG is not set
+# CONFIG_LIBERTAS_MESH is not set
+# CONFIG_P54_COMMON is not set
+# CONFIG_RT2X00 is not set
+# CONFIG_WL12XX is not set
+# CONFIG_ZD1211RW is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+# CONFIG_USB_RTL8150 is not set
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+# CONFIG_USB_EPSON2888 is not set
+# CONFIG_USB_KC2190 is not set
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_USB_NET_INT51X1 is not set
+# CONFIG_WAN is not set
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+CONFIG_PPPOE=m
+CONFIG_PPPOL2TP=m
+CONFIG_SLIP=m
+CONFIG_SLIP_COMPRESSED=y
+CONFIG_SLHC=m
+CONFIG_SLIP_SMART=y
+CONFIG_SLIP_MODE_SLIP6=y
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=m
+# CONFIG_INPUT_POLLDEV is not set
+# CONFIG_INPUT_SPARSEKMAP is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ADP5588 is not set
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_QT2160 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+# CONFIG_KEYBOARD_MATRIX is not set
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+CONFIG_KEYBOARD_TWL4030=m
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_INPUT_MOUSE=y
+# CONFIG_MOUSE_PS2 is not set
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_BCM5974 is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_MOUSE_GPIO is not set
+# CONFIG_MOUSE_SYNAPTICS_I2C is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_ATI_REMOTE=m
+CONFIG_INPUT_ATI_REMOTE2=m
+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
+# CONFIG_INPUT_POWERMATE is not set
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_CM109=m
+CONFIG_INPUT_TWL4030_PWRBUTTON=y
+CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+# CONFIG_DEVKMEM is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_RSA=y
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_MAX3100 is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=16
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_ALGOBIT=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_DESIGNWARE is not set
+# CONFIG_I2C_GPIO is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_OMAP=y
+# CONFIG_I2C_SIMTEC is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_STUB is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_BITBANG is not set
+# CONFIG_SPI_GPIO is not set
+CONFIG_SPI_OMAP24XX=y
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_DESIGNWARE is not set
+
+#
+# SPI Protocol Masters
+#
+CONFIG_SPI_SPIDEV=y
+# CONFIG_SPI_TLE62X0 is not set
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
+CONFIG_GPIOLIB=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+
+#
+# Memory mapped GPIO expanders:
+#
+
+#
+# I2C GPIO expanders:
+#
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCF857X is not set
+CONFIG_GPIO_TWL4030=y
+# CONFIG_GPIO_ADP5588 is not set
+
+#
+# PCI GPIO expanders:
+#
+
+#
+# SPI GPIO expanders:
+#
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MCP23S08 is not set
+# CONFIG_GPIO_MC33880 is not set
+
+#
+# AC97 GPIO expanders:
+#
+# CONFIG_W1 is not set
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+# CONFIG_PDA_POWER is not set
+# CONFIG_BATTERY_DS2760 is not set
+# CONFIG_BATTERY_DS2782 is not set
+# CONFIG_BATTERY_BQ27x00 is not set
+# CONFIG_BATTERY_MAX17040 is not set
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+# CONFIG_SENSORS_AD7414 is not set
+# CONFIG_SENSORS_AD7418 is not set
+# CONFIG_SENSORS_ADCXX is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1029 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ADT7462 is not set
+# CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ADT7473 is not set
+# CONFIG_SENSORS_ADT7475 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_F71882FG is not set
+# CONFIG_SENSORS_F75375S is not set
+# CONFIG_SENSORS_G760A is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM70 is not set
+# CONFIG_SENSORS_LM73 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_LM93 is not set
+# CONFIG_SENSORS_LTC4215 is not set
+# CONFIG_SENSORS_LTC4245 is not set
+# CONFIG_SENSORS_LM95241 is not set
+# CONFIG_SENSORS_MAX1111 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_MAX6650 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_SHT15 is not set
+# CONFIG_SENSORS_DME1737 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_ADS7828 is not set
+# CONFIG_SENSORS_AMC6821 is not set
+# CONFIG_SENSORS_THMC50 is not set
+# CONFIG_SENSORS_TMP401 is not set
+# CONFIG_SENSORS_TMP421 is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83L786NG is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_SENSORS_LIS3_SPI is not set
+# CONFIG_SENSORS_LIS3_I2C is not set
+CONFIG_THERMAL=m
+CONFIG_THERMAL_HWMON=y
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_NOWAYOUT=y
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_OMAP_WATCHDOG=m
+CONFIG_TWL4030_WATCHDOG=m
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+# CONFIG_SSB_SDIOHOST is not set
+# CONFIG_SSB_SILENT is not set
+# CONFIG_SSB_DEBUG is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_ASIC3 is not set
+# CONFIG_HTC_EGPIO is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_TPS65010 is not set
+CONFIG_TWL4030_CORE=y
+CONFIG_TWL4030_POWER=y
+CONFIG_TWL4030_CODEC=y
+# CONFIG_MFD_TMIO is not set
+# CONFIG_MFD_T7L66XB is not set
+# CONFIG_MFD_TC6387XB is not set
+# CONFIG_MFD_TC6393XB is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_MC13783 is not set
+# CONFIG_AB3100_CORE is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_MFD_88PM8607 is not set
+# CONFIG_AB4500_CORE is not set
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+# CONFIG_REGULATOR_BQ24022 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+CONFIG_REGULATOR_TWL4030=y
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+# CONFIG_REGULATOR_TPS6507X is not set
+CONFIG_MEDIA_SUPPORT=y
+
+#
+# Multimedia core support
+#
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2_COMMON=m
+CONFIG_VIDEO_ALLOW_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_DVB_CORE=m
+CONFIG_VIDEO_MEDIA=m
+
+#
+# Multimedia drivers
+#
+CONFIG_IR_CORE=y
+CONFIG_VIDEO_IR=y
+CONFIG_MEDIA_ATTACH=y
+CONFIG_MEDIA_TUNER=m
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_VIDEO_V4L2=m
+CONFIG_VIDEO_V4L1=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEOBUF_DMA_CONTIG=m
+CONFIG_VIDEOBUF_DVB=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+CONFIG_VIDEO_IR_I2C=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_MT9V011=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_CX25840=m
+CONFIG_VIDEO_CX2341X=m
+CONFIG_VIDEO_VIVI=m
+# CONFIG_VIDEO_CPIA is not set
+CONFIG_VIDEO_CPIA2=m
+CONFIG_VIDEO_SAA5246A=m
+CONFIG_VIDEO_SAA5249=m
+CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_OMAP3=m
+CONFIG_VIDEO_OMAP34XX_ISP_PREVIEWER=m
+CONFIG_VIDEO_OMAP34XX_ISP_RESIZER=m
+CONFIG_SOC_CAMERA=m
+CONFIG_SOC_CAMERA_MT9M001=m
+CONFIG_SOC_CAMERA_MT9M111=m
+CONFIG_SOC_CAMERA_MT9T031=m
+CONFIG_SOC_CAMERA_MT9T112=m
+CONFIG_SOC_CAMERA_MT9V022=m
+CONFIG_SOC_CAMERA_RJ54N1=m
+CONFIG_SOC_CAMERA_TW9910=m
+CONFIG_SOC_CAMERA_PLATFORM=m
+CONFIG_SOC_CAMERA_OV772X=m
+CONFIG_SOC_CAMERA_OV9640=m
+CONFIG_VIDEO_SH_MOBILE_CEU=m
+CONFIG_V4L_USB_DRIVERS=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
+CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
+CONFIG_USB_GSPCA_ETOMS=m
+CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
+CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
+CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
+CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SN9C20X_EVDEV=y
+CONFIG_USB_GSPCA_SONIXB=m
+CONFIG_USB_GSPCA_SONIXJ=m
+CONFIG_USB_GSPCA_SPCA500=m
+CONFIG_USB_GSPCA_SPCA501=m
+CONFIG_USB_GSPCA_SPCA505=m
+CONFIG_USB_GSPCA_SPCA506=m
+CONFIG_USB_GSPCA_SPCA508=m
+CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
+CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
+CONFIG_USB_GSPCA_SUNPLUS=m
+CONFIG_USB_GSPCA_T613=m
+CONFIG_USB_GSPCA_TV8532=m
+CONFIG_USB_GSPCA_VC032X=m
+CONFIG_USB_GSPCA_ZC3XX=m
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
+CONFIG_VIDEO_USBVISION=m
+CONFIG_VIDEO_USBVIDEO=m
+# CONFIG_USB_VICAM is not set
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+# CONFIG_USB_QUICKCAM_MESSENGER is not set
+# CONFIG_USB_ET61X251 is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+# CONFIG_USB_OV511 is not set
+CONFIG_USB_SE401=m
+# CONFIG_USB_SN9C102 is not set
+# CONFIG_USB_STV680 is not set
+# CONFIG_USB_ZC0301 is not set
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+# CONFIG_RADIO_ADAPTERS is not set
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
+CONFIG_DVB_CAPTURE_DRIVERS=y
+# CONFIG_TTPCI_EEPROM is not set
+
+#
+# Supported USB Adapters
+#
+# CONFIG_DVB_USB is not set
+# CONFIG_SMS_SIANO_MDTV is not set
+
+#
+# Supported FlexCopII (B2C2) Adapters
+#
+# CONFIG_DVB_B2C2_FLEXCOP is not set
+
+#
+# Supported DVB Frontends
+#
+# CONFIG_DVB_FE_CUSTOMISE is not set
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_S5H1411=m
+CONFIG_DAB=y
+CONFIG_USB_DABUSB=m
+
+#
+# Graphics support
+#
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_SYS_FOPS is not set
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_UVESA is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_TMIO is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
+CONFIG_OMAP2_VRAM=y
+CONFIG_OMAP2_VRFB=y
+CONFIG_OMAP2_DSS=y
+CONFIG_OMAP2_VRAM_SIZE=14
+CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
+# CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set
+# CONFIG_OMAP2_DSS_RFBI is not set
+# CONFIG_OMAP2_DSS_VENC is not set
+# CONFIG_OMAP2_DSS_SDI is not set
+CONFIG_OMAP2_DSS_DSI=y
+CONFIG_OMAP2_DSS_USE_DSI_PLL=y
+# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
+CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
+CONFIG_FB_OMAP2=y
+CONFIG_FB_OMAP2_DEBUG_SUPPORT=y
+CONFIG_FB_OMAP2_NUM_FBS=3
+
+#
+# OMAP2/3 Display Device Drivers
+#
+CONFIG_PANEL_GENERIC=y
+# CONFIG_PANEL_SHARP_LS037V7DW01 is not set
+# CONFIG_PANEL_SHARP_LQ043T1DG01 is not set
+# CONFIG_PANEL_TAAL is not set
+# CONFIG_PANEL_TOPPOLY_TDO35S is not set
+# CONFIG_PANEL_TPO_TD043MTEA1 is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+CONFIG_DISPLAY_SUPPORT=y
+
+#
+# Display hardware drivers
+#
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=y
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_JACK=y
+CONFIG_SND_SEQUENCER=m
+# CONFIG_SND_SEQ_DUMMY is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM_OSS=y
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+# CONFIG_SND_RAWMIDI_SEQ is not set
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_VIRMIDI is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+# CONFIG_SND_ARM is not set
+# CONFIG_SND_SPI is not set
+# CONFIG_SND_USB is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_OMAP_SOC=y
+CONFIG_SND_OMAP_SOC_MCBSP=y
+CONFIG_SND_OMAP_SOC_IGEP0030=y
+CONFIG_SND_SOC_I2C_AND_SPI=y
+# CONFIG_SND_SOC_ALL_CODECS is not set
+CONFIG_SND_SOC_TWL4030=y
+# CONFIG_SOUND_PRIME is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+CONFIG_HIDRAW=y
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=y
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+
+#
+# Special HID drivers
+#
+CONFIG_HID_3M_PCT=m
+CONFIG_HID_A4TECH=m
+CONFIG_HID_APPLE=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
+CONFIG_HID_EZKEY=m
+CONFIG_HID_KYE=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_TWINHAN=m
+# CONFIG_HID_KENSINGTON is not set
+CONFIG_HID_LOGITECH=m
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+# CONFIG_LOGIG940_FF is not set
+# CONFIG_HID_MAGICMOUSE is not set
+CONFIG_HID_MICROSOFT=m
+# CONFIG_HID_MOSART is not set
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_NTRIG=m
+# CONFIG_HID_ORTEK is not set
+CONFIG_HID_PANTHERLORD=m
+CONFIG_PANTHERLORD_FF=y
+CONFIG_HID_PETALYNX=m
+# CONFIG_HID_QUANTA is not set
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+# CONFIG_HID_STANTUM is not set
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_ZEROPLUS=m
+# CONFIG_ZEROPLUS_FF is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#
+# Miscellaneous USB options
+#
+# CONFIG_USB_DEVICEFS is not set
+# CONFIG_USB_DEVICE_CLASS is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+CONFIG_USB_SUSPEND=y
+CONFIG_USB_OTG=y
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+CONFIG_USB_MON=m
+# CONFIG_USB_WUSB is not set
+CONFIG_USB_WUSB_CBAF=m
+# CONFIG_USB_WUSB_CBAF_DEBUG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_ISP1760_HCD is not set
+# CONFIG_USB_ISP1362_HCD is not set
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_HCD_SSB is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_HWA_HCD is not set
+CONFIG_USB_MUSB_HDRC=y
+CONFIG_USB_MUSB_SOC=y
+
+#
+# OMAP 343x high speed USB support
+#
+# CONFIG_USB_MUSB_HOST is not set
+# CONFIG_USB_MUSB_PERIPHERAL is not set
+CONFIG_USB_MUSB_OTG=y
+CONFIG_USB_GADGET_MUSB_HDRC=y
+CONFIG_USB_MUSB_HDRC_HCD=y
+# CONFIG_MUSB_PIO_ONLY is not set
+CONFIG_USB_INVENTRA_DMA=y
+# CONFIG_USB_TI_CPPI_DMA is not set
+# CONFIG_USB_MUSB_DEBUG is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_WDM=m
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB port drivers
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_EZUSB=y
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KEYSPAN_MPR=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19=y
+CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_MOTOROLA=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_SAFE_PADDED=y
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_SEVSEG=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_BERRY_CHARGE=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+CONFIG_USB_SISUSBVGA=m
+CONFIG_USB_SISUSBVGA_CON=y
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+# CONFIG_USB_IOWARRIOR is not set
+CONFIG_USB_TEST=m
+# CONFIG_USB_ISIGHTFW is not set
+CONFIG_USB_VST=m
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+CONFIG_USB_GADGET_VBUS_DRAW=100
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
+# CONFIG_USB_GADGET_FSL_USB2 is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_R8A66597 is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_S3C_HSOTG is not set
+# CONFIG_USB_GADGET_IMX is not set
+# CONFIG_USB_GADGET_S3C2410 is not set
+# CONFIG_USB_GADGET_M66592 is not set
+# CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_CI13XXX is not set
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LANGWELL is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+CONFIG_USB_GADGET_DUALSPEED=y
+# CONFIG_USB_ZERO is not set
+# CONFIG_USB_AUDIO is not set
+CONFIG_USB_ETH=y
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_FILE_STORAGE is not set
+# CONFIG_USB_MASS_STORAGE is not set
+# CONFIG_USB_G_SERIAL is not set
+# CONFIG_USB_MIDI_GADGET is not set
+# CONFIG_USB_G_PRINTER is not set
+# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_MULTI is not set
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_ISP1301_OMAP is not set
+# CONFIG_USB_ULPI is not set
+CONFIG_TWL4030_USB=y
+# CONFIG_NOP_USB_XCEIV is not set
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_UNSAFE_RESUME=y
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=m
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+# CONFIG_MMC_SDHCI is not set
+# CONFIG_MMC_OMAP is not set
+CONFIG_MMC_OMAP_HS=y
+# CONFIG_MMC_AT91 is not set
+# CONFIG_MMC_ATMELMCI is not set
+CONFIG_MMC_SPI=m
+# CONFIG_MEMSTICK is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_PCA9532 is not set
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_GPIO_PLATFORM=y
+# CONFIG_LEDS_LP3944 is not set
+# CONFIG_LEDS_PCA955X is not set
+# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_REGULATOR is not set
+# CONFIG_LEDS_BD2802 is not set
+# CONFIG_LEDS_LT3593 is not set
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+CONFIG_LEDS_TRIGGER_GPIO=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+# CONFIG_ACCESSIBILITY is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=m
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_BQ32K is not set
+CONFIG_RTC_DRV_TWL4030=m
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 is not set
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_DS3234 is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_MSM6242 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_RP5C01 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_DMADEVICES is not set
+# CONFIG_AUXDISPLAY is not set
+CONFIG_UIO=y
+# CONFIG_UIO_PDRV is not set
+# CONFIG_UIO_PDRV_GENIRQ is not set
+# CONFIG_UIO_SMX is not set
+# CONFIG_UIO_SERCOS3 is not set
+
+#
+# TI VLYNQ
+#
+# CONFIG_STAGING is not set
+CONFIG_MPU_BRIDGE=m
+CONFIG_BRIDGE_MEMPOOL_SIZE=0x600000
+# CONFIG_BRIDGE_DEBUG is not set
+# CONFIG_BRIDGE_RECOVERY is not set
+# CONFIG_BRIDGE_CACHE_LINE_CHECK is not set
+# CONFIG_BRIDGE_WDT3 is not set
+
+#
+# Bridge Notifications
+#
+# CONFIG_BRIDGE_NTFY_PWRERR is not set
+
+#
+# CBUS support
+#
+# CONFIG_CBUS is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_XATTR=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_JBD2=y
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+CONFIG_BTRFS_FS=y
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_NILFS2_FS is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+CONFIG_QUOTA_TREE=y
+# CONFIG_QFMT_V1 is not set
+CONFIG_QFMT_V2=y
+CONFIG_QUOTACTL=y
+# CONFIG_AUTOFS_FS is not set
+CONFIG_AUTOFS4_FS=m
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_CONFIGFS_FS=m
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_JFFS2_CMODE_NONE is not set
+# CONFIG_JFFS2_CMODE_PRIORITY is not set
+# CONFIG_JFFS2_CMODE_SIZE is not set
+CONFIG_JFFS2_CMODE_FAVOURLZO=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_XATTR=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_ZLIB=y
+# CONFIG_UBIFS_FS_DEBUG is not set
+CONFIG_CRAMFS=y
+CONFIG_SQUASHFS=y
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+# CONFIG_NFS_V4 is not set
+CONFIG_ROOT_NFS=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V3_ACL=y
+# CONFIG_NFSD_V4 is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_NFS_ACL_SUPPORT=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+CONFIG_CIFS_DEBUG2=y
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+#
+# Kernel hacking
+#
+CONFIG_PRINTK_TIME=y
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+CONFIG_DEBUG_MUTEXES=y
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+# CONFIG_PAGE_POISONING is not set
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+# CONFIG_FUNCTION_TRACER is not set
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_ENABLE_DEFAULT_TRACERS is not set
+# CONFIG_BOOT_TRACER is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_STACK_TRACER is not set
+# CONFIG_KMEMTRACE is not set
+# CONFIG_WORKQUEUE_TRACER is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_ARM_UNWIND=y
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_ERRORS is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+CONFIG_DEBUG_LL=y
+# CONFIG_EARLY_PRINTK is not set
+# CONFIG_DEBUG_ICEDCC is not set
+# CONFIG_OC_ETM is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+# CONFIG_DEFAULT_SECURITY_SELINUX is not set
+# CONFIG_DEFAULT_SECURITY_SMACK is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=y
+# CONFIG_CRYPTO_CRYPTD is not set
+CONFIG_CRYPTO_AUTHENC=m
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=y
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=y
+# CONFIG_CRYPTO_LRW is not set
+CONFIG_CRYPTO_PCBC=m
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_HMAC=m
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=y
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=m
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+CONFIG_CRYPTO_SHA1=m
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_ARC4=y
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+CONFIG_CRYPTO_DES=y
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=y
+# CONFIG_CRYPTO_ZLIB is not set
+CONFIG_CRYPTO_LZO=y
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_HW=y
+# CONFIG_BINARY_PRINTF is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_CRC_CCITT=y
+CONFIG_CRC16=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_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 113fe1fa1..000000000
--- a/meta/packages/linux/linux-igep2_2.6.28.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-require linux.inc
-
-DESCRIPTION = "Linux kernel for OMAP processors"
-KERNEL_IMAGETYPE = "uImage"
-
-COMPATIBLE_MACHINE = "igep0020"
-
-DEFAULT_PREFERENCE_igep0020 = "1"
-
-PR = "r4"
-
-KV = "2.6.28.10-3"
-
-SRC_URI = "http://downloads.myigep.com/sources/kernel/linux-omap-${KV}.tar.gz \
- file://defconfig \
-"
-
-S = "${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 000000000..6e961b7ef
--- /dev/null
+++ b/meta/packages/linux/linux-igep_2.6.33.5.bb
@@ -0,0 +1,30 @@
+DESCRIPTION = "2.6 Linux Kernel for IGEP based platforms"
+SECTION = "kernel"
+LICENSE = "GPL"
+
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_igep0020 = "1"
+DEFAULT_PREFERENCE_igep0030 = "1"
+
+COMPATIBLE_MACHINE = "(igep0020|igep0030)"
+
+inherit kernel
+
+KV = "${PV}-0"
+
+SRC_URI = "http://downloads.igep.es/sources/linux-omap-${KV}.tar.gz \
+ file://0001-omap3-init-MUX-for-OMAP3-IGEP-module.patch;patch=1 \
+ file://defconfig-igep0020 \
+ file://defconfig-igep0030"
+
+do_configure() {
+
+ rm -f ${S}/.config || true
+
+ cp ${WORKDIR}/defconfig-${MACHINE} ${S}/.config
+
+ yes '' | oe_runmake oldconfig
+
+}
+
+S = "${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 bc6c0511d..6c684d8cd 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 @@
DESCRIPTION = "Matchbox GTK+ theme configuration application."
-LICENSE = "GPL"
+HOMEPAGE = "http://matchbox-project.org"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+LICENSE = "GPLv2+"
+
DEPENDS = "gconf gtk+"
RDEPENDS = "settings-daemon"
diff --git a/meta/packages/matchbox-keyboard/matchbox-keyboard_svn.bb b/meta/packages/matchbox-keyboard/matchbox-keyboard_svn.bb
index 568a83e51..bfceba05d 100644
--- a/meta/packages/matchbox-keyboard/matchbox-keyboard_svn.bb
+++ b/meta/packages/matchbox-keyboard/matchbox-keyboard_svn.bb
@@ -1,5 +1,9 @@
DESCRIPTION = "Matchbox virtual keyboard for X11"
-LICENSE = "GPL"
+HOMEPAGE = "http://matchbox-project.org"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+LICENSE = "GPLv2+"
+
DEPENDS = "libfakekey expat libxft gtk+ matchbox-panel-2"
RDEPENDS = "formfactor dbus-wait"
SECTION = "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 b35f79875..d75b9ef40 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 @@
-LICENSE = "GPLv2"
+DESCRIPTION = "A simple GTK+ based panel for handheld devices."
+HOMEPAGE = "http://matchbox-project.org"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+LICENSE = "GPLv2+"
+
PRIORITY = "optional"
DEPENDS = "gtk+ startup-notification dbus dbus-glib"
DEPENDS += " ${@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 ad6b030da..f3626557e 100644
--- a/meta/packages/matchbox-stroke/matchbox-stroke_svn.bb
+++ b/meta/packages/matchbox-stroke/matchbox-stroke_svn.bb
@@ -1,5 +1,9 @@
DESCRIPTION = "Matchbox stroke recogniser"
-LICENSE = "GPL"
+HOMEPAGE = "http://matchbox-project.org"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+LICENSE = "GPLv2"
+
DEPENDS = "libfakekey expat libxft"
SECTION = "x11/wm"
PV = "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 b4b137325..09c2ddfb0 100644
--- a/meta/packages/matchbox-wm/matchbox-wm_svn.bb
+++ b/meta/packages/matchbox-wm/matchbox-wm_svn.bb
@@ -1,6 +1,10 @@
-SECTION = "x11/wm"
DESCRIPTION = "Matchbox window manager"
-LICENSE = "GPL"
+HOMEPAGE = "http://matchbox-project.org"
+BUGTRACKER = "http://bugzilla.openedhand.com/"
+
+LICENSE = "GPLv2+"
+
+SECTION = "x11/wm"
DEPENDS = "libmatchbox virtual/libx11 libxext libxrender startup-notification expat gconf"
PV = "1.2+svnr${SRCREV}"
diff --git a/meta/packages/meta/meta-toolchain.bb b/meta/packages/meta/meta-toolchain.bb
index 9ae5554ea..43b4f027c 100644
--- a/meta/packages/meta/meta-toolchain.bb
+++ b/meta/packages/meta/meta-toolchain.bb
@@ -6,11 +6,12 @@ inherit meta
SDK_DIR = "${WORKDIR}/sdk"
SDK_OUTPUT = "${SDK_DIR}/image"
-SDK_OUTPUT2 = "${SDK_DIR}/image-extras"
SDK_DEPLOY = "${TMPDIR}/deploy/sdk"
+SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${TARGET_SYS}"
+
IPKG_HOST = "opkg-cl -f ${IPKGCONF_SDK} -o ${SDK_OUTPUT}"
-IPKG_TARGET = "opkg-cl -f ${IPKGCONF_TARGET} -o ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}"
+IPKG_TARGET = "opkg-cl -f ${IPKGCONF_TARGET} -o ${SDK_OUTPUT}/${SDKTARGETSYSROOT}"
TOOLCHAIN_HOST_TASK ?= "task-sdk-host"
TOOLCHAIN_TARGET_TASK ?= "task-poky-standalone-sdk-target task-poky-standalone-sdk-target-dbg"
@@ -22,10 +23,9 @@ EXCLUDE_FROM_WORLD = "1"
do_populate_sdk() {
rm -rf ${SDK_OUTPUT}
- rm -rf ${SDK_OUTPUT2}
mkdir -p ${SDK_OUTPUT}
mkdir -p ${SDK_OUTPUT}${libdir}/opkg/
- mkdir -p ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}${libdir}/opkg/
+ mkdir -p ${SDK_OUTPUT}/${SDKTARGETSYSROOT}${libdir}/opkg/
rm -f ${IPKGCONF_TARGET}
touch ${IPKGCONF_TARGET}
@@ -45,58 +45,32 @@ do_populate_sdk() {
${IPKG_TARGET} update
${IPKG_TARGET} install ${TOOLCHAIN_TARGET_TASK}
- install -d ${SDK_OUTPUT}/${SDKPATH}/usr/lib/opkg
- mv ${SDK_OUTPUT}/usr/lib/opkg/* ${SDK_OUTPUT}/${SDKPATH}/usr/lib/opkg/
- rm -Rf ${SDK_OUTPUT}/usr/lib
+ install -d ${SDK_OUTPUT}/${SDKPATHNATIVE}${libdir_nativesdk}/opkg
+ mv ${SDK_OUTPUT}/usr/lib/opkg/* ${SDK_OUTPUT}/${SDKPATHNATIVE}${libdir_nativesdk}/opkg/
+ rm -Rf ${SDK_OUTPUT}/usr
# Don't ship any libGL in the SDK
- rm -rf ${SDK_OUTPUT}/${SDKPATH}/usr/lib/libGL*
-
- install -d ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}/${sysconfdir}
- install -m 0644 ${IPKGCONF_TARGET} ${IPKGCONF_SDK} ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}/${sysconfdir}/
-
- install -d ${SDK_OUTPUT}/${SDKPATH}/${sysconfdir}
- install -m 0644 ${IPKGCONF_SDK} ${SDK_OUTPUT}/${SDKPATH}/${sysconfdir}/
-
- # extract and store ipks, pkgdata and shlibs data
- target_pkgs=`cat ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}/usr/lib/opkg/status | grep Package: | cut -f 2 -d ' '`
- mkdir -p ${SDK_OUTPUT2}/${SDKPATH}/ipk/
- mkdir -p ${SDK_OUTPUT2}/${SDKPATH}/pkgdata/runtime/
- mkdir -p ${SDK_OUTPUT2}/${SDKPATH}/${TARGET_SYS}/shlibs/
- for pkg in $target_pkgs ; do
- for arch in $revipkgarchs; do
- pkgnames=${DEPLOY_DIR_IPK}/$arch/${pkg}_*_$arch.ipk
- if [ -e $pkgnames ]; then
- echo "Found $pkgnames"
- cp $pkgnames ${SDK_OUTPUT2}/${SDKPATH}/ipk/
- orig_pkg=`opkg-list-fields $pkgnames | grep OE: | cut -d ' ' -f2`
- pkg_subdir=$arch${TARGET_VENDOR}${@['-' + bb.data.getVar('TARGET_OS', d, 1), ''][bb.data.getVar('TARGET_OS', d, 1) == ('' or 'custom')]}
- mkdir -p ${SDK_OUTPUT2}/${SDKPATH}/pkgdata/$pkg_subdir/runtime
- cp ${TMPDIR}/pkgdata/$pkg_subdir/$orig_pkg ${SDK_OUTPUT2}/${SDKPATH}/pkgdata/$pkg_subdir/
- subpkgs=`cat ${TMPDIR}/pkgdata/$pkg_subdir/$orig_pkg | grep PACKAGES: | cut -b 10-`
- for subpkg in $subpkgs; do
- cp ${TMPDIR}/pkgdata/$pkg_subdir/runtime/$subpkg ${SDK_OUTPUT2}/${SDKPATH}/pkgdata/$pkg_subdir/runtime/
- if [ -e ${TMPDIR}/pkgdata/$pkg_subdir/runtime/$subpkg.packaged ];then
- cp ${TMPDIR}/pkgdata/$pkg_subdir/runtime/$subpkg.packaged ${SDK_OUTPUT2}/${SDKPATH}/pkgdata/$pkg_subdir/runtime/
- fi
- if [ -e ${STAGING_DIR_TARGET}/shlibs/$subpkg.list ]; then
- cp ${STAGING_DIR_TARGET}/shlibs/$subpkg.* ${SDK_OUTPUT2}/${SDKPATH}/${TARGET_SYS}/shlibs/
- fi
- done
- break
- fi
- done
- done
+ rm -rf ${SDK_OUTPUT}/${SDKPATHNATIVE}${libdir_nativesdk}/libGL*
+
+ install -d ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/${sysconfdir}
+ install -m 0644 ${IPKGCONF_TARGET} ${IPKGCONF_SDK} ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/${sysconfdir}/
+
+ install -d ${SDK_OUTPUT}/${SDKPATHNATIVE}/${sysconfdir}
+ install -m 0644 ${IPKGCONF_SDK} ${SDK_OUTPUT}/${SDKPATHNATIVE}/${sysconfdir}/
+
+ # Can copy pstage files here
+ # target_pkgs=`cat ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/usr/lib/opkg/status | grep Package: | cut -f 2 -d ' '`
# Fix or remove broken .la files
- for i in `find ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS} -name \*.la`; do
- sed -i -e "/^dependency_libs=/s,\([[:space:]']\)${base_libdir},\1${SDKPATH}/${TARGET_SYS}${base_libdir},g" \
- -e "/^dependency_libs=/s,\([[:space:]']\)${libdir},\1${SDKPATH}/${TARGET_SYS}${libdir},g" \
- -e "/^dependency_libs=/s,\-\([LR]\)${base_libdir},-\1${SDKPATH}/${TARGET_SYS}${base_libdir},g" \
- -e "/^dependency_libs=/s,\-\([LR]\)${libdir},-\1${SDKPATH}/${TARGET_SYS}${libdir},g" \
+ for i in `find ${SDK_OUTPUT}/${SDKTARGETSYSROOT} -name \*.la`; do
+ sed -i -e "/^dependency_libs=/s,\([[:space:]']\)${base_libdir},\1${SDKTARGETSYSROOT}${base_libdir},g" \
+ -e "/^dependency_libs=/s,\([[:space:]']\)${libdir},\1${SDKTARGETSYSROOT}${libdir},g" \
+ -e "/^dependency_libs=/s,\-\([LR]\)${base_libdir},-\1${SDKTARGETSYSROOT}${base_libdir},g" \
+ -e "/^dependency_libs=/s,\-\([LR]\)${libdir},-\1${SDKTARGETSYSROOT}${libdir},g" \
-e 's/^installed=yes$/installed=no/' $i
done
- rm -f ${SDK_OUTPUT}/${SDKPATH}/lib/*.la
+ #rm -f ${SDK_OUTPUT}/${SDKPATHNATIVE}/lib/*.la
+ rm -f ${SDK_OUTPUT}/${SDKPATHNATIVE}${libdir_nativesdk}/*.la
# Setup site file for external use
siteconfig=${SDK_OUTPUT}/${SDKPATH}/site-config-${TARGET_SYS}
@@ -108,21 +82,21 @@ do_populate_sdk() {
# Create environment setup script
script=${SDK_OUTPUT}/${SDKPATH}/environment-setup-${TARGET_SYS}
touch $script
- echo 'export PATH=${SDKPATH}/bin:$PATH' >> $script
- echo 'export PKG_CONFIG_SYSROOT_DIR=${SDKPATH}/${TARGET_SYS}' >> $script
- echo 'export PKG_CONFIG_PATH=${SDKPATH}/${TARGET_SYS}${libdir}/pkgconfig' >> $script
+ echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:$PATH' >> $script
+ echo 'export PKG_CONFIG_SYSROOT_DIR=${SDKTARGETSYSROOT}' >> $script
+ echo 'export PKG_CONFIG_PATH=${SDKTARGETSYSROOT}${libdir}/pkgconfig' >> $script
echo 'export CONFIG_SITE=${SDKPATH}/site-config-${TARGET_SYS}' >> $script
echo 'export CC=${TARGET_PREFIX}gcc' >> $script
echo 'export CONFIGURE_FLAGS="--target=${TARGET_SYS} --host=${TARGET_SYS} --build=${SDK_ARCH}-linux"' >> $script
if [ "${TARGET_OS}" = "darwin8" ]; then
- echo 'export TARGET_CFLAGS="-I${SDKPATH}/${TARGET_SYS}${includedir}"' >> $script
- echo 'export TARGET_LDFLAGS="-L${SDKPATH}/${TARGET_SYS}${libdir}"' >> $script
+ echo 'export TARGET_CFLAGS="-I${SDKTARGETSYSROOT}${includedir}"' >> $script
+ echo 'export TARGET_LDFLAGS="-L${SDKTARGETSYSROOT}${libdir}"' >> $script
# Workaround darwin toolchain sysroot path problems
- cd ${SDK_OUTPUT}${SDKPATH}/${TARGET_SYS}/usr
+ cd ${SDK_OUTPUT}${SDKTARGETSYSROOT}/usr
ln -s /usr/local local
fi
- echo "alias opkg='LD_LIBRARY_PATH=${SDKPATH}/lib ${SDKPATH}/bin/opkg-cl -f ${SDKPATH}/${sysconfdir}/opkg-sdk.conf -o ${SDKPATH}'" >> $script
- 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
+ echo "alias opkg='LD_LIBRARY_PATH=${SDKPATHNATIVE}${libdir_nativesdk} ${SDKPATHNATIVE}${bindir_nativesdk}/opkg-cl -f ${SDKPATHNATIVE}/${sysconfdir}/opkg-sdk.conf -o ${SDKPATHNATIVE}'" >> $script
+ echo "alias opkg-target='LD_LIBRARY_PATH=${SDKPATHNATIVE}${libdir_nativesdk} ${SDKPATHNATIVE}${bindir_nativesdk}/opkg-cl -f ${SDKTARGETSYSROOT}${sysconfdir}/opkg.conf -o ${SDKTARGETSYSROOT}'" >> $script
# Add version information
versionfile=${SDK_OUTPUT}/${SDKPATH}/version-${TARGET_SYS}
@@ -136,8 +110,6 @@ do_populate_sdk() {
mkdir -p ${SDK_DEPLOY}
cd ${SDK_OUTPUT}
fakeroot tar cfj ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 .
- cd ${SDK_OUTPUT2}
- fakeroot tar cfj ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}-extras.tar.bz2 .
}
do_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 9955f619b..2db6bcd54 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 @@
-DESCRIPTION = "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."
+DESCRIPTION = "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"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://lsmod.c;md5=030a1ab6b7b2b97e9959db0d5f1c093d"
@@ -13,11 +11,11 @@ FILES_module-init-tools-depmod = "${sbindir}/depmod.26"
FILES_module-init-tools-insmod-static = "${sbindir}/insmod.static"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/kernel/module-init-tools/module-init-tools-${PV}.tar.bz2 \
- file://ignore_arch_directory;apply=yes \
- file://modutils_extension;apply=yes \
- file://no_man_rebuild;apply=yes \
- file://manpagesopt;apply=yes \
- file://module-init-tools-remove-index.patch;apply=yes "
+ file://ignore_arch_directory;apply=yes \
+ file://modutils_extension;apply=yes \
+ file://no_man_rebuild;apply=yes \
+ file://manpagesopt;apply=yes \
+ file://module-init-tools-remove-index.patch;"
S = "${WORKDIR}/module-init-tools-${PV}"
EXTRA_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 000000000..fb776fddc
--- /dev/null
+++ b/meta/packages/mtd/mtd-utils-1.3.1/add-exclusion-to-mkfs-jffs2-git-2.patch
@@ -0,0 +1,101 @@
+--- /tmp/mkfs.jffs2.c 2009-01-11 15:28:41.000000000 +0100
++++ git/mkfs.jffs2.c 2009-01-11 15:59:29.000000000 +0100
+@@ -100,6 +100,11 @@
+ struct rb_node hardlink_rb;
+ };
+
++struct ignorepath_entry {
++ struct ignorepath_entry* next; /* Points to the next ignorepath element */
++ char name[PATH_MAX]; /* Name of the entry */
++};
++static struct ignorepath_entry* ignorepath = 0;
+ struct rb_root hardlinks;
+ static int out_fd = -1;
+ static int in_fd = -1;
+@@ -408,7 +413,7 @@
+ char *hpath, *tpath;
+ struct dirent *dp, **namelist;
+ struct filesystem_entry *entry;
+-
++ struct ignorepath_entry* element = ignorepath;
+
+ if (lstat(hostpath, &sb)) {
+ perror_msg_and_die("%s", hostpath);
+@@ -417,6 +422,15 @@
+ entry = add_host_filesystem_entry(targetpath, hostpath,
+ sb.st_uid, sb.st_gid, sb.st_mode, 0, parent);
+
++ while ( element ) {
++ if ( strcmp( element->name, targetpath ) == 0 ) {
++ printf( "Note: ignoring directories below '%s'\n", targetpath );
++ return entry;
++ break;
++ }
++ element = element->next;
++ }
++
+ n = scandir(hostpath, &namelist, 0, alphasort);
+ if (n < 0) {
+ perror_msg_and_die("opening directory %s", hostpath);
+@@ -1453,6 +1467,7 @@
+ {"root", 1, NULL, 'r'},
+ {"pagesize", 1, NULL, 's'},
+ {"eraseblock", 1, NULL, 'e'},
++ {"ignore", 1, NULL, 'I'},
+ {"output", 1, NULL, 'o'},
+ {"help", 0, NULL, 'h'},
+ {"verbose", 0, NULL, 'v'},
+@@ -1500,6 +1515,7 @@
+ " -L, --list-compressors Show the list of the avaiable compressors\n"
+ " -t, --test-compression Call decompress and compare with the original (for test)\n"
+ " -n, --no-cleanmarkers Don't add a cleanmarker to every eraseblock\n"
++" -I, --ignore=PATH Ignore sub directory and file tree below PATH when recursing over the file system\n"
+ " -o, --output=FILE Output to FILE (default: stdout)\n"
+ " -l, --little-endian Create a little-endian filesystem\n"
+ " -b, --big-endian Create a big-endian filesystem\n"
+@@ -1666,6 +1682,7 @@
+ char *compr_name = NULL;
+ int compr_prior = -1;
+ int warn_page_size = 0;
++ struct ignorepath_entry* element = ignorepath;
+
+ page_size = sysconf(_SC_PAGESIZE);
+ if (page_size < 0) /* System doesn't know so ... */
+@@ -1676,7 +1693,7 @@
+ jffs2_compressors_init();
+
+ while ((opt = getopt_long(argc, argv,
+- "D:d:r:s:o:qUPfh?vVe:lbp::nc:m:x:X:Lty:i:", long_options, &c)) >= 0)
++ "D:d:r:s:I:o:qUPfh?vVe:lbp::nc:m:x:X:Lty:i:", long_options, &c)) >= 0)
+ {
+ switch (opt) {
+ case 'D':
+@@ -1700,6 +1717,28 @@
+ warn_page_size = 0; /* set by user, so don't need to warn */
+ break;
+
++ case 'I':
++ printf( "Note: Adding '%s' to ignore Path\n", optarg );
++ element = ignorepath;
++ if ( !ignorepath ) {
++ ignorepath = xmalloc( sizeof( struct ignorepath_entry ) );
++ ignorepath->next = 0;
++ strcpy( &ignorepath->name[0], optarg );
++ } else {
++ while ( element->next ) element = element->next;
++ element->next = xmalloc( sizeof( struct ignorepath_entry ) );
++ element->next->next = 0;
++ strcpy( &element->next->name[0], optarg );
++ }
++ printf( "--------- Dumping ignore path list ----------------\n" );
++ element = ignorepath;
++ while ( element ) {
++ printf( " * '%s'\n", &element->name[0] );
++ element = element->next;
++ }
++ printf( "---------------------------------------------------\n" );
++ break;
++
+ case 'o':
+ if (out_fd != -1) {
+ 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 000000000..64f25f79e
--- /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 @@
+Index: git/nanddump.c
+===================================================================
+--- git.orig/nanddump.c 2010-04-29 10:24:15.000000000 +0200
++++ git/nanddump.c 2010-04-29 10:28:45.000000000 +0200
+@@ -210,6 +210,7 @@
+
+ /* Make sure device page sizes are valid */
+ if (!(meminfo.oobsize == 128 && meminfo.writesize == 4096) &&
++ !(meminfo.oobsize == 64 && meminfo.writesize == 4096) &&
+ !(meminfo.oobsize == 64 && meminfo.writesize == 2048) &&
+ !(meminfo.oobsize == 32 && meminfo.writesize == 1024) &&
+ !(meminfo.oobsize == 16 && meminfo.writesize == 512) &&
+Index: git/nandwrite.c
+===================================================================
+--- git.orig/nandwrite.c 2010-04-29 09:59:30.000000000 +0200
++++ git/nandwrite.c 2010-04-29 10:27:51.000000000 +0200
+@@ -294,6 +294,7 @@
+ if (!(meminfo.oobsize == 16 && meminfo.writesize == 512) &&
+ !(meminfo.oobsize == 8 && meminfo.writesize == 256) &&
+ !(meminfo.oobsize == 64 && meminfo.writesize == 2048) &&
++ !(meminfo.oobsize == 64 && meminfo.writesize == 4096) &&
+ !(meminfo.oobsize == 128 && meminfo.writesize == 4096)) {
+ fprintf(stderr, "Unknown flash (not normal NAND)\n");
+ 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 000000000..909b28b21
--- /dev/null
+++ b/meta/packages/mtd/mtd-utils_1.3.1.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "Tools for managing memory technology devices."
+SECTION = "base"
+DEPENDS = "zlib lzo e2fsprogs util-linux"
+HOMEPAGE = "http://www.linux-mtd.infradead.org/"
+LICENSE = "GPLv2"
+
+SRC_URI = "git://git.infradead.org/mtd-utils.git;protocol=git;tag=v${PV} \
+ file://add-exclusion-to-mkfs-jffs2-git-2.patch;patch=1 \
+ file://fix-ignoreerrors-git.patch;patch=1 \
+ file://add-oobsize-64-and-writesize-4096-as-normal-nand.patch;patch=1"
+
+S = "${WORKDIR}/git/"
+
+EXTRA_OEMAKE = "'CC=${CC}' 'CFLAGS=${CFLAGS} -I${S}/include -DWITHOUT_XATTR' 'BUILDDIR=${S}'"
+
+do_install () {
+ oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} INCLUDEDIR=${includedir}
+ install -d ${D}${includedir}/mtd/
+ for f in ${S}/include/mtd/*.h; do
+ install -m 0644 $f ${D}${includedir}/mtd/
+ done
+}
+
+PARALLEL_MAKE = ""
+
+BBCLASSEXTEND = "native"
+NATIVE_INSTALL_WORKS = "1"
diff --git a/meta/packages/musicbrainz/files/autofoo.patch b/meta/packages/musicbrainz/files/autofoo.patch
deleted file mode 100644
index e32304796..000000000
--- a/meta/packages/musicbrainz/files/autofoo.patch
+++ /dev/null
@@ -1,180 +0,0 @@
----
- ac_func_accept_argtypes.m4 | 94 +++++++++++++++++++++++++++++++++++++++++++++
- configure.in | 64 ------------------------------
- 2 files changed, 96 insertions(+), 62 deletions(-)
-
-Index: libmusicbrainz-2.1.3/ac_func_accept_argtypes.m4
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ libmusicbrainz-2.1.3/ac_func_accept_argtypes.m4 2007-08-01 22:08:44.000000000 +0100
-@@ -0,0 +1,94 @@
-+##### http://autoconf-archive.cryp.to/ac_func_accept_argtypes.html
-+#
-+# SYNOPSIS
-+#
-+# AC_FUNC_ACCEPT_ARGTYPES
-+#
-+# DESCRIPTION
-+#
-+# Checks the data types of the three arguments to accept(). Results
-+# are placed into the symbols ACCEPT_TYPE_ARG[123], consistent with
-+# the following example:
-+#
-+# #define ACCEPT_ARG1 int
-+# #define ACCEPT_ARG2 struct sockaddr *
-+# #define ACCEPT_ARG3 socklen_t *
-+#
-+# This macro requires AC_CHECK_HEADERS to have already verified the
-+# presence or absence of sys/types.h and sys/socket.h.
-+#
-+# NOTE: This is just a modified version of the
-+# AC_FUNC_SELECT_ARGTYPES macro. Credit for that one goes to David
-+# MacKenzie et. al.
-+#
-+# LAST MODIFICATION
-+#
-+# 2006-10-22
-+#
-+# COPYLEFT
-+#
-+# Copyright (c) 2006 Daniel Richard G. <skunk@iskunk.org>
-+#
-+# This program is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU General Public License as
-+# published by the Free Software Foundation; either version 2 of the
-+# License, or (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful, but
-+# WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-+# 02111-1307, USA.
-+#
-+# As a special exception, the respective Autoconf Macro's copyright
-+# owner gives unlimited permission to copy, distribute and modify the
-+# configure scripts that are the output of Autoconf when processing
-+# the Macro. You need not follow the terms of the GNU General Public
-+# License when using or distributing such scripts, even though
-+# portions of the text of the Macro appear in them. The GNU General
-+# Public License (GPL) does govern all other use of the material that
-+# constitutes the Autoconf Macro.
-+#
-+# This special exception to the GPL applies to versions of the
-+# Autoconf Macro released by the Autoconf Macro Archive. When you
-+# make and distribute a modified version of the Autoconf Macro, you
-+# may extend this special exception to the GPL to apply to your
-+# modified version as well.
-+
-+AC_DEFUN([AC_FUNC_ACCEPT_ARGTYPES],
-+[AC_MSG_CHECKING([types of arguments for accept()])
-+ AC_CACHE_VAL(ac_cv_func_accept_arg1,dnl
-+ [AC_CACHE_VAL(ac_cv_func_accept_arg2,dnl
-+ [AC_CACHE_VAL(ac_cv_func_accept_arg3,dnl
-+ [for ac_cv_func_accept_arg1 in 'int' 'unsigned int'; do
-+ for ac_cv_func_accept_arg2 in 'struct sockaddr' 'void'; do
-+ for ac_cv_func_accept_arg3 in 'socklen_t' 'size_t' 'unsigned int' 'int'; do
-+ AC_TRY_COMPILE(dnl
-+[#ifdef HAVE_SYS_TYPES_H
-+#include <sys/types.h>
-+#endif
-+#ifdef HAVE_SYS_SOCKET_H
-+#include <sys/socket.h>
-+#endif
-+extern accept ($ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2 *, $ac_cv_func_accept_arg3 *);],,dnl
-+ [ac_not_found=no ; break 3], ac_not_found=yes)
-+ done
-+ done
-+ done
-+ ])dnl AC_CACHE_VAL
-+ ])dnl AC_CACHE_VAL
-+ ])dnl AC_CACHE_VAL
-+ if test "$ac_not_found" = yes; then
-+ ac_cv_func_accept_arg1=int
-+ ac_cv_func_accept_arg2='struct sockaddr'
-+ ac_cv_func_accept_arg3='socklen_t'
-+ fi
-+ AC_MSG_RESULT([$ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3])
-+ AC_DEFINE_UNQUOTED(ACCEPT_ARG1,$ac_cv_func_accept_arg1, "Argument 1 to accept()")
-+ AC_DEFINE_UNQUOTED(ACCEPT_ARG2,$ac_cv_func_accept_arg2, "Argument 2 to accept()")
-+ AC_DEFINE_UNQUOTED(ACCEPT_ARG3,$ac_cv_func_accept_arg3, "Argument 3 to accept()")
-+])
-Index: libmusicbrainz-2.1.3/configure.in
-===================================================================
---- libmusicbrainz-2.1.3.orig/configure.in 2007-08-01 21:14:59.000000000 +0100
-+++ libmusicbrainz-2.1.3/configure.in 2007-08-01 21:46:03.000000000 +0100
-@@ -76,69 +76,9 @@ AC_DEFUN([AC_PROTOTYPE],[
- popdef([function])
- ])
-
--AC_DEFUN([AC_PROTOTYPE_REVERSE],[ifelse($#,0,,$#,1,[[$1]],[AC_PROTOTYPE_REVERSE(builtin([shift],$@)),[$1]])])
--
--AC_DEFUN([AC_PROTOTYPE_SUBST],[ifelse($2,,[$1],[AC_PROTOTYPE_SUBST(patsubst([$1],[$2],[$2[]_VAL]),builtin([shift],builtin([shift],$@)))])])
--
--AC_DEFUN([AC_PROTOTYPE_TAGS],[ifelse($1,,[],[$1, AC_PROTOTYPE_TAGS(builtin([shift],builtin([shift],$@)))])])
--AC_DEFUN([AC_PROTOTYPE_DEFINES],[ifelse($1,,[],[AC_DEFINE(function[]_$1, $1_VAL) AC_PROTOTYPE_DEFINES(builtin([shift],$@))])])
--
--AC_DEFUN([AC_PROTOTYPE_STATUS],[ifelse($1,,[],[$1 => $1_VAL AC_PROTOTYPE_STATUS(builtin([shift],$@))])])
--
--AC_DEFUN([AC_PROTOTYPE_EACH],[
-- ifelse($2,, [
-- ], [
-- pushdef([$1_VAL], $2)
-- AC_PROTOTYPE_LOOP(rest)
-- popdef([$1_VAL])
-- AC_PROTOTYPE_EACH($1, builtin([shift], builtin([shift], $@)))
-- ])
--])
--
--AC_DEFUN([AC_PROTOTYPE_LOOP],[
-- ifelse(builtin([eval], $# > 3), 1,
-- [
-- pushdef([rest],[builtin([shift],builtin([shift],$@))])
-- AC_PROTOTYPE_EACH($2,$1)
-- popdef([rest])
-- ], [
-- AC_MSG_CHECKING($3 AC_PROTOTYPE_STATUS(tags))
-- ac_save_CPPFLAGS="$CPPFLAGS"
-- ifelse(AC_LANG(C++),,if test "$GXX" = "yes" ; then CPPFLAGS="$CPPFLAGS -Werror" ; fi)
-- ifelse(AC_LANG(C),,if test "$GCC" = "yes" ; then CPPFLAGS="$CPPFLAGS -Werror" ; fi)
-- AC_TRY_COMPILE($2, $1, [
-- CPPFLAGS="$ac_save_CPPFLAGS"
-- AC_MSG_RESULT(ok)
-- AC_PROTOTYPE_DEFINES(tags)
-- break;
-- ], [
-- CPPFLAGS="$ac_save_CPPFLAGS"
-- AC_MSG_RESULT(not ok)
-- ])
-- ]
-- )
--])
--
--AC_DEFUN([AC_PROTOTYPE_ACCEPT],[
--AC_PROTOTYPE(accept,
-- [
-- #include <sys/types.h>
-- #include <sys/socket.h>
-- ],
-- [
-- int a = 0;
-- ARG2 * b = 0;
-- ARG3 * c = 0;
-- accept(a, b, c);
-- ],
-- ARG2, [struct sockaddr, void],
-- ARG3, [socklen_t, size_t, int, unsigned int, long unsigned int])
--])
--
--AC_PROTOTYPE_ACCEPT
-+m4_include(ac_func_accept_argtypes.m4)
-+AC_FUNC_ACCEPT_ARGTYPES()
-
--AC_DEFINE_UNQUOTED([ACCEPT_ARG2],,"Argument 2 to accept()")
--AC_DEFINE_UNQUOTED([ACCEPT_ARG3],,"Argument 3 to accept()")
- AC_DEFINE_UNQUOTED(PREFIX, "${prefix}", [Application install prefix])
-
- 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 520837dd0..000000000
--- a/meta/packages/musicbrainz/files/gcc43_fix.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-Index: libmusicbrainz-2.1.3/lib/c_wrapper.cpp
-===================================================================
---- libmusicbrainz-2.1.3.orig/lib/c_wrapper.cpp 2008-07-18 15:40:55.000000000 +0100
-+++ libmusicbrainz-2.1.3/lib/c_wrapper.cpp 2008-07-18 15:42:05.000000000 +0100
-@@ -21,6 +21,7 @@
- $Id: c_wrapper.cpp 665 2003-10-16 22:21:10Z robert $
-
- ----------------------------------------------------------------------------*/
-+#include <cstring>
- #include "musicbrainz.h"
- #include "trm.h"
- #include "mb_c.h"
-Index: libmusicbrainz-2.1.3/lib/comhttpsocket.cpp
-===================================================================
---- libmusicbrainz-2.1.3.orig/lib/comhttpsocket.cpp 2008-07-18 15:40:55.000000000 +0100
-+++ libmusicbrainz-2.1.3/lib/comhttpsocket.cpp 2008-07-18 15:42:38.000000000 +0100
-@@ -10,6 +10,8 @@
- #pragma warning(disable:4786)
- #endif
-
-+#include <cstring>
-+
- #include "comhttpsocket.h"
- #ifdef WIN32
- #include "../config_win32.h"
-Index: libmusicbrainz-2.1.3/lib/comsocket.cpp
-===================================================================
---- libmusicbrainz-2.1.3.orig/lib/comsocket.cpp 2008-07-18 15:40:55.000000000 +0100
-+++ libmusicbrainz-2.1.3/lib/comsocket.cpp 2008-07-18 15:43:05.000000000 +0100
-@@ -28,6 +28,7 @@
- programed by : Sean Ward
- email : sward@relatable.com
- ***************************************************************************/
-+#include <cstring>
-
- #include "config.h"
-
-Index: libmusicbrainz-2.1.3/lib/http.cpp
-===================================================================
---- libmusicbrainz-2.1.3.orig/lib/http.cpp 2008-07-18 15:40:55.000000000 +0100
-+++ libmusicbrainz-2.1.3/lib/http.cpp 2008-07-18 15:41:32.000000000 +0100
-@@ -23,6 +23,8 @@
-
- ----------------------------------------------------------------------------*/
- #include <stdio.h>
-+#include <cstring>
-+#include <cstdlib>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <ctype.h>
-Index: libmusicbrainz-2.1.3/lib/sigclient.cpp
-===================================================================
---- libmusicbrainz-2.1.3.orig/lib/sigclient.cpp 2008-07-18 15:40:55.000000000 +0100
-+++ libmusicbrainz-2.1.3/lib/sigclient.cpp 2008-07-18 15:43:27.000000000 +0100
-@@ -29,6 +29,8 @@
- email : ijr@relatable.com
- ***************************************************************************/
-
-+#include <cstring>
-+
- #ifdef WIN32
- #pragma warning(disable:4786)
- #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 372dfe4ac..000000000
--- a/meta/packages/musicbrainz/libmusicbrainz_2.1.3.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "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."
-HOMEPAGE = "http://musicbrainz.org"
-LICENSE = "LGPL"
-DEPENDS = "expat"
-PR = "r1"
-
-SRC_URI = "http://ftp.musicbrainz.org/pub/musicbrainz/libmusicbrainz-2.1.3.tar.gz \
- file://gcc43_fix.patch;patch=1 \
- file://autofoo.patch;patch=1"
-
-inherit autotools pkgconfig
-
-
-
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 000000000..b649620ac
--- /dev/null
+++ b/meta/packages/musicbrainz/libmusicbrainz_3.0.2.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "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."
+HOMEPAGE = "http://musicbrainz.org"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24 \
+ file://include/musicbrainz3/includes.h;beginline=1;endline=21;md5=e7d3b3e6d8bb7ee278dc4040d380ebd5"
+DEPENDS = "expat neon"
+
+PR = "r0"
+
+SRC_URI = "http://ftp.musicbrainz.org/pub/musicbrainz/${PN}-${PV}.tar.gz"
+
+inherit 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 6256d9ab2..6256d9ab2 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 3b2472a78..bb18893f9 100644
--- a/meta/packages/neon/neon_0.28.1.bb
+++ b/meta/packages/neon/neon_0.29.3.bb
@@ -1,8 +1,13 @@
DESCRIPTION = "neon is an HTTP and WebDAV client library, with a C interface."
+HOMEPAGE = "http://www.webdav.org/neon/"
SECTION = "libs"
-LICENSE = "LGPL"
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://src/COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a \
+ file://src/ne_utils.h;beginline=1;endline=20;md5=2caca609538eddaa6f6adf120a218037"
DEPENDS = "zlib libxml2 expat time gnutls"
+PR = "r0"
+
SRC_URI = "http://www.webdav.org/${PN}/${P}.tar.gz \
file://pkgconfig.patch;patch=1"
diff --git a/meta/packages/netbase/netbase/busybox.patch b/meta/packages/netbase/netbase/busybox.patch
deleted file mode 100644
index 845bb421e..000000000
--- a/meta/packages/netbase/netbase/busybox.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- netbase-3.18.orig/debian/networking.init.d~busybox
-+++ netbase-3.18.orig/debian/networking.init.d
-@@ -15,8 +15,8 @@
- # spoof protection on all current and future interfaces.
-
- if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then
-- for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
-- echo 1 > $f
-+ for f in /proc/sys/net/ipv4/conf/*; do
-+ echo 1 > $f/rp_filter
- done
- return 0
- else
diff --git a/meta/packages/netbase/netbase_4.21.bb b/meta/packages/netbase/netbase_4.41.bb
index bed35adfc..a3e2e8742 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/
HOMEPAGE = "http://packages.debian.org/netbase"
SECTION = "base"
LICENSE = "GPLv2"
-PR = "r23"
+PR = "r0"
inherit update-rc.d
@@ -32,8 +32,6 @@ do_install () {
install -m 0644 etc-rpc ${D}${sysconfdir}/rpc
install -m 0644 etc-protocols ${D}${sysconfdir}/protocols
install -m 0644 etc-services ${D}${sysconfdir}/services
- install -m 0755 update-inetd ${D}${sbindir}/
- install -m 0644 update-inetd.8 ${D}${mandir}/man8/
install -m 0644 ${WORKDIR}/interfaces ${D}${sysconfdir}/network/interfaces
# 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 c45829461..1f0987011 100644
--- a/meta/packages/networkmanager/networkmanager-applet_svn.bb
+++ b/meta/packages/networkmanager/networkmanager-applet_svn.bb
@@ -1,5 +1,7 @@
DESCRIPTION = "GTK+ applet for NetworkManager"
-LICENSE = "GPL"
+HOMEPAGE = "http://projects.gnome.org/NetworkManager/"
+BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=NetworkManager&content="
+LICENSE = "GPLv2+ & LGPLv2.1+"
DEPENDS = "networkmanager dbus-glib libglade gconf gnome-keyring"
#TODO DEPENDS libnotify
RDEPENDS = "networkmanager dbus-wait"
@@ -19,9 +21,8 @@ PV = "0.0+svnr${SRCREV}"
S = "${WORKDIR}/trunk"
FILES_${PN} += "${datadir}/nm-applet/ \
- ${datadir}/gnome-vpn-properties/ \
- ${datadir}/gnome/autostart/ \
- "
+ ${datadir}/gnome-vpn-properties/ \
+ ${datadir}/gnome/autostart/"
do_install_append () {
install -d ${D}${sysconfdir}/X11/Xsession.d/
diff --git a/meta/packages/networkmanager/networkmanager_svn.bb b/meta/packages/networkmanager/networkmanager_svn.bb
index 7a4167661..f60496db7 100644
--- a/meta/packages/networkmanager/networkmanager_svn.bb
+++ b/meta/packages/networkmanager/networkmanager_svn.bb
@@ -1,7 +1,8 @@
DESCRIPTION = "NetworkManager"
+HOMEPAGE = "http://projects.gnome.org/NetworkManager/"
+BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=NetworkManager&content="
SECTION = "net/misc"
-LICENSE = "GPL"
-HOMEPAGE = "http://www.gnome.org"
+LICENSE = "GPLv2+ & LGPLv2+"
PRIORITY = "optional"
DEPENDS = "libnl dbus dbus-glib hal gconf-dbus wireless-tools ppp gnome-common polkit"
RDEPENDS = "hal wpa-supplicant iproute2 dhcp-client"
@@ -10,16 +11,15 @@ PV = "0.7+svnr${SRCREV}"
PR = "r9"
SRC_URI="svn://svn.gnome.org/svn/NetworkManager/;module=trunk;proto=http \
- file://no-restarts.diff;patch=1;pnum=0 \
- file://libnlfix.patch;patch=1 \
- file://makefile-fix.patch;patch=1 \
- file://allow-disabling.patch;patch=1 \
- file://NetworkManager \
- file://99_networkmanager"
-
-EXTRA_OECONF = " \
- --with-distro=debian \
- --with-ip=/sbin/ip"
+ file://no-restarts.diff;patch=1;pnum=0 \
+ file://libnlfix.patch;patch=1 \
+ file://makefile-fix.patch;patch=1 \
+ file://allow-disabling.patch;patch=1 \
+ file://NetworkManager \
+ file://99_networkmanager"
+
+EXTRA_OECONF = "--with-distro=debian \
+ --with-ip=/sbin/ip"
# TODO: will /bin/ip from busybox do?
S = "${WORKDIR}/trunk"
@@ -52,8 +52,7 @@ FILES_libnmutil += "${libdir}/libnm-util.so.*"
FILES_libnmglib += "${libdir}/libnm_glib.so.*"
FILES_${PN}-dev = "${includedir}/* \
- ${libdir}/*.so \
- ${libdir}/*.a \
- ${libdir}/pkgconfig/*.pc \
- ${datadir}/NetworkManager/gdb-cmd \
- "
+ ${libdir}/*.so \
+ ${libdir}/*.a \
+ ${libdir}/pkgconfig/*.pc \
+ ${datadir}/NetworkManager/gdb-cmd"
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 50586b04e..1ffb96a46 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 @@
DESCRIPTION = "userspace utilities for kernel nfs"
-PRIORITY = "optional"
+HOMEPAGE = "http://nfs.sourceforge.net/"
SECTION = "console/network"
-LICENSE = "GPL"
+PRIORITY = "optional"
+LICENSE = "GPLv2+"
PR = "r14"
SRC_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 876f62ab3..000000000
--- a/meta/packages/pango/pango-1.22.2/doublefix.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Fix double header inclusion for bug with recent autoconf/automake
-
-RP 4/2/10
-
-Index: pango-1.22.2/pango/Makefile.am
-===================================================================
---- pango-1.22.2.orig/pango/Makefile.am 2010-02-04 12:05:30.000000000 +0000
-+++ pango-1.22.2/pango/Makefile.am 2010-02-04 12:07:21.000000000 +0000
-@@ -233,7 +233,7 @@
- # ------------------- libpangoxft -------------------
-
- if HAVE_XFT
--pangoinclude_HEADERS += pangoxft.h pangoxft-render.h pango-ot.h
-+pangoinclude_HEADERS += pangoxft.h pangoxft-render.h
- lib_LTLIBRARIES += libpangoxft-1.0.la
- endif
-
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 b5ee86aa8..000000000
--- a/meta/packages/pango/pango-1.26.0/no-introspect.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: pango-1.26.0/configure.in
-===================================================================
---- pango-1.26.0.orig/configure.in 2009-10-12 17:46:48.000000000 +0100
-+++ pango-1.26.0/configure.in 2009-10-12 17:47:00.000000000 +0100
-@@ -494,7 +494,7 @@
- # Checks for GObject Introspection
- #
- have_introspection=false
--PKG_CHECK_MODULES(INTROSPECTION, gobject-introspection-1.0 >= 0.6.4, have_introspection=true, have_introspection=false)
-+#PKG_CHECK_MODULES(INTROSPECTION, gobject-introspection-1.0 >= 0.6.4, have_introspection=true, have_introspection=false)
- AM_CONDITIONAL(HAVE_INTROSPECTION, $have_introspection)
-
- 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 4a74d8c4d..000000000
--- a/meta/packages/pango/pango-1.26.0/no-tests.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: pango-1.22.2/Makefile.am
-===================================================================
---- pango-1.22.2.orig/Makefile.am
-+++ pango-1.22.2/Makefile.am
-@@ -1,6 +1,6 @@
- ## Process this file with automake to create Makefile.in.
-
--SUBDIRS= pango modules pango-view examples docs tools tests
-+SUBDIRS= pango modules pango-view examples docs tools
-
- EXTRA_DIST = \
- 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 4a74d8c4d..4a74d8c4d 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 eee9b938c..2e28cc443 100644
--- a/meta/packages/pango/pango.inc
+++ b/meta/packages/pango/pango.inc
@@ -1,12 +1,10 @@
DESCRIPTION = "The goal of the Pango project is to provide an \
Open Source framework for the layout and rendering of \
internationalized text."
-LICENSE = "LGPL"
-
-inherit gnome
-EXTRA_AUTORECONF = ""
-
+HOMEPAGE = "http://www.pango.org/"
+BUGTRACKER = "http://bugzilla.gnome.org"
SECTION = "x11/libs"
+LICENSE = "LGPL"
DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv virtual/libx11 libxft gtk-doc-native cairo"
@@ -14,6 +12,10 @@ PACKAGES_DYNAMIC = "pango-module-*"
RRECOMMENDS_${PN} = "pango-module-basic-x pango-module-basic-fc"
+inherit gnome
+
+EXTRA_AUTORECONF = ""
+
# seems to go wrong with default cflags
FULL_OPTIMIZATION_arm = "-O2"
@@ -24,10 +26,6 @@ EXTRA_OECONF = "--disable-glibtest \
LEAD_SONAME = "libpango-1.0*"
LIBV = "1.6.0"
-FILES_${PN} = "/etc ${bindir}/* ${libdir}/libpango*${SOLIBS}"
-FILES_${PN}-dbg += "${libdir}/pango/${LIBV}/modules/.debug"
-FILES_${PN}-dev += "${libdir}/pango/${LIBV}/modules/*.la"
-
do_stage () {
autotools_stage_all
}
@@ -46,3 +44,7 @@ python populate_packages_prepend () {
do_split_packages(d, modules_root, '^pango-(.*)\.so$', 'pango-module-%s', 'Pango module %s', prologue + 'pango-querymodules > /etc/pango/pango.modules')
}
+
+FILES_${PN} = "/etc ${bindir}/* ${libdir}/libpango*${SOLIBS}"
+FILES_${PN}-dbg += "${libdir}/pango/${LIBV}/modules/.debug"
+FILES_${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 14153db1a..000000000
--- a/meta/packages/pango/pango_1.22.2.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require pango.inc
-
-SRC_URI += "file://no-tests.patch;patch=1"
-SRC_URI += "file://doublefix.patch;patch=1"
-
-PR = "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 101035eb6..000000000
--- a/meta/packages/pango/pango_1.26.0.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require pango.inc
-
-SRC_URI += "file://no-tests.patch;patch=1"
-SRC_URI += "file://no-introspect.patch;patch=1"
-
-PARALLEL_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 000000000..ae914ffc5
--- /dev/null
+++ b/meta/packages/pango/pango_1.28.0.bb
@@ -0,0 +1,9 @@
+require pango.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
+
+PR = "r0"
+
+SRC_URI += "file://no-tests.patch"
+
+PARALLEL_MAKE = ""
diff --git a/meta/packages/pcmanfm/pcmanfm_0.3.2.2.bb b/meta/packages/pcmanfm/pcmanfm_0.3.2.2.bb
index d45f93e83..0576c32f5 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 @@
-LICENSE = "GPL"
-DESCRIPTION = "procfs tools"
+DESCRIPTION = "Fast lightweight tabbed filemanager"
+HOMEPAGE = "http://pcmanfm.sourceforge.net/"
+BUGTRACKER = ""
+
+LICENSE = "GPLv2 & GPLv2+ & LGPLv2.1+"
+
SECTION = "x11"
PRIORITY = "optional"
DEPENDS = "gtk+ startup-notification"
diff --git a/meta/packages/pcmciautils/pcmciautils.inc b/meta/packages/pcmciautils/pcmciautils.inc
index da247d7cb..7adef38e0 100644
--- a/meta/packages/pcmciautils/pcmciautils.inc
+++ b/meta/packages/pcmciautils/pcmciautils.inc
@@ -1,9 +1,10 @@
DESCRIPTION = "Linux Kernel 2.6 Userland Utilities for the PCMCIA Subsystem"
-DEPENDS = "sysfsutils flex-native"
-RDEPENDS = "udev module-init-tools"
HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html"
SECTION = "kernel/userland"
PRIORITY = "optional"
+LICENSE = "GPLv2"
+DEPENDS = "sysfsutils flex-native"
+RDEPENDS = "udev module-init-tools"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/kernel/pcmcia/pcmciautils-${PV}.tar.bz2"
diff --git a/meta/packages/pkgconfig/pkgconfig.inc b/meta/packages/pkgconfig/pkgconfig.inc
index c64037299..a42ee9e1d 100644
--- a/meta/packages/pkgconfig/pkgconfig.inc
+++ b/meta/packages/pkgconfig/pkgconfig.inc
@@ -1,18 +1,17 @@
-SECTION = "console/utils"
DESCRIPTION = "pkg-config is a system for managing library \
compile/link flags that works with automake and autoconf. \
It replaces the ubiquitous *-config scripts you may have \
seen with a single tool."
HOMEPAGE = "http://pkg-config.freedesktop.org/wiki/"
-LICENSE = "GPL"
+BUGTRACKER = "http://bugs.freedesktop.org/buglist.cgi?product=pkg-config"
+SECTION = "console/utils"
+
+LICENSE = "GPLv2+"
PR = "r8"
DEPENDS = "glib-2.0"
DEPENDS_virtclass-native = ""
DEPENDS_virtclass-nativesdk = ""
-EXTRA_OECONF = "--with-installed-glib --disable-legacy-scripts"
-EXTRA_OECONF_virtclass-native = "--disable-legacy-scripts"
-EXTRA_OECONF_virtclass-nativesdk = "--disable-legacy-scripts"
SRC_URI = "http://pkgconfig.freedesktop.org/releases/pkg-config-${PV}.tar.gz \
file://autofoo.patch \
@@ -24,6 +23,10 @@ S = "${WORKDIR}/pkg-config-${PV}/"
inherit autotools
+EXTRA_OECONF = "--with-installed-glib --disable-legacy-scripts"
+EXTRA_OECONF_virtclass-native = "--disable-legacy-scripts"
+EXTRA_OECONF_virtclass-nativesdk = "--disable-legacy-scripts"
+
acpaths = "-I ."
do_configure_prepend () {
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 e7e7062d5..347c0fc4a 100644
--- a/meta/packages/popt/popt_1.14.bb
+++ b/meta/packages/popt/popt_1.16.bb
@@ -1,10 +1,14 @@
DESCRIPTION = "The popt library for parsing command line options."
-LICENSE = "MIT"
+HOMEPAGE = "http://rpm5.org/"
SECTION = "libs"
DEPENDS = "gettext"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=cb0613c30af2a8249b8dcc67d3edb06d"
+PR = "r0"
+
SRC_URI = "http://rpm5.org/files/popt/popt-${PV}.tar.gz"
inherit autotools
-BBCLASSEXTEND = "native" \ No newline at end of file
+BBCLASSEXTEND = "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 574abfaf2..000000000
--- a/meta/packages/ppp/ppp-2.4.3/makefile-remove-hard-usr-reference.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- ppp-2.4.3/pppd/Makefile.linux.orig 2006-01-17 15:09:56.000000000 +0000
-+++ ppp-2.4.3/pppd/Makefile.linux 2006-01-17 15:10:21.000000000 +0000
-@@ -117,12 +117,12 @@
- #LIBS += -lshadow $(LIBS)
- endif
-
--ifneq ($(wildcard /usr/include/crypt.h),)
-+#ifneq ($(wildcard /usr/include/crypt.h),)
- CFLAGS += -DHAVE_CRYPT_H=1
--endif
--ifneq ($(wildcard /usr/lib/libcrypt.*),)
-+#endif
-+#ifneq ($(wildcard /usr/lib/libcrypt.*),)
- LIBS += -lcrypt
--endif
-+#endif
-
- ifdef NEEDDES
- 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 ac3822ac1..000000000
--- a/meta/packages/ppp/ppp-2.4.3/plugins-fix-CC.patch
+++ /dev/null
@@ -1,7 +0,0 @@
---- ppp-2.4.3/pppd/plugins/Makefile.linux~ 2004-11-13 23:57:35.000000000 -0800
-+++ ppp-2.4.3/pppd/plugins/Makefile.linux 2005-08-11 17:19:28.000000000 -0700
-@@ -1,4 +1,3 @@
--CC = gcc
- COPTS = -O2 -g
- CFLAGS = $(COPTS) -I.. -I../../include -fPIC
- 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 5601f593d..000000000
--- a/meta/packages/ppp/ppp-2.4.3/pppoatm-makefile.patch
+++ /dev/null
@@ -1,7 +0,0 @@
---- ppp-2.4.3/pppd/plugins/pppoatm/Makefile.linux.orig 2005-10-26 20:38:50.990298750 +0100
-+++ ppp-2.4.3/pppd/plugins/pppoatm/Makefile.linux 2005-10-26 20:39:05.583210750 +0100
-@@ -1,4 +1,3 @@
--CC = gcc
- COPTS = -O2 -g
- CFLAGS = $(COPTS) -I../.. -I../../../include -fPIC
- LDFLAGS = -shared
diff --git a/meta/packages/ppp/files/08setupdns b/meta/packages/ppp/ppp-2.4.5/08setupdns
index 998219de9..998219de9 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 2eadec689..2eadec689 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 d61b920c5..6473a08bc 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 @@
+This patch comes from OpenEmbedded.
+The original patch is from Debian / SuSE to implement replacedefaultroute
+Rebased it to fit ppp-2.4.5. Dongxiao Xu <dongxiao.xu@intel.com>
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- ppp-2.4.3/pppd/ipcp.c~cifdefroute.patch
-+++ ppp-2.4.3/pppd/ipcp.c
-@@ -197,6 +197,16 @@
+diff -urN ppp-2.4.5-orig/pppd/ipcp.c ppp-2.4.5/pppd/ipcp.c
+--- ppp-2.4.5-orig/pppd/ipcp.c 2010-06-30 15:51:12.050166398 +0800
++++ ppp-2.4.5/pppd/ipcp.c 2010-06-30 16:40:00.478716855 +0800
+@@ -198,6 +198,16 @@
"disable defaultroute option", OPT_ALIAS | OPT_A2CLR,
&ipcp_wantoptions[0].default_route },
+#ifdef __linux__
+ { "replacedefaultroute", o_bool,
-+ &ipcp_wantoptions[0].replace_default_route,
++ &ipcp_wantoptions[0].replace_default_route,
+ "Replace default route", 1
+ },
+ { "noreplacedefaultroute", o_bool,
-+ &ipcp_allowoptions[0].replace_default_route,
++ &ipcp_allowoptions[0].replace_default_route,
+ "Never replace default route", OPT_A2COPY,
-+ &ipcp_wantoptions[0].replace_default_route },
++ &ipcp_wantoptions[0].replace_default_route },
+#endif
{ "proxyarp", o_bool, &ipcp_wantoptions[0].proxy_arp,
"Add proxy ARP entry", OPT_ENABLE|1, &ipcp_allowoptions[0].proxy_arp },
{ "noproxyarp", o_bool, &ipcp_allowoptions[0].proxy_arp,
-@@ -263,7 +273,7 @@
+@@ -271,7 +281,7 @@
ip_active_pkt
};
-static void ipcp_clear_addrs __P((int, u_int32_t, u_int32_t));
+static void ipcp_clear_addrs __P((int, u_int32_t, u_int32_t, bool));
- static void ipcp_script __P((char *)); /* Run an up/down script */
+ static void ipcp_script __P((char *, int)); /* Run an up/down script */
static void ipcp_script_done __P((void *));
-@@ -1659,7 +1669,12 @@
+@@ -1742,7 +1752,12 @@
if (!sifnpmode(u, PPP_IP, NPMODE_QUEUE))
return 0;
if (wo->default_route)
@@ -39,22 +39,22 @@
if (sifdefaultroute(u, wo->ouraddr, wo->hisaddr))
+#else
+ if (sifdefaultroute(u, wo->ouraddr, wo->hisaddr,
-+ wo->replace_default_route))
++ wo->replace_default_route))
+#endif
default_route_set[u] = 1;
if (wo->proxy_arp)
if (sifproxyarp(u, wo->hisaddr))
-@@ -1741,7 +1756,8 @@
+@@ -1830,7 +1845,8 @@
*/
if (demand) {
if (go->ouraddr != wo->ouraddr || ho->hisaddr != wo->hisaddr) {
- ipcp_clear_addrs(f->unit, wo->ouraddr, wo->hisaddr);
-+ ipcp_clear_addrs(f->unit, wo->ouraddr, wo->hisaddr,
++ ipcp_clear_addrs(f->unit, wo->ouraddr, wo->hisaddr,
+ wo->replace_default_route);
if (go->ouraddr != wo->ouraddr) {
warn("Local IP address changed to %I", go->ouraddr);
script_setenv("OLDIPLOCAL", ip_ntoa(wo->ouraddr), 0);
-@@ -1766,7 +1782,12 @@
+@@ -1855,7 +1871,12 @@
/* assign a default route through the interface if required */
if (ipcp_wantoptions[f->unit].default_route)
@@ -67,7 +67,7 @@
default_route_set[f->unit] = 1;
/* Make a proxy ARP entry if requested. */
-@@ -1813,7 +1834,12 @@
+@@ -1905,7 +1926,12 @@
/* assign a default route through the interface if required */
if (ipcp_wantoptions[f->unit].default_route)
@@ -80,7 +80,7 @@
default_route_set[f->unit] = 1;
/* Make a proxy ARP entry if requested. */
-@@ -1890,7 +1916,7 @@
+@@ -1983,7 +2009,7 @@
sifnpmode(f->unit, PPP_IP, NPMODE_DROP);
sifdown(f->unit);
ipcp_clear_addrs(f->unit, ipcp_gotoptions[f->unit].ouraddr,
@@ -89,7 +89,7 @@
}
/* Execute the ip-down script */
-@@ -1906,16 +1932,25 @@
+@@ -1999,12 +2025,21 @@
* proxy arp entries, etc.
*/
static void
@@ -100,11 +100,7 @@
u_int32_t hisaddr; /* remote address */
+ bool replacedefaultroute;
{
- if (proxy_arp_set[unit]) {
- cifproxyarp(unit, hisaddr);
- proxy_arp_set[unit] = 0;
- }
-- if (default_route_set[unit]) {
+- if (proxy_arp_set[unit]) {
+ /* If replacedefaultroute, sifdefaultroute will be called soon
+ * with replacedefaultroute set and that will overwrite the current
+ * default route. This is the case only when doing demand, otherwise
@@ -114,22 +110,24 @@
+ * is one saved by an sifdefaultroute with replacedefaultroute.
+ */
+ if (!replacedefaultroute && default_route_set[unit]) {
- cifdefaultroute(unit, ouraddr, hisaddr);
- default_route_set[unit] = 0;
+ cifproxyarp(unit, hisaddr);
+ proxy_arp_set[unit] = 0;
}
---- ppp-2.4.3/pppd/ipcp.h~cifdefroute.patch
-+++ ppp-2.4.3/pppd/ipcp.h
+diff -urN ppp-2.4.5-orig/pppd/ipcp.h ppp-2.4.5/pppd/ipcp.h
+--- ppp-2.4.5-orig/pppd/ipcp.h 2010-06-30 15:51:12.043682063 +0800
++++ ppp-2.4.5/pppd/ipcp.h 2010-06-30 16:40:49.586203129 +0800
@@ -70,6 +70,7 @@
bool old_addrs; /* Use old (IP-Addresses) option? */
bool req_addr; /* Ask peer to send IP address? */
bool default_route; /* Assign default route through interface? */
-+ bool replace_default_route; /* Replace default route through interface? */
++ bool replace_default_route; /* Replace default route through interface? */
bool proxy_arp; /* Make proxy ARP entry for peer? */
bool neg_vj; /* Van Jacobson Compression? */
bool old_vj; /* use old (short) form of VJ option? */
---- ppp-2.4.3/pppd/pppd.8~cifdefroute.patch
-+++ ppp-2.4.3/pppd/pppd.8
-@@ -120,6 +120,13 @@
+diff -urN ppp-2.4.5-orig/pppd/pppd.8 ppp-2.4.5/pppd/pppd.8
+--- ppp-2.4.5-orig/pppd/pppd.8 2010-06-30 15:51:12.043682063 +0800
++++ ppp-2.4.5/pppd/pppd.8 2010-06-30 16:42:47.102413859 +0800
+@@ -121,6 +121,13 @@
This entry is removed when the PPP connection is broken. This option
is privileged if the \fInodefaultroute\fR option has been specified.
.TP
@@ -143,7 +141,7 @@
.B disconnect \fIscript
Execute the command specified by \fIscript\fR, by passing it to a
shell, after
-@@ -701,7 +708,12 @@
+@@ -717,7 +724,12 @@
.TP
.B nodefaultroute
Disable the \fIdefaultroute\fR option. The system administrator who
@@ -157,9 +155,10 @@
can do so by placing this option in the /etc/ppp/options file.
.TP
.B nodeflate
---- ppp-2.4.3/pppd/pppd.h~cifdefroute.patch
-+++ ppp-2.4.3/pppd/pppd.h
-@@ -640,7 +640,11 @@
+diff -urN ppp-2.4.5-orig/pppd/pppd.h ppp-2.4.5/pppd/pppd.h
+--- ppp-2.4.5-orig/pppd/pppd.h 2010-06-30 15:51:12.050166398 +0800
++++ ppp-2.4.5/pppd/pppd.h 2010-06-30 16:43:36.514148327 +0800
+@@ -643,7 +643,11 @@
int cif6addr __P((int, eui64_t, eui64_t));
/* Remove an IPv6 address from i/f */
#endif
@@ -171,18 +170,19 @@
/* Create default route through i/f */
int cifdefaultroute __P((int, u_int32_t, u_int32_t));
/* Delete default route through i/f */
---- ppp-2.4.3/pppd/sys-linux.c~cifdefroute.patch
-+++ ppp-2.4.3/pppd/sys-linux.c
+diff -urN ppp-2.4.5-orig/pppd/sys-linux.c ppp-2.4.5/pppd/sys-linux.c
+--- ppp-2.4.5-orig/pppd/sys-linux.c 2010-06-30 15:51:12.050166398 +0800
++++ ppp-2.4.5/pppd/sys-linux.c 2010-06-30 16:54:00.362716231 +0800
@@ -206,6 +206,8 @@
static int if_is_up; /* Interface has been marked up */
- static u_int32_t default_route_gateway; /* Gateway for default route added */
+ static int have_default_route; /* Gateway for default route added */
+static struct rtentry old_def_rt; /* Old default route */
+static int default_rt_repl_rest; /* replace and restore old default rt */
static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */
static char proxy_arp_dev[16]; /* Device for proxy arp entry */
static u_int32_t our_old_addr; /* for detecting address changes */
-@@ -1513,6 +1515,9 @@
+@@ -1537,6 +1539,9 @@
p = NULL;
}
@@ -192,10 +192,24 @@
SIN_ADDR(rt->rt_dst) = strtoul(cols[route_dest_col], NULL, 16);
SIN_ADDR(rt->rt_gateway) = strtoul(cols[route_gw_col], NULL, 16);
SIN_ADDR(rt->rt_genmask) = strtoul(cols[route_mask_col], NULL, 16);
-@@ -1582,19 +1587,53 @@
+@@ -1606,20 +1611,51 @@
/********************************************************************
*
* sifdefaultroute - assign a default route through the address given.
+- */
+-
+-int sifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway)
+-{
+- struct rtentry rt;
+-
+- if (defaultroute_exists(&rt) && strcmp(rt.rt_dev, ifname) != 0) {
+- if (rt.rt_flags & RTF_GATEWAY)
+- error("not replacing existing default route via %I",
+- SIN_ADDR(rt.rt_gateway));
+- else
+- error("not replacing existing default route through %s",
+- rt.rt_dev);
+- return 0;
+ *
+ * If the global default_rt_repl_rest flag is set, then this function
+ * already replaced the original system defaultroute with some other
@@ -204,18 +218,13 @@
+ * when pppd sets first a defaultroute it it's temporary ppp0 addresses
+ * and then changes the temporary addresses to the addresses for the real
+ * ppp connection when it has come up.
- */
-
--int sifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway)
++ */
++
+int sifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway, bool replace)
- {
-- struct rtentry rt;
++{
+ struct rtentry rt, tmp_rt;
+ struct rtentry *del_rt = NULL;
-
-- if (defaultroute_exists(&rt) && strcmp(rt.rt_dev, ifname) != 0) {
-- u_int32_t old_gateway = SIN_ADDR(rt.rt_gateway);
-+
++
+ if (default_rt_repl_rest) {
+ /* We have already reclaced the original defaultroute, if we
+ * are called again, we will delete the current default route
@@ -229,11 +238,6 @@
+ * check if we should save and replace a default route:
+ */
+ u_int32_t old_gateway = SIN_ADDR(old_def_rt.rt_gateway);
-
-- if (old_gateway != gateway)
-- error("not replacing existing default route to %s [%I]",
-- rt.rt_dev, old_gateway);
-- return 0;
+ if (old_gateway != gateway) {
+ if (!replace) {
+ error("not replacing default route to %s [%I]",
@@ -253,8 +257,8 @@
+ }
}
- memset (&rt, '\0', sizeof (rt));
-@@ -1616,6 +1655,12 @@
+ memset (&rt, 0, sizeof (rt));
+@@ -1638,6 +1674,12 @@
error("default route ioctl(SIOCADDRT): %m");
return 0;
}
@@ -265,9 +269,9 @@
+ return 0;
+ }
- default_route_gateway = gateway;
+ have_default_route = 1;
return 1;
-@@ -1651,6 +1696,16 @@
+@@ -1673,6 +1715,16 @@
return 0;
}
}
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 7b8acb2dd..daa7f2ecc 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 @@
+The patch comes from OpenEmbedded
+
--- ppp-2.4.3/pppd/Makefile.linux.orig 2005-10-28 21:07:40.396359250 +0100
+++ ppp-2.4.3/pppd/Makefile.linux 2005-10-28 21:07:54.217223000 +0100
@@ -62,7 +62,7 @@
diff --git a/meta/packages/ppp/files/init b/meta/packages/ppp/ppp-2.4.5/init
index 5b3b7abe2..5b3b7abe2 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 06d35487a..06d35487a 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 fc2fae9fe..fc2fae9fe 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 000000000..9ba868839
--- /dev/null
+++ b/meta/packages/ppp/ppp-2.4.5/makefile-remove-hard-usr-reference.patch
@@ -0,0 +1,19 @@
+The patch comes from OpenEmbedded.
+Rebased for ppp-2.4.5. Dongxiao Xu <dongxiao.xu@intel.com>
+
+diff -urN ppp-2.4.5-orig/pppd/Makefile.linux ppp-2.4.5/pppd/Makefile.linux
+--- ppp-2.4.5-orig/pppd/Makefile.linux 2010-06-30 15:51:12.043682063 +0800
++++ ppp-2.4.5/pppd/Makefile.linux 2010-06-30 17:08:21.806363042 +0800
+@@ -117,10 +117,10 @@
+ #LIBS += -lshadow $(LIBS)
+ endif
+
+-ifneq ($(wildcard /usr/include/crypt.h),)
++#ifneq ($(wildcard /usr/include/crypt.h),)
+ CFLAGS += -DHAVE_CRYPT_H=1
+ LIBS += -lcrypt
+-endif
++#endif
+
+ ifdef NEEDDES
+ 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 4b9cf30cd..94af5af6d 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 @@
+The patch comes from OpenEmbedded
+Rebased for ppp-2.4.5. Dongxiao Xu <dongxiao.xu@intel.com>
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- ppp-2.4.3/chat/Makefile.linux~pppd.patch
-+++ ppp-2.4.3/chat/Makefile.linux
+diff -ruN ppp-2.4.5-orig/chat/Makefile.linux ppp-2.4.5/chat/Makefile.linux
+--- ppp-2.4.5-orig/chat/Makefile.linux 2010-06-30 15:51:12.050166398 +0800
++++ ppp-2.4.5/chat/Makefile.linux 2010-06-30 15:51:30.450118446 +0800
@@ -25,7 +25,7 @@
install: chat
- mkdir -p $(BINDIR)
+ mkdir -p $(BINDIR) $(MANDIR)
- $(INSTALL) -s -c chat $(BINDIR)
+ $(INSTALL) -c chat $(BINDIR)
$(INSTALL) -c -m 644 chat.8 $(MANDIR)
clean:
---- ppp-2.4.3/pppd/Makefile.linux~pppd.patch
-+++ ppp-2.4.3/pppd/Makefile.linux
+diff -ruN ppp-2.4.5-orig/pppd/Makefile.linux ppp-2.4.5/pppd/Makefile.linux
+--- ppp-2.4.5-orig/pppd/Makefile.linux 2010-06-30 15:51:12.043682063 +0800
++++ ppp-2.4.5/pppd/Makefile.linux 2010-06-30 15:52:11.214170607 +0800
@@ -99,7 +99,7 @@
CFLAGS += -DUSE_SRP -DOPENSSL -I/usr/local/ssl/include
LIBS += -lsrp -L/usr/local/ssl/lib -lcrypto
@@ -25,7 +25,7 @@
MANPAGES += srp-entry.8
EXTRACLEAN += srp-entry.o
NEEDDES=y
-@@ -202,7 +202,7 @@
+@@ -200,7 +200,7 @@
install: pppd
mkdir -p $(BINDIR) $(MANDIR)
$(EXTRAINSTALL)
@@ -34,42 +34,9 @@
if chgrp pppusers $(BINDIR)/pppd 2>/dev/null; then \
chmod o-rx,u+s $(BINDIR)/pppd; fi
$(INSTALL) -c -m 444 pppd.8 $(MANDIR)
---- ppp-2.4.3/pppdump/Makefile.linux~pppd.patch
-+++ ppp-2.4.3/pppdump/Makefile.linux
-@@ -17,5 +17,5 @@
-
- install:
- mkdir -p $(BINDIR) $(MANDIR)
-- $(INSTALL) -s -c pppdump $(BINDIR)
-+ $(INSTALL) -c pppdump $(BINDIR)
- $(INSTALL) -c -m 444 pppdump.8 $(MANDIR)
---- ppp-2.4.3/pppstats/Makefile.linux~pppd.patch
-+++ ppp-2.4.3/pppstats/Makefile.linux
-@@ -22,7 +22,7 @@
-
- install: pppstats
- -mkdir -p $(MANDIR)
-- $(INSTALL) -s -c pppstats $(BINDIR)
-+ $(INSTALL) -c pppstats $(BINDIR)
- $(INSTALL) -c -m 444 pppstats.8 $(MANDIR)
-
- pppstats: $(PPPSTATSRCS)
---- ppp-2.4.3/pppd/plugins/rp-pppoe/Makefile.linux~pppd.patch
-+++ ppp-2.4.3/pppd/plugins/rp-pppoe/Makefile.linux
-@@ -39,9 +39,9 @@
-
- install: all
- $(INSTALL) -d -m 755 $(LIBDIR)
-- $(INSTALL) -s -c -m 4550 rp-pppoe.so $(LIBDIR)
-+ $(INSTALL) -c -m 4550 rp-pppoe.so $(LIBDIR)
- $(INSTALL) -d -m 755 $(BINDIR)
-- $(INSTALL) -s -c -m 555 pppoe-discovery $(BINDIR)
-+ $(INSTALL) -c -m 555 pppoe-discovery $(BINDIR)
-
- clean:
- rm -f *.o *.so
---- ppp-2.4.3/pppd/plugins/radius/Makefile.linux~pppd.patch
-+++ ppp-2.4.3/pppd/plugins/radius/Makefile.linux
+diff -ruN ppp-2.4.5-orig/pppd/plugins/radius/Makefile.linux ppp-2.4.5/pppd/plugins/radius/Makefile.linux
+--- ppp-2.4.5-orig/pppd/plugins/radius/Makefile.linux 2010-06-30 15:51:12.047676187 +0800
++++ ppp-2.4.5/pppd/plugins/radius/Makefile.linux 2010-06-30 15:53:47.750182267 +0800
@@ -36,11 +36,11 @@
install: all
@@ -87,3 +54,40 @@
radius.so: radius.o libradiusclient.a
$(CC) -o radius.so -shared radius.o libradiusclient.a
+diff -ruN ppp-2.4.5-orig/pppd/plugins/rp-pppoe/Makefile.linux ppp-2.4.5/pppd/plugins/rp-pppoe/Makefile.linux
+--- ppp-2.4.5-orig/pppd/plugins/rp-pppoe/Makefile.linux 2010-06-30 15:51:12.047676187 +0800
++++ ppp-2.4.5/pppd/plugins/rp-pppoe/Makefile.linux 2010-06-30 15:53:15.454486877 +0800
+@@ -43,9 +43,9 @@
+
+ install: all
+ $(INSTALL) -d -m 755 $(LIBDIR)
+- $(INSTALL) -s -c -m 4550 rp-pppoe.so $(LIBDIR)
++ $(INSTALL) -c -m 4550 rp-pppoe.so $(LIBDIR)
+ $(INSTALL) -d -m 755 $(BINDIR)
+- $(INSTALL) -s -c -m 555 pppoe-discovery $(BINDIR)
++ $(INSTALL) -c -m 555 pppoe-discovery $(BINDIR)
+
+ clean:
+ rm -f *.o *.so pppoe-discovery
+diff -ruN ppp-2.4.5-orig/pppdump/Makefile.linux ppp-2.4.5/pppdump/Makefile.linux
+--- ppp-2.4.5-orig/pppdump/Makefile.linux 2010-06-30 15:51:12.058183383 +0800
++++ ppp-2.4.5/pppdump/Makefile.linux 2010-06-30 15:52:25.762183537 +0800
+@@ -17,5 +17,5 @@
+
+ install:
+ mkdir -p $(BINDIR) $(MANDIR)
+- $(INSTALL) -s -c pppdump $(BINDIR)
++ $(INSTALL) -c pppdump $(BINDIR)
+ $(INSTALL) -c -m 444 pppdump.8 $(MANDIR)
+diff -ruN ppp-2.4.5-orig/pppstats/Makefile.linux ppp-2.4.5/pppstats/Makefile.linux
+--- ppp-2.4.5-orig/pppstats/Makefile.linux 2010-06-30 15:51:12.058183383 +0800
++++ ppp-2.4.5/pppstats/Makefile.linux 2010-06-30 15:52:42.486341081 +0800
+@@ -22,7 +22,7 @@
+
+ install: pppstats
+ -mkdir -p $(MANDIR)
+- $(INSTALL) -s -c pppstats $(BINDIR)
++ $(INSTALL) -c pppstats $(BINDIR)
+ $(INSTALL) -c -m 444 pppstats.8 $(MANDIR)
+
+ pppstats: $(PPPSTATSRCS)
diff --git a/meta/packages/ppp/files/poff b/meta/packages/ppp/ppp-2.4.5/poff
index 0521a9406..0521a9406 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 91c059501..91c059501 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 c22d8cc08..c4e61fdd2 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 @@
+The patch comes from OpenEmbedded
+Rebased for ppp-2.4.5. Dongxiao Xu <dongxiao.xu@intel.com>
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- ppp-2.4.3/pppd/ipcp.c~pppd-resolv-varrun.patch
-+++ ppp-2.4.3/pppd/ipcp.c
+diff -ruN ppp-2.4.5-orig/pppd/ipcp.c ppp-2.4.5/pppd/ipcp.c
+--- ppp-2.4.5-orig/pppd/ipcp.c 2010-06-30 15:51:12.050166398 +0800
++++ ppp-2.4.5/pppd/ipcp.c 2010-06-30 17:02:33.930393283 +0800
@@ -55,6 +55,8 @@
#include <sys/socket.h>
#include <netinet/in.h>
@@ -14,7 +13,7 @@
#include "pppd.h"
#include "fsm.h"
-@@ -2032,6 +2034,14 @@
+@@ -2095,6 +2097,14 @@
u_int32_t peerdns1, peerdns2;
{
FILE *f;
@@ -29,9 +28,10 @@
f = fopen(_PATH_RESOLV, "w");
if (f == NULL) {
---- ppp-2.4.3/pppd/pathnames.h~pppd-resolv-varrun.patch
-+++ ppp-2.4.3/pppd/pathnames.h
-@@ -29,7 +29,8 @@
+diff -ruN ppp-2.4.5-orig/pppd/pathnames.h ppp-2.4.5/pppd/pathnames.h
+--- ppp-2.4.5-orig/pppd/pathnames.h 2010-06-30 15:51:12.043682063 +0800
++++ ppp-2.4.5/pppd/pathnames.h 2010-06-30 17:03:20.594371055 +0800
+@@ -30,7 +30,8 @@
#define _PATH_TTYOPT _ROOT_PATH "/etc/ppp/options."
#define _PATH_CONNERRS _ROOT_PATH "/etc/ppp/connect-errors"
#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 092bec18c..e9caf3d13 100644
--- a/meta/packages/ppp/ppp_2.4.3.bb
+++ b/meta/packages/ppp/ppp_2.4.5.bb
@@ -1,25 +1,29 @@
+DESCRIPTION = "ppp (Paul's PPP Package) is an open source package which implements \
+the Point-to-Point Protocol (PPP) on Linux and Solaris systems."
SECTION = "console/network"
-DESCRIPTION = "Point-to-Point Protocol (PPP) daemon"
HOMEPAGE = "http://samba.org/ppp/"
+BUGTRACKER = "http://ppp.samba.org/cgi-bin/ppp-bugs"
DEPENDS = "libpcap"
-LICENSE = "BSD GPLv2"
-PR = "r3"
+LICENSE = "BSD & GPLv2+ & LGPLv2+ & public domain"
+LIC_FILES_CHKSUM = "file://pppd/ccp.c;beginline=1;endline=29;md5=e2c43fe6e81ff77d87dc9c290a424dea \
+ file://pppd/plugins/passprompt.c;beginline=1;endline=10;md5=3bcbcdbf0e369c9a3e0b8c8275b065d8 \
+ file://pppd/tdb.c;beginline=1;endline=27;md5=4ca3a9991b011038d085d6675ae7c4e6 \
+ file://chat/chat.c;beginline=1;endline=15;md5=0d374b8545ee5c62d7aff1acbd38add2"
+PR = "r0"
SRC_URI = "http://ppp.samba.org/ftp/ppp/ppp-${PV}.tar.gz \
- file://makefile.patch;patch=1 \
- file://cifdefroute.patch;patch=1 \
- file://pppd-resolv-varrun.patch;patch=1 \
- file://plugins-fix-CC.patch;patch=1 \
- file://pppoatm-makefile.patch;patch=1 \
- file://enable-ipv6.patch;patch=1 \
- file://makefile-remove-hard-usr-reference.patch;patch=1 \
- file://pon \
- file://poff \
- file://init \
- file://ip-up \
- file://ip-down \
- file://08setupdns \
- file://92removedns"
+ file://makefile.patch \
+ file://cifdefroute.patch \
+ file://pppd-resolv-varrun.patch \
+ file://enable-ipv6.patch \
+ file://makefile-remove-hard-usr-reference.patch \
+ file://pon \
+ file://poff \
+ file://init \
+ file://ip-up \
+ file://ip-down \
+ file://08setupdns \
+ file://92removedns"
SRC_URI_append_nylon = " file://ppp-tdbread.patch;patch=1"
@@ -33,7 +37,7 @@ do_install_append () {
mkdir -p ${D}${bindir}/ ${D}${sysconfdir}/init.d
mkdir -p ${D}${sysconfdir}/ppp/ip-up.d/
mkdir -p ${D}${sysconfdir}/ppp/ip-down.d/
- install -m 0755 ${WORKDIR}/pon ${D}${bindir}/pon
+ install -m 0755 ${WORKDIR}/pon ${D}${bindir}/pon
install -m 0755 ${WORKDIR}/poff ${D}${bindir}/poff
install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/ppp
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 768d82e74..000000000
--- a/meta/packages/prelink/prelink-20061027/arm_eabi.patch
+++ /dev/null
@@ -1,300 +0,0 @@
----
- src/arch-arm.c | 177 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
- 1 file changed, 172 insertions(+), 5 deletions(-)
-
-Index: prelink-0.0.20061027/src/arch-arm.c
-===================================================================
---- prelink-0.0.20061027.orig/src/arch-arm.c 2006-08-13 16:18:17.000000000 +0100
-+++ prelink-0.0.20061027/src/arch-arm.c 2008-06-12 10:46:12.000000000 +0100
-@@ -145,6 +145,27 @@
- error (0, 0, "%s: R_ARM_PC24 relocs with non-zero addend should not be present in prelinked REL sections",
- dso->filename);
- return 1;
-+ /* DTPMOD32 is impossible to predict unless prelink sets the rules.
-+ DTPOFF32/TPOFF32 are converted REL->RELA. */
-+ case R_ARM_TLS_DTPOFF32:
-+ error (0, 0, "%s: R_ARM_TLS_DTPOFF32 relocs should not be present in prelinked REL section",
-+ dso->filename);
-+ return 1;
-+ case R_ARM_TLS_DTPMOD32:
-+ if (dso->ehdr.e_type == ET_EXEC)
-+ {
-+ error (0, 0, "%s: R_ARM_TLS_DTPMOD32 reloc in executable?",
-+ dso->filename);
-+ return 1;
-+ }
-+ break;
-+ case R_ARM_TLS_TPOFF32:
-+ if (dso->ehdr.e_type == ET_EXEC) {
-+ error (0, 0, "%s: R_ARM_TLS_TPOFF32 relocs should not be present in prelinked ET_EXEC REL sections",
-+ dso->filename);
-+ return 1;
-+ }
-+ break;
- case R_ARM_COPY:
- if (dso->ehdr.e_type == ET_EXEC)
- /* COPY relocs are handled specially in generic code. */
-@@ -195,6 +216,24 @@
- write_le32 (dso, rela->r_offset,
- (read_ule32 (dso, rela->r_offset) & 0xff000000) | val);
- break;
-+ case R_ARM_TLS_DTPOFF32:
-+ write_le32 (dso, rela->r_offset, value + rela->r_addend);
-+ break;
-+ /* DTPMOD32 and TPOFF32 are impossible to predict unless prelink
-+ sets the rules. */
-+ case R_ARM_TLS_DTPMOD32:
-+ if (dso->ehdr.e_type == ET_EXEC)
-+ {
-+ error (0, 0, "%s: R_ARM_TLS_DTPMOD32 reloc in executable?",
-+ dso->filename);
-+ return 1;
-+ }
-+ break;
-+ case R_ARM_TLS_TPOFF32:
-+ if (dso->ehdr.e_type == ET_EXEC && info->resolvetls)
-+ write_le32 (dso, rela->r_offset,
-+ value + rela->r_addend + info->resolvetls->offset);
-+ break;
- case R_ARM_COPY:
- if (dso->ehdr.e_type == ET_EXEC)
- /* COPY relocs are handled specially in generic code. */
-@@ -315,6 +354,7 @@
- {
- GElf_Addr value;
- struct prelink_conflict *conflict;
-+ struct prelink_tls *tls;
- GElf_Rela *ret;
-
- if (GELF_R_TYPE (rel->r_info) == R_ARM_RELATIVE
-@@ -324,8 +364,32 @@
- conflict = prelink_conflict (info, GELF_R_SYM (rel->r_info),
- GELF_R_TYPE (rel->r_info));
- if (conflict == NULL)
-- return 0;
-- value = conflict_lookup_value (conflict);
-+ {
-+ if (info->curtls == NULL)
-+ return 0;
-+ switch (GELF_R_TYPE (rel->r_info))
-+ {
-+ /* Even local DTPMOD and {D,}TPOFF relocs need conflicts. */
-+ case R_ARM_TLS_DTPMOD32:
-+ case R_ARM_TLS_DTPOFF32:
-+ case R_ARM_TLS_TPOFF32:
-+ break;
-+ default:
-+ return 0;
-+ }
-+ value = 0;
-+ }
-+ else
-+ {
-+ /* DTPOFF32 wants to see only real conflicts, not lookups
-+ with reloc_class RTYPE_CLASS_TLS. */
-+ if (GELF_R_TYPE (rel->r_info) == R_ARM_TLS_DTPOFF32
-+ && conflict->lookup.tls == conflict->conflict.tls
-+ && conflict->lookupval == conflict->conflictval)
-+ return 0;
-+
-+ value = conflict_lookup_value (conflict);
-+ }
- ret = prelink_conflict_add_rela (info);
- if (ret == NULL)
- return 1;
-@@ -342,6 +406,33 @@
- error (0, 0, "%s: R_ARM_%s relocs should not be present in prelinked REL sections",
- dso->filename, GELF_R_TYPE (rel->r_info) == R_ARM_ABS32 ? "ABS32" : "PC24");
- return 1;
-+ case R_ARM_TLS_DTPMOD32:
-+ case R_ARM_TLS_DTPOFF32:
-+ case R_ARM_TLS_TPOFF32:
-+ if (conflict != NULL
-+ && (conflict->reloc_class != RTYPE_CLASS_TLS
-+ || conflict->lookup.tls == NULL))
-+ {
-+ error (0, 0, "%s: R_ARM_TLS not resolving to STT_TLS symbol",
-+ dso->filename);
-+ return 1;
-+ }
-+ tls = conflict ? conflict->lookup.tls : info->curtls;
-+ ret->r_info = GELF_R_INFO (0, R_ARM_ABS32);
-+ switch (GELF_R_TYPE (rel->r_info))
-+ {
-+ case R_ARM_TLS_DTPMOD32:
-+ ret->r_addend = tls->modid;
-+ break;
-+ case R_ARM_TLS_DTPOFF32:
-+ ret->r_addend = value + read_ule32 (dso, rel->r_offset);
-+ break;
-+ case R_ARM_TLS_TPOFF32:
-+ ret->r_addend = value + read_ule32 (dso, rel->r_offset)
-+ + tls->offset;
-+ break;
-+ }
-+ break;
- case R_ARM_COPY:
- error (0, 0, "R_ARM_COPY should not be present in shared libraries");
- return 1;
-@@ -359,6 +450,7 @@
- {
- GElf_Addr value;
- struct prelink_conflict *conflict;
-+ struct prelink_tls *tls;
- GElf_Rela *ret;
- Elf32_Sword val;
-
-@@ -369,8 +461,32 @@
- conflict = prelink_conflict (info, GELF_R_SYM (rela->r_info),
- GELF_R_TYPE (rela->r_info));
- if (conflict == NULL)
-- return 0;
-- value = conflict_lookup_value (conflict);
-+ {
-+ if (info->curtls == NULL)
-+ return 0;
-+ switch (GELF_R_TYPE (rela->r_info))
-+ {
-+ /* Even local DTPMOD and {D,}TPOFF relocs need conflicts. */
-+ case R_ARM_TLS_DTPMOD32:
-+ case R_ARM_TLS_DTPOFF32:
-+ case R_ARM_TLS_TPOFF32:
-+ break;
-+ default:
-+ return 0;
-+ }
-+ value = 0;
-+ }
-+ else
-+ {
-+ /* DTPOFF32 wants to see only real conflicts, not lookups
-+ with reloc_class RTYPE_CLASS_TLS. */
-+ if (GELF_R_TYPE (rela->r_info) == R_ARM_TLS_DTPOFF32
-+ && conflict->lookup.tls == conflict->conflict.tls
-+ && conflict->lookupval == conflict->conflictval)
-+ return 0;
-+
-+ value = conflict_lookup_value (conflict);
-+ }
- ret = prelink_conflict_add_rela (info);
- if (ret == NULL)
- return 1;
-@@ -398,6 +514,32 @@
- case R_ARM_COPY:
- error (0, 0, "R_ARM_COPY should not be present in shared libraries");
- return 1;
-+ case R_ARM_TLS_DTPMOD32:
-+ case R_ARM_TLS_DTPOFF32:
-+ case R_ARM_TLS_TPOFF32:
-+ if (conflict != NULL
-+ && (conflict->reloc_class != RTYPE_CLASS_TLS
-+ || conflict->lookup.tls == NULL))
-+ {
-+ error (0, 0, "%s: R_ARM_TLS not resolving to STT_TLS symbol",
-+ dso->filename);
-+ return 1;
-+ }
-+ tls = conflict ? conflict->lookup.tls : info->curtls;
-+ ret->r_info = GELF_R_INFO (0, R_ARM_ABS32);
-+ switch (GELF_R_TYPE (rela->r_info))
-+ {
-+ case R_ARM_TLS_DTPMOD32:
-+ ret->r_addend = tls->modid;
-+ break;
-+ case R_ARM_TLS_DTPOFF32:
-+ ret->r_addend = value + rela->r_addend;
-+ break;
-+ case R_ARM_TLS_TPOFF32:
-+ ret->r_addend = value + rela->r_addend + tls->offset;
-+ break;
-+ }
-+ break;
- default:
- error (0, 0, "%s: Unknown arm relocation type %d", dso->filename,
- (int) GELF_R_TYPE (rela->r_info));
-@@ -418,6 +560,8 @@
- abort ();
- case R_ARM_RELATIVE:
- case R_ARM_ABS32:
-+ case R_ARM_TLS_TPOFF32:
-+ case R_ARM_TLS_DTPOFF32:
- rela->r_addend = (Elf32_Sword) read_ule32 (dso, rel->r_offset);
- break;
- case R_ARM_PC24:
-@@ -426,6 +570,7 @@
- break;
- case R_ARM_COPY:
- case R_ARM_GLOB_DAT:
-+ case R_ARM_TLS_DTPMOD32:
- rela->r_addend = 0;
- break;
- }
-@@ -445,6 +590,8 @@
- abort ();
- case R_ARM_RELATIVE:
- case R_ARM_ABS32:
-+ case R_ARM_TLS_TPOFF32:
-+ case R_ARM_TLS_DTPOFF32:
- write_le32 (dso, rela->r_offset, rela->r_addend);
- break;
- case R_ARM_PC24:
-@@ -453,6 +600,7 @@
- | ((rela->r_addend >> 2) & 0xffffff));
- break;
- case R_ARM_GLOB_DAT:
-+ case R_ARM_TLS_DTPMOD32:
- write_le32 (dso, rela->r_offset, 0);
- break;
- }
-@@ -488,6 +636,18 @@
- /* FALLTHROUGH */
- case R_ARM_PC24:
- return 1;
-+ case R_ARM_TLS_DTPOFF32:
-+ /* We can prelink these fields, and the addend is relative
-+ to the symbol value. A RELA entry is needed. */
-+ return 1;
-+ case R_ARM_TLS_TPOFF32:
-+ /* In shared libraries TPOFF32 is changed always into
-+ conflicts, for executables we need to preserve
-+ original addend. */
-+ if (dso->ehdr.e_type == ET_EXEC) {
-+ return 1;
-+ }
-+ break;
- }
- }
- }
-@@ -612,6 +772,12 @@
- return 0;
- error (0, 0, "%s: R_ARM_COPY reloc in shared library?", dso->filename);
- return 1;
-+ case R_ARM_TLS_DTPMOD32:
-+ write_le32 (dso, rel->r_offset, 0);
-+ break;
-+ case R_ARM_TLS_DTPOFF32:
-+ case R_ARM_TLS_TPOFF32:
-+ break;
- default:
- error (0, 0, "%s: Unknown arm relocation type %d", dso->filename,
- (int) GELF_R_TYPE (rel->r_info));
-@@ -634,6 +800,10 @@
- {
- case R_ARM_COPY: return RTYPE_CLASS_COPY;
- case R_ARM_JUMP_SLOT: return RTYPE_CLASS_PLT;
-+ case R_ARM_TLS_DTPMOD32:
-+ case R_ARM_TLS_DTPOFF32:
-+ case R_ARM_TLS_TPOFF32:
-+ return RTYPE_CLASS_TLS;
- default: return RTYPE_CLASS_VALID;
- }
- }
-@@ -646,7 +816,7 @@
- .R_JMP_SLOT = R_ARM_JUMP_SLOT,
- .R_COPY = R_ARM_COPY,
- .R_RELATIVE = R_ARM_RELATIVE,
-- .dynamic_linker = "/lib/ld-linux.so.2",
-+ .dynamic_linker = "/lib/ld-linux.so.3",
- .adjust_dyn = arm_adjust_dyn,
- .adjust_rel = arm_adjust_rel,
- .adjust_rela = arm_adjust_rela,
diff --git a/meta/packages/prelink/prelink-20061027/prelink.conf b/meta/packages/prelink/prelink/prelink.conf
index c5a4f4adc..c5a4f4adc 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 0b3c07322..0b3c07322 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 901258ed2..901258ed2 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 21c538d5c..a84aaa267 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
and executables, so that far fewer relocations need to be resolved at \
runtime and thus programs come up faster."
LICENSE = "GPL"
-PR = "r9"
+PR = "r0"
-SRC_URI = "${DEBIAN_MIRROR}/main/p/prelink/prelink_0.0.${PV}.orig.tar.gz \
+SRC_URI = "http://people.redhat.com/jakub/prelink/prelink-${PV}.tar.bz2 \
file://prelink.conf \
file://prelink.cron.daily \
file://prelink.default"
TARGET_OS_ORIG := "${TARGET_OS}"
OVERRIDES_append = ":${TARGET_OS_ORIG}"
-SRC_URI_append_linux-gnueabi = " file://arm_eabi.patch;patch=1"
-S = "${WORKDIR}/prelink-0.0.${PV}"
+S = "${WORKDIR}/prelink"
EXTRA_OECONF = "--disable-64bit"
diff --git a/meta/packages/python/python-pycairo_1.4.0.bb b/meta/packages/python/python-pycairo_1.8.8.bb
index cd00c61c1..30261f981 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 @@
DESCRIPTION = "Python Bindings for the Cairo canvas library"
-SECTION = "python-devel"
HOMEPAGE = "http://cairographics.org/pycairo"
-LICENSE = "LGPL MPL"
+BUGTRACKER = "http://bugs.freedesktop.org"
+SECTION = "python-devel"
+LICENSE = "LGPLv2.1 & MPLv1.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f2e071ab72978431b294a0d696327421"
+# cairo >= 1.8.8
DEPENDS = "cairo"
-PR = "ml1.3"
+PR = "ml0"
SRC_URI = "http://cairographics.org/releases/pycairo-${PV}.tar.gz"
S = "${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 abebfdfa2..4ebc3dea8 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
mkspecs/common/linux.conf | 26 +++++++++++++-------------
2 files changed, 22 insertions(+), 22 deletions(-)
-diff --git a/mkspecs/common/g++.conf b/mkspecs/common/g++.conf
-index f5a5c8e..4007c7e 100644
---- a/mkspecs/common/g++.conf
-+++ b/mkspecs/common/g++.conf
+Index: qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/g++.conf
+===================================================================
+--- qt-embedded-linux-opensource-src-4.5.3.orig/mkspecs/common/g++.conf
++++ qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/g++.conf
@@ -2,12 +2,12 @@
# qmake configuration for common gcc
#
@@ -28,7 +28,7 @@ index f5a5c8e..4007c7e 100644
QMAKE_CFLAGS_DEBUG += -g
QMAKE_CFLAGS_SHLIB += -fPIC
QMAKE_CFLAGS_STATIC_LIB += -fPIC
-@@ -16,8 +16,8 @@ QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
+@@ -16,8 +16,8 @@ QMAKE_CFLAGS_HIDESYMS += -fvisibility=
QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
@@ -39,33 +39,37 @@ index f5a5c8e..4007c7e 100644
QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
-@@ -30,9 +30,9 @@ QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
+@@ -30,11 +30,11 @@ QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAG
QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
-QMAKE_LINK = g++
-QMAKE_LINK_SHLIB = g++
+-QMAKE_LINK_C = gcc
+-QMAKE_LINK_C_SHLIB = gcc
-QMAKE_LFLAGS +=
+QMAKE_LINK = $(OE_QMAKE_LINK)
+QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK)
++QMAKE_LINK_C = $(OE_QMAKE_CC)
++QMAKE_LINK_C_SHLIB = $(OE_QMAKE_CC)
+QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS)
- QMAKE_LFLAGS_RELEASE +=
+ QMAKE_LFLAGS_RELEASE += -Wl,-O1
QMAKE_LFLAGS_DEBUG +=
QMAKE_LFLAGS_APP +=
-@@ -40,7 +40,7 @@ QMAKE_LFLAGS_SHLIB += -shared
- QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
+@@ -43,7 +43,7 @@ QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SH
QMAKE_LFLAGS_SONAME += -Wl,-soname,
QMAKE_LFLAGS_THREAD +=
+ QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
-QMAKE_RPATH = -Wl,-rpath,
+QMAKE_RPATH = -Wl,-rpath-link,
QMAKE_PCH_OUTPUT_EXT = .gch
-diff --git a/mkspecs/common/linux.conf b/mkspecs/common/linux.conf
-index 3796a87..52acf16 100644
---- a/mkspecs/common/linux.conf
-+++ b/mkspecs/common/linux.conf
-@@ -7,26 +7,26 @@ QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
+Index: qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/linux.conf
+===================================================================
+--- qt-embedded-linux-opensource-src-4.5.3.orig/mkspecs/common/linux.conf
++++ qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/linux.conf
+@@ -7,27 +7,27 @@ QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_
QMAKE_INCDIR =
QMAKE_LIBDIR =
@@ -99,11 +103,13 @@ index 3796a87..52acf16 100644
+QMAKE_UIC = $(OE_QMAKE_UIC)
-QMAKE_AR = ar cqs
+-QMAKE_OBJCOPY = objcopy
+QMAKE_AR = $(OE_QMAKE_AR) cqs
++QMAKE_OBJCOPY = $(OE_QMAKE_OBJCOPY)
QMAKE_RANLIB =
QMAKE_TAR = tar -cf
-@@ -38,11 +38,11 @@ QMAKE_COPY_DIR = $(COPY) -r
+@@ -39,7 +39,7 @@ QMAKE_COPY_DIR = $(COPY) -r
QMAKE_MOVE = mv -f
QMAKE_DEL_FILE = rm -f
QMAKE_DEL_DIR = rmdir
@@ -112,12 +118,3 @@ index 3796a87..52acf16 100644
QMAKE_STRIPFLAGS_LIB += --strip-unneeded
QMAKE_CHK_DIR_EXISTS = test -d
QMAKE_MKDIR = mkdir -p
- QMAKE_INSTALL_FILE = install -m 644 -p
- QMAKE_INSTALL_PROGRAM = install -m 755 -p
-
--include(unix.conf)
-\ No newline at end of file
-+include(unix.conf)
---
-1.5.1.6
-
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 f58481a69..f58481a69 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 4197dbbf6..4197dbbf6 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 b8b73c12d..60f738b9c 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"
HOMEPAGE = "http://www.trolltech.com"
SECTION = "devel"
LICENSE = "GPL"
-PR = "r1"
+PR = "r2"
-QTVER = "qtopia-core-opensource-src-4.3.2"
+QTVER = "qt-embedded-linux-opensource-src-4.5.3"
SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/${QTVER}.tar.gz \
file://0001-fix-mkspecs.patch;patch=1 \
@@ -20,6 +20,7 @@ inherit autotools cross
export QTDIR = "${S}"
EXTRA_OEMAKE = "-e"
+EXTRA_OECONF = "-opensource"
do_configure() {
# Install the OE build templates
@@ -41,6 +42,7 @@ do_configure() {
export OE_QMAKE_LDFLAGS="${LDFLAGS}"
export OE_QMAKE_LINK="${CCLD}"
export OE_QMAKE_AR="${AR}"
+ export OE_QMAKE_OBJCOPY="${OBJCOPY}"
export OE_QMAKE_STRIP="${STRIP}"
export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic"
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 6efa87bb0..660565002 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 @@
DESCRIPTION = "The RPM Package Manager."
HOMEPAGE = "http://rpm.org/"
-LICENSE = "LGPL GPL"
+BUGTRACKER = "http://rpm.org/report"
+
+# library is covered under dual license of GPL | LGPL
+LICENSE = "(LGPLv2+ | GPLv2+) & GPLv2+"
+
DEPENDS = "zlib beecrypt file popt python"
PR = "r16"
@@ -13,10 +17,10 @@ SRC_URI = "http://www.rpm.org/releases/rpm-4.4.x/rpm-4.4.2.3.tar.gz \
file://extcond.patch;patch=1;pnum=0 \
file://disabledwarf.patch;patch=1"
-inherit autotools gettext
-
S = "${WORKDIR}/rpm-${PV}"
+inherit autotools gettext
+
acpaths = "-I ${S}/db/dist/aclocal -I ${S}/db/dist/aclocal_java"
EXTRA_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 52a0a8dba..2b0275b29 100644
--- a/meta/packages/rsync/rsync_2.6.9.bb
+++ b/meta/packages/rsync/rsync_2.6.9.bb
@@ -1,8 +1,12 @@
-LICENSE = "GPL"
DESCRIPTION = "A file-synchronization tool"
+HOMEPAGE = "http://rsync.samba.org/"
+BUGTRACKER = "http://rsync.samba.org/bugzilla.html"
SECTION = "console/network"
PRIORITY = "optional"
+# GPLv2+ (<< 3.0.0), GPLv3+ (>= 3.0.0)
+LICENSE = "GPLv2+"
+
SRC_URI = "http://rsync.samba.org/ftp/rsync/src/rsync-${PV}.tar.gz \
file://rsyncd.conf"
diff --git a/meta/packages/shared-mime-info/shared-mime-info.inc b/meta/packages/shared-mime-info/shared-mime-info.inc
index 81320371f..d60f81d9d 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 @@
+DESCRIPTION = "shared MIME database and spec"
+HOMEPAGE = "http://freedesktop.org/wiki/Software/shared-mime-info"
SECTION = "base"
-LICENSE = "GPL"
+LICENSE = "GPLv2+"
-SRC_URI = "http://freedesktop.org/~hadess/shared-mime-info-${PV}.tar.bz2"
DEPENDS = "libxml2 intltool-native glib-2.0 shared-mime-info-native"
DEPENDS_virtclass-native = "libxml2-native intltool-native glib-2.0-native"
-
PR = "r2"
+SRC_URI = "http://freedesktop.org/~hadess/shared-mime-info-${PV}.tar.bz2"
+
inherit autotools pkgconfig gettext
EXTRA_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 42710c417..840814b3f 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 @@
DESCRIPTION = "Startup notification support"
-LICENSE = "LGPL"
+HOMEPAGE = "http://www.freedesktop.org/wiki/software/startup-notification/"
SECTION = "libs"
PRIORITY = "optional"
+
+# most files are under MIT, but libsn/sn-utils.c is under LGPL, the
+# effective license is LGPL
+LICENSE = "LGPLv2+"
+
DEPENDS = "virtual/libx11 libsm"
inherit autotools pkgconfig
diff --git a/meta/packages/strace/strace_4.5.20.bb b/meta/packages/strace/strace_4.5.20.bb
index 73df9452a..cc2ae1a96 100644
--- a/meta/packages/strace/strace_4.5.20.bb
+++ b/meta/packages/strace/strace_4.5.20.bb
@@ -1,6 +1,8 @@
DESCRIPTION = "strace is a system call tracing tool."
+HOMEPAGE = "http://sourceforge.net/projects/strace/"
SECTION = "console/utils"
-LICENSE = "GPL"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=4535377ede62550fdeaf39f595fd550a"
PR = "r0"
SRC_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 995f026a8..4f2473761 100644
--- a/meta/packages/sudo/files/autofoo.patch
+++ b/meta/packages/sudo/files/autofoo.patch
@@ -1,51 +1,11 @@
-Index: sudo-1.6.8p12/configure.in
+# fix underquotes, rebased to 1.7.2p7
+#
+# by Kevin Tian <kevin.tian@intel.com>, 06/23/2010
+Index: sudo-1.7.2p7/aclocal.m4
===================================================================
---- sudo-1.6.8p12.orig/configure.in 2004-11-26 04:31:20.000000000 +1100
-+++ sudo-1.6.8p12/configure.in 2007-05-16 16:45:20.000000000 +1000
-@@ -1609,7 +1609,7 @@
- AC_CHECK_FUNCS(getspnam, [CHECKSHADOW="false"], [AC_CHECK_LIB(gen, getspnam, AC_DEFINE(HAVE_GETSPNAM) [SUDO_LIBS="${SUDO_LIBS} -lgen"; LIBS="${LIBS} -lgen"])])
- fi
- if test "$CHECKSHADOW" = "true"; then
-- 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"])))])
-+ 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"])])])])
- fi
-
- dnl
-@@ -1670,7 +1670,7 @@
- SUDO_TYPE_INO_T
- SUDO_FULL_VOID
- SUDO_UID_T_LEN
--SUDO_LONG_LONG
-+SUDO_TYPE_LONG_LONG
- SUDO_SOCK_SA_LEN
- dnl
- dnl only set RETSIGTYPE if it is not set already
-@@ -1700,12 +1700,14 @@
- if test -z "$BROKEN_GETCWD"; then
- AC_REPLACE_FUNCS(getcwd)
- fi
--AC_CHECK_FUNCS(lockf flock, [break])
--AC_CHECK_FUNCS(waitpid wait3, [break])
--AC_CHECK_FUNCS(innetgr _innetgr, [AC_CHECK_FUNCS(getdomainname) [break]])
--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))])
--AC_CHECK_FUNCS(utimes, [AC_CHECK_FUNCS(futimes futimesat, [break])], [AC_CHECK_FUNCS(futime) AC_LIBOBJ(utimes)])
--SUDO_FUNC_FNMATCH(AC_DEFINE(HAVE_FNMATCH), AC_LIBOBJ(fnmatch))
-+AC_CHECK_FUNCS(lockf flock)
-+AC_CHECK_FUNCS(waitpid wait3)
-+AC_CHECK_FUNCS(innetgr _innetgr, [AC_CHECK_FUNCS(getdomainname)])
-+
-+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])])])
-+
-+AC_CHECK_FUNCS(utimes)
-+SUDO_FUNC_FNMATCH([AC_DEFINE([HAVE_FNMATCH], [1], [Define if you have the 'fnmatch' function.])], [AC_LIBOBJ([fnmatch])])
- SUDO_FUNC_ISBLANK
- AC_REPLACE_FUNCS(strerror strcasecmp sigaction strlcpy strlcat closefrom)
- AC_CHECK_FUNCS(snprintf vsnprintf asprintf vasprintf, , [NEED_SNPRINTF=1])
-Index: sudo-1.6.8p12/aclocal.m4
-===================================================================
---- sudo-1.6.8p12.orig/aclocal.m4 2004-09-08 03:14:51.000000000 +1000
-+++ sudo-1.6.8p12/aclocal.m4 2007-05-16 16:45:08.000000000 +1000
-@@ -9,7 +9,7 @@
+--- sudo-1.7.2p7.orig/aclocal.m4 2010-06-23 13:33:57.000000000 +0800
++++ sudo-1.7.2p7/aclocal.m4 2010-06-23 13:36:41.000000000 +0800
+@@ -10,7 +10,7 @@
dnl
dnl check for sendmail
dnl
@@ -54,7 +14,7 @@ Index: sudo-1.6.8p12/aclocal.m4
if test -f "/usr/sbin/sendmail"; then
AC_MSG_RESULT(/usr/sbin/sendmail)
SUDO_DEFINE(_PATH_SUDO_SENDMAIL, "/usr/sbin/sendmail")
-@@ -36,7 +36,7 @@
+@@ -37,7 +37,7 @@
dnl
dnl check for vi
dnl
@@ -63,7 +23,7 @@ Index: sudo-1.6.8p12/aclocal.m4
if test -f "/usr/bin/vi"; then
AC_MSG_RESULT(/usr/bin/vi)
SUDO_DEFINE(_PATH_VI, "/usr/bin/vi")
-@@ -60,7 +60,7 @@
+@@ -61,7 +61,7 @@
dnl
dnl check for mv
dnl
@@ -72,7 +32,7 @@ Index: sudo-1.6.8p12/aclocal.m4
if test -f "/usr/bin/mv"; then
AC_MSG_RESULT(/usr/bin/mv)
SUDO_DEFINE(_PATH_MV, "/usr/bin/mv")
-@@ -81,7 +81,7 @@
+@@ -82,7 +82,7 @@
dnl
dnl check for bourne shell
dnl
@@ -81,7 +41,7 @@ Index: sudo-1.6.8p12/aclocal.m4
if test -f "/bin/sh"; then
AC_MSG_RESULT(/bin/sh)
SUDO_DEFINE(_PATH_BSHELL, "/bin/sh")
-@@ -114,7 +114,7 @@
+@@ -115,7 +115,7 @@
dnl
dnl Where the log file goes, use /var/log if it exists, else /{var,usr}/adm
dnl
@@ -90,7 +50,7 @@ Index: sudo-1.6.8p12/aclocal.m4
if test -n "$with_logpath"; then
AC_MSG_RESULT($with_logpath)
SUDO_DEFINE_UNQUOTED(_PATH_SUDO_LOGFILE, "$with_logpath")
-@@ -135,7 +135,7 @@
+@@ -136,7 +136,7 @@
dnl
dnl Where the log file goes, use /var/log if it exists, else /{var,usr}/adm
dnl
@@ -99,16 +59,7 @@ Index: sudo-1.6.8p12/aclocal.m4
if test -n "$with_timedir"; then
AC_MSG_RESULT($with_timedir)
SUDO_DEFINE_UNQUOTED(_PATH_SUDO_TIMEDIR, "$with_timedir")
-@@ -158,7 +158,7 @@
- dnl
- dnl check for fullly working void
- dnl
--AC_DEFUN(SUDO_FULL_VOID, [AC_MSG_CHECKING(for full void implementation)
-+AC_DEFUN([SUDO_FULL_VOID], [AC_MSG_CHECKING(for full void implementation)
- AC_TRY_COMPILE(, [void *foo;
- foo = (void *)0; (void *)"test";], AC_DEFINE(VOID, void, [Define to "void" if your compiler supports void pointers, else use "char"].)
- AC_MSG_RESULT(yes), AC_DEFINE(VOID, char)
-@@ -168,7 +168,7 @@
+@@ -160,7 +160,7 @@
dnl SUDO_CHECK_TYPE(TYPE, DEFAULT)
dnl XXX - should require the check for unistd.h...
dnl
@@ -117,7 +68,7 @@ Index: sudo-1.6.8p12/aclocal.m4
[AC_REQUIRE([AC_HEADER_STDC])dnl
AC_MSG_CHECKING(for $1)
AC_CACHE_VAL(sudo_cv_type_$1,
-@@ -189,31 +189,31 @@
+@@ -181,31 +181,31 @@
dnl
dnl Check for size_t declation
dnl
@@ -151,22 +102,10 @@ Index: sudo-1.6.8p12/aclocal.m4
dnl
-AC_DEFUN(SUDO_FUNC_FNMATCH,
+AC_DEFUN([SUDO_FUNC_FNMATCH],
- [AC_MSG_CHECKING(for working fnmatch with FNM_CASEFOLD)
+ [AC_MSG_CHECKING([for working fnmatch with FNM_CASEFOLD])
AC_CACHE_VAL(sudo_cv_func_fnmatch,
[rm -f conftestdata; > conftestdata
-@@ -224,9 +224,9 @@
- rm -f core core.* *.core])dnl
- AC_MSG_RESULT($sudo_cv_func_fnmatch)
- if test $sudo_cv_func_fnmatch = yes; then
-- [$1]
-+ $1
- else
-- [$2]
-+ $2
- fi
- ])
-
-@@ -246,7 +246,7 @@
+@@ -271,7 +271,7 @@
dnl
dnl check for sa_len field in struct sockaddr
dnl
@@ -175,7 +114,7 @@ Index: sudo-1.6.8p12/aclocal.m4
[AC_MSG_CHECKING(for sa_len field in struct sockaddr)
AC_CACHE_VAL(sudo_cv_sock_sa_len,
[AC_TRY_RUN([#include <sys/types.h>
-@@ -269,7 +269,7 @@
+@@ -294,7 +294,7 @@
dnl we can't really trust UID_MAX or MAXUID since they may exist
dnl only for backwards compatibility.
dnl
@@ -184,39 +123,21 @@ Index: sudo-1.6.8p12/aclocal.m4
[AC_REQUIRE([AC_TYPE_UID_T])
AC_MSG_CHECKING(max length of uid_t)
AC_CACHE_VAL(sudo_cv_uid_t_len,
-@@ -301,17 +301,29 @@
-
+@@ -327,7 +327,7 @@
dnl
- dnl check for "long long"
--dnl XXX hard to cache since it includes 2 tests
+ dnl Check for presence of long long and for sizeof(long long) == sizeof(long)
dnl
--AC_DEFUN(SUDO_LONG_LONG, [AC_MSG_CHECKING(for long long support)
--AC_TRY_LINK(, [long long foo = 1000; foo /= 10;], AC_DEFINE(HAVE_LONG_LONG, 1, [Define if your compiler supports the "long long" type.])
--[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).]))]
--AC_MSG_RESULT(yes), AC_MSG_RESULT(no))])
+-AC_DEFUN(SUDO_TYPE_LONG_LONG,
+AC_DEFUN([SUDO_TYPE_LONG_LONG],
-+[AC_CHECK_TYPES(long long, [AC_DEFINE(HAVE_LONG_LONG, 1, [Define if your
-+compiler supports the "long long" type.])]
-+[AC_MSG_CHECKING(for long and long long equivalence)
-+AC_CACHE_VAL(sudo_cv_type_long_is_quad,
-+[AC_TRY_RUN([
-+main() {
-+if (sizeof(long long) == sizeof(long)) exit(0);
-+else exit(1);
-+}], [sudo_cv_type_long_is_quad=yes],
-+[sudo_cv_type_long_is_quad=no], [sudo_cv_type_long_is_quad=no])
-+rm -f core core.* *.core])dnl
-+AC_MSG_RESULT($sudo_cv_type_long_is_quad)
-+if test $sudo_cv_type_long_is_quad = yes; then
-+ AC_DEFINE(LONG_IS_QUAD, 1, [Define if sizeof(long) == sizeof(long long).])
-+fi
-+])])
-
+ [AC_CHECK_TYPES(long long, [AC_DEFINE(HAVE_LONG_LONG, 1, [Define if your compiler supports the "long long" type.])]
+ [AC_MSG_CHECKING(for long and long long equivalence)
+ AC_CACHE_VAL(sudo_cv_type_long_is_quad,
+@@ -347,7 +347,7 @@
dnl
dnl append a libpath to an LDFLAGS style variable
dnl
-AC_DEFUN(SUDO_APPEND_LIBPATH, [
+AC_DEFUN([SUDO_APPEND_LIBPATH], [
if test X"$with_rpath" = X"yes"; then
- $1="${$1} -L$2 -R$2"
- else
+ case "$host" in
+ *-*-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 995f026a8..000000000
--- a/meta/packages/sudo/files/autofoo1.patch
+++ /dev/null
@@ -1,222 +0,0 @@
-Index: sudo-1.6.8p12/configure.in
-===================================================================
---- sudo-1.6.8p12.orig/configure.in 2004-11-26 04:31:20.000000000 +1100
-+++ sudo-1.6.8p12/configure.in 2007-05-16 16:45:20.000000000 +1000
-@@ -1609,7 +1609,7 @@
- AC_CHECK_FUNCS(getspnam, [CHECKSHADOW="false"], [AC_CHECK_LIB(gen, getspnam, AC_DEFINE(HAVE_GETSPNAM) [SUDO_LIBS="${SUDO_LIBS} -lgen"; LIBS="${LIBS} -lgen"])])
- fi
- if test "$CHECKSHADOW" = "true"; then
-- 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"])))])
-+ 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"])])])])
- fi
-
- dnl
-@@ -1670,7 +1670,7 @@
- SUDO_TYPE_INO_T
- SUDO_FULL_VOID
- SUDO_UID_T_LEN
--SUDO_LONG_LONG
-+SUDO_TYPE_LONG_LONG
- SUDO_SOCK_SA_LEN
- dnl
- dnl only set RETSIGTYPE if it is not set already
-@@ -1700,12 +1700,14 @@
- if test -z "$BROKEN_GETCWD"; then
- AC_REPLACE_FUNCS(getcwd)
- fi
--AC_CHECK_FUNCS(lockf flock, [break])
--AC_CHECK_FUNCS(waitpid wait3, [break])
--AC_CHECK_FUNCS(innetgr _innetgr, [AC_CHECK_FUNCS(getdomainname) [break]])
--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))])
--AC_CHECK_FUNCS(utimes, [AC_CHECK_FUNCS(futimes futimesat, [break])], [AC_CHECK_FUNCS(futime) AC_LIBOBJ(utimes)])
--SUDO_FUNC_FNMATCH(AC_DEFINE(HAVE_FNMATCH), AC_LIBOBJ(fnmatch))
-+AC_CHECK_FUNCS(lockf flock)
-+AC_CHECK_FUNCS(waitpid wait3)
-+AC_CHECK_FUNCS(innetgr _innetgr, [AC_CHECK_FUNCS(getdomainname)])
-+
-+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])])])
-+
-+AC_CHECK_FUNCS(utimes)
-+SUDO_FUNC_FNMATCH([AC_DEFINE([HAVE_FNMATCH], [1], [Define if you have the 'fnmatch' function.])], [AC_LIBOBJ([fnmatch])])
- SUDO_FUNC_ISBLANK
- AC_REPLACE_FUNCS(strerror strcasecmp sigaction strlcpy strlcat closefrom)
- AC_CHECK_FUNCS(snprintf vsnprintf asprintf vasprintf, , [NEED_SNPRINTF=1])
-Index: sudo-1.6.8p12/aclocal.m4
-===================================================================
---- sudo-1.6.8p12.orig/aclocal.m4 2004-09-08 03:14:51.000000000 +1000
-+++ sudo-1.6.8p12/aclocal.m4 2007-05-16 16:45:08.000000000 +1000
-@@ -9,7 +9,7 @@
- dnl
- dnl check for sendmail
- dnl
--AC_DEFUN(SUDO_PROG_SENDMAIL, [AC_MSG_CHECKING(for sendmail)
-+AC_DEFUN([SUDO_PROG_SENDMAIL], [AC_MSG_CHECKING(for sendmail)
- if test -f "/usr/sbin/sendmail"; then
- AC_MSG_RESULT(/usr/sbin/sendmail)
- SUDO_DEFINE(_PATH_SUDO_SENDMAIL, "/usr/sbin/sendmail")
-@@ -36,7 +36,7 @@
- dnl
- dnl check for vi
- dnl
--AC_DEFUN(SUDO_PROG_VI, [AC_MSG_CHECKING(for vi)
-+AC_DEFUN([SUDO_PROG_VI], [AC_MSG_CHECKING(for vi)
- if test -f "/usr/bin/vi"; then
- AC_MSG_RESULT(/usr/bin/vi)
- SUDO_DEFINE(_PATH_VI, "/usr/bin/vi")
-@@ -60,7 +60,7 @@
- dnl
- dnl check for mv
- dnl
--AC_DEFUN(SUDO_PROG_MV, [AC_MSG_CHECKING(for mv)
-+AC_DEFUN([SUDO_PROG_MV], [AC_MSG_CHECKING(for mv)
- if test -f "/usr/bin/mv"; then
- AC_MSG_RESULT(/usr/bin/mv)
- SUDO_DEFINE(_PATH_MV, "/usr/bin/mv")
-@@ -81,7 +81,7 @@
- dnl
- dnl check for bourne shell
- dnl
--AC_DEFUN(SUDO_PROG_BSHELL, [AC_MSG_CHECKING(for bourne shell)
-+AC_DEFUN([SUDO_PROG_BSHELL], [AC_MSG_CHECKING(for bourne shell)
- if test -f "/bin/sh"; then
- AC_MSG_RESULT(/bin/sh)
- SUDO_DEFINE(_PATH_BSHELL, "/bin/sh")
-@@ -114,7 +114,7 @@
- dnl
- dnl Where the log file goes, use /var/log if it exists, else /{var,usr}/adm
- dnl
--AC_DEFUN(SUDO_LOGFILE, [AC_MSG_CHECKING(for log file location)
-+AC_DEFUN([SUDO_LOGFILE], [AC_MSG_CHECKING(for log file location)
- if test -n "$with_logpath"; then
- AC_MSG_RESULT($with_logpath)
- SUDO_DEFINE_UNQUOTED(_PATH_SUDO_LOGFILE, "$with_logpath")
-@@ -135,7 +135,7 @@
- dnl
- dnl Where the log file goes, use /var/log if it exists, else /{var,usr}/adm
- dnl
--AC_DEFUN(SUDO_TIMEDIR, [AC_MSG_CHECKING(for timestamp file location)
-+AC_DEFUN([SUDO_TIMEDIR], [AC_MSG_CHECKING(for timestamp file location)
- if test -n "$with_timedir"; then
- AC_MSG_RESULT($with_timedir)
- SUDO_DEFINE_UNQUOTED(_PATH_SUDO_TIMEDIR, "$with_timedir")
-@@ -158,7 +158,7 @@
- dnl
- dnl check for fullly working void
- dnl
--AC_DEFUN(SUDO_FULL_VOID, [AC_MSG_CHECKING(for full void implementation)
-+AC_DEFUN([SUDO_FULL_VOID], [AC_MSG_CHECKING(for full void implementation)
- AC_TRY_COMPILE(, [void *foo;
- foo = (void *)0; (void *)"test";], AC_DEFINE(VOID, void, [Define to "void" if your compiler supports void pointers, else use "char"].)
- AC_MSG_RESULT(yes), AC_DEFINE(VOID, char)
-@@ -168,7 +168,7 @@
- dnl SUDO_CHECK_TYPE(TYPE, DEFAULT)
- dnl XXX - should require the check for unistd.h...
- dnl
--AC_DEFUN(SUDO_CHECK_TYPE,
-+AC_DEFUN([SUDO_CHECK_TYPE],
- [AC_REQUIRE([AC_HEADER_STDC])dnl
- AC_MSG_CHECKING(for $1)
- AC_CACHE_VAL(sudo_cv_type_$1,
-@@ -189,31 +189,31 @@
- dnl
- dnl Check for size_t declation
- dnl
--AC_DEFUN(SUDO_TYPE_SIZE_T,
-+AC_DEFUN([SUDO_TYPE_SIZE_T],
- [SUDO_CHECK_TYPE(size_t, int)])
-
- dnl
- dnl Check for ssize_t declation
- dnl
--AC_DEFUN(SUDO_TYPE_SSIZE_T,
-+AC_DEFUN([SUDO_TYPE_SSIZE_T],
- [SUDO_CHECK_TYPE(ssize_t, int)])
-
- dnl
- dnl Check for dev_t declation
- dnl
--AC_DEFUN(SUDO_TYPE_DEV_T,
-+AC_DEFUN([SUDO_TYPE_DEV_T],
- [SUDO_CHECK_TYPE(dev_t, int)])
-
- dnl
- dnl Check for ino_t declation
- dnl
--AC_DEFUN(SUDO_TYPE_INO_T,
-+AC_DEFUN([SUDO_TYPE_INO_T],
- [SUDO_CHECK_TYPE(ino_t, unsigned int)])
-
- dnl
- dnl check for working fnmatch(3)
- dnl
--AC_DEFUN(SUDO_FUNC_FNMATCH,
-+AC_DEFUN([SUDO_FUNC_FNMATCH],
- [AC_MSG_CHECKING(for working fnmatch with FNM_CASEFOLD)
- AC_CACHE_VAL(sudo_cv_func_fnmatch,
- [rm -f conftestdata; > conftestdata
-@@ -224,9 +224,9 @@
- rm -f core core.* *.core])dnl
- AC_MSG_RESULT($sudo_cv_func_fnmatch)
- if test $sudo_cv_func_fnmatch = yes; then
-- [$1]
-+ $1
- else
-- [$2]
-+ $2
- fi
- ])
-
-@@ -246,7 +246,7 @@
- dnl
- dnl check for sa_len field in struct sockaddr
- dnl
--AC_DEFUN(SUDO_SOCK_SA_LEN,
-+AC_DEFUN([SUDO_SOCK_SA_LEN],
- [AC_MSG_CHECKING(for sa_len field in struct sockaddr)
- AC_CACHE_VAL(sudo_cv_sock_sa_len,
- [AC_TRY_RUN([#include <sys/types.h>
-@@ -269,7 +269,7 @@
- dnl we can't really trust UID_MAX or MAXUID since they may exist
- dnl only for backwards compatibility.
- dnl
--AC_DEFUN(SUDO_UID_T_LEN,
-+AC_DEFUN([SUDO_UID_T_LEN],
- [AC_REQUIRE([AC_TYPE_UID_T])
- AC_MSG_CHECKING(max length of uid_t)
- AC_CACHE_VAL(sudo_cv_uid_t_len,
-@@ -301,17 +301,29 @@
-
- dnl
- dnl check for "long long"
--dnl XXX hard to cache since it includes 2 tests
- dnl
--AC_DEFUN(SUDO_LONG_LONG, [AC_MSG_CHECKING(for long long support)
--AC_TRY_LINK(, [long long foo = 1000; foo /= 10;], AC_DEFINE(HAVE_LONG_LONG, 1, [Define if your compiler supports the "long long" type.])
--[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).]))]
--AC_MSG_RESULT(yes), AC_MSG_RESULT(no))])
-+AC_DEFUN([SUDO_TYPE_LONG_LONG],
-+[AC_CHECK_TYPES(long long, [AC_DEFINE(HAVE_LONG_LONG, 1, [Define if your
-+compiler supports the "long long" type.])]
-+[AC_MSG_CHECKING(for long and long long equivalence)
-+AC_CACHE_VAL(sudo_cv_type_long_is_quad,
-+[AC_TRY_RUN([
-+main() {
-+if (sizeof(long long) == sizeof(long)) exit(0);
-+else exit(1);
-+}], [sudo_cv_type_long_is_quad=yes],
-+[sudo_cv_type_long_is_quad=no], [sudo_cv_type_long_is_quad=no])
-+rm -f core core.* *.core])dnl
-+AC_MSG_RESULT($sudo_cv_type_long_is_quad)
-+if test $sudo_cv_type_long_is_quad = yes; then
-+ AC_DEFINE(LONG_IS_QUAD, 1, [Define if sizeof(long) == sizeof(long long).])
-+fi
-+])])
-
- dnl
- dnl append a libpath to an LDFLAGS style variable
- dnl
--AC_DEFUN(SUDO_APPEND_LIBPATH, [
-+AC_DEFUN([SUDO_APPEND_LIBPATH], [
- if test X"$with_rpath" = X"yes"; then
- $1="${$1} -L$2 -R$2"
- else
diff --git a/meta/packages/sudo/files/noexec-link.patch b/meta/packages/sudo/files/noexec-link.patch
index 98b35c657..e0d35d0e2 100644
--- a/meta/packages/sudo/files/noexec-link.patch
+++ b/meta/packages/sudo/files/noexec-link.patch
@@ -1,3 +1,7 @@
+# libtool requires library's name to start with 'lib', or else error is reported. with "-module" option
+# that check is skipped
+#
+# comments added by Kevin Tian <kevin.tian@intel.com>, 06/23/2010
Index: sudo-1.6.8p6/Makefile.in
===================================================================
--- 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 db174b373..000000000
--- a/meta/packages/sudo/files/nonrootinstall.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
-Index: sudo-1.6.8p5/Makefile.in
-===================================================================
---- sudo-1.6.8p5.orig/Makefile.in 2004-11-25 12:27:00.000000000 -0500
-+++ sudo-1.6.8p5/Makefile.in 2005-01-21 18:02:00.447440568 -0500
-@@ -81,10 +81,16 @@
- mandirform = $(mandir)/$(mantype)$(mansectform)
-
- # User and group ids the installed files should be "owned" by
-+ifeq ($(DESTDIR),)
-+install_owncmd = -o $(install_uid) -g $(install_gid)
-+endif
- install_uid = 0
- install_gid = 0
-
- # User, group, and mode the sudoers file should be "owned" by (configure)
-+ifeq ($(DESTDIR),)
-+sudoers_owncmd = -o $(sudoers_uid) -g $(sudoers_gid)
-+endif
- sudoers_uid = @SUDOERS_UID@
- sudoers_gid = @SUDOERS_GID@
- sudoers_mode = @SUDOERS_MODE@
-@@ -301,12 +307,11 @@
- $(DESTDIR)$(noexecdir)
-
- install-binaries: $(PROGS)
-- $(INSTALL) -O $(install_uid) -G $(install_gid) -M 4111 -s sudo $(DESTDIR)$(sudodir)/sudo
-+ $(INSTALL) $(install_owncmd) -m 4555 -s sudo $(DESTDIR)$(sudodir)/sudo
-+ $(INSTALL) $(install_owncmd) -m 0555 -s visudo $(DESTDIR)$(visudodir)/visudo
- rm -f $(DESTDIR)$(sudodir)/sudoedit
- ln $(DESTDIR)$(sudodir)/sudo $(DESTDIR)$(sudodir)/sudoedit
-
-- $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0111 -s visudo $(DESTDIR)$(visudodir)/visudo
--
- install-noexec: sudo_noexec.la
- $(LIBTOOL) --mode=install $(INSTALL) sudo_noexec.la $(DESTDIR)$(noexecdir)
-
-@@ -319,11 +324,11 @@
- $(srcdir)/sudoers $(DESTDIR)$(sudoersdir)/sudoers
-
- install-man:
-- $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/sudo.$(mantype) $(DESTDIR)$(mandirsu)/sudo.$(mansectsu)
-+ $(INSTALL) $(install_owncmd) -m 0444 @mansrcdir@/sudo.$(mantype) $(DESTDIR)$(mandirsu)/sudo.$(mansectsu)
- @rm -f $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu)
- ln $(DESTDIR)$(mandirsu)/sudo.$(mansectsu) $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu)
-- $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/visudo.$(mantype) $(DESTDIR)$(mandirsu)/visudo.$(mansectsu)
-- $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/sudoers.$(mantype) $(DESTDIR)$(mandirform)/sudoers.$(mansectform)
-+ $(INSTALL) $(install_owncmd) -m 0444 @mansrcdir@/visudo.$(mantype) $(DESTDIR)$(mandirsu)/visudo.$(mansectsu)
-+ $(INSTALL) $(install_owncmd) -m 0444 @mansrcdir@/sudoers.$(mantype) $(DESTDIR)$(mandirform)/sudoers.$(mansectform)
- @MAN_POSTINSTALL@
-
- check:
diff --git a/meta/packages/sudo/files/nostrip.patch b/meta/packages/sudo/files/nostrip.patch
index 287d43a8e..3c71b4fd8 100644
--- a/meta/packages/sudo/files/nostrip.patch
+++ b/meta/packages/sudo/files/nostrip.patch
@@ -1,4 +1,7 @@
-
+# this could be pushed upstream to allowing conditional strip. Now it's not applied.
+# we use sed in recipe for same purpose. Keep here as reminder for upstream
+#
+# comment added by Kevin Tian <kevin.tian@intel.com>, 07/01/2010
#
# Patch managed by http://www.holgerschurig.de/patcher.html
#
diff --git a/meta/packages/sudo/sudo.inc b/meta/packages/sudo/sudo.inc
index 0dfb22ba8..2add94bef 100644
--- a/meta/packages/sudo/sudo.inc
+++ b/meta/packages/sudo/sudo.inc
@@ -1,17 +1,25 @@
-DESCRIPTION = "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."
-LICENSE = "sudo"
+DESCRIPTION = "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."
HOMEPAGE = "http://www.courtesan.com/sudo/"
+BUGTRACKER = "http://www.sudo.ws/bugs/"
PRIORITY = "optional"
SECTION = "admin"
+LICENSE = "ISC & UCB & MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a7dfe8895011d65d0c2e24aaf5ad0843 \
+ file://nonunix.h;startline=4;endline=28;md5=1e70feedac93a3fd7f5254e3fec52677 \
+ file://vasgroups.c;startline=4;endline=28;md5=1e70feedac93a3fd7f5254e3fec52677 \
+ file://fnmatch.c;startline=6;endline=31;md5=0779058eafd6e23b966585b45bfa54f3 \
+ file://getcwd.c;startline=5;endline=27;md5=08d82914995224a0ca42116d7ca2a218 \
+ file://glob.c;startline=6;endline=31;md5=299cb38ec8d56e89118ce57fb83b4f78 \
+ file://snprintf.c;startline=6;endline=31;md5=dabd56a89a7a773850dc06ee4f1ecde2"
inherit autotools
EXTRA_OECONF = "--with-editor=/bin/vi --with-env-editor"
do_configure_prepend () {
+ # Prevent binaries from being stripped on the host
+ sed -i 's/\($(INSTALL).*\) -s \(.*[(sudo|visudo)]\)/\1 \2/g' Makefile.in
+
rm -f acsite.m4
if [ ! -e acinclude.m4 ]; then
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 1764df503..000000000
--- a/meta/packages/sudo/sudo_1.6.8p12.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-PR = "r3"
-
-SRC_URI = "http://ftp.sudo.ws/sudo/dist/OLD/sudo-1.6.8.tar.gz \
- http://ftp.sudo.ws/sudo/dist/OLD/sudo-1.6.8p12.patch.gz;patch=1 \
- file://nonrootinstall.patch;patch=1 \
- file://nostrip.patch;patch=1 \
- file://autofoo.patch;patch=1 \
- file://noexec-link.patch;patch=1"
-
-require sudo.inc
-
-S = "${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 000000000..3dd6cdf05
--- /dev/null
+++ b/meta/packages/sudo/sudo_1.7.2p7.bb
@@ -0,0 +1,7 @@
+PR = "r0"
+
+SRC_URI = "http://ftp.sudo.ws/sudo/dist/sudo-1.7.2p7.tar.gz \
+ file://noexec-link.patch"
+
+require sudo.inc
+EXTRA_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 33bf2a98c..6b887e31b 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 @@
-DESCRIPTION = "The fonts - TTF Edition"
+DESCRIPTION = "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"
+HOMEPAGE = "https://fedorahosted.org/liberation-fonts/"
+BUGTRACKER = "https://bugzilla.redhat.com/"
+
SECTION = "x11/fonts"
PRIORITY = "optional"
LICENSE = "GPLv2"
@@ -9,18 +12,18 @@ PE = "1"
SRC_URI = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-${PV}.tar.gz \
file://30-liberation-aliases.conf"
-do_install () {
- install -d ${D}${datadir}/fonts/ttf/
- for i in *.ttf; do
- install -m 0644 $i ${D}${prefix}/share/fonts/ttf/${i}
- done
+do_install () {
+ install -d ${D}${datadir}/fonts/ttf/
+ for i in *.ttf; do
+ install -m 0644 $i ${D}${prefix}/share/fonts/ttf/${i}
+ done
install -d ${D}${sysconfdir}/fonts/conf.d/
install -m 0644 ${WORKDIR}/30-liberation-aliases.conf ${D}${sysconfdir}/fonts/conf.d/
- install -d ${D}${prefix}/share/doc/${PN}/
+ install -d ${D}${prefix}/share/doc/${PN}/
install -m 0644 License.txt ${D}${datadir}/doc/${PN}/
-}
+}
pkg_postinst () {
#!/bin/sh
diff --git a/meta/packages/tzdata/tzdata_2009s.bb b/meta/packages/tzdata/tzdata_2010j.bb
index 2f9e0c8e4..97eb1173c 100644
--- a/meta/packages/tzdata/tzdata_2009s.bb
+++ b/meta/packages/tzdata/tzdata_2010j.bb
@@ -1,6 +1,9 @@
DESCRIPTION = "Timezone data"
+HOMEPAGE = "ftp://elsie.nci.nih.gov/pub/"
SECTION = "base"
PRIORITY = "optional"
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://asia;beginline=2;endline=3;md5=06468c0e84ef4d4c97045a4a29b08234"
DEPENDS = "tzcode-native"
PR = "r0"
diff --git a/meta/packages/unzip/unzip_552.bb b/meta/packages/unzip/unzip_6.0.bb
index 84e4fd4a7..7b0f9dc72 100644
--- a/meta/packages/unzip/unzip_552.bb
+++ b/meta/packages/unzip/unzip_6.0.bb
@@ -1,10 +1,13 @@
DESCRIPTION = "A (de)compression library for the ZIP format"
+HOMEPAGE = "http://www.info-zip.org"
SECTION = "console/utils"
LICENSE = "Info-ZIP"
-PR = "r1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=94caec5a51ef55ef711ee4e8b1c69e29"
+PE = "1"
+PR = "r0"
-SRC_URI = "http://ftp.info-zip.org/pub/infozip/src/unzip${PV}.tar.gz"
-S = "${WORKDIR}/unzip-5.52"
+SRC_URI = "ftp://ftp.info-zip.org/pub/infozip/src/unzip60.tgz"
+S = "${WORKDIR}/unzip60"
export LD = "${CC}"
LD_virtclass-native = "${CC}"
diff --git a/meta/packages/v86d/v86d_0.1.5.bb b/meta/packages/v86d/v86d_0.1.9.bb
index 30a1c092a..19510b934 100644
--- a/meta/packages/v86d/v86d_0.1.5.bb
+++ b/meta/packages/v86d/v86d_0.1.9.bb
@@ -1,11 +1,14 @@
DESCRIPTION = "User support binary for the uvesafb kernel module"
-SRC_URI = "http://dev.gentoo.org/~spock/projects/uvesafb/archive/v86d-${PV}.tar.bz2 \
- file://fbsetup"
-DEPENDS = "virtual/kernel"
+HOMEPAGE = "http://dev.gentoo.org/~spock/projects/uvesafb/"
+
LICENSE = "GPLv2"
-PR = "r3"
+DEPENDS = "virtual/kernel"
RRECOMMENDS_${PN} = "kernel-module-uvesafb"
+PR = "r0"
+
+SRC_URI = "http://dev.gentoo.org/~spock/projects/uvesafb/archive/v86d-${PV}.tar.bz2 \
+ file://fbsetup"
PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_MACHINE = "(qemux86|bootcdx86)"
diff --git a/meta/packages/vte/vte.inc b/meta/packages/vte/vte.inc
index ba06151c7..6138f8ca0 100644
--- a/meta/packages/vte/vte.inc
+++ b/meta/packages/vte/vte.inc
@@ -1,5 +1,6 @@
DESCRIPTION = "vte is a virtual terminal emulator"
-LICENSE = "LGPL"
+BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte"
+LICENSE = "LGPLv2.1+"
DEPENDS = " glib-2.0 gtk+ intltool-native ncurses"
RDEPENDS_libvte = "vte-termcap"
diff --git a/meta/packages/webkit/webkit-gtk_svn.bb b/meta/packages/webkit/webkit-gtk_svn.bb
index f99928012..acce1c3f1 100644
--- a/meta/packages/webkit/webkit-gtk_svn.bb
+++ b/meta/packages/webkit/webkit-gtk_svn.bb
@@ -1,3 +1,9 @@
+DESCRIPTION = "WebKitGTK+ is the port of the portable web rendering engine WebKitK to the GTK+ platform."
+HOMEPAGE = "http://www.webkitgtk.org/"
+BUGTRACKER = "http://bugs.webkit.org/"
+
+LICENSE = "BSD & LGPLv2+"
+
DEPENDS = "curl icu libxml2 cairo libxslt libidn gnutls gtk+ gstreamer gst-plugins-base gnome-vfs flex-native gperf-native perl-native sqlite3"
DEPENDS_darwin8 = "curl icu libxml2 cairo libxslt libidn gnutls gtk+ gstreamer flex-native gperf-native perl-native sqlite3"
diff --git a/meta/packages/xcb/libpthread-stubs_0.1.bb b/meta/packages/xcb/libpthread-stubs_0.3.bb
index 9dd0aaff4..8ded7a074 100644
--- a/meta/packages/xcb/libpthread-stubs_0.1.bb
+++ b/meta/packages/xcb/libpthread-stubs_0.3.bb
@@ -1,9 +1,11 @@
DESCRIPTION = "This library provides weak aliases for pthread functions \
not provided in libc or otherwise available by default."
-SECTION = "x11/libs"
-LICENSE = "MIT-X"
HOMEPAGE = "http://xcb.freedesktop.org"
-PR = "r1"
+BUGTRACKER = "http://bugs.freedesktop.org/buglist.cgi?product=XCB"
+SECTION = "x11/libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6edc1fea03d959f0c2d743fe5ca746ad"
+PR = "r0"
PARALLEL_MAKE = ""
#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 05ef6af95..3ddccb249 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
DESCRIPTION = "X Resize and Rotate extension command."
LICENSE= "BSD-X"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fe1608bdb33cf8c62a4438f7d34679b3"
DEPENDS += "libxrandr libxrender"
PE = "1"
+PR = "r0"
-SRC_URI += "file://resolve_symbol_clash.patch;patch=1"
+SRC_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 9d83ce9ae..550423b0f 100644
--- a/meta/packages/xorg-driver/xf86-driver-common.inc
+++ b/meta/packages/xorg-driver/xf86-driver-common.inc
@@ -1,5 +1,6 @@
DESCRIPTION = "X driver"
HOMEPAGE = "http://www.x.org"
+BUGTRACKER = "https://bugs.freedesktop.org"
SECTION = "x11/drivers"
LICENSE = "MIT-X"
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 d1fb0f000..49bfb30c9 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
DESCRIPTION = "X.Org X server -- evdev input driver"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ebf4ad82cd33b1432eacb1798a43c092"
+
+PR = "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 74a884863..dafdbdf48 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 @@
require xf86-video-common.inc
DESCRIPTION = "X.Org X server -- VMware SVGA II display driver"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
+
DEPENDS += "virtual/libx11 libxvmc drm glproto \
virtual/libgl xineramaproto libpciaccess"
-COMPATIBLE_HOST = '(i.86.*-linux)' \ No newline at end of file
+PR = "r0"
+
+COMPATIBLE_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 5314cbc5d..e2ca8f2dd 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 @@
-require xorg-font-common.inc
-
DESCRIPTION = "X font aliases."
+require xorg-font-common.inc
+
DEPENDS = "virtual/xserver font-util"
RDEPENDS = "encodings font-util"
diff --git a/meta/packages/xorg-font/xorg-minimal-fonts.bb b/meta/packages/xorg-font/xorg-minimal-fonts.bb
index 2262f03e8..db3dc96b1 100644
--- a/meta/packages/xorg-font/xorg-minimal-fonts.bb
+++ b/meta/packages/xorg-font/xorg-minimal-fonts.bb
@@ -1,4 +1,7 @@
+DESCRIPTION = "Xorg minimal fonts data"
HOMEPAGE = "http://www.x.org"
+BUGTRACKER = "n/a"
+
SECTION = "x11/fonts"
LICENSE = "MIT-X"
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 5eedaa031..000000000
--- a/meta/packages/xorg-lib/libpciaccess_0.10.5.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require xorg-lib-common.inc
-
-DEPENDS += "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 000000000..b4032c0a1
--- /dev/null
+++ b/meta/packages/xorg-lib/libpciaccess_0.11.0.bb
@@ -0,0 +1,10 @@
+DESCRIPTION = "Generic PCI access library"
+
+require xorg-lib-common.inc
+
+LICENSE = "MIT & MIT-style"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ad1647740bccb2315e6f6368dce05c6d"
+
+PR = "r0"
+
+DEPENDS += "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 9a7494d48..0e59bd506 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 @@
-HOMEPAGE = "http://freedesktop.org/wiki/Software/XKeyboardConfig"
DESCRIPTION = "Keyboard configuration database for X Window"
-SRC_URI = "http://xlibs.freedesktop.org/xkbdesc/xkeyboard-config-${PV}.tar.bz2"
+HOMEPAGE = "http://freedesktop.org/wiki/Software/XKeyboardConfig"
+BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xkeyboard-config"
+
+LICENSE = "MIT & MIT-style"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9"
+
+SRC_URI = "http://people.freedesktop.org/~svu/xkeyboard-config-${PV}.tar.bz2"
SECTION = "x11/libs"
-LICENSE = "MIT-X"
DEPENDS = "intltool xkbcomp-native glib-2.0"
-PR = "r2"
+
+PR = "r0"
EXTRA_OECONF = "--with-xkb-rules-symlink=xorg"
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 1f784944d..000000000
--- a/meta/packages/xorg-util/files/unbreak_cross_compile.patch
+++ /dev/null
@@ -1,19 +0,0 @@
----
- xorg-macros.m4.in | 2 --
- 1 file changed, 2 deletions(-)
-
---- util-macros-1.1.6.orig/xorg-macros.m4.in
-+++ util-macros-1.1.6/xorg-macros.m4.in
-@@ -252,12 +252,10 @@ HAVE_DEFS_ENT=
- BUILDTXTDOC=no
- BUILDPDFDOC=no
- BUILDPSDOC=no
- BUILDHTMLDOC=no
-
--AC_CHECK_FILE([$XORG_SGML_PATH/X11/defs.ent], [HAVE_DEFS_ENT=yes])
--
- AC_PATH_PROG(DOCBOOKPS, docbook2ps)
- AC_PATH_PROG(DOCBOOKPDF, docbook2pdf)
- AC_PATH_PROG(DOCBOOKHTML, docbook2html)
- AC_PATH_PROG(DOCBOOKTXT, docbook2txt)
-
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 052a65873..d3bf613a6 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 @@
+DESCRIPTION = "X autotools macros"
+
require xorg-util-common.inc
-DESCRIPTION = "X autotools macros"
-PE = "1"
+LICENSE = "MIT & MIT-style"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b8b2965be9997891cf7ddccdfb242ca8"
-SRC_URI += "file://unbreak_cross_compile.patch;patch=1"
+PE = "1"
+PR = "r0"
# ${PN} is empty so we need to tweak -dev and -dbg package dependencies
DEPENDS = "gettext"
diff --git a/meta/packages/xorg-util/xorg-util-common.inc b/meta/packages/xorg-util/xorg-util-common.inc
index 86603e40b..18d022c49 100644
--- a/meta/packages/xorg-util/xorg-util-common.inc
+++ b/meta/packages/xorg-util/xorg-util-common.inc
@@ -1,4 +1,6 @@
HOMEPAGE = "http://www.x.org"
+BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg"
+
SECTION = "x11/utils"
LICENSE = "MIT-X"
diff --git a/meta/packages/zip/zip.inc b/meta/packages/zip/zip.inc
index 7593d924a..9a269ea89 100644
--- a/meta/packages/zip/zip.inc
+++ b/meta/packages/zip/zip.inc
@@ -1,8 +1,11 @@
DESCRIPTION = "Archiver for .zip files"
+HOMEPAGE = "http://www.info-zip.org"
SECTION = "console/utils"
+
LICENSE = "Info-ZIP"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=04d43c5d70b496c032308106e26ae17d"
-SRC_URI = "http://ftp.info-zip.org/pub/infozip/src/zip${@bb.data.getVar('PV',d,1).replace('.', '')}.tar.gz"
+SRC_URI = "ftp://ftp.info-zip.org/pub/infozip/src/zip${@bb.data.getVar('PV',d,1).replace('.', '')}.tgz"
EXTRA_OEMAKE = "'CC=${CC}' 'BIND=${CC}' 'AS=${CC} -c' 'CPP=${CPP}' \
'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 4e01db84c..000000000
--- a/meta/packages/zip/zip_2.32.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require zip.inc
-
-PR="r1"
diff --git a/meta/packages/zip/zip_3.0.bb b/meta/packages/zip/zip_3.0.bb
new file mode 100644
index 000000000..c5df637a3
--- /dev/null
+++ b/meta/packages/zip/zip_3.0.bb
@@ -0,0 +1,6 @@
+require zip.inc
+
+PR="r0"
+
+# zip-2.32 still uses directory name of zip-2.30
+S = "${WORKDIR}/zip30"
diff --git a/meta/site/common b/meta/site/common
index 90766886b..631be4fa0 100644
--- a/meta/site/common
+++ b/meta/site/common
@@ -3,3 +3,10 @@ mr_cv_target_elf=${mr_cv_target_elf=yes}
# Normally kernels have /dev/random enabled
ac_cv_file__dev_random=${ac_cv_file__dev_random=yes}
+
+# Avoid sudo to assume void for unsetenv in cross environment, or else it conflicts with
+# target stdlib.h prototype which follows POSIX compiliance. Mark for upstream.
+sudo_cv_func_unsetenv_void=no
+
+# Whether gettext macros should add rpath options
+acl_cv_rpath=${acl_cv_rpath=no}