summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.hardware85
-rw-r--r--bitbake/AUTHORS2
-rwxr-xr-xbitbake/bin/bitbake87
-rwxr-xr-xbitbake/bin/bitdoc2
-rw-r--r--bitbake/contrib/vim/ftdetect/bitbake.vim28
-rw-r--r--bitbake/contrib/vim/ftplugin/bitbake.vim1
-rwxr-xr-xbitbake/contrib/vim/plugin/newbb.vim85
-rw-r--r--bitbake/contrib/vim/syntax/bitbake.vim192
-rw-r--r--bitbake/doc/manual/usermanual.xml6
-rw-r--r--bitbake/lib/bb/__init__.py51
-rw-r--r--bitbake/lib/bb/build.py488
-rw-r--r--bitbake/lib/bb/cache.py664
-rw-r--r--bitbake/lib/bb/codeparser.py41
-rw-r--r--bitbake/lib/bb/command.py65
-rw-r--r--bitbake/lib/bb/cooker.py436
-rw-r--r--bitbake/lib/bb/data.py19
-rw-r--r--bitbake/lib/bb/data_smart.py99
-rw-r--r--bitbake/lib/bb/event.py112
-rw-r--r--bitbake/lib/bb/fetch/__init__.py127
-rw-r--r--bitbake/lib/bb/fetch/bzr.py35
-rw-r--r--bitbake/lib/bb/fetch/cvs.py41
-rw-r--r--bitbake/lib/bb/fetch/git.py107
-rw-r--r--bitbake/lib/bb/fetch/hg.py40
-rw-r--r--bitbake/lib/bb/fetch/local.py2
-rw-r--r--bitbake/lib/bb/fetch/osc.py31
-rw-r--r--bitbake/lib/bb/fetch/perforce.py28
-rw-r--r--bitbake/lib/bb/fetch/repo.py35
-rw-r--r--bitbake/lib/bb/fetch/svk.py20
-rw-r--r--bitbake/lib/bb/fetch/svn.py33
-rw-r--r--bitbake/lib/bb/fetch/wget.py16
-rw-r--r--bitbake/lib/bb/fetch2/__init__.py985
-rw-r--r--bitbake/lib/bb/fetch2/bzr.py141
-rw-r--r--bitbake/lib/bb/fetch2/cvs.py169
-rw-r--r--bitbake/lib/bb/fetch2/git.py236
-rw-r--r--bitbake/lib/bb/fetch2/hg.py174
-rw-r--r--bitbake/lib/bb/fetch2/local.py76
-rw-r--r--bitbake/lib/bb/fetch2/osc.py135
-rw-r--r--bitbake/lib/bb/fetch2/perforce.py196
-rw-r--r--bitbake/lib/bb/fetch2/repo.py98
-rw-r--r--bitbake/lib/bb/fetch2/ssh.py120
-rw-r--r--bitbake/lib/bb/fetch2/svk.py97
-rw-r--r--bitbake/lib/bb/fetch2/svn.py173
-rw-r--r--bitbake/lib/bb/fetch2/wget.py91
-rw-r--r--bitbake/lib/bb/msg.py204
-rw-r--r--bitbake/lib/bb/parse/__init__.py21
-rw-r--r--bitbake/lib/bb/parse/ast.py127
-rw-r--r--bitbake/lib/bb/parse/parse_py/BBHandler.py35
-rw-r--r--bitbake/lib/bb/parse/parse_py/ConfHandler.py19
-rw-r--r--bitbake/lib/bb/persist_data.py226
-rw-r--r--bitbake/lib/bb/process.py109
-rw-r--r--bitbake/lib/bb/providers.py37
-rw-r--r--bitbake/lib/bb/pysh/__init__.py (renamed from bitbake/lib/pysh/__init__.py)0
-rw-r--r--bitbake/lib/bb/pysh/builtin.py (renamed from bitbake/lib/pysh/builtin.py)0
-rw-r--r--bitbake/lib/bb/pysh/interp.py (renamed from bitbake/lib/pysh/interp.py)0
-rw-r--r--bitbake/lib/bb/pysh/lsprof.py (renamed from bitbake/lib/pysh/lsprof.py)0
-rw-r--r--bitbake/lib/bb/pysh/pysh.py (renamed from bitbake/lib/pysh/pysh.py)0
-rw-r--r--bitbake/lib/bb/pysh/pyshlex.py (renamed from bitbake/lib/pysh/pyshlex.py)0
-rw-r--r--bitbake/lib/bb/pysh/pyshyacc.py (renamed from bitbake/lib/pysh/pyshyacc.py)9
-rw-r--r--bitbake/lib/bb/pysh/sherrors.py (renamed from bitbake/lib/pysh/sherrors.py)0
-rw-r--r--bitbake/lib/bb/pysh/subprocess_fix.py (renamed from bitbake/lib/pysh/subprocess_fix.py)0
-rw-r--r--bitbake/lib/bb/runqueue.py443
-rw-r--r--bitbake/lib/bb/server/none.py2
-rw-r--r--bitbake/lib/bb/server/xmlrpc.py2
-rw-r--r--bitbake/lib/bb/shell.py12
-rw-r--r--bitbake/lib/bb/siggen.py98
-rw-r--r--bitbake/lib/bb/taskdata.py83
-rw-r--r--bitbake/lib/bb/ui/crumbs/progress.py2
-rw-r--r--bitbake/lib/bb/ui/crumbs/runningbuild.py225
-rw-r--r--bitbake/lib/bb/ui/depexp.py77
-rw-r--r--bitbake/lib/bb/ui/goggle.py33
-rw-r--r--bitbake/lib/bb/ui/knotty.py170
-rw-r--r--bitbake/lib/bb/ui/ncurses.py66
-rw-r--r--bitbake/lib/bb/ui/puccho.py2
-rw-r--r--bitbake/lib/bb/ui/uievent.py25
-rw-r--r--bitbake/lib/bb/utils.py177
-rw-r--r--bitbake/lib/progressbar.py384
-rw-r--r--documentation/bsp-guide/bsp.xml326
-rw-r--r--documentation/poky-ref-manual/extendpoky.xml15
-rw-r--r--documentation/poky-ref-manual/poky-ref-manual.xml4
-rw-r--r--documentation/poky-ref-manual/ref-variables.xml8
-rw-r--r--[-rwxr-xr-x]documentation/yocto-project-qs/figures/using-a-pre-built-image.pngbin13228 -> 12733 bytes
-rw-r--r--documentation/yocto-project-qs/yocto-project-qs.xml234
-rw-r--r--meta-demoapps/recipes-connectivity/openswan/openswan_2.4.7.bb6
-rw-r--r--meta-demoapps/recipes-connectivity/opensync/libsync_svn.bb5
-rw-r--r--meta-demoapps/recipes-connectivity/telepathy/empathy_2.26.1.bb6
-rw-r--r--meta-demoapps/recipes-gnome/abiword/abiword-2.5.inc2
-rw-r--r--meta-demoapps/recipes-gnome/abiword/abiword-embedded_2.5.2.bb2
-rw-r--r--meta-demoapps/recipes-gnome/abiword/abiword.inc2
-rw-r--r--meta-demoapps/recipes-gnome/abiword/abiword_2.5.2.bb4
-rw-r--r--meta-demoapps/recipes-gnome/abiword/abiword_cvs.bb2
-rw-r--r--meta-demoapps/recipes-gnome/libgsf/libgsf_1.14.5.bb4
-rw-r--r--meta-demoapps/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_git.bb (renamed from meta-demoapps/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_svn.bb)8
-rw-r--r--meta-demoapps/recipes-sato/matchbox-themes-gtk/matchbox-themes-gtk.bb4
-rw-r--r--meta-emenlow/README78
-rw-r--r--meta-emenlow/binary/.gitignore0
-rw-r--r--meta-emenlow/conf/layer.conf4
-rw-r--r--meta-emenlow/conf/machine/emenlow.conf7
-rw-r--r--meta-emenlow/recipes-bsp/formfactor/formfactor/emenlow/machconfig (renamed from meta-emenlow/recipes/formfactor/formfactor/emenlow/machconfig)0
-rw-r--r--meta-emenlow/recipes-bsp/formfactor/formfactor_0.0.bbappend (renamed from meta-emenlow/recipes/formfactor/formfactor_0.0.bbappend)0
-rw-r--r--meta-emenlow/recipes-graphics/libdrm-poulsbo/libdrm-poulsbo-2.3.0/libdrm-poulsbo.patch (renamed from meta-emenlow/recipes/libdrm-poulsbo/libdrm-poulsbo-2.3.0/libdrm-poulsbo.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libdrm-poulsbo/libdrm-poulsbo_2.3.0.bb (renamed from meta-emenlow/recipes/libdrm-poulsbo/libdrm-poulsbo_2.3.0.bb)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/033_g45_add_rgba_subpic.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/033_g45_add_rgba_subpic.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/034_g45_fix_return_for_unimpl.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/034_g45_fix_return_for_unimpl.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/035_g45_add_yv12_image_format.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/035_g45_add_yv12_image_format.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/036_g45_add_vaGetImage.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/036_g45_add_vaGetImage.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/037_g45_add_vaPutImage.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/037_g45_add_vaPutImage.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/038_g45_vaPutSurface_cliprects.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/038_g45_vaPutSurface_cliprects.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/102_attribute_visibility.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/102_attribute_visibility.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/103_fix_vainfo_deps.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/103_fix_vainfo_deps.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/104_fix_libva_pkgconfig_deps.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/104_fix_libva_pkgconfig_deps.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/105_dont_search_LIBGL_DRIVERS_PATH.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/105_dont_search_LIBGL_DRIVERS_PATH.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/108_drivers_path.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/108_drivers_path.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/203_fix_fglrx_detection.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/203_fix_fglrx_detection.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/204_check_ATIFGLEXTENSION.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/204_check_ATIFGLEXTENSION.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/300_sds_version.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/300_sds_version.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/301_vdpau_mpeg4.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/301_vdpau_mpeg4.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/320_move_vaPutSurface_flags_def.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/320_move_vaPutSurface_flags_def.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/321_libva_glx.base.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/321_libva_glx.base.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/322_libva_glx.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/322_libva_glx.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/390_compat.base.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/390_compat.base.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/391_compat.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/391_compat.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/392_compat.dso.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/392_compat.dso.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/libdrm-poulsbo.patch (renamed from meta-emenlow/recipes/libva/libva-0.31.0/libdrm-poulsbo.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva_0.31.0.bb (renamed from meta-emenlow/recipes/libva/libva_0.31.0.bb)0
-rw-r--r--meta-emenlow/recipes-graphics/psb-firmware/psb-firmware_0.30.bb (renamed from meta-emenlow/recipes/psb-firmware/psb-firmware_0.30.bb)0
-rw-r--r--meta-emenlow/recipes-graphics/psb-kernel-source/psb-kernel-source-4.42.0/build.patch (renamed from meta-emenlow/recipes/psb-kernel-source/psb-kernel-source-4.42.0/build.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/psb-kernel-source/psb-kernel-source_4.42.0.bb (renamed from meta-emenlow/recipes/psb-kernel-source/psb-kernel-source_4.42.0.bb)0
-rw-r--r--meta-emenlow/recipes-graphics/xorg-xserver/files/crosscompile.patch (renamed from meta-emenlow/recipes/xorg-xserver/files/crosscompile.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/xorg-xserver/files/fix_open_max_preprocessor_error.patch (renamed from meta-emenlow/recipes/xorg-xserver/files/fix_open_max_preprocessor_error.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/xorg-xserver/files/libdrm-poulsbo.patch (renamed from meta-emenlow/recipes/xorg-xserver/files/libdrm-poulsbo.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/xorg-xserver/files/macro_tweak.patch (renamed from meta-emenlow/recipes/xorg-xserver/files/macro_tweak.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/xorg-xserver/files/nodolt.patch (renamed from meta-emenlow/recipes/xorg-xserver/files/nodolt.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/xorg-xserver/xserver-psb_1.7.99.2.bb (renamed from meta-emenlow/recipes/xorg-xserver/xserver-psb_1.7.99.2.bb)0
-rw-r--r--meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config/emenlow/xorg.conf (renamed from meta-emenlow/recipes/xorg-xserver/xserver-xf86-config/emenlow/xorg.conf)0
-rw-r--r--meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend (renamed from meta-emenlow/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend)0
-rw-r--r--meta-emenlow/recipes-graphics/xpsb-glx/xpsb-glx-0.18/cross-compile.patch (renamed from meta-emenlow/recipes/xpsb-glx/xpsb-glx-0.18/cross-compile.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/xpsb-glx/xpsb-glx-0.18/libdrmname.patch (renamed from meta-emenlow/recipes/xpsb-glx/xpsb-glx-0.18/libdrmname.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/xpsb-glx/xpsb-glx-0.18/native-matypes.patch (renamed from meta-emenlow/recipes/xpsb-glx/xpsb-glx-0.18/native-matypes.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/xpsb-glx/xpsb-glx_0.18.bb (renamed from meta-emenlow/recipes/xpsb-glx/xpsb-glx_0.18.bb)0
-rw-r--r--meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/01_disable_lid_timer.patch (renamed from meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/01_disable_lid_timer.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/dri-h.patch (renamed from meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/dri-h.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/libdrm-poulsbo.patch (renamed from meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/libdrm-poulsbo.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/psb_mixed.patch (renamed from meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/psb_mixed.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/psb_xvtempfix.patch (renamed from meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/psb_xvtempfix.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/stubs.patch (renamed from meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/stubs.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/visibility.patch (renamed from meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/visibility.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xorg-x11-drv-psb-0.31.0-ignoreacpi.patch (renamed from meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xorg-x11-drv-psb-0.31.0-ignoreacpi.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xorg-x11-drv-psb-0.31.0-xserver17.patch (renamed from meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xorg-x11-drv-psb-0.31.0-xserver17.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-assert.patch (renamed from meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-assert.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-comment_unused.patch (renamed from meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-comment_unused.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-greedy.patch (renamed from meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-greedy.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-loader.patch (renamed from meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-loader.patch)0
-rw-r--r--meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb_0.32.1.bb (renamed from meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb_0.32.1.bb)0
-rw-r--r--meta-emenlow/recipes-kernel/linux/linux-2.6.33.2/defconfig (renamed from meta-emenlow/recipes/linux/linux-2.6.33.2/defconfig)0
-rw-r--r--meta-emenlow/recipes-kernel/linux/linux-yocto-stable_git.bbappend (renamed from meta-emenlow/recipes/linux/linux-yocto-stable_git.bbappend)0
-rw-r--r--meta-emenlow/recipes-kernel/linux/linux_2.6.33.2.bbappend (renamed from meta-emenlow/recipes/linux/linux_2.6.33.2.bbappend)0
-rw-r--r--meta-rt/conf/layer.conf23
-rw-r--r--meta-rt/images/poky-image-minimal-rt-directdisk.bb15
-rw-r--r--meta-rt/images/poky-image-minimal-rt-live.bb15
-rw-r--r--meta-rt/images/poky-image-minimal-rt.bb12
-rw-r--r--meta-rt/recipes-kernel/linux-yocto-rt_stablegit.bb40
-rw-r--r--meta-rt/recipes-tests/rt-tests_git.bb22
-rw-r--r--meta/classes/autotools.bbclass42
-rw-r--r--meta/classes/base.bbclass168
-rw-r--r--meta/classes/binconfig.bbclass6
-rw-r--r--meta/classes/bootimg.bbclass4
-rw-r--r--meta/classes/cpan-base.bbclass4
-rw-r--r--meta/classes/cpan.bbclass5
-rw-r--r--meta/classes/cpan_build.bbclass4
-rw-r--r--meta/classes/cross-canadian.bbclass7
-rw-r--r--meta/classes/cross.bbclass27
-rw-r--r--meta/classes/crosssdk.bbclass4
-rw-r--r--meta/classes/distrodata.bbclass110
-rw-r--r--meta/classes/distutils-common-base.bbclass23
-rw-r--r--meta/classes/distutils.bbclass20
-rw-r--r--meta/classes/gtk-icon-cache.bbclass2
-rw-r--r--meta/classes/image.bbclass7
-rw-r--r--meta/classes/imagetest-qemu.bbclass52
-rw-r--r--meta/classes/insane.bbclass32
-rw-r--r--meta/classes/kernel-yocto.bbclass112
-rw-r--r--meta/classes/kernel.bbclass23
-rw-r--r--meta/classes/libc-package.bbclass3
-rw-r--r--meta/classes/license.bbclass103
-rw-r--r--meta/classes/native.bbclass5
-rw-r--r--meta/classes/nativesdk.bbclass5
-rw-r--r--meta/classes/package.bbclass22
-rw-r--r--meta/classes/package_deb.bbclass154
-rw-r--r--meta/classes/package_ipk.bbclass70
-rw-r--r--meta/classes/package_rpm.bbclass257
-rw-r--r--meta/classes/patch.bbclass4
-rw-r--r--meta/classes/poky-autobuild-notifier.bbclass6
-rw-r--r--meta/classes/poky-image.bbclass5
-rw-r--r--meta/classes/poky.bbclass29
-rw-r--r--meta/classes/populate_sdk.bbclass82
-rw-r--r--meta/classes/populate_sdk_deb.bbclass60
-rw-r--r--meta/classes/populate_sdk_ipk.bbclass44
-rw-r--r--meta/classes/populate_sdk_rpm.bbclass80
-rw-r--r--meta/classes/python-dir.bbclass2
-rw-r--r--meta/classes/qmake2.bbclass3
-rw-r--r--meta/classes/qt4e.bbclass18
-rw-r--r--meta/classes/qt4x11.bbclass9
-rw-r--r--meta/classes/rm_work.bbclass34
-rw-r--r--meta/classes/rootfs_deb.bbclass111
-rw-r--r--meta/classes/rootfs_ipk.bbclass47
-rw-r--r--meta/classes/rootfs_rpm.bbclass179
-rw-r--r--meta/classes/sanity.bbclass32
-rw-r--r--meta/classes/setuptools.bbclass8
-rw-r--r--meta/classes/siteconfig.bbclass15
-rw-r--r--meta/classes/sstate.bbclass168
-rw-r--r--meta/classes/staging.bbclass56
-rw-r--r--meta/classes/tinderclient.bbclass6
-rw-r--r--meta/classes/toolchain-scripts.bbclass34
-rw-r--r--meta/classes/update-rc.d.bbclass8
-rw-r--r--meta/classes/utility-tasks.bbclass31
-rw-r--r--meta/classes/utils.bbclass26
-rw-r--r--meta/conf/abi_version.conf2
-rw-r--r--meta/conf/bitbake.conf64
-rw-r--r--meta/conf/distro/include/as-needed.inc3
-rw-r--r--meta/conf/distro/include/distro_tracking_fields.inc2159
-rw-r--r--meta/conf/distro/include/poky-default-revisions.inc110
-rw-r--r--meta/conf/distro/include/poky-default.inc2
-rw-r--r--meta/conf/distro/include/poky-fixed-revisions.inc2
-rw-r--r--meta/conf/distro/include/poky-glibc.inc3
-rw-r--r--meta/conf/distro/include/poky-uclibc.inc3
-rw-r--r--meta/conf/distro/include/preferred-xorg-versions.inc73
-rw-r--r--meta/conf/distro/poky-lsb.conf6
-rw-r--r--meta/conf/distro/poky.conf42
-rw-r--r--meta/conf/local.conf.sample21
-rw-r--r--meta/conf/machine/akita.conf1
-rw-r--r--meta/conf/machine/atom-pc.conf1
-rw-r--r--meta/conf/machine/beagleboard.conf10
-rw-r--r--meta/conf/machine/cm-x270.conf2
-rw-r--r--meta/conf/machine/depicture.conf1
-rw-r--r--meta/conf/machine/em-x270.conf1
-rw-r--r--meta/conf/machine/htcuniversal.conf2
-rw-r--r--meta/conf/machine/hx2000.conf2
-rw-r--r--meta/conf/machine/igep0020.conf1
-rw-r--r--meta/conf/machine/igep0030.conf1
-rw-r--r--meta/conf/machine/include/qemu.inc4
-rw-r--r--meta/conf/machine/include/tune-arm1136jf-s.inc1
-rw-r--r--meta/conf/machine/include/tune-arm920t.inc2
-rw-r--r--meta/conf/machine/include/tune-arm926ejs.inc2
-rw-r--r--meta/conf/machine/include/tune-arm9tdmi.inc2
-rw-r--r--meta/conf/machine/include/tune-armv7.inc1
-rw-r--r--meta/conf/machine/include/tune-atom.inc1
-rw-r--r--meta/conf/machine/include/tune-c3.inc3
-rw-r--r--meta/conf/machine/include/tune-cortexa8.inc1
-rw-r--r--meta/conf/machine/include/tune-ep9312.inc2
-rw-r--r--meta/conf/machine/include/tune-iwmmxt.inc3
-rw-r--r--meta/conf/machine/include/tune-mips32.inc2
-rw-r--r--meta/conf/machine/include/tune-ppc603e.inc4
-rw-r--r--meta/conf/machine/include/tune-ppce300c2.inc1
-rw-r--r--meta/conf/machine/include/tune-ppce500.inc2
-rw-r--r--meta/conf/machine/include/tune-sh3.inc2
-rw-r--r--meta/conf/machine/include/tune-sh4.inc6
-rw-r--r--meta/conf/machine/include/tune-supersparc.inc3
-rw-r--r--meta/conf/machine/include/tune-xscale.inc1
-rw-r--r--meta/conf/machine/mpc8315e-rdb.conf9
-rw-r--r--meta/conf/machine/mx31ads.conf1
-rw-r--r--meta/conf/machine/mx31phy.conf1
-rw-r--r--meta/conf/machine/omap-3430ldp.conf1
-rw-r--r--meta/conf/machine/omap-3430sdp.conf1
-rw-r--r--meta/conf/machine/overo.conf3
-rw-r--r--meta/conf/machine/qemuarm.conf1
-rw-r--r--meta/conf/machine/qemuppc.conf1
-rw-r--r--meta/conf/machine/qemux86-64.conf1
-rw-r--r--meta/conf/machine/qemux86.conf1
-rw-r--r--meta/conf/machine/routerstationpro.conf4
-rw-r--r--meta/conf/machine/spitz.conf1
-rw-r--r--meta/conf/machine/zoom2.conf1
-rw-r--r--meta/conf/machine/zylonite.conf3
-rw-r--r--meta/files/common-licenses/Apache-2.0202
-rw-r--r--meta/files/common-licenses/Artistic131
-rw-r--r--meta/files/common-licenses/BSD26
-rw-r--r--meta/files/common-licenses/GFDL451
-rw-r--r--meta/files/common-licenses/GFDL-1.2397
-rw-r--r--meta/files/common-licenses/GFDL-1.3451
-rw-r--r--meta/files/common-licenses/GPL676
-rw-r--r--meta/files/common-licenses/GPLv2339
-rw-r--r--meta/files/common-licenses/GPLv3676
-rw-r--r--meta/files/common-licenses/LGPL165
-rw-r--r--meta/files/common-licenses/LGPLv2481
-rw-r--r--meta/files/common-licenses/LGPLv2.1510
-rw-r--r--meta/files/common-licenses/LGPLv3165
-rw-r--r--meta/lib/oe/patch.py6
-rw-r--r--meta/recipes-bsp/apmd/apmd-3.2.2-14/workaround.patch59
-rw-r--r--meta/recipes-bsp/apmd/apmd_3.2.2-14.bb9
-rw-r--r--meta/recipes-bsp/eee-acpi-scripts/eee-acpi-scripts_git.bb6
-rw-r--r--meta/recipes-bsp/grub/grub_0.97.bb4
-rw-r--r--meta/recipes-bsp/hostap/hostap-conf_1.0.bb4
-rw-r--r--meta/recipes-bsp/libacpi/libacpi_0.2.bb4
-rw-r--r--meta/recipes-bsp/orinoco/orinoco-conf_1.0.bb4
-rw-r--r--meta/recipes-bsp/pciutils/pciutils_3.1.7.bb5
-rw-r--r--meta/recipes-bsp/qemu-config/qemu-config.bb4
-rw-r--r--meta/recipes-bsp/uboot/u-boot-mkimage-native_1.3.2.bb2
-rw-r--r--meta/recipes-bsp/uboot/u-boot-omap3-git/beagleboard/name.patch14
-rw-r--r--meta/recipes-bsp/uboot/u-boot-omap3_git.bb18
-rw-r--r--meta/recipes-bsp/uboot/u-boot.inc3
-rw-r--r--meta/recipes-bsp/uboot/u-boot_git.bb21
-rw-r--r--meta/recipes-bsp/usbutils/usbutils_0.86.bb5
-rw-r--r--meta/recipes-bsp/v86d/v86d_0.1.9.bb2
-rw-r--r--meta/recipes-bsp/x-load/files/signGP.c108
-rw-r--r--meta/recipes-bsp/x-load/signgp-native.bb14
-rw-r--r--meta/recipes-bsp/x-load/x-load-git/beagleboard/armv7-a.patch11
-rw-r--r--meta/recipes-bsp/x-load/x-load-git/beagleboard/name.patch16
-rw-r--r--meta/recipes-bsp/x-load/x-load-git/omap3evm/armv7-a.patch11
-rw-r--r--meta/recipes-bsp/x-load/x-load-git/overo/armv7-a.patch11
-rw-r--r--meta/recipes-bsp/x-load/x-load.inc5
-rw-r--r--meta/recipes-bsp/x-load/x-load_git.bb21
-rw-r--r--meta/recipes-bsp/zaurusd/zaurusd_svn.bb5
-rw-r--r--meta/recipes-connectivity/avahi/avahi.inc11
-rw-r--r--meta/recipes-connectivity/avahi/avahi_0.6.28.bb2
-rw-r--r--meta/recipes-connectivity/bind/bind-9.7.2-P3/conf.patch (renamed from meta/recipes-connectivity/bind/bind-9.7.2-P2/conf.patch)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.7.2-P3/cross-build-fix.patch (renamed from meta/recipes-connectivity/bind/bind-9.7.2-P2/cross-build-fix.patch)0
-rw-r--r--meta/recipes-connectivity/bind/bind_9.7.2-P3.bb (renamed from meta/recipes-connectivity/bind/bind_9.7.2-P2.bb)5
-rw-r--r--meta/recipes-connectivity/bluez/bluez4-4.82/bluetooth.conf (renamed from meta/recipes-connectivity/bluez/bluez4-4.79/bluetooth.conf)0
-rw-r--r--meta/recipes-connectivity/bluez/bluez4-4.82/fix-dfutool-usb-declaration-mismatch.patch (renamed from meta/recipes-connectivity/bluez/bluez4-4.79/fix-dfutool-usb-declaration-mismatch.patch)0
-rw-r--r--meta/recipes-connectivity/bluez/bluez4-4.82/hid2hci_usb_init.patch (renamed from meta/recipes-connectivity/bluez/bluez4-4.79/hid2hci_usb_init.patch)0
-rw-r--r--meta/recipes-connectivity/bluez/bluez4-4.82/sbc-thumb.patch (renamed from meta/recipes-connectivity/bluez/bluez4-4.79/sbc-thumb.patch)0
-rw-r--r--meta/recipes-connectivity/bluez/bluez4_4.82.bb (renamed from meta/recipes-connectivity/bluez/bluez4_4.79.bb)4
-rw-r--r--meta/recipes-connectivity/connman/connman-0.65/connman (renamed from meta/recipes-connectivity/connman/connman-0.63/connman)0
-rw-r--r--meta/recipes-connectivity/connman/connman-0.65/dbusperms.patch (renamed from meta/recipes-connectivity/connman/connman-0.63/dbusperms.patch)0
-rw-r--r--meta/recipes-connectivity/connman/connman-0.65/fix-shutdown-ap-disconnect.patch (renamed from meta/recipes-connectivity/connman/connman-0.63/fix-shutdown-ap-disconnect.patch)0
-rw-r--r--meta/recipes-connectivity/connman/connman-gnome/connman-applet.desktop10
-rw-r--r--meta/recipes-connectivity/connman/connman-gnome/remove-connman-property-desktop-file.patch42
-rw-r--r--meta/recipes-connectivity/connman/connman-gnome/service_name_update.patch36
-rw-r--r--meta/recipes-connectivity/connman/connman-gnome_0.5.bb10
-rw-r--r--meta/recipes-connectivity/connman/connman_0.65.bb (renamed from meta/recipes-connectivity/connman/connman_0.63.bb)4
-rw-r--r--meta/recipes-connectivity/gsm/gsmd.inc8
-rw-r--r--meta/recipes-connectivity/gupnp/gupnp_0.14.0.bb4
-rw-r--r--meta/recipes-connectivity/gypsy/gypsy_svn.bb2
-rw-r--r--meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb4
-rw-r--r--meta/recipes-connectivity/nfs-utils/files/fix-ac-prereq.patch13
-rw-r--r--meta/recipes-connectivity/nfs-utils/libnfsidmap_0.24.bb (renamed from meta/recipes-connectivity/nfs-utils/libnfsidmap_0.23.bb)8
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.3.bb6
-rw-r--r--meta/recipes-connectivity/ofono/ofono.inc2
-rw-r--r--meta/recipes-connectivity/ofono/ofono_0.33.bb9
-rw-r--r--meta/recipes-connectivity/ofono/ofono_0.37.bb9
-rw-r--r--meta/recipes-connectivity/openssl/openssl-0.9.8p/debian/valgrind.patch15
-rw-r--r--meta/recipes-connectivity/openssl/openssl_0.9.8p.bb1
-rw-r--r--meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb4
-rw-r--r--meta/recipes-connectivity/resolvconf/resolvconf_1.48.bb (renamed from meta/recipes-connectivity/resolvconf/resolvconf_1.43.bb)9
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-glib_0.13.6.bb (renamed from meta/recipes-connectivity/telepathy/telepathy-glib_0.13.5.bb)4
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-idle_0.1.7.bb (renamed from meta/recipes-connectivity/telepathy/telepathy-idle_0.1.6.bb)4
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-mission-control_5.7.1.bb (renamed from meta/recipes-connectivity/telepathy/telepathy-mission-control_5.7.0.bb)4
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb (renamed from meta/recipes-connectivity/telepathy/telepathy-python_0.15.18.bb)6
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.inc10
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_0.7.3.bb2
-rw-r--r--meta/recipes-core/base-files/base-files/profile2
-rw-r--r--meta/recipes-core/base-files/base-files_3.0.14.bb18
-rw-r--r--meta/recipes-core/busybox/busybox-1.17.3/busybox-udhcpc-no_deconfig.patch110
-rw-r--r--meta/recipes-core/busybox/busybox.inc4
-rw-r--r--meta/recipes-core/busybox/busybox_1.17.3.bb4
-rwxr-xr-xmeta/recipes-core/busybox/files/busybox-udhcpc25
-rw-r--r--meta/recipes-core/coreutils/coreutils-6.9/coreutils-6.9-cp-i-u.patch118
-rw-r--r--meta/recipes-core/coreutils/coreutils-6.9/coreutils-fix-install.patch99
-rw-r--r--meta/recipes-core/coreutils/coreutils-6.9/coreutils-i18n.patch4049
-rw-r--r--meta/recipes-core/coreutils/coreutils-6.9/coreutils-ls-x.patch115
-rw-r--r--meta/recipes-core/coreutils/coreutils-6.9/coreutils-overflow.patch17
-rw-r--r--meta/recipes-core/coreutils/coreutils_6.9.bb5
-rw-r--r--meta/recipes-core/coreutils/coreutils_8.9.bb (renamed from meta/recipes-core/coreutils/coreutils_8.5.bb)9
-rw-r--r--meta/recipes-core/dbus-wait/dbus-wait_svn.bb2
-rw-r--r--meta/recipes-core/dbus/dbus-1.4.1/dbus-1.init (renamed from meta/recipes-core/dbus/dbus-1.4.0/dbus-1.init)0
-rw-r--r--meta/recipes-core/dbus/dbus-1.4.1/tmpdir.patch (renamed from meta/recipes-core/dbus/dbus-1.4.0/tmpdir.patch)0
-rw-r--r--meta/recipes-core/dbus/dbus-glib-0.88/fix_asneeded.patch17
-rw-r--r--meta/recipes-core/dbus/dbus-glib-0.92/no-examples.patch (renamed from meta/recipes-core/dbus/dbus-glib-0.88/no-examples.patch)0
-rw-r--r--meta/recipes-core/dbus/dbus-glib.inc12
-rw-r--r--meta/recipes-core/dbus/dbus-glib_0.88.bb6
-rw-r--r--meta/recipes-core/dbus/dbus-glib_0.92.bb6
-rw-r--r--meta/recipes-core/dbus/dbus.inc5
-rw-r--r--meta/recipes-core/dbus/dbus_1.4.0.bb6
-rw-r--r--meta/recipes-core/dbus/dbus_1.4.1.bb6
-rw-r--r--meta/recipes-core/eglibc/cross-localedef-native_2.12.bb11
-rw-r--r--meta/recipes-core/eglibc/eglibc-initial.inc10
-rw-r--r--meta/recipes-core/eglibc/eglibc-package.inc8
-rw-r--r--meta/recipes-core/eglibc/eglibc.inc19
-rw-r--r--meta/recipes-core/eglibc/eglibc_2.12.bb2
-rw-r--r--meta/recipes-core/gettext/gettext_0.14.1.bb19
-rw-r--r--meta/recipes-core/gettext/gettext_0.17.bb35
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0/60_wait-longer-for-threads-to-die.patch (renamed from meta/recipes-core/glib-2.0/glib-2.0-2.27.3/60_wait-longer-for-threads-to-die.patch)0
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch (renamed from meta/recipes-core/glib-2.0/glib-2.0-2.27.3/configure-libtool.patch)6
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0/g_once_init_enter.patch22
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0/glib-gettextize-dir.patch (renamed from meta/recipes-core/glib-2.0/glib-2.0-2.27.3/glib-gettextize-dir.patch)0
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0_2.26.1.bb16
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0_2.27.3.bb13
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0_2.27.5.bb18
-rw-r--r--meta/recipes-core/glib-2.0/glib.inc6
-rw-r--r--meta/recipes-core/glibc/glibc-initial.inc10
-rw-r--r--meta/recipes-core/glibc/glibc.inc21
-rw-r--r--meta/recipes-core/glibc/ldconfig-native_2.5.bb2
-rw-r--r--meta/recipes-core/images/poky-image-live.inc3
-rw-r--r--meta/recipes-core/images/poky-image-minimal-dev.bb15
-rw-r--r--meta/recipes-core/images/poky-image-minimal.bb2
-rw-r--r--meta/recipes-core/initrdscripts/files/init-live.sh1
-rw-r--r--meta/recipes-core/initscripts/initscripts_1.0.bb4
-rw-r--r--meta/recipes-core/libxml/libxml2.inc1
-rw-r--r--meta/recipes-core/libxml/libxml2_2.7.7.bb2
-rw-r--r--meta/recipes-core/meta/external-python-tarball.bb4
-rw-r--r--meta/recipes-core/meta/meta-environment.bb61
-rw-r--r--meta/recipes-core/meta/meta-toolchain-gmae.bb5
-rw-r--r--meta/recipes-core/meta/meta-toolchain-sdk.bb4
-rw-r--r--meta/recipes-core/meta/meta-toolchain.bb102
-rw-r--r--meta/recipes-core/ncurses/ncurses-5.7/config.cache4
-rw-r--r--meta/recipes-core/ncurses/ncurses-5.7/tic-hang.patch25
-rw-r--r--meta/recipes-core/ncurses/ncurses/makefile_tweak.patch89
-rw-r--r--meta/recipes-core/ncurses/ncurses/visibility.patch4904
-rw-r--r--meta/recipes-core/ncurses/ncurses_5.4.bb11
-rw-r--r--meta/recipes-core/ncurses/ncurses_5.7.bb242
-rw-r--r--meta/recipes-core/netbase/netbase-4.44/colinux/interfaces (renamed from meta/recipes-core/netbase/netbase-4.43/colinux/interfaces)0
-rw-r--r--meta/recipes-core/netbase/netbase-4.44/epia/interfaces (renamed from meta/recipes-core/netbase/netbase-4.43/epia/interfaces)0
-rw-r--r--meta/recipes-core/netbase/netbase-4.44/hosts (renamed from meta/recipes-core/netbase/netbase-4.43/hosts)0
-rw-r--r--meta/recipes-core/netbase/netbase-4.44/init (renamed from meta/recipes-core/netbase/netbase-4.43/init)0
-rw-r--r--meta/recipes-core/netbase/netbase-4.44/interfaces (renamed from meta/recipes-core/netbase/netbase-4.43/interfaces)0
-rw-r--r--meta/recipes-core/netbase/netbase-4.44/mtx-1/interfaces (renamed from meta/recipes-core/netbase/netbase-4.43/mtx-1/interfaces)0
-rw-r--r--meta/recipes-core/netbase/netbase-4.44/nfsroot (renamed from meta/recipes-core/netbase/netbase-4.43/nfsroot)0
-rw-r--r--meta/recipes-core/netbase/netbase-4.44/nokia800/interfaces (renamed from meta/recipes-core/netbase/netbase-4.43/nokia800/interfaces)0
-rw-r--r--meta/recipes-core/netbase/netbase-4.44/openmn/hosts (renamed from meta/recipes-core/netbase/netbase-4.43/openmn/hosts)0
-rw-r--r--meta/recipes-core/netbase/netbase-4.44/openmn/interfaces (renamed from meta/recipes-core/netbase/netbase-4.43/openmn/interfaces)0
-rw-r--r--meta/recipes-core/netbase/netbase-4.44/qemuarm/interfaces (renamed from meta/recipes-core/netbase/netbase-4.43/qemuarm/interfaces)0
-rw-r--r--meta/recipes-core/netbase/netbase-4.44/qemuarmv6/interfaces (renamed from meta/recipes-core/netbase/netbase-4.43/qemuarmv6/interfaces)0
-rw-r--r--meta/recipes-core/netbase/netbase-4.44/qemuarmv7/interfaces (renamed from meta/recipes-core/netbase/netbase-4.43/qemuarmv7/interfaces)0
-rw-r--r--meta/recipes-core/netbase/netbase-4.44/qemux86-64/interfaces (renamed from meta/recipes-core/netbase/netbase-4.43/qemux86-64/interfaces)0
-rw-r--r--meta/recipes-core/netbase/netbase-4.44/qemux86/interfaces (renamed from meta/recipes-core/netbase/netbase-4.43/qemux86/interfaces)0
-rw-r--r--meta/recipes-core/netbase/netbase-4.44/tosa/interfaces (renamed from meta/recipes-core/netbase/netbase-4.43/tosa/interfaces)0
-rw-r--r--meta/recipes-core/netbase/netbase-4.44/wrt54/interfaces (renamed from meta/recipes-core/netbase/netbase-4.43/wrt54/interfaces)0
-rw-r--r--meta/recipes-core/netbase/netbase-4.44/xxs1500/interfaces (renamed from meta/recipes-core/netbase/netbase-4.43/xxs1500/interfaces)0
-rw-r--r--meta/recipes-core/netbase/netbase_4.44.bb (renamed from meta/recipes-core/netbase/netbase_4.43.bb)4
-rw-r--r--meta/recipes-core/psplash/files/psplash-poky-img.h909
-rw-r--r--meta/recipes-core/psplash/psplash_svn.bb11
-rw-r--r--meta/recipes-core/sysfsutils/sysfsutils-2.1.0/sysfsutils-2.0.0-class-dup.patch21
-rw-r--r--meta/recipes-core/sysfsutils/sysfsutils_2.1.0.bb6
-rw-r--r--meta/recipes-core/tasks/task-cross-canadian.bb3
-rw-r--r--meta/recipes-core/tasks/task-poky-sdk.bb4
-rw-r--r--meta/recipes-core/tasks/task-poky-tools.bb11
-rw-r--r--meta/recipes-core/tasks/task-sdk-host.bb6
-rw-r--r--meta/recipes-core/util-linux/util-linux-2.17.2/util-linux-ng-2.16-mount_lock_path.patch25
-rw-r--r--meta/recipes-core/util-linux/util-linux.inc52
-rw-r--r--meta/recipes-core/util-linux/util-linux_2.17.2.bb5
-rw-r--r--meta/recipes-devtools/apt/apt-0.7.14/use-host.patch20
-rw-r--r--meta/recipes-devtools/apt/apt-native_0.7.14.bb2
-rw-r--r--meta/recipes-devtools/apt/apt_0.7.14.bb6
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.20.1/binutils-2.16.1-e300c2c3.patch18
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.20.1/binutils-libtool.patch67
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.20.1/binutils-mips-pie.patch29
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.20.1/binutils-poison.patch253
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.21/110-arm-eabi-conf.patch (renamed from meta/recipes-devtools/binutils/binutils-2.20.1/110-arm-eabi-conf.patch)0
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.21/binutils-2.19.1-ld-sysroot.patch37
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.21/binutils-poison.patch245
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-100-uclibc-conf.patch (renamed from meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-100-uclibc-conf.patch)0
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-300-001_ld_makefile_patch.patch (renamed from meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-001_ld_makefile_patch.patch)0
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-300-006_better_file_error.patch (renamed from meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-006_better_file_error.patch)0
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-300-012_check_ldrunpath_length.patch (renamed from meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-012_check_ldrunpath_length.patch)19
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-gas-needs-libm.patch (renamed from meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-gas-needs-libm.patch)0
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.21/binutils-x86_64_i386_biarch.patch (renamed from meta/recipes-devtools/binutils/binutils-2.20.1/binutils-x86_64_i386_biarch.patch)0
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.21/libiberty_path_fix.patch (renamed from meta/recipes-devtools/binutils/binutils-2.20.1/libiberty_path_fix.patch)0
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.21/libtool-2.4-update.patch18719
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.21/libtool-rpath-fix.patch36
-rw-r--r--meta/recipes-devtools/binutils/binutils-cross-canadian.inc6
-rw-r--r--meta/recipes-devtools/binutils/binutils-cross-canadian_2.21.bb (renamed from meta/recipes-devtools/binutils/binutils-cross-canadian_2.20.1.bb)2
-rw-r--r--meta/recipes-devtools/binutils/binutils-cross.inc6
-rw-r--r--meta/recipes-devtools/binutils/binutils-cross_2.21.bb (renamed from meta/recipes-devtools/binutils/binutils-cross_2.20.1.bb)1
-rw-r--r--meta/recipes-devtools/binutils/binutils-crosssdk_2.21.bb (renamed from meta/recipes-devtools/binutils/binutils-crosssdk_2.20.1.bb)2
-rw-r--r--meta/recipes-devtools/binutils/binutils.inc20
-rw-r--r--meta/recipes-devtools/binutils/binutils_2.21.bb (renamed from meta/recipes-devtools/binutils/binutils_2.20.1.bb)18
-rw-r--r--meta/recipes-devtools/binutils/files/better_file_error.patch17
-rw-r--r--meta/recipes-devtools/binutils/files/ld_makefile.patch22
-rw-r--r--meta/recipes-devtools/binutils/files/objdump_fix.patch134
-rw-r--r--meta/recipes-devtools/binutils/files/plt32trunc.patch24
-rw-r--r--meta/recipes-devtools/binutils/files/signed_char_fix.patch12
-rw-r--r--meta/recipes-devtools/bison/bison_2.4.3.bb8
-rw-r--r--meta/recipes-devtools/cdrtools/cdrtools-native_2.01.bb2
-rw-r--r--meta/recipes-devtools/desktop-file-utils/desktop-file-utils-native_0.15.bb3
-rw-r--r--meta/recipes-devtools/distcc/distcc_2.18.3.bb4
-rw-r--r--meta/recipes-devtools/docbook-dsssl-stylesheets/docbook-dsssl-stylesheets-native_1.79.bb52
-rw-r--r--meta/recipes-devtools/docbook-sgml-dtd/docbook-sgml-dtd-3.1-native.bb23
-rw-r--r--meta/recipes-devtools/docbook-sgml-dtd/docbook-sgml-dtd-4.1-native.bb23
-rw-r--r--meta/recipes-devtools/docbook-sgml-dtd/docbook-sgml-dtd-4.5-native.bb17
-rw-r--r--meta/recipes-devtools/docbook-sgml-dtd/docbook-sgml-dtd-native.inc53
-rw-r--r--meta/recipes-devtools/docbook-sgml-dtd/files/LICENSE-OASIS16
-rw-r--r--meta/recipes-devtools/dpkg/dpkg.inc4
-rw-r--r--meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb (renamed from meta/recipes-devtools/dpkg/dpkg_1.15.8.5.bb)6
-rw-r--r--meta/recipes-devtools/e2fsprogs/e2fsprogs_1.41.12.bb4
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.108/warnings.patch132
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.89/warnings.patch98
-rw-r--r--meta/recipes-devtools/elfutils/elfutils_0.108.bb25
-rw-r--r--meta/recipes-devtools/elfutils/elfutils_0.89.bb10
-rw-r--r--meta/recipes-devtools/flex/flex.inc3
-rw-r--r--meta/recipes-devtools/flex/flex_2.5.35.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.5.1.inc2
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.5.1/GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch33
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.5.1/fedora/gcc45-no-add-needed.patch52
-rw-r--r--meta/recipes-devtools/gcc/gcc-configure-cross.inc4
-rw-r--r--meta/recipes-devtools/gcc/gcc-configure-runtime.inc16
-rw-r--r--meta/recipes-devtools/gcc/gcc-configure-sdk.inc2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-initial.inc2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-initial_4.3.3.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-intermediate.inc35
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-intermediate_4.3.3.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.3.3.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-package-runtime.inc8
-rw-r--r--meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc_4.5.1.bb2
-rw-r--r--meta/recipes-devtools/gcc/libgcc_4.5.1.bb46
-rw-r--r--meta/recipes-devtools/gdb/gdb-common.inc4
-rw-r--r--meta/recipes-devtools/git/git_1.7.3.4.bb (renamed from meta/recipes-devtools/git/git_1.7.3.2.bb)4
-rw-r--r--meta/recipes-devtools/guilt/guilt-native_0.33.bb6
-rw-r--r--meta/recipes-devtools/icon-naming-utils/icon-naming-utils-native_0.8.7.bb2
-rwxr-xr-xmeta/recipes-devtools/installer/adt-installer/adt_installer367
-rw-r--r--meta/recipes-devtools/installer/adt-installer/adt_installer.conf52
-rw-r--r--meta/recipes-devtools/installer/adt-installer/opkg/conf/opkg-sdk-i686.conf6
-rw-r--r--meta/recipes-devtools/installer/adt-installer/opkg/conf/opkg-sdk-x86_64.conf6
-rwxr-xr-xmeta/recipes-devtools/installer/adt-installer/scripts/adt_installer_internal210
-rw-r--r--meta/recipes-devtools/installer/adt-installer/scripts/data_define40
-rwxr-xr-xmeta/recipes-devtools/installer/adt-installer/scripts/extract_rootfs67
-rw-r--r--meta/recipes-devtools/installer/adt-installer/scripts/util104
-rw-r--r--meta/recipes-devtools/installer/adt-installer_1.0.bb84
-rw-r--r--meta/recipes-devtools/intltool/intltool.inc4
-rw-r--r--meta/recipes-devtools/intltool/intltool_0.40.6.bb2
-rw-r--r--meta/recipes-devtools/libtool/libtool-2.4.inc13
-rw-r--r--meta/recipes-devtools/libtool/libtool-cross_2.4.bb13
-rw-r--r--meta/recipes-devtools/libtool/libtool-native_2.4.bb11
-rw-r--r--meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb11
-rw-r--r--meta/recipes-devtools/libtool/libtool.inc22
-rw-r--r--meta/recipes-devtools/libtool/libtool/cross_compile.patch38
-rw-r--r--meta/recipes-devtools/libtool/libtool/fix-final-rpath.patch36
-rw-r--r--meta/recipes-devtools/libtool/libtool/rename-with-sysroot.patch824
-rw-r--r--meta/recipes-devtools/libtool/libtool/resolve-sysroot.patch40
-rw-r--r--meta/recipes-devtools/libtool/libtool/use-sysroot-in-libpath.patch20
-rw-r--r--meta/recipes-devtools/libtool/libtool_2.4.bb31
-rw-r--r--meta/recipes-devtools/mklibs/files/ac_init_fix.patch17
-rw-r--r--meta/recipes-devtools/mklibs/mklibs-native_0.1.31.bb23
-rw-r--r--meta/recipes-devtools/mtd/mtd-utils_1.4.1.bb2
-rw-r--r--meta/recipes-devtools/openjade/openjade-1.3.2/autoconf.patch173
-rw-r--r--meta/recipes-devtools/openjade/openjade-1.3.2/configure.patch68
-rw-r--r--meta/recipes-devtools/openjade/openjade-1.3.2/makefile.patch34
-rw-r--r--meta/recipes-devtools/openjade/openjade-1.3.2/oj-native-libosp-fix.patch15
-rw-r--r--meta/recipes-devtools/openjade/openjade_1.3.2.bb66
-rw-r--r--meta/recipes-devtools/opensp/opensp/attributevalue.patch62
-rw-r--r--meta/recipes-devtools/opensp/opensp/fix-docdir.patch14
-rw-r--r--meta/recipes-devtools/opensp/opensp/m4.patch1925
-rw-r--r--meta/recipes-devtools/opensp/opensp/rangmap-fix.patch15
-rw-r--r--meta/recipes-devtools/opensp/opensp_1.5.bb27
-rw-r--r--meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb8
-rw-r--r--meta/recipes-devtools/opkg/opkg-0.1.8/opkg_unarchive.patch17
-rw-r--r--meta/recipes-devtools/opkg/opkg.inc3
-rw-r--r--meta/recipes-devtools/opkg/opkg/logfix.patch23
-rw-r--r--meta/recipes-devtools/opkg/opkg_0.1.8.bb8
-rw-r--r--meta/recipes-devtools/opkg/opkg_svn.bb15
-rw-r--r--meta/recipes-devtools/patch/patch_2.6.1.bb2
-rw-r--r--meta/recipes-devtools/pax-utils/pax-utils_0.2.1.bb19
-rw-r--r--meta/recipes-devtools/pax-utils/pax-utils_0.2.2.bb21
-rw-r--r--meta/recipes-devtools/perl/files/letgcc-find-errno.patch14
-rw-r--r--meta/recipes-devtools/perl/files/perl-5.8.8-gcc-4.2.patch13
-rw-r--r--meta/recipes-devtools/perl/liburi-perl_1.56.bb (renamed from meta/recipes-devtools/perl/liburi-perl_1.56)0
-rw-r--r--meta/recipes-devtools/perl/libxml-simple-perl_2.18.bb4
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/09_fix_installperl.patch19
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/Makefile.SH.patch288
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/Makefile.patch (renamed from meta/recipes-devtools/perl/perl-5.8.8/Makefile.patch)20
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/asm-pageh-fix.patch (renamed from meta/recipes-devtools/perl/perl-5.8.8/asm-pageh-fix.patch)6
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/config.sh (renamed from meta/recipes-devtools/perl/perl-5.8.8/config.sh)322
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/config.sh-3238
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/config.sh-32-be (renamed from meta/recipes-devtools/perl/perl-5.8.8/config.sh-32-be)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/config.sh-32-le (renamed from meta/recipes-devtools/perl/perl-5.8.8/config.sh-32-le)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/config.sh-6438
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/config.sh-64-be (renamed from meta/recipes-devtools/perl/perl-5.8.8/config.sh-64-be)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/config.sh-64-le (renamed from meta/recipes-devtools/perl/perl-5.8.8/config.sh-64-le)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/cross-generate_uudmap.patch13
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/arm_optim.diff32
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/arm_thread_stress_timeout.diff23
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/cpan_config_path.diff22
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/cpan_definstalldirs.diff35
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/cpanplus_config_path.diff43
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/cpanplus_definstalldirs.diff52
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/db_file_ver.diff32
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/deprecate-with-apt.diff59
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/devel-ppport-ia64-optim.diff32
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/disable-zlib-bundling.diff29
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/doc_info.diff34
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/enc2xs_inc.diff49
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/errno_ver.diff32
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/extutils_hacks.diff (renamed from meta/recipes-devtools/perl/perl-5.8.8/52_debian_extutils_hacks.patch)199
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/fakeroot.diff43
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/autodie-flock.diff98
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/concat-stack-corruption.diff37
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/cpanplus-without-home.diff30
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/h2ph-gcc-4.5.diff106
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/hurd-ccflags.diff26
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/lc-numeric-docs.diff95
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/lc-numeric-sprintf.diff29
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/net_smtp_docs.diff23
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/processPL.diff43
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/instmodsh_doc.diff26
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/ld_run_path.diff23
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/libnet_config_path.diff35
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/m68k_thread_stress.diff43
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/mod_paths.diff (renamed from meta/recipes-devtools/perl/perl-5.8.8/53_debian_mod_paths.patch)67
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/module_build_man_extensions.diff31
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/perlivp.diff38
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/prune_libs.diff36
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/debian/squelch-locale-warnings.diff53
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/generate-sh.patch (renamed from meta/recipes-devtools/perl/perl-5.8.8/generate-sh.patch)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/installperl.patch (renamed from meta/recipes-devtools/perl/perl-5.8.8/installperl.patch)10
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/native-nopacklist.patch (renamed from meta/recipes-devtools/perl/perl-5.8.8/native-nopacklist.patch)36
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/native-perlinc.patch (renamed from meta/recipes-devtools/perl/perl-5.8.8/native-perlinc.patch)4
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/native-ssp.patch (renamed from meta/recipes-devtools/perl/perl-5.8.8/native-ssp.patch)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/perl-configpm-switch.patch (renamed from meta/recipes-devtools/perl/perl-5.8.8/perl-configpm-switch.patch)0
-rwxr-xr-xmeta/recipes-devtools/perl/perl-5.12.2/perl-configure.sh (renamed from meta/recipes-devtools/perl/perl-5.8.8/perl-configure.sh)4
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/perl-dynloader.patch (renamed from meta/recipes-devtools/perl/perl-5.8.8/perl-dynloader.patch)4
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/perl-enable-gdbm.patch (renamed from meta/recipes-devtools/perl/perl-5.8.8/perl-enable-gdbm.patch)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.12.2/perl-moreconfig.patch (renamed from meta/recipes-devtools/perl/perl-5.8.8/perl-moreconfig.patch)0
-rw-r--r--meta/recipes-devtools/perl/perl-5.8.8/09_fix_installperl.patch32
-rw-r--r--meta/recipes-devtools/perl/perl-5.8.8/54_debian_perldoc-r.patch16
-rw-r--r--meta/recipes-devtools/perl/perl-5.8.8/58_debian_cpan_config_path.patch14
-rw-r--r--meta/recipes-devtools/perl/perl-5.8.8/60_debian_libnet_config_path.patch16
-rw-r--r--meta/recipes-devtools/perl/perl-5.8.8/62_debian_cpan_definstalldirs.patch16
-rw-r--r--meta/recipes-devtools/perl/perl-5.8.8/64_debian_enc2xs_inc.patch28
-rw-r--r--meta/recipes-devtools/perl/perl-5.8.8/Makefile.SH.patch253
-rw-r--r--meta/recipes-devtools/perl/perl-5.8.8/config.sh-3258
-rw-r--r--meta/recipes-devtools/perl/perl-5.8.8/config.sh-6458
-rw-r--r--meta/recipes-devtools/perl/perl-5.8.8/makedepend-dash.patch13
-rw-r--r--meta/recipes-devtools/perl/perl-5.8.8/native-no-gdbminc.patch18
-rw-r--r--meta/recipes-devtools/perl/perl-native_5.12.2.bb (renamed from meta/recipes-devtools/perl/perl-native_5.8.8.bb)26
-rw-r--r--meta/recipes-devtools/perl/perl-rdepends_5.12.2.inc210
-rw-r--r--meta/recipes-devtools/perl/perl-rdepends_5.8.8.inc1145
-rw-r--r--meta/recipes-devtools/perl/perl-rprovides_5.12.2.inc1
-rw-r--r--meta/recipes-devtools/perl/perl_5.12.2.bb276
-rw-r--r--meta/recipes-devtools/perl/perl_5.8.8.bb228
-rw-r--r--meta/recipes-devtools/prelink/prelink_git.bb5
-rw-r--r--meta/recipes-devtools/pseudo/pseudo/895fa7e359e8026a608fba052c2994e42901e45f.patch235
-rw-r--r--meta/recipes-devtools/pseudo/pseudo/static_sqlite.patch18
-rw-r--r--meta/recipes-devtools/pseudo/pseudo_git.bb40
-rw-r--r--meta/recipes-devtools/python/python-dbus_0.83.2.bb (renamed from meta/recipes-devtools/python/python-dbus_0.83.1.bb)8
-rw-r--r--meta/recipes-devtools/python/python-gst_0.10.19.bb4
-rw-r--r--meta/recipes-devtools/python/python-imaging_1.1.7.bb4
-rw-r--r--meta/recipes-devtools/python/python-native_2.6.6.bb1
-rw-r--r--meta/recipes-devtools/python/python-pycurl_7.19.0.bb4
-rw-r--r--meta/recipes-devtools/python/python-pygobject-native_2.27.0.bb15
-rw-r--r--meta/recipes-devtools/python/python-pygobject_2.27.0.bb14
-rw-r--r--meta/recipes-devtools/python/python-pygtk_2.17.0.bb4
-rw-r--r--meta/recipes-devtools/python/python-pyrex-native_0.9.9.bb4
-rw-r--r--meta/recipes-devtools/python/python-scons-native_2.0.1.bb4
-rw-r--r--meta/recipes-devtools/python/python.inc10
-rw-r--r--meta/recipes-devtools/python/python_2.6.6.bb11
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.12.4/arm-cp15-fix.patch131
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.12.4/arm_timer-fix-oneshot-mode.patch32
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.12.4/arm_timer-reload-timer-when-enabled.patch40
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.12.4/cursor-shadow-fix.patch35
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.12.4/qemu-ppc-hack.patch136
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.13.0/enable-i386-linux-user.patch (renamed from meta/recipes-devtools/qemu/qemu-0.12.4/enable-i386-linux-user.patch)16
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.13.0/fix-configure-checks.patch (renamed from meta/recipes-devtools/qemu/qemu-0.12.4/fix-configure-checks.patch)12
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.13.0/fix-dirent.patch (renamed from meta/recipes-devtools/qemu/qemu-0.12.4/fix-dirent.patch)0
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.13.0/fix-nogl.patch (renamed from meta/recipes-devtools/qemu/qemu-0.12.4/fix-nogl.patch)24
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.13.0/glflags.patch (renamed from meta/recipes-devtools/qemu/qemu-0.12.4/glflags.patch)0
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.13.0/init-info.patch (renamed from meta/recipes-devtools/qemu/qemu-0.12.4/init-info.patch)8
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.13.0/linker-flags.patch (renamed from meta/recipes-devtools/qemu/qemu-0.12.4/linker-flags.patch)16
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.13.0/no-strip.patch (renamed from meta/recipes-devtools/qemu/qemu-0.12.4/no-strip.patch)18
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.13.0/parallel_make.patch34
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.13.0/port92_fix.patch196
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.13.0/powerpc_rom.bin (renamed from meta/recipes-devtools/qemu/qemu-0.12.4/powerpc_rom.bin)bin4096 -> 4096 bytes
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.13.0/qemu-git-qemugl-host.patch (renamed from meta/recipes-devtools/qemu/qemu-0.12.4/qemu-git-qemugl-host.patch)518
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.13.0/qemu-ppc-hack.patch108
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.13.0/qemu-vmware-vga-depth.patch (renamed from meta/recipes-devtools/qemu/qemu-0.12.4/qemu-vmware-vga-depth.patch)52
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.13.0/qemugl-allow-glxcontext-release.patch (renamed from meta/recipes-devtools/qemu/qemu-0.12.4/qemugl-allow-glxcontext-release.patch)0
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.13.0/vmware-vga-fifo-rewind.patch (renamed from meta/recipes-devtools/qemu/qemu-0.12.4/vmware-vga-fifo-rewind.patch)24
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.13.0/wacom-tablet-fix.patch65
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.13.0/workaround_bad_futex_headers.patch (renamed from meta/recipes-devtools/qemu/qemu-0.12.4/workaround_bad_futex_headers.patch)8
-rw-r--r--meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb6
-rw-r--r--meta/recipes-devtools/qemu/qemu-helper-nativesdk_1.0.bb10
-rw-r--r--meta/recipes-devtools/qemu/qemu_0.13.0.bb (renamed from meta/recipes-devtools/qemu/qemu_0.12.4.bb)15
-rw-r--r--meta/recipes-devtools/rpm/rpm/header-include-fix.patch24
-rw-r--r--meta/recipes-devtools/rpm/rpm/rpm-autogen.patch54
-rw-r--r--meta/recipes-devtools/rpm/rpm/rpm-libsql-fix.patch18
-rwxr-xr-xmeta/recipes-devtools/rpm/rpm/rpm2cpio51
-rw-r--r--meta/recipes-devtools/rpm/rpm_5.1.10.bb168
-rw-r--r--meta/recipes-devtools/rpm/rpm_5.4.0.bb417
-rw-r--r--meta/recipes-devtools/sgml-common/sgml-common-0.6.3/autohell.patch58
-rw-r--r--meta/recipes-devtools/sgml-common/sgml-common-0.6.3/license.patch26
-rw-r--r--meta/recipes-devtools/sgml-common/sgml-common-native_0.6.3.bb50
-rw-r--r--meta/recipes-devtools/sgml-common/sgml-common_0.6.3.bb52
-rw-r--r--meta/recipes-devtools/sgmlspl/files/combined.patch457
-rw-r--r--meta/recipes-devtools/sgmlspl/sgmlspl-native_1.03ii.bb17
-rw-r--r--meta/recipes-devtools/subversion/subversion/disable-revision-install.patch24
-rw-r--r--meta/recipes-devtools/subversion/subversion_1.6.15.bb (renamed from meta/recipes-devtools/subversion/subversion_1.6.13.bb)6
-rw-r--r--meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb2
-rw-r--r--meta/recipes-devtools/ubootchart/ubootchart_svn.bb6
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/001-2.2b47-2.2b51.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/001-2.2b47-2.2b51.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/002-destdir.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/002-destdir.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/003-manpages.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/003-manpages.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/004-strsignal.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/004-strsignal.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/005-sys-time.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/005-sys-time.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/006-reiserfs.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/006-reiserfs.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/007-map.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/007-map.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/008-configure.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/008-configure.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/009-multirw.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/009-multirw.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/010-realpath.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/010-realpath.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/011-fno-strict-aliasing.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/011-fno-strict-aliasing.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/012-nostrip.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/012-nostrip.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/013-mntpathlen.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/013-mntpathlen.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/014-uninitialized.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/014-uninitialized.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/015-setattr.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/015-setattr.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/016-makefile.in.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/016-makefile.in.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/017-wrs-dynamic-rpc.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/017-wrs-dynamic-rpc.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/018-remove-tcp-wrappers.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/018-remove-tcp-wrappers.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/019-pid-before-fork.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/019-pid-before-fork.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/020-undefined-chmod-fix.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/020-undefined-chmod-fix.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/021-nolibwrap.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/021-nolibwrap.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/022-add-close-on-exec-descriptors.patch (renamed from meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/022-add-close-on-exec-descriptors.patch)0
-rw-r--r--meta/recipes-devtools/unfs-server/unfs-server_2.1+2.2beta47.bb (renamed from meta/recipes-devtools/unfs-server/unfs-server_2.2beta47.bb)13
-rw-r--r--meta/recipes-devtools/unifdef/unifdef-native_2.6.18+git.bb2
-rw-r--r--meta/recipes-extended/at/at_3.1.12.bb29
-rw-r--r--meta/recipes-extended/augeas/augeas_0.7.3.bb6
-rw-r--r--meta/recipes-extended/augeas/augeas_0.7.4.bb6
-rw-r--r--meta/recipes-extended/bash/bash.inc5
-rw-r--r--meta/recipes-extended/bash/bash_3.2.48.bb2
-rw-r--r--meta/recipes-extended/bash/bash_4.1.bb2
-rw-r--r--meta/recipes-extended/blktool/blktool_4-6.bb9
-rw-r--r--meta/recipes-extended/byacc/byacc_20100610.bb7
-rw-r--r--meta/recipes-extended/byacc/byacc_20101127.bb7
-rw-r--r--meta/recipes-extended/cronie/cronie/crontab10
-rw-r--r--meta/recipes-extended/cronie/cronie_1.4.6.bb33
-rw-r--r--meta/recipes-extended/cups/cups-1.4.6/0001-don-t-try-to-run-generated-binaries.patch68
-rw-r--r--meta/recipes-extended/cups/cups-1.4.6/use_echo_only_in_init.patch11
-rw-r--r--meta/recipes-extended/cups/cups14.inc85
-rw-r--r--meta/recipes-extended/cups/cups_1.4.6.bb17
-rw-r--r--meta/recipes-extended/images/poky-image-lsb-dev.bb9
-rw-r--r--meta/recipes-extended/iputils/files/debian/CVE-2010-2529.diff22
-rw-r--r--meta/recipes-extended/iputils/iputils_s20101006.bb (renamed from meta/recipes-extended/iputils/iputils_s20100418.bb)5
-rw-r--r--meta/recipes-extended/libuser/libuser-0.57.1/disable-sgml-doc.patch (renamed from meta/recipes-extended/libuser/libuser-0.56.18/disable-sgml-doc.patch)0
-rw-r--r--meta/recipes-extended/libuser/libuser_0.57.1.bb (renamed from meta/recipes-extended/libuser/libuser_0.56.18.bb)4
-rw-r--r--meta/recipes-extended/libzypp/libzypp/rpm5-no-rpmdbinit.patch25
-rw-r--r--meta/recipes-extended/libzypp/libzypp_git.bb8
-rw-r--r--meta/recipes-extended/mailx/mailx_12.4.bb28
-rw-r--r--meta/recipes-extended/man-pages/man-pages_3.32.bb (renamed from meta/recipes-extended/man-pages/man-pages_3.25.bb)10
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.6e-lzma+xz-support.patch142
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.6e-ro_usr.patch67
-rw-r--r--meta/recipes-extended/man/man-1.6e/man-1.6e-whatis2.patch37
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.5g-nonrootbuild.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.5g-nonrootbuild.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.5h1-gencat.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.5h1-gencat.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.5h1-make.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.5h1-make.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.5i2-initial.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.5i2-initial.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.5i2-newline.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.5i2-newline.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.5i2-overflow.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.5i2-overflow.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.5j-i18n.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.5j-i18n.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.5j-nocache.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.5j-nocache.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.5j-utf8.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.5j-utf8.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.5k-confpath.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.5k-confpath.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.5k-nonascii.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.5k-nonascii.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.5k-sofix.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.5k-sofix.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.5m2-bug11621.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.5m2-bug11621.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.5m2-buildroot.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.5m2-buildroot.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.5m2-multiple.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.5m2-multiple.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.5m2-no-color-for-printing.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.5m2-no-color-for-printing.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.5m2-sigpipe.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.5m2-sigpipe.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.5m2-tv_fhs.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.5m2-tv_fhs.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.6e-i18n_whatis.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.6e-i18n_whatis.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.6e-lzma+xz-support.patch120
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.6e-mandirs.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.6e-mandirs.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.6e-new_sections.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.6e-new_sections.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.6e-ro_usr.patch29
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.6e-security.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.6e-security.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.6e-use_i18n_vars_in_a_std_way.patch (renamed from meta/recipes-extended/man/man-1.6e/man-1.6e-use_i18n_vars_in_a_std_way.patch)0
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.6e-whatis2.patch48
-rw-r--r--meta/recipes-extended/man/man-1.6f/man.1.gz (renamed from meta/recipes-extended/man/man-1.6e/man.1.gz)bin12323 -> 12323 bytes
-rw-r--r--meta/recipes-extended/man/man-1.6f/man.7.gz (renamed from meta/recipes-extended/man/man-1.6e/man.7.gz)bin6192 -> 6192 bytes
-rw-r--r--meta/recipes-extended/man/man-1.6f/manpath.5.gz (renamed from meta/recipes-extended/man/man-1.6e/manpath.5.gz)bin2133 -> 2133 bytes
-rw-r--r--meta/recipes-extended/man/man_1.6f.bb (renamed from meta/recipes-extended/man/man_1.6e.bb)6
-rw-r--r--meta/recipes-extended/mc/mc_4.7.5.bb (renamed from meta/recipes-extended/mc/mc_4.7.3.bb)10
-rw-r--r--meta/recipes-extended/msmtp/msmtp_1.4.23.bb21
-rw-r--r--meta/recipes-extended/parted/parted-2.3/no_check.patch (renamed from meta/recipes-extended/parted/parted-1.9.0/no_check.patch)0
-rw-r--r--meta/recipes-extended/parted/parted-2.3/syscalls.patch (renamed from meta/recipes-extended/parted/parted-1.9.0/syscalls.patch)0
-rw-r--r--meta/recipes-extended/parted/parted_2.3.bb (renamed from meta/recipes-extended/parted/parted_1.9.0.bb)12
-rw-r--r--meta/recipes-extended/perl/libconvert-asn1-perl_0.22.bb (renamed from meta/recipes-extended/perl/libconvert-asn1-perl_0.21.bb)6
-rw-r--r--meta/recipes-extended/polkit/polkit_0.99.bb4
-rw-r--r--meta/recipes-extended/sat-solver/sat-solver/cmake.patch43
-rw-r--r--meta/recipes-extended/sat-solver/sat-solver/db5.patch24
-rw-r--r--meta/recipes-extended/sat-solver/sat-solver/rpm5.patch9
-rw-r--r--meta/recipes-extended/sat-solver/sat-solver_git.bb7
-rw-r--r--meta/recipes-extended/shadow/shadow.inc2
-rw-r--r--meta/recipes-extended/shadow/shadow_4.1.4.2.bb2
-rw-r--r--meta/recipes-extended/sudo/sudo_1.7.4p6.bb (renamed from meta/recipes-extended/sudo/sudo_1.7.4p4.bb)4
-rw-r--r--meta/recipes-extended/tzcode/tzcode-native_2009r.bb2
-rw-r--r--meta/recipes-extended/zypper/zypper/dso_linking_change_build_fix.patch58
-rw-r--r--meta/recipes-extended/zypper/zypper/rpm5-flag.patch16
-rw-r--r--meta/recipes-extended/zypper/zypper_git.bb8
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.22.1/configure_fix.patch19
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.22.1/hardcoded_libtool.patch (renamed from meta/recipes-gnome/gtk+/gtk+-2.20.1/hardcoded_libtool.patch)20
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.22.1.bb70
-rw-r--r--meta/recipes-gnome/gnome/gconf-dbus_svn.bb2
-rw-r--r--meta/recipes-gnome/gnome/gnome-common_2.28.0.bb2
-rw-r--r--meta/recipes-gnome/gnome/gnome-doc-utils.inc9
-rw-r--r--meta/recipes-gnome/gnome/gnome-doc-utils_0.20.2.bb7
-rw-r--r--meta/recipes-gnome/gnome/gnome-doc-utils_0.20.4.bb7
-rw-r--r--meta/recipes-gnome/gnome/gnome-icon-theme_2.31.0.bb6
-rw-r--r--meta/recipes-gnome/gnome/gnome-keyring_2.32.1.bb4
-rw-r--r--meta/recipes-gnome/gnome/gnome-mime-data_2.18.0.bb4
-rw-r--r--meta/recipes-gnome/gnome/gobject-introspection_git.bb4
-rw-r--r--meta/recipes-gnome/gnome/libgdata_0.7.1.bb (renamed from meta/recipes-gnome/gnome/libgdata_0.6.5.bb)6
-rw-r--r--meta/recipes-gnome/gnome/metacity/crosscompile.patch60
-rw-r--r--meta/recipes-gnome/gnome/metacity_2.22.0.bb23
-rw-r--r--meta/recipes-gnome/gnome/metacity_2.30.3.bb29
-rw-r--r--meta/recipes-gnome/gthumb/gthumb_2.12.1.bb (renamed from meta/recipes-gnome/gthumb/gthumb_2.12.0.bb)6
-rw-r--r--meta/recipes-gnome/gtk+/gdk-pixbuf-csource-native_2.12.7.bb37
-rw-r--r--meta/recipes-gnome/gtk+/gdk-pixbuf-csource/reduce-dependencies.patch221
-rw-r--r--meta/recipes-gnome/gtk+/gtk+-2.20.1/disable-gio-png-sniff-test.diff97
-rw-r--r--meta/recipes-gnome/gtk+/gtk+-2.20.1/no-demos.patch10
-rw-r--r--meta/recipes-gnome/gtk+/gtk+-2.22.1/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch (renamed from meta/recipes-gnome/gtk+/gtk+-2.20.1/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch)0
-rw-r--r--meta/recipes-gnome/gtk+/gtk+-2.22.1/cellrenderer-cairo.patch (renamed from meta/recipes-gnome/gtk+/gtk+-2.20.1/cellrenderer-cairo.patch)0
-rw-r--r--meta/recipes-gnome/gtk+/gtk+-2.22.1/configurefix.patch (renamed from meta/recipes-gnome/gtk+/gtk+-2.20.1/configurefix.patch)0
-rw-r--r--meta/recipes-gnome/gtk+/gtk+-2.22.1/entry-cairo.patch (renamed from meta/recipes-gnome/gtk+/gtk+-2.20.1/entry-cairo.patch)0
-rw-r--r--meta/recipes-gnome/gtk+/gtk+-2.22.1/hardcoded_libtool.patch31
-rw-r--r--meta/recipes-gnome/gtk+/gtk+-2.22.1/no-demos.patch13
-rw-r--r--meta/recipes-gnome/gtk+/gtk+-2.22.1/run-iconcache.patch (renamed from meta/recipes-gnome/gtk+/gtk+-2.20.1/run-iconcache.patch)0
-rw-r--r--meta/recipes-gnome/gtk+/gtk+-2.22.1/toggle-font.diff (renamed from meta/recipes-gnome/gtk+/gtk+-2.20.1/toggle-font.diff)0
-rw-r--r--meta/recipes-gnome/gtk+/gtk+-2.22.1/xsettings.patch (renamed from meta/recipes-gnome/gtk+/gtk+-2.20.1/xsettings.patch)0
-rw-r--r--meta/recipes-gnome/gtk+/gtk+.inc23
-rw-r--r--meta/recipes-gnome/gtk+/gtk+_2.12.7.bb2
-rw-r--r--meta/recipes-gnome/gtk+/gtk+_2.16.6.bb2
-rw-r--r--meta/recipes-gnome/gtk+/gtk+_2.22.1.bb (renamed from meta/recipes-gnome/gtk+/gtk+_2.20.1.bb)18
-rw-r--r--meta/recipes-gnome/gtk-theme-darkilouche/gtk-theme-darkilouche.bb23
-rw-r--r--meta/recipes-gnome/gtk-theme-darkilouche/gtk-theme-darkilouche/change-colours.diff13
-rw-r--r--meta/recipes-gnome/gtkhtml2/gtkhtml2_svn.bb2
-rw-r--r--meta/recipes-gnome/librsvg/librsvg-2.32.1/doc_Makefile.patch (renamed from meta/recipes-gnome/librsvg/librsvg-2.32.0/doc_Makefile.patch)0
-rw-r--r--meta/recipes-gnome/librsvg/librsvg_2.32.1.bb (renamed from meta/recipes-gnome/librsvg/librsvg_2.32.0.bb)9
-rw-r--r--meta/recipes-gnome/libunique/libunique_1.1.6.bb7
-rw-r--r--meta/recipes-gnome/tasks/task-poky-sdk-gmae.bb4
-rw-r--r--meta/recipes-gnome/tasks/task-poky-standalone-gmae-sdk-target.bb4
-rw-r--r--meta/recipes-graphics/cairo/cairo.inc12
-rw-r--r--meta/recipes-graphics/cairo/cairo_1.10.0.bb39
-rw-r--r--meta/recipes-graphics/cairo/cairo_1.10.2.bb53
-rw-r--r--meta/recipes-graphics/clutter/clutter-1.0_git.bb21
-rw-r--r--meta/recipes-graphics/clutter/clutter-1.4_1.4.2.bb25
-rw-r--r--meta/recipes-graphics/clutter/clutter-box2d.inc2
-rw-r--r--meta/recipes-graphics/clutter/clutter-box2d_git.bb6
-rw-r--r--meta/recipes-graphics/clutter/clutter-gst-1.4_git.bb (renamed from meta/recipes-graphics/clutter/clutter-gst-1.0_git.bb)7
-rw-r--r--meta/recipes-graphics/clutter/clutter-gst.inc4
-rw-r--r--meta/recipes-graphics/clutter/clutter-gst/enable_tests.patch15
-rw-r--r--meta/recipes-graphics/clutter/clutter-gtk-1.0_git.bb15
-rw-r--r--meta/recipes-graphics/clutter/clutter-gtk-1.4_git.bb17
-rw-r--r--meta/recipes-graphics/clutter/clutter-gtk.inc2
-rw-r--r--meta/recipes-graphics/clutter/clutter-gtk/disable_deprecated.patch9
-rw-r--r--meta/recipes-graphics/clutter/clutter-gtk/enable_tests.patch17
-rw-r--r--meta/recipes-graphics/clutter/clutter.inc2
-rw-r--r--meta/recipes-graphics/clutter/clutter/enable_tests-1.4.patch13
-rw-r--r--meta/recipes-graphics/clutter/clutter/test-conformance-fix.patch66
-rw-r--r--meta/recipes-graphics/clutter/table.inc2
-rw-r--r--meta/recipes-graphics/clutter/tidy.inc2
-rw-r--r--meta/recipes-graphics/directfb/directfb-1.4.6/mkdfiff.patch24
-rw-r--r--meta/recipes-graphics/directfb/directfb.inc69
-rw-r--r--meta/recipes-graphics/directfb/directfb_1.4.6.bb27
-rw-r--r--meta/recipes-graphics/directfb/files/directfb-1.2.x-fix-pkgconfig-cflags.patch47
-rw-r--r--meta/recipes-graphics/directfb/files/dont-use-linux-config.patch12
-rw-r--r--meta/recipes-graphics/drm/libdrm-2.4.23/installtests.patch (renamed from meta/recipes-graphics/drm/libdrm-2.4.22/installtests.patch)0
-rw-r--r--meta/recipes-graphics/drm/libdrm.inc7
-rw-r--r--meta/recipes-graphics/drm/libdrm_2.4.23.bb (renamed from meta/recipes-graphics/drm/libdrm_2.4.22.bb)4
-rw-r--r--meta/recipes-graphics/drm/libdrm_git.bb2
-rw-r--r--meta/recipes-graphics/fontconfig/fontconfig_2.8.0.bb12
-rw-r--r--meta/recipes-graphics/freetype/freetype-2.4.4/no-hardcode.patch (renamed from meta/recipes-graphics/freetype/freetype-2.4.3/no-hardcode.patch)0
-rw-r--r--meta/recipes-graphics/freetype/freetype_2.4.4.bb (renamed from meta/recipes-graphics/freetype/freetype_2.4.3.bb)4
-rw-r--r--meta/recipes-graphics/fstests/files/dso_linking_change_build_fix.patch72
-rw-r--r--meta/recipes-graphics/fstests/fstests_svn.bb7
-rw-r--r--meta/recipes-graphics/libfakekey/libfakekey_git.bb (renamed from meta/recipes-graphics/libfakekey/libfakekey_svn.bb)8
-rw-r--r--meta/recipes-graphics/libmatchbox/libmatchbox_git.bb (renamed from meta/recipes-graphics/libmatchbox/libmatchbox_svn.bb)8
-rw-r--r--meta/recipes-graphics/libsdl/libsdl-nativesdk_1.2.11.bb8
-rw-r--r--meta/recipes-graphics/matchbox-wm-2/matchbox-wm-2_svn.bb2
-rw-r--r--meta/recipes-graphics/matchbox-wm/matchbox-wm_0.9.5.bb32
-rw-r--r--meta/recipes-graphics/matchbox-wm/matchbox-wm_1.1.bb37
-rw-r--r--meta/recipes-graphics/matchbox-wm/matchbox-wm_git.bb (renamed from meta/recipes-graphics/matchbox-wm/matchbox-wm_svn.bb)8
-rw-r--r--meta/recipes-graphics/mesa/mesa-common.inc13
-rw-r--r--meta/recipes-graphics/mesa/mesa-demos/dso_linking_change_build_fix.patch23
-rw-r--r--meta/recipes-graphics/mesa/mesa-demos_8.0.1.bb9
-rw-r--r--meta/recipes-graphics/mesa/mesa-dri-glsl-native_7.8.2.bb27
-rw-r--r--meta/recipes-graphics/mesa/mesa-dri-glsl-native_7.9.bb25
-rw-r--r--meta/recipes-graphics/mesa/mesa-dri_7.10.bb (renamed from meta/recipes-graphics/mesa/mesa-dri_7.9.bb)10
-rw-r--r--meta/recipes-graphics/mesa/mesa-dri_7.8.2.bb59
-rw-r--r--meta/recipes-graphics/mutter/mutter.inc5
-rw-r--r--meta/recipes-graphics/mutter/mutter_git.bb4
-rw-r--r--meta/recipes-graphics/pango/pango.inc8
-rw-r--r--meta/recipes-graphics/tasks/task-poky-clutter.bb16
-rw-r--r--meta/recipes-graphics/tslib/tslib_1.0.bb6
-rw-r--r--meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb4
-rw-r--r--meta/recipes-graphics/ttf-fonts/liberation-fonts_1.06.bb5
-rw-r--r--meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb7
-rw-r--r--meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession2
-rw-r--r--meta/recipes-graphics/x11-common/x11-common_0.1.bb4
-rw-r--r--meta/recipes-graphics/xcb/libxcb.inc5
-rw-r--r--meta/recipes-graphics/xcb/libxcb_git.bb2
-rw-r--r--meta/recipes-graphics/xcb/xcb-proto.inc6
-rw-r--r--meta/recipes-graphics/xcb/xcb-proto_git.bb2
-rw-r--r--meta/recipes-graphics/xcb/xcb-util.inc9
-rw-r--r--meta/recipes-graphics/xorg-app/mkfontdir_1.0.5.bb14
-rw-r--r--meta/recipes-graphics/xorg-app/mkfontdir_1.0.6.bb21
-rw-r--r--meta/recipes-graphics/xorg-app/mkfontscale_1.0.7.bb12
-rw-r--r--meta/recipes-graphics/xorg-app/mkfontscale_1.0.8.bb18
-rw-r--r--meta/recipes-graphics/xorg-app/x11perf_1.5.2.bb7
-rw-r--r--meta/recipes-graphics/xorg-app/xauth_1.0.5.bb2
-rw-r--r--meta/recipes-graphics/xorg-app/xdpyinfo_1.1.0.bb14
-rw-r--r--meta/recipes-graphics/xorg-app/xdpyinfo_1.2.0.bb21
-rw-r--r--meta/recipes-graphics/xorg-app/xhost_1.0.3.bb10
-rw-r--r--meta/recipes-graphics/xorg-app/xhost_1.0.4.bb18
-rw-r--r--meta/recipes-graphics/xorg-app/xinit_1.2.1.bb11
-rw-r--r--meta/recipes-graphics/xorg-app/xinit_1.3.0.bb18
-rw-r--r--meta/recipes-graphics/xorg-app/xkbcomp/cross-compile-fix.patch35
-rw-r--r--meta/recipes-graphics/xorg-app/xkbcomp_1.1.1.bb14
-rw-r--r--meta/recipes-graphics/xorg-app/xkbcomp_1.2.0.bb19
-rw-r--r--meta/recipes-graphics/xorg-app/xmodmap_1.0.5.bb9
-rw-r--r--meta/recipes-graphics/xorg-app/xprop_1.1.0.bb13
-rw-r--r--meta/recipes-graphics/xorg-app/xprop_1.2.0.bb19
-rw-r--r--meta/recipes-graphics/xorg-app/xrandr_1.3.4.bb7
-rw-r--r--meta/recipes-graphics/xorg-app/xset_1.2.1.bb6
-rw-r--r--meta/recipes-graphics/xorg-app/xvinfo_1.0.2.bb9
-rw-r--r--meta/recipes-graphics/xorg-app/xvinfo_1.1.1.bb14
-rw-r--r--meta/recipes-graphics/xorg-app/xwininfo_1.1.0.bb11
-rw-r--r--meta/recipes-graphics/xorg-app/xwininfo_1.1.1.bb16
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.5.0.bb10
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.6.0.bb20
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.4.0.bb10
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.5.0.bb15
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-keyboard_git.bb7
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.6.0.bb8
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-mouse_git.bb8
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.2.1.bb10
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.3.0.bb22
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-synaptics_git.bb8
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_12.6.10.bb2
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-intel_2.13.0.bb15
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-intel_2.14.0.bb20
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb8
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-blacklist-tv-out.patch25
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-force-plain-mode.patch23
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-revert-set-CRTC-limit.patch32
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-revert-set-virtual-size.patch23
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb10
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.3.0.bb8
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-vmware_11.0.3.bb4
-rw-r--r--meta/recipes-graphics/xorg-font/encodings_1.0.4.bb6
-rw-r--r--meta/recipes-graphics/xorg-font/font-alias_1.0.3.bb6
-rw-r--r--meta/recipes-graphics/xorg-font/font-util_1.2.0.bb6
-rw-r--r--meta/recipes-graphics/xorg-font/xorg-font-common.inc4
-rw-r--r--meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb3
-rw-r--r--meta/recipes-graphics/xorg-lib/libdmx_1.1.0.bb14
-rw-r--r--meta/recipes-graphics/xorg-lib/libdmx_1.1.1.bb21
-rw-r--r--meta/recipes-graphics/xorg-lib/libfontenc_1.1.0.bb5
-rw-r--r--meta/recipes-graphics/xorg-lib/libice_1.0.7.bb8
-rw-r--r--meta/recipes-graphics/xorg-lib/libpciaccess_0.12.0.bb5
-rw-r--r--meta/recipes-graphics/xorg-lib/libsm_1.2.0.bb10
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11-diet_1.3.bb3
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11-diet_git.bb3
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11-trim_1.3.4.bb2
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11-trim_git.bb2
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11.inc6
-rw-r--r--meta/recipes-graphics/xorg-lib/libxau_1.0.6.bb6
-rw-r--r--meta/recipes-graphics/xorg-lib/libxcalibrate_git.bb5
-rw-r--r--meta/recipes-graphics/xorg-lib/libxcomposite_0.4.3.bb11
-rw-r--r--meta/recipes-graphics/xorg-lib/libxcursor_1.1.11.bb8
-rw-r--r--meta/recipes-graphics/xorg-lib/libxdamage_1.1.3.bb13
-rw-r--r--meta/recipes-graphics/xorg-lib/libxdmcp_1.1.0.bb8
-rw-r--r--meta/recipes-graphics/xorg-lib/libxext_1.2.0.bb10
-rw-r--r--meta/recipes-graphics/xorg-lib/libxext_git.bb11
-rw-r--r--meta/recipes-graphics/xorg-lib/libxfixes_4.0.5.bb7
-rw-r--r--meta/recipes-graphics/xorg-lib/libxfont_1.4.3.bb6
-rw-r--r--meta/recipes-graphics/xorg-lib/libxfontcache_1.0.5.bb6
-rw-r--r--meta/recipes-graphics/xorg-lib/libxft_2.2.0.bb15
-rw-r--r--meta/recipes-graphics/xorg-lib/libxi_1.4.0.bb7
-rw-r--r--meta/recipes-graphics/xorg-lib/libxi_git.bb8
-rw-r--r--meta/recipes-graphics/xorg-lib/libxinerama_1.1.1.bb6
-rw-r--r--meta/recipes-graphics/xorg-lib/libxkbfile_1.0.7.bb5
-rw-r--r--meta/recipes-graphics/xorg-lib/libxmu_1.1.0.bb10
-rw-r--r--meta/recipes-graphics/xorg-lib/libxp_1.0.0.bb18
-rw-r--r--meta/recipes-graphics/xorg-lib/libxp_1.0.1.bb21
-rw-r--r--meta/recipes-graphics/xorg-lib/libxpm_3.5.9.bb8
-rw-r--r--meta/recipes-graphics/xorg-lib/libxprintapputil_1.0.1.bb7
-rw-r--r--meta/recipes-graphics/xorg-lib/libxprintutil_1.0.1.bb7
-rw-r--r--meta/recipes-graphics/xorg-lib/libxrandr_1.3.1.bb8
-rw-r--r--meta/recipes-graphics/xorg-lib/libxrender_0.9.6.bb8
-rw-r--r--meta/recipes-graphics/xorg-lib/libxres_1.0.5.bb7
-rw-r--r--meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.1.bb10
-rw-r--r--meta/recipes-graphics/xorg-lib/libxt_1.0.9.bb12
-rw-r--r--meta/recipes-graphics/xorg-lib/libxtrap_1.0.0.bb6
-rw-r--r--meta/recipes-graphics/xorg-lib/libxtst_1.2.0.bb6
-rw-r--r--meta/recipes-graphics/xorg-lib/libxv_1.0.6.bb7
-rw-r--r--meta/recipes-graphics/xorg-lib/libxvmc_1.0.6.bb5
-rw-r--r--meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.2.bb8
-rw-r--r--meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.2.bb17
-rw-r--r--meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.3.bb21
-rw-r--r--meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.1.bb7
-rw-r--r--meta/recipes-graphics/xorg-lib/pixman_0.20.2.bb (renamed from meta/recipes-graphics/xorg-lib/pixman_0.20.0.bb)15
-rw-r--r--meta/recipes-graphics/xorg-lib/xkeyboard-config_2.1.bb (renamed from meta/recipes-graphics/xorg-lib/xkeyboard-config_2.0.bb)13
-rw-r--r--meta/recipes-graphics/xorg-lib/xtrans_1.2.6.bb10
-rw-r--r--meta/recipes-graphics/xorg-proto/bigreqsproto_1.1.0.bb15
-rw-r--r--meta/recipes-graphics/xorg-proto/bigreqsproto_1.1.1.bb19
-rw-r--r--meta/recipes-graphics/xorg-proto/calibrateproto_git.bb5
-rw-r--r--meta/recipes-graphics/xorg-proto/compositeproto_0.4.2.bb20
-rw-r--r--meta/recipes-graphics/xorg-proto/compositeproto_0.4.bb11
-rw-r--r--meta/recipes-graphics/xorg-proto/damageproto_1.2.1.bb7
-rw-r--r--meta/recipes-graphics/xorg-proto/dmxproto_2.3.1.bb19
-rw-r--r--meta/recipes-graphics/xorg-proto/dmxproto_2.3.bb11
-rw-r--r--meta/recipes-graphics/xorg-proto/dri2proto_2.3.bb8
-rw-r--r--meta/recipes-graphics/xorg-proto/dri2proto_git.bb8
-rw-r--r--meta/recipes-graphics/xorg-proto/evieext_1.1.0.bb6
-rw-r--r--meta/recipes-graphics/xorg-proto/fixesproto_4.1.2.bb8
-rw-r--r--meta/recipes-graphics/xorg-proto/fontcacheproto_0.1.3.bb6
-rw-r--r--meta/recipes-graphics/xorg-proto/fontsproto_2.1.1.bb6
-rw-r--r--meta/recipes-graphics/xorg-proto/glproto_1.4.12.bb6
-rw-r--r--meta/recipes-graphics/xorg-proto/inputproto_2.0.1.bb22
-rw-r--r--meta/recipes-graphics/xorg-proto/inputproto_2.0.bb15
-rw-r--r--meta/recipes-graphics/xorg-proto/inputproto_git.bb6
-rw-r--r--meta/recipes-graphics/xorg-proto/kbproto_1.0.5.bb6
-rw-r--r--meta/recipes-graphics/xorg-proto/printproto_1.0.4.bb12
-rw-r--r--meta/recipes-graphics/xorg-proto/printproto_1.0.5.bb17
-rw-r--r--meta/recipes-graphics/xorg-proto/randrproto_1.3.2.bb6
-rw-r--r--meta/recipes-graphics/xorg-proto/recordproto_1.14.1.bb6
-rw-r--r--meta/recipes-graphics/xorg-proto/renderproto_0.11.1.bb21
-rw-r--r--meta/recipes-graphics/xorg-proto/renderproto_0.11.bb14
-rw-r--r--meta/recipes-graphics/xorg-proto/resourceproto_1.1.0.bb11
-rw-r--r--meta/recipes-graphics/xorg-proto/resourceproto_1.1.1.bb19
-rw-r--r--meta/recipes-graphics/xorg-proto/scrnsaverproto_1.2.0.bb12
-rw-r--r--meta/recipes-graphics/xorg-proto/scrnsaverproto_1.2.1.bb21
-rw-r--r--meta/recipes-graphics/xorg-proto/trapproto_3.4.3.bb6
-rw-r--r--meta/recipes-graphics/xorg-proto/videoproto_2.3.1.bb5
-rw-r--r--meta/recipes-graphics/xorg-proto/xcmiscproto_1.2.1.bb6
-rw-r--r--meta/recipes-graphics/xorg-proto/xextproto_7.1.2.bb9
-rw-r--r--meta/recipes-graphics/xorg-proto/xf86bigfontproto_1.2.0.bb6
-rw-r--r--meta/recipes-graphics/xorg-proto/xf86dgaproto_2.1.bb7
-rw-r--r--meta/recipes-graphics/xorg-proto/xf86driproto_2.1.0.bb11
-rw-r--r--meta/recipes-graphics/xorg-proto/xf86driproto_2.1.1.bb18
-rw-r--r--meta/recipes-graphics/xorg-proto/xf86miscproto_0.9.3.bb7
-rw-r--r--meta/recipes-graphics/xorg-proto/xf86rushproto_1.1.2.bb6
-rw-r--r--meta/recipes-graphics/xorg-proto/xf86vidmodeproto_2.3.1.bb18
-rw-r--r--meta/recipes-graphics/xorg-proto/xf86vidmodeproto_2.3.bb12
-rw-r--r--meta/recipes-graphics/xorg-proto/xineramaproto_1.2.1.bb18
-rw-r--r--meta/recipes-graphics/xorg-proto/xineramaproto_1.2.bb11
-rw-r--r--meta/recipes-graphics/xorg-proto/xproto_7.0.19.bb13
-rw-r--r--meta/recipes-graphics/xorg-proto/xproto_7.0.20.bb19
-rw-r--r--meta/recipes-graphics/xorg-util/gccmakedep_1.0.2.bb10
-rw-r--r--meta/recipes-graphics/xorg-util/imake_1.0.4.bb13
-rw-r--r--meta/recipes-graphics/xorg-util/makedepend_1.0.3.bb10
-rw-r--r--meta/recipes-graphics/xorg-util/util-macros_1.11.0.bb4
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive.inc8
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb2
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xf86-common.inc3
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xf86-dri-lite_1.9.3.bb (renamed from meta/recipes-graphics/xorg-xserver/xserver-xf86-dri-lite_1.9.2.bb)5
-rw-r--r--meta/recipes-graphics/xrestop/xrestop_0.4.bb3
-rw-r--r--meta/recipes-graphics/xtscal/xtscal/dso_linking_change_build_fix.patch25
-rw-r--r--meta/recipes-graphics/xtscal/xtscal_0.6.3.bb8
-rw-r--r--meta/recipes-graphics/xvideo-tests/xvideo-tests_svn.bb2
-rw-r--r--meta/recipes-kernel/blktrace/blktrace/blktrace-makefile.patch4
-rw-r--r--meta/recipes-kernel/blktrace/blktrace/dso_linking_change_build_fix.patch26
-rw-r--r--meta/recipes-kernel/blktrace/blktrace_git.bb5
-rw-r--r--meta/recipes-kernel/dtc/dtc-native_git.bb3
-rw-r--r--meta/recipes-kernel/dtc/dtc/remove_space_opt.patch16
-rw-r--r--meta/recipes-kernel/dtc/dtc_git.bb1
-rw-r--r--meta/recipes-kernel/dtc/dtc_git.inc2
-rw-r--r--meta/recipes-kernel/kern-tools/kern-tools-native_git.bb6
-rw-r--r--meta/recipes-kernel/linux-firmware/linux-firmware_git.bb2
-rw-r--r--meta/recipes-kernel/linux-libc-headers/linux-libc-headers-yocto_git.bb9
-rw-r--r--meta/recipes-kernel/linux/linux-dtb.inc27
-rw-r--r--meta/recipes-kernel/linux/linux-dummy.bb5
-rw-r--r--meta/recipes-kernel/linux/linux-dummy/COPYING.GPL339
-rw-r--r--meta/recipes-kernel/linux/linux-igep_2.6.33.5.bb1
-rw-r--r--meta/recipes-kernel/linux/linux-omap2_git.bb2
-rw-r--r--meta/recipes-kernel/linux/linux-omap3-pm_git.bb2
-rw-r--r--meta/recipes-kernel/linux/linux-omap3_git.bb2
-rw-r--r--meta/recipes-kernel/linux/linux-rp-2.6.23/defconfig-bootcdx861579
-rw-r--r--meta/recipes-kernel/linux/linux-rp-2.6.24/defconfig-bootcdx861994
-rw-r--r--meta/recipes-kernel/linux/linux-rp-2.6.26/defconfig-bootcdx861994
-rw-r--r--meta/recipes-kernel/linux/linux-rp.inc2
-rw-r--r--meta/recipes-kernel/linux/linux-rp_2.6.23.bb1
-rw-r--r--meta/recipes-kernel/linux/linux-rp_2.6.24.bb1
-rw-r--r--meta/recipes-kernel/linux/linux-rp_2.6.26.bb1
-rw-r--r--meta/recipes-kernel/linux/linux-tools.inc4
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-stable_git.bb24
-rw-r--r--meta/recipes-kernel/linux/linux-yocto.inc8
-rw-r--r--meta/recipes-kernel/linux/linux-yocto/tools-perf-no-scripting.patch49
-rw-r--r--meta/recipes-kernel/linux/linux-yocto_git.bb31
-rw-r--r--meta/recipes-kernel/linux/linux.inc27
-rw-r--r--meta/recipes-kernel/linux/linux_2.6.33.2.bb3
-rw-r--r--meta/recipes-kernel/lttng/lttng-ust_0.11.bb (renamed from meta/recipes-kernel/lttng/lttng-ust_0.8.bb)16
-rw-r--r--meta/recipes-kernel/lttng/lttng-viewer_0.12.36.bb (renamed from meta/recipes-kernel/lttng/lttng-viewer_0.12.35.bb)6
-rw-r--r--meta/recipes-kernel/modutils/files/gcc4.patch57
-rw-r--r--meta/recipes-kernel/oprofile/oprofile_0.9.6.bb6
-rw-r--r--meta/recipes-kernel/oprofile/oprofile_cvs.bb6
-rw-r--r--meta/recipes-kernel/oprofile/oprofileui-svn.inc7
-rw-r--r--meta/recipes-kernel/oprofile/oprofileui/dso_linking_change_build_fix.patch25
-rw-r--r--meta/recipes-kernel/systemtap/systemtap_git.bb28
-rw-r--r--meta/recipes-kernel/trace-cmd/kernelshark_git.bb21
-rw-r--r--meta/recipes-kernel/trace-cmd/trace-cmd_git.bb19
-rw-r--r--meta/recipes-kernel/update-modules/update-modules_1.0.bb6
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-openmax_0.10.1.bb4
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-plugins-base-0.10.31/gst-plugins-base-tremor.patch (renamed from meta/recipes-multimedia/gstreamer/gst-plugins-base-0.10.30/gst-plugins-base-tremor.patch)0
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.31.bb (renamed from meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.30.bb)8
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.26.bb (renamed from meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.25.bb)4
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-plugins.inc2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer-0.10.30/make-382.patch32
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer-0.10.31/check_fix.patch (renamed from meta/recipes-multimedia/gstreamer/gstreamer-0.10.30/check_fix.patch)0
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer-0.10.31/gst-inspect-check-error.patch (renamed from meta/recipes-multimedia/gstreamer/gstreamer-0.10.30/gst-inspect-check-error.patch)0
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer-0.10.31/gstregistrybinary.c (renamed from meta/recipes-multimedia/gstreamer/gstreamer-0.10.30/gstregistrybinary.c)0
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer-0.10.31/gstregistrybinary.h (renamed from meta/recipes-multimedia/gstreamer/gstreamer-0.10.30/gstregistrybinary.h)0
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer_0.10.31.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer_0.10.30.bb)9
-rw-r--r--meta/recipes-multimedia/libogg/libogg_1.2.2.bb (renamed from meta/recipes-multimedia/libogg/libogg_1.2.1.bb)4
-rw-r--r--meta/recipes-multimedia/musicbrainz/libmusicbrainz_3.0.3.bb4
-rw-r--r--meta/recipes-multimedia/pulseaudio/libcanberra/autoconf_version.patch38
-rw-r--r--meta/recipes-multimedia/pulseaudio/libcanberra/nofallbackfix.patch16
-rw-r--r--meta/recipes-multimedia/pulseaudio/libcanberra_0.26.bb (renamed from meta/recipes-multimedia/pulseaudio/libcanberra_0.10.bb)12
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.22/armv4+v5asm.patch (renamed from meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/armv4+v5asm.patch)0
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.22/autoconf_version.patch (renamed from meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/autoconf_version.patch)0
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.22/buildfix.patch (renamed from meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/buildfix.patch)0
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.22/configure_silent_rules.patch (renamed from meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/configure_silent_rules.patch)0
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.22/gcc4-compile-fix.patch (renamed from meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/gcc4-compile-fix.patch)0
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.22/tls_m4.patch (renamed from meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/tls_m4.patch)0
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.22/volatiles.04_pulse (renamed from meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/volatiles.04_pulse)0
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio_0.9.22.bb (renamed from meta/recipes-multimedia/pulseaudio/pulseaudio_0.9.21.bb)4
-rw-r--r--meta/recipes-multimedia/tremor/tremor_20101121.bb (renamed from meta/recipes-multimedia/tremor/tremor_20101027.bb)2
-rw-r--r--meta/recipes-qt/meta/meta-toolchain-qte.bb26
-rw-r--r--meta/recipes-qt/qt-apps/fotowall_0.9.bb4
-rw-r--r--meta/recipes-qt/qt-apps/qmmp_0.4.1.bb35
-rw-r--r--meta/recipes-qt/qt-apps/qmmp_0.4.3.bb46
-rw-r--r--meta/recipes-qt/qt-apps/quicky_0.4.bb3
-rw-r--r--meta/recipes-qt/qt4/files/compile.test-lflags.patch13
-rw-r--r--meta/recipes-qt/qt4/files/configure-lflags.patch13
-rw-r--r--meta/recipes-qt/qt4/files/configure-paths.patch21
-rw-r--r--meta/recipes-qt/qt4/files/qmake-exists-check.patch18
-rw-r--r--meta/recipes-qt/qt4/files/qte.sh7
-rw-r--r--meta/recipes-qt/qt4/files/qthelp-lib-qtclucene.patch86
-rw-r--r--meta/recipes-qt/qt4/qt-4.6.3.inc18
-rw-r--r--meta/recipes-qt/qt4/qt-4.7.1.inc58
-rw-r--r--meta/recipes-qt/qt4/qt-4.7.1/0001-Added-Openembedded-crossarch-option.patch44
-rw-r--r--meta/recipes-qt/qt4/qt-4.7.1/g++.conf60
-rw-r--r--meta/recipes-qt/qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch19
-rw-r--r--meta/recipes-qt/qt4/qt-4.7.1/linux.conf66
-rw-r--r--meta/recipes-qt/qt4/qt4-embedded.inc34
-rw-r--r--meta/recipes-qt/qt4/qt4-embedded_4.6.3.bb9
-rw-r--r--meta/recipes-qt/qt4/qt4-embedded_4.7.1.bb10
-rw-r--r--meta/recipes-qt/qt4/qt4-tools-native.inc16
-rw-r--r--meta/recipes-qt/qt4/qt4-tools-native_4.6.3.bb12
-rw-r--r--meta/recipes-qt/qt4/qt4-tools-native_4.7.1.bb13
-rw-r--r--meta/recipes-qt/qt4/qt4-tools-nativesdk.inc111
-rw-r--r--meta/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb6
-rw-r--r--meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb6
-rw-r--r--meta/recipes-qt/qt4/qt4-x11-free.inc9
-rw-r--r--meta/recipes-qt/qt4/qt4-x11-free_4.6.3.bb7
-rw-r--r--meta/recipes-qt/qt4/qt4-x11-free_4.7.1.bb12
-rw-r--r--meta/recipes-qt/qt4/qt4.inc84
-rw-r--r--meta/recipes-qt/qt4/qt4_arch.inc25
-rw-r--r--meta/recipes-qt/tasks/task-poky-qt.bb6
-rw-r--r--meta/recipes-qt/tasks/task-qte-toolchain-host.bb7
-rw-r--r--meta/recipes-qt/tasks/task-qte-toolchain-target.bb35
-rw-r--r--meta/recipes-sato/eds/eds-dbus/old-gdk-api.patch17
-rw-r--r--meta/recipes-sato/eds/eds-dbus_git.bb1
-rw-r--r--meta/recipes-sato/eds/eds-tools_bzr.bb4
-rw-r--r--meta/recipes-sato/gaku/gaku_svn.bb8
-rw-r--r--meta/recipes-sato/gtk-engines/gtk-sato-engine_svn.bb2
-rw-r--r--meta/recipes-sato/images/poky-image-sato-dev.bb9
-rw-r--r--meta/recipes-sato/images/poky-image-sato-sdk-directdisk.bb9
-rw-r--r--meta/recipes-sato/images/poky-image-sato-sdk-live.bb11
-rw-r--r--meta/recipes-sato/images/poky-image-sato-sdk.bb (renamed from meta/recipes-sato/images/poky-image-sdk.bb)0
-rw-r--r--meta/recipes-sato/images/poky-image-sdk-directdisk.bb9
-rw-r--r--meta/recipes-sato/images/poky-image-sdk-live.bb11
-rw-r--r--meta/recipes-sato/leafpad/leafpad_0.8.18.1.bb (renamed from meta/recipes-sato/leafpad/leafpad_0.8.17.bb)4
-rw-r--r--meta/recipes-sato/libowl/libowl_svn.bb2
-rw-r--r--meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_git.bb (renamed from meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_svn.bb)9
-rw-r--r--meta/recipes-sato/matchbox-desktop-sato/matchbox-desktop-sato_svn.bb2
-rw-r--r--meta/recipes-sato/matchbox-desktop/files/dso_linking_change_build_fix.patch26
-rw-r--r--meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.0.bb5
-rw-r--r--meta/recipes-sato/matchbox-desktop/matchbox-desktop_git.bb (renamed from meta/recipes-sato/matchbox-desktop/matchbox-desktop_svn.bb)7
-rw-r--r--meta/recipes-sato/matchbox-keyboard/files/single-instance.patch22
-rw-r--r--meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb (renamed from meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_svn.bb)11
-rw-r--r--meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_git.bb (renamed from meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_svn.bb)8
-rw-r--r--meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb4
-rw-r--r--meta/recipes-sato/matchbox-stroke/files/dso_linking_change_build_fix.patch36
-rw-r--r--meta/recipes-sato/matchbox-stroke/files/single-instance.patch19
-rw-r--r--meta/recipes-sato/matchbox-stroke/matchbox-stroke_git.bb (renamed from meta/recipes-sato/matchbox-stroke/matchbox-stroke_svn.bb)11
-rw-r--r--meta/recipes-sato/matchbox-terminal/matchbox-terminal_git.bb (renamed from meta/recipes-sato/matchbox-terminal/matchbox-terminal_svn.bb)6
-rw-r--r--meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato-2/png_rename.patch14
-rw-r--r--meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato-2_svn.bb6
-rw-r--r--meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_svn.bb2
-rw-r--r--meta/recipes-sato/owl-video-widget/libowl-av_svn.bb8
-rw-r--r--meta/recipes-sato/owl-video-widget/owl-video_svn.bb4
-rw-r--r--meta/recipes-sato/pimlico/contacts.inc2
-rw-r--r--meta/recipes-sato/pimlico/contacts_0.9.bb2
-rw-r--r--meta/recipes-sato/pimlico/contacts_git.bb2
-rw-r--r--meta/recipes-sato/pimlico/dates.inc2
-rw-r--r--meta/recipes-sato/pimlico/dates/dso_linking_change_build_fix.patch44
-rw-r--r--meta/recipes-sato/pimlico/dates_0.4.8.bb2
-rw-r--r--meta/recipes-sato/pimlico/dates_git.bb5
-rw-r--r--meta/recipes-sato/puzzles/oh-puzzles_svn.bb2
-rw-r--r--meta/recipes-sato/puzzles/puzzles_r9076.bb (renamed from meta/recipes-sato/puzzles/puzzles_r9023.bb)5
-rw-r--r--meta/recipes-sato/screenshot/files/dso_linking_change_build_fix.patch49
-rw-r--r--meta/recipes-sato/screenshot/screenshot_svn.bb6
-rw-r--r--meta/recipes-sato/settings-daemon/files/dso_linking_change_build_fix.patch29
-rw-r--r--meta/recipes-sato/settings-daemon/settings-daemon_git.bb (renamed from meta/recipes-sato/settings-daemon/settings-daemon_svn.bb)11
-rw-r--r--meta/recipes-sato/web/web-webkit_svn.bb5
-rw-r--r--meta/recipes-sato/web/web_svn.bb2
-rw-r--r--meta/recipes-sato/webkit/files/GNUmakefile.am692
-rw-r--r--meta/recipes-sato/webkit/files/Makefile2
-rwxr-xr-xmeta/recipes-sato/webkit/files/autogen.sh2
-rw-r--r--meta/recipes-sato/webkit/files/configure.ac164
-rw-r--r--meta/recipes-sato/webkit/files/nodolt.patch16
-rw-r--r--meta/recipes-sato/webkit/webkit-gtk_svn.bb8
-rw-r--r--meta/recipes-support/apr/apr-util_1.3.10.bb (renamed from meta/recipes-support/apr/apr-util_1.3.4.bb)13
-rw-r--r--meta/recipes-support/apr/apr/buildconf_fix.patch25
-rw-r--r--meta/recipes-support/apr/apr/cleanup.patch9
-rw-r--r--meta/recipes-support/apr/apr_1.4.2.bb (renamed from meta/recipes-support/apr/apr_1.3.3.bb)25
-rw-r--r--meta/recipes-support/attr/acl.inc2
-rw-r--r--meta/recipes-support/attr/acl_2.2.49.bb2
-rw-r--r--meta/recipes-support/attr/attr.inc2
-rw-r--r--meta/recipes-support/attr/attr_2.4.44.bb2
-rw-r--r--meta/recipes-support/beecrypt/beecrypt/disable-icu-check.patch12
-rw-r--r--meta/recipes-support/beecrypt/beecrypt/fix-security.patch51
-rw-r--r--meta/recipes-support/beecrypt/beecrypt/x64fix.patch23
-rw-r--r--meta/recipes-support/beecrypt/beecrypt_4.2.1.bb (renamed from meta/recipes-support/beecrypt/beecrypt_4.1.2.bb)13
-rw-r--r--meta/recipes-support/boost/boost-jam-native.inc2
-rw-r--r--meta/recipes-support/createrepo/createrepo/fix-native-install.patch161
-rw-r--r--meta/recipes-support/createrepo/createrepo_0.4.11.bb20
-rw-r--r--meta/recipes-support/db/db/arm-thumb-mutex.patch36
-rw-r--r--meta/recipes-support/db/db/arm-thumb-mutex_db5.patch36
-rw-r--r--meta/recipes-support/db/db/configure_fixes.patch18
-rw-r--r--meta/recipes-support/db/db_4.2.52.bb100
-rw-r--r--meta/recipes-support/db/db_5.1.19.bb (renamed from meta/recipes-support/db/db_4.3.29.bb)39
-rw-r--r--meta/recipes-support/enchant/enchant_1.6.0.bb4
-rw-r--r--meta/recipes-support/gnutls/gnutls-2.10.4/configure-fix.patch (renamed from meta/recipes-support/gnutls/gnutls-2.8.6/configure-fix.patch)0
-rw-r--r--meta/recipes-support/gnutls/gnutls-2.10.4/gnutls-openssl.patch (renamed from meta/recipes-support/gnutls/gnutls-2.8.6/gnutls-openssl.patch)0
-rw-r--r--meta/recipes-support/gnutls/gnutls-2.10.4/gnutls-texinfo-euro.patch (renamed from meta/recipes-support/gnutls/gnutls-2.8.6/gnutls-texinfo-euro.patch)0
-rw-r--r--meta/recipes-support/gnutls/gnutls_2.10.4.bb (renamed from meta/recipes-support/gnutls/gnutls_2.8.6.bb)4
-rw-r--r--meta/recipes-support/gnutls/libtasn1_2.9.bb (renamed from meta/recipes-support/gnutls/libtasn1_2.8.bb)4
-rw-r--r--meta/recipes-support/hal/hal.inc2
-rw-r--r--meta/recipes-support/hal/hal_0.5.14.bb2
-rw-r--r--meta/recipes-support/hal/hal_git.bb2
-rw-r--r--meta/recipes-support/libfm/libfm-0.1.14/add_missing.patch50
-rw-r--r--meta/recipes-support/libfm/libfm_0.1.14.bb5
-rw-r--r--meta/recipes-support/libgdbus/libgdbus_git.bb22
-rw-r--r--meta/recipes-support/liburcu/liburcu_0.5.2.bb (renamed from meta/recipes-support/liburcu/liburcu_0.4.8.bb)4
-rw-r--r--meta/recipes-support/lzo/lzo-2.03/autofoo.patch17
-rw-r--r--meta/recipes-support/lzo/lzo-2.04/acinclude.m4 (renamed from meta/recipes-support/lzo/lzo-2.03/acinclude.m4)0
-rw-r--r--meta/recipes-support/lzo/lzo-2.04/autoconf.patch19
-rw-r--r--meta/recipes-support/lzo/lzo_2.04.bb (renamed from meta/recipes-support/lzo/lzo_2.03.bb)11
-rw-r--r--meta/recipes-tbd/consolekit/consolekit_0.4.3.bb21
-rw-r--r--meta/site/mips-common3
-rw-r--r--meta/site/x86_64-linux8
-rwxr-xr-xpoky-init-build-env23
-rwxr-xr-xscripts/bitbake38
-rwxr-xr-xscripts/contrib/bbvars.py186
-rwxr-xr-xscripts/poky-env-internal106
-rwxr-xr-xscripts/poky-extract-sdk5
-rwxr-xr-xscripts/poky-qemu25
-rwxr-xr-xscripts/poky-setup-builddir113
-rwxr-xr-xscripts/poky-setup-rpmrepo89
-rw-r--r--scripts/qemuimage-testlib127
-rwxr-xr-xscripts/qemuimage-tests/sanity/compiler52
-rwxr-xr-xscripts/qemuimage-tests/sanity/connman52
-rwxr-xr-xscripts/qemuimage-tests/sanity/dmesg2
-rwxr-xr-xscripts/qemuimage-tests/sanity/rpm_query52
-rwxr-xr-xscripts/qemuimage-tests/sanity/scp2
-rwxr-xr-xscripts/qemuimage-tests/sanity/shutdown8
-rwxr-xr-xscripts/qemuimage-tests/sanity/ssh2
-rwxr-xr-xscripts/qemuimage-tests/sanity/zypper_help52
-rwxr-xr-xscripts/qemuimage-tests/sanity/zypper_search52
-rw-r--r--scripts/qemuimage-tests/scenario/qemuarm/poky-image-lsb4
-rw-r--r--scripts/qemuimage-tests/scenario/qemuarm/poky-image-sato5
-rw-r--r--scripts/qemuimage-tests/scenario/qemuarm/poky-image-sdk6
-rw-r--r--scripts/qemuimage-tests/scenario/qemumips/poky-image-lsb4
-rw-r--r--scripts/qemuimage-tests/scenario/qemumips/poky-image-sato5
-rw-r--r--scripts/qemuimage-tests/scenario/qemumips/poky-image-sdk6
-rw-r--r--scripts/qemuimage-tests/scenario/qemuppc/poky-image-lsb4
-rw-r--r--scripts/qemuimage-tests/scenario/qemuppc/poky-image-sato5
-rw-r--r--scripts/qemuimage-tests/scenario/qemuppc/poky-image-sdk6
-rw-r--r--scripts/qemuimage-tests/scenario/qemux86-64/poky-image-lsb4
-rw-r--r--scripts/qemuimage-tests/scenario/qemux86-64/poky-image-sato5
-rw-r--r--scripts/qemuimage-tests/scenario/qemux86-64/poky-image-sdk6
-rw-r--r--scripts/qemuimage-tests/scenario/qemux86/poky-image-lsb4
-rw-r--r--scripts/qemuimage-tests/scenario/qemux86/poky-image-sato5
-rw-r--r--scripts/qemuimage-tests/scenario/qemux86/poky-image-sdk6
-rw-r--r--scripts/qemuimage-tests/tools/compiler_test.sh137
-rw-r--r--scripts/qemuimage-tests/tools/connman_test.sh55
-rw-r--r--scripts/qemuimage-tests/tools/rpm_test.sh45
-rw-r--r--scripts/qemuimage-tests/tools/zypper_test.sh45
-rwxr-xr-xscripts/rpm2cpio.sh53
-rwxr-xr-xscripts/send-pull-request99
1285 files changed, 56483 insertions, 22977 deletions
diff --git a/README.hardware b/README.hardware
index fe384b37d..bc5b5b8af 100644
--- a/README.hardware
+++ b/README.hardware
@@ -26,6 +26,7 @@ The following boards are supported by Poky:
* Marvell PXA3xx Zylonite (zylonite)
* Logic iMX31 Lite Kit (mx31litekit)
* Phytec phyCORE-iMX31 (mx31phy)
+ * Texas Instruments Beagleboard (beagleboard)
For more information see board's section below. The Poky MACHINE setting
corresponding to the board is given in brackets.
@@ -45,14 +46,6 @@ The following consumer devices are supported by Poky:
For more information see board's section below. The Poky MACHINE setting
corresponding to the board is given in brackets.
-Poky Boot CD (bootcdx86)
-========================
-
-The Poky boot CD iso images are designed as a demonstration of the Poky
-environment and to show the versatile image formats Poky can generate. It will
-run on Pentium2 or greater PC style computers. The iso image can be
-burnt to CD and then booted from.
-
Hardware Reference Boards
=========================
@@ -318,9 +311,9 @@ On the first partition you need three files:
* a kernel renamed to "zImage"
* a default.txt which contains:
-set kernel "zImage"
-set mtype "855"
-set cmdline "root=/dev/mmcblk0p2 rw console=ttyS0,115200n8 console=tty0 rootdelay=5 fbcon=rotate:1"
+set kernel "zImage"
+set mtype "855"
+set cmdline "root=/dev/mmcblk0p2 rw console=ttyS0,115200n8 console=tty0 rootdelay=5 fbcon=rotate:1"
boot2
On the second parition the root file system is extracted as root. A different
@@ -509,3 +502,73 @@ USB Device:
For more details on the USB-ZIP scenario, see the syslinux documentation:
http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=blob_plain;f=doc/usbkey.txt;hb=HEAD
+
+
+Texas Instruments Beagleboard (beagleboard)
+===========================================
+
+The Beagleboard is an ARM Cortex-A8 development board with USB, DVI-D, S-Video,
+2D/3D accelerated graphics, audio, serial, JTAG, and SD/MMC. The xM adds a
+faster CPU, more RAM, an ethernet port, more USB ports, microSD, and removes
+the NAND flash. The beagleboard MACHINE is tested on the following platforms:
+
+ o Beagleboard xM
+
+TODO: need someone with a Beagleboard C4 to verify these instructions.
+
+Due to the lack of NAND on the xM, the install and boot process varies a bit
+between boards. The C4 can run the x-loader and u-boot binaries from NAND or
+the SD, while the xM can only run them from the SD. The following instructions
+apply to both the C4 and the xM, but te C4 can skip step 2 (as noted below),
+and may require modification of the NAND environment.
+
+ 1. Partition and format an SD card:
+ # fdisk -lu /dev/mmcblk0
+
+ Disk /dev/mmcblk0: 3951 MB, 3951034368 bytes
+ 255 heads, 63 sectors/track, 480 cylinders, total 7716864 sectors
+ Units = sectors of 1 * 512 = 512 bytes
+
+ Device Boot Start End Blocks Id System
+ /dev/mmcblk0p1 * 63 144584 72261 c Win95 FAT32 (LBA)
+ /dev/mmcblk0p2 144585 465884 160650 83 Linux
+
+ # mkfs.vfat -F 16 -n "boot" /dev/mmcblk0p1
+ # mke2fs -j -L "root" /dev/mmcblk0p2
+
+ The following assumes the SD card partition 1 and 2 are mounted at
+ /media/boot and /media/root respectively. The files referenced here
+ are made available after the build in build/tmp/deploy/images.
+
+ 2. Install the boot loaders
+ This step can be omitted for the C4 as it can have the x-loader and
+ u-boot installed in NAND.
+
+ # cp MLO-beagleboard /media/boot/MLO
+ # cp u-boot-beagleboard.bin /media/boot/u-boot.bin
+
+ 3. Install the root filesystem
+ # tar x -C /media/root -f poky-image-$IMAGE_TYPE-beagleboard.tar.bz2
+ # tar x -C /media/root -f modules-$KERNEL_VERSION-beagleboard.tgz
+
+ 4. Install the kernel uImage
+ # cp uImage-beagleboard.bin /media/boot/uImage
+
+ 5. Prepare a u-boot script to simplify the boot process
+ The Beagleboard can be made to boot at this point from the u-boot command
+ shell. To automate this process, generate a user.scr script as follows.
+
+ Install uboot-mkimage (from uboot-mkimage on Ubuntu or uboot-tools on Fedora).
+
+ Prepare a script config:
+
+ # (cat << EOF
+ setenv bootcmd 'mmc init; fatload mmc 0:1 0x80300000 uImage; bootm 0x80300000'
+ setenv bootargs 'console=tty0 console=ttyS2,115200n8 root=/dev/mmcblk0p2 rootwait rootfstype=ext3 ro'
+ boot
+ EOF
+ ) > serial-boot.cmd
+ # mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Poky Minimal" -d ./serial-boot.cmd ./user.scr
+ # cp user.scr /media/boot
+
+ 6. Unmount the SD partitions and boot the Beagleboard
diff --git a/bitbake/AUTHORS b/bitbake/AUTHORS
index a4014b1e3..91fd78fd2 100644
--- a/bitbake/AUTHORS
+++ b/bitbake/AUTHORS
@@ -1,7 +1,7 @@
Tim Ansell <mithro@mithis.net>
Phil Blundell <pb@handhelds.org>
Seb Frankengul <seb@frankengul.org>
-Holger Freyther <zecke@handhelds.org>
+Holger Freyther <holger@moiji-mobile.com>
Marcin Juszkiewicz <marcin@juszkiewicz.com.pl>
Chris Larson <kergoth@handhelds.org>
Ulrich Luckas <luckas@musoft.de>
diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake
index 797b5a8d6..6d0528953 100755
--- a/bitbake/bin/bitbake
+++ b/bitbake/bin/bitbake
@@ -23,14 +23,18 @@
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
-import sys
-sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])),
+import sys, logging
+sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)),
'lib'))
import optparse
import warnings
from traceback import format_exception
-import bb
+try:
+ import bb
+except RuntimeError, exc:
+ sys.exit(str(exc))
+from bb import event
import bb.msg
from bb import cooker
from bb import ui
@@ -39,12 +43,9 @@ from bb.server import none
#from bb.server import xmlrpc
__version__ = "1.11.0"
+logger = logging.getLogger("BitBake")
-
-#============================================================================#
-# BBOptions
-#============================================================================#
class BBConfiguration(object):
"""
Manages build options and configurations for one run
@@ -56,34 +57,44 @@ class BBConfiguration(object):
self.pkgs_to_build = []
-def print_exception(exc, value, tb):
- """Send exception information through bb.msg"""
- bb.fatal("".join(format_exception(exc, value, tb, limit=8)))
+def get_ui(config):
+ if config.ui:
+ interface = config.ui
+ else:
+ interface = 'knotty'
-sys.excepthook = print_exception
+ 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.
+ module = __import__("bb.ui", fromlist = [interface])
+ return getattr(module, interface).main
+ except AttributeError:
+ sys.exit("FATAL: Invalid user interface '%s' specified.\n"
+ "Valid interfaces: depexp, goggle, ncurses, knotty [default]." % interface)
+# Display bitbake/OE warnings via the BitBake.Warnings logger, ignoring others"""
+warnlog = logging.getLogger("BitBake.Warnings")
_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)
+ warnlog.warn(s)
warnings.showwarning = _showwarning
-warnings.simplefilter("ignore", DeprecationWarning)
+warnings.filterwarnings("ignore")
+warnings.filterwarnings("default", module="(<string>$|(oe|bb)\.)")
+warnings.filterwarnings("ignore", category=PendingDeprecationWarning)
+warnings.filterwarnings("ignore", category=ImportWarning)
+warnings.filterwarnings("ignore", category=DeprecationWarning, module="<string>$")
+warnings.filterwarnings("ignore", message="With-statements now directly support multiple context managers")
-#============================================================================#
-# main
-#============================================================================#
def main():
- return_value = 1
-
parser = optparse.OptionParser(
version = "BitBake Build Tool Core version %s, %%prog version %s" % (bb.__version__, __version__),
usage = """%prog [options] [package ...]
@@ -159,6 +170,11 @@ Default BBFILES are the .bb files in the current directory.""")
configuration.pkgs_to_build.extend(args[1:])
configuration.initial_path = os.environ['PATH']
+ ui_main = get_ui(configuration)
+
+ loghandler = event.LogHandler()
+ logger.addHandler(loghandler)
+
#server = bb.server.xmlrpc
server = bb.server.none
@@ -175,7 +191,6 @@ Default BBFILES are the .bb files in the current directory.""")
bb.utils.clean_environment()
cooker = bb.cooker.BBCooker(configuration, server)
-
cooker.parseCommandLine()
serverinfo = server.BitbakeServerInfo(cooker.server)
@@ -183,8 +198,10 @@ Default BBFILES are the .bb files in the current directory.""")
server.BitBakeServerFork(cooker, cooker.server, serverinfo, cooker_logfile)
del cooker
+ logger.removeHandler(loghandler)
+
# Setup a connection to the server (cooker)
- serverConnection = server.BitBakeServerConnection(serverinfo)
+ server_connection = server.BitBakeServerConnection(serverinfo)
# Launch the UI
if configuration.ui:
@@ -193,25 +210,15 @@ 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.
- 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'.")
- else:
- try:
- return_value = server.BitbakeUILauch().launch(serverinfo, ui_init, serverConnection.connection, serverConnection.events)
- except Exception as e:
- print("FATAL: Unable to start to '%s' UI: %s" % (ui, e))
- raise
+ return server.BitbakeUILauch().launch(serverinfo, ui_main, server_connection.connection, server_connection.events)
finally:
- serverConnection.terminate()
-
- return return_value
+ server_connection.terminate()
if __name__ == "__main__":
- ret = main()
+ try:
+ ret = main()
+ except Exception:
+ ret = 1
+ import traceback
+ traceback.print_exc(5)
sys.exit(ret)
diff --git a/bitbake/bin/bitdoc b/bitbake/bin/bitdoc
index 8043b2bd1..c2a7061d1 100755
--- a/bitbake/bin/bitdoc
+++ b/bitbake/bin/bitdoc
@@ -20,7 +20,7 @@
import optparse, os, sys
# bitbake
-sys.path.append(os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib'))
+sys.path.append(os.path.join(os.path.dirname(os.path.dirname(__file__), 'lib'))
import bb
import bb.parse
from string import split, join
diff --git a/bitbake/contrib/vim/ftdetect/bitbake.vim b/bitbake/contrib/vim/ftdetect/bitbake.vim
index 3882a9a08..179e4d988 100644
--- a/bitbake/contrib/vim/ftdetect/bitbake.vim
+++ b/bitbake/contrib/vim/ftdetect/bitbake.vim
@@ -1,4 +1,24 @@
-au BufNewFile,BufRead *.bb setfiletype bitbake
-au BufNewFile,BufRead *.bbclass setfiletype bitbake
-au BufNewFile,BufRead *.inc setfiletype bitbake
-" au BufNewFile,BufRead *.conf setfiletype bitbake
+" Vim filetype detection file
+" Language: BitBake
+" Author: Ricardo Salveti <rsalveti@rsalveti.net>
+" Copyright: Copyright (C) 2008 Ricardo Salveti <rsalveti@rsalveti.net>
+" Licence: You may redistribute this under the same terms as Vim itself
+"
+" This sets up the syntax highlighting for BitBake files, like .bb, .bbclass and .inc
+
+if &compatible || version < 600
+ finish
+endif
+
+" .bb and .bbclass
+au BufNewFile,BufRead *.b{b,bclass} set filetype=bitbake
+
+" .inc
+au BufNewFile,BufRead *.inc set filetype=bitbake
+
+" .conf
+au BufNewFile,BufRead *.conf
+ \ if (match(expand("%:p:h"), "conf") > 0) |
+ \ set filetype=bitbake |
+ \ endif
+
diff --git a/bitbake/contrib/vim/ftplugin/bitbake.vim b/bitbake/contrib/vim/ftplugin/bitbake.vim
new file mode 100644
index 000000000..ed69d3b1b
--- /dev/null
+++ b/bitbake/contrib/vim/ftplugin/bitbake.vim
@@ -0,0 +1 @@
+set sts=4 sw=4 et
diff --git a/bitbake/contrib/vim/plugin/newbb.vim b/bitbake/contrib/vim/plugin/newbb.vim
new file mode 100755
index 000000000..afba1d9aa
--- /dev/null
+++ b/bitbake/contrib/vim/plugin/newbb.vim
@@ -0,0 +1,85 @@
+" Vim plugin file
+" Purpose: Create a template for new bb files
+" Author: Ricardo Salveti <rsalveti@gmail.com>
+" Copyright: Copyright (C) 2008 Ricardo Salveti <rsalveti@gmail.com>
+"
+" This file is licensed under the MIT license, see COPYING.MIT in
+" this source distribution for the terms.
+"
+" Based on the gentoo-syntax package
+"
+" Will try to use git to find the user name and email
+
+if &compatible || v:version < 600
+ finish
+endif
+
+fun! <SID>GetUserName()
+ let l:user_name = system("git-config --get user.name")
+ if v:shell_error
+ return "Unknow User"
+ else
+ return substitute(l:user_name, "\n", "", "")
+endfun
+
+fun! <SID>GetUserEmail()
+ let l:user_email = system("git-config --get user.email")
+ if v:shell_error
+ return "unknow@user.org"
+ else
+ return substitute(l:user_email, "\n", "", "")
+endfun
+
+fun! BBHeader()
+ let l:current_year = strftime("%Y")
+ let l:user_name = <SID>GetUserName()
+ let l:user_email = <SID>GetUserEmail()
+ 0 put ='# Copyright (C) ' . l:current_year .
+ \ ' ' . l:user_name . ' <' . l:user_email . '>'
+ put ='# Released under the MIT license (see COPYING.MIT for the terms)'
+ $
+endfun
+
+fun! NewBBTemplate()
+ let l:paste = &paste
+ set nopaste
+
+ " Get the header
+ call BBHeader()
+
+ " New the bb template
+ put ='DESCRIPTION = \"\"'
+ put ='HOMEPAGE = \"\"'
+ put ='LICENSE = \"\"'
+ put ='SECTION = \"\"'
+ put ='DEPENDS = \"\"'
+ put ='PR = \"r0\"'
+ put =''
+ put ='SRC_URI = \"\"'
+
+ " Go to the first place to edit
+ 0
+ /^DESCRIPTION =/
+ exec "normal 2f\""
+
+ if paste == 1
+ set paste
+ endif
+endfun
+
+if !exists("g:bb_create_on_empty")
+ let g:bb_create_on_empty = 1
+endif
+
+" disable in case of vimdiff
+if v:progname =~ "vimdiff"
+ let g:bb_create_on_empty = 0
+endif
+
+augroup NewBB
+ au BufNewFile *.bb
+ \ if g:bb_create_on_empty |
+ \ call NewBBTemplate() |
+ \ endif
+augroup END
+
diff --git a/bitbake/contrib/vim/syntax/bitbake.vim b/bitbake/contrib/vim/syntax/bitbake.vim
index be55980b3..a06dd9e0a 100644
--- a/bitbake/contrib/vim/syntax/bitbake.vim
+++ b/bitbake/contrib/vim/syntax/bitbake.vim
@@ -1,127 +1,123 @@
" Vim syntax file
+" Language: BitBake bb/bbclasses/inc
+" Author: Chris Larson <kergoth@handhelds.org>
+" Ricardo Salveti <rsalveti@rsalveti.net>
+" Copyright: Copyright (C) 2004 Chris Larson <kergoth@handhelds.org>
+" Copyright (C) 2008 Ricardo Salveti <rsalveti@rsalveti.net>
"
-" Copyright (C) 2004 Chris Larson <kergoth@handhelds.org>
" This file is licensed under the MIT license, see COPYING.MIT in
" this source distribution for the terms.
"
-" Language: BitBake
-" Maintainer: Chris Larson <kergoth@handhelds.org>
-" Filenames: *.bb, *.bbclass
-
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
- finish
-endif
-
-syn case match
-
-" Catch incorrect syntax (only matches if nothing else does)
+" Syntax highlighting for bb, bbclasses and inc files.
"
-syn match bbUnmatched "."
+" It's an entirely new type, just has specific syntax in shell and python code
+if &compatible || v:version < 600
+ finish
+endif
+if exists("b:current_syntax")
+ finish
+endif
syn include @python syntax/python.vim
if exists("b:current_syntax")
unlet b:current_syntax
endif
+" BitBake syntax
-" Other
-
-syn match bbComment "^#.*$" display contains=bbTodo
-syn keyword bbTodo TODO FIXME XXX contained
-syn match bbDelimiter "[(){}=]" contained
-syn match bbQuote /['"]/ contained
-syn match bbArrayBrackets "[\[\]]" contained
-
-
-" BitBake strings
-
-syn match bbContinue "\\$"
-syn region bbString matchgroup=bbQuote start=/"/ skip=/\\$/ excludenl end=/"/ contained keepend contains=bbTodo,bbContinue,bbVarInlinePy,bbVarDeref
-syn region bbString matchgroup=bbQuote start=/'/ skip=/\\$/ excludenl end=/'/ contained keepend contains=bbTodo,bbContinue,bbVarInlinePy,bbVarDeref
-
-" BitBake variable metadata
-
-syn match bbVarBraces "[\${}]"
-syn region bbVarDeref matchgroup=bbVarBraces start="${" end="}" contained
-" syn region bbVarDeref start="${" end="}" contained
-" syn region bbVarInlinePy start="${@" end="}" contained contains=@python
-syn region bbVarInlinePy matchgroup=bbVarBraces start="${@" end="}" contained contains=@python
-
-syn keyword bbExportFlag export contained nextgroup=bbIdentifier skipwhite
-" syn match bbVarDeref "${[a-zA-Z0-9\-_\.]\+}" contained
-syn match bbVarDef "^\(export\s*\)\?\([a-zA-Z0-9\-_\.]\+\(_[${}a-zA/-Z0-9\-_\.]\+\)\?\)\s*\(:=\|+=\|=+\|\.=\|=\.\|?=\|=\)\@=" contains=bbExportFlag,bbIdentifier,bbVarDeref nextgroup=bbVarEq
-
-syn match bbIdentifier "[a-zA-Z0-9\-_\./]\+" display contained
-"syn keyword bbVarEq = display contained nextgroup=bbVarValue
-syn match bbVarEq "\(:=\|+=\|=+\|\.=\|=\.\|?=\|=\)" contained nextgroup=bbVarValue
-syn match bbVarValue ".*$" contained contains=bbString
-
-" BitBake variable metadata flags
-syn match bbVarFlagDef "^\([a-zA-Z0-9\-_\.]\+\)\(\[[a-zA-Z0-9\-_\.]\+\]\)\@=" contains=bbIdentifier nextgroup=bbVarFlagFlag
-syn region bbVarFlagFlag matchgroup=bbArrayBrackets start="\[" end="\]\s*\(=\)\@=" keepend excludenl contained contains=bbIdentifier nextgroup=bbVarEq
-"syn match bbVarFlagFlag "\[\([a-zA-Z0-9\-_\.]\+\)\]\s*\(=\)\@=" contains=bbIdentifier nextgroup=bbVarEq
-
-
-" Functions!
-syn match bbFunction "\h\w*" display contained
+" Matching case
+syn case match
+" Indicates the error when nothing is matched
+syn match bbUnmatched "."
-" BitBake python metadata
+" Comments
+syn cluster bbCommentGroup contains=bbTodo,@Spell
+syn keyword bbTodo COMBAK FIXME TODO XXX contained
+syn match bbComment "#.*$" contains=@bbCommentGroup
-syn keyword bbPythonFlag python contained nextgroup=bbFunction
-syn match bbPythonFuncDef "^\(python\s\+\)\(\w\+\)\?\(\s*()\s*\)\({\)\@=" contains=bbPythonFlag,bbFunction,bbDelimiter nextgroup=bbPythonFuncRegion skipwhite
-syn region bbPythonFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" keepend contained contains=@python
-"hi def link bbPythonFuncRegion Comment
+" String helpers
+syn match bbQuote +['"]+ contained
+syn match bbDelimiter "[(){}=]" contained
+syn match bbArrayBrackets "[\[\]]" contained
+" BitBake strings
+syn match bbContinue "\\$"
+syn region bbString matchgroup=bbQuote start=+"+ skip=+\\$+ excludenl end=+"+ contained keepend contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell
+syn region bbString matchgroup=bbQuote start=+'+ skip=+\\$+ excludenl end=+'+ contained keepend contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell
+
+" Vars definition
+syn match bbExport "^export" nextgroup=bbIdentifier skipwhite
+syn keyword bbExportFlag export contained nextgroup=bbIdentifier skipwhite
+syn match bbIdentifier "[a-zA-Z0-9\-_\.\/\+]\+" display contained
+syn match bbVarDeref "${[a-zA-Z0-9\-_\.\/\+]\+}" contained
+syn match bbVarEq "\(:=\|+=\|=+\|\.=\|=\.\|?=\|=\)" contained nextgroup=bbVarValue
+syn match bbVarDef "^\(export\s*\)\?\([a-zA-Z0-9\-_\.\/\+]\+\(_[${}a-zA-Z0-9\-_\.\/\+]\+\)\?\)\s*\(:=\|+=\|=+\|\.=\|=\.\|?=\|=\)\@=" contains=bbExportFlag,bbIdentifier,bbVarDeref nextgroup=bbVarEq
+syn match bbVarValue ".*$" contained contains=bbString,bbVarDeref,bbVarPyValue
+syn region bbVarPyValue start=+${@+ skip=+\\$+ excludenl end=+}+ contained contains=@python
+
+" Vars metadata flags
+syn match bbVarFlagDef "^\([a-zA-Z0-9\-_\.]\+\)\(\[[a-zA-Z0-9\-_\.]\+\]\)\@=" contains=bbIdentifier nextgroup=bbVarFlagFlag
+syn region bbVarFlagFlag matchgroup=bbArrayBrackets start="\[" end="\]\s*\(=\)\@=" keepend excludenl contained contains=bbIdentifier nextgroup=bbVarEq
+
+" Includes and requires
+syn keyword bbInclude inherit include require contained
+syn match bbIncludeRest ".*$" contained contains=bbString,bbVarDeref
+syn match bbIncludeLine "^\(inherit\|include\|require\)\s\+" contains=bbInclude nextgroup=bbIncludeRest
+
+" Add taks and similar
+syn keyword bbStatement addtask addhandler after before EXPORT_FUNCTIONS contained
+syn match bbStatementRest ".*$" skipwhite contained contains=bbStatement
+syn match bbStatementLine "^\(addtask\|addhandler\|after\|before\|EXPORT_FUNCTIONS\)\s\+" contains=bbStatement nextgroup=bbStatementRest
+
+" OE Important Functions
+syn keyword bbOEFunctions do_fetch do_unpack do_patch do_configure do_compile do_stage do_install do_package contained
+
+" Generic Functions
+syn match bbFunction "\h[0-9A-Za-z_-]*" display contained contains=bbOEFunctions
" BitBake shell metadata
syn include @shell syntax/sh.vim
if exists("b:current_syntax")
unlet b:current_syntax
endif
+syn keyword bbShFakeRootFlag fakeroot contained
+syn match bbShFuncDef "^\(fakeroot\s*\)\?\([0-9A-Za-z_-]\+\)\(python\)\@<!\(\s*()\s*\)\({\)\@=" contains=bbShFakeRootFlag,bbFunction,bbDelimiter nextgroup=bbShFuncRegion skipwhite
+syn region bbShFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" keepend contained contains=@shell
-syn keyword bbFakerootFlag fakeroot contained nextgroup=bbFunction
-syn match bbShellFuncDef "^\(fakeroot\s*\)\?\(\w\+\)\(python\)\@<!\(\s*()\s*\)\({\)\@=" contains=bbFakerootFlag,bbFunction,bbDelimiter nextgroup=bbShellFuncRegion skipwhite
-syn region bbShellFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" keepend contained contains=@shell
-"hi def link bbShellFuncRegion Comment
-
+" BitBake python metadata
+syn keyword bbPyFlag python contained
+syn match bbPyFuncDef "^\(python\s\+\)\([0-9A-Za-z_-]\+\)\?\(\s*()\s*\)\({\)\@=" contains=bbPyFlag,bbFunction,bbDelimiter nextgroup=bbPyFuncRegion skipwhite
+syn region bbPyFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" keepend contained contains=@python
" BitBake 'def'd python functions
-syn keyword bbDef def contained
-syn region bbDefRegion start='^def\s\+\w\+\s*([^)]*)\s*:\s*$' end='^\(\s\|$\)\@!' contains=@python
-
-
-" BitBake statements
-syn keyword bbStatement include inherit require addtask addhandler EXPORT_FUNCTIONS display contained
-syn match bbStatementLine "^\(include\|inherit\|require\|addtask\|addhandler\|EXPORT_FUNCTIONS\)\s\+" contains=bbStatement nextgroup=bbStatementRest
-syn match bbStatementRest ".*$" contained contains=bbString,bbVarDeref
-
-" Highlight
-"
-hi def link bbArrayBrackets Statement
-hi def link bbUnmatched Error
-hi def link bbContinue Special
-hi def link bbDef Statement
-hi def link bbPythonFlag Type
-hi def link bbExportFlag Type
-hi def link bbFakerootFlag Type
-hi def link bbStatement Statement
-hi def link bbString String
-hi def link bbTodo Todo
-hi def link bbComment Comment
-hi def link bbOperator Operator
-hi def link bbError Error
-hi def link bbFunction Function
-hi def link bbDelimiter Delimiter
-hi def link bbIdentifier Identifier
-hi def link bbVarEq Operator
-hi def link bbQuote String
-hi def link bbVarValue String
-" hi def link bbVarInlinePy PreProc
-hi def link bbVarDeref PreProc
-hi def link bbVarBraces PreProc
+syn keyword bbPyDef def contained
+syn region bbPyDefRegion start='^\(def\s\+\)\([0-9A-Za-z_-]\+\)\(\s*(.*)\s*\):\s*$' end='^\(\s\|$\)\@!' contains=@python
+
+" Highlighting Definitions
+hi def link bbUnmatched Error
+hi def link bbInclude Include
+hi def link bbTodo Todo
+hi def link bbComment Comment
+hi def link bbQuote String
+hi def link bbString String
+hi def link bbDelimiter Keyword
+hi def link bbArrayBrackets Statement
+hi def link bbContinue Special
+hi def link bbExport Type
+hi def link bbExportFlag Type
+hi def link bbIdentifier Identifier
+hi def link bbVarDeref PreProc
+hi def link bbVarDef Identifier
+hi def link bbVarValue String
+hi def link bbShFakeRootFlag Type
+hi def link bbFunction Function
+hi def link bbPyFlag Type
+hi def link bbPyDef Statement
+hi def link bbStatement Statement
+hi def link bbStatementRest Identifier
+hi def link bbOEFunctions Special
+hi def link bbVarPyValue PreProc
let b:current_syntax = "bb"
diff --git a/bitbake/doc/manual/usermanual.xml b/bitbake/doc/manual/usermanual.xml
index 748ac319e..32b40eee5 100644
--- a/bitbake/doc/manual/usermanual.xml
+++ b/bitbake/doc/manual/usermanual.xml
@@ -318,7 +318,7 @@ a per URI parameters separated by a <quote>;</quote> consisting of a key and a v
<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_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> and <varname>scmdata</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>. If <varname>scmdata</varname> is set to <quote>keep</quote>
<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>
@@ -351,7 +351,7 @@ will be tried first when fetching a file if that fails the actual file will be t
</para>
<para>This Fetcher honors the variables <varname>FETCHCOMMAND_svn</varname>, <varname>DL_DIR</varname>, <varname>SRCDATE</varname>. <varname>FETCHCOMMAND</varname> contains the subversion command, <varname>DL_DIR</varname> is the directory where tarballs will be 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).
</para>
- <para>The supported Parameters are <varname>proto</varname>, <varname>rev</varname>. <varname>proto</varname> is the subversion prototype, <varname>rev</varname> is the subversions revision.
+ <para>The supported Parameters are <varname>proto</varname>, <varname>rev</varname> and <varname>scmdata</varname>. <varname>proto</varname> is the subversion protocol, <varname>rev</varname> is the subversion revision. If <varname>scmdata</varname> is set to <quote>keep</quote>, the <quote>.svn</quote> directories will be available during compile-time.
</para>
<para><screen><varname>SRC_URI</varname> = "svn://svn.oe.handhelds.org/svn;module=vip;proto=http;rev=667"
<varname>SRC_URI</varname> = "svn://svn.oe.handhelds.org/svn/;module=opie;proto=svn+ssh;date=20060126"
@@ -364,7 +364,7 @@ will be tried first when fetching a file if that fails the actual file will be t
</para>
<para>The Variables <varname>DL_DIR</varname>, <varname>GITDIR</varname> are used. <varname>DL_DIR</varname> will be used to store the checkedout version. <varname>GITDIR</varname> will be used as the base directory where the git tree is cloned to.
</para>
- <para>The Parameters are <emphasis>tag</emphasis>, <emphasis>protocol</emphasis>. <emphasis>tag</emphasis> is a git tag, the default is <quote>master</quote>. <emphasis>protocol</emphasis> is the git protocol to use and defaults to <quote>rsync</quote>.
+ <para>The Parameters are <emphasis>tag</emphasis>, <emphasis>protocol</emphasis> and <emphasis>scmdata</emphasis>. <emphasis>tag</emphasis> is a git tag, the default is <quote>master</quote>. <emphasis>protocol</emphasis> is the git protocol to use and defaults to <quote>rsync</quote>. If <emphasis>scmdata</emphasis> is set to <quote>keep</quote>, the <quote>.git</quote> directory will be available during compile-time.
</para>
<para><screen><varname>SRC_URI</varname> = "git://git.oe.handhelds.org/git/vip.git;tag=version-1"
<varname>SRC_URI</varname> = "git://git.oe.handhelds.org/git/vip.git;protocol=http"
diff --git a/bitbake/lib/bb/__init__.py b/bitbake/lib/bb/__init__.py
index 88adfc1df..4c7afc9c2 100644
--- a/bitbake/lib/bb/__init__.py
+++ b/bitbake/lib/bb/__init__.py
@@ -28,6 +28,41 @@ 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 logging
+import traceback
+
+class NullHandler(logging.Handler):
+ def emit(self, record):
+ pass
+
+Logger = logging.getLoggerClass()
+class BBLogger(Logger):
+ def __init__(self, name):
+ if name.split(".")[0] == "BitBake":
+ self.debug = self.bbdebug
+ Logger.__init__(self, name)
+
+ def bbdebug(self, level, msg, *args, **kwargs):
+ return self.log(logging.DEBUG - level + 1, msg, *args, **kwargs)
+
+ def plain(self, msg, *args, **kwargs):
+ return self.log(logging.INFO + 1, msg, *args, **kwargs)
+
+ def verbose(self, msg, *args, **kwargs):
+ return self.log(logging.INFO - 1, msg, *args, **kwargs)
+
+ def exception(self, msg, *args, **kwargs):
+ return self.critical("%s\n%s" % (msg, traceback.format_exc()), *args, **kwargs)
+
+logging.raiseExceptions = False
+logging.setLoggerClass(BBLogger)
+
+logger = logging.getLogger("BitBake")
+logger.addHandler(NullHandler())
+logger.setLevel(logging.INFO)
+
+# This has to be imported after the setLoggerClass, as the import of bb.msg
+# can result in construction of the various loggers.
import bb.msg
if "BBDEBUG" in os.environ:
@@ -35,25 +70,29 @@ if "BBDEBUG" in os.environ:
if level:
bb.msg.set_debug_level(level)
+if True or os.environ.get("BBFETCH2"):
+ from bb import fetch2 as fetch
+ sys.modules['bb.fetch'] = sys.modules['bb.fetch2']
# Messaging convenience functions
def plain(*args):
- bb.msg.plain(''.join(args))
+ logger.plain(''.join(args))
def debug(lvl, *args):
- bb.msg.debug(lvl, None, ''.join(args))
+ logger.debug(lvl, ''.join(args))
def note(*args):
- bb.msg.note(1, None, ''.join(args))
+ logger.info(''.join(args))
def warn(*args):
- bb.msg.warn(None, ''.join(args))
+ logger.warn(''.join(args))
def error(*args):
- bb.msg.error(None, ''.join(args))
+ logger.error(''.join(args))
def fatal(*args):
- bb.msg.fatal(None, ''.join(args))
+ logger.critical(''.join(args))
+ sys.exit(1)
def deprecated(func, name = None, advice = ""):
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
index 18a75edca..07bd35afc 100644
--- a/bitbake/lib/bb/build.py
+++ b/bitbake/lib/bb/build.py
@@ -25,9 +25,20 @@
#
#Based on functions from the base bb module, Copyright 2003 Holger Schurig
+import os
+import sys
+import logging
+import bb
+import bb.msg
+import bb.process
+from contextlib import nested
from bb import data, event, mkdirhier, utils
-import bb, os, sys
-import bb.utils
+
+bblogger = logging.getLogger('BitBake')
+logger = logging.getLogger('BitBake.Build')
+
+NULL = open(os.devnull, 'r+')
+
# When we execute a python function we'd like certain things
# in all namespaces, hence we add them to __builtins__
@@ -36,13 +47,22 @@ import bb.utils
__builtins__['bb'] = bb
__builtins__['os'] = os
-# events
class FuncFailed(Exception):
- """
- Executed function failed
- First parameter a message
- Second paramter is a logfile (optional)
- """
+ def __init__(self, name = None, logfile = None):
+ self.logfile = logfile
+ self.name = name
+ if name:
+ self.msg = "Function '%s' failed" % name
+ else:
+ self.msg = "Function failed"
+
+ def __str__(self):
+ if self.logfile and os.path.exists(self.logfile):
+ msg = ("%s (see %s for further information)" %
+ (self.msg, self.logfile))
+ else:
+ msg = self.msg
+ return msg
class TaskBase(event.Event):
"""Base class for task events"""
@@ -69,38 +89,56 @@ class TaskSucceeded(TaskBase):
class TaskFailed(TaskBase):
"""Task execution failed"""
- def __init__(self, msg, logfile, t, d ):
+
+ def __init__(self, task, logfile, metadata):
self.logfile = logfile
- self.msg = msg
- TaskBase.__init__(self, t, d)
+ super(TaskFailed, self).__init__(task, metadata)
class TaskInvalid(TaskBase):
- """Invalid Task"""
-# functions
+ def __init__(self, task, metadata):
+ super(TaskInvalid, self).__init__(task, metadata)
+ self._message = "No such task '%s'" % task
+
+
+class LogTee(object):
+ def __init__(self, logger, outfile):
+ self.outfile = outfile
+ self.logger = logger
+ self.name = self.outfile.name
+
+ def write(self, string):
+ self.logger.plain(string)
+ self.outfile.write(string)
+
+ def __enter__(self):
+ self.outfile.__enter__()
+ return self
+
+ def __exit__(self, *excinfo):
+ self.outfile.__exit__(*excinfo)
+
+ def __repr__(self):
+ return '<LogTee {0}>'.format(self.name)
+
def exec_func(func, d, dirs = None):
"""Execute an BB 'function'"""
body = data.getVar(func, d)
if not body:
- bb.warn("Function %s doesn't exist" % func)
+ if body is None:
+ logger.warn("Function %s doesn't exist", func)
return
flags = data.getVarFlags(func, d)
- for item in ['deps', 'check', 'interactive', 'python', 'cleandirs', 'dirs', 'lockfiles', 'fakeroot', 'task']:
- if not item in flags:
- flags[item] = None
-
- ispython = flags['python']
-
- cleandirs = flags['cleandirs']
+ cleandirs = flags.get('cleandirs')
if cleandirs:
for cdir in data.expand(cleandirs, d).split():
- os.system("rm -rf %s" % cdir)
+ bb.utils.remove(cdir, True)
if dirs is None:
- dirs = flags['dirs']
+ dirs = flags.get('dirs')
if dirs:
dirs = data.expand(dirs, d).split()
@@ -110,277 +148,254 @@ def exec_func(func, d, dirs = None):
adir = dirs[-1]
else:
adir = data.getVar('B', d, 1)
+ if not os.path.exists(adir):
+ adir = None
- # Save current directory
- try:
- prevdir = os.getcwd()
- except OSError:
- prevdir = data.getVar('TOPDIR', d, True)
-
- # Setup scriptfile
- t = data.getVar('T', d, 1)
- if not t:
- raise SystemExit("T variable not set, unable to build")
- bb.utils.mkdirhier(t)
- runfile = "%s/run.%s.%s" % (t, func, str(os.getpid()))
- logfile = d.getVar("BB_LOGFILE", True)
-
- # Change to correct directory (if specified)
- if adir and os.access(adir, os.F_OK):
- os.chdir(adir)
-
- locks = []
- lockfiles = flags['lockfiles']
- if lockfiles:
- for lock in data.expand(lockfiles, d).split():
- locks.append(bb.utils.lockfile(lock))
+ ispython = flags.get('python')
+ if flags.get('fakeroot') and not flags.get('task'):
+ bb.fatal("Function %s specifies fakeroot but isn't a task?!" % func)
- try:
- # Run the function
- if ispython:
- exec_func_python(func, d, runfile, logfile)
- else:
- exec_func_shell(func, d, runfile, logfile, flags)
+ lockflag = flags.get('lockfiles')
+ if lockflag:
+ lockfiles = [data.expand(f, d) for f in lockflag.split()]
+ else:
+ lockfiles = None
- # Restore original directory
- try:
- os.chdir(prevdir)
- except:
- pass
+ tempdir = data.getVar('T', d, 1)
+ runfile = os.path.join(tempdir, 'run.{0}.{1}'.format(func, os.getpid()))
- finally:
+ with bb.utils.fileslocked(lockfiles):
+ if ispython:
+ exec_func_python(func, d, runfile, cwd=adir)
+ else:
+ exec_func_shell(func, d, runfile, cwd=adir)
- # Unlock any lockfiles
- for lock in locks:
- bb.utils.unlockfile(lock)
+_functionfmt = """
+def {function}(d):
+{body}
-def exec_func_python(func, d, runfile, logfile):
+{function}(d)
+"""
+logformatter = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
+def exec_func_python(func, d, runfile, cwd=None):
"""Execute a python BB 'function'"""
- bbfile = bb.data.getVar('FILE', d, 1)
- tmp = "def " + func + "(d):\n%s" % data.getVar(func, d)
- tmp += '\n' + func + '(d)'
+ bbfile = d.getVar('FILE', True)
+ try:
+ olddir = os.getcwd()
+ except OSError:
+ olddir = None
+ code = _functionfmt.format(function=func, body=d.getVar(func, True))
+ bb.utils.mkdirhier(os.path.dirname(runfile))
+ with open(runfile, 'w') as script:
+ script.write(code)
+
+ if cwd:
+ os.chdir(cwd)
- f = open(runfile, "w")
- f.write(tmp)
- comp = utils.better_compile(tmp, func, bbfile)
try:
- utils.better_exec(comp, {"d": d}, tmp, bbfile)
+ comp = utils.better_compile(code, func, bbfile)
+ utils.better_exec(comp, {"d": d}, code, bbfile)
except:
- (t, value, tb) = sys.exc_info()
-
- if t in [bb.parse.SkipPackage, bb.build.FuncFailed]:
+ if sys.exc_info()[0] in (bb.parse.SkipPackage, bb.build.FuncFailed):
raise
- raise FuncFailed("Function %s failed" % func, logfile)
+ raise FuncFailed(func, None)
+ finally:
+ if olddir:
+ os.chdir(olddir)
-def exec_func_shell(func, d, runfile, logfile, flags):
- """Execute a shell BB 'function' Returns true if execution was successful.
-
- For this, it creates a bash shell script in the tmp dectory, writes the local
- data into it and finally executes. The output of the shell will end in a log file and stdout.
+def exec_func_shell(function, d, runfile, cwd=None):
+ """Execute a shell function from the metadata
Note on directory behavior. The 'dirs' varflag should contain a list
of the directories you need created prior to execution. The last
item in the list is where we will chdir/cd to.
"""
- deps = flags['deps']
- check = flags['check']
- if check in globals():
- if globals()[check](func, deps):
- return
-
- f = open(runfile, "w")
- f.write("#!/bin/sh -e\n")
- if bb.msg.debug_level['default'] > 0: f.write("set -x\n")
- data.emit_func(func, f, d)
-
- f.write("cd %s\n" % os.getcwd())
- if func: f.write("%s\n" % func)
- f.close()
- os.chmod(runfile, 0775)
- if not func:
- raise FuncFailed("Function not specified for exec_func_shell")
-
- # execute function
- if flags['fakeroot'] and not flags['task']:
- bb.fatal("Function %s specifies fakeroot but isn't a task?!" % func)
-
- lang_environment = "LC_ALL=C "
- ret = os.system('%ssh -e %s' % (lang_environment, runfile))
+ # Don't let the emitted shell script override PWD
+ d.delVarFlag('PWD', 'export')
- if ret == 0:
- return
+ with open(runfile, 'w') as script:
+ script.write('#!/bin/sh -e\n')
+ if logger.isEnabledFor(logging.DEBUG):
+ script.write("set -x\n")
+ data.emit_func(function, script, d)
- raise FuncFailed("function %s failed" % func, logfile)
+ script.write("%s\n" % function)
+ os.fchmod(script.fileno(), 0775)
+ env = {
+ 'PATH': d.getVar('PATH', True),
+ 'LC_ALL': 'C',
+ }
-def exec_task(fn, task, d):
- """Execute an BB 'task'
+ cmd = runfile
- The primary difference between executing a task versus executing
- a function is that a task exists in the task digraph, and therefore
- has dependencies amongst other tasks."""
+ if logger.isEnabledFor(logging.DEBUG):
+ logfile = LogTee(logger, sys.stdout)
+ else:
+ logfile = sys.stdout
- # Check whther this is a valid task
+ try:
+ bb.process.run(cmd, env=env, cwd=cwd, shell=False, stdin=NULL,
+ log=logfile)
+ except bb.process.CmdError:
+ logfn = d.getVar('BB_LOGFILE', True)
+ raise FuncFailed(function, logfn)
+
+def _task_data(fn, task, d):
+ localdata = data.createCopy(d)
+ localdata.setVar('BB_FILENAME', fn)
+ localdata.setVar('BB_CURRENTTASK', task[3:])
+ localdata.setVar('OVERRIDES', 'task-%s:%s' %
+ (task[3:], d.getVar('OVERRIDES', False)))
+ localdata.finalize()
+ data.expandKeys(localdata)
+ return localdata
+
+def _exec_task(fn, task, d, quieterr):
+ """Execute a BB 'task'
+
+ Execution of a task involves a bit more setup than executing a function,
+ running it with its own local metadata, and with some useful variables set.
+ """
if not data.getVarFlag(task, 'task', d):
event.fire(TaskInvalid(task, d), d)
- bb.msg.error(bb.msg.domain.Build, "No such task: %s" % task)
+ logger.error("No such task: %s" % task)
return 1
- quieterr = False
- if d.getVarFlag(task, "quieterrors") is not None:
- quieterr = True
+ logger.debug(1, "Executing task %s", task)
+
+ localdata = _task_data(fn, task, d)
+ tempdir = localdata.getVar('T', True)
+ if not tempdir:
+ bb.fatal("T variable not set, unable to build")
+
+ bb.utils.mkdirhier(tempdir)
+ loglink = os.path.join(tempdir, 'log.{0}'.format(task))
+ logfn = os.path.join(tempdir, 'log.{0}.{1}'.format(task, os.getpid()))
+ if loglink:
+ bb.utils.remove(loglink)
- try:
- bb.msg.debug(1, bb.msg.domain.Build, "Executing task %s" % task)
- old_overrides = data.getVar('OVERRIDES', d, 0)
- localdata = data.createCopy(d)
- data.setVar('OVERRIDES', 'task-%s:%s' % (task[3:], old_overrides), localdata)
- data.update_data(localdata)
- data.expandKeys(localdata)
- data.setVar('BB_FILENAME', fn, d)
- data.setVar('BB_CURRENTTASK', task[3:], d)
- event.fire(TaskStarted(task, localdata), localdata)
-
- # Setup logfiles
- t = data.getVar('T', d, 1)
- if not t:
- raise SystemExit("T variable not set, unable to build")
- bb.utils.mkdirhier(t)
- loglink = "%s/log.%s" % (t, task)
- logfile = "%s/log.%s.%s" % (t, task, str(os.getpid()))
- d.setVar("BB_LOGFILE", logfile)
-
- # Even though the log file has not yet been opened, lets create the link
- if loglink:
- try:
- os.remove(loglink)
- except OSError as e:
- pass
-
- try:
- os.symlink(logfile, loglink)
- except OSError as e:
- pass
-
- # Handle logfiles
- si = file('/dev/null', 'r')
try:
- so = file(logfile, 'w')
- except OSError as e:
- bb.msg.error(bb.msg.domain.Build, "opening log file: %s" % e)
- pass
- se = so
-
- # Dup the existing fds so we dont lose them
- osi = [os.dup(sys.stdin.fileno()), sys.stdin.fileno()]
- oso = [os.dup(sys.stdout.fileno()), sys.stdout.fileno()]
- ose = [os.dup(sys.stderr.fileno()), sys.stderr.fileno()]
-
- # Replace those fds with our own
- os.dup2(si.fileno(), osi[1])
- os.dup2(so.fileno(), oso[1])
- os.dup2(se.fileno(), ose[1])
-
- # Since we've remapped stdout and stderr, its safe for log messages to be printed there now
- # exec_func can nest so we have to save state
- origstdout = bb.event.useStdout
- bb.event.useStdout = True
-
-
- prefuncs = (data.getVarFlag(task, 'prefuncs', localdata) or "").split()
- for func in prefuncs:
- exec_func(func, localdata)
- exec_func(task, localdata)
- postfuncs = (data.getVarFlag(task, 'postfuncs', localdata) or "").split()
- for func in postfuncs:
- exec_func(func, localdata)
+ os.symlink(logfn, loglink)
+ except OSError:
+ pass
- event.fire(TaskSucceeded(task, localdata), localdata)
+ prefuncs = localdata.getVarFlag(task, 'prefuncs', expand=True)
+ postfuncs = localdata.getVarFlag(task, 'postfuncs', expand=True)
- # make stamp, or cause event and raise exception
- if not data.getVarFlag(task, 'nostamp', d) and not data.getVarFlag(task, 'selfstamp', d):
- make_stamp(task, d)
+ # Handle logfiles
+ si = file('/dev/null', 'r')
+ try:
+ logfile = file(logfn, 'w')
+ except OSError:
+ logger.exception("Opening log file '%s'", logfn)
+ pass
- except FuncFailed as message:
- # Try to extract the optional logfile
- try:
- (msg, logfile) = message
- except:
- logfile = None
- msg = message
- if not quieterr:
- bb.msg.error(bb.msg.domain.Build, "Task failed: %s" % message )
- failedevent = TaskFailed(msg, logfile, task, d)
- event.fire(failedevent, d)
- return 1
+ # Dup the existing fds so we dont lose them
+ osi = [os.dup(sys.stdin.fileno()), sys.stdin.fileno()]
+ oso = [os.dup(sys.stdout.fileno()), sys.stdout.fileno()]
+ ose = [os.dup(sys.stderr.fileno()), sys.stderr.fileno()]
- except Exception:
- from traceback import format_exc
+ # Replace those fds with our own
+ os.dup2(si.fileno(), osi[1])
+ os.dup2(logfile.fileno(), oso[1])
+ os.dup2(logfile.fileno(), ose[1])
+
+ # Ensure python logging goes to the logfile
+ handler = logging.StreamHandler(logfile)
+ handler.setFormatter(logformatter)
+ bblogger.addHandler(handler)
+
+ localdata.setVar('BB_LOGFILE', logfn)
+
+ event.fire(TaskStarted(task, localdata), localdata)
+ try:
+ for func in (prefuncs or '').split():
+ exec_func(func, localdata)
+ exec_func(task, localdata)
+ for func in (postfuncs or '').split():
+ exec_func(func, localdata)
+ except FuncFailed as exc:
if not quieterr:
- bb.msg.error(bb.msg.domain.Build, "Build of %s failed" % (task))
- bb.msg.error(bb.msg.domain.Build, format_exc())
- failedevent = TaskFailed("Task Failed", None, task, d)
- event.fire(failedevent, d)
+ logger.error(str(exc))
+ event.fire(TaskFailed(exc.name, logfn, localdata), localdata)
return 1
finally:
sys.stdout.flush()
sys.stderr.flush()
- bb.event.useStdout = origstdout
+ bblogger.removeHandler(handler)
# Restore the backup fds
os.dup2(osi[0], osi[1])
os.dup2(oso[0], oso[1])
os.dup2(ose[0], ose[1])
- # Close our logs
- si.close()
- so.close()
- se.close()
-
- if logfile and os.path.exists(logfile) and os.path.getsize(logfile) == 0:
- bb.msg.debug(2, bb.msg.domain.Build, "Zero size logfile %s, removing" % logfile)
- os.remove(logfile)
- try:
- os.remove(loglink)
- except OSError as e:
- pass
-
# Close the backup fds
os.close(osi[0])
os.close(oso[0])
os.close(ose[0])
+ si.close()
+
+ logfile.close()
+ if os.path.exists(logfn) and os.path.getsize(logfn) == 0:
+ logger.debug(2, "Zero size logfn %s, removing", logfn)
+ bb.utils.remove(logfn)
+ bb.utils.remove(loglink)
+ event.fire(TaskSucceeded(task, localdata), localdata)
+
+ if not localdata.getVarFlag(task, 'nostamp') and not localdata.getVarFlag(task, 'selfstamp'):
+ make_stamp(task, localdata)
return 0
-def extract_stamp(d, fn):
- """
- Extracts stamp format which is either a data dictionary (fn unset)
- or a dataCache entry (fn set).
- """
- if fn:
- return d.stamp[fn]
- return data.getVar('STAMP', d, 1)
+def exec_task(fn, task, d):
+ try:
+ quieterr = False
+ if d.getVarFlag(task, "quieterrors") is not None:
+ quieterr = True
+
+ return _exec_task(fn, task, d, quieterr)
+ except Exception:
+ from traceback import format_exc
+ if not quieterr:
+ logger.error("Build of %s failed" % (task))
+ logger.error(format_exc())
+ failedevent = TaskFailed("Task Failed", None, task, d)
+ event.fire(failedevent, d)
+ return 1
-def stamp_internal(task, d, file_name):
+def stamp_internal(taskname, d, file_name):
"""
Internal stamp helper function
- Removes any stamp for the given task
Makes sure the stamp directory exists
Returns the stamp path+filename
+
+ In the bitbake core, d can be a CacheData and file_name will be set.
+ When called in task context, d will be a data store, file_name will not be set
"""
- stamp = extract_stamp(d, file_name)
+ taskflagname = taskname
+ if taskname.endswith("_setscene") and taskname != "do_setscene":
+ taskflagname = taskname.replace("_setscene", "")
+
+ if file_name:
+ stamp = d.stamp[file_name]
+ extrainfo = d.stamp_extrainfo[file_name].get(taskflagname) or ""
+ else:
+ stamp = d.getVar('STAMP', True)
+ file_name = d.getVar('BB_FILENAME', True)
+ extrainfo = d.getVarFlag(taskflagname, 'stamp-extra-info', True) or ""
+
if not stamp:
return
- stamp = "%s.%s" % (stamp, task)
+
+ stamp = bb.parse.siggen.stampfile(stamp, file_name, taskname, extrainfo)
+
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):
- os.remove(stamp)
+
return stamp
def make_stamp(task, d, file_name = None):
@@ -389,7 +404,10 @@ def make_stamp(task, d, file_name = None):
(d can be a data dict or dataCache)
"""
stamp = stamp_internal(task, d, file_name)
+ # Remove the file and recreate to force timestamp
+ # change on broken NFS filesystems
if stamp:
+ bb.utils.remove(stamp)
f = open(stamp, "w")
f.close()
@@ -398,7 +416,15 @@ def del_stamp(task, d, file_name = None):
Removes a stamp for a given task
(d can be a data dict or dataCache)
"""
- stamp_internal(task, d, file_name)
+ stamp = stamp_internal(task, d, file_name)
+ bb.utils.remove(stamp)
+
+def stampfile(taskname, d, file_name = None):
+ """
+ Return the stamp for a given task
+ (d can be a data dict or dataCache)
+ """
+ return stamp_internal(taskname, d, file_name)
def add_tasks(tasklist, d):
task_deps = data.getVar('_task_deps', d)
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py
index c6f3794d5..ff42a37b4 100644
--- a/bitbake/lib/bb/cache.py
+++ b/bitbake/lib/bb/cache.py
@@ -29,27 +29,153 @@
import os
+import logging
+from collections import defaultdict, namedtuple
import bb.data
import bb.utils
+logger = logging.getLogger("BitBake.Cache")
+
try:
import cPickle as pickle
except ImportError:
import pickle
- bb.msg.note(1, bb.msg.domain.Cache, "Importing cPickle failed. Falling back to a very slow implementation.")
-
-__cache_version__ = "132"
-
-class Cache:
+ logger.info("Importing cPickle failed. "
+ "Falling back to a very slow implementation.")
+
+__cache_version__ = "136"
+
+recipe_fields = (
+ 'pn',
+ 'pv',
+ 'pr',
+ 'pe',
+ 'defaultpref',
+ 'depends',
+ 'provides',
+ 'task_deps',
+ 'stamp',
+ 'stamp_extrainfo',
+ 'broken',
+ 'not_world',
+ 'skipped',
+ 'timestamp',
+ 'packages',
+ 'packages_dynamic',
+ 'rdepends',
+ 'rdepends_pkg',
+ 'rprovides',
+ 'rprovides_pkg',
+ 'rrecommends',
+ 'rrecommends_pkg',
+ 'nocache',
+ 'variants',
+ 'file_depends',
+ 'tasks',
+ 'basetaskhashes',
+ 'hashfilename',
+)
+
+
+class RecipeInfo(namedtuple('RecipeInfo', recipe_fields)):
+ __slots__ = ()
+
+ @classmethod
+ def listvar(cls, var, metadata):
+ return cls.getvar(var, metadata).split()
+
+ @classmethod
+ def intvar(cls, var, metadata):
+ return int(cls.getvar(var, metadata) or 0)
+
+ @classmethod
+ def depvar(cls, var, metadata):
+ return bb.utils.explode_deps(cls.getvar(var, metadata))
+
+ @classmethod
+ def pkgvar(cls, var, packages, metadata):
+ return dict((pkg, cls.depvar("%s_%s" % (var, pkg), metadata))
+ for pkg in packages)
+
+ @classmethod
+ def taskvar(cls, var, tasks, metadata):
+ return dict((task, cls.getvar("%s_task-%s" % (var, task), metadata))
+ for task in tasks)
+
+ @classmethod
+ def flaglist(cls, flag, varlist, metadata):
+ return dict((var, metadata.getVarFlag(var, flag, True))
+ for var in varlist)
+
+ @classmethod
+ def getvar(cls, var, metadata):
+ return metadata.getVar(var, True) or ''
+
+ @classmethod
+ def make_optional(cls, default=None, **kwargs):
+ """Construct the namedtuple from the specified keyword arguments,
+ with every value considered optional, using the default value if
+ it was not specified."""
+ for field in cls._fields:
+ kwargs[field] = kwargs.get(field, default)
+ return cls(**kwargs)
+
+ @classmethod
+ def from_metadata(cls, filename, metadata):
+ if cls.getvar('__SKIPPED', metadata):
+ return cls.make_optional(skipped=True)
+
+ tasks = metadata.getVar('__BBTASKS', False)
+
+ pn = cls.getvar('PN', metadata)
+ packages = cls.listvar('PACKAGES', metadata)
+ if not pn in packages:
+ packages.append(pn)
+
+ return RecipeInfo(
+ tasks = tasks,
+ basetaskhashes = cls.taskvar('BB_BASEHASH', tasks, metadata),
+ hashfilename = cls.getvar('BB_HASHFILENAME', metadata),
+
+ file_depends = metadata.getVar('__depends', False),
+ task_deps = metadata.getVar('_task_deps', False) or
+ {'tasks': [], 'parents': {}},
+ variants = cls.listvar('__VARIANTS', metadata) + [''],
+
+ skipped = False,
+ timestamp = bb.parse.cached_mtime(filename),
+ packages = cls.listvar('PACKAGES', metadata),
+ pn = pn,
+ pe = cls.getvar('PE', metadata),
+ pv = cls.getvar('PV', metadata),
+ pr = cls.getvar('PR', metadata),
+ nocache = cls.getvar('__BB_DONT_CACHE', metadata),
+ defaultpref = cls.intvar('DEFAULT_PREFERENCE', metadata),
+ broken = cls.getvar('BROKEN', metadata),
+ not_world = cls.getvar('EXCLUDE_FROM_WORLD', metadata),
+ stamp = cls.getvar('STAMP', metadata),
+ stamp_extrainfo = cls.flaglist('stamp-extra-info', tasks, metadata),
+ packages_dynamic = cls.listvar('PACKAGES_DYNAMIC', metadata),
+ depends = cls.depvar('DEPENDS', metadata),
+ provides = cls.depvar('PROVIDES', metadata),
+ rdepends = cls.depvar('RDEPENDS', metadata),
+ rprovides = cls.depvar('RPROVIDES', metadata),
+ rrecommends = cls.depvar('RRECOMMENDS', metadata),
+ rprovides_pkg = cls.pkgvar('RPROVIDES', packages, metadata),
+ rdepends_pkg = cls.pkgvar('RDEPENDS', packages, metadata),
+ rrecommends_pkg = cls.pkgvar('RRECOMMENDS', packages, metadata),
+ )
+
+
+class Cache(object):
"""
BitBake Cache implementation
"""
- def __init__(self, data):
-
+ def __init__(self, data):
self.cachedir = bb.data.getVar("CACHE", data, True)
- self.clean = {}
- self.checked = {}
+ self.clean = set()
+ self.checked = set()
self.depends_cache = {}
self.data = None
self.data_fn = None
@@ -57,92 +183,74 @@ class Cache:
if self.cachedir in [None, '']:
self.has_cache = False
- bb.msg.note(1, bb.msg.domain.Cache, "Not using a cache. Set CACHE = <directory> to enable.")
+ logger.info("Not using a cache. "
+ "Set CACHE = <directory> to enable.")
return
self.has_cache = True
self.cachefile = os.path.join(self.cachedir, "bb_cache.dat")
- bb.msg.debug(1, bb.msg.domain.Cache, "Using cache in '%s'" % self.cachedir)
+ logger.debug(1, "Using cache in '%s'", 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", data)
+ deps = bb.data.getVar("__base_depends", data)
- old_mtimes = [old_mtime for f, old_mtime in deps]
+ old_mtimes = [old_mtime for _, 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')
- if version_data['BITBAKE_VER'] != bb.__version__:
- raise ValueError('Bitbake Version Mismatch')
- except EOFError:
- bb.msg.note(1, bb.msg.domain.Cache, "Truncated cache found, rebuilding...")
- self.depends_cache = {}
- except:
- bb.msg.note(1, bb.msg.domain.Cache, "Invalid cache found, rebuilding...")
- self.depends_cache = {}
- else:
- if os.path.isfile(self.cachefile):
- bb.msg.note(1, bb.msg.domain.Cache, "Out of date cache found, rebuilding...")
-
- 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
- backend but add a copy of the data to the cache.
- """
- if fn in self.clean:
- return self.depends_cache[fn][var]
-
- self.depends_cache.setdefault(fn, {})
-
- if fn != self.data_fn:
- # We're trying to access data in the cache which doesn't exist
- # yet setData hasn't been called to setup the right access. Very bad.
- bb.msg.error(bb.msg.domain.Cache, "Parsing error data_fn %s and fn %s don't match" % (self.data_fn, fn))
-
- self.cacheclean = False
- result = bb.data.getVar(var, self.data, exp)
- self.depends_cache[fn][var] = result
- return result
-
- def setData(self, virtualfn, fn, data):
- """
- Called to prime bb_cache ready to learn which variables to cache.
- Will be followed by calls to self.getVar which aren't cached
- but can be fulfilled from self.data.
- """
- self.data_fn = virtualfn
- 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
- # to the depends of fn.
- 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
- else:
- self.depends_cache[fn]["__depends"].update(depends)
-
- # Make sure the variants always make it into the cache too
- self.getVar('__VARIANTS', virtualfn, True)
+ self.load_cachefile()
+ elif os.path.isfile(self.cachefile):
+ logger.info("Out of date cache found, rebuilding...")
- self.depends_cache[virtualfn]["CACHETIMESTAMP"] = bb.parse.cached_mtime(fn)
-
- def virtualfn2realfn(self, virtualfn):
+ def load_cachefile(self):
+ with open(self.cachefile, "rb") as cachefile:
+ pickled = pickle.Unpickler(cachefile)
+ try:
+ cache_ver = pickled.load()
+ bitbake_ver = pickled.load()
+ except Exception:
+ logger.info('Invalid cache, rebuilding...')
+ return
+
+ if cache_ver != __cache_version__:
+ logger.info('Cache version mismatch, rebuilding...')
+ return
+ elif bitbake_ver != bb.__version__:
+ logger.info('Bitbake version mismatch, rebuilding...')
+ return
+
+ cachesize = os.fstat(cachefile.fileno()).st_size
+ bb.event.fire(bb.event.CacheLoadStarted(cachesize), self.data)
+
+ previous_percent = 0
+ while cachefile:
+ try:
+ key = pickled.load()
+ value = pickled.load()
+ except Exception:
+ break
+
+ self.depends_cache[key] = value
+
+ # only fire events on even percentage boundaries
+ current_progress = cachefile.tell()
+ current_percent = 100 * current_progress / cachesize
+ if current_percent > previous_percent:
+ previous_percent = current_percent
+ bb.event.fire(bb.event.CacheLoadProgress(current_progress),
+ self.data)
+
+ bb.event.fire(bb.event.CacheLoadCompleted(cachesize,
+ len(self.depends_cache)),
+ self.data)
+
+ @staticmethod
+ def virtualfn2realfn(virtualfn):
"""
Convert a virtual file name to a real one + the associated subclass keyword
"""
@@ -152,79 +260,94 @@ class Cache:
if virtualfn.startswith('virtual:'):
cls = virtualfn.split(':', 2)[1]
fn = virtualfn.replace('virtual:' + cls + ':', '')
- #bb.msg.debug(2, bb.msg.domain.Cache, "virtualfn2realfn %s to %s %s" % (virtualfn, fn, cls))
return (fn, cls)
- def realfn2virtual(self, realfn, cls):
+ @staticmethod
+ def realfn2virtual(realfn, cls):
"""
Convert a real filename + the associated subclass keyword to a virtual filename
"""
if cls == "":
- #bb.msg.debug(2, bb.msg.domain.Cache, "realfn2virtual %s and '%s' to %s" % (realfn, cls, realfn))
return realfn
- #bb.msg.debug(2, bb.msg.domain.Cache, "realfn2virtual %s and %s to %s" % (realfn, cls, "virtual:" + cls + ":" + realfn))
return "virtual:" + cls + ":" + realfn
- def loadDataFull(self, virtualfn, appends, cfgData):
+ @classmethod
+ def loadDataFull(cls, virtualfn, appends, cfgData):
"""
Return a complete set of data for fn.
To do this, we need to parse the file.
"""
- (fn, cls) = self.virtualfn2realfn(virtualfn)
-
- bb.msg.debug(1, bb.msg.domain.Cache, "Parsing %s (full)" % fn)
+ (fn, virtual) = cls.virtualfn2realfn(virtualfn)
+
+ logger.debug(1, "Parsing %s (full)", fn)
+
+ bb_data = cls.load_bbfile(fn, appends, cfgData)
+ return bb_data[virtual]
+
+ @classmethod
+ def parse(cls, filename, appends, configdata):
+ """Parse the specified filename, returning the recipe information"""
+ infos = []
+ datastores = cls.load_bbfile(filename, appends, configdata)
+ depends = set()
+ for variant, data in sorted(datastores.iteritems(),
+ key=lambda i: i[0],
+ reverse=True):
+ virtualfn = cls.realfn2virtual(filename, variant)
+ depends |= (data.getVar("__depends", False) or set())
+ if depends and not variant:
+ data.setVar("__depends", depends)
+ info = RecipeInfo.from_metadata(filename, data)
+ infos.append((virtualfn, info))
+ return infos
+
+ def load(self, filename, appends, configdata):
+ """Obtain the recipe information for the specified filename,
+ using cached values if available, otherwise parsing.
+
+ Note that if it does parse to obtain the info, it will not
+ automatically add the information to the cache or to your
+ CacheData. Use the add or add_info method to do so after
+ running this, or use loadData instead."""
+ cached = self.cacheValid(filename)
+ if cached:
+ infos = []
+ info = self.depends_cache[filename]
+ for variant in info.variants:
+ virtualfn = self.realfn2virtual(filename, variant)
+ infos.append((virtualfn, self.depends_cache[virtualfn]))
+ else:
+ logger.debug(1, "Parsing %s", filename)
+ return self.parse(filename, appends, configdata)
- bb_data = self.load_bbfile(fn, appends, cfgData)
- return bb_data[cls]
+ return cached, infos
def loadData(self, fn, appends, cfgData, cacheData):
- """
- Load a subset of data for fn.
- If the cached data is valid we do nothing,
- To do this, we need to parse the file and set the system
- to record the variables accessed.
- Return the cache status and whether the file was skipped when parsed
- """
- skipped = 0
- virtuals = 0
-
- if fn not in self.checked:
- self.cacheValidUpdate(fn)
-
- if self.cacheValid(fn):
- multi = self.getVar('__VARIANTS', fn, True)
- for cls in (multi or "").split() + [""]:
- virtualfn = self.realfn2virtual(fn, cls)
- if self.depends_cache[virtualfn]["__SKIPPED"]:
- skipped += 1
- bb.msg.debug(1, bb.msg.domain.Cache, "Skipping %s" % virtualfn)
- continue
- self.handle_data(virtualfn, cacheData)
- virtuals += 1
- return True, skipped, virtuals
-
- bb.msg.debug(1, bb.msg.domain.Cache, "Parsing %s" % fn)
-
- bb_data = self.load_bbfile(fn, appends, cfgData)
-
- for data in bb_data:
- virtualfn = self.realfn2virtual(fn, data)
- self.setData(virtualfn, fn, bb_data[data])
- if self.getVar("__SKIPPED", virtualfn):
+ """Load the recipe info for the specified filename,
+ parsing and adding to the cache if necessary, and adding
+ the recipe information to the supplied CacheData instance."""
+ skipped, virtuals = 0, 0
+
+ cached, infos = self.load(fn, appends, cfgData)
+ for virtualfn, info in infos:
+ if info.skipped:
+ logger.debug(1, "Skipping %s", virtualfn)
skipped += 1
- bb.msg.debug(1, bb.msg.domain.Cache, "Skipping %s" % virtualfn)
else:
- self.handle_data(virtualfn, cacheData)
+ self.add_info(virtualfn, info, cacheData, not cached)
virtuals += 1
- return False, skipped, virtuals
+ return cached, skipped, virtuals
def cacheValid(self, fn):
"""
Is the cache valid for fn?
Fast version, no timestamps checked.
"""
+ if fn not in self.checked:
+ self.cacheValidUpdate(fn)
+
# Is cache enabled?
if not self.has_cache:
return False
@@ -241,70 +364,67 @@ class Cache:
if not self.has_cache:
return False
- self.checked[fn] = ""
-
- # Pretend we're clean so getVar works
- self.clean[fn] = ""
+ self.checked.add(fn)
# File isn't in depends_cache
if not fn in self.depends_cache:
- bb.msg.debug(2, bb.msg.domain.Cache, "Cache: %s is not cached" % fn)
- self.remove(fn)
+ logger.debug(2, "Cache: %s is not cached", fn)
return False
mtime = bb.parse.cached_mtime_noerror(fn)
# Check file still exists
if mtime == 0:
- bb.msg.debug(2, bb.msg.domain.Cache, "Cache: %s no longer exists" % fn)
+ logger.debug(2, "Cache: %s no longer exists", fn)
self.remove(fn)
return False
+ info = self.depends_cache[fn]
# Check the file's timestamp
- if mtime != self.getVar("CACHETIMESTAMP", fn, True):
- bb.msg.debug(2, bb.msg.domain.Cache, "Cache: %s changed" % fn)
+ if mtime != info.timestamp:
+ logger.debug(2, "Cache: %s changed", fn)
self.remove(fn)
return False
# Check dependencies are still valid
- depends = self.getVar("__depends", fn, True)
+ depends = info.file_depends
if 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:
+ logger.debug(2, "Cache: %s's dependency %s was removed",
+ fn, f)
self.remove(fn)
return False
if (fmtime != old_mtime):
- bb.msg.debug(2, bb.msg.domain.Cache, "Cache: %s's dependency %s changed" % (fn, f))
+ logger.debug(2, "Cache: %s's dependency %s changed",
+ fn, f)
self.remove(fn)
return False
- #bb.msg.debug(2, bb.msg.domain.Cache, "Depends Cache: %s is clean" % fn)
- if not fn in self.clean:
- self.clean[fn] = ""
-
invalid = False
- # Mark extended class data as clean too
- multi = self.getVar('__VARIANTS', fn, True)
- for cls in (multi or "").split():
+ for cls in info.variants:
virtualfn = self.realfn2virtual(fn, cls)
- self.clean[virtualfn] = ""
- if not virtualfn in self.depends_cache:
- bb.msg.debug(2, bb.msg.domain.Cache, "Cache: %s is not cached" % virtualfn)
+ self.clean.add(virtualfn)
+ if virtualfn not in self.depends_cache:
+ logger.debug(2, "Cache: %s is not cached", virtualfn)
invalid = True
- # If any one of the varients is not present, mark cache as invalid for all
+ # If any one of the variants is not present, mark as invalid for all
if invalid:
- for cls in (multi or "").split():
+ for cls in info.variants:
virtualfn = self.realfn2virtual(fn, cls)
- bb.msg.debug(2, bb.msg.domain.Cache, "Cache: Removing %s from cache" % virtualfn)
- del self.clean[virtualfn]
- bb.msg.debug(2, bb.msg.domain.Cache, "Cache: Removing %s from cache" % fn)
- del self.clean[fn]
+ if virtualfn in self.clean:
+ logger.debug(2, "Cache: Removing %s from cache", virtualfn)
+ self.clean.remove(virtualfn)
+ if fn in self.clean:
+ logger.debug(2, "Cache: Marking %s as not clean", fn)
+ self.clean.remove(fn)
return False
+ self.clean.add(fn)
return True
def remove(self, fn):
@@ -312,154 +432,61 @@ class Cache:
Remove a fn from the cache
Called from the parser in error cases
"""
- bb.msg.debug(1, bb.msg.domain.Cache, "Removing %s from cache" % fn)
if fn in self.depends_cache:
+ logger.debug(1, "Removing %s from cache", fn)
del self.depends_cache[fn]
if fn in self.clean:
- del self.clean[fn]
+ logger.debug(1, "Marking %s as unclean", fn)
+ self.clean.remove(fn)
def sync(self):
"""
Save the cache
Called from the parser when complete (or exiting)
"""
- import copy
if not self.has_cache:
return
if self.cacheclean:
- bb.msg.note(1, bb.msg.domain.Cache, "Cache is clean, not saving.")
+ logger.debug(2, "Cache is clean, not saving.")
return
- version_data = {}
- version_data['CACHE_VER'] = __cache_version__
- version_data['BITBAKE_VER'] = bb.__version__
-
- cache_data = copy.copy(self.depends_cache)
- for fn in self.depends_cache:
- if '__BB_DONT_CACHE' in self.depends_cache[fn] and self.depends_cache[fn]['__BB_DONT_CACHE']:
- bb.msg.debug(2, bb.msg.domain.Cache, "Not caching %s, marked as not cacheable" % fn)
- del cache_data[fn]
- elif 'PV' in self.depends_cache[fn] and 'SRCREVINACTION' in self.depends_cache[fn]['PV']:
- bb.msg.error(bb.msg.domain.Cache, "Not caching %s as it had SRCREVINACTION in PV. Please report this bug" % fn)
- del cache_data[fn]
+ with open(self.cachefile, "wb") as cachefile:
+ pickler = pickle.Pickler(cachefile, pickle.HIGHEST_PROTOCOL)
+ pickler.dump(__cache_version__)
+ pickler.dump(bb.__version__)
+ for key, value in self.depends_cache.iteritems():
+ pickler.dump(key)
+ pickler.dump(value)
- p = pickle.Pickler(file(self.cachefile, "wb" ), -1 )
- p.dump([cache_data, version_data])
+ del self.depends_cache
- def mtime(self, cachefile):
+ @staticmethod
+ def mtime(cachefile):
return bb.parse.cached_mtime_noerror(cachefile)
- def handle_data(self, file_name, cacheData):
+ def add_info(self, filename, info, cacheData, parsed=None):
+ cacheData.add_from_recipeinfo(filename, info)
+ if not self.has_cache:
+ return
+
+ if 'SRCREVINACTION' not in info.pv and not info.nocache:
+ if parsed:
+ self.cacheclean = False
+ self.depends_cache[filename] = info
+
+ def add(self, file_name, data, cacheData, parsed=None):
"""
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.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 "")
- packages = (self.getVar('PACKAGES', file_name, True) or "").split()
- 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)
-
- # build PackageName to FileName lookup table
- if pn not in cacheData.pkg_pn:
- cacheData.pkg_pn[pn] = []
- cacheData.pkg_pn[pn].append(file_name)
-
- cacheData.stamp[file_name] = self.getVar('STAMP', file_name, True)
-
- cacheData.tasks[file_name] = self.getVar('__BBTASKS', file_name, True)
- for t in cacheData.tasks[file_name]:
- cacheData.basetaskhash[file_name + "." + t] = self.getVar("BB_BASEHASH_task-%s" % t, file_name, True)
-
- # build FileName to PackageName lookup table
- cacheData.pkg_fn[file_name] = pn
- cacheData.pkg_pepvpr[file_name] = (pe, pv, pr)
- cacheData.pkg_dp[file_name] = dp
-
- provides = [pn]
- for provide in (self.getVar("PROVIDES", file_name, True) or "").split():
- if provide not in provides:
- provides.append(provide)
-
- # Build forward and reverse provider hashes
- # Forward: virtual -> [filenames]
- # Reverse: PN -> [virtuals]
- if pn not in cacheData.pn_provides:
- cacheData.pn_provides[pn] = []
-
- cacheData.fn_provides[file_name] = provides
- for provide in provides:
- if provide not in cacheData.providers:
- cacheData.providers[provide] = []
- cacheData.providers[provide].append(file_name)
- if not provide in cacheData.pn_provides[pn]:
- cacheData.pn_provides[pn].append(provide)
-
- cacheData.deps[file_name] = []
- for dep in depends:
- if not dep in cacheData.deps[file_name]:
- cacheData.deps[file_name].append(dep)
- if not dep in cacheData.all_depends:
- cacheData.all_depends.append(dep)
-
- # 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()
-
- for package in packages_dynamic:
- if not package in cacheData.packages_dynamic:
- cacheData.packages_dynamic[package] = []
- cacheData.packages_dynamic[package].append(file_name)
-
- for rprovide in rprovides:
- if not rprovide in cacheData.rproviders:
- cacheData.rproviders[rprovide] = []
- cacheData.rproviders[rprovide].append(file_name)
-
- # Build hash of runtime depends and rececommends
-
- if not file_name in cacheData.rundeps:
- cacheData.rundeps[file_name] = {}
- if not file_name in cacheData.runrecs:
- cacheData.runrecs[file_name] = {}
-
- rdepends = self.getVar('RDEPENDS', file_name, True) or ""
- rrecommends = self.getVar('RRECOMMENDS', file_name, True) or ""
- for package in packages + [pn]:
- if not package in cacheData.rundeps[file_name]:
- cacheData.rundeps[file_name][package] = []
- if not package in cacheData.runrecs[file_name]:
- cacheData.runrecs[file_name][package] = []
-
- cacheData.rundeps[file_name][package] = rdepends + " " + (self.getVar("RDEPENDS_%s" % package, file_name, True) or "")
- cacheData.runrecs[file_name][package] = rrecommends + " " + (self.getVar("RRECOMMENDS_%s" % package, file_name, True) or "")
-
- # Collect files we may need for possible world-dep
- # calculations
- if not self.getVar('BROKEN', file_name, True) and not self.getVar('EXCLUDE_FROM_WORLD', file_name, True):
- cacheData.possible_world.append(file_name)
+ realfn = self.virtualfn2realfn(file_name)[0]
+ info = RecipeInfo.from_metadata(realfn, data)
+ self.add_info(file_name, info, cacheData, parsed)
- cacheData.hashfn[file_name] = self.getVar('BB_HASHFILENAME', file_name, True)
-
- # Touch this to make sure its in the cache
- self.getVar('__BB_DONT_CACHE', file_name, True)
- self.getVar('__VARIANTS', file_name, True)
-
- def load_bbfile(self, bbfile, appends, config):
+ @staticmethod
+ def load_bbfile(bbfile, appends, config):
"""
Load and parse one .bb build file
Return the data and whether parsing resulted in the file being skipped
@@ -485,13 +512,16 @@ class Cache:
try:
if appends:
data.setVar('__BBAPPEND', " ".join(appends), bb_data)
- bb_data = parse.handle(bbfile, bb_data) # read .bb data
- if chdir_back: os.chdir(oldpath)
+ bb_data = parse.handle(bbfile, bb_data)
+ if chdir_back:
+ os.chdir(oldpath)
return bb_data
except:
- if chdir_back: 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
@@ -512,11 +542,7 @@ def init(cooker):
return Cache(cooker.configuration.data)
-
-#============================================================================#
-# CacheData
-#============================================================================#
-class CacheData:
+class CacheData(object):
"""
The data structures we compile from the cached data
"""
@@ -524,26 +550,26 @@ class CacheData:
def __init__(self):
"""
Direct cache variables
- (from Cache.handle_data)
"""
- self.providers = {}
- self.rproviders = {}
- self.packages = {}
- self.packages_dynamic = {}
+ self.providers = defaultdict(list)
+ self.rproviders = defaultdict(list)
+ self.packages = defaultdict(list)
+ self.packages_dynamic = defaultdict(list)
self.possible_world = []
- self.pkg_pn = {}
+ self.pkg_pn = defaultdict(list)
self.pkg_fn = {}
self.pkg_pepvpr = {}
self.pkg_dp = {}
- self.pn_provides = {}
+ self.pn_provides = defaultdict(list)
self.fn_provides = {}
self.all_depends = []
- self.deps = {}
- self.rundeps = {}
- self.runrecs = {}
+ self.deps = defaultdict(list)
+ self.rundeps = defaultdict(lambda: defaultdict(list))
+ self.runrecs = defaultdict(lambda: defaultdict(list))
self.task_queues = {}
self.task_deps = {}
self.stamp = {}
+ self.stamp_extrainfo = {}
self.preferred = {}
self.tasks = {}
self.basetaskhash = {}
@@ -557,3 +583,55 @@ class CacheData:
self.world_target = set()
self.bbfile_priority = {}
self.bbfile_config_priorities = []
+
+ def add_from_recipeinfo(self, fn, info):
+ self.task_deps[fn] = info.task_deps
+ self.pkg_fn[fn] = info.pn
+ self.pkg_pn[info.pn].append(fn)
+ self.pkg_pepvpr[fn] = (info.pe, info.pv, info.pr)
+ self.pkg_dp[fn] = info.defaultpref
+ self.stamp[fn] = info.stamp
+ self.stamp_extrainfo[fn] = info.stamp_extrainfo
+
+ provides = [info.pn]
+ for provide in info.provides:
+ if provide not in provides:
+ provides.append(provide)
+ self.fn_provides[fn] = provides
+
+ for provide in provides:
+ self.providers[provide].append(fn)
+ if provide not in self.pn_provides[info.pn]:
+ self.pn_provides[info.pn].append(provide)
+
+ for dep in info.depends:
+ if dep not in self.deps[fn]:
+ self.deps[fn].append(dep)
+ if dep not in self.all_depends:
+ self.all_depends.append(dep)
+
+ rprovides = info.rprovides
+ for package in info.packages:
+ self.packages[package].append(fn)
+ rprovides += info.rprovides_pkg[package]
+
+ for rprovide in rprovides:
+ self.rproviders[rprovide].append(fn)
+
+ for package in info.packages_dynamic:
+ self.packages_dynamic[package].append(fn)
+
+ # Build hash of runtime depends and rececommends
+ for package in info.packages + [info.pn]:
+ self.rundeps[fn][package] = list(info.rdepends) + info.rdepends_pkg[package]
+ self.runrecs[fn][package] = list(info.rrecommends) + info.rrecommends_pkg[package]
+
+ # Collect files we may need for possible world-dep
+ # calculations
+ if not info.broken and not info.not_world:
+ self.possible_world.append(fn)
+
+ self.hashfn[fn] = info.hashfilename
+ for task, taskhash in info.basetaskhashes.iteritems():
+ identifier = '%s.%s' % (fn, task)
+ self.basetaskhash[identifier] = taskhash
diff --git a/bitbake/lib/bb/codeparser.py b/bitbake/lib/bb/codeparser.py
index ba3009212..bfffcacc3 100644
--- a/bitbake/lib/bb/codeparser.py
+++ b/bitbake/lib/bb/codeparser.py
@@ -1,16 +1,21 @@
-from pysh import pyshyacc, pyshlex
-from itertools import chain
-from bb import msg, utils
import ast
import codegen
+import logging
+import os.path
+import bb.utils, bb.data
+from itertools import chain
+from pysh import pyshyacc, pyshlex
+
+logger = logging.getLogger('BitBake.CodeParser')
PARSERCACHE_VERSION = 2
try:
import cPickle as pickle
except ImportError:
import pickle
- bb.msg.note(1, bb.msg.domain.Cache, "Importing cPickle failed. Falling back to a very slow implementation.")
+ logger.info('Importing cPickle failed. Falling back to a very slow implementation.')
+
def check_indent(codestr):
"""If the code is indented, add a top level piece of code to 'remove' the indentation"""
@@ -23,7 +28,7 @@ def check_indent(codestr):
return codestr
if codestr[i-1] is " " or codestr[i-1] is " ":
- return "if 1:\n" + codestr
+ return "if 1:\n" + codestr
return codestr
@@ -31,15 +36,18 @@ pythonparsecache = {}
shellparsecache = {}
def parser_cachefile(d):
- cachedir = bb.data.getVar("PERSISTENT_DIR", d, True) or bb.data.getVar("CACHE", d, True)
+ cachedir = (bb.data.getVar("PERSISTENT_DIR", d, True) or
+ bb.data.getVar("CACHE", d, True))
if cachedir in [None, '']:
return None
bb.utils.mkdirhier(cachedir)
cachefile = os.path.join(cachedir, "bb_codeparser.dat")
- bb.msg.debug(1, bb.msg.domain.Cache, "Using cache in '%s' for codeparser cache" % cachefile)
+ logger.debug(1, "Using cache in '%s' for codeparser cache", cachefile)
return cachefile
def parser_cache_init(d):
+ global pythonparsecache
+ global shellparsecache
cachefile = parser_cachefile(d)
if not cachefile:
@@ -54,17 +62,16 @@ def parser_cache_init(d):
if version != PARSERCACHE_VERSION:
return
- bb.codeparser.pythonparsecache = data[0]
- bb.codeparser.shellparsecache = data[1]
+ pythonparsecache = data[0]
+ shellparsecache = data[1]
def parser_cache_save(d):
-
cachefile = parser_cachefile(d)
if not cachefile:
return
p = pickle.Pickler(file(cachefile, "wb"), -1)
- p.dump([[bb.codeparser.pythonparsecache, bb.codeparser.shellparsecache], PARSERCACHE_VERSION])
+ p.dump([[pythonparsecache, shellparsecache], PARSERCACHE_VERSION])
class PythonParser():
class ValueVisitor():
@@ -129,10 +136,10 @@ class PythonParser():
funcstr = codegen.to_source(func)
argstr = codegen.to_source(arg)
except TypeError:
- msg.debug(2, None, "Failed to convert function and argument to source form")
+ logger.debug(2, 'Failed to convert function and argument to source form')
else:
- msg.debug(1, None, "Warning: in call to '%s', argument '%s' is not a literal" %
- (funcstr, argstr))
+ logger.debug(1, "Warning: in call to '%s', argument '%s' is "
+ "not a literal", funcstr, argstr)
def visit_Call(self, node):
if self.compare_name(self.getvars, node.func):
@@ -184,7 +191,7 @@ class PythonParser():
self.execs = pythonparsecache[h]["execs"]
return
- code = compile(check_indent(str(node)), "<string>", "exec",
+ code = compile(check_indent(str(node)), "<string>", "exec",
ast.PyCF_ONLY_AST)
visitor = self.ValueVisitor(code)
@@ -319,11 +326,11 @@ class ShellParser():
cmd = word[1]
if cmd.startswith("$"):
- msg.debug(1, None, "Warning: execution of non-literal command '%s'" % cmd)
+ logger.debug(1, "Warning: execution of non-literal "
+ "command '%s'", cmd)
elif cmd == "eval":
command = " ".join(word for _, word in words[1:])
self.parse_shell(command)
else:
self.allexecs.add(cmd)
break
-
diff --git a/bitbake/lib/bb/command.py b/bitbake/lib/bb/command.py
index 9a8d689e2..b88089298 100644
--- a/bitbake/lib/bb/command.py
+++ b/bitbake/lib/bb/command.py
@@ -35,12 +35,25 @@ import bb.data
async_cmds = {}
sync_cmds = {}
+
+class CommandCompleted(bb.event.Event):
+ pass
+
+class CommandExit(bb.event.Event):
+ def __init__(self, exitcode):
+ bb.event.Event.__init__(self)
+ self.exitcode = int(exitcode)
+
+class CommandFailed(CommandExit):
+ def __init__(self, message):
+ self.error = message
+ CommandExit.__init__(self, 1)
+
class Command:
"""
A queue of asynchronous commands for bitbake
"""
def __init__(self, cooker):
-
self.cooker = cooker
self.cmds_sync = CommandsSync()
self.cmds_async = CommandsAsync()
@@ -81,7 +94,8 @@ class Command:
(command, options) = self.currentAsyncCommand
commandmethod = getattr(CommandsAsync, command)
needcache = getattr( commandmethod, "needcache" )
- if needcache and self.cooker.cookerState != bb.cooker.cookerParsed:
+ if (needcache and self.cooker.state in
+ (bb.cooker.state.initial, bb.cooker.state.parsing)):
self.cooker.updateCache()
return True
else:
@@ -104,11 +118,13 @@ class Command:
self.finishAsyncCommand(traceback.format_exc())
return False
- def finishAsyncCommand(self, error = None):
- if error:
- bb.event.fire(CookerCommandFailed(error), self.cooker.configuration.event_data)
+ def finishAsyncCommand(self, msg=None, code=None):
+ if msg:
+ bb.event.fire(CommandFailed(msg), self.cooker.configuration.event_data)
+ elif code:
+ bb.event.fire(CommandExit(code), self.cooker.configuration.event_data)
else:
- bb.event.fire(CookerCommandCompleted(), self.cooker.configuration.event_data)
+ bb.event.fire(CommandCompleted(), self.cooker.configuration.event_data)
self.currentAsyncCommand = None
@@ -123,13 +139,13 @@ class CommandsSync:
"""
Trigger cooker 'shutdown' mode
"""
- command.cooker.cookerAction = bb.cooker.cookerShutdown
+ command.cooker.shutdown()
def stateStop(self, command, params):
"""
Stop the cooker
"""
- command.cooker.cookerAction = bb.cooker.cookerStop
+ command.cooker.stop()
def getCmdLineAction(self, command, params):
"""
@@ -248,33 +264,8 @@ class CommandsAsync:
"""
Parse the .bb files
"""
- command.cooker.compareRevisions()
- command.finishAsyncCommand()
+ if bb.fetch.fetcher_compare_revisions(command.cooker.configuration.data):
+ command.finishAsyncCommand(code=1)
+ else:
+ command.finishAsyncCommand()
compareRevisions.needcache = True
-
-#
-# Events
-#
-class CookerCommandCompleted(bb.event.Event):
- """
- Cooker command completed
- """
- def __init__(self):
- bb.event.Event.__init__(self)
-
-
-class CookerCommandFailed(bb.event.Event):
- """
- Cooker command completed
- """
- def __init__(self, error):
- bb.event.Event.__init__(self)
- self.error = error
-
-class CookerCommandSetExitCode(bb.event.Event):
- """
- Set the exit code for a cooker command
- """
- 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 95f38f623..e524db749 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -1,3 +1,4 @@
+#!/usr/bin/env python
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
@@ -23,37 +24,36 @@
from __future__ import print_function
import sys, os, glob, os.path, re, time
+import atexit
+import itertools
+import logging
+import multiprocessing
+import signal
import sre_constants
+import threading
from cStringIO import StringIO
from contextlib import closing
import bb
from bb import utils, data, parse, event, cache, providers, taskdata, command, runqueue
+logger = logging.getLogger("BitBake")
+collectlog = logging.getLogger("BitBake.Collection")
+buildlog = logging.getLogger("BitBake.Build")
+parselog = logging.getLogger("BitBake.Parsing")
+providerlog = logging.getLogger("BitBake.Provider")
+
class MultipleMatches(Exception):
"""
Exception raised when multiple file matches are found
"""
-class ParsingErrorsFound(Exception):
- """
- Exception raised when parsing errors are found
- """
-
class NothingToBuild(Exception):
"""
Exception raised when there is nothing to build
"""
-
-# Different states cooker can be in
-cookerClean = 1
-cookerParsing = 2
-cookerParsed = 3
-
-# Different action states the cooker can be in
-cookerRun = 1 # Cooker is running normally
-cookerShutdown = 2 # Active tasks should be brought to a controlled stop
-cookerStop = 3 # Stop, now!
+class state:
+ initial, parsing, running, shutdown, stop = range(5)
#============================================================================#
# BBCooker
@@ -65,9 +65,7 @@ class BBCooker:
def __init__(self, configuration, server):
self.status = None
-
- self.cache = None
- self.bb_cache = None
+ self.appendlist = {}
if server:
self.server = server.BitBakeServer(self)
@@ -102,13 +100,12 @@ class BBCooker:
import termios
tcattr = termios.tcgetattr(fd)
if tcattr[3] & termios.TOSTOP:
- bb.msg.note(1, bb.msg.domain.Build, "The terminal had the TOSTOP bit set, clearing...")
+ buildlog.info("The terminal had the TOSTOP bit set, clearing...")
tcattr[3] = tcattr[3] & ~termios.TOSTOP
termios.tcsetattr(fd, termios.TCSANOW, tcattr)
self.command = bb.command.Command(self)
- self.cookerState = cookerClean
- self.cookerAction = cookerRun
+ self.state = state.initial
def parseConfiguration(self):
@@ -118,7 +115,7 @@ class BBCooker:
if nice:
curnice = os.nice(0)
nice = int(nice) - curnice
- bb.msg.note(2, bb.msg.domain.Build, "Renice to %s " % os.nice(nice))
+ buildlog.verbose("Renice to %s " % os.nice(nice))
def parseCommandLine(self):
# Parse any commandline into actions
@@ -126,11 +123,11 @@ class BBCooker:
self.commandlineAction = None
if 'world' in self.configuration.pkgs_to_build:
- bb.msg.error(bb.msg.domain.Build, "'world' is not a valid target for --environment.")
+ buildlog.error("'world' is not a valid target for --environment.")
elif len(self.configuration.pkgs_to_build) > 1:
- bb.msg.error(bb.msg.domain.Build, "Only one target can be used with the --environment option.")
+ buildlog.error("Only one target can be used with the --environment option.")
elif self.configuration.buildfile and len(self.configuration.pkgs_to_build) > 0:
- bb.msg.error(bb.msg.domain.Build, "No target should be used with the --environment and --buildfile options.")
+ buildlog.error("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:
@@ -148,13 +145,13 @@ class BBCooker:
self.commandlineAction = ["generateDotGraph", self.configuration.pkgs_to_build, self.configuration.cmd]
else:
self.commandlineAction = None
- bb.msg.error(bb.msg.domain.Build, "Please specify a package name for dependency graph generation.")
+ buildlog.error("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.msg.error(bb.msg.domain.Build, "Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.")
+ buildlog.error("Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.")
def runCommands(self, server, data, abort):
"""
@@ -180,8 +177,8 @@ class BBCooker:
preferred_versions[pn] = (pref_ver, pref_file)
latest_versions[pn] = (last_ver, last_file)
- bb.msg.plain("%-35s %25s %25s" % ("Package Name", "Latest Version", "Preferred Version"))
- bb.msg.plain("%-35s %25s %25s\n" % ("============", "==============", "================="))
+ logger.plain("%-35s %25s %25s", "Package Name", "Latest Version", "Preferred Version")
+ logger.plain("%-35s %25s %25s\n", "============", "==============", "=================")
for p in sorted(pkg_pn):
pref = preferred_versions[p]
@@ -193,11 +190,7 @@ class BBCooker:
if pref == latest:
prefstr = ""
- bb.msg.plain("%-35s %25s %25s" % (p, lateststr, prefstr))
-
- def compareRevisions(self):
- ret = bb.fetch.fetcher_compare_revisons(self.configuration.data)
- bb.event.fire(bb.command.CookerCommandSetExitCode(ret), self.configuration.event_data)
+ logger.plain("%-35s %25s %25s", p, lateststr, prefstr)
def showEnvironment(self, buildfile = None, pkgs_to_build = []):
"""
@@ -207,8 +200,6 @@ class BBCooker:
envdata = None
if buildfile:
- self.cb = None
- self.bb_cache = bb.cache.init(self)
fn = self.matchFile(buildfile)
elif len(pkgs_to_build) == 1:
self.updateCache()
@@ -229,28 +220,22 @@ class BBCooker:
if fn:
try:
- envdata = self.bb_cache.loadDataFull(fn, self.get_file_appends(fn), self.configuration.data)
- except IOError as e:
- bb.msg.error(bb.msg.domain.Parsing, "Unable to read %s: %s" % (fn, e))
- raise
- except Exception as e:
- bb.msg.error(bb.msg.domain.Parsing, "%s" % e)
+ envdata = bb.cache.Cache.loadDataFull(fn, self.get_file_appends(fn), self.configuration.data)
+ except Exception, e:
+ parselog.exception("Unable to read %s", fn)
raise
# emit variables and shell functions
- try:
- data.update_data(envdata)
- 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)
+ data.update_data(envdata)
+ with closing(StringIO()) as env:
+ data.emit_env(env, envdata, True)
+ logger.plain(env.getvalue())
# emit the metadata which isnt valid shell
data.expandKeys(envdata)
for e in envdata.keys():
if data.getVarFlag( e, 'python', envdata ):
- bb.msg.plain("\npython %s () {\n%s}\n" % (e, data.getVar(e, envdata, 1)))
+ logger.plain("\npython %s () {\n%s}\n", e, data.getVar(e, envdata, 1))
def generateDepTreeData(self, pkgs_to_build, task):
"""
@@ -290,7 +275,7 @@ class BBCooker:
depend_tree["rdepends-pkg"] = {}
depend_tree["rrecs-pkg"] = {}
- for task in range(len(rq.rqdata.runq_fnid)):
+ for task in xrange(len(rq.rqdata.runq_fnid)):
taskname = rq.rqdata.runq_task[task]
fnid = rq.rqdata.runq_fnid[task]
fn = taskdata.fn_index[fnid]
@@ -374,7 +359,7 @@ class BBCooker:
for rdepend in depgraph["rdepends-pn"][pn]:
print('"%s" -> "%s" [style=dashed]' % (pn, rdepend), file=depends_file)
print("}", file=depends_file)
- bb.msg.plain("PN dependencies saved to 'pn-depends.dot'")
+ logger.info("PN dependencies saved to 'pn-depends.dot'")
depends_file = file('package-depends.dot', 'w' )
print("digraph depends {", file=depends_file)
@@ -395,7 +380,7 @@ class BBCooker:
for rdepend in depgraph["rrecs-pkg"][package]:
print('"%s" -> "%s" [style=dashed]' % (package, rdepend), file=depends_file)
print("}", file=depends_file)
- bb.msg.plain("Package dependencies saved to 'package-depends.dot'")
+ logger.info("Package dependencies saved to 'package-depends.dot'")
tdepends_file = file('task-depends.dot', 'w' )
print("digraph depends {", file=tdepends_file)
@@ -407,7 +392,7 @@ class BBCooker:
for dep in depgraph["tdepends"][task]:
print('"%s" -> "%s"' % (task, dep), file=tdepends_file)
print("}", file=tdepends_file)
- bb.msg.plain("Task dependencies saved to 'task-depends.dot'")
+ logger.info("Task dependencies saved to 'task-depends.dot'")
def buildDepgraph( self ):
all_depends = self.status.all_depends
@@ -431,10 +416,10 @@ class BBCooker:
try:
(providee, provider) = p.split(':')
except:
- bb.msg.fatal(bb.msg.domain.Provider, "Malformed option in PREFERRED_PROVIDERS variable: %s" % p)
+ providerlog.critical("Malformed option in PREFERRED_PROVIDERS variable: %s" % p)
continue
if providee in self.status.preferred and self.status.preferred[providee] != provider:
- bb.msg.error(bb.msg.domain.Provider, "conflicting preferences for %s: both %s and %s specified" % (providee, provider, self.status.preferred[providee]))
+ providerlog.error("conflicting preferences for %s: both %s and %s specified", providee, provider, self.status.preferred[providee])
self.status.preferred[providee] = provider
# Calculate priorities for each file
@@ -443,8 +428,7 @@ class BBCooker:
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))
+ collectlog.warn("No bb files matched BBFILE_PATTERN_%s '%s'" % (collection, pattern))
def buildWorldTargetList(self):
"""
@@ -452,19 +436,19 @@ class BBCooker:
"""
all_depends = self.status.all_depends
pn_provides = self.status.pn_provides
- bb.msg.debug(1, bb.msg.domain.Parsing, "collating packages for \"world\"")
+ parselog.debug(1, "collating packages for \"world\"")
for f in self.status.possible_world:
terminal = True
pn = self.status.pkg_fn[f]
for p in pn_provides[pn]:
if p.startswith('virtual/'):
- bb.msg.debug(2, bb.msg.domain.Parsing, "World build skipping %s due to %s provider starting with virtual/" % (f, p))
+ parselog.debug(2, "World build skipping %s due to %s provider starting with virtual/", f, p)
terminal = False
break
for pf in self.status.providers[p]:
if self.status.pkg_fn[pf] != pn:
- bb.msg.debug(2, bb.msg.domain.Parsing, "World build skipping %s due to both us and %s providing %s" % (f, pf, p))
+ parselog.debug(2, "World build skipping %s due to both us and %s providing %s", f, pf, p)
terminal = False
break
if terminal:
@@ -478,8 +462,9 @@ class BBCooker:
"""Drop off into a shell"""
try:
from bb import shell
- except ImportError as details:
- bb.msg.fatal(bb.msg.domain.Parsing, "Sorry, shell not available (%s)" % details )
+ except ImportError:
+ parselog.exception("Interactive mode not available")
+ sys.exit(1)
else:
shell.start( self )
@@ -493,70 +478,56 @@ class BBCooker:
path, _ = os.path.split(path)
def parseConfigurationFiles(self, files):
- try:
- data = self.configuration.data
-
- bb.parse.init_parser(data, self.configuration.dump_signatures)
- for f in files:
- data = bb.parse.handle(f, data)
-
- 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)
+ def _parse(f, data, include=False):
+ try:
+ return bb.parse.handle(f, data, include)
+ except (IOError, bb.parse.ParseError) as exc:
+ parselog.critical("Unable to parse %s: %s" % (f, exc))
+ sys.exit(1)
- # 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))
+ data = self.configuration.data
+ bb.parse.init_parser(data)
+ for f in files:
+ data = _parse(f, data)
- bb.data.delVar('LAYERDIR', data)
+ layerconf = self._findLayerConf()
+ if layerconf:
+ parselog.debug(2, "Found bblayers.conf (%s)", layerconf)
+ data = _parse(layerconf, data)
- if not data.getVar("BBPATH", True):
- bb.fatal("The BBPATH variable is not set")
+ layers = (bb.data.getVar('BBLAYERS', data, True) or "").split()
- data = bb.parse.handle(os.path.join("conf", "bitbake.conf"), data)
+ data = bb.data.createCopy(data)
+ for layer in layers:
+ parselog.debug(2, "Adding layer %s", layer)
+ bb.data.setVar('LAYERDIR', layer, data)
+ data = _parse(os.path.join(layer, "conf", "layer.conf"), data)
+ data.expandVarref('LAYERDIR')
- self.configuration.data = data
+ bb.data.delVar('LAYERDIR', data)
- # Handle any INHERITs and inherit the base class
- inherits = ["base"] + (bb.data.getVar('INHERIT', self.configuration.data, True ) or "").split()
- for inherit in inherits:
- self.configuration.data = bb.parse.handle(os.path.join('classes', '%s.bbclass' % inherit), self.configuration.data, True )
+ if not data.getVar("BBPATH", True):
+ raise SystemExit("The BBPATH variable is not set")
- # 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 bb.data.getVar('__BBHANDLERS', self.configuration.data) or []:
- bb.event.register(var, bb.data.getVar(var, self.configuration.data))
+ data = _parse(os.path.join("conf", "bitbake.conf"), data)
- if bb.data.getVar("BB_WORKERCONTEXT", self.configuration.data) is None:
- bb.fetch.fetcher_init(self.configuration.data)
- bb.codeparser.parser_cache_init(self.configuration.data)
+ self.configuration.data = data
- bb.parse.init_parser(data, self.configuration.dump_signatures)
+ # Handle any INHERITs and inherit the base class
+ inherits = ["base"] + (bb.data.getVar('INHERIT', self.configuration.data, True ) or "").split()
+ for inherit in inherits:
+ self.configuration.data = _parse(os.path.join('classes', '%s.bbclass' % inherit), self.configuration.data, True )
- bb.event.fire(bb.event.ConfigParsed(), self.configuration.data)
+ # 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 bb.data.getVar('__BBHANDLERS', self.configuration.data) or []:
+ bb.event.register(var, bb.data.getVar(var, self.configuration.data))
- except IOError as e:
- bb.msg.fatal(bb.msg.domain.Parsing, "Error when parsing %s: %s" % (files, str(e)))
- except bb.parse.ParseError as details:
- bb.msg.fatal(bb.msg.domain.Parsing, "Unable to parse %s (%s)" % (files, details) )
+ if bb.data.getVar("BB_WORKERCONTEXT", self.configuration.data) is None:
+ bb.fetch.fetcher_init(self.configuration.data)
+ bb.codeparser.parser_cache_init(self.configuration.data)
+ bb.parse.init_parser(data)
+ bb.event.fire(bb.event.ConfigParsed(), self.configuration.data)
def handleCollections( self, collections ):
"""Handle collections"""
@@ -565,22 +536,22 @@ class BBCooker:
for c in collection_list:
regex = bb.data.getVar("BBFILE_PATTERN_%s" % c, self.configuration.data, 1)
if regex == None:
- bb.msg.error(bb.msg.domain.Parsing, "BBFILE_PATTERN_%s not defined" % c)
+ parselog.error("BBFILE_PATTERN_%s not defined" % c)
continue
priority = bb.data.getVar("BBFILE_PRIORITY_%s" % c, self.configuration.data, 1)
if priority == None:
- bb.msg.error(bb.msg.domain.Parsing, "BBFILE_PRIORITY_%s not defined" % c)
+ parselog.error("BBFILE_PRIORITY_%s not defined" % c)
continue
try:
cre = re.compile(regex)
except re.error:
- bb.msg.error(bb.msg.domain.Parsing, "BBFILE_PATTERN_%s \"%s\" is not a valid regular expression" % (c, regex))
+ parselog.error("BBFILE_PATTERN_%s \"%s\" is not a valid regular expression", c, regex)
continue
try:
pri = int(priority)
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))
+ parselog.error("invalid value for BBFILE_PRIORITY_%s: \"%s\"", c, priority)
def buildSetVars(self):
"""
@@ -596,7 +567,7 @@ class BBCooker:
"""
bf = os.path.abspath(buildfile)
- (filelist, masked) = self.collect_bbfiles()
+ filelist, masked = self.collect_bbfiles()
try:
os.stat(bf)
return [bf]
@@ -616,9 +587,9 @@ class BBCooker:
"""
matches = self.matchFiles(buildfile)
if len(matches) != 1:
- bb.msg.error(bb.msg.domain.Parsing, "Unable to match %s (%s matches found):" % (buildfile, len(matches)))
+ parselog.error("Unable to match %s (%s matches found):" % (buildfile, len(matches)))
for f in matches:
- bb.msg.error(bb.msg.domain.Parsing, " %s" % f)
+ parselog.error(" %s" % f)
raise MultipleMatches
return matches[0]
@@ -635,22 +606,23 @@ class BBCooker:
if (task == None):
task = self.configuration.cmd
- self.bb_cache = bb.cache.init(self)
- self.status = bb.cache.CacheData()
-
- (fn, cls) = self.bb_cache.virtualfn2realfn(buildfile)
+ (fn, cls) = bb.cache.Cache.virtualfn2realfn(buildfile)
buildfile = self.matchFile(fn)
- fn = self.bb_cache.realfn2virtual(buildfile, cls)
+ fn = bb.cache.Cache.realfn2virtual(buildfile, cls)
self.buildSetVars()
- # Load data into the cache for fn and parse the loaded cache data
- the_data = self.bb_cache.loadDataFull(fn, self.get_file_appends(fn), self.configuration.data)
- self.bb_cache.setData(fn, buildfile, the_data)
- self.bb_cache.handle_data(fn, self.status)
+ self.status = bb.cache.CacheData()
+ infos = bb.cache.Cache.parse(fn, self.get_file_appends(fn), \
+ self.configuration.data)
+ maininfo = None
+ for vfn, info in infos:
+ self.status.add_from_recipeinfo(vfn, info)
+ if vfn == fn:
+ maininfo = info
# Tweak some variables
- item = self.bb_cache.getVar('PN', fn, True)
+ item = maininfo.pn
self.status.ignored_dependencies = set()
self.status.bbfile_priority[fn] = 1
@@ -662,7 +634,7 @@ class BBCooker:
# Remove stamp for target if force mode active
if self.configuration.force:
- bb.msg.note(2, bb.msg.domain.RunQueue, "Remove stamp %s, %s" % (task, fn))
+ logger.verbose("Remove stamp %s, %s", task, fn)
bb.build.del_stamp('do_%s' % task, self.status, fn)
# Setup taskdata structure
@@ -682,17 +654,17 @@ class BBCooker:
def buildFileIdle(server, rq, abort):
- if abort or self.cookerAction == cookerStop:
+ if abort or self.state == state.stop:
rq.finish_runqueue(True)
- elif self.cookerAction == cookerShutdown:
+ elif self.state == state.shutdown:
rq.finish_runqueue(False)
failures = 0
try:
retval = rq.execute_runqueue()
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
+ buildlog.error("'%s' failed" % taskdata.fn_index[fnid])
+ failures += len(exc.args)
retval = False
if not retval:
bb.event.fire(bb.event.BuildCompleted(buildname, item, failures), self.configuration.event_data)
@@ -719,17 +691,17 @@ class BBCooker:
targets = self.checkPackages(targets)
def buildTargetsIdle(server, rq, abort):
- if abort or self.cookerAction == cookerStop:
+ if abort or self.state == state.stop:
rq.finish_runqueue(True)
- elif self.cookerAction == cookerShutdown:
+ elif self.state == state.shutdown:
rq.finish_runqueue(False)
failures = 0
try:
retval = rq.execute_runqueue()
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
+ buildlog.error("'%s' failed" % taskdata.fn_index[fnid])
+ failures += len(exc.args)
retval = False
if not retval:
bb.event.fire(bb.event.BuildCompleted(buildname, targets, failures), self.configuration.event_data)
@@ -764,12 +736,10 @@ class BBCooker:
self.server.register_idle_function(buildTargetsIdle, rq)
def updateCache(self):
-
- if self.cookerState == cookerParsed:
+ if self.state == state.running:
return
- if self.cookerState != cookerParsing:
-
+ if self.state != state.parsing:
self.parseConfiguration ()
# Import Psyco if available and not disabled
@@ -779,11 +749,11 @@ class BBCooker:
try:
import psyco
except ImportError:
- bb.msg.note(1, bb.msg.domain.Collection, "Psyco JIT Compiler (http://psyco.sf.net) not available. Install it to increase performance.")
+ collectlog.info("Psyco JIT Compiler (http://psyco.sf.net) not available. Install it to increase performance.")
else:
psyco.bind( CookerParser.parse_next )
else:
- bb.msg.note(1, bb.msg.domain.Collection, "You have disabled Psyco. This decreases performance.")
+ collectlog.info("You have disabled Psyco. This decreases performance.")
self.status = bb.cache.CacheData()
@@ -799,12 +769,12 @@ class BBCooker:
bb.data.renameVar("__depends", "__base_depends", self.configuration.data)
self.parser = CookerParser(self, filelist, masked)
- self.cookerState = cookerParsing
+ self.state = state.parsing
if not self.parser.parse_next():
- bb.msg.debug(1, bb.msg.domain.Collection, "parsing complete")
+ collectlog.debug(1, "parsing complete")
self.buildDepgraph()
- self.cookerState = cookerParsed
+ self.state = state.running
return None
return True
@@ -848,9 +818,8 @@ class BBCooker:
def collect_bbfiles( self ):
"""Collect all available .bb build files"""
parsed, cached, skipped, masked = 0, 0, 0, 0
- self.bb_cache = bb.cache.init(self)
- bb.msg.debug(1, bb.msg.domain.Collection, "collecting .bb files")
+ collectlog.debug(1, "collecting .bb files")
files = (data.getVar( "BBFILES", self.configuration.data, 1 ) or "").split()
data.setVar("BBFILES", " ".join(files), self.configuration.data)
@@ -859,7 +828,7 @@ class BBCooker:
files = self.get_bbfiles()
if not len(files):
- bb.msg.error(bb.msg.domain.Collection, "no recipe files to build, check your BBPATH and BBFILES?")
+ collectlog.error("no recipe files to build, check your BBPATH and BBFILES?")
bb.event.fire(CookerExit(), self.configuration.event_data)
newfiles = set()
@@ -879,13 +848,14 @@ class BBCooker:
try:
bbmask_compiled = re.compile(bbmask)
except sre_constants.error:
- bb.msg.fatal(bb.msg.domain.Collection, "BBMASK is not a valid regular expression.")
+ collectlog.critical("BBMASK is not a valid regular expression, ignoring.")
+ return list(newfiles), 0
bbfiles = []
bbappend = []
for f in newfiles:
if bbmask and bbmask_compiled.search(f):
- bb.msg.debug(1, bb.msg.domain.Collection, "skipping masked file %s" % f)
+ collectlog.debug(1, "skipping masked file %s", f)
masked += 1
continue
if f.endswith('.bb'):
@@ -893,26 +863,25 @@ class BBCooker:
elif f.endswith('.bbappend'):
bbappend.append(f)
else:
- bb.msg.note(1, bb.msg.domain.Collection, "File %s of unknown filetype in BBFILES? Ignorning..." % f)
+ collectlog.debug(1, "skipping %s: unknown file extension", f)
# Build a list of .bbappend files for each .bb file
- self.appendlist = {}
for f in bbappend:
base = os.path.basename(f).replace('.bbappend', '.bb')
if not base in self.appendlist:
self.appendlist[base] = []
self.appendlist[base].append(f)
-
+
return (bbfiles, masked)
def get_file_appends(self, fn):
"""
Returns a list of .bbappend files to apply to fn
- NB: collect_files() must have been called prior to this
+ NB: collect_bbfiles() must have been called prior to this
"""
f = os.path.basename(fn)
if f in self.appendlist:
- return self.appendlist[f]
+ return self.appendlist[f]
return []
def pre_serve(self):
@@ -924,6 +893,11 @@ class BBCooker:
def post_serve(self):
bb.event.fire(CookerExit(), self.configuration.event_data)
+ def shutdown(self):
+ self.state = state.shutdown
+
+ def stop(self):
+ self.state = state.stop
def server_main(cooker, func, *args):
cooker.pre_serve()
@@ -974,65 +948,119 @@ class CookerExit(bb.event.Event):
def __init__(self):
bb.event.Event.__init__(self)
-class CookerParser:
+def parse_file(task):
+ filename, appends = task
+ try:
+ return True, bb.cache.Cache.parse(filename, appends, parse_file.cfg)
+ except Exception, exc:
+ exc.recipe = filename
+ raise exc
+
+class CookerParser(object):
def __init__(self, cooker, filelist, masked):
- # Internal data
self.filelist = filelist
self.cooker = cooker
+ self.cfgdata = cooker.configuration.data
# Accounting statistics
self.parsed = 0
self.cached = 0
self.error = 0
self.masked = masked
- self.total = len(filelist)
self.skipped = 0
self.virtuals = 0
+ self.total = len(filelist)
- # Pointer to the next file to parse
- self.pointer = 0
+ self.current = 0
+ self.num_processes = int(self.cfgdata.getVar("BB_NUMBER_PARSE_THREADS", True) or
+ multiprocessing.cpu_count())
+
+ self.bb_cache = bb.cache.Cache(self.cfgdata)
+ self.fromcache = []
+ self.willparse = []
+ for filename in self.filelist:
+ appends = self.cooker.get_file_appends(filename)
+ if not self.bb_cache.cacheValid(filename):
+ self.willparse.append((filename, appends))
+ else:
+ self.fromcache.append((filename, appends))
+ self.toparse = self.total - len(self.fromcache)
+ self.progress_chunk = max(self.toparse / 100, 1)
- def parse_next(self):
- cooker = self.cooker
- if self.pointer < len(self.filelist):
- f = self.filelist[self.pointer]
+ self.start()
- try:
- fromCache, skipped, virtuals = cooker.bb_cache.loadData(f, cooker.get_file_appends(f), cooker.configuration.data, cooker.status)
- if fromCache:
- self.cached += 1
- else:
- self.parsed += 1
-
- self.skipped += skipped
- self.virtuals += virtuals
-
- except IOError as e:
- self.error += 1
- cooker.bb_cache.remove(f)
- bb.msg.error(bb.msg.domain.Collection, "opening %s: %s" % (f, e))
- pass
- except KeyboardInterrupt:
- cooker.bb_cache.remove(f)
- cooker.bb_cache.sync()
- raise
- 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))
- except:
- cooker.bb_cache.remove(f)
- raise
- finally:
- bb.event.fire(bb.event.ParseProgress(self.cached, self.parsed, self.skipped, self.masked, self.virtuals, self.error, self.total), cooker.configuration.event_data)
+ def start(self):
+ def init(cfg):
+ signal.signal(signal.SIGINT, signal.SIG_IGN)
+ parse_file.cfg = cfg
+
+ bb.event.fire(bb.event.ParseStarted(self.toparse), self.cfgdata)
- self.pointer += 1
+ self.pool = multiprocessing.Pool(self.num_processes, init, [self.cfgdata])
+ parsed = self.pool.imap(parse_file, self.willparse)
+ self.pool.close()
- if self.pointer >= self.total:
- cooker.bb_cache.sync()
- bb.codeparser.parser_cache_save(cooker.configuration.data)
- if self.error > 0:
- raise ParsingErrorsFound
+ self.results = itertools.chain(self.load_cached(), parsed)
+
+ def shutdown(self, clean=True):
+ if clean:
+ event = bb.event.ParseCompleted(self.cached, self.parsed,
+ self.skipped, self.masked,
+ self.virtuals, self.error,
+ self.total)
+ bb.event.fire(event, self.cfgdata)
+ else:
+ self.pool.terminate()
+ self.pool.join()
+
+ sync = threading.Thread(target=self.bb_cache.sync)
+ sync.start()
+ atexit.register(lambda: sync.join())
+
+ codesync = threading.Thread(target=bb.codeparser.parser_cache_save(self.cooker.configuration.data))
+ codesync.start()
+ atexit.register(lambda: codesync.join())
+
+ def load_cached(self):
+ for filename, appends in self.fromcache:
+ cached, infos = self.bb_cache.load(filename, appends, self.cfgdata)
+ yield not cached, infos
+
+ def parse_next(self):
+ try:
+ parsed, result = self.results.next()
+ except StopIteration:
+ self.shutdown()
return False
+ except KeyboardInterrupt:
+ self.shutdown(clean=False)
+ raise
+ except Exception as exc:
+ self.shutdown(clean=False)
+ bb.fatal('Error parsing %s: %s' % (exc.recipe, exc))
+
+ self.current += 1
+ self.virtuals += len(result)
+ if parsed:
+ self.parsed += 1
+ if self.parsed % self.progress_chunk == 0:
+ bb.event.fire(bb.event.ParseProgress(self.parsed),
+ self.cfgdata)
+ else:
+ self.cached += 1
+
+ for virtualfn, info in result:
+ if info.skipped:
+ self.skipped += 1
+ else:
+ self.bb_cache.add_info(virtualfn, info, self.cooker.status,
+ parsed=parsed)
return True
+
+ def reparse(self, filename):
+ infos = self.bb_cache.parse(filename,
+ self.cooker.get_file_appends(filename),
+ self.cfgdata)
+ for vfn, info in infos:
+ self.cooker.status.add_from_recipeinfo(vfn, info)
diff --git a/bitbake/lib/bb/data.py b/bitbake/lib/bb/data.py
index 0aa8b404c..50f2218a7 100644
--- a/bitbake/lib/bb/data.py
+++ b/bitbake/lib/bb/data.py
@@ -161,7 +161,7 @@ def expandKeys(alterdata, readdata = None):
def inheritFromOS(d):
"""Inherit variables from the environment."""
- exportlist = bb.utils.preserved_envvars_export_list()
+ exportlist = bb.utils.preserved_envvars_exported()
for s in os.environ.keys():
try:
setVar(s, os.environ[s], d)
@@ -192,7 +192,8 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False):
return 0
if all:
- o.write('# %s=%s\n' % (var, oval))
+ commentVal = re.sub('\n', '\n#', str(oval))
+ o.write('# %s=%s\n' % (var, commentVal))
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
@@ -201,7 +202,7 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False):
if unexport:
o.write('unset %s\n' % varExpanded)
- return 1
+ return 0
if not val:
return 0
@@ -219,8 +220,9 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False):
# if we're going to output this within doublequotes,
# to a shell, we need to escape the quotes in the var
alter = re.sub('"', '\\"', val.strip())
+ alter = re.sub('\n', ' \\\n', alter)
o.write('%s="%s"\n' % (varExpanded, alter))
- return 1
+ return 0
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."""
@@ -259,7 +261,7 @@ def emit_func(func, o=sys.__stdout__, d = init()):
for key in keys:
emit_var(key, o, d, False) and o.write('\n')
- emit_var(func, o, d, False) and o.write('\n')
+ emit_var(func, o, d, False) and o.write('\n')
newdeps = bb.codeparser.ShellParser().parse_shell(d.getVar(func, True))
seen = set()
while newdeps:
@@ -299,7 +301,7 @@ def build_dependencies(key, keys, shelldeps, d):
deps |= set((d.getVarFlag(key, "vardeps", True) or "").split())
deps -= set((d.getVarFlag(key, "vardepsexclude", True) or "").split())
except:
- bb.note("Error expanding variable %s" % key)
+ bb.note("Error expanding variable %s" % key)
raise
return deps
#bb.note("Variable %s references %s and calls %s" % (key, str(deps), str(execs)))
@@ -311,12 +313,10 @@ def generate_dependencies(d):
shelldeps = set(key for key in keys if d.getVarFlag(key, "export") and not d.getVarFlag(key, "unexport"))
deps = {}
- taskdeps = {}
tasklist = bb.data.getVar('__BBTASKS', d) or []
for task in tasklist:
deps[task] = build_dependencies(task, keys, shelldeps, d)
-
newdeps = deps[task]
seen = set()
while newdeps:
@@ -328,9 +328,8 @@ def generate_dependencies(d):
deps[dep] = build_dependencies(dep, keys, shelldeps, d)
newdeps |= deps[dep]
newdeps -= seen
- taskdeps[task] = seen | newdeps
#print "For %s: %s" % (task, str(taskdeps[task]))
- return taskdeps, deps
+ return tasklist, deps
def inherits_class(klass, d):
val = getVar('__inherit_cache', d) or []
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py
index 30f9cbc2d..83e6f70cd 100644
--- a/bitbake/lib/bb/data_smart.py
+++ b/bitbake/lib/bb/data_smart.py
@@ -28,17 +28,21 @@ 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, re, sys
-import bb
+import copy, re
+from collections import MutableMapping
+import logging
+import bb, bb.codeparser
from bb import utils
from bb.COW import COWDictBase
+logger = logging.getLogger("BitBake.Data")
__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"\${@.+?}")
+
class VariableParse:
def __init__(self, varname, d, val = None):
self.varname = varname
@@ -69,11 +73,24 @@ class VariableParse:
self.references |= parser.references
self.execs |= parser.execs
- value = utils.better_eval(codeobj, {"d": self.d})
+ value = utils.better_eval(codeobj, DataContext(self.d))
return str(value)
-class DataSmart:
+class DataContext(dict):
+ def __init__(self, metadata, **kwargs):
+ self.metadata = metadata
+ dict.__init__(self, **kwargs)
+ self['d'] = metadata
+
+ def __missing__(self, key):
+ value = self.metadata.getVar(key, True)
+ if value is None or self.metadata.getVarFlag(key, 'func'):
+ raise KeyError(key)
+ else:
+ return value
+
+class DataSmart(MutableMapping):
def __init__(self, special = COWDictBase.copy(), seen = COWDictBase.copy() ):
self.dict = {}
@@ -100,10 +117,8 @@ class DataSmart:
s = __expand_python_regexp__.sub(varparse.python_sub, s)
if s == olds:
break
- except KeyboardInterrupt:
- raise
- except:
- bb.msg.note(1, bb.msg.domain.Data, "%s:%s while evaluating:\n%s" % (sys.exc_info()[0], sys.exc_info()[1], s))
+ except Exception:
+ logger.exception("Error evaluating '%s'", s)
raise
varparse.value = s
@@ -115,7 +130,7 @@ class DataSmart:
def expand(self, s, varname):
return self.expandWithRefs(s, varname).value
-
+
def finalize(self):
"""Performs final steps upon the datastore, including application of overrides"""
@@ -149,9 +164,9 @@ class DataSmart:
for var in vars:
name = var[:-l]
try:
- self[name] = self[var]
+ self.setVar(name, self.getVar(var, False))
except Exception:
- bb.msg.note(1, bb.msg.domain.Data, "Untracked delVar")
+ logger.info("Untracked delVar")
# now on to the appends and prepends
for op in __setvar_keyword__:
@@ -277,13 +292,13 @@ class DataSmart:
self._makeShadowCopy(var)
self.dict[var][flag] = flagvalue
- def getVarFlag(self, var, flag, exp = False):
+ def getVarFlag(self, var, flag, expand=False):
local_var = self._findVar(var)
value = None
if local_var:
if flag in local_var:
value = copy.copy(local_var[flag])
- if exp and value:
+ if expand and value:
value = self.expand(value, None)
return value
@@ -347,23 +362,53 @@ class DataSmart:
return data
- # Dictionary Methods
- def keys(self):
- def _keys(d, mykey):
+ def expandVarref(self, variable, parents=False):
+ """Find all references to variable in the data and expand it
+ in place, optionally descending to parent datastores."""
+
+ if parents:
+ keys = iter(self)
+ else:
+ keys = self.localkeys()
+
+ ref = '${%s}' % variable
+ value = self.getVar(variable, False)
+ for key in keys:
+ referrervalue = self.getVar(key, False)
+ if referrervalue and ref in referrervalue:
+ self.setVar(key, referrervalue.replace(ref, value))
+
+ def localkeys(self):
+ for key in self.dict:
+ if key != '_data':
+ yield key
+
+ def __iter__(self):
+ seen = set()
+ def _keys(d):
if "_data" in d:
- _keys(d["_data"], mykey)
+ for key in _keys(d["_data"]):
+ yield key
- for key in d.keys():
+ for key in d:
if key != "_data":
- mykey[key] = None
- keytab = {}
- _keys(self.dict, keytab)
- return keytab.keys()
+ if not key in seen:
+ seen.add(key)
+ yield key
+ return _keys(self.dict)
+
+ def __len__(self):
+ return len(frozenset(self))
def __getitem__(self, item):
- #print "Warning deprecated"
- return self.getVar(item, False)
+ value = self.getVar(item, False)
+ if value is None:
+ raise KeyError(item)
+ else:
+ return value
+
+ def __setitem__(self, var, value):
+ self.setVar(var, value)
- def __setitem__(self, var, data):
- #print "Warning deprecated"
- self.setVar(var, data)
+ def __delitem__(self, var):
+ self.delVar(var)
diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py
index 45458c2d6..3467ddd61 100644
--- a/bitbake/lib/bb/event.py
+++ b/bitbake/lib/bb/event.py
@@ -24,16 +24,20 @@ BitBake build tools.
import os, sys
import warnings
+try:
+ import cPickle as pickle
+except ImportError:
+ import pickle
+import logging
+import atexit
import bb.utils
-import pickle
# This is the pid for which we should generate the event. This is set when
# the runqueue forks off.
worker_pid = 0
worker_pipe = None
-useStdout = True
-class Event:
+class Event(object):
"""Base class for events"""
def __init__(self):
@@ -55,8 +59,7 @@ 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):
+ if isinstance(event, logging.LogRecord):
return
for handler in _handlers:
@@ -73,7 +76,28 @@ def fire_class_handlers(event, d):
h(event)
del event.data
+ui_queue = []
+@atexit.register
+def print_ui_queue():
+ """If we're exiting before a UI has been spawned, display any queued
+ LogRecords to the console."""
+ logger = logging.getLogger("BitBake")
+ if not _ui_handlers:
+ from bb.msg import BBLogFormatter
+ console = logging.StreamHandler(sys.stdout)
+ console.setFormatter(BBLogFormatter("%(levelname)s: %(message)s"))
+ logger.handlers = [console]
+ while ui_queue:
+ event = ui_queue.pop()
+ if isinstance(event, logging.LogRecord):
+ logger.handle(event)
+
def fire_ui_handlers(event, d):
+ if not _ui_handlers:
+ # No UI handlers registered yet, queue up the messages
+ ui_queue.append(event)
+ return
+
errors = []
for h in _ui_handlers:
#print "Sending event %s" % event
@@ -104,13 +128,11 @@ def fire(event, d):
def worker_fire(event, d):
data = "<event>" + pickle.dumps(event) + "</event>"
worker_pipe.write(data)
- worker_pipe.flush()
def fire_from_worker(event, d):
if not event.startswith("<event>") or not event.endswith("</event>"):
print("Error, not an event %s" % event)
return
- #print "Got event %s" % event
event = pickle.loads(event[7:-8])
fire_ui_handlers(event, d)
@@ -123,7 +145,7 @@ def register(name, handler):
if handler is not None:
# handle string containing python code
- if type(handler).__name__ == "str":
+ if isinstance(handler, basestring):
tmp = "def tmpHandler(e):\n%s" % handler
comp = bb.utils.better_compile(tmp, "tmpHandler(e)", "bb.event._registerCode")
_handlers[name] = comp
@@ -139,7 +161,6 @@ def remove(name, handler):
def register_UIHhandler(handler):
bb.event._ui_handler_seq = bb.event._ui_handler_seq + 1
_ui_handlers[_ui_handler_seq] = handler
- bb.event.useStdout = False
return _ui_handler_seq
def unregister_UIHhandler(handlerNum):
@@ -274,10 +295,14 @@ class MultipleProviders(Event):
"""
return self._candidates
-class ParseProgress(Event):
- """
- Parsing Progress Event
- """
+class ParseStarted(Event):
+ """Recipe parsing for the runqueue has begun"""
+ def __init__(self, total):
+ Event.__init__(self)
+ self.total = total
+
+class ParseCompleted(Event):
+ """Recipe parsing for the runqueue has completed"""
def __init__(self, cached, parsed, skipped, masked, virtuals, errors, total):
Event.__init__(self)
@@ -290,6 +315,32 @@ class ParseProgress(Event):
self.sofar = cached + parsed
self.total = total
+class ParseProgress(Event):
+ """Recipe parsing progress"""
+
+ def __init__(self, current):
+ self.current = current
+
+class CacheLoadStarted(Event):
+ """Loading of the dependency cache has begun"""
+ def __init__(self, total):
+ Event.__init__(self)
+ self.total = total
+
+class CacheLoadProgress(Event):
+ """Cache loading progress"""
+ def __init__(self, current):
+ Event.__init__(self)
+ self.current = current
+
+class CacheLoadCompleted(Event):
+ """Cache loading is complete"""
+ def __init__(self, total, num_entries):
+ Event.__init__(self)
+ self.total = total
+ self.num_entries = num_entries
+
+
class DepTreeGenerated(Event):
"""
Event when a dependency tree has been generated
@@ -298,3 +349,38 @@ class DepTreeGenerated(Event):
def __init__(self, depgraph):
Event.__init__(self)
self._depgraph = depgraph
+
+class MsgBase(Event):
+ """Base class for messages"""
+
+ def __init__(self, msg):
+ self._message = msg
+ Event.__init__(self)
+
+class MsgDebug(MsgBase):
+ """Debug Message"""
+
+class MsgNote(MsgBase):
+ """Note Message"""
+
+class MsgWarn(MsgBase):
+ """Warning Message"""
+
+class MsgError(MsgBase):
+ """Error Message"""
+
+class MsgFatal(MsgBase):
+ """Fatal Message"""
+
+class MsgPlain(MsgBase):
+ """General output"""
+
+class LogHandler(logging.Handler):
+ """Dispatch logging messages as bitbake events"""
+
+ def emit(self, record):
+ fire(record, None)
+
+ def filter(self, record):
+ record.taskpid = worker_pid
+ return True
diff --git a/bitbake/lib/bb/fetch/__init__.py b/bitbake/lib/bb/fetch/__init__.py
index 88212ffa3..b452751c7 100644
--- a/bitbake/lib/bb/fetch/__init__.py
+++ b/bitbake/lib/bb/fetch/__init__.py
@@ -27,9 +27,15 @@ BitBake build tools.
from __future__ import absolute_import
from __future__ import print_function
import os, re
+import logging
import bb
from bb import data
from bb import persist_data
+from bb import utils
+
+__version__ = "1"
+
+logger = logging.getLogger("BitBake.Fetch")
class MalformedUrl(Exception):
"""Exception raised when encountering an invalid url"""
@@ -117,9 +123,8 @@ def encodeurl(decoded):
return url
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")
+ logger.debug(1, "uri_replace: passed an undefined value, not replacing")
uri_decoded = list(decodeurl(uri))
uri_find_decoded = list(decodeurl(uri_find))
uri_replace_decoded = list(decodeurl(uri_replace))
@@ -134,38 +139,32 @@ def uri_replace(uri, uri_find, uri_replace, d):
if d:
localfn = bb.fetch.localpath(uri, d)
if localfn:
- result_decoded[loc] = os.path.dirname(result_decoded[loc]) + "/" + os.path.basename(bb.fetch.localpath(uri, d))
-# bb.msg.note(1, bb.msg.domain.Fetcher, "uri_replace: matching %s against %s and replacing with %s" % (i, uri_decoded[loc], uri_replace_decoded[loc]))
+ result_decoded[loc] = os.path.join(os.path.dirname(result_decoded[loc]), os.path.basename(bb.fetch.localpath(uri, d)))
else:
-# bb.msg.note(1, bb.msg.domain.Fetcher, "uri_replace: no match")
return uri
-# else:
-# for j in i:
-# FIXME: apply replacements against options
return encodeurl(result_decoded)
methods = []
urldata_cache = {}
saved_headrevs = {}
-persistent_database_connection = {}
def fetcher_init(d):
"""
Called to initialize the fetchers once the configuration data is known.
Calls before this must not hit the cache.
"""
- pd = persist_data.PersistData(d, persistent_database_connection)
+ pd = persist_data.persist(d)
# 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)
+ logger.debug(1, "Keeping SRCREV cache due to cache policy of: %s", srcrev_policy)
elif srcrev_policy == "clear":
- bb.msg.debug(1, bb.msg.domain.Fetcher, "Clearing SRCREV cache due to cache policy of: %s" % srcrev_policy)
+ logger.debug(1, "Clearing SRCREV cache due to cache policy of: %s", srcrev_policy)
try:
- bb.fetch.saved_headrevs = pd.getKeyValues("BB_URI_HEADREVS")
+ bb.fetch.saved_headrevs = pd['BB_URI_HEADREVS'].items()
except:
pass
- pd.delDomain("BB_URI_HEADREVS")
+ del pd['BB_URI_HEADREVS']
else:
raise FetchError("Invalid SRCREV cache policy of: %s" % srcrev_policy)
@@ -173,28 +172,24 @@ def fetcher_init(d):
if hasattr(m, "init"):
m.init(d)
- # Make sure our domains exist
- pd.addDomain("BB_URI_HEADREVS")
- pd.addDomain("BB_URI_LOCALCOUNT")
-
-def fetcher_compare_revisons(d):
+def fetcher_compare_revisions(d):
"""
Compare the revisions in the persistant cache with current values and
return true/false on whether they've changed.
"""
- pd = persist_data.PersistData(d, persistent_database_connection)
- data = pd.getKeyValues("BB_URI_HEADREVS")
+ pd = persist_data.persist(d)
+ data = pd['BB_URI_HEADREVS'].items()
data2 = bb.fetch.saved_headrevs
changed = False
for key in data:
if key not in data2 or data2[key] != data[key]:
- bb.msg.debug(1, bb.msg.domain.Fetcher, "%s changed" % key)
+ logger.debug(1, "%s changed", key)
changed = True
return True
else:
- bb.msg.debug(2, bb.msg.domain.Fetcher, "%s did not change" % key)
+ logger.debug(2, "%s did not change", key)
return False
# Function call order is usually:
@@ -225,12 +220,6 @@ def init(urls, d, setup = True):
def mirror_from_string(data):
return [ i.split() for i in (data or "").replace('\\n','\n').split('\n') if i ]
-def removefile(f):
- try:
- os.remove(f)
- except:
- pass
-
def verify_checksum(u, ud, d):
"""
verify the MD5 and SHA256 checksum for downloaded src
@@ -251,17 +240,20 @@ def verify_checksum(u, ud, d):
sha256data = bb.utils.sha256_file(ud.localpath)
if (ud.md5_expected == None or ud.sha256_expected == None):
- bb.warn("Missing SRC_URI checksum for %s, consider to add\n" \
- "SRC_URI[%s] = \"%s\"\nSRC_URI[%s] = \"%s\"" \
- % (ud.localpath, ud.md5_name, md5data, ud.sha256_name, sha256data))
+ logger.warn('Missing SRC_URI checksum for %s, consider adding to the recipe:\n'
+ 'SRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"',
+ ud.localpath, ud.md5_name, md5data,
+ ud.sha256_name, sha256data)
if bb.data.getVar("BB_STRICT_CHECKSUM", d, True) == "1":
raise FetchError("No checksum specified for %s." % u)
return
if (ud.md5_expected != md5data or ud.sha256_expected != sha256data):
- bb.error("The checksums for '%s' did not match." % ud.localpath)
- bb.error("Expected MD5: '%s' and Got: '%s'" % (ud.md5_expected, md5data))
- bb.error("Expected SHA256: '%s' and Got: '%s'" % (ud.sha256_expected, sha256data))
+ logger.error('The checksums for "%s" did not match.\n'
+ ' MD5: expected "%s", got "%s"\n'
+ ' SHA256: expected "%s", got "%s"\n',
+ ud.localpath, ud.md5_expected, md5data,
+ ud.sha256_expected, sha256data)
raise FetchError("%s checksum mismatch." % u)
def go(d, urls = None):
@@ -298,7 +290,7 @@ def go(d, urls = None):
localpath = ud.localpath
except FetchError:
# Remove any incomplete file
- removefile(ud.localpath)
+ bb.utils.remove(ud.localpath)
# Finally, try fetching uri, u, from MIRRORS
mirrors = mirror_from_string(bb.data.getVar('MIRRORS', d, True))
localpath = try_mirrors (d, u, mirrors)
@@ -307,8 +299,6 @@ def go(d, urls = None):
ud.localpath = localpath
- verify_checksum(u, ud, d)
-
if os.path.exists(ud.md5):
# Touch the md5 file to show active use of the download
try:
@@ -317,6 +307,8 @@ def go(d, urls = None):
# Errors aren't fatal here
pass
else:
+ # Only check the checksums if we've not seen this item before
+ verify_checksum(u, ud, d)
Fetch.write_md5sum(u, ud, d)
bb.utils.unlockfile(lf)
@@ -334,7 +326,7 @@ def checkstatus(d, urls = None):
for u in urls:
ud = urldata[u]
m = ud.method
- bb.msg.debug(1, bb.msg.domain.Fetcher, "Testing URL %s" % u)
+ logger.debug(1, "Testing URL %s", u)
# First try checking uri, u, from PREMIRRORS
mirrors = mirror_from_string(bb.data.getVar('PREMIRRORS', d, True))
ret = try_mirrors(d, u, mirrors, True)
@@ -365,6 +357,9 @@ def localpaths(d):
srcrev_internal_call = False
+def get_autorev(d):
+ return get_srcrev(d)
+
def get_srcrev(d):
"""
Return the version string for the current package
@@ -388,17 +383,17 @@ def get_srcrev(d):
scms = []
- # Only call setup_localpath on URIs which suppports_srcrev()
+ # Only call setup_localpath on URIs which supports_srcrev()
urldata = init(bb.data.getVar('SRC_URI', d, 1).split(), d, False)
for u in urldata:
ud = urldata[u]
- if ud.method.suppports_srcrev():
+ if ud.method.supports_srcrev():
if not ud.setup:
ud.setup_localpath(d)
scms.append(u)
if len(scms) == 0:
- bb.msg.error(bb.msg.domain.Fetcher, "SRCREV was used yet no valid SCM was found in SRC_URI")
+ logger.error("SRCREV was used yet no valid SCM was found in SRC_URI")
raise ParameterError
if bb.data.getVar('BB_SRCREV_POLICY', d, True) != "cache":
@@ -412,7 +407,7 @@ def get_srcrev(d):
#
format = bb.data.getVar('SRCREV_FORMAT', d, 1)
if not format:
- bb.msg.error(bb.msg.domain.Fetcher, "The SRCREV_FORMAT variable must be set when multiple SCMs are used.")
+ logger.error("The SRCREV_FORMAT variable must be set when multiple SCMs are used.")
raise ParameterError
for scm in scms:
@@ -454,7 +449,7 @@ def runfetchcmd(cmd, d, quiet = False):
if val:
cmd = 'export ' + var + '=\"%s\"; %s' % (val, cmd)
- bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % cmd)
+ logger.debug(1, "Running %s", cmd)
# redirect stderr to stdout
stdout_handle = os.popen(cmd + " 2>&1", "r")
@@ -490,7 +485,7 @@ def try_mirrors(d, uri, mirrors, check = False, force = False):
"""
fpath = os.path.join(data.getVar("DL_DIR", d, 1), os.path.basename(uri))
if not check and os.access(fpath, os.R_OK) and not force:
- bb.msg.debug(1, bb.msg.domain.Fetcher, "%s already exists, skipping checkout." % fpath)
+ logger.debug(1, "%s already exists, skipping checkout.", fpath)
return fpath
ld = d.createCopy()
@@ -500,7 +495,7 @@ def try_mirrors(d, uri, mirrors, check = False, force = False):
try:
ud = FetchData(newuri, ld)
except bb.fetch.NoMethodError:
- bb.msg.debug(1, bb.msg.domain.Fetcher, "No method for %s" % uri)
+ logger.debug(1, "No method for %s", uri)
continue
ud.setup_localpath(ld)
@@ -518,8 +513,8 @@ def try_mirrors(d, uri, mirrors, check = False, force = False):
bb.fetch.MD5SumError):
import sys
(type, value, traceback) = sys.exc_info()
- bb.msg.debug(2, bb.msg.domain.Fetcher, "Mirror fetch failure: %s" % value)
- removefile(ud.localpath)
+ logger.debug(2, "Mirror fetch failure: %s", value)
+ bb.utils.remove(ud.localpath)
continue
return None
@@ -610,6 +605,13 @@ class Fetch(object):
and duplicate code execution)
"""
return url
+ def _strip_leading_slashes(self, relpath):
+ """
+ Remove leading slash as os.path.join can't cope
+ """
+ while os.path.isabs(relpath):
+ relpath = relpath[1:]
+ return relpath
def setUrls(self, urls):
self.__urls = urls
@@ -625,7 +627,7 @@ class Fetch(object):
"""
return False
- def suppports_srcrev(self):
+ def supports_srcrev(self):
"""
The fetcher supports auto source revisions (SRCREV)
"""
@@ -654,7 +656,7 @@ class Fetch(object):
Check the status of a URL
Assumes localpath was called first
"""
- bb.msg.note(1, bb.msg.domain.Fetcher, "URL %s could not be checked for status since no method exists." % url)
+ logger.info("URL %s could not be checked for status since no method exists.", url)
return True
def getSRCDate(urldata, d):
@@ -695,7 +697,7 @@ class Fetch(object):
if not rev:
rev = data.getVar("SRCREV_pn-%s_%s" % (pn, ud.parm['name']), d, 1)
if not rev:
- rev = data.getVar("SRCREV_%s" % (ud.parm['name']), d, 1)
+ rev = data.getVar("SRCREV_%s" % (ud.parm['name']), d, 1)
if not rev:
rev = data.getVar("SRCREV", d, 1)
if rev == "INVALID":
@@ -729,9 +731,7 @@ class Fetch(object):
"""
Verify the md5sum we wanted with the one we got
"""
- wanted_sum = None
- if 'md5sum' in ud.parm:
- wanted_sum = ud.parm['md5sum']
+ wanted_sum = ud.parm.get('md5sum')
if not wanted_sum:
return True
@@ -756,14 +756,14 @@ class Fetch(object):
if not hasattr(self, "_latest_revision"):
raise ParameterError
- pd = persist_data.PersistData(d, persistent_database_connection)
+ pd = persist_data.persist(d)
+ revs = pd['BB_URI_HEADREVS']
key = self.generate_revision_key(url, ud, d)
- rev = pd.getValue("BB_URI_HEADREVS", key)
+ rev = revs[key]
if rev != None:
return str(rev)
- rev = self._latest_revision(url, ud, d)
- pd.setValue("BB_URI_HEADREVS", key, rev)
+ revs[key] = rev = self._latest_revision(url, ud, d)
return rev
def sortable_revision(self, url, ud, d):
@@ -773,17 +773,18 @@ class Fetch(object):
if hasattr(self, "_sortable_revision"):
return self._sortable_revision(url, ud, d)
- pd = persist_data.PersistData(d, persistent_database_connection)
+ pd = persist_data.persist(d)
+ localcounts = pd['BB_URI_LOCALCOUNT']
key = self.generate_revision_key(url, ud, d)
latest_rev = self._build_revision(url, ud, d)
- last_rev = pd.getValue("BB_URI_LOCALCOUNT", key + "_rev")
+ last_rev = localcounts[key + '_rev']
uselocalcount = bb.data.getVar("BB_LOCALCOUNT_OVERRIDE", d, True) or False
count = None
if uselocalcount:
count = Fetch.localcount_internal_helper(ud, d)
if count is None:
- count = pd.getValue("BB_URI_LOCALCOUNT", key + "_count")
+ count = localcounts[key + '_count']
if last_rev == latest_rev:
return str(count + "+" + latest_rev)
@@ -799,8 +800,8 @@ class Fetch(object):
else:
count = str(int(count) + 1)
- pd.setValue("BB_URI_LOCALCOUNT", key + "_rev", latest_rev)
- pd.setValue("BB_URI_LOCALCOUNT", key + "_count", count)
+ localcounts[key + '_rev'] = latest_rev
+ localcounts[key + '_count'] = count
return str(count + "+" + latest_rev)
diff --git a/bitbake/lib/bb/fetch/bzr.py b/bitbake/lib/bb/fetch/bzr.py
index 813d7d8c8..afaf79990 100644
--- a/bitbake/lib/bb/fetch/bzr.py
+++ b/bitbake/lib/bb/fetch/bzr.py
@@ -25,11 +25,10 @@ BitBake 'Fetch' implementation for bzr.
import os
import sys
+import logging
import bb
from bb import data
-from bb.fetch import Fetch
-from bb.fetch import FetchError
-from bb.fetch import runfetchcmd
+from bb.fetch import Fetch, FetchError, runfetchcmd, logger
class Bzr(Fetch):
def supports(self, url, ud, d):
@@ -38,10 +37,7 @@ class Bzr(Fetch):
def localpath (self, url, ud, d):
# Create paths to bzr checkouts
- relpath = ud.path
- if relpath.startswith('/'):
- # Remove leading slash as os.path.join can't cope
- relpath = relpath[1:]
+ relpath = self._strip_leading_slashes(ud.path)
ud.pkgdir = os.path.join(data.expand('${BZRDIR}', d), ud.host, relpath)
revision = Fetch.srcrev_internal_helper(ud, d)
@@ -65,9 +61,7 @@ class Bzr(Fetch):
basecmd = data.expand('${FETCHCMD_bzr}', d)
- proto = "http"
- if "proto" in ud.parm:
- proto = ud.parm["proto"]
+ proto = ud.parm.get('proto', 'http')
bzrroot = ud.host + ud.path
@@ -93,22 +87,29 @@ class Bzr(Fetch):
if os.access(os.path.join(ud.pkgdir, os.path.basename(ud.pkgdir), '.bzr'), os.R_OK):
bzrcmd = self._buildbzrcommand(ud, d, "update")
- bb.msg.debug(1, bb.msg.domain.Fetcher, "BZR Update %s" % loc)
+ logger.debug(1, "BZR Update %s", loc)
os.chdir(os.path.join (ud.pkgdir, os.path.basename(ud.path)))
runfetchcmd(bzrcmd, d)
else:
- os.system("rm -rf %s" % os.path.join(ud.pkgdir, os.path.basename(ud.pkgdir)))
+ bb.utils.remove(os.path.join(ud.pkgdir, os.path.basename(ud.pkgdir)), True)
bzrcmd = self._buildbzrcommand(ud, d, "fetch")
- bb.msg.debug(1, bb.msg.domain.Fetcher, "BZR Checkout %s" % loc)
+ logger.debug(1, "BZR Checkout %s", loc)
bb.mkdirhier(ud.pkgdir)
os.chdir(ud.pkgdir)
- bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % bzrcmd)
+ logger.debug(1, "Running %s", bzrcmd)
runfetchcmd(bzrcmd, d)
os.chdir(ud.pkgdir)
+
+ scmdata = ud.parm.get("scmdata", "")
+ if scmdata == "keep":
+ tar_flags = ""
+ else:
+ tar_flags = "--exclude '.bzr' --exclude '.bzrtags'"
+
# tar them up to a defined filename
try:
- runfetchcmd("tar -czf %s %s" % (ud.localpath, os.path.basename(ud.pkgdir)), d)
+ runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, os.path.basename(ud.pkgdir)), d)
except:
t, v, tb = sys.exc_info()
try:
@@ -117,7 +118,7 @@ class Bzr(Fetch):
pass
raise t, v, tb
- def suppports_srcrev(self):
+ def supports_srcrev(self):
return True
def _revision_key(self, url, ud, d):
@@ -130,7 +131,7 @@ class Bzr(Fetch):
"""
Return the latest upstream revision number
"""
- bb.msg.debug(2, bb.msg.domain.Fetcher, "BZR fetcher hitting network for %s" % url)
+ logger.debug(2, "BZR fetcher hitting network for %s", url)
output = runfetchcmd(self._buildbzrcommand(ud, d, "revno"), d, True)
diff --git a/bitbake/lib/bb/fetch/cvs.py b/bitbake/lib/bb/fetch/cvs.py
index 61976f7ef..0edb794b0 100644
--- a/bitbake/lib/bb/fetch/cvs.py
+++ b/bitbake/lib/bb/fetch/cvs.py
@@ -27,11 +27,10 @@ BitBake build tools.
#
import os
+import logging
import bb
from bb import data
-from bb.fetch import Fetch
-from bb.fetch import FetchError
-from bb.fetch import MissingParameterError
+from bb.fetch import Fetch, FetchError, MissingParameterError, logger
class Cvs(Fetch):
"""
@@ -48,9 +47,7 @@ class Cvs(Fetch):
raise MissingParameterError("cvs method needs a 'module' parameter")
ud.module = ud.parm["module"]
- ud.tag = ""
- if 'tag' in ud.parm:
- ud.tag = ud.parm['tag']
+ ud.tag = ud.parm.get('tag', "")
# Override the default date in certain cases
if 'date' in ud.parm:
@@ -77,17 +74,9 @@ class Cvs(Fetch):
def go(self, loc, ud, d):
- method = "pserver"
- if "method" in ud.parm:
- method = ud.parm["method"]
-
- localdir = ud.module
- if "localdir" in ud.parm:
- localdir = ud.parm["localdir"]
-
- cvs_port = ""
- if "port" in ud.parm:
- cvs_port = ud.parm["port"]
+ method = ud.parm.get('method', 'pserver')
+ localdir = ud.parm.get('localdir', ud.module)
+ cvs_port = ud.parm.get('port', '')
cvs_rsh = None
if method == "ext":
@@ -136,21 +125,21 @@ class Cvs(Fetch):
cvsupdatecmd = "CVS_RSH=\"%s\" %s" % (cvs_rsh, cvsupdatecmd)
# create module directory
- bb.msg.debug(2, bb.msg.domain.Fetcher, "Fetch: checking for module directory")
+ logger.debug(2, "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):
- bb.msg.note(1, bb.msg.domain.Fetcher, "Update " + loc)
+ logger.info("Update " + loc)
# update sources there
os.chdir(moddir)
myret = os.system(cvsupdatecmd)
else:
- bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc)
+ logger.info("Fetch " + loc)
# check out sources there
bb.mkdirhier(pkgdir)
os.chdir(pkgdir)
- bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % cvscmd)
+ logger.debug(1, "Running %s", cvscmd)
myret = os.system(cvscmd)
if myret != 0 or not os.access(moddir, os.R_OK):
@@ -160,14 +149,20 @@ class Cvs(Fetch):
pass
raise FetchError(ud.module)
+ scmdata = ud.parm.get("scmdata", "")
+ if scmdata == "keep":
+ tar_flags = ""
+ else:
+ tar_flags = "--exclude 'CVS'"
+
# tar them up to a defined filename
if 'fullpath' in ud.parm:
os.chdir(pkgdir)
- myret = os.system("tar -czf %s %s" % (ud.localpath, localdir))
+ myret = os.system("tar %s -czf %s %s" % (tar_flags, ud.localpath, localdir))
else:
os.chdir(moddir)
os.chdir('..')
- myret = os.system("tar -czf %s %s" % (ud.localpath, os.path.basename(moddir)))
+ myret = os.system("tar %s -czf %s %s" % (tar_flags, ud.localpath, os.path.basename(moddir)))
if myret != 0:
try:
diff --git a/bitbake/lib/bb/fetch/git.py b/bitbake/lib/bb/fetch/git.py
index 9bd447ff8..b37a09743 100644
--- a/bitbake/lib/bb/fetch/git.py
+++ b/bitbake/lib/bb/fetch/git.py
@@ -22,9 +22,11 @@ BitBake 'Fetch' git implementation
import os
import bb
+import bb.persist_data
from bb import data
from bb.fetch import Fetch
from bb.fetch import runfetchcmd
+from bb.fetch import logger
class Git(Fetch):
"""Class to fetch a module or modules from git repositories"""
@@ -116,6 +118,7 @@ class Git(Fetch):
repofile = os.path.join(data.getVar("DL_DIR", d, 1), ud.mirrortarball)
+
coname = '%s' % (ud.tag)
codir = os.path.join(ud.clonedir, coname)
@@ -153,7 +156,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:
- bb.msg.note(1, bb.msg.domain.Fetcher, "Creating tarball of git repository")
+ logger.info("Creating tarball of git repository")
runfetchcmd("tar -czf %s %s" % (repofile, os.path.join(".", ".git", "*") ), d)
if 'fullclone' in ud.parm:
@@ -179,19 +182,25 @@ class Git(Fetch):
readpathspec = ""
coprefix = os.path.join(codir, "git", "")
- bb.mkdirhier(codir)
- os.chdir(ud.clonedir)
- runfetchcmd("%s read-tree %s%s" % (ud.basecmd, ud.tag, readpathspec), d)
- runfetchcmd("%s checkout-index -q -f --prefix=%s -a" % (ud.basecmd, coprefix), d)
+ scmdata = ud.parm.get("scmdata", "")
+ if scmdata == "keep":
+ runfetchcmd("%s clone -n %s %s" % (ud.basecmd, ud.clonedir, coprefix), d)
+ os.chdir(coprefix)
+ runfetchcmd("%s checkout -q -f %s%s" % (ud.basecmd, ud.tag, readpathspec), d)
+ else:
+ bb.mkdirhier(codir)
+ os.chdir(ud.clonedir)
+ runfetchcmd("%s read-tree %s%s" % (ud.basecmd, ud.tag, readpathspec), d)
+ runfetchcmd("%s checkout-index -q -f --prefix=%s -a" % (ud.basecmd, coprefix), d)
os.chdir(codir)
- bb.msg.note(1, bb.msg.domain.Fetcher, "Creating tarball of git checkout")
+ logger.info("Creating tarball of git checkout")
runfetchcmd("tar -czf %s %s" % (ud.localpath, os.path.join(".", "*") ), d)
os.chdir(ud.clonedir)
bb.utils.prunedir(codir)
- def suppports_srcrev(self):
+ def supports_srcrev(self):
return True
def _contains_ref(self, tag, d):
@@ -199,11 +208,19 @@ class Git(Fetch):
output = runfetchcmd("%s log --pretty=oneline -n 1 %s -- 2> /dev/null | wc -l" % (basecmd, tag), d, quiet=True)
return output.split()[0] != "0"
- def _revision_key(self, url, ud, d):
+ def _revision_key(self, url, ud, d, branch=False):
"""
Return a unique key for the url
"""
- return "git:" + ud.host + ud.path.replace('/', '.') + ud.branch
+ key = 'git:' + ud.host + ud.path.replace('/', '.')
+ if branch:
+ return key + ud.branch
+ else:
+ return key
+
+ def generate_revision_key(self, url, ud, d, branch=False):
+ key = self._revision_key(url, ud, d, branch)
+ return "%s-%s" % (key, bb.data.getVar("PN", d, True) or "")
def _latest_revision(self, url, ud, d):
"""
@@ -221,6 +238,74 @@ class Git(Fetch):
raise bb.fetch.FetchError("Fetch command %s gave empty output\n" % (cmd))
return output.split()[0]
+ def latest_revision(self, url, ud, d):
+ """
+ Look in the cache for the latest revision, if not present ask the SCM.
+ """
+ persisted = bb.persist_data.persist(d)
+ revs = persisted['BB_URI_HEADREVS']
+
+ key = self.generate_revision_key(url, ud, d, branch=True)
+ rev = revs[key]
+ if rev is None:
+ # Compatibility with old key format, no branch included
+ oldkey = self.generate_revision_key(url, ud, d, branch=False)
+ rev = revs[oldkey]
+ if rev is not None:
+ del revs[oldkey]
+ else:
+ rev = self._latest_revision(url, ud, d)
+ revs[key] = rev
+
+ return str(rev)
+
+ def sortable_revision(self, url, ud, d):
+ """
+
+ """
+ pd = bb.persist_data.persist(d)
+ localcounts = pd['BB_URI_LOCALCOUNT']
+ key = self.generate_revision_key(url, ud, d, branch=True)
+ oldkey = self.generate_revision_key(url, ud, d, branch=False)
+
+ latest_rev = self._build_revision(url, ud, d)
+ last_rev = localcounts[key + '_rev']
+ if last_rev is None:
+ last_rev = localcounts[oldkey + '_rev']
+ if last_rev is not None:
+ del localcounts[oldkey + '_rev']
+ localcounts[key + '_rev'] = last_rev
+
+ uselocalcount = bb.data.getVar("BB_LOCALCOUNT_OVERRIDE", d, True) or False
+ count = None
+ if uselocalcount:
+ count = Fetch.localcount_internal_helper(ud, d)
+ if count is None:
+ count = localcounts[key + '_count']
+ if count is None:
+ count = localcounts[oldkey + '_count']
+ if count is not None:
+ del localcounts[oldkey + '_count']
+ localcounts[key + '_count'] = count
+
+ if last_rev == latest_rev:
+ return str(count + "+" + latest_rev)
+
+ buildindex_provided = hasattr(self, "_sortable_buildindex")
+ if buildindex_provided:
+ count = self._sortable_buildindex(url, ud, d, latest_rev)
+ if count is None:
+ count = "0"
+ elif uselocalcount or buildindex_provided:
+ count = str(count)
+ else:
+ count = str(int(count) + 1)
+
+ localcounts[key + '_rev'] = latest_rev
+ localcounts[key + '_count'] = count
+
+ return str(count + "+" + latest_rev)
+
def _build_revision(self, url, ud, d):
return ud.tag
@@ -238,7 +323,7 @@ class Git(Fetch):
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))
+ logger.error("GIT repository for %s doesn't exist in %s, cannot get sortable buildnumber, using old value", url, ud.clonedir)
return None
@@ -250,5 +335,5 @@ class Git(Fetch):
os.chdir(cwd)
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))
+ logger.debug(1, "GIT repository for %s in %s is returning %s revisions in rev-list before %s", url, ud.clonedir, buildindex, rev)
return buildindex
diff --git a/bitbake/lib/bb/fetch/hg.py b/bitbake/lib/bb/fetch/hg.py
index efb3b5c76..3c649a6ad 100644
--- a/bitbake/lib/bb/fetch/hg.py
+++ b/bitbake/lib/bb/fetch/hg.py
@@ -26,21 +26,27 @@ BitBake 'Fetch' implementation for mercurial DRCS (hg).
import os
import sys
+import logging
import bb
from bb import data
from bb.fetch import Fetch
from bb.fetch import FetchError
from bb.fetch import MissingParameterError
from bb.fetch import runfetchcmd
+from bb.fetch import logger
class Hg(Fetch):
- """Class to fetch a from mercurial repositories"""
+ """Class to fetch from mercurial repositories"""
def supports(self, url, ud, d):
"""
Check to see if a given url can be fetched with mercurial.
"""
return ud.type in ['hg']
+ def forcefetch(self, url, ud, d):
+ revTag = ud.parm.get('rev', 'tip')
+ return revTag == "tip"
+
def localpath(self, url, ud, d):
if not "module" in ud.parm:
raise MissingParameterError("hg method needs a 'module' parameter")
@@ -48,10 +54,7 @@ class Hg(Fetch):
ud.module = ud.parm["module"]
# Create paths to mercurial checkouts
- relpath = ud.path
- if relpath.startswith('/'):
- # Remove leading slash as os.path.join can't cope
- relpath = relpath[1:]
+ relpath = self._strip_leading_slashes(ud.path)
ud.pkgdir = os.path.join(data.expand('${HGDIR}', d), ud.host, relpath)
ud.moddir = os.path.join(ud.pkgdir, ud.module)
@@ -78,9 +81,7 @@ class Hg(Fetch):
basecmd = data.expand('${FETCHCMD_hg}', d)
- proto = "http"
- if "proto" in ud.parm:
- proto = ud.parm["proto"]
+ proto = ud.parm.get('proto', 'http')
host = ud.host
if proto == "file":
@@ -116,34 +117,41 @@ class Hg(Fetch):
def go(self, loc, ud, d):
"""Fetch url"""
- bb.msg.debug(2, bb.msg.domain.Fetcher, "Fetch: checking for module directory '" + ud.moddir + "'")
+ logger.debug(2, "Fetch: checking for module directory '" + ud.moddir + "'")
if os.access(os.path.join(ud.moddir, '.hg'), os.R_OK):
updatecmd = self._buildhgcommand(ud, d, "pull")
- bb.msg.note(1, bb.msg.domain.Fetcher, "Update " + loc)
+ logger.info("Update " + loc)
# update sources there
os.chdir(ud.moddir)
- bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % updatecmd)
+ logger.debug(1, "Running %s", updatecmd)
runfetchcmd(updatecmd, d)
else:
fetchcmd = self._buildhgcommand(ud, d, "fetch")
- bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc)
+ logger.info("Fetch " + loc)
# check out sources there
bb.mkdirhier(ud.pkgdir)
os.chdir(ud.pkgdir)
- bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % fetchcmd)
+ logger.debug(1, "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
updatecmd = self._buildhgcommand(ud, d, "update")
- bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % updatecmd)
+ os.chdir(ud.moddir)
+ logger.debug(1, "Running %s", updatecmd)
runfetchcmd(updatecmd, d)
+ scmdata = ud.parm.get("scmdata", "")
+ if scmdata == "keep":
+ tar_flags = ""
+ else:
+ tar_flags = "--exclude '.hg' --exclude '.hgrags'"
+
os.chdir(ud.pkgdir)
try:
- runfetchcmd("tar -czf %s %s" % (ud.localpath, ud.module), d)
+ runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, ud.module), d)
except:
t, v, tb = sys.exc_info()
try:
@@ -152,7 +160,7 @@ class Hg(Fetch):
pass
raise t, v, tb
- def suppports_srcrev(self):
+ def supports_srcrev(self):
return True
def _latest_revision(self, url, ud, d):
diff --git a/bitbake/lib/bb/fetch/local.py b/bitbake/lib/bb/fetch/local.py
index 882a2c460..6aa9e4576 100644
--- a/bitbake/lib/bb/fetch/local.py
+++ b/bitbake/lib/bb/fetch/local.py
@@ -66,7 +66,7 @@ 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)
+ logger.info("URL %s looks like a glob and was therefore not checked.", url)
return True
if os.path.exists(urldata.localpath):
return True
diff --git a/bitbake/lib/bb/fetch/osc.py b/bitbake/lib/bb/fetch/osc.py
index ed773939b..8e0423d76 100644
--- a/bitbake/lib/bb/fetch/osc.py
+++ b/bitbake/lib/bb/fetch/osc.py
@@ -8,8 +8,10 @@ Based on the svn "Fetch" implementation.
import os
import sys
+import logging
import bb
from bb import data
+from bb import utils
from bb.fetch import Fetch
from bb.fetch import FetchError
from bb.fetch import MissingParameterError
@@ -32,10 +34,7 @@ class Osc(Fetch):
ud.module = ud.parm["module"]
# Create paths to osc checkouts
- relpath = ud.path
- if relpath.startswith('/'):
- # Remove leading slash as os.path.join can't cope
- relpath = relpath[1:]
+ relpath = self._strip_leading_slashes(ud.path)
ud.pkgdir = os.path.join(data.expand('${OSCDIR}', d), ud.host)
ud.moddir = os.path.join(ud.pkgdir, relpath, ud.module)
@@ -61,9 +60,7 @@ class Osc(Fetch):
basecmd = data.expand('${FETCHCMD_osc}', d)
- proto = "ocs"
- if "proto" in ud.parm:
- proto = ud.parm["proto"]
+ proto = ud.parm.get('proto', 'ocs')
options = []
@@ -72,10 +69,7 @@ class Osc(Fetch):
if ud.revision:
options.append("-r %s" % ud.revision)
- coroot = ud.path
- if coroot.startswith('/'):
- # Remove leading slash as os.path.join can't cope
- coroot= coroot[1:]
+ coroot = self._strip_leading_slashes(ud.path)
if command is "fetch":
osccmd = "%s %s co %s/%s %s" % (basecmd, config, coroot, ud.module, " ".join(options))
@@ -91,22 +85,22 @@ class Osc(Fetch):
Fetch url
"""
- bb.msg.debug(2, bb.msg.domain.Fetcher, "Fetch: checking for module directory '" + ud.moddir + "'")
+ logger.debug(2, "Fetch: checking for module directory '" + ud.moddir + "'")
if os.access(os.path.join(data.expand('${OSCDIR}', d), ud.path, ud.module), os.R_OK):
oscupdatecmd = self._buildosccommand(ud, d, "update")
- bb.msg.note(1, bb.msg.domain.Fetcher, "Update "+ loc)
+ logger.info("Update "+ loc)
# update sources there
os.chdir(ud.moddir)
- bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % oscupdatecmd)
+ logger.debug(1, "Running %s", oscupdatecmd)
runfetchcmd(oscupdatecmd, d)
else:
oscfetchcmd = self._buildosccommand(ud, d, "fetch")
- bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc)
+ logger.info("Fetch " + loc)
# check out sources there
bb.mkdirhier(ud.pkgdir)
os.chdir(ud.pkgdir)
- bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % oscfetchcmd)
+ logger.debug(1, "Running %s", oscfetchcmd)
runfetchcmd(oscfetchcmd, d)
os.chdir(os.path.join(ud.pkgdir + ud.path))
@@ -129,9 +123,8 @@ class Osc(Fetch):
Generate a .oscrc to be used for this run.
"""
- config_path = "%s/oscrc" % data.expand('${OSCDIR}', d)
- if (os.path.exists(config_path)):
- os.remove(config_path)
+ config_path = os.path.join(data.expand('${OSCDIR}', d), "oscrc")
+ bb.utils.remove(config_path)
f = open(config_path, 'w')
f.write("[general]\n")
diff --git a/bitbake/lib/bb/fetch/perforce.py b/bitbake/lib/bb/fetch/perforce.py
index 1c74cff34..222ed7eaa 100644
--- a/bitbake/lib/bb/fetch/perforce.py
+++ b/bitbake/lib/bb/fetch/perforce.py
@@ -27,10 +27,12 @@ BitBake build tools.
from future_builtins import zip
import os
+import logging
import bb
from bb import data
from bb.fetch import Fetch
from bb.fetch import FetchError
+from bb.fetch import logger
class Perforce(Fetch):
def supports(self, url, ud, d):
@@ -86,10 +88,10 @@ class Perforce(Fetch):
depot += "@%s" % (p4date)
p4cmd = data.getVar('FETCHCOMMAND_p4', d, 1)
- bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s%s changes -m 1 %s" % (p4cmd, p4opt, depot))
+ logger.debug(1, "Running %s%s changes -m 1 %s", p4cmd, p4opt, depot)
p4file = os.popen("%s%s changes -m 1 %s" % (p4cmd, p4opt, depot))
cset = p4file.readline().strip()
- bb.msg.debug(1, bb.msg.domain.Fetcher, "READ %s" % (cset))
+ logger.debug(1, "READ %s", cset)
if not cset:
return -1
@@ -111,8 +113,7 @@ class Perforce(Fetch):
if which != -1:
base = path[:which]
- if base[0] == "/":
- base = base[1:]
+ base = self._strip_leading_slashes(base)
cset = Perforce.getcset(d, path, host, user, pswd, parm)
@@ -132,10 +133,7 @@ class Perforce(Fetch):
else:
path = depot
- if "module" in parm:
- module = parm["module"]
- else:
- module = os.path.basename(path)
+ module = parm.get('module', os.path.basename(path))
localdata = data.createCopy(d)
data.setVar('OVERRIDES', "p4:%s" % data.getVar('OVERRIDES', localdata), localdata)
@@ -155,13 +153,13 @@ class Perforce(Fetch):
p4cmd = data.getVar('FETCHCOMMAND', localdata, 1)
# create temp directory
- bb.msg.debug(2, bb.msg.domain.Fetcher, "Fetch: creating temporary directory")
+ logger.debug(2, "Fetch: creating temporary directory")
bb.mkdirhier(data.expand('${WORKDIR}', localdata))
data.setVar('TMPBASE', data.expand('${WORKDIR}/oep4.XXXXXX', localdata), localdata)
tmppipe = os.popen(data.getVar('MKTEMPDIRCMD', localdata, 1) or "false")
tmpfile = tmppipe.readline().strip()
if not tmpfile:
- bb.msg.error(bb.msg.domain.Fetcher, "Fetch: unable to create temporary directory.. make sure 'mktemp' is in the PATH.")
+ logger.error("Fetch: unable to create temporary directory.. make sure 'mktemp' is in the PATH.")
raise FetchError(module)
if "label" in parm:
@@ -171,12 +169,12 @@ class Perforce(Fetch):
depot = "%s@%s" % (depot, cset)
os.chdir(tmpfile)
- bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc)
- bb.msg.note(1, bb.msg.domain.Fetcher, "%s%s files %s" % (p4cmd, p4opt, depot))
+ logger.info("Fetch " + loc)
+ logger.info("%s%s files %s", p4cmd, p4opt, depot)
p4file = os.popen("%s%s files %s" % (p4cmd, p4opt, depot))
if not p4file:
- bb.msg.error(bb.msg.domain.Fetcher, "Fetch: unable to get the P4 files from %s" % (depot))
+ logger.error("Fetch: unable to get the P4 files from %s", depot)
raise FetchError(module)
count = 0
@@ -194,7 +192,7 @@ class Perforce(Fetch):
count = count + 1
if count == 0:
- bb.msg.error(bb.msg.domain.Fetcher, "Fetch: No files gathered from the P4 fetch")
+ logger.error("Fetch: No files gathered from the P4 fetch")
raise FetchError(module)
myret = os.system("tar -czf %s %s" % (ud.localpath, module))
@@ -205,4 +203,4 @@ class Perforce(Fetch):
pass
raise FetchError(module)
# cleanup
- os.system('rm -rf %s' % tmpfile)
+ bb.utils.prunedir(tmpfile)
diff --git a/bitbake/lib/bb/fetch/repo.py b/bitbake/lib/bb/fetch/repo.py
index 883310b01..03642e7a0 100644
--- a/bitbake/lib/bb/fetch/repo.py
+++ b/bitbake/lib/bb/fetch/repo.py
@@ -45,24 +45,11 @@ class Repo(Fetch):
"master".
"""
- if "protocol" in ud.parm:
- ud.proto = ud.parm["protocol"]
- else:
- ud.proto = "git"
-
- if "branch" in ud.parm:
- ud.branch = ud.parm["branch"]
- else:
- ud.branch = "master"
-
- if "manifest" in ud.parm:
- manifest = ud.parm["manifest"]
- if manifest.endswith(".xml"):
- ud.manifest = manifest
- else:
- ud.manifest = manifest + ".xml"
- else:
- ud.manifest = "default.xml"
+ ud.proto = ud.parm.get('protocol', 'git')
+ ud.branch = ud.parm.get('branch', 'master')
+ ud.manifest = ud.parm.get('manifest', 'default.xml')
+ if not ud.manifest.endswith('.xml'):
+ ud.manifest += '.xml'
ud.localfile = data.expand("repo_%s%s_%s_%s.tar.gz" % (ud.host, ud.path.replace("/", "."), ud.manifest, ud.branch), d)
@@ -72,7 +59,7 @@ class Repo(Fetch):
"""Fetch url"""
if os.access(os.path.join(data.getVar("DL_DIR", d, True), ud.localfile), os.R_OK):
- bb.msg.debug(1, bb.msg.domain.Fetcher, "%s already exists (or was stashed). Skipping repo init / sync." % ud.localpath)
+ logger.debug(1, "%s already exists (or was stashed). Skipping repo init / sync.", ud.localpath)
return
gitsrcname = "%s%s" % (ud.host, ud.path.replace("/", "."))
@@ -92,10 +79,16 @@ class Repo(Fetch):
runfetchcmd("repo sync", d)
os.chdir(codir)
+ scmdata = ud.parm.get("scmdata", "")
+ if scmdata == "keep":
+ tar_flags = ""
+ else:
+ tar_flags = "--exclude '.repo' --exclude '.git'"
+
# Create a cache
- runfetchcmd("tar --exclude=.repo --exclude=.git -czf %s %s" % (ud.localpath, os.path.join(".", "*") ), d)
+ runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, os.path.join(".", "*") ), d)
- def suppports_srcrev(self):
+ def supports_srcrev(self):
return False
def _build_revision(self, url, ud, d):
diff --git a/bitbake/lib/bb/fetch/svk.py b/bitbake/lib/bb/fetch/svk.py
index a17ac04d2..595a9da25 100644
--- a/bitbake/lib/bb/fetch/svk.py
+++ b/bitbake/lib/bb/fetch/svk.py
@@ -26,11 +26,13 @@ This implementation is for svk. It is based on the svn implementation
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import os
+import logging
import bb
from bb import data
from bb.fetch import Fetch
from bb.fetch import FetchError
from bb.fetch import MissingParameterError
+from bb.fetch import logger
class Svk(Fetch):
"""Class to fetch a module or modules from svk repositories"""
@@ -46,18 +48,14 @@ class Svk(Fetch):
else:
ud.module = ud.parm["module"]
- ud.revision = ""
- if 'rev' in ud.parm:
- ud.revision = ud.parm['rev']
+ ud.revision = ud.parm.get('rev', "")
ud.localfile = data.expand('%s_%s_%s_%s_%s.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.path.replace('/', '.'), ud.revision, ud.date), d)
return os.path.join(data.getVar("DL_DIR", d, True), ud.localfile)
def forcefetch(self, url, ud, d):
- if (ud.date == "now"):
- return True
- return False
+ return ud.date == "now"
def go(self, loc, ud, d):
"""Fetch urls"""
@@ -72,19 +70,19 @@ class Svk(Fetch):
# create temp directory
localdata = data.createCopy(d)
data.update_data(localdata)
- bb.msg.debug(2, bb.msg.domain.Fetcher, "Fetch: creating temporary directory")
+ logger.debug(2, "Fetch: creating temporary directory")
bb.mkdirhier(data.expand('${WORKDIR}', localdata))
data.setVar('TMPBASE', data.expand('${WORKDIR}/oesvk.XXXXXX', localdata), localdata)
tmppipe = os.popen(data.getVar('MKTEMPDIRCMD', localdata, 1) or "false")
tmpfile = tmppipe.readline().strip()
if not tmpfile:
- bb.msg.error(bb.msg.domain.Fetcher, "Fetch: unable to create temporary directory.. make sure 'mktemp' is in the PATH.")
+ logger.error("Fetch: unable to create temporary directory.. make sure 'mktemp' is in the PATH.")
raise FetchError(ud.module)
# check out sources there
os.chdir(tmpfile)
- bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc)
- bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % svkcmd)
+ logger.info("Fetch " + loc)
+ logger.debug(1, "Running %s", svkcmd)
myret = os.system(svkcmd)
if myret != 0:
try:
@@ -103,4 +101,4 @@ class Svk(Fetch):
pass
raise FetchError(ud.module)
# cleanup
- os.system('rm -rf %s' % tmpfile)
+ bb.utils.prunedir(tmpfile)
diff --git a/bitbake/lib/bb/fetch/svn.py b/bitbake/lib/bb/fetch/svn.py
index 375e8df05..8f053abf7 100644
--- a/bitbake/lib/bb/fetch/svn.py
+++ b/bitbake/lib/bb/fetch/svn.py
@@ -25,12 +25,14 @@ BitBake 'Fetch' implementation for svn.
import os
import sys
+import logging
import bb
from bb import data
from bb.fetch import Fetch
from bb.fetch import FetchError
from bb.fetch import MissingParameterError
from bb.fetch import runfetchcmd
+from bb.fetch import logger
class Svn(Fetch):
"""Class to fetch a module or modules from svn repositories"""
@@ -47,10 +49,7 @@ class Svn(Fetch):
ud.module = ud.parm["module"]
# Create paths to svn checkouts
- relpath = ud.path
- if relpath.startswith('/'):
- # Remove leading slash as os.path.join can't cope
- relpath = relpath[1:]
+ relpath = self._strip_leading_slashes(ud.path)
ud.pkgdir = os.path.join(data.expand('${SVNDIR}', d), ud.host, relpath)
ud.moddir = os.path.join(ud.pkgdir, ud.module)
@@ -92,9 +91,7 @@ class Svn(Fetch):
basecmd = data.expand('${FETCHCMD_svn}', d)
- proto = "svn"
- if "proto" in ud.parm:
- proto = ud.parm["proto"]
+ proto = ud.parm.get('proto', 'svn')
svn_rsh = None
if proto == "svn+ssh" and "rsh" in ud.parm:
@@ -136,28 +133,34 @@ class Svn(Fetch):
def go(self, loc, ud, d):
"""Fetch url"""
- bb.msg.debug(2, bb.msg.domain.Fetcher, "Fetch: checking for module directory '" + ud.moddir + "'")
+ logger.debug(2, "Fetch: checking for module directory '" + ud.moddir + "'")
if os.access(os.path.join(ud.moddir, '.svn'), os.R_OK):
svnupdatecmd = self._buildsvncommand(ud, d, "update")
- bb.msg.note(1, bb.msg.domain.Fetcher, "Update " + loc)
+ logger.info("Update " + loc)
# update sources there
os.chdir(ud.moddir)
- bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % svnupdatecmd)
+ logger.debug(1, "Running %s", svnupdatecmd)
runfetchcmd(svnupdatecmd, d)
else:
svnfetchcmd = self._buildsvncommand(ud, d, "fetch")
- bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc)
+ logger.info("Fetch " + loc)
# check out sources there
bb.mkdirhier(ud.pkgdir)
os.chdir(ud.pkgdir)
- bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % svnfetchcmd)
+ logger.debug(1, "Running %s", svnfetchcmd)
runfetchcmd(svnfetchcmd, d)
+ scmdata = ud.parm.get("scmdata", "")
+ if scmdata == "keep":
+ tar_flags = ""
+ else:
+ tar_flags = "--exclude '.svn'"
+
os.chdir(ud.pkgdir)
# tar them up to a defined filename
try:
- runfetchcmd("tar -czf %s %s" % (ud.localpath, ud.module), d)
+ runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, ud.module), d)
except:
t, v, tb = sys.exc_info()
try:
@@ -166,7 +169,7 @@ class Svn(Fetch):
pass
raise t, v, tb
- def suppports_srcrev(self):
+ def supports_srcrev(self):
return True
def _revision_key(self, url, ud, d):
@@ -179,7 +182,7 @@ class Svn(Fetch):
"""
Return the latest upstream revision number
"""
- bb.msg.debug(2, bb.msg.domain.Fetcher, "SVN fetcher hitting network for %s" % url)
+ logger.debug(2, "SVN fetcher hitting network for %s", url)
output = runfetchcmd("LANG=C LC_ALL=C " + self._buildsvncommand(ud, d, "info"), d, True)
diff --git a/bitbake/lib/bb/fetch/wget.py b/bitbake/lib/bb/fetch/wget.py
index dcc58c75e..4d4bdfd49 100644
--- a/bitbake/lib/bb/fetch/wget.py
+++ b/bitbake/lib/bb/fetch/wget.py
@@ -26,12 +26,11 @@ BitBake build tools.
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import os
+import logging
import bb
+import urllib
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
+from bb.fetch import Fetch, FetchError, encodeurl, decodeurl, logger, runfetchcmd
class Wget(Fetch):
"""Class to fetch urls via 'wget'"""
@@ -45,7 +44,7 @@ class Wget(Fetch):
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)
+ ud.localfile = data.expand(urllib.unquote(ud.basename), d)
return os.path.join(data.getVar("DL_DIR", d, True), ud.localfile)
@@ -68,15 +67,14 @@ class Wget(Fetch):
fetchcmd = fetchcmd.replace("${URI}", uri.split(";")[0])
fetchcmd = fetchcmd.replace("${FILE}", ud.basename)
-
- bb.msg.note(1, bb.msg.domain.Fetcher, "fetch " + uri)
- bb.msg.debug(2, bb.msg.domain.Fetcher, "executing " + fetchcmd)
+ logger.info("fetch " + uri)
+ logger.debug(2, "executing " + fetchcmd)
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
if not os.path.exists(ud.localpath) and not checkonly:
- bb.msg.debug(2, bb.msg.domain.Fetcher, "The fetch command for %s returned success but %s doesn't exist?..." % (uri, ud.localpath))
+ logger.debug(2, "The fetch command for %s returned success but %s doesn't exist?...", uri, ud.localpath)
return False
return True
diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py
new file mode 100644
index 000000000..ef9d75f3f
--- /dev/null
+++ b/bitbake/lib/bb/fetch2/__init__.py
@@ -0,0 +1,985 @@
+# ex:ts=4:sw=4:sts=4:et
+# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+"""
+BitBake 'Fetch' implementations
+
+Classes for obtaining upstream sources for the
+BitBake build tools.
+"""
+
+# Copyright (C) 2003, 2004 Chris Larson
+#
+# 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.
+#
+# 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.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# 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 logging
+import bb
+from bb import data
+from bb import persist_data
+from bb import utils
+
+__version__ = "2"
+
+logger = logging.getLogger("BitBake.Fetcher")
+
+class BBFetchException(Exception):
+ """Class all fetch exceptions inherit from"""
+ def __init__(self, message):
+ self.msg = message
+ Exception.__init__(self, message)
+
+ def __str__(self):
+ return self.msg
+
+class MalformedUrl(BBFetchException):
+ """Exception raised when encountering an invalid url"""
+ def __init__(self, url):
+ msg = "The URL: '%s' is invalid and cannot be interpreted" % url
+ self.url = url
+ BBFetchException.__init__(self, msg)
+ self.args = url
+
+class FetchError(BBFetchException):
+ """General fetcher exception when something happens incorrectly"""
+ def __init__(self, message, url = None):
+ msg = "Fetcher failure for URL: '%s'. %s" % (url, message)
+ self.url = url
+ BBFetchException.__init__(self, msg)
+ self.args = (message, url)
+
+class UnpackError(BBFetchException):
+ """General fetcher exception when something happens incorrectly when unpacking"""
+ def __init__(self, message, url):
+ msg = "Unpack failure for URL: '%s'. %s" % (url, message)
+ self.url = url
+ BBFetchException.__init__(self, msg)
+ self.args = (message, url)
+
+class NoMethodError(BBFetchException):
+ """Exception raised when there is no method to obtain a supplied url or set of urls"""
+ def __init__(self, url):
+ msg = "Could not find a fetcher which supports the URL: '%s'" % url
+ self.url = url
+ BBFetchException.__init__(self, msg)
+ self.args = url
+
+class MissingParameterError(BBFetchException):
+ """Exception raised when a fetch method is missing a critical parameter in the url"""
+ def __init__(self, missing, url):
+ msg = "URL: '%s' is missing the required parameter '%s'" % (url, missing)
+ self.url = url
+ self.missing = missing
+ BBFetchException.__init__(self, msg)
+ self.args = (missing, url)
+
+class ParameterError(BBFetchException):
+ """Exception raised when a url cannot be proccessed due to invalid parameters."""
+ def __init__(self, message, url):
+ msg = "URL: '%s' has invalid parameters. %s" % (url, message)
+ self.url = url
+ BBFetchException.__init__(self, msg)
+ self.args = (message, url)
+
+class MD5SumError(BBFetchException):
+ """Exception raised when a MD5 checksum of a file does not match for a downloaded file"""
+ def __init__(self, path, wanted, got, url):
+ msg = "File: '%s' has md5 sum %s when %s was expected (from URL: '%s')" % (path, got, wanted, url)
+ self.url = url
+ self.path = path
+ self.wanted = wanted
+ self.got = got
+ BBFetchException.__init__(self, msg)
+ self.args = (path, wanted, got, url)
+
+class SHA256SumError(MD5SumError):
+ """Exception raised when a SHA256 checksum of a file does not match for a downloaded file"""
+
+def decodeurl(url):
+ """Decodes an URL into the tokens (scheme, network location, path,
+ user, password, parameters).
+ """
+
+ m = re.compile('(?P<type>[^:]*)://((?P<user>.+)@)?(?P<location>[^;]+)(;(?P<parm>.*))?').match(url)
+ if not m:
+ raise MalformedUrl(url)
+
+ type = m.group('type')
+ location = m.group('location')
+ if not location:
+ raise MalformedUrl(url)
+ user = m.group('user')
+ parm = m.group('parm')
+
+ locidx = location.find('/')
+ if locidx != -1 and type.lower() != 'file':
+ host = location[:locidx]
+ path = location[locidx:]
+ else:
+ host = ""
+ path = location
+ if user:
+ m = re.compile('(?P<user>[^:]+)(:?(?P<pswd>.*))').match(user)
+ if m:
+ user = m.group('user')
+ pswd = m.group('pswd')
+ else:
+ user = ''
+ pswd = ''
+
+ p = {}
+ if parm:
+ for s in parm.split(';'):
+ s1, s2 = s.split('=')
+ p[s1] = s2
+
+ return (type, host, path, user, pswd, p)
+
+def encodeurl(decoded):
+ """Encodes a URL from tokens (scheme, network location, path,
+ user, password, parameters).
+ """
+
+ (type, host, path, user, pswd, p) = decoded
+
+ if not path:
+ raise MissingParameterError('path', "encoded from the data %s" % str(decoded))
+ if not type:
+ raise MissingParameterError('type', "encoded from the data %s" % str(decoded))
+ url = '%s://' % type
+ if user and type != "file":
+ url += "%s" % user
+ if pswd:
+ url += ":%s" % pswd
+ url += "@"
+ if host and type != "file":
+ url += "%s" % host
+ url += "%s" % path
+ if p:
+ for parm in p:
+ url += ";%s=%s" % (parm, p[parm])
+
+ return url
+
+def uri_replace(ud, uri_find, uri_replace, d):
+ if not ud.url or not uri_find or not uri_replace:
+ logger.debug(1, "uri_replace: passed an undefined value, not replacing")
+ uri_decoded = list(decodeurl(ud.url))
+ 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]
+ 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:
+ if ud.mirrortarball:
+ result_decoded[loc] = os.path.join(os.path.dirname(result_decoded[loc]), os.path.basename(ud.mirrortarball))
+ elif ud.localpath:
+ result_decoded[loc] = os.path.join(os.path.dirname(result_decoded[loc]), os.path.basename(ud.localpath))
+ else:
+ return ud.url
+ return encodeurl(result_decoded)
+
+methods = []
+urldata_cache = {}
+saved_headrevs = {}
+
+def fetcher_init(d):
+ """
+ Called to initialize the fetchers once the configuration data is known.
+ Calls before this must not hit the cache.
+ """
+ pd = persist_data.persist(d)
+ # When to drop SCM head revisions controlled by user policy
+ srcrev_policy = bb.data.getVar('BB_SRCREV_POLICY', d, True) or "clear"
+ if srcrev_policy == "cache":
+ logger.debug(1, "Keeping SRCREV cache due to cache policy of: %s", srcrev_policy)
+ elif srcrev_policy == "clear":
+ logger.debug(1, "Clearing SRCREV cache due to cache policy of: %s", srcrev_policy)
+ try:
+ bb.fetch2.saved_headrevs = pd['BB_URI_HEADREVS'].items()
+ except:
+ pass
+ del pd['BB_URI_HEADREVS']
+ else:
+ raise FetchError("Invalid SRCREV cache policy of: %s" % srcrev_policy)
+
+ for m in methods:
+ if hasattr(m, "init"):
+ m.init(d)
+
+def fetcher_compare_revisions(d):
+ """
+ Compare the revisions in the persistant cache with current values and
+ return true/false on whether they've changed.
+ """
+
+ pd = persist_data.persist(d)
+ data = pd['BB_URI_HEADREVS'].items()
+ data2 = bb.fetch2.saved_headrevs
+
+ changed = False
+ for key in data:
+ if key not in data2 or data2[key] != data[key]:
+ logger.debug(1, "%s changed", key)
+ changed = True
+ return True
+ else:
+ logger.debug(2, "%s did not change", key)
+ return False
+
+def mirror_from_string(data):
+ return [ i.split() for i in (data or "").replace('\\n','\n').split('\n') if i ]
+
+def verify_checksum(u, ud, d):
+ """
+ verify the MD5 and SHA256 checksum for downloaded src
+
+ return value:
+ - True: checksum matched
+ - False: checksum unmatched
+
+ if checksum is missing in recipes file, "BB_STRICT_CHECKSUM" decide the return value.
+ if BB_STRICT_CHECKSUM = "1" then return false as unmatched, otherwise return true as
+ matched
+ """
+
+ if not ud.type in ["http", "https", "ftp", "ftps"]:
+ return
+
+ md5data = bb.utils.md5_file(ud.localpath)
+ sha256data = bb.utils.sha256_file(ud.localpath)
+
+ if (ud.md5_expected == None or ud.sha256_expected == None):
+ logger.warn('Missing SRC_URI checksum for %s, consider adding to the recipe:\n'
+ 'SRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"',
+ ud.localpath, ud.md5_name, md5data,
+ ud.sha256_name, sha256data)
+ if bb.data.getVar("BB_STRICT_CHECKSUM", d, True) == "1":
+ raise FetchError("No checksum specified for %s." % u, u)
+ return
+
+ if ud.md5_expected != md5data:
+ raise MD5SumError(ud.localpath, ud.md5_expected, md5data, u)
+
+ if ud.sha256_expected != sha256data:
+ raise SHA256SumError(ud.localpath, ud.sha256_expected, sha256data, u)
+
+def subprocess_setup():
+ import signal
+ # Python installs a SIGPIPE handler by default. This is usually not what
+ # non-Python subprocesses expect.
+ # SIGPIPE errors are known issues with gzip/bash
+ signal.signal(signal.SIGPIPE, signal.SIG_DFL)
+
+def get_autorev(d):
+ # only not cache src rev in autorev case
+ if bb.data.getVar('BB_SRCREV_POLICY', d, True) != "cache":
+ bb.data.setVar('__BB_DONT_CACHE', '1', d)
+ return "AUTOINC"
+
+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
+ have been set.
+ """
+
+ scms = []
+ fetcher = Fetch(bb.data.getVar('SRC_URI', d, True).split(), d)
+ urldata = fetcher.ud
+ for u in urldata:
+ if urldata[u].method.supports_srcrev():
+ scms.append(u)
+
+ if len(scms) == 0:
+ raise FetchError("SRCREV was used yet no valid SCM was found in SRC_URI")
+
+ if len(scms) == 1 and len(urldata[scms[0]].names) == 1:
+ return urldata[scms[0]].method.sortable_revision(scms[0], urldata[scms[0]], d, urldata[scms[0]].names[0])
+
+ #
+ # Mutiple SCMs are in SRC_URI so we resort to SRCREV_FORMAT
+ #
+ format = bb.data.getVar('SRCREV_FORMAT', d, True)
+ if not format:
+ raise FetchError("The SRCREV_FORMAT variable must be set when multiple SCMs are used.")
+
+ for scm in scms:
+ ud = urldata[scm]
+ for name in ud.names:
+ rev = ud.method.sortable_revision(scm, ud, d, name)
+ format = format.replace(name, rev)
+
+ return format
+
+def localpath(url, d):
+ fetcher = bb.fetch2.Fetch([url], d)
+ return fetcher.localpath(url)
+
+def runfetchcmd(cmd, d, quiet = False, cleanup = []):
+ """
+ Run cmd returning the command output
+ Raise an error if interrupted or cmd fails
+ Optionally echo command output to stdout
+ Optionally remove the files/directories listed in cleanup upon failure
+ """
+
+ # Need to export PATH as binary could be in metadata paths
+ # rather than host provided
+ # Also include some other variables.
+ # FIXME: Should really include all export varaiables?
+ exportvars = ['PATH', 'GIT_PROXY_COMMAND', 'GIT_PROXY_HOST',
+ 'GIT_PROXY_PORT', 'GIT_CONFIG', 'http_proxy', 'ftp_proxy',
+ 'https_proxy', 'no_proxy', 'ALL_PROXY', 'all_proxy',
+ 'SSH_AUTH_SOCK', 'SSH_AGENT_PID', 'HOME']
+
+ for var in exportvars:
+ val = data.getVar(var, d, True)
+ if val:
+ cmd = 'export ' + var + '=\"%s\"; %s' % (val, cmd)
+
+ logger.debug(1, "Running %s", cmd)
+
+ # redirect stderr to stdout
+ stdout_handle = os.popen(cmd + " 2>&1", "r")
+ output = ""
+
+ while True:
+ line = stdout_handle.readline()
+ if not line:
+ break
+ if not quiet:
+ print(line, end=' ')
+ output += line
+
+ status = stdout_handle.close() or 0
+ signal = status >> 8
+ exitstatus = status & 0xff
+
+ if (signal or status != 0):
+ for f in cleanup:
+ try:
+ bb.utils.remove(f, True)
+ except OSError:
+ pass
+
+ if signal:
+ raise FetchError("Fetch command %s failed with signal %s, output:\n%s" % (cmd, signal, output))
+ elif status != 0:
+ raise FetchError("Fetch command %s failed with exit code %s, output:\n%s" % (cmd, status, output))
+
+ return output
+
+def check_network_access(d, info = ""):
+ """
+ log remote network access, and error if BB_NO_NETWORK is set
+ """
+ if bb.data.getVar("BB_NO_NETWORK", d, True) == "1":
+ raise FetchError("BB_NO_NETWORK is set, but the fetcher code attempted network access with the command %s" % info)
+ else:
+ logger.debug(1, "Fetcher accessed the network with the command %s" % info)
+
+def try_mirrors(d, origud, mirrors, check = False):
+ """
+ Try to use a mirrored version of the sources.
+ This method will be automatically called before the fetchers go.
+
+ d Is a bb.data instance
+ uri is the original uri we're trying to download
+ mirrors is the list of mirrors we're going to try
+ """
+ ld = d.createCopy()
+ for (find, replace) in mirrors:
+ newuri = uri_replace(origud, find, replace, ld)
+ if newuri == origud.url:
+ continue
+ try:
+ ud = FetchData(newuri, ld)
+ ud.setup_localpath(ld)
+
+ if check:
+ found = ud.method.checkstatus(newuri, ud, ld)
+ if found:
+ return found
+ continue
+
+ if ud.method.need_update(newuri, ud, ld):
+ ud.method.download(newuri, ud, ld)
+ if hasattr(ud.method,"build_mirror_data"):
+ ud.method.build_mirror_data(newuri, ud, ld)
+
+ if not ud.localpath or not os.path.exists(ud.localpath):
+ continue
+
+ if ud.localpath == origud.localpath:
+ return ud.localpath
+
+ # We may be obtaining a mirror tarball which needs further processing by the real fetcher
+ # If that tarball is a local file:// we need to provide a symlink to it
+ dldir = ld.getVar("DL_DIR", True)
+ if not ud.localpath.startswith(dldir):
+ if os.path.basename(ud.localpath) != os.path.basename(origud.localpath):
+ os.symlink(ud.localpath, os.path.join(dldir, os.path.basename(ud.localpath)))
+ return None
+ # Otherwise the result is a local file:// and we symlink to it
+ if not os.path.exists(origud.localpath):
+ os.symlink(ud.localpath, origud.localpath)
+ return ud.localpath
+
+ except bb.fetch2.BBFetchException:
+ logger.debug(1, "Mirror fetch failure for url %s (original url: %s)" % (newuri, origud.url))
+ try:
+ if os.path.isfile(ud.localpath):
+ bb.utils.remove(ud.localpath)
+ except UnboundLocalError:
+ pass
+ continue
+ return None
+
+def srcrev_internal_helper(ud, d, name):
+ """
+ Return:
+ a) a source revision if specified
+ b) latest revision if SRCREV="AUTOINC"
+ c) None if not specified
+ """
+
+ if 'rev' in ud.parm:
+ return ud.parm['rev']
+
+ if 'tag' in ud.parm:
+ return ud.parm['tag']
+
+ rev = None
+ if name != '':
+ pn = data.getVar("PN", d, True)
+ rev = data.getVar("SRCREV_%s_pn-%s" % (name, pn), d, True)
+ if not rev:
+ rev = data.getVar("SRCREV_%s" % name, d, True)
+ if not rev:
+ rev = data.getVar("SRCREV", d, True)
+ if rev == "INVALID":
+ raise FetchError("Please set SRCREV to a valid value", ud.url)
+ if rev == "AUTOINC":
+ rev = ud.method.latest_revision(ud.url, ud, d, name)
+
+ return rev
+
+class FetchData(object):
+ """
+ A class which represents the fetcher state for a given URI.
+ """
+ def __init__(self, url, d):
+ # localpath is the location of a downloaded result. If not set, the file is local.
+ self.localfile = ""
+ self.localpath = None
+ self.lockfile = None
+ self.mirrortarball = None
+ (self.type, self.host, self.path, self.user, self.pswd, self.parm) = decodeurl(data.expand(url, d))
+ self.date = self.getSRCDate(d)
+ self.url = url
+ if not self.user and "user" in self.parm:
+ self.user = self.parm["user"]
+ if not self.pswd and "pswd" in self.parm:
+ self.pswd = self.parm["pswd"]
+ self.setup = False
+
+ if "name" in self.parm:
+ self.md5_name = "%s.md5sum" % self.parm["name"]
+ self.sha256_name = "%s.sha256sum" % self.parm["name"]
+ else:
+ self.md5_name = "md5sum"
+ self.sha256_name = "sha256sum"
+ self.md5_expected = bb.data.getVarFlag("SRC_URI", self.md5_name, d)
+ self.sha256_expected = bb.data.getVarFlag("SRC_URI", self.sha256_name, d)
+
+ self.names = self.parm.get("name",'default').split(',')
+
+ self.method = None
+ for m in methods:
+ if m.supports(url, self, d):
+ self.method = m
+ break
+
+ if not self.method:
+ raise NoMethodError(url)
+
+ if self.method.supports_srcrev():
+ self.revisions = {}
+ for name in self.names:
+ self.revisions[name] = srcrev_internal_helper(self, d, name)
+
+ # add compatibility code for non name specified case
+ if len(self.names) == 1:
+ self.revision = self.revisions[self.names[0]]
+
+ if hasattr(self.method, "urldata_init"):
+ self.method.urldata_init(self, d)
+
+ if "localpath" in self.parm:
+ # if user sets localpath for file, use it instead.
+ self.localpath = self.parm["localpath"]
+ self.basename = os.path.basename(self.localpath)
+ elif self.localfile:
+ self.localpath = self.method.localpath(self.url, self, d)
+
+ if self.localfile and self.localpath:
+ # Note: These files should always be in DL_DIR whereas localpath may not be.
+ basepath = bb.data.expand("${DL_DIR}/%s" % os.path.basename(self.localpath), d)
+ self.donestamp = basepath + '.done'
+ self.lockfile = basepath + '.lock'
+
+ def setup_localpath(self, d):
+ if not self.localpath:
+ self.localpath = self.method.localpath(self.url, self, d)
+
+ def getSRCDate(self, d):
+ """
+ Return the SRC Date for the component
+
+ d the bb.data module
+ """
+ if "srcdate" in self.parm:
+ return self.parm['srcdate']
+
+ pn = data.getVar("PN", d, True)
+
+ if pn:
+ return data.getVar("SRCDATE_%s" % pn, d, True) or data.getVar("SRCDATE", d, True) or data.getVar("DATE", d, True)
+
+ return data.getVar("SRCDATE", d, True) or data.getVar("DATE", d, True)
+
+class FetchMethod(object):
+ """Base class for 'fetch'ing data"""
+
+ def __init__(self, urls = []):
+ self.urls = []
+
+ def supports(self, url, urldata, d):
+ """
+ Check to see if this fetch class supports a given url.
+ """
+ return 0
+
+ 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
+ and duplicate code execution)
+ """
+ return os.path.join(data.getVar("DL_DIR", d, True), urldata.localfile)
+
+ def _strip_leading_slashes(self, relpath):
+ """
+ Remove leading slash as os.path.join can't cope
+ """
+ while os.path.isabs(relpath):
+ relpath = relpath[1:]
+ return relpath
+
+ def setUrls(self, urls):
+ self.__urls = urls
+
+ def getUrls(self):
+ return self.__urls
+
+ urls = property(getUrls, setUrls, None, "Urls property")
+
+ def need_update(self, url, ud, d):
+ """
+ Force a fetch, even if localpath exists?
+ """
+ if os.path.exists(ud.localpath):
+ return False
+ return True
+
+ def supports_srcrev(self):
+ """
+ The fetcher supports auto source revisions (SRCREV)
+ """
+ return False
+
+ def download(self, url, urldata, d):
+ """
+ Fetch urls
+ Assumes localpath was called first
+ """
+ raise NoMethodError(url)
+
+ def unpack(self, urldata, rootdir, data):
+ import subprocess
+ iterate = False
+ file = urldata.localpath
+ dots = file.split(".")
+ if dots[-1] in ['gz', 'bz2', 'Z']:
+ efile = os.path.join(bb.data.getVar('WORKDIR', data, True),os.path.basename('.'.join(dots[0:-1])))
+ else:
+ efile = file
+ cmd = None
+
+ if file.endswith('.tar'):
+ cmd = 'tar x --no-same-owner -f %s' % file
+ elif file.endswith('.tgz') or file.endswith('.tar.gz') or file.endswith('.tar.Z'):
+ cmd = 'tar xz --no-same-owner -f %s' % file
+ elif file.endswith('.tbz') or file.endswith('.tbz2') or file.endswith('.tar.bz2'):
+ cmd = 'bzip2 -dc %s | tar x --no-same-owner -f -' % file
+ elif file.endswith('.gz') or file.endswith('.Z') or file.endswith('.z'):
+ cmd = 'gzip -dc %s > %s' % (file, efile)
+ elif file.endswith('.bz2'):
+ cmd = 'bzip2 -dc %s > %s' % (file, efile)
+ elif file.endswith('.tar.xz'):
+ cmd = 'xz -dc %s | tar x --no-same-owner -f -' % file
+ elif file.endswith('.xz'):
+ cmd = 'xz -dc %s > %s' % (file, efile)
+ elif file.endswith('.zip') or file.endswith('.jar'):
+ cmd = 'unzip -q -o'
+ if 'dos' in urldata.parm:
+ cmd = '%s -a' % cmd
+ cmd = "%s '%s'" % (cmd, file)
+ elif file.endswith('.src.rpm') or file.endswith('.srpm'):
+ if 'unpack' in urldata.parm:
+ unpack_file = ("%s" % urldata.parm['unpack'])
+ cmd = 'rpm2cpio.sh %s | cpio -i %s' % (file, unpack_file)
+ iterate = True
+ iterate_file = unpack_file
+ else:
+ cmd = 'rpm2cpio.sh %s | cpio -i' % (file)
+ else:
+ # If file == dest, then avoid any copies, as we already put the file into dest!
+ dest = os.path.join(rootdir, os.path.basename(file))
+ if (file != dest) and not (os.path.exists(dest) and os.path.samefile(file, dest)):
+ if os.path.isdir(file):
+ filesdir = os.path.realpath(bb.data.getVar("FILESDIR", data, True))
+ destdir = "."
+ if file[0:len(filesdir)] == filesdir:
+ destdir = file[len(filesdir):file.rfind('/')]
+ destdir = destdir.strip('/')
+ if len(destdir) < 1:
+ destdir = "."
+ elif not os.access("%s/%s" % (rootdir, destdir), os.F_OK):
+ os.makedirs("%s/%s" % (rootdir, destdir))
+ cmd = 'cp -pPR %s %s/%s/' % (file, rootdir, destdir)
+ else:
+ if not 'patch' in urldata.parm:
+ # The "destdir" handling was specifically done for FILESPATH
+ # items. So, only do so for file:// entries.
+ if urldata.type == "file" and urldata.path.find("/") != -1:
+ destdir = urldata.path.rsplit("/", 1)[0]
+ else:
+ destdir = "."
+ bb.mkdirhier("%s/%s" % (rootdir, destdir))
+ cmd = 'cp %s %s/%s/' % (file, rootdir, destdir)
+
+ if not cmd:
+ return
+
+ # Change to subdir before executing command
+ save_cwd = os.getcwd();
+ os.chdir(rootdir)
+ if 'subdir' in urldata.parm:
+ newdir = ("%s/%s" % (rootdir, urldata.parm['subdir']))
+ bb.mkdirhier(newdir)
+ os.chdir(newdir)
+
+ cmd = "PATH=\"%s\" %s" % (bb.data.getVar('PATH', data, True), cmd)
+ bb.note("Unpacking %s to %s/" % (file, os.getcwd()))
+ ret = subprocess.call(cmd, preexec_fn=subprocess_setup, shell=True)
+
+ os.chdir(save_cwd)
+
+ if ret != 0:
+ raise UnpackError("Unpack command %s failed with return value %s" % (cmd, ret), urldata.url)
+
+ if iterate is True:
+ iterate_urldata = urldata
+ iterate_urldata.localpath = "%s/%s" % (rootdir, iterate_file)
+ self.unpack(urldata, rootdir, data)
+
+ return
+
+ def try_premirror(self, url, urldata, d):
+ """
+ Should premirrors be used?
+ """
+ return True
+
+ def checkstatus(self, url, urldata, d):
+ """
+ Check the status of a URL
+ Assumes localpath was called first
+ """
+ logger.info("URL %s could not be checked for status since no method exists.", url)
+ return True
+
+ def localcount_internal_helper(ud, d, name):
+ """
+ Return:
+ a) a locked localcount if specified
+ b) None otherwise
+ """
+
+ localcount = None
+ if name != '':
+ pn = data.getVar("PN", d, True)
+ localcount = data.getVar("LOCALCOUNT_" + name, d, True)
+ if not localcount:
+ localcount = data.getVar("LOCALCOUNT", d, True)
+ return localcount
+
+ localcount_internal_helper = staticmethod(localcount_internal_helper)
+
+ def latest_revision(self, url, ud, d, name):
+ """
+ Look in the cache for the latest revision, if not present ask the SCM.
+ """
+ if not hasattr(self, "_latest_revision"):
+ raise ParameterError("The fetcher for this URL does not support _latest_revision", url)
+
+ pd = persist_data.persist(d)
+ revs = pd['BB_URI_HEADREVS']
+ key = self.generate_revision_key(url, ud, d, name)
+ rev = revs[key]
+ if rev != None:
+ return str(rev)
+
+ revs[key] = rev = self._latest_revision(url, ud, d, name)
+ return rev
+
+ def sortable_revision(self, url, ud, d, name):
+ """
+
+ """
+ if hasattr(self, "_sortable_revision"):
+ return self._sortable_revision(url, ud, d)
+
+ pd = persist_data.persist(d)
+ localcounts = pd['BB_URI_LOCALCOUNT']
+ key = self.generate_revision_key(url, ud, d, name)
+
+ latest_rev = self._build_revision(url, ud, d, name)
+ last_rev = localcounts[key + '_rev']
+ uselocalcount = bb.data.getVar("BB_LOCALCOUNT_OVERRIDE", d, True) or False
+ count = None
+ if uselocalcount:
+ count = FetchMethod.localcount_internal_helper(ud, d, name)
+ if count is None:
+ count = localcounts[key + '_count'] or "0"
+
+ if last_rev == latest_rev:
+ return str(count + "+" + latest_rev)
+
+ buildindex_provided = hasattr(self, "_sortable_buildindex")
+ if buildindex_provided:
+ count = self._sortable_buildindex(url, ud, d, latest_rev)
+
+ if count is None:
+ count = "0"
+ elif uselocalcount or buildindex_provided:
+ count = str(count)
+ else:
+ count = str(int(count) + 1)
+
+ localcounts[key + '_rev'] = latest_rev
+ localcounts[key + '_count'] = count
+
+ return str(count + "+" + latest_rev)
+
+ def generate_revision_key(self, url, ud, d, name):
+ key = self._revision_key(url, ud, d, name)
+ return "%s-%s" % (key, bb.data.getVar("PN", d, True) or "")
+
+class Fetch(object):
+ def __init__(self, urls, d, cache = True):
+ if len(urls) == 0:
+ urls = d.getVar("SRC_URI", True).split()
+ self.urls = urls
+ self.d = d
+ self.ud = {}
+
+ fn = bb.data.getVar('FILE', d, True)
+ if cache and fn in urldata_cache:
+ self.ud = urldata_cache[fn]
+
+ for url in urls:
+ if url not in self.ud:
+ self.ud[url] = FetchData(url, d)
+
+ if cache:
+ urldata_cache[fn] = self.ud
+
+ def localpath(self, url):
+ if url not in self.urls:
+ self.ud[url] = FetchData(url, self.d)
+
+ self.ud[url].setup_localpath(self.d)
+ return bb.data.expand(self.ud[url].localpath, self.d)
+
+ def localpaths(self):
+ """
+ Return a list of the local filenames, assuming successful fetch
+ """
+ local = []
+
+ for u in self.urls:
+ ud = self.ud[u]
+ ud.setup_localpath(self.d)
+ local.append(ud.localpath)
+
+ return local
+
+ def download(self, urls = []):
+ """
+ Fetch all urls
+ """
+ if len(urls) == 0:
+ urls = self.urls
+
+ for u in urls:
+ ud = self.ud[u]
+ ud.setup_localpath(self.d)
+ m = ud.method
+ localpath = ""
+
+ if not ud.localfile:
+ continue
+
+ lf = bb.utils.lockfile(ud.lockfile)
+
+ try:
+ if not m.need_update(u, ud, self.d):
+ localpath = ud.localpath
+ elif m.try_premirror(u, ud, self.d):
+ mirrors = mirror_from_string(bb.data.getVar('PREMIRRORS', self.d, True))
+ localpath = try_mirrors(self.d, ud, mirrors, False)
+
+ if bb.data.getVar("BB_FETCH_PREMIRRORONLY", self.d, True) is not None:
+ bb.data.setVar("BB_NO_NETWORK", "1", self.d)
+
+ if not localpath and m.need_update(u, ud, self.d):
+ try:
+ m.download(u, ud, self.d)
+ if hasattr(m, "build_mirror_data"):
+ m.build_mirror_data(u, ud, self.d)
+ localpath = ud.localpath
+
+ except BBFetchException:
+ # Remove any incomplete fetch
+ if os.path.isfile(ud.localpath):
+ bb.utils.remove(ud.localpath)
+ mirrors = mirror_from_string(bb.data.getVar('MIRRORS', self.d, True))
+ localpath = try_mirrors (self.d, ud, mirrors)
+
+ if not localpath or not os.path.exists(localpath):
+ raise FetchError("Unable to fetch URL %s from any source." % u, u)
+
+ if os.path.exists(ud.donestamp):
+ # Touch the done stamp file to show active use of the download
+ try:
+ os.utime(ud.donestamp, None)
+ except:
+ # Errors aren't fatal here
+ pass
+ else:
+ # Only check the checksums if we've not seen this item before, then create the stamp
+ verify_checksum(u, ud, self.d)
+ open(ud.donestamp, 'w').close()
+
+ finally:
+ bb.utils.unlockfile(lf)
+
+ def checkstatus(self, urls = []):
+ """
+ Check all urls exist upstream
+ """
+
+ if len(urls) == 0:
+ urls = self.urls
+
+ for u in urls:
+ ud = self.ud[u]
+ ud.setup_localpath(self.d)
+ m = ud.method
+ logger.debug(1, "Testing URL %s", u)
+ # First try checking uri, u, from PREMIRRORS
+ mirrors = mirror_from_string(bb.data.getVar('PREMIRRORS', self.d, True))
+ ret = try_mirrors(self.d, ud, mirrors, True)
+ if not ret:
+ # Next try checking from the original uri, u
+ try:
+ ret = m.checkstatus(u, ud, self.d)
+ except:
+ # Finally, try checking uri, u, from MIRRORS
+ mirrors = mirror_from_string(bb.data.getVar('MIRRORS', self.d, True))
+ ret = try_mirrors (self.d, ud, mirrors, True)
+
+ if not ret:
+ raise FetchError("URL %s doesn't work" % u, u)
+
+ def unpack(self, root, urls = []):
+ """
+ Check all urls exist upstream
+ """
+
+ if len(urls) == 0:
+ urls = self.urls
+
+ for u in urls:
+ ud = self.ud[u]
+ ud.setup_localpath(self.d)
+
+ if bb.data.expand(self.localpath, self.d) is None:
+ continue
+
+ if ud.lockfile:
+ lf = bb.utils.lockfile(ud.lockfile)
+
+ ud.method.unpack(ud, root, self.d)
+
+ if ud.lockfile:
+ bb.utils.unlockfile(lf)
+
+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())
+methods.append(svn.Svn())
+methods.append(git.Git())
+methods.append(cvs.Cvs())
+methods.append(svk.Svk())
+methods.append(ssh.SSH())
+methods.append(perforce.Perforce())
+methods.append(bzr.Bzr())
+methods.append(hg.Hg())
+methods.append(osc.Osc())
+methods.append(repo.Repo())
diff --git a/bitbake/lib/bb/fetch2/bzr.py b/bitbake/lib/bb/fetch2/bzr.py
new file mode 100644
index 000000000..bb175662b
--- /dev/null
+++ b/bitbake/lib/bb/fetch2/bzr.py
@@ -0,0 +1,141 @@
+"""
+BitBake 'Fetch' implementation for bzr.
+
+"""
+
+# Copyright (C) 2007 Ross Burton
+# Copyright (C) 2007 Richard Purdie
+#
+# Classes for obtaining upstream sources for the
+# BitBake build tools.
+# Copyright (C) 2003, 2004 Chris Larson
+#
+# 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.
+#
+# 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.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+import os
+import sys
+import logging
+import bb
+from bb import data
+from bb.fetch2 import FetchMethod
+from bb.fetch2 import FetchError
+from bb.fetch2 import runfetchcmd
+from bb.fetch2 import logger
+
+class Bzr(FetchMethod):
+ def supports(self, url, ud, d):
+ return ud.type in ['bzr']
+
+ def urldata_init(self, ud, d):
+ """
+ init bzr specific variable within url data
+ """
+ # Create paths to bzr checkouts
+ relpath = self._strip_leading_slashes(ud.path)
+ ud.pkgdir = os.path.join(data.expand('${BZRDIR}', d), ud.host, relpath)
+
+ if not ud.revision:
+ ud.revision = self.latest_revision(ud.url, ud, d)
+
+ ud.localfile = data.expand('bzr_%s_%s_%s.tar.gz' % (ud.host, ud.path.replace('/', '.'), ud.revision), d)
+
+ def _buildbzrcommand(self, ud, d, command):
+ """
+ Build up an bzr commandline based on ud
+ command is "fetch", "update", "revno"
+ """
+
+ basecmd = data.expand('${FETCHCMD_bzr}', d)
+
+ proto = ud.parm.get('proto', 'http')
+
+ bzrroot = ud.host + ud.path
+
+ options = []
+
+ if command is "revno":
+ bzrcmd = "%s revno %s %s://%s" % (basecmd, " ".join(options), proto, bzrroot)
+ else:
+ if ud.revision:
+ options.append("-r %s" % ud.revision)
+
+ if command is "fetch":
+ bzrcmd = "%s co %s %s://%s" % (basecmd, " ".join(options), proto, bzrroot)
+ elif command is "update":
+ bzrcmd = "%s pull %s --overwrite" % (basecmd, " ".join(options))
+ else:
+ raise FetchError("Invalid bzr command %s" % command, ud.url)
+
+ return bzrcmd
+
+ def download(self, loc, ud, d):
+ """Fetch url"""
+
+ if os.access(os.path.join(ud.pkgdir, os.path.basename(ud.pkgdir), '.bzr'), os.R_OK):
+ bzrcmd = self._buildbzrcommand(ud, d, "update")
+ logger.debug(1, "BZR Update %s", loc)
+ bb.fetch2.check_network_access(d, bzrcmd)
+ os.chdir(os.path.join (ud.pkgdir, os.path.basename(ud.path)))
+ runfetchcmd(bzrcmd, d)
+ else:
+ bb.utils.remove(os.path.join(ud.pkgdir, os.path.basename(ud.pkgdir)), True)
+ bzrcmd = self._buildbzrcommand(ud, d, "fetch")
+ bb.fetch2.check_network_access(d, bzrcmd)
+ logger.debug(1, "BZR Checkout %s", loc)
+ bb.mkdirhier(ud.pkgdir)
+ os.chdir(ud.pkgdir)
+ logger.debug(1, "Running %s", bzrcmd)
+ runfetchcmd(bzrcmd, d)
+
+ os.chdir(ud.pkgdir)
+
+ scmdata = ud.parm.get("scmdata", "")
+ if scmdata == "keep":
+ tar_flags = ""
+ else:
+ tar_flags = "--exclude '.bzr' --exclude '.bzrtags'"
+
+ # tar them up to a defined filename
+ runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, os.path.basename(ud.pkgdir)), d, cleanup = [ud.localpath])
+
+ def supports_srcrev(self):
+ return True
+
+ def _revision_key(self, url, ud, d, name):
+ """
+ Return a unique key for the url
+ """
+ return "bzr:" + ud.pkgdir
+
+ def _latest_revision(self, url, ud, d, name):
+ """
+ Return the latest upstream revision number
+ """
+ logger.debug(2, "BZR fetcher hitting network for %s", url)
+
+ bb.fetch2.check_network_access(d, self._buildbzrcommand(ud, d, "revno"))
+
+ output = runfetchcmd(self._buildbzrcommand(ud, d, "revno"), d, True)
+
+ return output.strip()
+
+ def _sortable_revision(self, url, ud, d):
+ """
+ Return a sortable revision number which in our case is the revision number
+ """
+
+ return self._build_revision(url, ud, d)
+
+ def _build_revision(self, url, ud, d):
+ return ud.revision
diff --git a/bitbake/lib/bb/fetch2/cvs.py b/bitbake/lib/bb/fetch2/cvs.py
new file mode 100644
index 000000000..3cd28b1fd
--- /dev/null
+++ b/bitbake/lib/bb/fetch2/cvs.py
@@ -0,0 +1,169 @@
+# ex:ts=4:sw=4:sts=4:et
+# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+"""
+BitBake 'Fetch' implementations
+
+Classes for obtaining upstream sources for the
+BitBake build tools.
+
+"""
+
+# Copyright (C) 2003, 2004 Chris Larson
+#
+# 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.
+#
+# 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.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+#Based on functions from the base bb module, Copyright 2003 Holger Schurig
+#
+
+import os
+import logging
+import bb
+from bb import data
+from bb.fetch2 import FetchMethod, FetchError, MissingParameterError, logger
+from bb.fetch2 import runfetchcmd
+
+class Cvs(FetchMethod):
+ """
+ Class to fetch a module or modules from cvs repositories
+ """
+ def supports(self, url, ud, d):
+ """
+ Check to see if a given url can be fetched with cvs.
+ """
+ return ud.type in ['cvs']
+
+ def urldata_init(self, ud, d):
+ if not "module" in ud.parm:
+ raise MissingParameterError("module", ud.url)
+ ud.module = ud.parm["module"]
+
+ ud.tag = ud.parm.get('tag', "")
+
+ # Override the default date in certain cases
+ if 'date' in ud.parm:
+ ud.date = ud.parm['date']
+ elif ud.tag:
+ ud.date = ""
+
+ norecurse = ''
+ if 'norecurse' in ud.parm:
+ norecurse = '_norecurse'
+
+ fullpath = ''
+ if 'fullpath' in ud.parm:
+ fullpath = '_fullpath'
+
+ ud.localfile = data.expand('%s_%s_%s_%s%s%s.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.tag, ud.date, norecurse, fullpath), d)
+
+ def need_update(self, url, ud, d):
+ if (ud.date == "now"):
+ return True
+ if not os.path.exists(ud.localpath):
+ return True
+ return False
+
+ def download(self, loc, ud, d):
+
+ method = ud.parm.get('method', 'pserver')
+ localdir = ud.parm.get('localdir', ud.module)
+ cvs_port = ud.parm.get('port', '')
+
+ cvs_rsh = None
+ if method == "ext":
+ if "rsh" in ud.parm:
+ cvs_rsh = ud.parm["rsh"]
+
+ if method == "dir":
+ cvsroot = ud.path
+ else:
+ cvsroot = ":" + method
+ cvsproxyhost = data.getVar('CVS_PROXY_HOST', d, True)
+ if cvsproxyhost:
+ cvsroot += ";proxy=" + cvsproxyhost
+ cvsproxyport = data.getVar('CVS_PROXY_PORT', d, True)
+ if cvsproxyport:
+ cvsroot += ";proxyport=" + cvsproxyport
+ cvsroot += ":" + ud.user
+ if ud.pswd:
+ cvsroot += ":" + ud.pswd
+ cvsroot += "@" + ud.host + ":" + cvs_port + ud.path
+
+ options = []
+ if 'norecurse' in ud.parm:
+ options.append("-l")
+ if ud.date:
+ # treat YYYYMMDDHHMM specially for CVS
+ if len(ud.date) == 12:
+ options.append("-D \"%s %s:%s UTC\"" % (ud.date[0:8], ud.date[8:10], ud.date[10:12]))
+ else:
+ options.append("-D \"%s UTC\"" % ud.date)
+ if ud.tag:
+ options.append("-r %s" % ud.tag)
+
+ localdata = data.createCopy(d)
+ data.setVar('OVERRIDES', "cvs:%s" % data.getVar('OVERRIDES', localdata), localdata)
+ data.update_data(localdata)
+
+ data.setVar('CVSROOT', cvsroot, localdata)
+ data.setVar('CVSCOOPTS', " ".join(options), localdata)
+ data.setVar('CVSMODULE', ud.module, localdata)
+ cvscmd = data.getVar('FETCHCOMMAND', localdata, True)
+ cvsupdatecmd = data.getVar('UPDATECOMMAND', localdata, True)
+
+ if cvs_rsh:
+ cvscmd = "CVS_RSH=\"%s\" %s" % (cvs_rsh, cvscmd)
+ cvsupdatecmd = "CVS_RSH=\"%s\" %s" % (cvs_rsh, cvsupdatecmd)
+
+ # create module directory
+ logger.debug(2, "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):
+ logger.info("Update " + loc)
+ bb.fetch2.check_network_access(d, cvsupdatecmd)
+ # update sources there
+ os.chdir(moddir)
+ cmd = cvsupdatecmd
+ else:
+ logger.info("Fetch " + loc)
+ # check out sources there
+ bb.mkdirhier(pkgdir)
+ os.chdir(pkgdir)
+ logger.debug(1, "Running %s", cvscmd)
+ bb.fetch2.check_network_access(d, cvscmd)
+ cmd = cvscmd
+
+ runfetchcmd(cmd, d, cleanup = [moddir])
+
+ if not os.access(moddir, os.R_OK):
+ raise FetchError("Directory %s was not readable despite sucessful fetch?!" % moddir, ud.url)
+
+ scmdata = ud.parm.get("scmdata", "")
+ if scmdata == "keep":
+ tar_flags = ""
+ else:
+ tar_flags = "--exclude 'CVS'"
+
+ # tar them up to a defined filename
+ if 'fullpath' in ud.parm:
+ os.chdir(pkgdir)
+ cmd = "tar %s -czf %s %s" % (tar_flags, ud.localpath, localdir)
+ else:
+ os.chdir(moddir)
+ os.chdir('..')
+ cmd = "tar %s -czf %s %s" % (tar_flags, ud.localpath, os.path.basename(moddir))
+
+ runfetchcmd(cmd, d, cleanup = [ud.localpath])
+
diff --git a/bitbake/lib/bb/fetch2/git.py b/bitbake/lib/bb/fetch2/git.py
new file mode 100644
index 000000000..4cb669350
--- /dev/null
+++ b/bitbake/lib/bb/fetch2/git.py
@@ -0,0 +1,236 @@
+# ex:ts=4:sw=4:sts=4:et
+# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+"""
+BitBake 'Fetch' git implementation
+
+"""
+
+#Copyright (C) 2005 Richard Purdie
+#
+# 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.
+#
+# 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.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+import os
+import bb
+from bb import data
+from bb.fetch2 import FetchMethod
+from bb.fetch2 import runfetchcmd
+from bb.fetch2 import logger
+
+class Git(FetchMethod):
+ """Class to fetch a module or modules from git repositories"""
+ def init(self, d):
+ #
+ # Only enable _sortable revision if the key is set
+ #
+ if bb.data.getVar("BB_GIT_CLONE_FOR_SRCREV", d, True):
+ self._sortable_buildindex = self._sortable_buildindex_disabled
+ def supports(self, url, ud, d):
+ """
+ Check to see if a given url can be fetched with git.
+ """
+ return ud.type in ['git']
+
+ def urldata_init(self, ud, d):
+ """
+ init git specific variable within url data
+ so that the git method like latest_revision() can work
+ """
+ if 'protocol' in ud.parm:
+ ud.proto = ud.parm['protocol']
+ elif not ud.host:
+ ud.proto = 'file'
+ else:
+ ud.proto = "rsync"
+
+ ud.nocheckout = False
+ if 'nocheckout' in ud.parm:
+ ud.nocheckout = True
+
+ branches = ud.parm.get("branch", "master").split(',')
+ if len(branches) != len(ud.names):
+ raise bb.fetch2.ParameterError("The number of name and branch parameters is not balanced", ud.url)
+ ud.branches = {}
+ for name in ud.names:
+ branch = branches[ud.names.index(name)]
+ ud.branches[name] = branch
+
+ gitsrcname = '%s%s' % (ud.host, ud.path.replace('/', '.'))
+ ud.mirrortarball = 'git2_%s.tar.gz' % (gitsrcname)
+ ud.clonedir = os.path.join(data.expand('${GITDIR}', d), gitsrcname)
+
+ ud.basecmd = data.getVar("FETCHCMD_git", d, True) or "git"
+
+ for name in ud.names:
+ # Ensure anything that doesn't look like a sha256 checksum/revision is translated into one
+ if not ud.revisions[name] or len(ud.revisions[name]) != 40 or (False in [c in "abcdef0123456789" for c in ud.revisions[name]]):
+ ud.revisions[name] = self.latest_revision(ud.url, ud, d, name)
+
+ ud.localfile = ud.clonedir
+
+ def localpath(self, url, ud, d):
+ return ud.clonedir
+
+ def need_update(self, u, ud, d):
+ if not os.path.exists(ud.clonedir):
+ return True
+ os.chdir(ud.clonedir)
+ for name in ud.names:
+ if not self._contains_ref(ud.revisions[name], d):
+ return True
+ return False
+
+ def try_premirror(self, u, ud, d):
+ # If we don't do this, updating an existing checkout with only premirrors
+ # is not possible
+ if bb.data.getVar("BB_FETCH_PREMIRRORONLY", d, True) is not None:
+ return True
+ if os.path.exists(ud.clonedir):
+ return False
+ return True
+
+ def download(self, loc, ud, d):
+ """Fetch url"""
+
+ if ud.user:
+ username = ud.user + '@'
+ else:
+ username = ""
+
+ repofile = os.path.join(data.getVar("DL_DIR", d, True), ud.mirrortarball)
+
+ ud.repochanged = not os.path.exists(repofile)
+
+ # If the checkout doesn't exist and the mirror tarball does, extract it
+ if not os.path.exists(ud.clonedir) and os.path.exists(repofile):
+ bb.mkdirhier(ud.clonedir)
+ os.chdir(ud.clonedir)
+ runfetchcmd("tar -xzf %s" % (repofile), d)
+
+ # If the repo still doesn't exist, fallback to cloning it
+ if not os.path.exists(ud.clonedir):
+ bb.fetch2.check_network_access(d, "git clone --bare %s%s" % (ud.host, ud.path))
+ runfetchcmd("%s clone --bare %s://%s%s%s %s" % (ud.basecmd, ud.proto, username, ud.host, ud.path, ud.clonedir), d)
+
+ os.chdir(ud.clonedir)
+ # Update the checkout if needed
+ needupdate = False
+ for name in ud.names:
+ if not self._contains_ref(ud.revisions[name], d):
+ needupdate = True
+ if needupdate:
+ bb.fetch2.check_network_access(d, "git fetch %s%s" % (ud.host, ud.path))
+ try:
+ runfetchcmd("%s remote prune origin" % ud.basecmd, d)
+ runfetchcmd("%s remote rm origin" % ud.basecmd, d)
+ except bb.fetch2.FetchError:
+ logger.debug(1, "No Origin")
+
+ runfetchcmd("%s remote add origin %s://%s%s%s" % (ud.basecmd, ud.proto, username, ud.host, ud.path), d)
+ runfetchcmd("%s fetch --all -t" % ud.basecmd, d)
+ runfetchcmd("%s prune-packed" % ud.basecmd, d)
+ runfetchcmd("%s pack-redundant --all | xargs -r rm" % ud.basecmd, d)
+ ud.repochanged = True
+
+ def build_mirror_data(self, url, ud, d):
+ # Generate a mirror tarball if needed
+ repofile = os.path.join(data.getVar("DL_DIR", d, True), ud.mirrortarball)
+
+ os.chdir(ud.clonedir)
+ mirror_tarballs = data.getVar("BB_GENERATE_MIRROR_TARBALLS", d, True)
+ if mirror_tarballs != "0" and ud.repochanged:
+ logger.info("Creating tarball of git repository")
+ runfetchcmd("tar -czf %s %s" % (repofile, os.path.join(".") ), d)
+
+ def unpack(self, ud, destdir, d):
+ """ unpack the downloaded src to destdir"""
+
+ subdir = ud.parm.get("subpath", "")
+ if subdir != "":
+ readpathspec = ":%s" % (subdir)
+ else:
+ readpathspec = ""
+
+ destdir = os.path.join(destdir, "git/")
+ if os.path.exists(destdir):
+ bb.utils.prunedir(destdir)
+
+ runfetchcmd("git clone -s -n %s %s" % (ud.clonedir, destdir), d)
+ if not ud.nocheckout:
+ os.chdir(destdir)
+ runfetchcmd("%s read-tree %s%s" % (ud.basecmd, ud.revisions[ud.names[0]], readpathspec), d)
+ runfetchcmd("%s checkout-index -q -f -a" % ud.basecmd, d)
+ return True
+
+ def supports_srcrev(self):
+ return True
+
+ def _contains_ref(self, tag, d):
+ basecmd = data.getVar("FETCHCMD_git", d, True) or "git"
+ output = runfetchcmd("%s log --pretty=oneline -n 1 %s -- 2> /dev/null | wc -l" % (basecmd, tag), d, quiet=True)
+ return output.split()[0] != "0"
+
+ def _revision_key(self, url, ud, d, name):
+ """
+ Return a unique key for the url
+ """
+ return "git:" + ud.host + ud.path.replace('/', '.') + ud.branches[name]
+
+ def _latest_revision(self, url, ud, d, name):
+ """
+ Compute the HEAD revision for the url
+ """
+ if ud.user:
+ username = ud.user + '@'
+ else:
+ username = ""
+
+ bb.fetch2.check_network_access(d, "git ls-remote %s%s %s" % (ud.host, ud.path, ud.branches[name]))
+ basecmd = data.getVar("FETCHCMD_git", d, True) or "git"
+ cmd = "%s ls-remote %s://%s%s%s %s" % (basecmd, ud.proto, username, ud.host, ud.path, ud.branches[name])
+ output = runfetchcmd(cmd, d, True)
+ if not output:
+ raise bb.fetch2.FetchError("The command %s gave empty output unexpectedly" % cmd, url)
+ return output.split()[0]
+
+ def _build_revision(self, url, ud, d, name):
+ return ud.revisions[name]
+
+ def _sortable_buildindex_disabled(self, url, ud, d, rev):
+ """
+ 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.
+ """
+
+ cwd = os.getcwd()
+
+ # Check if we have the rev already
+
+ if not os.path.exists(ud.clonedir):
+ print("no repo")
+ self.download(None, ud, d)
+ if not os.path.exists(ud.clonedir):
+ logger.error("GIT repository for %s doesn't exist in %s, cannot get sortable buildnumber, using old value", url, ud.clonedir)
+ return None
+
+
+ os.chdir(ud.clonedir)
+ if not self._contains_ref(rev, d):
+ self.download(None, ud, d)
+
+ output = runfetchcmd("%s rev-list %s -- 2> /dev/null | wc -l" % (ud.basecmd, rev), d, quiet=True)
+ os.chdir(cwd)
+
+ buildindex = "%s" % output.split()[0]
+ logger.debug(1, "GIT repository for %s in %s is returning %s revisions in rev-list before %s", url, ud.clonedir, buildindex, rev)
+ return buildindex
diff --git a/bitbake/lib/bb/fetch2/hg.py b/bitbake/lib/bb/fetch2/hg.py
new file mode 100644
index 000000000..ac5825baa
--- /dev/null
+++ b/bitbake/lib/bb/fetch2/hg.py
@@ -0,0 +1,174 @@
+# ex:ts=4:sw=4:sts=4:et
+# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+"""
+BitBake 'Fetch' implementation for mercurial DRCS (hg).
+
+"""
+
+# Copyright (C) 2003, 2004 Chris Larson
+# Copyright (C) 2004 Marcin Juszkiewicz
+# Copyright (C) 2007 Robert Schuster
+#
+# 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.
+#
+# 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.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Based on functions from the base bb module, Copyright 2003 Holger Schurig
+
+import os
+import sys
+import logging
+import bb
+from bb import data
+from bb.fetch2 import FetchMethod
+from bb.fetch2 import FetchError
+from bb.fetch2 import MissingParameterError
+from bb.fetch2 import runfetchcmd
+from bb.fetch2 import logger
+
+class Hg(FetchMethod):
+ """Class to fetch from mercurial repositories"""
+ def supports(self, url, ud, d):
+ """
+ Check to see if a given url can be fetched with mercurial.
+ """
+ return ud.type in ['hg']
+
+ def urldata_init(self, ud, d):
+ """
+ init hg specific variable within url data
+ """
+ if not "module" in ud.parm:
+ raise MissingParameterError('module', ud.url)
+
+ ud.module = ud.parm["module"]
+
+ # Create paths to mercurial checkouts
+ relpath = self._strip_leading_slashes(ud.path)
+ ud.pkgdir = os.path.join(data.expand('${HGDIR}', d), ud.host, relpath)
+ ud.moddir = os.path.join(ud.pkgdir, ud.module)
+
+ if 'rev' in ud.parm:
+ ud.revision = ud.parm['rev']
+ elif not ud.revision:
+ ud.revision = self.latest_revision(ud.url, ud, d)
+
+ ud.localfile = data.expand('%s_%s_%s_%s.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.path.replace('/', '.'), ud.revision), d)
+
+ def need_update(self, url, ud, d):
+ revTag = ud.parm.get('rev', 'tip')
+ if revTag == "tip":
+ return True
+ if not os.path.exists(ud.localpath):
+ return True
+ return False
+
+ def _buildhgcommand(self, ud, d, command):
+ """
+ Build up an hg commandline based on ud
+ command is "fetch", "update", "info"
+ """
+
+ basecmd = data.expand('${FETCHCMD_hg}', d)
+
+ proto = ud.parm.get('proto', 'http')
+
+ host = ud.host
+ if proto == "file":
+ host = "/"
+ ud.host = "localhost"
+
+ if not ud.user:
+ hgroot = host + ud.path
+ else:
+ hgroot = ud.user + "@" + host + ud.path
+
+ if command is "info":
+ return "%s identify -i %s://%s/%s" % (basecmd, proto, hgroot, ud.module)
+
+ options = [];
+ if ud.revision:
+ options.append("-r %s" % ud.revision)
+
+ if command is "fetch":
+ cmd = "%s clone %s %s://%s/%s %s" % (basecmd, " ".join(options), proto, hgroot, ud.module, ud.module)
+ elif command is "pull":
+ # do not pass options list; limiting pull to rev causes the local
+ # repo not to contain it and immediately following "update" command
+ # will crash
+ cmd = "%s pull" % (basecmd)
+ elif command is "update":
+ cmd = "%s update -C %s" % (basecmd, " ".join(options))
+ else:
+ raise FetchError("Invalid hg command %s" % command, ud.url)
+
+ return cmd
+
+ def download(self, loc, ud, d):
+ """Fetch url"""
+
+ logger.debug(2, "Fetch: checking for module directory '" + ud.moddir + "'")
+
+ if os.access(os.path.join(ud.moddir, '.hg'), os.R_OK):
+ updatecmd = self._buildhgcommand(ud, d, "pull")
+ logger.info("Update " + loc)
+ # update sources there
+ os.chdir(ud.moddir)
+ logger.debug(1, "Running %s", updatecmd)
+ bb.fetch2.check_network_access(d, updatecmd)
+ runfetchcmd(updatecmd, d)
+
+ else:
+ fetchcmd = self._buildhgcommand(ud, d, "fetch")
+ logger.info("Fetch " + loc)
+ # check out sources there
+ bb.mkdirhier(ud.pkgdir)
+ os.chdir(ud.pkgdir)
+ logger.debug(1, "Running %s", fetchcmd)
+ bb.fetch2.check_network_access(d, 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
+ updatecmd = self._buildhgcommand(ud, d, "update")
+ os.chdir(ud.moddir)
+ logger.debug(1, "Running %s", updatecmd)
+ runfetchcmd(updatecmd, d)
+
+ scmdata = ud.parm.get("scmdata", "")
+ if scmdata == "keep":
+ tar_flags = ""
+ else:
+ tar_flags = "--exclude '.hg' --exclude '.hgrags'"
+
+ os.chdir(ud.pkgdir)
+ runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, ud.module), d, cleanup = [ud.localpath])
+
+ def supports_srcrev(self):
+ return True
+
+ def _latest_revision(self, url, ud, d, name):
+ """
+ Compute tip revision for the url
+ """
+ bb.fetch2.check_network_access(d, self._buildhgcommand(ud, d, "info"))
+ output = runfetchcmd(self._buildhgcommand(ud, d, "info"), d)
+ return output.strip()
+
+ def _build_revision(self, url, ud, d):
+ return ud.revision
+
+ def _revision_key(self, url, ud, d, name):
+ """
+ Return a unique key for the url
+ """
+ return "hg:" + ud.moddir
diff --git a/bitbake/lib/bb/fetch2/local.py b/bitbake/lib/bb/fetch2/local.py
new file mode 100644
index 000000000..d77d39375
--- /dev/null
+++ b/bitbake/lib/bb/fetch2/local.py
@@ -0,0 +1,76 @@
+# ex:ts=4:sw=4:sts=4:et
+# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+"""
+BitBake 'Fetch' implementations
+
+Classes for obtaining upstream sources for the
+BitBake build tools.
+
+"""
+
+# Copyright (C) 2003, 2004 Chris Larson
+#
+# 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.
+#
+# 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.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Based on functions from the base bb module, Copyright 2003 Holger Schurig
+
+import os
+import bb
+import bb.utils
+from bb import data
+from bb.fetch2 import FetchMethod
+
+class Local(FetchMethod):
+ def supports(self, url, urldata, d):
+ """
+ Check to see if a given url represents a local fetch.
+ """
+ return urldata.type in ['file']
+
+ def urldata_init(self, ud, d):
+ # We don't set localfile as for this fetcher the file is already local!
+ return
+
+ def localpath(self, url, urldata, d):
+ """
+ Return the local filename of a given url assuming a successful fetch.
+ """
+ path = url.split("://")[1]
+ path = path.split(";")[0]
+ newpath = path
+ if path[0] != "/":
+ filespath = data.getVar('FILESPATH', d, True)
+ if filespath:
+ newpath = bb.utils.which(filespath, path)
+ if not newpath:
+ filesdir = data.getVar('FILESDIR', d, True)
+ if filesdir:
+ newpath = os.path.join(filesdir, path)
+ return newpath
+
+ def download(self, url, urldata, d):
+ """Fetch urls (no-op for Local method)"""
+ # no need to fetch local files, we'll deal with them in place.
+ return 1
+
+ def checkstatus(self, url, urldata, d):
+ """
+ Check the status of the url
+ """
+ if urldata.localpath.find("*") != -1:
+ logger.info("URL %s looks like a glob and was therefore not checked.", url)
+ return True
+ if os.path.exists(urldata.localpath):
+ return True
+ return False
diff --git a/bitbake/lib/bb/fetch2/osc.py b/bitbake/lib/bb/fetch2/osc.py
new file mode 100644
index 000000000..f252b5e4a
--- /dev/null
+++ b/bitbake/lib/bb/fetch2/osc.py
@@ -0,0 +1,135 @@
+# ex:ts=4:sw=4:sts=4:et
+# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+"""
+Bitbake "Fetch" implementation for osc (Opensuse build service client).
+Based on the svn "Fetch" implementation.
+
+"""
+
+import os
+import sys
+import logging
+import bb
+from bb import data
+from bb.fetch2 import FetchMethod
+from bb.fetch2 import FetchError
+from bb.fetch2 import MissingParameterError
+from bb.fetch2 import runfetchcmd
+
+class Osc(FetchMethod):
+ """Class to fetch a module or modules from Opensuse build server
+ repositories."""
+
+ def supports(self, url, ud, d):
+ """
+ Check to see if a given url can be fetched with osc.
+ """
+ return ud.type in ['osc']
+
+ def urldata_init(self, ud, d):
+ if not "module" in ud.parm:
+ raise MissingParameterError('module', ud.url)
+
+ ud.module = ud.parm["module"]
+
+ # Create paths to osc checkouts
+ relpath = self._strip_leading_slashes(ud.path)
+ ud.pkgdir = os.path.join(data.expand('${OSCDIR}', d), ud.host)
+ ud.moddir = os.path.join(ud.pkgdir, relpath, ud.module)
+
+ if 'rev' in ud.parm:
+ ud.revision = ud.parm['rev']
+ else:
+ pv = data.getVar("PV", d, 0)
+ rev = bb.fetch2.srcrev_internal_helper(ud, d)
+ if rev and rev != True:
+ ud.revision = rev
+ else:
+ ud.revision = ""
+
+ ud.localfile = data.expand('%s_%s_%s.tar.gz' % (ud.module.replace('/', '.'), ud.path.replace('/', '.'), ud.revision), d)
+
+ def _buildosccommand(self, ud, d, command):
+ """
+ Build up an ocs commandline based on ud
+ command is "fetch", "update", "info"
+ """
+
+ basecmd = data.expand('${FETCHCMD_osc}', d)
+
+ proto = ud.parm.get('proto', 'ocs')
+
+ options = []
+
+ config = "-c %s" % self.generate_config(ud, d)
+
+ if ud.revision:
+ options.append("-r %s" % ud.revision)
+
+ coroot = self._strip_leading_slashes(ud.path)
+
+ if command is "fetch":
+ osccmd = "%s %s co %s/%s %s" % (basecmd, config, coroot, ud.module, " ".join(options))
+ elif command is "update":
+ osccmd = "%s %s up %s" % (basecmd, config, " ".join(options))
+ else:
+ raise FetchError("Invalid osc command %s" % command, ud.url)
+
+ return osccmd
+
+ def download(self, loc, ud, d):
+ """
+ Fetch url
+ """
+
+ logger.debug(2, "Fetch: checking for module directory '" + ud.moddir + "'")
+
+ if os.access(os.path.join(data.expand('${OSCDIR}', d), ud.path, ud.module), os.R_OK):
+ oscupdatecmd = self._buildosccommand(ud, d, "update")
+ logger.info("Update "+ loc)
+ # update sources there
+ os.chdir(ud.moddir)
+ logger.debug(1, "Running %s", oscupdatecmd)
+ bb.fetch2.check_network_access(d, oscupdatecmd)
+ runfetchcmd(oscupdatecmd, d)
+ else:
+ oscfetchcmd = self._buildosccommand(ud, d, "fetch")
+ logger.info("Fetch " + loc)
+ # check out sources there
+ bb.mkdirhier(ud.pkgdir)
+ os.chdir(ud.pkgdir)
+ logger.debug(1, "Running %s", oscfetchcmd)
+ bb.fetch2.check_network_access(d, oscfetchcmd)
+ runfetchcmd(oscfetchcmd, d)
+
+ os.chdir(os.path.join(ud.pkgdir + ud.path))
+ # tar them up to a defined filename
+ runfetchcmd("tar -czf %s %s" % (ud.localpath, ud.module), d, cleanup = [ud.localpath])
+
+ def supports_srcrev(self):
+ return False
+
+ def generate_config(self, ud, d):
+ """
+ Generate a .oscrc to be used for this run.
+ """
+
+ config_path = os.path.join(data.expand('${OSCDIR}', d), "oscrc")
+ if (os.path.exists(config_path)):
+ os.remove(config_path)
+
+ f = open(config_path, 'w')
+ f.write("[general]\n")
+ f.write("apisrv = %s\n" % ud.host)
+ f.write("scheme = http\n")
+ f.write("su-wrapper = su -c\n")
+ f.write("build-root = %s\n" % data.expand('${WORKDIR}', d))
+ f.write("urllist = http://moblin-obs.jf.intel.com:8888/build/%(project)s/%(repository)s/%(buildarch)s/:full/%(name)s.rpm\n")
+ f.write("extra-pkgs = gzip\n")
+ f.write("\n")
+ f.write("[%s]\n" % ud.host)
+ 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/fetch2/perforce.py b/bitbake/lib/bb/fetch2/perforce.py
new file mode 100644
index 000000000..6347834c7
--- /dev/null
+++ b/bitbake/lib/bb/fetch2/perforce.py
@@ -0,0 +1,196 @@
+# ex:ts=4:sw=4:sts=4:et
+# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+"""
+BitBake 'Fetch' implementations
+
+Classes for obtaining upstream sources for the
+BitBake build tools.
+
+"""
+
+# Copyright (C) 2003, 2004 Chris Larson
+#
+# 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.
+#
+# 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.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Based on functions from the base bb module, Copyright 2003 Holger Schurig
+
+from future_builtins import zip
+import os
+import logging
+import bb
+from bb import data
+from bb.fetch2 import FetchMethod
+from bb.fetch2 import FetchError
+from bb.fetch2 import logger
+from bb.fetch2 import runfetchcmd
+
+class Perforce(FetchMethod):
+ def supports(self, url, ud, d):
+ return ud.type in ['p4']
+
+ def doparse(url, d):
+ parm = {}
+ path = url.split("://")[1]
+ delim = path.find("@");
+ if delim != -1:
+ (user, pswd, host, port) = path.split('@')[0].split(":")
+ path = path.split('@')[1]
+ else:
+ (host, port) = data.getVar('P4PORT', d).split(':')
+ user = ""
+ pswd = ""
+
+ if path.find(";") != -1:
+ keys=[]
+ values=[]
+ plist = path.split(';')
+ for item in plist:
+ if item.count('='):
+ (key, value) = item.split('=')
+ keys.append(key)
+ values.append(value)
+
+ 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
+ doparse = staticmethod(doparse)
+
+ def getcset(d, depot, host, user, pswd, parm):
+ p4opt = ""
+ if "cset" in parm:
+ return parm["cset"];
+ if user:
+ p4opt += " -u %s" % (user)
+ if pswd:
+ p4opt += " -P %s" % (pswd)
+ if host:
+ p4opt += " -p %s" % (host)
+
+ p4date = data.getVar("P4DATE", d, True)
+ if "revision" in parm:
+ depot += "#%s" % (parm["revision"])
+ elif "label" in parm:
+ depot += "@%s" % (parm["label"])
+ elif p4date:
+ depot += "@%s" % (p4date)
+
+ p4cmd = data.getVar('FETCHCOMMAND_p4', d, True)
+ logger.debug(1, "Running %s%s changes -m 1 %s", p4cmd, p4opt, depot)
+ p4file = os.popen("%s%s changes -m 1 %s" % (p4cmd, p4opt, depot))
+ cset = p4file.readline().strip()
+ logger.debug(1, "READ %s", cset)
+ if not cset:
+ return -1
+
+ return cset.split(' ')[1]
+ getcset = staticmethod(getcset)
+
+ def urldata_init(self, ud, d):
+ (host, path, user, pswd, parm) = Perforce.doparse(ud.url, d)
+
+ # If a label is specified, we use that as our filename
+
+ if "label" in parm:
+ ud.localfile = "%s.tar.gz" % (parm["label"])
+ return
+
+ base = path
+ which = path.find('/...')
+ if which != -1:
+ base = path[:which]
+
+ base = self._strip_leading_slashes(base)
+
+ cset = Perforce.getcset(d, path, host, user, pswd, parm)
+
+ ud.localfile = data.expand('%s+%s+%s.tar.gz' % (host, base.replace('/', '.'), cset), d)
+
+ def download(self, loc, ud, d):
+ """
+ Fetch urls
+ """
+
+ (host, depot, user, pswd, parm) = Perforce.doparse(loc, d)
+
+ if depot.find('/...') != -1:
+ path = depot[:depot.find('/...')]
+ else:
+ path = depot
+
+ module = parm.get('module', os.path.basename(path))
+
+ localdata = data.createCopy(d)
+ data.setVar('OVERRIDES', "p4:%s" % data.getVar('OVERRIDES', localdata), localdata)
+ data.update_data(localdata)
+
+ # Get the p4 command
+ p4opt = ""
+ if user:
+ p4opt += " -u %s" % (user)
+
+ if pswd:
+ p4opt += " -P %s" % (pswd)
+
+ if host:
+ p4opt += " -p %s" % (host)
+
+ p4cmd = data.getVar('FETCHCOMMAND', localdata, True)
+
+ # create temp directory
+ logger.debug(2, "Fetch: creating temporary directory")
+ bb.mkdirhier(data.expand('${WORKDIR}', localdata))
+ data.setVar('TMPBASE', data.expand('${WORKDIR}/oep4.XXXXXX', localdata), localdata)
+ tmppipe = os.popen(data.getVar('MKTEMPDIRCMD', localdata, True) or "false")
+ tmpfile = tmppipe.readline().strip()
+ if not tmpfile:
+ raise FetchError("Fetch: unable to create temporary directory.. make sure 'mktemp' is in the PATH.", loc)
+
+ if "label" in parm:
+ depot = "%s@%s" % (depot, parm["label"])
+ else:
+ cset = Perforce.getcset(d, depot, host, user, pswd, parm)
+ depot = "%s@%s" % (depot, cset)
+
+ os.chdir(tmpfile)
+ logger.info("Fetch " + loc)
+ logger.info("%s%s files %s", p4cmd, p4opt, depot)
+ p4file = os.popen("%s%s files %s" % (p4cmd, p4opt, depot))
+
+ if not p4file:
+ raise FetchError("Fetch: unable to get the P4 files from %s" % depot, loc)
+
+ count = 0
+
+ for file in p4file:
+ list = file.split()
+
+ if list[2] == "delete":
+ continue
+
+ 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]))
+ count = count + 1
+
+ if count == 0:
+ logger.error()
+ raise FetchError("Fetch: No files gathered from the P4 fetch", loc)
+
+ runfetchcmd("tar -czf %s %s" % (ud.localpath, module), d, cleanup = [ud.localpath])
+ # cleanup
+ bb.utils.prunedir(tmpfile)
diff --git a/bitbake/lib/bb/fetch2/repo.py b/bitbake/lib/bb/fetch2/repo.py
new file mode 100644
index 000000000..3b16fc014
--- /dev/null
+++ b/bitbake/lib/bb/fetch2/repo.py
@@ -0,0 +1,98 @@
+# ex:ts=4:sw=4:sts=4:et
+# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+"""
+BitBake "Fetch" repo (git) implementation
+
+"""
+
+# Copyright (C) 2009 Tom Rini <trini@embeddedalley.com>
+#
+# Based on git.py which is:
+#Copyright (C) 2005 Richard Purdie
+#
+# 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.
+#
+# 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.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+import os
+import bb
+from bb import data
+from bb.fetch2 import FetchMethod
+from bb.fetch2 import runfetchcmd
+
+class Repo(FetchMethod):
+ """Class to fetch a module or modules from repo (git) repositories"""
+ def supports(self, url, ud, d):
+ """
+ Check to see if a given url can be fetched with repo.
+ """
+ return ud.type in ["repo"]
+
+ def urldata_init(self, ud, d):
+ """
+ We don"t care about the git rev of the manifests repository, but
+ we do care about the manifest to use. The default is "default".
+ We also care about the branch or tag to be used. The default is
+ "master".
+ """
+
+ ud.proto = ud.parm.get('protocol', 'git')
+ ud.branch = ud.parm.get('branch', 'master')
+ ud.manifest = ud.parm.get('manifest', 'default.xml')
+ if not ud.manifest.endswith('.xml'):
+ ud.manifest += '.xml'
+
+ ud.localfile = data.expand("repo_%s%s_%s_%s.tar.gz" % (ud.host, ud.path.replace("/", "."), ud.manifest, ud.branch), d)
+
+ def download(self, loc, ud, d):
+ """Fetch url"""
+
+ if os.access(os.path.join(data.getVar("DL_DIR", d, True), ud.localfile), os.R_OK):
+ logger.debug(1, "%s already exists (or was stashed). Skipping repo init / sync.", ud.localpath)
+ return
+
+ gitsrcname = "%s%s" % (ud.host, ud.path.replace("/", "."))
+ repodir = data.getVar("REPODIR", d, True) or os.path.join(data.getVar("DL_DIR", d, True), "repo")
+ codir = os.path.join(repodir, gitsrcname, ud.manifest)
+
+ if ud.user:
+ username = ud.user + "@"
+ else:
+ username = ""
+
+ bb.mkdirhier(os.path.join(codir, "repo"))
+ os.chdir(os.path.join(codir, "repo"))
+ if not os.path.exists(os.path.join(codir, "repo", ".repo")):
+ bb.fetch2.check_network_access(d, "repo init -m %s -b %s -u %s://%s%s%s" % (ud.manifest, ud.branch, ud.proto, username, ud.host, ud.path))
+ runfetchcmd("repo init -m %s -b %s -u %s://%s%s%s" % (ud.manifest, ud.branch, ud.proto, username, ud.host, ud.path), d)
+
+ bb.fetch2.check_network_access(d, "repo sync %s" % ud.url)
+ runfetchcmd("repo sync", d)
+ os.chdir(codir)
+
+ scmdata = ud.parm.get("scmdata", "")
+ if scmdata == "keep":
+ tar_flags = ""
+ else:
+ tar_flags = "--exclude '.repo' --exclude '.git'"
+
+ # Create a cache
+ runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, os.path.join(".", "*") ), d)
+
+ def supports_srcrev(self):
+ return False
+
+ def _build_revision(self, url, ud, d):
+ return ud.manifest
+
+ def _want_sortable_revision(self, url, ud, d):
+ return False
diff --git a/bitbake/lib/bb/fetch2/ssh.py b/bitbake/lib/bb/fetch2/ssh.py
new file mode 100644
index 000000000..2ee9ab093
--- /dev/null
+++ b/bitbake/lib/bb/fetch2/ssh.py
@@ -0,0 +1,120 @@
+# ex:ts=4:sw=4:sts=4:et
+# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+'''
+BitBake 'Fetch' implementations
+
+This implementation is for Secure Shell (SSH), and attempts to comply with the
+IETF secsh internet draft:
+ http://tools.ietf.org/wg/secsh/draft-ietf-secsh-scp-sftp-ssh-uri/
+
+ Currently does not support the sftp parameters, as this uses scp
+ Also does not support the 'fingerprint' connection parameter.
+
+'''
+
+# Copyright (C) 2006 OpenedHand Ltd.
+#
+#
+# Based in part on svk.py:
+# Copyright (C) 2006 Holger Hans Peter Freyther
+# Based on svn.py:
+# Copyright (C) 2003, 2004 Chris Larson
+# Based on functions from the base bb module:
+# Copyright 2003 Holger Schurig
+#
+#
+# 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.
+#
+# 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.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+import re, os
+from bb import data
+from bb.fetch2 import FetchMethod
+from bb.fetch2 import FetchError
+from bb.fetch2 import logger
+from bb.fetch2 import runfetchcmd
+
+
+__pattern__ = re.compile(r'''
+ \s* # Skip leading whitespace
+ ssh:// # scheme
+ ( # Optional username/password block
+ (?P<user>\S+) # username
+ (:(?P<pass>\S+))? # colon followed by the password (optional)
+ )?
+ (?P<cparam>(;[^;]+)*)? # connection parameters block (optional)
+ @
+ (?P<host>\S+?) # non-greedy match of the host
+ (:(?P<port>[0-9]+))? # colon followed by the port (optional)
+ /
+ (?P<path>[^;]+) # path on the remote system, may be absolute or relative,
+ # and may include the use of '~' to reference the remote home
+ # directory
+ (?P<sparam>(;[^;]+)*)? # parameters block (optional)
+ $
+''', re.VERBOSE)
+
+class SSH(FetchMethod):
+ '''Class to fetch a module or modules via Secure Shell'''
+
+ def supports(self, url, urldata, d):
+ return __pattern__.match(url) != None
+
+ def localpath(self, url, urldata, d):
+ m = __pattern__.match(urldata.url)
+ path = m.group('path')
+ host = m.group('host')
+ lpath = os.path.join(data.getVar('DL_DIR', d, True), host, os.path.basename(path))
+ return lpath
+
+ def download(self, url, urldata, d):
+ dldir = data.getVar('DL_DIR', d, True)
+
+ m = __pattern__.match(url)
+ path = m.group('path')
+ host = m.group('host')
+ port = m.group('port')
+ user = m.group('user')
+ password = m.group('pass')
+
+ ldir = os.path.join(dldir, host)
+ lpath = os.path.join(ldir, os.path.basename(path))
+
+ if not os.path.exists(ldir):
+ os.makedirs(ldir)
+
+ if port:
+ port = '-P %s' % port
+ else:
+ port = ''
+
+ if user:
+ fr = user
+ if password:
+ fr += ':%s' % password
+ fr += '@%s' % host
+ else:
+ fr = host
+ fr += ':%s' % path
+
+
+ import commands
+ cmd = 'scp -B -r %s %s %s/' % (
+ port,
+ commands.mkarg(fr),
+ commands.mkarg(ldir)
+ )
+
+ bb.fetch2.check_network_access(d, cmd)
+
+ runfetchcmd(cmd, d)
+
diff --git a/bitbake/lib/bb/fetch2/svk.py b/bitbake/lib/bb/fetch2/svk.py
new file mode 100644
index 000000000..6211cac8d
--- /dev/null
+++ b/bitbake/lib/bb/fetch2/svk.py
@@ -0,0 +1,97 @@
+# ex:ts=4:sw=4:sts=4:et
+# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+"""
+BitBake 'Fetch' implementations
+
+This implementation is for svk. It is based on the svn implementation
+
+"""
+
+# Copyright (C) 2006 Holger Hans Peter Freyther
+# Copyright (C) 2003, 2004 Chris Larson
+#
+# 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.
+#
+# 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.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Based on functions from the base bb module, Copyright 2003 Holger Schurig
+
+import os
+import logging
+import bb
+from bb import data
+from bb.fetch2 import FetchMethod
+from bb.fetch2 import FetchError
+from bb.fetch2 import MissingParameterError
+from bb.fetch2 import logger
+from bb.fetch2 import runfetchcmd
+
+class Svk(FetchMethod):
+ """Class to fetch a module or modules from svk repositories"""
+ def supports(self, url, ud, d):
+ """
+ Check to see if a given url can be fetched with svk.
+ """
+ return ud.type in ['svk']
+
+ def urldata_init(self, ud, d):
+
+ if not "module" in ud.parm:
+ raise MissingParameterError('module', ud.url)
+ else:
+ ud.module = ud.parm["module"]
+
+ ud.revision = ud.parm.get('rev', "")
+
+ ud.localfile = data.expand('%s_%s_%s_%s_%s.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.path.replace('/', '.'), ud.revision, ud.date), d)
+
+ def need_update(self, url, ud, d):
+ if ud.date == "now":
+ return True
+ if not os.path.exists(ud.localpath):
+ return True
+ return False
+
+ def download(self, loc, ud, d):
+ """Fetch urls"""
+
+ svkroot = ud.host + ud.path
+
+ svkcmd = "svk co -r {%s} %s/%s" % (ud.date, svkroot, ud.module)
+
+ if ud.revision:
+ svkcmd = "svk co -r %s %s/%s" % (ud.revision, svkroot, ud.module)
+
+ # create temp directory
+ localdata = data.createCopy(d)
+ data.update_data(localdata)
+ logger.debug(2, "Fetch: creating temporary directory")
+ bb.mkdirhier(data.expand('${WORKDIR}', localdata))
+ data.setVar('TMPBASE', data.expand('${WORKDIR}/oesvk.XXXXXX', localdata), localdata)
+ tmppipe = os.popen(data.getVar('MKTEMPDIRCMD', localdata, True) or "false")
+ tmpfile = tmppipe.readline().strip()
+ if not tmpfile:
+ logger.error()
+ raise FetchError("Fetch: unable to create temporary directory.. make sure 'mktemp' is in the PATH.", loc)
+
+ # check out sources there
+ os.chdir(tmpfile)
+ logger.info("Fetch " + loc)
+ logger.debug(1, "Running %s", svkcmd)
+ runfetchcmd(svkcmd, d, cleanup = [tmpfile])
+
+ os.chdir(os.path.join(tmpfile, os.path.dirname(ud.module)))
+ # tar them up to a defined filename
+ runfetchcmd("tar -czf %s %s" % (ud.localpath, os.path.basename(ud.module)), d, cleanup = [ud.localpath])
+
+ # cleanup
+ bb.utils.prunedir(tmpfile)
diff --git a/bitbake/lib/bb/fetch2/svn.py b/bitbake/lib/bb/fetch2/svn.py
new file mode 100644
index 000000000..4ab643bcf
--- /dev/null
+++ b/bitbake/lib/bb/fetch2/svn.py
@@ -0,0 +1,173 @@
+# ex:ts=4:sw=4:sts=4:et
+# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+"""
+BitBake 'Fetch' implementation for svn.
+
+"""
+
+# Copyright (C) 2003, 2004 Chris Larson
+# Copyright (C) 2004 Marcin Juszkiewicz
+#
+# 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.
+#
+# 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.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Based on functions from the base bb module, Copyright 2003 Holger Schurig
+
+import os
+import sys
+import logging
+import bb
+from bb import data
+from bb.fetch2 import FetchMethod
+from bb.fetch2 import FetchError
+from bb.fetch2 import MissingParameterError
+from bb.fetch2 import runfetchcmd
+from bb.fetch2 import logger
+
+class Svn(FetchMethod):
+ """Class to fetch a module or modules from svn repositories"""
+ def supports(self, url, ud, d):
+ """
+ Check to see if a given url can be fetched with svn.
+ """
+ return ud.type in ['svn']
+
+ def urldata_init(self, ud, d):
+ """
+ init svn specific variable within url data
+ """
+ if not "module" in ud.parm:
+ raise MissingParameterError('module', ud.url)
+
+ ud.module = ud.parm["module"]
+
+ # Create paths to svn checkouts
+ relpath = self._strip_leading_slashes(ud.path)
+ ud.pkgdir = os.path.join(data.expand('${SVNDIR}', d), ud.host, relpath)
+ ud.moddir = os.path.join(ud.pkgdir, ud.module)
+
+ if 'rev' in ud.parm:
+ ud.revision = ud.parm['rev']
+
+ ud.localfile = data.expand('%s_%s_%s_%s_.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.path.replace('/', '.'), ud.revision), d)
+
+ def _buildsvncommand(self, ud, d, command):
+ """
+ Build up an svn commandline based on ud
+ command is "fetch", "update", "info"
+ """
+
+ basecmd = data.expand('${FETCHCMD_svn}', d)
+
+ proto = ud.parm.get('proto', 'svn')
+
+ svn_rsh = None
+ if proto == "svn+ssh" and "rsh" in ud.parm:
+ svn_rsh = ud.parm["rsh"]
+
+ svnroot = ud.host + ud.path
+
+ options = []
+
+ if ud.user:
+ options.append("--username %s" % ud.user)
+
+ if ud.pswd:
+ options.append("--password %s" % ud.pswd)
+
+ if command is "info":
+ svncmd = "%s info %s %s://%s/%s/" % (basecmd, " ".join(options), proto, svnroot, ud.module)
+ else:
+ suffix = ""
+ if ud.revision:
+ options.append("-r %s" % ud.revision)
+ suffix = "@%s" % (ud.revision)
+
+ if command is "fetch":
+ svncmd = "%s co %s %s://%s/%s%s %s" % (basecmd, " ".join(options), proto, svnroot, ud.module, suffix, ud.module)
+ elif command is "update":
+ svncmd = "%s update %s" % (basecmd, " ".join(options))
+ else:
+ raise FetchError("Invalid svn command %s" % command, ud.url)
+
+ if svn_rsh:
+ svncmd = "svn_RSH=\"%s\" %s" % (svn_rsh, svncmd)
+
+ return svncmd
+
+ def download(self, loc, ud, d):
+ """Fetch url"""
+
+ logger.debug(2, "Fetch: checking for module directory '" + ud.moddir + "'")
+
+ if os.access(os.path.join(ud.moddir, '.svn'), os.R_OK):
+ svnupdatecmd = self._buildsvncommand(ud, d, "update")
+ logger.info("Update " + loc)
+ # update sources there
+ os.chdir(ud.moddir)
+ logger.debug(1, "Running %s", svnupdatecmd)
+ bb.fetch2.check_network_access(d, svnupdatecmd)
+ runfetchcmd(svnupdatecmd, d)
+ else:
+ svnfetchcmd = self._buildsvncommand(ud, d, "fetch")
+ logger.info("Fetch " + loc)
+ # check out sources there
+ bb.mkdirhier(ud.pkgdir)
+ os.chdir(ud.pkgdir)
+ logger.debug(1, "Running %s", svnfetchcmd)
+ bb.fetch2.check_network_access(d, svnfetchcmd)
+ runfetchcmd(svnfetchcmd, d)
+
+ scmdata = ud.parm.get("scmdata", "")
+ if scmdata == "keep":
+ tar_flags = ""
+ else:
+ tar_flags = "--exclude '.svn'"
+
+ os.chdir(ud.pkgdir)
+ # tar them up to a defined filename
+ runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, ud.module), d, cleanup = [ud.localpath])
+
+ def supports_srcrev(self):
+ return True
+
+ def _revision_key(self, url, ud, d, name):
+ """
+ Return a unique key for the url
+ """
+ return "svn:" + ud.moddir
+
+ def _latest_revision(self, url, ud, d, name):
+ """
+ Return the latest upstream revision number
+ """
+ bb.fetch2.check_network_access(d, self._buildsvncommand(ud, d, "info"))
+
+ output = runfetchcmd("LANG=C LC_ALL=C " + self._buildsvncommand(ud, d, "info"), d, True)
+
+ revision = None
+ for line in output.splitlines():
+ if "Last Changed Rev" in line:
+ revision = line.split(":")[1].strip()
+
+ return revision
+
+ def _sortable_revision(self, url, ud, d):
+ """
+ Return a sortable revision number which in our case is the revision number
+ """
+
+ return self._build_revision(url, ud, d)
+
+ def _build_revision(self, url, ud, d):
+ return ud.revision
diff --git a/bitbake/lib/bb/fetch2/wget.py b/bitbake/lib/bb/fetch2/wget.py
new file mode 100644
index 000000000..cf6d5bf2a
--- /dev/null
+++ b/bitbake/lib/bb/fetch2/wget.py
@@ -0,0 +1,91 @@
+# ex:ts=4:sw=4:sts=4:et
+# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+"""
+BitBake 'Fetch' implementations
+
+Classes for obtaining upstream sources for the
+BitBake build tools.
+
+"""
+
+# Copyright (C) 2003, 2004 Chris Larson
+#
+# 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.
+#
+# 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.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Based on functions from the base bb module, Copyright 2003 Holger Schurig
+
+import os
+import logging
+import bb
+import urllib
+from bb import data
+from bb.fetch2 import FetchMethod
+from bb.fetch2 import FetchError
+from bb.fetch2 import encodeurl
+from bb.fetch2 import decodeurl
+from bb.fetch2 import logger
+from bb.fetch2 import runfetchcmd
+
+class Wget(FetchMethod):
+ """Class to fetch urls via 'wget'"""
+ def supports(self, url, ud, d):
+ """
+ Check to see if a given url can be fetched with wget.
+ """
+ return ud.type in ['http', 'https', 'ftp']
+
+ def urldata_init(self, ud, d):
+
+ ud.basename = os.path.basename(ud.path)
+ ud.localfile = data.expand(urllib.unquote(ud.basename), d)
+
+ def download(self, uri, ud, d, checkonly = False):
+ """Fetch urls"""
+
+ def fetch_uri(uri, ud, d):
+ if checkonly:
+ fetchcmd = data.getVar("CHECKCOMMAND", d, True)
+ elif os.path.exists(ud.localpath):
+ # file exists, but we didnt complete it.. trying again..
+ fetchcmd = data.getVar("RESUMECOMMAND", d, True)
+ else:
+ fetchcmd = data.getVar("FETCHCOMMAND", d, True)
+
+ uri = uri.split(";")[0]
+ uri_decoded = list(decodeurl(uri))
+ uri_type = uri_decoded[0]
+ uri_host = uri_decoded[1]
+
+ fetchcmd = fetchcmd.replace("${URI}", uri.split(";")[0])
+ fetchcmd = fetchcmd.replace("${FILE}", ud.basename)
+ logger.info("fetch " + uri)
+ logger.debug(2, "executing " + fetchcmd)
+ bb.fetch2.check_network_access(d, fetchcmd)
+ 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
+ if not os.path.exists(ud.localpath) and not checkonly:
+ raise FetchError("The fetch command returned success but %s doesn't exist?!" % (uri, ud.localpath), uri)
+
+ localdata = data.createCopy(d)
+ data.setVar('OVERRIDES', "wget:" + data.getVar('OVERRIDES', localdata), localdata)
+ data.update_data(localdata)
+
+ fetch_uri(uri, ud, localdata)
+
+ return True
+
+ def checkstatus(self, uri, ud, d):
+ return self.download(uri, ud, d, True)
diff --git a/bitbake/lib/bb/msg.py b/bitbake/lib/bb/msg.py
index 21692d930..1f9ff904a 100644
--- a/bitbake/lib/bb/msg.py
+++ b/bitbake/lib/bb/msg.py
@@ -23,12 +23,66 @@ Message handling infrastructure for bitbake
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import sys
+import logging
import collections
+from itertools import groupby
+import warnings
import bb
import bb.event
-debug_level = collections.defaultdict(lambda: 0)
-verbose = False
+class BBLogFormatter(logging.Formatter):
+ """Formatter which ensures that our 'plain' messages (logging.INFO + 1) are used as is"""
+
+ DEBUG3 = logging.DEBUG - 2
+ DEBUG2 = logging.DEBUG - 1
+ DEBUG = logging.DEBUG
+ VERBOSE = logging.INFO - 1
+ NOTE = logging.INFO
+ PLAIN = logging.INFO + 1
+ ERROR = logging.ERROR
+ WARNING = logging.WARNING
+ CRITICAL = logging.CRITICAL
+
+ levelnames = {
+ DEBUG3 : 'DEBUG',
+ DEBUG2 : 'DEBUG',
+ DEBUG : 'DEBUG',
+ VERBOSE: 'NOTE',
+ NOTE : 'NOTE',
+ PLAIN : '',
+ WARNING : 'WARNING',
+ ERROR : 'ERROR',
+ CRITICAL: 'ERROR',
+ }
+
+ def getLevelName(self, levelno):
+ try:
+ return self.levelnames[levelno]
+ except KeyError:
+ self.levelnames[levelno] = value = 'Level %d' % levelno
+ return value
+
+ def format(self, record):
+ record.levelname = self.getLevelName(record.levelno)
+ if record.levelno == self.PLAIN:
+ return record.getMessage()
+ else:
+ return logging.Formatter.format(self, record)
+
+class Loggers(dict):
+ def __getitem__(self, key):
+ if key in self:
+ return dict.__getitem__(self, key)
+ else:
+ log = logging.getLogger("BitBake.%s" % domain._fields[key])
+ dict.__setitem__(self, key, log)
+ return log
+
+class DebugLevel(dict):
+ def __getitem__(self, key):
+ if key == "default":
+ key = domain.Default
+ return get_debug_level(key)
def _NamedTuple(name, fields):
Tuple = collections.namedtuple(name, " ".join(fields))
@@ -48,97 +102,99 @@ domain = _NamedTuple("Domain", (
"RunQueue",
"TaskData",
"Util"))
+logger = logging.getLogger("BitBake")
+loggers = Loggers()
+debug_level = DebugLevel()
-
-class MsgBase(bb.event.Event):
- """Base class for messages"""
-
- def __init__(self, msg):
- self._message = msg
- bb.event.Event.__init__(self)
-
-class MsgDebug(MsgBase):
- """Debug Message"""
-
-class MsgNote(MsgBase):
- """Note Message"""
-
-class MsgWarn(MsgBase):
- """Warning Message"""
-
-class MsgError(MsgBase):
- """Error Message"""
-
-class MsgFatal(MsgBase):
- """Fatal Message"""
-
-class MsgPlain(MsgBase):
- """General output"""
-
-#
# Message control functions
#
def set_debug_level(level):
- for d in domain:
- debug_level[d] = level
- debug_level[domain.Default] = level
+ for log in loggers.itervalues():
+ log.setLevel(logging.NOTSET)
+
+ if level:
+ logger.setLevel(logging.DEBUG - level + 1)
+ else:
+ logger.setLevel(logging.INFO)
def get_debug_level(msgdomain = domain.Default):
- return debug_level[msgdomain]
+ if not msgdomain:
+ level = logger.getEffectiveLevel()
+ else:
+ level = loggers[msgdomain].getEffectiveLevel()
+ return max(0, logging.DEBUG - level + 1)
def set_verbose(level):
- verbose = level
-
-def set_debug_domains(strdomains):
- for domainstr in strdomains:
- for d in domain:
- if domain._fields[d] == domainstr:
- debug_level[d] += 1
+ if level:
+ logger.setLevel(BBLogFormatter.VERBOSE)
+ else:
+ logger.setLevel(BBLogFormatter.INFO)
+
+def set_debug_domains(domainargs):
+ for (domainarg, iterator) in groupby(domainargs):
+ for index, msgdomain in enumerate(domain._fields):
+ if msgdomain == domainarg:
+ level = len(tuple(iterator))
+ if level:
+ loggers[index].setLevel(logging.DEBUG - level + 1)
break
else:
- warn(None, "Logging domain %s is not valid, ignoring" % domainstr)
+ warn(None, "Logging domain %s is not valid, ignoring" % domainarg)
#
# Message handling functions
#
-def debug(level, msgdomain, msg, fn = None):
+def debug(level, msgdomain, msg):
+ warnings.warn("bb.msg.debug will soon be deprecated in favor of the python 'logging' module",
+ PendingDeprecationWarning, stacklevel=2)
+ level = logging.DEBUG - (level - 1)
if not msgdomain:
- msgdomain = domain.Default
-
- if debug_level[msgdomain] >= level:
- bb.event.fire(MsgDebug(msg), None)
- if bb.event.useStdout:
- print('DEBUG: %s' % (msg))
+ logger.debug(level, msg)
+ else:
+ loggers[msgdomain].debug(level, msg)
+
+def plain(msg):
+ warnings.warn("bb.msg.plain will soon be deprecated in favor of the python 'logging' module",
+ PendingDeprecationWarning, stacklevel=2)
+ logger.plain(msg)
+
+def note(level, msgdomain, msg):
+ warnings.warn("bb.msg.note will soon be deprecated in favor of the python 'logging' module",
+ PendingDeprecationWarning, stacklevel=2)
+ if level > 1:
+ if msgdomain:
+ logger.verbose(msg)
+ else:
+ loggers[msgdomain].verbose(msg)
+ else:
+ if msgdomain:
+ logger.info(msg)
+ else:
+ loggers[msgdomain].info(msg)
-def note(level, msgdomain, msg, fn = None):
+def warn(msgdomain, msg):
+ warnings.warn("bb.msg.warn will soon be deprecated in favor of the python 'logging' module",
+ PendingDeprecationWarning, stacklevel=2)
if not msgdomain:
- msgdomain = domain.Default
+ logger.warn(msg)
+ else:
+ loggers[msgdomain].warn(msg)
- if level == 1 or verbose or debug_level[msgdomain] >= 1:
- bb.event.fire(MsgNote(msg), None)
- if bb.event.useStdout:
- print('NOTE: %s' % (msg))
-
-def warn(msgdomain, msg, fn = None):
- bb.event.fire(MsgWarn(msg), None)
- if bb.event.useStdout:
- print('WARNING: %s' % (msg))
-
-def error(msgdomain, msg, fn = None):
- bb.event.fire(MsgError(msg), None)
- if bb.event.useStdout:
- print('ERROR: %s' % (msg))
-
-def fatal(msgdomain, msg, fn = None):
- bb.event.fire(MsgFatal(msg), None)
+def error(msgdomain, msg):
+ warnings.warn("bb.msg.error will soon be deprecated in favor of the python 'logging' module",
+ PendingDeprecationWarning, stacklevel=2)
+ if not msgdomain:
+ logger.error(msg)
+ else:
+ loggers[msgdomain].error(msg)
- if bb.event.useStdout:
- print('FATAL: %s' % (msg))
+def fatal(msgdomain, msg):
+ warnings.warn("bb.msg.fatal will soon be deprecated in favor of raising appropriate exceptions",
+ PendingDeprecationWarning, stacklevel=2)
+ if not msgdomain:
+ logger.critical(msg)
+ else:
+ loggers[msgdomain].critical(msg)
sys.exit(1)
-
-def plain(msg, fn = None):
- bb.event.fire(MsgPlain(msg), None)
- if bb.event.useStdout:
- print(msg)
diff --git a/bitbake/lib/bb/parse/__init__.py b/bitbake/lib/bb/parse/__init__.py
index da160ceb2..eee8d9cdd 100644
--- a/bitbake/lib/bb/parse/__init__.py
+++ b/bitbake/lib/bb/parse/__init__.py
@@ -26,10 +26,15 @@ File parsers for the BitBake build tools.
handlers = []
-import bb, os
+import os
+import stat
+import logging
+import bb
import bb.utils
import bb.siggen
+logger = logging.getLogger("BitBake.Parsing")
+
class ParseError(Exception):
"""Exception raised when parsing fails"""
@@ -39,19 +44,19 @@ class SkipPackage(Exception):
__mtime_cache = {}
def cached_mtime(f):
if f not in __mtime_cache:
- __mtime_cache[f] = os.stat(f)[8]
+ __mtime_cache[f] = os.stat(f)[stat.ST_MTIME]
return __mtime_cache[f]
def cached_mtime_noerror(f):
if f not in __mtime_cache:
try:
- __mtime_cache[f] = os.stat(f)[8]
+ __mtime_cache[f] = os.stat(f)[stat.ST_MTIME]
except OSError:
return 0
return __mtime_cache[f]
def update_mtime(f):
- __mtime_cache[f] = os.stat(f)[8]
+ __mtime_cache[f] = os.stat(f)[stat.ST_MTIME]
return __mtime_cache[f]
def mark_dependency(d, f):
@@ -80,18 +85,18 @@ def init(fn, data):
if h['supports'](fn):
return h['init'](data)
-def init_parser(d, dumpsigs):
- bb.parse.siggen = bb.siggen.init(d, dumpsigs)
+def init_parser(d):
+ bb.parse.siggen = bb.siggen.init(d)
def resolve_file(fn, d):
if not os.path.isabs(fn):
bbpath = bb.data.getVar("BBPATH", d, True)
- newfn = bb.which(bbpath, fn)
+ newfn = bb.utils.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)
+ logger.debug(2, "LOAD %s", fn)
return fn
# Used by OpenEmbedded metadata
diff --git a/bitbake/lib/bb/parse/ast.py b/bitbake/lib/bb/parse/ast.py
index 870ae65b0..8fffe1e8f 100644
--- a/bitbake/lib/bb/parse/ast.py
+++ b/bitbake/lib/bb/parse/ast.py
@@ -23,11 +23,14 @@
from __future__ import absolute_import
from future_builtins import filter
-import bb, re, string
-from bb import methodpool
+import re
+import string
+import logging
+import bb
import itertools
+from bb import methodpool
+from bb.parse import logger
-__word__ = re.compile(r"\S+")
__parsed_methods__ = bb.methodpool.get_parsed_dict()
_bbversions_re = re.compile(r"\[(?P<from>[0-9]+)-(?P<to>[0-9]+)\]")
@@ -37,13 +40,14 @@ class StatementGroup(list):
statement.eval(data)
class AstNode(object):
- pass
+ def __init__(self, filename, lineno):
+ self.filename = filename
+ self.lineno = lineno
class IncludeNode(AstNode):
- def __init__(self, what_file, fn, lineno, force):
+ def __init__(self, filename, lineno, what_file, force):
+ AstNode.__init__(self, filename, lineno)
self.what_file = what_file
- self.from_fn = fn
- self.from_lineno = lineno
self.force = force
def eval(self, data):
@@ -51,16 +55,17 @@ class IncludeNode(AstNode):
Include the file and evaluate the statements
"""
s = bb.data.expand(self.what_file, data)
- bb.msg.debug(3, bb.msg.domain.Parsing, "CONF %s:%d: including %s" % (self.from_fn, self.from_lineno, s))
+ logger.debug(2, "CONF %s:%s: including %s", self.filename, self.lineno, s)
# TODO: Cache those includes... maybe not here though
if self.force:
- bb.parse.ConfHandler.include(self.from_fn, s, data, "include required")
+ bb.parse.ConfHandler.include(self.filename, s, data, "include required")
else:
- bb.parse.ConfHandler.include(self.from_fn, s, data, False)
+ bb.parse.ConfHandler.include(self.filename, s, data, False)
class ExportNode(AstNode):
- def __init__(self, var):
+ def __init__(self, filename, lineno, var):
+ AstNode.__init__(self, filename, lineno)
self.var = var
def eval(self, data):
@@ -73,7 +78,8 @@ class DataNode(AstNode):
this need to be re-evaluated... we might be able to do
that faster with multiple classes.
"""
- def __init__(self, groupd):
+ def __init__(self, filename, lineno, groupd):
+ AstNode.__init__(self, filename, lineno)
self.groupd = groupd
def getFunc(self, key, data):
@@ -116,19 +122,18 @@ class DataNode(AstNode):
else:
bb.data.setVar(key, val, data)
-class MethodNode:
- def __init__(self, func_name, body, lineno, fn):
+class MethodNode(AstNode):
+ def __init__(self, filename, lineno, func_name, body):
+ AstNode.__init__(self, filename, lineno)
self.func_name = func_name
self.body = body
- self.fn = fn
- self.lineno = lineno
def eval(self, data):
if self.func_name == "__anonymous":
- funcname = ("__anon_%s_%s" % (self.lineno, self.fn.translate(string.maketrans('/.+-', '____'))))
+ funcname = ("__anon_%s_%s" % (self.lineno, self.filename.translate(string.maketrans('/.+-', '____'))))
if not funcname in bb.methodpool._parsed_fns:
text = "def %s(d):\n" % (funcname) + '\n'.join(self.body)
- bb.methodpool.insert_method(funcname, text, self.fn)
+ bb.methodpool.insert_method(funcname, text, self.filename)
anonfuncs = bb.data.getVar('__BBANONFUNCS', data) or []
anonfuncs.append(funcname)
bb.data.setVar('__BBANONFUNCS', anonfuncs, data)
@@ -137,25 +142,26 @@ class MethodNode:
bb.data.setVar(self.func_name, '\n'.join(self.body), data)
class PythonMethodNode(AstNode):
- def __init__(self, funcname, root, body, fn):
- self.func_name = funcname
- self.root = root
+ def __init__(self, filename, lineno, function, define, body):
+ AstNode.__init__(self, filename, lineno)
+ self.function = function
+ self.define = define
self.body = body
- self.fn = fn
def eval(self, data):
# Note we will add root to parsedmethods after having parse
# 'this' file. This means we will not parse methods from
# bb classes twice
text = '\n'.join(self.body)
- if not bb.methodpool.parsed_module(self.root):
- bb.methodpool.insert_method(self.root, text, self.fn)
- bb.data.setVarFlag(self.func_name, "func", 1, data)
- bb.data.setVarFlag(self.func_name, "python", 1, data)
- bb.data.setVar(self.func_name, text, data)
+ if not bb.methodpool.parsed_module(self.define):
+ bb.methodpool.insert_method(self.define, text, self.filename)
+ bb.data.setVarFlag(self.function, "func", 1, data)
+ bb.data.setVarFlag(self.function, "python", 1, data)
+ bb.data.setVar(self.function, text, data)
class MethodFlagsNode(AstNode):
- def __init__(self, key, m):
+ def __init__(self, filename, lineno, key, m):
+ AstNode.__init__(self, filename, lineno)
self.key = key
self.m = m
@@ -175,8 +181,9 @@ class MethodFlagsNode(AstNode):
bb.data.delVarFlag(self.key, "fakeroot", data)
class ExportFuncsNode(AstNode):
- def __init__(self, fns, classes):
- self.n = __word__.findall(fns)
+ def __init__(self, filename, lineno, fns, classes):
+ AstNode.__init__(self, filename, lineno)
+ self.n = fns.split()
self.classes = classes
def eval(self, data):
@@ -214,7 +221,8 @@ class ExportFuncsNode(AstNode):
bb.data.setVarFlag(var, 'export_func', '1', data)
class AddTaskNode(AstNode):
- def __init__(self, func, before, after):
+ def __init__(self, filename, lineno, func, before, after):
+ AstNode.__init__(self, filename, lineno)
self.func = func
self.before = before
self.after = after
@@ -245,8 +253,9 @@ class AddTaskNode(AstNode):
bb.data.setVarFlag(entry, "deps", [var] + existing, data)
class BBHandlerNode(AstNode):
- def __init__(self, fns):
- self.hs = __word__.findall(fns)
+ def __init__(self, filename, lineno, fns):
+ AstNode.__init__(self, filename, lineno)
+ self.hs = fns.split()
def eval(self, data):
bbhands = bb.data.getVar('__BBHANDLERS', data) or []
@@ -256,49 +265,49 @@ class BBHandlerNode(AstNode):
bb.data.setVar('__BBHANDLERS', bbhands, data)
class InheritNode(AstNode):
- def __init__(self, files):
- self.n = __word__.findall(files)
+ def __init__(self, filename, lineno, classes):
+ AstNode.__init__(self, filename, lineno)
+ self.classes = classes
def eval(self, data):
- bb.parse.BBHandler.inherit(self.n, data)
+ bb.parse.BBHandler.inherit(self.classes, data)
-def handleInclude(statements, m, fn, lineno, force):
- statements.append(IncludeNode(m.group(1), fn, lineno, force))
+def handleInclude(statements, filename, lineno, m, force):
+ statements.append(IncludeNode(filename, lineno, m.group(1), force))
-def handleExport(statements, m):
- statements.append(ExportNode(m.group(1)))
+def handleExport(statements, filename, lineno, m):
+ statements.append(ExportNode(filename, lineno, m.group(1)))
-def handleData(statements, groupd):
- statements.append(DataNode(groupd))
+def handleData(statements, filename, lineno, groupd):
+ statements.append(DataNode(filename, lineno, groupd))
-def handleMethod(statements, func_name, lineno, fn, body):
- statements.append(MethodNode(func_name, body, lineno, fn))
+def handleMethod(statements, filename, lineno, func_name, body):
+ statements.append(MethodNode(filename, lineno, func_name, body))
-def handlePythonMethod(statements, funcname, root, body, fn):
- statements.append(PythonMethodNode(funcname, root, body, fn))
+def handlePythonMethod(statements, filename, lineno, funcname, root, body):
+ statements.append(PythonMethodNode(filename, lineno, funcname, root, body))
-def handleMethodFlags(statements, key, m):
- statements.append(MethodFlagsNode(key, m))
+def handleMethodFlags(statements, filename, lineno, key, m):
+ statements.append(MethodFlagsNode(filename, lineno, key, m))
-def handleExportFuncs(statements, m, classes):
- statements.append(ExportFuncsNode(m.group(1), classes))
+def handleExportFuncs(statements, filename, lineno, m, classes):
+ statements.append(ExportFuncsNode(filename, lineno, m.group(1), classes))
-def handleAddTask(statements, m):
+def handleAddTask(statements, filename, lineno, m):
func = m.group("func")
before = m.group("before")
after = m.group("after")
if func is None:
return
- statements.append(AddTaskNode(func, before, after))
+ statements.append(AddTaskNode(filename, lineno, func, before, after))
-def handleBBHandlers(statements, m):
- statements.append(BBHandlerNode(m.group(1)))
+def handleBBHandlers(statements, filename, lineno, m):
+ statements.append(BBHandlerNode(filename, lineno, m.group(1)))
-def handleInherit(statements, m):
- files = m.group(1)
- n = __word__.findall(files)
- statements.append(InheritNode(m.group(1)))
+def handleInherit(statements, filename, lineno, m):
+ classes = m.group(1)
+ statements.append(InheritNode(filename, lineno, classes.split()))
def finalize(fn, d, variant = None):
for lazykey in bb.data.getVar("__lazy_assigned", d) or ():
@@ -365,7 +374,7 @@ def _expand_versions(versions):
def multi_finalize(fn, d):
appends = (d.getVar("__BBAPPEND", True) or "").split()
for append in appends:
- bb.msg.debug(2, bb.msg.domain.Parsing, "Appending .bbappend file " + append + " to " + fn)
+ logger.debug(2, "Appending .bbappend file %s to %s", append, fn)
bb.parse.BBHandler.handle(append, d, True)
safe_d = d
diff --git a/bitbake/lib/bb/parse/parse_py/BBHandler.py b/bitbake/lib/bb/parse/parse_py/BBHandler.py
index 51ad10fb9..31d1e21c6 100644
--- a/bitbake/lib/bb/parse/parse_py/BBHandler.py
+++ b/bitbake/lib/bb/parse/parse_py/BBHandler.py
@@ -27,11 +27,12 @@
from __future__ import absolute_import
import re, bb, os
-import bb.fetch, bb.build, bb.utils
+import logging
+import bb.build, bb.utils
from bb import data
from . import ConfHandler
-from .. import resolve_file, ast
+from .. import resolve_file, ast, logger
from .ConfHandler import include, init
# For compatibility
@@ -64,7 +65,8 @@ IN_PYTHON_EOF = -9999999999999
def supports(fn, d):
- return fn[-3:] == ".bb" or fn[-8:] == ".bbclass" or fn[-4:] == ".inc"
+ """Return True if fn has a supported extension"""
+ return os.path.splitext(fn)[-1] in [".bb", ".bbclass", ".inc"]
def inherit(files, d):
__inherit_cache = data.getVar('__inherit_cache', d) or []
@@ -72,11 +74,11 @@ def inherit(files, d):
lineno = 0
for file in files:
file = data.expand(file, d)
- if file[0] != "/" and file[-8:] != ".bbclass":
+ if not os.path.isabs(file) and not file.endswith(".bbclass"):
file = os.path.join('classes', '%s.bbclass' % file)
if not file in __inherit_cache:
- bb.msg.debug(2, bb.msg.domain.Parsing, "BB %s:%d: inheriting %s" % (fn, lineno, file))
+ logger.log(logging.DEBUG -1, "BB %s:%d: inheriting %s", fn, lineno, file)
__inherit_cache.append( file )
data.setVar('__inherit_cache', __inherit_cache, d)
include(fn, file, d, "inherit")
@@ -115,12 +117,12 @@ def handle(fn, d, include):
if include == 0:
- bb.msg.debug(2, bb.msg.domain.Parsing, "BB " + fn + ": handle(data)")
+ logger.debug(2, "BB %s: handle(data)", fn)
else:
- bb.msg.debug(2, bb.msg.domain.Parsing, "BB " + fn + ": handle(data, include)")
+ logger.debug(2, "BB %s: handle(data, include)", fn)
- (root, ext) = os.path.splitext(os.path.basename(fn))
- base_name = "%s%s" % (root, ext)
+ base_name = os.path.basename(fn)
+ (root, ext) = os.path.splitext(base_name)
init(d)
if ext == ".bbclass":
@@ -170,7 +172,7 @@ def feeder(lineno, s, fn, root, statements):
if __infunc__:
if s == '}':
__body__.append('')
- ast.handleMethod(statements, __infunc__, lineno, fn, __body__)
+ ast.handleMethod(statements, fn, lineno, __infunc__, __body__)
__infunc__ = ""
__body__ = []
else:
@@ -183,7 +185,8 @@ def feeder(lineno, s, fn, root, statements):
__body__.append(s)
return
else:
- ast.handlePythonMethod(statements, __inpython__, root, __body__, fn)
+ ast.handlePythonMethod(statements, fn, lineno, __inpython__,
+ root, __body__)
__body__ = []
__inpython__ = False
@@ -204,7 +207,7 @@ def feeder(lineno, s, fn, root, statements):
m = __func_start_regexp__.match(s)
if m:
__infunc__ = m.group("func") or "__anonymous"
- ast.handleMethodFlags(statements, __infunc__, m)
+ ast.handleMethodFlags(statements, fn, lineno, __infunc__, m)
return
m = __def_regexp__.match(s)
@@ -216,22 +219,22 @@ def feeder(lineno, s, fn, root, statements):
m = __export_func_regexp__.match(s)
if m:
- ast.handleExportFuncs(statements, m, classes)
+ ast.handleExportFuncs(statements, fn, lineno, m, classes)
return
m = __addtask_regexp__.match(s)
if m:
- ast.handleAddTask(statements, m)
+ ast.handleAddTask(statements, fn, lineno, m)
return
m = __addhandler_regexp__.match(s)
if m:
- ast.handleBBHandlers(statements, m)
+ ast.handleBBHandlers(statements, fn, lineno, m)
return
m = __inherit_regexp__.match(s)
if m:
- ast.handleInherit(statements, m)
+ ast.handleInherit(statements, fn, lineno, m)
return
return ConfHandler.feeder(lineno, s, fn, statements)
diff --git a/bitbake/lib/bb/parse/parse_py/ConfHandler.py b/bitbake/lib/bb/parse/parse_py/ConfHandler.py
index 9128a2ef8..fc239a354 100644
--- a/bitbake/lib/bb/parse/parse_py/ConfHandler.py
+++ b/bitbake/lib/bb/parse/parse_py/ConfHandler.py
@@ -25,8 +25,9 @@
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import re, bb.data, os
+import logging
import bb.utils
-from bb.parse import ParseError, resolve_file, ast
+from bb.parse import ParseError, resolve_file, ast, logger
#__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)$")
__config_regexp__ = re.compile( r"(?P<exp>export\s*)?(?P<var>[a-zA-Z0-9\-_+.${}/]+)(\[(?P<flag>[a-zA-Z0-9\-_+.]+)\])?\s*((?P<colon>:=)|(?P<lazyques>\?\?=)|(?P<ques>\?=)|(?P<append>\+=)|(?P<prepend>=\+)|(?P<predot>=\.)|(?P<postdot>\.=)|=)\s*(?P<apo>['\"]?)(?P<value>.*)(?P=apo)$")
@@ -45,10 +46,10 @@ def supports(fn, d):
def include(oldfn, fn, data, error_out):
"""
-
- error_out If True a ParseError will be reaised if the to be included
+ error_out If True a ParseError will be raised if the to be included
+ config-files could not be included.
"""
- if oldfn == fn: # prevent infinate recursion
+ if oldfn == fn: # prevent infinite recursion
return None
import bb
@@ -68,7 +69,7 @@ def include(oldfn, fn, data, error_out):
except IOError:
if error_out:
raise ParseError("Could not %(error_out)s file %(fn)s" % vars() )
- bb.msg.debug(2, bb.msg.domain.Parsing, "CONF file '%s' not found" % fn)
+ logger.debug(2, "CONF file '%s' not found", fn)
def handle(fn, data, include):
init(data)
@@ -112,22 +113,22 @@ def feeder(lineno, s, fn, statements):
m = __config_regexp__.match(s)
if m:
groupd = m.groupdict()
- ast.handleData(statements, groupd)
+ ast.handleData(statements, fn, lineno, groupd)
return
m = __include_regexp__.match(s)
if m:
- ast.handleInclude(statements, m, fn, lineno, False)
+ ast.handleInclude(statements, fn, lineno, m, False)
return
m = __require_regexp__.match(s)
if m:
- ast.handleInclude(statements, m, fn, lineno, True)
+ ast.handleInclude(statements, fn, lineno, m, True)
return
m = __export_regexp__.match(s)
if m:
- ast.handleExport(statements, m)
+ ast.handleExport(statements, fn, lineno, m)
return
raise ParseError("%s:%d: unparsed line: '%s'" % (fn, lineno, s));
diff --git a/bitbake/lib/bb/persist_data.py b/bitbake/lib/bb/persist_data.py
index 00f492994..b8c239294 100644
--- a/bitbake/lib/bb/persist_data.py
+++ b/bitbake/lib/bb/persist_data.py
@@ -1,6 +1,12 @@
-# BitBake Persistent Data Store
-#
+"""BitBake Persistent Data Store
+
+Used to store data in a central location such that other threads/tasks can
+access them at some future date. Acts as a convenience wrapper around sqlite,
+currently, providing a key/value store accessed by 'domain'.
+"""
+
# Copyright (C) 2007 Richard Purdie
+# Copyright (C) 2010 Chris Larson <chris_larson@mentor.com>
#
# 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
@@ -15,119 +21,175 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-import bb, os
-import bb.utils
+import collections
+import logging
+import os.path
+import sys
+import warnings
+import bb.msg, bb.data, bb.utils
try:
import sqlite3
except ImportError:
- try:
- from pysqlite2 import dbapi2 as sqlite3
- except ImportError:
- bb.msg.fatal(bb.msg.domain.PersistData, "Importing sqlite3 and pysqlite2 failed, please install one of them. Python 2.5 or a 'python-pysqlite2' like package is likely to be what you need.")
+ from pysqlite2 import dbapi2 as sqlite3
sqlversion = sqlite3.sqlite_version_info
if sqlversion[0] < 3 or (sqlversion[0] == 3 and sqlversion[1] < 3):
- bb.msg.fatal(bb.msg.domain.PersistData, "sqlite3 version 3.3.0 or later is required.")
-
-class PersistData:
- """
- BitBake Persistent Data Store
-
- 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
- simple key and value pair.
-
- Why sqlite? It handles all the locking issues for us.
- """
- 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.utils.mkdirhier(self.cachedir)
-
- 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)
-
- connection = sqlite3.connect(self.cachefile, timeout=5, isolation_level=None)
- persistent_database_connection["connection"] = connection
- self.cursor = persistent_database_connection["connection"].cursor()
+ raise Exception("sqlite3 version 3.3.0 or later is required.")
+
+
+logger = logging.getLogger("BitBake.PersistData")
+
+
+class SQLTable(collections.MutableMapping):
+ """Object representing a table/domain in the database"""
+ def __init__(self, cursor, table):
+ self.cursor = cursor
+ self.table = table
+
+ cursor.execute("CREATE TABLE IF NOT EXISTS %s(key TEXT, value TEXT);"
+ % table)
+
+ def _execute(self, *query):
+ """Execute a query, waiting to acquire a lock if necessary"""
+ count = 0
+ while True:
+ try:
+ return self.cursor.execute(*query)
+ break
+ except sqlite3.OperationalError as exc:
+ if 'database is locked' in str(exc) and count < 500:
+ count = count + 1
+ continue
+ raise
+
+ def __getitem__(self, key):
+ data = self._execute("SELECT * from %s where key=?;" %
+ self.table, [key])
+ for row in data:
+ return row[1]
+
+ def __delitem__(self, key):
+ self._execute("DELETE from %s where key=?;" % self.table, [key])
+
+ def __setitem__(self, key, value):
+ data = self._execute("SELECT * from %s where key=?;" %
+ self.table, [key])
+ exists = len(list(data))
+ if exists:
+ self._execute("UPDATE %s SET value=? WHERE key=?;" % self.table,
+ [value, key])
+ else:
+ self._execute("INSERT into %s(key, value) values (?, ?);" %
+ self.table, [key, value])
+
+ def __contains__(self, key):
+ return key in set(self)
+
+ def __len__(self):
+ data = self._execute("SELECT COUNT(key) FROM %s;" % self.table)
+ for row in data:
+ return row[0]
+
+ def __iter__(self):
+ data = self._execute("SELECT key FROM %s;" % self.table)
+ for row in data:
+ yield row[0]
+
+ def iteritems(self):
+ data = self._execute("SELECT * FROM %s;" % self.table)
+ for row in data:
+ yield row[0], row[1]
+
+ def itervalues(self):
+ data = self._execute("SELECT value FROM %s;" % self.table)
+ for row in data:
+ yield row[0]
+
+
+class SQLData(object):
+ """Object representing the persistent data"""
+ def __init__(self, filename):
+ bb.utils.mkdirhier(os.path.dirname(filename))
+
+ self.filename = filename
+ self.connection = sqlite3.connect(filename, timeout=5,
+ isolation_level=None)
+ self.cursor = self.connection.cursor()
+ self._tables = {}
+
+ def __getitem__(self, table):
+ if not isinstance(table, basestring):
+ raise TypeError("table argument must be a string, not '%s'" %
+ type(table))
+
+ if table in self._tables:
+ return self._tables[table]
+ else:
+ tableobj = self._tables[table] = SQLTable(self.cursor, table)
+ return tableobj
+
+ def __delitem__(self, table):
+ if table in self._tables:
+ del self._tables[table]
+ self.cursor.execute("DROP TABLE IF EXISTS %s;" % table)
+
+
+class PersistData(object):
+ """Deprecated representation of the bitbake persistent data store"""
+ def __init__(self, d):
+ warnings.warn("Use of PersistData will be deprecated in the future",
+ category=PendingDeprecationWarning,
+ stacklevel=2)
+
+ self.data = persist(d)
+ logger.debug(1, "Using '%s' as the persistent data cache",
+ self.data.filename)
def addDomain(self, domain):
"""
- Should be called before any domain is used
- Creates it if it doesn't exist.
+ Add a domain (pending deprecation)
"""
- self._execute("CREATE TABLE IF NOT EXISTS %s(key TEXT, value TEXT);" % domain)
+ return self.data[domain]
def delDomain(self, domain):
"""
Removes a domain and all the data it contains
"""
- self._execute("DROP TABLE IF EXISTS %s;" % domain)
+ del self.data[domain]
def getKeyValues(self, domain):
"""
Return a list of key + value pairs for a domain
"""
- ret = {}
- data = self._execute("SELECT key, value from %s;" % domain)
- for row in data:
- ret[str(row[0])] = str(row[1])
-
- return ret
+ return self.data[domain].items()
def getValue(self, domain, key):
"""
Return the value of a key for a domain
"""
- data = self._execute("SELECT * from %s where key=?;" % domain, [key])
- for row in data:
- return row[1]
+ return self.data[domain][key]
def setValue(self, domain, key, value):
"""
Sets the value of a key for a domain
"""
- data = self._execute("SELECT * from %s where key=?;" % domain, [key])
- rows = 0
- for row in data:
- rows = rows + 1
- if rows:
- self._execute("UPDATE %s SET value=? WHERE key=?;" % domain, [value, key])
- else:
- self._execute("INSERT into %s(key, value) values (?, ?);" % domain, [key, value])
+ self.data[domain][key] = value
def delValue(self, domain, key):
"""
Deletes a key/value pair
"""
- self._execute("DELETE from %s where key=?;" % domain, [key])
-
- #
- # We wrap the sqlite execute calls as on contended machines or single threaded
- # systems we can have multiple processes trying to access the DB at once and it seems
- # sqlite sometimes doesn't wait for the timeout. We therefore loop but put in an
- # emergency brake too
- #
- def _execute(self, *query):
- count = 0
- while True:
- try:
- ret = self.cursor.execute(*query)
- #print "Had to retry %s times" % count
- return ret
- except sqlite3.OperationalError as e:
- if 'database is locked' in str(e) and count < 500:
- count = count + 1
- continue
- raise
+ del self.data[domain][key]
+
+
+def persist(d):
+ """Convenience factory for construction of SQLData based upon metadata"""
+ cachedir = (bb.data.getVar("PERSISTENT_DIR", d, True) or
+ bb.data.getVar("CACHE", d, True))
+ if not cachedir:
+ logger.critical("Please set the 'PERSISTENT_DIR' or 'CACHE' variable")
+ sys.exit(1)
+
+ cachefile = os.path.join(cachedir, "bb_persist_data.sqlite3")
+ return SQLData(cachefile)
diff --git a/bitbake/lib/bb/process.py b/bitbake/lib/bb/process.py
new file mode 100644
index 000000000..808cd60f9
--- /dev/null
+++ b/bitbake/lib/bb/process.py
@@ -0,0 +1,109 @@
+import logging
+import signal
+import subprocess
+
+logger = logging.getLogger('BitBake.Process')
+
+def subprocess_setup():
+ # Python installs a SIGPIPE handler by default. This is usually not what
+ # non-Python subprocesses expect.
+ signal.signal(signal.SIGPIPE, signal.SIG_DFL)
+
+class CmdError(RuntimeError):
+ def __init__(self, command, message=None):
+ self.command = command
+ self.message = message
+
+ def __str__(self):
+ if not isinstance(self.command, basestring):
+ cmd = subprocess.list2cmdline(self.command)
+ else:
+ cmd = self.command
+
+ msg = "Execution of '%s' failed" % cmd
+ if self.message:
+ msg += ': %s' % self.message
+ return msg
+
+class NotFoundError(CmdError):
+ def __str__(self):
+ return CmdError.__str__(self) + ": command not found"
+
+class ExecutionError(CmdError):
+ def __init__(self, command, exitcode, stdout = None, stderr = None):
+ CmdError.__init__(self, command)
+ self.exitcode = exitcode
+ self.stdout = stdout
+ self.stderr = stderr
+
+ def __str__(self):
+ message = ""
+ if self.stderr:
+ message += self.stderr
+ if self.stdout:
+ message += self.stdout
+ if message:
+ message = ":\n" + message
+ return (CmdError.__str__(self) +
+ " with exit code %s" % self.exitcode + message)
+
+class Popen(subprocess.Popen):
+ defaults = {
+ "close_fds": True,
+ "preexec_fn": subprocess_setup,
+ "stdout": subprocess.PIPE,
+ "stderr": subprocess.STDOUT,
+ "stdin": subprocess.PIPE,
+ "shell": False,
+ }
+
+ def __init__(self, *args, **kwargs):
+ options = dict(self.defaults)
+ options.update(kwargs)
+ subprocess.Popen.__init__(self, *args, **options)
+
+def _logged_communicate(pipe, log, input):
+ if pipe.stdin:
+ if input is not None:
+ pipe.stdin.write(input)
+ pipe.stdin.close()
+
+ bufsize = 512
+ outdata, errdata = [], []
+ while pipe.poll() is None:
+ if pipe.stdout is not None:
+ data = pipe.stdout.read(bufsize)
+ if data is not None:
+ outdata.append(data)
+ log.write(data)
+
+ if pipe.stderr is not None:
+ data = pipe.stderr.read(bufsize)
+ if data is not None:
+ errdata.append(data)
+ log.write(data)
+ return ''.join(outdata), ''.join(errdata)
+
+def run(cmd, input=None, log=None, **options):
+ """Convenience function to run a command and return its output, raising an
+ exception when the command fails"""
+
+ if isinstance(cmd, basestring) and not "shell" in options:
+ options["shell"] = True
+
+ try:
+ pipe = Popen(cmd, **options)
+ except OSError, exc:
+ if exc.errno == 2:
+ raise NotFoundError(cmd)
+ else:
+ raise CmdError(cmd, exc)
+
+ if log:
+ stdout, stderr = _logged_communicate(pipe, log, input)
+ else:
+ stdout, stderr = pipe.communicate(input)
+
+ if pipe.returncode != 0:
+ raise ExecutionError(cmd, pipe.returncode, stdout, stderr)
+ return stdout, stderr
diff --git a/bitbake/lib/bb/providers.py b/bitbake/lib/bb/providers.py
index 58326f039..dcba9ae25 100644
--- a/bitbake/lib/bb/providers.py
+++ b/bitbake/lib/bb/providers.py
@@ -22,9 +22,12 @@
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import re
+import logging
from bb import data, utils
import bb
+logger = logging.getLogger("BitBake.Provider")
+
class NoProvider(Exception):
"""Exception raised when no provider of a build dependency can be found"""
@@ -120,9 +123,9 @@ def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None):
if item:
itemstr = " (for item %s)" % item
if preferred_file is None:
- bb.msg.note(1, bb.msg.domain.Provider, "preferred version %s of %s not available%s" % (pv_str, pn, itemstr))
+ logger.info("preferred version %s of %s not available%s", pv_str, pn, itemstr)
else:
- bb.msg.debug(1, bb.msg.domain.Provider, "selecting %s as PREFERRED_VERSION %s of package %s%s" % (preferred_file, pv_str, pn, itemstr))
+ logger.debug(1, "selecting %s as PREFERRED_VERSION %s of package %s%s", preferred_file, pv_str, pn, itemstr)
return (preferred_ver, preferred_file)
@@ -189,7 +192,7 @@ def _filterProviders(providers, item, cfgData, dataCache):
pkg_pn[pn] = []
pkg_pn[pn].append(p)
- bb.msg.debug(1, bb.msg.domain.Provider, "providers for %s are: %s" % (item, pkg_pn.keys()))
+ logger.debug(1, "providers for %s are: %s", item, pkg_pn.keys())
# First add PREFERRED_VERSIONS
for pn in pkg_pn:
@@ -206,7 +209,7 @@ def _filterProviders(providers, item, cfgData, dataCache):
eligible.append(preferred_versions[pn][1])
if len(eligible) == 0:
- bb.msg.error(bb.msg.domain.Provider, "no eligible providers for %s" % item)
+ logger.error("no eligible providers for %s", item)
return 0
# If pn == item, give it a slight default preference
@@ -242,13 +245,13 @@ def filterProviders(providers, item, cfgData, dataCache):
for p in eligible:
pn = dataCache.pkg_fn[p]
if dataCache.preferred[item] == pn:
- bb.msg.note(2, bb.msg.domain.Provider, "selecting %s to satisfy %s due to PREFERRED_PROVIDERS" % (pn, item))
+ logger.verbose("selecting %s to satisfy %s due to PREFERRED_PROVIDERS", pn, item)
eligible.remove(p)
eligible = [p] + eligible
foundUnique = True
break
- bb.msg.debug(1, bb.msg.domain.Provider, "sorted providers for %s are: %s" % (item, eligible))
+ logger.debug(1, "sorted providers for %s are: %s", item, eligible)
return eligible, foundUnique
@@ -264,27 +267,31 @@ def filterProvidersRunTime(providers, item, cfgData, dataCache):
# Should use dataCache.preferred here?
preferred = []
preferred_vars = []
+ pns = {}
+ for p in eligible:
+ pns[dataCache.pkg_fn[p]] = p
for p in eligible:
pn = dataCache.pkg_fn[p]
provides = dataCache.pn_provides[pn]
for provide in provides:
- bb.msg.note(2, bb.msg.domain.Provider, "checking PREFERRED_PROVIDER_%s" % (provide))
prefervar = bb.data.getVar('PREFERRED_PROVIDER_%s' % provide, cfgData, 1)
- if prefervar == pn:
+ logger.verbose("checking PREFERRED_PROVIDER_%s (value %s) against %s", provide, prefervar, pns.keys())
+ if prefervar in pns and pns[prefervar] not in preferred:
var = "PREFERRED_PROVIDER_%s = %s" % (provide, prefervar)
- bb.msg.note(2, bb.msg.domain.Provider, "selecting %s to satisfy runtime %s due to %s" % (pn, item, var))
+ logger.verbose("selecting %s to satisfy runtime %s due to %s", prefervar, item, var)
preferred_vars.append(var)
- eligible.remove(p)
- eligible = [p] + eligible
- preferred.append(p)
+ pref = pns[prefervar]
+ eligible.remove(pref)
+ eligible = [pref] + eligible
+ preferred.append(pref)
break
numberPreferred = len(preferred)
if numberPreferred > 1:
- bb.msg.error(bb.msg.domain.Provider, "Conflicting PREFERRED_PROVIDER entries were found which resulted in an attempt to select multiple providers (%s) for runtime dependecy %s\nThe entries resulting in this conflict were: %s" % (preferred, item, preferred_vars))
+ logger.error("Trying to resolve runtime dependency %s resulted in conflicting PREFERRED_PROVIDER entries being found.\nThe providers found were: %s\nThe PREFERRED_PROVIDER entries resulting in this conflict were: %s", item, preferred, preferred_vars)
- bb.msg.debug(1, bb.msg.domain.Provider, "sorted providers for %s are: %s" % (item, eligible))
+ logger.debug(1, "sorted providers for %s are: %s", item, eligible)
return eligible, numberPreferred
@@ -314,7 +321,7 @@ def getRuntimeProviders(dataCache, rdepend):
try:
regexp = re.compile(pattern)
except:
- bb.msg.error(bb.msg.domain.Provider, "Error parsing re expression: %s" % pattern)
+ logger.error("Error parsing regular expression '%s'", pattern)
raise
regexp_cache[pattern] = regexp
if regexp.match(rdepend):
diff --git a/bitbake/lib/pysh/__init__.py b/bitbake/lib/bb/pysh/__init__.py
index e69de29bb..e69de29bb 100644
--- a/bitbake/lib/pysh/__init__.py
+++ b/bitbake/lib/bb/pysh/__init__.py
diff --git a/bitbake/lib/pysh/builtin.py b/bitbake/lib/bb/pysh/builtin.py
index 25ad22eb7..25ad22eb7 100644
--- a/bitbake/lib/pysh/builtin.py
+++ b/bitbake/lib/bb/pysh/builtin.py
diff --git a/bitbake/lib/pysh/interp.py b/bitbake/lib/bb/pysh/interp.py
index efe5181e1..efe5181e1 100644
--- a/bitbake/lib/pysh/interp.py
+++ b/bitbake/lib/bb/pysh/interp.py
diff --git a/bitbake/lib/pysh/lsprof.py b/bitbake/lib/bb/pysh/lsprof.py
index b1831c22a..b1831c22a 100644
--- a/bitbake/lib/pysh/lsprof.py
+++ b/bitbake/lib/bb/pysh/lsprof.py
diff --git a/bitbake/lib/pysh/pysh.py b/bitbake/lib/bb/pysh/pysh.py
index b4e6145b5..b4e6145b5 100644
--- a/bitbake/lib/pysh/pysh.py
+++ b/bitbake/lib/bb/pysh/pysh.py
diff --git a/bitbake/lib/pysh/pyshlex.py b/bitbake/lib/bb/pysh/pyshlex.py
index b977b5e86..b977b5e86 100644
--- a/bitbake/lib/pysh/pyshlex.py
+++ b/bitbake/lib/bb/pysh/pyshlex.py
diff --git a/bitbake/lib/pysh/pyshyacc.py b/bitbake/lib/bb/pysh/pyshyacc.py
index 3d9510c0c..e8e80aac4 100644
--- a/bitbake/lib/pysh/pyshyacc.py
+++ b/bitbake/lib/bb/pysh/pyshyacc.py
@@ -7,6 +7,7 @@
"""PLY grammar file.
"""
+import os.path
import sys
import pyshlex
@@ -648,7 +649,10 @@ def p_error(p):
try:
import pyshtables
except ImportError:
- yacc.yacc(tabmodule = 'pyshtables')
+ outputdir = os.path.dirname(__file__)
+ if not os.access(outputdir, os.W_OK):
+ outputdir = ''
+ yacc.yacc(tabmodule = 'pyshtables', outputdir = outputdir, debug = 0)
else:
yacc.yacc(tabmodule = 'pysh.pyshtables', write_tables = 0, debug = 0)
@@ -704,6 +708,9 @@ def format_commands(v):
if v.reverse_status:
name = '!' + name
return [name, format_commands(v.commands)]
+ elif isinstance(v, Case):
+ name = ['Case']
+ name += [v.name, format_commands(v.items)]
elif isinstance(v, SimpleCommand):
name = ['SimpleCommand']
if v.words:
diff --git a/bitbake/lib/pysh/sherrors.py b/bitbake/lib/bb/pysh/sherrors.py
index 1d5bd53b3..1d5bd53b3 100644
--- a/bitbake/lib/pysh/sherrors.py
+++ b/bitbake/lib/bb/pysh/sherrors.py
diff --git a/bitbake/lib/pysh/subprocess_fix.py b/bitbake/lib/bb/pysh/subprocess_fix.py
index 46eca2280..46eca2280 100644
--- a/bitbake/lib/pysh/subprocess_fix.py
+++ b/bitbake/lib/bb/pysh/subprocess_fix.py
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index b4134f826..a3f444c2a 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -22,19 +22,18 @@ 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.
-import bb, os, sys
-import subprocess
-from bb import msg, data, event
+import copy
+import os
+import sys
import signal
import stat
import fcntl
-import copy
+import logging
+import bb
+from bb import msg, data, event
-try:
- import cPickle as pickle
-except ImportError:
- import pickle
- bb.msg.note(1, bb.msg.domain.Cache, "Importing cPickle failed. Falling back to a very slow implementation.")
+bblogger = logging.getLogger("BitBake")
+logger = logging.getLogger("BitBake.RunQueue")
class RunQueueStats:
"""
@@ -87,21 +86,28 @@ class RunQueueScheduler(object):
"""
self.rq = runqueue
self.rqdata = rqdata
- numTasks = len(self.rq.runq_fnid)
+ numTasks = len(self.rqdata.runq_fnid)
self.prio_map = []
self.prio_map.extend(range(numTasks))
- def next(self):
+ def next_buildable_task(self):
"""
Return the id of the first task we find that is buildable
"""
- for task1 in range(len(self.rqdata.runq_fnid)):
- task = self.prio_map[task1]
- if self.rq.runq_running[task] == 1:
+ for tasknum in xrange(len(self.rqdata.runq_fnid)):
+ taskid = self.prio_map[tasknum]
+ if self.rq.runq_running[taskid] == 1:
continue
- if self.rq.runq_buildable[task] == 1:
- return task
+ if self.rq.runq_buildable[taskid] == 1:
+ return taskid
+
+ def next(self):
+ """
+ Return the id of the task we should build next
+ """
+ if self.rq.stats.active < self.rq.number_tasks:
+ return self.next_buildable_task()
class RunQueueSchedulerSpeed(RunQueueScheduler):
"""
@@ -114,13 +120,12 @@ class RunQueueSchedulerSpeed(RunQueueScheduler):
"""
The priority map is sorted by task weight.
"""
- from copy import deepcopy
self.rq = runqueue
self.rqdata = rqdata
- sortweight = sorted(deepcopy(self.rqdata.runq_weight))
- copyweight = deepcopy(self.rqdata.runq_weight)
+ sortweight = sorted(copy.deepcopy(self.rqdata.runq_weight))
+ copyweight = copy.deepcopy(self.rqdata.runq_weight)
self.prio_map = []
for weight in sortweight:
@@ -142,12 +147,11 @@ class RunQueueSchedulerCompletion(RunQueueSchedulerSpeed):
def __init__(self, runqueue, rqdata):
RunQueueSchedulerSpeed.__init__(self, runqueue, rqdata)
- from copy import deepcopy
#FIXME - whilst this groups all fnids together it does not reorder the
#fnid groups optimally.
- basemap = deepcopy(self.prio_map)
+ basemap = copy.deepcopy(self.prio_map)
self.prio_map = []
while (len(basemap) > 0):
entry = basemap.pop(0)
@@ -201,7 +205,7 @@ class RunQueueData:
return "%s, %s" % (fn, taskname)
def get_task_id(self, fnid, taskname):
- for listid in range(len(self.runq_fnid)):
+ for listid in xrange(len(self.runq_fnid)):
if self.runq_fnid[listid] == fnid and self.runq_task[listid] == taskname:
return listid
return None
@@ -223,7 +227,7 @@ class RunQueueData:
"""
lowest = 0
new_chain = []
- for entry in range(len(chain)):
+ for entry in xrange(len(chain)):
if chain[entry] < chain[lowest]:
lowest = entry
new_chain.extend(chain[lowest:])
@@ -236,7 +240,7 @@ class RunQueueData:
"""
if len(chain1) != len(chain2):
return False
- for index in range(len(chain1)):
+ for index in xrange(len(chain1)):
if chain1[index] != chain2[index]:
return False
return True
@@ -281,7 +285,7 @@ class RunQueueData:
if dep in explored_deps[revdep]:
scan = True
if scan:
- find_chains(revdep, deepcopy(prev_chain))
+ find_chains(revdep, copy.deepcopy(prev_chain))
for dep in explored_deps[revdep]:
if dep not in total_deps:
total_deps.append(dep)
@@ -298,7 +302,7 @@ class RunQueueData:
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
+ This function also sanity checks the task list finding tasks that are not
possible to execute due to circular dependencies.
"""
@@ -307,7 +311,7 @@ class RunQueueData:
deps_left = []
task_done = []
- for listid in range(numTasks):
+ for listid in xrange(numTasks):
task_done.append(False)
weight.append(0)
deps_left.append(len(self.runq_revdeps[listid]))
@@ -331,17 +335,17 @@ class RunQueueData:
# Circular dependency sanity check
problem_tasks = []
- for task in range(numTasks):
+ for task in xrange(numTasks):
if task_done[task] is False or deps_left[task] != 0:
problem_tasks.append(task)
- bb.msg.debug(2, bb.msg.domain.RunQueue, "Task %s (%s) is not buildable\n" % (task, self.get_user_idstring(task)))
- bb.msg.debug(2, bb.msg.domain.RunQueue, "(Complete marker was %s and the remaining dependency count was %s)\n\n" % (task_done[task], deps_left[task]))
+ logger.debug(2, "Task %s (%s) is not buildable", task, self.get_user_idstring(task))
+ logger.debug(2, "(Complete marker was %s and the remaining dependency count was %s)\n", task_done[task], deps_left[task])
if problem_tasks:
message = "Unbuildable tasks were found.\n"
message = message + "These are usually caused by circular dependencies and any circular dependency chains found will be printed below. Increase the debug level to see a list of unbuildable tasks.\n\n"
message = message + "Identifying dependency loops (this may take a short while)...\n"
- bb.msg.error(bb.msg.domain.RunQueue, message)
+ logger.error(message)
msgs = self.circular_depchains_handler(problem_tasks)
@@ -369,7 +373,7 @@ class RunQueueData:
# Nothing to do
return 0
- bb.msg.note(1, bb.msg.domain.RunQueue, "Preparing runqueue")
+ logger.info("Preparing runqueue")
# Step A - Work out a list of tasks to run
#
@@ -409,14 +413,14 @@ class RunQueueData:
if taskid is not None:
depends.append(taskid)
- for task in range(len(taskData.tasks_name)):
+ for task in xrange(len(taskData.tasks_name)):
depends = []
recrdepends = []
fnid = taskData.tasks_fnid[task]
fn = taskData.fn_index[fnid]
task_deps = self.dataCache.task_deps[fn]
- bb.msg.debug(2, bb.msg.domain.RunQueue, "Processing %s:%s" %(fn, taskData.tasks_name[task]))
+ logger.debug(2, "Processing %s:%s", fn, taskData.tasks_name[task])
if fnid not in taskData.failed_fnids:
@@ -454,7 +458,9 @@ class RunQueueData:
depdata = taskData.build_targets[depid][0]
if depdata is not None:
dep = taskData.fn_index[depdata]
- taskid = taskData.gettask_id(dep, idependtask)
+ taskid = taskData.gettask_id(dep, idependtask, False)
+ if taskid is None:
+ bb.msg.fatal(bb.msg.domain.RunQueue, "Task %s in %s depends upon nonexistant task %s in %s" % (taskData.tasks_name[task], fn, idependtask, dep))
depends.append(taskid)
if depdata != fnid:
tdepends_fnid[fnid].add(taskid)
@@ -474,7 +480,7 @@ class RunQueueData:
# Rmove all self references
if task in depends:
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))
+ logger.debug(2, "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)
@@ -498,7 +504,7 @@ class RunQueueData:
# Algorithm is O(tasks) + O(tasks)*O(fnids)
#
reccumdepends = {}
- for task in range(len(self.runq_fnid)):
+ for task in xrange(len(self.runq_fnid)):
fnid = self.runq_fnid[task]
if fnid not in reccumdepends:
if fnid in tdepends_fnid:
@@ -506,7 +512,7 @@ class RunQueueData:
else:
reccumdepends[fnid] = set()
reccumdepends[fnid].update(self.runq_depends[task])
- for task in range(len(self.runq_fnid)):
+ for task in xrange(len(self.runq_fnid)):
taskfnid = self.runq_fnid[task]
for fnid in reccumdepends:
if task in reccumdepends[fnid]:
@@ -519,7 +525,7 @@ class RunQueueData:
#
# e.g. do_sometask[recrdeptask] = "do_someothertask"
# (makes sure sometask runs after someothertask of all DEPENDS, RDEPENDS and intertask dependencies, recursively)
- for task in range(len(self.runq_fnid)):
+ for task in xrange(len(self.runq_fnid)):
if len(runq_recrdepends[task]) > 0:
taskfnid = self.runq_fnid[task]
for dep in reccumdepends[taskfnid]:
@@ -536,7 +542,7 @@ class RunQueueData:
# as active too. If the task is to be 'forced', clear its stamp. Once
# all active tasks are marked, prune the ones we don't need.
- bb.msg.note(2, bb.msg.domain.RunQueue, "Marking Active Tasks")
+ logger.verbose("Marking Active Tasks")
def mark_active(listid, depth):
"""
@@ -567,11 +573,6 @@ class RunQueueData:
fn = taskData.fn_index[fnid]
self.target_pairs.append((fn, target[1]))
- # Remove stamps for targets if force mode active
- if self.cooker.configuration.force:
- bb.msg.note(2, bb.msg.domain.RunQueue, "Remove stamp %s, %s" % (target[1], fn))
- bb.build.del_stamp(target[1], self.dataCache, fn)
-
if fnid in taskData.failed_fnids:
continue
@@ -588,7 +589,7 @@ class RunQueueData:
maps = []
delcount = 0
- for listid in range(len(self.runq_fnid)):
+ for listid in xrange(len(self.runq_fnid)):
if runq_build[listid-delcount] == 1:
maps.append(listid-delcount)
else:
@@ -612,11 +613,11 @@ class RunQueueData:
else:
bb.msg.fatal(bb.msg.domain.RunQueue, "No active tasks and not in --continue mode?! Please report this bug.")
- bb.msg.note(2, bb.msg.domain.RunQueue, "Pruned %s inactive tasks, %s left" % (delcount, len(self.runq_fnid)))
+ logger.verbose("Pruned %s inactive tasks, %s left", delcount, len(self.runq_fnid))
# Remap the dependencies to account for the deleted tasks
# Check we didn't delete a task we depend on
- for listid in range(len(self.runq_fnid)):
+ for listid in xrange(len(self.runq_fnid)):
newdeps = []
origdeps = self.runq_depends[listid]
for origdep in origdeps:
@@ -625,17 +626,17 @@ class RunQueueData:
newdeps.append(maps[origdep])
self.runq_depends[listid] = set(newdeps)
- bb.msg.note(2, bb.msg.domain.RunQueue, "Assign Weightings")
+ logger.verbose("Assign Weightings")
# Generate a list of reverse dependencies to ease future calculations
- for listid in range(len(self.runq_fnid)):
+ for listid in xrange(len(self.runq_fnid)):
for dep in self.runq_depends[listid]:
self.runq_revdeps[dep].add(listid)
# Identify tasks at the end of dependency chains
# Error on circular dependency loops (length two)
endpoints = []
- for listid in range(len(self.runq_fnid)):
+ for listid in xrange(len(self.runq_fnid)):
revdeps = self.runq_revdeps[listid]
if len(revdeps) == 0:
endpoints.append(listid)
@@ -644,7 +645,7 @@ class RunQueueData:
#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.note(2, bb.msg.domain.RunQueue, "Compute totals (have %s endpoint(s))" % len(endpoints))
+ logger.verbose("Compute totals (have %s endpoint(s))", len(endpoints))
# Calculate task weights
# Check of higher length circular dependencies
@@ -653,7 +654,7 @@ class RunQueueData:
# Sanity Check - Check for multiple tasks building the same provider
prov_list = {}
seen_fn = []
- for task in range(len(self.runq_fnid)):
+ for task in xrange(len(self.runq_fnid)):
fn = taskData.fn_index[self.runq_fnid[task]]
if fn in seen_fn:
continue
@@ -667,9 +668,7 @@ class RunQueueData:
for prov in prov_list:
if len(prov_list[prov]) > 1 and prov not in self.multi_provider_whitelist:
error = True
- bb.msg.error(bb.msg.domain.RunQueue, "Multiple .bb files are due to be built which each provide %s (%s).\n This usually means one provides something the other doesn't and should." % (prov, " ".join(prov_list[prov])))
- #if error:
- # bb.msg.fatal(bb.msg.domain.RunQueue, "Corrupted metadata configuration detected, aborting...")
+ logger.error("Multiple .bb files are due to be built which each provide %s (%s).\n This usually means one provides something the other doesn't and should.", prov, " ".join(prov_list[prov]))
# Create a whitelist usable by the stamp checks
@@ -683,20 +682,15 @@ class RunQueueData:
stampfnwhitelist.append(fn)
self.stampfnwhitelist = stampfnwhitelist
- #self.dump_data(taskData)
-
# Interate over the task list looking for tasks with a 'setscene' function
-
self.runq_setscene = []
for task in range(len(self.runq_fnid)):
setscene = taskData.gettask_id(self.taskData.fn_index[self.runq_fnid[task]], self.runq_task[task] + "_setscene", False)
if not setscene:
continue
- #bb.note("Found setscene for %s %s" % (self.taskData.fn_index[self.runq_fnid[task]], self.runq_task[task]))
self.runq_setscene.append(task)
# Interate over the task list and call into the siggen code
-
dealtwith = set()
todeal = set(range(len(self.runq_fnid)))
while len(todeal) > 0:
@@ -709,21 +703,24 @@ class RunQueueData:
procdep.append(self.taskData.fn_index[self.runq_fnid[dep]] + "." + self.runq_task[dep])
self.runq_hash[task] = bb.parse.siggen.get_taskhash(self.taskData.fn_index[self.runq_fnid[task]], self.runq_task[task], procdep, self.dataCache)
- hashdata = {}
- hashdata["hashes"] = {}
- hashdata["deps"] = {}
- for task in range(len(self.runq_fnid)):
- hashdata["hashes"][self.taskData.fn_index[self.runq_fnid[task]] + "." + self.runq_task[task]] = self.runq_hash[task]
+ self.hashes = {}
+ self.hash_deps = {}
+ for task in xrange(len(self.runq_fnid)):
+ identifier = '%s.%s' % (self.taskData.fn_index[self.runq_fnid[task]],
+ self.runq_task[task])
+ self.hashes[identifier] = self.runq_hash[task]
deps = []
for dep in self.runq_depends[task]:
- deps.append(self.taskData.fn_index[self.runq_fnid[dep]] + "." + self.runq_task[dep])
- hashdata["deps"][self.taskData.fn_index[self.runq_fnid[task]] + "." + self.runq_task[task]] = deps
+ depidentifier = '%s.%s' % (self.taskData.fn_index[self.runq_fnid[dep]],
+ self.runq_task[dep])
+ deps.append(depidentifier)
+ self.hash_deps[identifier] = deps
- hashdata["msg-debug"] = self.cooker.configuration.debug
- hashdata["msg-debug-domains"] = self.cooker.configuration.debug_domains
- hashdata["verbose"] = self.cooker.configuration.verbose
-
- self.hashdata = hashdata
+ # Remove stamps for targets if force mode active
+ if self.cooker.configuration.force:
+ for (fn, target) in self.target_pairs:
+ logger.verbose("Remove stamp %s, %s", target, fn)
+ bb.build.del_stamp(target, self.dataCache, fn)
return len(self.runq_fnid)
@@ -731,25 +728,25 @@ class RunQueueData:
"""
Dump some debug information on the internal data structures
"""
- bb.msg.debug(3, bb.msg.domain.RunQueue, "run_tasks:")
- for task in range(len(self.rqdata.runq_task)):
- bb.msg.debug(3, bb.msg.domain.RunQueue, " (%s)%s - %s: %s Deps %s RevDeps %s" % (task,
- taskQueue.fn_index[self.rqdata.runq_fnid[task]],
- self.rqdata.runq_task[task],
- self.rqdata.runq_weight[task],
- self.rqdata.runq_depends[task],
- self.rqdata.runq_revdeps[task]))
-
- bb.msg.debug(3, bb.msg.domain.RunQueue, "sorted_tasks:")
- for task1 in range(len(self.rqdata.runq_task)):
+ logger.debug(3, "run_tasks:")
+ for task in xrange(len(self.rqdata.runq_task)):
+ logger.debug(3, " (%s)%s - %s: %s Deps %s RevDeps %s", task,
+ taskQueue.fn_index[self.rqdata.runq_fnid[task]],
+ self.rqdata.runq_task[task],
+ self.rqdata.runq_weight[task],
+ self.rqdata.runq_depends[task],
+ self.rqdata.runq_revdeps[task])
+
+ logger.debug(3, "sorted_tasks:")
+ for task1 in xrange(len(self.rqdata.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.rqdata.runq_fnid[task]],
- self.rqdata.runq_task[task],
- self.rqdata.runq_weight[task],
- self.rqdata.runq_depends[task],
- self.rqdata.runq_revdeps[task]))
+ logger.debug(3, " (%s)%s - %s: %s Deps %s RevDeps %s", task,
+ taskQueue.fn_index[self.rqdata.runq_fnid[task]],
+ self.rqdata.runq_task[task],
+ self.rqdata.runq_weight[task],
+ self.rqdata.runq_depends[task],
+ self.rqdata.runq_revdeps[task])
class RunQueue:
def __init__(self, cooker, cfgData, dataCache, taskData, targets):
@@ -777,7 +774,7 @@ class RunQueue:
if self.stamppolicy == "whitelist":
stampwhitelist = self.rqdata.stampfnwhitelist
- for task in range(len(self.rqdata.runq_fnid)):
+ for task in xrange(len(self.rqdata.runq_fnid)):
unchecked[task] = ""
if len(self.rqdata.runq_depends[task]) == 0:
buildable.append(task)
@@ -792,12 +789,12 @@ class RunQueue:
if revdep in unchecked:
buildable.append(revdep)
- for task in range(len(self.rqdata.runq_fnid)):
+ for task in xrange(len(self.rqdata.runq_fnid)):
if task not in unchecked:
continue
fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[task]]
taskname = self.rqdata.runq_task[task]
- stampfile = "%s.%s" % (self.rqdata.dataCache.stamp[fn], taskname)
+ stampfile = bb.build.stampfile(taskname, self.rqdata.dataCache, fn)
# If the stamp is missing its not current
if not os.access(stampfile, os.F_OK):
del unchecked[task]
@@ -818,7 +815,7 @@ class RunQueue:
if task in unchecked:
fn = self.taskData.fn_index[self.rqdata.runq_fnid[task]]
taskname = self.rqdata.runq_task[task]
- stampfile = "%s.%s" % (self.rqdata.dataCache.stamp[fn], taskname)
+ stampfile = bb.build.stampfile(taskname, self.rqdata.dataCache, fn)
iscurrent = True
t1 = os.stat(stampfile)[stat.ST_MTIME]
@@ -826,7 +823,7 @@ class RunQueue:
if iscurrent:
fn2 = self.taskData.fn_index[self.rqdata.runq_fnid[dep]]
taskname2 = self.rqdata.runq_task[dep]
- stampfile2 = "%s.%s" % (self.rqdata.dataCache.stamp[fn2], taskname2)
+ stampfile2 = bb.build.stampfile(taskname2, self.rqdata.dataCache, fn2)
if fn == fn2 or (fulldeptree and fn2 not in stampwhitelist):
if dep in notcurrent:
iscurrent = False
@@ -877,20 +874,20 @@ class RunQueue:
fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[task]]
if taskname is None:
taskname = self.rqdata.runq_task[task]
-
- stampfile = bb.parse.siggen.stampfile(self.rqdata.dataCache.stamp[fn], taskname, self.rqdata.runq_hash[task])
+
+ stampfile = bb.build.stampfile(taskname, self.rqdata.dataCache, fn)
# If the stamp is missing its not current
if not os.access(stampfile, os.F_OK):
- bb.msg.debug(2, bb.msg.domain.RunQueue, "Stampfile %s not available\n" % stampfile)
+ logger.debug(2, "Stampfile %s not available", stampfile)
return False
# If its a 'nostamp' task, it's not current
taskdep = self.rqdata.dataCache.task_deps[fn]
if 'nostamp' in taskdep and taskname in taskdep['nostamp']:
- bb.msg.debug(2, bb.msg.domain.RunQueue, "%s.%s is nostamp\n" % (fn, taskname))
+ logger.debug(2, "%s.%s is nostamp\n", fn, taskname)
return False
- if taskname.endswith("_setscene"):
+ if taskname != "do_setscene" and taskname.endswith("_setscene"):
return True
iscurrent = True
@@ -899,18 +896,18 @@ class RunQueue:
if iscurrent:
fn2 = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[dep]]
taskname2 = self.rqdata.runq_task[dep]
- stampfile2 = bb.parse.siggen.stampfile(self.rqdata.dataCache.stamp[fn2], taskname2, self.rqdata.runq_hash[dep])
- stampfile3 = bb.parse.siggen.stampfile(self.rqdata.dataCache.stamp[fn2], taskname2 + "_setscene", self.rqdata.runq_hash[dep])
+ stampfile2 = bb.build.stampfile(taskname2, self.rqdata.dataCache, fn2)
+ stampfile3 = bb.build.stampfile(taskname2 + "_setscene", self.rqdata.dataCache, fn2)
t2 = get_timestamp(stampfile2)
t3 = get_timestamp(stampfile3)
if t3 and t3 > t2:
continue
if fn == fn2 or (fulldeptree and fn2 not in stampwhitelist):
if not t2:
- bb.msg.debug(2, bb.msg.domain.RunQueue, "Stampfile %s does not exist" % (stampfile2))
+ logger.debug(2, 'Stampfile %s does not exist', stampfile2)
iscurrent = False
if t1 < t2:
- bb.msg.debug(2, bb.msg.domain.RunQueue, "Stampfile %s < %s" % (stampfile, stampfile2))
+ logger.debug(2, 'Stampfile %s < %s', stampfile, stampfile2)
iscurrent = False
return iscurrent
@@ -941,7 +938,7 @@ class RunQueue:
retval = self.rqexe.execute()
if self.state is runQueueRunInit:
- bb.msg.note(1, bb.msg.domain.RunQueue, "Executing RunQueue Tasks")
+ logger.info("Executing RunQueue Tasks")
self.rqexe = RunQueueExecuteTasks(self)
self.state = runQueueRunning
@@ -960,7 +957,7 @@ class RunQueue:
if self.state is runQueueComplete:
# All done
- bb.msg.note(1, bb.msg.domain.RunQueue, "Tasks Summary: Attempted %d tasks of which %d didn't need to be rerun and %d failed." % (self.rqexe.stats.completed, self.rqexe.stats.skipped, self.rqexe.stats.failed))
+ logger.info("Tasks Summary: Attempted %d tasks of which %d didn't need to be rerun and %d failed.", self.rqexe.stats.completed, self.rqexe.stats.skipped, self.rqexe.stats.failed)
return False
if self.state is runQueueChildProcess:
@@ -982,8 +979,8 @@ class RunQueue:
bb.note("Reparsing files to collect dependency data")
for task in range(len(self.rqdata.runq_fnid)):
if self.rqdata.runq_fnid[task] not in done:
- fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[task]]
- the_data = self.cooker.bb_cache.loadDataFull(fn, self.cooker.get_file_appends(fn), self.cooker.configuration.data)
+ fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[task]]
+ the_data = bb.cache.Cache.loadDataFull(fn, self.cooker.get_file_appends(fn), self.cooker.configuration.data)
done.add(self.rqdata.runq_fnid[task])
bb.parse.siggen.dump_sigs(self.rqdata.dataCache)
@@ -1022,16 +1019,16 @@ class RunQueueExecute:
self.build_pipes[result[0]].close()
del self.build_pipes[result[0]]
if result[1] != 0:
- self.task_fail(task, result[1])
+ self.task_fail(task, result[1]>>8)
else:
self.task_complete(task)
def finish_now(self):
if self.stats.active:
- bb.msg.note(1, bb.msg.domain.RunQueue, "Sending SIGINT to remaining %s tasks" % self.stats.active)
+ logger.info("Sending SIGTERM to remaining %s tasks", self.stats.active)
for k, v in self.build_pids.iteritems():
try:
- os.kill(-k, signal.SIGINT)
+ os.kill(-k, signal.SIGTERM)
except:
pass
for pipe in self.build_pipes:
@@ -1055,8 +1052,8 @@ class RunQueueExecute:
self.rq.state = runQueueComplete
return
- def fork_off_task(self, fn, task, taskname):
- the_data = self.cooker.bb_cache.loadDataFull(fn, self.cooker.get_file_appends(fn), self.cooker.configuration.data)
+ def fork_off_task(self, fn, task, taskname, quieterrors=False):
+ the_data = bb.cache.Cache.loadDataFull(fn, self.cooker.get_file_appends(fn), self.cooker.configuration.data)
env = bb.data.export_vars(the_data)
env = bb.data.export_envvars(env, the_data)
@@ -1070,55 +1067,59 @@ class RunQueueExecute:
fakedirs = (the_data.getVar("FAKEROOTDIRS", True) or "").split()
for p in fakedirs:
bb.mkdirhier(p)
- bb.msg.debug(2, bb.msg.domain.RunQueue, "Running %s:%s under fakeroot, state dir is %s" % (fn, taskname, fakedirs))
+ logger.debug(2, "Running %s:%s under fakeroot, state dir is %s" % (fn, taskname, fakedirs))
- env['BB_TASKHASH'] = self.rqdata.runq_hash[task]
env['PATH'] = self.cooker.configuration.initial_path
envbackup = os.environ.copy()
- os.environ = env
+ for e in envbackup:
+ os.unsetenv(e)
+ for e in env:
+ os.putenv(e, env[e])
sys.stdout.flush()
sys.stderr.flush()
-
try:
- pipeinfd, pipeoutfd = os.pipe()
- pipein = os.fdopen(pipeinfd, 'rb', 4096)
- pipeout = os.fdopen(pipeoutfd, 'wb', 4096)
-
+ pipein, pipeout = os.pipe()
+ pipein = os.fdopen(pipein, 'rb', 4096)
+ pipeout = os.fdopen(pipeout, 'wb', 0)
pid = os.fork()
except OSError as e:
bb.msg.fatal(bb.msg.domain.RunQueue, "fork failed: %d (%s)" % (e.errno, e.strerror))
if pid == 0:
pipein.close()
+
# Save out the PID so that the event can include it the
# events
bb.event.worker_pid = os.getpid()
bb.event.worker_pipe = pipeout
bb.event.useStdout = False
+ # Child processes should send their messages to the UI
+ # process via the server process, not print them
+ # themselves
+ bblogger.handlers = [bb.event.LogHandler()]
+
self.rq.state = runQueueChildProcess
# Make the child the process group leader
os.setpgid(0, 0)
# No stdin
- newsi = os.open('/dev/null', os.O_RDWR)
+ newsi = os.open(os.devnull, os.O_RDWR)
os.dup2(newsi, sys.stdin.fileno())
- # Stdout to a logfile
- #logout = data.expand("${TMPDIR}/log/stdout.%s" % os.getpid(), self.cfgData, True)
- #mkdirhier(os.path.dirname(logout))
- #newso = open(logout, 'w')
- #os.dup2(newso.fileno(), sys.stdout.fileno())
- #os.dup2(newso.fileno(), sys.stderr.fileno())
- if taskname.endswith("_setscene"):
+ if quieterrors:
the_data.setVarFlag(taskname, "quieterrors", "1")
+ bb.data.setVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY", self, self.cooker.configuration.data)
+ bb.data.setVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY2", fn, self.cooker.configuration.data)
bb.data.setVar("BB_WORKERCONTEXT", "1", the_data)
- bb.parse.siggen.set_taskdata(self.rqdata.hashdata["hashes"], self.rqdata.hashdata["deps"])
+ bb.parse.siggen.set_taskdata(self.rqdata.hashes, self.rqdata.hash_deps)
- for h in self.rqdata.hashdata["hashes"]:
- bb.data.setVar("BBHASH_%s" % h, self.rqdata.hashdata["hashes"][h], the_data)
- for h in self.rqdata.hashdata["deps"]:
- bb.data.setVar("BBHASHDEPS_%s" % h, self.rqdata.hashdata["deps"][h], the_data)
+ for h in self.rqdata.hashes:
+ bb.data.setVar("BBHASH_%s" % h, self.rqdata.hashes[h], the_data)
+ for h in self.rqdata.hash_deps:
+ bb.data.setVar("BBHASHDEPS_%s" % h, self.rqdata.hash_deps[h], the_data)
+
+ bb.data.setVar("BB_TASKHASH", self.rqdata.runq_hash[task], the_data)
ret = 0
try:
@@ -1128,7 +1129,10 @@ class RunQueueExecute:
except:
os._exit(1)
- os.environ = envbackup
+ for e in env:
+ os.unsetenv(e)
+ for e in envbackup:
+ os.putenv(e, envbackup[e])
return pid, pipein, pipeout
@@ -1136,9 +1140,10 @@ class RunQueueExecuteDummy(RunQueueExecute):
def __init__(self, rq):
self.rq = rq
self.stats = RunQueueStats(0)
+
def finish(self):
self.rq.state = runQueueComplete
- return
+ return
class RunQueueExecuteTasks(RunQueueExecute):
def __init__(self, rq):
@@ -1147,7 +1152,7 @@ class RunQueueExecuteTasks(RunQueueExecute):
self.stats = RunQueueStats(len(self.rqdata.runq_fnid))
# Mark initial buildable tasks
- for task in range(self.stats.total):
+ for task in xrange(self.stats.total):
self.runq_running.append(0)
self.runq_complete.append(0)
if len(self.rqdata.runq_depends[task]) == 0:
@@ -1160,31 +1165,52 @@ class RunQueueExecuteTasks(RunQueueExecute):
found = True
while found:
found = False
- for task in range(self.stats.total):
+ for task in xrange(self.stats.total):
if task in self.rq.scenequeue_covered:
continue
if len(self.rqdata.runq_revdeps[task]) > 0 and self.rqdata.runq_revdeps[task].issubset(self.rq.scenequeue_covered):
self.rq.scenequeue_covered.add(task)
found = True
- bb.debug("Full skip list %s" % self.rq.scenequeue_covered)
+ logger.debug(1, 'Full skip list %s', self.rq.scenequeue_covered)
for task in self.rq.scenequeue_covered:
self.task_skip(task)
event.fire(bb.event.StampUpdate(self.rqdata.target_pairs, self.rqdata.dataCache.stamp), self.cfgData)
- schedulers = [obj for obj in globals().itervalues()
- if type(obj) is type and issubclass(obj, RunQueueScheduler)]
+ schedulers = self.get_schedulers()
for scheduler in schedulers:
if self.scheduler == scheduler.name:
self.sched = scheduler(self, self.rqdata)
+ logger.debug(1, "Using runqueue scheduler '%s'", scheduler.name)
break
else:
- bb.error("Invalid scheduler '%s', using default 'speed' scheduler" % self.scheduler)
- bb.error("Available schedulers: %s" % ", ".join(obj.name for obj in schedulers))
- self.sched = RunQueueSchedulerSpeed(self, self.rqdata)
+ bb.fatal("Invalid scheduler '%s'. Available schedulers: %s" %
+ (self.scheduler, ", ".join(obj.name for obj in schedulers)))
+
+
+ def get_schedulers(self):
+ schedulers = set(obj for obj in globals().values()
+ if type(obj) is type and
+ issubclass(obj, RunQueueScheduler))
+ user_schedulers = bb.data.getVar("BB_SCHEDULERS", self.cfgData, True)
+ if user_schedulers:
+ for sched in user_schedulers.split():
+ if not "." in sched:
+ bb.note("Ignoring scheduler '%s' from BB_SCHEDULERS: not an import" % sched)
+ continue
+
+ modname, name = sched.rsplit(".", 1)
+ try:
+ module = __import__(modname, fromlist=(name,))
+ except ImportError, exc:
+ logger.critical("Unable to import scheduler '%s' from '%s': %s" % (name, modname, exc))
+ raise SystemExit(1)
+ else:
+ schedulers.add(getattr(module, name))
+ return schedulers
def task_completeoutright(self, task):
"""
@@ -1206,7 +1232,7 @@ class RunQueueExecuteTasks(RunQueueExecute):
self.runq_buildable[revdep] = 1
fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[revdep]]
taskname = self.rqdata.runq_task[revdep]
- bb.msg.debug(1, bb.msg.domain.RunQueue, "Marking task %s (%s, %s) as buildable" % (revdep, fn, taskname))
+ logger.debug(1, "Marking task %s (%s, %s) as buildable", revdep, fn, taskname)
def task_complete(self, task):
self.stats.taskCompleted()
@@ -1218,11 +1244,10 @@ class RunQueueExecuteTasks(RunQueueExecute):
Called when a task has failed
Updates the state engine with the failure
"""
- bb.msg.error(bb.msg.domain.RunQueue, "Task %s (%s) failed with %s" % (task, self.rqdata.get_user_idstring(task), exitcode))
self.stats.taskFailed()
fnid = self.rqdata.runq_fnid[task]
self.failed_fnids.append(fnid)
- bb.event.fire(runQueueTaskFailed(task, self.stats, self.rq), self.cfgData)
+ bb.event.fire(runQueueTaskFailed(task, self.stats, exitcode, self.rq), self.cfgData)
if self.rqdata.taskData.abort:
self.rq.state = runQueueCleanUp
@@ -1242,38 +1267,30 @@ class RunQueueExecuteTasks(RunQueueExecute):
# nothing to do
self.rq.state = runQueueCleanUp
- task = None
- if self.stats.active < self.number_tasks:
- task = self.sched.next()
+ task = self.sched.next()
if task is not None:
fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[task]]
taskname = self.rqdata.runq_task[task]
if self.rq.check_stamp_task(task, taskname):
- bb.msg.debug(2, bb.msg.domain.RunQueue, "Stamp current task %s (%s)" % (task, self.rqdata.get_user_idstring(task)))
+ logger.debug(2, "Stamp current task %s (%s)", task,
+ self.rqdata.get_user_idstring(task))
self.task_skip(task)
return True
- bb.event.fire(runQueueTaskStarted(task, self.stats, self.rq), self.cfgData)
-
taskdep = self.rqdata.dataCache.task_deps[fn]
if 'noexec' in taskdep and taskname in taskdep['noexec']:
- bb.msg.note(1, bb.msg.domain.RunQueue,
- "Noexec task %d of %d (ID: %s, %s)" % (self.stats.completed + self.stats.active + self.stats.failed + 1,
- self.stats.total,
- task,
- self.rqdata.get_user_idstring(task)))
+ startevent = runQueueTaskStarted(task, self.stats, self.rq,
+ noexec=True)
+ bb.event.fire(startevent, self.cfgData)
self.runq_running[task] = 1
self.stats.taskActive()
bb.build.make_stamp(taskname, self.rqdata.dataCache, fn)
self.task_complete(task)
return True
-
- bb.msg.note(1, bb.msg.domain.RunQueue,
- "Running task %d of %d (ID: %s, %s)" % (self.stats.completed + self.stats.active + self.stats.failed + 1,
- self.stats.total,
- task,
- self.rqdata.get_user_idstring(task)))
+ else:
+ startevent = runQueueTaskStarted(task, self.stats, self.rq)
+ bb.event.fire(startevent, self.cfgData)
pid, pipein, pipeout = self.fork_off_task(fn, task, taskname)
@@ -1281,8 +1298,6 @@ class RunQueueExecuteTasks(RunQueueExecute):
self.build_pipes[pid] = runQueuePipe(pipein, pipeout, self.cfgData)
self.runq_running[task] = 1
self.stats.taskActive()
- if self.stats.active < self.number_tasks:
- return True
for pipe in self.build_pipes:
self.build_pipes[pipe].read()
@@ -1297,13 +1312,13 @@ class RunQueueExecuteTasks(RunQueueExecute):
return True
# Sanity Checks
- for task in range(self.stats.total):
+ for task in xrange(self.stats.total):
if self.runq_buildable[task] == 0:
- bb.msg.error(bb.msg.domain.RunQueue, "Task %s never buildable!" % task)
+ logger.error("Task %s never buildable!", task)
if self.runq_running[task] == 0:
- bb.msg.error(bb.msg.domain.RunQueue, "Task %s never ran!" % task)
+ logger.error("Task %s never ran!", task)
if self.runq_complete[task] == 0:
- bb.msg.error(bb.msg.domain.RunQueue, "Task %s never completed!" % task)
+ logger.error("Task %s never completed!", task)
self.rq.state = runQueueComplete
return True
@@ -1332,12 +1347,12 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
# therefore aims to collapse the huge runqueue dependency tree into a smaller one
# only containing the setscene functions.
- for task in range(self.stats.total):
+ for task in xrange(self.stats.total):
self.runq_running.append(0)
self.runq_complete.append(0)
self.runq_buildable.append(0)
- for task in range(len(self.rqdata.runq_fnid)):
+ for task in xrange(len(self.rqdata.runq_fnid)):
sq_revdeps.append(copy.copy(self.rqdata.runq_revdeps[task]))
sq_revdeps_new.append(set())
if (len(self.rqdata.runq_revdeps[task]) == 0) and task not in self.rqdata.runq_setscene:
@@ -1368,7 +1383,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
process_endpoints(endpoints)
- for task in range(len(self.rqdata.runq_fnid)):
+ for task in xrange(len(self.rqdata.runq_fnid)):
if task in self.rqdata.runq_setscene:
deps = set()
for dep in sq_revdeps_new[task]:
@@ -1377,20 +1392,20 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
elif len(sq_revdeps_new[task]) != 0:
bb.msg.fatal(bb.msg.domain.RunQueue, "Something went badly wrong during scenequeue generation, aborting. Please report this problem.")
- #for task in range(len(sq_revdeps_squash)):
+ #for task in xrange(len(sq_revdeps_squash)):
# print "Task %s: %s.%s is %s " % (task, self.taskData.fn_index[self.runq_fnid[self.runq_setscene[task]]], self.runq_task[self.runq_setscene[task]] + "_setscene", sq_revdeps_squash[task])
self.sq_deps = []
self.sq_revdeps = sq_revdeps_squash
self.sq_revdeps2 = copy.deepcopy(self.sq_revdeps)
- for task in range(len(self.sq_revdeps)):
+ for task in xrange(len(self.sq_revdeps)):
self.sq_deps.append(set())
- for task in range(len(self.sq_revdeps)):
+ for task in xrange(len(self.sq_revdeps)):
for dep in self.sq_revdeps[task]:
self.sq_deps[dep].add(task)
- for task in range(len(self.sq_revdeps)):
+ for task in xrange(len(self.sq_revdeps)):
if len(self.sq_revdeps[task]) == 0:
self.runq_buildable[task] = 1
@@ -1401,7 +1416,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
sq_taskname = []
sq_task = []
noexec = []
- for task in range(len(self.sq_revdeps)):
+ for task in xrange(len(self.sq_revdeps)):
realtask = self.rqdata.runq_setscene[task]
fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[realtask]]
taskname = self.rqdata.runq_task[realtask]
@@ -1424,14 +1439,13 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
for v in valid:
valid_new.append(sq_task[v])
- for task in range(len(self.sq_revdeps)):
+ for task in xrange(len(self.sq_revdeps)):
if task not in valid_new and task not in noexec:
- bb.msg.debug(2, bb.msg.domain.RunQueue, "No package found so skipping setscene task %s" % (self.rqdata.get_user_idstring(self.rqdata.runq_setscene[task])))
+ logger.debug(2, 'No package found, so skipping setscene task %s',
+ self.rqdata.get_user_idstring(task))
self.task_failoutright(task)
- #print(str(valid))
-
- bb.msg.note(1, bb.msg.domain.RunQueue, "Executing SetScene Tasks")
+ logger.info('Executing SetScene Tasks')
self.rq.state = runQueueSceneRun
@@ -1449,7 +1463,8 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
"""
index = self.rqdata.runq_setscene[task]
- bb.msg.debug(1, bb.msg.domain.RunQueue, "Found task %s could be accelerated" % self.rqdata.get_user_idstring(index))
+ logger.debug(1, 'Found task %s which could be accelerated',
+ self.rqdata.get_user_idstring(index))
self.scenequeue_covered.add(task)
self.scenequeue_updatecounters(task)
@@ -1461,7 +1476,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
def task_fail(self, task, result):
self.stats.taskFailed()
index = self.rqdata.runq_setscene[task]
- bb.event.fire(runQueueTaskFailed(task, self.stats, self), self.cfgData)
+ bb.event.fire(runQueueTaskFailed(task, self.stats, result, self), self.cfgData)
self.scenequeue_notcovered.add(task)
self.scenequeue_updatecounters(task)
@@ -1489,13 +1504,8 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
task = None
if self.stats.active < self.number_tasks:
# Find the next setscene to run
- for nexttask in range(self.stats.total):
+ for nexttask in xrange(self.stats.total):
if self.runq_buildable[nexttask] == 1 and self.runq_running[nexttask] != 1:
- #bb.note("Comparing %s to %s" % (self.sq_revdeps[nexttask], self.scenequeue_covered))
- #if len(self.sq_revdeps[nexttask]) > 0 and self.sq_revdeps[nexttask].issubset(self.scenequeue_covered):
- # bb.note("Skipping task %s" % nexttask)
- # self.scenequeue_skip(nexttask)
- # return True
task = nexttask
break
if task is not None:
@@ -1504,7 +1514,8 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
taskname = self.rqdata.runq_task[realtask] + "_setscene"
if self.rq.check_stamp_task(realtask, self.rqdata.runq_task[realtask]):
- bb.msg.debug(2, bb.msg.domain.RunQueue, "Stamp for underlying task %s (%s) is current so skipping setscene varient" % (task, self.rqdata.get_user_idstring(task)))
+ logger.debug(2, 'Stamp for underlying task %s(%s) is current, so skipping setscene variant',
+ task, self.rqdata.get_user_idstring(task))
self.task_failoutright(task)
return True
@@ -1515,12 +1526,12 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
return True
if self.rq.check_stamp_task(realtask, taskname):
- bb.msg.debug(2, bb.msg.domain.RunQueue, "Setscene stamp current task %s (%s) so skip it and its dependencies" % (task, self.rqdata.get_user_idstring(realtask)))
+ logger.debug(2, 'Setscene stamp current task %s(%s), so skip it and its dependencies',
+ task, self.rqdata.get_user_idstring(realtask))
self.task_skip(task)
return True
- bb.msg.note(1, bb.msg.domain.RunQueue,
- "Running setscene task %d of %d (%s:%s)" % (self.stats.completed + self.stats.active + self.stats.failed + 1,
+ logger.info("Running setscene task %d of %d (%s:%s)" % (self.stats.completed + self.stats.active + self.stats.failed + 1,
self.stats.total, fn, taskname))
pid, pipein, pipeout = self.fork_off_task(fn, realtask, taskname)
@@ -1546,11 +1557,14 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
for task in oldcovered:
self.rq.scenequeue_covered.add(self.rqdata.runq_setscene[task])
- bb.debug("We can skip tasks %s" % self.rq.scenequeue_covered)
+ logger.debug(1, 'We can skip tasks %s', self.rq.scenequeue_covered)
self.rq.state = runQueueRunInit
return True
+ def fork_off_task(self, fn, task, taskname):
+ return RunQueueExecute.fork_off_task(self, fn, task, taskname, quieterrors=True)
+
class TaskFailure(Exception):
"""
Exception raised when a task in a runqueue fails
@@ -1583,51 +1597,48 @@ class runQueueTaskStarted(runQueueEvent):
"""
Event notifing a task was started
"""
- def __init__(self, task, stats, rq):
+ def __init__(self, task, stats, rq, noexec=False):
runQueueEvent.__init__(self, task, stats, rq)
- self.message = "Running task %s (%d of %d) (%s)" % (task, stats.completed + stats.active + 1, self.stats.total, self.taskstring)
+ self.noexec = noexec
class runQueueTaskFailed(runQueueEvent):
"""
Event notifing a task failed
"""
- def __init__(self, task, stats, rq):
+ def __init__(self, task, stats, exitcode, rq):
runQueueEvent.__init__(self, task, stats, rq)
- self.message = "Task %s failed (%s)" % (task, self.taskstring)
+ self.exitcode = exitcode
class runQueueTaskCompleted(runQueueEvent):
"""
Event notifing a task completed
"""
- def __init__(self, task, stats, rq):
- runQueueEvent.__init__(self, task, stats, rq)
- self.message = "Task %s completed (%s)" % (task, self.taskstring)
-#def check_stamp_fn(fn, taskname, d):
-# rq = bb.data.getVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY", d)
-# fn = bb.data.getVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY2", d)
-# fnid = rq.rqdata.taskData.getfn_id(fn)
-# taskid = rq.get_task_id(fnid, taskname)
-# if taskid is not None:
-# return rq.check_stamp_task(taskid)
-# return None
+def check_stamp_fn(fn, taskname, d):
+ rqexe = bb.data.getVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY", d)
+ fn = bb.data.getVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY2", d)
+ fnid = rqexe.rqdata.taskData.getfn_id(fn)
+ taskid = rqexe.rqdata.get_task_id(fnid, taskname)
+ if taskid is not None:
+ return rqexe.rq.check_stamp_task(taskid)
+ return None
class runQueuePipe():
"""
Abstraction for a pipe between a worker thread and the server
"""
def __init__(self, pipein, pipeout, d):
- self.fd = pipein
+ self.input = pipein
pipeout.close()
- fcntl.fcntl(self.fd, fcntl.F_SETFL, fcntl.fcntl(self.fd, fcntl.F_GETFL) | os.O_NONBLOCK)
+ fcntl.fcntl(self.input, fcntl.F_SETFL, fcntl.fcntl(self.input, fcntl.F_GETFL) | os.O_NONBLOCK)
self.queue = ""
self.d = d
def read(self):
start = len(self.queue)
try:
- self.queue = self.queue + self.fd.read(1024)
- except IOError:
+ self.queue = self.queue + self.input.read(102400)
+ except (OSError, IOError):
pass
end = len(self.queue)
index = self.queue.find("</event>")
@@ -1642,4 +1653,4 @@ class runQueuePipe():
continue
if len(self.queue) > 0:
print("Warning, worker left partial message: %s" % self.queue)
- self.fd.close()
+ self.input.close()
diff --git a/bitbake/lib/bb/server/none.py b/bitbake/lib/bb/server/none.py
index dafb2feba..2708807df 100644
--- a/bitbake/lib/bb/server/none.py
+++ b/bitbake/lib/bb/server/none.py
@@ -174,6 +174,8 @@ class BitBakeServerConnection():
self.server = serverinfo.server
self.connection = serverinfo.commands
self.events = bb.server.none.BBUIEventQueue(self.server)
+ for event in bb.event.ui_queue:
+ self.events.queue_event(event)
def terminate(self):
try:
diff --git a/bitbake/lib/bb/server/xmlrpc.py b/bitbake/lib/bb/server/xmlrpc.py
index c2bfe1217..0d03e308d 100644
--- a/bitbake/lib/bb/server/xmlrpc.py
+++ b/bitbake/lib/bb/server/xmlrpc.py
@@ -243,6 +243,8 @@ class BitBakeServerConnection():
t = BBTransport()
self.connection = xmlrpclib.Server("http://%s:%s" % (serverinfo.host, serverinfo.port), transport=t, allow_none=True)
self.events = uievent.BBUIEventQueue(self.connection)
+ for event in bb.event.ui_queue:
+ self.events.queue_event(event)
def terminate(self):
# Don't wait for server indefinitely
diff --git a/bitbake/lib/bb/shell.py b/bitbake/lib/bb/shell.py
index f9ca9d5bd..3319e2d1c 100644
--- a/bitbake/lib/bb/shell.py
+++ b/bitbake/lib/bb/shell.py
@@ -180,11 +180,9 @@ class BitBakeShellCommands:
last_exception = Providers.NoProvider
except runqueue.TaskFailure as fnids:
- for fnid in fnids:
- print("ERROR: '%s' failed" % td.fn_index[fnid])
last_exception = runqueue.TaskFailure
- except build.EventException as e:
+ except build.FuncFailed as e:
print("ERROR: Couldn't build '%s'" % names)
last_exception = e
@@ -247,7 +245,7 @@ class BitBakeShellCommands:
cooker.buildFile(bf, cmd)
except parse.ParseError:
print("ERROR: Unable to open or parse '%s'" % bf)
- except build.EventException as e:
+ except build.FuncFailed as e:
print("ERROR: Couldn't build '%s'" % name)
last_exception = e
@@ -274,9 +272,7 @@ class BitBakeShellCommands:
bbfile = params[0]
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()
+ cooker.parser.reparse(bbfile)
if False: #fromCache:
print("SHELL: File has not been updated, not reparsing")
else:
@@ -445,7 +441,7 @@ SRC_URI = ""
name, var = params
bbfile = self._findProvider( name )
if bbfile is not None:
- the_data = cooker.bb_cache.loadDataFull(bbfile, cooker.configuration.data)
+ the_data = cache.Cache.loadDataFull(bbfile, cooker.configuration.data)
value = the_data.getVar( var, 1 )
print(value)
else:
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py
index 48f600a21..a101ce8bb 100644
--- a/bitbake/lib/bb/siggen.py
+++ b/bitbake/lib/bb/siggen.py
@@ -1,53 +1,63 @@
import hashlib
+import logging
import re
+logger = logging.getLogger('BitBake.SigGen')
+
try:
import cPickle as pickle
except ImportError:
import pickle
- bb.msg.note(1, bb.msg.domain.Cache, "Importing cPickle failed. Falling back to a very slow implementation.")
+ logger.info('Importing cPickle failed. Falling back to a very slow implementation.')
-def init(d, dumpsigs):
+def init(d):
siggens = [obj for obj in globals().itervalues()
if type(obj) is type and issubclass(obj, SignatureGenerator)]
desired = bb.data.getVar("BB_SIGNATURE_HANDLER", d, True) or "noop"
for sg in siggens:
if desired == sg.name:
- return sg(d, dumpsigs)
+ return sg(d)
break
else:
- bb.error("Invalid signature generator '%s', using default 'noop' generator" % desired)
- bb.error("Available generators: %s" % ", ".join(obj.name for obj in siggens))
- return SignatureGenerator(d, dumpsigs)
+ logger.error("Invalid signature generator '%s', using default 'noop'\n"
+ "Available generators: %s",
+ ', '.join(obj.name for obj in siggens))
+ return SignatureGenerator(d)
class SignatureGenerator(object):
"""
"""
name = "noop"
- def __init__(self, data, dumpsigs):
+ def __init__(self, data):
return
def finalise(self, fn, d, varient):
return
- def stampfile(self, stampbase, taskname, taskhash):
- return "%s.%s" % (stampbase, taskname)
+ def get_taskhash(self, fn, task, deps, dataCache):
+ return 0
+
+ def set_taskdata(self, hashes, deps):
+ return
+
+ def stampfile(self, stampbase, file_name, taskname, extrainfo):
+ return ("%s.%s.%s" % (stampbase, taskname, extrainfo)).rstrip('.')
class SignatureGeneratorBasic(SignatureGenerator):
"""
"""
name = "basic"
- def __init__(self, data, dumpsigs):
+ def __init__(self, data):
self.basehash = {}
self.taskhash = {}
self.taskdeps = {}
self.runtaskdeps = {}
self.gendeps = {}
self.lookupcache = {}
- self.basewhitelist = (data.getVar("BB_HASHBASE_WHITELIST", True) or "").split()
+ self.basewhitelist = set((data.getVar("BB_HASHBASE_WHITELIST", True) or "").split())
self.taskwhitelist = data.getVar("BB_HASHTASK_WHITELIST", True) or None
if self.taskwhitelist:
@@ -57,17 +67,31 @@ class SignatureGeneratorBasic(SignatureGenerator):
def _build_data(self, fn, d):
- taskdeps, gendeps = bb.data.generate_dependencies(d)
+ tasklist, gendeps = bb.data.generate_dependencies(d)
+ taskdeps = {}
basehash = {}
lookupcache = {}
- for task in taskdeps:
+ for task in tasklist:
data = d.getVar(task, False)
lookupcache[task] = data
- for dep in sorted(taskdeps[task]):
- if dep in self.basewhitelist:
- continue
+
+ newdeps = gendeps[task]
+ seen = set()
+ while newdeps:
+ nextdeps = newdeps
+ seen |= nextdeps
+ newdeps = set()
+ for dep in nextdeps:
+ if dep in self.basewhitelist:
+ continue
+ newdeps |= gendeps[dep]
+ newdeps -= seen
+
+ alldeps = seen - self.basewhitelist
+
+ for dep in sorted(alldeps):
if dep in lookupcache:
var = lookupcache[dep]
else:
@@ -78,7 +102,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
if data is None:
bb.error("Task %s from %s seems to be empty?!" % (task, fn))
self.basehash[fn + "." + task] = hashlib.md5(data).hexdigest()
- #bb.note("Hash for %s is %s" % (task, tashhash[task]))
+ taskdeps[task] = sorted(alldeps)
self.taskdeps[fn] = taskdeps
self.gendeps[fn] = gendeps
@@ -110,7 +134,6 @@ class SignatureGeneratorBasic(SignatureGenerator):
# then process the actual dependencies
dep_fn = re.search("(?P<fn>.*)\..*", dep).group('fn')
if self.twl.search(dataCache.pkg_fn[dep_fn]):
- #bb.note("Skipping %s" % dep)
continue
if dep not in self.taskhash:
bb.fatal("%s is not in taskhash, caller isn't calling in dependency order?", dep)
@@ -170,6 +193,17 @@ class SignatureGeneratorBasic(SignatureGenerator):
bb.error("The mismatched hashes were %s and %s" % (dataCache.basetaskhash[k], self.basehash[k]))
self.dump_sigtask(fn, task, dataCache.stamp[fn], True)
+class SignatureGeneratorBasicHash(SignatureGeneratorBasic):
+ name = "basichash"
+
+ def stampfile(self, stampbase, fn, taskname, extrainfo):
+ if taskname != "do_setscene" and taskname.endswith("_setscene"):
+ k = fn + "." + taskname[:-9]
+ else:
+ k = fn + "." + taskname
+ h = self.taskhash[k]
+ return ("%s.%s.%s.%s" % (stampbase, taskname, h, extrainfo)).rstrip('.')
+
def dump_this_task(outfile, d):
fn = d.getVar("BB_FILENAME", True)
task = "do_" + d.getVar("BB_CURRENTTASK", True)
@@ -181,10 +215,6 @@ def compare_sigfiles(a, b):
p2 = pickle.Unpickler(file(b, "rb"))
b_data = p2.load()
- #print "Checking"
- #print str(a_data)
- #print str(b_data)
-
def dict_diff(a, b):
sa = set(a.keys())
sb = set(b.keys())
@@ -195,7 +225,7 @@ def compare_sigfiles(a, b):
changed.add(i)
added = sa - sb
removed = sb - sa
- return changed, added, removed
+ return changed, added, removed
if 'basewhitelist' in a_data and a_data['basewhitelist'] != b_data['basewhitelist']:
print "basewhitelist changed from %s to %s" % (a_data['basewhitelist'], b_data['basewhitelist'])
@@ -225,18 +255,20 @@ def compare_sigfiles(a, b):
if changed:
for dep in changed:
print "Variable %s value changed from %s to %s" % (dep, a_data['varvals'][dep], b_data['varvals'][dep])
- #if added:
- # print "Dependency on variable %s was added (value %s)" % (dep, b_data['gendeps'][dep])
- #if removed:
- # print "Dependency on Variable %s was removed (value %s)" % (dep, a_data['gendeps'][dep])
- if 'runtaskdeps' in a_data and 'runtaskdeps' in b_data and sorted(a_data['runtaskdeps']) != sorted(b_data['runtaskdeps']):
- print "Tasks this task depends on changed from %s to %s" % (sorted(a_data['runtaskdeps']), sorted(b_data['runtaskdeps']))
-
- if 'runtaskhashes' in a_data:
- for dep in a_data['runtaskhashes']:
- if a_data['runtaskhashes'][dep] != b_data['runtaskhashes'][dep]:
+ if 'runtaskhashes' in a_data and 'runtaskhashes' in b_data:
+ changed, added, removed = dict_diff(a_data['runtaskhashes'], b_data['runtaskhashes'])
+ if added:
+ for dep in added:
+ print "Dependency on task %s was added" % (dep)
+ if removed:
+ for dep in removed:
+ print "Dependency on task %s was removed" % (dep)
+ if changed:
+ for dep in changed:
print "Hash for dependent task %s changed from %s to %s" % (dep, a_data['runtaskhashes'][dep], b_data['runtaskhashes'][dep])
+ elif 'runtaskdeps' in a_data and 'runtaskdeps' in b_data and sorted(a_data['runtaskdeps']) != sorted(b_data['runtaskdeps']):
+ print "Tasks this task depends on changed from %s to %s" % (sorted(a_data['runtaskdeps']), sorted(b_data['runtaskdeps']))
def dump_sigfile(a):
p1 = pickle.Unpickler(file(a, "rb"))
diff --git a/bitbake/lib/bb/taskdata.py b/bitbake/lib/bb/taskdata.py
index e31f96785..81a42b7b5 100644
--- a/bitbake/lib/bb/taskdata.py
+++ b/bitbake/lib/bb/taskdata.py
@@ -23,20 +23,19 @@ Task data collection and handling
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+import logging
+import re
import bb
+logger = logging.getLogger("BitBake.TaskData")
+
def re_match_strings(target, strings):
"""
Whether or not the string 'target' matches
any one string of the strings which can be regular expression string
"""
- import re
-
- for name in strings:
- if (name==target or
- re.search(name, target)!=None):
- return True
- return False
+ return any(name == target or re.match(name, target)
+ for name in strings)
class TaskData:
"""
@@ -182,7 +181,7 @@ class TaskData:
if not fnid in self.depids:
dependids = {}
for depend in dataCache.deps[fn]:
- bb.msg.debug(2, bb.msg.domain.TaskData, "Added dependency %s for %s" % (depend, fn))
+ logger.debug(2, "Added dependency %s for %s", depend, fn)
dependids[self.getbuild_id(depend)] = None
self.depids[fnid] = dependids.keys()
@@ -192,12 +191,12 @@ class TaskData:
rdepends = dataCache.rundeps[fn]
rrecs = dataCache.runrecs[fn]
for package in rdepends:
- for rdepend in bb.utils.explode_deps(rdepends[package]):
- bb.msg.debug(2, bb.msg.domain.TaskData, "Added runtime dependency %s for %s" % (rdepend, fn))
+ for rdepend in rdepends[package]:
+ logger.debug(2, "Added runtime dependency %s for %s", rdepend, fn)
rdependids[self.getrun_id(rdepend)] = None
for package in rrecs:
- for rdepend in bb.utils.explode_deps(rrecs[package]):
- bb.msg.debug(2, bb.msg.domain.TaskData, "Added runtime recommendation %s for %s" % (rdepend, fn))
+ for rdepend in rrecs[package]:
+ logger.debug(2, "Added runtime recommendation %s for %s", rdepend, fn)
rdependids[self.getrun_id(rdepend)] = None
self.rdepids[fnid] = rdependids.keys()
@@ -397,7 +396,7 @@ class TaskData:
fnid = self.getfn_id(fn)
if fnid in self.failed_fnids:
continue
- bb.msg.debug(2, bb.msg.domain.Provider, "adding %s to satisfy %s" % (fn, item))
+ logger.debug(2, "adding %s to satisfy %s", fn, item)
self.add_build_target(fn, item)
self.add_tasks(fn, dataCache)
@@ -450,7 +449,7 @@ class TaskData:
fnid = self.getfn_id(fn)
if fnid in self.failed_fnids:
continue
- bb.msg.debug(2, bb.msg.domain.Provider, "adding '%s' to satisfy runtime '%s'" % (fn, item))
+ logger.debug(2, "adding '%s' to satisfy runtime '%s'", fn, item)
self.add_runtime_target(fn, item)
self.add_tasks(fn, dataCache)
@@ -463,7 +462,7 @@ class TaskData:
"""
if fnid in self.failed_fnids:
return
- bb.msg.debug(1, bb.msg.domain.Provider, "File '%s' is unbuildable, removing..." % self.fn_index[fnid])
+ logger.debug(1, "File '%s' is unbuildable, removing...", self.fn_index[fnid])
self.failed_fnids.append(fnid)
for target in self.build_targets:
if fnid in self.build_targets[target]:
@@ -485,12 +484,12 @@ class TaskData:
missing_list = [self.build_names_index[targetid]]
else:
missing_list = [self.build_names_index[targetid]] + missing_list
- bb.msg.note(2, bb.msg.domain.Provider, "Target '%s' is unbuildable, removing...\nMissing or unbuildable dependency chain was: %s" % (self.build_names_index[targetid], missing_list))
+ logger.verbose("Target '%s' is unbuildable, removing...\nMissing or unbuildable dependency chain was: %s", self.build_names_index[targetid], missing_list)
self.failed_deps.append(targetid)
dependees = self.get_dependees(targetid)
for fnid in dependees:
self.fail_fnid(fnid, missing_list)
- for taskid in range(len(self.tasks_idepends)):
+ for taskid in xrange(len(self.tasks_idepends)):
idepends = self.tasks_idepends[taskid]
for (idependid, idependtask) in idepends:
if idependid == targetid:
@@ -498,7 +497,7 @@ class TaskData:
if self.abort and targetid in self.external_targets:
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))
+ logger.error("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 = []):
@@ -511,7 +510,7 @@ class TaskData:
else:
missing_list = [self.run_names_index[targetid]] + missing_list
- bb.msg.note(1, bb.msg.domain.Provider, "Runtime target '%s' is unbuildable, removing...\nMissing or unbuildable dependency chain was: %s" % (self.run_names_index[targetid], missing_list))
+ logger.info("Runtime target '%s' is unbuildable, removing...\nMissing or unbuildable dependency chain was: %s", self.run_names_index[targetid], missing_list)
self.failed_rdeps.append(targetid)
dependees = self.get_rdependees(targetid)
for fnid in dependees:
@@ -521,7 +520,7 @@ class TaskData:
"""
Resolve all unresolved build and runtime targets
"""
- bb.msg.note(1, bb.msg.domain.TaskData, "Resolving any missing task queue dependencies")
+ logger.info("Resolving any missing task queue dependencies")
while True:
added = 0
for target in self.get_unresolved_build_targets(dataCache):
@@ -539,7 +538,7 @@ class TaskData:
added = added + 1
except bb.providers.NoRProvider:
self.remove_runtarget(self.getrun_id(target))
- bb.msg.debug(1, bb.msg.domain.TaskData, "Resolved " + str(added) + " extra dependencies")
+ logger.debug(1, "Resolved " + str(added) + " extra dependencies")
if added == 0:
break
# self.dump_data()
@@ -548,40 +547,40 @@ class TaskData:
"""
Dump some debug information on the internal data structures
"""
- bb.msg.debug(3, bb.msg.domain.TaskData, "build_names:")
- bb.msg.debug(3, bb.msg.domain.TaskData, ", ".join(self.build_names_index))
+ logger.debug(3, "build_names:")
+ logger.debug(3, ", ".join(self.build_names_index))
- bb.msg.debug(3, bb.msg.domain.TaskData, "run_names:")
- bb.msg.debug(3, bb.msg.domain.TaskData, ", ".join(self.run_names_index))
+ logger.debug(3, "run_names:")
+ logger.debug(3, ", ".join(self.run_names_index))
- bb.msg.debug(3, bb.msg.domain.TaskData, "build_targets:")
- for buildid in range(len(self.build_names_index)):
+ logger.debug(3, "build_targets:")
+ for buildid in xrange(len(self.build_names_index)):
target = self.build_names_index[buildid]
targets = "None"
if buildid in self.build_targets:
targets = self.build_targets[buildid]
- bb.msg.debug(3, bb.msg.domain.TaskData, " (%s)%s: %s" % (buildid, target, targets))
+ logger.debug(3, " (%s)%s: %s", buildid, target, targets)
- bb.msg.debug(3, bb.msg.domain.TaskData, "run_targets:")
- for runid in range(len(self.run_names_index)):
+ logger.debug(3, "run_targets:")
+ for runid in xrange(len(self.run_names_index)):
target = self.run_names_index[runid]
targets = "None"
if runid in self.run_targets:
targets = self.run_targets[runid]
- bb.msg.debug(3, bb.msg.domain.TaskData, " (%s)%s: %s" % (runid, target, targets))
+ logger.debug(3, " (%s)%s: %s", runid, target, targets)
- 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],
- self.tasks_tdepends[task]))
+ logger.debug(3, "tasks:")
+ for task in xrange(len(self.tasks_name)):
+ logger.debug(3, " (%s)%s - %s: %s",
+ 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):")
+ logger.debug(3, "dependency ids (per fn):")
for fnid in self.depids:
- bb.msg.debug(3, bb.msg.domain.TaskData, " %s %s: %s" % (fnid, self.fn_index[fnid], self.depids[fnid]))
+ logger.debug(3, " %s %s: %s", fnid, self.fn_index[fnid], self.depids[fnid])
- bb.msg.debug(3, bb.msg.domain.TaskData, "runtime dependency ids (per fn):")
+ logger.debug(3, "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]))
+ logger.debug(3, " %s %s: %s", fnid, self.fn_index[fnid], self.rdepids[fnid])
diff --git a/bitbake/lib/bb/ui/crumbs/progress.py b/bitbake/lib/bb/ui/crumbs/progress.py
index 8bd87108e..36eca3829 100644
--- a/bitbake/lib/bb/ui/crumbs/progress.py
+++ b/bitbake/lib/bb/ui/crumbs/progress.py
@@ -14,4 +14,4 @@ class ProgressBar(gtk.Dialog):
def update(self, x, y):
self.progress.set_fraction(float(x)/float(y))
- self.progress.set_text("%d/%d (%2d %%)" % (x, y, x*100/y))
+ self.progress.set_text("%2d %%" % (x*100/y))
diff --git a/bitbake/lib/bb/ui/crumbs/runningbuild.py b/bitbake/lib/bb/ui/crumbs/runningbuild.py
index 9730bfd47..4703e6d84 100644
--- a/bitbake/lib/bb/ui/crumbs/runningbuild.py
+++ b/bitbake/lib/bb/ui/crumbs/runningbuild.py
@@ -1,3 +1,4 @@
+
#
# BitBake Graphical GTK User Interface
#
@@ -20,9 +21,20 @@
import gtk
import gobject
+import logging
+import time
+import urllib
+import urllib2
+
+class Colors(object):
+ OK = "#ffffff"
+ RUNNING = "#aaffaa"
+ WARNING ="#f88017"
+ ERROR = "#ffaaaa"
class RunningBuildModel (gtk.TreeStore):
- (COL_TYPE, COL_PACKAGE, COL_TASK, COL_MESSAGE, COL_ICON, COL_ACTIVE) = (0, 1, 2, 3, 4, 5)
+ (COL_LOG, COL_PACKAGE, COL_TASK, COL_MESSAGE, COL_ICON, COL_COLOR, COL_NUM_ACTIVE) = range(7)
+
def __init__ (self):
gtk.TreeStore.__init__ (self,
gobject.TYPE_STRING,
@@ -30,7 +42,8 @@ class RunningBuildModel (gtk.TreeStore):
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
- gobject.TYPE_BOOLEAN)
+ gobject.TYPE_STRING,
+ gobject.TYPE_INT)
class RunningBuild (gobject.GObject):
__gsignals__ = {
@@ -63,32 +76,42 @@ class RunningBuild (gobject.GObject):
# for the message.
if hasattr(event, 'pid'):
pid = event.pid
- if pid in self.pids_to_task:
- (package, task) = self.pids_to_task[pid]
- parent = self.tasks_to_iter[(package, task)]
+ if hasattr(event, 'process'):
+ pid = event.process
+
+ if pid and pid in self.pids_to_task:
+ (package, task) = self.pids_to_task[pid]
+ parent = self.tasks_to_iter[(package, task)]
- if isinstance(event, bb.msg.MsgBase):
- # Ignore the "Running task i of n .."
- if (event._message.startswith ("Running task")):
+ if(isinstance(event, logging.LogRecord)):
+ if (event.msg.startswith ("Running task")):
return # don't add these to the list
- # Set a pretty icon for the message based on it's type.
- if isinstance(event, bb.msg.MsgWarn):
- icon = "dialog-warning"
- elif isinstance(event, bb.msg.MsgError):
+ if event.levelno >= logging.ERROR:
icon = "dialog-error"
+ color = Colors.ERROR
+ elif event.levelno >= logging.WARNING:
+ icon = "dialog-warning"
+ color = Colors.WARNING
else:
icon = None
+ color = Colors.OK
+
+ # if we know which package we belong to, we'll append onto its list.
+ # otherwise, we'll jump to the top of the master list
+ if parent:
+ tree_add = self.model.append
+ else:
+ tree_add = self.model.prepend
+ tree_add(parent,
+ (None,
+ package,
+ task,
+ event.getMessage(),
+ icon,
+ color,
+ 0))
- # 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,
- (event.__class__.__name__.split()[-1], # e.g. MsgWarn, MsgError
- package,
- task,
- event._message,
- icon,
- False))
elif isinstance(event, bb.build.TaskStarted):
(package, task) = (event._package, event._task)
@@ -101,76 +124,142 @@ class RunningBuild (gobject.GObject):
if ((package, None) in self.tasks_to_iter):
parent = self.tasks_to_iter[(package, None)]
else:
- parent = self.model.append (None, (None,
+ parent = self.model.prepend(None, (None,
package,
None,
"Package: %s" % (package),
None,
- False))
+ Colors.OK,
+ 0))
self.tasks_to_iter[(package, None)] = parent
# Because this parent package now has an active child mark it as
# such.
- self.model.set(parent, self.model.COL_ICON, "gtk-execute")
+ # @todo if parent is already in error, don't mark it green
+ self.model.set(parent, self.model.COL_ICON, "gtk-execute",
+ self.model.COL_COLOR, Colors.RUNNING)
# Add an entry in the model for this task
i = self.model.append (parent, (None,
package,
task,
"Task: %s" % (task),
- None,
- False))
+ "gtk-execute",
+ Colors.RUNNING,
+ 0))
+
+ # update the parent's active task count
+ num_active = self.model.get(parent, self.model.COL_NUM_ACTIVE)[0] + 1
+ self.model.set(parent, self.model.COL_NUM_ACTIVE, num_active)
# Save out the iter so that we can find it when we have a message
# that we need to attach to a task.
self.tasks_to_iter[(package, task)] = i
- # Mark this task as active.
- self.model.set(i, self.model.COL_ICON, "gtk-execute")
-
elif isinstance(event, bb.build.TaskBase):
+ current = self.tasks_to_iter[(package, task)]
+ parent = self.tasks_to_iter[(package, None)]
+
+ # remove this task from the parent's active count
+ num_active = self.model.get(parent, self.model.COL_NUM_ACTIVE)[0] - 1
+ self.model.set(parent, self.model.COL_NUM_ACTIVE, num_active)
if isinstance(event, bb.build.TaskFailed):
- # Mark the task as failed
- i = self.tasks_to_iter[(package, task)]
- self.model.set(i, self.model.COL_ICON, "dialog-error")
+ # Mark the task and parent as failed
+ icon = "dialog-error"
+ color = Colors.ERROR
- # Mark the parent package as failed
- i = self.tasks_to_iter[(package, None)]
- self.model.set(i, self.model.COL_ICON, "dialog-error")
+ logfile = event.logfile
+ if logfile and os.path.exists(logfile):
+ with open(logfile) as f:
+ logdata = f.read()
+ self.model.append(current, ('pastebin', None, None, logdata, 'gtk-error', Colors.OK, 0))
+
+ for i in (current, parent):
+ self.model.set(i, self.model.COL_ICON, icon,
+ self.model.COL_COLOR, color)
else:
+ icon = None
+ color = Colors.OK
+
# Mark the task as inactive
- i = self.tasks_to_iter[(package, task)]
- self.model.set(i, self.model.COL_ICON, None)
+ self.model.set(current, self.model.COL_ICON, icon,
+ self.model.COL_COLOR, color)
- # Mark the parent package as inactive
+ # Mark the parent package as inactive, but make sure to
+ # preserve error and active states
i = self.tasks_to_iter[(package, None)]
- self.model.set(i, self.model.COL_ICON, None)
-
+ if self.model.get(parent, self.model.COL_ICON) != 'dialog-error':
+ self.model.set(parent, self.model.COL_ICON, icon)
+ if num_active == 0:
+ self.model.set(parent, self.model.COL_COLOR, Colors.OK)
# Clear the iters and the pids since when the task goes away the
# pid will no longer be used for messages
del self.tasks_to_iter[(package, task)]
del self.pids_to_task[pid]
+ elif isinstance(event, bb.event.BuildStarted):
+
+ self.model.prepend(None, (None,
+ None,
+ None,
+ "Build Started (%s)" % time.strftime('%m/%d/%Y %H:%M:%S'),
+ None,
+ Colors.OK,
+ 0))
elif isinstance(event, bb.event.BuildCompleted):
failures = int (event._failures)
+ self.model.prepend(None, (None,
+ None,
+ None,
+ "Build Completed (%s)" % time.strftime('%m/%d/%Y %H:%M:%S'),
+ None,
+ Colors.OK,
+ 0))
# Emit the appropriate signal depending on the number of failures
- if (failures > 1):
+ if (failures >= 1):
self.emit ("build-failed")
else:
self.emit ("build-succeeded")
+ elif isinstance(event, bb.event.CacheLoadStarted) and pbar:
+ pbar.set_title("Loading cache")
+ self.progress_total = event.total
+ pbar.update(0, self.progress_total)
+ elif isinstance(event, bb.event.CacheLoadProgress) and pbar:
+ pbar.update(event.current, self.progress_total)
+ elif isinstance(event, bb.event.CacheLoadCompleted) and pbar:
+ pbar.update(self.progress_total, self.progress_total)
+
+ elif isinstance(event, bb.event.ParseStarted) and pbar:
+ pbar.set_title("Processing recipes")
+ self.progress_total = event.total
+ pbar.update(0, self.progress_total)
elif isinstance(event, bb.event.ParseProgress) and pbar:
- x = event.sofar
- y = event.total
- if x == y:
- pbar.hide()
- return
- pbar.update(x, y)
+ pbar.update(event.current, self.progress_total)
+ elif isinstance(event, bb.event.ParseCompleted) and pbar:
+ pbar.hide()
+
+ return
+
+
+def do_pastebin(text):
+ url = 'http://pastebin.com/api_public.php'
+ params = {'paste_code': text, 'paste_format': 'text'}
+
+ req = urllib2.Request(url, urllib.urlencode(params))
+ response = urllib2.urlopen(req)
+ paste_url = response.read()
+
+ return paste_url
+
class RunningBuildTreeView (gtk.TreeView):
+ __gsignals__ = {
+ "button_press_event" : "override"
+ }
def __init__ (self):
gtk.TreeView.__init__ (self)
@@ -181,6 +270,42 @@ class RunningBuildTreeView (gtk.TreeView):
self.append_column (col)
# The message of the build.
- renderer = gtk.CellRendererText ()
- col = gtk.TreeViewColumn ("Message", renderer, text=3)
- self.append_column (col)
+ self.message_renderer = gtk.CellRendererText ()
+ self.message_column = gtk.TreeViewColumn ("Message", self.message_renderer, text=3)
+ self.message_column.add_attribute(self.message_renderer, 'background', 5)
+ self.message_renderer.set_property('editable', 5)
+ self.append_column (self.message_column)
+
+ def do_button_press_event(self, event):
+ gtk.TreeView.do_button_press_event(self, event)
+
+ if event.button == 3:
+ selection = super(RunningBuildTreeView, self).get_selection()
+ (model, iter) = selection.get_selected()
+ if iter is not None:
+ can_paste = model.get(iter, model.COL_LOG)[0]
+ if can_paste == 'pastebin':
+ # build a simple menu with a pastebin option
+ menu = gtk.Menu()
+ menuitem = gtk.MenuItem("Send log to pastebin")
+ menu.append(menuitem)
+ menuitem.connect("activate", self.pastebin_handler, (model, iter))
+ menuitem.show()
+ menu.show()
+ menu.popup(None, None, None, event.button, event.time)
+
+ def pastebin_handler(self, widget, data):
+ """
+ Send the log data to pastebin, then add the new paste url to the
+ clipboard.
+ """
+ (model, iter) = data
+ paste_url = do_pastebin(model.get(iter, model.COL_MESSAGE)[0])
+
+ # @todo Provide visual feedback to the user that it is done and that
+ # it worked.
+ print paste_url
+
+ clipboard = gtk.clipboard_get()
+ clipboard.set_text(paste_url)
+ clipboard.store() \ No newline at end of file
diff --git a/bitbake/lib/bb/ui/depexp.py b/bitbake/lib/bb/ui/depexp.py
index 6fd18d168..3dbd5e0ec 100644
--- a/bitbake/lib/bb/ui/depexp.py
+++ b/bitbake/lib/bb/ui/depexp.py
@@ -19,8 +19,11 @@
import gobject
import gtk
+import Queue
import threading
import xmlrpclib
+import bb
+import bb.event
from bb.ui.crumbs.progress import ProgressBar
# Package Model
@@ -30,6 +33,7 @@ from bb.ui.crumbs.progress import ProgressBar
(TYPE_DEP, TYPE_RDEP) = (0, 1)
(COL_DEP_TYPE, COL_DEP_PARENT, COL_DEP_PACKAGE) = (0, 1, 2)
+
class PackageDepView(gtk.TreeView):
def __init__(self, model, dep_type, label):
gtk.TreeView.__init__(self)
@@ -50,6 +54,7 @@ class PackageDepView(gtk.TreeView):
self.current = package
self.filter_model.refilter()
+
class PackageReverseDepView(gtk.TreeView):
def __init__(self, model, label):
gtk.TreeView.__init__(self)
@@ -67,6 +72,7 @@ class PackageReverseDepView(gtk.TreeView):
self.current = package
self.filter_model.refilter()
+
class DepExplorer(gtk.Window):
def __init__(self):
gtk.Window.__init__(self)
@@ -76,7 +82,9 @@ class DepExplorer(gtk.Window):
# Create the data models
self.pkg_model = gtk.ListStore(gobject.TYPE_STRING)
+ self.pkg_model.set_sort_column_id(COL_PKG_NAME, gtk.SORT_ASCENDING)
self.depends_model = gtk.ListStore(gobject.TYPE_INT, gobject.TYPE_STRING, gobject.TYPE_STRING)
+ self.depends_model.set_sort_column_id(COL_DEP_PACKAGE, gtk.SORT_ASCENDING)
pane = gtk.HPaned()
pane.set_position(250)
@@ -86,9 +94,11 @@ class DepExplorer(gtk.Window):
scrolled = gtk.ScrolledWindow()
scrolled.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
scrolled.set_shadow_type(gtk.SHADOW_IN)
+
self.pkg_treeview = gtk.TreeView(self.pkg_model)
self.pkg_treeview.get_selection().connect("changed", self.on_cursor_changed)
- self.pkg_treeview.append_column(gtk.TreeViewColumn("Package", gtk.CellRendererText(), text=COL_PKG_NAME))
+ column = gtk.TreeViewColumn("Package", gtk.CellRendererText(), text=COL_PKG_NAME)
+ self.pkg_treeview.append_column(column)
pane.add1(scrolled)
scrolled.add(self.pkg_treeview)
@@ -154,7 +164,6 @@ class DepExplorer(gtk.Window):
def parse(depgraph, pkg_model, depends_model):
-
for package in depgraph["pn"]:
pkg_model.set(pkg_model.append(), COL_PKG_NAME, package)
@@ -172,6 +181,7 @@ def parse(depgraph, pkg_model, depends_model):
COL_DEP_PARENT, package,
COL_DEP_PACKAGE, rdepend)
+
class gtkthread(threading.Thread):
quit = threading.Event()
def __init__(self, shutdown):
@@ -185,8 +195,8 @@ class gtkthread(threading.Thread):
gtk.main()
gtkthread.quit.set()
-def init(server, eventHandler):
+def main(server, eventHandler):
try:
cmdline = server.runCommand(["getCmdLineAction"])
if not cmdline or cmdline[0] != "generateDotGraph":
@@ -208,44 +218,81 @@ def init(server, eventHandler):
gtk.gdk.threads_enter()
dep = DepExplorer()
pbar = ProgressBar(dep)
+ pbar.connect("delete-event", gtk.main_quit)
gtk.gdk.threads_leave()
+ progress_total = 0
while True:
try:
event = eventHandler.waitEvent(0.25)
if gtkthread.quit.isSet():
+ server.runCommand(["stateStop"])
break
if event is None:
continue
+
+ if isinstance(event, bb.event.CacheLoadStarted):
+ progress_total = event.total
+ gtk.gdk.threads_enter()
+ pbar.set_title("Loading Cache")
+ pbar.update(0, progress_total)
+ gtk.gdk.threads_leave()
+
+ if isinstance(event, bb.event.CacheLoadProgress):
+ x = event.current
+ gtk.gdk.threads_enter()
+ pbar.update(x, progress_total)
+ gtk.gdk.threads_leave()
+ continue
+
+ if isinstance(event, bb.event.CacheLoadCompleted):
+ gtk.gdk.threads_enter()
+ pbar.update(progress_total, progress_total)
+ gtk.gdk.threads_leave()
+ continue
+
+ if isinstance(event, bb.event.ParseStarted):
+ progress_total = event.total
+ gtk.gdk.threads_enter()
+ pbar.set_title("Processing recipes")
+ pbar.update(0, progress_total)
+ gtk.gdk.threads_leave()
+
if isinstance(event, bb.event.ParseProgress):
- 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)))
- pbar.hide()
- return
+ x = event.current
gtk.gdk.threads_enter()
- pbar.update(x, y)
+ pbar.update(x, progress_total)
gtk.gdk.threads_leave()
continue
+ if isinstance(event, bb.event.ParseCompleted):
+ pbar.hide()
+ continue
+
if isinstance(event, bb.event.DepTreeGenerated):
gtk.gdk.threads_enter()
parse(event._depgraph, dep.pkg_model, dep.depends_model)
gtk.gdk.threads_leave()
- if isinstance(event, bb.command.CookerCommandCompleted):
+ if isinstance(event, bb.command.CommandCompleted):
continue
- if isinstance(event, bb.command.CookerCommandFailed):
+
+ if isinstance(event, bb.command.CommandFailed):
print("Command execution failed: %s" % event.error)
- break
+ return event.exitcode
+
+ if isinstance(event, bb.command.CommandExit):
+ return event.exitcode
+
if isinstance(event, bb.cooker.CookerExit):
break
continue
-
+ except EnvironmentError as ioerror:
+ # ignore interrupted io
+ if ioerror.args[0] == 4:
+ pass
except KeyboardInterrupt:
if shutdown == 2:
print("\nThird Keyboard Interrupt, exit.\n")
diff --git a/bitbake/lib/bb/ui/goggle.py b/bitbake/lib/bb/ui/goggle.py
index 858ca14c4..ec5a38dd4 100644
--- a/bitbake/lib/bb/ui/goggle.py
+++ b/bitbake/lib/bb/ui/goggle.py
@@ -24,6 +24,9 @@ import xmlrpclib
from bb.ui.crumbs.runningbuild import RunningBuildTreeView, RunningBuild
from bb.ui.crumbs.progress import ProgressBar
+import Queue
+
+
def event_handle_idle_func (eventHandler, build, pbar):
# Consume as many messages as we can in the time available to us
@@ -37,6 +40,16 @@ def event_handle_idle_func (eventHandler, build, pbar):
def scroll_tv_cb (model, path, iter, view):
view.scroll_to_cell (path)
+
+# @todo hook these into the GUI so the user has feedback...
+def running_build_failed_cb (running_build):
+ pass
+
+
+def running_build_succeeded_cb (running_build):
+ pass
+
+
class MainWindow (gtk.Window):
def __init__ (self):
gtk.Window.__init__ (self, gtk.WINDOW_TOPLEVEL)
@@ -49,21 +62,25 @@ class MainWindow (gtk.Window):
self.set_default_size(640, 480)
scrolled_window.add (self.cur_build_tv)
-def init (server, eventHandler):
+
+def main (server, eventHandler):
gobject.threads_init()
gtk.gdk.threads_init()
window = MainWindow ()
window.show_all ()
pbar = ProgressBar(window)
+ pbar.connect("delete-event", gtk.main_quit)
# Create the object for the current build
running_build = RunningBuild ()
window.cur_build_tv.set_model (running_build.model)
running_build.model.connect("row-inserted", scroll_tv_cb, window.cur_build_tv)
+ running_build.connect ("build-succeeded", running_build_succeeded_cb)
+ running_build.connect ("build-failed", running_build_failed_cb)
+
try:
cmdline = server.runCommand(["getCmdLineAction"])
- print(cmdline)
if not cmdline:
return 1
ret = server.runCommand(cmdline)
@@ -76,10 +93,18 @@ def init (server, eventHandler):
# Use a timeout function for probing the event queue to find out if we
# have a message waiting for us.
- gobject.timeout_add (200,
+ gobject.timeout_add (100,
event_handle_idle_func,
eventHandler,
running_build,
pbar)
- gtk.main()
+ try:
+ gtk.main()
+ except EnvironmentError as ioerror:
+ # ignore interrupted io
+ if ioerror.args[0] == 4:
+ pass
+ finally:
+ server.runCommand(["stateStop"])
+
diff --git a/bitbake/lib/bb/ui/knotty.py b/bitbake/lib/bb/ui/knotty.py
index 858a00b56..042dbe902 100644
--- a/bitbake/lib/bb/ui/knotty.py
+++ b/bitbake/lib/bb/ui/knotty.py
@@ -22,15 +22,49 @@ from __future__ import division
import os
import sys
-import itertools
import xmlrpclib
-from bb import ui
+import logging
+import progressbar
+import bb.msg
from bb.ui import uihelper
+logger = logging.getLogger("BitBake")
+interactive = sys.stdout.isatty()
-parsespin = itertools.cycle( r'|/-\\' )
+class BBProgress(progressbar.ProgressBar):
+ def __init__(self, msg, maxval):
+ self.msg = msg
+ widgets = [progressbar.Percentage(), ' ', progressbar.Bar(), ' ',
+ progressbar.ETA()]
-def init(server, eventHandler):
+ progressbar.ProgressBar.__init__(self, maxval, [self.msg + ": "] + widgets)
+
+class NonInteractiveProgress(object):
+ fobj = sys.stdout
+
+ def __init__(self, msg, maxval):
+ self.msg = msg
+ self.maxval = maxval
+
+ def start(self):
+ self.fobj.write("%s..." % self.msg)
+ self.fobj.flush()
+ return self
+
+ def update(self, value):
+ pass
+
+ def finish(self):
+ self.fobj.write("done.\n")
+ self.fobj.flush()
+
+def new_progress(msg, maxval):
+ if interactive:
+ return BBProgress(msg, maxval)
+ else:
+ return NonInteractiveProgress(msg, maxval)
+
+def main(server, eventHandler):
# Get values of variables which control our output
includelogs = server.runCommand(["getVariable", "BBINCLUDELOGS"])
@@ -38,9 +72,13 @@ def init(server, eventHandler):
helper = uihelper.BBUIHelper()
+ console = logging.StreamHandler(sys.stdout)
+ format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
+ console.setFormatter(format)
+ logger.addHandler(console)
+
try:
cmdline = server.runCommand(["getCmdLineAction"])
- #print cmdline
if not cmdline:
return 1
ret = server.runCommand(cmdline)
@@ -51,6 +89,9 @@ def init(server, eventHandler):
print("XMLRPC Fault getting commandline:\n %s" % x)
return 1
+
+ parseprogress = None
+ cacheprogress = None
shutdown = 0
return_value = 0
while True:
@@ -58,7 +99,6 @@ def init(server, eventHandler):
event = eventHandler.waitEvent(0.25)
if event is None:
continue
- #print event
helper.eventHandler(event)
if isinstance(event, bb.runqueue.runQueueExitWait):
if not shutdown:
@@ -67,31 +107,21 @@ def init(server, eventHandler):
activetasks, failedtasks = helper.getTasks()
if activetasks:
print("Waiting for %s active tasks to finish:" % len(activetasks))
- tasknum = 1
- for task in activetasks:
+ for tasknum, task in enumerate(activetasks):
print("%s: %s (pid %s)" % (tasknum, activetasks[task]["title"], task))
- tasknum = tasknum + 1
- if isinstance(event, bb.msg.MsgPlain):
- print(event._message)
- continue
- if isinstance(event, bb.msg.MsgDebug):
- print('DEBUG: ' + event._message)
- continue
- if isinstance(event, bb.msg.MsgNote):
- print('NOTE: ' + event._message)
- continue
- if isinstance(event, bb.msg.MsgWarn):
- print('WARNING: ' + event._message)
- continue
- if isinstance(event, bb.msg.MsgError):
- return_value = 1
- print('ERROR: ' + event._message)
- continue
- if isinstance(event, bb.msg.MsgFatal):
- return_value = 1
- print('FATAL: ' + event._message)
+ if isinstance(event, logging.LogRecord):
+ if event.levelno >= format.ERROR:
+ return_value = 1
+ # For "normal" logging conditions, don't show note logs from tasks
+ # but do show them if the user has changed the default log level to
+ # include verbose/debug messages
+ if logger.getEffectiveLevel() > format.VERBOSE:
+ if event.taskpid != 0 and event.levelno <= format.NOTE:
+ continue
+ logger.handle(event)
continue
+
if isinstance(event, bb.build.TaskFailed):
return_value = 1
logfile = event.logfile
@@ -117,42 +147,47 @@ def init(server, eventHandler):
for line in lines:
print(line)
if isinstance(event, bb.build.TaskBase):
- print("NOTE: %s" % event._message)
+ logger.info(event._message)
+ continue
+ if isinstance(event, bb.event.ParseStarted):
+ parseprogress = new_progress("Parsing recipes", event.total).start()
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 %%]" % ( next(parsespin), x, y, x*100//y ) )
- sys.stdout.flush()
- else:
- if x == 1:
- sys.stdout.write("Parsing .bb files, please wait...")
- sys.stdout.flush()
- if x == y:
- 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)))
+ parseprogress.update(event.current)
+ continue
+ if isinstance(event, bb.event.ParseCompleted):
+ parseprogress.finish()
+ print(("Parsing 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.event.CacheLoadStarted):
+ cacheprogress = new_progress("Loading cache", event.total).start()
+ continue
+ if isinstance(event, bb.event.CacheLoadProgress):
+ cacheprogress.update(event.current)
+ continue
+ if isinstance(event, bb.event.CacheLoadCompleted):
+ cacheprogress.finish()
+ print("Loaded %d entries from dependency cache." % event.num_entries)
continue
- if isinstance(event, bb.command.CookerCommandCompleted):
+ if isinstance(event, bb.command.CommandCompleted):
break
- if isinstance(event, bb.command.CookerCommandSetExitCode):
+ if isinstance(event, bb.command.CommandFailed):
return_value = event.exitcode
- continue
- if isinstance(event, bb.command.CookerCommandFailed):
- return_value = 1
- print("Command execution failed: %s" % event.error)
+ logger.error("Command execution failed: %s", event.error)
break
+ if isinstance(event, bb.command.CommandExit):
+ return_value = event.exitcode
+ continue
if isinstance(event, bb.cooker.CookerExit):
break
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)
+ logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "",
+ event._item,
+ ", ".join(event._candidates))
+ logger.info("consider defining a PREFERRED_PROVIDER entry to match %s", event._item)
continue
if isinstance(event, bb.event.NoProvider):
if event._runtime:
@@ -161,9 +196,26 @@ def init(server, eventHandler):
r = ""
if event._dependees:
- print("ERROR: Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)" % (r, event._item, ", ".join(event._dependees), r))
+ logger.error("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)", r, event._item, ", ".join(event._dependees), r)
+ else:
+ logger.error("Nothing %sPROVIDES '%s'", r, event._item)
+ continue
+
+ if isinstance(event, bb.runqueue.runQueueTaskStarted):
+ if event.noexec:
+ tasktype = 'noexec task'
else:
- print("ERROR: Nothing %sPROVIDES '%s'" % (r, event._item))
+ tasktype = 'task'
+ logger.info("Running %s %s of %s (ID: %s, %s)",
+ tasktype,
+ event.stats.completed + event.stats.active +
+ event.stats.failed + 1,
+ event.stats.total, event.taskid, event.taskstring)
+ continue
+
+ if isinstance(event, bb.runqueue.runQueueTaskFailed):
+ logger.error("Task %s (%s) failed with exit code '%s'",
+ event.taskid, event.taskstring, event.exitcode)
continue
# ignore
@@ -175,8 +227,12 @@ def init(server, eventHandler):
bb.runqueue.runQueueExitWait)):
continue
- print("Unknown Event: %s" % event)
+ logger.error("Unknown event: %s", event)
+ except EnvironmentError as ioerror:
+ # ignore interrupted io
+ if ioerror.args[0] == 4:
+ pass
except KeyboardInterrupt:
if shutdown == 2:
print("\nThird Keyboard Interrupt, exit.\n")
diff --git a/bitbake/lib/bb/ui/ncurses.py b/bitbake/lib/bb/ui/ncurses.py
index 3fed4c58a..469f1b730 100644
--- a/bitbake/lib/bb/ui/ncurses.py
+++ b/bitbake/lib/bb/ui/ncurses.py
@@ -44,8 +44,9 @@
"""
-from __future__ import division
+from __future__ import division
+import logging
import os, sys, curses, itertools, time
import bb
import xmlrpclib
@@ -246,29 +247,35 @@ class NCursesUI:
event = eventHandler.waitEvent(0.25)
if not event:
continue
+
helper.eventHandler(event)
- #mw.appendText("%s\n" % event[0])
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')
- if isinstance(event, bb.msg.MsgNote):
- mw.appendText('NOTE: ' + event._message + '\n')
- if isinstance(event, bb.msg.MsgWarn):
- mw.appendText('WARNING: ' + event._message + '\n')
- if isinstance(event, bb.msg.MsgError):
- mw.appendText('ERROR: ' + event._message + '\n')
- if isinstance(event, bb.msg.MsgFatal):
- mw.appendText('FATAL: ' + event._message + '\n')
+ if isinstance(event, logging.LogRecord):
+ mw.appendText(logging.getLevelName(event.levelno) + ': ' + event.getMessage() + '\n')
+
+ if isinstance(event, bb.event.CacheLoadStarted):
+ self.parse_total = event.total
+ if isinstance(event, bb.event.CacheLoadProgress):
+ x = event.current
+ y = self.parse_total
+ mw.setStatus("Loading Cache: %s [%2d %%]" % ( next(parsespin), x*100/y ) )
+ if isinstance(event, bb.event.CacheLoadCompleted):
+ mw.setStatus("Idle")
+ mw.appendText("Loaded %d entries from dependency cache.\n"
+ % ( event.num_entries))
+
+ if isinstance(event, bb.event.ParseStarted):
+ self.parse_total = event.total
if isinstance(event, bb.event.ParseProgress):
- x = event.sofar
- y = event.total
- if x == y:
- mw.setStatus("Idle")
- mw.appendText("Parsing finished. %d cached, %d parsed, %d skipped, %d masked."
+ x = event.current
+ y = self.parse_total
+ mw.setStatus("Parsing Recipes: %s [%2d %%]" % ( next(parsespin), x*100/y ) )
+ if isinstance(event, bb.event.ParseCompleted):
+ mw.setStatus("Idle")
+ mw.appendText("Parsing finished. %d cached, %d parsed, %d skipped, %d masked.\n"
% ( event.cached, event.parsed, event.skipped, event.masked ))
- else:
- 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):
@@ -288,12 +295,16 @@ class NCursesUI:
# else:
# bb.msg.error(bb.msg.domain.Build, "see log in %s" % logfile)
- if isinstance(event, bb.command.CookerCommandCompleted):
- exitflag = True
- if isinstance(event, bb.command.CookerCommandFailed):
+ if isinstance(event, bb.command.CommandCompleted):
+ # stop so the user can see the result of the build, but
+ # also allow them to now exit with a single ^C
+ shutdown = 2
+ if isinstance(event, bb.command.CommandFailed):
mw.appendText("Command execution failed: %s" % event.error)
time.sleep(2)
exitflag = True
+ if isinstance(event, bb.command.CommandExit):
+ exitflag = True
if isinstance(event, bb.cooker.CookerExit):
exitflag = True
@@ -304,13 +315,18 @@ class NCursesUI:
if activetasks:
taw.appendText("Active Tasks:\n")
for task in activetasks.itervalues():
- taw.appendText(task["title"])
+ taw.appendText(task["title"] + '\n')
if failedtasks:
taw.appendText("Failed Tasks:\n")
for task in failedtasks:
- taw.appendText(task["title"])
+ taw.appendText(task["title"] + '\n')
curses.doupdate()
+ except EnvironmentError as ioerror:
+ # ignore interrupted io
+ if ioerror.args[0] == 4:
+ pass
+
except KeyboardInterrupt:
if shutdown == 2:
mw.appendText("Third Keyboard Interrupt, exit.\n")
@@ -324,7 +340,7 @@ class NCursesUI:
shutdown = shutdown + 1
pass
-def init(server, eventHandler):
+def main(server, eventHandler):
if not os.isatty(sys.stdout.fileno()):
print("FATAL: Unable to run 'ncurses' UI without a TTY.")
return
diff --git a/bitbake/lib/bb/ui/puccho.py b/bitbake/lib/bb/ui/puccho.py
index a627fc803..3ce4590c1 100644
--- a/bitbake/lib/bb/ui/puccho.py
+++ b/bitbake/lib/bb/ui/puccho.py
@@ -390,7 +390,7 @@ def running_build_failed_cb (running_build, manager):
print("build failed")
manager.notify_build_failed ()
-def init (server, eventHandler):
+def main (server, eventHandler):
# Initialise threading...
gobject.threads_init()
gtk.gdk.threads_init()
diff --git a/bitbake/lib/bb/ui/uievent.py b/bitbake/lib/bb/ui/uievent.py
index f1e4d791e..2fef4e465 100644
--- a/bitbake/lib/bb/ui/uievent.py
+++ b/bitbake/lib/bb/ui/uievent.py
@@ -37,8 +37,8 @@ class BBUIEventQueue:
self.BBServer = BBServer
self.t = threading.Thread()
- self.t.setDaemon(True)
- self.t.run = self.startCallbackHandler
+ self.t.setDaemon(True)
+ self.t.run = self.startCallbackHandler
self.t.start()
def getEvent(self):
@@ -63,17 +63,20 @@ class BBUIEventQueue:
def queue_event(self, event):
self.eventQueueLock.acquire()
- self.eventQueue.append(pickle.loads(event))
+ self.eventQueue.append(event)
self.eventQueueNotify.set()
self.eventQueueLock.release()
+ def send_event(self, event):
+ self.queue_event(pickle.loads(event))
+
def startCallbackHandler(self):
server = UIXMLRPCServer()
- self.host, self.port = server.socket.getsockname()
+ self.host, self.port = server.socket.getsockname()
server.register_function( self.system_quit, "event.quit" )
- server.register_function( self.queue_event, "event.send" )
+ server.register_function( self.send_event, "event.send" )
server.socket.settimeout(1)
self.EventHandle = self.BBServer.registerEventHandler(self.host, self.port)
@@ -83,7 +86,7 @@ class BBUIEventQueue:
server.handle_request()
server.server_close()
- def system_quit( self ):
+ def system_quit( self ):
"""
Shut down the callback thread
"""
@@ -95,11 +98,11 @@ class BBUIEventQueue:
class UIXMLRPCServer (SimpleXMLRPCServer):
- def __init__( self, interface = ("localhost", 0) ):
+ def __init__( self, interface = ("localhost", 0) ):
self.quit = False
- SimpleXMLRPCServer.__init__( self,
- interface,
- requestHandler=SimpleXMLRPCRequestHandler,
+ SimpleXMLRPCServer.__init__( self,
+ interface,
+ requestHandler=SimpleXMLRPCRequestHandler,
logRequests=False, allow_none=True)
def get_request(self):
@@ -121,4 +124,4 @@ class UIXMLRPCServer (SimpleXMLRPCServer):
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 f468fafc1..6373912d8 100644
--- a/bitbake/lib/bb/utils.py
+++ b/bitbake/lib/bb/utils.py
@@ -21,10 +21,14 @@ BitBake Utility Functions
import re, fcntl, os, string, stat, shutil, time
import sys
-import bb
import errno
+import logging
+import bb
import bb.msg
from commands import getstatusoutput
+from contextlib import contextmanager
+
+logger = logging.getLogger("BitBake.Util")
# Version comparison
separators = ".-"
@@ -90,7 +94,7 @@ def vercmp(ta, tb):
(ea, va, ra) = ta
(eb, vb, rb) = tb
- r = int(ea)-int(eb)
+ r = int(ea or 0) - int(eb or 0)
if (r == 0):
r = vercmp_part(va, vb)
if (r == 0):
@@ -191,10 +195,10 @@ def vercmp_string(val1, val2):
val2 = val2[0].split('.')
# add back decimal point so that .03 does not become "3" !
- for x in range(1, len(val1)):
+ for x in xrange(1, len(val1)):
if val1[x][0] == '0' :
val1[x] = '.' + val1[x]
- for x in range(1, len(val2)):
+ for x in xrange(1, len(val2)):
if val2[x][0] == '0' :
val2[x] = '.' + val2[x]
@@ -211,10 +215,10 @@ def vercmp_string(val1, val2):
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)):
+ for x in xrange(0, len(val1)):
cmp1 = relparse(val1[x])
cmp2 = relparse(val2[x])
- for y in range(0, 3):
+ for y in xrange(0, 3):
myret = cmp1[y] - cmp2[y]
if myret != 0:
__vercmp_cache__[valkey] = myret
@@ -287,17 +291,6 @@ def join_deps(deps):
result.append(dep)
return ", ".join(result)
-def extend_deps(dest, src):
- """
- Extend the results from explode_dep_versions by appending all of the items
- in the second list, avoiding duplicates.
- """
- for dep in src:
- if dep not in dest:
- dest[dep] = src[dep]
- elif dest[dep] != src[dep]:
- dest[dep] = src[dep]
-
def _print_trace(body, line):
"""
Print the Environment of a Text Body
@@ -305,12 +298,11 @@ def _print_trace(body, line):
# print the environment of the method
min_line = max(1, line-4)
max_line = min(line + 4, len(body))
- for i in range(min_line, max_line + 1):
+ for i in xrange(min_line, max_line + 1):
if line == i:
- bb.msg.error(bb.msg.domain.Util, " *** %.4d:%s" % (i, body[i-1]) )
+ logger.error(' *** %.4d:%s', i, body[i-1])
else:
- bb.msg.error(bb.msg.domain.Util, " %.4d:%s" % (i, body[i-1]) )
-
+ logger.error(' %.4d:%s', i, body[i-1])
def better_compile(text, file, realfile, mode = "exec"):
"""
@@ -322,62 +314,65 @@ def better_compile(text, file, realfile, mode = "exec"):
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: %s" % (realfile))
- bb.msg.error(bb.msg.domain.Util, str(e))
+ logger.error("Error in compiling python function in %s", realfile)
+ logger.error(str(e))
if e.lineno:
- bb.msg.error(bb.msg.domain.Util, "The lines leading to this error were:")
- bb.msg.error(bb.msg.domain.Util, "\t%d:%s:'%s'" % (e.lineno, e.__class__.__name__, body[e.lineno-1]))
+ logger.error("The lines leading to this error were:")
+ logger.error("\t%d:%s:'%s'", e.lineno, e.__class__.__name__, body[e.lineno-1])
_print_trace(body, e.lineno)
else:
- bb.msg.error(bb.msg.domain.Util, "The function causing this error was:")
+ logger.error("The function causing this error was:")
for line in body:
- bb.msg.error(bb.msg.domain.Util, line)
+ logger.error(line)
+
raise
-def better_exec(code, context, text, realfile):
+def better_exec(code, context, text, realfile = "<code>"):
"""
Similiar to better_compile, better_exec will
print the lines that are responsible for the
error.
"""
import bb.parse
+ if not hasattr(code, "co_filename"):
+ code = better_compile(code, realfile, realfile)
try:
exec(code, _context, context)
- except:
+ except Exception:
(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, "There was an error when executing a python function in: %s" % realfile)
- bb.msg.error(bb.msg.domain.Util, "Exception:%s Message:%s" % (t, value))
+ import traceback
+ exception = traceback.format_exception_only(t, value)
+ logger.error('Error executing a python function in %s:\n%s',
+ realfile, ''.join(exception))
# Strip 'us' from the stack (better_exec call)
tb = tb.tb_next
- import traceback
textarray = text.split('\n')
linefailed = traceback.tb_lineno(tb)
tbextract = traceback.extract_tb(tb)
tbformat = "\n".join(traceback.format_list(tbextract))
- bb.msg.error(bb.msg.domain.Util, "The stack trace of python calls that resulted in thie exception/failure was:")
+ logger.error("The stack trace of python calls that resulted in this exception/failure was:")
for line in tbformat.split('\n'):
- bb.msg.error(bb.msg.domain.Util, line)
+ logger.error(line)
- bb.msg.error(bb.msg.domain.Util, "The code that was being executed was:")
+ logger.error("The code that was being executed was:")
_print_trace(textarray, linefailed)
- bb.msg.error(bb.msg.domain.Util, "(file: '%s', lineno: %s, function: %s)" % (tbextract[0][0], tbextract[0][1], tbextract[0][2]))
+ logger.error("(file: '%s', lineno: %s, function: %s)", tbextract[0][0], tbextract[0][1], tbextract[0][2])
- # See if this is a function we constructed and has calls back into other functions in
+ # See if this is a function we constructed and has calls back into other functions in
# "text". If so, try and improve the context of the error by diving down the trace
level = 0
nexttb = tb.tb_next
while nexttb is not None:
if tbextract[level][0] == tbextract[level+1][0] and tbextract[level+1][2] == tbextract[level][0]:
_print_trace(textarray, tbextract[level+1][1])
- bb.msg.error(bb.msg.domain.Util, "(file: '%s', lineno: %s, function: %s)" % (tbextract[level+1][0], tbextract[level+1][1], tbextract[level+1][2]))
+ logger.error("(file: '%s', lineno: %s, function: %s)", tbextract[level+1][0], tbextract[level+1][1], tbextract[level+1][2])
else:
break
nexttb = tb.tb_next
@@ -391,16 +386,37 @@ def simple_exec(code, context):
def better_eval(source, locals):
return eval(source, _context, locals)
-def lockfile(name):
+@contextmanager
+def fileslocked(files):
+ """Context manager for locking and unlocking file locks."""
+ locks = []
+ if files:
+ for lockfile in files:
+ locks.append(bb.utils.lockfile(lockfile))
+
+ yield
+
+ for lock in locks:
+ bb.utils.unlockfile(lock)
+
+def lockfile(name, shared=False):
"""
Use the file fn as a lock file, return when the lock has been acquired.
Returns a variable to pass to unlockfile().
"""
path = os.path.dirname(name)
if not os.path.isdir(path):
- bb.msg.error(bb.msg.domain.Util, "Error, lockfile path does not exist!: %s" % path)
+ logger.error("Lockfile destination directory '%s' does not exist", path)
+ sys.exit(1)
+
+ if not os.access(path, os.W_OK):
+ logger.error("Error, lockfile path is not writable!: %s" % path)
sys.exit(1)
+ op = fcntl.LOCK_EX
+ if shared:
+ op = fcntl.LOCK_SH
+
while True:
# If we leave the lockfiles lying around there is no problem
# but we should clean up after ourselves. This gives potential
@@ -413,25 +429,31 @@ def lockfile(name):
# lock is the most likely to win it.
try:
- lf = open(name, "a + ")
- fcntl.flock(lf.fileno(), fcntl.LOCK_EX)
- statinfo = os.fstat(lf.fileno())
+ lf = open(name, 'a+')
+ fileno = lf.fileno()
+ fcntl.flock(fileno, op)
+ statinfo = os.fstat(fileno)
if os.path.exists(lf.name):
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 as e:
+ lf.close()
+ except Exception:
continue
def unlockfile(lf):
"""
Unlock a file locked using lockfile()
"""
- os.unlink(lf.name)
+ try:
+ # If we had a shared lock, we need to promote to exclusive before
+ # removing the lockfile. Attempt this, ignore failures.
+ fcntl.flock(lf.fileno(), fcntl.LOCK_EX|fcntl.LOCK_NB)
+ os.unlink(lf.name)
+ except (IOError, OSError):
+ pass
fcntl.flock(lf.fileno(), fcntl.LOCK_UN)
- lf.close
+ lf.close()
def md5_file(filename):
"""
@@ -465,9 +487,9 @@ def sha256_file(filename):
s.update(line)
return s.hexdigest()
-# Variables which are preserved from the original environment *and* exported
-# into our worker context
-def preserved_envvars_export_list():
+def preserved_envvars_exported():
+ """Variables which are taken from the environment and placed in and exported
+ from the metadata"""
return [
'BB_TASKHASH',
'HOME',
@@ -480,9 +502,9 @@ def preserved_envvars_export_list():
'USERNAME',
]
-# Variables which are preserved from the original environment *and* exported
-# into our worker context for interactive tasks (e.g. requiring X)
-def preserved_envvars_export_interactive_list():
+def preserved_envvars_exported_interactive():
+ """Variables which are taken from the environment and placed in and exported
+ from the metadata, for interactive tasks"""
return [
'COLORTERM',
'DBUS_SESSION_BUS_ADDRESS',
@@ -500,8 +522,8 @@ def preserved_envvars_export_interactive_list():
'XDG_SESSION_COOKIE',
]
-# Variables which are preserved from the original environment into the datastore
-def preserved_envvars_list():
+def preserved_envvars():
+ """Variables which are taken from the environment and placed in the metadata"""
v = [
'BBPATH',
'BB_PRESERVE_ENV',
@@ -510,7 +532,7 @@ def preserved_envvars_list():
'LANG',
'_',
]
- return v + preserved_envvars_export_list() + preserved_envvars_export_interactive_list()
+ return v + preserved_envvars_exported() + preserved_envvars_exported_interactive()
def filter_environment(good_vars):
"""
@@ -528,12 +550,12 @@ def filter_environment(good_vars):
del os.environ[key]
if len(removed_vars):
- bb.msg.debug(1, bb.msg.domain.Util, "Removed the following variables from the environment: %s" % (", ".join(removed_vars)))
+ logger.debug(1, "Removed the following variables from the environment: %s", ", ".join(removed_vars))
return removed_vars
-def create_intereactive_env(d):
- for k in preserved_envvars_export_interactive_list():
+def create_interactive_env(d):
+ for k in preserved_envvars_exported_interactive():
os.setenv(k, bb.data.getVar(k, d, True))
def clean_environment():
@@ -545,7 +567,7 @@ def clean_environment():
if 'BB_ENV_WHITELIST' in os.environ:
good_vars = os.environ['BB_ENV_WHITELIST'].split()
else:
- good_vars = preserved_envvars_list()
+ good_vars = preserved_envvars()
if 'BB_ENV_EXTRAWHITE' in os.environ:
good_vars.extend(os.environ['BB_ENV_EXTRAWHITE'].split())
filter_environment(good_vars)
@@ -568,6 +590,20 @@ def build_environment(d):
if export:
os.environ[var] = bb.data.getVar(var, d, True) or ""
+def remove(path, recurse=False):
+ """Equivalent to rm -f or rm -rf"""
+ if not path:
+ return
+ import os, errno, shutil, glob
+ for name in glob.glob(path):
+ try:
+ os.unlink(name)
+ except OSError as exc:
+ if recurse and exc.errno == errno.EISDIR:
+ shutil.rmtree(name)
+ elif exc.errno != errno.ENOENT:
+ raise
+
def prunedir(topdir):
# Delete everything reachable from the directory named in 'topdir'.
# CAUTION: This is dangerous!
@@ -593,15 +629,13 @@ def prune_suffix(var, suffixes, d):
return var.replace(suffix, "")
return var
-def mkdirhier(dir):
+def mkdirhier(directory):
"""Create a directory like 'mkdir -p', but does not complain if
directory already exists like os.makedirs
"""
- bb.msg.debug(3, bb.msg.domain.Util, "mkdirhier(%s)" % dir)
try:
- os.makedirs(dir)
- bb.msg.debug(2, bb.msg.domain.Util, "created " + dir)
+ os.makedirs(directory)
except OSError as e:
if e.errno != errno.EEXIST:
raise e
@@ -787,13 +821,12 @@ def init_logger(logger, verbose, debug, debug_domains):
Set verbosity and debug levels in the logger
"""
- if verbose:
- logger.set_verbose(True)
-
if debug:
- logger.set_debug_level(debug)
+ bb.msg.set_debug_level(debug)
+ elif verbose:
+ bb.msg.set_verbose(True)
else:
- logger.set_debug_level(0)
+ bb.msg.set_debug_level(0)
if debug_domains:
- logger.set_debug_domains(debug_domains)
+ bb.msg.set_debug_domains(debug_domains)
diff --git a/bitbake/lib/progressbar.py b/bitbake/lib/progressbar.py
new file mode 100644
index 000000000..b668647a3
--- /dev/null
+++ b/bitbake/lib/progressbar.py
@@ -0,0 +1,384 @@
+#!/usr/bin/python
+# -*- coding: iso-8859-1 -*-
+#
+# progressbar - Text progressbar library for python.
+# Copyright (c) 2005 Nilton Volpato
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library 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
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+"""Text progressbar library for python.
+
+This library provides a text mode progressbar. This is typically used
+to display the progress of a long running operation, providing a
+visual clue that processing is underway.
+
+The ProgressBar class manages the progress, and the format of the line
+is given by a number of widgets. A widget is an object that may
+display diferently depending on the state of the progress. There are
+three types of widget:
+- a string, which always shows itself;
+- a ProgressBarWidget, which may return a diferent value every time
+it's update method is called; and
+- a ProgressBarWidgetHFill, which is like ProgressBarWidget, except it
+expands to fill the remaining width of the line.
+
+The progressbar module is very easy to use, yet very powerful. And
+automatically supports features like auto-resizing when available.
+"""
+
+from __future__ import division
+
+__author__ = "Nilton Volpato"
+__author_email__ = "first-name dot last-name @ gmail.com"
+__date__ = "2006-05-07"
+__version__ = "2.3-dev"
+
+import sys, time, os
+from array import array
+try:
+ from fcntl import ioctl
+ import termios
+except ImportError:
+ pass
+import signal
+try:
+ basestring
+except NameError:
+ basestring = (str,)
+
+class ProgressBarWidget(object):
+ """This is an element of ProgressBar formatting.
+
+ The ProgressBar object will call it's update value when an update
+ is needed. It's size may change between call, but the results will
+ not be good if the size changes drastically and repeatedly.
+ """
+ def update(self, pbar):
+ """Returns the string representing the widget.
+
+ The parameter pbar is a reference to the calling ProgressBar,
+ where one can access attributes of the class for knowing how
+ the update must be made.
+
+ At least this function must be overriden."""
+ pass
+
+class ProgressBarWidgetHFill(object):
+ """This is a variable width element of ProgressBar formatting.
+
+ The ProgressBar object will call it's update value, informing the
+ width this object must the made. This is like TeX \\hfill, it will
+ expand to fill the line. You can use more than one in the same
+ line, and they will all have the same width, and together will
+ fill the line.
+ """
+ def update(self, pbar, width):
+ """Returns the string representing the widget.
+
+ The parameter pbar is a reference to the calling ProgressBar,
+ where one can access attributes of the class for knowing how
+ the update must be made. The parameter width is the total
+ horizontal width the widget must have.
+
+ At least this function must be overriden."""
+ pass
+
+
+class ETA(ProgressBarWidget):
+ "Widget for the Estimated Time of Arrival"
+ def format_time(self, seconds):
+ return time.strftime('%H:%M:%S', time.gmtime(seconds))
+ def update(self, pbar):
+ if pbar.currval == 0:
+ return 'ETA: --:--:--'
+ elif pbar.finished:
+ return 'Time: %s' % self.format_time(pbar.seconds_elapsed)
+ else:
+ elapsed = pbar.seconds_elapsed
+ eta = elapsed * pbar.maxval / pbar.currval - elapsed
+ return 'ETA: %s' % self.format_time(eta)
+
+class FileTransferSpeed(ProgressBarWidget):
+ "Widget for showing the transfer speed (useful for file transfers)."
+ def __init__(self, unit='B'):
+ self.unit = unit
+ self.fmt = '%6.2f %s'
+ self.prefixes = ['', 'K', 'M', 'G', 'T', 'P']
+ def update(self, pbar):
+ if pbar.seconds_elapsed < 2e-6:#== 0:
+ bps = 0.0
+ else:
+ bps = pbar.currval / pbar.seconds_elapsed
+ spd = bps
+ for u in self.prefixes:
+ if spd < 1000:
+ break
+ spd /= 1000
+ return self.fmt % (spd, u + self.unit + '/s')
+
+class RotatingMarker(ProgressBarWidget):
+ "A rotating marker for filling the bar of progress."
+ def __init__(self, markers='|/-\\'):
+ self.markers = markers
+ self.curmark = -1
+ def update(self, pbar):
+ if pbar.finished:
+ return self.markers[0]
+ self.curmark = (self.curmark + 1) % len(self.markers)
+ return self.markers[self.curmark]
+
+class Percentage(ProgressBarWidget):
+ "Just the percentage done."
+ def update(self, pbar):
+ return '%3d%%' % pbar.percentage()
+
+class SimpleProgress(ProgressBarWidget):
+ "Returns what is already done and the total, e.g.: '5 of 47'"
+ def __init__(self, sep=' of '):
+ self.sep = sep
+ def update(self, pbar):
+ return '%d%s%d' % (pbar.currval, self.sep, pbar.maxval)
+
+class Bar(ProgressBarWidgetHFill):
+ "The bar of progress. It will stretch to fill the line."
+ def __init__(self, marker='#', left='|', right='|'):
+ self.marker = marker
+ self.left = left
+ self.right = right
+ def _format_marker(self, pbar):
+ if isinstance(self.marker, basestring):
+ return self.marker
+ else:
+ return self.marker.update(pbar)
+ def update(self, pbar, width):
+ percent = pbar.percentage()
+ cwidth = width - len(self.left) - len(self.right)
+ marked_width = int(percent * cwidth // 100)
+ m = self._format_marker(pbar)
+ bar = (self.left + (m * marked_width).ljust(cwidth) + self.right)
+ return bar
+
+class ReverseBar(Bar):
+ "The reverse bar of progress, or bar of regress. :)"
+ def update(self, pbar, width):
+ percent = pbar.percentage()
+ cwidth = width - len(self.left) - len(self.right)
+ marked_width = int(percent * cwidth // 100)
+ m = self._format_marker(pbar)
+ bar = (self.left + (m*marked_width).rjust(cwidth) + self.right)
+ return bar
+
+default_widgets = [Percentage(), ' ', Bar()]
+class ProgressBar(object):
+ """This is the ProgressBar class, it updates and prints the bar.
+
+ A common way of using it is like:
+ >>> pbar = ProgressBar().start()
+ >>> for i in xrange(100):
+ ... # do something
+ ... pbar.update(i+1)
+ ...
+ >>> pbar.finish()
+
+ You can also use a progressbar as an iterator:
+ >>> progress = ProgressBar()
+ >>> for i in progress(some_iterable):
+ ... # do something
+ ...
+
+ But anything you want to do is possible (well, almost anything).
+ You can supply different widgets of any type in any order. And you
+ can even write your own widgets! There are many widgets already
+ shipped and you should experiment with them.
+
+ The term_width parameter must be an integer or None. In the latter case
+ it will try to guess it, if it fails it will default to 80 columns.
+
+ When implementing a widget update method you may access any
+ attribute or function of the ProgressBar object calling the
+ widget's update method. The most important attributes you would
+ like to access are:
+ - currval: current value of the progress, 0 <= currval <= maxval
+ - maxval: maximum (and final) value of the progress
+ - finished: True if the bar has finished (reached 100%), False o/w
+ - start_time: the time when start() method of ProgressBar was called
+ - seconds_elapsed: seconds elapsed since start_time
+ - percentage(): percentage of the progress [0..100]. This is a method.
+
+ The attributes above are unlikely to change between different versions,
+ the other ones may change or cease to exist without notice, so try to rely
+ only on the ones documented above if you are extending the progress bar.
+ """
+
+ __slots__ = ('currval', 'fd', 'finished', 'last_update_time', 'maxval',
+ 'next_update', 'num_intervals', 'seconds_elapsed',
+ 'signal_set', 'start_time', 'term_width', 'update_interval',
+ 'widgets', '_iterable')
+
+ _DEFAULT_MAXVAL = 100
+
+ def __init__(self, maxval=None, widgets=default_widgets, term_width=None,
+ fd=sys.stderr):
+ self.maxval = maxval
+ self.widgets = widgets
+ self.fd = fd
+ self.signal_set = False
+ if term_width is not None:
+ self.term_width = term_width
+ else:
+ try:
+ self._handle_resize(None, None)
+ signal.signal(signal.SIGWINCH, self._handle_resize)
+ self.signal_set = True
+ except (SystemExit, KeyboardInterrupt):
+ raise
+ except:
+ self.term_width = int(os.environ.get('COLUMNS', 80)) - 1
+
+ self.currval = 0
+ self.finished = False
+ self.start_time = None
+ self.last_update_time = None
+ self.seconds_elapsed = 0
+ self._iterable = None
+
+ def __call__(self, iterable):
+ try:
+ self.maxval = len(iterable)
+ except TypeError:
+ # If the iterable has no length, then rely on the value provided
+ # by the user, otherwise fail.
+ if not (isinstance(self.maxval, (int, long)) and self.maxval > 0):
+ raise RuntimeError('Could not determine maxval from iterable. '
+ 'You must explicitly provide a maxval.')
+ self._iterable = iter(iterable)
+ self.start()
+ return self
+
+ def __iter__(self):
+ return self
+
+ def next(self):
+ try:
+ next = self._iterable.next()
+ self.update(self.currval + 1)
+ return next
+ except StopIteration:
+ self.finish()
+ raise
+
+ def _handle_resize(self, signum, frame):
+ h, w = array('h', ioctl(self.fd, termios.TIOCGWINSZ, '\0' * 8))[:2]
+ self.term_width = w
+
+ def percentage(self):
+ "Returns the percentage of the progress."
+ return self.currval * 100.0 / self.maxval
+
+ def _format_widgets(self):
+ r = []
+ hfill_inds = []
+ num_hfill = 0
+ currwidth = 0
+ for i, w in enumerate(self.widgets):
+ if isinstance(w, ProgressBarWidgetHFill):
+ r.append(w)
+ hfill_inds.append(i)
+ num_hfill += 1
+ elif isinstance(w, basestring):
+ r.append(w)
+ currwidth += len(w)
+ else:
+ weval = w.update(self)
+ currwidth += len(weval)
+ r.append(weval)
+ for iw in hfill_inds:
+ widget_width = int((self.term_width - currwidth) // num_hfill)
+ r[iw] = r[iw].update(self, widget_width)
+ return r
+
+ def _format_line(self):
+ return ''.join(self._format_widgets()).ljust(self.term_width)
+
+ def _next_update(self):
+ return int((int(self.num_intervals *
+ (self.currval / self.maxval)) + 1) *
+ self.update_interval)
+
+ def _need_update(self):
+ """Returns true when the progressbar should print an updated line.
+
+ You can override this method if you want finer grained control over
+ updates.
+
+ The current implementation is optimized to be as fast as possible and
+ as economical as possible in the number of updates. However, depending
+ on your usage you may want to do more updates. For instance, if your
+ progressbar stays in the same percentage for a long time, and you want
+ to update other widgets, like ETA, then you could return True after
+ some time has passed with no updates.
+
+ Ideally you could call self._format_line() and see if it's different
+ from the previous _format_line() call, but calling _format_line() takes
+ around 20 times more time than calling this implementation of
+ _need_update().
+ """
+ return self.currval >= self.next_update
+
+ def update(self, value):
+ "Updates the progress bar to a new value."
+ assert 0 <= value <= self.maxval, '0 <= %d <= %d' % (value, self.maxval)
+ self.currval = value
+ if not self._need_update():
+ return
+ if self.start_time is None:
+ raise RuntimeError('You must call start() before calling update()')
+ now = time.time()
+ self.seconds_elapsed = now - self.start_time
+ self.next_update = self._next_update()
+ self.fd.write(self._format_line() + '\r')
+ self.last_update_time = now
+
+ def start(self):
+ """Starts measuring time, and prints the bar at 0%.
+
+ It returns self so you can use it like this:
+ >>> pbar = ProgressBar().start()
+ >>> for i in xrange(100):
+ ... # do something
+ ... pbar.update(i+1)
+ ...
+ >>> pbar.finish()
+ """
+ if self.maxval is None:
+ self.maxval = self._DEFAULT_MAXVAL
+ assert self.maxval > 0
+
+ self.num_intervals = max(100, self.term_width)
+ self.update_interval = self.maxval / self.num_intervals
+ self.next_update = 0
+
+ self.start_time = self.last_update_time = time.time()
+ self.update(0)
+ return self
+
+ def finish(self):
+ """Used to tell the progress is finished."""
+ self.finished = True
+ self.update(self.maxval)
+ self.fd.write('\n')
+ if self.signal_set:
+ signal.signal(signal.SIGWINCH, signal.SIG_DFL)
diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml
index 3cad0fd01..076c08cf6 100644
--- a/documentation/bsp-guide/bsp.xml
+++ b/documentation/bsp-guide/bsp.xml
@@ -33,7 +33,7 @@
It is intended that this information can be
used by other systems besides Poky and OpenEmbedded and that it will be simple
to extract information and convert it to other formats if required.
- Poky, through its standard layers mechanism, can directly accept The format
+ Poky, through its standard layers mechanism, can directly accept the format
described as a layer.
The BSP captures all
the hardware-specific details in one place in a standard format, which is
@@ -63,62 +63,132 @@
"bsp_name" is a placeholder for the machine or platform name.
Here are some example base directory names:
<literallayout class='monospaced'>
- meta-Emenlow
+ meta-emenlow
meta-intel_n450
- meta-oaktrail
+ meta-beagleboard
</literallayout>
</para>
<para>
- The file structure inside the base directory takes on the following form:
+ Below is the common form for the file structure inside a base directory.
+ While you can use this basic form for the standard, realize that the actual structures
+ for specific BSPs could differ.
+
<programlisting>
meta-&lt;bsp_name&gt;/
-meta-&lt;bsp_name&gt;/binary/zImage
-meta-&lt;bsp_name&gt;/binary/poky-image-minimal.directdisk
+meta-&lt;bsp_name&gt;/&lt;bsp_license_file&gt;
+meta-&lt;bsp_name&gt;/README
+meta-&lt;bsp_name&gt;/binary/&lt;bootable_images&gt;
meta-&lt;bsp_name&gt;/conf/layer.conf
-meta-&lt;bsp_name&gt;/conf/machine/*.conf
-meta-&lt;bsp_name&gt;/conf/machine/include/tune-*.inc
-meta-&lt;bsp_name&gt;/recipes-kernel/bootloader/bootloader_0.1.bb
-meta-&lt;bsp_name&gt;/recipes-kernel/linux/linux-bsp-2.6.50/*.patch
-meta-&lt;bsp_name&gt;/recipes-kernel/linux/linux-bsp-2.6.50/defconfig-bsp
-meta-&lt;bsp_name&gt;/recipes-kernel/linux/linux-bsp_2.6.50.bb
-meta-&lt;bsp_name&gt;/recipes-&lt;bsp_name&gt;/modem/modem-driver_0.1.bb
-meta-&lt;bsp_name&gt;/recipes-&lt;bsp_name&gt;/modem/modem-daemon_0.1.bb
-meta-&lt;bsp_name&gt;/recipes-&lt;bsp_name&gt;/image-creator/image-creator-native_0.1.bb
-meta-&lt;bsp_name&gt;/prebuilds/
+meta-&lt;bsp_name&gt;/conf/machine/*.conf
+meta-&lt;bsp_name&gt;/recipes-bsp/*
+meta-&lt;bsp_name&gt;/recipes-graphics/*
+meta-&lt;bsp_name&gt;/recipes-kernel/linux/linux-yocto-stable.bbappend
</programlisting>
</para>
<para>
- The following sections detail what these files and directories could contain.
+ Below is an example of the crownbay BSP:
+
+ <programlisting>
+meta-crownbay/COPYING.MIT
+meta-crownbay/README
+meta-crownbay/binary/.gitignore
+meta-crownbay/conf/layer.conf
+meta-crownbay/conf/machine/crownbay.conf
+meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay/machconfig
+meta-crownbay/recipes-bsp/formfactor/formfactor_0.0.bbappend
+meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xcorg.conf
+meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
+meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd-bin/.gitignore
+meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb
+meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/crosscompile.patch
+meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch
+meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch
+meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/nodolt.patch
+meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb
+meta-crownbay/recipes-kernel/linux/linux-wrs_git.bbappend
+ </programlisting>
</para>
- </section>
+ <para>
+ The following sections describe each part of the proposed BSP format.
+ </para>
- <section id="bsp-filelayout-binary">
- <title>Pre-built User Binaries (meta-&lt;bsp_name&gt;/binary/*)</title>
+ <section id="bsp-filelayout-license">
+ <title>License Files</title>
+ <programlisting>
+meta-&lt;bsp_name&gt;/&lt;bsp_license_file&gt;
+ </programlisting>
+
+ <para>
+ These optional files satisfy licensing requirements for the BSP.
+ The type or types of files here can vary depending on the licensing requirements.
+ For example, in the crownbay BSP all licensing requirements are handled with the
+ <filename>COPYING.MIT</filename> file.
+ </para>
+
+ <para>
+ Licensing files can be MIT, BSD, GPLv*, and so forth.
+ These files are recommended for the BSP but are optional and totally up to the BSP developer.
+ </para>
+ </section>
+
+ <section id="bsp-filelayout-readme">
+ <title>README File</title>
+ <programlisting>
+meta-&lt;bsp_name&gt;/README
+ </programlisting>
+
+ <para>
+ This file provides information on how to boot the live images that are optionally
+ included in the <filename>/binary</filename> directory.
+ The <filename>README</filename> file also provides special information needed for
+ building the image.
+ </para>
+
+ <para>
+ Technically speaking a <filename>README</filename> is optional but it is highly
+ recommended that every BSP has one.
+ </para>
+ </section>
+
+ <section id="bsp-filelayout-binary">
+ <title>Pre-built User Binaries</title>
+ <programlisting>
+meta-&lt;bsp_name&gt;/binary/&lt;bootable_images&gt;
+ </programlisting>
<para>
This optional area contains useful pre-built kernels and userspace filesystem
- images appropriate to the target system.
+ images appropriate to the target system.
+ This directory contains the Application Development Toolkit (ADT) and minimal
+ live images when the BSP is has been "tar-balled" and placed on the Yocto Project website.
You can use these kernels and images to get a system running and quickly get started
- on development tasks.
+ on development tasks.
+ </para>
+
+ <para>
The exact types of binaries present are highly hardware-dependent.
- However, a README file should be present that explains how to use the kernels and
- images with the target hardware.
+ However, a README file should be present in the BSP file structure that explains how to use
+ the kernels and images with the target hardware.
If pre-built binaries are present, source code to meet licensing requirements must also
be provided in some form.
</para>
- </section>
+ </section>
- <section id='bsp-filelayout-layer'>
- <title>Layer Configuration (meta-&lt;bsp_name&gt;/conf/layer.conf)</title>
+ <section id='bsp-filelayout-layer'>
+ <title>Layer Configuration File</title>
+ <programlisting>
+meta-&lt;bsp_name&gt;/conf/layer.conf
+ </programlisting>
<para>
This file identifies the structure as a Poky layer, identifies the
- contents of the layer, and contains information about how Poky should use
- it.
- Generally, a standard boilerplate file such as the following works:
+ contents of the layer, and contains information about how Poky should use it.
+ Generally, a standard boilerplate file such as the following works.
+ In the following example you would replace "bsp" and "_bsp" with the actual name
+ of the BSP (i.e. &lt;bsp_name&gt; from the example template).
</para>
<para>
@@ -139,10 +209,13 @@ BBFILE_PRIORITY_bsp = "5"
This file simply makes BitBake aware of the recipes and configuration directories.
This file must exist so that Poky can recognize the BSP.
</para>
- </section>
+ </section>
- <section id="bsp-filelayout-machine">
- <title>Hardware Configuration Options (meta-&lt;bsp_name&gt;/conf/machine/*.conf)</title>
+ <section id="bsp-filelayout-machine">
+ <title>Hardware Configuration Options</title>
+ <programlisting>
+meta-&lt;bsp_name&gt;/conf/machine/*.conf
+ </programlisting>
<para>
The machine files bind together all the information contained elsewhere
@@ -161,16 +234,12 @@ BBFILE_PRIORITY_bsp = "5"
</para>
<para>
- At least one machine file is required for a Poky BSP layer.
+ At least one machine file is required for a BSP layer.
However, you can supply more than one file.
</para>
- </section>
-
- <section id="bsp-filelayout-tune">
- <title>Hardware Optimization Options (meta-&lt;bsp_name&gt;/conf/machine/include/tune-*.inc)</title>
<para>
- These files are shared hardware "tuning" definitions and are commonly used to
+ This directory could also contain shared hardware "tuning" definitions that are commonly used to
pass specific optimization flags to the compiler.
An example is <filename>tune-atom.inc</filename>:
</para>
@@ -191,57 +260,163 @@ TARGET_CC_ARCH = "-m32 -march=core2 -msse3 -mtune=generic -mfpmath=sse"
files included with Poky itself.
</para>
<para>
- Both the base package architecuture file and the tune file are optional for a Poky BSP layer.
+ Both the base package architecture file and the tune file are optional for a Poky BSP layer.
</para>
- </section>
+ </section>
- <section id='bsp-filelayout-kernel'>
- <title>Linux Kernel Configuration (meta-&lt;bsp_name&gt;/recipes-kernel/linux/*)</title>
+ <section id='bsp-filelayout-misc-recipes'>
+ <title>Miscellaneous Recipe Files</title>
+ <programlisting>
+meta-&lt;bsp_name&gt;/recipes-bsp/*
+ </programlisting>
<para>
- These files make up the definition of a kernel to use with this hardware.
- In this case, it is a complete self-contained kernel with its own
- configuration and patches.
- However, kernels can be shared between many machines as well.
- Following is an example:
- <programlisting>
-meta-Emenlow/recipes-kernel/linux/linux-bsp_2.6.50.bb
- </programlisting>
- This example file is the core kernel recipe that details from where to get the kernel
- source.
- All standard source code locations are supported.
- Consequently, the source could be a release tarball, a git repository, or source included in
- the directory within the BSP itself.
- </para>
- <para>
- The file then contains information about what patches to apply and how to configure and build them.
- Because the file can reuse the main Poky kernel build class, the definitions here can
- remain very simple.
+ This optional directory contains miscellaneous recipe files for the BSP.
+ Most notably would be the formfactor files.
+ For example, in the crownbay BSP there is a <filename>machconfig</filename> file and a
+ <filename>formfactor_0.0.bbappend</filename> file:
+ <programlisting>
+meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay/machconfig
+meta-crownbay/recipes-bsp/formfactor/formfactor_0.0.bbappend
+ </programlisting>
</para>
+
+ <note><para>
+ If a BSP does not have a formfactor entry, defaults are established according to
+ the configuration script.
+ </para></note>
+ </section>
+
+ <section id='bsp-filelayout-recipes-graphics'>
+ <title>Display Support Files</title>
+ <programlisting>
+meta-&lt;bsp_name&gt;/recipes-graphics/*
+ </programlisting>
+
<para>
+ This optional directory contains recipes for the BSP if it has
+ special requirements for graphics support.
+ All files that are needed for the BSP to support a display are kept here.
+ For example, in the crownbay BSP several display support files exist:
<programlisting>
-linux-bsp-2.6.50/*.patch
+meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xcorg.conf
+meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
+meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd-bin/.gitignore
+meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb
+meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/crosscompile.patch
+meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch
+meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch
+meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/nodolt.patch
+meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb
</programlisting>
</para>
+ </section>
+
+ <section id='bsp-filelayout-kernel'>
+ <title>Linux Kernel Configuration</title>
+ <programlisting>
+meta-&lt;bsp_name&gt;/recipes-kernel/linux/linux-yocto-stable.bbappend
+ </programlisting>
+
+ <para>
+ This file appends your specific changes to the kernel you are using.
+ </para>
<para>
- The above example file contains patches you can apply against the base kernel, from wherever
- they may have been obtained.
+ For your BSP you typically want to use an existing Poky kernel found in the
+ Poky repository at <filename class='directory'>meta/recipes-kernel/kernel</filename>.
+ You can append your specific changes to the kernel recipe by using an append file,
+ which is located in the
+ <filename class='directory'>meta-&lt;bsp_name&gt;/recipes-kernel/linux</filename>
+ directory.
</para>
<para>
+ Suppose you use a BSP that uses the <filename>linux-yocto-stable_git.bb</filename> kernel,
+ which is the preferred kernel to use for developing a new BSP using the Yocto Project.
+ In other words, you have selected the kernel in your
+ <filename>&lt;bsp_name&gt;.conf</filename> file by adding the following statement:
<programlisting>
-meta-Emenlow/recipes-kernel/linux/linux-bsp-2.6.50/defconfig-bsp
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto-stable"
</programlisting>
+ You would use the <filename>linux-yocto-stable_git.bbappend</filename> file to append
+ specific BSP settings to the kernel, thus configuring the kernel for your particular BSP.
</para>
<para>
- Finally, this last example file contains kernel configuration information.
+ Now take a look at the existing "crownbay" BSP.
+ The append file used is:
+ <programlisting>
+meta-crownbay/recipes-kernel/linux/linux-yocto-stable_git.bbappend
+ </programlisting>
+ The file contains the following:
+ <programlisting>
+FILESEXTRAPATHS := "${THISDIR}/${PN}"
+COMPATIBLE_MACHINE_crownbay = "crownbay"
+KMACHINE_crownbay = "crownbay"
+ </programlisting>
+ This append file adds "crownbay" as a compatible machine,
+ and additionally sets a Yocto Kernel-specific variable that identifies the name of the
+ BSP branch to use in the GIT repository to find configuration information.
+ </para>
+ <para>
+ One thing missing in this particular BSP, which you will typically need when
+ developing a BSP, is the kernel configuration (.config) for your BSP.
+ When developing a BSP, you probably have a kernel configuration file or a set of kernel
+ configuration files that, when taken together, define the kernel configuration for your BSP.
+ You can accomplish this definition by putting the configurations in a file or a set of files
+ inside a directory located at the same level as your append file and having the same name
+ as the kernel.
+ With all these conditions met simply reference those files in a SRC_URI statement in the append
+ file.
+ </para>
+ <para>
+ For example, suppose you had a set of configuration options in a file called
+ <filename>defconfig</filename>.
+ If you put that file inside a directory named
+ <filename class='directory'>/linux-yocto-stable</filename> and then added
+ a SRC_URI statement such as the following to the append file, those configuration
+ options will be picked up and applied when the kernel is built.
+ <programlisting>
+SRC_URI += "file://defconfig"
+ </programlisting>
</para>
<para>
- Examples of kernel recipes are available in Poky itself, and thus, make these files optional.
- However, it would be unusual not to have a kernel configuration.
+ As mentioned earlier, you can group related configurations into multiple files and
+ name them all in the SRC_URI statement as well.
+ For example, you could group separate configurations specifically for Ethernet and graphics
+ into their own files and add those by using a SRC_URI statement like the
+ following in your append file:
+ <programlisting>
+SRC_URI += "file://defconfig \
+ file://eth.cfg \
+ file://gfx.cfg"
+ </programlisting>
</para>
- </section>
+ <para>
+ The FILESEXTRAPATHS variable is boilerplated here in order to make it easy to do that.
+ It basically allows those configuration files to be found by the build process.
+ </para>
+ <note><para>
+ Other methods exist to accomplish grouping and defining configuration options.
+ For example, you could directly add configuration options to the Yocto kernel
+ <filename class='directory'>wrs_meta</filename> branch for your BSP.
+ The configuration options will likely end up in that location anyway if the BSP gets
+ added to the Yocto Project.
+ For information on how to add these configurations directly, see the
+ "Yocto Project Kernel Architecture and Use Manual" on the
+ <ulink url="http://yoctoproject.org/community/documentation">Yocto Project website
+ Documentation Page</ulink>
+ </para>
+ <para>
+ In general, however, the Yocto Project maintainers take care of moving the SRC_URI-specified
+ configuration options to the <filename class='directory'>wrs_meta</filename> branch.
+ Not only is it easier for BSP developers to not have to worry about putting those
+ configurations in the branch, but having the maintainers do it allows them to apply
+ 'global' knowledge about the kinds of common configuration options multiple BSPs in
+ the tree are typically using.
+ This allows for promotion of common configurations into common features.
+ </para></note>
+ </section>
- <section id='bsp-filelayout-packages'>
+<!-- <section id='bsp-filelayout-packages'>
<title>Other Software (meta-&lt;bsp_name&gt;/recipes-kernel/*)</title>
<para>
@@ -286,9 +461,9 @@ meta-Emenlow/recipes-Emenlow/modem/modem-daemon_0.1.bb
meta-Emenlow/recipes-Emenlow/image-creator/image-creator-native_0.1.bb
</programlisting>
</para>
- </section>
+ </section>
- <section id='bs-filelayout-bbappend'>
+ <section id='bs-filelayout-bbappend'>
<title>Append BSP-Specific Information to Existing Recipes</title>
<para>
Suppose you have a recipe such as "pointercal" that requires machine-specific information.
@@ -306,7 +481,7 @@ meta-Emenlow/recipes-Emenlow/image-creator/image-creator-native_0.1.bb
This allows the BSP layer to do whatever it might want to do to customize the original recipe.
</para>
<para>
- If your recipe needs to reference extra files it can use the FILESEXTRAPATH variable
+ If your recipe needs to reference extra files it can use the FILESEXTRAPATHS variable
to specify their location.
The example below shows extra files contained in a folder called ${PN} (the package name).
</para>
@@ -318,9 +493,9 @@ FILESEXTRAPATHS := "${THISDIR}/${PN}"
which will be picked up by BitBake.
For an example see <filename>meta-emenlow/packages/formfactor</filename>.
</para>
- </section>
+ </section>
- <section id="bsp-filelayout-prebuilds">
+ <section id="bsp-filelayout-prebuilds">
<title>Pre-build Data (meta-&lt;bsp_name&gt;/prebuilds/*)</title>
<para>
This location can contain precompiled representations of the source code
@@ -328,6 +503,7 @@ FILESEXTRAPATHS := "${THISDIR}/${PN}"
Assuming a compatible configuration is used, Poky can process and use these optional pre-compiled
representations to provide much faster build times.
</para>
+ </section> -->
</section>
<section id='bsp-click-through-licensing'>
diff --git a/documentation/poky-ref-manual/extendpoky.xml b/documentation/poky-ref-manual/extendpoky.xml
index 92f51a56f..182b36d51 100644
--- a/documentation/poky-ref-manual/extendpoky.xml
+++ b/documentation/poky-ref-manual/extendpoky.xml
@@ -685,15 +685,20 @@ BBFILE_PRIORITY_emenlow = "6"
This means that for new recipes you must be sure to add the PR variable and set its initial value
equal to "r0".
Failing to define PR makes it easy to miss when you bump a package.
- Note that you can only use integer values for the PR variable.
+ Note that you can only use integer values following the "r" in the PR variable.
</para>
<para>
- You can also use the <glossterm><link linkend='var-INC_PR'>INC_PR</link></glossterm> variable
- to keep up with package revisioning.
+ If you are sharing a common .inc file with multiple recipes, you can also use the
+ <glossterm><link linkend='var-INC_PR'>INC_PR</link></glossterm> variable to ensure that
+ the recipes sharing the .inc file are rebuilt when the .inc file itself is changed. The
+ .inc file must set INC_PR (initially to "r0"), and all recipes referring to it should set PR to
+ "$(INC_PR).0" initially, incrementing the last number when the recipe is changed. If the
+ .inc file is changed then its INC_PR should be incremented.
</para>
<para>
- When upgrading the version of a package the (<glossterm><link
- linkend='var-PV'>PV</link></glossterm>) and PR variables should be reset to "r0".
+ When upgrading the version of a package, assuming the <glossterm><link
+ linkend='var-PV'>PV</link></glossterm> changes, the PR variable should be reset to "r0"
+ (or "$(INC_PR).0" if you are using INC_PR).
</para>
<para>
Usually, version increases occur only to packages.
diff --git a/documentation/poky-ref-manual/poky-ref-manual.xml b/documentation/poky-ref-manual/poky-ref-manual.xml
index 70f0fc132..2175d0afb 100644
--- a/documentation/poky-ref-manual/poky-ref-manual.xml
+++ b/documentation/poky-ref-manual/poky-ref-manual.xml
@@ -21,9 +21,9 @@
<author>
<firstname>Richard</firstname> <surname>Purdie</surname>
<affiliation>
- <orgname>Intel Corporation</orgname>
+ <orgname>Linux Foundation</orgname>
</affiliation>
- <email>richard@linux.intel.com</email>
+ <email>richard.purdie@linuxfoundation.org</email>
</author>
<author>
diff --git a/documentation/poky-ref-manual/ref-variables.xml b/documentation/poky-ref-manual/ref-variables.xml
index 98a501f39..da57e2c38 100644
--- a/documentation/poky-ref-manual/ref-variables.xml
+++ b/documentation/poky-ref-manual/ref-variables.xml
@@ -609,7 +609,7 @@ recipes-graphics/xorg-font/fiont-alias_1.0.2.bb:PR - "$(INC_PR).0"
<glossentry id='var-PR'><glossterm>PR</glossterm>
<glossdef>
- <para>Revision of package.
+ <para>Revision of package. The default value is "r0".
</para>
</glossdef>
</glossentry>
@@ -617,7 +617,11 @@ recipes-graphics/xorg-font/fiont-alias_1.0.2.bb:PR - "$(INC_PR).0"
<glossentry id='var-PV'><glossterm>PV</glossterm>
<glossdef>
<para>Version of package.
- The default value is "1.0"</para>
+ This is normally extracted from the recipe name, e.g. if the recipe is named
+ "expat_2.0.1.bb" then PV will be "2.0.1". PV is generally not overridden within
+ a recipe unless it is building an unstable version from a source code repository
+ (git, svn, etc.).
+ </para>
</glossdef>
</glossentry>
diff --git a/documentation/yocto-project-qs/figures/using-a-pre-built-image.png b/documentation/yocto-project-qs/figures/using-a-pre-built-image.png
index 4f4f7d849..b03130d12 100755..100644
--- a/documentation/yocto-project-qs/figures/using-a-pre-built-image.png
+++ b/documentation/yocto-project-qs/figures/using-a-pre-built-image.png
Binary files differ
diff --git a/documentation/yocto-project-qs/yocto-project-qs.xml b/documentation/yocto-project-qs/yocto-project-qs.xml
index 1c45cde88..24480bc78 100644
--- a/documentation/yocto-project-qs/yocto-project-qs.xml
+++ b/documentation/yocto-project-qs/yocto-project-qs.xml
@@ -141,7 +141,7 @@
unzip texi2html texinfo libsdl1.2-dev docbook-utils gawk \
python-pysqlite2 diffstat help2man make gcc build-essential \
g++ desktop-file-utils chrpath libgl1-mesa-dev libglu1-mesa-dev \
- mercurial
+ mercurial autoconf automake
</literallayout>
<para>
@@ -156,17 +156,18 @@
docbook-utils sed bc glibc-devel ccache pcre pcre-devel quilt \
groff linuxdoc-tools patch linuxdoc-tools cmake help2man \
perl-ExtUtils-MakeMaker tcl-devel gettext chrpath ncurses apr \
- SDL-devel mesa-libGL-devel mesa-libGLU-devel gnome-doc-utils
+ SDL-devel mesa-libGL-devel mesa-libGLU-devel gnome-doc-utils \
+ autoconf automake
</literallayout>
- <para>
- <emphasis>NOTE:</emphasis> Packages vary in number and name for other Linux distributions.
+ <note><para>
+ Packages vary in number and name for other Linux distributions.
The commands here should work. We are interested, though, to learn what works for you.
You can find more information for package requirements on common Linux distributions
at <ulink url="http://wiki.openembedded.net/index.php/OEandYourDistro"></ulink>.
However, you should be careful when using this information as the information applies
to old Linux distributions that are known to not work with a current Poky install.
- </para>
+ </para></note>
</section>
<section id='releases'>
@@ -215,15 +216,16 @@
</mediaobject>
<para>
- Use the following commands from a shell on your Debian-based host to build your image.
- The build creates an entire Linux system including the Toolchain from the source.
+ Use the following commands to build your image.
+ The build process creates an entire Linux distribution, including the toolchain, from source.
</para>
- <para><emphasis>NOTE:</emphasis> The build process using Sato currently consumes
- 50GB of disk space.
- To allow for variations in the build process and for future package expansion we
- recommend 100GB of free disk space.
- </para>
+ <note><para>
+ The build process using Sato currently consumes
+ about 50GB of disk space.
+ To allow for variations in the build process and for future package expansion, we
+ recommend having at least 100GB of free disk space.
+ </para></note>
<para>
<literallayout class='monospaced'>
@@ -234,52 +236,56 @@
</para>
<itemizedlist>
<listitem><para>The first two commands extract the Yocto Project files from the
- release area and place them into a subdirectory of your current directory
- (<command>poky-4.0-build</command> in this example).</para></listitem>
- <listitem><para>The <command>$ source</command> command creates the directory and places
- you there.
- The build directory contains all the object files used during the build.
- The default build directory is <command>poky-4.0-build</command>.
- Note that you can change the target architecture by editing the
- <command>&lt;build_directory&gt;/conf/local.conf</command> file.
- By default the target architecture is qemux86.</para></listitem>
+ release tarball and place them into a subdirectory of your current directory.</para></listitem>
+ <listitem><para>The <command>source</command> command creates the
+ <filename>poky-4.0-build</filename> directory and executes the <command>cd</command>
+ command to make <filename>poky-4.0-build</filename> the working directory.
+ The resulting build directory contains all the files created during the build.
+ By default the target architecture is qemux86.
+ To change this default, edit the value of the MACHINE variable in the
+ <filename>conf/local.conf</filename> file.</para></listitem>
</itemizedlist>
<para>
- Now might be a good time to edit the <command>conf/local.conf</command>
- file.
- The defaults should all be fine. However, you might want to look at the variables
- BB_NUMBER_THREADS and PARALLEL_MAKE.
+ Take some time to examine your <filename>conf/local.conf</filename> file.
+ The defaults should work fine.
+ However, if you have a multi-core CPU you might want to set the variables
+ BB_NUMBER_THREADS and PARALLEL_MAKE to the number of processor cores on your build machine.
By default, these variables are commented out.
</para>
<para>
- Continue with the following command to build the OS image for the target, which is
- poky-image-sato in this example.
+ Continue with the following command to build an OS image for the target, which is
+ <filename>poky-image-sato</filename> in this example.
<literallayout class='monospaced'>
$ bitbake poky-image-sato
</literallayout>
- <emphasis>NOTE:</emphasis> If you are running Fedora 14 or another distribution
- with GNU make 3.82 you might have to run the following two
- <command>$bitbake</command> commands instead:
- <literallayout class='monospaced'>
+ <note><para>
+ If you are running Fedora 14 or another distribution
+ that ships with GNU make v3.82 you need to run the following two
+ <command>bitbake</command> commands instead:
+ <literallayout class='monospaced'>
$ bitbake make-native
$ bitbake poky-image-sato
- </literallayout>
+ </literallayout>
+ </para></note>
The final command runs the image:
<literallayout class='monospaced'>
$ poky-qemu qemux86
</literallayout>
- The build process could take several hours the first time you run it.
- Depending on the number of processors and cores, the amount or RAM, the speed of your
- internet connection and other factors.
- After the initial build, subsequent builds run much faster.
+ <note><para>
+ Depending on the number of processors and cores, the amount or RAM, the speed of your
+ Internet connection and other factors, the build process could take several hours the first
+ time you run it.
+ Subsequent builds run much faster since parts of the build are cached.
+ </para></note>
</para>
</section>
<section id='using-pre-built'>
<title>Using Pre-Built Binaries and QEMU</title>
<para>
- If hardware, libraries and services are stable you can use a pre-built binary of the image, kernel and toolchain and just run it on the target using the emulator QEMU.
- This situation is perfect for developing application software.
+ If hardware, libraries and services are stable you can get started by using a pre-built binary
+ of the image, kernel and toolchain and run it using the emulator QEMU.
+ This scenario is useful for developing application software.
</para>
<para></para>
@@ -296,31 +302,74 @@
</mediaobject>
<para>
- For this scenario you need to do three things:
+ For this scenario you need to do several things:
</para>
<itemizedlist>
<listitem>
<para>
- Install the standalone Yocto toolchain tarball
+ Install the stand-alone Yocto toolchain tarball.
</para>
</listitem>
<listitem>
<para>
- Download the pre-built kernel that will run on QEMU.
- You need to be sure to get the QEMU image that matches your target machine’s architecture (e.g. x86, ARM, etc.).
+ Download the pre-built kernel that will boot with QEMU.
+ You need to be sure to get the QEMU image that matches your target machine’s
+ architecture (e.g. x86, ARM, etc.).
</para>
</listitem>
<listitem>
<para>
- Download and decompress the file image system.
+ Download the filesystem image for your target machine's architecture.
</para>
</listitem>
+ <listitem>
+ <para>
+ Set up the environment to emulate the hardware and then start the QEMU emulator.
+ </para>
+ </listitem>
+
</itemizedlist>
+ <section id='installing-the-toolchain'>
+ <title>Installing the Toolchain</title>
+ <para>
+ You can download the pre-built toolchain, which includes the poky-qemu script and
+ support files, from <ulink url='http://yoctoproject.org/downloads/yocto-0.9/toolchain/'></ulink>.
+ Toolchains are available for 32-bit and 64-bit development systems from the
+ <filename>i586</filename> and <filename>x86_64</filename> folders, respectively.
+ Each type of development system supports five target architectures.
+ The tarball files are named such that a string representing the host system appears
+ first in the filename and then is immediately followed by a string representing
+ the target architecture.
+ </para>
+
+ <literallayout class='monospaced'>
+ yocto-eglibc&lt;<emphasis>host_system</emphasis>&gt;-&lt;<emphasis>arch</emphasis>&gt;-toolchain-sdk-&lt;<emphasis>release</emphasis>&gt;.tar.bz2
+
+ Where:
+ &lt;<emphasis>host_system</emphasis>&gt; is a string representing your development system:
+ i586 or x86_64.
+
+ &lt;<emphasis>arch</emphasis>&gt; is a string representing the target architecture:
+ i585, x86_64, powerpc, mips, or arm.
+
+ &lt;<emphasis>release</emphasis>&gt; is the version of Yocto Project.
+ </literallayout>
+
+ <para>
+ For example, the following toolchain tarball is for a 64-bit development
+ host system and a 32-bit target architecture:
+ </para>
+
+ <literallayout class='monospaced'>
+ yocto-eglibc-x86_64-i586-toolchain-sdk-0.9.tar.bz2
+ </literallayout>
+
<para>
- You can download the pre-built toolchain which includes the poky-qemu script and support files from <ulink url='http://yoctoproject.org/downloads/yocto-0.9/toolchain/'></ulink>. These are available for i586 (32-bit) and x86_64 (64 bit) host machines, targeting each of the 5 supported target architectures. The tarballs are self contained and install into /opt/poky.
- Use these commands to install the toolchain tarball (taking the 64 bit host, 32 bit i586 target as an example):
+ The toolchain tarballs are self-contained and should be installed into <filename>/opt/poky</filename>.
+ The following commands show how you install the toolchain tarball given a 64-bit development host system
+ and a 32-bit target architecture.
</para>
<para>
@@ -329,41 +378,112 @@
$ sudo tar -xvjf yocto-eglibc-x86_64-i586-toolchain-sdk-0.9.tar.bz2
</literallayout>
</para>
+ </section>
+
+ <section id='downloading-the-pre-built-linux-kernel'>
+ <title>Downloading the Pre-Built Linux Kernel</title>
+ <para>
+ You can download the pre-built Linux kernel and the filesystem image suitable for
+ running in the emulator QEMU from
+ <ulink url='http://yoctoproject.org/downloads/yocto-0.9/qemu'></ulink>.
+ Be sure to use the kernel and filesystem image that matches the architecture you want
+ to simulate.
+ </para>
+
+ <para>
+ Most kernel files have the following form:
+ </para>
+
+ <literallayout class='monospaced'>
+ *zImage*qemu&lt;<emphasis>arch</emphasis>&gt;*.bin
+
+ Where:
+ &lt;<emphasis>arch</emphasis>&gt; is a string representing the target architecture:
+ x86, x86-64, ppc, mips, or arm.
+ </literallayout>
+ </section>
+ <section id='downloading-the-filesystem'>
+ <title>Downloading the Filesystem</title>
<para>
- You can download the pre-built Linux kernel and the file image system from <ulink url='http://yoctoproject.org/downloads/yocto-0.9/'></ulink>.
- The kernel and file image system have the following forms, respectively:
+ The filesystem image has two forms.
+ One form is an <filename>ext3</filename> filesystem image.
+ The other form is a tarball of the filesystem and is booted using user-space NFS.
+ Here are the respective forms:
</para>
<literallayout class='monospaced'>
- *zImage*qemu*.bin
- poky-image-*-qemu*.ext2.bz2
+ yocto-image-&lt;<emphasis>profile</emphasis>&gt;-qemu&lt;<emphasis>arch</emphasis>&gt;.rootfs.ext3
+ yocto-image-&lt;<emphasis>profile</emphasis>&gt;-qemu&lt;<emphasis>arch</emphasis>&gt;.rootfs.tar.bz2
+
+ Where:
+ &lt;<emphasis>profile</emphasis>&gt; is the filesystem image's profile:
+ sdk, sato, minimal, or lsb.
+
+ &lt;<emphasis>arch</emphasis>&gt; is a string representing the target architecture:
+ x86, x86-64, ppc, mips, or arm.
</literallayout>
+ </section>
+ <section id='setting-up-the-environment-and-starting-the-qemu-emulator'>
+ <title>Setting Up the Environment and Starting the QEMU Emulator</title>
<para>
- You must decompress the file image system using the following command:
+ Before you start the QEMU emulator you need to set up the emulation environment.
+ The following command form sets up the emulation environment.
</para>
<literallayout class='monospaced'>
- $ bzip2 -d
+ $ source /opt/poky/environment-setup-&lt;<emphasis>arch</emphasis>&gt;-poky-linux-&lt;<emphasis>if</emphasis>&gt;
+
+ Where:
+ &lt;<emphasis>arch</emphasis>&gt; is a string representing the target architecture:
+ i586, x86_64, ppc603e, mips, or armv5te.
+
+ &lt;<emphasis>if</emphasis>&gt; is a string representing an embedded application binary interface.
+ Not all setup scripts include this string.
</literallayout>
<para>
- You can now start the emulator using these commands (assuming an 32 bit i586 target):
+ Finally, this command form invokes the QEMU emulator
</para>
<literallayout class='monospaced'>
- $ source /opt/poky/environment-setup-i586-poky-linux
$ poky-qemu &lt;<emphasis>qemuarch</emphasis>&gt; &lt;<emphasis>kernel</emphasis>&gt; &lt;<emphasis>image</emphasis>&gt; &lt;<emphasis>fstype</emphasis>&gt;
+
+ Where:
+ &lt;<emphasis>qemuarch</emphasis>&gt; is a string representing the target architecture: qemux86, qemux86-64,
+ qemuppc, qemumips, or qemuarm.
+
+ &lt;<emphasis>kernel</emphasis>&gt; is the architecture-specific kernel.
+
+ &lt;<emphasis>image</emphasis>&gt; is the .ext3 filesystem image.
+
+ &lt;<emphasis>fstype</emphasis>&gt; is the filesystem type.
</literallayout>
+
<para>
- For example:
+ Continuing with the example, the following two commands setup the emulation
+ environment and launch QEMU.
+ The kernel and filesystem are for a 32-bit target architecture.
</para>
+
<literallayout class='monospaced'>
- $ poky-qemu qemuppc zImage-2.6.34-qemuppc-0.9 \
- yocto-image-minimal-qemuppc-0.9.rootfs.ext3 ext3
+ $ source /opt/poky/environment-setup-i586-poky-linux
+ $ poky-qemu qemui586 zImage-2.6.34-qemux86-0.9 yocto-image-sdk-qemux86-0.9.rootfs.ext3 ext3
</literallayout>
-
+
+ <para>
+ The environment in which QEMU launches varies depending on the filesystem image and on the
+ target architecture. For example, if you source the environment for the ARM target
+ architecture and then boot the minimal QEMU image, the emulator comes up in a new
+ shell in command-line mode. However, if you boot the SDK image QEMU comes up with
+ a GUI.
+ </para>
+
+ <note><para>
+ Booting the PPC image results in QEMU launching in the same shell in command-line mode.
+ </para></note>
+ </section>
</section>
</section>
diff --git a/meta-demoapps/recipes-connectivity/openswan/openswan_2.4.7.bb b/meta-demoapps/recipes-connectivity/openswan/openswan_2.4.7.bb
index 022f709f9..d647f682d 100644
--- a/meta-demoapps/recipes-connectivity/openswan/openswan_2.4.7.bb
+++ b/meta-demoapps/recipes-connectivity/openswan/openswan_2.4.7.bb
@@ -5,9 +5,9 @@ Linux operating system."
HOMEPAGE = "http://www.openswan.org"
LICENSE = "GPLv2"
DEPENDS = "gmp flex-native"
-RRECOMMENDS = "kernel-module-ipsec"
-RDEPENDS_nylon = "perl"
-PR = "r0"
+RRECOMMENDS_${PN} = "kernel-module-ipsec"
+RDEPENDS_${PN}_nylon = "perl"
+PR = "r1"
SRC_URI = "http://www.openswan.org/download/old/openswan-${PV}.tar.gz \
file://openswan-2.4.7-gentoo.patch;patch=1 \
diff --git a/meta-demoapps/recipes-connectivity/opensync/libsync_svn.bb b/meta-demoapps/recipes-connectivity/opensync/libsync_svn.bb
index 74ca752ad..34115ff4e 100644
--- a/meta-demoapps/recipes-connectivity/opensync/libsync_svn.bb
+++ b/meta-demoapps/recipes-connectivity/opensync/libsync_svn.bb
@@ -4,10 +4,11 @@ OpenSync in GLib applications."
LICENSE = "LGPL"
SECTION = "x11"
DEPENDS = "glib-2.0 gtk+ libglade libopensync avahi"
-RRECOMMENDS = "\
+RRECOMMENDS_${PN} = "\
libopensync-plugin-file \
"
-PV = "0.0+svnr${SRCREV}"
+PV = "0.0+svnr${SRCPV}"
+PR = "r1"
SRC_URI = "svn://svn.o-hand.com/repos/sync/trunk;module=sync;proto=http"
diff --git a/meta-demoapps/recipes-connectivity/telepathy/empathy_2.26.1.bb b/meta-demoapps/recipes-connectivity/telepathy/empathy_2.26.1.bb
index 2e07b19c1..2c973ac66 100644
--- a/meta-demoapps/recipes-connectivity/telepathy/empathy_2.26.1.bb
+++ b/meta-demoapps/recipes-connectivity/telepathy/empathy_2.26.1.bb
@@ -6,9 +6,9 @@ Gadu-Gadu, Groupwise, ICQ and QQ."
HOMEPAGE = "http://blogs.gnome.org/view/xclaesse/2007/04/26/0"
LICENSE = "GPL"
DEPENDS = "libcanberra telepathy-farsight gnome-doc-utils python-native telepathy-python telepathy-mission-control libtelepathy telepathy-glib gtk+ gconf libglade eds-dbus"
-RDEPENDS = "telepathy-mission-control"
-RRECOMMENDS = "telepathy-gabble"
-PR = "r2"
+RDEPENDS_${PN} = "telepathy-mission-control"
+RRECOMMENDS_${PN} = "telepathy-gabble"
+PR = "r3"
inherit gnome
diff --git a/meta-demoapps/recipes-gnome/abiword/abiword-2.5.inc b/meta-demoapps/recipes-gnome/abiword/abiword-2.5.inc
index dcd3b8553..e3f6a9d2b 100644
--- a/meta-demoapps/recipes-gnome/abiword/abiword-2.5.inc
+++ b/meta-demoapps/recipes-gnome/abiword/abiword-2.5.inc
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.abiword.org"
SECTION = "x11/office"
LICENSE = "GPLv2"
DEPENDS = "perl-native wv libgsf libglade libfribidi jpeg libpng libxml2"
-RDEPENDS = "glibc-gconv-ibm850 glibc-gconv-cp1252 \
+RDEPENDS_${PN} = "glibc-gconv-ibm850 glibc-gconv-cp1252 \
glibc-gconv-iso8859-15 glibc-gconv-iso8859-1"
SRC_URI = "http://www.abiword.org/downloads/abiword/${PV}/source/abiword-${PV}.tar.gz"
diff --git a/meta-demoapps/recipes-gnome/abiword/abiword-embedded_2.5.2.bb b/meta-demoapps/recipes-gnome/abiword/abiword-embedded_2.5.2.bb
index 47cf9e03c..7ee0f866a 100644
--- a/meta-demoapps/recipes-gnome/abiword/abiword-embedded_2.5.2.bb
+++ b/meta-demoapps/recipes-gnome/abiword/abiword-embedded_2.5.2.bb
@@ -1,5 +1,7 @@
require abiword-2.5.inc
+PR = "r1"
+
EXTRA_OECONF += "--enable-embedded"
S = "${WORKDIR}/abiword-${PV}"
diff --git a/meta-demoapps/recipes-gnome/abiword/abiword.inc b/meta-demoapps/recipes-gnome/abiword/abiword.inc
index d2fabf931..5d7e3ce60 100644
--- a/meta-demoapps/recipes-gnome/abiword/abiword.inc
+++ b/meta-demoapps/recipes-gnome/abiword/abiword.inc
@@ -4,7 +4,7 @@ HOMEPAGE = "http://www.abiword.org""
LICENSE = "GPLv2"
DEPENDS = "libgsf libglade libfribidi libxml2 wv"
-RRECOMMENDS = "glibc-gconv-ibm850 glibc-gconv-cp1252 \
+RRECOMMENDS_${PN} = "glibc-gconv-ibm850 glibc-gconv-cp1252 \
glibc-gconv-iso8859-15 glibc-gconv-iso8859-1"
# Share this file between recipes that use cvs and that pull tarballs
diff --git a/meta-demoapps/recipes-gnome/abiword/abiword_2.5.2.bb b/meta-demoapps/recipes-gnome/abiword/abiword_2.5.2.bb
index 566d0fa20..c10d761b0 100644
--- a/meta-demoapps/recipes-gnome/abiword/abiword_2.5.2.bb
+++ b/meta-demoapps/recipes-gnome/abiword/abiword_2.5.2.bb
@@ -1,5 +1,5 @@
require abiword-2.5.inc
-PR = "r1"
+PR = "r2"
-RCONFLICTS = "abiword-embedded"
+RCONFLICTS_${PN} = "abiword-embedded"
diff --git a/meta-demoapps/recipes-gnome/abiword/abiword_cvs.bb b/meta-demoapps/recipes-gnome/abiword/abiword_cvs.bb
index e0e3bd7d6..4dffbd071 100644
--- a/meta-demoapps/recipes-gnome/abiword/abiword_cvs.bb
+++ b/meta-demoapps/recipes-gnome/abiword/abiword_cvs.bb
@@ -1,7 +1,7 @@
require abiword.inc
PV="2.5.0+cvs${SRCDATE}"
-PR = "r3"
+PR = "r4"
SRC_URI = "${CVSURI}"
diff --git a/meta-demoapps/recipes-gnome/libgsf/libgsf_1.14.5.bb b/meta-demoapps/recipes-gnome/libgsf/libgsf_1.14.5.bb
index 760c5c10a..3ac7d6e2e 100644
--- a/meta-demoapps/recipes-gnome/libgsf/libgsf_1.14.5.bb
+++ b/meta-demoapps/recipes-gnome/libgsf/libgsf_1.14.5.bb
@@ -1,10 +1,10 @@
DESCRIPTION = "GNOME Structured File Library"
LICENSE = "GPL"
SECTION = "libs"
-PR = "r0"
+PR = "r1"
DEPENDS= "libxml2 bzip2 glib-2.0 zlib"
-RDEPENDS = "gconf gnome-vfs"
+RDEPENDS_${PN} = "gconf gnome-vfs"
PACKAGES =+ "${PN}-gnome ${PN}-gnome-dev "
diff --git a/meta-demoapps/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_svn.bb b/meta-demoapps/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_git.bb
index 6a9f18bea..fdb764ca0 100644
--- a/meta-demoapps/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_svn.bb
+++ b/meta-demoapps/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_git.bb
@@ -2,10 +2,12 @@ DESCRIPTION = "Matchbox window manager extra themes"
LICENSE = "GPL"
DEPENDS = "matchbox-wm"
SECTION = "x11/wm"
-PV = "0.3+svnr${SRCREV}"
+PV = "0.3+git${SRCPV}"
-SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=matchbox-themes-extra;proto=http"
-S = "${WORKDIR}/${PN}"
+LIC_FILES_CHKSUM = "file://configure.ac;endline=7;md5=3c4e087662e37f10e469425f3a0ad225"
+
+SRC_URI = "git://git.pokylinux.org/${PN};protocol=git"
+S = "${WORKDIR}/git"
inherit autotools pkgconfig
diff --git a/meta-demoapps/recipes-sato/matchbox-themes-gtk/matchbox-themes-gtk.bb b/meta-demoapps/recipes-sato/matchbox-themes-gtk/matchbox-themes-gtk.bb
index 60be56de1..21716cf72 100644
--- a/meta-demoapps/recipes-sato/matchbox-themes-gtk/matchbox-themes-gtk.bb
+++ b/meta-demoapps/recipes-sato/matchbox-themes-gtk/matchbox-themes-gtk.bb
@@ -1,9 +1,9 @@
DESCRIPTION = "Gtk2 theme files to accompany default Matchbox themes"
LICENSE = "GPL"
DEPENDS = "gtk-engines"
-RDEPENDS = "matchbox-wm gtk-engine-clearlooks"
+RDEPENDS_${PN} = "matchbox-wm gtk-engine-clearlooks"
SECTION = "x11/base"
-PR = "r2"
+PR = "r3"
SRC_URI = "file://gtkrc"
diff --git a/meta-emenlow/README b/meta-emenlow/README
new file mode 100644
index 000000000..862af5481
--- /dev/null
+++ b/meta-emenlow/README
@@ -0,0 +1,78 @@
+This README file contains information on building the meta-emenlow
+BSP layer using any of the supported machine configurations, and
+booting the images contained in the /binary directory.
+
+If you're only interested in booting the images in the /binary
+directory of a BSP tarball you've downloaded, there's nothing special
+to do - the appropriate images are already in the /binary directory
+depending on which BSP tarball you downloaded.
+
+Please see the corresponding sections below for details.
+
+
+Table of Contents
+=================
+
+ I. Building the meta-emenlow BSP layer
+II. Booting the images in /binary
+
+
+I. Building the meta-emenlow BSP layer
+=======================================
+
+In order to build an image with BSP support for emenlow, you just need
+to check out the poky master branch.
+
+Having done that, you can build an emenlow image by adding the
+location of the meta-emenlow layer to bblayers.conf e.g.:
+
+ yocto/meta-emenlow \
+
+To enable the emenlow layer, add the emenlow MACHINE to local.conf:
+
+ MACHINE ?= "emenlow"
+
+You should then be able to build an emenlow image as such:
+
+ $ source poky-init-build-env
+ $ bitbake poky-image-sato-live
+
+At the end of a successful build, you should have a live image that
+you can boot from a USB flash drive (see instructions on how to do
+that below, in the section 'Booting the images from /binary').
+
+
+II. Booting the images in /binary
+=================================
+
+This BSP contains bootable live images, which can be used to directly
+boot Yocto off of a USB flash drive.
+
+Under Linux, insert a USB flash drive. Assuming the USB flash drive
+takes device /dev/sdf, use dd to copy the live image to it. For
+example:
+
+# dd if=poky-image-sato-live-emenlow-20101207053738.hddimg of=/dev/sdf
+# sync
+# eject /dev/sdf
+
+This should give you a bootable USB flash device. Insert the device
+into a bootable USB socket on the target, and power on. This should
+result in a system booted to the Sato graphical desktop.
+
+If you want a terminal, use the arrows at the top of the UI to move to
+different pages of available applications, one of which is named
+'Terminal'. Clicking that should give you a root terminal.
+
+If you want to ssh into the system, you can use the root terminal to
+ifconfig the IP address and use that to ssh in. The root password is
+empty, so to log in type 'root' for the user name and hit 'Enter' at
+the Password prompt: and you should be in.
+
+----
+
+If you find you're getting corrupt images on the USB (it doesn't show
+the syslinux boot: prompt, or the boot: prompt contains strange
+characters), try doing this first:
+
+# dd if=/dev/zero of=/dev/sdf bs=1M count=512
diff --git a/meta-emenlow/binary/.gitignore b/meta-emenlow/binary/.gitignore
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/meta-emenlow/binary/.gitignore
diff --git a/meta-emenlow/conf/layer.conf b/meta-emenlow/conf/layer.conf
index 4017787c6..563b9c8e6 100644
--- a/meta-emenlow/conf/layer.conf
+++ b/meta-emenlow/conf/layer.conf
@@ -2,8 +2,8 @@
BBPATH := "${BBPATH}:${LAYERDIR}"
# We have a packages directory, add to BBFILES
-BBFILES := "${BBFILES} ${LAYERDIR}/recipes/*/*.bb \
- ${LAYERDIR}/recipes/*/*.bbappend"
+BBFILES := "${BBFILES} ${LAYERDIR}/recipes-*/*/*.bb \
+ ${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "emenlow"
BBFILE_PATTERN_emenlow := "^${LAYERDIR}/"
diff --git a/meta-emenlow/conf/machine/emenlow.conf b/meta-emenlow/conf/machine/emenlow.conf
index b8dea6403..faedfe541 100644
--- a/meta-emenlow/conf/machine/emenlow.conf
+++ b/meta-emenlow/conf/machine/emenlow.conf
@@ -5,11 +5,11 @@
# Webs-2120 box.
TARGET_ARCH = "i586"
-PACKAGE_EXTRA_ARCHS = "x86 emen"
+PACKAGE_EXTRA_ARCHS = "x86 core2"
include conf/machine/include/tune-atom.inc
-BASE_PACKAGE_ARCH="emen"
+BASE_PACKAGE_ARCH="core2"
MACHINE_FEATURES = "kernel26 screen keyboard pci usbhost ext2 ext3 x86 \
acpi serial usbgadget"
@@ -43,3 +43,6 @@ IMAGE_FSTYPES ?= "ext3 cpio.gz"
GLIBC_ADDONS = "nptl"
GLIBC_EXTRA_OECONF = "--with-tls"
+
+SRCREV_machine_pn-linux-yocto-stable_emenlow ?= "aae69fdf104b0a9d7b3710f808aac6ab303490f7"
+SRCREV_meta_pn-linux-yocto-stable_emenlow ?= "50ccd2b3213b6a1bacb3f898c035119802dac420"
diff --git a/meta-emenlow/recipes/formfactor/formfactor/emenlow/machconfig b/meta-emenlow/recipes-bsp/formfactor/formfactor/emenlow/machconfig
index ffce01227..ffce01227 100644
--- a/meta-emenlow/recipes/formfactor/formfactor/emenlow/machconfig
+++ b/meta-emenlow/recipes-bsp/formfactor/formfactor/emenlow/machconfig
diff --git a/meta-emenlow/recipes/formfactor/formfactor_0.0.bbappend b/meta-emenlow/recipes-bsp/formfactor/formfactor_0.0.bbappend
index 4a41d4871..4a41d4871 100644
--- a/meta-emenlow/recipes/formfactor/formfactor_0.0.bbappend
+++ b/meta-emenlow/recipes-bsp/formfactor/formfactor_0.0.bbappend
diff --git a/meta-emenlow/recipes/libdrm-poulsbo/libdrm-poulsbo-2.3.0/libdrm-poulsbo.patch b/meta-emenlow/recipes-graphics/libdrm-poulsbo/libdrm-poulsbo-2.3.0/libdrm-poulsbo.patch
index 14bde6887..14bde6887 100644
--- a/meta-emenlow/recipes/libdrm-poulsbo/libdrm-poulsbo-2.3.0/libdrm-poulsbo.patch
+++ b/meta-emenlow/recipes-graphics/libdrm-poulsbo/libdrm-poulsbo-2.3.0/libdrm-poulsbo.patch
diff --git a/meta-emenlow/recipes/libdrm-poulsbo/libdrm-poulsbo_2.3.0.bb b/meta-emenlow/recipes-graphics/libdrm-poulsbo/libdrm-poulsbo_2.3.0.bb
index d0e14a562..d0e14a562 100644
--- a/meta-emenlow/recipes/libdrm-poulsbo/libdrm-poulsbo_2.3.0.bb
+++ b/meta-emenlow/recipes-graphics/libdrm-poulsbo/libdrm-poulsbo_2.3.0.bb
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/033_g45_add_rgba_subpic.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/033_g45_add_rgba_subpic.patch
index 1b928b4c0..1b928b4c0 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/033_g45_add_rgba_subpic.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/033_g45_add_rgba_subpic.patch
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/034_g45_fix_return_for_unimpl.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/034_g45_fix_return_for_unimpl.patch
index a4612133b..a4612133b 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/034_g45_fix_return_for_unimpl.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/034_g45_fix_return_for_unimpl.patch
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/035_g45_add_yv12_image_format.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/035_g45_add_yv12_image_format.patch
index 92d814c1a..92d814c1a 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/035_g45_add_yv12_image_format.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/035_g45_add_yv12_image_format.patch
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/036_g45_add_vaGetImage.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/036_g45_add_vaGetImage.patch
index dc25d9f9e..dc25d9f9e 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/036_g45_add_vaGetImage.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/036_g45_add_vaGetImage.patch
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/037_g45_add_vaPutImage.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/037_g45_add_vaPutImage.patch
index ce638cce5..ce638cce5 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/037_g45_add_vaPutImage.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/037_g45_add_vaPutImage.patch
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/038_g45_vaPutSurface_cliprects.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/038_g45_vaPutSurface_cliprects.patch
index ca2e1bd47..ca2e1bd47 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/038_g45_vaPutSurface_cliprects.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/038_g45_vaPutSurface_cliprects.patch
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/102_attribute_visibility.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/102_attribute_visibility.patch
index 2885ab7b5..2885ab7b5 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/102_attribute_visibility.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/102_attribute_visibility.patch
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/103_fix_vainfo_deps.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/103_fix_vainfo_deps.patch
index 942c26d1b..942c26d1b 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/103_fix_vainfo_deps.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/103_fix_vainfo_deps.patch
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/104_fix_libva_pkgconfig_deps.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/104_fix_libva_pkgconfig_deps.patch
index bd212bf39..bd212bf39 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/104_fix_libva_pkgconfig_deps.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/104_fix_libva_pkgconfig_deps.patch
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/105_dont_search_LIBGL_DRIVERS_PATH.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/105_dont_search_LIBGL_DRIVERS_PATH.patch
index de873d601..de873d601 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/105_dont_search_LIBGL_DRIVERS_PATH.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/105_dont_search_LIBGL_DRIVERS_PATH.patch
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/108_drivers_path.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/108_drivers_path.patch
index 073c98705..073c98705 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/108_drivers_path.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/108_drivers_path.patch
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/203_fix_fglrx_detection.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/203_fix_fglrx_detection.patch
index ce7f10653..ce7f10653 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/203_fix_fglrx_detection.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/203_fix_fglrx_detection.patch
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/204_check_ATIFGLEXTENSION.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/204_check_ATIFGLEXTENSION.patch
index 02920a894..02920a894 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/204_check_ATIFGLEXTENSION.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/204_check_ATIFGLEXTENSION.patch
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/300_sds_version.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/300_sds_version.patch
index 07531c90c..07531c90c 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/300_sds_version.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/300_sds_version.patch
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/301_vdpau_mpeg4.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/301_vdpau_mpeg4.patch
index 86188902a..86188902a 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/301_vdpau_mpeg4.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/301_vdpau_mpeg4.patch
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/320_move_vaPutSurface_flags_def.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/320_move_vaPutSurface_flags_def.patch
index f00c52ca4..f00c52ca4 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/320_move_vaPutSurface_flags_def.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/320_move_vaPutSurface_flags_def.patch
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/321_libva_glx.base.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/321_libva_glx.base.patch
index 43af6f40c..43af6f40c 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/321_libva_glx.base.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/321_libva_glx.base.patch
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/322_libva_glx.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/322_libva_glx.patch
index ccd9ae090..ccd9ae090 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/322_libva_glx.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/322_libva_glx.patch
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/390_compat.base.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/390_compat.base.patch
index f2e0d61b0..f2e0d61b0 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/390_compat.base.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/390_compat.base.patch
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/391_compat.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/391_compat.patch
index 5e09d22b8..5e09d22b8 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/391_compat.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/391_compat.patch
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/392_compat.dso.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/392_compat.dso.patch
index 57ae44f9d..57ae44f9d 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/392_compat.dso.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/392_compat.dso.patch
diff --git a/meta-emenlow/recipes/libva/libva-0.31.0/libdrm-poulsbo.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/libdrm-poulsbo.patch
index ac38eceb8..ac38eceb8 100644
--- a/meta-emenlow/recipes/libva/libva-0.31.0/libdrm-poulsbo.patch
+++ b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/libdrm-poulsbo.patch
diff --git a/meta-emenlow/recipes/libva/libva_0.31.0.bb b/meta-emenlow/recipes-graphics/libva/libva_0.31.0.bb
index a31640987..a31640987 100644
--- a/meta-emenlow/recipes/libva/libva_0.31.0.bb
+++ b/meta-emenlow/recipes-graphics/libva/libva_0.31.0.bb
diff --git a/meta-emenlow/recipes/psb-firmware/psb-firmware_0.30.bb b/meta-emenlow/recipes-graphics/psb-firmware/psb-firmware_0.30.bb
index 164ea66c8..164ea66c8 100644
--- a/meta-emenlow/recipes/psb-firmware/psb-firmware_0.30.bb
+++ b/meta-emenlow/recipes-graphics/psb-firmware/psb-firmware_0.30.bb
diff --git a/meta-emenlow/recipes/psb-kernel-source/psb-kernel-source-4.42.0/build.patch b/meta-emenlow/recipes-graphics/psb-kernel-source/psb-kernel-source-4.42.0/build.patch
index ce6f2aa41..ce6f2aa41 100644
--- a/meta-emenlow/recipes/psb-kernel-source/psb-kernel-source-4.42.0/build.patch
+++ b/meta-emenlow/recipes-graphics/psb-kernel-source/psb-kernel-source-4.42.0/build.patch
diff --git a/meta-emenlow/recipes/psb-kernel-source/psb-kernel-source_4.42.0.bb b/meta-emenlow/recipes-graphics/psb-kernel-source/psb-kernel-source_4.42.0.bb
index 5c1a3e1c2..5c1a3e1c2 100644
--- a/meta-emenlow/recipes/psb-kernel-source/psb-kernel-source_4.42.0.bb
+++ b/meta-emenlow/recipes-graphics/psb-kernel-source/psb-kernel-source_4.42.0.bb
diff --git a/meta-emenlow/recipes/xorg-xserver/files/crosscompile.patch b/meta-emenlow/recipes-graphics/xorg-xserver/files/crosscompile.patch
index 2341e40bc..2341e40bc 100644
--- a/meta-emenlow/recipes/xorg-xserver/files/crosscompile.patch
+++ b/meta-emenlow/recipes-graphics/xorg-xserver/files/crosscompile.patch
diff --git a/meta-emenlow/recipes/xorg-xserver/files/fix_open_max_preprocessor_error.patch b/meta-emenlow/recipes-graphics/xorg-xserver/files/fix_open_max_preprocessor_error.patch
index 565832eed..565832eed 100644
--- a/meta-emenlow/recipes/xorg-xserver/files/fix_open_max_preprocessor_error.patch
+++ b/meta-emenlow/recipes-graphics/xorg-xserver/files/fix_open_max_preprocessor_error.patch
diff --git a/meta-emenlow/recipes/xorg-xserver/files/libdrm-poulsbo.patch b/meta-emenlow/recipes-graphics/xorg-xserver/files/libdrm-poulsbo.patch
index b604cab7c..b604cab7c 100644
--- a/meta-emenlow/recipes/xorg-xserver/files/libdrm-poulsbo.patch
+++ b/meta-emenlow/recipes-graphics/xorg-xserver/files/libdrm-poulsbo.patch
diff --git a/meta-emenlow/recipes/xorg-xserver/files/macro_tweak.patch b/meta-emenlow/recipes-graphics/xorg-xserver/files/macro_tweak.patch
index 6998adffe..6998adffe 100644
--- a/meta-emenlow/recipes/xorg-xserver/files/macro_tweak.patch
+++ b/meta-emenlow/recipes-graphics/xorg-xserver/files/macro_tweak.patch
diff --git a/meta-emenlow/recipes/xorg-xserver/files/nodolt.patch b/meta-emenlow/recipes-graphics/xorg-xserver/files/nodolt.patch
index 6b34032a3..6b34032a3 100644
--- a/meta-emenlow/recipes/xorg-xserver/files/nodolt.patch
+++ b/meta-emenlow/recipes-graphics/xorg-xserver/files/nodolt.patch
diff --git a/meta-emenlow/recipes/xorg-xserver/xserver-psb_1.7.99.2.bb b/meta-emenlow/recipes-graphics/xorg-xserver/xserver-psb_1.7.99.2.bb
index 5227faa45..5227faa45 100644
--- a/meta-emenlow/recipes/xorg-xserver/xserver-psb_1.7.99.2.bb
+++ b/meta-emenlow/recipes-graphics/xorg-xserver/xserver-psb_1.7.99.2.bb
diff --git a/meta-emenlow/recipes/xorg-xserver/xserver-xf86-config/emenlow/xorg.conf b/meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config/emenlow/xorg.conf
index 684626383..684626383 100644
--- a/meta-emenlow/recipes/xorg-xserver/xserver-xf86-config/emenlow/xorg.conf
+++ b/meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config/emenlow/xorg.conf
diff --git a/meta-emenlow/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend b/meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
index 4b8d0e656..4b8d0e656 100644
--- a/meta-emenlow/recipes/xorg-xserver/xserver-xf86-config_0.1.bbappend
+++ b/meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
diff --git a/meta-emenlow/recipes/xpsb-glx/xpsb-glx-0.18/cross-compile.patch b/meta-emenlow/recipes-graphics/xpsb-glx/xpsb-glx-0.18/cross-compile.patch
index a23159681..a23159681 100644
--- a/meta-emenlow/recipes/xpsb-glx/xpsb-glx-0.18/cross-compile.patch
+++ b/meta-emenlow/recipes-graphics/xpsb-glx/xpsb-glx-0.18/cross-compile.patch
diff --git a/meta-emenlow/recipes/xpsb-glx/xpsb-glx-0.18/libdrmname.patch b/meta-emenlow/recipes-graphics/xpsb-glx/xpsb-glx-0.18/libdrmname.patch
index 96b94ef2c..96b94ef2c 100644
--- a/meta-emenlow/recipes/xpsb-glx/xpsb-glx-0.18/libdrmname.patch
+++ b/meta-emenlow/recipes-graphics/xpsb-glx/xpsb-glx-0.18/libdrmname.patch
diff --git a/meta-emenlow/recipes/xpsb-glx/xpsb-glx-0.18/native-matypes.patch b/meta-emenlow/recipes-graphics/xpsb-glx/xpsb-glx-0.18/native-matypes.patch
index 26b1f52a3..26b1f52a3 100644
--- a/meta-emenlow/recipes/xpsb-glx/xpsb-glx-0.18/native-matypes.patch
+++ b/meta-emenlow/recipes-graphics/xpsb-glx/xpsb-glx-0.18/native-matypes.patch
diff --git a/meta-emenlow/recipes/xpsb-glx/xpsb-glx_0.18.bb b/meta-emenlow/recipes-graphics/xpsb-glx/xpsb-glx_0.18.bb
index 6ceb1cbe0..6ceb1cbe0 100644
--- a/meta-emenlow/recipes/xpsb-glx/xpsb-glx_0.18.bb
+++ b/meta-emenlow/recipes-graphics/xpsb-glx/xpsb-glx_0.18.bb
diff --git a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/01_disable_lid_timer.patch b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/01_disable_lid_timer.patch
index 47da3bce0..47da3bce0 100644
--- a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/01_disable_lid_timer.patch
+++ b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/01_disable_lid_timer.patch
diff --git a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/dri-h.patch b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/dri-h.patch
index 98ffa2719..98ffa2719 100644
--- a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/dri-h.patch
+++ b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/dri-h.patch
diff --git a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/libdrm-poulsbo.patch b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/libdrm-poulsbo.patch
index 0ecc880c0..0ecc880c0 100644
--- a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/libdrm-poulsbo.patch
+++ b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/libdrm-poulsbo.patch
diff --git a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/psb_mixed.patch b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/psb_mixed.patch
index 6065fa5ca..6065fa5ca 100644
--- a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/psb_mixed.patch
+++ b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/psb_mixed.patch
diff --git a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/psb_xvtempfix.patch b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/psb_xvtempfix.patch
index 34798c07e..34798c07e 100644
--- a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/psb_xvtempfix.patch
+++ b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/psb_xvtempfix.patch
diff --git a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/stubs.patch b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/stubs.patch
index b201d7e31..b201d7e31 100644
--- a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/stubs.patch
+++ b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/stubs.patch
diff --git a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/visibility.patch b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/visibility.patch
index 2c6880587..2c6880587 100644
--- a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/visibility.patch
+++ b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/visibility.patch
diff --git a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xorg-x11-drv-psb-0.31.0-ignoreacpi.patch b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xorg-x11-drv-psb-0.31.0-ignoreacpi.patch
index a73a493ec..a73a493ec 100644
--- a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xorg-x11-drv-psb-0.31.0-ignoreacpi.patch
+++ b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xorg-x11-drv-psb-0.31.0-ignoreacpi.patch
diff --git a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xorg-x11-drv-psb-0.31.0-xserver17.patch b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xorg-x11-drv-psb-0.31.0-xserver17.patch
index defed5036..defed5036 100644
--- a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xorg-x11-drv-psb-0.31.0-xserver17.patch
+++ b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xorg-x11-drv-psb-0.31.0-xserver17.patch
diff --git a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-assert.patch b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-assert.patch
index 5137a5904..5137a5904 100644
--- a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-assert.patch
+++ b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-assert.patch
diff --git a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-comment_unused.patch b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-comment_unused.patch
index ca811b696..ca811b696 100644
--- a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-comment_unused.patch
+++ b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-comment_unused.patch
diff --git a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-greedy.patch b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-greedy.patch
index 8758911c7..8758911c7 100644
--- a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-greedy.patch
+++ b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-greedy.patch
diff --git a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-loader.patch b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-loader.patch
index 24cbc0d30..24cbc0d30 100644
--- a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-loader.patch
+++ b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/xserver-xorg-video-psb-0.31.0-loader.patch
diff --git a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb_0.32.1.bb b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb_0.32.1.bb
index 1ff92bbc6..1ff92bbc6 100644
--- a/meta-emenlow/recipes/xserver-xorg-video-psb/xserver-xorg-video-psb_0.32.1.bb
+++ b/meta-emenlow/recipes-graphics/xserver-xorg-video-psb/xserver-xorg-video-psb_0.32.1.bb
diff --git a/meta-emenlow/recipes/linux/linux-2.6.33.2/defconfig b/meta-emenlow/recipes-kernel/linux/linux-2.6.33.2/defconfig
index a516dc987..a516dc987 100644
--- a/meta-emenlow/recipes/linux/linux-2.6.33.2/defconfig
+++ b/meta-emenlow/recipes-kernel/linux/linux-2.6.33.2/defconfig
diff --git a/meta-emenlow/recipes/linux/linux-yocto-stable_git.bbappend b/meta-emenlow/recipes-kernel/linux/linux-yocto-stable_git.bbappend
index 9fa2937d4..9fa2937d4 100644
--- a/meta-emenlow/recipes/linux/linux-yocto-stable_git.bbappend
+++ b/meta-emenlow/recipes-kernel/linux/linux-yocto-stable_git.bbappend
diff --git a/meta-emenlow/recipes/linux/linux_2.6.33.2.bbappend b/meta-emenlow/recipes-kernel/linux/linux_2.6.33.2.bbappend
index fac092140..fac092140 100644
--- a/meta-emenlow/recipes/linux/linux_2.6.33.2.bbappend
+++ b/meta-emenlow/recipes-kernel/linux/linux_2.6.33.2.bbappend
diff --git a/meta-rt/conf/layer.conf b/meta-rt/conf/layer.conf
new file mode 100644
index 000000000..94ebc0252
--- /dev/null
+++ b/meta-rt/conf/layer.conf
@@ -0,0 +1,23 @@
+# Default to first disk/first partition
+RSP_ROOT ?= "sda1"
+
+# We have a conf and classes directory, add to BBPATH
+BBPATH := "${BBPATH}:${LAYERDIR}"
+
+# We have an images and various recipe-* directories, add to BBFILES
+BBFILES := "${BBFILES} ${LAYERDIR}/images/*.bb ${LAYERDIR}/images/*.bbappend ${LAYERDIR}/recipes-*/*.bb ${LAYERDIR}/recipes-*/*.bbappend"
+
+BBFILE_COLLECTIONS += "rt"
+BBFILE_PATTERN_rt := "^${LAYERDIR}/"
+BBFILE_PRIORITY_rt = "8"
+
+# This layer builds images using a PREEMPT_RT kernel. Override any machine
+# specified kernel providers and leave it up to the kernel recipe to
+# determine COMPATIBLE_MACHINE.
+PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt"
+
+# preempt_rt SRCREVs, one for meta, one per machine
+SRCREV_meta_pn-linux-yocto-rt ?= "b0615811ce38836d1ade230e3bdb1efaaa68471f"
+SRCREV_machine_pn-linux-yocto-rt_qemux86-64 ?= "f49444f06875894389e640bcda6c3f6ceb1f0c3e"
+SRCREV_machine_pn-linux-yocto-rt_atom-pc ?= "78dacaf8222c9492ba17f652989ef3466423bdc2"
+
diff --git a/meta-rt/images/poky-image-minimal-rt-directdisk.bb b/meta-rt/images/poky-image-minimal-rt-directdisk.bb
new file mode 100644
index 000000000..b68fe568b
--- /dev/null
+++ b/meta-rt/images/poky-image-minimal-rt-directdisk.bb
@@ -0,0 +1,15 @@
+#
+# Copyright (C) 2010 Intel Corporation.
+#
+
+require recipes-core/images/poky-image-directdisk.inc
+
+DESCRIPTION = "Bootable Minimal Real-Time Direct Disk Image"
+
+ROOTFS = "${DEPLOY_DIR_IMAGE}/poky-image-minimal-rt-${MACHINE}.ext3"
+
+LICENSE = "MIT"
+
+do_bootdirectdisk[depends] += "poky-image-minimal-rt:do_rootfs"
+
+
diff --git a/meta-rt/images/poky-image-minimal-rt-live.bb b/meta-rt/images/poky-image-minimal-rt-live.bb
new file mode 100644
index 000000000..01628dcc3
--- /dev/null
+++ b/meta-rt/images/poky-image-minimal-rt-live.bb
@@ -0,0 +1,15 @@
+#
+# Copyright (C) 2010 Intel Corporation.
+#
+
+DESCRIPTION = "Bootable Live Minimal Real-Time Linux Image"
+
+require recipes-core/images/poky-image-live.inc
+
+LABELS += "boot install"
+
+ROOTFS = "${DEPLOY_DIR_IMAGE}/poky-image-minimal-rt-${MACHINE}.ext3"
+
+LICENSE = "MIT"
+
+do_bootimg[depends] += "poky-image-minimal-rt:do_rootfs"
diff --git a/meta-rt/images/poky-image-minimal-rt.bb b/meta-rt/images/poky-image-minimal-rt.bb
new file mode 100644
index 000000000..6f5700c67
--- /dev/null
+++ b/meta-rt/images/poky-image-minimal-rt.bb
@@ -0,0 +1,12 @@
+#
+# Copyright (C) 2010 Intel Corporation.
+#
+
+DESCRIPTION = "Minimal Real-Time Linux Image"
+DEPENDS = "linux-yocto-rt"
+
+require recipes-core/images/poky-image-minimal.bb
+
+IMAGE_INSTALL += "rt-tests"
+
+LICENSE = "MIT"
diff --git a/meta-rt/recipes-kernel/linux-yocto-rt_stablegit.bb b/meta-rt/recipes-kernel/linux-yocto-rt_stablegit.bb
new file mode 100644
index 000000000..547f8feac
--- /dev/null
+++ b/meta-rt/recipes-kernel/linux-yocto-rt_stablegit.bb
@@ -0,0 +1,40 @@
+inherit kernel
+require recipes-kernel/linux/linux-yocto.inc
+
+KMACHINE_qemux86-64 = "common_pc_64"
+KMACHINE_atom-pc = "atom-pc"
+
+LINUX_VERSION ?= "2.6.34"
+LINUX_KERNEL_TYPE = "preempt_rt"
+LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE_EXTENSION}"
+
+PR = "r0"
+PV = "${LINUX_VERSION}+git${SRCPV}"
+SRCREV_FORMAT = "meta_machine"
+
+COMPATIBLE_MACHINE = "(qemux86-64|atom-pc)"
+
+# this performs a fixup on the SRCREV for new/undefined BSPs
+python __anonymous () {
+ import bb, re, string
+
+ rev = bb.data.getVar("SRCREV_machine", d, 1)
+ if rev == "standard":
+ bb.data.setVar("SRCREV_machine", "${SRCREV_meta}", d)
+
+ kerntype = string.replace(bb.data.expand("${LINUX_KERNEL_TYPE}", d), "_", "-")
+ bb.data.setVar("LINUX_KERNEL_TYPE_EXTENSION", kerntype, d)
+}
+
+SRC_URI = "git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;fullclone=1;branch=${KBRANCH};name=machine \
+ git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;noclone=1;branch=wrs_meta;name=meta"
+
+# Functionality flags
+KERNEL_REVISION_CHECKING ?= "t"
+KERNEL_FEATURES=features/netfilter
+
+# extra tasks
+addtask kernel_link_vmlinux after do_compile before do_install
+addtask validate_branches before do_patch after do_kernel_checkout
+
+require recipes-kernel/linux/linux-tools.inc
diff --git a/meta-rt/recipes-tests/rt-tests_git.bb b/meta-rt/recipes-tests/rt-tests_git.bb
new file mode 100644
index 000000000..35af02244
--- /dev/null
+++ b/meta-rt/recipes-tests/rt-tests_git.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Real-Time preemption testcases"
+HOMEPAGE = "https://rt.wiki.kernel.org/index.php/Cyclictest"
+SECTION = "tests"
+DEPENDS = "linux-libc-headers eglibc"
+LICENSE = "GPLv2 & GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
+ file://src/cyclictest/cyclictest.c;beginline=7;endline=9;md5=ce162fe491d19d2ec67dff6dbc938d50 \
+ file://src/pi_tests/pi_stress.c;beginline=6;endline=19;md5=bd426a634a43ec612e9fbf125dfcc949"
+SRCREV = ${AUTOREV}
+PV = "git${SRCPV}"
+PR = "r0"
+
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/clrkwllms/rt-tests.git;protocol=git"
+
+S = "${WORKDIR}/git"
+
+CFLAGS += "-I${S}/src/include -D_GNU_SOURCE -Wall -Wno-nonnull"
+
+do_install() {
+ oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} \
+ INCLUDEDIR=${includedir}
+}
diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
index 324cbff47..d43ae6d88 100644
--- a/meta/classes/autotools.bbclass
+++ b/meta/classes/autotools.bbclass
@@ -38,6 +38,12 @@ def autotools_set_crosscompiling(d):
return " cross_compiling=yes"
return ""
+def append_libtool_sysroot(d):
+ # Only supply libtool sysroot option for non-native packages
+ if not bb.data.inherits_class('native', d):
+ return '--with-libtool-sysroot=${STAGING_DIR_HOST}'
+ return ""
+
# EXTRA_OECONF_append = "${@autotools_set_crosscompiling(d)}"
CONFIGUREOPTS = " --build=${BUILD_SYS} \
@@ -56,14 +62,13 @@ CONFIGUREOPTS = " --build=${BUILD_SYS} \
--includedir=${includedir} \
--oldincludedir=${oldincludedir} \
--infodir=${infodir} \
- --mandir=${mandir}"
+ --mandir=${mandir} \
+ ${@append_libtool_sysroot(d)}"
oe_runconf () {
if [ -x ${S}/configure ] ; then
cfgcmd="${S}/configure \
- ${CONFIGUREOPTS} \
- ${EXTRA_OECONF} \
- $@"
+ ${CONFIGUREOPTS} ${EXTRA_OECONF} $@"
oenote "Running $cfgcmd..."
$cfgcmd || oefatal "oe_runconf failed"
else
@@ -104,9 +109,12 @@ autotools_do_configure() {
AUTOV=`automake --version |head -n 1 |sed "s/.* //;s/\.[0-9]\+$//"`
automake --version
echo "AUTOV is $AUTOV"
- install -d ${STAGING_DATADIR}/aclocal
- install -d ${STAGING_DATADIR}/aclocal-$AUTOV
- acpaths="$acpaths -I${STAGING_DATADIR}/aclocal-$AUTOV -I ${STAGING_DATADIR}/aclocal"
+ if [ -d ${STAGING_DATADIR}/aclocal-$AUTOV ]; then
+ acpaths="$acpaths -I${STAGING_DATADIR}/aclocal-$AUTOV"
+ fi
+ if [ -d ${STAGING_DATADIR}/aclocal ]; then
+ acpaths="$acpaths -I ${STAGING_DATADIR}/aclocal"
+ fi
# autoreconf is too shy to overwrite aclocal.m4 if it doesn't look
# like it was auto-generated. Work around this by blowing it away
# by hand, unless the package specifically asked not to run aclocal.
@@ -150,22 +158,10 @@ autotools_do_configure() {
autotools_do_install() {
oe_runmake 'DESTDIR=${D}' install
-}
-
-PACKAGE_PREPROCESS_FUNCS += "autotools_prepackage_lamangler"
-
-autotools_prepackage_lamangler () {
- for i in `find ${PKGD} -name "*.la"` ; do \
- sed -i -e 's:${STAGING_LIBDIR}:${libdir}:g;' \
- -e 's:${D}::g;' \
- -e 's:-I${WORKDIR}\S*: :g;' \
- -e 's:-L${WORKDIR}\S*: :g;' \
- $i
- done
-}
-
-autotools_stage_dir() {
- sysroot_stage_dir $1 $2
+ # Info dir listing isn't interesting at this point so remove it if it exists.
+ if [ -e "${D}${infodir}/dir" ]; then
+ rm -f ${D}${infodir}/dir
+ fi
}
inherit siteconfig
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index c60048bd5..edb65eb96 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -107,7 +107,7 @@ python base_scenefunction () {
python base_do_setscene () {
for f in (bb.data.getVar('SCENEFUNCS', d, 1) or '').split():
bb.build.exec_func(f, d)
- if not os.path.exists(bb.data.getVar('STAMP', d, 1) + ".do_setscene"):
+ if not os.path.exists(bb.build.stampfile("do_setscene", d)):
bb.build.make_stamp("do_setscene", d)
}
do_setscene[selfstamp] = "1"
@@ -116,146 +116,38 @@ addtask setscene before do_fetch
addtask fetch
do_fetch[dirs] = "${DL_DIR}"
python base_do_fetch() {
- import sys
+
+ src_uri = (bb.data.getVar('SRC_URI', d, True) or "").split()
+ if len(src_uri) == 0:
+ return
localdata = bb.data.createCopy(d)
bb.data.update_data(localdata)
- src_uri = bb.data.getVar('SRC_URI', localdata, 1)
- if not src_uri:
- return 1
-
- try:
- bb.fetch.init(src_uri.split(),d)
- except bb.fetch.NoMethodError:
- (type, value, traceback) = sys.exc_info()
- raise bb.build.FuncFailed("No method: %s" % value)
- except bb.MalformedUrl:
- (type, value, traceback) = sys.exc_info()
- raise bb.build.FuncFailed("Malformed URL: %s" % value)
-
- try:
- bb.fetch.go(localdata)
- except bb.fetch.MissingParameterError:
- (type, value, traceback) = sys.exc_info()
- raise bb.build.FuncFailed("Missing parameters: %s" % value)
- except bb.fetch.FetchError:
- (type, value, traceback) = sys.exc_info()
- raise bb.build.FuncFailed("Fetch failed: %s" % value)
- except bb.fetch.MD5SumError:
- (type, value, traceback) = sys.exc_info()
- raise bb.build.FuncFailed("MD5 failed: %s" % value)
- except:
- (type, value, traceback) = sys.exc_info()
- raise bb.build.FuncFailed("Unknown fetch Error: %s" % value)
+ try:
+ fetcher = bb.fetch2.Fetch(src_uri, localdata)
+ fetcher.download()
+ except bb.fetch2.BBFetchException, e:
+ raise bb.build.FuncFailed(e)
}
-def subprocess_setup():
- import signal
- # Python installs a SIGPIPE handler by default. This is usually not what
- # non-Python subprocesses expect.
- # SIGPIPE errors are known issues with gzip/bash
- signal.signal(signal.SIGPIPE, signal.SIG_DFL)
-
-def oe_unpack_file(file, data, url = None):
- import subprocess
- if not url:
- url = "file://%s" % file
- dots = file.split(".")
- if dots[-1] in ['gz', 'bz2', 'Z']:
- efile = os.path.join(bb.data.getVar('WORKDIR', data, 1),os.path.basename('.'.join(dots[0:-1])))
- else:
- efile = file
- cmd = None
- if file.endswith('.tar'):
- cmd = 'tar x --no-same-owner -f %s' % file
- elif file.endswith('.tgz') or file.endswith('.tar.gz') or file.endswith('.tar.Z'):
- cmd = 'tar xz --no-same-owner -f %s' % file
- elif file.endswith('.tbz') or file.endswith('.tbz2') or file.endswith('.tar.bz2'):
- cmd = 'bzip2 -dc %s | tar x --no-same-owner -f -' % file
- elif file.endswith('.gz') or file.endswith('.Z') or file.endswith('.z'):
- cmd = 'gzip -dc %s > %s' % (file, efile)
- elif file.endswith('.bz2'):
- cmd = 'bzip2 -dc %s > %s' % (file, efile)
- elif file.endswith('.tar.xz'):
- cmd = 'xz -dc %s | tar x --no-same-owner -f -' % file
- elif file.endswith('.xz'):
- cmd = 'xz -dc %s > %s' % (file, efile)
- elif file.endswith('.zip') or file.endswith('.jar'):
- cmd = 'unzip -q -o'
- (type, host, path, user, pswd, parm) = bb.decodeurl(url)
- if 'dos' in parm:
- cmd = '%s -a' % cmd
- cmd = "%s '%s'" % (cmd, file)
- elif os.path.isdir(file):
- filesdir = os.path.realpath(bb.data.getVar("FILESDIR", data, 1))
- destdir = "."
- if file[0:len(filesdir)] == filesdir:
- destdir = file[len(filesdir):file.rfind('/')]
- destdir = destdir.strip('/')
- if len(destdir) < 1:
- destdir = "."
- elif not os.access("%s/%s" % (os.getcwd(), destdir), os.F_OK):
- os.makedirs("%s/%s" % (os.getcwd(), destdir))
- cmd = 'cp -pPR %s %s/%s/' % (file, os.getcwd(), destdir)
- else:
- (type, host, path, user, pswd, parm) = bb.decodeurl(url)
- if not 'patch' in parm:
- # The "destdir" handling was specifically done for FILESPATH
- # items. So, only do so for file:// entries.
- if type == "file" and path.find("/") != -1:
- destdir = path.rsplit("/", 1)[0]
- else:
- destdir = "."
- bb.mkdirhier("%s/%s" % (os.getcwd(), destdir))
- cmd = 'cp %s %s/%s/' % (file, os.getcwd(), destdir)
-
- if not cmd:
- return True
-
- dest = os.path.join(os.getcwd(), os.path.basename(file))
- if os.path.exists(dest):
- if os.path.samefile(file, dest):
- return True
-
- # Change to subdir before executing command
- save_cwd = os.getcwd();
- parm = bb.decodeurl(url)[5]
- if 'subdir' in parm:
- newdir = ("%s/%s" % (os.getcwd(), parm['subdir']))
- bb.mkdirhier(newdir)
- os.chdir(newdir)
-
- cmd = "PATH=\"%s\" %s" % (bb.data.getVar('PATH', data, 1), cmd)
- bb.note("Unpacking %s to %s/" % (file, os.getcwd()))
- ret = subprocess.call(cmd, preexec_fn=subprocess_setup, shell=True)
-
- os.chdir(save_cwd)
-
- return ret == 0
-
addtask unpack after do_fetch
do_unpack[dirs] = "${WORKDIR}"
python base_do_unpack() {
- import re
+ src_uri = (bb.data.getVar('SRC_URI', d, True) or "").split()
+ if len(src_uri) == 0:
+ return
localdata = bb.data.createCopy(d)
bb.data.update_data(localdata)
- src_uri = bb.data.getVar('SRC_URI', localdata, True)
- if not src_uri:
- return
- for url in src_uri.split():
- try:
- local = bb.data.expand(bb.fetch.localpath(url, localdata), localdata)
- except bb.MalformedUrl, e:
- raise FuncFailed('Unable to generate local path for malformed uri: %s' % e)
- if local is None:
- continue
- local = os.path.realpath(local)
- ret = oe_unpack_file(local, localdata, url)
- if not ret:
- raise bb.build.FuncFailed()
+ rootdir = bb.data.getVar('WORKDIR', localdata, True)
+
+ try:
+ fetcher = bb.fetch2.Fetch(src_uri, localdata)
+ fetcher.unpack(rootdir)
+ except bb.fetch2.BBFetchException, e:
+ raise bb.build.FuncFailed(e)
}
GIT_CONFIG = "${STAGING_DIR_NATIVE}/usr/etc/gitconfig"
@@ -418,8 +310,9 @@ python () {
commercial_license = bb.data.getVar('COMMERCIAL_LICENSE', d, 1)
import re
- if commercial_license and re.search(pn, commercial_license):
- bb.debug("Skipping %s because it's commercially licensed" % pn)
+ pnr = pn.replace('+', "\+")
+ if commercial_license and re.search(pnr, commercial_license):
+ bb.debug(1, "Skipping %s because it's commercially licensed" % pn)
raise bb.parse.SkipPackage("because it requires commercial license to ship product")
# If we're building a target package we need to use fakeroot (pseudo)
@@ -532,7 +425,8 @@ python () {
for s in srcuri.split():
if not s.startswith("file://"):
continue
- local = bb.data.expand(bb.fetch.localpath(s, d), d)
+ fetcher = bb.fetch2.Fetch([s], d)
+ local = fetcher.localpath(s)
for mp in paths:
if local.startswith(mp):
#bb.note("overriding PACKAGE_ARCH from %s to %s" % (pkg_arch, mach_arch))
@@ -576,14 +470,12 @@ python do_cleanall() {
dl_dir = bb.data.getVar('DL_DIR', localdata, True)
dl_dir = os.path.realpath(dl_dir)
- src_uri = bb.data.getVar('SRC_URI', localdata, True)
- if not src_uri:
+ src_uri = (bb.data.getVar('SRC_URI', localdata, True) or "").split()
+ if len(src_uri) == 0:
return
- for url in src_uri.split():
- try:
- local = bb.data.expand(bb.fetch.localpath(url, localdata), localdata)
- except bb.MalformedUrl, e:
- raise FuncFailed('Unable to generate local path for malformed uri: %s' % e)
+ fetcher = bb.fetch2.Fetch(src_uri, localdata)
+ for url in src_uri:
+ local = fetcher.localpath(url)
if local is None:
continue
local = os.path.realpath(local)
diff --git a/meta/classes/binconfig.bbclass b/meta/classes/binconfig.bbclass
index 73ca4d621..8e22d2d29 100644
--- a/meta/classes/binconfig.bbclass
+++ b/meta/classes/binconfig.bbclass
@@ -47,8 +47,8 @@ SYSROOT_PREPROCESS_FUNCS += "binconfig_sysroot_preprocess"
binconfig_sysroot_preprocess () {
for config in `find ${S} -name '${BINCONFIG_GLOB}'`; do
configname=`basename $config`
- install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}
- cat $config | sed ${@get_binconfig_mangle(d)} > ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/$configname
- chmod u+x ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/$configname
+ install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}
+ cat $config | sed ${@get_binconfig_mangle(d)} > ${SYSROOT_DESTDIR}${bindir_crossscripts}/$configname
+ chmod u+x ${SYSROOT_DESTDIR}${bindir_crossscripts}/$configname
done
}
diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass
index f4949f55b..49ee85ea7 100644
--- a/meta/classes/bootimg.bbclass
+++ b/meta/classes/bootimg.bbclass
@@ -49,7 +49,7 @@ inherit syslinux
build_boot_bin() {
install -d ${HDDDIR}
- install -m 0644 ${STAGING_DIR}/${MACHINE}${HOST_VENDOR}-${HOST_OS}/kernel/bzImage \
+ install -m 0644 ${STAGING_DIR_HOST}/kernel/bzImage \
${HDDDIR}/vmlinuz
if [ -n "${INITRD}" ] && [ -s "${INITRD}" ]; then
@@ -83,7 +83,7 @@ build_boot_bin() {
# Install the kernel
- install -m 0644 ${STAGING_DIR}/${MACHINE}${HOST_VENDOR}-${HOST_OS}/kernel/bzImage \
+ install -m 0644 ${STAGING_DIR_HOST}/kernel/bzImage \
${ISODIR}/vmlinuz
# Install the configuration files
diff --git a/meta/classes/cpan-base.bbclass b/meta/classes/cpan-base.bbclass
index 1d13ff3f0..6cd2aa340 100644
--- a/meta/classes/cpan-base.bbclass
+++ b/meta/classes/cpan-base.bbclass
@@ -2,7 +2,7 @@
# cpan-base providers various perl related information needed for building
# cpan modules
#
-FILES_${PN} += "${libdir}/perl5 ${datadir}/perl5"
+FILES_${PN} += "${libdir}/perl ${datadir}/perl"
DEPENDS += "${@["perl", "perl-native"][(bb.data.inherits_class('native', d))]}"
RDEPENDS += "${@["perl", ""][(bb.data.inherits_class('native', d))]}"
@@ -27,7 +27,7 @@ def get_perl_version(d):
# Determine where the library directories are
def perl_get_libdirs(d):
libdir = bb.data.getVar('libdir', d, 1)
- libdirs = libdir + '/perl5'
+ libdirs = libdir + '/perl'
return libdirs
def is_target(d):
diff --git a/meta/classes/cpan.bbclass b/meta/classes/cpan.bbclass
index 513f0b3ce..1cfd0221d 100644
--- a/meta/classes/cpan.bbclass
+++ b/meta/classes/cpan.bbclass
@@ -4,18 +4,19 @@
inherit cpan-base
EXTRA_CPANFLAGS ?= ""
+EXTRA_PERLFLAGS ?= ""
# Env var which tells perl if it should use host (no) or target (yes) settings
export PERLCONFIGTARGET = "${@is_target(d)}"
# Env var which tells perl where the perl include files are
export PERL_INC = "${STAGING_LIBDIR}/perl/${@get_perl_version(d)}/CORE"
-export PERL_LIB = "${STAGING_DATADIR}/perl/${@get_perl_version(d)}"
+export PERL_LIB = "${STAGING_LIBDIR}/perl/${@get_perl_version(d)}"
export PERL_ARCHLIB = "${STAGING_LIBDIR}/perl/${@get_perl_version(d)}"
cpan_do_configure () {
export PERL5LIB="${PERL_ARCHLIB}"
- yes '' | perl Makefile.PL ${EXTRA_CPANFLAGS}
+ yes '' | perl ${EXTRA_PERLFLAGS} Makefile.PL ${EXTRA_CPANFLAGS}
if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
. ${STAGING_LIBDIR}/perl/config.sh
# Use find since there can be a Makefile generated for each Makefile.PL
diff --git a/meta/classes/cpan_build.bbclass b/meta/classes/cpan_build.bbclass
index dd8d5434d..cc503a424 100644
--- a/meta/classes/cpan_build.bbclass
+++ b/meta/classes/cpan_build.bbclass
@@ -26,8 +26,8 @@ cpan_build_do_configure () {
perl Build.PL --installdirs vendor \
--destdir ${D} \
- --install_path lib="${datadir}/perl5" \
- --install_path arch="${libdir}/perl5" \
+ --install_path lib="${datadir}/perl" \
+ --install_path arch="${libdir}/perl" \
--install_path script=${bindir} \
--install_path bin=${bindir} \
--install_path bindoc=${mandir}/man1 \
diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass
index 9edce31cb..1a045ba16 100644
--- a/meta/classes/cross-canadian.bbclass
+++ b/meta/classes/cross-canadian.bbclass
@@ -15,6 +15,7 @@ STAGING_BINDIR_TOOLCHAIN = "${STAGING_DIR_NATIVE}${bindir_native}/${SDK_ARCH}${S
# Update BASE_PACKAGE_ARCH and PACKAGE_ARCHS
#
OLD_MULTIMACH_ARCH := "${MULTIMACH_ARCH}"
+OLD_MULTIMACH_TARGET_SYS := "${MULTIMACH_TARGET_SYS}"
OLD_PACKAGE_ARCH := ${BASE_PACKAGE_ARCH}
BASE_PACKAGE_ARCH = "${SDK_ARCH}-nativesdk"
python () {
@@ -29,7 +30,6 @@ MULTIMACH_TARGET_SYS = "${MULTIMACH_ARCH}${HOST_VENDOR}-${HOST_OS}"
INHIBIT_DEFAULT_DEPS = "1"
STAGING_DIR_HOST = "${STAGING_DIR}/${HOST_SYS}-nativesdk"
-STAGING_DIR_TARGET = "${STAGING_DIR}/${OLD_PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR}/${HOST_ARCH}-nativesdk${HOST_VENDOR}-${HOST_OS}"
@@ -43,6 +43,9 @@ HOST_OS = "${SDK_OS}"
HOST_PREFIX = "${SDK_PREFIX}"
HOST_CC_ARCH = "${SDK_CC_ARCH}"
+#assign DPKG_ARCH
+DPKG_ARCH = "${SDK_ARCH}"
+
CPPFLAGS = "${BUILDSDK_CPPFLAGS}"
CFLAGS = "${BUILDSDK_CFLAGS}"
CXXFLAGS = "${BUILDSDK_CFLAGS}"
@@ -81,3 +84,5 @@ export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}"
# Cross-canadian packages need to pull in nativesdk dynamic libs
SHLIBSDIR = "${STAGING_DIR}/${SDK_ARCH}-nativesdk${SDK_VENDOR}-${BUILD_OS}/shlibs"
+do_populate_sysroot[stamp-extra-info] = ""
+do_package[stamp-extra-info] = ""
diff --git a/meta/classes/cross.bbclass b/meta/classes/cross.bbclass
index 7c20be0b8..f9fd07a9a 100644
--- a/meta/classes/cross.bbclass
+++ b/meta/classes/cross.bbclass
@@ -20,6 +20,11 @@ HOST_OS = "${BUILD_OS}"
HOST_PREFIX = "${BUILD_PREFIX}"
HOST_CC_ARCH = "${BUILD_CC_ARCH}"
+STAGING_DIR_HOST = "${STAGING_DIR}/${BASEPKG_HOST_SYS}"
+
+export PKG_CONFIG_DIR = "${STAGING_DIR}/${BASE_PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}${libdir}/pkgconfig"
+export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR}/${BASE_PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
+
CPPFLAGS = "${BUILD_CPPFLAGS}"
CFLAGS = "${BUILD_CFLAGS}"
CXXFLAGS = "${BUILD_CFLAGS}"
@@ -40,30 +45,20 @@ target_prefix := "${prefix}"
target_exec_prefix := "${exec_prefix}"
# Overrides for paths
+CROSS_TARGET_SYS_DIR = "${MULTIMACH_TARGET_SYS}"
prefix = "${STAGING_DIR_NATIVE}${prefix_native}"
base_prefix = "${STAGING_DIR_NATIVE}"
exec_prefix = "${STAGING_DIR_NATIVE}${prefix_native}"
-bindir = "${exec_prefix}/bin/${MULTIMACH_TARGET_SYS}"
+bindir = "${exec_prefix}/bin/${CROSS_TARGET_SYS_DIR}"
sbindir = "${bindir}"
base_bindir = "${bindir}"
base_sbindir = "${bindir}"
-libdir = "${exec_prefix}/lib/${MULTIMACH_TARGET_SYS}"
-libexecdir = "${exec_prefix}/libexec/${MULTIMACH_TARGET_SYS}"
+libdir = "${exec_prefix}/lib/${CROSS_TARGET_SYS_DIR}"
+libexecdir = "${exec_prefix}/libexec/${CROSS_TARGET_SYS_DIR}"
+
+do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}/${STAGING_DIR_NATIVE}"
do_install () {
oe_runmake 'DESTDIR=${D}' install
}
-#
-# Override the default sysroot staging copy since this won't look like a target system
-#
-sysroot_stage_all() {
- sysroot_stage_dir ${D} ${SYSROOT_DESTDIR}
- install -d ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_base_libdir}/
- install -d ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_libdir}/
- mv ${SYSROOT_DESTDIR}${target_base_libdir}/* ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_base_libdir}/ || true
- mv ${SYSROOT_DESTDIR}${target_libdir}/* ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_libdir}/ || true
-}
-
-
-
diff --git a/meta/classes/crosssdk.bbclass b/meta/classes/crosssdk.bbclass
index 23db163ba..75fcfefc0 100644
--- a/meta/classes/crosssdk.bbclass
+++ b/meta/classes/crosssdk.bbclass
@@ -1,7 +1,5 @@
inherit cross
-PACKAGES = ""
-
BASE_PACKAGE_ARCH = "${SDK_ARCH}"
PACKAGE_ARCH = "${BASE_PACKAGE_ARCH}"
STAGING_DIR_TARGET = "${STAGING_DIR}/${SDK_ARCH}-nativesdk${SDK_VENDOR}-${SDK_OS}"
@@ -18,3 +16,5 @@ target_base_libdir = "${SDKPATHNATIVE}${base_libdir_nativesdk}"
target_prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
target_exec_prefix = "${SDKPATHNATIVE}${exec_prefix_nativesdk}"
+do_populate_sysroot[stamp-extra-info] = ""
+do_package[stamp-extra-info] = ""
diff --git a/meta/classes/distrodata.bbclass b/meta/classes/distrodata.bbclass
index 0378790f7..31e7420cf 100644
--- a/meta/classes/distrodata.bbclass
+++ b/meta/classes/distrodata.bbclass
@@ -3,8 +3,6 @@ require conf/distro/include/distro_tracking_fields.inc
addhandler distro_eventhandler
python distro_eventhandler() {
- from bb.event import Handled, NotHandled
- # if bb.event.getName(e) == "TaskStarted":
if bb.event.getName(e) == "BuildStarted":
"""initialize log files."""
@@ -25,7 +23,7 @@ python distro_eventhandler() {
f.close()
bb.utils.unlockfile(lf)
- return NotHandled
+ return
}
addtask distrodata_np
@@ -213,9 +211,6 @@ do_distrodataall() {
addhandler checkpkg_eventhandler
python checkpkg_eventhandler() {
- from bb.event import Handled, NotHandled
- # if bb.event.getName(e) == "TaskStarted":
-
if bb.event.getName(e) == "BuildStarted":
"""initialize log files."""
logpath = bb.data.getVar('LOG_DIR', e.data, 1)
@@ -234,8 +229,15 @@ python checkpkg_eventhandler() {
f.write("Package\tOwner\tURI Type\tVersion\tTracking\tUpstream\tTMatch\tRMatch\n")
f.close()
bb.utils.unlockfile(lf)
-
- return NotHandled
+ """initialize log files for package report system"""
+ logfile2 = os.path.join(logpath, "get_pkg_info.%s.log" % bb.data.getVar('DATETIME', e.data, 1))
+ if not os.path.exists(logfile2):
+ slogfile2 = os.path.join(logpath, "get_pkg_info.log")
+ if os.path.exists(slogfile2):
+ os.remove(slogfile2)
+ os.system("touch %s" % logfile2)
+ os.symlink(logfile2, slogfile2)
+ return
}
addtask checkpkg
@@ -262,8 +264,8 @@ python do_checkpkg() {
prefix1 = "[a-zA-Z][a-zA-Z0-9]*([\-_][a-zA-Z]\w+)*[\-_]" # match most patterns which uses "-" as separator to version digits
prefix2 = "[a-zA-Z]+" # a loose pattern such as for unzip552.tar.gz
prefix = "(%s|%s)" % (prefix1, prefix2)
- suffix = "(tar\.gz|tgz|tar\.bz2|zip)"
- suffixtuple = ("tar.gz", "tgz", "zip", "tar.bz2")
+ suffix = "(tar\.gz|tgz|tar\.bz2|zip|xz)"
+ suffixtuple = ("tar.gz", "tgz", "zip", "tar.bz2", "tar.xz")
sinterstr = "(?P<name>%s?)(?P<ver>.*)" % prefix
sdirstr = "(?P<name>%s)(?P<ver>.*)\.(?P<type>%s$)" % (prefix, suffix)
@@ -307,42 +309,31 @@ python do_checkpkg() {
"""
def internal_fetch_wget(url, d, tmpf):
status = "ErrFetchUnknown"
- try:
- """
- Clear internal url cache as it's a temporary check. Not doing so will have
- bitbake check url multiple times when looping through a single url
- """
- fn = bb.data.getVar('FILE', d, 1)
- bb.fetch.urldata_cache[fn] = {}
- bb.fetch.init([url], d)
- except bb.fetch.NoMethodError:
- status = "ErrFetchNoMethod"
- except:
- status = "ErrInitUrlUnknown"
- else:
- """
- To avoid impacting bitbake build engine, this trick is required for reusing bitbake
- interfaces. bb.fetch.go() is not appliable as it checks downloaded content in ${DL_DIR}
- while we don't want to pollute that place. So bb.fetch.checkstatus() is borrowed here
- which is designed for check purpose but we override check command for our own purpose
- """
- ld = bb.data.createCopy(d)
- bb.data.setVar('CHECKCOMMAND_wget', "/usr/bin/env wget -t 1 --passive-ftp -O %s '${URI}'" \
+ """
+ Clear internal url cache as it's a temporary check. Not doing so will have
+ bitbake check url multiple times when looping through a single url
+ """
+ fn = bb.data.getVar('FILE', d, 1)
+ bb.fetch2.urldata_cache[fn] = {}
+
+ """
+ To avoid impacting bitbake build engine, this trick is required for reusing bitbake
+ interfaces. bb.fetch.go() is not appliable as it checks downloaded content in ${DL_DIR}
+ while we don't want to pollute that place. So bb.fetch2.checkstatus() is borrowed here
+ which is designed for check purpose but we override check command for our own purpose
+ """
+ ld = bb.data.createCopy(d)
+ bb.data.setVar('CHECKCOMMAND_wget', "/usr/bin/env wget -t 1 --passive-ftp -O %s --user-agent=\"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.12) Gecko/20101027 Ubuntu/9.10 (karmic) Firefox/3.6.12\" '${URI}'" \
% tmpf.name, d)
- bb.data.update_data(ld)
-
- try:
- bb.fetch.checkstatus(ld)
- except bb.fetch.MissingParameterError:
- status = "ErrMissParam"
- except bb.fetch.FetchError:
- status = "ErrFetch"
- except bb.fetch.MD5SumError:
- status = "ErrMD5Sum"
- except:
- status = "ErrFetchUnknown"
- else:
- status = "SUCC"
+ bb.data.update_data(ld)
+
+ try:
+ fetcher = bb.fetch2.Fetch([url], ld)
+ fetcher.checkstatus()
+ status = "SUCC"
+ except bb.fetch2.BBFetchException, e:
+ status = "ErrFetch"
+
return status
"""
@@ -425,7 +416,7 @@ python do_checkpkg() {
"""match "{PN}-5.21.1.tar.gz">{PN}-5.21.1.tar.gz """
pn1 = re.search("^%s" % prefix, curname).group()
s = "[^\"]*%s[^\d\"]*?(\d+[\.\-_])+[^\"]*" % pn1
- searchstr = "[hH][rR][eE][fF]=\"%s\">" % s
+ searchstr = "[hH][rR][eE][fF]=\"%s\".*>" % s
reg = re.compile(searchstr)
valid = 0
@@ -443,7 +434,7 @@ python do_checkpkg() {
status = "ErrParseDir"
else:
"""newver still contains a full package name string"""
- status = re.search("(\d+[.\-_])*\d+", newver[1]).group()
+ status = re.search("(\d+[.\-_])*[0-9a-zA-Z]+", newver[1]).group()
elif not len(fhtml):
status = "ErrHostNoDir"
@@ -464,11 +455,23 @@ python do_checkpkg() {
logpath = bb.data.getVar('LOG_DIR', d, 1)
bb.utils.mkdirhier(logpath)
logfile = os.path.join(logpath, "checkpkg.csv")
+ """initialize log files for package report system"""
+ logfile2 = os.path.join(logpath, "get_pkg_info.log")
"""generate package information from .bb file"""
pname = bb.data.getVar('PN', d, 1)
pdesc = bb.data.getVar('DESCRIPTION', d, 1)
pgrp = bb.data.getVar('SECTION', d, 1)
+ pversion = bb.data.getVar('PV', d, 1)
+ plicense = bb.data.getVar('LICENSE',d,1)
+ psection = bb.data.getVar('SECTION',d,1)
+ phome = bb.data.getVar('HOMEPAGE', d, 1)
+ prelease = bb.data.getVar('PR',d,1)
+ ppriority = bb.data.getVar('PRIORITY',d,1)
+ pdepends = bb.data.getVar('DEPENDS',d,1)
+ pbugtracker = bb.data.getVar('BUGTRACKER',d,1)
+ ppe = bb.data.getVar('PE',d,1)
+ psrcuri = bb.data.getVar('SRC_URI',d,1)
found = 0
for uri in src_uri.split():
@@ -614,6 +617,14 @@ python do_checkpkg() {
(pname, maintainer, pproto, pcurver, pmver, pupver, pmstatus, pstatus))
f.close()
bb.utils.unlockfile(lf)
+
+ """write into get_pkg_info log file to supply data for package report system"""
+ lf2 = bb.utils.lockfile(logfile2 + ".lock")
+ f2 = open(logfile2, "a")
+ f2.write("%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n" % \
+ (pname,pversion,pupver,plicense,psection, phome,prelease, ppriority,pdepends,pbugtracker,ppe,pdesc,pstatus,pmver,psrcuri))
+ f2.close()
+ bb.utils.unlockfile(lf2)
}
addtask checkpkgall after do_checkpkg
@@ -625,9 +636,6 @@ do_checkpkgall() {
#addhandler check_eventhandler
python check_eventhandler() {
- from bb.event import Handled, NotHandled
- # if bb.event.getName(e) == "TaskStarted":
-
if bb.event.getName(e) == "BuildStarted":
import oe.distro_check as dc
tmpdir = bb.data.getVar('TMPDIR', e.data, 1)
@@ -645,7 +653,7 @@ python check_eventhandler() {
os.symlink(logfile, slogfile)
bb.data.setVar('LOG_FILE', logfile, e.data)
- return NotHandled
+ return
}
addtask distro_check
diff --git a/meta/classes/distutils-common-base.bbclass b/meta/classes/distutils-common-base.bbclass
index 01bf9eaeb..f66a5cd57 100644
--- a/meta/classes/distutils-common-base.bbclass
+++ b/meta/classes/distutils-common-base.bbclass
@@ -1,19 +1,10 @@
+inherit python-dir
+
EXTRA_OEMAKE = ""
export STAGING_INCDIR
export STAGING_LIBDIR
-def python_dir(d):
- import os, bb
- staging_incdir = bb.data.getVar( "STAGING_INCDIR", d, 1 )
- for majmin in "2.6 2.5 2.4 2.3".split():
- if os.path.exists( "%s/python%s" % ( staging_incdir, majmin ) ): return "python%s" % majmin
- if not "python-native" in bb.data.getVar( "DEPENDS", d, 1 ).split():
- raise "No Python in STAGING_INCDIR. Forgot to build python-native ?"
- return "INVALID"
-
-PYTHON_DIR = "${@python_dir(d)}"
-
PACKAGES = "${PN}-dev ${PN}-dbg ${PN}-doc ${PN}"
FILES_${PN} = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}/*"
@@ -21,10 +12,10 @@ FILES_${PN} = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}/*"
FILES_${PN}-dev += "\
${datadir}/pkgconfig \
${libdir}/pkgconfig \
- ${libdir}/${PYTHON_DIR}/site-packages/*.la \
+ ${PYTHON_SITEPACKAGES_DIR}/*.la \
"
-FILES_${PN}-dbg = "\
- ${libdir}/${PYTHON_DIR}/site-packages/.debug \
- ${libdir}/${PYTHON_DIR}/site-packages/*/.debug \
- ${libdir}/${PYTHON_DIR}/site-packages/*/*/.debug \
+FILES_${PN}-dbg += "\
+ ${PYTHON_SITEPACKAGES_DIR}/.debug \
+ ${PYTHON_SITEPACKAGES_DIR}/*/.debug \
+ ${PYTHON_SITEPACKAGES_DIR}/*/*/.debug \
"
diff --git a/meta/classes/distutils.bbclass b/meta/classes/distutils.bbclass
index 245ef7d85..7e6fbc0c0 100644
--- a/meta/classes/distutils.bbclass
+++ b/meta/classes/distutils.bbclass
@@ -16,9 +16,7 @@ distutils_do_compile() {
}
distutils_stage_headers() {
- install -d ${STAGING_DIR_HOST}${libdir}/${PYTHON_DIR}/site-packages
- STAGING_INCDIR=${STAGING_INCDIR} \
- STAGING_LIBDIR=${STAGING_LIBDIR} \
+ install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR}
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
${STAGING_BINDIR_NATIVE}/python setup.py install_headers ${DISTUTILS_STAGE_HEADERS_ARGS} || \
oefatal "python setup.py install_headers execution failed."
@@ -27,18 +25,18 @@ distutils_stage_headers() {
distutils_stage_all() {
STAGING_INCDIR=${STAGING_INCDIR} \
STAGING_LIBDIR=${STAGING_LIBDIR} \
- install -d ${STAGING_DIR_HOST}${libdir}/${PYTHON_DIR}/site-packages
- PYTHONPATH=${STAGING_DIR_HOST}${libdir}/${PYTHON_DIR}/site-packages \
+ install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR}
+ PYTHONPATH=${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} \
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
${STAGING_BINDIR_NATIVE}/python setup.py install ${DISTUTILS_STAGE_ALL_ARGS} || \
oefatal "python setup.py install (stage) execution failed."
}
distutils_do_install() {
- install -d ${D}${libdir}/${PYTHON_DIR}/site-packages
+ install -d ${D}${PYTHON_SITEPACKAGES_DIR}
STAGING_INCDIR=${STAGING_INCDIR} \
STAGING_LIBDIR=${STAGING_LIBDIR} \
- PYTHONPATH=${D}/${libdir}/${PYTHON_DIR}/site-packages \
+ PYTHONPATH=${D}/${PYTHON_SITEPACKAGES_DIR} \
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
${STAGING_BINDIR_NATIVE}/python setup.py install ${DISTUTILS_INSTALL_ARGS} || \
oefatal "python setup.py install execution failed."
@@ -59,15 +57,17 @@ distutils_do_install() {
done
fi
- rm -f ${D}${libdir}/${PYTHON_DIR}/site-packages/easy-install.pth
-
+ rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/easy-install.pth
+
#
# FIXME: Bandaid against wrong datadir computation
#
if test -e ${D}${datadir}/share; then
mv -f ${D}${datadir}/share/* ${D}${datadir}/
fi
-
+
+ # These are generated files, on really slow systems the storage/speed trade off
+ # might be worth it, but in general it isn't
find ${D}${libdir}/${PYTHON_DIR}/site-packages -iname '*.pyo' -exec rm {} \;
}
diff --git a/meta/classes/gtk-icon-cache.bbclass b/meta/classes/gtk-icon-cache.bbclass
index 524c2f0c4..dcabaf544 100644
--- a/meta/classes/gtk-icon-cache.bbclass
+++ b/meta/classes/gtk-icon-cache.bbclass
@@ -9,7 +9,7 @@ if [ "x$D" != "x" ]; then
fi
# Update the pixbuf loaders in case they haven't been registered yet
-gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders
+GDK_PIXBUF_MODULEDIR=${libdir}/gdk-pixbuf-2.0/2.10.0/loaders gdk-pixbuf-query-loaders --update-cache
for icondir in /usr/share/icons/* ; do
if [ -d $icondir ] ; then
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 9fa0155c8..14de3e199 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -39,7 +39,7 @@ python () {
# 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:
+ if bb.data.getVar('BB_WORKERCONTEXT', d, True) is not None:
runtime_mapping_rename("PACKAGE_INSTALL", d)
runtime_mapping_rename("PACKAGE_INSTALL_ATTEMPTONLY", d)
}
@@ -155,7 +155,6 @@ insert_feed_uris () {
}
log_check() {
- set +x
for target in $*
do
lf_path="${WORKDIR}/temp/log.do_$target.${PID}"
@@ -164,14 +163,12 @@ log_check() {
if test -e "$lf_path"
then
- rootfs_${IMAGE_PKGTYPE}_log_check $target $lf_path
+ ${IMAGE_PKGTYPE}_log_check $target $lf_path
else
echo "Cannot find logfile [$lf_path]"
fi
echo "Logfile is clean"
done
-
- set -x
}
# set '*' as the rootpassword so the images
diff --git a/meta/classes/imagetest-qemu.bbclass b/meta/classes/imagetest-qemu.bbclass
index 4b3ddfc36..8301df845 100644
--- a/meta/classes/imagetest-qemu.bbclass
+++ b/meta/classes/imagetest-qemu.bbclass
@@ -5,6 +5,9 @@ TEST_LOG ?= "${LOG_DIR}/qemuimagetests"
TEST_RESULT ?= "${TEST_DIR}/result"
TEST_TMP ?= "${TEST_DIR}/tmp"
TEST_SCEN ?= "sanity"
+TEST_STATUS ?= "${TEST_TMP}/status"
+TARGET_IPSAVE ?= "${TEST_TMP}/target_ip"
+TEST_SERIALIZE ?= "1"
python do_qemuimagetest() {
qemuimagetest_main(d)
@@ -34,10 +37,21 @@ def qemuimagetest_main(d):
machine = bb.data.getVar('MACHINE', d, 1)
pname = bb.data.getVar('PN', d, 1)
+ """function to save test cases running status"""
+ def teststatus(test, status, index, length):
+ test_status = bb.data.getVar('TEST_STATUS', d, 1)
+ if not os.path.exists(test_status):
+ raise bb.build.FuncFailed("No test status file existing under TEST_TMP")
+
+ f = open(test_status, "w")
+ f.write("\t%-15s%-15s%-15s%-15s\n" % ("Case", "Status", "Number", "Total"))
+ f.write("\t%-15s%-15s%-15s%-15s\n" % (case, status, index, length))
+ f.close()
+
"""funtion to run each case under scenario"""
def runtest(scen, case, fulltestpath):
resultpath = bb.data.getVar('TEST_RESULT', d, 1)
- testpath = bb.data.getVar('TEST_DIR', d, 1)
+ tmppath = bb.data.getVar('TEST_TMP', d, 1)
"""initialize log file for testcase"""
logpath = bb.data.getVar('TEST_LOG', d, 1)
@@ -45,20 +59,23 @@ def qemuimagetest_main(d):
caselog = os.path.join(logpath, "%s/log_%s.%s" % (scen, case, bb.data.getVar('DATETIME', d, 1)))
os.system("touch %s" % caselog)
-
"""export TEST_TMP, TEST_RESULT, DEPLOY_DIR and QEMUARCH"""
os.environ["PATH"] = bb.data.getVar("PATH", d, True)
- os.environ["TEST_TMP"] = testpath
+ os.environ["TEST_TMP"] = tmppath
os.environ["TEST_RESULT"] = resultpath
os.environ["DEPLOY_DIR"] = bb.data.getVar("DEPLOY_DIR", d, True)
os.environ["QEMUARCH"] = machine
os.environ["QEMUTARGET"] = pname
os.environ["DISPLAY"] = bb.data.getVar("DISPLAY", d, True)
os.environ["POKYBASE"] = bb.data.getVar("POKYBASE", d, True)
+ os.environ["TOPDIR"] = bb.data.getVar("TOPDIR", d, True)
+ os.environ["TEST_STATUS"] = bb.data.getVar("TEST_STATUS", d, True)
+ os.environ["TARGET_IPSAVE"] = bb.data.getVar("TARGET_IPSAVE", d, True)
+ os.environ["TEST_SERIALIZE"] = bb.data.getVar("TEST_SERIALIZE", d, True)
"""run Test Case"""
bb.note("Run %s test in scenario %s" % (case, scen))
- os.system("%s | tee -a %s" % (fulltestpath, caselog))
+ os.system("%s" % fulltestpath)
"""Generate testcase list in runtime"""
def generate_list(testlist):
@@ -96,6 +113,18 @@ def qemuimagetest_main(d):
list.append((item, casefile, fulltestcase))
return list
+ """Clean tmp folder for testing"""
+ def clean_tmp():
+ tmppath = bb.data.getVar('TEST_TMP', d, 1)
+
+ if os.path.isdir(tmppath):
+ for f in os.listdir(tmppath):
+ tmpfile = os.path.join(tmppath, f)
+ os.remove(tmpfile)
+
+ """Before running testing, clean temp folder first"""
+ clean_tmp()
+
"""check testcase folder and create test log folder"""
testpath = bb.data.getVar('TEST_DIR', d, 1)
bb.utils.mkdirhier(testpath)
@@ -105,7 +134,13 @@ def qemuimagetest_main(d):
tmppath = bb.data.getVar('TEST_TMP', d, 1)
bb.utils.mkdirhier(tmppath)
-
+
+ """initialize test status file"""
+ test_status = bb.data.getVar('TEST_STATUS', d, 1)
+ if os.path.exists(test_status):
+ os.remove(test_status)
+ os.system("touch %s" % test_status)
+
"""initialize result file"""
resultpath = bb.data.getVar('TEST_RESULT', d, 1)
bb.utils.mkdirhier(resultpath)
@@ -128,9 +163,11 @@ def qemuimagetest_main(d):
fulllist = generate_list(testlist)
"""Begin testing"""
- for test in fulllist:
+ for index,test in enumerate(fulllist):
(scen, case, fullpath) = test
+ teststatus(case, "running", index, (len(fulllist) - 1))
runtest(scen, case, fullpath)
+ teststatus(case, "finished", index, (len(fulllist) - 1))
"""Print Test Result"""
ret = 0
@@ -149,6 +186,9 @@ def qemuimagetest_main(d):
bb.note(line)
f.close()
+ """Clean temp files for testing"""
+ clean_tmp()
+
if ret != 0:
raise bb.build.FuncFailed("Some testcases fail, pls. check test result and test log!!!")
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index b06d021b1..5d3ef92a2 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -153,8 +153,7 @@ def package_qa_handle_error(error_class, error_msg, name, path, d):
if fatal:
bb.error("QA Issue: %s" % error_msg)
else:
- # Use bb.warn here when it works
- bb.note("QA Issue: %s" % error_msg)
+ bb.warn("QA Issue: %s" % error_msg)
package_qa_write_error(error_class, name, path, d)
return not fatal
@@ -348,8 +347,8 @@ def package_qa_check_license(workdir, d):
if not lic_files:
# just throw a warning now. Once licensing data in entered for enough of the recipes,
# this will be converted into error and False will be returned.
- bb.warn(pn + ": Recipe file does not have license file information (LIC_FILES_CHKSUM)")
- return True
+ bb.error(pn + ": Recipe file does not have license file information (LIC_FILES_CHKSUM)")
+ return False
srcdir = bb.data.getVar('S', d, True)
@@ -357,10 +356,10 @@ def package_qa_check_license(workdir, d):
(type, host, path, user, pswd, parm) = bb.decodeurl(url)
srclicfile = os.path.join(srcdir, path)
if not os.path.isfile(srclicfile):
- raise bb.build.FuncFailed( "LIC_FILES_CHKSUM points to invalid file: " + path)
+ raise bb.build.FuncFailed( pn + ": LIC_FILES_CHKSUM points to invalid file: " + path)
if 'md5' not in parm:
- bb.error("md5 checksum is not specified for ", url)
+ bb.error(pn + ": md5 checksum is not specified for ", url)
return False
beginline, endline = 0, 0
if 'beginline' in parm:
@@ -391,11 +390,11 @@ def package_qa_check_license(workdir, d):
os.unlink(tmplicfile)
if parm['md5'] == md5chksum:
- bb.note ("md5 checksum matched for ", url)
+ bb.note (pn + ": md5 checksum matched for ", url)
else:
- bb.error ("md5 data is not matching for ", url)
- bb.note ("The new md5 checksum is ", md5chksum)
- bb.note ("Check if the license information has changed, and if it has update the .bb file with correct license")
+ bb.error (pn + ": md5 data is not matching for ", url)
+ bb.error (pn + ": The new md5 checksum is ", md5chksum)
+ bb.error (pn + ": Check if the license information has changed in")
sane = False
return sane
@@ -428,11 +427,6 @@ def package_qa_check_staged(path,d):
path = os.path.join(root,file)
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):
- if installed in file_content:
- error_msg = "%s failed sanity test (installed) in path %s" % (file,root)
- sane = package_qa_handle_error(5, error_msg, "staging", 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)
@@ -534,9 +528,9 @@ python do_package_qa () {
checks = [package_qa_check_rpath, package_qa_check_dev,
package_qa_check_perm, package_qa_check_arch,
- package_qa_check_desktop,
+ package_qa_check_desktop, package_qa_hash_style,
package_qa_check_dbg]
- # package_qa_check_buildpaths, package_qa_hash_style
+ # package_qa_check_buildpaths,
walk_sane = True
rdepends_sane = True
for package in packages.split():
@@ -581,7 +575,7 @@ python do_qa_configure() {
os.path.join(root,"config.log")
if "config.log" in files:
if os.system(statement) == 0:
- bb.fatal("""This autoconf log indicates errors, it looked at host includes.
+ bb.fatal("""This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities.
Rerun configure task after fixing this. The path was '%s'""" % root)
if "configure.ac" in files:
@@ -605,5 +599,5 @@ Rerun configure task after fixing this. The path was '%s'""" % root)
Missing inherit gettext?""" % config)
if not package_qa_check_license(workdir, d):
- bb.fatal("Licensing warning: LIC_FILES_CHKSUM does not match, please fix")
+ bb.fatal("Licensing Error: LIC_FILES_CHKSUM does not match, please fix")
}
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 8e820122e..15802fabd 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -1,60 +1,15 @@
S = "${WORKDIR}/linux"
-# Determine which branch to fetch and build. Not all branches are in the
-# upstream repo (but will be locally created after the fetchers run) so
-# a fallback branch needs to be chosen.
-#
-# The default machine 'UNDEFINED'. If the machine is not set to a specific
-# branch in this recipe or in a recipe extension, then we fallback to a
-# branch that is always present 'standard'. This sets the KBRANCH variable
-# and is used in the SRC_URI. The machine is then set back to ${MACHINE},
-# since futher processing will use that to create local branches
-python __anonymous () {
- import bb, re
-
- version = bb.data.getVar("LINUX_VERSION", d, 1)
- # 2.6.34 signifies the old-style tree, so we need some temporary
- # conditional processing based on the kernel version.
- if version == "2.6.34":
- bb.data.setVar("KBRANCH", "${KMACHINE}-${LINUX_KERNEL_TYPE}", d)
- bb.data.setVar("KMETA", "wrs_meta", d)
- mach = bb.data.getVar("KMACHINE", d, 1)
- if mach == "UNDEFINED":
- bb.data.setVar("KBRANCH", "standard", d)
- bb.data.setVar("KMACHINE", "${MACHINE}", d)
- # track the global configuration on a bootstrapped BSP
- bb.data.setVar("SRCREV_machine", "${SRCREV_meta}", d)
- bb.data.setVar("BOOTSTRAP", "t", d)
- else:
- # The branch for a build is:
- # yocto/<kernel type>/${KMACHINE} or
- # yocto/<kernel type>/${KMACHINE}/base
- bb.data.setVar("KBRANCH", bb.data.expand("yocto/${LINUX_KERNEL_TYPE}/${KMACHINE}",d), d)
- bb.data.setVar("KMETA", "meta", d)
-
- mach = bb.data.getVar("KMACHINE", d, 1)
- # drop the "/base" if it was on the KMACHINE
- kmachine = mach.replace('/base','')
- # and then write KMACHINE back
- bb.data.setVar('KMACHINE_' + bb.data.expand("${MACHINE}",d), kmachine, d)
-
- if mach == "UNDEFINED":
- bb.data.setVar("KBRANCH", "yocto/standard/base", d)
- bb.data.setVar('KMACHINE_' + bb.data.expand("${MACHINE}",d), bb.data.expand("${MACHINE}",d), d)
- bb.data.setVar("SRCREV_machine", "standard", d)
- bb.data.setVar("BOOTSTRAP", "t", d)
-}
-
do_patch() {
cd ${S}
if [ -f ${WORKDIR}/defconfig ]; then
defconfig=${WORKDIR}/defconfig
fi
- if [ -n "${BOOTSTRAP}" ]; then
- kbranch="yocto/${LINUX_KERNEL_TYPE}/${KMACHINE}"
- else
- kbranch=${KBRANCH}
+ kbranch=${KBRANCH}
+ if [ -n "${YOCTO_KERNEL_EXTERNAL_BRANCH}" ]; then
+ # switch from a generic to a specific branch
+ kbranch=${YOCTO_KERNEL_EXTERNAL_BRANCH}
fi
# simply ensures that a branch of the right name has been created
@@ -68,7 +23,7 @@ do_patch() {
if [ -n "${KERNEL_FEATURES}" ]; then
addon_features="--features ${KERNEL_FEATURES}"
fi
- updateme ${addon_features} ${ARCH} ${WORKDIR}
+ updateme ${addon_features} ${ARCH} ${MACHINE} ${WORKDIR}
if [ $? -ne 0 ]; then
echo "ERROR. Could not update ${kbranch}"
exit 1
@@ -83,11 +38,11 @@ do_patch() {
}
do_kernel_checkout() {
- if [ -d ${WORKDIR}/.git/refs/remotes/origin ]; then
+ if [ -d ${WORKDIR}/git/.git/refs/remotes/origin ]; then
echo "Fixing up git directory for ${LINUX_KERNEL_TYPE}/${KMACHINE}"
rm -rf ${S}
mkdir ${S}
- mv ${WORKDIR}/.git ${S}
+ mv ${WORKDIR}/git/.git ${S}
if [ -e ${S}/.git/packed-refs ]; then
cd ${S}
@@ -119,23 +74,34 @@ addtask kernel_checkout before do_patch after do_unpack
do_kernel_configme() {
echo "[INFO] doing kernel configme"
+ kbranch=${KBRANCH}
+ if [ -n "${YOCTO_KERNEL_EXTERNAL_BRANCH}" ]; then
+ # switch from a generic to a specific branch
+ kbranch=${YOCTO_KERNEL_EXTERNAL_BRANCH}
+ fi
+
cd ${S}
- configme --reconfig
+ configme --reconfig --output ${B} ${kbranch} ${MACHINE}
if [ $? -ne 0 ]; then
echo "ERROR. Could not configure ${KMACHINE}-${LINUX_KERNEL_TYPE}"
exit 1
fi
-
+
echo "# Global settings from linux recipe" >> ${B}/.config
echo "CONFIG_LOCALVERSION="\"${LINUX_VERSION_EXTENSION}\" >> ${B}/.config
}
-do_kernel_configcheck() {
- echo "[INFO] validating kernel configuration"
- cd ${B}/..
- kconf_check ${B}/.config ${B} ${S} ${B} ${LINUX_VERSION} ${KMACHINE}-${LINUX_KERNEL_TYPE}
-}
+python do_kernel_configcheck() {
+ import bb, re, string, sys, commands
+ bb.plain("NOTE: validating kernel configuration")
+
+ pathprefix = "export PATH=%s; " % bb.data.getVar('PATH', d, True)
+ cmd = bb.data.expand("cd ${B}/..; kconf_check -${LINUX_KERNEL_TYPE}-config-${LINUX_VERSION} ${B} ${S} ${B} ${KBRANCH}",d )
+ ret, result = commands.getstatusoutput("%s%s" % (pathprefix, cmd))
+
+ bb.plain( "%s" % result )
+}
# Ensure that the branches (BSP and meta) are on the locatios specified by
# their SRCREV values. If they are NOT on the right commits, the branches
@@ -148,37 +114,37 @@ do_validate_branches() {
target_meta_head="${SRCREV_meta}"
# nothing to do if bootstrapping
- if [ -n "${BOOTSTRAP}" ]; then
+ if [ -n "${YOCTO_KERNEL_EXTERNAL_BRANCH}" ]; then
return
fi
current=`git branch |grep \*|sed 's/^\* //'`
if [ -n "$target_branch_head" ] && [ "$branch_head" != "$target_branch_head" ]; then
if [ -n "${KERNEL_REVISION_CHECKING}" ]; then
- git show ${target_branch_head} > /dev/null 2>&1
- if [ $? -eq 0 ]; then
- echo "Forcing branch $current to ${target_branch_head}"
- git branch -m $current $current-orig
- git checkout -b $current ${target_branch_head}
- else
+ ref=`git show ${target_meta_head} 2>&1 | head -n1 || true`
+ if [ "$ref" = "fatal: bad object ${target_meta_head}" ]; then
echo "ERROR ${target_branch_head} is not a valid commit ID."
echo "The kernel source tree may be out of sync"
exit 1
- fi
+ else
+ echo "Forcing branch $current to ${target_branch_head}"
+ git branch -m $current $current-orig
+ git checkout -b $current ${target_branch_head}
+ fi
fi
fi
if [ "$meta_head" != "$target_meta_head" ]; then
if [ -n "${KERNEL_REVISION_CHECKING}" ]; then
- git show ${target_meta_head} > /dev/null 2>&1
- if [ $? -eq 0 ]; then
- echo "Forcing branch meta to ${target_meta_head}"
- git branch -m ${KMETA} ${KMETA}-orig
- git checkout -b ${KMETA} ${target_meta_head}
- else
+ ref=`git show ${target_meta_head} 2>&1 | head -n1 || true`
+ if [ "$ref" = "fatal: bad object ${target_meta_head}" ]; then
echo "ERROR ${target_meta_head} is not a valid commit ID"
echo "The kernel source tree may be out of sync"
exit 1
+ else
+ echo "Forcing branch meta to ${target_meta_head}"
+ git branch -m ${KMETA} ${KMETA}-orig
+ git checkout -b ${KMETA} ${target_meta_head}
fi
fi
fi
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index b2f8132ab..59de148cc 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -40,8 +40,8 @@ HOST_CC_KERNEL_ARCH ?= "${TARGET_CC_KERNEL_ARCH}"
TARGET_LD_KERNEL_ARCH ?= ""
HOST_LD_KERNEL_ARCH ?= "${TARGET_LD_KERNEL_ARCH}"
-KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH}"
-KERNEL_LD = "${LD}${KERNEL_LDSUFFIX} ${HOST_LD_KERNEL_ARCH}"
+KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH}${TOOLCHAIN_OPTIONS}"
+KERNEL_LD = "${LD}${KERNEL_LDSUFFIX} ${HOST_LD_KERNEL_ARCH}${TOOLCHAIN_OPTIONS}"
# Where built kernel lies in the kernel tree
KERNEL_OUTPUT ?= "arch/${ARCH}/boot/${KERNEL_IMAGETYPE}"
@@ -173,7 +173,7 @@ kernel_do_install() {
scripts/ihex2fw scripts/kallsyms scripts/pnmtologo scripts/basic/docproc \
scripts/basic/fixdep scripts/basic/hash scripts/dtc/dtc \
scripts/genksyms/genksyms scripts/kconfig/conf scripts/mod/mk_elfconfig \
- scripts/mod/modpost"
+ scripts/mod/modpost scripts/recordmcount"
rm -rf $kerneldir/scripts/*.o
rm -rf $kerneldir/scripts/basic/*.o
rm -rf $kerneldir/scripts/kconfig/*.o
@@ -185,7 +185,7 @@ kernel_do_install() {
}
sysroot_stage_all_append() {
- sysroot_stage_dir ${D}/kernel ${SYSROOT_DESTDIR}${STAGING_KERNEL_DIR}
+ sysroot_stage_dir ${D}/kernel ${SYSROOT_DESTDIR}/kernel
}
@@ -292,13 +292,16 @@ module_conf_rfcomm = "alias bt-proto-3 rfcomm"
python populate_packages_prepend () {
def extract_modinfo(file):
- import re
- tmpfile = os.tmpnam()
+ import tempfile, re
+ tempfile.tempdir = bb.data.getVar("WORKDIR", d, 1)
+ tf = tempfile.mkstemp()
+ tmpfile = tf[1]
cmd = "PATH=\"%s\" %sobjcopy -j .modinfo -O binary %s %s" % (bb.data.getVar("PATH", d, 1), bb.data.getVar("HOST_PREFIX", d, 1) or "", file, tmpfile)
os.system(cmd)
f = open(tmpfile)
l = f.read().split("\000")
f.close()
+ os.close(tf[0])
os.unlink(tmpfile)
exp = re.compile("([^=]+)=(.*)")
vals = {}
@@ -441,7 +444,7 @@ python populate_packages_prepend () {
metapkg = "kernel-modules"
bb.data.setVar('ALLOW_EMPTY_' + metapkg, "1", d)
bb.data.setVar('FILES_' + metapkg, "", d)
- blacklist = [ 'kernel-dev', 'kernel-image', 'kernel-base', 'kernel-vmlinux' ]
+ blacklist = [ 'kernel-dev', 'kernel-image', 'kernel-base', 'kernel-vmlinux', 'perf' ]
for l in module_deps.values():
for i in l:
pkg = module_pattern % legitimize_package_name(re.match(module_regex, os.path.basename(i)).group(1))
@@ -484,16 +487,16 @@ kernel_do_deploy() {
if test "x${KERNEL_IMAGETYPE}" = "xuImage" ; then
if test -e arch/${ARCH}/boot/uImage ; then
- cp arch/${ARCH}/boot/uImage ${DEPLOYDIR}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.bin
+ cp arch/${ARCH}/boot/uImage ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin
elif test -e arch/${ARCH}/boot/compressed/vmlinux ; then
${OBJCOPY} -O binary -R .note -R .comment -S arch/${ARCH}/boot/compressed/vmlinux linux.bin
- uboot-mkimage -A ${ARCH} -O linux -T kernel -C none -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${DEPLOYDIR}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.bin
+ uboot-mkimage -A ${ARCH} -O linux -T kernel -C none -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin
rm -f linux.bin
else
${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin
rm -f linux.bin.gz
gzip -9 linux.bin
- uboot-mkimage -A ${ARCH} -O linux -T kernel -C gzip -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz ${DEPLOYDIR}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.bin
+ uboot-mkimage -A ${ARCH} -O linux -T kernel -C gzip -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin
rm -f linux.bin.gz
fi
fi
diff --git a/meta/classes/libc-package.bbclass b/meta/classes/libc-package.bbclass
index 4709b33c0..733f26b85 100644
--- a/meta/classes/libc-package.bbclass
+++ b/meta/classes/libc-package.bbclass
@@ -95,9 +95,6 @@ do_install() {
mv ${WORKDIR}/SUPPORTED.tmp ${WORKDIR}/SUPPORTED
done
rm -f ${D}{sysconfdir}/rpc
- rm -f ${D}${includedir}/scsi/sg.h
- rm -f ${D}${includedir}/scsi/scsi_ioctl.h
- rm -f ${D}${includedir}/scsi/scsi.h
rm -rf ${D}${datadir}/zoneinfo
rm -rf ${D}${libexecdir}/getconf
}
diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
new file mode 100644
index 000000000..97d4e4e41
--- /dev/null
+++ b/meta/classes/license.bbclass
@@ -0,0 +1,103 @@
+# Populates LICENSE_DIRECTORY as set in poky.conf with the license files as set by
+# LIC_FILES_CHKSUM.
+# TODO:
+# - We should also enable the ability to put the generated license directory onto the
+# rootfs
+# - Gather up more generic licenses
+# - There is a real issue revolving around license naming standards. See license names
+# licenses.conf and compare them to the license names in the recipes. You'll see some
+# differences and that should be corrected.
+
+LICENSE_DIRECTORY ??= "${DEPLOY_DIR_IMAGE}/licenses"
+LICSSTATEDIR = "${WORKDIR}/license-destdir/"
+
+addtask populate_lic after do_patch before do_package
+do_populate_lic[dirs] = "${LICSSTATEDIR}/${PN}"
+do_populate_lic[cleandirs] = "${LICSSTATEDIR}"
+python do_populate_lic() {
+ """
+ Populate LICENSE_DIRECTORY with licenses.
+ """
+ import os
+ import bb
+ import shutil
+
+ # All the license types for the package
+ license_types = bb.data.getVar('LICENSE', d, True)
+ # All the license files for the package
+ lic_files = bb.data.getVar('LIC_FILES_CHKSUM', d, True)
+ pn = bb.data.getVar('PN', d, True)
+ # The base directory we wrangle licenses to
+ destdir = os.path.join(bb.data.getVar('LICSSTATEDIR', d, True), pn)
+ # The license files are located in S/LIC_FILE_CHECKSUM.
+ srcdir = bb.data.getVar('S', d, True)
+ # Directory we store the generic licenses as set in poky.conf
+ generic_directory = bb.data.getVar('COMMON_LICENSE_DIR', d, True)
+ if not generic_directory:
+ raise bb.build.FuncFailed("COMMON_LICENSE_DIR is unset. Please set this in your distro config")
+
+ if not lic_files:
+ # No recipe should have an invalid license file. This is checked else
+ # where, but let's be pedantic
+ bb.note(pn + ": Recipe file does not have license file information.")
+ return True
+
+ for url in lic_files.split():
+ (type, host, path, user, pswd, parm) = bb.decodeurl(url)
+ # We want the license file to be copied into the destination
+ srclicfile = os.path.join(srcdir, path)
+ ret = bb.copyfile(srclicfile, os.path.join(destdir, os.path.basename(path)))
+ # If the copy didn't occur, something horrible went wrong and we fail out
+ if ret is False or ret == 0:
+ bb.warn("%s could not be copied for some reason. It may not exist. WARN for now." % srclicfile)
+
+ # This takes some explaining.... we now are going to go an try to symlink
+ # to a generic file. But, with the way LICENSE works, a package can have multiple
+ # licenses. Some of them are, for example, GPLv2+, which means it can use that version
+ # of GPLv2 specified in it's license, or a later version of GPLv2. For the purposes of
+ # what we're doing here, we really don't track license revisions (although we may want to)
+ # So, we strip out the + and link to a generic GPLv2
+ #
+ # That said, there are some entries into LICENSE that either have no generic (bzip, zlib, ICS)
+ # or the LICENSE is messy (Apache 2.0 .... when they mean Apache-2.0). This should be corrected
+ # but it's outside of scope for this.
+ #
+ # Also, you get some clever license fields with logic in the field.
+ # I'm sure someone has written a logic parser for these fields, but if so, I don't know where it is.
+ # So what I do is just link to every license mentioned in the license field.
+
+ for license_type in license_types.replace('&', '').replace('+', '').replace('&', '').replace('|', '').replace('(', '').replace(')', '').split():
+ if os.path.isfile(os.path.join(generic_directory, license_type)):
+ gen_lic_dest = os.path.join(bb.data.getVar('LICENSE_DIRECTORY', d, True), "common-licenses")
+ try:
+ bb.mkdirhier(gen_lic_dest)
+ except:
+ pass
+
+ try:
+ bb.copyfile(os.path.join(generic_directory, license_type), os.path.join(gen_lic_dest, license_type))
+ except:
+ bb.warn("%s: No generic license file exists for: %s at %s" % (pn, license_type, generic_directory))
+ pass
+ try:
+ os.symlink(os.path.join(gen_lic_dest, license_type), os.path.join(destdir, "generic_" + license_type))
+ except:
+ bb.warn("%s: No generic license file exists for: %s at %s" % (pn, license_type, generic_directory))
+ pass
+ else:
+ bb.warn("%s: Something went wrong with copying: %s to %s" % (pn, license_type, generic_directory))
+ bb.warn("This could be either because we do not have a generic for this license or the LICENSE field is incorrect")
+ pass
+}
+
+SSTATETASKS += "do_populate_lic"
+do_populate_lic[sstate-name] = "populate-lic"
+do_populate_lic[sstate-inputdirs] = "${LICSSTATEDIR}"
+do_populate_lic[sstate-outputdirs] = "${LICENSE_DIRECTORY}/"
+
+python do_populate_lic_setscene () {
+ sstate_setscene(d)
+}
+addtask do_populate_lic_setscene
+
+
diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
index 3ca9d6284..545a73eb8 100644
--- a/meta/classes/native.bbclass
+++ b/meta/classes/native.bbclass
@@ -60,6 +60,9 @@ base_prefix = "${STAGING_DIR_NATIVE}"
prefix = "${STAGING_DIR_NATIVE}${prefix_native}"
exec_prefix = "${STAGING_DIR_NATIVE}${prefix_native}"
+do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}/${STAGING_DIR_NATIVE}"
+do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_NATIVE}"
+
# Since we actually install these into situ there is no staging prefix
STAGING_DIR_HOST = ""
STAGING_DIR_TARGET = ""
@@ -117,3 +120,5 @@ do_package_write_ipk[noexec] = "1"
do_package_write_deb[noexec] = "1"
do_package_write_rpm[noexec] = "1"
+do_populate_sysroot[stamp-extra-info] = ""
+do_package[stamp-extra-info] = ""
diff --git a/meta/classes/nativesdk.bbclass b/meta/classes/nativesdk.bbclass
index 154bd827b..587a907c4 100644
--- a/meta/classes/nativesdk.bbclass
+++ b/meta/classes/nativesdk.bbclass
@@ -19,6 +19,8 @@ python () {
#STAGING_DIR_HOST = "${STAGING_DIR}/${HOST_SYS}-nativesdk"
#STAGING_DIR_TARGET = "${STAGING_DIR}/${BASEPKG_TARGET_SYS}-nativesdk"
+STAGING_DIR_HOST = "${STAGING_DIR}/${BASEPKG_HOST_SYS}"
+STAGING_DIR_TARGET = "${STAGING_DIR}/${BASEPKG_TARGET_SYS}"
HOST_ARCH = "${SDK_ARCH}"
HOST_VENDOR = "${SDK_VENDOR}"
@@ -79,4 +81,5 @@ python __anonymous () {
bb.data.setVar("OVERRIDES", bb.data.getVar("OVERRIDES", d, False) + ":virtclass-nativesdk", d)
}
-
+do_populate_sysroot[stamp-extra-info] = ""
+do_package[stamp-extra-info] = ""
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index d39c694de..8f58ad03f 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -289,6 +289,8 @@ python package_do_split_locales() {
if mainpkg.find('-dev'):
mainpkg = mainpkg.replace('-dev', '')
+ summary = bb.data.getVar('SUMMARY', d, True) or pn
+ description = bb.data.getVar('DESCRIPTION', d, True) or ""
for l in locales:
ln = legitimize_package_name(l)
pkg = pn + '-locale-' + ln
@@ -296,7 +298,8 @@ python package_do_split_locales() {
bb.data.setVar('FILES_' + pkg, os.path.join(datadir, 'locale', l), d)
bb.data.setVar('RDEPENDS_' + pkg, '%s virtual-locale-%s' % (mainpkg, ln), d)
bb.data.setVar('RPROVIDES_' + pkg, '%s-locale %s-translation' % (pn, ln), d)
- bb.data.setVar('DESCRIPTION_' + pkg, '%s translation for %s' % (l, pn), d)
+ bb.data.setVar('SUMMARY_' + pkg, '%s - %s translations' % (summary, l), d)
+ bb.data.setVar('DESCRIPTION_' + pkg, '%s This package contains language translation files for the %s locale.' % (description, l), d)
bb.data.setVar('PACKAGES', ' '.join(packages), d)
@@ -497,7 +500,8 @@ python emit_pkgdata() {
pkgdest = bb.data.getVar('PKGDEST', d, 1)
pkgdatadir = bb.data.getVar('PKGDESTWORK', d, True)
- lf = bb.utils.lockfile(bb.data.expand("${PACKAGELOCK}", d))
+ # Take shared lock since we're only reading, not writing
+ lf = bb.utils.lockfile(bb.data.expand("${PACKAGELOCK}", d), True)
data_file = pkgdatadir + bb.data.expand("/${PN}" , d)
f = open(data_file, 'w')
@@ -514,6 +518,7 @@ python emit_pkgdata() {
write_if_exists(sf, pkg, 'PV')
write_if_exists(sf, pkg, 'PR')
write_if_exists(sf, pkg, 'DESCRIPTION')
+ write_if_exists(sf, pkg, 'SUMMARY')
write_if_exists(sf, pkg, 'RDEPENDS')
write_if_exists(sf, pkg, 'RPROVIDES')
write_if_exists(sf, pkg, 'RRECOMMENDS')
@@ -558,7 +563,7 @@ if [ x"$D" = "x" ]; then
fi
}
-RPMDEPS = "${STAGING_LIBDIR_NATIVE}/rpm/rpmdeps"
+RPMDEPS = "${STAGING_LIBDIR_NATIVE}/rpm/bin/rpmdeps"
# Collect perfile run-time dependency metadata
# Output:
@@ -606,7 +611,7 @@ python package_do_filedeps() {
# Determine dependencies
for pkg in packages.split():
- if pkg.endswith('-dbg'):
+ if pkg.endswith('-dbg') or pkg.find('-locale-') != -1 or pkg.find('-localedata-') != -1 or pkg.find('-gconv-') != -1 or pkg.find('-charmap-') != -1 or pkg.startswith('kernel-module-') != -1:
continue
# Process provides
@@ -649,6 +654,7 @@ python package_do_shlibs() {
shlibs_dir = bb.data.getVar('SHLIBSDIR', d, True)
shlibswork_dir = bb.data.getVar('SHLIBSWORKDIR', d, True)
+ # Take shared lock since we're only reading, not writing
lf = bb.utils.lockfile(bb.data.expand("${PACKAGELOCK}", d))
def linux_so(root, path, file):
@@ -878,6 +884,7 @@ python package_do_pkgconfig () {
if hdr == 'Requires':
pkgconfig_needed[pkg] += exp.replace(',', ' ').split()
+ # Take shared lock since we're only reading, not writing
lf = bb.utils.lockfile(bb.data.expand("${PACKAGELOCK}", d))
for pkg in packages.split():
@@ -1038,6 +1045,8 @@ python package_depchains() {
for suffix in pkgs:
for pkg in pkgs[suffix]:
+ if bb.data.getVarFlag('RRECOMMENDS_' + pkg, 'nodeprrecs', d):
+ continue
(base, func) = pkgs[suffix][pkg]
if suffix == "-dev":
pkg_adddeprrecs(pkg, base, suffix, func, depends, d)
@@ -1062,7 +1071,7 @@ PACKAGEFUNCS ?= "perform_packagecopy \
package_depchains \
emit_pkgdata"
-python package_do_package () {
+python do_package () {
packages = (bb.data.getVar('PACKAGES', d, True) or "").split()
if len(packages) < 1:
bb.debug(1, "No packages to build, skipping do_package")
@@ -1091,6 +1100,7 @@ do_package[sstate-plaindirs] = "${PKGD} ${PKGDEST}"
do_package[sstate-inputdirs] = "${PKGDESTWORK} ${SHLIBSWORKDIR}"
do_package[sstate-outputdirs] = "${PKGDATA_DIR} ${SHLIBSDIR}"
do_package[sstate-lockfile] = "${PACKAGELOCK}"
+do_package[stamp-extra-info] = "${MACHINE}"
do_package_setscene[dirs] = "${STAGING_DIR}"
python do_package_setscene () {
@@ -1106,8 +1116,6 @@ do_package_write[noexec] = "1"
do_build[recrdeptask] += "do_package_write"
addtask package_write before do_build after do_package
-EXPORT_FUNCTIONS do_package do_package_write
-
#
# Helper functions for the package writing classes
#
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
index 792a2b3ae..52bd264ea 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes/package_deb.bbclass
@@ -67,6 +67,151 @@ python do_package_deb_install () {
os.putenv('PATH', path)
}
+#
+# Update the Packages index files in ${DEPLOY_DIR_DEB}
+#
+package_update_index_deb () {
+
+ local debarchs=""
+
+ if [ ! -z "${DEPLOY_KEEP_PACKAGES}" ]; then
+ return
+ fi
+
+ for arch in ${PACKAGE_ARCHS}; do
+ sdkarch=`echo $arch | sed -e 's/${HOST_ARCH}/${SDK_ARCH}/'`
+ if [ -e ${DEPLOY_DIR_DEB}/$arch ]; then
+ debarchs="$debarchs $arch"
+ fi
+ if [ -e ${DEPLOY_DIR_DEB}/$sdkarch-nativesdk ]; then
+ debarchs="$debarchs $sdkarch-nativesdk"
+ fi
+ done
+
+ for arch in $debarchs; do
+ if [ ! -d ${DEPLOY_DIR_DEB}/$arch ]; then
+ continue;
+ fi
+ cd ${DEPLOY_DIR_DEB}/$arch
+ dpkg-scanpackages . | bzip2 > Packages.bz2
+ echo "Label: $arch" > Release
+ done
+}
+
+#
+# install a bunch of packages using apt
+# the following shell variables needs to be set before calling this func:
+# INSTALL_ROOTFS_DEB - install root dir
+# INSTALL_BASEARCH_DEB - install base architecutre
+# INSTALL_ARCHS_DEB - list of available archs
+# INSTALL_PACKAGES_NORMAL_DEB - packages to be installed
+# INSTALL_PACKAGES_ATTEMPTONLY_DEB - packages attemped to be installed only
+# INSTALL_PACKAGES_LINGUAS_DEB - additional packages for uclibc
+# INSTALL_TASK_DEB - task name
+
+package_install_internal_deb () {
+
+ local target_rootfs="${INSTALL_ROOTFS_DEB}"
+ local dpkg_arch="${INSTALL_BASEARCH_DEB}"
+ local archs="${INSTALL_ARCHS_DEB}"
+ local package_to_install="${INSTALL_PACKAGES_NORMAL_DEB}"
+ local package_attemptonly="${INSTALL_PACKAGES_ATTEMPTONLY_DEB}"
+ local package_lingusa="${INSTALL_PACKAGES_LINGUAS_DEB}"
+ local task="${INSTALL_TASK_DEB}"
+
+ rm -f ${STAGING_ETCDIR_NATIVE}/apt/sources.list.rev
+ rm -f ${STAGING_ETCDIR_NATIVE}/apt/preferences
+
+ priority=1
+ for arch in $archs; do
+ if [ ! -d ${DEPLOY_DIR_DEB}/$arch ]; then
+ continue;
+ fi
+
+ echo "deb file:${DEPLOY_DIR_DEB}/$arch/ ./" >> ${STAGING_ETCDIR_NATIVE}/apt/sources.list.rev
+ (echo "Package: *"
+ echo "Pin: release l=$arch"
+ echo "Pin-Priority: $(expr 800 + $priority)"
+ echo) >> ${STAGING_ETCDIR_NATIVE}/apt/preferences
+ priority=$(expr $priority + 5)
+ done
+
+ tac ${STAGING_ETCDIR_NATIVE}/apt/sources.list.rev > ${STAGING_ETCDIR_NATIVE}/apt/sources.list
+
+ cat "${STAGING_ETCDIR_NATIVE}/apt/apt.conf.sample" \
+ | sed -e "s#Architecture \".*\";#Architecture \"${dpkg_arch}\";#" \
+ | sed -e "s:#ROOTFS#:${target_rootfs}:g" \
+ > "${STAGING_ETCDIR_NATIVE}/apt/apt-${task}.conf"
+
+ export APT_CONFIG="${STAGING_ETCDIR_NATIVE}/apt/apt-${task}.conf"
+
+ mkdir -p ${target_rootfs}/var/dpkg/info
+ mkdir -p ${target_rootfs}/var/dpkg/updates
+
+ > ${target_rootfs}/var/dpkg/status
+ > ${target_rootfs}/var/dpkg/available
+
+ apt-get update
+
+ # Uclibc builds don't provide this stuff..
+ if [ x${TARGET_OS} = "xlinux" ] || [ x${TARGET_OS} = "xlinux-gnueabi" ] ; then
+ if [ ! -z "${package_lingusa}" ]; then
+ apt-get install glibc-localedata-i18n --force-yes --allow-unauthenticated
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+ for i in ${package_lingusa}; do
+ apt-get install $i --force-yes --allow-unauthenticated
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+ done
+ fi
+ fi
+
+ # normal install
+ for i in ${package_to_install}; do
+ apt-get install $i --force-yes --allow-unauthenticated
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+ done
+
+ rm -f ${WORKDIR}/temp/log.do_${task}-attemptonly.${PID}
+ if [ ! -z "${package_attemptonly}" ]; then
+ for i in ${package_attemptonly}; do
+ apt-get install $i --force-yes --allow-unauthenticated >> ${WORKDIR}/temp/log.do_${task}-attemptonly.${PID} || true
+ done
+ fi
+
+ find ${target_rootfs} -name \*.dpkg-new | for i in `cat`; do
+ mv $i `echo $i | sed -e's,\.dpkg-new$,,'`
+ done
+
+ # Mark all packages installed
+ sed -i -e "s/Status: install ok unpacked/Status: install ok installed/;" ${target_rootfs}/var/dpkg/status
+}
+
+deb_log_check() {
+ target="$1"
+ lf_path="$2"
+
+ lf_txt="`cat $lf_path`"
+ for keyword_die in "E:"
+ do
+ if (echo "$lf_txt" | grep -v log_check | grep "$keyword_die") >/dev/null 2>&1
+ then
+ echo "log_check: There were error messages in the logfile"
+ echo -e "log_check: Matched keyword: [$keyword_die]\n"
+ echo "$lf_txt" | grep -v log_check | grep -C 5 -i "$keyword_die"
+ echo ""
+ do_exit=1
+ fi
+ done
+ test "$do_exit" = 1 && exit 1
+ true
+}
+
python do_package_deb () {
import re, copy
import textwrap
@@ -81,12 +226,6 @@ python do_package_deb () {
bb.error("PKGWRITEDIRDEB not defined, unable to package")
return
- dvar = bb.data.getVar('D', d, True)
- if not dvar:
- bb.error("D not defined, unable to package")
- return
- bb.mkdirhier(dvar)
-
packages = bb.data.getVar('PACKAGES', d, True)
if not packages:
bb.debug(1, "PACKAGES not defined, nothing to package")
@@ -101,9 +240,10 @@ python do_package_deb () {
bb.debug(1, "No packages; nothing to do")
return
+ pkgdest = bb.data.getVar('PKGDEST', d, True)
+
for pkg in packages.split():
localdata = bb.data.createCopy(d)
- pkgdest = bb.data.getVar('PKGDEST', d, True)
root = "%s/%s" % (pkgdest, pkg)
lf = bb.utils.lockfile(root + ".lock")
diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass
index 5ddd6c66e..3c2472bc1 100644
--- a/meta/classes/package_ipk.bbclass
+++ b/meta/classes/package_ipk.bbclass
@@ -62,6 +62,69 @@ python package_ipk_install () {
}
#
+# install a bunch of packages using opkg
+# the following shell variables needs to be set before calling this func:
+# INSTALL_ROOTFS_IPK - install root dir
+# INSTALL_CONF_IPK - configuration file
+# INSTALL_PACKAGES_NORMAL_IPK - packages to be installed
+# INSTALL_PACKAGES_ATTEMPTONLY_IPK - packages attemped to be installed only
+# INSTALL_PACKAGES_LINGUAS_IPK - additional packages for uclibc
+# INSTALL_TASK_IPK - task name
+
+package_install_internal_ipk() {
+
+ local target_rootfs="${INSTALL_ROOTFS_IPK}"
+ local conffile="${INSTALL_CONF_IPK}"
+ local package_to_install="${INSTALL_PACKAGES_NORMAL_IPK}"
+ local package_attemptonly="${INSTALL_PACKAGES_ATTEMPTONLY_IPK}"
+ local package_lingusa="${INSTALL_PACKAGES_LINGUAS_IPK}"
+ local task="${INSTALL_TASK_IPK}"
+
+ mkdir -p ${target_rootfs}${localstatedir}/lib/opkg/
+
+ local ipkg_args="-f ${conffile} -o ${target_rootfs} --force-overwrite"
+
+ opkg-cl ${ipkg_args} update
+
+ # Uclibc builds don't provide this stuff...
+ if [ x${TARGET_OS} = "xlinux" ] || [ x${TARGET_OS} = "xlinux-gnueabi" ] ; then
+ if [ ! -z "${package_lingusa}" ]; then
+ for i in ${package_lingusa}; do
+ opkg-cl ${ipkg_args} install $i
+ done
+ fi
+ fi
+
+ if [ ! -z "${package_to_install}" ]; then
+ opkg-cl ${ipkg_args} install ${package_to_install}
+ fi
+
+ if [ ! -z "${package_attemptonly}" ]; then
+ opkg-cl ${ipkg_args} install ${package_attemptonly} > "${WORKDIR}/temp/log.do_${task}_attemptonly.${PID}" || true
+ fi
+}
+
+ipk_log_check() {
+ target="$1"
+ lf_path="$2"
+
+ lf_txt="`cat $lf_path`"
+ for keyword_die in "exit 1" "Collected errors" ERR Fail
+ do
+ if (echo "$lf_txt" | grep -v log_check | grep "$keyword_die") >/dev/null 2>&1
+ then
+ echo "log_check: There were error messages in the logfile"
+ echo -e "log_check: Matched keyword: [$keyword_die]\n"
+ echo "$lf_txt" | grep -v log_check | grep -C 5 -i "$keyword_die"
+ echo ""
+ do_exit=1
+ fi
+ done
+ test "$do_exit" = 1 && exit 1
+ true
+}
+
+#
# Update the Packages index files in ${DEPLOY_DIR_IPK}
#
package_update_index_ipk () {
@@ -133,17 +196,12 @@ python do_package_ipk () {
workdir = bb.data.getVar('WORKDIR', d, True)
outdir = bb.data.getVar('PKGWRITEDIRIPK', d, True)
- dvar = bb.data.getVar('D', d, True)
tmpdir = bb.data.getVar('TMPDIR', d, True)
pkgdest = bb.data.getVar('PKGDEST', d, True)
- if not workdir or not outdir or not dvar or not tmpdir:
+ if not workdir or not outdir or not tmpdir:
bb.error("Variables incorrectly set, unable to package")
return
- if not os.path.exists(dvar):
- bb.debug(1, "Nothing installed, nothing to do")
- return
-
packages = bb.data.getVar('PACKAGES', d, True)
if not packages or packages == '':
bb.debug(1, "No packages; nothing to do")
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index fbe0626d6..cc262dc83 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -15,6 +15,8 @@ python package_rpm_install () {
bb.fatal("package_rpm_install not implemented!")
}
+RPMCONF_TARGET_BASE = "${DEPLOY_DIR_RPM}/solvedb"
+RPMCONF_HOST_BASE = "${DEPLOY_DIR_RPM}/solvedb-sdk"
#
# Update the Packages depsolver db in ${DEPLOY_DIR_RPM}
#
@@ -26,15 +28,18 @@ package_update_index_rpm () {
fi
packagedirs=""
+ packagedirs_sdk=""
for arch in $rpmarchs ; do
sdkarch=`echo $arch | sed -e 's/${HOST_ARCH}/${SDK_ARCH}/'`
+ extension="-nativesdk"
+ if [ "$sdkarch" = "all" -o "$sdkarch" = "any" -o "$sdkarch" = "noarch" ]; then
+ extension=""
+ fi
packagedirs="$packagedirs ${DEPLOY_DIR_RPM}/$arch"
- #packagedirs="$packagedirs ${DEPLOY_DIR_RPM}/$sdkarch-nativesdk"
+ packagedirs_sdk="$packagedirs_sdk ${DEPLOY_DIR_RPM}/$sdkarch$extension"
done
- #packagedirs="$packagedirs ${DEPLOY_DIR_RPM}/${SDK_ARCH}-${TARGET_ARCH}-canadian"
-
- cat /dev/null > ${DEPLOY_DIR_RPM}/solvedb.conf
+ cat /dev/null > ${RPMCONF_TARGET_BASE}.conf
for pkgdir in $packagedirs; do
if [ -e $pkgdir/ ]; then
echo "Generating solve db for $pkgdir..."
@@ -46,10 +51,27 @@ package_update_index_rpm () {
-D "_dbpath $pkgdir/solvedb" --justdb \
--noaid --nodeps --noorder --noscripts --notriggers --noparentdirs --nolinktos --stats \
--ignoresize --nosignature --nodigest \
- -D "_dbi_tags_3 Packages:Name:Basenames:Providename:Nvra" \
- -D "__dbi_cdb create mp_mmapsize=128Mb mp_size=1Mb nofsync" \
+ -D "__dbi_txn create nofsync" \
+ $pkgdir/solvedb/manifest
+ echo $pkgdir/solvedb >> ${RPMCONF_TARGET_BASE}.conf
+ fi
+ done
+
+ cat /dev/null > ${RPMCONF_HOST_BASE}.conf
+ for pkgdir in $packagedirs_sdk; do
+ if [ -e $pkgdir/ ]; then
+ echo "Generating solve db for $pkgdir..."
+ rm -rf $pkgdir/solvedb
+ mkdir -p $pkgdir/solvedb
+ echo "# Dynamically generated solve manifest" >> $pkgdir/solvedb/manifest
+ find $pkgdir -maxdepth 1 -type f >> $pkgdir/solvedb/manifest
+ ${RPM} -i --replacepkgs --replacefiles --oldpackage \
+ -D "_dbpath $pkgdir/solvedb" --justdb \
+ --noaid --nodeps --noorder --noscripts --notriggers --noparentdirs --nolinktos --stats \
+ --ignoresize --nosignature --nodigest \
+ -D "__dbi_txn create nofsync" \
$pkgdir/solvedb/manifest
- echo $pkgdir/solvedb >> ${DEPLOY_DIR_RPM}/solvedb.conf
+ echo $pkgdir/solvedb >> ${RPMCONF_HOST_BASE}.conf
fi
done
}
@@ -59,16 +81,223 @@ package_update_index_rpm () {
# generated depsolver db's...
#
package_generate_rpm_conf () {
- printf "_solve_dbpath " > ${DEPLOY_DIR_RPM}/solvedb.macro
+ printf "_solve_dbpath " > ${RPMCONF_TARGET_BASE}.macro
+ colon=false
+ for each in `cat ${RPMCONF_TARGET_BASE}.conf` ; do
+ if [ "$colon" == true ]; then
+ printf ":" >> ${RPMCONF_TARGET_BASE}.macro
+ fi
+ printf "%s" $each >> ${RPMCONF_TARGET_BASE}.macro
+ colon=true
+ done
+ printf "\n" >> ${RPMCONF_TARGET_BASE}.macro
+
+ printf "_solve_dbpath " > ${RPMCONF_HOST_BASE}.macro
colon=false
- for each in `cat ${DEPLOY_DIR_RPM}/solvedb.conf` ; do
+ for each in `cat ${RPMCONF_HOST_BASE}.conf` ; do
if [ "$colon" == true ]; then
- printf ":" >> ${DEPLOY_DIR_RPM}/solvedb.macro
+ printf ":" >> ${RPMCONF_HOST_BASE}.macro
fi
- printf "%s" $each >> ${DEPLOY_DIR_RPM}/solvedb.macro
+ printf "%s" $each >> ${RPMCONF_HOST_BASE}.macro
colon=true
done
- printf "\n" >> ${DEPLOY_DIR_RPM}/solvedb.macro
+ printf "\n" >> ${RPMCONF_HOST_BASE}.macro
+}
+
+rpm_log_check() {
+ target="$1"
+ lf_path="$2"
+
+ lf_txt="`cat $lf_path`"
+ for keyword_die in "Cannot find package" "exit 1" ERR Fail
+ do
+ if (echo "$lf_txt" | grep -v log_check | grep "$keyword_die") >/dev/null 2>&1
+ then
+ echo "log_check: There were error messages in the logfile"
+ echo -e "log_check: Matched keyword: [$keyword_die]\n"
+ echo "$lf_txt" | grep -v log_check | grep -C 5 -i "$keyword_die"
+ echo ""
+ do_exit=1
+ fi
+ done
+ test "$do_exit" = 1 && exit 1
+ true
+}
+
+
+#
+# Resolve package names to filepaths
+# resolve_pacakge <pkgname> <solvdb conffile>
+#
+resolve_package_rpm () {
+ local pkg="$1"
+ local conffile="$2"
+ local pkg_name=""
+ for solve in `cat ${conffile}`; do
+ pkg_name=$(${RPM} -D "_dbpath $solve" -D "__dbi_txn create nofsync" -q --yaml $pkg | grep -i 'Packageorigin' | cut -d : -f 2)
+ if [ -n "$pkg_name" ]; then
+ break;
+ fi
+ done
+ echo $pkg_name
+}
+
+#
+# install a bunch of packages using rpm
+# the following shell variables needs to be set before calling this func:
+# INSTALL_ROOTFS_RPM - install root dir
+# INSTALL_PLATFORM_RPM - main platform
+# INSTALL_PLATFORM_EXTRA_RPM - extra platform
+# INSTALL_CONFBASE_RPM - configuration file base name
+# INSTALL_PACKAGES_NORMAL_RPM - packages to be installed
+# INSTALL_PACKAGES_ATTEMPTONLY_RPM - packages attemped to be installed only
+# INSTALL_PACKAGES_LINGUAS_RPM - additional packages for uclibc
+# INSTALL_PROVIDENAME_RPM - content for provide name
+# INSTALL_TASK_RPM - task name
+
+package_install_internal_rpm () {
+
+ local target_rootfs="${INSTALL_ROOTFS_RPM}"
+ local platform="${INSTALL_PLATFORM_RPM}"
+ local platform_extra="${INSTALL_PLATFORM_EXTRA_RPM}"
+ local confbase="${INSTALL_CONFBASE_RPM}"
+ local package_to_install="${INSTALL_PACKAGES_NORMAL_RPM}"
+ local package_attemptonly="${INSTALL_PACKAGES_ATTEMPTONLY_RPM}"
+ local package_lingusa="${INSTALL_PACKAGES_LINGUAS_RPM}"
+ local providename="${INSTALL_PROVIDENAME_RPM}"
+ local task="${INSTALL_TASK_RPM}"
+
+ # Setup base system configuration
+ mkdir -p ${target_rootfs}/etc/rpm/
+ echo "${platform}-unknown-linux" >${target_rootfs}/etc/rpm/platform
+ if [ ! -z "$platform_extra" ]; then
+ for pt in $platform_extra ; do
+ echo "$pt-unknown-linux" >> ${target_rootfs}/etc/rpm/platform
+ done
+ fi
+
+ # Tell RPM that the "/" directory exist and is available
+ mkdir -p ${target_rootfs}/etc/rpm/sysinfo
+ echo "/" >${target_rootfs}/etc/rpm/sysinfo/Dirnames
+ if [ ! -z "$providename" ]; then
+ >>${target_rootfs}/etc/rpm/sysinfo/Providename
+ for provide in $providename ; do
+ echo $provide >> ${target_rootfs}/etc/rpm/sysinfo/Providename
+ done
+ fi
+
+ # Setup manifest of packages to install...
+ mkdir -p ${target_rootfs}/install
+ echo "# Install manifest" > ${target_rootfs}/install/install.manifest
+
+ # Uclibc builds don't provide this stuff...
+ if [ x${TARGET_OS} = "xlinux" ] || [ x${TARGET_OS} = "xlinux-gnueabi" ] ; then
+ if [ ! -z "${package_lingusa}" ]; then
+ for pkg in ${package_lingusa}; do
+ echo "Processing $pkg..."
+ pkg_name=$(resolve_package_rpm $pkg ${confbase}.conf)
+ if [ -z "$pkg_name" ]; then
+ echo "Unable to find package $pkg!"
+ exit 1
+ fi
+ echo $pkg_name >> ${IMAGE_ROOTFS}/install/install.manifest
+ done
+ fi
+ fi
+
+ if [ ! -z "${package_to_install}" ]; then
+ for pkg in ${package_to_install} ; do
+ echo "Processing $pkg..."
+ pkg_name=$(resolve_package_rpm $pkg ${confbase}.conf)
+ if [ -z "$pkg_name" ]; then
+ echo "Unable to find package $pkg!"
+ exit 1
+ fi
+ echo $pkg_name >> ${target_rootfs}/install/install.manifest
+ done
+ fi
+
+ # Generate an install solution by doing a --justdb install, then recreate it with
+ # an actual package install!
+ ${RPM} -D "_rpmds_sysinfo_path ${target_rootfs}/etc/rpm/sysinfo" \
+ -D "_dbpath ${target_rootfs}/install" -D "`cat ${confbase}.macro`" \
+ -D "__dbi_txn create nofsync" \
+ -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \
+ ${target_rootfs}/install/install.manifest
+
+ if [ ! -z "${package_attemptonly}" ]; then
+ echo "Adding attempt only packages..."
+ for pkg in ${package_attemptonly} ; do
+ echo "Processing $pkg..."
+ pkg_name=$(resolve_package_rpm $pkg ${confbase}.conf)
+ if [ -z "$pkg_name" ]; then
+ echo "Unable to find package $pkg!"
+ exit 1
+ fi
+ echo "Attempting $pkg_name..." >> "${WORKDIR}/temp/log.do_${task}_attemptonly.${PID}"
+ ${RPM} -D "_rpmds_sysinfo_path ${target_rootfs}/etc/rpm/sysinfo" \
+ -D "_dbpath ${target_rootfs}/install" -D "`cat ${confbase}.macro`" \
+ -D "__dbi_txn create nofsync private" \
+ -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \
+ $pkg_name >> "${WORKDIR}/temp/log.do_${task}_attemptonly.${PID}" || true
+ done
+ fi
+
+ #### Note: 'Recommends' is an arbitrary tag that means _SUGGESTS_ in Poky..
+ # Add any recommended packages to the image
+ # RPM does not solve for recommended packages because they are optional...
+ # So we query them and tree them like the ATTEMPTONLY packages above...
+ # Change the loop to "1" to run this code...
+ loop=0
+ if [ $loop -eq 1 ]; then
+ echo "Processing recommended packages..."
+ cat /dev/null > ${target_rootfs}/install/recommend.list
+ while [ $loop -eq 1 ]; do
+ # Dump the full set of recommends...
+ ${RPM} -D "_rpmds_sysinfo_path ${target_rootfs}/etc/rpm/sysinfo" \
+ -D "_dbpath ${IMAGE_ROOTFS}/install" -D "`cat ${confbase}.macro`" \
+ -D "__dbi_txn create nofsync private" \
+ -qa --qf "[%{RECOMMENDS}\n]" | sort -u > ${target_rootfs}/install/recommend
+ # Did we add more to the list?
+ grep -v -x -F -f ${target_rootfs}/install/recommend.list ${target_rootfs}/install/recommend > ${target_rootfs}/install/recommend.new || true
+ # We don't want to loop unless there is a change to the list!
+ loop=0
+ cat ${target_rootfs}/install/recommend.new | \
+ while read pkg ; do
+ # Ohh there was a new one, we'll need to loop again...
+ loop=1
+ echo "Processing $pkg..."
+ pkg_name=$(resolve_package $pkg ${confbase}.conf)
+ if [ -z "$pkg_name" ]; then
+ echo "Unable to find package $pkg." >> "${WORKDIR}/temp/log.do_${task}_recommend.${PID}"
+ continue
+ fi
+ echo "Attempting $pkg_name..." >> "${WORKDIR}/temp/log.do_{task}_recommend.${PID}"
+ ${RPM} -D "_rpmds_sysinfo_path ${target_rootfs}/etc/rpm/sysinfo" \
+ -D "_dbpath ${target_rootfs}/install" -D "`cat ${confbase}.macro`" \
+ -D "__dbi_txn create nofsync private" \
+ -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \
+ $pkg_name >> "${WORKDIR}/temp/log.do_${task}_recommend.${PID}" 2>&1 || true
+ done
+ cat ${target_rootfs}/install/recommend.list ${target_rootfs}/install/recommend.new | sort -u > ${target_rootfs}/install/recommend.new.list
+ mv -f ${target_rootfs}/install/recommend.new.list ${target_rootfs}/install/recommend.list
+ rm ${target_rootfs}/install/recommend ${target_rootfs}/install/recommend.new
+ done
+ fi
+
+ # Now that we have a solution, pull out a list of what to install...
+ echo "Manifest: ${target_rootfs}/install/install.manifest"
+ ${RPM} -D "_dbpath ${target_rootfs}/install" -qa --yaml \
+ -D "__dbi_txn create nofsync private" \
+ | grep -i 'Packageorigin' | cut -d : -f 2 > ${target_rootfs}/install/install_solution.manifest
+
+ # Attempt install
+ ${RPM} --root ${target_rootfs} \
+ -D "_rpmds_sysinfo_path ${target_rootfs}/etc/rpm/sysinfo" \
+ -D "_dbpath ${rpmlibdir}" \
+ --noscripts --notriggers --noparentdirs --nolinktos \
+ -D "__dbi_txn create nofsync private" \
+ -Uhv ${target_rootfs}/install/install_solution.manifest
}
python write_specfile () {
@@ -193,7 +422,7 @@ python write_specfile () {
splitname = pkgname
- splitsummary = (bb.data.getVar('SUMMARY', d, True) or bb.data.getVar('DESCRIPTION', d, True) or ".")
+ splitsummary = (bb.data.getVar('SUMMARY', localdata, True) or bb.data.getVar('DESCRIPTION', localdata, True) or ".")
splitversion = (bb.data.getVar('PV', localdata, True) or "").replace('-', '+')
splitrelease = (bb.data.getVar('PR', localdata, True) or "")
splitepoch = (bb.data.getVar('PE', localdata, True) or "")
@@ -530,6 +759,8 @@ python do_package_rpm () {
cmd = cmd + " --define '_use_internal_dependency_generator 0'"
cmd = cmd + " --define '__find_requires " + outdepends + "'"
cmd = cmd + " --define '__find_provides " + outprovides + "'"
+ cmd = cmd + " --define '_unpackaged_files_terminate_build 0'"
+ cmd = cmd + " --define 'debug_package %{nil}'"
cmd = cmd + " -bb " + outspecfile
# Build the spec file!
diff --git a/meta/classes/patch.bbclass b/meta/classes/patch.bbclass
index 7ba8abb72..80fd45f0e 100644
--- a/meta/classes/patch.bbclass
+++ b/meta/classes/patch.bbclass
@@ -58,9 +58,8 @@ python patch_do_patch() {
continue
if not local:
- bb.fetch.init([url],d)
url = bb.encodeurl((type, host, path, user, pswd, []))
- local = os.path.join('/', bb.fetch.localpath(url, d))
+ local = os.path.join('/', bb.fetch2.localpath(url, d))
local = bb.data.expand(local, d)
if "striplevel" in parm:
@@ -126,6 +125,7 @@ python patch_do_patch() {
raise bb.build.FuncFailed(str(sys.exc_value))
resolver.Resolve()
}
+patch_do_patch[vardepsexclude] = "DATE SRCDATE"
addtask patch after do_unpack
do_patch[dirs] = "${WORKDIR}"
diff --git a/meta/classes/poky-autobuild-notifier.bbclass b/meta/classes/poky-autobuild-notifier.bbclass
index 24b85c461..9ab3d064e 100644
--- a/meta/classes/poky-autobuild-notifier.bbclass
+++ b/meta/classes/poky-autobuild-notifier.bbclass
@@ -48,15 +48,15 @@ def do_autobuilder_failure_report(event):
addhandler poky_autobuilder_notifier_eventhandler
python poky_autobuilder_notifier_eventhandler() {
from bb import note, error, data
- from bb.event import NotHandled, getName
+ from bb.event import getName
if e.data is None:
- return NotHandled
+ return
name = getName(e)
if name == "TaskFailed":
do_autobuilder_failure_report(e)
- return NotHandled
+ return
}
diff --git a/meta/classes/poky-image.bbclass b/meta/classes/poky-image.bbclass
index 5f34ad11d..225584bcd 100644
--- a/meta/classes/poky-image.bbclass
+++ b/meta/classes/poky-image.bbclass
@@ -2,6 +2,9 @@
#
# Copyright (C) 2007 OpenedHand LTD
+LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
+ file://${POKYBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
# IMAGE_FEATURES control content of images built with Poky.
#
# By default we install task-poky-boot and task-base packages - this gives us
@@ -79,7 +82,7 @@ POKY_BASE_INSTALL = '\
\
${@base_contains("IMAGE_FEATURES", ["nfs-server", "dev-pkgs"], "task-poky-nfs-server-dev", "",d)} \
\
- ${@base_contains("IMAGE_FEATURES", "package-management", "${ROOTFS_PKGMANAGE}", "",d)} \
+ ${@base_contains("IMAGE_FEATURES", "package-management", "${ROOTFS_PKGMANAGE}", "${ROOTFS_PKGMANAGE_BOOTSTRAP}",d)} \
${@base_contains("IMAGE_FEATURES", "qt4-pkgs", "task-poky-qt-demos", "",d)} \
${POKY_EXTRA_INSTALL} \
'
diff --git a/meta/classes/poky.bbclass b/meta/classes/poky.bbclass
deleted file mode 100644
index 7d3c28ffe..000000000
--- a/meta/classes/poky.bbclass
+++ /dev/null
@@ -1,29 +0,0 @@
-PREMIRRORS_append () {
-bzr://.*/.* http://pokylinux.org/sources/
-cvs://.*/.* http://pokylinux.org/sources/
-git://.*/.* http://pokylinux.org/sources/
-hg://.*/.* http://pokylinux.org/sources/
-osc://.*/.* http://pokylinux.org/sources/
-p4://.*/.* http://pokylinux.org/sources/
-svk://.*/.* http://pokylinux.org/sources/
-svn://.*/.* http://pokylinux.org/sources/
-
-bzr://.*/.* http://autobuilder.pokylinux.org/sources/
-cvs://.*/.* http://autobuilder.pokylinux.org/sources/
-git://.*/.* http://autobuilder.pokylinux.org/sources/
-hg://.*/.* http://autobuilder.pokylinux.org/sources/
-osc://.*/.* http://autobuilder.pokylinux.org/sources/
-p4://.*/.* http://autobuilder.pokylinux.org/sources/
-svk://.*/.* http://autobuilder.pokylinux.org/sources/
-svn://.*/.* http://autobuilder.pokylinux.org/sources/
-}
-
-MIRRORS_append () {
-ftp://.*/.* http://pokylinux.org/sources/
-http://.*/.* http://pokylinux.org/sources/
-https://.*/.* http://pokylinux.org/sources/
-
-ftp://.*/.* http://autobuilder.pokylinux.org/sources/
-http://.*/.* http://autobuilder.pokylinux.org/sources/
-https://.*/.* http://autobuilder.pokylinux.org/sources/
-}
diff --git a/meta/classes/populate_sdk.bbclass b/meta/classes/populate_sdk.bbclass
new file mode 100644
index 000000000..7e260ef38
--- /dev/null
+++ b/meta/classes/populate_sdk.bbclass
@@ -0,0 +1,82 @@
+inherit meta toolchain-scripts
+inherit populate_sdk_${IMAGE_PKGTYPE}
+
+SDK_DIR = "${WORKDIR}/sdk"
+SDK_OUTPUT = "${SDK_DIR}/image"
+SDK_DEPLOY = "${TMPDIR}/deploy/sdk"
+
+SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${TARGET_SYS}"
+
+TOOLCHAIN_HOST_TASK ?= "task-sdk-host task-cross-canadian-${TRANSLATED_TARGET_ARCH}"
+TOOLCHAIN_TARGET_TASK ?= "task-poky-standalone-sdk-target task-poky-standalone-sdk-target-dbg"
+TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${DISTRO_VERSION}"
+
+RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}"
+DEPENDS = "virtual/fakeroot-native sed-native"
+
+PID = "${@os.getpid()}"
+
+EXCLUDE_FROM_WORLD = "1"
+
+fakeroot do_populate_sdk() {
+ rm -rf ${SDK_OUTPUT}
+ mkdir -p ${SDK_OUTPUT}
+
+ populate_sdk_${IMAGE_PKGTYPE}
+
+ # Don't ship any libGL in the SDK
+ rm -rf ${SDK_OUTPUT}/${SDKPATHNATIVE}${libdir_nativesdk}/libGL*
+
+ # Can copy pstage files here
+ # target_pkgs=`cat ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/var/lib/opkg/status | grep Package: | cut -f 2 -d ' '`
+
+ # Fix or remove broken .la files
+ #rm -f ${SDK_OUTPUT}/${SDKPATHNATIVE}/lib/*.la
+ rm -f ${SDK_OUTPUT}/${SDKPATHNATIVE}${libdir_nativesdk}/*.la
+
+ # Link the ld.so.cache file into the hosts filesystem
+ ln -s /etc/ld.so.cache ${SDK_OUTPUT}/${SDKPATHNATIVE}/etc/ld.so.cache
+
+ # Setup site file for external use
+ siteconfig=${SDK_OUTPUT}/${SDKPATH}/site-config-${MULTIMACH_TARGET_SYS}
+ touch $siteconfig
+ for sitefile in ${CONFIG_SITE} ; do
+ cat $sitefile >> $siteconfig
+ done
+
+ toolchain_create_sdk_env_script
+
+ # Add version information
+ versionfile=${SDK_OUTPUT}/${SDKPATH}/version-${MULTIMACH_TARGET_SYS}
+ touch $versionfile
+ echo 'Distro: ${DISTRO}' >> $versionfile
+ echo 'Distro Version: ${DISTRO_VERSION}' >> $versionfile
+ echo 'Metadata Revision: ${METADATA_REVISION}' >> $versionfile
+ echo 'Timestamp: ${DATETIME}' >> $versionfile
+
+ # Package it up
+ mkdir -p ${SDK_DEPLOY}
+ cd ${SDK_OUTPUT}
+ tar --owner=root --group=root -cj --file=${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 .
+}
+
+populate_sdk_log_check() {
+ for target in $*
+ do
+ lf_path="${WORKDIR}/temp/log.do_$target.${PID}"
+
+ echo "log_check: Using $lf_path as logfile"
+
+ if test -e "$lf_path"
+ then
+ ${IMAGE_PKGTYPE}_log_check $target $lf_path
+ else
+ echo "Cannot find logfile [$lf_path]"
+ fi
+ echo "Logfile is clean"
+ done
+}
+
+do_populate_sdk[nostamp] = "1"
+do_populate_sdk[recrdeptask] = "do_package_write"
+addtask populate_sdk before do_build after do_install
diff --git a/meta/classes/populate_sdk_deb.bbclass b/meta/classes/populate_sdk_deb.bbclass
new file mode 100644
index 000000000..d563c2867
--- /dev/null
+++ b/meta/classes/populate_sdk_deb.bbclass
@@ -0,0 +1,60 @@
+do_populate_sdk[depends] += "dpkg-native:do_populate_sysroot apt-native:do_populate_sysroot bzip2-native:do_populate_sysroot"
+do_populate_sdk[recrdeptask] += "do_package_write_deb"
+
+
+populate_sdk_post_deb () {
+
+ local target_rootfs=$1
+
+ cp -r ${STAGING_ETCDIR_NATIVE}/apt ${target_rootfs}/etc
+}
+
+fakeroot populate_sdk_deb () {
+
+ package_update_index_deb
+
+ export INSTALL_TASK_DEB="populate_sdk"
+ export INSTALL_PACKAGES_LINGUAS_DEB=""
+ export INSTALL_PACKAGES_ATTEMPTONLY_DEB=""
+
+ #install target
+ echo "Installing TARGET packages"
+ export INSTALL_ROOTFS_DEB="${SDK_OUTPUT}/${SDKTARGETSYSROOT}"
+ export INSTALL_BASEARCH_DEB="${DPKG_ARCH}"
+ export INSTALL_ARCHS_DEB="${PACKAGE_ARCHS}"
+ export INSTALL_PACKAGES_NORMAL_DEB="${TOOLCHAIN_TARGET_TASK}"
+
+ package_install_internal_deb
+ populate_sdk_post_deb ${INSTALL_ROOTFS_DEB}
+
+ populate_sdk_log_check populate_sdk
+
+ #install host
+ echo "Installing HOST packages"
+ export INSTALL_ROOTFS_DEB="${SDK_OUTPUT}"
+ export INSTALL_BASEARCH_DEB="${SDK_ARCH}"
+ export INSTALL_PACKAGES_NORMAL_DEB="${TOOLCHAIN_HOST_TASK}"
+ INSTALL_ARCHS_DEB=""
+ for arch in ${PACKAGE_ARCHS}; do
+ sdkarch=`echo $arch | sed -e 's/${HOST_ARCH}/${SDK_ARCH}/'`
+ extension="-nativesdk"
+ if [ "$sdkarch" = "all" -o "$sdkarch" = "any" -o "$sdkarch" = "noarch" ]; then
+ extension=""
+ fi
+ if [ -e ${DEPLOY_DIR_DEB}/$sdkarch$extension ]; then
+ INSTALL_ARCHS_DEB="$INSTALL_ARCHS_DEB $sdkarch$extension"
+ fi
+ done
+ export INSTALL_ARCHS_DEB
+
+ package_install_internal_deb
+ populate_sdk_post_deb ${SDK_OUTPUT}/${SDKPATHNATIVE}
+
+ #move remainings
+ install -d ${SDK_OUTPUT}/${SDKPATHNATIVE}/var/dpkg
+ mv ${SDK_OUTPUT}/var/dpkg/* ${SDK_OUTPUT}/${SDKPATHNATIVE}/var/dpkg
+ rm -rf ${SDK_OUTPUT}/var
+
+ populate_sdk_log_check populate_sdk
+}
+
diff --git a/meta/classes/populate_sdk_ipk.bbclass b/meta/classes/populate_sdk_ipk.bbclass
new file mode 100644
index 000000000..79259f80d
--- /dev/null
+++ b/meta/classes/populate_sdk_ipk.bbclass
@@ -0,0 +1,44 @@
+do_populate_sdk[depends] += "opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot"
+do_populate_sdk[recrdeptask] += "do_package_write_ipk"
+
+fakeroot populate_sdk_ipk() {
+
+ rm -f ${IPKGCONF_TARGET}
+ touch ${IPKGCONF_TARGET}
+ rm -f ${IPKGCONF_SDK}
+ touch ${IPKGCONF_SDK}
+
+ package_update_index_ipk
+ package_generate_ipkg_conf
+
+ export INSTALL_PACKAGES_ATTEMPTONLY_IPK=""
+ export INSTALL_PACKAGES_LINGUAS_IPK=""
+ export INSTALL_TASK_IPK="populate_sdk"
+
+ #install target
+ export INSTALL_ROOTFS_IPK="${SDK_OUTPUT}/${SDKTARGETSYSROOT}"
+ export INSTALL_CONF_IPK="${IPKGCONF_TARGET}"
+ export INSTALL_PACKAGES_NORMAL_IPK="${TOOLCHAIN_TARGET_TASK}"
+
+ package_install_internal_ipk
+
+ #install host
+ export INSTALL_ROOTFS_IPK="${SDK_OUTPUT}"
+ export INSTALL_CONF_IPK="${IPKGCONF_SDK}"
+ export INSTALL_PACKAGES_NORMAL_IPK="${TOOLCHAIN_HOST_TASK}"
+
+ package_install_internal_ipk
+
+ #post clean up
+ 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}/
+
+ install -d ${SDK_OUTPUT}/${SDKPATHNATIVE}${localstatedir_nativesdk}/lib/opkg
+ mv ${SDK_OUTPUT}/var/lib/opkg/* ${SDK_OUTPUT}/${SDKPATHNATIVE}${localstatedir_nativesdk}/lib/opkg/
+ rm -Rf ${SDK_OUTPUT}/var
+
+ populate_sdk_log_check populate_sdk
+}
diff --git a/meta/classes/populate_sdk_rpm.bbclass b/meta/classes/populate_sdk_rpm.bbclass
new file mode 100644
index 000000000..e1abbad17
--- /dev/null
+++ b/meta/classes/populate_sdk_rpm.bbclass
@@ -0,0 +1,80 @@
+do_populate_sdk[depends] += "rpm-native:do_populate_sysroot"
+do_populate_sdk[recrdeptask] += "do_package_write_rpm"
+
+rpmlibdir = "/var/lib/rpm"
+RPMOPTS="--dbpath ${rpmlibdir} --define='_openall_before_chroot 1'"
+RPM="rpm ${RPMOPTS}"
+
+
+populate_sdk_post_rpm () {
+
+ local target_rootfs=$1
+
+ # remove lock files
+ rm -f ${target_rootfs}/__db.*
+
+ # Move manifests into the directory with the logs
+ mv ${target_rootfs}/install/*.manifest ${T}/
+
+ # Remove all remaining resolver files
+ rm -rf ${target_rootfs}/install
+}
+
+fakeroot populate_sdk_rpm () {
+
+ package_update_index_rpm
+ package_generate_rpm_conf
+
+ export INSTALL_PACKAGES_ATTEMPTONLY_RPM=""
+ export INSTALL_PACKAGES_LINGUAS_RPM=""
+ export INSTALL_PROVIDENAME_RPM="/bin/sh"
+ export INSTALL_TASK_RPM="populate_sdk"
+
+
+ #install target
+ export INSTALL_ROOTFS_RPM="${SDK_OUTPUT}/${SDKTARGETSYSROOT}"
+ export INSTALL_PLATFORM_RPM="${TARGET_ARCH}"
+ export INSTALL_PLATFORM_EXTRA_RPM="${PACKAGE_ARCHS}"
+ export INSTALL_CONFBASE_RPM="${RPMCONF_TARGET_BASE}"
+ export INSTALL_PACKAGES_NORMAL_RPM="${TOOLCHAIN_TARGET_TASK}"
+
+ package_install_internal_rpm
+ populate_sdk_post_rpm ${INSTALL_ROOTFS_RPM}
+
+ #install host
+ export INSTALL_ROOTFS_RPM="${SDK_OUTPUT}"
+ export INSTALL_PLATFORM_RPM="${SDK_ARCH}"
+ export INSTALL_CONFBASE_RPM="${RPMCONF_HOST_BASE}"
+ export INSTALL_PACKAGES_NORMAL_RPM="${TOOLCHAIN_HOST_TASK}"
+ INSTALL_PLATFORM_EXTRA_RPM=""
+ for arch in ${PACKAGE_ARCHS}; do
+ sdkarch=`echo $arch | sed -e 's/${HOST_ARCH}/${SDK_ARCH}/'`
+ extension="-nativesdk"
+ if [ "$sdkarch" = "all" -o "$sdkarch" = "any" -o "$sdkarch" = "noarch" ]; then
+ extension=""
+ fi
+ if [ -e ${DEPLOY_DIR_RPM}/$sdkarch$extension ]; then
+ INSTALL_PLATFORM_EXTRA_RPM="$INSTALL_PLATFORM_EXTRA_RPM $sdkarch"
+ fi
+ done
+ export INSTALL_PLATFORM_EXTRA_RPM
+
+ package_install_internal_rpm
+ populate_sdk_post_rpm ${INSTALL_ROOTFS_RPM}
+
+ # move host RPM library data
+ install -d ${SDK_OUTPUT}/${SDKPATHNATIVE}${localstatedir_nativesdk}/lib/rpm
+ mv ${SDK_OUTPUT}${rpmlibdir}/* ${SDK_OUTPUT}/${SDKPATHNATIVE}${localstatedir_nativesdk}/lib/rpm/
+ rm -Rf ${SDK_OUTPUT}/var
+
+ install -d ${SDK_OUTPUT}/${SDKPATHNATIVE}/${sysconfdir}
+ mv ${SDK_OUTPUT}/etc/* ${SDK_OUTPUT}/${SDKPATHNATIVE}/${sysconfdir}/
+ rm -rf ${SDK_OUTPUT}/etc
+
+ populate_sdk_log_check populate_sdk
+
+ # Workaround so the parser knows we need the resolve_package function!
+ if false ; then
+ resolve_package_rpm foo ${RPMCONF_TARGET_BASE}.conf || true
+ fi
+}
diff --git a/meta/classes/python-dir.bbclass b/meta/classes/python-dir.bbclass
new file mode 100644
index 000000000..a072a9387
--- /dev/null
+++ b/meta/classes/python-dir.bbclass
@@ -0,0 +1,2 @@
+PYTHON_DIR = "python${PYTHON_BASEVERSION}"
+PYTHON_SITEPACKAGES_DIR = "${libdir}/${PYTHON_DIR}/site-packages"
diff --git a/meta/classes/qmake2.bbclass b/meta/classes/qmake2.bbclass
index e6810260f..5eebd8ec4 100644
--- a/meta/classes/qmake2.bbclass
+++ b/meta/classes/qmake2.bbclass
@@ -3,7 +3,7 @@
#
inherit qmake_base
-DEPENDS_prepend = "qt4-tools-native"
+DEPENDS_prepend = "qt4-tools-native "
export QMAKESPEC = "${STAGING_DATADIR}/qt4/mkspecs/${TARGET_OS}-oe-g++"
export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/uic4"
@@ -19,5 +19,6 @@ export OE_QMAKE_INCDIR_QT = "${STAGING_INCDIR}/qt4"
export OE_QMAKE_LIBDIR_QT = "${STAGING_LIBDIR}"
export OE_QMAKE_LIBS_QT = "qt"
export OE_QMAKE_LIBS_X11 = "-lXext -lX11 -lm"
+export OE_QMAKE_LIBS_X11SM = "-lSM -lICE"
export OE_QMAKE_LRELEASE = "${STAGING_BINDIR_NATIVE}/lrelease4"
export OE_QMAKE_LUPDATE = "${STAGING_BINDIR_NATIVE}/lupdate4"
diff --git a/meta/classes/qt4e.bbclass b/meta/classes/qt4e.bbclass
new file mode 100644
index 000000000..670605ba4
--- /dev/null
+++ b/meta/classes/qt4e.bbclass
@@ -0,0 +1,18 @@
+DEPENDS_prepend = "${@["qt4-embedded ", ""][(bb.data.getVar('PN', d, 1)[:12] == 'qt4-embedded')]}"
+
+inherit qmake2
+
+QT_DIR_NAME = "qtopia"
+QT_LIBINFIX = "E"
+# override variables set by qmake-base to compile Qt/Embedded apps
+#
+export QMAKESPEC = "${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/${TARGET_OS}-oe-g++"
+export OE_QMAKE_INCDIR_QT = "${STAGING_INCDIR}/${QT_DIR_NAME}"
+export OE_QMAKE_LIBDIR_QT = "${STAGING_LIBDIR}"
+export OE_QMAKE_LIBS_QT = "qt"
+export OE_QMAKE_LIBS_X11 = ""
+export OE_QMAKE_EXTRA_MODULES = "network"
+EXTRA_QMAKEVARS_PRE += " QT_LIBINFIX=${QT_LIBINFIX} "
+
+# Qt4 uses atomic instructions not supported in thumb mode
+ARM_INSTRUCTION_SET = "arm"
diff --git a/meta/classes/qt4x11.bbclass b/meta/classes/qt4x11.bbclass
new file mode 100644
index 000000000..abb1d9d2e
--- /dev/null
+++ b/meta/classes/qt4x11.bbclass
@@ -0,0 +1,9 @@
+DEPENDS_prepend = "${@["qt4-x11-free ", ""][(bb.data.getVar('PN', d, 1)[:12] == 'qt4-x11-free')]}"
+
+inherit qmake2
+
+QT_DIR_NAME = "qt4"
+QT_LIBINFIX = ""
+
+# Qt4 uses atomic instructions not supported in thumb mode
+ARM_INSTRUCTION_SET = "arm"
diff --git a/meta/classes/rm_work.bbclass b/meta/classes/rm_work.bbclass
index 53fcda23a..7cbdb1762 100644
--- a/meta/classes/rm_work.bbclass
+++ b/meta/classes/rm_work.bbclass
@@ -14,22 +14,46 @@ RMWORK_ORIG_TASK := "${BB_DEFAULT_TASK}"
BB_DEFAULT_TASK = "rm_work_all"
do_rm_work () {
- # Ensure pseudo is no longer active
- if [ -d ${WORKDIR}/pseudo ]; then
- ${FAKEROOT} -S
- fi
cd ${WORKDIR}
for dir in *
do
if [ `basename ${S}` = $dir ]; then
rm -rf $dir
- elif [ $dir != 'temp' ]; then
+ # The package and package-split directories are retained by sstate for
+ # do_package so we retain them here too. Anything in sstate 'plaindirs'
+ # should be retained. Also retain logs and other files in temp.
+ elif [ $dir != 'temp' ] && [ $dir != 'package' ] && [ $dir != 'package-split' ]; then
rm -rf $dir
fi
done
# Need to add pseudo back or subsqeuent work in this workdir
# might fail since setscene may not rerun to recreate it
mkdir ${WORKDIR}/pseudo/
+
+ # Change normal stamps into setscene stamps as they better reflect the
+ # fact WORKDIR is now empty
+ cd `dirname ${STAMP}`
+ for i in `basename ${STAMP}`*
+ do
+ for j in ${SSTATETASKS}
+ do
+ case $i in
+ *do_setscene*)
+ break
+ ;;
+ *_setscene*)
+ i=dummy
+ break
+ ;;
+ *$j|*$j.*)
+ mv $i `echo $i | sed -e "s#${j}#${j}_setscene#"`
+ i=dummy
+ break
+ ;;
+ esac
+ done
+ rm -f $i
+ done
}
addtask rm_work after do_${RMWORK_ORIG_TASK}
diff --git a/meta/classes/rootfs_deb.bbclass b/meta/classes/rootfs_deb.bbclass
index f579b53a8..e03e80bdb 100644
--- a/meta/classes/rootfs_deb.bbclass
+++ b/meta/classes/rootfs_deb.bbclass
@@ -12,50 +12,29 @@ opkglibdir = "${localstatedir}/lib/opkg"
fakeroot rootfs_deb_do_rootfs () {
set +e
- mkdir -p ${IMAGE_ROOTFS}/var/dpkg/info
- mkdir -p ${IMAGE_ROOTFS}/var/dpkg/updates
- rm -f ${STAGING_ETCDIR_NATIVE}/apt/sources.list.rev
- rm -f ${STAGING_ETCDIR_NATIVE}/apt/preferences
- > ${IMAGE_ROOTFS}/var/dpkg/status
- > ${IMAGE_ROOTFS}/var/dpkg/available
mkdir -p ${IMAGE_ROOTFS}/var/dpkg/alternatives
- priority=1
- for arch in ${PACKAGE_ARCHS}; do
- if [ ! -d ${DEPLOY_DIR_DEB}/$arch ]; then
- continue;
- fi
- cd ${DEPLOY_DIR_DEB}/$arch
- # if [ -z "${DEPLOY_KEEP_PACKAGES}" ]; then
- rm -f Packages.gz Packages Packages.bz2
- # fi
- dpkg-scanpackages . | bzip2 > Packages.bz2
- echo "Label: $arch" > Release
-
- echo "deb file:${DEPLOY_DIR_DEB}/$arch/ ./" >> ${STAGING_ETCDIR_NATIVE}/apt/sources.list.rev
- (echo "Package: *"
- echo "Pin: release l=$arch"
- echo "Pin-Priority: $(expr 800 + $priority)"
- echo) >> ${STAGING_ETCDIR_NATIVE}/apt/preferences
- priority=$(expr $priority + 5)
- done
+ # update index
+ package_update_index_deb
+
+ #install packages
+ export INSTALL_ROOTFS_DEB="${IMAGE_ROOTFS}"
+ export INSTALL_BASEARCH_DEB="${DPKG_ARCH}"
+ export INSTALL_ARCHS_DEB="${PACKAGE_ARCHS}"
+ export INSTALL_PACKAGES_NORMAL_DEB="${PACKAGE_INSTALL}"
+ export INSTALL_PACKAGES_ATTEMPTONLY_DEB="${PACKAGE_INSTALL_ATTEMPTONLY}"
+ export INSTALL_PACKAGES_LINGUAS_DEB="${LINGUAS_INSTALL}"
+ export INSTALL_TASK_DEB="rootfs"
- tac ${STAGING_ETCDIR_NATIVE}/apt/sources.list.rev > ${STAGING_ETCDIR_NATIVE}/apt/sources.list
+ package_install_internal_deb
- cat "${STAGING_ETCDIR_NATIVE}/apt/apt.conf.sample" \
- | sed -e 's#Architecture ".*";#Architecture "${DPKG_ARCH}";#' \
- | sed -e 's:#ROOTFS#:${IMAGE_ROOTFS}:g' \
- > "${STAGING_ETCDIR_NATIVE}/apt/apt-rootfs.conf"
- export APT_CONFIG="${STAGING_ETCDIR_NATIVE}/apt/apt-rootfs.conf"
export D=${IMAGE_ROOTFS}
export OFFLINE_ROOT=${IMAGE_ROOTFS}
export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS}
export OPKG_OFFLINE_ROOT=${IMAGE_ROOTFS}
- apt-get update
-
_flag () {
sed -i -e "/^Package: $2\$/{n; s/Status: install ok .*/Status: install ok $1/;}" ${IMAGE_ROOTFS}/var/dpkg/status
}
@@ -63,47 +42,6 @@ fakeroot rootfs_deb_do_rootfs () {
cat ${IMAGE_ROOTFS}/var/dpkg/status | sed -n -e "/^Package: $2\$/{n; s/Status: install ok .*/$1/; p}"
}
- if [ x${TARGET_OS} = "xlinux" ] || [ x${TARGET_OS} = "xlinux-gnueabi" ] ; then
- if [ ! -z "${LINGUAS_INSTALL}" ]; then
- apt-get install glibc-localedata-i18n --force-yes --allow-unauthenticated
- if [ $? -ne 0 ]; then
- exit 1
- fi
- for i in ${LINGUAS_INSTALL}; do
- apt-get install $i --force-yes --allow-unauthenticated
- if [ $? -ne 0 ]; then
- exit 1
- fi
- done
- fi
- fi
-
- if [ ! -z "${PACKAGE_INSTALL}" ]; then
- for i in ${PACKAGE_INSTALL}; do
- apt-get install $i --force-yes --allow-unauthenticated
- if [ $? -ne 0 ]; then
- exit 1
- fi
- done
- fi
-
- rm ${WORKDIR}/temp/log.do_$target-attemptonly.${PID}
- if [ ! -z "${PACKAGE_INSTALL_ATTEMPTONLY}" ]; then
- for i in ${PACKAGE_INSTALL_ATTEMPTONLY}; do
- apt-get install $i --force-yes --allow-unauthenticated >> ${WORKDIR}/temp/log.do_rootfs-attemptonly.${PID} || true
- done
- fi
-
- find ${IMAGE_ROOTFS} -name \*.dpkg-new | for i in `cat`; do
- mv $i `echo $i | sed -e's,\.dpkg-new$,,'`
- done
-
- install -d ${IMAGE_ROOTFS}/${sysconfdir}
- echo ${BUILDNAME} > ${IMAGE_ROOTFS}/${sysconfdir}/version
-
- # Mark all packages installed
- sed -i -e "s/Status: install ok unpacked/Status: install ok installed/;" ${IMAGE_ROOTFS}/var/dpkg/status
-
# Attempt to run preinsts
# Mark packages with preinst failures as unpacked
for i in ${IMAGE_ROOTFS}/var/dpkg/info/*.preinst; do
@@ -122,6 +60,9 @@ fakeroot rootfs_deb_do_rootfs () {
set -e
+ install -d ${IMAGE_ROOTFS}/${sysconfdir}
+ echo ${BUILDNAME} > ${IMAGE_ROOTFS}/${sysconfdir}/version
+
# Hacks to allow opkg's update-alternatives and opkg to coexist for now
mkdir -p ${IMAGE_ROOTFS}${opkglibdir}
if [ -e ${IMAGE_ROOTFS}/var/dpkg/alternatives ]; then
@@ -133,27 +74,7 @@ fakeroot rootfs_deb_do_rootfs () {
${ROOTFS_POSTPROCESS_COMMAND}
- log_check rootfs
-}
-
-rootfs_deb_log_check() {
- target="$1"
- lf_path="$2"
-
- lf_txt="`cat $lf_path`"
- for keyword_die in "E:"
- do
- if (echo "$lf_txt" | grep -v log_check | grep "$keyword_die") >/dev/null 2>&1
- then
- echo "log_check: There were error messages in the logfile"
- echo -e "log_check: Matched keyword: [$keyword_die]\n"
- echo "$lf_txt" | grep -v log_check | grep -C 5 -i "$keyword_die"
- echo ""
- do_exit=1
- fi
- done
- test "$do_exit" = 1 && exit 1
- true
+ log_check rootfs
}
remove_packaging_data_files() {
diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass
index c9edec2b5..5727d1502 100644
--- a/meta/classes/rootfs_ipk.bbclass
+++ b/meta/classes/rootfs_ipk.bbclass
@@ -12,7 +12,7 @@ ROOTFS_PKGMANAGE_BOOTSTRAP = "run-postinsts"
do_rootfs[depends] += "opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot"
do_rootfs[recrdeptask] += "do_package_write_ipk"
-IPKG_ARGS = "-f ${IPKGCONF_TARGET} -o ${IMAGE_ROOTFS}"
+IPKG_ARGS = "-f ${IPKGCONF_TARGET} -o ${IMAGE_ROOTFS} --force-overwrite"
OPKG_PREPROCESS_COMMANDS = "package_update_index_ipk; package_generate_ipkg_conf"
@@ -29,26 +29,19 @@ fakeroot rootfs_ipk_do_rootfs () {
${OPKG_PREPROCESS_COMMANDS}
mkdir -p ${T}/
- mkdir -p ${IMAGE_ROOTFS}${opkglibdir}
- opkg-cl ${IPKG_ARGS} update
+ #install
+ export INSTALL_PACKAGES_ATTEMPTONLY_IPK="${PACKAGE_INSTALL_ATTEMPTONLY}"
+ export INSTALL_PACKAGES_LINGUAS_IPK="${LINGUAS_INSTALL}"
+ export INSTALL_TASK_IPK="rootfs"
- # Uclibc builds don't provide this stuff...
- if [ x${TARGET_OS} = "xlinux" ] || [ x${TARGET_OS} = "xlinux-gnueabi" ] ; then
- if [ ! -z "${LINGUAS_INSTALL}" ]; then
- for i in ${LINGUAS_INSTALL}; do
- opkg-cl ${IPKG_ARGS} install $i
- done
- fi
- fi
- if [ ! -z "${PACKAGE_INSTALL}" ]; then
- opkg-cl ${IPKG_ARGS} install ${PACKAGE_INSTALL}
- fi
+ export INSTALL_ROOTFS_IPK="${IMAGE_ROOTFS}"
+ export INSTALL_CONF_IPK="${IPKGCONF_TARGET}"
+ export INSTALL_PACKAGES_NORMAL_IPK="${PACKAGE_INSTALL}"
- if [ ! -z "${PACKAGE_INSTALL_ATTEMPTONLY}" ]; then
- opkg-cl ${IPKG_ARGS} install ${PACKAGE_INSTALL_ATTEMPTONLY} > "${WORKDIR}/temp/log.do_rootfs_attemptonly.${PID}" || true
- fi
+ package_install_internal_ipk
+ #post install
export D=${IMAGE_ROOTFS}
export OFFLINE_ROOT=${IMAGE_ROOTFS}
export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS}
@@ -82,26 +75,6 @@ fakeroot rootfs_ipk_do_rootfs () {
log_check rootfs
}
-rootfs_ipk_log_check() {
- target="$1"
- lf_path="$2"
-
- lf_txt="`cat $lf_path`"
- for keyword_die in "exit 1" "Collected errors" ERR Fail
- do
- if (echo "$lf_txt" | grep -v log_check | grep "$keyword_die") >/dev/null 2>&1
- then
- echo "log_check: There were error messages in the logfile"
- echo -e "log_check: Matched keyword: [$keyword_die]\n"
- echo "$lf_txt" | grep -v log_check | grep -C 5 -i "$keyword_die"
- echo ""
- do_exit=1
- fi
- done
- test "$do_exit" = 1 && exit 1
- true
-}
-
rootfs_ipk_write_manifest() {
manifest=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.manifest
cp ${IMAGE_ROOTFS}${opkglibdir}/status $manifest
diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass
index 33abe96df..6fe11f77e 100644
--- a/meta/classes/rootfs_rpm.bbclass
+++ b/meta/classes/rootfs_rpm.bbclass
@@ -2,14 +2,18 @@
# Creates a root filesystem out of rpm packages
#
-ROOTFS_PKGMANAGE = "rpm zypper"
-ROOTFS_PKGMANAGE_BOOTSTRAP = "run-postinsts"
+ROOTFS_PKGMANAGE = "rpm zypper"
+# Postinstalls on device are handled within this class at present
+ROOTFS_PKGMANAGE_BOOTSTRAP = ""
do_rootfs[depends] += "rpm-native:do_populate_sysroot"
# Needed for update-alternatives
do_rootfs[depends] += "opkg-native:do_populate_sysroot"
+# Creating the repo info in do_rootfs
+#do_rootfs[depends] += "createrepo-native:do_populate_sysroot"
+
do_rootfs[recrdeptask] += "do_package_write_rpm"
AWKPOSTINSTSCRIPT = "${POKYBASE}/scripts/rootfs_rpm-extract-postinst.awk"
@@ -33,122 +37,27 @@ RPM="rpm ${RPMOPTS}"
do_rootfs[lockfiles] += "${DEPLOY_DIR_RPM}/rpm.lock"
fakeroot rootfs_rpm_do_rootfs () {
- set +x
+ #set +x
${RPM_PREPROCESS_COMMANDS}
+ #createrepo "${DEPLOY_DIR_RPM}"
+
# Setup base system configuration
mkdir -p ${IMAGE_ROOTFS}/etc/rpm/
- echo "${TARGET_ARCH}-linux" >${IMAGE_ROOTFS}/etc/rpm/platform
-
- # Tell RPM that the "/" directory exist and is available
- mkdir -p ${IMAGE_ROOTFS}/etc/rpm/sysinfo
- echo "/" >${IMAGE_ROOTFS}/etc/rpm/sysinfo/Dirnames
-
- # Setup manifest of packages to install...
- mkdir -p ${IMAGE_ROOTFS}/install
- echo "# Install manifest" > ${IMAGE_ROOTFS}/install/install.manifest
-
- # Uclibc builds don't provide this stuff...
- if [ x${TARGET_OS} = "xlinux" ] || [ x${TARGET_OS} = "xlinux-gnueabi" ] ; then
- if [ ! -z "${LINGUAS_INSTALL}" ]; then
- for pkg in ${LINGUAS_INSTALL}; do
- echo "Processing $pkg..."
- pkg_name=$(resolve_package $pkg)
- if [ -z "$pkg_name" ]; then
- echo "Unable to find package $pkg!"
- exit 1
- fi
- echo $pkg_name >> ${IMAGE_ROOTFS}/install/install.manifest
- done
- fi
- fi
- if [ ! -z "${PACKAGE_INSTALL}" ]; then
- for pkg in ${PACKAGE_INSTALL} ; do
- echo "Processing $pkg..."
- pkg_name=$(resolve_package $pkg)
- if [ -z "$pkg_name" ]; then
- echo "Unable to find package $pkg!"
- exit 1
- fi
- echo $pkg_name >> ${IMAGE_ROOTFS}/install/install.manifest
- done
- fi
+ #install pacakges
+ export INSTALL_ROOTFS_RPM="${IMAGE_ROOTFS}"
+ export INSTALL_PLATFORM_RPM="${TARGET_ARCH}"
+ export INSTALL_PLATFORM_EXTRA_RPM="${PACKAGE_ARCHS}"
+ export INSTALL_CONFBASE_RPM="${RPMCONF_TARGET_BASE}"
+ export INSTALL_PACKAGES_NORMAL_RPM="${PACKAGE_INSTALL}"
+ export INSTALL_PACKAGES_ATTEMPTONLY_RPM="${PACKAGE_INSTALL_ATTEMPTONLY}"
+ export INSTALL_PACKAGES_LINGUAS_RPM="${LINGUAS_INSTALL}"
+ export INSTALL_PROVIDENAME_RPM=""
+ export INSTALL_TASK_RPM="populate_sdk"
- # Generate an install solution by doing a --justdb install, then recreate it with
- # an actual package install!
- ${RPM} -D "_dbpath ${IMAGE_ROOTFS}/install" -D "`cat ${DEPLOY_DIR_RPM}/solvedb.macro`" \
- -D "__dbi_cdb create mp_mmapsize=128Mb mp_size=1Mb nofsync" \
- -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \
- ${IMAGE_ROOTFS}/install/install.manifest
-
- if [ ! -z "${PACKAGE_INSTALL_ATTEMPTONLY}" ]; then
- echo "Adding attempt only packages..."
- for pkg in ${PACKAGE_INSTALL_ATTEMPTONLY} ; do
- echo "Processing $pkg..."
- pkg_name=$(resolve_package $pkg)
- if [ -z "$pkg_name" ]; then
- echo "Unable to find package $pkg!"
- exit 1
- fi
- echo "Attempting $pkg_name..." >> "${WORKDIR}/temp/log.do_rootfs_attemptonly.${PID}"
- ${RPM} -D "_dbpath ${IMAGE_ROOTFS}/install" -D "`cat ${DEPLOY_DIR_RPM}/solvedb.macro`" \
- -D "__dbi_cdb create mp_mmapsize=128Mb mp_size=1Mb nofsync private" \
- -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \
- $pkg_name >> "${WORKDIR}/temp/log.do_rootfs_attemptonly.${PID}" || true
- done
- fi
-
-#### Note: 'Recommends' is an arbitrary tag that means _SUGGESTS_ in Poky..
- # Add any recommended packages to the image
- # RPM does not solve for recommended packages because they are optional...
- # So we query them and tree them like the ATTEMPTONLY packages above...
- # Change the loop to "1" to run this code...
- loop=0
- if [ $loop -eq 1 ]; then
- echo "Processing recommended packages..."
- cat /dev/null > ${IMAGE_ROOTFS}/install/recommend.list
- while [ $loop -eq 1 ]; do
- # Dump the full set of recommends...
- ${RPM} -D "_dbpath ${IMAGE_ROOTFS}/install" -D "`cat ${DEPLOY_DIR_RPM}/solvedb.macro`" \
- -qa --qf "[%{RECOMMENDS}\n]" | sort -u > ${IMAGE_ROOTFS}/install/recommend
- # Did we add more to the list?
- grep -v -x -F -f ${IMAGE_ROOTFS}/install/recommend.list ${IMAGE_ROOTFS}/install/recommend > ${IMAGE_ROOTFS}/install/recommend.new || true
- # We don't want to loop unless there is a change to the list!
- loop=0
- cat ${IMAGE_ROOTFS}/install/recommend.new | \
- while read pkg ; do
- # Ohh there was a new one, we'll need to loop again...
- loop=1
- echo "Processing $pkg..."
- pkg_name=$(resolve_package $pkg)
- if [ -z "$pkg_name" ]; then
- echo "Unable to find package $pkg." >> "${WORKDIR}/temp/log.do_rootfs_recommend.${PID}"
- continue
- fi
- echo "Attempting $pkg_name..." >> "${WORKDIR}/temp/log.do_rootfs_recommend.${PID}"
- ${RPM} -D "_dbpath ${IMAGE_ROOTFS}/install" -D "`cat ${DEPLOY_DIR_RPM}/solvedb.macro`" \
- -D "__dbi_cdb create mp_mmapsize=128Mb mp_size=1Mb nofsync private" \
- -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \
- $pkg_name >> "${WORKDIR}/temp/log.do_rootfs_recommend.${PID}" 2>&1 || true
- done
- cat ${IMAGE_ROOTFS}/install/recommend.list ${IMAGE_ROOTFS}/install/recommend.new | sort -u > ${IMAGE_ROOTFS}/install/recommend.new.list
- mv ${IMAGE_ROOTFS}/install/recommend.new.list ${IMAGE_ROOTFS}/install/recommend.list
- rm ${IMAGE_ROOTFS}/install/recommend ${IMAGE_ROOTFS}/install/recommend.new
- done
- fi
-
- # Now that we have a solution, pull out a list of what to install...
- echo "Manifest: ${IMAGE_ROOTFS}/install/install.manifest"
- ${RPM} -D "_dbpath ${IMAGE_ROOTFS}/install" -qa --yaml \
- | grep -i 'Packageorigin' | cut -d : -f 2 > ${IMAGE_ROOTFS}/install/install_solution.manifest
-
- # Attempt install
- ${RPM} --root ${IMAGE_ROOTFS} -D "_dbpath ${rpmlibdir}" \
- --noscripts --notriggers --noparentdirs --nolinktos \
- -D "__dbi_cdb create mp_mmapsize=128Mb mp_size=1Mb nofsync private" \
- -Uhv ${IMAGE_ROOTFS}/install/install_solution.manifest
+ package_install_internal_rpm
export D=${IMAGE_ROOTFS}
export OFFLINE_ROOT=${IMAGE_ROOTFS}
@@ -159,6 +68,7 @@ fakeroot rootfs_rpm_do_rootfs () {
mkdir -p ${IMAGE_ROOTFS}/etc/rpm-postinsts/
${RPM} --root ${IMAGE_ROOTFS} -D '_dbpath ${rpmlibdir}' -qa \
+ -D "__dbi_txn create nofsync private" \
--qf 'Name: %{NAME}\n%|POSTIN?{postinstall scriptlet%|POSTINPROG?{ (using %{POSTINPROG})}|:\n%{POSTIN}\n}:{%|POSTINPROG?{postinstall program: %{POSTINPROG}\n}|}|' \
> ${IMAGE_ROOTFS}/etc/rpm-postinsts/combined
awk -f ${AWKPOSTINSTSCRIPT} < ${IMAGE_ROOTFS}/etc/rpm-postinsts/combined
@@ -202,54 +112,25 @@ EOF
# remove lock files
rm -f ${IMAGE_ROOTFS}${rpmlibdir}/__db.*
- # remove resolver files and manifests
- rm -f ${IMAGE_ROOTFS}/install/install.manifest
+ # Move manifests into the directory with the logs
+ mv ${IMAGE_ROOTFS}/install/*.manifest ${T}/
+
+ # Remove all remaining resolver files
+ rm -rf ${IMAGE_ROOTFS}/install
log_check rootfs
# Workaround so the parser knows we need the resolve_package function!
if false ; then
- resolve_package foo || true
+ resolve_package_rpm foo ${RPMCONF_TARGET_BASE}.conf || true
fi
}
-rootfs_rpm_log_check() {
- target="$1"
- lf_path="$2"
-
- lf_txt="`cat $lf_path`"
- for keyword_die in "Cannot find package" "exit 1" ERR Fail
- do
- if (echo "$lf_txt" | grep -v log_check | grep "$keyword_die") >/dev/null 2>&1
- then
- echo "log_check: There were error messages in the logfile"
- echo -e "log_check: Matched keyword: [$keyword_die]\n"
- echo "$lf_txt" | grep -v log_check | grep -C 5 -i "$keyword_die"
- echo ""
- do_exit=1
- fi
- done
- test "$do_exit" = 1 && exit 1
- true
-}
-
remove_packaging_data_files() {
rm -rf ${IMAGE_ROOTFS}${rpmlibdir}
rm -rf ${IMAGE_ROOTFS}${opkglibdir}
}
-# Resolve package names to filepaths
-resolve_package() {
- pkg="$1"
- pkg_name=""
- for solve in `cat ${DEPLOY_DIR_RPM}/solvedb.conf`; do
- pkg_name=$(${RPM} -D "_dbpath $solve" -D "_dbi_tags_3 Packages:Name:Basenames:Providename:Nvra" -D "__dbi_cdb create mp_mmapsize=128Mb mp_size=1Mb nofsync" -q --yaml $pkg | grep -i 'Packageorigin' | cut -d : -f 2)
- if [ -n "$pkg_name" ]; then
- break;
- fi
- done
- echo $pkg_name
-}
install_all_locales() {
PACKAGES_TO_INSTALL=""
@@ -257,7 +138,7 @@ install_all_locales() {
# Generate list of installed packages...
INSTALLED_PACKAGES=$( \
${RPM} --root ${IMAGE_ROOTFS} -D "_dbpath ${rpmlibdir}" \
- -D "__dbi_cdb create mp_mmapsize=128Mb mp_size=1Mb nofsync private" \
+ -D "__dbi_txn create nofsync private" \
-qa --qf "[%{NAME}\n]" | egrep -v -- "(-locale-|-dev$|-doc$|^kernel|^glibc|^ttf|^task|^perl|^python)" \
)
@@ -265,11 +146,11 @@ install_all_locales() {
# but this should be good enough for the few users of this function...
for pkg in $INSTALLED_PACKAGES; do
for lang in ${IMAGE_LOCALES}; do
- pkg_name=$(resolve_package $pkg-locale-$lang)
+ pkg_name=$(resolve_package_rpm $pkg-locale-$lang ${RPMCONF_TARGET_BASE}.conf)
if [ -n "$pkg_name" ]; then
${RPM} --root ${IMAGE_ROOTFS} -D "_dbpath ${rpmlibdir}" \
+ -D "__dbi_txn create nofsync private" \
--noscripts --notriggers --noparentdirs --nolinktos \
- -D "__dbi_cdb create mp_mmapsize=128Mb mp_size=1Mb nofsync private" \
-Uhv $pkg_name || true
fi
done
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 9d183e352..13940f81d 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -124,6 +124,14 @@ def check_sanity(e):
if data.getVar('MACHINE', e.data, True):
if not check_conf_exists("conf/machine/${MACHINE}.conf", e.data):
messages = messages + 'Please set a valid MACHINE in your local.conf\n'
+
+ # Check that DL_DIR is set, exists and is writable. In theory, we should never even hit the check if DL_DIR isn't
+ # set, since so much relies on it being set.
+ dldir = data.getVar('DL_DIR', e.data, True)
+ if not dldir:
+ messages = messages + "DL_DIR is not set. Your environment is misconfigured, check that DL_DIR is set, and if the directory exists, that it is writable. \n"
+ if os.path.exists(dldir) and not os.access(dldir, os.W_OK):
+ messages = messages + "DL_DIR: %s exists but you do not appear to have write access to it. \n" % dldir
# Check that the DISTRO is valid
# need to take into account DISTRO renaming DISTRO
@@ -155,6 +163,9 @@ def check_sanity(e):
if not check_app_exists("qemu-arm", e.data):
messages = messages + "qemu-native was in ASSUME_PROVIDED but the QEMU binaries (qemu-arm) can't be found in PATH"
+ if "." in data.getVar('PATH', e.data, True).split(":"):
+ messages = messages + "PATH contains '.' which will break the build, please remove this"
+
if data.getVar('TARGET_ARCH', e.data, True) == "arm":
# This path is no longer user-readable in modern (very recent) Linux
try:
@@ -178,11 +189,12 @@ def check_sanity(e):
if not data.getVar( 'DISPLAY', e.data, True ) and data.getVar( 'IMAGETEST', e.data, True ) == 'qemu':
messages = messages + 'qemuimagetest needs a X desktop to start qemu, please set DISPLAY correctly (e.g. DISPLAY=:1.0)\n'
- # Ensure we have the binary for TERMCMD, as when patch application fails the error is fairly intimidating
- termcmd = data.getVar("TERMCMD", e.data, True)
- term = termcmd.split()[0]
- if not check_app_exists(term, e.data):
- messages = messages + "The console for use in patch error resolution is not available, please install %s or set TERMCMD and TERMCMDRUN (as documented in local.conf).\n" % term
+ if data.getVar('PATCHRESOLVE', e.data, True) != 'noop':
+ # Ensure we have the binary for TERMCMD, as when patch application fails the error is fairly intimidating
+ termcmd = data.getVar("TERMCMD", e.data, True)
+ term = termcmd.split()[0]
+ if not check_app_exists(term, e.data):
+ messages = messages + "The console for use in patch error resolution is not available, please install %s or set TERMCMD and TERMCMDRUN (as documented in local.conf).\n" % term
if os.path.basename(os.readlink('/bin/sh')) == 'dash':
messages = messages + "Using dash as /bin/sh causes various subtle build problems, please use bash instead (e.g. 'dpkg-reconfigure dash' on an Ubuntu system.\n"
@@ -196,9 +208,6 @@ def check_sanity(e):
if not oes_bb_conf:
messages = messages + 'You do not include OpenEmbeddeds version of conf/bitbake.conf. This means your environment is misconfigured, in particular check BBPATH.\n'
- if data.getVar('SDK_ARCH', e.data, True) == 'i686':
- messages = messages + '"Please set SDKMACHINE to i586. It is currently defaulting to the build machine architecture of i686 and this is known to have issues (see local.conf).\n'
-
nolibs = data.getVar('NO32LIBS', e.data, True)
if not nolibs:
lib32path = '/lib'
@@ -292,7 +301,7 @@ def check_sanity(e):
f.write(current_abi)
elif (abi != current_abi):
# Code to convert from one ABI to another could go here if possible.
- messages = messages + "Error, TMPDIR has changed ABI (%s to %s) and you need to either rebuild, revert or adjust it at your own risk.\n" % (abi, current_abi)
+ messages = messages + "Error, TMPDIR has changed its layout version number (%s to %s) and you need to either rebuild, revert or adjust it at your own risk.\n" % (abi, current_abi)
else:
f = file(abifile, "w")
f.write(current_abi)
@@ -300,7 +309,7 @@ def check_sanity(e):
oeroot = data.getVar('POKYBASE', e.data)
if oeroot.find ('+') != -1:
- messages = messages + "Error, you have an invalid character (+) in your POKYBASE directory path. Please more Poky to a directory which doesn't include a +."
+ messages = messages + "Error, you have an invalid character (+) in your POKYBASE directory path. Please move Poky to a directory which doesn't include a +."
elif oeroot.find (' ') != -1:
messages = messages + "Error, you have a space in your POKYBASE directory path. Please move Poky to a directory which doesn't include a space."
@@ -309,9 +318,8 @@ def check_sanity(e):
addhandler check_sanity_eventhandler
python check_sanity_eventhandler() {
- from bb.event import Handled, NotHandled
if bb.event.getName(e) == "ConfigParsed" and bb.data.getVar("BB_WORKERCONTEXT", e.data, True) != "1":
check_sanity(e)
- return NotHandled
+ return
}
diff --git a/meta/classes/setuptools.bbclass b/meta/classes/setuptools.bbclass
new file mode 100644
index 000000000..ced9509df
--- /dev/null
+++ b/meta/classes/setuptools.bbclass
@@ -0,0 +1,8 @@
+inherit distutils
+
+DEPENDS += "python-setuptools-native"
+
+DISTUTILS_INSTALL_ARGS = "--root=${D} \
+ --single-version-externally-managed \
+ --prefix=${prefix} \
+ --install-data=${datadir}"
diff --git a/meta/classes/siteconfig.bbclass b/meta/classes/siteconfig.bbclass
index 37d910e1d..0813c2543 100644
--- a/meta/classes/siteconfig.bbclass
+++ b/meta/classes/siteconfig.bbclass
@@ -10,18 +10,21 @@ python siteconfig_do_siteconfig () {
sstate_install(shared_state, d)
}
+EXTRASITECONFIG ?= ""
+
siteconfig_do_siteconfig_gencache () {
- mkdir -p ${WORKDIR}/site_config
+ mkdir -p ${WORKDIR}/site_config_${MACHINE}
gen-site-config ${FILE_DIRNAME}/site_config \
- >${WORKDIR}/site_config/configure.ac
- cd ${WORKDIR}/site_config
+ >${WORKDIR}/site_config_${MACHINE}/configure.ac
+ cd ${WORKDIR}/site_config_${MACHINE}
autoconf
- CONFIG_SITE="" ./configure ${CONFIGUREOPTS} --cache-file ${PN}_cache
+ CONFIG_SITE="" ${EXTRASITECONFIG} ./configure ${CONFIGUREOPTS} --cache-file ${PN}_cache
sed -n -e "/ac_cv_c_bigendian/p" -e "/ac_cv_sizeof_/p" \
-e "/ac_cv_type_/p" -e "/ac_cv_header_/p" -e "/ac_cv_func_/p" \
< ${PN}_cache > ${PN}_config
- mkdir -p ${SYSROOT_DESTDIR}${SITECONFIG_SYSROOTCACHE}
- cp ${PN}_config ${SYSROOT_DESTDIR}${SITECONFIG_SYSROOTCACHE}
+ mkdir -p ${SYSROOT_DESTDIR}${datadir}/${TARGET_SYS}_config_site.d
+ cp ${PN}_config ${SYSROOT_DESTDIR}${datadir}/${TARGET_SYS}_config_site.d
+
}
do_populate_sysroot[sstate-interceptfuncs] += "do_siteconfig "
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 0ba130c88..e4564e4b0 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -1,11 +1,11 @@
-SSTATE_VERSION = "1"
+SSTATE_VERSION = "2"
SSTATE_MANIFESTS = "${TMPDIR}/sstate-control"
-SSTATE_MANFILEBASE = "${SSTATE_MANIFESTS}/manifest-${SSTATE_PKGARCH}-"
+SSTATE_MANFILEBASE = "${SSTATE_MANIFESTS}/manifest-${SSTATE_MANMACH}-"
SSTATE_MANFILEPREFIX = "${SSTATE_MANFILEBASE}${PN}"
-SSTATE_PKGARCH = "${BASE_PACKAGE_ARCH}"
+SSTATE_PKGARCH = "${MULTIMACH_ARCH}"
SSTATE_PKGSPEC = "sstate-${PN}-${MULTIMACH_ARCH}${TARGET_VENDOR}-${TARGET_OS}-${PV}-${PR}-${SSTATE_PKGARCH}-${SSTATE_VERSION}-"
SSTATE_PKGNAME = "${SSTATE_PKGSPEC}${BB_TASKHASH}"
SSTATE_PKG = "${SSTATE_DIR}/${SSTATE_PKGNAME}"
@@ -14,15 +14,22 @@ SSTATE_SCAN_CMD ?= "find ${SSTATE_BUILDDIR} \( -name "*.la" -o -name "*-config"
BB_HASHFILENAME = "${SSTATE_PKGNAME}"
+SSTATE_MANMACH ?= "${SSTATE_PKGARCH}"
+
python () {
if bb.data.inherits_class('native', d):
bb.data.setVar('SSTATE_PKGARCH', bb.data.getVar('BUILD_ARCH', d), d)
- elif bb.data.inherits_class('cross', d) or bb.data.inherits_class('crosssdk', d):
+ elif bb.data.inherits_class('cross', d):
+ bb.data.setVar('SSTATE_PKGARCH', bb.data.expand("${BUILD_ARCH}_${BASE_PACKAGE_ARCH}", d), d)
+ bb.data.setVar('SSTATE_MANMACH', bb.data.expand("${BUILD_ARCH}_${MACHINE}", d), d)
+ elif bb.data.inherits_class('crosssdk', d):
bb.data.setVar('SSTATE_PKGARCH', bb.data.expand("${BUILD_ARCH}_${BASE_PACKAGE_ARCH}", d), d)
elif bb.data.inherits_class('nativesdk', d):
bb.data.setVar('SSTATE_PKGARCH', bb.data.expand("${SDK_ARCH}", d), d)
elif bb.data.inherits_class('cross-canadian', d):
bb.data.setVar('SSTATE_PKGARCH', bb.data.expand("${SDK_ARCH}_${BASE_PACKAGE_ARCH}", d), d)
+ else:
+ bb.data.setVar('SSTATE_MANMACH', bb.data.expand("${MACHINE}", d), d)
# These classes encode staging paths into their scripts data so can only be
# reused if we manipulate the paths
@@ -30,17 +37,21 @@ python () {
scan_cmd = "grep -Irl ${STAGING_DIR} ${SSTATE_BUILDDIR}"
bb.data.setVar('SSTATE_SCAN_CMD', scan_cmd, d)
+ namemap = []
for task in (bb.data.getVar('SSTATETASKS', d, True) or "").split():
+ namemap.append(bb.data.getVarFlag(task, 'sstate-name', d))
funcs = bb.data.getVarFlag(task, 'prefuncs', d) or ""
funcs = "sstate_task_prefunc " + funcs
bb.data.setVarFlag(task, 'prefuncs', funcs, d)
funcs = bb.data.getVarFlag(task, 'postfuncs', d) or ""
funcs = funcs + " sstate_task_postfunc"
bb.data.setVarFlag(task, 'postfuncs', funcs, d)
+ d.setVar('SSTATETASKNAMES', " ".join(namemap))
}
-def sstate_init(name, d):
+def sstate_init(name, task, d):
ss = {}
+ ss['task'] = task
ss['name'] = name
ss['dirs'] = []
ss['plaindirs'] = []
@@ -63,7 +74,7 @@ def sstate_state_fromvars(d, task = None):
if not name or len(inputs) != len(outputs):
bb.fatal("sstate variables not setup correctly?!")
- ss = sstate_init(name, d)
+ ss = sstate_init(name, task, d)
for i in range(len(inputs)):
sstate_add(ss, inputs[i], outputs[i], d)
ss['lockfiles'] = lockfiles
@@ -87,30 +98,6 @@ def sstate_install(ss, d):
if os.access(manifest, os.R_OK):
bb.fatal("Package already staged (%s)?!" % manifest)
- def checkmanifest(pn, task):
- return os.access(bb.data.expand("${SSTATE_MANFILEBASE}%s.%s" % (pn, task), d), os.R_OK)
-
- skipinst = False
- pn = d.getVar("PN", True)
- if pn == "gcc-cross-initial":
- if checkmanifest("gcc-cross", "populate-sysroot"):
- skipinst = True
- if checkmanifest("gcc-cross-intermediate", "populate-sysroot"):
- skipinst = True
- elif pn == "gcc-cross-intermediate":
- if checkmanifest("gcc-cross", "populate-sysroot"):
- skipinst = True
- elif pn == "glibc-initial":
- if checkmanifest("glibc", "populate-sysroot"):
- skipinst = True
- elif pn == "eglibc-initial":
- if checkmanifest("eglibc", "populate-sysroot"):
- skipinst = True
-
- if skipinst:
- bb.note("Not staging %s.%s as sysroot already contains better functionality" % (pn, ss['name']))
- return
-
locks = []
for lock in ss['lockfiles']:
locks.append(bb.utils.lockfile(lock))
@@ -168,10 +155,14 @@ def sstate_installpkg(ss, d):
fixmefn = sstateinst + "fixmepath"
if os.path.isfile(fixmefn):
staging = bb.data.getVar('STAGING_DIR', d, True)
+ staging_target = bb.data.getVar('STAGING_DIR_TARGET', d, True)
+ staging_host = bb.data.getVar('STAGING_DIR_HOST', d, True)
fixmefd = open(fixmefn, "r")
fixmefiles = fixmefd.readlines()
fixmefd.close()
for file in fixmefiles:
+ os.system("sed -i -e s:FIXMESTAGINGDIRTARGET:%s:g %s" % (staging_target, sstateinst + file))
+ os.system("sed -i -e s:FIXMESTAGINGDIRHOST:%s:g %s" % (staging_host, sstateinst + file))
os.system("sed -i -e s:FIXMESTAGINGDIR:%s:g %s" % (staging, sstateinst + file))
for state in ss['dirs']:
@@ -206,9 +197,6 @@ def sstate_clean_cachefiles(d):
def sstate_clean_manifest(manifest, d):
import oe.path
- if not os.path.exists(manifest):
- return
-
mfile = open(manifest)
entries = mfile.readlines()
mfile.close()
@@ -232,9 +220,13 @@ def sstate_clean_manifest(manifest, d):
oe.path.remove(manifest)
def sstate_clean(ss, d):
+ import oe.path
manifest = bb.data.expand("${SSTATE_MANFILEPREFIX}.%s" % ss['name'], d)
+ if not os.path.exists(manifest):
+ return
+
locks = []
for lock in ss['lockfiles']:
locks.append(bb.utils.lockfile(lock))
@@ -244,7 +236,8 @@ def sstate_clean(ss, d):
for lock in locks:
bb.utils.unlockfile(lock)
-SCENEFUNCS += "sstate_cleanall"
+ oe.path.remove(d.getVar("STAMP", True) + ".do_" + ss['task'] + "*")
+
CLEANFUNCS += "sstate_cleanall"
python sstate_cleanall() {
@@ -261,9 +254,45 @@ python sstate_cleanall() {
for manifest in (os.listdir(manifest_dir)):
if fnmatch.fnmatch(manifest, manifest_pattern):
- sstate_clean_manifest(manifest_dir + "/" + manifest, d)
+ name = manifest.replace(manifest_pattern[:-1], "")
+ namemap = d.getVar('SSTATETASKNAMES', True).split()
+ tasks = d.getVar('SSTATETASKS', True).split()
+ taskname = tasks[namemap.index(name)]
+ shared_state = sstate_state_fromvars(d, taskname[3:])
+ sstate_clean(shared_state, d)
}
+def sstate_hardcode_path(d):
+ # Need to remove hardcoded paths and fix these when we install the
+ # staging packages.
+ sstate_scan_cmd = bb.data.getVar('SSTATE_SCAN_CMD', d, True)
+ p = os.popen("%s" % sstate_scan_cmd)
+ file_list = p.read()
+
+ if file_list == "":
+ p.close()
+ return
+
+ staging = bb.data.getVar('STAGING_DIR', d, True)
+ staging_target = bb.data.getVar('STAGING_DIR_TARGET', d, True)
+ staging_host = bb.data.getVar('STAGING_DIR_HOST', d, True)
+ sstate_builddir = bb.data.getVar('SSTATE_BUILDDIR', d, True)
+
+ for i in file_list.split('\n'):
+ if not i:
+ continue
+ if bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('cross-canadian', d):
+ cmd = "sed -i -e s:%s:FIXMESTAGINGDIR:g %s" % (staging, i)
+ elif bb.data.inherits_class('cross', d):
+ cmd = "sed -i -e s:%s:FIXMESTAGINGDIRTARGET:g %s \
+ sed -i -e s:%s:FIXMESTAGINGDIR:g %s" % (staging_target, i, staging, i)
+ else:
+ cmd = "sed -i -e s:%s:FIXMESTAGINGDIRHOST:g %s" % (staging_host, i)
+
+ os.system(cmd)
+ os.system("echo %s | sed -e 's:%s::' >> %sfixmepath" % (i, sstate_builddir, sstate_builddir))
+ p.close()
+
def sstate_package(ss, d):
import oe.path
@@ -289,6 +318,7 @@ def sstate_package(ss, d):
bb.data.setVar('SSTATE_BUILDDIR', sstatebuild, d)
bb.data.setVar('SSTATE_PKG', sstatepkg, d)
+ sstate_hardcode_path(d)
bb.build.exec_func('sstate_create_package', d)
bb.siggen.dump_this_task(sstatepkg + ".siginfo", d)
@@ -296,37 +326,40 @@ def sstate_package(ss, d):
return
def pstaging_fetch(sstatepkg, d):
- import bb.fetch
-
- # only try and fetch if the user has configured a mirror
+ # Only try and fetch if the user has configured a mirror
mirrors = bb.data.getVar('SSTATE_MIRRORS', d, True)
- if mirrors:
- # Copy the data object and override DL_DIR and SRC_URI
- localdata = bb.data.createCopy(d)
- bb.data.update_data(localdata)
+ if not mirrors:
+ return
- dldir = bb.data.expand("${SSTATE_DIR}", localdata)
- srcuri = "file://" + os.path.basename(sstatepkg)
+ import bb.fetch2
+ # Copy the data object and override DL_DIR and SRC_URI
+ localdata = bb.data.createCopy(d)
+ bb.data.update_data(localdata)
- bb.mkdirhier(dldir)
+ dldir = bb.data.expand("${SSTATE_DIR}", localdata)
+ srcuri = "file://" + os.path.basename(sstatepkg)
- bb.data.setVar('DL_DIR', dldir, localdata)
- bb.data.setVar('PREMIRRORS', mirrors, localdata)
- bb.data.setVar('SRC_URI', srcuri, localdata)
+ bb.mkdirhier(dldir)
- # Try a fetch from the sstate mirror, if it fails just return and
- # we will build the package
- try:
- bb.fetch.init([srcuri], localdata)
- bb.fetch.go(localdata, [srcuri])
- # Need to optimise this, if using file:// urls, the fetcher just changes the local path
- # For now work around by symlinking
- localpath = bb.data.expand(bb.fetch.localpath(srcuri, localdata), localdata)
- if localpath != sstatepkg and os.path.exists(localpath):
- os.symlink(localpath, sstatepkg)
- except:
- pass
+ bb.data.setVar('DL_DIR', dldir, localdata)
+ bb.data.setVar('PREMIRRORS', mirrors, localdata)
+ bb.data.setVar('SRC_URI', srcuri, localdata)
+
+ # Try a fetch from the sstate mirror, if it fails just return and
+ # we will build the package
+ try:
+ fetcher = bb.fetch2.Fetch([srcuri], localdata)
+ fetcher.download()
+
+ # Need to optimise this, if using file:// urls, the fetcher just changes the local path
+ # For now work around by symlinking
+ localpath = bb.data.expand(fetcher.localpath(srcuri), localdata)
+ if localpath != sstatepkg and os.path.exists(localpath) and not os.path.exists(sstatepkg):
+ os.symlink(localpath, sstatepkg)
+
+ except bb.fetch2.BBFetchException:
+ pass
def sstate_setscene(d):
shared_state = sstate_state_fromvars(d)
@@ -353,15 +386,13 @@ python sstate_task_postfunc () {
# set as SSTATE_BUILDDIR
#
sstate_create_package () {
- # Need to remove hardcoded paths and fix these when we install the
- # staging packages.
- for i in `${SSTATE_SCAN_CMD}` ; do \
- sed -i -e s:${STAGING_DIR}:FIXMESTAGINGDIR:g $i
- echo $i | sed -e 's:${SSTATE_BUILDDIR}::' >> ${SSTATE_BUILDDIR}fixmepath
- done
-
cd ${SSTATE_BUILDDIR}
- tar -cvzf ${SSTATE_PKG} *
+ # Need to handle empty directories
+ if [ "$(ls -A)" ]; then
+ tar -czf ${SSTATE_PKG} *
+ else
+ tar -cz --file=${SSTATE_PKG} --files-from=/dev/null
+ fi
cd ${WORKDIR}
rm -rf ${SSTATE_BUILDDIR}
@@ -384,6 +415,7 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d):
# This needs to go away, FIXME
mapping = {
"do_populate_sysroot" : "populate-sysroot",
+ "do_populate_lic" : "populate-lic",
"do_package_write_ipk" : "deploy-ipk",
"do_package_write_deb" : "deploy-deb",
"do_package_write_rpm" : "deploy-rpm",
diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
index 843256545..a713734c3 100644
--- a/meta/classes/staging.bbclass
+++ b/meta/classes/staging.bbclass
@@ -25,19 +25,6 @@ sysroot_stage_libdir() {
src="$1"
dest="$2"
- olddir=`pwd`
- cd $src
- las=$(find . -name \*.la -type f)
- cd $olddir
- echo "Found la files: $las"
- for i in $las
- do
- sed -e 's/^installed=yes$/installed=no/' \
- -e '/^dependency_libs=/s,${WORKDIR}[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),${STAGING_LIBDIR}/\1,g' \
- -e "/^dependency_libs=/s,\([[:space:]']\)${libdir},\1${STAGING_LIBDIR},g" \
- -e "/^dependency_libs=/s,\([[:space:]']\)${base_libdir},\1${STAGING_DIR_HOST}${base_libdir},g" \
- -i $src/$i
- done
sysroot_stage_dir $src $dest
}
@@ -45,46 +32,45 @@ sysroot_stage_dirs() {
from="$1"
to="$2"
- sysroot_stage_dir $from${includedir} $to${STAGING_INCDIR}
+ sysroot_stage_dir $from${includedir} $to${includedir}
if [ "${BUILD_SYS}" = "${HOST_SYS}" ]; then
- sysroot_stage_dir $from${bindir} $to${STAGING_DIR_HOST}${bindir}
- sysroot_stage_dir $from${sbindir} $to${STAGING_DIR_HOST}${sbindir}
- sysroot_stage_dir $from${base_bindir} $to${STAGING_DIR_HOST}${base_bindir}
- sysroot_stage_dir $from${base_sbindir} $to${STAGING_DIR_HOST}${base_sbindir}
- sysroot_stage_dir $from${libexecdir} $to${STAGING_DIR_HOST}${libexecdir}
- sysroot_stage_dir $from${sysconfdir} $to${STAGING_DIR_HOST}${sysconfdir}
- sysroot_stage_dir $from${localstatedir} $to${STAGING_DIR_HOST}${localstatedir}
+ sysroot_stage_dir $from${bindir} $to${bindir}
+ sysroot_stage_dir $from${sbindir} $to${sbindir}
+ sysroot_stage_dir $from${base_bindir} $to${base_bindir}
+ sysroot_stage_dir $from${base_sbindir} $to${base_sbindir}
+ sysroot_stage_dir $from${libexecdir} $to${libexecdir}
+ sysroot_stage_dir $from${sysconfdir} $to${sysconfdir}
+ sysroot_stage_dir $from${localstatedir} $to${localstatedir}
fi
if [ -d $from${libdir} ]
then
- sysroot_stage_libdir $from/${libdir} $to${STAGING_LIBDIR}
+ sysroot_stage_libdir $from/${libdir} $to${libdir}
fi
if [ -d $from${base_libdir} ]
then
- sysroot_stage_libdir $from${base_libdir} $to${STAGING_DIR_HOST}${base_libdir}
+ sysroot_stage_libdir $from${base_libdir} $to${base_libdir}
fi
- sysroot_stage_dir $from${datadir} $to${STAGING_DATADIR}
+ sysroot_stage_dir $from${datadir} $to${datadir}
}
sysroot_stage_all() {
sysroot_stage_dirs ${D} ${SYSROOT_DESTDIR}
}
-do_populate_sysroot[dirs] = "${STAGING_DIR_TARGET}/${bindir} ${STAGING_DIR_TARGET}/${libdir} \
- ${STAGING_DIR_TARGET}/${includedir} \
- ${STAGING_BINDIR_NATIVE} ${STAGING_LIBDIR_NATIVE} \
- ${STAGING_INCDIR_NATIVE} \
- ${STAGING_DATADIR} \
- ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET} \
- ${S} ${B}"
+do_populate_sysroot[dirs] = "${SYSROOT_DESTDIR}"
-# Could be compile but populate_sysroot and do_install shouldn't run at the same time
addtask populate_sysroot after do_install
SYSROOT_PREPROCESS_FUNCS ?= ""
SYSROOT_DESTDIR = "${WORKDIR}/sysroot-destdir/"
SYSROOT_LOCK = "${STAGING_DIR}/staging.lock"
+# We clean out any existing sstate from the sysroot if we rerun configure
+python sysroot_cleansstate () {
+ ss = sstate_state_fromvars(d, "populate_sysroot")
+ sstate_clean(ss, d)
+}
+do_configure[prefuncs] += "sysroot_cleansstate"
python do_populate_sysroot () {
#
@@ -103,15 +89,15 @@ python do_populate_sysroot () {
SSTATETASKS += "do_populate_sysroot"
do_populate_sysroot[sstate-name] = "populate-sysroot"
-do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}/${STAGING_DIR}"
-do_populate_sysroot[sstate-outputdirs] = "${TMPDIR}/sysroots"
+do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}"
+do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_HOST}/"
+do_populate_sysroot[stamp-extra-info] = "${MACHINE}"
python do_populate_sysroot_setscene () {
sstate_setscene(d)
}
addtask do_populate_sysroot_setscene
-
python () {
if bb.data.getVar('do_stage', d, True) is not None:
bb.fatal("Legacy staging found for %s as it has a do_stage function. This will need conversion to a do_install or often simply removal to work with Poky" % bb.data.getVar("FILE", d, True))
diff --git a/meta/classes/tinderclient.bbclass b/meta/classes/tinderclient.bbclass
index 28df0f950..1027c7cef 100644
--- a/meta/classes/tinderclient.bbclass
+++ b/meta/classes/tinderclient.bbclass
@@ -367,14 +367,14 @@ def tinder_do_tinder_report(event):
addhandler tinderclient_eventhandler
python tinderclient_eventhandler() {
from bb import note, error, data
- from bb.event import NotHandled, getName
+ from bb.event import getName
if e.data is None or getName(e) == "MsgNote":
- return NotHandled
+ return
do_tinder_report = data.getVar('TINDER_REPORT', e.data, True)
if do_tinder_report and do_tinder_report == "1":
tinder_do_tinder_report(e)
- return NotHandled
+ return
}
diff --git a/meta/classes/toolchain-scripts.bbclass b/meta/classes/toolchain-scripts.bbclass
index c393d9964..b2165bc27 100644
--- a/meta/classes/toolchain-scripts.bbclass
+++ b/meta/classes/toolchain-scripts.bbclass
@@ -49,8 +49,8 @@ toolchain_create_tree_env_script () {
echo 'export TARGET_PREFIX=${TARGET_PREFIX}' >> $script
echo 'export CONFIGURE_FLAGS="--target=${TARGET_SYS} --host=${TARGET_SYS} --build=${BUILD_SYS}"' >> $script
if [ "${TARGET_OS}" = "darwin8" ]; then
- echo 'export TARGET_CFLAGS="-I${STAGING_DIR}${TARGET_SYS}${includedir}"' >> $script
- echo 'export TARGET_LDFLAGS="-L${STAGING_DIR}${TARGET_SYS}${libdir}"' >> $script
+ echo 'export TARGET_CFLAGS="-I${STAGING_DIR}${MACHINE}${includedir}"' >> $script
+ echo 'export TARGET_LDFLAGS="-L${STAGING_DIR}${MACHINE}${libdir}"' >> $script
# Workaround darwin toolchain sysroot path problems
cd ${SDK_OUTPUT}${SDKTARGETSYSROOT}/usr
ln -s /usr/local local
@@ -60,3 +60,33 @@ toolchain_create_tree_env_script () {
echo 'export POKY_NATIVE_SYSROOT="${STAGING_DIR_NATIVE}"' >> $script
echo 'export POKY_TARGET_SYSROOT="${STAGING_DIR_TARGET}"' >> $script
}
+
+# This function creates an environment-setup-script for use by the ADT installer
+toolchain_create_sdk_env_script_for_installer () {
+ # Create environment setup script
+ script=${SDK_OUTPUT}/${SDKPATH}/environment-setup-${OLD_MULTIMACH_TARGET_SYS}
+ rm -f $script
+ touch $script
+ echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:${SDKPATHNATIVE}${bindir_nativesdk}/${OLD_MULTIMACH_TARGET_SYS}:$PATH' >> $script
+ echo 'export PKG_CONFIG_SYSROOT_DIR=##SDKTARGETSYSROOT##' >> $script
+ echo 'export PKG_CONFIG_PATH=##SDKTARGETSYSROOT##${target_libdir}/pkgconfig' >> $script
+ echo 'export CONFIG_SITE=${SDKPATH}/site-config-${OLD_MULTIMACH_TARGET_SYS}' >> $script
+ echo 'export CC=${TARGET_PREFIX}gcc' >> $script
+ echo 'export CXX=${TARGET_PREFIX}g++' >> $script
+ echo 'export GDB=${TARGET_PREFIX}gdb' >> $script
+ echo 'export TARGET_PREFIX=${TARGET_PREFIX}' >> $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##SDKTARGETSYSROOT##${target_includedir}"' >> $script
+ echo 'export TARGET_LDFLAGS="-L##SDKTARGETSYSROOT##{target_libdir}"' >> $script
+ # Workaround darwin toolchain sysroot path problems
+ cd ${SDK_OUTPUT}${SDKTARGETSYSROOT}/usr
+ ln -s /usr/local local
+ fi
+ echo 'export CFLAGS="${TARGET_CC_ARCH} --sysroot=##SDKTARGETSYSROOT##"' >> $script
+ echo 'export CXXFLAGS="${TARGET_CC_ARCH} --sysroot=##SDKTARGETSYSROOT##"' >> $script
+ echo 'export POKY_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script
+ echo 'export POKY_TARGET_SYSROOT="##SDKTARGETSYSROOT##"' >> $script
+ echo 'export POKY_DISTRO_VERSION="${DISTRO_VERSION}"' >> $script
+ echo 'export POKY_SDK_VERSION="${SDK_VERSION}"' >> $script
+}
diff --git a/meta/classes/update-rc.d.bbclass b/meta/classes/update-rc.d.bbclass
index 57137c60b..7e4dda7cb 100644
--- a/meta/classes/update-rc.d.bbclass
+++ b/meta/classes/update-rc.d.bbclass
@@ -1,5 +1,9 @@
+UPDATERCPN ?= "${PN}"
+
DEPENDS_append = " update-rc.d-native"
-RDEPENDS_${PN}_append = " update-rc.d"
+UPDATERCD = "update-rc.d"
+UPDATERCD_virtclass-native = ""
+RDEPENDS_${UPDATERCPN}_append = " ${UPDATERCD}"
INITSCRIPT_PARAMS ?= "defaults"
@@ -69,7 +73,7 @@ python populate_packages_prepend () {
pkgs = bb.data.getVar('INITSCRIPT_PACKAGES', d, 1)
if pkgs == None:
- pkgs = bb.data.getVar('PN', d, 1)
+ pkgs = bb.data.getVar('UPDATERCPN', d, 1)
packages = (bb.data.getVar('PACKAGES', d, 1) or "").split()
if not pkgs in packages and packages != []:
pkgs = packages[0]
diff --git a/meta/classes/utility-tasks.bbclass b/meta/classes/utility-tasks.bbclass
index db2297340..aeac2bce4 100644
--- a/meta/classes/utility-tasks.bbclass
+++ b/meta/classes/utility-tasks.bbclass
@@ -50,33 +50,18 @@ python do_rebuild() {
addtask checkuri
do_checkuri[nostamp] = "1"
python do_checkuri() {
- import sys
+ src_uri = (bb.data.getVar('SRC_URI', d, True) or "").split()
+ if len(src_uri) == 0:
+ return
localdata = bb.data.createCopy(d)
bb.data.update_data(localdata)
- src_uri = bb.data.getVar('SRC_URI', localdata, 1)
-
- try:
- bb.fetch.init(src_uri.split(),d)
- except bb.fetch.NoMethodError:
- (type, value, traceback) = sys.exc_info()
- raise bb.build.FuncFailed("No method: %s" % value)
-
- try:
- bb.fetch.checkstatus(localdata)
- except bb.fetch.MissingParameterError:
- (type, value, traceback) = sys.exc_info()
- raise bb.build.FuncFailed("Missing parameters: %s" % value)
- except bb.fetch.FetchError:
- (type, value, traceback) = sys.exc_info()
- raise bb.build.FuncFailed("Fetch failed: %s" % value)
- except bb.fetch.MD5SumError:
- (type, value, traceback) = sys.exc_info()
- raise bb.build.FuncFailed("MD5 failed: %s" % value)
- except:
- (type, value, traceback) = sys.exc_info()
- raise bb.build.FuncFailed("Unknown fetch Error: %s" % value)
+ try:
+ fetcher = bb.fetch2.Fetch(src_uri, localdata)
+ fetcher.checkstatus()
+ except bb.fetch2.BBFetchException, e:
+ raise bb.build.FuncFailed(e)
}
addtask checkuriall after do_checkuri
diff --git a/meta/classes/utils.bbclass b/meta/classes/utils.bbclass
index 746f46ce5..455b49d54 100644
--- a/meta/classes/utils.bbclass
+++ b/meta/classes/utils.bbclass
@@ -51,11 +51,12 @@ def machine_paths(d):
def is_machine_specific(d):
"""Determine whether the current recipe is machine specific"""
machinepaths = set(machine_paths(d))
- urldatadict = bb.fetch.init(d.getVar("SRC_URI", True).split(), d, True)
- for urldata in (urldata for urldata in urldatadict.itervalues()
- if urldata.type == "file"):
- if any(urldata.localpath.startswith(mp + "/") for mp in machinepaths):
- return True
+ srcuri = d.getVar("SRC_URI", True).split()
+ for url in srcuri:
+ fetcher = bb.fetch2.Fetch([srcuri], d)
+ if url.startswith("file://"):
+ if any(fetcher.localpath(url).startswith(mp + "/") for mp in machinepaths):
+ return True
def oe_popen_env(d):
env = d.getVar("__oe_popen_env", False)
@@ -199,19 +200,8 @@ oe_libinstall() {
__runcmd install -m 0644 $dota $destpath/
fi
if [ -f "$dotlai" -a -n "$libtool" ]; then
- if test -n "$staging_install"
- then
- # stop libtool using the final directory name for libraries
- # in staging:
- __runcmd rm -f $destpath/$libname.la
- __runcmd sed -e 's/^installed=yes$/installed=no/' \
- -e '/^dependency_libs=/s,${WORKDIR}[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),${STAGING_LIBDIR}/\1,g' \
- -e "/^dependency_libs=/s,\([[:space:]']\)${libdir},\1${STAGING_LIBDIR},g" \
- $dotlai >$destpath/$libname.la
- else
- rm -f $destpath/$libname.la
- __runcmd install -m 0644 $dotlai $destpath/$libname.la
- fi
+ rm -f $destpath/$libname.la
+ __runcmd install -m 0644 $dotlai $destpath/$libname.la
fi
for name in $library_names; do
diff --git a/meta/conf/abi_version.conf b/meta/conf/abi_version.conf
index 3920766a4..f2919e5b6 100644
--- a/meta/conf/abi_version.conf
+++ b/meta/conf/abi_version.conf
@@ -4,4 +4,4 @@
# that breaks the format and have been previously discussed on the mailing list
# with general agreement from the core team.
#
-OELAYOUT_ABI = "6"
+OELAYOUT_ABI = "7"
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index c26beea95..da50fe5c4 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -43,6 +43,7 @@ includedir_native = "${prefix_native}/include"
libdir_native = "${prefix_native}/lib"
datadir_native = "${prefix_native}/share"
bindir_cross = "/bin"
+bindir_crossscripts = "${bindir}/crossscripts"
prefix_nativesdk = "/usr"
bindir_nativesdk = "${prefix_nativesdk}/bin"
libdir_nativesdk = "${prefix_nativesdk}/lib"
@@ -93,6 +94,9 @@ BASE_PACKAGE_ARCH = "${HOST_ARCH}"
PACKAGE_ARCH = "${BASE_PACKAGE_ARCH}"
MACHINE_ARCH = "${@[bb.data.getVar('BASE_PACKAGE_ARCH', d, 1), bb.data.getVar('MACHINE', d, 1)][bool(bb.data.getVar('MACHINE', d, 1))]}"
PACKAGE_ARCHS = "all any noarch ${TARGET_ARCH} ${PACKAGE_EXTRA_ARCHS} ${MACHINE}"
+# MACHINE shouldn't be included here as a variable dependency since machine specific
+# packages are handled using multimachine
+PACKAGE_ARCHS[vardepsexclude] = "MACHINE"
MULTIMACH_ARCH = "${PACKAGE_ARCH}"
MULTIMACH_TARGET_SYS = "${MULTIMACH_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
@@ -162,14 +166,28 @@ BP = "${BPN}-${PV}"
SECTION = "base"
PRIORITY = "optional"
-SUMMARY_${PN} ?= "${PN} version ${PV}-${PR}"
-SUMMARY_${PN}-dbg ?= "Debugging files for ${PN}"
-SUMMARY_${PN}-dev ?= "Development files for ${PN}"
-SUMMARY_${PN}-doc ?= "Documentation files for ${PN}"
-DESCRIPTION_${PN} ?= "${SUMMARY_${PN}}"
-DESCRIPTION_${PN}-dbg ?= "${SUMMARY_${PN}-dbg}"
-DESCRIPTION_${PN}-dev ?= "${SUMMARY_${PN}-dev}"
-DESCRIPTION_${PN}-doc ?= "${SUMMARY_${PN}-doc}"
+SUMMARY ?= "${PN} version ${PV}-${PR}"
+DESCRIPTION ?= "${SUMMARY}"
+
+# The following two are commented out because they result in a recursive
+# definition of the variable in some corner cases. These are left in
+# to illustrate the intended behavior.
+#SUMMARY_${PN} ?= "${SUMMARY}"
+#DESCRIPTION_${PN} ?= "${DESCRIPTION}"
+
+SUMMARY_${PN}-dbg ?= "${SUMMARY} - Debugging files"
+DESCRIPTION_${PN}-dbg ?= "${DESCRIPTION} \
+This package contains ELF symbols and related sources for debugging purposes."
+
+SUMMARY_${PN}-dev ?= "${SUMMARY} - Development files"
+DESCRIPTION_${PN}-dev ?= "${DESCRIPTION} \
+This package contains symbolic links, static binaries, header files, and \
+related items necessary for software development."
+
+SUMMARY_${PN}-doc ?= "${SUMMARY} - Documentation files"
+DESCRIPTION_${PN}-doc ?= "${DESCRIPTION} \
+This package contains documentation."
+
LICENSE = "INVALID"
MAINTAINER = "Yocto Project Team <poky@yoctoproject.org>"
HOMEPAGE = "unknown"
@@ -252,7 +270,7 @@ LOG_DIR = "${TMPDIR}/log"
CO_DIR = "${DL_DIR}"
CVSDIR = "${CO_DIR}/cvs"
SVNDIR = "${CO_DIR}/svn"
-GITDIR = "${CO_DIR}/git"
+GITDIR = "${CO_DIR}/git2"
BZRDIR = "${CO_DIR}/bzr"
HGDIR = "${CO_DIR}/hg"
@@ -276,7 +294,7 @@ STAGING_DATADIR_NATIVE = "${STAGING_DIR_NATIVE}${datadir_native}"
# This should really be MULTIMACH_HOST_SYS but that breaks "all" and machine
# specific packages - hack around it for now.
-STAGING_DIR_HOST = "${STAGING_DIR}/${BASEPKG_HOST_SYS}"
+STAGING_DIR_HOST = "${STAGING_DIR}/${MACHINE}"
STAGING_BINDIR = "${STAGING_DIR_HOST}${bindir}"
STAGING_LIBDIR = "${STAGING_DIR_HOST}${libdir}"
STAGING_INCDIR = "${STAGING_DIR_HOST}${includedir}"
@@ -288,7 +306,8 @@ STAGING_PYDIR = "${STAGING_DIR}/lib/python2.4"
# This should really be MULTIMACH_TARGET_SYS but that breaks "all" and machine
# specific packages - hack around it for now.
-STAGING_DIR_TARGET = "${STAGING_DIR}/${BASEPKG_TARGET_SYS}"
+STAGING_DIR_TARGET = "${STAGING_DIR}/${MACHINE}"
+STAGING_DIR_TCBOOTSTRAP = "${STAGING_DIR_TARGET}-tcbootstrap"
# Setting DEPLOY_DIR outside of TMPDIR is helpful, when you are using
# packaged staging and/or multimachine.
@@ -302,7 +321,7 @@ DEPLOY_DIR_TOOLS = "${DEPLOY_DIR}/tools"
PKGDATA_DIR = "${TMPDIR}/pkgdata/${MULTIMACH_TARGET_SYS}"
-SDK_NAME = "${DISTRO}/${TARGET_ARCH}"
+SDK_NAME = "${DISTRO}-${SDK_ARCH}-${TARGET_ARCH}"
SDKPATH = "/usr/local/${SDK_NAME}"
SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
@@ -311,7 +330,7 @@ SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
##################################################################
OLDEST_KERNEL = "2.4.0"
-STAGING_KERNEL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/kernel"
+STAGING_KERNEL_DIR = "${STAGING_DIR_HOST}/kernel"
##################################################################
# Specific image creation and rootfs population info.
@@ -398,6 +417,7 @@ export RANLIB = "${HOST_PREFIX}ranlib"
export STRIP = "${HOST_PREFIX}strip"
export OBJCOPY = "${HOST_PREFIX}objcopy"
export OBJDUMP = "${HOST_PREFIX}objdump"
+export NM = "${HOST_PREFIX}nm"
PYTHON = "${@sys.executable}"
export BUILD_CC = "${CCACHE}${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
@@ -409,10 +429,13 @@ export BUILD_CCLD = "${BUILD_PREFIX}gcc"
export BUILD_AR = "${BUILD_PREFIX}ar"
export BUILD_RANLIB = "${BUILD_PREFIX}ranlib"
export BUILD_STRIP = "${BUILD_PREFIX}strip"
+export BUILD_NM = "${BUILD_PREFIX}nm"
export MAKE = "make"
EXTRA_OEMAKE = "-e MAKEFLAGS="
+export LC_ALL = "C"
+
##################################################################
# Patch handling.
##################################################################
@@ -449,8 +472,9 @@ BUILDSDK_LDFLAGS = "-L${STAGING_LIBDIR} \
-Wl,-rpath-link,${STAGING_DIR_HOST}${base_libdir} \
-Wl,-rpath,${base_libdir} -Wl,-O1"
+TARGET_LINK_HASH_STYLE ??= ""
export LDFLAGS = "${TARGET_LDFLAGS}"
-export TARGET_LDFLAGS = "-Wl,-O1"
+export TARGET_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE}"
#export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${libdir} \
# -Wl,-rpath-link,${STAGING_DIR_TARGET}${libdir} \
# -Wl,-O1"
@@ -536,7 +560,7 @@ UPDATECOMMAND_cvs = "/usr/bin/env cvs -d${CVSROOT} update -d -P ${CVSCOOPTS}"
UPDATECOMMAND_svn = "/usr/bin/env svn update ${SVNCOOPTS}"
SRCDATE = "${DATE}"
SRCREV = "INVALID"
-AUTOREV = "${SRCPV}"
+AUTOREV = "${@bb.fetch.get_autorev(d)}"
SRCPV = "${@bb.fetch.get_srcrev(d)}"
SRC_URI = "file://${FILE}"
@@ -595,10 +619,10 @@ SLOT = "0"
# Other
-export PKG_CONFIG_DIR = "${STAGING_DIR}/${BASE_PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}${libdir}/pkgconfig"
+export PKG_CONFIG_DIR = "${STAGING_DIR_HOST}/${libdir}/pkgconfig"
export PKG_CONFIG_PATH = "${PKG_CONFIG_DIR}:${STAGING_DATADIR}/pkgconfig"
export PKG_CONFIG_LIBDIR = "${PKG_CONFIG_DIR}"
-export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR}/${BASE_PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
+export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}"
export PKG_CONFIG_DISABLE_UNINSTALLED = "yes"
export QMAKE_MKSPEC_PATH = "${STAGING_DATADIR_NATIVE}/qmake"
@@ -725,3 +749,9 @@ DISTRO[unexport] = "1"
# Used by canadian-cross to handle string conversions on TARGET_ARCH where needed
TRANSLATED_TARGET_ARCH ??= ${TARGET_ARCH}
+
+# Setup our default hash policy
+BB_SIGNATURE_HANDLER ?= "basic"
+BB_HASHTASK_WHITELIST ?= "(.*-cross$|.*-native$|.*-cross-initial$|.*-cross-intermediate$|^virtual:native:.*|^virtual:nativesdk:.*)"
+BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM USER FILESPATH USERNAME STAGING_DIR_HOST STAGING_DIR_TARGET"
+
diff --git a/meta/conf/distro/include/as-needed.inc b/meta/conf/distro/include/as-needed.inc
index e962619c9..9d2056e17 100644
--- a/meta/conf/distro/include/as-needed.inc
+++ b/meta/conf/distro/include/as-needed.inc
@@ -11,5 +11,6 @@ ASNEEDED_pn-pciutils = ""
ASNEEDED_pn-puzzles = ""
ASNEEDED_pn-dialer = ""
ASNEEDED_pn-pulseaudio = ""
+ASNEEDED_pn-rpm = ""
-TARGET_LDFLAGS += "${ASNEEDED}" \ No newline at end of file
+TARGET_LDFLAGS += "${ASNEEDED}"
diff --git a/meta/conf/distro/include/distro_tracking_fields.inc b/meta/conf/distro/include/distro_tracking_fields.inc
index 7867b70bb..3ac545297 100644
--- a/meta/conf/distro/include/distro_tracking_fields.inc
+++ b/meta/conf/distro/include/distro_tracking_fields.inc
@@ -1,22 +1,27 @@
-RECIPE_STATUS_pn-diffutils = "red"
+RECIPE_STATUS_pn-diffutils = "green"
RECIPE_LATEST_VERSION_pn-diffutils = "3.0"
+RECIPE_LAST_UPDATE_pn-diffutils = "Dec 10, 2010"
RECIPE_MAINTAINER_pn-diffutils = "Qing He <qing.he@intel.com>"
RECIPE_STATUS_pn-epdfview = "red"
RECIPE_LATEST_VERSION_pn-epdfview = "check"
+RECIPE_LAST_UPDATE_pn-epdfview = "Jul 13, 2010"
RECIPE_MAINTAINER_pn-epdfview = "Edwin Zhai <edwin.zhai@intel.com>"
-RECIPE_STATUS_pn-fakechroot = "red"
-RECIPE_LATEST_VERSION_pn-fakechroot = "check"
-RECIPE_MAINTAINER_pn-fakechroot = "Qing He <qing.he@intel.com>"
-
-RECIPE_STATUS_pn-gccmakedep = "red"
-RECIPE_LATEST_VERSION_pn-gccmakedep = "check"
-RECIPE_MAINTAINER_pn-gccmakedep = "Dexuan Cui <dexuan.cui@intel.com>"
+RECIPE_STATUS_pn-gccmakedep = "green"
DISTRO_PN_ALIAS_pn-gccmakedep = "Mandriva=gccmakedep Ubuntu=xutils-dev"
+RECIPE_DEPENDENCY_CHECK_pn-gccmakedep = "not done"
+RECIPE_LATEST_VERSION_pn-gccmakedep = "1.0.2"
+RECIPE_NO_OF_PATCHES_pn-gccmakedep = "0"
+RECIPE_INTEL_SECTION_pn-gccmakedep = "x11/utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gccmakedep = "4 months"
+RECIPE_LATEST_RELEASE_DATE_pn-gccmakedep = "May 19, 2006"
+RECIPE_COMMENTS_pn-gccmakedep = ""
+RECIPE_LAST_UPDATE_pn-gccmakedep = "Jul 3, 2007"
+RECIPE_MAINTAINER_pn-gccmakedep = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-git = "green"
-RECIPE_LATEST_VERSION_pn-git = "1.7.3.2"
+RECIPE_LATEST_VERIONS_pn-git = "1.7.3.4"
RECIPE_MAINTAINER_pn-git = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-gtk-theme-torturer = "red"
@@ -26,24 +31,32 @@ DISTRO_PN_ALIAS_pn-gtk-theme-torturer = "OSPDT upstream=http://wiki.laptop.org/g
RECIPE_STATUS_pn-libpcre = "green"
RECIPE_LATEST_VERSION_pn-libpcre = "8.10"
+RECIPE_LAST_UPDATE_pn-libpcre = "Jul 13, 2010"
RECIPE_MAINTAINER_pn-libpcre = "Nitin A Kamble <nitin.a.kamble@intel.com>"
DISTRO_PN_ALIAS_pn-libpcre = "Mandriva=libpcre0 Fedora=pcre"
RECIPE_STATUS_pn-libsoup = "red"
RECIPE_LATEST_VERSION_pn-libsoup = "check"
+RECIPE_LAST_UPDATE_pn-libsoup = "Sep 22, 2008"
RECIPE_MAINTAINER_pn-libsoup = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-libtimedate-perl = "green"
RECIPE_LATEST_VERSION_pn-libtimedate-perl = "1.20"
+RECIPE_LAST_UPDATE_pn-libtimedate-perl = "Aug 13, 2010"
RECIPE_MAINTAINER_pn-libtimedate-perl = "Nitin A Kamble <nitin.a.kamble@intel.com>"
DISTRO_PN_ALIAS_pn-libtimedate-perl = "Debian=libtimedate-perl Ubuntu=libtimedate-perl"
-RECIPE_STATUS_pn-linux-firmware = "red"
-RECIPE_LATEST_VERSION_pn-linux-firmware = "check"
-RECIPE_MAINTAINER_pn-linux-firmware = "Dongxiao Xu <dongxiao.xu@intel.com"
+RECIPE_STATUS_pn-linux-firmware = "green"
+RECIPE_LATEST_VERSION_pn-linux-firmware = "40c0f950"
+RECIPE_LATEST_RELEASE_DATE_pn-linux-firmware = "2010/12/01"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-linux-firmware = "n/a"
+RECIPE_NO_OF_PATCHES_pn-linux-firmware = "0"
+RECIPE_LAST_UPDATE_pn-linux-firmware = "Dec 30, 2010"
+RECIPE_MAINTAINER_pn-linux-firmware = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-logrotate = "red"
RECIPE_LATEST_VERSION_pn-logrotate = "check"
+RECIPE_LAST_UPDATE_pn-logrotate = "Sep 1, 2010"
RECIPE_MAINTAINER_pn-logrotate = "Xiaofeng.Yan <xiaofeng@windriver.com>"
RECIPE_STATUS_pn-loudmouth = "red"
@@ -52,13 +65,10 @@ RECIPE_MAINTAINER_pn-loudmouth = "Dongxiao Xu <dongxiao.xu@intel.com"
RECIPE_STATUS_pn-makedepend = "green"
RECIPE_LATEST_VERSION_pn-makedepend = "1.0.3"
+RECIPE_LAST_UPDATE_pn-makedepend = "Nov 29, 2010"
RECIPE_MAINTAINER_pn-makedepend = "Nitin A Kamble <nitin.a.kamble@intel.com>"
DISTRO_PN_ALIAS_pn-makedepend = "Mandriva=makedepend Ubuntu=xutils-dev"
-RECIPE_STATUS_pn-mdadm = "red"
-RECIPE_LATEST_VERSION_pn-mdadm = "check"
-RECIPE_MAINTAINER_pn-mdadm = "Xiaofeng.Yan <xiaofeng@windriver.com>"
-
RECIPE_STATUS_pn-meta-ide-support = "red"
RECIPE_LATEST_VERSION_pn-meta-ide-support = "check"
DISTRO_PN_ALIAS_pn-meta-ide-support = 'Poky'
@@ -66,55 +76,57 @@ RECIPE_MAINTAINER_pn-meta-ide-support = "Joshua Lock <joshua.lock@intel.com>"
RECIPE_STATUS_pn-mingetty = "red"
RECIPE_LATEST_VERSION_pn-mingetty = "1.08"
+RECIPE_LAST_UPDATE_pn-mingetty = "Sep 1, 2010"
RECIPE_MAINTAINER_pn-mingetty = "Xiaofeng.Yan <xiaofeng@windriver.com>"
RECIPE_STATUS_pn-minicom="green"
-RECIPE_LATEST_VERSION_pn-minicom="2.4"
+RECIPE_LATEST_VERSION_pn-minicom="2.5"
RECIPE_NO_OF_PATCHES_pn-minicom="1"
RECIPE_LATEST_RELEASE_DATE_pn-minicom="2010/12/20"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-minicom="22 months"
+RECIPE_LAST_UPDATE_pn-minicom = "Nov 24, 2010"
+RECIPE_MANUAL_CHECK_DATE_pn-minicom = "Jan 30, 2011"
RECIPE_MAINTAINER_pn-minicom = "Dongxiao Xu <dongxiao.xu@intel.com>"
-RECIPE_STATUS_pn-moblin-proto = "red"
-RECIPE_LATEST_VERSION_pn-moblin-proto = "check"
-RECIPE_MAINTAINER_pn-moblin-proto = "Dexuan Cui <dexuan.cui@intel.com>"
-
RECIPE_STATUS_pn-patch = "green"
RECIPE_LATEST_VERIONS_pn-patch = "2.6.1"
+RECIPE_LAST_UPDATE_pn-patch = "Dec 7, 2010"
RECIPE_MAINTAINER_pn-patch = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-python-imaging = "green"
RECIPE_LATEST_VERSION_pn-python-imaging = "1.1.7"
+RECIPE_LAST_UPDATE_pn-python-imaging = "Jul 7, 2010"
RECIPE_MAINTAINER_pn-python-imaging = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-run-postinsts = "red"
RECIPE_LATEST_VERSION_pn-run-postinsts = "check"
+RECIPE_LAST_UPDATE_pn-run-postinsts = "Nov 22, 2010"
RECIPE_MAINTAINER_pn-run-postinsts = "Dongxiao Xu <dongxiao.xu@intel.com"
RECIPE_STATUS_pn-screen = "red"
RECIPE_LATEST_VERSION_pn-screen = "check"
+RECIPE_LAST_UPDATE_pn-screen = "Aug 31, 2010"
RECIPE_MAINTAINER_pn-screen = "Qing He <qing.he@intel.com>"
RECIPE_STATUS_pn-subversion = "green"
-RECIPE_LATEST_VERSION_pn-subversion = "1.6.13"
+RECIPE_LATEST_VERSION_pn-subversion = "1.6.15"
+RECIPE_MANUAL_CHECK_DATE_pn-subversion = "Jan 25, 2011"
RECIPE_MAINTAINER_pn-subversion = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-trace-cmd = "red"
RECIPE_LATEST_VERSION_pn-trace-cmd = "check"
DISTRO_PN_ALIAS_pn-trace-cmd = "Mandriva=trace-cmd Ubuntu=trace-cmd"
+RECIPE_LAST_UPDATE_pn-trace-cmd = "Aug 20, 2010"
RECIPE_MAINTAINER_pn-trace-cmd = "Bruce"
-RECIPE_STATUS_pn-web = "red"
-RECIPE_LATEST_VERSION_pn-web = "check"
+RECIPE_STATUS_pn-web = "green"
+RECIPE_LATEST_VERSION_pn-web = "0.0+svnr129"
DISTRO_PN_ALIAS_pn-web = "OpenedHand"
+RECIPE_LAST_UPDATE_pn-web = "Nov 30, 2010"
RECIPE_MAINTAINER_pn-web = "Edwin Zhai <edwin.zhai@intel.com>"
-RECIPE_STATUS_pn-zile = "red"
-RECIPE_LATEST_VERSION_pn-zile = "check"
-RECIPE_MAINTAINER_pn-zile = "Qing He <qing.he@intel.com>"
-
RECIPE_STATUS_pn-icu = "yellow" #do_configure for autotool;icu-3.6.inc
-DEPENDENCY_CHECK_pn-icu = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-icu = "not done"
RECIPE_LATEST_VERSION_pn-icu = "3.6"
RECIPE_PATCH_pn-icu+gccfix = "to be pushed upstream"
RECIPE_PATCH_pn-icu+use-g++-for-linking = "Unclear"
@@ -122,10 +134,11 @@ RECIPE_INTEL_SECTION_pn-icu = "base libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-icu = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-icu = "08/2006"
RECIPE_COMMENTS_pn-icu = "arm optimizations; license similar to MIT, however sub-license is not allowed; autoreconf is not used and current style is not clean. need enhancement in the future"
+RECIPE_LAST_UPDATE_pn-icu = "Dec 6, 2007"
RECIPE_MAINTAINER_pn-icu = "Scott Garman <scott.a.garman@intel.com>"
RECIPE_STATUS_pn-eggdbus = "yellow" # patch comment
-DEPENDENCY_CHECK_pn-eggdbus = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-eggdbus = "not done"
RECIPE_LATEST_VERSION_pn-eggdbus = "0.6"
RECIPE_PATCH_pn-eggdbus+gtk-doc = "local; no comment; poky doesn't have full gtk-doc support, and eggdbus itself references AM_CONDITIONAL in Makefile.am earlier before configure script is run"
RECIPE_PATCH_pn-eggdbus+marshal = "local; no comment; one binary generated in eggdbus build needs to be invoked. So point to native version"
@@ -133,103 +146,108 @@ RECIPE_INTEL_SECTION_pn-eggdbus = "base libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-eggdbus = "4 months"
RECIPE_LATEST_RELEASE_DATE_pn-eggdbus = "11/2009"
RECIPE_COMMENTS_pn-eggdbus = "http://mail.gnome.org/archives/gtk-devel-list/2008-December/msg00059.html contains more detail introduction"
+RECIPE_LAST_UPDATE_pn-eggdbus = "Jan 29, 2010"
RECIPE_MAINTAINER_pn-eggdbus = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-libdaemon = "green"
-DEPENDENCY_CHECK_pn-libdaemon = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libdaemon = "not done"
RECIPE_LATEST_VERSION_pn-libdaemon = "0.14"
RECIPE_INTEL_SECTION_pn-libdaemon = "base libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libdaemon = "15 months"
RECIPE_LATEST_RELEASE_DATE_pn-libdaemon = "11/2009"
RECIPE_COMMENTS_pn-libdaemon = ""
+RECIPE_LAST_UPDATE_pn-libdaemon = "Jun 23, 2010"
RECIPE_MAINTAINER_pn-libdaemon = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-glib-2.0 = "green"
DISTRO_PN_ALIAS_pn-glib-2.0 = "Meego=glib2 Fedora=glib2 OpenSuSE=glib2 Ubuntu=glib2.0 Mandriva=glib2.0 Debian=glib2.0"
-DEPENDENCY_CHECK_pn-glib-2.0 = "not done"
-RECIPE_LATEST_VERSION_pn-glib-2.0 = "2.27.3"
+RECIPE_DEPENDENCY_CHECK_pn-glib-2.0 = "not done"
+RECIPE_LATEST_VERSION_pn-glib-2.0 = "2.27.5"
RECIPE_PATCH_pn-glib-2.0+60_wait-longer-for-threads-to-die = "to be pushed upstream"
RECIPE_PATCH_pn-glib-2.0+configure-libtool = "local"
RECIPE_PATCH_pn-glib-2.0+glib-gettextize-dir = "marked as REMOVAL"
RECIPE_INTEL_SECTION_pn-glib-2.0 = "base libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-glib-2.0 = "8 days"
-RECIPE_LATEST_RELEASE_DATE_pn-glib-2.0 = "2010/11/09"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-glib-2.0 = "1 month"
+RECIPE_LATEST_RELEASE_DATE_pn-glib-2.0 = "2010/12/20"
RECIPE_COMMENTS_pn-glib-2.0 = ""
+RECIPE_LAST_UPDATE_pn-glib-2.0 = "Dec 30, 2010"
+RECIPE_NO_UPDATE_REASON_pn-glib-2.0 ="do not upgrade to 2.27.5 because it is unstable version"
RECIPE_MAINTAINER_pn-glib-2.0 = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libpam = "green"
DISTRO_PN_ALIAS_pn-libpam = "Meego=pam Fedora=pam OpenSuSE=pam Ubuntu=pam Mandriva=pam Debian=pam"
-DEPENDENCY_CHECK_pn-libpam = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libpam = "not done"
RECIPE_LATEST_VERSION_pn-libpam = "1.1.3"
RECIPE_INTEL_SECTION_pn-libpam = "base libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libpam = "2 months"
RECIPE_LATEST_RELEASE_DATE_pn-libpam = "2010/10/28"
RECIPE_COMMENTS_pn-libpam = ""
+RECIPE_LAST_UPDATE_pn-libpam = "Nov 23, 2010"
RECIPE_MAINTAINER_pn-libpam = "Scott Garman <scott.a.garman@intel.com>"
RECIPE_STATUS_pn-libgpg-error = "yellow" # specific .pc handle
-DEPENDENCY_CHECK_pn-libgpg-error = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libgpg-error = "not done"
RECIPE_LATEST_VERSION_pn-libgpg-error = "1.9"
RECIPE_PATCH_pn-libgpg-error+pkgconfig = "long existing since 0.7; no exact commit; it's to add a .pc.in. perhaps we don't require it now?"
RECIPE_INTEL_SECTION_pn-libgpg-error = "base libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libgpg-error = "2 months"
RECIPE_LATEST_RELEASE_DATE_pn-libgpg-error = "07/2010"
RECIPE_COMMENTS_pn-libgpg-error = ""
+RECIPE_LAST_UPDATE_pn-libgpg-error = "Nov 18, 2010"
RECIPE_MAINTAINER_pn-libgpg-error = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-gpgme = "green"
-DEPENDENCY_CHECK_pn-gpgme = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-gpgme = "not done"
RECIPE_LATEST_VERSION_pn-gpgme = "1.3.0"
RECIPE_INTEL_SECTION_pn-gpgme = "base libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gpgme = "6 months"
RECIPE_LATEST_RELEASE_DATE_pn-gpgme = "01/2010"
RECIPE_COMMENTS_pn-gpgme = ""
+RECIPE_LAST_UPDATE_pn-gpgme = "Jul 21, 2010"
RECIPE_MAINTAINER_pn-gpgme = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-expat = "green"
-DEPENDENCY_CHECK_pn-expat = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-expat = "not done"
RECIPE_LATEST_VERSION_pn-expat = "2.0.1"
RECIPE_PATCH_pn-expat+autotools = "added in 2.0.0; 70774a74; 2006; don't include its own version of m4"
RECIPE_INTEL_SECTION_pn-expat = "base libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-expat = "17 months"
RECIPE_LATEST_RELEASE_DATE_pn-expat = "06/2007"
RECIPE_COMMENTS_pn-expat = ""
+RECIPE_LAST_UPDATE_pn-expat = "Jul 7, 2010"
RECIPE_MAINTAINER_pn-expat = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-dbus = "green"
-DEPENDENCY_CHECK_pn-dbus = "not done"
-RECIPE_LATEST_VERSION_pn-dbus = "1.2.24"
-RECIPE_PATCH_pn-dbus+tmpdir = "an old patch dated to 2005; no exact commit; seems to handle tmp dir check at build time. need test whether valid now"
-RECIPE_PATCH_pn-dbus+fix-install-daemon = "by RP; 2009; 8e39848b; handle dbus-daemon install; need more study later"
+RECIPE_LATEST_VERSION_pn-dbus = "1.4.1"
RECIPE_INTEL_SECTION_pn-dbus = "base libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-dbus = "1 months"
-RECIPE_LATEST_RELEASE_DATE_pn-dbus = "03/2010"
-RECIPE_COMMENTS_pn-dbus = "unstable version at 1.3.1; though current latest version in poky is 1.2.14, it's 1.2.4 preferred"
+RECIPE_LATEST_RELEASE_DATE_pn-dbus = "12/2010"
+RECIPE_LAST_UPDATE_pn-dbus = "Jan 20, 2011"
RECIPE_MAINTAINER_pn-dbus = "Qing He <qing.he@intel.com>"
RECIPE_STATUS_pn-dbus-glib = "green"
-DEPENDENCY_CHECK_pn-dbus-glib = "not done"
-RECIPE_LATEST_VERSION_pn-dbus-glib = "0.86"
-RECIPE_PATCH_pn-dbus-glib+fix_asneeded = "added in 2009; adjust link order of expat. not sure the reason yet. disable for now"
+RECIPE_DEPENDENCY_CHECK_pn-dbus-glib = "not done"
+RECIPE_LATEST_VERSION_pn-dbus-glib = "0.92"
+RECIPE_NO_OF_PATCHES_pn-dbus-glib = "1"
RECIPE_PATCH_pn-dbus-glib+no-examples = "no need to build example. local patch"
RECIPE_INTEL_SECTION_pn-dbus-glib = "base libs"
-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_LATEST_RELEASE_DATE_pn-dbus-glib = "11/2010"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-dbus-glib = "3 days"
+RECIPE_LAST_UPDATE_pn-dbus-glib = "Jan 4, 2011"
RECIPE_MAINTAINER_pn-dbus-glib = "Scott Garman <scott.a.garman@intel.com>"
RECIPE_STATUS_pn-neon="green"
-DEPENDENCY_CHECK_pn-neon = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-neon = "not done"
RECIPE_LATEST_VERSION_pn-neon="0.29.5"
RECIPE_NO_OF_PATCHES_pn-neon="0"
RECIPE_INTEL_SECTION_pn-neon = "base libs"
RECIPE_LATEST_RELEASE_DATE_pn-neon="2010/10/14"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-neon="10 days"
RECIPE_COMMENTS_pn-neon = ""
+RECIPE_LAST_UPDATE_pn-neon = "Nov 15, 2010"
RECIPE_MAINTAINER_pn-neon = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libpng = "green"
-DEPENDENCY_CHECK_pn-libpng = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libpng = "not done"
RECIPE_LATEST_VERSION_pn-libpng = "1.4.5"
RECIPE_NO_UPDATE_REASON_pn-libpng = "1.4.3 has API compatibility issue, e.g. break libmatchbox. choose 1.2.44 instead"
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"
@@ -237,88 +255,91 @@ 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_LAST_UPDATE_pn-libpng = "Jul 20, 2010"
RECIPE_MAINTAINER_pn-libpng = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-libidn = "green"
-DEPENDENCY_CHECK_pn-libidn = "not done"
+RECIPE_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 = ""
+RECIPE_LAST_UPDATE_pn-libidn = "Jul 20, 2010"
RECIPE_MAINTAINER_pn-libidn = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-glibc = "green"
-DEPENDENCY_CHECK_pn-glibc = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-glibc = "not done"
RECIPE_LATEST_VERSION_pn-glibc = "2.11.2"
RECIPE_NO_UPDATE_REASON_pn-glibc = "two glibc plugins are based on 2.10.1"
RECIPE_INTEL_SECTION_pn-glibc = "base libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-glibc = "5 months"
RECIPE_LATEST_RELEASE_DATE_pn-glibc = "05/2010"
RECIPE_COMMENTS_pn-glibc = ""
+RECIPE_LAST_UPDATE_pn-glibc = "Jul 8, 2010"
RECIPE_MAINTAINER_pn-glibc = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-liboil = "green"
-DEPENDENCY_CHECK_pn-liboil = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-liboil = "not done"
RECIPE_LATEST_VERSION_pn-liboil = "0.3.17"
RECIPE_NO_OF_PATCHES_pn-liboil = "1"
RECIPE_INTEL_SECTION_pn-liboil = "base libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-liboil = "11 months"
RECIPE_LATEST_RELEASE_DATE_pn-liboil = "02/2010"
RECIPE_COMMENTS_pn-liboil = ""
+RECIPE_LAST_UPDATE_pn-liboil = "Mar 3, 2010"
RECIPE_MAINTAINER_pn-liboil = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-libassuan = "green"
-DEPENDENCY_CHECK_pn-libassuan = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libassuan = "not done"
RECIPE_LATEST_VERSION_pn-libassuan = "2.0.1"
RECIPE_NO_OF_PATCHES_pn-libassuan = "0"
RECIPE_INTEL_SECTION_pn-libassuan = "base libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libassuan = "7 months"
RECIPE_LATEST_RELEASE_DATE_pn-libassuan = "08/2010"
RECIPE_COMMENTS_pn-libassuan = ""
+RECIPE_LAST_UPDATE_pn-libassuan = "Nov 19, 2010"
RECIPE_MAINTAINER_pn-libassuan = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-db = "green"
-DEPENDENCY_CHECK_pn-db = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-db = "not done"
RECIPE_LATEST_VERSION_pn-db = "5.0.26"
RECIPE_NO_UPDATE_REASON_pn-db= "API compatibility issue"
RECIPE_INTEL_SECTION_pn-db = "base libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-db = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-db = "n/a"
RECIPE_COMMENTS_pn-db = ""
+RECIPE_LAST_UPDATE_pn-db = "Jul 21, 2006"
RECIPE_MAINTAINER_pn-db = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libtirpc = "green"
-DEPENDENCY_CHECK_pn-libtirpc = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libtirpc = "not done"
RECIPE_LATEST_VERSION_pn-libtirpc = "0.2.1"
RECIPE_INTEL_SECTION_pn-libtirpc = "base libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libtirpc = "6 months"
RECIPE_LATEST_RELEASE_DATE_pn-libtirpc = "11/2009"
RECIPE_COMMENTS_pn-libtirpc = ""
+RECIPE_LAST_UPDATE_pn-libtirpc = "Sep 1, 2010"
RECIPE_MAINTAINER_pn-libtirpc = "Dongxiao Xu <dongxiao.xu@intel.com>"
+
RECIPE_STATUS_pn-gdbm = "green"
+RECIPE_LAST_UPDATE_pn-gdbm = "Jul 21, 2006"
RECIPE_MAINTAINER_pn-gdbm = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-gdbm = "not done"
RECIPE_LATEST_VERSION_pn-gdbm = "1.8.3"
-RECIPE_PATCH_pn-gdbm+makefile = "use oe generic DESTDIR instead of package specific INSTALL_ROOT"
-RECIPE_PATCH_pn-gdbm+libtool-mode = "explict specify install mode in libtool"
RECIPE_INTEL_SECTION_pn-gdbm = "base libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gdbm = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-gdbm = "10/2002"
-RECIPE_COMMENTS_pn-gdbm = ""
RECIPE_STATUS_pn-pth = "yellow" # custom do_configure
+RECIPE_LAST_UPDATE_pn-pth = "Mar 14, 2008"
RECIPE_MAINTAINER_pn-pth = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-pth = "not done"
RECIPE_LATEST_VERSION_pn-pth = "2.0.7"
RECIPE_INTEL_SECTION_pn-pth = "base libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-pth = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-pth = "06/2006"
-RECIPE_COMMENTS_pn-pth = ""
RECIPE_STATUS_pn-python-pycurl = "yellow" # several exports to work with python
+RECIPE_LAST_UPDATE_pn-python-pycurl = "Mar 25, 2010"
RECIPE_MAINTAINER_pn-python-pycurl = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-python-pycurl = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-python-pycurl = "not done"
RECIPE_LATEST_VERSION_pn-python-pycurl = "7.19.0"
RECIPE_PATCH_pn-python-pycurl+no-static-link = "no static libraries"
RECIPE_INTEL_SECTION_pn-python-pycurl = "base libs"
@@ -327,8 +348,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-python-pycurl = "09/2008"
RECIPE_COMMENTS_pn-python-pycurl = "the so called MIT/X here is actually ISC license, depends on libcurl (> 7.19.0)"
RECIPE_STATUS_pn-libusb1 = "green"
+RECIPE_LAST_UPDATE_pn-libusb1 = "Jul 15, 2010"
RECIPE_MAINTAINER_pn-libusb1 = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-libusb1 = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libusb1 = "not done"
RECIPE_LATEST_VERSION_pn-libusb1 = "1.0.8"
RECIPE_INTEL_SECTION_pn-libusb1 = "base libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libusb1 = "n/a"
@@ -336,8 +358,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-libusb = "05/2010"
RECIPE_COMMENTS_pn-libusb1 = ""
RECIPE_STATUS_pn-libusb-compat = "green"
+RECIPE_LAST_UPDATE_pn-libusb-compat = "Jul 16, 2010"
RECIPE_MAINTAINER_pn-libusb-compat = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-libusb-compat = "done"
+RECIPE_DEPENDENCY_CHECK_pn-libusb-compat = "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"
@@ -345,20 +368,17 @@ RECIPE_LATEST_RELEASE_DATE_pn-libusb-compat = "07/2009"
RECIPE_COMMENTS_pn-libusb-compat = "replaces libusb, but doesn't provides libusbpp"
DISTRO_PN_ALIAS_pn-libusb-compat = "OSPDT"
-RECIPE_STATUS_pn-libnl = "yellow" # still need to update to git
+RECIPE_STATUS_pn-libnl = "green"
+RECIPE_LAST_UPDATE_pn-libnl = "Nov 15, 2010"
RECIPE_MAINTAINER_pn-libnl = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-libnl = "not done"
RECIPE_LATEST_VERSION_pn-libnl = "2.0"
-RECIPE_PATCH_pn-libnl+local-includes = "fix compilation in Makefile"
-RECIPE_PATCH_pn-libnl+compilefix = "fix compilation"
RECIPE_INTEL_SECTION_pn-libnl = "base libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libnl = "n/a"
-RECIPE_LATEST_RELEASE_DATE_pn-libnl = "01/2008"
-RECIPE_COMMENTS_pn-libnl = "git is active and ~150 commits ahead of 1.1"
+RECIPE_LATEST_RELEASE_DATE_pn-libnl = "10/2010"
RECIPE_STATUS_pn-zlib = "yellow" # local config scripts
+RECIPE_LAST_UPDATE_pn-zlib = "Jun 11, 2010"
RECIPE_MAINTAINER_pn-zlib = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-zlib = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-zlib = "not done"
RECIPE_LATEST_VERSION_pn-zlib = "1.2.5"
RECIPE_PATCH_pn-zlib+configure.ac = "override default build method"
RECIPE_PATCH_pn-zlib+Makefile.am = "override default build method"
@@ -368,8 +388,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-zlib = "03/2010"
RECIPE_COMMENTS_pn-zlib = "rconflicts: libxml2 (< 2.7.7) (rbreaks)"
RECIPE_STATUS_pn-libxml2 = "yellow"
+RECIPE_LAST_UPDATE_pn-libxml2 = "Jun 18, 2010"
RECIPE_MAINTAINER_pn-libxml2 = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-libxml2 = "done"
+RECIPE_DEPENDENCY_CHECK_pn-libxml2 = "done"
RECIPE_LATEST_VERSION_pn-libxml2 = "2.7.7"
RECIPE_PATCH_pn-libxml2+install = "use poky environment variables"
RECIPE_INTEL_SECTION_pn-libxml2 = "base libs"
@@ -378,8 +399,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-libxml2 = "03/2010"
RECIPE_COMMENTS_pn-libxml2 = ""
RECIPE_STATUS_pn-readline = "green"
+RECIPE_LAST_UPDATE_pn-readline = "Jun 17, 2010"
RECIPE_MAINTAINER_pn-readline = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-readline = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-readline = "not done"
RECIPE_LATEST_VERSION_pn-readline = "6.1"
RECIPE_PATCH_pn-readline+configure-fix = "fix configure for build"
RECIPE_PATCH_pn-readline+acinclude.m4 = "local include file for autotools"
@@ -389,8 +411,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-readline = "01/2010"
RECIPE_COMMENTS_pn-readline = ""
RECIPE_STATUS_pn-libgcrypt = "green"
+RECIPE_LAST_UPDATE_pn-libgcrypt = "Jul 29, 2010"
RECIPE_MAINTAINER_pn-libgcrypt = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-libgcrypt = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libgcrypt = "not done"
RECIPE_LATEST_VERSION_pn-libgcrypt = "1.4.5"
RECIPE_PATCH_pn-libgcrypt+add-pkgconfig-support = "add .pc file"
RECIPE_INTEL_SECTION_pn-libgcrypt = "base libs"
@@ -399,8 +422,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-libgcrypt = "12/2009"
RECIPE_COMMENTS_pn-libgcrypt = ""
RECIPE_STATUS_pn-gnutls = "yellow" # need explict pre configure
+RECIPE_LAST_UPDATE_pn-gnutls = "Jun 23, 2010"
RECIPE_MAINTAINER_pn-gnutls = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-gnutls = "done"
+RECIPE_DEPENDENCY_CHECK_pn-gnutls = "done"
RECIPE_LATEST_VERSION_pn-gnutls = "2.8.6"
RECIPE_PATCH_pn-gnutls+gnutls-openssl = "unkown"
RECIPE_PATCH_pn-gnutls+gnutls-texinfo-euro = "fix if @euro is missing in texinfo"
@@ -411,19 +435,16 @@ RECIPE_LATEST_RELEASE_DATE_pn-gnutls = "03/2010"
RECIPE_COMMENTS_pn-gnutls = "requires libtasn1, but has an internal copy"
RECIPE_STATUS_pn-lzo = "green"
+RECIPE_LAST_UPDATE_pn-lzo = "Dec 31, 2010"
RECIPE_MAINTAINER_pn-lzo = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-lzo = "not done"
-RECIPE_LATEST_VERSION_pn-lzo = "2.03"
-RECIPE_PATCH_pn-lzo+autofoo = "minor configure.ac fix"
-RECIPE_PATCH_pn-lzo+acinclude.m4 = "lzo specific m4 macros"
+RECIPE_LATEST_VERSION_pn-lzo = "2.04"
RECIPE_INTEL_SECTION_pn-lzo = "base libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-lzo = "30 months"
-RECIPE_LATEST_RELEASE_DATE_pn-lzo = "04/2008"
-RECIPE_COMMENTS_pn-lzo = ""
+RECIPE_LATEST_RELEASE_DATE_pn-lzo = "10/2010"
RECIPE_STATUS_pn-libtasn1 = "green"
+RECIPE_LAST_UPDATE_pn-libtasn1 = "Nov 16, 2010"
RECIPE_MAINTAINER_pn-libtasn1 = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-libtasn1 = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libtasn1 = "not done"
RECIPE_LATEST_VERSION_pn-libtasn1 = "2.7"
RECIPE_INTEL_SECTION_pn-libtasn1 = "base libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libtasn1 = "1 month"
@@ -431,67 +452,39 @@ RECIPE_LATEST_RELEASE_DATE_pn-libtasn1 = "05/2010"
RECIPE_COMMENTS_pn-libtasn1 = ""
RECIPE_STATUS_pn-openssl = "green"
+RECIPE_LAST_UPDATE_pn-openssl = "Nov 17, 2010"
RECIPE_MAINTAINER_pn-openssl = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-openssl = "not done"
-RECIPE_LATEST_VERSION_pn-openssl = "1.0.0a"
+RECIPE_LATEST_VERSION_pn-openssl = "1.0.0c"
RECIPE_NO_UPDATE_REASON_pn-openssl = "compatibility and stability concerns on new major release"
-RECIPE_PATCH_pn-openssl+debian-ca = "unknown"
-RECIPE_PATCH_pn-openssl+debian-debian-targets = "unknown"
-RECIPE_PATCH_pn-openssl+debian-engines-path = "unknown"
-RECIPE_PATCH_pn-openssl+debian-make-targets = "unknown"
-RECIPE_PATCH_pn-openssl+debian-man-dir = "unknown"
-RECIPE_PATCH_pn-openssl+debian-man-section = "unknown"
-RECIPE_PATCH_pn-openssl+debian-no-rpath = "unknown"
-RECIPE_PATCH_pn-openssl+debian-no-symbolic = "unknown"
-RECIPE_PATCH_pn-openssl+debian-pic = "PIC code generation fix for perl based asm"
-RECIPE_PATCH_pn-openssl+debian-pkg-config = "unknown"
-RECIPE_PATCH_pn-openssl+debian-valgrind = "fix valgrind errors"
-RECIPE_PATCH_pn-openssl+debian-rc4-amd64 = "unknown"
-RECIPE_PATCH_pn-openssl+debian-rehash-crt = "unknown"
-RECIPE_PATCH_pn-openssl+debian-rehash_pod = "unknown"
-RECIPE_PATCH_pn-openssl+debian-shared-lib-ext = "add shared library extension in Configure"
-RECIPE_PATCH_pn-openssl+debian-stddef = "add missing header"
-RECIPE_PATCH_pn-openssl+debian-version-script = "add 0.9.8 version info into shared library"
-RECIPE_PATCH_pn-openssl+debian-perl-path = "fix shebang lines of many perl scripts"
-RECIPE_PATCH_pn-openssl+configure-targets = "add poky target to Configure (not autoconf based)"
-RECIPE_PATCH_pn-openssl+shared-libs = "use make -e to export poky environment to child makefiles"
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_LATEST_RELEASE_DATE_pn-openssl = "12/2010"
RECIPE_STATUS_pn-libnss-mdns = "green"
DISTRO_PN_ALIAS_pn-libnss-mdns = "Meego=nss-mdns OpenSuSE=nss-mdns Ubuntu=nss-mdns Mandriva=nss_mdns Debian=nss-mdns"
+RECIPE_LAST_UPDATE_pn-libnss-mdns = "Jul 8, 2010"
RECIPE_MAINTAINER_pn-libnss-mdns = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-libnss-mdns = "done"
RECIPE_LATEST_VERSION_pn-libnss-mdns = "0.10"
-RECIPE_PATCH_pn-libnss-mdns+alignment-fix = "fix alignment"
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
+RECIPE_STATUS_pn-ncurses = "green"
+RECIPE_LAST_UPDATE_pn-ncurses = "Dec 30, 2010"
RECIPE_MAINTAINER_pn-ncurses = "Qing He <qing.he@intel.com>"
-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"
+RECIPE_LAST_UPDATE_pn-popt = "Jul 5, 2010"
RECIPE_MAINTAINER_pn-popt = "Qing He <qing.he@intel.com>"
-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 = "green" # need upgrade
+RECIPE_LAST_UPDATE_pn-sqlite3 = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-sqlite3 = "Yu Ke <ke.yu@intel.com>"
-DEPENDENCY_CHECK_pn-sqlite3 = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-sqlite3 = "not done"
RECIPE_LATEST_VERSION_pn-sqlite3 = "3.7.3"
RECIPE_INTEL_SECTION_pn-sqlite3 = "base libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-sqlite3 = "1 month"
@@ -499,8 +492,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-sqlite3 = "10/2010"
RECIPE_COMMENTS_pn-sqlite3 = ""
RECIPE_STATUS_pn-libpthread-stubs = "green"
+RECIPE_LAST_UPDATE_pn-libpthread-stubs = "Jul 6, 2010"
RECIPE_MAINTAINER_pn-libpthread-stubs = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-libpthread-stubs = "done"
+RECIPE_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"
@@ -508,22 +502,16 @@ 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-attr = "yellow" # the recipe is quite hacky
+RECIPE_LAST_UPDATE_pn-attr = "Jul 7, 2010"
RECIPE_MAINTAINER_pn-attr = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-attr = "done"
RECIPE_LATEST_VERSION_pn-attr = "2.4.44"
-RECIPE_PATCH_pn-attr+double-free = ""
-RECIPE_PATCH_pn-attr+memory-leak2 = ""
-RECIPE_PATCH_pn-attr+memory-leak-in-copy = ""
-RECIPE_PATCH_pn-attr+pull-in-string.h = ""
-RECIPE_PATCH_pn-attr+thinko-in-restore = "stdin mishandling"
RECIPE_INTEL_SECTION_pn-attr = "base libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-attr = "13 months"
RECIPE_LATEST_RELEASE_DATE_pn-attr = "08/2009"
-RECIPE_COMMENTS_pn-attr = ""
RECIPE_STATUS_pn-libcap = "yellow" # hand crafted Makefiles
+RECIPE_LAST_UPDATE_pn-libcap = "Jul 7, 2010"
RECIPE_MAINTAINER_pn-libcap = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-libcap = "done"
+RECIPE_DEPENDENCY_CHECK_pn-libcap = "done"
RECIPE_LATEST_VERSION_pn-libcap = "2.19"
RECIPE_INTEL_SECTION_pn-libcap = "base libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libcap = "1 month"
@@ -531,26 +519,24 @@ RECIPE_LATEST_RELEASE_DATE_pn-libcap = "01/2010"
RECIPE_COMMENTS_pn-libcap = ""
RECIPE_STATUS_pn-libevent = "green"
+RECIPE_LAST_UPDATE_pn-libevent = "Jul 7, 2010"
RECIPE_MAINTAINER_pn-libevent = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-libevent = "done"
+RECIPE_NO_UPDATE_REASON_pn-libevent="libevent 2 is incompatible"
RECIPE_LATEST_VERSION_pn-libevent = "1.4.14b"
RECIPE_INTEL_SECTION_pn-libevent = "base libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libevent = "7 months"
RECIPE_LATEST_RELEASE_DATE_pn-libevent = "06/2010"
-RECIPE_COMMENTS_pn-libevent = ""
RECIPE_STATUS_pn-libnfsidmap = "green"
+RECIPE_LAST_UPDATE_pn-libnfsidmap = "Jan 20, 2011"
RECIPE_MAINTAINER_pn-libnfsidmap = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-libnfsidmap = "done"
-RECIPE_LATEST_VERSION_pn-libnfsidmap = "0.23"
+RECIPE_LATEST_VERSION_pn-libnfsidmap = "0.24"
RECIPE_INTEL_SECTION_pn-libnfsidmap = "base libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libnfsidmap = "4 months"
-RECIPE_LATEST_RELEASE_DATE_pn-libnfsidmap = "12/2009"
-RECIPE_COMMENTS_pn-libnfsidmap = ""
+RECIPE_LATEST_RELEASE_DATE_pn-libnfsidmap = "12/2010"
RECIPE_STATUS_pn-acl = "yellow" # hacky as attr
+RECIPE_LAST_UPDATE_pn-acl = "Jul 29, 2010"
RECIPE_MAINTAINER_pn-acl = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-acl = "done"
+RECIPE_DEPENDENCY_CHECK_pn-acl = "done"
RECIPE_LATEST_VERSION_pn-acl = "2.2.49"
RECIPE_INTEL_SECTION_pn-acl = "base libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-acl = "4 months"
@@ -558,7 +544,8 @@ RECIPE_LATEST_RELEASE_DATE_pn-acl = "11/2009"
RECIPE_COMMENTS_pn-acl = ""
RECIPE_STATUS_pn-tcp-wrappers = "yellow" # custom build system
-DEPENDENCY_CHECK_pn-tcp-wrappers = "done"
+RECIPE_DEPENDENCY_CHECK_pn-tcp-wrappers = "done"
+RECIPE_LAST_UPDATE_pn-tcp-wrappers = "Aug 11, 2010"
RECIPE_MAINTAINER_pn-tcp-wrappers = "Qing He <qing.he@intel.com>"
RECIPE_LATEST_VERSION_pn-tcp-wrappers = "7.6"
RECIPE_INTEL_SECTION_pn-tcp-wrappers = "base libs"
@@ -567,11 +554,13 @@ RECIPE_LATEST_RELEASE_DATE_pn-tcp-wrappers = "n/a"
RECIPE_COMMENTS_pn-tcp-wrappers = ""
RECIPE_STATUS_pn-libaio = "green"
+RECIPE_LAST_UPDATE_pn-libaio = "Aug 27, 2010"
RECIPE_MAINTAINER_pn-libaio = "Qing He <qing.he@intel.com>"
RECIPE_LATEST_VERSION_pn-libaio = "0.3.107"
RECIPE_STATUS_pn-libcheck = "green"
-DEPENDENCY_CHECK_pn-libcheck = "done"
+RECIPE_DEPENDENCY_CHECK_pn-libcheck = "done"
+RECIPE_LAST_UPDATE_pn-libcheck = "Aug 20, 2010"
RECIPE_MAINTAINER_pn-libcheck = "Qing He <qing.he@intel.com>"
RECIPE_LATEST_VERSION_pn-libcheck = "0.9.8"
RECIPE_INTEL_SECTION_pn-libcheck = "base libs"
@@ -581,7 +570,8 @@ RECIPE_COMMENTS_pn-libcheck = ""
DISTRO_PN_ALIAS_pn-libcheck = "Ubuntu=check Fedora=check OpenSuSE=check"
RECIPE_STATUS_pn-augeas = "green"
-DEPENDENCY_CHECK_pn-augeas = "done"
+RECIPE_DEPENDENCY_CHECK_pn-augeas = "done"
+RECIPE_LAST_UPDATE_pn-augeas = "Aug 20, 2010"
RECIPE_MAINTAINER_pn-augeas = "Qing He <qing.he@intel.com>"
RECIPE_LATEST_VERSION_pn-augeas = "0.7.3"
RECIPE_INTEL_SECTION_pn-augeas = "base libs"
@@ -591,30 +581,34 @@ RECIPE_COMMENTS_pn-augeas = ""
DISTRO_PN_ALIAS_pn-augeas = "Ubuntu=libaugeas0 Debian=libaugeas0"
RECIPE_STATUS_pn-sat-solver = "green"
-DEPENDENCY_CHECK_pn-sat-solver = "done"
+RECIPE_DEPENDENCY_CHECK_pn-sat-solver = "done"
RECIPE_LATEST_VERSION_pn-sat-solver = "git"
RECIPE_INTEL_SECTION_pn-sat-solver = "base libs"
DISTRO_PN_ALIAS_pn-sat-solver = "OSPDT OpenSuSE=satsolver-tools"
RECIPE_COMMENTS_pn-sat-solver = ""
+RECIPE_LAST_UPDATE_pn-sat-solver = "Aug 20, 2010"
RECIPE_MAINTAINER_pn-sat-solver = "Qing He <qing.he@intel.com>"
RECIPE_STATUS_pn-libzypp = "green"
-DEPENDENCY_CHECK_pn-libzypp = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libzypp = "not done"
+RECIPE_LAST_UPDATE_pn-libzypp = "Aug 20, 2010"
RECIPE_MAINTAINER_pn-libzypp = "Qing He <qing.he@intel.com>"
RECIPE_LATEST_VERSION_pn-libzypp = "git"
RECIPE_INTEL_SECTION_pn-libzypp = "base libs"
RECIPE_COMMENTS_pn-libzypp = ""
+
RECIPE_STATUS_pn-dbus-wait = "green"
-DEPENDENCY_CHECK_pn-dbus-wait = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-dbus-wait = "not done"
RECIPE_LATEST_VERSION_pn-dbus-wait = "0.0+svnr402"
RECIPE_INTEL_SECTION_pn-dbus-wait = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-dbus-wait = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-dbus-wait = "08/2008"
RECIPE_COMMENTS_pn-dbus-wait = "o-hand project"
+RECIPE_LAST_UPDATE_pn-dbus-wait = "Aug 12, 2010"
RECIPE_MAINTAINER_pn-dbus-wait= "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-e2fsprogs = "yellow" # patch comment
-DEPENDENCY_CHECK_pn-e2fsprogs = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-e2fsprogs = "not done"
RECIPE_LATEST_VERSION_pn-e2fsprogs = "1.41.12"
RECIPE_PATCH_pn-e2fsprogs+quotefix = "to be pushed upstream"
RECIPE_PATCH_pn-e2fsprogs+mkdir = "to be pushed upstream; no comment; MKINSTALLDIRS is not supported in new version autotool"
@@ -623,66 +617,73 @@ RECIPE_INTEL_SECTION_pn-e2fsprogs = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-e2fsprogs = "2 months"
RECIPE_LATEST_RELEASE_DATE_pn-e2fsprogs = "05/2010"
RECIPE_COMMENTS_pn-e2fsprogs = ""
+RECIPE_LAST_UPDATE_pn-e2fsprogs = "Jun 1, 2010"
RECIPE_MAINTAINER_pn-e2fsprogs = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-initramfs-boot = "green"
-DEPENDENCY_CHECK_pn-initramfs-boot = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-initramfs-boot = "not done"
RECIPE_LATEST_VERSION_pn-initramfs-boot = "1.0"
RECIPE_PATCH_pn-initramfs-boot+init-boot = "local"
RECIPE_INTEL_SECTION_pn-initramfs-boot = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-initramfs-boot = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-initramfs-boot = "n/a"
RECIPE_COMMENTS_pn-initramfs-boot = "local scripts follow Poky's MIT license"
+RECIPE_LAST_UPDATE_pn-initramfs-boot = "Nov 5, 2008"
RECIPE_MAINTAINER_pn-initramfs-boot = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-initramfs-live-boot = "green"
-DEPENDENCY_CHECK_pn-initramfs-live-boot = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-initramfs-live-boot = "not done"
RECIPE_LATEST_VERSION_pn-initramfs-live-boot = "1.0"
RECIPE_PATCH_pn-initramfs-live-boot+init-live = "local"
RECIPE_INTEL_SECTION_pn-initramfs-live-boot = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-initramfs-live-boot = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-initramfs-live-boot = "n/a"
RECIPE_COMMENTS_pn-initramfs-live-boot = "local scripts follow Poky's MIT license"
+RECIPE_LAST_UPDATE_pn-initramfs-live-boot = "Sep 10, 2008"
RECIPE_MAINTAINER_pn-initramfs-live-boot = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-initramfs-live-install = "green"
-DEPENDENCY_CHECK_pn-initramfs-live-install = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-initramfs-live-install = "not done"
RECIPE_LATEST_VERSION_pn-initramfs-live-install = "1.0"
RECIPE_PATCH_pn-initramfs-live-install+init-install = "local"
RECIPE_INTEL_SECTION_pn-initramfs-live-install = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-initramfs-live-install = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-initramfs-live-install = "n/a"
RECIPE_COMMENTS_pn-initramfs-live-install = "local scripts follow Poky's MIT license"
+RECIPE_LAST_UPDATE_pn-initramfs-live-install = "Oct 8, 2008"
RECIPE_MAINTAINER_pn-initramfs-live-install = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-initscripts = "green"
-DEPENDENCY_CHECK_pn-initscripts = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-initscripts = "not done"
RECIPE_LATEST_VERSION_pn-initscripts = "1.0"
RECIPE_PATCH_pn-initscripts = "many local scripts"
RECIPE_INTEL_SECTION_pn-initscripts = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-initscripts = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-initscripts = "n/a"
RECIPE_COMMENTS_pn-initscripts = "local scripts follow Poky's MIT license"
+RECIPE_LAST_UPDATE_pn-initscripts = "Jul 21, 2006"
RECIPE_MAINTAINER_pn-initscripts = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-keymaps = "green"
-DEPENDENCY_CHECK_pn-keymaps = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-keymaps = "not done"
RECIPE_LATEST_VERSION_pn-keymaps = "1.0"
RECIPE_PATCH_pn-keymaps = "many local keymap files"
RECIPE_INTEL_SECTION_pn-keymaps = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-keymaps = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-keymaps = "n/a"
RECIPE_COMMENTS_pn-keymaps = "local scripts follow Poky's MIT license, however it contains a GPL notation"
+RECIPE_LAST_UPDATE_pn-keymaps = "Jul 21, 2006"
RECIPE_MAINTAINER_pn-keymaps = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-modutils = "red"
-DEPENDENCY_CHECK_pn-modutils-initscripts = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-modutils-initscripts = "not done"
RECIPE_LATEST_VERSION_pn-modutils = "2.4.27"
+RECIPE_LAST_UPDATE_pn-modutils = "Jul 21, 2006"
RECIPE_MAINTAINER_pn-modutils = "Kevin Tian <kevin.tian@intel.com>"
DISTRO_PN_ALIAS_pn-modutils = "Ubuntu=module-init-tools Fedora=module-init-tools"
RECIPE_STATUS_pn-modutils-initscripts = "green"
-DEPENDENCY_CHECK_pn-modutils-initscripts = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-modutils-initscripts = "not done"
RECIPE_LATEST_VERSION_pn-modutils-initscripts = "1.0"
RECIPE_PATCH_pn-modutils-initscripts+modutils = "local"
RECIPE_INTEL_SECTION_pn-modutils-initscripts = "base utils"
@@ -691,116 +692,120 @@ RECIPE_LATEST_RELEASE_DATE_pn-modutils-initscripts = "n/a"
RECIPE_COMMENTS_pn-modutils-initscripts = "local scripts follow Poky's MIT license"
RECIPE_MAINTAINER_pn-modutils-initscripts = "Kevin Tian <kevin.tian@intel.com>"
-RECIPE_STATUS_pn-network-suspend-scripts = "yellow" # no PV
-DEPENDENCY_CHECK_pn-network-suspend-scripts = "not done"
-RECIPE_LATEST_VERSION_pn-network-suspend-scripts = "1.0"
-RECIPE_PATCH_pn-network-suspend-scripts = "local scripts"
-RECIPE_INTEL_SECTION_pn-network-suspend-scripts = "base utils"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-network-suspend-scripts = "n/a"
-RECIPE_LATEST_RELEASE_DATE_pn-network-suspend-scripts = "n/a"
-RECIPE_COMMENTS_pn-network-suspend-scripts = "local scripts follow Poky's MIT license"
-RECIPE_MAINTAINER_pn-network-suspend-scripts = "Kevin Tian <kevin.tian@intel.com>"
-
RECIPE_STATUS_pn-opkg-collateral = "green"
-DEPENDENCY_CHECK_pn-opkg-collateral = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-opkg-collateral = "not done"
RECIPE_LATEST_VERSION_pn-opkg-collateral = "1.0"
RECIPE_PATCH_pn-opkg-collateral = "local"
RECIPE_INTEL_SECTION_pn-opkg-collateral = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-opkg-collateral = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-opkg-collateral = "n/a"
RECIPE_COMMENTS_pn-opkg-collateral = "local scripts follow Poky's MIT license, no need to have its own"
+RECIPE_LAST_UPDATE_pn-opkg-collateral = "Mar 17, 2008"
RECIPE_MAINTAINER_pn-opkg-collateral = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-opkg-config-base = "green"
-DEPENDENCY_CHECK_pn-opkg-config-base = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-opkg-config-base = "not done"
RECIPE_LATEST_VERSION_pn-opkg-config-base = "1.0"
RECIPE_INTEL_SECTION_pn-opkg-config-base = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-opkg-config-base = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-opkg-config-base = "n/a"
RECIPE_COMMENTS_pn-opkg-config-base = "local scripts follow Poky's MIT license"
+RECIPE_LAST_UPDATE_pn-opkg-config-base = "Jan 29, 2010"
RECIPE_MAINTAINER_pn-opkg-config-base = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-poky-feed-config-opkg = "green"
-DEPENDENCY_CHECK_pn-poky-feed-config-opkg = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-poky-feed-config-opkg = "not done"
RECIPE_LATEST_VERSION_pn-poky-feed-config-opkg = "1.0"
RECIPE_INTEL_SECTION_pn-poky-feed-config-opkg = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-poky-feed-config-opkg = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-poky-feed-config-opkg = "n/a"
RECIPE_COMMENTS_pn-poky-feed-config-opkg = "local scripts follow Poky's MIT license"
+RECIPE_LAST_UPDATE_pn-poky-feed-config-opkg = "Sep 20, 2010"
RECIPE_MAINTAINER_pn-poky-feed-config-opkg = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-opkg = "green"
-DEPENDENCY_CHECK_pn-opkg = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-opkg = "not done"
RECIPE_LATEST_VERSION_pn-opkg = "0.1.8"
RECIPE_INTEL_SECTION_pn-opkg = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-opkg = "2 months"
RECIPE_LATEST_RELEASE_DATE_pn-opkg = "02/2010"
RECIPE_COMMENTS_pn-opkg = ""
+RECIPE_LAST_UPDATE_pn-opkg = "Jul 21, 2010"
RECIPE_MAINTAINER_pn-opkg = "Dongxiao Xu <dongxiao.xu@intel.com"
-RECIPE_STATUS_pn-dpkg = "red"
-RECIPE_LATEST_VERSION_pn-dpkg = "check: 1.15.8.5"
+RECIPE_STATUS_pn-dpkg = "green"
+RECIPE_LATEST_VERSION_pn-dpkg = "1.15.8.7"
+RECIPE_INTEL_SECTION_pn-dpkg = "base utils"
+RECIPE_LATEST_RELEASE_DATE_pn-dpkg = "2010/12/20"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-dpkg = "3 months"
+RECIPE_LAST_UPDATE_pn-dpkg = "Dec 30, 2010"
RECIPE_MAINTAINER_pn-dpkg = "Dongxiao Xu <dongxiao.xu@intel.com"
RECIPE_STATUS_pn-opkg-utils = "green"
-DEPENDENCY_CHECK_pn-opkg-utils = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-opkg-utils = "not done"
RECIPE_LATEST_VERSION_pn-opkg-utils = "0.1.8+svnr4747"
RECIPE_INTEL_SECTION_pn-opkg-utils = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-opkg-utils = "3 months"
RECIPE_LATEST_RELEASE_DATE_pn-opkg-utils = "11/2008"
RECIPE_COMMENTS_pn-opkg-utils = ""
+RECIPE_LAST_UPDATE_pn-opkg-utils = "Jul 21, 2010"
RECIPE_MAINTAINER_pn-opkg-utils = "Dongxiao Xu <dongxiao.xu@intel.com"
DISTRO_PN_ALIAS_pn-opkg-utils = "OSPDT upstream=http://svn.openmoko.org/trunk/src/target/opkg/"
RECIPE_STATUS_pn-polkit = "green"
-DEPENDENCY_CHECK_pn-polkit = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-polkit = "not done"
RECIPE_LATEST_VERSION_pn-polkit = "0.99"
RECIPE_INTEL_SECTION_pn-polkit = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-polkit = "1 months"
RECIPE_LATEST_RELEASE_DATE_pn-polkit = "2010/09/15"
RECIPE_COMMENTS_pn-polkit = ""
+RECIPE_LAST_UPDATE_pn-polkit = "Nov 18, 2010"
RECIPE_MAINTAINER_pn-polkit = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-psplash = "not done"
-DEPENDENCY_CHECK_pn-psplash = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-psplash = "not done"
RECIPE_LATEST_VERSION_pn-psplash = "0.0+svnr424"
RECIPE_PATCH_pn-psplash+psplash-init = "local scripts"
RECIPE_INTEL_SECTION_pn-psplash = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-psplash = "6 months"
RECIPE_LATEST_RELEASE_DATE_pn-psplash = "05/2009"
RECIPE_COMMENTS_pn-psplash = ""
+RECIPE_LAST_UPDATE_pn-psplash = "Jul 13, 2010"
RECIPE_MAINTAINER_pn-psplash = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-pax-utils = "green"
-DEPENDENCY_CHECK_pn-pax-utils = "not done"
-RECIPE_LATEST_VERSION_pn-pax-utils = "0.2.1"
+RECIPE_DEPENDENCY_CHECK_pn-pax-utils = "not done"
+RECIPE_LATEST_VERSION_pn-pax-utils = "0.2.2"
+RECIPE_NO_OF_PATCHES_pn-pax-utils = "0"
RECIPE_INTEL_SECTION_pn-pax-utils = "base utils"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-pax-utils = "15 months"
-RECIPE_LATEST_RELEASE_DATE_pn-pax-utils = "02/2010"
-RECIPE_COMMENTS_pn-pax-utils = ""
+RECIPE_LATEST_RELEASE_DATE_pn-pax-utils = "12/2010"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-pax-utils = "10 months"
+RECIPE_LAST_UPDATE_pn-pax-utils = "Jan 4, 2011"
RECIPE_MAINTAINER_pn-pax-utils = "Scott Garman <scott.a.garman@intel.com>"
RECIPE_STATUS_pn-sudo = "green"
-DEPENDENCY_CHECK_pn-sudo = "not done"
-RECIPE_LATEST_VERSION_pn-sudo = "1.7.4p4"
+RECIPE_DEPENDENCY_CHECK_pn-sudo = "not done"
+RECIPE_LATEST_VERSION_pn-sudo = "1.7.4p6"
RECIPE_INTEL_SECTION_pn-sudo = "base utils"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-sudo = "1 month"
-RECIPE_LATEST_RELEASE_DATE_pn-sudo = "2010/09/07"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-sudo = "1 week"
+RECIPE_LATEST_RELEASE_DATE_pn-sudo = "2011/01/19"
RECIPE_COMMENTS_pn-sudo = ""
+RECIPE_LAST_UPDATE_pn-sudo = "Jan 23, 2011"
RECIPE_MAINTAINER_pn-sudo = "Scott Garman <scott.a.garman@intel.com>"
RECIPE_STATUS_pn-blktool = "green"
-DEPENDENCY_CHECK_pn-blktool = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-blktool = "not done"
RECIPE_LATEST_VERSION_pn-blktool = "4-6"
+RECIPE_NO_OF_PATCHES_pn-blktool = "0"
RECIPE_INTEL_SECTION_pn-blktool = "base utils"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-blktool = "3 years"
RECIPE_LATEST_RELEASE_DATE_pn-blktool = "02/2010"
-RECIPE_COMMENTS_pn-blktool = ""
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-blktool = "3 years"
+RECIPE_LAST_UPDATE_pn-blktool = "Jan 4, 2011"
RECIPE_MAINTAINER_pn-blktool = "Scott Garman <scott.a.garman@intel.com>"
DISTRO_PN_ALIAS_pn-blktool = "Debian=blktool Mandriva=blktool"
RECIPE_STATUS_pn-iproute2 = "green"
-DEPENDENCY_CHECK_pn-iproute2 = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-iproute2 = "not done"
RECIPE_LATEST_VERSION_pn-iproute2 = "2.6.34"
RECIPE_PATCH_pn-iproute2+configure-cross = "to be pushed upstream"
RECIPE_INTEL_SECTION_pn-iproute2 = "base utils"
@@ -808,21 +813,23 @@ RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-iproute2 = "3 months"
RECIPE_LATEST_RELEASE_DATE_pn-iproute2 = "05/2010"
RECIPE_COMMENTS_pn-iproute2 = ""
DISTRO_PN_ALIAS_pn-iproute2 = "OSPDT"
+RECIPE_LAST_UPDATE_pn-iproute2 = "Nov 10, 2010"
RECIPE_MAINTAINER_pn-iproute2 = "Qing He <qing.he@intel.com>"
RECIPE_STATUS_pn-netbase = "green"
-DEPENDENCY_CHECK_pn-netbase = "not done"
-RECIPE_LATEST_VERSION_pn-netbase = "4.43"
+RECIPE_DEPENDENCY_CHECK_pn-netbase = "not done"
+RECIPE_LATEST_VERSION_pn-netbase = "4.44"
RECIPE_PATCH_pn-netbase+busybox = "marked as REMOVAL"
RECIPE_PATCH_pn-many = "local scripts"
RECIPE_INTEL_SECTION_pn-netbase = "base utils"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-netbase = "2 years"
-RECIPE_LATEST_RELEASE_DATE_pn-netbase = "2010/10/23"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-netbase = "2 months"
+RECIPE_LATEST_RELEASE_DATE_pn-netbase = "2010/12/13"
RECIPE_COMMENTS_pn-netbase = ""
+RECIPE_LAST_UPDATE_pn-netbase = "Dec 30, 2010"
RECIPE_MAINTAINER_pn-netbase = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-busybox = "green"
-DEPENDENCY_CHECK_pn-busybox = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-busybox = "not done"
RECIPE_LATEST_VERSION_pn-busybox = "1.16.2"
RECIPE_PATCH_pn-busybox+udhcpscript = "added in 1.00-rc3; c9bb6478;2004;fix the deleting routers error message in case of no existing default routes;"
RECIPE_PATCH_pn-busybox+udhcpc-fix-nfsroot = "added in 1.13.2; ec4da6df;2009;fix nfsroot issues with resetting IP and deleting routes;to be pushed upstream"
@@ -834,10 +841,11 @@ RECIPE_INTEL_SECTION_pn-busybox = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-busybox = "3 months"
RECIPE_LATEST_RELEASE_DATE_pn-busybox = "0i6/2010"
RECIPE_COMMENTS_pn-busybox = "some special overrides/unsets for CFLAGS, etc. need to understand the tricks behind"
+RECIPE_LAST_UPDATE_pn-busybox = "Nov 17, 2010"
RECIPE_MAINTAINER_pn-busybox = "Qing He <qing.he@intel.com>"
RECIPE_STATUS_pn-module-init-tools = "green"
-DEPENDENCY_CHECK_pn-module-init-tools = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-module-init-tools = "not done"
RECIPE_LATEST_VERSION_pn-module-init-tools = "3.12"
RECIPE_PATCH_pn-module-init-tools+ignore_arch_directory = "added as 1st set of patches from bk to git in 2005; no exact commit; aim to ignore all files in /etc/modprobe.d/arch; not sure why"
RECIPE_PATCH_pn-module-init-tools+modutils_extension = "added as 1st set of patches from bk to git in 2005; no exact commit; aim to handle renaming of modutils; local patch"
@@ -849,30 +857,21 @@ RECIPE_INTEL_SECTION_pn-module-init-tools = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-module-init-tools = "3 months"
RECIPE_LATEST_RELEASE_DATE_pn-module-init-tools = "10/2009"
RECIPE_COMMENTS_pn-module-init-tools = "most tweaks about alternative handle and rename"
+RECIPE_LAST_UPDATE_pn-module-init-tools = "Jul 21, 2010"
RECIPE_MAINTAINER_pn-module-init-tools = "Kevin Tian <kevin.tian@intel.com>"
-RECIPE_STATUS_pn-fakeroot = "green"
-DEPENDENCY_CHECK_pn-fakeroot = "not done"
-RECIPE_LATEST_VERSION_pn-fakeroot = "1.14.4"
-RECIPE_PATCH_pn-fakeroot+configure-libtool = "mark for REMOVAL"
-RECIPE_PATCH_pn-fakeroot+absolutepaths = "added by RP in 2010; to avoid build system python linking to staging library; to be pushed upstream"
-RECIPE_INTEL_SECTION_pn-fakeroot = "base utils"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-fakeroot = "6 months"
-RECIPE_LATEST_RELEASE_DATE_pn-fakeroot = "11/2009"
-RECIPE_COMMENTS_pn-fakeroot = ""
-RECIPE_MAINTAINER_pn-fakeroot = "Qing He <qing.he@intel.com>"
-
RECIPE_STATUS_pn-base-files = "green"
-DEPENDENCY_CHECK_pn-base-files = "not done"
+RECIPE_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_LAST_UPDATE_pn-base-files = "Jul 21, 2006"
RECIPE_MAINTAINER_pn-base-files = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-base-passwd = "green"
-DEPENDENCY_CHECK_pn-base-passwd = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-base-passwd = "not done"
RECIPE_LATEST_VERSION_pn-base-passwd = "3.5.22"
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"
@@ -880,98 +879,108 @@ 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_LAST_UPDATE_pn-base-passwd = "Jul 6, 2010"
RECIPE_MAINTAINER_pn-base-passwd = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-apmd = "green"
-DEPENDENCY_CHECK_pn-apmd = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-apmd = "not done"
RECIPE_LATEST_VERSION_pn-apmd = "3.2.2-14"
+RECIPE_NO_OF_PATCHES_pn-apmd = "3"
RECIPE_PATCH_pn-apmd+debian = "in upstream"
-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; 35de05e6; 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_TIME_BETWEEN_LAST_TWO_RELEASES_pn-apmd = "1 year"
RECIPE_COMMENTS_pn-apmd = ""
+RECIPE_LAST_UPDATE_pn-apmd = "Jan 4, 2011"
RECIPE_MAINTAINER_pn-apmd = "Scott Garman <scott.a.garman@intel.com>"
RECIPE_STATUS_pn-gperf = "green"
-DEPENDENCY_CHECK_pn-gperf = "not done"
+RECIPE_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"
+RECIPE_LAST_UPDATE_pn-gperf = "Jul 19, 2010"
RECIPE_MAINTAINER_pn-gperf = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-valgrind = "green"
-DEPENDENCY_CHECK_pn-valgrind = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-valgrind = "not done"
RECIPE_LATEST_VERSION_pn-valgrind = "3.6.0"
RECIPE_INTEL_SECTION_pn-valgrind = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-valgrind = "6 months"
RECIPE_LATEST_RELEASE_DATE_pn-valgrind = "2010/10/21"
RECIPE_COMMENTS_pn-valgrind = ""
+RECIPE_LAST_UPDATE_pn-valgrind = "Nov 16, 2010"
RECIPE_MAINTAINER_pn-valgrind = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-formfactor = "green"
-DEPENDENCY_CHECK_pn-formfactor = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-formfactor = "not done"
RECIPE_LATEST_VERSION_pn-formfactor = "0.0"
RECIPE_INTEL_SECTION_pn-formfactor = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-formfactor = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-formfactor = "n/a"
RECIPE_COMMENTS_pn-formfactor = ""
+RECIPE_LAST_UPDATE_pn-formfactor = "May 23, 2007"
RECIPE_MAINTAINER_pn-formfactor = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-makedevs = "green"
-DEPENDENCY_CHECK_pn-makedevs = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-makedevs = "not done"
RECIPE_LATEST_VERSION_pn-makedevs = "1.0.0"
RECIPE_INTEL_SECTION_pn-makedevs = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-makedevs = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-makedevs = "n/a"
RECIPE_COMMENTS_pn-makedevs = ""
+RECIPE_LAST_UPDATE_pn-makedevs = "Jul 21, 2006"
RECIPE_MAINTAINER_pn-makedevs = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-cwautomacros = "green"
-DEPENDENCY_CHECK_pn-cwautomacros = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-cwautomacros = "not done"
RECIPE_LATEST_VERSION_pn-cwautomacros = "20090610"
RECIPE_INTEL_SECTION_pn-cwautomacros = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-cwautomacros = "6 months"
RECIPE_LATEST_RELEASE_DATE_pn-cwautomacros = "06/2009"
RECIPE_COMMENTS_pn-cwautomacros = ""
+RECIPE_LAST_UPDATE_pn-cwautomacros = "Aug 6, 2010"
RECIPE_MAINTAINER_pn-cwautomacros = "Dongxiao Xu <dongxiao.xu@intel.com>"
DISTRO_PN_ALIAS_pn-cwautomacros= "OSPDT upstream=http://cwautomacros.berlios.de/"
RECIPE_STATUS_pn-which = "green"
-DEPENDENCY_CHECK_pn-which = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-which = "not done"
RECIPE_LATEST_VERSION_pn-which = "2.20"
RECIPE_INTEL_SECTION_pn-which = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-which = "7 months"
RECIPE_LATEST_RELEASE_DATE_pn-which = "08/2008"
RECIPE_COMMENTS_pn-which = ""
+RECIPE_LAST_UPDATE_pn-which = "Aug 13, 2010"
RECIPE_MAINTAINER_pn-which = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-quota = "green"
-DEPENDENCY_CHECK_pn-quota = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-quota = "not done"
RECIPE_LATEST_VERSION_pn-quota = "4.00-pre1"
RECIPE_INTEL_SECTION_pn-quota = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-quota = "13 months"
RECIPE_LATEST_RELEASE_DATE_pn-quota = "2010/02/17"
RECIPE_COMMENTS_pn-quota = ""
+RECIPE_LAST_UPDATE_pn-quota = "Nov 15, 2010"
RECIPE_MAINTAINER_pn-quota = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-mdadm = "green"
-DEPENDENCY_CHECK_pn-mdadm = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-mdadm = "not done"
RECIPE_LATEST_VERSION_pn-mdadm = "3.1.4"
RECIPE_NO_OF_PATCHES_pn-mdadm = "0"
RECIPE_INTEL_SECTION_pn-mdadm = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-mdadm = "25 days"
RECIPE_LATEST_RELEASE_DATE_pn-mdadm = "Aug 31, 2010"
RECIPE_COMMENTS_pn-mdadm = ""
+RECIPE_LAST_UPDATE_pn-mdadm = "Aug 31, 2010"
RECIPE_MAINTAINER_pn-mdadm = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-screen = "green"
-DEPENDENCY_CHECK_pn-screen = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-screen = "not done"
RECIPE_LATEST_VERSION_pn-screen = "4.0.3"
RECIPE_NO_OF_PATCHES_pn-screen = "2"
RECIPE_PATCH_pn-screen+screen_4.0.3-11+lenny1.diff.gz = "Debian's enhancement"
@@ -980,26 +989,33 @@ RECIPE_INTEL_SECTION_pn-screen = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-screen = "4 years"
RECIPE_LATEST_RELEASE_DATE_pn-screen = "Aug 7, 2008"
RECIPE_COMMENTS_pn-screen = ""
+RECIPE_LAST_UPDATE_pn-screen = "Aug 31, 2010"
RECIPE_MAINTAINER_pn-screen = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-gzip = "green"
+RECIPE_LAST_UPDATE_pn-gzip = "Jul 23, 2010"
RECIPE_MAINTAINER_pn-gzip = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_LATEST_VERSION_pn-gzip = "1.4"
RECIPE_STATUS_pn-iptables = "green"
+RECIPE_LAST_UPDATE_pn-iptables = "Nov 10, 2010"
RECIPE_MAINTAINER_pn-iptables = "Qing He <qing.he@intel.com>"
RECIPE_LATEST_VERSION_pn-iptables = "1.4.8"
-RECIPE_STATUS_pn-ethtool = "red"
-RECIPE_MAINTAINER_pn-ethtool = "Edwin Zhai <edwin.zhai@intel.com>"
+RECIPE_STATUS_pn-ethtool = "green"
RECIPE_LATEST_VERSION_pn-ethtool = "2.6.36"
+RECIPE_LAST_UPDATE_pn-ethtool = "Nov 28, 2010"
+RECIPE_MAINTAINER_pn-ethtool = "Edwin Zhai <edwin.zhai@intel.com>"
-RECIPE_STATUS_pn-net-tools = "red"
+RECIPE_STATUS_pn-net-tools = "green"
+RECIPE_LAST_UPDATE_pn-net-tools = "Aug 16, 2010"
+RECIPE_LATEST_VERSION_pn-net-tools = "1.60-23"
RECIPE_MAINTAINER_pn-net-tools = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_LATEST_VERSION_pn-net-tools = "1.60-23"
RECIPE_STATUS_pn-shadow = "green"
-DEPENDENCY_CHECK_pn-shadow = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-shadow = "not done"
+RECIPE_LAST_UPDATE_pn-shadow = "Aug 6, 2010"
RECIPE_MAINTAINER_pn-shadow = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_LATEST_VERSION_pn-shadow = "4.1.4.2"
RECIPE_INTEL_SECTION_pn-shadow = "base utils"
@@ -1007,23 +1023,29 @@ RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-shadow = "2 months"
RECIPE_LATEST_RELEASE_DATE_pn-shadow = "07/2009"
RECIPE_COMMENTS_pn-formfactor = ""
-RECIPE_STATUS_pn-coreutils = "red"
+RECIPE_STATUS_pn-coreutils = "green"
+RECIPE_LAST_UPDATE_pn-coreutils = "Jan 20, 2011"
RECIPE_MAINTAINER_pn-coreutils = "Qing He <qing.he@intel.com>"
-RECIPE_LATEST_VERSION_pn-coreutils = "8.5"
+RECIPE_INTEL_SECTION_pn-coreutils = "base utils"
+RECIPE_LATEST_VERSION_pn-coreutils = "8.9"
+RECIPE_LATEST_RELEASE_DATE_pn-coreutils = "01/2011"
RECIPE_STATUS_pn-libuser = "green"
+RECIPE_LAST_UPDATE_pn-libuser = "Jan 26, 2011"
RECIPE_MAINTAINER_pn-libuser = "Edwin Zhai <edwin.zhai@intel.com>"
-DEPENDENCY_CHECK_pn-libuser = "not done"
-RECIPE_LATEST_VERSION_pn-libuser = "0.56.18"
+RECIPE_DEPENDENCY_CHECK_pn-libuser = "not done"
+RECIPE_LATEST_VERSION_pn-libuser = "0.57.1"
+RECIPE_MANUAL_CHECK_DATE_pn-libuser = "Jan 26, 2011"
RECIPE_NO_OF_PATCHES_pn-libuser = "1"
RECIPE_INTEL_SECTION_pn-libuser = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libuser = "1 month"
-RECIPE_LATEST_RELEASE_DATE_pn-libuser = "09/2010"
+RECIPE_LATEST_RELEASE_DATE_pn-libuser = "01/2011"
RECIPE_COMMENTS_pn-libuser = ""
RECIPE_STATUS_pn-xz = "green"
+RECIPE_LAST_UPDATE_pn-xz = "Nov 19, 2010"
RECIPE_MAINTAINER_pn-xz = "Edwin Zhai <edwin.zhai@intel.com>"
-DEPENDENCY_CHECK_pn-xz = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-xz = "not done"
RECIPE_LATEST_VERSION_pn-xz = "5.0.0"
RECIPE_NO_OF_PATCHES_pn-xz = "0"
RECIPE_INTEL_SECTION_pn-xz = "base utils"
@@ -1032,8 +1054,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-xz = "10/2010"
RECIPE_COMMENTS_pn-xz = ""
RECIPE_STATUS_pn-bc = "green"
+RECIPE_LAST_UPDATE_pn-bc = "Aug 6, 2010"
RECIPE_MAINTAINER_pn-bc = "Edwin Zhai <edwin.zhai@intel.com>"
-DEPENDENCY_CHECK_pn-bc = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-bc = "not done"
RECIPE_LATEST_VERSION_pn-bc = "1.06"
RECIPE_NO_OF_PATCHES_pn-bc = "0"
RECIPE_INTEL_SECTION_pn-bc = "base utils"
@@ -1042,8 +1065,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-bc = "11/2000"
RECIPE_COMMENTS_pn-bc = ""
RECIPE_STATUS_pn-ed = "green"
+RECIPE_LAST_UPDATE_pn-ed = "Nov 19, 2010"
RECIPE_MAINTAINER_pn-ed = "Edwin Zhai <edwin.zhai@intel.com>"
-DEPENDENCY_CHECK_pn-ed = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-ed = "not done"
RECIPE_LATEST_VERSION_pn-ed = "1.5"
RECIPE_NO_OF_PATCHES_pn-ed = "1"
RECIPE_INTEL_SECTION_pn-ed = "base utils"
@@ -1052,8 +1076,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-ed = "07/2010"
RECIPE_COMMENTS_pn-ed = "GPLv3 was used since ed 0.6"
RECIPE_STATUS_pn-pax = "green"
+RECIPE_LAST_UPDATE_pn-pax = "Aug 16, 2010"
RECIPE_MAINTAINER_pn-pax = "Edwin Zhai <edwin.zhai@intel.com>"
-DEPENDENCY_CHECK_pn-pax = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-pax = "not done"
RECIPE_LATEST_VERSION_pn-pax = "3.4"
RECIPE_NO_OF_PATCHES_pn-pax = "0"
RECIPE_INTEL_SECTION_pn-pax = "base utils"
@@ -1062,8 +1087,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-pax = "08/2005"
RECIPE_COMMENTS_pn-pax = ""
RECIPE_STATUS_pn-watchdog = "green"
+RECIPE_LAST_UPDATE_pn-watchdog = "Aug 20, 2010"
RECIPE_MAINTAINER_pn-watchdog = "Dexuan Cui <dexuan.cui@intel.com>"
-DEPENDENCY_CHECK_pn-watchdog = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-watchdog = "not done"
RECIPE_LATEST_VERSION_pn-watchdog = "5.9"
RECIPE_NO_OF_PATCHES_pn-watchdog = "0"
RECIPE_INTEL_SECTION_pn-watchdog = "base utils"
@@ -1073,61 +1099,78 @@ RECIPE_COMMENTS_pn-watchdog = ""
DISTRO_PN_ALIAS_pn-watchdog = "Debian=watchdog Ubuntu=watchdog Mandriva=watchdog"
RECIPE_STATUS_pn-libatomics-ops = "green"
-DEPENDENCY_CHECK_pn-libatomics-ops = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libatomics-ops = "not done"
RECIPE_LATEST_VERSION_pn-libatomics-ops = "1.2"
RECIPE_NO_OF_PATCHES_pn-libatomics-ops = "3"
RECIPE_INTEL_SECTION_pn-libatomics-ops = "optional"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libatomics-ops = "unknown"
RECIPE_LATEST_RELEASE_DATE_pn-libatomics-ops = "unknown"
DISTRO_PN_ALIAS_pn-libatomics-ops = "Meego=libatomic-ops Debian=libatomic-ops Ubuntu=libatomic-ops OpenSuSE=libatomic-ops Mandriva=libatomic-ops"
+RECIPE_LAST_UPDATE_pn-libatomics-ops = "Nov 22, 2010"
RECIPE_MAINTAINER_pn-libatomics-ops = "Scott Garman <scott.a.garman@intel.com>"
RECIPE_STATUS_pn-libffi = "red"
RECIPE_LATEST_VERSION_pn-libffi = "3.0.9"
+RECIPE_LAST_UPDATE_pn-libffi = "Oct 15, 2010"
RECIPE_MAINTAINER_pn-libffi = "Kevin Tian <kevin.tian@intel.com>"
-RECIPE_STATUS_pn-libgdbus = "red"
-RECIPE_LATEST_VERSION_pn-libgdbus = "Release-0.2"
-RECIPE_MAINTAINER_pn-libgdbus = "Kevin Tian <kevin.tian@intel.com>"
+RECIPE_STATUS_pn-libgdbus = "green"
+RECIPE_DEPENDENCY_CHECK_pn-libgdbus = "not done"
+RECIPE_LATEST_VERSION_pn-libgdbus = "0.2"
+RECIPE_NO_OF_PATCHES_pn-libgdbus = "0"
+RECIPE_LATEST_RELEASE_DATE_pn-libgdbus = "09/2008"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libgdbus = "unknown"
+RECIPE_LAST_UPDATE_pn-libgdbus = "Jan 4, 2011"
+RECIPE_MAINTAINER_pn-libgdbus = "Scott Garman <scott.a.garman@intel.com>"
-RECIPE_STATUS_pn-apr = "red"
+RECIPE_STATUS_pn-apr = "green"
RECIPE_LATEST_VERSION_pn-apr = "1.4.2"
+RECIPE_LAST_UPDATE_pn-apr = "Dec 17, 2010"
RECIPE_MAINTAINER_pn-apr = "Edwin Zhai <edwin.zhai@intel.com>"
-RECIPE_STATUS_pn-apr-util = "red"
-RECIPE_LATEST_VERSION_pn-apr-util = "1.3.9"
+RECIPE_STATUS_pn-apr-util = "green"
+RECIPE_LATEST_VERSION_pn-apr-util = "1.3.10"
+RECIPE_LAST_UPDATE_pn-apr-util = "Dec 29, 2010"
RECIPE_MAINTAINER_pn-apr-util = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-apt = "red"
RECIPE_LATEST_VERSION_pn-apt = "0.7.25.3"
+RECIPE_LAST_UPDATE_pn-apt = "Jun 19, 2008"
RECIPE_MAINTAINER_pn-apt = "Qing He <qing.he@intel.com>"
+RECIPE_NO_UPDATE_REASON_pn-apt="similar to zypper, defer the upgrading"
RECIPE_STATUS_pn-chrpath = "red"
RECIPE_LATEST_VERSION_pn-chrpath = "0.13-2"
+RECIPE_LAST_UPDATE_pn-chrpath = "Dec 15, 2009"
RECIPE_MAINTAINER_pn-chrpath = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-dosfstools = "red"
RECIPE_LATEST_VERSION_pn-dosfstools = "2.11"
+RECIPE_LAST_UPDATE_pn-dosfstools = "Oct 11, 2007"
RECIPE_MAINTAINER_pn-dosfstools = "Kevin Tian <kevin.tian@intel.com>"
-RECIPE_STATUS_pn-eee-acpi-scripts = "red"
-RECIPE_LATEST_VERSION_pn-eee-acpi-scripts = "1.1.10+eaaa266e8c3b91b19d8ac861334b41ce7530e8c5"
+RECIPE_STATUS_pn-eee-acpi-scripts = "green"
+RECIPE_LATEST_VERSION_pn-eee-acpi-scripts = "1.1.11+e224937ba51165e2a52252f9a113c8a82c01bb36"
+RECIPE_LAST_UPDATE_pn-eee-acpi-scripts = "Nov 28, 2010"
RECIPE_MAINTAINER_pn-eee-acpi-scripts = "Edwin Zhai <edwin.zhai@intel.com>"
DISTRO_PN_ALIAS_pn-eee-acpi-scripts = "Debian=eeepc-acpi-scripts Ubuntu=eeepc-acpi-scripts"
RECIPE_STATUS_pn-gssdp = "green"
-RECIPE_LATEST_VERSION_pn-gssdp = "0.9.0"
+RECIPE_LATEST_VERSION_pn-gssdp = "0.9.2"
RECIPE_NO_OF_PATCHES_pn-gssdp="0"
RECIPE_LATEST_RELEASE_DATE_pn-gssdp="2010/11/12"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gssdp="2 month"
+RECIPE_LAST_UPDATE_pn-gssdp = "Nov 25, 2010"
+RECIPE_MANUAL_CHECK_DATE_pn-gssdp = "Jan 30, 2011"
RECIPE_MAINTAINER_pn-gssdp = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-insserv = "green"
-DEPENDENCY_CHECK_pn-insserv = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-insserv = "not done"
RECIPE_LATEST_VERSION_pn-insserv = "1.14.0"
RECIPE_INTEL_SECTION_pn-insserv = "base"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-insserv = "unknown"
RECIPE_LATEST_RELEASE_DATE_pn-insserv = "unknown"
+RECIPE_LAST_UPDATE_pn-insserv = "Nov 28, 2010"
RECIPE_MAINTAINER_pn-insserv = "Scott Garman <scott.a.garman@intel.com>"
RECIPE_STATUS_pn-modutils-collateral = "red"
@@ -1135,130 +1178,130 @@ RECIPE_LATEST_VERSION_pn-modutils-collateral = "1.0"
RECIPE_MAINTAINER_pn-modutils-collateral = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-mtd-utils = "green"
-DEPENDENCY_CHECK_pn-mtd-utils = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-mtd-utils = "not done"
RECIPE_LATEST_VERSION_pn-mtd-utils = "1.4.1"
RECIPE_INTEL_SECTION_pn-mtd-utils = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-mtd-utils = "1 months"
RECIPE_LATEST_RELEASE_DATE_pn-mtd-utils = "2010/10/15"
RECIPE_COMMENTS_pn-mtd-utils = ""
+RECIPE_LAST_UPDATE_pn-mtd-utils = "Nov 18, 2010"
RECIPE_MAINTAINER_pn-mtd-utils = "Dongxiao Xu <dongxiao.xu@intel.com>"
-RECIPE_STATUS_pn-ohm = "red"
-RECIPE_LATEST_VERSION_pn-ohm = "3cb3496846508929b9f2d05683ec93523de7947c"
-RECIPE_MAINTAINER_pn-ohm = "Kevin Tian <kevin.tian@intel.com>"
-
RECIPE_STATUS_pn-procps = "red"
RECIPE_LATEST_VERSION_pn-procps = "3.2.8"
+RECIPE_LAST_UPDATE_pn-procps = "Nov 10, 2010"
RECIPE_MAINTAINER_pn-procps = "Qing He <qing.he@intel.com>"
RECIPE_STATUS_pn-iso-codes = "red"
RECIPE_LATEST_VERSION_pn-iso-codes = "3.16"
+RECIPE_LAST_UPDATE_pn-iso-codes = "Sep 23, 2008"
RECIPE_MAINTAINER_pn-iso-codes = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libgsf = "red"
RECIPE_LATEST_VERSION_pn-libgsf = "1.14.18"
+RECIPE_LAST_UPDATE_pn-libgsf = "Aug 20, 2007"
RECIPE_MAINTAINER_pn-libgsf = "Dexuan Cui <dexuan.cui@intel.com>"
-RECIPE_STATUS_pn-beecrypt = "red"
-RECIPE_LATEST_VERSION_pn-beecrypt = "4.1.2"
+RECIPE_STATUS_pn-beecrypt = "green"
+RECIPE_LATEST_VERSION_pn-beecrypt = "4.2.1"
+RECIPE_LAST_UPDATE_pn-beecrypt = "Nov 26, 2010"
RECIPE_MAINTAINER_pn-beecrypt = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-libacpi = "red"
RECIPE_LATEST_VERSION_pn-libacpi = "0.2"
+RECIPE_LAST_UPDATE_pn-libacpi = "Sep 30, 2008"
RECIPE_MAINTAINER_pn-libacpi = "Kevin Tian <kevin.tian@intel.com>"
DISTRO_PN_ALIAS_pn-libacpi="Ubuntu=libacpi Mandriva=libacpi"
-RECIPE_STATUS_pn-acpid = "red"
+RECIPE_STATUS_pn-acpid = "green"
RECIPE_LATEST_VERSION_pn-acpid = "1.0.10"
+RECIPE_LAST_UPDATE_pn-acpid = "Nov 26, 2010"
RECIPE_MAINTAINER_pn-acpid = "Edwin Zhai <edwin.zhai@intel.com>"
-RECIPE_STATUS_pn-consolekit = "red"
-RECIPE_LATEST_VERSION_pn-consolekit = "0.4.1"
+RECIPE_STATUS_pn-consolekit = "green"
+RECIPE_LATEST_VERSION_pn-consolekit = "0.4.3"
+RECIPE_LAST_UPDATE_pn-consolekit = "Nov 28, 2010"
RECIPE_MAINTAINER_pn-consolekit = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-console-tools = "red"
RECIPE_LATEST_VERSION_pn-console-tools = "0.3.2"
+RECIPE_LAST_UPDATE_pn-console-tools = "Jul 21, 2006"
RECIPE_MAINTAINER_pn-console-tools = "Kevin Tian <kevin.tian@intel.com>"
DISTRO_PN_ALIAS_pn-console-tools = "Debian=console-tools Ubuntu=console-tools"
-RECIPE_STATUS_pn-devicekit = "red"
-DISTRO_PN_ALIAS_pn-devicekit = "Fedora=DeviceKit Mandriva=devicekit"
-RECIPE_LATEST_VERSION_pn-devicekit = "3"
-RECIPE_MAINTAINER_pn-devicekit = "Kevin Tian <kevin.tian@intel.com>"
-
-RECIPE_STATUS_pn-devicekit-power = "red"
-RECIPE_LATEST_VERSION_pn-devicekit-power = "n/a"
-RECIPE_MAINTAINER_pn-devicekit-power = "Kevin Tian <kevin.tian@intel.com>"
-DISTRO_PN_ALIAS_pn-deviceKit-power = "Mandriva=devicekit-power Fedora=DeviceKit-power"
-
RECIPE_STATUS_pn-fuse = "red"
RECIPE_LATEST_VERSION_pn-fuse = "2.8.4"
+RECIPE_LAST_UPDATE_pn-fuse = "Nov 6, 2008"
RECIPE_MAINTAINER_pn-fuse = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-msynctool = "green"
-DEPENDENCY_CHECK_pn-msynctool = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-msynctool = "not done"
RECIPE_LATEST_VERSION_pn-msynctool = "0.38"
RECIPE_INTEL_SECTION_pn-msynctool = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-msynctool = "3 months"
RECIPE_LATEST_RELEASE_DATE_pn-msynctool = "2008/11/11"
RECIPE_COMMENTS_pn-msynctool = ""
+RECIPE_LAST_UPDATE_pn-msynctool = "Nov 18, 2010"
RECIPE_MAINTAINER_pn-msynctool = "Dongxiao Xu <dongxiao.xu@intel.com>"
DISTRO_PN_ALIAS_pn-msynctool = "OpenSuse=msynctool Mandriva=msynctool"
RECIPE_STATUS_pn-mtools = "green"
-DEPENDENCY_CHECK_pn-mtools = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-mtools = "not done"
RECIPE_LATEST_VERSION_pn-mtools = "4.0.15"
RECIPE_INTEL_SECTION_pn-mtools = "optional"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-mtools = "1 day"
RECIPE_LATEST_RELEASE_DATE_pn-mtools = "2010/10/17"
RECIPE_COMMENTS_pn-mtools = ""
RECIPE_LATEST_VERSION_pn-mtools = "4.0.15"
+RECIPE_LAST_UPDATE_pn-mtools = "Nov 23, 2010"
RECIPE_MAINTAINER_pn-mtools = "Scott Garman <scott.a.garman@intel.com>"
RECIPE_STATUS_pn-pm-utils = "green"
-DEPENDENCY_CHECK_pn-pm-utils = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-pm-utils = "not done"
RECIPE_LATEST_VERSION_pn-pm-utils = "1.4.1"
RECIPE_INTEL_SECTION_pn-pm-utils = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-pm-utils = "15 days"
RECIPE_LATEST_RELEASE_DATE_pn-pm-utils = "2010o/07/04"
RECIPE_COMMENTS_pn-pm-utils = ""
+RECIPE_LAST_UPDATE_pn-pm-utils = "Nov 18, 2010"
RECIPE_MAINTAINER_pn-pm-utils = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-psmisc = "red"
RECIPE_LATEST_VERSION_pn-psmisc = "22.13"
+RECIPE_LAST_UPDATE_pn-psmisc = "Jan 18, 2008"
RECIPE_MAINTAINER_pn-psmisc = "Kevin Tian <kevin.tian@intel.com>"
RECIPE_STATUS_pn-boost = "red"
RECIPE_LATEST_VERSION_pn-boost = "1.44.0"
+RECIPE_LAST_UPDATE_pn-boost = "Aug 19, 2010"
RECIPE_MAINTAINER_pn-boost = "Qing He <qing.he@intel.com>"
RECIPE_STATUS_pn-boost-jam-native = "red"
RECIPE_LATEST_VERSION_pn-boost-jam-native = "3.1.18"
+RECIPE_LAST_UPDATE_pn-boost-jam-native = "Aug 19, 2010"
RECIPE_MAINTAINER_pn-boost-jam-native = "Qing He <qing.he@intel.com>"
RECIPE_STATUS_pn-libfribidi = "red"
DISTRO_PN_ALIAS_pn-libfribidi = "OpenSuSE=fribidi Ubuntu=fribidi Mandriva=fribidi Debian=fribidi"
RECIPE_LATEST_VERSION_pn-libfribidi = "0.19.2"
+RECIPE_LAST_UPDATE_pn-libfribidi = "Jan 12, 2007"
RECIPE_MAINTAINER_pn-libfribidi = "Kevin Tian <kevin.tian@intel.com>"
-RECIPE_STATUS_pn-shasum-native = "red"
-RECIPE_LATEST_VERSION_pn-shasum-native = "1.0"
-DISTRO_PN_ALIAS_pn-cdrtools-native = "Poky"
-RECIPE_MAINTAINER_pn-shasum-native = "Kevin Tian <kevin.tian@intel.com>"
-
RECIPE_STATUS_pn-rpcbind = "green"
-DEPENDENCY_CHECK_pn-rpcbind = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-rpcbind = "not done"
RECIPE_LATEST_VERSION_pn-rpcbind = "0.2.0"
RECIPE_NO_OF_PATCHES_pn-rpcbind = "0"
RECIPE_INTEL_SECTION_pn-rpcbind = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-rpcbind = "6 months"
RECIPE_LATEST_RELEASE_DATE_pn-rpcbind = "05/2009"
RECIPE_COMMENTS_pn-rpcbind = ""
+RECIPE_LAST_UPDATE_pn-rpcbind = "Sep 1, 2010"
RECIPE_MAINTAINER_pn-rpcbind = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-time = "green"
+RECIPE_LAST_UPDATE_pn-time = "Dec 14, 2006"
RECIPE_MAINTAINER_pn-time = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-time = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-time = "not done"
RECIPE_LATEST_VERSION_pn-time = "1.7"
RECIPE_INTEL_SECTION_pn-time = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-time = "n/a"
@@ -1266,8 +1309,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-time = "07/1996"
RECIPE_COMMENTS_pn-time = ""
RECIPE_STATUS_pn-bzip2 = "yellow" # local config scripts
+RECIPE_LAST_UPDATE_pn-bzip2 = "Nov 3, 2010"
RECIPE_MAINTAINER_pn-bzip2 = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-bzip2 = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-bzip2 = "not done"
RECIPE_LATEST_VERSION_pn-bzip2 = "1.0.6"
RECIPE_PATCH_pn-bzip2+configure.ac = "override default build method"
RECIPE_PATCH_pn-bzip2+Makefile.am = "override default build method"
@@ -1277,8 +1321,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-bzip2 = "03/2008"
RECIPE_COMMENTS_pn-bzip2 = "bzip2 license is 3-clause BSD plus an renaming clause"
RECIPE_STATUS_pn-portmap = "yellow"
+RECIPE_LAST_UPDATE_pn-portmap = "Aug 27, 2007"
RECIPE_MAINTAINER_pn-portmap = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-portmap = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-portmap = "not done"
RECIPE_LATEST_VERSION_pn-portmap = "6.0"
RECIPE_PATCH_pn-portmap+dest-dir-no-strip = "override default build method"
RECIPE_PATCH_pn-portmap+no-libwrap = "override default build method"
@@ -1290,18 +1335,17 @@ RECIPE_COMMENTS_pn-portmap = "most part is under 4-clause BSD, Sun RPC code is u
however debian portmap package licenses RPC code under 3-clause BSD. This needs further investigation"
RECIPE_STATUS_pn-grub = "green"
+RECIPE_LAST_UPDATE_pn-grub = "Oct 8, 2008"
RECIPE_MAINTAINER_pn-grub = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-grub = "not done"
+RECIPE_NO_UPDATE_REASON_pn-grub="grub2 is a different thing"
RECIPE_LATEST_VERSION_pn-grub = "0.97"
-RECIPE_PATCH_pn-grub+autohell = "fix configure"
RECIPE_INTEL_SECTION_pn-grub = "base utils"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-grub = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-grub = "12/2005"
-RECIPE_COMMENTS_pn-grub = ""
RECIPE_STATUS_pn-update-rc.d = "green"
+RECIPE_LAST_UPDATE_pn-update-rc.d = "Jul 21, 2006"
RECIPE_MAINTAINER_pn-update-rc.d = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-update-rc.d = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-update-rc.d = "not done"
RECIPE_LATEST_VERSION_pn-update-rc.d = "0.7"
RECIPE_PATCH_pn-update-rc.d+add-verbose = "add verbosity"
RECIPE_INTEL_SECTION_pn-update-rc.d = "base utils"
@@ -1310,8 +1354,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-update-rc.d = "unknown"
RECIPE_COMMENTS_pn-update-rc.d = ""
RECIPE_STATUS_pn-update-modules = "green"
+RECIPE_LAST_UPDATE_pn-update-modules = "Jul 21, 2006"
RECIPE_MAINTAINER_pn-update-modules = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-update-modules = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-update-modules = "not done"
RECIPE_LATEST_VERSION_pn-update-modules = "1.0"
RECIPE_PATCH_pn-update-modules+update-modules = "local file"
RECIPE_INTEL_SECTION_pn-update-modules = "base utils"
@@ -1321,8 +1366,9 @@ DISTRO_PN_ALIAS_pn-update-modules = "Poky"
RECIPE_COMMENTS_pn-update-modules = ""
RECIPE_STATUS_pn-udev-extraconf = "green"
+RECIPE_LAST_UPDATE_pn-udev-extraconf = "Jul 19, 2008"
RECIPE_MAINTAINER_pn-udev-extraconf = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-udev-extraconf = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-udev-extraconf = "not done"
RECIPE_LATEST_VERSION_pn-udev-extraconf = "0.0"
RECIPE_PATCH_pn-udev-extraconf+mount.blacklist = "add mount blacklist"
RECIPE_INTEL_SECTION_pn-udev-extraconf = "base utils"
@@ -1332,8 +1378,9 @@ DISTRO_PN_ALIAS_pn-udev-extraconf = "Poky"
RECIPE_COMMENTS_pn-udev-extraconf = ""
RECIPE_STATUS_pn-bash = "green"
+RECIPE_LAST_UPDATE_pn-bash = "Jun 17, 2010"
RECIPE_MAINTAINER_pn-bash = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-bash = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-bash = "not done"
RECIPE_LATEST_VERSION_pn-bash = "4.1"
RECIPE_PATCH_pn-bash+upstream-patches = "upstream patches on source mirrors"
RECIPE_INTEL_SECTION_pn-bash = "base utils"
@@ -1342,8 +1389,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-bash = "12/2009"
RECIPE_COMMENTS_pn-bash = ""
RECIPE_STATUS_pn-syslinux = "yellow" # need mangling on LDFLAGS
+RECIPE_LAST_UPDATE_pn-syslinux = "Nov 16, 2010"
RECIPE_MAINTAINER_pn-syslinux = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-syslinux = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-syslinux = "not done"
RECIPE_LATEST_VERSION_pn-syslinux = "3.86"
RECIPE_PATCH_pn-syslinux+cross-build = "use poky toolchain instead of host"
RECIPE_INTEL_SECTION_pn-syslinux = "base utils"
@@ -1352,8 +1400,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-syslinux = "04/2010"
RECIPE_COMMENTS_pn-syslinux = ""
RECIPE_STATUS_pn-sysvinit = "green"
+RECIPE_LAST_UPDATE_pn-sysvinit = "Jun 18, 2010"
RECIPE_MAINTAINER_pn-sysvinit = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-sysvinit = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-sysvinit = "not done"
RECIPE_LATEST_VERSION_pn-sysvinit = "2.88dsf"
RECIPE_PATCH_pn-sysvinit+install = "use poky environment variables"
RECIPE_INTEL_SECTION_pn-sysvinit = "base utils"
@@ -1362,8 +1411,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-sysvinit = "04/2010"
RECIPE_COMMENTS_pn-sysvinit = ""
RECIPE_STATUS_pn-sysfsutils = "green"
+RECIPE_LAST_UPDATE_pn-sysfsutils = "Jun 18, 2010"
RECIPE_MAINTAINER_pn-sysfsutils = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-sysfsutils = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-sysfsutils = "not done"
RECIPE_LATEST_VERSION_pn-sysfsutils = "2.1.0"
RECIPE_INTEL_SECTION_pn-sysfsutils = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-sysfsutils = "n/a"
@@ -1371,8 +1421,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-sysfsutils = "08/2006"
RECIPE_COMMENTS_pn-sysfsutils = ""
RECIPE_STATUS_pn-curl = "green"
+RECIPE_LAST_UPDATE_pn-curl = "Nov 9, 2010"
RECIPE_MAINTAINER_pn-curl = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-curl = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-curl = "not done"
RECIPE_LATEST_VERSION_pn-curl = "7.21.0"
RECIPE_PATCH_pn-curl+noldlibpath = "no bother set LD_LIBRARY_PATH since we are cross compiling"
RECIPE_PATCH_pn-curl+pkgconfig-fix = "fix libcurl.pc"
@@ -1383,8 +1434,9 @@ RECIPE_COMMENTS_pn-curl = ""
RECIPE_STATUS_pn-gconf-dbus = "green"
DISTRO_PN_ALIAS_pn-gconf-dbus = "Meego=GConf-dbus"
+RECIPE_LAST_UPDATE_pn-gconf-dbus = "Jul 16, 2010"
RECIPE_MAINTAINER_pn-gconf-dbus = "Yu Ke <ke.yu@intel.com>"
-DEPENDENCY_CHECK_pn-gconf-dbus = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-gconf-dbus = "not done"
RECIPE_LATEST_VERSION_pn-gconf-dbus = "2.16.0+svnr705"
RECIPE_INTEL_SECTION_pn-gconf-dbus = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gconf-dbus = "n/a"
@@ -1392,8 +1444,9 @@ 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-elfutils ="green" # no update needed
+RECIPE_LAST_UPDATE_pn-elfutils = "Jul 16, 2010"
RECIPE_MAINTAINER_pn-elfutils = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-gconf-dbus = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-gconf-dbus = "not done"
RECIPE_LATEST_VERSION_pn-elfutils="0.148"
RECIPE_INTEL_SECTION_pn-gconf-dbus = "base utils"
RECIPE_NO_OF_PATCHES_pn-elfutils="9"
@@ -1401,8 +1454,9 @@ RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-elfutils="1 month"
RECIPE_LATEST_RELEASE_DATE_pn-elfutils="06/2010"
RECIPE_STATUS_pn-pkgconfig = "green"
+RECIPE_LAST_UPDATE_pn-pkgconfig = "Jul 13, 2010"
RECIPE_MAINTAINER_pn-pkgconfig = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-pkgconfig = "not done"
+RECIPE_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"
@@ -1410,8 +1464,9 @@ 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"
+RECIPE_LAST_UPDATE_pn-less = "Jul 6, 2010"
RECIPE_MAINTAINER_pn-less = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-less = "done"
+RECIPE_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"
@@ -1419,8 +1474,9 @@ 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 = "green"
+RECIPE_LAST_UPDATE_pn-genext2fs = "Jul 12, 2010"
RECIPE_MAINTAINER_pn-genext2fs = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-genext2fs = "not done"
+RECIPE_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"
@@ -1428,8 +1484,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-genext2fs = "04/2007"
RECIPE_COMMENTS_pn-genext2fs = ""
RECIPE_STATUS_pn-findutils = "green"
+RECIPE_LAST_UPDATE_pn-findutils = "Jul 8, 2010"
RECIPE_MAINTAINER_pn-findutils = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-findutils = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-findutils = "not done"
RECIPE_PATCH_pn-findutils_01-27017 = "upstream patch"
RECIPE_PATCH_pn-findutils_01-28824 = "upstream patch"
RECIPE_PATCH_pn-findutils_01-28872 = "upstream patch"
@@ -1440,8 +1497,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-findutils = "06/2009"
RECIPE_COMMENTS_pn-findutils = ""
RECIPE_STATUS_pn-file = "green"
+RECIPE_LAST_UPDATE_pn-file = "Jul 6, 2010"
RECIPE_MAINTAINER_pn-file = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-file = "done"
+RECIPE_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"
@@ -1451,8 +1509,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-file = "01/2010"
RECIPE_COMMENTS_pn-file = "2-clause BSD"
RECIPE_STATUS_pn-rsync = "green"
+RECIPE_LAST_UPDATE_pn-rsync = "Jul 6, 2010"
RECIPE_MAINTAINER_pn-rsync = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-rsync = "done"
+RECIPE_DEPENDENCY_CHECK_pn-rsync = "done"
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"
@@ -1462,8 +1521,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-rsync = "12/2009"
RECIPE_COMMENTS_pn-rsync = ""
RECIPE_STATUS_pn-nfs-utils = "yellow" # no auto stage
+RECIPE_LAST_UPDATE_pn-nfs-utils = "Nov 9, 2010"
RECIPE_MAINTAINER_pn-nfs-utils = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-nfs-utils = "done" # still missing libwrap, libgss, libtirpc
+RECIPE_DEPENDENCY_CHECK_pn-nfs-utils = "done" # still missing libwrap, libgss, libtirpc
RECIPE_LATEST_VERSION_pn-nfs-utils = "1.2.3"
RECIPE_PATCH_pn-nfs-utils+nfs-utils-1.0.6-uclibc.patch = "uclibc missing some functions"
RECIPE_PATCH_pn-nfs-utils+nfsserver = "init script"
@@ -1473,8 +1533,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-nfs-utils = "02/2010"
RECIPE_COMMENTS_pn-nfs-utils = ""
RECIPE_STATUS_pn-dropbear = "green"
+RECIPE_LAST_UPDATE_pn-dropbear = "Jul 5, 2010"
RECIPE_MAINTAINER_pn-dropbear = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-dropbear = "not done"
+RECIPE_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"
@@ -1487,8 +1548,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-dropbear = "11/2008"
RECIPE_COMMENTS_pn-dropbear = ""
RECIPE_STATUS_pn-hal = "green"
+RECIPE_LAST_UPDATE_pn-hal = "Jul 20, 2010"
RECIPE_MAINTAINER_pn-hal = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-hal = "not done"
+RECIPE_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"
@@ -1497,8 +1559,9 @@ RECIPE_COMMENTS_pn-hal = "The licensing is very complicated, Most files are GPLv
with some borrowed code under LGPLv2.1, AFL itself is incompatible with GPL/LGPL"
RECIPE_STATUS_pn-hal-info = "green"
+RECIPE_LAST_UPDATE_pn-hal-info = "Jul 20, 2010"
RECIPE_MAINTAINER_pn-hal-info = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-hal-info = "not done"
+RECIPE_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"
@@ -1506,8 +1569,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-hal-info = "11/2009"
RECIPE_COMMENTS_pn-hal-info = ""
RECIPE_STATUS_pn-avahi = "green"
+RECIPE_LAST_UPDATE_pn-avahi = "Nov 19, 2010"
RECIPE_MAINTAINER_pn-avahi = "Edwin Zhai <edwin.zhai@intel.com>"
-DEPENDENCY_CHECK_pn-avahi = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-avahi = "not done"
RECIPE_LATEST_VERSION_pn-avahi = "0.6.28"
RECIPE_INTEL_SECTION_pn-avahi = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-avahi = "3 month"
@@ -1515,8 +1579,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-avahi = "10/2010"
RECIPE_COMMENTS_pn-avahi = ""
RECIPE_STATUS_pn-js = "yellow" # may not work for platforms other than 32bit x86
+RECIPE_LAST_UPDATE_pn-js = "Jul 5, 2010"
RECIPE_MAINTAINER_pn-js = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-js = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-js = "not done"
RECIPE_LATEST_VERSION_pn-js = "1.7.0+1.8.0rc1"
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"
@@ -1527,8 +1592,9 @@ 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 = "green"
+RECIPE_LAST_UPDATE_pn-pcmciautils = "Jul 14, 2010"
RECIPE_MAINTAINER_pn-pcmciautils = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-pcmciautils = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-pcmciautils = "not done"
RECIPE_LATEST_VERSION_pn-pcmciautils = "017"
RECIPE_PATCH_pn-pcmciautils+makefile-fix = "fix absolute path"
RECIPE_PATCH_pn-pcmciautils+version-workaround = "avoid a macro"
@@ -1538,8 +1604,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-pcmciautils = "01/2010"
RECIPE_COMMENTS_pn-pcmciautils = ""
RECIPE_STATUS_pn-unzip = "green"
+RECIPE_LAST_UPDATE_pn-unzip = "Jul 5, 2010"
RECIPE_MAINTAINER_pn-unzip = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-unzip = "not done"
+RECIPE_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"
@@ -1547,8 +1614,9 @@ 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"
+RECIPE_LAST_UPDATE_pn-zip = "Jul 6, 2010"
RECIPE_MAINTAINER_pn-zip = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-zip = "not done"
+RECIPE_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"
@@ -1556,8 +1624,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-zip = "09/2009"
RECIPE_COMMENTS_pn-zip = ""
RECIPE_STATUS_pn-strace = "green"
+RECIPE_LAST_UPDATE_pn-strace = "May 25, 2010"
RECIPE_MAINTAINER_pn-strace = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-strace = "not done"
+RECIPE_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"
@@ -1565,17 +1634,17 @@ RECIPE_LATEST_RELEASE_DATE_pn-strace = "04/2010"
RECIPE_COMMENTS_pn-strace = "3-clause BSD"
RECIPE_STATUS_pn-dhcp = "green"
+RECIPE_LAST_UPDATE_pn-dhcp = "Nov 17, 2010"
RECIPE_MAINTAINER_pn-dhcp = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-dhcp = "not done"
-RECIPE_LATEST_VERSION_pn-dhcp = "4.1.1-P1"
+RECIPE_LATEST_VERSION_pn-dhcp = "4.2.0-P2"
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_LATEST_RELEASE_DATE_pn-dhcp = "12/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
+RECIPE_LAST_UPDATE_pn-udev = "Jul 6, 2010"
RECIPE_MAINTAINER_pn-v86d = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-v86d = "not done"
+RECIPE_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"
@@ -1585,8 +1654,9 @@ RECIPE_COMMENTS_pn-v86d = "contains code under other licenses"
DISTRO_PN_ALIAS_pn-v86d = "Debian=v86d Ubuntu=v86d"
RECIPE_STATUS_pn-udev = "yellow" # needs to delete old versions
+RECIPE_LAST_UPDATE_pn-udev = "Dec 7, 2010"
RECIPE_MAINTAINER_pn-udev = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-udev = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-udev = "not done"
RECIPE_LATEST_VERSION_pn-udev = "158"
RECIPE_INTEL_SECTION_pn-udev = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-udev = "<1 month"
@@ -1594,8 +1664,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-udev = "06/2010"
RECIPE_COMMENTS_pn-udev = "may need different versions for different kernels"
RECIPE_STATUS_pn-tzdata = "green"
+RECIPE_LAST_UPDATE_pn-tzdata = "Nov 9, 2010"
RECIPE_MAINTAINER_pn-tzdata = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-tzdata = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-tzdata = "not done"
RECIPE_LATEST_VERSION_pn-tzdata = "2010o"
RECIPE_INTEL_SECTION_pn-tzdata = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-tzdata = "1 month"
@@ -1603,8 +1674,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-tzdata = "05/2010"
RECIPE_COMMENTS_pn-tzdata = ""
RECIPE_STATUS_pn-tinylogin = "yellow" # replaced, place holder for tracking
+RECIPE_LAST_UPDATE_pn-tinylogin = "Jul 21, 2006"
RECIPE_MAINTAINER_pn-tinylogin = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-tinylogin = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-tinylogin = "not done"
RECIPE_LATEST_VERSION_pn-tinylogin = "1.4"
RECIPE_INTEL_SECTION_pn-tinylogin = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-tinylogin = "n/a"
@@ -1613,8 +1685,9 @@ RECIPE_COMMENTS_pn-tinylogin = "merged into busybox"
DISTRO_PN_ALIAS_pn-tinylogin = "Debian=busybox Ubuntu=busybox Mandriva=busybox"
RECIPE_STATUS_pn-rpm = "red" # need upgrade
+RECIPE_LAST_UPDATE_pn-rpm = "Aug 20, 2010"
RECIPE_MAINTAINER_pn-rpm = "Joshua Lock <joshua.lock@intel.com>"
-DEPENDENCY_CHECK_pn-rpm = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-rpm = "not done"
RECIPE_LATEST_VERSION_pn-rpm = "5.1.10"
RECIPE_INTEL_SECTION_pn-rpm = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-rpm = "2 months"
@@ -1622,26 +1695,23 @@ 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 = "green"
+RECIPE_LAST_UPDATE_pn-shared-mime-info = "Nov 9, 2010"
RECIPE_MAINTAINER_pn-shared-mime-info = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-shared-mime-info = "not done"
-RECIPE_LATEST_VERSION_pn-shared-mime-info = "0.71"
+RECIPE_LATEST_VERSION_pn-shared-mime-info = "0.90"
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 = ""
RECIPE_STATUS_pn-util-linux = "green"
+RECIPE_LAST_UPDATE_pn-util-linux = "Jul 21, 2010"
RECIPE_MAINTAINER_pn-util-linux = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-util-linux = "note done"
-RECIPE_LATEST_VERSION_pn-util-linux = "2.17.2"
+RECIPE_LATEST_VERSION_pn-util-linux = "2.18"
RECIPE_INTEL_SECTION_pn-util-linux = "base utils"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-util-linux = "2 months"
-RECIPE_LATEST_RELEASE_DATE_pn-util-linux = "03/2010"
-RECIPE_COMMENTS_pn-util-linux = ""
+RECIPE_LATEST_RELEASE_DATE_pn-util-linux = "06/2010"
RECIPE_STATUS_pn-usbutils = "green"
+RECIPE_LAST_UPDATE_pn-usbutils = "Jul 30, 2010"
RECIPE_MAINTAINER_pn-usbutils = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-usbutils = "done"
+RECIPE_DEPENDENCY_CHECK_pn-usbutils = "done"
RECIPE_LATEST_VERSION_pn-usbutils = "0.86"
RECIPE_INTEL_SECTION_pn-usbutils = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-usbutils = "2 months"
@@ -1649,8 +1719,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-usbutils = "08/2009"
RECIPE_COMMENTS_pn-usbutils = ""
RECIPE_STATUS_pn-pciutils = "yellow" # custom build system, several hacks
+RECIPE_LAST_UPDATE_pn-pciutils = "Nov 10, 2010"
RECIPE_MAINTAINER_pn-pciutils = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-pciutils = "done"
+RECIPE_DEPENDENCY_CHECK_pn-pciutils = "done"
RECIPE_LATEST_VERSION_pn-pciutils = "3.1.7"
RECIPE_PATCH_pn-pciutils+configure = "fix for a handwritten config"
RECIPE_PATCH_pn-pciutils+guess-fix = "fix arch guess algorithm"
@@ -1662,8 +1733,9 @@ RECIPE_LATEST_RELEASE_DATE_pn-pciutils = "01/2010"
RECIPE_COMMENTS_pn-pciutils = ""
RECIPE_STATUS_pn-gamin = "green"
+RECIPE_LAST_UPDATE_pn-gamin = "Aug 12, 2010"
RECIPE_MAINTAINER_pn-gamin = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-gamin = "done"
+RECIPE_DEPENDENCY_CHECK_pn-gamin = "done"
RECIPE_LATEST_VERSION_pn-gamin = "0.1.10"
RECIPE_PATCH_pn-gamin+no-abstract-socket = "disable abstract socket support"
RECIPE_INTEL_SECTION_pn-gamin = "base utils"
@@ -1672,47 +1744,57 @@ RECIPE_LATEST_RELEASE_DATE_pn-gamin = "11/2008"
RECIPE_COMMENTS_pn-gamin = ""
RECIPE_STATUS_pn-zypper = "green"
-DEPENDENCY_CHECK_pn-zypper = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-zypper = "not done"
+RECIPE_LAST_UPDATE_pn-zypper = "Aug 20, 2010"
RECIPE_MAINTAINER_pn-zypper = "Qing He <qing.he@intel.com>"
RECIPE_LATEST_VERSION_pn-zypper = "git"
RECIPE_INTEL_SECTION_pn-zypper = "base utils"
RECIPE_COMMENTS_pn-zypper = ""
-RECIPE_STATUS_pn-sysstat = "red" # need upgrade
+RECIPE_STATUS_pn-sysstat = "green"
+RECIPE_LAST_UPDATE_pn-sysstat = "Nov 17, 2010"
RECIPE_MAINTAINER_pn-sysstat = "Qing He <qing.he@intel.com>"
RECIPE_LATEST_VERSION_pn-sysstat = "9.1.6"
RECIPE_STATUS_pn-sysklogd = "red" # need upgrade
+RECIPE_LAST_UPDATE_pn-sysklogd = "Aug 27, 2010"
RECIPE_MAINTAINER_pn-sysklogd = "Qing He <qing.he@intel.com>"
RECIPE_LATEST_VERSION_pn-sysklogd = "1.5"
RECIPE_STATUS_pn-gawk = "red" # need upgrade
+RECIPE_LAST_UPDATE_pn-gawk = "Aug 27, 2010"
RECIPE_MAINTAINER_pn-gawk = "Qing He <qing.he@intel.com>"
RECIPE_LATEST_VERSION_pn-gawk = "3.1.7"
RECIPE_STATUS_pn-mktemp="red"
+RECIPE_LAST_UPDATE_pn-mktemp = "Jul 29, 2010"
RECIPE_MAINTAINER_pn-mktemp="Yu Ke <ke.yu@intel.com>"
RECIPE_LATEST_VERSION_pn-mktemp="1.7"
RECIPE_STATUS_pn-iputils="red"
+RECIPE_LAST_UPDATE_pn-iputils = "Jul 29, 2010"
RECIPE_MAINTAINER_pn-iputils="Yu Ke <ke.yu@intel.com>"
RECIPE_LATEST_VERSION_pn-iputils="s20100418"
RECIPE_STATUS_pn-xinetd="red"
+RECIPE_LAST_UPDATE_pn-xinetd = "Jul 28, 2010"
RECIPE_MAINTAINER_pn-xinetd="Yu Ke <ke.yu@intel.com>"
RECIPE_LATEST_VERSION_pn-xinetd="2.3.14"
RECIPE_STATUS_pn-cracklib="green"
+RECIPE_LAST_UPDATE_pn-cracklib = "Nov 13, 2010"
RECIPE_MAINTAINER_pn-cracklib="Yu Ke <ke.yu@intel.com>"
RECIPE_LATEST_VERSION_pn-cracklib="2.8.18"
RECIPE_STATUS_pn-openobex = "red"
RECIPE_LATEST_VERSION_pn-openobex = "1.5"
+RECIPE_LAST_UPDATE_pn-openobex = "Jul 31, 2009"
RECIPE_MAINTAINER_pn-openobex = "Qing He <qing.he@intel.com>"
RECIPE_STATUS_pn-sed = "green"
+RECIPE_LAST_UPDATE_pn-sed = "Sep 1, 2010"
RECIPE_MAINTAINER_pn-sed = "Qing He <qing.he@intel.com>"
-DEPENDENCY_CHECK_pn-sed = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-sed = "not done"
RECIPE_LATEST_VERSION_pn-sed = "4.2.1"
RECIPE_INTEL_SECTION_pn-sed = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-sed = "2 months"
@@ -1721,32 +1803,40 @@ RECIPE_COMMENTS_pn-sed = "Qing maintains GPLv2 sed, while Dongxiao maintains GPL
RECIPE_STATUS_pn-aspell = "red"
RECIPE_LATEST_VERSION_pn-aspell = "0.60.6"
+RECIPE_LAST_UPDATE_pn-aspell = "Aug 16, 2010"
RECIPE_MAINTAINER_pn-aspell = "Qing He <qing.he@intel.com>"
-RECIPE_STATUS_pn-parted = "red"
+RECIPE_STATUS_pn-parted = "green"
RECIPE_LATEST_VERSION_pn-parted = "2.3"
+RECIPE_LAST_UPDATE_pn-parted = "Dec 30, 2010"
RECIPE_MAINTAINER_pn-parted = "Qing He <qing.he@intel.com>"
-RECIPE_STATUS_pn-resolvconf = "red"
-RECIPE_LATEST_VERSION_pn-resolvconf = "1.45"
+RECIPE_STATUS_pn-resolvconf = "green"
+RECIPE_LATEST_VERSION_pn-resolvconf = "1.48"
+RECIPE_LAST_UPDATE_pn-resolvconf = "Jan 20, 2011"
RECIPE_MAINTAINER_pn-resolvconf = "Qing He <qing.he@intel.com>"
RECIPE_STATUS_pn-openswan = "red"
RECIPE_LATEST_VERSION_pn-openswan = "2.6.26"
+RECIPE_LAST_UPDATE_pn-openswan = "Apr 13, 2007"
RECIPE_MAINTAINER_pn-openswan = "Qing He <qing.he@intel.com>"
RECIPE_STATUS_pn-u-boot-mkimage = "red"
DISTRO_PN_ALIAS_pn-u-boot-mkimage = "Ubuntu=uboot-mkimage Debian=uboot-mkimage"
+RECIPE_NO_UPDATE_REASON_pn-u-boot-mkimage ="target version is not used"
RECIPE_LATEST_VERSION_pn-u-boot-mkimage = "2010.03"
+RECIPE_LAST_UPDATE_pn-u-boot-mkimage = "Dec 15, 2009"
RECIPE_MAINTAINER_pn-u-boot-mkimage = "Qing He <qing.he@intel.com>"
-RECIPE_STATUS_pn-zaurusd = "red"
-RECIPE_LATEST_VERSION_pn-zaurusd = "n/a"
+RECIPE_STATUS_pn-zaurusd = "green"
+RECIPE_LATEST_VERSION_pn-zaurusd = "0.0+svnr426"
DISTRO_PN_ALIAS_pn-zaurusd = "OpenedHand"
+RECIPE_LAST_UPDATE_pn-zaurusd = "Jan 20, 2011"
RECIPE_MAINTAINER_pn-zaurusd = "Qing He <qing.he@intel.com>"
RECIPE_STATUS_pn-yaffs2-utils = "red"
RECIPE_LATEST_VERSION_pn-yaffs2-utils = ""
+RECIPE_LAST_UPDATE_pn-yaffs2-utils = "Nov 7, 2007"
RECIPE_MAINTAINER_pn-yaffs2-utils = "Qing He <qing.he@intel.com>"
DISTRO_PN_ALIAS_pn-yaffs2-utils = "OSPDT upstream=http://www.yaffs.net"
@@ -1757,27 +1847,33 @@ RECIPE_MAINTAINER_pn-usbinit = "Qing He <qing.he@intel.com>"
RECIPE_STATUS_pn-ubootchart = "red"
RECIPE_LATEST_VERSION_pn-ubootchart = "0.0+r12"
+RECIPE_LAST_UPDATE_pn-ubootchart = "Nov 6, 2007"
RECIPE_MAINTAINER_pn-ubootchart = "Qing He <qing.he@intel.com>"
DISTRO_PN_ALIAS_pn-ubootchart = "OSPDT upstream=http://code.google.com/p/ubootchart"
RECIPE_STATUS_pn-tiff = "red"
RECIPE_LATEST_VERSION_pn-tiff = "3.9.4"
+RECIPE_LAST_UPDATE_pn-tiff = "Aug 25, 2008"
RECIPE_MAINTAINER_pn-tiff = "Qing He <qing.he@intel.com>"
RECIPE_STATUS_pn-libexif = "red"
RECIPE_LATEST_VERSION_pn-libexif = "0.6.19"
+RECIPE_LAST_UPDATE_pn-libexif = "Nov 22, 2010"
RECIPE_MAINTAINER_pn-libexif = "Qing He <qing.he@intel.com>"
RECIPE_STATUS_pn-setserial = "red"
RECIPE_LATEST_VERSION_pn-setserial = "2.17"
+RECIPE_LAST_UPDATE_pn-setserial = "Jul 21, 2006"
RECIPE_MAINTAINER_pn-setserial = "Qing He <qing.he@intel.com>"
RECIPE_STATUS_pn-hdparm = "red"
RECIPE_LATEST_VERSION_pn-hdparm = "6.3"
+RECIPE_LAST_UPDATE_pn-hdparm = "Jul 21, 2006"
RECIPE_MAINTAINER_pn-hdparm = "Qing He <qing.he@intel.com>"
RECIPE_STATUS_pn-wbxml2 = "red"
RECIPE_LATEST_VERSION_pn-wbxml2 = "0.10.8"
+RECIPE_LAST_UPDATE_pn-wbxml2 = "Jan 3, 2007"
RECIPE_MAINTAINER_pn-wbxml2 = "Qing He <qing.he@intel.com>"
RECIPE_STATUS_pn-qemu-config = "red"
@@ -1786,7 +1882,7 @@ DISTRO_PN_ALIAS_pn-qemu-config = "OpenedHand"
RECIPE_MAINTAINER_pn-qemu-config = "Qing He <qing.he@intel.com>"
RECIPE_STATUS_pn-qemu-helper-native = "green"
-DEPENDENCY_CHECK_pn-qemu-helper-native = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-qemu-helper-native = "not done"
RECIPE_LATEST_VERSION_pn-qemu-helper-native = "r0"
RECIPE_NO_OF_PATCHES_pn-qemu-helper-native = "0"
RECIPE_INTEL_SECTION_pn-qemu-helper-native = "base utils"
@@ -1794,20 +1890,22 @@ RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-qemu-helper-native = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-qemu-helper-native = "n/a"
RECIPE_COMMENTS_pn-qemu-helper-native = ""
DISTRO_PN_ALIAS_pn-qemu-helper-native = "OpenedHand"
+RECIPE_LAST_UPDATE_pn-qemu-helper-native = "Aug 5, 2010"
RECIPE_MAINTAINER_pn-qemu-helper-native = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-qemu = "green"
-DEPENDENCY_CHECK_pn-qemu = "not done"
-RECIPE_LATEST_VERSION_pn-qemu = "0.12.4"
+RECIPE_DEPENDENCY_CHECK_pn-qemu = "not done"
+RECIPE_LATEST_VERSION_pn-qemu = "0.13.0"
RECIPE_NO_OF_PATCHES_pn-qemu = "12"
RECIPE_INTEL_SECTION_pn-qemu = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-qemu = "3 months"
-RECIPE_LATEST_RELEASE_DATE_pn-qemu = "05/2010"
+RECIPE_LATEST_RELEASE_DATE_pn-qemu = "10/2010"
RECIPE_COMMENTS_pn-qemu = ""
+RECIPE_LAST_UPDATE_pn-qemu = "Jan 15, 2011"
RECIPE_MAINTAINER_pn-qemu = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-qemu-helper-nativesdk = "green"
-DEPENDENCY_CHECK_pn-qemu-helper-nativesdk = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-qemu-helper-nativesdk = "not done"
RECIPE_LATEST_VERSION_pn-qemu-helper-nativesdk = "r7"
RECIPE_NO_OF_PATCHES_pn-qemu-helper-nativesdk = "0"
RECIPE_INTEL_SECTION_pn-qemu-helper-nativesdk = "base utils"
@@ -1815,60 +1913,68 @@ RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-qemu-helper-nativesdk = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-qemu-helper-nativesdk = "n/a"
RECIPE_COMMENTS_pn-qemu-helper-nativesdk = ""
DISTRO_PN_ALIAS_pn-qemu-helper-nativesdk = "OpenedHand"
+RECIPE_LAST_UPDATE_pn-qemu-helper-nativesdk = "Sep 17, 2009"
RECIPE_MAINTAINER_pn-qemu-helper-nativesdk = "Scott Garman <scott.a.garman@intel.com>"
RECIPE_STATUS_pn-at = "green"
-DEPENDENCY_CHECK_pn-at = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-at = "not done"
RECIPE_LATEST_VERSION_pn-at = "3.1.12"
RECIPE_INTEL_SECTION_pn-at = "base"
RECIPE_NO_OF_PATCHES_pn-at = "3"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-at = "13 months"
RECIPE_LATEST_RELEASE_DATE_pn-at = "11/2009"
+RECIPE_LAST_UPDATE_pn-at = "Jul 23, 2010"
RECIPE_MAINTAINER_pn-at = "Scott Garman <scott.a.garman@intel.com>"
RECIPE_STATUS_pn-cpio = "green"
-DEPENDENCY_CHECK_pn-cpio = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-cpio = "not done"
RECIPE_LATEST_VERSION_pn-cpio = "2.11"
RECIPE_INTEL_SECTION_pn-cpio = "base"
RECIPE_NO_OF_PATCHES_pn-cpio = "0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-cpio = "9 months"
RECIPE_LATEST_RELEASE_DATE_pn-cpio = "03/2010"
+RECIPE_LAST_UPDATE_pn-cpio = "Sep 25, 2010"
RECIPE_MAINTAINER_pn-cpio = "Scott Garman <scott.a.garman@intel.com>"
RECIPE_STATUS_pn-cronie = "green"
-DEPENDENCY_CHECK_pn-cronie = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-cronie = "not done"
RECIPE_LATEST_VERSION_pn-cronie = "1.4.4"
+RECIPE_MANUAL_CHECK_DATE_pn-cronie = "Jan 28, 2011"
RECIPE_INTEL_SECTION_pn-cronie = "base"
RECIPE_NO_OF_PATCHES_pn-cronie = "0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-cronie = "3 months"
RECIPE_LATEST_RELEASE_DATE_pn-cronie = "02/2010"
+RECIPE_LAST_UPDATE_pn-cronie = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-cronie = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-grep = "green"
-DEPENDENCY_CHECK_pn-grep = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-grep = "not done"
RECIPE_LATEST_VERSION_pn-grep = "2.7"
RECIPE_INTEL_SECTION_pn-grep = "base"
RECIPE_NO_OF_PATCHES_pn-grep = "0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-grep = "5 months"
RECIPE_LATEST_RELEASE_DATE_pn-grep = "09/2010"
+RECIPE_LAST_UPDATE_pn-grep = "Sep 24, 2010"
RECIPE_MAINTAINER_pn-grep = "Scott Garman <scott.a.garman@intel.com>"
RECIPE_STATUS_pn-openssh = "red"
-DEPENDENCY_CHECK_pn-openssh = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-openssh = "not done"
RECIPE_LATEST_VERSION_pn-openssh = "5.6p1"
RECIPE_INTEL_SECTION_pn-openssh = "base"
RECIPE_NO_OF_PATCHES_pn-openssh = "1"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-openssh = "4 months"
RECIPE_LATEST_RELEASE_DATE_pn-openssh = "08/2010"
+RECIPE_LAST_UPDATE_pn-openssh = "Aug 31, 2010"
RECIPE_MAINTAINER_pn-openssh = "Scott Garman <scott.a.garman@intel.com>"
RECIPE_STATUS_pn-tar = "green"
-DEPENDENCY_CHECK_pn-tar = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-tar = "not done"
RECIPE_LATEST_VERSION_pn-tar = "1.25"
RECIPE_INTEL_SECTION_pn-tar = "base"
RECIPE_NO_OF_PATCHES_pn-tar = "2"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-tar = "2 weeks"
RECIPE_LATEST_RELEASE_DATE_pn-tar = "11/2010"
+RECIPE_LAST_UPDATE_pn-tar = "Nov 17, 2010"
RECIPE_MAINTAINER_pn-tar = "Scott Garman <scott.a.garman@intel.com>"
RECIPE_STATUS_pn-lrzsz="yellow" # patch investigation needed.
@@ -1876,6 +1982,8 @@ RECIPE_LATEST_VERSION_pn-lrzsz="0.12.20"
RECIPE_NO_OF_PATCHES_pn-lrzsz="3"
RECIPE_LATEST_RELEASE_DATE_pn-lrzsz="1998/12/31"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-lrzsz="12 months"
+RECIPE_LAST_UPDATE_pn-lrzsz = "Jul 21, 2006"
+RECIPE_MANUAL_CHECK_DATE_pn-lrzsz = "Jan 30, 2011"
RECIPE_MAINTAINER_pn-lrzsz = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-wireless-tools="yellow" # patch investigation needed
@@ -1883,6 +1991,8 @@ RECIPE_LATEST_VERSION_pn-wireless-tools="29"
RECIPE_NO_OF_PATCHES_pn-wireless-tools="3"
RECIPE_LATEST_RELEASE_DATE_pn-wireless-tools="2007/09/18"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-wireless-tools="18 months"
+RECIPE_LAST_UPDATE_pn-wireless-tools = "Oct 19, 2007"
+RECIPE_MANUAL_CHECK_DATE_pn-wireless-tools = "Jan 30, 2011"
RECIPE_MAINTAINER_pn-wireless-tools = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-bluez-dtl1-workaround="yellow" # LICENSE double check
@@ -1890,6 +2000,7 @@ RECIPE_LATEST_VERSION_pn-bluez-dtl1-workaround="1.0"
RECIPE_NO_OF_PATCHES_pn-bluez-dtl1-workaround="0"
RECIPE_LATEST_RELEASE_DATE_pn-bluez-dtl1-workaround="n/a"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-bluez-dtl1-workaround="n/a"
+RECIPE_LAST_UPDATE_pn-bluez-dtl1-workaround = "Aug 29, 2007"
RECIPE_MAINTAINER_pn-bluez-dtl1-workaround = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-irda-utils="green"
@@ -1897,15 +2008,17 @@ RECIPE_LATEST_VERSION_pn-irda-utils="0.9.18"
RECIPE_NO_OF_PATCHES_pn-irda-utils="0"
RECIPE_LATEST_RELEASE_DATE_pn-irda-utils="2006/07/10"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-irda-utils="4 months"
+RECIPE_LAST_UPDATE_pn-irda-utils = "Jun 25, 2010"
RECIPE_MAINTAINER_pn-irda-utils = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-bluez4="green"
DISTRO_PN_ALIAS_pn-bluez4="Meego=bluz Fedora=bluz Ubuntu=bluz OpenSuSE=bluz Mandriva=bluz"
-RECIPE_LATEST_VERSION_pn-bluez4="4.79"
+RECIPE_LATEST_VERSION_pn-bluez4="4.82"
RECIPE_NO_OF_PATCHES_pn-bluez4="2"
-RECIPE_LATEST_RELEASE_DATE_pn-bluez4="2010/11/08"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-bluez4="2 days"
+RECIPE_LATEST_RELEASE_DATE_pn-bluez4="2010/12/18"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-bluez4="20 days"
DISTRO_PN_ALIAS_pn-bluez4= "Fedora=bluez Ubuntu=bluez Debian=bluez-utils Opensuse=bluez"
+RECIPE_LAST_UPDATE_pn-bluez4 = "Dec 30, 2010"
RECIPE_MAINTAINER_pn-bluez4 = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libpcap="green"
@@ -1913,6 +2026,7 @@ RECIPE_LATEST_VERSION_pn-libpcap="1.1.1"
RECIPE_NO_OF_PATCHES_pn-libpcap="2"
RECIPE_LATEST_RELEASE_DATE_pn-libpcap="2010/04/05"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libpcap="2 months"
+RECIPE_LAST_UPDATE_pn-libpcap = "Jun 30, 2010"
RECIPE_MAINTAINER_pn-libpcap = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-wpa-supplicant="green"
@@ -1921,6 +2035,7 @@ RECIPE_LATEST_VERSION_pn-wpa-supplicant="0.7.3"
RECIPE_NO_OF_PATCHES_pn-wpa-supplicant="0"
RECIPE_LATEST_RELEASE_DATE_pn-wpa-supplicant="2010/09/07"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-wpa-supplicant="5 months"
+RECIPE_LAST_UPDATE_pn-wpa-supplicant = "Aug 26, 2010"
RECIPE_MAINTAINER_pn-wpa-supplicant = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-ppp="green"
@@ -1928,6 +2043,7 @@ 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_LAST_UPDATE_pn-ppp = "Jul 1, 2010"
RECIPE_MAINTAINER_pn-ppp = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libproxy="green"
@@ -1935,40 +2051,49 @@ RECIPE_LATEST_VERSION_pn-libproxy="0.4.6"
RECIPE_NO_OF_PATCHES_pn-libproxy="1"
RECIPE_LATEST_RELEASE_DATE_pn-libproxy="2010/09/01"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libproxy="10 days"
+RECIPE_LAST_UPDATE_pn-libproxy = "Nov 16, 2010"
+RECIPE_MANUAL_CHECK_DATE_pn-libproxy = "Jan 30, 2011"
RECIPE_MAINTAINER_pn-libproxy = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-connman = "green"
DISTRO_PN_ALIAS_pn-connman = "Meego=connman"
-RECIPE_LATEST_VERSION_pn-connman = "0.63"
+RECIPE_LATEST_VERSION_pn-connman = "0.65"
RECIPE_NO_OF_PATCHES_pn-connman="2"
-RECIPE_LATEST_RELEASE_DATE_pn-connman="2010/11/04"
+RECIPE_LATEST_RELEASE_DATE_pn-connman="2010/12/24"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-connman="1 month"
+RECIPE_LAST_UPDATE_pn-connman = "Dec 30, 2010"
RECIPE_MAINTAINER_pn-connman = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-connman-gnome = "green"
RECIPE_LATEST_VERSION_pn-connman-gnome = "0.5"
-RECIPE_NO_OF_PATCHES_pn-connman-gnome="1"
+RECIPE_NO_OF_PATCHES_pn-connman-gnome="3"
RECIPE_LATEST_RELEASE_DATE_pn-connman-gnome="n/a"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-connman-gnome="n/a"
+RECIPE_LAST_UPDATE_pn-connman-gnome = "Dec 30, 2010"
RECIPE_MAINTAINER_pn-connman-gnome = "Dongxiao Xu <dongxiao.xu@intel.com>"
DISTRO_PN_ALIAS_pn-connman-gnome = "Intel"
RECIPE_STATUS_pn-empathy = "red"
RECIPE_LATEST_VERSION_pn-empathy = "2.31.2"
+RECIPE_LAST_UPDATE_pn-empathy = "Aug 19, 2009"
RECIPE_MAINTAINER_pn-empathy = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-gupnp = "green"
-RECIPE_LATEST_VERSION_pn-gupnp = "0.14.0"
+RECIPE_LATEST_VERSION_pn-gupnp = "0.15.1"
RECIPE_NO_OF_PATCHES_pn-gupnp= "1"
RECIPE_LATEST_RELEASE_DATE_pn-gupnp= "2010/09/16"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gupnp= "1 month"
+RECIPE_LAST_UPDATE_pn-gupnp = "Dec 7, 2010"
+RECIPE_MANUAL_CHECK_DATE_pn-gupnp = "Jan 30, 2011"
RECIPE_MAINTAINER_pn-gupnp= "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-gupnp-av = "green"
-RECIPE_LATEST_VERSION_pn-gupnp-av = "0.7.0"
+RECIPE_LATEST_VERSION_pn-gupnp-av = "0.7.1"
RECIPE_NO_OF_PATCHES_pn-gupnp-av= "0"
RECIPE_LATEST_RELEASE_DATE_pn-gupnp-av= "2010/11/08"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gupnp-av= "15 days"
+RECIPE_LAST_UPDATE_pn-gupnp-av = "Nov 25, 2010"
+RECIPE_MANUAL_CHECK_DATE_pn-gupnp-av = "Jan 30, 2011"
RECIPE_MAINTAINER_pn-gupnp-av = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-gupnp-tools = "green"
@@ -1976,68 +2101,90 @@ RECIPE_LATEST_VERSION_pn-gupnp-tools = "0.8.1"
RECIPE_NO_OF_PATCHES_pn-gupnp-tools = "0"
RECIPE_LATEST_RELEASE_DATE_pn-gupnp-tools = "2010/09/16"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gupnp-tools = "3 month"
+RECIPE_LAST_UPDATE_pn-gupnp-tools = "Nov 25, 2010"
+RECIPE_MANUAL_CHECK_DATE_pn-gupnp-tools = "Jan 30, 2011"
RECIPE_MAINTAINER_pn-gupnp-tools = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libopensync = "red"
RECIPE_LATEST_VERSION_pn-libopensync = "0.39"
+RECIPE_LAST_UPDATE_pn-libopensync = "Oct 17, 2008"
RECIPE_MAINTAINER_pn-libopensync = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libopensync-plugin-evolution2 = "red"
RECIPE_LATEST_VERSION_pn-libopensync-plugin-evolution2 = "0.39"
+RECIPE_LAST_UPDATE_pn-libopensync-plugin-evolution2 = "Jun 18, 2008"
RECIPE_MAINTAINER_pn-libopensync-plugin-evolution2 = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libopensync-plugin-google-calendar = "red"
RECIPE_LATEST_VERSION_pn-libopensync-plugin-google-calendar = "0.39"
+RECIPE_LAST_UPDATE_pn-libopensync-plugin-google-calendar = "Jun 18, 2008"
RECIPE_MAINTAINER_pn-libopensync-plugin-google-calendar = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libopensync-plugin-irmc = "red"
RECIPE_LATEST_VERSION_pn-libopensync-plugin-irmc = "0.39"
+RECIPE_LAST_UPDATE_pn-libopensync-plugin-irmc = "Jun 18, 2008"
RECIPE_MAINTAINER_pn-libopensync-plugin-irmc = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libopensync-plugin-syncml = "red"
RECIPE_LATEST_VERSION_pn-libopensync-plugin-syncml = "0.39"
+RECIPE_LAST_UPDATE_pn-libopensync-plugin-syncml = "Jul 31, 2009"
RECIPE_MAINTAINER_pn-libopensync-plugin-syncml = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-ofono = "green"
-RECIPE_LATEST_VERSION_pn-ofono = "0.33"
+RECIPE_LATEST_VERSION_pn-ofono = "0.37"
RECIPE_NO_OF_PATCHES_pn-ofono="0"
-RECIPE_LATEST_RELEASE_DATE_pn-ofono="2010/10/25"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-ofono="5 days"
+RECIPE_LATEST_RELEASE_DATE_pn-ofono="2010/12/24"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-ofono="1 month"
+RECIPE_LAST_UPDATE_pn-ofono = "Dec 30, 2010"
RECIPE_MAINTAINER_pn-ofono = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libtelepathy = "red"
RECIPE_LATEST_VERSION_pn-libtelepathy = "0.3.3"
+RECIPE_LAST_UPDATE_pn-libtelepathy = "Jul 21, 2008"
RECIPE_MAINTAINER_pn-libtelepathy = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-telepathy-farsight = "red"
RECIPE_LATEST_VERSION_pn-telepathy-farsight = "0.0.14"
+RECIPE_LAST_UPDATE_pn-telepathy-farsight = "Aug 18, 2009"
RECIPE_MAINTAINER_pn-telepathy-farsight = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-telepathy-gabble = "red"
RECIPE_LATEST_VERSION_pn-telepathy-gabble = "0.9.11"
+RECIPE_LAST_UPDATE_pn-telepathy-gabble = "Aug 19, 2009"
RECIPE_MAINTAINER_pn-telepathy-gabble = "Dongxiao Xu <dongxiao.xu@intel.com>"
-RECIPE_STATUS_pn-telepathy-glib = "red"
-RECIPE_LATEST_VERSION_pn-telepathy-glib = "0.11.6"
+RECIPE_STATUS_pn-telepathy-glib = "green"
+RECIPE_NO_OF_PATCHES_pn-telepathy-glib ="0"
+RECIPE_LATEST_RELEASE_DATE_pn-telepathy-glib = "2010/11/17"
+RECIPE_LATEST_VERSION_pn-telepathy-glib = "0.13.6"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-telepathy-glib = "12 days"
+RECIPE_LAST_UPDATE_pn-telepathy-glib = "Dec 30, 2010"
RECIPE_MAINTAINER_pn-telepathy-glib = "Dongxiao Xu <dongxiao.xu@intel.com>"
-RECIPE_STATUS_pn-telepathy-idle = "red"
-RECIPE_LATEST_VERSION_pn-telepathy-idle = "0.1.6"
+RECIPE_STATUS_pn-telepathy-idle = "green"
+RECIPE_NO_OF_PATCHES_pn-telepathy-idle ="0"
+RECIPE_LATEST_RELEASE_DATE_pn-telepathy-glib ="2010/12/07"
+RECIPE_LATEST_VERSION_pn-telepathy-idle = "0.1.7"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-telepathy-idle = "10 months"
+RECIPE_LAST_UPDATE_pn-telepathy-idle = "Dec 30, 2010"
RECIPE_MAINTAINER_pn-telepathy-idle = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-telepathy-python = "green"
-RECIPE_LATEST_VERSION_pn-telepathy-python = "0.15.18"
+RECIPE_LATEST_VERSION_pn-telepathy-python = "0.15.19"
RECIPE_NO_OF_PATCHES_pn-telepathy-python="0"
-RECIPE_LATEST_RELEASE_DATE_pn-telepathy-python="2010/08/05"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-telepathy-python="5 months"
+RECIPE_LATEST_RELEASE_DATE_pn-telepathy-python="2010/12/03"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-telepathy-python="4 months"
+RECIPE_LAST_UPDATE_pn-telepathy-python = "Dec 30, 2010"
RECIPE_MAINTAINER_pn-telepathy-python = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-bluez-hcidump = "red"
RECIPE_LATEST_VERSION_pn-bluez-hcidump = "1.42"
+RECIPE_LAST_UPDATE_pn-bluez-hcidump = "Nov 7, 2008"
RECIPE_MAINTAINER_pn-bluez-hcidump = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-ppp-dialin = "red"
RECIPE_LATEST_VERSION_pn-ppp-dialin = "check"
+RECIPE_LAST_UPDATE_pn-ppp-dialin = "Jul 21, 2006"
RECIPE_MAINTAINER_pn-ppp-dialin = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libgsmd = "green"
@@ -2045,11 +2192,13 @@ RECIPE_LATEST_VERSION_pn-libgsmd = "5394"
RECIPE_LATEST_RELEASE_DATE_pn-libgsmd ="2009/08/06"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libgsmd="n/a"
DISTRO_PN_ALIAS_pn-libgsmd = "Fedora=gsm Ubuntu=libgsm Debian=libgsm Opensuse=libgsm"
+RECIPE_LAST_UPDATE_pn-libgsmd = "Nov 26, 2010"
RECIPE_MAINTAINER_pn-libgsmd = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-zeroconf = "red"
RECIPE_LATEST_VERSION_pn-zeroconf = "0.9"
DISTRO_PN_ALIAS_pn-zeroconf = "OSPDT upstream=http://www.progsoc.org/~wildfire/zeroconf/"
+RECIPE_LAST_UPDATE_pn-zeroconf = "Jul 21, 2006"
RECIPE_MAINTAINER_pn-zeroconf = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-gypsy="green"
@@ -2057,30 +2206,36 @@ RECIPE_LATEST_VERSION_pn-gypsy="0.8"
RECIPE_NO_OF_PATCHES_pn-gypsy="0"
RECIPE_LATEST_RELEASE_DATE_pn-gypsy="2010/06/09"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gypsy="10 months"
+RECIPE_LAST_UPDATE_pn-gypsy = "Nov 23, 2010"
RECIPE_MAINTAINER_pn-gypsy= "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libopensync-plugin-file = "red"
RECIPE_LATEST_VERSION_pn-libopensync-plugin-file = "0.39"
+RECIPE_LAST_UPDATE_pn-libopensync-plugin-file = "Oct 20, 2008"
RECIPE_MAINTAINER_pn-libopensync-plugin-file = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libopensync-plugin-vformat = "red"
RECIPE_LATEST_VERSION_pn-libopensync-plugin-vformat = "0.39"
+RECIPE_LAST_UPDATE_pn-libopensync-plugin-vformat = "Oct 20, 2008"
RECIPE_MAINTAINER_pn-libopensync-plugin-vformat = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libsyncml = "red"
RECIPE_LATEST_VERSION_pn-libsyncml = "0.5.4"
+RECIPE_LAST_UPDATE_pn-libsyncml = "Jul 31, 2009"
RECIPE_MAINTAINER_pn-libsyncml = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-telepathy-mission-control = "green"
-RECIPE_LATEST_VERSION_pn-telepathy-mission-control = "5.7.0"
+RECIPE_LATEST_VERSION_pn-telepathy-mission-control = "5.7.1"
RECIPE_NO_OF_PATCHES_pn-telepathy-mission-control ="0"
-RECIPE_LATEST_RELEASE_DATE_pn-telepathy-mission-control ="2010/11/18"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-telepathy-mission-control ="2 months"
+RECIPE_LATEST_RELEASE_DATE_pn-telepathy-mission-control ="2010/12/07"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-telepathy-mission-control ="20 days"
+RECIPE_LAST_UPDATE_pn-telepathy-mission-control = "Dec 30, 2010"
RECIPE_MAINTAINER_pn-telepathy-mission-control = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libetpan = "red"
RECIPE_LATEST_VERSION_pn-libetpan = "1.0"
+RECIPE_LAST_UPDATE_pn-libetpan = "May 13, 2008"
RECIPE_MAINTAINER_pn-libetpan = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-hostap-utils="yellow" # patch investigation needed; hostap-utils.inc is only included by one bb file.
@@ -2088,6 +2243,7 @@ RECIPE_LATEST_VERSION_pn-hostap-utils="0.4.7"
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_LAST_UPDATE_pn-hostap-utils = "Jun 28, 2007"
RECIPE_MAINTAINER_pn-hostap-utils = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-kexec-tools="green"
@@ -2095,14 +2251,17 @@ RECIPE_LATEST_VERSION_pn-kexec-tools="2.0.2"
RECIPE_NO_OF_PATCHES_pn-kexec-tools="1"
RECIPE_LATEST_RELEASE_DATE_pn-kexec-tools="2010/07/29"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-kexec-tools="1 year"
+RECIPE_LAST_UPDATE_pn-kexec-tools = "Nov 16, 2010"
RECIPE_MAINTAINER_pn-kexec-tools = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-hostap-conf = "red"
RECIPE_LATEST_VERSION_pn-hostap-conf = "1.0"
+RECIPE_LAST_UPDATE_pn-hostap-conf = "Jul 21, 2006"
RECIPE_MAINTAINER_pn-hostap-conf = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-orinoco-conf = "red"
RECIPE_LATEST_VERSION_pn-orinoco-conf = "1.0"
+RECIPE_LAST_UPDATE_pn-orinoco-conf = "Jul 21, 2006"
RECIPE_MAINTAINER_pn-orinoco-conf = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libical="green"
@@ -2110,6 +2269,7 @@ RECIPE_LATEST_VERSION_pn-libical="0.46"
RECIPE_NO_OF_PATCHES_pn-libical="0"
RECIPE_LATEST_RELEASE_DATE_pn-libical="2010/08/30"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libical="11 months"
+RECIPE_LAST_UPDATE_pn-libical = "Nov 16, 2010"
RECIPE_MAINTAINER_pn-libical = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-task-base="green"
@@ -2175,6 +2335,7 @@ RECIPE_LATEST_VERSION_pn-enchant="1.6.0"
RECIPE_NO_OF_PATCHES_pn-enchant="0"
RECIPE_LATEST_RELEASE_DATE_pn-enchant="2010/04/01"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-enchant="10 months"
+RECIPE_LAST_UPDATE_pn-enchant = "Aug 4, 2010"
RECIPE_MAINTAINER_pn-enchant = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-task-poky-sdk = "red"
@@ -2195,10 +2356,12 @@ RECIPE_MAINTAINER_pn-task-poky-standalone-sdk-target = "Dongxiao Xu <dongxiao.xu
RECIPE_STATUS_pn-xournal = "red"
RECIPE_LATEST_VERSION_pn-xournal = "0.4.5"
+RECIPE_LAST_UPDATE_pn-xournal = "May 27, 2006"
RECIPE_MAINTAINER_pn-xournal = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-wv = "red"
RECIPE_LATEST_VERSION_pn-wv = "1.2.1"
+RECIPE_LAST_UPDATE_pn-wv = "Jan 12, 2007"
RECIPE_MAINTAINER_pn-wv = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-poky-image-minimal = "green"
@@ -2241,9 +2404,10 @@ RECIPE_STATUS_pn-poky-image-lsb = "green"
RECIPE_LATEST_VERSION_pn-poky-image-lsb = "1.0"
RECIPE_MAINTAINER_pn-poky-image-lsb = "Dongxiao Xu <dongxiao.xu@intel.com>"
-RECIPE_STATUS_pn-poky-image-sdk = "green"
-RECIPE_LATEST_VERSION_pn-poky-image-sdk = "1.0"
-RECIPE_MAINTAINER_pn-poky-image-sdk = "Dongxiao Xu <dongxiao.xu@intel.com>"
+RECIPE_STATUS_pn-poky-sato-image-sdk = "green"
+RECIPE_LATEST_VERSION_pn-poky-image-sato-sdk = "1.0"
+RECIPE_MAINTAINER_pn-poky-image-sato-sdk = "Dongxiao Xu <dongxiao.xu@intel.com>"
+DISTRO_PN_ALIAS_pn-poky-image-sdk = "Poky"
RECIPE_STATUS_pn-task-poky = "green"
RECIPE_LATEST_VERSION_pn-task-poky = "1.0"
@@ -2273,13 +2437,15 @@ RECIPE_STATUS_pn-poky-image-core = "green"
RECIPE_LATEST_VERSION_pn-poky-image-core = "1.0"
RECIPE_MAINTAINER_pn-poky-image-core = "Dongxiao Xu <dongxiao.xu@intel.com>"
-RECIPE_STATUS_pn-poky-image-sdk-live = "green"
-RECIPE_LATEST_VERSION_pn-poky-image-sdk-live = "1.0"
-RECIPE_MAINTAINER_pn-poky-image-sdk-live = "Dongxiao Xu <dongxiao.xu@intel.com>"
+RECIPE_STATUS_pn-poky-image-sato-sdk-live = "green"
+RECIPE_LATEST_VERSION_pn-poky-image-sato-sdk-live = "1.0"
+RECIPE_MAINTAINER_pn-poky-image-sato-sdk-live = "Dongxiao Xu <dongxiao.xu@intel.com>"
+DISTRO_PN_ALIAS_pn-poky-image-sato-sdk-live = "Poky"
-RECIPE_STATUS_pn-poky-image-sdk-directdisk = "green"
-RECIPE_LATEST_VERSION_pn-poky-image-sdk-directdisk = "1.0"
-RECIPE_MAINTAINER_pn-poky-image-sdk-directdisk = "Dongxiao Xu <dongxiao.xu@intel.com>"
+RECIPE_STATUS_pn-poky-image-sato-sdk-directdisk = "green"
+RECIPE_LATEST_VERSION_pn-poky-image-sato-sdk-directdisk = "1.0"
+RECIPE_MAINTAINER_pn-poky-image-sato-sdk-directdisk = "Dongxiao Xu <dongxiao.xu@intel.com>"
+DISTRO_PN_ALIAS_pn-poky-image-sato-sdk-directdisk = "Poky"
RECIPE_STATUS_pn-liba52="yellow" # patch investigation needed
DISTRO_PN_ALIAS_pn-liba52 = "Mandriva=a52dec Debian=a52dec"
@@ -2287,6 +2453,8 @@ RECIPE_LATEST_VERSION_pn-liba52="0.7.4"
RECIPE_NO_OF_PATCHES_pn-liba52="1"
RECIPE_LATEST_RELEASE_DATE_pn-liba52="2002/07/27"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-liba52="5 months"
+RECIPE_LAST_UPDATE_pn-liba52 = "Sep 1, 2006"
+RECIPE_MANUAL_CHECK_DATE_pn-liba52 = "Jan 30, 2011"
RECIPE_MAINTAINER_pn-liba52 = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libid3tag="yellow" # patch investigation needed
@@ -2294,6 +2462,7 @@ RECIPE_LATEST_VERSION_pn-libid3tag="0.15.1b"
RECIPE_NO_OF_PATCHES_pn-libid3tag="1"
RECIPE_LATEST_RELEASE_DATE_pn-libid3tag="2004/02/18"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libid3tag="8 months"
+RECIPE_LAST_UPDATE_pn-libid3tag = "Oct 19, 2007"
RECIPE_MAINTAINER_pn-libid3tag = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-flac="green"
@@ -2301,6 +2470,7 @@ RECIPE_LATEST_VERSION_pn-flac="1.2.1"
RECIPE_NO_OF_PATCHES_pn-flac="3"
RECIPE_LATEST_RELEASE_DATE_pn-flac="2007/09/16"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-flac="2 months"
+RECIPE_LAST_UPDATE_pn-flac = "Jun 26, 2010"
RECIPE_MAINTAINER_pn-flac = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libvorbis="green"
@@ -2308,36 +2478,41 @@ RECIPE_LATEST_VERSION_pn-libvorbis="1.3.2"
RECIPE_NO_OF_PATCHES_pn-libvorbis="0"
RECIPE_LATEST_RELEASE_DATE_pn-libvorbis="2010/11/01"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libvorbis="7 months"
+RECIPE_LAST_UPDATE_pn-libvorbis = "Nov 15, 2010"
RECIPE_MAINTAINER_pn-libvorbis = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libogg="green"
-RECIPE_LATEST_VERSION_pn-libogg="1.2.1"
+RECIPE_LATEST_VERSION_pn-libogg="1.2.2"
RECIPE_NO_OF_PATCHES_pn-libogg="0"
-RECIPE_LATEST_RELEASE_DATE_pn-libogg="2010/11/02"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libogg="7 months"
+RECIPE_LATEST_RELEASE_DATE_pn-libogg="2010/12/07"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libogg="1 months"
+RECIPE_LAST_UPDATE_pn-libogg = "Dec 30, 2010"
RECIPE_MAINTAINER_pn-libogg = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-gstreamer="green"
-RECIPE_LATEST_VERSION_pn-gstreamer="0.10.30"
+RECIPE_LATEST_VERSION_pn-gstreamer="0.10.31"
RECIPE_NO_OF_PATCHES_pn-gstreamer="2"
-RECIPE_LATEST_RELEASE_DATE_pn-gstreamer="2010/07/15"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gstreamer="3 month"
+RECIPE_LATEST_RELEASE_DATE_pn-gstreamer="2010/11/30"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gstreamer="4 month"
+RECIPE_LAST_UPDATE_pn-gstreamer = "Dec 30, 2010"
RECIPE_MAINTAINER_pn-gstreamer = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-gst-plugins-base="green"
DISTRO_PN_ALIAS_pn-gst-plugins-base = "Meego=gst-plugins-base Fedora=gstreamer-plugins-base OpenSuSE=gstreamer-plugins-base Ubuntu=gst-plugins-base0.10 Mandriva=gstreamer0.10-plugins-base Debian=gst-plugins-base0.10"
-RECIPE_LATEST_VERSION_pn-gst-plugins-base="0.10.30"
+RECIPE_LATEST_VERSION_pn-gst-plugins-base="0.10.31"
RECIPE_NO_OF_PATCHES_pn-gst-plugins-base="0"
-RECIPE_LATEST_RELEASE_DATE_pn-gst-plugins-base="2010/07/15"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gst-plugins-base="3 months"
+RECIPE_LATEST_RELEASE_DATE_pn-gst-plugins-base="2010/11/30"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gst-plugins-base="4 months"
+RECIPE_LAST_UPDATE_pn-gst-plugins-base = "Dec 30, 2010"
RECIPE_MAINTAINER_pn-gst-plugins-base = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-gst-plugins-good="green"
DISTRO_PN_ALIAS_pn-gst-plugins-good = "Meego=gst-plugins-good Fedora=gstreamer-plugins-good OpenSuSE=gstreamer-plugins-good Ubuntu=gst-plugins-good0.10 Mandriva=gstreamer0.10-plugins-good Debian=gst-plugins-good0.10"
-RECIPE_LATEST_VERSION_pn-gst-plugins-good="0.10.25"
+RECIPE_LATEST_VERSION_pn-gst-plugins-good="0.10.26"
RECIPE_NO_OF_PATCHES_pn-gst-plugins-good="0"
-RECIPE_LATEST_RELEASE_DATE_pn-gst-plugins-good="2010/09/02"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gst-plugins-good="2 month"
+RECIPE_LATEST_RELEASE_DATE_pn-gst-plugins-good="2010/12/01"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gst-plugins-good="3 month"
+RECIPE_LAST_UPDATE_pn-gst-plugins-good = "Dec 30, 2010"
RECIPE_MAINTAINER_pn-gst-plugins-good = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-gst-plugins-ugly="green"
@@ -2346,6 +2521,7 @@ RECIPE_LATEST_VERSION_pn-gst-plugins-ugly="0.10.16"
RECIPE_NO_OF_PATCHES_pn-gst-plugins-ugly="0"
RECIPE_LATEST_RELEASE_DATE_pn-gst-plugins-ugly="2010/09/02"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gst-plugins-ugly="3 months"
+RECIPE_LAST_UPDATE_pn-gst-plugins-ugly = "Nov 12, 2010"
RECIPE_MAINTAINER_pn-gst-plugins-ugly = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-gst-plugins-bad="green"
@@ -2354,6 +2530,7 @@ RECIPE_LATEST_VERSION_pn-gst-plugins-bad="0.10.20"
RECIPE_NO_OF_PATCHES_pn-gst-plugins-bad="0"
RECIPE_LATEST_RELEASE_DATE_pn-gst-plugins-bad="2010/09/02"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gst-plugins-bad="3 months"
+RECIPE_LAST_UPDATE_pn-gst-plugins-bad = "Nov 12, 2010"
RECIPE_MAINTAINER_pn-gst-plugins-bad = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-alsa-utils="green"
@@ -2361,6 +2538,7 @@ RECIPE_LATEST_VERSION_pn-alsa-utils="1.0.23"
RECIPE_NO_OF_PATCHES_pn-alsa-utils="1"
RECIPE_LATEST_RELEASE_DATE_pn-alsa-utils="2010/04/16"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-alsa-utils="4 months"
+RECIPE_LAST_UPDATE_pn-alsa-utils = "Jun 26, 2010"
RECIPE_MAINTAINER_pn-alsa-utils = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-alsa-lib="green"
@@ -2368,13 +2546,15 @@ RECIPE_LATEST_VERSION_pn-alsa-lib="1.0.23"
RECIPE_NO_OF_PATCHES_pn-alsa-lib="1"
RECIPE_LATEST_RELEASE_DATE_pn-alsa-lib="2010/04/16"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-alsa-lib="4 months"
+RECIPE_LAST_UPDATE_pn-alsa-lib = "Jun 26, 2010"
RECIPE_MAINTAINER_pn-alsa-lib = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-tremor="green"
-RECIPE_LATEST_VERSION_pn-tremor="20101027"
+RECIPE_LATEST_VERSION_pn-tremor="20101121"
RECIPE_NO_OF_PATCHES_pn-tremor="0"
-RECIPE_LATEST_RELEASE_DATE_pn-tremor="2010/10/27"
+RECIPE_LATEST_RELEASE_DATE_pn-tremor="2010/11/21"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-tremor="n/a"
+RECIPE_LAST_UPDATE_pn-tremor = "Dec 30, 2010"
RECIPE_MAINTAINER_pn-tremor = "Dongxiao Xu <dongxiao.xu@intel.com>"
DISTRO_PN_ALIAS_pn-tremor = "OSPDT upstream=http://www.xiph.org/vorbis/"
@@ -2383,6 +2563,7 @@ RECIPE_LATEST_VERSION_pn-gaku="0.0+svnr399"
RECIPE_NO_OF_PATCHES_pn-gaku="0"
RECIPE_LATEST_RELEASE_DATE_pn-gaku="2008/07/03"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gaku="n/a"
+RECIPE_LAST_UPDATE_pn-gaku = "Jun 26, 2010"
RECIPE_MAINTAINER_pn-gaku = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-xvideo-tests="green"
@@ -2390,6 +2571,7 @@ RECIPE_LATEST_VERSION_pn-xvideo-tests="0.0+svnr270"
RECIPE_NO_OF_PATCHES_pn-xvideo-tests="0"
RECIPE_LATEST_RELEASE_DATE_pn-xvideo-tests="2007/06/22"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xvideo-tests="n/a"
+RECIPE_LAST_UPDATE_pn-xvideo-tests = "Jun 26, 2010"
RECIPE_MAINTAINER_pn-xvideo-tests = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-speex="green"
@@ -2397,6 +2579,7 @@ 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_LAST_UPDATE_pn-speex = "Jun 29, 2010"
RECIPE_MAINTAINER_pn-speex = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libmusicbrainz="green"
@@ -2404,30 +2587,18 @@ RECIPE_LATEST_VERSION_pn-libmusicbrainz="3.0.3"
RECIPE_NO_OF_PATCHES_pn-libmusicbrainz="0"
RECIPE_LATEST_RELEASE_DATE_pn-libmusicbrainz="2010/09/27"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libmusicbrainz="2 years"
+RECIPE_LAST_UPDATE_pn-libmusicbrainz = "Nov 16, 2010"
RECIPE_MAINTAINER_pn-libmusicbrainz = "Dongxiao Xu <dongxiao.xu@intel.com>"
-RECIPE_STATUS_pn-clutter-gst-0.10 = "red"
-DISTRO_PN_ALIAS_pn-clutter-gst-0.10 = "OpenSuSE=clutter-gst Debian=clutter-gst"
-RECIPE_LATEST_VERSION_pn-clutter-gst-0.10 = "0.10.0+git0+8a087fabc888a6a4a939760c392109dbb610adbf"
-RECIPE_MAINTAINER_pn-clutter-gst-0.10 = "Dongxiao Xu <dongxiao.xu@intel.com>"
-
-RECIPE_STATUS_pn-clutter-gst-0.6 = "red"
-DISTRO_PN_ALIAS_pn-clutter-gst-0.6 = "OpenSuSE=clutter-gst Debian=clutter-gst"
-RECIPE_LATEST_VERSION_pn-clutter-gst-0.6 = "0.6.0+git0+1c3dc539057dbcd6dd75f2cb5b4ba39b741892bd"
-RECIPE_MAINTAINER_pn-clutter-gst-0.6 = "Dongxiao Xu <dongxiao.xu@intel.com>"
-
-RECIPE_STATUS_pn-clutter-gst-0.8 = "red"
-DISTRO_PN_ALIAS_pn-clutter-gst-0.8 = "OpenSuSE=clutter-gst Debian=clutter-gst"
-RECIPE_LATEST_VERSION_pn-clutter-gst-0.8 = "0.8.0+git0+7a60a435fb0930d911e26158928ab53bda090f3e"
-RECIPE_MAINTAINER_pn-clutter-gst-0.8 = "Dongxiao Xu <dongxiao.xu@intel.com>"
-
RECIPE_STATUS_pn-clutter-gst-1.0 = "red"
DISTRO_PN_ALIAS_pn-clutter-gst-1.0 = "OpenSuSE=clutter-gst Debian=clutter-gst"
RECIPE_LATEST_VERSION_pn-clutter-gst-1.0 = "0.11.0+git0+d48c6fc67b48304f90e51b520631c1ecc10410af"
+RECIPE_LAST_UPDATE_pn-clutter-gst = "Feb 4, 2010"
RECIPE_MAINTAINER_pn-clutter-gst-1.0 = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-farsight2 = "red"
RECIPE_LATEST_VERSION_pn-farsight2 = "0.0.20"
+RECIPE_LAST_UPDATE_pn-farsight2 = "Aug 19, 2009"
RECIPE_MAINTAINER_pn-farsight2 = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-gst-openmax = "green"
@@ -2435,6 +2606,7 @@ RECIPE_LATEST_VERSION_pn-gst-openmax = "0.10.1"
RECIPE_NO_OF_PATCHES_pn-gst-openmax = "0"
RECIPE_LATEST_RELEASE_DATE_pn-gst-openmax = "2010/10/01"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gst-openmax= "18 months"
+RECIPE_LAST_UPDATE_pn-gst-openmax = "Nov 25, 2010"
RECIPE_MAINTAINER_pn-gst-openmax = "Dongxiao Xu <dongxiao.xu@intel.com>"
DISTRO_PN_ALIAS_pn-gst-openmax="OSPDT upstream=http://cgit.freedesktop.org/gstreamer/gst-openmax"
@@ -2444,22 +2616,21 @@ RECIPE_LATEST_VERSION_pn-gst-ffmpeg = "0.10.11"
RECIPE_NO_OF_PATCHES_pn-gst-ffmpeg = "1"
RECIPE_LATEST_RELEASE_DATE_pn-gst-ffmpeg = "2010/07/15"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gst-ffmpeg = "4 months"
+RECIPE_LAST_UPDATE_pn-gst-ffmpeg = "Dec 14, 2010"
RECIPE_MAINTAINER_pn-gst-ffmpeg = "Dongxiao Xu <dongxiao.xu@intel.com>"
-RECIPE_STATUS_pn-alsa-oss = "red"
-RECIPE_LATEST_VERSION_pn-alsa-oss = "1.0.17"
-RECIPE_MAINTAINER_pn-alsa-oss = "Dongxiao Xu <dongxiao.xu@intel.com>"
-
RECIPE_STATUS_pn-libsndfile1 = "red"
DISTRO_PN_ALIAS_pn-libsndfile1 = "Meego=libsndfile Fedora=libsndfile OpenSuSE=libsndfile Ubuntu=libsndfile Mandriva=libsndfile Debian=libsndfile"
RECIPE_LATEST_VERSION_pn-libsndfile1 = "1.0.21 "
+RECIPE_LAST_UPDATE_pn-libsndfile1 = "Nov 11, 2010"
RECIPE_MAINTAINER_pn-libsndfile1 = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-pulseaudio = "green"
-RECIPE_LATEST_VERSION_pn-pulseaudio = "0.9.21"
+RECIPE_LATEST_VERSION_pn-pulseaudio = "0.9.22"
RECIPE_NO_OF_PATCHES_pn-pulseaudio = "5"
-RECIPE_LATEST_RELEASE_DATE_pn-pulseaudio = "2009/10/23"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-pulseaudio = "12 days"
+RECIPE_LATEST_RELEASE_DATE_pn-pulseaudio = "2010/11/26"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-pulseaudio = "1 year"
+RECIPE_LAST_UPDATE_pn-pulseaudio = "Dec 30, 2010"
RECIPE_MAINTAINER_pn-pulseaudio = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-taglib = "green"
@@ -2467,10 +2638,13 @@ RECIPE_LATEST_VERSION_pn-taglib = "1.6.3"
RECIPE_NO_OF_PATCHES_pn-taglib = "2"
RECIPE_LATEST_RELEASE_DATE_pn-taglib = "2010/04/19"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-taglib = "10 days"
+RECIPE_LAST_UPDATE_pn-taglib = "Nov 16, 2010"
+RECIPE_MANUAL_CHECK_DATE_pn-taglib = "Jan 30, 2011"
RECIPE_MAINTAINER_pn-taglib = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-libnice = "red"
RECIPE_LATEST_VERSION_pn-libnice = "0.0.12"
+RECIPE_LAST_UPDATE_pn-libnice = "Aug 19, 2009"
RECIPE_MAINTAINER_pn-libnice = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-gst-fluendo-mp3 = "green"
@@ -2478,6 +2652,7 @@ RECIPE_LATEST_VERSION_pn-gst-fluendo-mp3 = "0.10.15"
RECIPE_NO_OF_PATCHES_pn-gst-fluendo-mp3 = "1"
RECIPE_LATEST_RELEASE_DATE_pn-gst-fluendo-mp3 = "2010/10/21"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gst-fluendo-mp3 = "3 months"
+RECIPE_LAST_UPDATE_pn-gst-fluendo-mp3 = "Dec 7, 2010"
RECIPE_MAINTAINER_pn-gst-fluendo-mp3 = "Dongxiao Xu <dongxiao.xu@intel.com>"
DISTRO_PN_ALIAS_pn-gst-fluendo-mp3 = "Debian=gstreamer0.10-fluendo-mp3 Ubuntu=gstreamer0.10-fluendo-mp3"
@@ -2486,32 +2661,37 @@ RECIPE_LATEST_VERSION_pn-gst-fluendo-mpegdemux = "0.10.20"
RECIPE_NO_OF_PATCHES_pn-gst-fluendo-mpegdemux = "0"
RECIPE_LATEST_RELEASE_DATE_pn-gst-fluendo-mpegdemux = "2010/10/20"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gst-fluendo-mpegdemux = "1 months"
+RECIPE_LAST_UPDATE_pn-gst-fluendo-mpegdemux = "Dec 7, 2010"
RECIPE_MAINTAINER_pn-gst-fluendo-mpegdemux = "Dongxiao Xu <dongxiao.xu@intel.com>"
DISTRO_PN_ALIAS_pn-gst-fluendo-mpegdemux = "Ubuntu=gstreamer0.10-fluendo-mpegdemux Debian=gstreamer0.10-fluendo-mpegdemux"
RECIPE_STATUS_pn-libomxil = "red"
RECIPE_LATEST_VERSION_pn-libomxil = "0.9.2.1"
+RECIPE_LAST_UPDATE_pn-libomxil = "Jan 11, 2008"
RECIPE_MAINTAINER_pn-libomxil = "Dongxiao Xu <dongxiao.xu@intel.com>"
DISTRO_PN_ALIAS_pn-libomxil = "OSPDT upstream=http://omxil.sourceforge.net/"
RECIPE_STATUS_pn-libsamplerate0 = "red"
DISTRO_PN_ALIAS_pn-libsamplerate0 = "Meego=libsamplerate Fedora=libsamplerate OpenSuSE=libsamplerate Ubuntu=libsamplerate Mandriva=libsamplerate Debian=libsamplerate"
RECIPE_LATEST_VERSION_pn-libsamplerate0 = "0.1.7"
+RECIPE_LAST_UPDATE_pn-libsamplerate0 = "Nov 22, 2010"
+RECIPE_MANUAL_CHECK_DATE_pn-libsamplerate0 = "Jan 30, 2011"
RECIPE_MAINTAINER_pn-libsamplerate0 = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-oprofileui = "green"
DISTRO_PN_ALIAS_pn-oprofileui = "Fedora=oprofileui Ubuntu=oprofile-gui Debian=oprofile-gui"
-DEPENDENCY_CHECK_pn-oprofileui = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-oprofileui = "not done"
RECIPE_LATEST_VERSION_pn-oprofileui = "0.0+svnr197"
RECIPE_NO_OF_PATCHES_pn-oprofileui = "0"
RECIPE_INTEL_SECTION_pn-oprofileui = "sdk-tools"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-oprofileui = "13 days"
RECIPE_LATEST_RELEASE_DATE_pn-oprofileui = "07/2008"
RECIPE_COMMENTS_pn-oprofileui = ""
+RECIPE_LAST_UPDATE_pn-oprofileui = "Jul 20, 2010"
RECIPE_MAINTAINER_pn-oprofileui = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-oprofile = "green"
-DEPENDENCY_CHECK_pn-oprofile = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-oprofile = "not done"
RECIPE_LATEST_VERSION_pn-oprofile = "0.9.6"
RECIPE_NO_OF_PATCHES_pn-oprofile = "1"
RECIPE_PATCH_pn-oprofile+opstart = "The opstart/opstop programs"
@@ -2519,35 +2699,40 @@ RECIPE_INTEL_SECTION_pn-oprofile = "sdk-tools"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-oprofile = "4 months"
RECIPE_LATEST_RELEASE_DATE_pn-oprofile = "Nov 24, 2009"
RECIPE_COMMENTS_pn-oprofile = ""
+RECIPE_LAST_UPDATE_pn-oprofile = "Jun 22, 2010"
RECIPE_MAINTAINER_pn-oprofile = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-powertop = "green"
DISTRO_PN_ALIAS_pn-powertop ="Meego=powertop Fedora=powertop Debian=powertop OpenSuSE=powertop Mandriva=powertop"
-DEPENDENCY_CHECK_pn-powertop = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-powertop = "not done"
RECIPE_LATEST_VERSION_pn-powertop = "1.13"
+RECIPE_MANUAL_CHECK_DATE_pn-powertop = "Jan 28, 2011"
RECIPE_NO_OF_PATCHES_pn-powertop = "1"
RECIPE_PATCH_pn-powertop+stub_out_the_ncurses_calls_in_dump_mode = "stub out the ncurses calls in dump mode; this fixes a segfault"
RECIPE_INTEL_SECTION_pn-powertop = "sdk-tools"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-powertop = "11 months"
RECIPE_LATEST_RELEASE_DATE_pn-powertop = "07/2010"
RECIPE_COMMENTS_pn-powertop = ""
+RECIPE_LAST_UPDATE_pn-powertop = "Aug 27, 2010"
RECIPE_MAINTAINER_pn-powertop = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-latencytop = "green"
DISTRO_PN_ALIAS_pn-latencytop = "Meego=latencytop Fedora=latencytop Debian=latencytop OpenSuSE=latencytop"
-DEPENDENCY_CHECK_pn-latencytop = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-latencytop = "not done"
RECIPE_LATEST_VERSION_pn-latencytop = "0.5"
+RECIPE_MANUAL_CHECK_DATE_pn-latencytop = "Jan 28, 2011"
RECIPE_NO_OF_PATCHES_pn-latencytop = "1"
RECIPE_PATCH_pn-latencytop+latencytop-makefile = "-lncursesw ==> -lncurses; gcc ==> CC ?= gcc, and use $(CC); install:mkdir -p $(DESTDIR)/$(SBINDIR)"
RECIPE_INTEL_SECTION_pn-latencytop = "sdk-tools"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-latencytop = "1 year"
RECIPE_LATEST_RELEASE_DATE_pn-latencytop = "04/2009"
RECIPE_COMMENTS_pn-latencytop = ""
+RECIPE_LAST_UPDATE_pn-latencytop = "Jul 22, 2010"
RECIPE_MAINTAINER_pn-latencytop = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-tcf-agent = "green"
DISTRO_PN_ALIAS_pn-tcf-agent = "WindRiver upstream=http://www.eclipse.org/dsdp/tm/"
-DEPENDENCY_CHECK_pn-tcf-agent = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-tcf-agent = "not done"
RECIPE_LATEST_VERSION_pn-tcf-agent = "0.3.0+svnr1078"
RECIPE_NO_OF_PATCHES_pn-tcf-agent = "2"
RECIPE_PATCH_pn-tcf-agent+terminals_agent = "we might get the patch from git://git.pokylinux.org/eclipse-poky.git in future"
@@ -2556,122 +2741,161 @@ RECIPE_INTEL_SECTION_pn-tcf-agent = "sdk-tools"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-tcf-agent = "1+ years"
RECIPE_LATEST_RELEASE_DATE_pn-tcf-agent = "07/2010"
RECIPE_COMMENTS_pn-tcf-agent = ""
+RECIPE_LAST_UPDATE_pn-tcf-agent = "Jul 23, 2010"
RECIPE_MAINTAINER_pn-tcf-agent = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-liburcu = "green"
DISTRO_PN_ALIAS_pn-liburcu = "Fedora=userspace-rcu Ubuntu=liburcu0"
-DEPENDENCY_CHECK_pn-liburcu = "not done"
-RECIPE_LATEST_VERSION_pn-liburcu = "0.4.6"
+RECIPE_DEPENDENCY_CHECK_pn-liburcu = "not done"
+RECIPE_LATEST_VERSION_pn-liburcu = "0.5.2"
RECIPE_NO_OF_PATCHES_pn-liburcu = "0"
RECIPE_INTEL_SECTION_pn-liburcu = "libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-liburcu = "10 minutes"
-RECIPE_LATEST_RELEASE_DATE_pn-liburcu = "06/2010"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-liburcu = "29 minutes"
+RECIPE_LATEST_RELEASE_DATE_pn-liburcu = "Nov 18, 2010"
RECIPE_COMMENTS_pn-liburcu = ""
+RECIPE_LAST_UPDATE_pn-liburcu = "Jan 28, 2011"
RECIPE_MAINTAINER_pn-liburcu = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-lttng-ust = "green"
DISTRO_PN_ALIAS_pn-lttng-ust = "OSPDT upstream=http://lttng.org/"
-DEPENDENCY_CHECK_pn-lttng-ust = "not done"
-RECIPE_LATEST_VERSION_pn-lttng-ust = "0.7"
+RECIPE_DEPENDENCY_CHECK_pn-lttng-ust = "not done"
+RECIPE_LATEST_VERSION_pn-lttng-ust = "0.11"
RECIPE_NO_OF_PATCHES_pn-lttng-ust = "0"
RECIPE_INTEL_SECTION_pn-lttng-ust = "sdk-tools"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-lttng-ust = "4 days"
-RECIPE_LATEST_RELEASE_DATE_pn-lttng-ust = "Aug 20, 2010"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-lttng-ust = "12+ hours"
+RECIPE_LATEST_RELEASE_DATE_pn-lttng-ust = "Jan 14, 2011"
RECIPE_COMMENTS_pn-lttng-ust = ""
+RECIPE_LAST_UPDATE_pn-lttng-ust = "Jan 28, 2011"
RECIPE_MAINTAINER_pn-lttng-ust = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-lttng-control = "green"
DISTRO_PN_ALIAS_pn-lttng-control = "OSPDT upstream=http://lttng.org/"
-DEPENDENCY_CHECK_pn-lttng-control = "not done"
-RECIPE_LATEST_VERSION_pn-lttng-control = "0.87"
+RECIPE_DEPENDENCY_CHECK_pn-lttng-control = "not done"
+RECIPE_LATEST_VERSION_pn-lttng-control = "0.88-09242010"
RECIPE_NO_OF_PATCHES_pn-lttng-control = "0"
RECIPE_INTEL_SECTION_pn-lttng-control = "sdk-tools"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-lttng-control = "1 month"
-RECIPE_LATEST_RELEASE_DATE_pn-lttng-control = "06/2010"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-lttng-control = "3 months"
+RECIPE_LATEST_RELEASE_DATE_pn-lttng-control = "Sep 24, 2010"
RECIPE_COMMENTS_pn-lttng-control = ""
+RECIPE_LAST_UPDATE_pn-lttng-control = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-lttng-control = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-lttng-viewer = "green"
DISTRO_PN_ALIAS_pn-lttng-viewer = "OSPDT upstream=http://lttng.org/"
-DEPENDENCY_CHECK_pn-lttng-viewer = "not done"
-RECIPE_LATEST_VERSION_pn-lttng-viewer = "0.12.35"
+RECIPE_DEPENDENCY_CHECK_pn-lttng-viewer = "not done"
+RECIPE_LATEST_VERSION_pn-lttng-viewer = "0.12.36-18112010"
RECIPE_NO_OF_PATCHES_pn-lttng-viewer = "0"
RECIPE_INTEL_SECTION_pn-lttng-viewer = "sdk-tools"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-lttng-viewer = "6 days"
-RECIPE_LATEST_RELEASE_DATE_pn-lttng-viewer = "Aug 20, 2010"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-lttng-viewer = "3 months"
+RECIPE_LATEST_RELEASE_DATE_pn-lttng-viewer = "Nov 18, 2010"
RECIPE_COMMENTS_pn-lttng-viewer = ""
+RECIPE_LAST_UPDATE_pn-lttng-viewer = "Jan 28, 2011"
RECIPE_MAINTAINER_pn-lttng-viewer = "Dexuan Cui <dexuan.cui@intel.com>"
+RECIPE_STATUS_pn-blktrace = "red"
+RECIPE_LATEST_VERSION_pn-blktrace = "1.0.1"
+RECIPE_NO_OF_PATCHES_pn-blktrace = "1"
+RECIPE_PATCH_pn-blktrace+compile-fixes = "to be pushed upstream"
+RECIPE_INTEL_SECTION_pn-blktrace = "sdk-tools"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-blktrace = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn-blktrace = "12/2010"
+RECIPE_COMMENTS_pn-blktrace = ""
+RECIPE_LAST_UPDATE_pn-blktrace = "Dec 29, 2010"
+RECIPE_MAINTAINER_pn-blktrace = "Tom Zanussi <tom.zanussi@intel.com>"
+
+RECIPE_STATUS_pn-sysprof = "red"
+RECIPE_LATEST_VERSION_pn-sysprof = "1.1.6"
+RECIPE_NO_OF_PATCHES_pn-sysprof = "3"
+RECIPE_PATCH_pn-sysprof+ppc-macro-fix = "to be pushed upstream (from perf)"
+RECIPE_PATCH_pn-sysprof+rmb-arm = "to be pushed upstream (from perf)"
+RECIPE_PATCH_pn-sysprof+rmb-mips = "to be pushed upstream (from perf)"
+RECIPE_INTEL_SECTION_pn-sysprof = "sdk-tools"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-sysprof = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn-sysprof = "12/2010"
+RECIPE_COMMENTS_pn-sysprof = ""
+RECIPE_LAST_UPDATE_pn-sysprof = "Dec 8, 2010"
+RECIPE_MAINTAINER_pn-sysprof = "Tom Zanussi <tom.zanussi@intel.com>"
+
RECIPE_STATUS_pn-binutils="green"
RECIPE_LATEST_VERSION_pn-binutils="2.20.1"
+RECIPE_LAST_UPDATE_pn-binutils = "Jun 3, 2010"
RECIPE_MAINTAINER_pn-binutils = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-ldconfig-native = "red"
+RECIPE_LAST_UPDATE_pn-ldconfig-native = "Nov 23, 2007"
DISTRO_PN_ALIAS_pn-ldconfig-native = "Ubuntu=libc-bin Fedora=glibc"
-RECIPE_STATUS_pn-gcc="green"
-RECIPE_LATEST_VERSION_pn-gcc="4.5.1"
-RECIPE_NO_OF_PATCHES_pn-gcc="8"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gcc="5 months"
+RECIPE_STATUS_pn-gcc="red"
+RECIPE_LATEST_VERSION_pn-gcc="4.5.2"
RECIPE_LATEST_RELEASE_DATE_pn-gcc="2010/03/03"
+RECIPE_LAST_UPDATE_pn-gcc = "Nov 8, 2010"
RECIPE_MAINTAINER_pn-gcc = "Nitin A Kamble <nitin.a.kamble@intel.com>"
-RECIPE_STATUS_pn-autoconf="green"
+RECIPE_STATUS_pn-autoconf="red"
RECIPE_LATEST_VERSION_pn-autoconf="2.68"
+RECIPE_LAST_UPDATE_pn-autoconf = "Jan 29, 2010"
+RECIPE_NO_UPDATE_REASON_autoconf="seeing rpm issue with the 2.68 version, a bug is open"
RECIPE_MAINTAINER_pn-autoconf = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-automake="green"
RECIPE_LATEST_VERSION_pn-automake="1.11.1"
+RECIPE_LAST_UPDATE_pn-automake = "Jan 29, 2010"
RECIPE_MAINTAINER_pn-automake = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-bison="green"
RECIPE_LATEST_VERSION_pn-bison="2.4.3"
+RECIPE_LAST_UPDATE_pn-bison = "Nov 8, 2010"
RECIPE_MAINTAINER_pn-bison = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-diffstat="green"
RECIPE_LATEST_VERSION_pn-diffstat="1.54"
+RECIPE_LAST_UPDATE_pn-diffstat = "Nov 8, 2010"
RECIPE_MAINTAINER_pn-diffstat = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-distcc="green"
RECIPE_LATEST_VERSION_pn-distcc="2.18.3"
+RECIPE_LAST_UPDATE_pn-distcc = "Oct 28, 2006"
RECIPE_MAINTAINER_pn-distcc = "Nitin A Kamble <nitin.a.kamble@intel.com>"
-RECIPE_STATUS_pn-exmap-console="green" # o-hand code, website does not show any information
-RECIPE_LATEST_VERSION_pn-exmap-console="0.4.1"
-RECIPE_MAINTAINER_pn-exmap-console = "Nitin A Kamble <nitin.a.kamble@intel.com>"
-DISTRO_PN_ALIAS_pn-exmap-console = "OpenedHand"
-
RECIPE_STATUS_pn-flex="green"
RECIPE_LATEST_VERSION_pn-flex="2.5.35"
+RECIPE_LAST_UPDATE_pn-flex = "Jun 20, 2010"
RECIPE_MAINTAINER_pn-flex = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-fstests="green"
RECIPE_LATEST_VERSION_pn-fstests="0.0+svnr426"
DISTRO_PN_ALIAS_pn-fstests = "OpenedHand"
+RECIPE_LAST_UPDATE_pn-fstests = "Dec 7, 2010"
RECIPE_MAINTAINER_pn-fstests = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-gdb="green"
RECIPE_LATEST_VERSION_pn-gdb="7.2"
+RECIPE_LAST_UPDATE_pn-gdb = "Nov 8, 2010"
RECIPE_MAINTAINER_pn-gdb = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-intltool="green"
RECIPE_LATEST_VERSION_pn-intltool="0.40.6"
+RECIPE_LAST_UPDATE_pn-intltool = "Jun 21, 2010"
RECIPE_MAINTAINER_pn-intltool = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-libtool="green"
RECIPE_LATEST_VERSION_pn-libtool="2.4"
+RECIPE_LAST_UPDATE_pn-libtool = "Nov 8, 2010"
RECIPE_MAINTAINER_pn-libtool = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-linux-libc-headers="green"
RECIPE_LATEST_VERSION_pn-linux-libc-headers="2.6.36"
+RECIPE_LAST_UPDATE_pn-linux-libc-headers = "Nov 8, 2010"
RECIPE_MAINTAINER_pn-linux-libc-headers = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-lsof="green"
RECIPE_LATEST_VERSION_pn-lsof="4.84"
+RECIPE_LAST_UPDATE_pn-lsof = "Nov 8, 2010"
RECIPE_MAINTAINER_pn-lsof = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-make="green"
RECIPE_LATEST_VERSION_pn-make="3.82"
+RECIPE_LAST_UPDATE_pn-make = "Nov 8, 2010"
RECIPE_MAINTAINER_pn-make = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-run-postinsts="green" # all local code
@@ -2680,67 +2904,78 @@ RECIPE_MAINTAINER_pn-postinsts = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-nasm="green"
RECIPE_LATEST_VERSION_pn-nasm="2.07"
+RECIPE_MANUAL_CHECK_DATE_pn-nasm = "Jan 25, 2011"
RECIPE_MAINTAINER_pn-nasm = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-perl="red" # upgrade needed
RECIPE_LATEST_VERSION_pn-perl="5.12.1"
+RECIPE_LAST_UPDATE_pn-perl = "May 27, 2007"
RECIPE_MAINTAINER_pn-perl = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-prelink="red"
RECIPE_LATEST_VERSION_pn-prelink="1.0+git0+0x909470ee441237563d6236c505cb2d02ddc48704"
-RECIPE_MAINTAINER_pn-prelink = "Nitin A Kamble <nitin.a.kamble@intel.com>"
+RECIPE_LAST_UPDATE_pn-perl = "Jul 23, 2010"
+RECIPE_MAINTAINER_pn-prelink = "Mark Hatle <mark.hatle@windriver.com>"
-RECIPE_STATUS_pn-python-dbus="green"
+RECIPE_STATUS_pn-python-dbus="red"
RECIPE_LATEST_VERSION_pn-python-dbus="0.83.1"
+RECIPE_LAST_UPDATE_pn-python-dbus = "Jul 7, 2010"
RECIPE_MAINTAINER_pn-python-dbus = "Nitin A Kamble <nitin.a.kamble@intel.com>"
DISTRO_PN_ALIAS_pn-python-dbus = "Ubuntu=python-dbus Debian=python-dbus Mandriva=python-dbus"
-RECIPE_STATUS_pn-python-gst="green"
-RECIPE_LATEST_VERSION_pn-python-gst="0.10.19"
+RECIPE_STATUS_pn-python-gst="red"
+RECIPE_LATEST_VERSION_pn-python-gst="0.10.21"
DISTRO_PN_ALIAS_pn-python-gst = "OpenSuSE=python-gstreamer Ubuntu=gst0.10-python Debian=gst0.10-python"
+RECIPE_LAST_UPDATE_pn-python-gst = "Nov 8, 2010"
RECIPE_MAINTAINER_pn-python-gst = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-python-imaging="green"
RECIPE_LATEST_VERSION_pn-python-imaging="1.1.7"
-RECIPE_MAINTAINER_pnpython--imaging = "Nitin A Kamble <nitin.a.kamble@intel.com>"
+RECIPE_LAST_UPDATE_pn-python-imaging = "Jul 7, 2010"
+RECIPE_MAINTAINER_pnpython-imaging = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-python-pycurl="green"
RECIPE_LATEST_VERSION_pn-python-pycurl="7.19.0"
+RECIPE_LAST_UPDATE_pn-python-pycurl = "Mar 25, 2010"
RECIPE_MAINTAINER_pn-python-pycurl = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-python-pygobject="green"
DISTRO_PN_ALIAS_pn-python-pygobject = "Meego=pygobject2 Fedora=pygobject2 Ubuntu=pygobject Debian=pygobject"
RECIPE_LATEST_VERSION_pn-python-pygobject="2.27.0"
+RECIPE_LAST_UPDATE_pn-python-pygobject = "Dec 9, 2010"
RECIPE_MAINTAINER_pn-python-pygobject = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-python-pygtk="red"
DISTRO_PN_ALIAS_pn-python-pygtk = "Debian=python-gtk2 Fedora=pygtk2 OpenSuSE=python-gtk"
RECIPE_LATEST_VERSION_pn-python-pygtk="2.17.0"
+RECIPE_LAST_UPDATE_pn-python-pygtk = "Jul 7, 2010"
RECIPE_MAINTAINER_pn-python-pygtk = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-python-pyrex="green"
RECIPE_LATEST_VERSION_pn-python-pyrex="0.9.9"
+RECIPE_LAST_UPDATE_pn-python-pyrex = "Jul 7, 2010"
RECIPE_MAINTAINER_pn-python-pyrex = "Nitin A Kamble <nitin.a.kamble@intel.com>"
DISTRO_PN_ALIAS_pn-python-pyrex = "Mandriva=python-pyrex Ubuntu=python-pyrex"
RECIPE_STATUS_pn-python-scons="green"
RECIPE_LATEST_VERSION_pn-python-scons="2.0.1"
DISTRO_PN_ALIAS_pn-python-scons = "Fedora=scons OpenSuSE=scons Ubuntu=scons Mandriva=scons Debian=scons"
+RECIPE_LAST_UPDATE_pn-python-scons = "Nov 8, 2010"
RECIPE_MAINTAINER_pn-python-scons = "Nitin A Kamble <nitin.a.kamble@intel.com>"
-RECIPE_STATUS_pn-python="green"
-RECIPE_LATEST_VERSION_pn-python="2.6.6"
-RECIPE_NO_OF_PATCHES_pn-python="8"
-RECIPE_LATEST_RELEASE_DATE_pn-python="2010/03/18"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-python="5 months"
+RECIPE_STATUS_pn-python="red"
+RECIPE_LATEST_VERSION_pn-python="2.7.1"
+RECIPE_LAST_UPDATE_pn-python = "Nov 8, 2010"
RECIPE_MAINTAINER_pn-python = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-quilt="green"
RECIPE_LATEST_VERSION_pn-quilt="0.48"
+RECIPE_LAST_UPDATE_pn-quilt = "Jun 22, 2010"
RECIPE_MAINTAINER_pn-quilt = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-tcl="green"
RECIPE_LATEST_VERSION_pn-tcl="8.5.9"
+RECIPE_LAST_UPDATE_pn-tcl = "Dec 1, 2010"
RECIPE_MAINTAINER_pn-tcl = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-unifdef="green" # poky local source files
@@ -2750,46 +2985,56 @@ RECIPE_MAINTAINER_pn-unifdef = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-gnu-config="green"
RECIPE_LATEST_VERSION_pn-gnu-config="0.0+git3155524"
DISTRO_PN_ALIAS_pn-gnu-config = "OpenedHand"
+RECIPE_LAST_UPDATE_pn-gnu-config = "Jun 21, 2010"
RECIPE_MAINTAINER_pn-gnu-config = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-mpfr="green"
RECIPE_LATEST_VERSION_pn-mpfr="3.0.0"
+RECIPE_MANUAL_CHECK_DATE_pn-mpfr = "Jan 25, 2011"
RECIPE_MAINTAINER_pn-mpfr = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-gmp="green"
RECIPE_LATEST_VERSION_pn-gmp="5.0.1"
+RECIPE_LAST_UPDATE_pn-gmp = "Aug 27, 2010"
RECIPE_MAINTAINER_pn-gmp = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-libmpc="green"
RECIPE_LATEST_VERSION_pn-libmpc="0.8.2"
+RECIPE_MANUAL_CHECK_DATE_pn-libmpc = "Jan 25, 2011"
RECIPE_MAINTAINER_pn-libmpc = "Nitin A Kamble <nitin.a.kamble@intel.com>"
DISTRO_PN_ALIAS_pn-libmpc = "Fedora=libmpc OpenSuse=libmpc2"
-RECIPE_STATUS_pn-byacc="green"
-RECIPE_LATEST_VERSION_pn-byacc="20100610"
+RECIPE_STATUS_pn-byacc="red"
+RECIPE_LATEST_VERSION_pn-byacc="20101229"
RECIPE_MAINTAINER_pn-byacc = "Nitin A Kamble <nitin.a.kamble@intel.com>"
-RECIPE_STATUS_pn-libconvert-asn1-perl="green" # 0.22 version does not build, so created a recipe for version 0.21
+RECIPE_STATUS_pn-libconvert-asn1-perl="green"
+# 0.22 version does not build, so created a recipe for version 0.21
RECIPE_LATEST_VERSION_pn-libconvert-asn1-perl="0.22"
+RECIPE_NO_UPDATE_REASON_pn-libconvert-asn1-perl = "0.22 version does not build, so created a recipe for version 0.21"
+RECIPE_LAST_UPDATE_pn-libconvert-asn1-perl = "Aug 13, 2010"
RECIPE_MAINTAINER_pn-libconvert-asn1-perl = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-libxml-parser-perl="green"
RECIPE_LATEST_VERSION_pn-libxml-parser-perl="2.36"
+RECIPE_LAST_UPDATE_pn-libxml-parser-perl = "Nov 18, 2009"
RECIPE_MAINTAINER_pn-libxml-parser-perl = "Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_STATUS_pn-cmake-native="green"
RECIPE_LATEST_VERSION_pn-cmake-native="2.8.3"
RECIPE_LATEST_RELEASE_DATE_pn-cmake-native="2010/11/03"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-cmake-native="4 month"
+RECIPE_LAST_UPDATE_pn-cmake-native = "Nov 23, 2010"
RECIPE_MAINTAINER_pn-cmake-native = "Dongxiao Xu <dongxiao.xu@intel.com>"
RECIPE_STATUS_pn-m4="green"
RECIPE_LATEST_VERSION_pn-m4="1.4.15"
+RECIPE_LAST_UPDATE_pn-m4 = "Nov 23, 2010"
RECIPE_MAINTAINER_pn-m4="Nitin A Kamble <nitin.a.kamble@intel.com>"
RECIPE_COMMENTS_pn-m4= "Dongxiao Xu <dongxiao.xu@intel.com> will own GPLv2 m4"
RECIPE_STATUS_pn-owl-video = "green" # no update needed
-DEPENDENCY_CHECK_pn-owl-video = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-owl-video = "not done"
RECIPE_LATEST_VERSION_pn-owl-video = "0.0+svnr394"
RECIPE_NO_OF_PATCHES_pn-owl-video = "0"
RECIPE_INTEL_SECTION_pn-owl-video = "graphic apps"
@@ -2800,43 +3045,48 @@ RECIPE_MAINTAINER_pn-owl-video = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-xtscal = "green" # no update needed
DISTRO_PN_ALIAS_pn-xtscal = "OSPDT upstream=http://gpe.linuxtogo.org/download/source/"
-DEPENDENCY_CHECK_pn-xtscal = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-xtscal = "not done"
RECIPE_LATEST_VERSION_pn-xtscal = "0.6.3"
RECIPE_NO_OF_PATCHES_pn-xtscal = "2"
RECIPE_INTEL_SECTION_pn-xtscal = "graphic apps"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xtscal = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-xtscal = "06/2006"
RECIPE_COMMENTS_pn-xtscal = ""
+RECIPE_LAST_UPDATE_pn-xtscal = "Jul 21, 2006"
RECIPE_MAINTAINER_pn-xtscal = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-xrestop = "green" # no update needed
-DEPENDENCY_CHECK_pn-xrestop = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-xrestop = "not done"
RECIPE_LATEST_VERSION_pn-xrestop = "0.4"
+RECIPE_MANUAL_CHECK_DATE_pn-xrestop = "Nov 18, 2010"
RECIPE_NO_OF_PATCHES_pn-xrestop = "0"
RECIPE_INTEL_SECTION_pn-xrestop = "graphic apps"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xrestop = "18 months"
RECIPE_LATEST_RELEASE_DATE_pn-xrestop = "03/2006"
RECIPE_COMMENTS_pn-xrestop = ""
+RECIPE_LAST_UPDATE_pn-xrestop = "Dec 21, 2007"
RECIPE_MAINTAINER_pn-xrestop = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-pcmanfm = "green"
-DEPENDENCY_CHECK_pn-pcmanfm = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-pcmanfm = "not done"
RECIPE_LATEST_VERSION_pn-pcmanfm = "0.9.8"
RECIPE_NO_OF_PATCHES_pn-pcmanfm = "4"
RECIPE_INTEL_SECTION_pn-pcmanfm = "graphic apps"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-pcmanfm = "5 months"
RECIPE_LATEST_RELEASE_DATE_pn-pcmanfm = "10/2010"
RECIPE_COMMENTS_pn-pcmanfm = ""
+RECIPE_LAST_UPDATE_pn-pcmanfm = "Nov 19, 2010"
RECIPE_MAINTAINER_pn-pcmanfm = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-oh-puzzles = "green" # no update needed
-DEPENDENCY_CHECK_pn-oh-puzzles = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-oh-puzzles = "not done"
RECIPE_LATEST_VERSION_pn-oh-puzzles = "0.1+svnr23"
RECIPE_NO_OF_PATCHES_pn-oh-puzzles = "1"
RECIPE_INTEL_SECTION_pn-oh-puzzles = "graphic apps"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-oh-puzzles = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-oh-puzzles = "04/2008"
RECIPE_COMMENTS_pn-oh-puzzles = ""
+RECIPE_LAST_UPDATE_pn-oh-puzzles = "Apr 8, 2008"
RECIPE_MAINTAINER_pn-oh-puzzles = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-gnome-terminal = "red"
@@ -2845,75 +3095,85 @@ RECIPE_MAINTAINER_pn-gnome-terminal = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-puzzles = "red"
DISTRO_PN_ALIAS_pn-puzzles = "Debian=sgt-puzzles"
-RECIPE_LATEST_VERSION_pn-puzzles = "r9034"
+RECIPE_LATEST_VERSION_pn-puzzles = "r9076"
+RECIPE_MANUAL_CHECK_DATE_pn-puzzles = "Jan 06, 2011"
+RECIPE_LAST_UPDATE_pn-puzzles = "Jan 06, 2011"
RECIPE_MAINTAINER_pn-puzzles = "Edwin Zhai <edwin.zhai@intel.com>"
DISTRO_PN_ALIAS_pn-puzzles = "Debian=sgt-puzzles Fedora=puzzles"
-RECIPE_STATUS_pn-x11perf = "red"
-RECIPE_LATEST_VERSION_pn-x11perf = "1.5.1"
+RECIPE_STATUS_pn-x11perf = "green"
+RECIPE_LATEST_VERSION_pn-x11perf = "1.5.2"
+RECIPE_LAST_UPDATE_pn-x11perf = "Nov 30, 2010"
RECIPE_MAINTAINER_pn-x11perf = "Edwin Zhai <edwin.zhai@intel.com>"
DISTRO_PN_ALIAS_pn-x11perf = "Fedora=xorg-x11-apps Ubuntu=x11-apps"
RECIPE_STATUS_pn-xbacklight = "red"
RECIPE_LATEST_VERSION_pn-xbacklight = "1.1.1"
+RECIPE_LAST_UPDATE_pn-xbacklight = "Aug 24, 2009"
RECIPE_MAINTAINER_pn-xbacklight = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-xev = "red"
RECIPE_LATEST_VERSION_pn-xev = "1.0.4"
+RECIPE_LAST_UPDATE_pn-xev = "Mar 28, 2008"
RECIPE_MAINTAINER_pn-xev = "Edwin Zhai <edwin.zhai@intel.com>"
DISTRO_PN_ALIAS_pn-xev = "Fedora=xorg-x11-utils Ubuntu=x11-utils"
RECIPE_STATUS_pn-xeyes = "red"
RECIPE_LATEST_VERSION_pn-xeyes = "1.1.0"
+RECIPE_LAST_UPDATE_pn-xeyes = "Nov 5, 2008"
RECIPE_MAINTAINER_pn-xeyes = "Edwin Zhai <edwin.zhai@intel.com>"
DISTRO_PN_ALIAS_pn-xeyes = "Ubuntu=x11-apps Fedora=xorg-x11-apps"
RECIPE_STATUS_pn-xrdb = "red"
RECIPE_LATEST_VERSION_pn-xrdb = "1.0.6"
+RECIPE_LAST_UPDATE_pn-xrdb = "Mar 28, 2008"
RECIPE_MAINTAINER_pn-xrdb = "Edwin Zhai <edwin.zhai@intel.com>"
DISTRO_PN_ALIAS_pn-xrdb = "Ubuntu=x11-xserver-utils Fedora=xorg-x11-server-utils"
-RECIPE_STATUS_pn-xvinfo = "red"
-RECIPE_LATEST_VERSION_pn-xvinfo = "1.1.0"
+RECIPE_STATUS_pn-xvinfo = "green"
+RECIPE_LATEST_VERSION_pn-xvinfo = "1.1.1"
+RECIPE_LAST_UPDATE_pn-xvinfo = "Dec 31, 2010"
RECIPE_MAINTAINER_pn-xvinfo = "Edwin Zhai <edwin.zhai@intel.com>"
DISTRO_PN_ALIAS_pn-xvinfo = "Fedora=xorg-x11-utils Ubuntu=x11-utils"
RECIPE_STATUS_pn-claws-plugin-gtkhtml2-viewer = "red"
DISTRO_PN_ALIAS_pn-claws-plugin-gtkhtml2-viewer = "Fedora=claws-mail-plugins OpenSuSE=claws-mail-extra-plugins Debian=claws-mail-extra-plugins"
RECIPE_LATEST_VERSION_pn-claws-plugin-gtkhtml2-viewer = "0.27"
+RECIPE_LAST_UPDATE_pn-claws-plugin-gtkhtml2-viewer = "May 9, 2007"
RECIPE_MAINTAINER_pn-claws-plugin-gtkhtml2-viewer = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-claws-plugin-maildir = "red"
DISTRO_PN_ALIAS_pn-claws-plugin-maildir = "Fedora=claws-mail-plugins OpenSuSE=claws-mail-extra-plugins Debian=claws-mail-extra-plugins"
RECIPE_LATEST_VERSION_pn-claws-plugin-maildir = "0.24.4"
+RECIPE_LAST_UPDATE_pn-claws-plugin-maildir = "Apr 25, 2007"
RECIPE_MAINTAINER_pn-claws-plugin-maildir = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-claws-plugin-mailmbox = "red"
DISTRO_PN_ALIAS_pn-claws-plugin-mailmbox = "Fedora=claws-mail-plugins OpenSuSE=claws-mail-extra-plugins Debian=claws-mail-extra-plugins"
RECIPE_LATEST_VERSION_pn-claws-plugin-mailmbox = "1.14.4"
+RECIPE_LAST_UPDATE_pn-claws-plugin-mailmbox = "May 10, 2007"
RECIPE_MAINTAINER_pn-claws-plugin-mailmbox = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-claws-plugin-rssyl = "red"
DISTRO_PN_ALIAS_pn-claws-plugin-rssyl = "Fedora=claws-mail-plugins OpenSuSE=claws-mail-extra-plugins Debian=claws-mail-extra-plugins"
RECIPE_LATEST_VERSION_pn-claws-plugin-rssyl = "0.27"
+RECIPE_LAST_UPDATE_pn-claws-plugin-rssyl = "May 10, 2007"
RECIPE_MAINTAINER_pn-claws-plugin-rssyl = "Edwin Zhai <edwin.zhai@intel.com>"
-RECIPE_STATUS_pn-lndir = "red"
-RECIPE_LATEST_VERSION_pn-lndir = "n/a"
-RECIPE_MAINTAINER_pn-lndir = "Edwin Zhai <edwin.zhai@intel.com>"
-DISTRO_PN_ALIAS_pn-lndir = "Mandriva=lndir Ubuntu=xutils-dev Fedora=imake"
-
RECIPE_STATUS_pn-kf = "red"
RECIPE_LATEST_VERSION_pn-kf = "n/a"
+RECIPE_LAST_UPDATE_pn-kf = "Sep 29, 2005"
RECIPE_MAINTAINER_pn-kf = "Edwin Zhai <edwin.zhai@intel.com>"
DISTRO_PN_ALIAS_pn-kf = "OSPDT"
RECIPE_STATUS_pn-claws-mail = "red"
RECIPE_LATEST_VERSION_pn-claws-mail = "3.7.6"
+RECIPE_LAST_UPDATE_pn-kf = "Apr 25, 2007"
RECIPE_MAINTAINER_pn-claws-mail = "Edwin Zhai <edwin.zhai@intel.com>"
-RECIPE_STATUS_pn-x11vnc = "red"
+RECIPE_STATUS_pn-x11vnc = "green"
RECIPE_LATEST_VERSION_pn-x11vnc = "0.9.12"
+RECIPE_LAST_UPDATE_pn-x11vnc = "Nov 30, 2010"
RECIPE_MAINTAINER_pn-x11vnc = "Edwin Zhai <edwin.zhai@intel.com>"
DISTRO_PN_ALIAS_pn-x11vnc = "Fedora=x11vnc Ubuntu=x11vnc"
@@ -2923,6 +3183,7 @@ RECIPE_NO_OF_PATCHES_pn-mkfontdir="0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-mkfontdir="2009/10/11"
RECIPE_LATEST_RELEASE_DATE_pn-mkfontdir="16 monthes"
RECIPE_INTEL_SECTION_pn-mkfontdir="graphic apps"
+RECIPE_LAST_UPDATE_pn-mkfontdir = "Jan 18, 2011"
RECIPE_MAINTAINER_pn-mkfontdir="Yu Ke <ke.yu@intel.com>"
DISTRO_PN_ALIAS_pn-mkfontdir = "Mandriva=mkfontdir Ubuntu=xfonts-utils Fedora=xorg-x11-font-utils"
@@ -2932,6 +3193,7 @@ RECIPE_NO_OF_PATCHES_pn-mkfontscale="0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-mkfontscale="10 monthes"
RECIPE_LATEST_RELEASE_DATE_pn-mkfontscale="2009/10/11"
RECIPE_INTEL_SECTION_pn-mkfontscale="graphic apps"
+RECIPE_LAST_UPDATE_pn-mkfontscale = "Jan 18, 2011"
RECIPE_MAINTAINER_pn-mkfontscale="Yu Ke <ke.yu@intel.com>"
DISTRO_PN_ALIAS_pn-mkfontscale = "Mandriva=mkfontscale Ubuntu=xfonts-utils Fedora=xorg-x11-font-utils"
@@ -2941,6 +3203,7 @@ RECIPE_NO_OF_PATCHES_pn-xauth="0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xauth="1 year"
RECIPE_LATEST_RELEASE_DATE_pn-xauth="2010/09/24"
RECIPE_INTEL_SECTION_pn-xauth="graphic app"
+RECIPE_LAST_UPDATE_pn-xauth = "Nov 12, 2010"
RECIPE_MAINTAINER_pn-xauth="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-xdpyinfo="green" # no update needed
@@ -2949,6 +3212,7 @@ RECIPE_NO_OF_PATCHES_pn-xdpyinfo="1"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xdpyinfo="1 year"
RECIPE_LATEST_RELEASE_DATE_pn-xdpyinfo="2009/10/16"
RECIPE_INTEL_SECTION_pn-xdpyinfo="graphic app"
+RECIPE_LAST_UPDATE_pn-xdpyinfo = "Jan 18, 2011"
RECIPE_MAINTAINER_pn-xdpyinfo="Yu Ke <ke.yu@intel.com>"
DISTRO_PN_ALIAS_pn-xdpyinfo = "Fedora=xorg-x11-utils Ubuntu=x11-utils"
@@ -2958,6 +3222,7 @@ RECIPE_NO_OF_PATCHES_pn-xhost="0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xhost="2 years"
RECIPE_LATEST_RELEASE_DATE_pn-xhost="2009/10/14"
RECIPE_INTEL_SECTION_pn-xhost="graphic app"
+RECIPE_LAST_UPDATE_pn-xhost = "Jan 18, 2011"
RECIPE_MAINTAINER_pn-xhost="Yu Ke <ke.yu@intel.com>"
DISTRO_PN_ALIAS_pn-xhost = "Ubuntu=x11-xserver-utils Fedora=xorg-x11-server-utils"
@@ -2967,6 +3232,7 @@ RECIPE_NO_OF_PATCHES_pn-xinit="0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xinit="4 monthes"
RECIPE_LATEST_RELEASE_DATE_pn-xinit="2010/03/16"
RECIPE_INTEL_SECTION_pn-xinit="graphic app"
+RECIPE_LAST_UPDATE_pn-xinit = "Jan 18, 2011"
RECIPE_MAINTAINER_pn-xinit="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-xkbcomp="green" # no update needed
@@ -2975,6 +3241,7 @@ RECIPE_NO_OF_PATCHES_pn-xkbcomp="0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xkbcomp="2 monthes"
RECIPE_LATEST_RELEASE_DATE_pn-xkbcomp="2009/10/03"
RECIPE_INTEL_SECTION_pn-xkbcomp="graphic app"
+RECIPE_LAST_UPDATE_pn-xkbcomp = "Jan 18, 2011"
RECIPE_MAINTAINER_pn-xkbcomp="Yu Ke <ke.yu@intel.com>"
DISTRO_PN_ALIAS_pn-xkbcomp = "Ubuntu=x11-xkb-utils Fedora=xorg-x11-xkb-utils"
@@ -2984,6 +3251,7 @@ RECIPE_NO_OF_PATCHES_pn-xmodmap="0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xmodmap="2 years"
RECIPE_LATEST_RELEASE_DATE_pn-xmodmap="2010/09/24"
RECIPE_INTEL_SECTION_pn-xmodmap="graphic app"
+RECIPE_LAST_UPDATE_pn-xmodmap = "Nov 12, 2010"
RECIPE_MAINTAINER_pn-xmodmap="Yu Ke <ke.yu@intel.com>"
DISTRO_PN_ALIAS_pn-xmodmap = "Meego=xorg-x11-utils-xmodmap Fedora=xorg-x11-server-utils Ubuntu=x11-xserver-utils"
@@ -2993,6 +3261,7 @@ RECIPE_NO_OF_PATCHES_pn-xprop="0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xprop="1 year"
RECIPE_LATEST_RELEASE_DATE_pn-xprop="2009/10/12"
RECIPE_INTEL_SECTION_pn-xprop="graphic app"
+RECIPE_LAST_UPDATE_pn-xprop = "Jan 18, 2011"
RECIPE_MAINTAINER_pn-xprop="Yu Ke <ke.yu@intel.com>"
DISTRO_PN_ALIAS_pn-xprop = "Meego=xorg-x11-utils-xprop Fedora=xorg-x11-utils Ubuntu=x11-utils"
@@ -3003,6 +3272,7 @@ RECIPE_NO_OF_PATCHES_pn-xset="1"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xset="1 year"
RECIPE_LATEST_RELEASE_DATE_pn-xset="2010/11/11"
RECIPE_INTEL_SECTION_pn-xset="graphic app"
+RECIPE_LAST_UPDATE_pn-xset = "Nov 12, 2010"
RECIPE_MAINTAINER_pn-xset="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-xwininfo="green" # no update needed
@@ -3011,6 +3281,7 @@ RECIPE_NO_OF_PATCHES_pn-xwininfo="0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xwininfo="1 year"
RECIPE_LATEST_RELEASE_DATE_pn-xwininfo="2010/10/30"
RECIPE_INTEL_SECTION_pn-xwininfo="graphic app"
+RECIPE_LAST_UPDATE_pn-xwininfo = "Jan 18, 2011"
RECIPE_MAINTAINER_pn-xwininfo="Yu Ke <ke.yu@intel.com>"
DISTRO_PN_ALIAS_pn-xwininfo = "Fedora=xorg-x11-utils Ubuntu=x11-utils"
@@ -3020,6 +3291,7 @@ 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"
+RECIPE_LAST_UPDATE_pn-xrandr = "Nov 16, 2010"
RECIPE_MAINTAINER_pn-xrandr="Yu Ke <ke.yu@intel.com>"
DISTRO_PN_ALIAS_pn-xrandr = "Ubuntu=x11-xserver-utils Fedora=xorg-x11-server-utils"
@@ -3029,6 +3301,7 @@ RECIPE_NO_OF_PATCHES_pn-vte="0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-vte="3 monthes"
RECIPE_LATEST_RELEASE_DATE_pn-vte="2010/07/12"
RECIPE_INTEL_SECTION_pn-vte="graphic app"
+RECIPE_LAST_UPDATE_pn-vte = "Jul 19, 2010"
RECIPE_MAINTAINER_pn-vte="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-qemugl="green" # no update needed
@@ -3037,6 +3310,8 @@ RECIPE_NO_OF_PATCHES_pn-qemugl="1"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-qemugl="n/a"
RECIPE_LATEST_RELEASE_DATE_pn-qemugl="2009/05/30"
RECIPE_INTEL_SECTION_pn-qemugl="graphic app"
+RECIPE_LAST_UPDATE_pn-qemugl = "Nov 28, 2010"
+RECIPE_NO_UPDATE_REASON_pn-qemugl = "Do not upgrade to version: 33466cd8 because the upstream is broken in x86_64 build"
RECIPE_MAINTAINER_pn-qemugl="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-fotowall="green" # no update needed
@@ -3046,6 +3321,7 @@ RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-fotowall="2 monthes"
RECIPE_LATEST_RELEASE_DATE_pn-fotowall="2009/12/08"
RECIPE_INTEL_SECTION_pn-fotowall="graphic app"
RECIPE_LATEST_VERSION_pn-fotowall=""
+RECIPE_LAST_UPDATE_pn-fotowall = "Aug 25, 2010"
RECIPE_MAINTAINER_pn-fotowall="Yu Ke <ke.yu@intel.com>"
DISTRO_PN_ALIAS_pn-fotowall = "Fedora=fotowall Ubuntu=fotowall"
@@ -3055,6 +3331,7 @@ RECIPE_NO_OF_PATCHES_pn-imake = "0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-imake = "1 month"
RECIPE_LATEST_RELEASE_DATE_pn-imake = "2010/04/16"
RECIPE_INTEL_SECTION_pn-imake = "graphic app"
+RECIPE_LAST_UPDATE_pn-imake = "Nov 21, 2010"
RECIPE_MAINTAINER_pn-imake = "Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-qt4-tools-native = "green" # no update needed
@@ -3063,6 +3340,7 @@ RECIPE_NO_OF_PATCHES_pn-qt4-tools-native = "3"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-qt4-tools-native = "4 monthes"
RECIPE_LATEST_RELEASE_DATE_pn-qt4-tools-native = "2010/06/02"
RECIPE_INTEL_SECTION_pn-qt4-tools-native = "graphic app"
+RECIPE_LAST_UPDATE_pn-qt4-tools-native = "Aug 25, 2010"
RECIPE_MAINTAINER_pn-qt4-tools-native = "Yu Ke <ke.yu@intel.com>"
DISTRO_PN_ALIAS_pn-qt4-tools-native = "Mandriva=libqt4-devel Ubuntu=libqt4-dev"
@@ -3072,6 +3350,7 @@ RECIPE_NO_OF_PATCHES_pn-quicky = "0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-quicky = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-quicky = "2008/06/18"
RECIPE_INTEL_SECTION_pn-quicky = "graphic app"
+RECIPE_LAST_UPDATE_pn-quicky = "Aug 25, 2010"
RECIPE_MAINTAINER_pn-quicky = "Yu Ke <ke.yu@intel.com>"
DISTRO_PN_ALIAS_pn-quicky = "OSPDT"
#
@@ -3085,6 +3364,7 @@ RECIPE_NO_OF_PATCHES_pn-bigreqsproto="0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-bigreqsproto="3 years"
RECIPE_LATEST_RELEASE_DATE_pn-bigreqsproto="2009/08/26"
RECIPE_INTEL_SECTION_pn-bigreqsproto="graphic core"
+RECIPE_LAST_UPDATE_pn-bigreqsproto = "Jan 18, 2011"
RECIPE_MAINTAINER_pn-bigreqsproto="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-evieext="green" # no update needed
@@ -3094,6 +3374,7 @@ RECIPE_NO_OF_PATCHES_pn-evieext="0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-evieext="3 years"
RECIPE_LATEST_RELEASE_DATE_pn-evieext="2009/08/26"
RECIPE_INTEL_SECTION_pn-evieext="graphic core"
+RECIPE_LAST_UPDATE_pn-evieext = "Feb 3, 2010"
RECIPE_MAINTAINER_pn-evieext="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-libxxf86dga="green" # no update needed
@@ -3102,6 +3383,7 @@ RECIPE_NO_OF_PATCHES_pn-libxxf86dga="0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxxf86dga="1 month"
RECIPE_LATEST_RELEASE_DATE_pn-libxxf86dga="2009/10/06"
RECIPE_INTEL_SECTION_pn-libxxf86dga="graphic core"
+RECIPE_LAST_UPDATE_pn-libxxf86dga = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxxf86dga="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-x11-common="green" # no update needed
@@ -3110,6 +3392,7 @@ RECIPE_NO_OF_PATCHES_pn-x11-common="0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-x11-common="n/a" # local file without release
RECIPE_LATEST_RELEASE_DATE_pn-x11-common="2008/09/22" # per poky git log
RECIPE_INTEL_SECTION_pn-x11-common="graphic core"
+RECIPE_LAST_UPDATE_pn-x11-common = "Sep 22, 2008"
RECIPE_MAINTAINER_pn-x11-common="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-xf86-input-keyboard="green" # no update needed
@@ -3119,6 +3402,7 @@ RECIPE_NO_OF_PATCHES_pn-xf86-input-keyboard="0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xf86-input-keyboard="9 monthes"
RECIPE_LATEST_RELEASE_DATE_pn-xf86-input-keyboard="2009/10/07"
RECIPE_INTEL_SECTION_pn-xf86-input-keyboard="graphic core"
+RECIPE_LAST_UPDATE_pn-xf86-input-keyboard = "Jan 18, 2011"
RECIPE_MAINTAINER_pn-xf86-input-keyboard="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-xf86-input-mouse="green" # no update needed
@@ -3128,6 +3412,7 @@ RECIPE_NO_OF_PATCHES_pn-xf86-input-mouse="0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xf86-input-mouse="9 monthes"
RECIPE_LATEST_RELEASE_DATE_pn-xf86-input-mouse="2010/09/09"
RECIPE_INTEL_SECTION_pn-xf86-input-mouse="graphic core"
+RECIPE_LAST_UPDATE_pn-xf86-input-mouse = "Nov 12, 2010"
RECIPE_MAINTAINER_pn-xf86-input-mouse="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-xf86-input-vmmouse="green" # update needed
@@ -3137,6 +3422,7 @@ RECIPE_NO_OF_PATCHES_pn-xf86-input-vmmouse="0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xf86-input-vmmouse="1 month"
RECIPE_LATEST_RELEASE_DATE_pn-xf86-input-vmmouse="2010/08/10"
RECIPE_INTEL_SECTION_pn-xf86-input-vmmouse="graphic core"
+RECIPE_LAST_UPDATE_pn-xf86-input-vmmouse = "Nov 12, 2010"
RECIPE_MAINTAINER_pn-xf86-input-vmmouse="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-libdrm="green" # no update needed
@@ -3145,6 +3431,7 @@ RECIPE_NO_OF_PATCHES_pn-libdrm="1"
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_LAST_UPDATE_pn-libdrm = "Jan 18, 2011"
RECIPE_MAINTAINER_pn-libdrm="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-python-pycairo="green" # no upgrade needed
@@ -3154,6 +3441,7 @@ RECIPE_NO_OF_PATCHES_pn-python-pycairo="0"
RECIPE_LATEST_RELEASE_DATE_pn-python-pycairo="2010/05/20"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-python-pycairo="9 months"
RECIPE_INTEL_SECTION_pn-python-pycairo="graphic core"
+RECIPE_LAST_UPDATE_pn-python-pycairo = "Aug 16, 2010"
RECIPE_MAINTAINER_pn-python-pycairo="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-libxfontcache="green" # no update neededd
@@ -3162,6 +3450,7 @@ 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_LAST_UPDATE_pn-libxfontcache = "Jun 23, 2010"
RECIPE_MAINTAINER_pn-libxfontcache="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-xf86-input-evdev="green" # no update needed
@@ -3171,6 +3460,7 @@ 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/08/23"
RECIPE_INTEL_SECTION_pn-xf86-input-evdev="graphic core"
+RECIPE_LAST_UPDATE_pn-xf86-input-evdev = "Jan 18, 2011"
RECIPE_MAINTAINER_pn-xf86-input-evdev="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-xf86-video-vmware="green" # no update needed
@@ -3180,6 +3470,7 @@ 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/11/09"
RECIPE_INTEL_SECTION_pn-xf86-video-vmware="graphic core"
+RECIPE_LAST_UPDATE_pn-xf86-video-vmware = "Nov 12, 2010"
RECIPE_MAINTAINER_pn-xf86-video-vmware="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-xf86-video-vesa = "green" # no update needed
@@ -3188,6 +3479,7 @@ RECIPE_NO_OF_PATCHES_pn-xf86-video-vesa = "0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xf86-video-vesa = "6 monthes"
RECIPE_LATEST_RELEASE_DATE_pn-xf86-video-vesa = "2010/01/04"
RECIPE_INTEL_SECTION_pn-xf86-video-vesa = "graphic core"
+RECIPE_LAST_UPDATE_pn-xf86-video-vesa = "May 17, 2010"
RECIPE_MAINTAINER_pn-xf86-video-vesa = "Yu Ke <ke.yu@intel.com>"
DISTRO_PN_ALIAS_pn-xf86-video-vesa = "Debian=xserver-xorg-video-vesa Fedora=xorg-x11-drv-vesa Mandriva=x11-driver-video-vesa Ubuntu=xserver-xorg-video-vesa"
@@ -3198,6 +3490,7 @@ 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_LAST_UPDATE_pn-cairo = "Jan 18, 2011"
RECIPE_MAINTAINER_pn-cairo="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-xserver-nodm-init="green" # no update needed
@@ -3214,6 +3507,7 @@ 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_LAST_UPDATE_pn-xserver-xf86-config = "May 31, 2009"
RECIPE_MAINTAINER_pn-xserver-xf86-config="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-pango="green" # no update needed
@@ -3222,6 +3516,7 @@ 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"
+RECIPE_LAST_UPDATE_pn-pango = "Nov 21, 2010"
RECIPE_MAINTAINER_pn-pango="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-mesa-dri="green" # no update needed
@@ -3230,6 +3525,7 @@ RECIPE_NO_OF_PATCHES_pn-mesa-dri="1"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-mesa-dri="2 monthes"
RECIPE_LATEST_RELEASE_DATE_pn-mesa-dri="2010/06/17"
RECIPE_INTEL_SECTION_pn-mesa-dri="graphic core"
+RECIPE_LAST_UPDATE_pn-mesa-dri = "Jan 18, 2011"
RECIPE_MAINTAINER_pn-mesa-dri="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-mesa-dri-glsl-native="green" # no update needed
@@ -3238,6 +3534,7 @@ RECIPE_NO_OF_PATCHES_pn-mesa-dri-glsl-native="0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-mesa-dri-glsl-native="2 monthes"
RECIPE_LATEST_RELEASE_DATE_pn-mesa-dri-glsl-native="2010/06/17"
RECIPE_INTEL_SECTION_pn-mesa-dri-glsl-native="graphic core"
+RECIPE_LAST_UPDATE_pn-mesa-dri-glsl-native = "Jan 18, 2011"
RECIPE_MAINTAINER_pn-mesa-dri-glsl-native = "Yu Ke <ke.yu@intel.com>"
DISTRO_PN_ALIAS_pn-mesa-dri-glsl-native = "Fedora=mesa Ubuntu=libgl1-mesa-dri"
@@ -3247,6 +3544,7 @@ RECIPE_NO_OF_PATCHES_pn-mesa-xlib="0"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-mesa-xlib="2 monthes"
RECIPE_LATEST_RELEASE_DATE_pn-mesa-xlib="2010/06/17"
RECIPE_INTEL_SECTION_pn-mesa-xlib="graphic core"
+RECIPE_LAST_UPDATE_pn-mesa-xlib = "Nov 27, 2010"
RECIPE_MAINTAINER_pn-mesa-xlib="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-xserver-xf86-dri-lite="green" # no update needed
@@ -3255,39 +3553,39 @@ RECIPE_NO_OF_PATCHES_pn-xserver-xf86-dri-lite="2"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xserver-xf86-dri-lite="2 monthes"
RECIPE_LATEST_RELEASE_DATE_pn-xserver-xf86-dri-lite="2010/07/01"
RECIPE_INTEL_SECTION_pn-xserver-xf86-dri-lite="graphic core"
+RECIPE_LAST_UPDATE_pn-xserver-xf86-dri-lite = "Jan 18, 2011"
RECIPE_MAINTAINER_pn-xserver-xf86-dri-lite="Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-xf86-input-synaptics = "red"
DISTRO_PN_ALIAS_pn-xf86-input-synaptics = "Meego=xorg-x11-drv-synaptics Fedora=xorg-x11-drv-synaptics Ubuntu=xserver-xorg-input-synaptics Mandriva=x11-driver-input-synaptics Debian=xfree86-driver-synaptics"
RECIPE_LATEST_VERSION_pn-xf86-input-synaptics = "1.2.2"
+RECIPE_LAST_UPDATE_pn-xf86-input-synaptics = "Jan 18, 2011"
RECIPE_MAINTAINER_pn-xf86-input-synaptics = "Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-xf86-video-intel = "red"
DISTRO_PN_ALIAS_pn-xf86-video-intel = "Debian=xserver-xorg-video-intel Fedora=xorg-x11-drv-intel Mandriva=x11-driver-video-intel Meego=xorg-x11-drv-intel Ubuntu=xserver-xorg-video-intel"
RECIPE_LATEST_VERSION_pn-xf86-video-intel = "2.11.0"
+RECIPE_LAST_UPDATE_pn-xf86-video-intel = "Jan 18, 2011"
RECIPE_MAINTAINER_pn-xf86-video-intel = "Yu Ke <ke.yu@intel.com>"
RECIPE_STATUS_pn-xf86-video-omapfb = "red"
DISTRO_PN_ALIAS_pn-xf86-video-omapfb = "OSPDT"
RECIPE_LATEST_VERSION_pn-xf86-video-omapfb = "0.1.1+git_db636c8436265c3d86"
+RECIPE_LAST_UPDATE_pn-xf86-video-omapfb = "Mar 1, 2010"
RECIPE_MAINTAINER_pn-xf86-video-omapfb = "Yu Ke <ke.yu@intel.com>"
-RECIPE_STATUS_pn-xorg-cf-files = "red"
-RECIPE_LATEST_VERSION_pn-xorg-cf-files = "1.0.3"
-RECIPE_MAINTAINER_pn-xorg-cf-files = "Yu Ke <ke.yu@intel.com>"
-DISTRO_PN_ALIAS_pn-xorg-cf-files = "Fedora=imake Ubuntu=xutils-dev"
-
RECIPE_STATUS_pn-libdrm-poulsbo = "green" # no update needed
RECIPE_LATEST_VERSION_pn-libdrm-poulsbo = "2.3.0"
RECIPE_NO_OF_PATCHES_pn-libdrm-poulsbo = "1"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libdrm-poulsbo = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-libdrm-poulsbo = "n/a"
RECIPE_INTEL_SECTION_pn-libdrm-poulsbo = "graphic core"
+RECIPE_LAST_UPDATE_pn-libdrm-poulsbo = "Dec 20, 2010"
RECIPE_MAINTAINER_pn-libdrm-poulsbo = "Yu Ke <ke.yu@intel.com>"
DISTRO_PN_ALIAS_pn-libdrm-poulsbo = "Debian=libdrm-intel1 Ubuntu=libdrm-intel1"
RECIPE_STATUS_pn-libxsettings-client = "green"
-DEPENDENCY_CHECK_pn-libxsettings-client = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxsettings-client = "not done"
RECIPE_LATEST_VERSION_pn-libxsettings-client = "0.10"
RECIPE_NO_OF_PATCHES_pn-libxsettings-client = "1"
RECIPE_PATCH_pn-libxsettings-client+link-x11 = "add the linkage to X11"
@@ -3295,12 +3593,13 @@ RECIPE_INTEL_SECTION_pn-libxsettings-client = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxsettings-client = "stable"
RECIPE_LATEST_RELEASE_DATE_pn-libxsettings-client = "03/2007"
RECIPE_COMMENTS_pn-libxsettings-client = ""
+RECIPE_LAST_UPDATE_pn-libxsettings-client = "Sep 21, 2006"
RECIPE_MAINTAINER_pn-libxsettings-client = "Dexuan Cui <dexuan.cui@intel.com>"
DISTRO_PN_ALIAS_pn-libxsettings-client = "Debian=libxsettings-client0 Ubuntu=libxsettings-client0 Mandriva=libXsettings-client0"
RECIPE_STATUS_pn-settings-daemon = "green"
DISTRO_PN_ALIAS_pn-settings-daemon = "OpenedHand"
-DEPENDENCY_CHECK_pn-settings-daemon = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-settings-daemon = "not done"
RECIPE_LATEST_VERSION_pn-settings-daemon = "0.0+svnr2059"
RECIPE_NO_OF_PATCHES_pn-settings-daemon = "1"
RECIPE_PATCH_pn-settings-daemon+addsoundkeys = "add extra gnome/gconf schemas"
@@ -3308,21 +3607,23 @@ RECIPE_INTEL_SECTION_pn-settings-daemon = "x11"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-settings-daemon = "2 months"
RECIPE_LATEST_RELEASE_DATE_pn-settings-daemon = "06/2008"
RECIPE_COMMENTS_pn-settings-daemon = ""
+RECIPE_LAST_UPDATE_pn-settings-daemon = "Jan 18, 2008"
RECIPE_MAINTAINER_pn-settings-daemon = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-encodings = "green"
DISTRO_PN_ALIAS_pn-encodings = "Ubuntu=xfonts-encodings Mandriva=x11-font-encodings Debian=xfonts-encodings"
-DEPENDENCY_CHECK_pn-encodings = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-encodings = "not done"
RECIPE_LATEST_VERSION_pn-encodings = "1.0.3"
RECIPE_NO_OF_PATCHES_pn-encodings = "0"
RECIPE_INTEL_SECTION_pn-encodings = "x11/fonts"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-encodings = "3 years"
RECIPE_LATEST_RELEASE_DATE_pn-encodings = "10/2009"
RECIPE_COMMENTS_pn-encodings = ""
+RECIPE_LAST_UPDATE_pn-encodings = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-encodings = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-font-alias = "green"
-DEPENDENCY_CHECK_pn-font-alias = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-font-alias = "not done"
RECIPE_LATEST_VERSION_pn-font-alias = "1.0.2"
RECIPE_NO_OF_PATCHES_pn-font-alias = "1"
RECIPE_PATCH_pn-font-alias+fix_COPYING_1f8141a5e3b585dfccc748400b05c9c24b41e767 = "update the COPYING file"
@@ -3330,24 +3631,27 @@ RECIPE_INTEL_SECTION_pn-font-alias = "x11/fonts"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-font-alias = "3 years"
RECIPE_LATEST_RELEASE_DATE_pn-font-alias = "10/2009"
RECIPE_COMMENTS_pn-font-alias = ""
+RECIPE_LAST_UPDATE_pn-font-alias = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-font-alias = "Dexuan Cui <dexuan.cui@intel.com>"
DISTRO_PN_ALIAS_pn-font-alias = "Fedora=xorg-x11-fonts-base Mandriva=x11-font-alias Meego=xorg-x11-fonts"
RECIPE_STATUS_pn-font-util = "green"
DISTRO_PN_ALIAS_pn-font-util = "Meego=xorg-x11-font-utils Fedora=xorg-x11-font-utils Ubuntu=xfonts-utils Mandriva=x11-font-util Debian=xfonts-utils"
-DEPENDENCY_CHECK_pn-font-util = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-font-util = "not done"
RECIPE_LATEST_VERSION_pn-font-util = "1.1.1"
RECIPE_NO_OF_PATCHES_pn-font-util = "0"
RECIPE_INTEL_SECTION_pn-font-util = "x11/fonts"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-font-util = "relatively stable"
RECIPE_LATEST_RELEASE_DATE_pn-font-util = "10/12/2009"
RECIPE_COMMENTS_pn-font-util = "the 4th license in COPYING is Unicode License?"
+RECIPE_LAST_UPDATE_pn-font-util = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-font-util = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-xorg-minimal-fonts = "green"
DISTRO_PN_ALIAS_pn-xorg-minimal-fonts = "Ubuntu=xfonts-base Fedora=xorg-x11-fonts-base"
-DEPENDENCY_CHECK_pn-xorg-minimal-fonts = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-xorg-minimal-fonts = "not done"
RECIPE_LATEST_VERSION_pn-xorg-minimal-fonts = "1.0"
+RECIPE_MANUAL_CHECK_DATE_pn-xorg-minimal-fonts = "Jan 28, 2011"
RECIPE_NO_OF_PATCHES_pn-xorg-minimal-fonts = "0"
RECIPE_INTEL_SECTION_pn-xorg-minimal-fonts = "x11/fonts"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xorg-minimal-fonts = ""
@@ -3357,7 +3661,7 @@ RECIPE_MAINTAINER_pn-xorg-minimal-fonts = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-calibrateproto = "green"
DISTRO_PN_ALIAS_pn-calibrateproto = "OSPDT upstream=http://cgit.freedesktop.org/xorg/proto/calibrateproto"
-DEPENDENCY_CHECK_pn-calibrateproto = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-calibrateproto = "not done"
RECIPE_LATEST_VERSION_pn-calibrateproto = "0.0+git0+1da6fd1e2c7a49648245c98481fabea8b9690a8c"
RECIPE_NO_OF_PATCHES_pn-calibrateproto = "1"
RECIPE_PATCH_pn-calibrateproto+fix = "Add missing length fields to the replies. Without these, sanity checking in recent X breaks things. RP 11/2/10"
@@ -3366,440 +3670,482 @@ RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-calibrateproto = "1 month"
RECIPE_LATEST_RELEASE_DATE_pn-calibrateproto = "01/2008"
RECIPE_COMMENTS_pn-calibrateproto = ""
DISTRO_PN_ALIAS_pn-calibrateproto = "OSPDT upstream=http://cgit.freedesktop.org/xorg/lib/libXCalibrate/"
+RECIPE_LAST_UPDATE_pn-calibrateproto = "Feb 11, 2008"
RECIPE_MAINTAINER_pn-calibrateproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-compositeproto = "green"
DISTRO_PN_ALIAS_pn-compositeproto = "Meego=xorg-x11-proto-compositeproto"
-DEPENDENCY_CHECK_pn-compositeproto = "not done"
-RECIPE_LATEST_VERSION_pn-compositeproto = "0.4"
+RECIPE_DEPENDENCY_CHECK_pn-compositeproto = "not done"
+RECIPE_LATEST_VERSION_pn-compositeproto = "0.4.2"
RECIPE_NO_OF_PATCHES_pn-compositeproto = "0"
RECIPE_INTEL_SECTION_pn-compositeproto = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-compositeproto = "1 year"
-RECIPE_LATEST_RELEASE_DATE_pn-compositeproto = "07/2007"
+RECIPE_LATEST_RELEASE_DATE_pn-compositeproto = "Oct 29, 2010"
RECIPE_COMMENTS_pn-compositeproto = ""
+RECIPE_LAST_UPDATE_pn-compositeproto = "Jan 5, 2011"
RECIPE_MAINTAINER_pn-compositeproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-damageproto = "green"
DISTRO_PN_ALIAS_pn-damageproto = "Meego=xorg-x11-proto-damageproto"
-DEPENDENCY_CHECK_pn-damageproto = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-damageproto = "not done"
RECIPE_LATEST_VERSION_pn-damageproto = "1.2.1"
RECIPE_NO_OF_PATCHES_pn-damageproto = "0"
RECIPE_INTEL_SECTION_pn-damageproto = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-damageproto = "1+ years"
RECIPE_LATEST_RELEASE_DATE_pn-damageproto = "Oct 29, 2010"
RECIPE_COMMENTS_pn-damageproto = ""
+RECIPE_LAST_UPDATE_pn-damageproto = "Nov 16, 2010"
RECIPE_MAINTAINER_pn-damageproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-dmxproto = "green"
DISTRO_PN_ALIAS_pn-dmxproto = "Meego=xorg-x11-proto-dmxproto Ubuntu=x11proto-dmx Debian=x11proto-dmx"
-DEPENDENCY_CHECK_pn-dmxproto = "not done"
-RECIPE_LATEST_VERSION_pn-dmxproto = "2.3"
+RECIPE_DEPENDENCY_CHECK_pn-dmxproto = "not done"
+RECIPE_LATEST_VERSION_pn-dmxproto = "2.3.1"
RECIPE_NO_OF_PATCHES_pn-dmxproto = "0"
RECIPE_INTEL_SECTION_pn-dmxproto = "x11/libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-dmxproto = "2 months"
-RECIPE_LATEST_RELEASE_DATE_pn-dmxproto = "10/2009"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-dmxproto = "1+ years"
+RECIPE_LATEST_RELEASE_DATE_pn-dmxproto = "Jan 5, 2011"
RECIPE_COMMENTS_pn-dmxproto = ""
+RECIPE_LAST_UPDATE_pn-dmxproto = "Jan 28, 2011"
RECIPE_MAINTAINER_pn-dmxproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-fixesproto = "green"
DISTRO_PN_ALIAS_pn-fixesproto = "Meego=xorg-x11-proto-fixesproto"
-DEPENDENCY_CHECK_pn-fixesproto = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-fixesproto = "not done"
RECIPE_LATEST_VERSION_pn-fixesproto = "4.1.2"
RECIPE_NO_OF_PATCHES_pn-fixesproto = "0"
RECIPE_INTEL_SECTION_pn-fixesproto = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-fixesproto = "1 year"
RECIPE_LATEST_RELEASE_DATE_pn-fixesproto = "Oct 29, 2010"
RECIPE_COMMENTS_pn-fixesproto = ""
+RECIPE_LAST_UPDATE_pn-fixesproto = "Nov 16, 2010"
RECIPE_MAINTAINER_pn-fixesproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-fontcacheproto = "green"
DISTRO_PN_ALIAS_pn-fontcacheproto = "Meego=xorg-x11-proto-fontcacheproto"
-DEPENDENCY_CHECK_pn-fontcacheproto = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-fontcacheproto = "not done"
RECIPE_LATEST_VERSION_pn-fontcacheproto = "0.1.3"
RECIPE_NO_OF_PATCHES_pn-fontcacheproto = "0"
RECIPE_INTEL_SECTION_pn-fontcacheproto = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-fontcacheproto = "3 years"
RECIPE_LATEST_RELEASE_DATE_pn-fontcacheproto = "10/2009"
RECIPE_COMMENTS_pn-fontcacheproto = ""
+RECIPE_LAST_UPDATE_pn-fontcacheproto = "Feb 3, 2010"
RECIPE_MAINTAINER_pn-fontcacheproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-fontsproto = "green"
DISTRO_PN_ALIAS_pn-fontsproto = "Meego=xorg-x11-proto-fontsproto"
-DEPENDENCY_CHECK_pn-fontsproto = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-fontsproto = "not done"
RECIPE_LATEST_VERSION_pn-fontsproto = "2.1.1"
RECIPE_NO_OF_PATCHES_pn-fontsproto = "0"
RECIPE_INTEL_SECTION_pn-fontsproto = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-fontsproto = "1+ years"
RECIPE_LATEST_RELEASE_DATE_pn-fontsproto = "Oct 29, 2010"
RECIPE_COMMENTS_pn-fontsproto = ""
+RECIPE_LAST_UPDATE_pn-fontsproto = "Nov 16, 2010"
RECIPE_MAINTAINER_pn-fontsproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-glproto = "green"
DISTRO_PN_ALIAS_pn-glproto = "Meego=xorg-x11-proto-glproto"
-DEPENDENCY_CHECK_pn-glproto = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-glproto = "not done"
RECIPE_LATEST_VERSION_pn-glproto = "1.4.12"
RECIPE_NO_OF_PATCHES_pn-glproto = "0"
RECIPE_INTEL_SECTION_pn-glproto = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-glproto = "7 months"
RECIPE_LATEST_RELEASE_DATE_pn-glproto = "Aug 10, 2010"
RECIPE_COMMENTS_pn-glproto = ""
+RECIPE_LAST_UPDATE_pn-glproto = "Nov 16, 2010"
RECIPE_MAINTAINER_pn-glproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-inputproto = "green"
DISTRO_PN_ALIAS_pn-inputproto = "Meego=xorg-x11-proto-inputproto"
-DEPENDENCY_CHECK_pn-inputproto = "not done"
-RECIPE_LATEST_VERSION_pn-inputproto = "2.0"
+RECIPE_DEPENDENCY_CHECK_pn-inputproto = "not done"
+RECIPE_LATEST_VERSION_pn-inputproto = "2.0.1"
RECIPE_NO_OF_PATCHES_pn-inputproto = "0"
RECIPE_INTEL_SECTION_pn-inputproto = "x11/libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-inputproto = "2 months"
-RECIPE_LATEST_RELEASE_DATE_pn-inputproto = "10/2009"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-inputproto = "1 year"
+RECIPE_LATEST_RELEASE_DATE_pn-inputproto = "Nov 10, 2010"
RECIPE_COMMENTS_pn-inputproto = ""
+RECIPE_LAST_UPDATE_pn-inputproto = "Jan 5, 2011"
RECIPE_MAINTAINER_pn-inputproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-kbproto = "green"
DISTRO_PN_ALIAS_pn-kbproto = "Meego=xorg-x11-proto-kbproto Ubuntu=x11proto-kb-dev Debian=x11proto-kb-dev"
-DEPENDENCY_CHECK_pn-kbproto = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-kbproto = "not done"
RECIPE_LATEST_VERSION_pn-kbproto = "1.0.5"
RECIPE_NO_OF_PATCHES_pn-kbproto = "0"
RECIPE_INTEL_SECTION_pn-kbproto = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-kbproto = "10 months"
RECIPE_LATEST_RELEASE_DATE_pn-kbproto = "Aug 10, 2010"
RECIPE_COMMENTS_pn-kbproto = ""
+RECIPE_LAST_UPDATE_pn-kbproto = "Nov 16, 2010"
RECIPE_MAINTAINER_pn-kbproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libdmx = "green"
-DEPENDENCY_CHECK_pn-libdmx = "not done"
-RECIPE_LATEST_VERSION_pn-libdmx = "1.1.0"
+RECIPE_DEPENDENCY_CHECK_pn-libdmx = "not done"
+RECIPE_LATEST_VERSION_pn-libdmx = "1.1.1"
RECIPE_NO_OF_PATCHES_pn-libdmx = "0"
RECIPE_INTEL_SECTION_pn-libdmx = "x11/libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libdmx = "2 months"
-RECIPE_LATEST_RELEASE_DATE_pn-libdmx = "10/2009"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libdmx = "1 year"
+RECIPE_LATEST_RELEASE_DATE_pn-libdmx = "Oct 28, 2010"
RECIPE_COMMENTS_pn-libdmx = ""
+RECIPE_LAST_UPDATE_pn-libdmx = "Jan 5, 2011"
RECIPE_MAINTAINER_pn-libdmx = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxi = "green"
-DEPENDENCY_CHECK_pn-libxi = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxi = "not done"
RECIPE_LATEST_VERSION_pn-libxi = "1.3"
RECIPE_NO_OF_PATCHES_pn-libxi = "0"
RECIPE_INTEL_SECTION_pn-libxi = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxi = "2 months"
RECIPE_LATEST_RELEASE_DATE_pn-libxi = "10/2009"
RECIPE_COMMENTS_pn-libxi = ""
+RECIPE_LAST_UPDATE_pn-libxi = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxi = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxinerama = "green"
-DEPENDENCY_CHECK_pn-libxinerama = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxinerama = "not done"
RECIPE_LATEST_VERSION_pn-libxinerama = "1.1"
RECIPE_NO_OF_PATCHES_pn-libxinerama = "0"
RECIPE_INTEL_SECTION_pn-libxinerama = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxinerama = "2 months"
RECIPE_LATEST_RELEASE_DATE_pn-libxinerama = "10/2009"
RECIPE_COMMENTS_pn-libxinerama = ""
+RECIPE_LAST_UPDATE_pn-libxinerama = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxinerama = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxp = "green"
-DEPENDENCY_CHECK_pn-libxp = "not done"
-RECIPE_LATEST_VERSION_pn-libxp = "1.0.0"
+RECIPE_DEPENDENCY_CHECK_pn-libxp = "not done"
+RECIPE_LATEST_VERSION_pn-libxp = "1.0.1"
RECIPE_NO_OF_PATCHES_pn-libxp = "0"
RECIPE_INTEL_SECTION_pn-libxp = "x11/libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxp = "stable"
-RECIPE_LATEST_RELEASE_DATE_pn-libxp = "01/2006"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxp = "5 years"
+RECIPE_LATEST_RELEASE_DATE_pn-libxp = "Jan 13, 2011"
RECIPE_COMMENTS_pn-libxp = ""
+RECIPE_LAST_UPDATE_pn-libxp = "Jan 28, 2011"
RECIPE_MAINTAINER_pn-libxp = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxtst = "green"
-DEPENDENCY_CHECK_pn-libxtst = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxtst = "not done"
RECIPE_LATEST_VERSION_pn-libxtst = "1.1.0"
RECIPE_NO_OF_PATCHES_pn-libxtst = "0"
RECIPE_INTEL_SECTION_pn-libxtst = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxtst = "2 months"
RECIPE_LATEST_RELEASE_DATE_pn-libxtst = "10/2009"
RECIPE_COMMENTS_pn-libxtst = ""
+RECIPE_LAST_UPDATE_pn-libxtst = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxtst = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-printproto = "green"
DISTRO_PN_ALIAS_pn-printproto = "Debian=x11proto-print-dev Ubuntu=x11proto-print-dev Mandriva=x11-proto-devel"
-DEPENDENCY_CHECK_pn-printproto = "not done"
-RECIPE_LATEST_VERSION_pn-printproto = "1.0.4"
+RECIPE_DEPENDENCY_CHECK_pn-printproto = "not done"
+RECIPE_LATEST_VERSION_pn-printproto = "1.0.5"
RECIPE_NO_OF_PATCHES_pn-printproto = "0"
RECIPE_INTEL_SECTION_pn-printproto = "x11/libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-printproto = "2 years"
-RECIPE_LATEST_RELEASE_DATE_pn-printproto = "03/2008"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-printproto = "2+ years"
+RECIPE_LATEST_RELEASE_DATE_pn-printproto = "Jan 5, 2011"
RECIPE_COMMENTS_pn-printproto = ""
+RECIPE_LAST_UPDATE_pn-printproto = "Jan 28, 2011"
RECIPE_MAINTAINER_pn-printproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-randrproto = "green"
DISTRO_PN_ALIAS_pn-randrproto = "Meego=xorg-x11-proto-randrproto"
-DEPENDENCY_CHECK_pn-randrproto = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-randrproto = "not done"
RECIPE_LATEST_VERSION_pn-randrproto = "1.3.2"
RECIPE_NO_OF_PATCHES_pn-randrproto = "0"
RECIPE_INTEL_SECTION_pn-randrproto = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-randrproto = "1 year"
RECIPE_LATEST_RELEASE_DATE_pn-randrproto = "Oct 29, 2010"
RECIPE_COMMENTS_pn-randrproto = ""
+RECIPE_LAST_UPDATE_pn-randrproto = "Nov 16, 2010"
RECIPE_MAINTAINER_pn-randrproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-recordproto = "green"
DISTRO_PN_ALIAS_pn-recordproto = "Meego=xorg-x11-proto-recordproto"
-DEPENDENCY_CHECK_pn-recordproto = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-recordproto = "not done"
RECIPE_LATEST_VERSION_pn-recordproto = "1.14.1"
RECIPE_NO_OF_PATCHES_pn-recordproto = "0"
RECIPE_INTEL_SECTION_pn-recordproto = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-recordproto = "1 year"
RECIPE_LATEST_RELEASE_DATE_pn-recordproto = "Oct 29, 2010"
RECIPE_COMMENTS_pn-recordproto = ""
+RECIPE_LAST_UPDATE_pn-recordproto = "Nov 16, 2010"
RECIPE_MAINTAINER_pn-recordproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-renderproto = "green"
DISTRO_PN_ALIAS_pn-renderproto = "Meego=xorg-x11-proto-renderproto"
-DEPENDENCY_CHECK_pn-renderproto = "not done"
-RECIPE_LATEST_VERSION_pn-renderproto = "0.11"
+RECIPE_DEPENDENCY_CHECK_pn-renderproto = "not done"
+RECIPE_LATEST_VERSION_pn-renderproto = "0.11.1"
RECIPE_NO_OF_PATCHES_pn-renderproto = "0"
RECIPE_INTEL_SECTION_pn-renderproto = "x11/libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-renderproto = "2 years"
-RECIPE_LATEST_RELEASE_DATE_pn-renderproto = "07/2009"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-renderproto = "1 year"
+RECIPE_LATEST_RELEASE_DATE_pn-renderproto = "Aug 10, 2010"
RECIPE_COMMENTS_pn-renderproto = ""
+RECIPE_LAST_UPDATE_pn-renderproto = "Jan 5, 2011"
RECIPE_MAINTAINER_pn-renderproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-resourceproto = "green"
DISTRO_PN_ALIAS_pn-resourceproto = "Meego=xorg-x11-proto-resourceproto"
-DEPENDENCY_CHECK_pn-resourceproto = "not done"
-RECIPE_LATEST_VERSION_pn-resourceproto = "1.1.0"
+RECIPE_DEPENDENCY_CHECK_pn-resourceproto = "not done"
+RECIPE_LATEST_VERSION_pn-resourceproto = "1.1.1"
RECIPE_NO_OF_PATCHES_pn-resourceproto = "0"
RECIPE_INTEL_SECTION_pn-resourceproto = "x11/libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-resourceproto = "3 years"
-RECIPE_LATEST_RELEASE_DATE_pn-resourceproto = "08/2009"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-resourceproto = "1+ years"
+RECIPE_LATEST_RELEASE_DATE_pn-resourceproto = "Dec 8, 2010"
RECIPE_COMMENTS_pn-resourceproto = ""
+RECIPE_LAST_UPDATE_pn-resourceproto = "Jan 5, 2011"
RECIPE_MAINTAINER_pn-resourceproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-scrnsaverproto = "green"
DISTRO_PN_ALIAS_pn-scrnsaverproto = "Meego=xorg-x11-proto-scrnsaverproto Ubuntu=x11proto-scrnsaver-dev Debian=x11proto-scrnsaver-dev"
-DEPENDENCY_CHECK_pn-scrnsaverproto = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-scrnsaverproto = "not done"
RECIPE_LATEST_VERSION_pn-scrnsaverproto = "1.2.1"
RECIPE_NO_OF_PATCHES_pn-scrnsaverproto = "0"
RECIPE_INTEL_SECTION_pn-scrnsaverproto = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-scrnsaverproto = "1+ years"
RECIPE_LATEST_RELEASE_DATE_pn-scrnsaverproto = "Oct 29, 2010"
RECIPE_COMMENTS_pn-scrnsaverproto = ""
+RECIPE_LAST_UPDATE_pn-scrnsaverproto = "Jan 5, 2011"
RECIPE_MAINTAINER_pn-scrnsaverproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-trapproto = "green"
DISTRO_PN_ALIAS_pn-trapproto = "Meego=xorg-x11-proto-trapproto"
-DEPENDENCY_CHECK_pn-trapproto = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-trapproto = "not done"
RECIPE_LATEST_VERSION_pn-trapproto = "3.4.3"
RECIPE_NO_OF_PATCHES_pn-trapproto = "0"
RECIPE_INTEL_SECTION_pn-trapproto = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-trapproto = "stable"
RECIPE_LATEST_RELEASE_DATE_pn-trapproto = "01/2006"
RECIPE_COMMENTS_pn-trapproto = ""
+RECIPE_LAST_UPDATE_pn-trapproto = "Jul 3, 2007"
RECIPE_MAINTAINER_pn-trapproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-videoproto = "green"
DISTRO_PN_ALIAS_pn-videoproto = "Meego=xorg-x11-proto-videoproto"
-DEPENDENCY_CHECK_pn-videoproto = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-videoproto = "not done"
RECIPE_LATEST_VERSION_pn-videoproto = "2.3.1"
RECIPE_NO_OF_PATCHES_pn-videoproto = "0"
RECIPE_INTEL_SECTION_pn-videoproto = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-videoproto = "1 year"
RECIPE_LATEST_RELEASE_DATE_pn-videoproto = "Aug 10, 2010"
RECIPE_COMMENTS_pn-videoproto = ""
+RECIPE_LAST_UPDATE_pn-videoproto = "Nov 16, 2010"
RECIPE_MAINTAINER_pn-videoproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-xcmiscproto = "green"
DISTRO_PN_ALIAS_pn-xcmiscproto = "Meego=xorg-x11-proto-xcmiscproto"
-DEPENDENCY_CHECK_pn-xcmiscproto = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-xcmiscproto = "not done"
RECIPE_LATEST_VERSION_pn-xcmiscproto = "1.2.1"
RECIPE_NO_OF_PATCHES_pn-xcmiscproto = "0"
RECIPE_INTEL_SECTION_pn-xcmiscproto = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xcmiscproto = "1+ years"
RECIPE_LATEST_RELEASE_DATE_pn-xcmiscproto = "Oct 30, 2010"
RECIPE_COMMENTS_pn-xcmiscproto = ""
+RECIPE_LAST_UPDATE_pn-xcmiscproto = "Nov 16, 2010"
RECIPE_MAINTAINER_pn-xcmiscproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-xf86bigfontproto = "green"
DISTRO_PN_ALIAS_pn-xf86bigfontproto = "Meego=xorg-x11-proto-xf86bigfontproto"
-DEPENDENCY_CHECK_pn-xf86bigfontproto = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-xf86bigfontproto = "not done"
RECIPE_LATEST_VERSION_pn-xf86bigfontproto = "1.2.0"
RECIPE_NO_OF_PATCHES_pn-xf86bigfontproto = "0"
RECIPE_INTEL_SECTION_pn-xf86bigfontproto = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xf86bigfontproto = "3 years"
RECIPE_LATEST_RELEASE_DATE_pn-xf86bigfontproto = "08/2009"
RECIPE_COMMENTS_pn-xf86bigfontproto = ""
+RECIPE_LAST_UPDATE_pn-xf86bigfontproto = "Feb 3, 2010"
RECIPE_MAINTAINER_pn-xf86bigfontproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-xf86dgaproto = "green"
DISTRO_PN_ALIAS_pn-xf86dgaproto = "Meego=xorg-x11-proto-xf86dgaproto"
-DEPENDENCY_CHECK_pn-xf86dgaproto = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-xf86dgaproto = "not done"
RECIPE_LATEST_VERSION_pn-xf86dgaproto = "2.1"
RECIPE_NO_OF_PATCHES_pn-xf86dgaproto = "0"
RECIPE_INTEL_SECTION_pn-xf86dgaproto = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xf86dgaproto = "1 month"
RECIPE_LATEST_RELEASE_DATE_pn-xf86dgaproto = "10/2009"
RECIPE_COMMENTS_pn-xf86dgaproto = ""
+RECIPE_LAST_UPDATE_pn-xf86dgaproto = "Feb 3, 2010"
RECIPE_MAINTAINER_pn-xf86dgaproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-xf86driproto = "green"
DISTRO_PN_ALIAS_pn-xf86driproto = "Meego=xorg-x11-proto-xf86driproto"
-DEPENDENCY_CHECK_pn-xf86driproto = "not done"
-RECIPE_LATEST_VERSION_pn-xf86driproto = "2.1.0"
+RECIPE_DEPENDENCY_CHECK_pn-xf86driproto = "not done"
+RECIPE_LATEST_VERSION_pn-xf86driproto = "2.1.1"
RECIPE_NO_OF_PATCHES_pn-xf86driproto = "0"
RECIPE_INTEL_SECTION_pn-xf86driproto = "x11/libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xf86driproto = "1 year"
-RECIPE_LATEST_RELEASE_DATE_pn-xf86driproto = "08/2009"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xf86driproto = "1+ year"
+RECIPE_LATEST_RELEASE_DATE_pn-xf86driproto = "Jan 5, 2011"
RECIPE_COMMENTS_pn-xf86driproto = ""
+RECIPE_LAST_UPDATE_pn-xf86driproto = "Jan 28, 2011"
RECIPE_MAINTAINER_pn-xf86driproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-xf86miscproto = "green"
DISTRO_PN_ALIAS_pn-xf86miscproto = "Meego=xorg-x11-proto-xf86miscproto"
-DEPENDENCY_CHECK_pn-xf86miscproto = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-xf86miscproto = "not done"
RECIPE_LATEST_VERSION_pn-xf86miscproto = "0.9.3"
RECIPE_NO_OF_PATCHES_pn-xf86miscproto = "0"
RECIPE_INTEL_SECTION_pn-xf86miscproto = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xf86miscproto = "3 years"
RECIPE_LATEST_RELEASE_DATE_pn-xf86miscproto = "10/2009"
RECIPE_COMMENTS_pn-xf86miscproto = ""
+RECIPE_LAST_UPDATE_pn-xf86miscproto = "Feb 3, 2010"
RECIPE_MAINTAINER_pn-xf86miscproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-xf86rushproto = "green"
DISTRO_PN_ALIAS_pn-xf86rushproto = "Meego=xorg-x11-proto-xf86rushproto"
-DEPENDENCY_CHECK_pn-xf86rushproto = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-xf86rushproto = "not done"
RECIPE_LATEST_VERSION_pn-xf86rushproto = "1.1.2"
RECIPE_NO_OF_PATCHES_pn-xf86rushproto = "0"
RECIPE_INTEL_SECTION_pn-xf86rushproto = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xf86rushproto = "stable"
RECIPE_LATEST_RELEASE_DATE_pn-xf86rushproto = "01/2006"
RECIPE_COMMENTS_pn-xf86rushproto = ""
+RECIPE_LAST_UPDATE_pn-xf86rushproto = "Jul 3, 2007"
RECIPE_MAINTAINER_pn-xf86rushproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-xineramaproto = "green"
DISTRO_PN_ALIAS_pn-xineramaproto = "Meego=xorg-x11-proto-xineramaproto Ubuntu=x11proto-xinerama Debian=x11proto-xinerama"
-DEPENDENCY_CHECK_pn-xineramaproto = "not done"
-RECIPE_LATEST_VERSION_pn-xineramaproto = "1.2"
+RECIPE_DEPENDENCY_CHECK_pn-xineramaproto = "not done"
+RECIPE_LATEST_VERSION_pn-xineramaproto = "1.2.1"
RECIPE_NO_OF_PATCHES_pn-xineramaproto = "0"
RECIPE_INTEL_SECTION_pn-xineramaproto = "x11/libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xineramaproto = "2 months"
-RECIPE_LATEST_RELEASE_DATE_pn-xineramaproto = "10/2009"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xineramaproto = "1+ years"
+RECIPE_LATEST_RELEASE_DATE_pn-xineramaproto = "Jan 5, 2011"
RECIPE_COMMENTS_pn-xineramaproto = ""
+RECIPE_LAST_UPDATE_pn-xineramaproto = "Jan 28, 2011"
RECIPE_MAINTAINER_pn-xineramaproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-dri2proto = "green"
DISTRO_PN_ALIAS_pn-dri2proto = "Meego=xorg-x11-proto-dri2proto"
-DEPENDENCY_CHECK_pn-dri2proto = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-dri2proto = "not done"
RECIPE_LATEST_VERSION_pn-dri2proto = "2.3"
RECIPE_NO_OF_PATCHES_pn-dri2proto = "0"
RECIPE_INTEL_SECTION_pn-dri2proto = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-dri2proto = "1 month"
RECIPE_LATEST_RELEASE_DATE_pn-dri2proto = "02/2010"
RECIPE_COMMENTS_pn-dri2proto = ""
+RECIPE_LAST_UPDATE_pn-dri2proto = "Jun 29, 2010"
RECIPE_MAINTAINER_pn-dri2proto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-xcb-proto = "green"
-DEPENDENCY_CHECK_pn-xcb-proto = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-xcb-proto = "not done"
RECIPE_LATEST_VERSION_pn-xcb-proto = "1.6"
RECIPE_NO_OF_PATCHES_pn-xcb-proto = "0"
RECIPE_INTEL_SECTION_pn-xcb-proto = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xcb-proto = "5 months"
RECIPE_LATEST_RELEASE_DATE_pn-xcb-proto = "12/2009"
RECIPE_COMMENTS_pn-xcb-proto = ""
+RECIPE_LAST_UPDATE_pn-xcb-proto = "Jun 29, 2010"
RECIPE_MAINTAINER_pn-xcb-proto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-xextproto = "green"
DISTRO_PN_ALIAS_pn-xextproto = "Meego=xorg-x11-proto-xextproto"
-DEPENDENCY_CHECK_pn-xextproto = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-xextproto = "not done"
RECIPE_LATEST_VERSION_pn-xextproto = "7.1.2"
RECIPE_NO_OF_PATCHES_pn-xextproto = "0"
RECIPE_INTEL_SECTION_pn-xextproto = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xextproto = "1 year"
RECIPE_LATEST_RELEASE_DATE_pn-xextproto = "Aug 10, 2010"
RECIPE_COMMENTS_pn-xextproto = ""
+RECIPE_LAST_UPDATE_pn-xextproto = "Nov 16, 2010"
RECIPE_MAINTAINER_pn-xextproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-xf86vidmodeproto = "green"
DISTRO_PN_ALIAS_pn-xf86vidmodeproto = "Meego=xorg-x11-proto-xf86vidmodeproto Ubuntu=x11proto-xf86vidmode Debian=x11proto-xf86vidmode"
-DEPENDENCY_CHECK_pn-xf86vidmodeproto = "not done"
-RECIPE_LATEST_VERSION_pn-xf86vidmodeproto = "2.3"
+RECIPE_DEPENDENCY_CHECK_pn-xf86vidmodeproto = "not done"
+RECIPE_LATEST_VERSION_pn-xf86vidmodeproto = "2.3.1"
RECIPE_NO_OF_PATCHES_pn-xf86vidmodeproto = "0"
RECIPE_INTEL_SECTION_pn-xf86vidmodeproto = "x11/libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xf86vidmodeproto = "2 months"
-RECIPE_LATEST_RELEASE_DATE_pn-xf86vidmodeproto = "10/2009"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xf86vidmodeproto = "1+ years"
+RECIPE_LATEST_RELEASE_DATE_pn-xf86vidmodeproto = "Jan 5, 2011"
RECIPE_COMMENTS_pn-xf86vidmodeproto = ""
+RECIPE_LAST_UPDATE_pn-xf86vidmodeproto = "Jan 28, 2011"
RECIPE_MAINTAINER_pn-xf86vidmodeproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-xproto = "green"
DISTRO_PN_ALIAS_pn-xproto = "Meego=xorg-x11-proto-xproto Fedora=xorg-x11-proto-devel Ubuntu=x11proto-core-dev Debian=x11proto-core-dev Opensuse=xorg-x11-proto-devel Mandriva=x11-proto-devel"
-DEPENDENCY_CHECK_pn-xproto = "not done"
-RECIPE_LATEST_VERSION_pn-xproto = "7.0.17"
+RECIPE_DEPENDENCY_CHECK_pn-xproto = "not done"
+RECIPE_LATEST_VERSION_pn-xproto = "7.0.20"
RECIPE_NO_OF_PATCHES_pn-xproto = "0"
RECIPE_INTEL_SECTION_pn-xproto = "x11/libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xproto = "8 months"
-RECIPE_LATEST_RELEASE_DATE_pn-xproto = "05/2010"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xproto = "1 month"
+RECIPE_LATEST_RELEASE_DATE_pn-xproto = "Dec 7, 2010"
RECIPE_COMMENTS_pn-xproto = ""
+RECIPE_LAST_UPDATE_pn-xproto = "Jan 5, 2011"
RECIPE_MAINTAINER_pn-xproto = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-liberation-fonts = "green"
-DEPENDENCY_CHECK_pn-liberation-fonts = "not done"
-RECIPE_LATEST_VERSION_pn-liberation-fonts = "1.05.2.20091019"
-RECIPE_NO_UPDATE_REASON_pn-liberation-fonts = "1.05.2.20091019 doesn't have big differences from current version 1.04; 1.05.2.20091019 needs adding new native packages like libungif_4.1.3, libspiro and fontforge that have stability concerns"
+RECIPE_DEPENDENCY_CHECK_pn-liberation-fonts = "not done"
+RECIPE_LATEST_VERSION_pn-liberation-fonts = "1.06.0.20100721"
+RECIPE_MANUAL_CHECK_DATE_pn-liberation-fonts = "Jan 28, 2011"
+RECIPE_NO_UPDATE_REASON_pn-liberation-fonts = "Do not upgrade to version: 1.06.0.20100721 because before doing that, we need adding new native packages like libungif_4.1.3, libspiro and fontforge first"
RECIPE_NO_OF_PATCHES_pn-liberation-fonts = "0"
RECIPE_INTEL_SECTION_pn-liberation-fonts = "x11/fonts"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-liberation-fonts = "5 months"
-RECIPE_LATEST_RELEASE_DATE_pn-liberation-fonts = "12/26/2009"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-liberation-fonts = "1 month"
+RECIPE_LATEST_RELEASE_DATE_pn-liberation-fonts = "Jul 21, 2010"
RECIPE_COMMENTS_pn-liberation-fonts = "current version 1.04 released open source under GPLv2 with exceptions"
+RECIPE_LAST_UPDATE_pn-liberation-fonts = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-liberation-fonts = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libfontenc = "green"
-DEPENDENCY_CHECK_pn-libfontenc = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libfontenc = "not done"
RECIPE_LATEST_VERSION_pn-libfontenc = "1.0.5"
RECIPE_NO_OF_PATCHES_pn-libfontenc = "0"
RECIPE_INTEL_SECTION_pn-libfontenc = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libfontenc = "3 years"
RECIPE_LATEST_RELEASE_DATE_pn-libfontenc = "08/2009"
RECIPE_COMMENTS_pn-libfontenc = ""
+RECIPE_LAST_UPDATE_pn-libfontenc = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libfontenc = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxfont = "green"
-DEPENDENCY_CHECK_pn-libxfont = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxfont = "not done"
RECIPE_LATEST_VERSION_pn-libxfont = "1.4.2"
RECIPE_NO_OF_PATCHES_pn-libxfont = "0"
RECIPE_INTEL_SECTION_pn-libxfont = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxfont = "8 months"
RECIPE_LATEST_RELEASE_DATE_pn-libxfont = "10/2009"
RECIPE_COMMENTS_pn-libxfont = "the recipe file has a commented-out no-scalable-crash.patch"
+RECIPE_LAST_UPDATE_pn-libxfont = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxfont = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libice = "green"
-DEPENDENCY_CHECK_pn-libice = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libice = "not done"
RECIPE_LATEST_VERSION_pn-libice = "1.0.6"
RECIPE_NO_OF_PATCHES_pn-libice = "0"
RECIPE_INTEL_SECTION_pn-libice = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libice = "7 months"
RECIPE_LATEST_RELEASE_DATE_pn-libice = "08/2009"
RECIPE_COMMENTS_pn-libice = ""
+RECIPE_LAST_UPDATE_pn-libice = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libice = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libsm = "green"
-DEPENDENCY_CHECK_pn-libsm = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libsm = "not done"
RECIPE_LATEST_VERSION_pn-libsm = "1.1.1"
RECIPE_NO_OF_PATCHES_pn-libsm = "0"
RECIPE_INTEL_SECTION_pn-libsm = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libsm = "1 year"
RECIPE_LATEST_RELEASE_DATE_pn-libsm = "08/2009"
RECIPE_COMMENTS_pn-libsm = ""
+RECIPE_LAST_UPDATE_pn-libsm = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libsm = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxau = "green"
-DEPENDENCY_CHECK_pn-libxau = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxau = "not done"
RECIPE_LATEST_VERSION_pn-libxau = "1.0.5"
RECIPE_NO_OF_PATCHES_pn-libxau = "0"
RECIPE_INTEL_SECTION_pn-libxau = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxau = "1 year"
RECIPE_LATEST_RELEASE_DATE_pn-libxau = "08/2009"
RECIPE_COMMENTS_pn-libxau = ""
+RECIPE_LAST_UPDATE_pn-libxau = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxau = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxcalibrate = "green"
DISTRO_PN_ALIAS_pn-libxcalibrate = "OSPDT upstream=http://cgit.freedesktop.org/xorg/lib/libXCalibrate/"
-DEPENDENCY_CHECK_pn-libxcalibrate = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxcalibrate = "not done"
RECIPE_LATEST_VERSION_pn-libxcalibrate = "0.0+git0+209d83af61ed38a002c8096377deac292b3e396c"
RECIPE_NO_OF_PATCHES_pn-libxcalibrate = "1"
RECIPE_PATCH_pn-libxcalibrate+fix-xcb = "There is no extra reply data and if we say not to disgard it, xcb throws fatal asserts. RP - 26/11/09"
@@ -3807,20 +4153,22 @@ RECIPE_INTEL_SECTION_pn-libxcalibrate = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxcalibrate = "1 month"
RECIPE_LATEST_RELEASE_DATE_pn-libxcalibrate = "03/2008"
RECIPE_COMMENTS_pn-libxcalibrate = ""
+RECIPE_LAST_UPDATE_pn-libxcalibrate = "Jun 29, 2010"
RECIPE_MAINTAINER_pn-libxcalibrate = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxcb = "green"
-DEPENDENCY_CHECK_pn-libxcb = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxcb = "not done"
RECIPE_LATEST_VERSION_pn-libxcb = "1.6"
RECIPE_NO_OF_PATCHES_pn-libxcb = "0"
RECIPE_INTEL_SECTION_pn-libxcb = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxcb = "5 months"
RECIPE_LATEST_RELEASE_DATE_pn-libxcb = "04/2010"
RECIPE_COMMENTS_pn-libxcb = ""
+RECIPE_LAST_UPDATE_pn-libxcb = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxcb = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxcomposite = "green"
-DEPENDENCY_CHECK_pn-libxcomposite = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxcomposite = "not done"
RECIPE_LATEST_VERSION_pn-libxcomposite = "0.4.1"
RECIPE_NO_OF_PATCHES_pn-libxcomposite = "1"
RECIPE_PATCH_pn-libxcomposite+change-include-order = "This patch makes the build use its own Xcomposite.h over rather than an older Xcomposite.h that might already be installed in the staging dir."
@@ -3828,212 +4176,234 @@ RECIPE_INTEL_SECTION_pn-libxcomposite = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxcomposite = "2 years"
RECIPE_LATEST_RELEASE_DATE_pn-libxcomposite = "10/2009"
RECIPE_COMMENTS_pn-libxcomposite = ""
+RECIPE_LAST_UPDATE_pn-libxcomposite = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxcomposite = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxrandr = "green"
-DEPENDENCY_CHECK_pn-libxrandr = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxrandr = "not done"
RECIPE_LATEST_VERSION_pn-libxrandr = "1.3.0"
RECIPE_NO_OF_PATCHES_pn-libxrandr = "0"
RECIPE_INTEL_SECTION_pn-libxrandr = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxrandr = "4 months"
RECIPE_LATEST_RELEASE_DATE_pn-libxrandr = "03/2009"
RECIPE_COMMENTS_pn-libxrandr = ""
+RECIPE_LAST_UPDATE_pn-libxrandr = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxrandr = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxrender = "green"
-DEPENDENCY_CHECK_pn-libxrender = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxrender = "not done"
RECIPE_LATEST_VERSION_pn-libxrender = "0.9.5"
RECIPE_NO_OF_PATCHES_pn-libxrender = "0"
RECIPE_INTEL_SECTION_pn-libxrender = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxrender = "2 years"
RECIPE_LATEST_RELEASE_DATE_pn-libxrender = "10/2009"
RECIPE_COMMENTS_pn-libxrender = ""
+RECIPE_LAST_UPDATE_pn-libxrender = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxrender = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxres = "green"
-DEPENDENCY_CHECK_pn-libxres = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxres = "not done"
RECIPE_LATEST_VERSION_pn-libxres = "1.0.4"
RECIPE_NO_OF_PATCHES_pn-libxres = "0"
RECIPE_INTEL_SECTION_pn-libxres = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxres = "3 years"
RECIPE_LATEST_RELEASE_DATE_pn-libxres = "10/2009"
RECIPE_COMMENTS_pn-libxres = ""
+RECIPE_LAST_UPDATE_pn-libxres = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxres = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxt = "green"
-DEPENDENCY_CHECK_pn-libxt = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxt = "not done"
RECIPE_LATEST_VERSION_pn-libxt = "1.0.8"
RECIPE_NO_OF_PATCHES_pn-libxt = "0"
RECIPE_INTEL_SECTION_pn-libxt = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxt = "5 months"
RECIPE_LATEST_RELEASE_DATE_pn-libxt = "03/2010"
RECIPE_COMMENTS_pn-libxt = ""
+RECIPE_LAST_UPDATE_pn-libxt = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxt = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxv = "green"
-DEPENDENCY_CHECK_pn-libxv = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxv = "not done"
RECIPE_LATEST_VERSION_pn-libxv = "1.0.5"
RECIPE_NO_OF_PATCHES_pn-libxv = "0"
RECIPE_INTEL_SECTION_pn-libxv = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxv = "1+ years"
RECIPE_LATEST_RELEASE_DATE_pn-libxv = "10/2009"
RECIPE_COMMENTS_pn-libxv = ""
+RECIPE_LAST_UPDATE_pn-libxv = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxv = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxvmc = "green"
-DEPENDENCY_CHECK_pn-libxvmc = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxvmc = "not done"
RECIPE_LATEST_VERSION_pn-libxvmc = "1.0.5"
RECIPE_NO_OF_PATCHES_pn-libxvmc = "0"
RECIPE_INTEL_SECTION_pn-libxvmc = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxvmc = "3 years"
RECIPE_LATEST_RELEASE_DATE_pn-libxvmc = "10/2009"
RECIPE_COMMENTS_pn-libxvmc = ""
+RECIPE_LAST_UPDATE_pn-libxvmc = "Nov 17, 2010"
RECIPE_MAINTAINER_pn-libxvmc = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxxf86misc = "green"
-DEPENDENCY_CHECK_pn-libxxf86misc = "not done"
-RECIPE_LATEST_VERSION_pn-libxxf86misc = "1.0.2"
+RECIPE_DEPENDENCY_CHECK_pn-libxxf86misc = "not done"
+RECIPE_LATEST_VERSION_pn-libxxf86misc = "1.0.3"
RECIPE_NO_OF_PATCHES_pn-libxxf86misc = "0"
RECIPE_INTEL_SECTION_pn-libxxf86misc = "x11/libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxxf86misc = "3 years"
-RECIPE_LATEST_RELEASE_DATE_pn-libxxf86misc = "10/2009"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxxf86misc = "1+ years"
+RECIPE_LATEST_RELEASE_DATE_pn-libxxf86misc = "Nov 21, 2010"
RECIPE_COMMENTS_pn-libxxf86misc = ""
+RECIPE_LAST_UPDATE_pn-libxxf86misc = "Jan 5, 2011"
RECIPE_MAINTAINER_pn-libxxf86misc = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxxf86vm = "green"
-DEPENDENCY_CHECK_pn-libxxf86vm = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxxf86vm = "not done"
RECIPE_LATEST_VERSION_pn-libxxf86vm = "1.1.0"
RECIPE_NO_OF_PATCHES_pn-libxxf86vm = "0"
RECIPE_INTEL_SECTION_pn-libxxf86vm = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxxf86vm = "2 months"
RECIPE_LATEST_RELEASE_DATE_pn-libxxf86vm = "10/2009"
RECIPE_COMMENTS_pn-libxxf86vm = ""
+RECIPE_LAST_UPDATE_pn-libxxf86vm = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxxf86vm = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxcursor = "green"
-DEPENDENCY_CHECK_pn-libxcursor = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxcursor = "not done"
RECIPE_LATEST_VERSION_pn-libxcursor = "1.1.10"
RECIPE_NO_OF_PATCHES_pn-libxcursor = "0"
RECIPE_INTEL_SECTION_pn-libxcursor = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxcursor = "2 years"
RECIPE_LATEST_RELEASE_DATE_pn-libxcursor = "08/2009"
RECIPE_COMMENTS_pn-libxcursor = ""
+RECIPE_LAST_UPDATE_pn-libxcursor = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxcursor = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxdamage = "green"
-DEPENDENCY_CHECK_pn-libxdamage = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxdamage = "not done"
RECIPE_LATEST_VERSION_pn-libxdamage = "1.1.2"
RECIPE_NO_OF_PATCHES_pn-libxdamage = "0"
RECIPE_INTEL_SECTION_pn-libxdamage = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxdamage = "2 years"
RECIPE_LATEST_RELEASE_DATE_pn-libxdamage = "10/2009"
RECIPE_COMMENTS_pn-libxdamage = ""
+RECIPE_LAST_UPDATE_pn-libxdamage = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxdamage = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxdmcp = "green"
-DEPENDENCY_CHECK_pn-libxdmcp = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxdmcp = "not done"
RECIPE_LATEST_VERSION_pn-libxdmcp = "1.0.3"
RECIPE_NO_OF_PATCHES_pn-libxdmcp = "0"
RECIPE_INTEL_SECTION_pn-libxdmcp = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxdmcp = "3 years"
RECIPE_LATEST_RELEASE_DATE_pn-libxdmcp = "09/2009"
RECIPE_COMMENTS_pn-libxdmcp = ""
+RECIPE_LAST_UPDATE_pn-libxdmcp = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxdmcp = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxext = "green"
-DEPENDENCY_CHECK_pn-libxext = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxext = "not done"
RECIPE_LATEST_VERSION_pn-libxext = "1.1.2"
RECIPE_NO_OF_PATCHES_pn-libxext = "0"
RECIPE_INTEL_SECTION_pn-libxext = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxext = "1 year"
RECIPE_LATEST_RELEASE_DATE_pn-libxext = "06/2009"
RECIPE_COMMENTS_pn-libxext = ""
+RECIPE_LAST_UPDATE_pn-libxext = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxext = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxfixes = "green"
-DEPENDENCY_CHECK_pn-libxfixes = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxfixes = "not done"
RECIPE_LATEST_VERSION_pn-libxfixes = "4.0.4"
RECIPE_NO_OF_PATCHES_pn-libxfixes = "0"
RECIPE_INTEL_SECTION_pn-libxfixes = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxfixes = "3 years"
RECIPE_LATEST_RELEASE_DATE_pn-libxfixes = "10/2009"
RECIPE_COMMENTS_pn-libxfixes = ""
+RECIPE_LAST_UPDATE_pn-libxfixes = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxfixes = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxft = "green"
-DEPENDENCY_CHECK_pn-libxft = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxft = "not done"
RECIPE_LATEST_VERSION_pn-libxft = "2.1.14"
RECIPE_NO_OF_PATCHES_pn-libxft = "0"
RECIPE_INTEL_SECTION_pn-libxft = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxft = "1 year"
RECIPE_LATEST_RELEASE_DATE_pn-libxft = "10/2009"
RECIPE_COMMENTS_pn-libxft = ""
+RECIPE_LAST_UPDATE_pn-libxft = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxft = "Dexuan Cui <dexuan.cui@intel.com>"
DISTRO_PN_ALIAS_pn-libxft = "Mandriva=libxft Debian=libxft2 Ubuntu=libxft2"
RECIPE_STATUS_pn-libxkbfile = "green"
-DEPENDENCY_CHECK_pn-libxkbfile = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxkbfile = "not done"
RECIPE_LATEST_VERSION_pn-libxkbfile = "1.0.6"
RECIPE_NO_OF_PATCHES_pn-libxkbfile = "0"
RECIPE_INTEL_SECTION_pn-libxkbfile = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxkbfile = "1+ years"
RECIPE_LATEST_RELEASE_DATE_pn-libxkbfile = "10/2009"
RECIPE_COMMENTS_pn-libxkbfile = ""
+RECIPE_LAST_UPDATE_pn-libxkbfile = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxkbfile = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-pixman = "green"
-DEPENDENCY_CHECK_pn-pixman = "not done"
-RECIPE_LATEST_VERSION_pn-pixman = "0.18.2"
+RECIPE_DEPENDENCY_CHECK_pn-pixman = "not done"
+RECIPE_LATEST_VERSION_pn-pixman = "0.21.4"
+RECIPE_NO_UPDATE_REASON_pn-pixman = "Do not upgrade to version: 0.21.4 because it's a development snapshot. pixman's stable releases have even minor version numbers."
RECIPE_NO_OF_PATCHES_pn-pixman = "0"
RECIPE_INTEL_SECTION_pn-pixman = "x11/libs"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-pixman = "1 month"
-RECIPE_LATEST_RELEASE_DATE_pn-pixman = "05/2010"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-pixman = "2 months"
+RECIPE_LATEST_RELEASE_DATE_pn-pixman = "Jan 19, 2011"
RECIPE_COMMENTS_pn-pixman = ""
+RECIPE_LAST_UPDATE_pn-pixman = "Jan 31, 2011"
RECIPE_MAINTAINER_pn-pixman = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-xtrans = "green"
-DEPENDENCY_CHECK_pn-xtrans = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-xtrans = "not done"
RECIPE_LATEST_VERSION_pn-xtrans = "1.2.5"
RECIPE_NO_OF_PATCHES_pn-xtrans = "0"
RECIPE_INTEL_SECTION_pn-xtrans = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xtrans = "3 months"
RECIPE_LATEST_RELEASE_DATE_pn-xtrans = "10/2009"
RECIPE_COMMENTS_pn-xtrans = ""
+RECIPE_LAST_UPDATE_pn-xtrans = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-xtrans = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxmu = "green"
-DEPENDENCY_CHECK_pn-libxmu = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libxmu = "not done"
RECIPE_LATEST_VERSION_pn-libxmu = "1.0.5"
RECIPE_NO_OF_PATCHES_pn-libxmu = "0"
RECIPE_INTEL_SECTION_pn-libxmu = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxmu = "1+ years"
RECIPE_LATEST_RELEASE_DATE_pn-libxmu = "09/2009"
RECIPE_COMMENTS_pn-libxmu = ""
+RECIPE_LAST_UPDATE_pn-libxmu = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxmu = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libpciaccess = "green"
-DEPENDENCY_CHECK_pn-libpciaccess = "not done"
+RECIPE_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_LAST_UPDATE_pn-libpciaccess = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libpciaccess = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-xkeyboard-config = "green"
-DEPENDENCY_CHECK_pn-xkeyboard-config = "not done"
-RECIPE_LATEST_VERSION_pn-xkeyboard-config = "1.9"
+RECIPE_DEPENDENCY_CHECK_pn-xkeyboard-config = "not done"
+RECIPE_LATEST_VERSION_pn-xkeyboard-config = "2.1"
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_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xkeyboard-config = "3+ months"
+RECIPE_LATEST_RELEASE_DATE_pn-xkeyboard-config = "Jan 11, 2011"
RECIPE_COMMENTS_pn-xkeyboard-config = ""
+RECIPE_LAST_UPDATE_pn-xkeyboard-config = "Jan 28, 2011"
RECIPE_MAINTAINER_pn-xkeyboard-config = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-util-macros = "green"
DISTRO_PN_ALIAS_pn-util-macros = "Meego=xorg-x11-util-macros Fedora=xorg-x11-util-macros Mandriva=x11-util-macros"
-DEPENDENCY_CHECK_pn-util-macros = "not done"
+RECIPE_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"
@@ -4041,10 +4411,11 @@ 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_LAST_UPDATE_pn-util-macros = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-util-macros = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-fontconfig = "green"
-DEPENDENCY_CHECK_pn-fontconfig = "not done"
+RECIPE_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"
@@ -4052,32 +4423,34 @@ 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_LAST_UPDATE_pn-fontconfig = "Jul 2, 2010"
RECIPE_MAINTAINER_pn-fontconfig = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-freetype = "green"
-DEPENDENCY_CHECK_pn-freetype = "not done"
-RECIPE_LATEST_VERSION_pn-freetype = "2.4.3"
-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_DEPENDENCY_CHECK_pn-freetype = "not done"
+RECIPE_LATEST_VERSION_pn-freetype = "2.4.4"
+RECIPE_NO_OF_PATCHES_pn-freetype = "1"
+RECIPE_PATCH_pn-freetype+no-hardcode = "fix freetype-config.in"
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_TIME_BETWEEN_LAST_TWO_RELEASES_pn-freetype = "1+ months"
+RECIPE_LATEST_RELEASE_DATE_pn-freetype = "Nov 28, 2010"
RECIPE_COMMENTS_pn-freetype = ""
+RECIPE_LAST_UPDATE_pn-freetype = "Jan 28, 2011"
RECIPE_MAINTAINER_pn-freetype = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-librsvg = "green"
-DEPENDENCY_CHECK_pn-librsvg = "not done"
-RECIPE_LATEST_VERSION_pn-librsvg = "2.26.3"
+RECIPE_DEPENDENCY_CHECK_pn-librsvg = "not done"
+RECIPE_LATEST_VERSION_pn-librsvg = "2.32.1"
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_TIME_BETWEEN_LAST_TWO_RELEASES_pn-librsvg = "1+ months"
+RECIPE_LATEST_RELEASE_DATE_pn-librsvg = "Nov 13, 2010"
RECIPE_COMMENTS_pn-librsvg = ""
+RECIPE_LAST_UPDATE_pn-librsvg = "Jan 5, 2011"
RECIPE_MAINTAINER_pn-librsvg = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libx11 = "green"
-DEPENDENCY_CHECK_pn-libx11 = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libx11 = "not done"
RECIPE_LATEST_VERSION_pn-libx11 = "1.3.4"
RECIPE_NO_OF_PATCHES_pn-libx11 = "3"
RECIPE_PATCH_pn-libx11+x11_disable_makekeys = "fix to src/util/Makefile.am"
@@ -4087,10 +4460,11 @@ RECIPE_INTEL_SECTION_pn-libx11 = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libx11 = "5 months"
RECIPE_LATEST_RELEASE_DATE_pn-libx11 = "06/2010"
RECIPE_COMMENTS_pn-libx11 = ""
+RECIPE_LAST_UPDATE_pn-libx11 = "Jul 9, 2010"
RECIPE_MAINTAINER_pn-libx11 = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libx11-trim = "green"
-DEPENDENCY_CHECK_pn-libx11-trim = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libx11-trim = "not done"
RECIPE_LATEST_VERSION_pn-libx11-trim = "1.3.4"
RECIPE_NO_OF_PATCHES_pn-libx11-trim = "3"
RECIPE_PATCH_pn-libx11-trim+x11_disable_makekeys = "fix to src/util/Makefile.am"
@@ -4100,185 +4474,252 @@ RECIPE_INTEL_SECTION_pn-libx11-trim = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libx11-trim = "5 months"
RECIPE_LATEST_RELEASE_DATE_pn-libx11-trim = "06/2010"
RECIPE_COMMENTS_pn-libx11-trim = ""
+RECIPE_LAST_UPDATE_pn-libx11-trim = "Jul 9, 2010"
RECIPE_MAINTAINER_pn-libx11-trim = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-gnome-vfs = "green"
-DEPENDENCY_CHECK_pn-gnome-vfs = "not done"
-RECIPE_LATEST_VERSION_pn-gnome-vfs = "2.24.3"
+RECIPE_DEPENDENCY_CHECK_pn-gnome-vfs = "not done"
+RECIPE_LATEST_VERSION_pn-gnome-vfs = "2.24.4"
RECIPE_NO_OF_PATCHES_pn-gnome-vfs = "2"
-RECIPE_INTEL_SECTION_pn-gnome-vfs = "graphic lib"
-RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gnome-vfs = "5 months"
-RECIPE_LATEST_RELEASE_DATE_pn-gnome-vfs = "03/2010"
+RECIPE_INTEL_SECTION_pn-gnome-vfs = "gnome/lib"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gnome-vfs = "6 months"
+RECIPE_LATEST_RELEASE_DATE_pn-gnome-vfs = "Sep 28, 2010"
RECIPE_COMMENTS_pn-gnome-vfs = ""
+RECIPE_LAST_UPDATE_pn-gnome-vfs = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-gnome-vfs = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-xcb-util = "green"
-DEPENDENCY_CHECK_pn-xcb-util = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-xcb-util = "not done"
RECIPE_LATEST_VERSION_pn-xcb-util = "0.3.6"
RECIPE_NO_OF_PATCHES_pn-xcb-util = "0"
RECIPE_INTEL_SECTION_pn-xcb-util = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xcb-util = "3 months"
RECIPE_LATEST_RELEASE_DATE_pn-xcb-util = "08/24/2009"
RECIPE_COMMENTS_pn-xcb-util = ""
+RECIPE_LAST_UPDATE_pn-xcb-util = "Jul 22, 2010"
RECIPE_MAINTAINER_pn-xcb-util = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-startup-notification = "green"
-DEPENDENCY_CHECK_pn-startup-notification = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-startup-notification = "not done"
RECIPE_LATEST_VERSION_pn-startup-notification = "0.10"
RECIPE_NO_OF_PATCHES_pn-startup-notification = "0"
RECIPE_INTEL_SECTION_pn-startup-notification = "x11/libs"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-startup-notification = "2 years"
RECIPE_LATEST_RELEASE_DATE_pn-startup-notification = "04/13/2009"
RECIPE_COMMENTS_pn-startup-notification = "in recipe, SECTION is libs but to be more accurate it should be x11/libs"
+RECIPE_LAST_UPDATE_pn-startup-notification = "Jul 22, 2010"
RECIPE_MAINTAINER_pn-startup-notification = "Dexuan Cui <dexuan.cui@intel.com>"
-RECIPE_STATUS_pn-galago-daemon = "red"
+RECIPE_STATUS_pn-galago-daemon = "green"
+RECIPE_DEPENDENCY_CHECK_pn-galago-daemon = "not done"
RECIPE_LATEST_VERSION_pn-galago-daemon = "0.5.1"
+RECIPE_NO_OF_PATCHES_pn-galago-daemon = "0"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-galago-daemon = "5+ months"
+RECIPE_LATEST_RELEASE_DATE_pn-galago-daemon = "Oct 7, 2006"
+RECIPE_COMMENTS_pn-galago-daemon = ""
+RECIPE_LAST_UPDATE_pn-galago-daemon = "Apr 11, 2007"
RECIPE_MAINTAINER_pn-galago-daemon = "Dexuan Cui <dexuan.cui@intel.com>"
-RECIPE_STATUS_pn-gnome-doc-utils = "red"
-RECIPE_LATEST_VERSION_pn-gnome-doc-utils = "0.20.1"
+RECIPE_STATUS_pn-gnome-doc-utils = "green"
+RECIPE_DEPENDENCY_CHECK_pn-gnome-doc-utils = "not done"
+RECIPE_LATEST_VERSION_pn-gnome-doc-utils = "0.20.4"
+RECIPE_NO_OF_PATCHES_pn-gnome-doc-utils = "0"
+RECIPE_INTEL_SECTION_pn-gnome-doc-utils = "utils"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gnome-doc-utils = "less than 1 month"
+RECIPE_LATEST_RELEASE_DATE_pn-gnome-doc-utils = "Jan 10, 2011"
+RECIPE_COMMENTS_pn-gnome-doc-utils = ""
+RECIPE_LAST_UPDATE_pn-gnome-doc-utils = "Jan 28, 2011"
RECIPE_MAINTAINER_pn-gnome-doc-utils = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-gnome-settings-daemon = "red"
RECIPE_LATEST_VERSION_pn-gnome-settings-daemon = "2.31.2"
RECIPE_MAINTAINER_pn-gnome-settings-daemon = "Dexuan Cui <dexuan.cui@intel.com>"
-RECIPE_STATUS_pn-libunique = "red"
-RECIPE_LATEST_VERSION_pn-libunique = "1.1.6"
+RECIPE_STATUS_pn-libunique = "green"
+RECIPE_DEPENDENCY_CHECK_pn-libunique = "not done"
+RECIPE_LATEST_VERSION_pn-libunique = "2.91.4"
+RECIPE_NO_OF_PATCHES_pn-libunique = "0"
+RECIPE_INTEL_SECTION_pn-libunique = "x11/libs"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libunique = "6 months"
+RECIPE_LATEST_RELEASE_DATE_pn-libunique = "Dec 7, 2010"
+RECIPE_COMMENTS_pn-libunique = ""
+RECIPE_LAST_UPDATE_pn-libunique = "Jan 28, 2011"
+RECIPE_NO_UPDATE_REASON_pn-libunique = "Do not upgrade to version: 2.91.4 because it requires gtk+ >= 2.90.0 and the stable version of gtk+ used by poky is 2.20.1"
RECIPE_MAINTAINER_pn-libunique = "Dexuan Cui <dexuan.cui@intel.com>"
-RECIPE_STATUS_pn-ttf-bitstream-vera = "red"
+RECIPE_STATUS_pn-ttf-bitstream-vera = "green"
+DISTRO_PN_ALIAS_pn-ttf-bitstream-vera = "Debian=ttf-bitstream-vera Ubuntu=ttf-bitstream-vera"
+RECIPE_DEPENDENCY_CHECK_pn-ttf-bitstream-vera = "not done"
RECIPE_LATEST_VERSION_pn-ttf-bitstream-vera = "1.10"
+RECIPE_NO_OF_PATCHES_pn-ttf-bitstream-vera = "0"
+RECIPE_INTEL_SECTION_pn-ttf-bitstream-vera = "x11/fonts"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-ttf-bitstream-vera = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn-ttf-bitstream-vera = "Apr 16, 2003"
+RECIPE_COMMENTS_pn-ttf-bitstream-vera = "can't find the release date of any older version in the SRC_URI link"
+RECIPE_LAST_UPDATE_pn-ttf-bitstream-vera = "Jun 26, 2007"
RECIPE_MAINTAINER_pn-ttf-bitstream-vera = "Dexuan Cui <dexuan.cui@intel.com>"
-DISTRO_PN_ALIAS_pn-ttf-bitstream-vera = "Debian=ttf-bitstream-vera Ubuntu=ttf-bitstream-vera"
-RECIPE_STATUS_pn-libart-lgpl = "red"
+RECIPE_STATUS_pn-libart-lgpl = "green"
+RECIPE_DEPENDENCY_CHECK_pn-libart-lgpl = "not done"
RECIPE_LATEST_VERSION_pn-libart-lgpl = "2.3.21"
+RECIPE_NO_OF_PATCHES_pn-libart-lgpl = "0"
+RECIPE_INTEL_SECTION_pn-libart-lgpl = "x11/libs"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libart-lgpl = "2+ years"
+RECIPE_LATEST_RELEASE_DATE_pn-libart-lgpl = "Apr 1, 2010"
+RECIPE_COMMENTS_pn-libart-lgpl = ""
+RECIPE_LAST_UPDATE_pn-libart-lgpl = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libart-lgpl = "Dexuan Cui <dexuan.cui@intel.com>"
-RECIPE_STATUS_pn-applewmproto = "red"
-DISTRO_PN_ALIAS_pn-applewmproto = ""
-RECIPE_LATEST_VERSION_pn-applewmproto = "1.4.1"
-RECIPE_MAINTAINER_pn-applewmproto = "Dexuan Cui <dexuan.cui@intel.com>"
-DISTRO_PN_ALIAS_pn-applewmproto = "Mandriva=x11-proto-devel OpenSuSE=xorg-x11-proto-devel"
-
-RECIPE_STATUS_pn-libapplewm = "red"
-RECIPE_LATEST_VERSION_pn-libapplewm = "1.4.0"
-RECIPE_MAINTAINER_pn-libapplewm = "Dexuan Cui <dexuan.cui@intel.com>"
-DISTRO_PN_ALIAS_pn-libapplewm = "upstream=http://cgit.freedesktop.org/xorg/lib/libAppleWM/ Mandriva=libapplewm"
-
-RECIPE_STATUS_pn-libfs = "red"
-RECIPE_LATEST_VERSION_pn-libfs = "1.0.2"
-RECIPE_MAINTAINER_pn-libfs = "Dexuan Cui <dexuan.cui@intel.com>"
-
RECIPE_STATUS_pn-poppler = "red"
RECIPE_LATEST_VERSION_pn-poppler = "0.12.4"
+RECIPE_LAST_UPDATE_pn-poppler = "Dec 31, 2008"
RECIPE_MAINTAINER_pn-poppler = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-poppler-data = "red"
RECIPE_LATEST_VERSION_pn-poppler-data = "0.4.2"
+RECIPE_LAST_UPDATE_pn-poppler-data = "May 4, 2007"
RECIPE_MAINTAINER_pn-poppler-data = "Dexuan Cui <dexuan.cui@intel.com>"
-RECIPE_STATUS_pn-liblbxutil = "red"
+RECIPE_STATUS_pn-liblbxutil = "green"
+DISTRO_PN_ALIAS_pn-liblbxutil = "Mandriva=liblbxutil OpenSuse=xorg-x11-devel"
+RECIPE_DEPENDENCY_CHECK_pn-liblbxutil = "not done"
RECIPE_LATEST_VERSION_pn-liblbxutil = "1.1.0"
+RECIPE_NO_OF_PATCHES_pn-liblbxutil = "0"
+RECIPE_INTEL_SECTION_pn-liblbxutil = "x11/libs"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-liblbxutil = "3+ years"
+RECIPE_LATEST_RELEASE_DATE_pn-liblbxutil = "Dec 4, 2009"
+RECIPE_COMMENTS_pn-liblbxutil = ""
+RECIPE_LAST_UPDATE_pn-liblbxutil = "Jul 6, 2010"
RECIPE_MAINTAINER_pn-liblbxutil = "Dexuan Cui <dexuan.cui@intel.com>"
-DISTRO_PN_ALIAS_pn-liblbxutil = "Mandriva=liblbxutil OpenSuse=xorg-x11-devel"
-
-RECIPE_STATUS_pn-liboldx = "red"
-RECIPE_LATEST_VERSION_pn-liboldx = "1.0.1"
-RECIPE_MAINTAINER_pn-liboldx = "Dexuan Cui <dexuan.cui@intel.com>"
-DISTRO_PN_ALIAS_pn-liboldX = "OSPDT Mandriva=liboldx"
-
-RECIPE_STATUS_pn-libwindowswm = "red"
-RECIPE_LATEST_VERSION_pn-libwindowswm = "1.0.1"
-RECIPE_MAINTAINER_pn-libwindowswm = "Dexuan Cui <dexuan.cui@intel.com>"
-DISTRO_PN_ALIAS_pn-libwindowswm = "Mandriva=libwindowswm OpenSuse=xorg-x11-devel"
RECIPE_STATUS_pn-libxaw = "red"
RECIPE_LATEST_VERSION_pn-libxaw = "1.0.7"
+RECIPE_LAST_UPDATE_pn-libxaw = "Dec 31, 2008"
RECIPE_MAINTAINER_pn-libxaw = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxevie = "red"
RECIPE_LATEST_VERSION_pn-libxevie = "1.0.2"
+RECIPE_LAST_UPDATE_pn-libxevie = "May 9, 2007"
RECIPE_MAINTAINER_pn-libxevie = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxkbui = "red"
RECIPE_LATEST_VERSION_pn-libxkbui = "1.0.2"
+RECIPE_LAST_UPDATE_pn-libxkbui = "Jul 3, 2007"
RECIPE_MAINTAINER_pn-libxkbui = "Dexuan Cui <dexuan.cui@intel.com>"
-RECIPE_STATUS_pn-libxpm = "red"
-RECIPE_LATEST_VERSION_pn-libxpm = "3.5.8"
+RECIPE_STATUS_pn-libxpm = "green"
+RECIPE_DEPENDENCY_CHECK_pn-libxpm = "not done"
+RECIPE_LATEST_VERSION_pn-libxpm = "3.5.9"
+RECIPE_NO_OF_PATCHES_pn-libxpm = "0"
+RECIPE_INTEL_SECTION_pn-libxpm = "x11/libs"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxpm = "1 year"
+RECIPE_LATEST_RELEASE_DATE_pn-libxpm = "Oct 29, 2010"
+RECIPE_COMMENTS_pn-libxpm = ""
+RECIPE_LAST_UPDATE_pn-libxpm = "Nov 24, 2010"
RECIPE_MAINTAINER_pn-libxpm = "Dexuan Cui <dexuan.cui@intel.com>"
-RECIPE_STATUS_pn-libxprintapputil = "red"
+RECIPE_STATUS_pn-libxprintapputil = "green"
+DISTRO_PN_ALIAS_pn-libxprintapputil1 = "Debian=libxprintapputil1 Ubuntu=libxprintapputil1 Mandriva=libxprintapputil"
+RECIPE_DEPENDENCY_CHECK_pn-libxprintapputil = "not done"
RECIPE_LATEST_VERSION_pn-libxprintapputil = "1.0.1"
+RECIPE_NO_OF_PATCHES_pn-libxprintapputil = "0"
+RECIPE_INTEL_SECTION_pn-libxprintapputil = "x11/libs"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxprintapputil = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn-libxprintapputil = "Jan 18, 2006"
+RECIPE_COMMENTS_pn-libxprintapputil = "can't find the release date of any older version in the SRC_URI link"
+RECIPE_LAST_UPDATE_pn-libxprintapputil = ""Jul 3, 2007"
RECIPE_MAINTAINER_pn-libxprintapputil = "Dexuan Cui <dexuan.cui@intel.com>"
-DISTRO_PN_ALIAS_pn-libxprintapputil1 = "Debian=libxprintapputil1 Ubuntu=libxprintapputil1 Mandriva=libxprintapputil"
-RECIPE_STATUS_pn-libxprintutil = "red"
+RECIPE_STATUS_pn-libxprintutil = "green"
+RECIPE_DEPENDENCY_CHECK_pn-libxprintutil = "not done"
RECIPE_LATEST_VERSION_pn-libxprintutil = "1.0.1"
+RECIPE_NO_OF_PATCHES_pn-libxprintutil = "0"
+RECIPE_INTEL_SECTION_pn-libxprintutil = "x11/libs"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxprintutil = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn-libxprintutil = "Jan 18, 2006"
+RECIPE_COMMENTS_pn-libxprintutil = "can't find the release date of any older version in the SRC_URI link"
+RECIPE_LAST_UPDATE_pn-libxprintutil = ""Jul 3, 2007"
RECIPE_MAINTAINER_pn-libxprintutil = "Dexuan Cui <dexuan.cui@intel.com>"
-RECIPE_STATUS_pn-libxscrnsaver = "red"
-RECIPE_LATEST_VERSION_pn-libxscrnsaver = "1.2.0"
-RECIPE_MAINTAINER_pn-libxscrnsaver = "Dexuan Cui <dexuan.cui@intel.com>"
+RECIPE_STATUS_pn-libxscrnsaver = "green"
DISTRO_PN_ALIAS_pn-libxscrnsaver = "Fedora=libXScrnSaver Ubuntu=libxss1 Mandriva=libxscrnsaver"
+DEPENDENCY_CHECK_pn-libxscrnsaver = "not done"
+RECIPE_LATEST_VERSION_pn-libxscrnsaver = "1.2.1"
+RECIPE_NO_OF_PATCHES_pn-libxscrnsaver = "0"
+RECIPE_INTEL_SECTION_pn-libxscrnsaver = "x11/libs"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxscrnsaver = "1+ years"
+RECIPE_LATEST_RELEASE_DATE_pn-libxscrnsaver = "Oct 29, 2010"
+RECIPE_COMMENTS_pn-libxscrnsaver = ""
+RECIPE_LAST_UPDATE_pn-libxscrnsaver = "Nov 16, 2010"
+RECIPE_MAINTAINER_pn-libxscrnsaver = "Dexuan Cui <dexuan.cui@intel.com>"
-RECIPE_STATUS_pn-libxtrap = "red"
+RECIPE_STATUS_pn-libxtrap = "green"
+RECIPE_DEPENDENCY_CHECK_pn-libxtrap = "not done"
RECIPE_LATEST_VERSION_pn-libxtrap = "1.0.0"
+RECIPE_NO_OF_PATCHES_pn-libxtrap = "0"
+RECIPE_INTEL_SECTION_pn-libxtrap = "x11/libs"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libxtrap = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn-libxtrap = "Jan 18, 2006"
+RECIPE_COMMENTS_pn-libxtrap = "can't find the release date of any older version in the SRC_URI link"
+RECIPE_LAST_UPDATE_pn-libxtrap = ""Jul 3, 2007"
RECIPE_MAINTAINER_pn-libxtrap = "Dexuan Cui <dexuan.cui@intel.com>"
-RECIPE_STATUS_pn-windowswmproto = "red"
-RECIPE_LATEST_VERSION_pn-windowswmproto = "1.0.4"
-RECIPE_MAINTAINER_pn-windowswmproto = "Dexuan Cui <dexuan.cui@intel.com>"
-DISTRO_PN_ALIAS_pn-windowswmproto = "Mandriva=x11-proto-devel OpenSuSE=xorg-x11-proto-devel"
-
-RECIPE_STATUS_pn-xproxymanagementprotocol = "red"
+RECIPE_STATUS_pn-xproxymanagementprotocol = "green"
DISTRO_PN_ALIAS_pn-xproxymanagementprotocol = "Meego=xorg-x11-proto-xproxymanagementprotocol"
+DEPENDENCY_CHECK_pn-xproxymanagementprotocol = "not done"
RECIPE_LATEST_VERSION_pn-xproxymanagementprotocol = "1.0.3"
+RECIPE_NO_OF_PATCHES_pn-xproxymanagementprotocol = "0"
+RECIPE_INTEL_SECTION_pn-xproxymanagementprotocol = "x11/libs"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xproxymanagementprotocol = "3+ years"
+RECIPE_LATEST_RELEASE_DATE_pn-xproxymanagementprotocol = "Oct 12, 2009"
+RECIPE_COMMENTS_pn-xproxymanagementprotocol = ""
+RECIPE_LAST_UPDATE_pn-xproxymanagementprotocol = "Feb 3, 2010"
RECIPE_MAINTAINER_pn-xproxymanagementprotocol = "Dexuan Cui <dexuan.cui@intel.com>"
RECIPE_STATUS_pn-libxklavier = "red"
RECIPE_LATEST_VERSION_pn-libxklavier = "5.0"
+RECIPE_LAST_UPDATE_pn-libxklavier = "Jun 10, 2009"
RECIPE_MAINTAINER_pn-libxklavier = "Dexuan Cui <dexuan.cui@intel.com>"
#
# distro tracking fields for X11 UX
#
RECIPE_STATUS_pn-gnome-mime-data = "green" # no update needed
-DEPENDENCY_CHECK_pn-gnome-mime-data = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-gnome-mime-data = "not done"
RECIPE_LATEST_VERSION_pn-gnome-mime-data = "2.18.0"
RECIPE_NO_OF_PATCHES_pn-gnome-mime-data = "1"
RECIPE_INTEL_SECTION_pn-gnome-mime-data = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gnome-mime-data = "5 months"
RECIPE_LATEST_RELEASE_DATE_pn-gnome-mime-data = "04/2007"
RECIPE_COMMENTS_pn-gnome-mime-data = ""
+RECIPE_LAST_UPDATE_pn-gnome-mime-data = "Aug 2, 2007"
RECIPE_MAINTAINER_pn-gnome-mime-data = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-libmatchbox = "green" # no update needed
-DEPENDENCY_CHECK_pn-libmatchbox = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libmatchbox = "not done"
RECIPE_LATEST_VERSION_pn-libmatchbox = "1.9"
RECIPE_NO_OF_PATCHES_pn-libmatchbox = "2"
RECIPE_INTEL_SECTION_pn-libmatchbox = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libmatchbox = "5 months"
RECIPE_LATEST_RELEASE_DATE_pn-libmatchbox = "08/2006"
RECIPE_COMMENTS_pn-libmatchbox = ""
+RECIPE_LAST_UPDATE_pn-libmatchbox = "Aug 7, 2006"
RECIPE_MAINTAINER_pn-libmatchbox = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-libowl = "green" # no update needed
DISTRO_PN_ALIAS_pn-libowl = "Debian=owl OpenedHand"
-DEPENDENCY_CHECK_pn-libowl = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libowl = "not done"
RECIPE_LATEST_VERSION_pn-libowl = "0.0+svnr408"
RECIPE_NO_OF_PATCHES_pn-libowl = "0"
RECIPE_INTEL_SECTION_pn-libowl = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libowl = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-libowl = "09/2008"
RECIPE_COMMENTS_pn-libowl = ""
+RECIPE_LAST_UPDATE_pn-libowl= "Sep 16, 2008"
RECIPE_MAINTAINER_pn-libowl = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-libowl-av = "green" # no update needed
-DEPENDENCY_CHECK_pn-libowl-av = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libowl-av = "not done"
RECIPE_LATEST_VERSION_pn-libowl-av = "0.0+svnr416"
RECIPE_NO_OF_PATCHES_pn-libowl-av = "0"
RECIPE_INTEL_SECTION_pn-libowl-av = "graphic UX"
@@ -4286,226 +4727,266 @@ RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libowl-av = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-libowl-av = "12/2008"
RECIPE_COMMENTS_pn-libowl-av = ""
RECIPE_MAINTAINER_pn-libowl-av = "Zhai Edwin <edwin.zhai@intel.com>"
+RECIPE_LAST_UPDATE_pn-libowl-av = "Nov 19, 2010"
DISTRO_PN_ALIAS_pn-libowl-av = "OpenedHand"
RECIPE_STATUS_pn-matchbox-desktop = "green" # no update needed
-DEPENDENCY_CHECK_pn-matchbox-desktop = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-matchbox-desktop = "not done"
RECIPE_LATEST_VERSION_pn-matchbox-desktop = "2.0+svnr2096"
RECIPE_NO_OF_PATCHES_pn-matchbox-desktop = "0"
RECIPE_INTEL_SECTION_pn-matchbox-desktop = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-matchbox-desktop = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-matchbox-desktop = "12/2008"
RECIPE_COMMENTS_pn-matchbox-desktop = ""
+RECIPE_LAST_UPDATE_pn-matchbox-desktop = "Dec 4, 2008"
RECIPE_MAINTAINER_pn-matchbox-desktop = "Zhai Edwin <edwin.zhai@intel.com>"
DISTRO_PN_ALIAS_pn-matchbox-desktop = "Mandriva=matchbox-desktop Ubuntu=matchbox-desktop"
RECIPE_STATUS_pn-matchbox-desktop-sato = "green" # no update needed
-DEPENDENCY_CHECK_pn-matchbox-desktop-sato = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-matchbox-desktop-sato = "not done"
RECIPE_LATEST_VERSION_pn-matchbox-desktop-sato = "0.0+svnr76"
RECIPE_NO_OF_PATCHES_pn-matchbox-desktop-sato = "0"
RECIPE_INTEL_SECTION_pn-matchbox-desktop-sato = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-matchbox-desktop-sato = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-matchbox-desktop-sato = "07/2007"
RECIPE_COMMENTS_pn-matchbox-desktop-sato = ""
+RECIPE_LAST_UPDATE_pn-matchbox-desktop-sato = "Jul 5, 2007"
RECIPE_MAINTAINER_pn-matchbox-desktop-sato = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-matchbox-session = "green" # no update needed
-DEPENDENCY_CHECK_pn-matchbox-session = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-matchbox-session = "not done"
RECIPE_LATEST_VERSION_pn-matchbox-session = "0.1"
RECIPE_NO_OF_PATCHES_pn-matchbox-session = "0"
RECIPE_INTEL_SECTION_pn-matchbox-session = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-matchbox-session = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-matchbox-session = "02/2004"
RECIPE_COMMENTS_pn-matchbox-session = ""
+RECIPE_LAST_UPDATE_pn-matchbox-session = "Apr 9, 2008"
RECIPE_MAINTAINER_pn-matchbox-session = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-matchbox-session-sato = "green" # no update needed
-DEPENDENCY_CHECK_pn-matchbox-session-sato = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-matchbox-session-sato = "not done"
RECIPE_LATEST_VERSION_pn-matchbox-session-sato = "0.1"
RECIPE_NO_OF_PATCHES_pn-matchbox-session-sato = "0"
RECIPE_INTEL_SECTION_pn-matchbox-session-sato = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-matchbox-session-sato = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-matchbox-session-sato = "06/2007"
RECIPE_COMMENTS_pn-matchbox-session-sato = ""
+RECIPE_LAST_UPDATE_pn-matchbox-session-sato = "Apr 9, 2008"
RECIPE_MAINTAINER_pn-matchbox-session-sato = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-matchbox-terminal = "green" # no update needed
-DEPENDENCY_CHECK_pn-matchbox-terminal = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-matchbox-terminal = "not done"
RECIPE_LATEST_VERSION_pn-matchbox-terminal = "0.0+svnr1816"
RECIPE_NO_OF_PATCHES_pn-matchbox-terminal = "0"
RECIPE_INTEL_SECTION_pn-matchbox-terminal = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-matchbox-terminal = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-matchbox-terminal = "11/2007"
RECIPE_COMMENTS_pn-matchbox-terminal = ""
+RECIPE_LAST_UPDATE_pn-matchbox-terminal = "Aug 18, 2009"
RECIPE_MAINTAINER_pn-matchbox-terminal = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-matchbox-theme-sato = "green" # no update needed
-DEPENDENCY_CHECK_pn-matchbox-theme-sato = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-matchbox-theme-sato = "not done"
RECIPE_LATEST_VERSION_pn-matchbox-theme-sato = "0.1"
RECIPE_NO_OF_PATCHES_pn-matchbox-theme-sato = "0"
RECIPE_INTEL_SECTION_pn-matchbox-theme-sato = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-matchbox-theme-sato = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-matchbox-theme-sato = "07/2007"
RECIPE_COMMENTS_pn-matchbox-theme-sato = ""
+RECIPE_LAST_UPDATE_pn-matchbox-theme-sato = "Jul 31, 2007"
RECIPE_MAINTAINER_pn-matchbox-theme-sato = "Zhai Edwin <edwin.zhai@intel.com>"
+RECIPE_STATUS_pn-matchbox-theme-sato-2 = "green" # no update needed
+RECIPE_DEPENDENCY_CHECK_pn-matchbox-theme-sato-2 = "not done"
+RECIPE_LATEST_VERSION_pn-matchbox-theme-sato-2 = "0.1"
+RECIPE_NO_OF_PATCHES_pn-matchbox-theme-sato-2 = "0"
+RECIPE_INTEL_SECTION_pn-matchbox-theme-sato-2 = "graphic UX"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-matchbox-theme-sato-2 = "n/a"
+RECIPE_LATEST_RELEASE_DATE_pn-matchbox-theme-sato-2 = "07/2007"
+RECIPE_COMMENTS_pn-matchbox-theme-sato-2 = ""
+RECIPE_LAST_UPDATE_pn-matchbox-theme-sato-2 = "Jul 31, 2007"
+RECIPE_MAINTAINER_pn-matchbox-theme-sato-2 = "Zhai Edwin <edwin.zhai@intel.com>"
+
RECIPE_STATUS_pn-sato-icon-theme = "green" # no update needed
-DEPENDENCY_CHECK_pn-sato-icon-theme = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-sato-icon-theme = "not done"
RECIPE_LATEST_VERSION_pn-sato-icon-theme = "0.4.1"
RECIPE_NO_OF_PATCHES_pn-sato-icon-theme = "0"
RECIPE_INTEL_SECTION_pn-sato-icon-theme = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-sato-icon-theme = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-sato-icon-theme = "02/2008"
RECIPE_COMMENTS_pn-sato-icon-theme = ""
+RECIPE_LAST_UPDATE_pn-sato-icon-theme = "Feb 25, 2008"
RECIPE_MAINTAINER_pn-sato-icon-theme = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-tslib = "green" # no update needed
-DEPENDENCY_CHECK_pn-tslib = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-tslib = "not done"
RECIPE_LATEST_VERSION_pn-tslib = "1.0"
RECIPE_NO_OF_PATCHES_pn-tslib = "3"
RECIPE_INTEL_SECTION_pn-tslib = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-tslib = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-tslib = "08/2006"
RECIPE_COMMENTS_pn-tslib = ""
+RECIPE_LAST_UPDATE_pn-tslib = "Aug 17, 2006"
RECIPE_MAINTAINER_pn-tslib = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-xcursor-transparent-theme = "green" # no update needed
-DEPENDENCY_CHECK_pn-xcursor-transparent-theme = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-xcursor-transparent-theme = "not done"
RECIPE_LATEST_VERSION_pn-xcursor-transparent-theme = "0.1.1"
RECIPE_NO_OF_PATCHES_pn-xcursor-transparent-theme = "2"
RECIPE_INTEL_SECTION_pn-xcursor-transparent-theme = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-xcursor-transparent-theme = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-xcursor-transparent-theme = "12/2004"
RECIPE_COMMENTS_pn-xcursor-transparent-theme = ""
+RECIPE_LAST_UPDATE_pn-xcursor-transparent-theme = "Jul 21, 2006"
RECIPE_MAINTAINER_pn-xcursor-transparent-theme = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-screenshot = "green"
-DEPENDENCY_CHECK_pn-screenshot = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-screenshot = "not done"
RECIPE_LATEST_VERSION_pn-screenshot = "0.0+svnr292"
RECIPE_NO_OF_PATCHES_pn-screenshot = "0"
RECIPE_INTEL_SECTION_pn-screenshot = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-screenshot = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-screenshot = "09/2007"
RECIPE_COMMENTS_pn-screenshot = ""
+RECIPE_LAST_UPDATE_pn-screenshot = "Jun 25, 2010"
RECIPE_MAINTAINER_pn-screenshot = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-tasks = "green"
-DEPENDENCY_CHECK_pn-tasks = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-tasks = "not done"
RECIPE_LATEST_VERSION_pn-tasks = "0.18"
RECIPE_NO_OF_PATCHES_pn-tasks = "1"
RECIPE_INTEL_SECTION_pn-tasks = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-tasks = "12 months"
RECIPE_LATEST_RELEASE_DATE_pn-tasks = "07/2010"
RECIPE_COMMENTS_pn-tasks = ""
+RECIPE_LAST_UPDATE_pn-tasks = "Nov 19, 2010"
RECIPE_MAINTAINER_pn-tasks = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-contacts = "green"
-DEPENDENCY_CHECK_pn-contacts = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-contacts = "not done"
RECIPE_LATEST_VERSION_pn-contacts = "0.12+git0+19853893fdb595de6aa59db0d9dc2f9451ed2933"
RECIPE_NO_OF_PATCHES_pn-contacts = "1"
RECIPE_INTEL_SECTION_pn-contacts = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-contacts = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-contacts = "11/2009"
RECIPE_COMMENTS_pn-contacts = ""
+RECIPE_LAST_UPDATE_pn-contacts = "Jun 25, 2010"
RECIPE_MAINTAINER_pn-contacts = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-dates = "green"
-DEPENDENCY_CHECK_pn-dates = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-dates = "not done"
RECIPE_LATEST_VERSION_pn-dates = "0.4.11+git0+514185dc1f6588085fda41eb59898b93d0487dd4"
RECIPE_NO_OF_PATCHES_pn-dates = "1"
RECIPE_INTEL_SECTION_pn-dates = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-dates = "1 month"
RECIPE_LATEST_RELEASE_DATE_pn-dates = "10/2009"
RECIPE_COMMENTS_pn-dates = ""
+RECIPE_LAST_UPDATE_pn-dates = "Jun 25, 2010"
RECIPE_MAINTAINER_pn-dates = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-libcroco = "green"
-DEPENDENCY_CHECK_pn-libcroco = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libcroco = "not done"
RECIPE_LATEST_VERSION_pn-libcroco = "0.6.2"
RECIPE_NO_OF_PATCHES_pn-libcroco = "1"
RECIPE_INTEL_SECTION_pn-libcroco = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libcroco = "35 months"
RECIPE_LATEST_RELEASE_DATE_pn-libcroco = "02/2009"
RECIPE_COMMENTS_pn-libcroco = ""
+RECIPE_LAST_UPDATE_pn-libcroco = "Jun 25, 2010"
RECIPE_MAINTAINER_pn-libcroco = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-leafpad = "green"
-DEPENDENCY_CHECK_pn-leafpad = "not done"
-RECIPE_LATEST_VERSION_pn-leafpad = "0.8.17"
+RECIPE_DEPENDENCY_CHECK_pn-leafpad = "not done"
+RECIPE_LATEST_VERSION_pn-leafpad = "0.8.18.1"
RECIPE_NO_OF_PATCHES_pn-leafpad = "1"
RECIPE_INTEL_SECTION_pn-leafpad = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-leafpad = "10 months"
-RECIPE_LATEST_RELEASE_DATE_pn-leafpad = "10/2009"
+RECIPE_LATEST_RELEASE_DATE_pn-leafpad = "12/2010"
RECIPE_COMMENTS_pn-leafpad = ""
+RECIPE_LAST_UPDATE_pn-leafpad = "Jan 26, 2011"
RECIPE_MAINTAINER_pn-leafpad = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-atk = "green"
-DEPENDENCY_CHECK_pn-atk = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-atk = "not done"
RECIPE_LATEST_VERSION_pn-atk = "1.32.0"
RECIPE_NO_OF_PATCHES_pn-atk = "0"
RECIPE_INTEL_SECTION_pn-atk = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-atk = "6 month"
RECIPE_LATEST_RELEASE_DATE_pn-atk = "09/2010"
RECIPE_COMMENTS_pn-atk = ""
+RECIPE_LAST_UPDATE_pn-atk = "Nov 19, 2010"
RECIPE_MAINTAINER_pn-atk = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-gtk+ = "green"
DISTRO_PN_ALIAS_pn-gtk+ = "Meego=gtk2 Fedora=gtk2 OpenSuSE=gtk2 Ubuntu=gtk+2.0 Mandriva=gtk+2.0 Debian=gtk+2.0"
-DEPENDENCY_CHECK_pn-gtk+ = "not done"
-RECIPE_LATEST_VERSION_pn-gtk+ = "2.20.1"
+RECIPE_DEPENDENCY_CHECK_pn-gtk+ = "not done"
+RECIPE_LATEST_VERSION_pn-gtk+ = "2.22.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_LATEST_RELEASE_DATE_pn-gtk+ = "11/2010"
RECIPE_COMMENTS_pn-gtk+ = ""
+RECIPE_LAST_UPDATE_pn-gtk+ = "Jan 24, 2011"
+RECIPE_NO_UPDATE_REASON_pn-gtk+ = "Do not upgrade to version: 2.99.2 because prefer stable tree"
RECIPE_MAINTAINER_pn-gtk+ = "Zhai Edwin <edwin.zhai@intel.com>"
+RECIPE_STATUS_pn-gdk-pixbuf = "green"
+RECIPE_LATEST_VERSION_pn-gdk-pixbuf = "2.22.1"
+RECIPE_LAST_UPDATE_pn-gdk-pixbuf = "Nov 25, 2010"
+RECIPE_MAINTAINER_pn-gdk-pixbuf = "Edwin Zhai <edwin.zhai@intel.com>"
+
RECIPE_STATUS_pn-gdk-pixbuf-csource-native = "red" # update needed
-DEPENDENCY_CHECK_pn-gdk-pixbuf-csource-native = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-gdk-pixbuf-csource-native = "not done"
RECIPE_LATEST_VERSION_pn-gdk-pixbuf-csource-native = "2.20.1"
RECIPE_NO_OF_PATCHES_pn-gdk-pixbuf-csource-native = "1"
RECIPE_INTEL_SECTION_pn-gdk-pixbuf-csource-native = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gdk-pixbuf-csource-native = "2 months"
RECIPE_LATEST_RELEASE_DATE_pn-gdk-pixbuf-csource-native = "05/2010"
RECIPE_COMMENTS_pn-gdk-pixbuf-csource-native = "It is sub-package of gtk+"
+RECIPE_LAST_UPDATE_pn-gdk-pixbuf-csource-native = "Sep 24, 2008"
RECIPE_MAINTAINER_pn-gdk-pixbuf-csource-native = "Zhai Edwin <edwin.zhai@intel.com>"
DISTRO_PN_ALIAS_pn-gdk-pixbuf-csource-native = "Debian=libgdk-pixbuf2.0-0 Fedora=gdk-pixbuf2"
RECIPE_STATUS_pn-gobject-introspection = "red" # update needed
-DEPENDENCY_CHECK_pn-gobject-introspection = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-gobject-introspection = "not done"
RECIPE_LATEST_VERSION_pn-gobject-introspection = "0.9.5"
RECIPE_NO_OF_PATCHES_pn-gobject-introspection = "3"
RECIPE_INTEL_SECTION_pn-gobject-introspection = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-gobject-introspection = "1 months"
RECIPE_LATEST_RELEASE_DATE_pn-gobject-introspection = "09/2010"
RECIPE_COMMENTS_pn-gobject-introspection = ""
+RECIPE_LAST_UPDATE_pn-gnome-common = "Jul 7, 2010"
RECIPE_MAINTAINER_pn-gnome-common = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-gnome-common = "green"
-DEPENDENCY_CHECK_pn-gnome-common = "not done"
+RECIPE_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_LAST_UPDATE_pn-gnome-common = "Jul 7, 2010"
RECIPE_MAINTAINER_pn-gnome-common = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-webkit-gtk = "green"
DISTRO_PN_ALIAS_pn-webkit-gtk = "Fedora=webkitgtk"
-DEPENDENCY_CHECK_pn-webkit-gtk = "not done"
-RECIPE_LATEST_VERSION_pn-webkit-gtk = "1.3.2+svnr62027"
-RECIPE_NO_OF_PATCHES_pn-webkit-gtk = "0"
+RECIPE_DEPENDENCY_CHECK_pn-webkit-gtk = "not done"
+RECIPE_LATEST_VERSION_pn-webkit-gtk = "1.3.7+svnr72836"
+RECIPE_MANUAL_CHECK_DATE_pn-webkit-gtk = "Nov 19, 2010"
+RECIPE_NO_OF_PATCHES_pn-webkit-gtk = "1"
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_LATEST_RELEASE_DATE_pn-webkit-gtk = "11/2011"
RECIPE_COMMENTS_pn-webkit-gtk = ""
+RECIPE_LAST_UPDATE_pn-webkit-gtk = "Nov 30, 2011"
RECIPE_MAINTAINER_pn-webkit-gtk = "Zhai Edwin <edwin.zhai@intel.com>"
DISTRO_PN_ALIAS_pn-webkit-gtk = "Fedora=webkitgtk Ubuntu=libwebkit"
RECIPE_STATUS_pn-eds-dbus = "green"
DISTRO_PN_ALIAS_pn-eds-dbus = "Debian=evolution-data-server Fedora=evolution-data-server Mandriva=evolution-data-server OpenSuSE=evolution-data-server Ubuntu=evolution-data-server"
-DEPENDENCY_CHECK_pn-eds-dbus = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-eds-dbus = "not done"
RECIPE_LATEST_VERSION_pn-eds-dbus = "2.31.4"
RECIPE_NO_UPDATE_REASON_pn-eds-dbus = "2.30.2 is latest stable release, while 2.31 branch acts as development branch."
RECIPE_NO_OF_PATCHES_pn-eds-dbus = "0"
@@ -4513,208 +4994,228 @@ 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 = "Update to 2.30.2 because of stability and dependency"
+RECIPE_LAST_UPDATE_pn-eds-dbus = "Jul 16, 2010"
RECIPE_MAINTAINER_pn-eds-dbus = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-gnome-keyring = "green"
-DEPENDENCY_CHECK_pn-gnome-keyring = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-gnome-keyring = "not done"
RECIPE_LATEST_VERSION_pn-gnome-keyring = "2.32.1"
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 = "10/2010"
RECIPE_COMMENTS_pn-gnome-keyring = ""
+RECIPE_LAST_UPDATE_pn-gnome-keyring = "Nov 19, 2010"
+RECIPE_NO_UPDATE_REASON_pn-gnome-keyring = "Do not upgrade to version: 2.91.4 because prefer stable tree"
RECIPE_MAINTAINER_pn-gnome-keyring = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-gtk-sato-engine = "green"
-DEPENDENCY_CHECK_pn-gtk-sato-engine = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-gtk-sato-engine = "not done"
RECIPE_LATEST_VERSION_pn-gtk-sato-engine = "0.3.2+svnr163"
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_LAST_UPDATE_pn-gtk-sato-engine = "Jul 6, 2010"
RECIPE_MAINTAINER_pn-gtk-sato-engine = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-hicolor-icon-theme = "green"
-DEPENDENCY_CHECK_pn-hicolor-icon-theme = "not done"
+RECIPE_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_LAST_UPDATE_pn-hicolor-icon-theme = "Jul 7, 2010"
RECIPE_MAINTAINER_pn-hicolor-icon-theme = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-jpeg = "green"
-DEPENDENCY_CHECK_pn-jpeg = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-jpeg = "not done"
RECIPE_LATEST_VERSION_pn-jpeg = "8b"
+RECIPE_MANUAL_CHECK_DATE_pn-jpeg = "Dec 30, 2010"
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_LAST_UPDATE_pn-jpeg = "Jul 15, 2010"
RECIPE_MAINTAINER_pn-jpeg = "Zhai Edwin <edwin.zhai@intel.com>"
DISTRO_PN_ALIAS_pn-jpeg="OpenSuSE=libjpeg Ubuntu=libjpeg62"
RECIPE_STATUS_pn-libfakekey = "green" # no update needed
-DEPENDENCY_CHECK_pn-libfakekey = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libfakekey = "not done"
RECIPE_LATEST_VERSION_pn-libfakekey = "0.0+svnr2031"
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_LAST_UPDATE_pn-libfakekey = "Apr 15, 2008"
RECIPE_MAINTAINER_pn-libfakekey = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-libglade = "green"
DISTRO_PN_ALIAS_pn-libglade = "Meego=libglade2 Fedora=libglade2 OpenSuSE=libglade2 Ubuntu=libglade2 Mandriva=libglade2.0 Debian=libglade2"
-DEPENDENCY_CHECK_pn-libglade = "not done"
+RECIPE_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_LAST_UPDATE_pn-libglade = "Jul 7, 2010"
RECIPE_MAINTAINER_pn-libglade = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-libsoup-2.4 = "green"
DISTRO_PN_ALIAS_pn-libsoup-2.4 = "Meego=libsoup Fedora=libsoup OpenSuSE=libsoup Ubuntu=libsoup2.4 Mandriva=libsoup Debian=libsoup2.4"
-DEPENDENCY_CHECK_pn-libsoup-2.4 = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libsoup-2.4 = "not done"
RECIPE_LATEST_VERSION_pn-libsoup-2.4 = "2.32.1"
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 = "2 month"
RECIPE_LATEST_RELEASE_DATE_pn-libsoup-2.4 = "11/2010"
RECIPE_COMMENTS_pn-libsoup-2.4 = ""
+RECIPE_LAST_UPDATE_pn-libsoup-2.4 = "Nov 19, 2010"
RECIPE_MAINTAINER_pn-libsoup-2.4 = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-libxslt = "green"
-DEPENDENCY_CHECK_pn-libxslt = "not done"
+RECIPE_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_LAST_UPDATE_pn-libxslt = "Jul 8, 2010"
RECIPE_MAINTAINER_pn-libxslt = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-matchbox-config-gtk = "green"
-DEPENDENCY_CHECK_pn-matchbox-config-gtk = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-matchbox-config-gtk = "not done"
RECIPE_LATEST_VERSION_pn-matchbox-config-gtk = "0.0+svnr2081"
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_LAST_UPDATE_pn-matchbox-config-gtk = "Jul 6, 2010"
RECIPE_MAINTAINER_pn-matchbox-config-gtk = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-matchbox-keyboard = "green"
-DEPENDENCY_CHECK_pn-matchbox-keyboard = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-matchbox-keyboard = "not done"
RECIPE_LATEST_VERSION_pn-matchbox-keyboard = "0.0+svnr2075"
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_LAST_UPDATE_pn-matchbox-keyboard = "Jul 6, 2010"
RECIPE_MAINTAINER_pn-matchbox-keyboard = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-matchbox-panel-2 = "green"
DISTRO_PN_ALIAS_pn-matchbox-panel-2 = "Debian=matchbox-panel Mandriva=matchbox-panel Ubuntu=matchbox-panel"
-DEPENDENCY_CHECK_pn-matchbox-panel-2 = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-matchbox-panel-2 = "not done"
RECIPE_LATEST_VERSION_pn-matchbox-panel-2 = "0.0+svnr2111"
RECIPE_NO_OF_PATCHES_pn-matchbox-panel-2 = "1"
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 = "08/2010"
RECIPE_COMMENTS_pn-matchbox-panel-2 = ""
+RECIPE_LAST_UPDATE_pn-matchbox-panel = "Nov 19, 2010"
RECIPE_MAINTAINER_pn-matchbox-panel-2 = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-matchbox-stroke = "green"
-DEPENDENCY_CHECK_pn-matchbox-stroke = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-matchbox-stroke = "not done"
RECIPE_LATEST_VERSION_pn-matchbox-stroke = "0.0+svnr1820"
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_LAST_UPDATE_pn-matchbox-stroke = "Jul 6, 2010"
RECIPE_MAINTAINER_pn-matchbox-stroke = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-matchbox-wm = "green"
DISTRO_PN_ALIAS_pn-matchbox-wm-2 = "Mandriva=matchbox-window-manager Debian=matchbox-window-manager"
-DEPENDENCY_CHECK_pn-matchbox-wm = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-matchbox-wm = "not done"
RECIPE_LATEST_VERSION_pn-matchbox-wm = "1.2+svnr1819"
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 = ""
+RECIPE_LAST_UPDATE_pn-matchbox-wm = "Jul 6, 2010"
RECIPE_MAINTAINER_pn-matchbox-wm = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-pointercal = "green"
-DEPENDENCY_CHECK_pn-pointercal = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-pointercal = "not done"
RECIPE_LATEST_VERSION_pn-pointercal = "0.0"
RECIPE_NO_OF_PATCHES_pn-pointercal = "0"
RECIPE_INTEL_SECTION_pn-pointercal = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-pointercal = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-pointercal = "n/a"
RECIPE_COMMENTS_pn-pointercal = "Just a data file"
+RECIPE_LAST_UPDATE_pn-pointercal = "Jan 30, 2007"
RECIPE_MAINTAINER_pn-pointercal = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-libgnome-keyring = "green"
-DEPENDENCY_CHECK_pn-libgnome-keyring = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libgnome-keyring = "not done"
RECIPE_LATEST_VERSION_pn-libgnome-keyring = "2.32.0"
RECIPE_NO_OF_PATCHES_pn-libgnome-keyring = "0"
RECIPE_INTEL_SECTION_pn-libgnome-keyring = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libgnome-keyring = "1 month"
RECIPE_LATEST_RELEASE_DATE_pn-libgnome-keyring = "09/2010"
RECIPE_COMMENTS_pn-libgnome-keyring = "New recipe separated from gnome-keyring"
+RECIPE_LAST_UPDATE_pn-libgnome-keyring = "Nov 19, 2010"
RECIPE_MAINTAINER_pn-libgnome-keyring = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-web-webkit = "green"
-DEPENDENCY_CHECK_pn-web-webkit = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-web-webkit = "not done"
RECIPE_LATEST_VERSION_pn-web-webkit = "0.0+svnr110"
RECIPE_NO_OF_PATCHES_pn-web-webkit = "1"
RECIPE_INTEL_SECTION_pn-web-webkit = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-web-webkit = "n/a"
RECIPE_LATEST_RELEASE_DATE_pn-web-webkit = "08/2008"
RECIPE_COMMENTS_pn-web-webkit = ""
+RECIPE_LAST_UPDATE_pn-web-webkit = "Dec 20, 2010"
RECIPE_MAINTAINER_pn-web-webkit = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-libfm = "green"
-DEPENDENCY_CHECK_pn-libfm = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-libfm = "not done"
RECIPE_LATEST_VERSION_pn-libfm = "0.1.14"
+RECIPE_MANUAL_CHECK_DATE_pn-libfm = "Nov 19, 2010"
RECIPE_NO_OF_PATCHES_pn-libfm = "0"
RECIPE_INTEL_SECTION_pn-libfm = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-libfm = "5 months"
RECIPE_LATEST_RELEASE_DATE_pn-libfm = "10/2010"
RECIPE_COMMENTS_pn-libfm = "Add as required when updating pcmanfm"
+RECIPE_LAST_UPDATE_pn-libfm = "Nov 19, 2010"
RECIPE_MAINTAINER_pn-libfm = "Zhai Edwin <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-menu-cache = "green"
-DEPENDENCY_CHECK_pn-menu-cache = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-menu-cache = "not done"
RECIPE_LATEST_VERSION_pn-menu-cache = "0.3.2"
+RECIPE_MANUAL_CHECK_DATE_pn-menu-cache = "Nov 22, 2010"
RECIPE_NO_OF_PATCHES_pn-menu-cache = "0"
RECIPE_INTEL_SECTION_pn-menu-cache = "graphic UX"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-menu-cache = "1 month"
RECIPE_LATEST_RELEASE_DATE_pn-menu-cache = "02/2010"
RECIPE_COMMENTS_pn-menu-cache = "Add as required when adding libfm"
DISTRO_PN_ALIAS_pn-menu-cache = "OSPDT"
+RECIPE_LAST_UPDATE_pn-menu-cache = "Jul 22, 2010"
RECIPE_MAINTAINER_pn-menu-cache = "Zhai Edwin <edwin.zhai@intel.com>"
-RECIPE_STATUS_pn-gtk-engines = "red"
+RECIPE_STATUS_pn-gtk-engines = "green"
DISTRO_PN_ALIAS_pn-gtk-engines = "Fedora=gtk2-engines OpenSuSE=gtk2-engines Ubuntu=gtk2-engines Mandriva=gtk-engines2 Debian=gtk2-engines"
-RECIPE_LATEST_VERSION_pn-gtk-engines = "2.18"
+RECIPE_LATEST_VERSION_pn-gtk-engines = "2.20.2"
+RECIPE_LAST_UPDATE_pn-gtk-engines = "Dec 1, 2010"
+RECIPE_NO_UPDATE_REASON_pn-gtk-engines = "Do not upgrade to version: 2.91.1 because prefer stable tree"
RECIPE_MAINTAINER_pn-gtk-engines = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-clutter-box2d = "red"
RECIPE_LATEST_VERSION_pn-clutter-box2d = "0.10.0"
RECIPE_MAINTAINER_pn-clutter-box2d = "Edwin Zhai <edwin.zhai@intel.com>"
-RECIPE_STATUS_pn-clutter-gtk-0.10 = "red"
-DISTRO_PN_ALIAS_pn-clutter-gtk-0.10 = "Fedora=clutter-gtk OpenSuSE=clutter-gtk Ubuntu=clutter-gtk-0.10 Mandriva=clutter-gtk Debian=clutter-gtk"
-RECIPE_LATEST_VERSION_pn-clutter-gtk-0.10 = "0.10.3+git0+b92329c4c1288019e2dea6567e2b5e98eb0a9992"
-RECIPE_MAINTAINER_pn-clutter-gtk-0.10 = "Edwin Zhai <edwin.zhai@intel.com>"
-
RECIPE_STATUS_pn-clutter-gtk-1.0 = "red"
DISTRO_PN_ALIAS_pn-clutter-gtk-1.0 = "Fedora=clutter-gtk OpenSuSE=clutter-gtk Ubuntu=clutter-gtk-0.10 Mandriva=clutter-gtk Debian=clutter-gtk"
RECIPE_LATEST_VERSION_pn-clutter-gtk-1.0 = "0.90.0+git0+e8d828ba1d87937baa571e68fdff22f3e2d79ca8"
@@ -4722,49 +5223,23 @@ RECIPE_MAINTAINER_pn-clutter-gtk-1.0 = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-tidy = "red"
RECIPE_LATEST_VERSION_pn-tidy = "0.1.0+git0+e25416e1293e1074bfa6727c80527dcff5b1f3cb"
+RECIPE_LAST_UPDATE_pn-tidy = "Dec 18, 2008"
RECIPE_MAINTAINER_pn-tidy = "Edwin Zhai <edwin.zhai@intel.com>"
-RECIPE_STATUS_pn-libcanberra = "red"
-RECIPE_LATEST_VERSION_pn-libcanberra = "0.24"
+RECIPE_STATUS_pn-libcanberra = "green"
+RECIPE_LATEST_VERSION_pn-libcanberra = "0.26"
+RECIPE_LAST_UPDATE_pn-libcanberra = "Dec 31, 2010"
RECIPE_MAINTAINER_pn-libcanberra = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-libgalago = "red"
RECIPE_LATEST_VERSION_pn-libgalago = "0.5.2"
+RECIPE_LAST_UPDATE_pn-libgalago = "Apr 11, 2007"
RECIPE_MAINTAINER_pn-libgalago = "Edwin Zhai <edwin.zhai@intel.com>"
-RECIPE_STATUS_pn-clutter-cairo-0.6 = "red"
-DISTRO_PN_ALIAS_pn-clutter-cairo-0.6 = "Debian=clutter-cairo Ubuntu=clutter-cairo Fedora=clutter-cairo"
-RECIPE_LATEST_VERSION_pn-clutter-cairo-0.6 = "0.6"
-RECIPE_MAINTAINER_pn-clutter-cairo-0.6 = "Edwin Zhai <edwin.zhai@intel.com>"
-
-RECIPE_STATUS_pn-clutter-0.6 = "red"
-DISTRO_PN_ALIAS_pn-clutter-0.6 = "Debian=clutter Fedora=clutter Mandriva=clutter Meego=clutter-0.6 OpenSuSE=clutter Ubuntu=clutter"
-RECIPE_LATEST_VERSION_pn-clutter-0.6 = "0.6.0+gitr0+62e852a51e29dd42c84d6b34fe23b80b2542be59"
-RECIPE_MAINTAINER_pn-clutter-0.6 = "Edwin Zhai <edwin.zhai@intel.com>"
-
-RECIPE_STATUS_pn-clutter-gtk-0.6 = "red"
-DISTRO_PN_ALIAS_pn-clutter-gtk-0.6 = "Fedora=clutter-gtk OpenSuSE=clutter-gtk Ubuntu=clutter-gtk-0.10 Mandriva=clutter-gtk Debian=clutter-gtk"
-RECIPE_LATEST_VERSION_pn-clutter-gtk-0.6 = "0.6.0+git0+2ba362a1a223c2b28541030a80aa11191615340a"
-RECIPE_MAINTAINER_pn-clutter-gtk-0.6 = "Edwin Zhai <edwin.zhai@intel.com>"
-
-RECIPE_STATUS_pn-clutter-cairo-0.8 = "red"
-DISTRO_PN_ALIAS_pn-clutter-cairo-0.8 = "Debian=clutter-cairo Ubuntu=clutter-cairo Fedora=clutter-cairo"
-RECIPE_LATEST_VERSION_pn-clutter-cairo-0.8 = "0.8.2"
-RECIPE_MAINTAINER_pn-clutter-cairo-0.8 = "Edwin Zhai <edwin.zhai@intel.com>"
-
-RECIPE_STATUS_pn-clutter-gtk-0.8 = "red"
-DISTRO_PN_ALIAS_pn-clutter-gtk-0.8 = "Fedora=clutter-gtk OpenSuSE=clutter-gtk Ubuntu=clutter-gtk-0.10 Mandriva=clutter-gtk Debian=clutter-gtk"
-RECIPE_LATEST_VERSION_pn-clutter-gtk-0.8 = "0.8.0+git0+7d3c3230376e731c06c21afa9d8c1d44dbea27cd"
-RECIPE_MAINTAINER_pn-clutter-gtk-0.8 = "Edwin Zhai <edwin.zhai@intel.com>"
-
-RECIPE_STATUS_pn-clutter-0.8 = "red"
-DISTRO_PN_ALIAS_pn-clutter-0.8 = "Fedora=clutter OpenSuSE=clutter Ubuntu=clutter-1.0 Mandriva=clutter Debian=clutter"
-RECIPE_LATEST_VERSION_pn-clutter-0.8 = "0.8.0+gitr3ba37ff115ed3fbe6c94195775941091a3ac2b30"
-RECIPE_MAINTAINER_pn-clutter-0.8 = "Edwin Zhai <edwin.zhai@intel.com>"
-
RECIPE_STATUS_pn-clutter-1.0 = "red"
DISTRO_PN_ALIAS_pn-clutter-1.0 = "Fedora=clutter OpenSuse=clutter Ubuntu=clutter-1.0 Mandriva=clutter Debian=clutter"
RECIPE_LATEST_VERSION_pn-clutter-1.0 = "1.0+git0+ce5025d0a2b701541ca9343686f9dac858905da4"
+RECIPE_LAST_UPDATE_pn-clutter-1.0 = "Jan 29, 2010"
RECIPE_MAINTAINER_pn-clutter-1.0 = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-clutter = "red"
@@ -4774,49 +5249,51 @@ RECIPE_MAINTAINER_pn-clutter = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-libgnomekbd = "red"
RECIPE_LATEST_VERSION_pn-libgnomekbd = "2.31.1"
+RECIPE_LAST_UPDATE_pn-libgnomekbd = "Jun 10, 2009"
RECIPE_MAINTAINER_pn-libgnomekbd = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-clipboard-manager = "red"
DISTRO_PN_ALIAS_pn-clipboard-manager = "OpenedHand"
RECIPE_LATEST_VERSION_pn-clipboard-manager = "0.6.8"
+RECIPE_LAST_UPDATE_pn-clipboard-manager = "Dec 24, 2007"
RECIPE_MAINTAINER_pn-clipboard-manager = "Edwin Zhai <edwin.zhai@intel.com>"
-RECIPE_STATUS_pn-gnome-desktop = "red"
-RECIPE_LATEST_VERSION_pn-gnome-desktop = "2.31.2"
+RECIPE_STATUS_pn-gnome-desktop = "green"
+RECIPE_LATEST_VERSION_pn-gnome-desktop = "2.32.1"
+RECIPE_LAST_UPDATE_pn-gnome-desktop = "Dec 1, 2010"
+RECIPE_NO_UPDATE_REASON_pn-gnome-desktop = "Do not upgrade to version: 2.91.6 because prefer stable tree"
RECIPE_MAINTAINER_pn-gnome-desktop = "Edwin Zhai <edwin.zhai@intel.com>"
-RECIPE_STATUS_pn-gnome-icon-theme = "red"
-RECIPE_LATEST_VERSION_pn-gnome-icon-theme = "2.30.2"
+RECIPE_STATUS_pn-gnome-icon-theme = "green"
+RECIPE_LATEST_VERSION_pn-gnome-icon-theme = "2.31.0"
+RECIPE_LAST_UPDATE_pn-gnome-icon-theme = "Dec 1, 2010"
+RECIPE_NO_UPDATE_REASON_pn-gnome-icon-theme = "Do not upgrade to version: 2.91.0 because prefer stable tree"
RECIPE_MAINTAINER_pn-gnome-icon-theme = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-gtk-doc = "red"
RECIPE_LATEST_VERSION_pn-gtk-doc = "1.15"
+RECIPE_LAST_UPDATE_pn-gtk-doc = "Jun 10, 2009"
RECIPE_MAINTAINER_pn-gtk-doc = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-gtkhtml2 = "red"
RECIPE_LATEST_VERSION_pn-gtkhtml2 = "2.11.1"
+RECIPE_LAST_UPDATE_pn-gtkhtml2 = "Aug 9, 2007"
RECIPE_MAINTAINER_pn-gtkhtml2 = "Edwin Zhai <edwin.zhai@intel.com>"
-RECIPE_STATUS_pn-gtk-theme-darkilouche = "red"
-DISTRO_PN_ALIAS_pn-gtk-theme-darkilouche = "OSPDT upstream=git://people.freedesktop.org/~jimmac/Darkilouche.git"
-RECIPE_LATEST_VERSION_pn-gtk-theme-darkilouche = "1.0"
-RECIPE_MAINTAINER_pn-gtk-theme-darkilouche = "Edwin Zhai <edwin.zhai@intel.com>"
-
RECIPE_STATUS_pn-libgnomecanvas = "red"
RECIPE_LATEST_VERSION_pn-libgnomecanvas = "2.30.1"
+RECIPE_LAST_UPDATE_pn-libgnomecanvas = "Jun 10, 2009"
RECIPE_MAINTAINER_pn-libgnomecanvas = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-libgtkstylus = "red"
RECIPE_LATEST_VERSION_pn-libgtkstylus = "0.5"
+RECIPE_LAST_UPDATE_pn-libgtkstylus = "Jul 21, 2006"
RECIPE_MAINTAINER_pn-libgtkstylus = "Edwin Zhai <edwin.zhai@intel.com>"
DISTRO_PN_ALIAS_pn-libgtkstylus = "Debian=libgtkstylus Ubuntu=libgtkstylus"
-RECIPE_STATUS_pn-matchbox-theme-sato-2 = "red"
-RECIPE_LATEST_VERSION_pn-matchbox-theme-sato-2 = "0.1+svnr164"
-RECIPE_MAINTAINER_pn-matchbox-theme-sato-2 = "Edwin Zhai <edwin.zhai@intel.com>"
-
RECIPE_STATUS_pn-matchbox-themes-extra = "red"
RECIPE_LATEST_VERSION_pn-matchbox-themes-extra = "0.3+svnr1247"
+RECIPE_LAST_UPDATE_pn-matchbox-themes-extra = "Aug 9, 2007"
RECIPE_MAINTAINER_pn-matchbox-themes-extra = "Edwin Zhai <edwin.zhai@intel.com>"
DISTRO_PN_ALIAS_pn-matchbox-themes-extra = "Ubuntu=matchbox-themes-extra Mandriva=matchbox-themes-extra"
@@ -4824,36 +5301,42 @@ RECIPE_STATUS_pn-matchbox-themes-gtk = "red"
RECIPE_LATEST_VERSION_pn-matchbox-themes-gtk = "1.0"
RECIPE_MAINTAINER_pn-matchbox-themes-gtk = "Edwin Zhai <edwin.zhai@intel.com>"
-RECIPE_STATUS_pn-matchbox-wm-2 = "red"
+RECIPE_STATUS_pn-matchbox-wm-2 = "green"
DISTRO_PN_ALIAS_pn-matchbox-wm-2 = "Mandriva=matchbox-window-manager Debian=matchbox-window-manager"
RECIPE_LATEST_VERSION_pn-matchbox-wm-2 = "0.0+svnr2106"
+RECIPE_LAST_UPDATE_pn-matchbox-wm-2= "Dec 31, 2010"
RECIPE_MAINTAINER_pn-matchbox-wm-2 = "Edwin Zhai <edwin.zhai@intel.com>"
-RECIPE_STATUS_pn-metacity = "red"
-RECIPE_LATEST_VERSION_pn-metacity = "2.30.1"
+RECIPE_STATUS_pn-metacity = "green"
+RECIPE_LATEST_VERSION_pn-metacity = "2.30.3"
+RECIPE_LAST_UPDATE_pn-metacity = "Dec 30, 2010"
RECIPE_MAINTAINER_pn-metacity = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-polkit-gnome = "green"
-DEPENDENCY_CHECK_pn-polkit-gnome = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-polkit-gnome = "not done"
RECIPE_LATEST_VERSION_pn-polkit-gnome = "0.99"
RECIPE_INTEL_SECTION_pn-polkit-gnome = "base utils"
RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-polkit-gnome = "1 months"
RECIPE_LATEST_RELEASE_DATE_pn-polkit-gnome = "2010/09/15"
RECIPE_COMMENTS_pn-polkit-gnome = ""
+RECIPE_LAST_UPDATE_pn-polkit-gnome = "Nov 18, 2010"
RECIPE_MAINTAINER_pn-polkit-gnome = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-pong-clock = "red"
DISTRO_PN_ALIAS_pn-pong-clock = "OpenedHand"
RECIPE_LATEST_VERSION_pn-pong-clock = "1.0"
+RECIPE_LAST_UPDATE_pn-pong-clock = "Jul 5, 2007"
RECIPE_MAINTAINER_pn-pong-clock = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-mutter = "red"
RECIPE_LATEST_VERSION_pn-mutter = "2.29.1_0.4"
+RECIPE_LAST_UPDATE_pn-mutter = "Jan 13, 2010"
RECIPE_MAINTAINER_pn-mutter = "Edwin Zhai <edwin.zhai@intel.com>"
RECIPE_STATUS_pn-qt4-x11-free = "green"
DISTRO_PN_ALIAS_pn-qt4-x11-free = "Ubuntu=qt-x11-free Debian=qt-x11-free"
RECIPE_LATEST_VERSION_pn-qt4-x11-free = "4.6.3"
+RECIPE_LAST_UPDATE_pn-qt4-x11-free = "Aug 25, 2010"
RECIPE_MAINTAINER_pn-qt4-x11-free = "Yu Ke <ke.yu@intel.com>"
DISTRO_PN_ALIAS_pn-poky-feed-config-opkg = "Poky"
DISTRO_PN_ALIAS_pn-poky-image-base = "Poky"
@@ -4868,9 +5351,6 @@ DISTRO_PN_ALIAS_pn-poky-image-minimal-mtdutils = "Poky"
DISTRO_PN_ALIAS_pn-poky-image-sato = "Poky"
DISTRO_PN_ALIAS_pn-poky-image-sato-directdisk = "Poky"
DISTRO_PN_ALIAS_pn-poky-image-sato-live = "Poky"
-DISTRO_PN_ALIAS_pn-poky-image-sdk = "Poky"
-DISTRO_PN_ALIAS_pn-poky-image-sdk-live = "Poky"
-DISTRO_PN_ALIAS_pn-poky-image-sdk-directdisk = "Poky"
DISTRO_PN_ALIAS_pn-task-poky = "Poky"
DISTRO_PN_ALIAS_pn-task-poky-apps-x11-pimlico = "Poky"
DISTRO_PN_ALIAS_pn-task-poky-basic = "Poky"
@@ -4930,11 +5410,13 @@ DISTRO_PN_ALIAS_pn-xvideo-tests = "OpenedHand"
RECIPE_STATUS_pn-kern-tools-native = "red"
RECIPE_LATEST_VERSION_pn-kern-tools-native = "check"
DISTRO_PN_ALIAS_pn-kern-tools-native = "WindRiver"
+RECIPE_LAST_UPDATE_pn-kern-tools-native = "Nov 11, 2010"
RECIPE_MAINTAINER_pn-kern-tools-native = "Bruce Ashfield <bruce.ashfield@windriver.com>"
RECIPE_STATUS_pn-kern-tools-native = "red"
RECIPE_LATEST_VERSION_pn-kern-tools-native = "check"
DISTRO_PN_ALIAS_pn-kern-tools-native = "OpenedHand"
+RECIPE_LAST_UPDATE_pn-kern-tools-native = "Nov 11, 2010"
RECIPE_MAINTAINER_pn-kern-tools-native = "Bruce Ashfield <bruce.ashfield@windriver.com>"
RECIPE_STATUS_pn-signgp-native = "red"
@@ -4990,11 +5472,15 @@ RECIPE_STATUS_pn-gthumb = "red"
RECIPE_STATUS_pn-guilt-native = "red"
RECIPE_STATUS_pn-icon-naming-utils = "red"
RECIPE_STATUS_pn-groff = "red"
+RECIPE_LATEST_VERSION_pn-groff = "1.21"
+RECIPE_NO_UPDATE_REASON_pn-texinfo = "1.18.1.4 is latest GPLv2 Version no 1.21"
+
RECIPE_STATUS_pn-eglibc = "red"
RECIPE_STATUS_pn-lighttpd = "red"
+RECIPE_LAST_UPDATE_pn-lighttpd = "Sep 28, 2010"
RECIPE_MAINTAINER_pn-lighttpd = "Edwin Zhai <edwin.zhai@intel.com>"
-DEPENDENCY_CHECK_pn-lighttpd = "not done"
+RECIPE_DEPENDENCY_CHECK_pn-lighttpd = "not done"
RECIPE_LATEST_VERSION_pn-lighttpd = "1.4.28"
RECIPE_NO_OF_PATCHES_pn-lighttpd = "0"
RECIPE_INTEL_SECTION_pn-lighttpd = "base utils"
@@ -5002,30 +5488,113 @@ RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-lighttpd = "10 days"
RECIPE_LATEST_RELEASE_DATE_pn-lighttpd = "08/2010"
RECIPE_COMMENTS_pn-lighttpd = ""
+RECIPE_LATEST_VERSION_pn-adt-installer = "1.0"
+RECIPE_MANUAL_CHECK_DATE_adt-installer-mpeg2dec = "Jan 17, 2011"
+RECIPE_LATEST_VERSION_pn-glew = "1.5.7"
RECIPE_LATEST_VERSION_pn-mpeg2dec = "0.4.1"
+RECIPE_MANUAL_CHECK_DATE_pn-mpeg2dec = "Jan 17, 2011"
RECIPE_LATEST_VERSION_pn-lame = "3.98.4"
RECIPE_LATEST_VERSION_pn-libmad = "0.15.1b"
-RECIPE_LATEST_VERSION_pn-glew = "1.5.7"
-RECIPE_LATEST_VERSION_pn-lsb = "1.4"
+RECIPE_MANUAL_CHECK_DATE_pn-libmad = "Jan 17, 2011"
RECIPE_LATEST_VERSION_pn-libxml-perl = "0.08"
-RECIPE_LATEST_VERSION_pn-lsbsetup = "INVALID"
+RECIPE_LATEST_VERSION_pn-lsb = "1.4"
+RECIPE_MANUAL_CHECK_DATE_pn-lsb = "Jan 17, 2011"
+RECIPE_LATEST_VERSION_pn-lsbsetup = "0.9"
+RECIPE_MANUAL_CHECK_DATE_pn-lsbsetup = "Jan 17, 2011"
RECIPE_LATEST_VERSION_pn-libxml-simple-perl = "2.18"
-RECIPE_LATEST_VERSION_pn-talloc = "2.0.1"
+RECIPE_LATEST_VERSION_pn-talloc = "2.0.5"
RECIPE_LATEST_VERSION_pn-mesa-demos = "8.0.1"
RECIPE_LATEST_VERSION_pn-libtool-cross = "2.4"
-RECIPE_LATEST_VERSION_pn-gthumb = "2.12.1"
-RECIPE_LATEST_VERSION_pn-groff = "1.20.1"
+RECIPE_LATEST_VERSION_pn-gthumb = "2.12.2"
RECIPE_LATEST_VERSION_pn-libtheora = "1.2.0"
-RECIPE_LATEST_VERSION_pn-libgdata = "0.7.1"
+RECIPE_NO_UPDATE_REASON_pn-libtheora = "1.1.1 is latest stable release not 1.2.0alpha1"
+
+RECIPE_STATUS_pn-libgdata = "red"
+RECIPE_LATEST_VERSION_pn-libgdata = "0.8.0"
+RECIPE_LAST_UPDATE_pn-libgdata = "Dec 29, 2010"
+RECIPE_MAINTAINER_pn-libgdata = "Edwin Zhai <edwin.zhai@intel.com>"
+
RECIPE_LATEST_VERSION_pn-man-pages = "3.32"
RECIPE_LATEST_VERSION_pn-qmmp = "0.4.3"
-RECIPE_LATEST_VERSION_pn-texinfo = "4.13"
RECIPE_LATEST_VERSION_pn-sysprof = "6b5b8432711ef5c747f8375073cd9af88922d3c6"
RECIPE_LATEST_VERSION_pn-table = "d42a44938699ee30a998fc42bc149aebf69389db"
+RECIPE_LATEST_VERSION_pn-texinfo = "4.13a"
+RECIPE_NO_UPDATE_REASON_pn-texinfo = "Checking script parse directory wrong"
RECIPE_LATEST_VERSION_pn-yaffs2-utils = "HEAD"
RECIPE_LATEST_VERSION_pn-blktrace = "a788dfde86dfaff8f1c277a233f92c1822e06b76"
RECIPE_LATEST_VERSION_pn-dtc = "37c0b6a0916c31a5eae0a9ddfcc5d0b8fb4569c6"
-RECIPE_LATEST_VERSION_pn-bind = "9.7.2"
-RECIPE_LATEST_VERSION_pn-man = "1.6"
-RECIPE_LATEST_VERSION_pn-mc = "4.7.5"
-
+RECIPE_LATEST_VERSION_pn-bind = "9.7.2-P3"
+RECIPE_NO_UPDATE_REASON_pn-bind = "Latest Stable version, newer versions are Alpha/Beta"
+RECIPE_LATEST_VERSION_pn-man = "1.6f"
+RECIPE_LATEST_VERSION_pn-mc = "4.7.5pre1"
+RECIPE_NO_UPDATE_REASON_pn-bind = "Latest Stable version, 4.7.5pre1 is Alpha/Beta"
+
+RECIPE_STATUS_pn-sgml-common = "green"
+RECIPE_DEPENDENCY_CHECK_pn-sgml-common = "not done"
+RECIPE_LATEST_VERSION_pn-sgml-common = "0.6.3"
+RECIPE_NO_OF_PATCHES_pn-sgml-common = "2"
+RECIPE_LATEST_RELEASE_DATE_pn-sgml-common = "2001/05/25"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-sgml-common = "unknown"
+RECIPE_COMMENTS_pn-sgml-common = ""
+RECIPE_LAST_UPDATE_pn-sgml-common = "Jan 28, 2011"
+RECIPE_MAINTAINER_pn-sgml-common = "Scott Garman <scott.a.garman@intel.com>"
+
+RECIPE_STATUS_pn-docbook-sgml-dtd = "green"
+RECIPE_DEPENDENCY_CHECK_pn-docbook-sgml-dtd = "not done"
+RECIPE_LATEST_VERSION_pn-docbook-sgml-dtd = "4.5"
+RECIPE_NO_OF_PATCHES_pn-docbook-sgml-dtd = "1"
+RECIPE_LATEST_RELEASE_DATE_pn-docbook-sgml-dtd = "2010/05/21"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-docbook-sgml-dtd = "unknown"
+RECIPE_COMMENTS_pn-docbook-sgml-dtd = ""
+RECIPE_LAST_UPDATE_pn-docbook-sgml-dtd = "Jan 28, 2011"
+RECIPE_MAINTAINER_pn-docbook-sgml-dtd = "Scott Garman <scott.a.garman@intel.com>"
+
+RECIPE_STATUS_pn-docbook-dsssl-stylesheet = "green"
+RECIPE_DEPENDENCY_CHECK_pn-docbook-dsssl-stylesheet = "not done"
+RECIPE_LATEST_VERSION_pn-docbook-dsssl-stylesheet = "1.79"
+RECIPE_NO_OF_PATCHES_pn-docbook-dsssl-stylesheet = "0"
+RECIPE_LATEST_RELEASE_DATE_pn-docbook-dsssl-stylesheet = "2008/08/12"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-docbook-dsssl-stylesheet = "unknown"
+RECIPE_COMMENTS_pn-docbook-dsssl-stylesheet = ""
+RECIPE_LAST_UPDATE_pn-docbook-dsssl-stylesheet = "Jan 26, 2011"
+RECIPE_MAINTAINER_pn-docbook-dsssl-stylesheet = "Scott Garman <scott.a.garman@intel.com>"
+
+RECIPE_STATUS_pn-sgmlspl = "green"
+RECIPE_DEPENDENCY_CHECK_pn-sgmlspl = "not done"
+RECIPE_LATEST_VERSION_pn-sgmlspl = "1.03ii"
+RECIPE_NO_OF_PATCHES_pn-sgmlspl = "1"
+RECIPE_LATEST_RELEASE_DATE_pn-sgmlspl = "1995/12/07"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-sgmlspl = "5 days"
+RECIPE_COMMENTS_pn-sgmlspl = ""
+RECIPE_LAST_UPDATE_pn-sgmlspl = "Jan 26, 2011"
+RECIPE_MAINTAINER_pn-sgmlspl = "Scott Garman <scott.a.garman@intel.com>"
+
+RECIPE_STATUS_pn-opensp = "green"
+RECIPE_DEPENDENCY_CHECK_pn-opensp = "not done"
+RECIPE_LATEST_VERSION_pn-opensp = ""
+RECIPE_NO_OF_PATCHES_pn-opensp = "4"
+RECIPE_LATEST_RELEASE_DATE_pn-opensp = "2002/11/24"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-opensp = "2 years"
+RECIPE_COMMENTS_pn-opensp = ""
+RECIPE_LAST_UPDATE_pn-opensp = "Jan 26, 2011"
+RECIPE_MAINTAINER_pn-opensp = "Scott Garman <scott.a.garman@intel.com>"
+
+RECIPE_STATUS_pn-openjade = "green"
+RECIPE_DEPENDENCY_CHECK_pn-openjade = "not done"
+RECIPE_LATEST_VERSION_pn-openjade = "1.3.2"
+RECIPE_NO_OF_PATCHES_pn-openjade = "3"
+RECIPE_LATEST_RELEASE_DATE_pn-openjade = "2002/12/01"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-openjade = "8 months"
+RECIPE_COMMENTS_pn-openjade = ""
+RECIPE_LAST_UPDATE_pn-openjade = "Jan 26, 2011"
+RECIPE_MAINTAINER_pn-openjade = "Scott Garman <scott.a.garman@intel.com>"
+
+RECIPE_STATUS_pn-docbook-utils = "green"
+RECIPE_DEPENDENCY_CHECK_pn-docbook-utils = "not done"
+RECIPE_LATEST_VERSION_pn-docbook-utils = "0.6.14"
+RECIPE_NO_OF_PATCHES_pn-docbook-utils = "0"
+RECIPE_LATEST_RELEASE_DATE_pn-docbook-utils = "2004/02/11"
+RECIPE_TIME_BETWEEN_LAST_TWO_RELEASES_pn-docbook-utils = "1 month"
+RECIPE_COMMENTS_pn-docbook-utils = ""
+RECIPE_LAST_UPDATE_pn-docbook-utils = "Jan 26, 2011"
+RECIPE_MAINTAINER_pn-docbook-utils = "Scott Garman <scott.a.garman@intel.com>"
diff --git a/meta/conf/distro/include/poky-default-revisions.inc b/meta/conf/distro/include/poky-default-revisions.inc
index 957f87371..a04fa9e04 100644
--- a/meta/conf/distro/include/poky-default-revisions.inc
+++ b/meta/conf/distro/include/poky-default-revisions.inc
@@ -7,7 +7,7 @@ SRCREV_pn-clutter ??= "e957e277b8a4893ce8c99e94402036d42a8b3748"
SRCREV_pn-clutter-0.6 ??= "62e852a51e29dd42c84d6b34fe23b80b2542be59"
SRCREV_pn-clutter-0.8 ??= "3ba37ff115ed3fbe6c94195775941091a3ac2b30"
SRCREV_pn-clutter-1.0 ??= "ce5025d0a2b701541ca9343686f9dac858905da4"
-SRCREV_pn-clutter-box2d ??= "2bcf5b836548dc4909e13b8ae7f60dc64c93d559"
+SRCREV_pn-clutter-box2d ??= "92b44f79a8667a31b46b861236392bdf32b7d6c2"
SRCREV_pn-clutter-gst-0.10 ??= "8a087fabc888a6a4a939760c392109dbb610adbf"
SRCREV_pn-clutter-gtk-0.10 ??= "b92329c4c1288019e2dea6567e2b5e98eb0a9992"
SRCREV_pn-clutter-imcontext ??= "2cb6f0ff153db639a489e58e36802e0e928b1968"
@@ -19,11 +19,13 @@ SRCREV_pn-clutter-gst-0.6 ??= "1c3dc539057dbcd6dd75f2cb5b4ba39b741892bd"
SRCREV_pn-clutter-gst-0.8 ??= "7a60a435fb0930d911e26158928ab53bda090f3e"
SRCREV_pn-clutter-gst-0.10 ??= "8a087fabc888a6a4a939760c392109dbb610adbf"
SRCREV_pn-clutter-gst-1.0 ??= "d48c6fc67b48304f90e51b520631c1ecc10410af"
+SRCREV_pn-clutter-gst-1.4 ??= "855826ce1111d9a2439b14b61abdbfae72c47132"
SRCREV_pn-clutter-helix ??= "b4514a7bae2a059f4e63de64245238a246ed10bd"
SRCREV_pn-clutter-gtk-0.6 ??= "2ba362a1a223c2b28541030a80aa11191615340a"
SRCREV_pn-clutter-gtk-0.8 ??= "7d3c3230376e731c06c21afa9d8c1d44dbea27cd"
SRCREV_pn-clutter-gtk-0.10 ??= "b92329c4c1288019e2dea6567e2b5e98eb0a9992"
SRCREV_pn-clutter-gtk-1.0 ??= "e8d828ba1d87937baa571e68fdff22f3e2d79ca8"
+SRCREV_pn-clutter-gtk-1.4 ??= "1d19fc17674175f4338c8e2526e911157801e754"
SRCREV_pn-clutter-mozembed ??= "738d017beb5579b2ff6e4d992d4889b61c974751"
SRCREV_pn-connman ??= "36e877dece72577a3ae6197eafd505d0e6e0c1d2"
SRCREV_pn-connman-gnome ??= "b589f4f89bff20d54682cc6b49efa86feac8adb4"
@@ -57,12 +59,12 @@ SRCREV_pn-gypsy ??= "147"
SRCREV_pn-inputproto ??= "7203036522ba9d4b224d282d6afc2d0b947711ee"
SRCREV_pn-inputproto-native ??= "7203036522ba9d4b224d282d6afc2d0b947711ee"
SRCREV_pn-inputproto-nativesdk ??= "7203036522ba9d4b224d282d6afc2d0b947711ee"
-SRCREV_pn-kern-tools-native ??= "c85dcdd2dc50d71476a11c2960bf14c2b144b3c7"
+SRCREV_pn-kern-tools-native ??= "4f13a46499261ea181fdc13db5459067df08aca7"
SRCREV_pn-libdrm ??= "3f3c5be6f908272199ccf53f108b1124bfe0a00e"
-SRCREV_pn-libfakekey ??= "2031"
+SRCREV_pn-libfakekey ??= "e8c2e412ea4a417afc1f30e32cb7bdc508b1dccc"
SRCREV_pn-libgdbus ??= "aeab6e3c0185b271ca343b439470491b99cc587f"
SRCREV_pn-libgsmd ??= "5394"
-SRCREV_pn-libmatchbox ??= "1531"
+SRCREV_pn-libmatchbox ??= "c81f8f444b83b187727f046432b186d67a42c732"
SRCREV_pn-libowl ??= "408"
SRCREV_pn-libowl-av ??= "416"
SRCREV_pn-libx11 ??= "d23aad31338e7d869d878d5aa1b6b91d20287005"
@@ -76,64 +78,66 @@ SRCREV_pn-libxcb-nativesdk ??= "625ed596cae6dd8175aeb6cb6f26784928042f22"
SRCREV_pn-libxext ??= "d1f3bc77a48c8e42771579e3fdf3370b35d3209d"
SRCREV_pn-libxext-nativesdk ??= "d1f3bc77a48c8e42771579e3fdf3370b35d3209d"
SRCREV_pn-libxi ??= "d0326fe8cdbb08d4f52d79fd3fd4e1b2a0951d5e"
-SRCREV_pn-libzypp = "4494797d5b0369365b1af63921de45b197ead64f"
-SRCREV_pn-linux-firmware ??= "85212bf6501da865e570f6b2f6fbd6f212850609"
+SRCREV_pn-libzypp = "15b6c52260bbc52b3d8e585e271b67e10cc7c433"
+SRCREV_pn-linux-firmware ??= "40c0f950be7040614dc45df54e25e54d00e3b73b"
SRCREV_pn-linux-openmoko ??= "5ccaca2adb1c37b5955a4733f68ae08a755e3d78"
SRCREV_pn-linux-omap ??= "58cf2f1425abfd3a449f9fe985e48be2d2555022"
SRCREV_pn-linux-omap-zoomsync ??= "015cbaf1035cd9a61d33a27de2a22902555db3c5"
SRCREV_pn-linux-omap2 ??= "d3b3ae0fe6c71641da19c8de466ec366d39847e3"
SRCREV_pn-linux-omap3 ??= "de1121fdb899f762b9e717f44eaf3fae7c00cd3e"
SRCREV_pn-linux-omap3-pm ??= "totallybroken"
-SRCREV_machine_pn-linux-yocto-stable_qemuarm ?= "4f4177b4bea5b8858acc1eeb788d80b7af0df962"
-SRCREV_machine_pn-linux-yocto-stable_qemumips ?= "81f3cd467b9d51fa1dfa2d5939337cc756ae8061"
-SRCREV_machine_pn-linux-yocto-stable_qemuppc ?= "9ac0daee43dd19d8bea828cf79450c9748ae0daa"
-SRCREV_machine_pn-linux-yocto-stable_qemux86 ?= "0431115c9d720fee5bb105f6a7411efb4f851d26"
-SRCREV_machine_pn-linux-yocto-stable_qemux86-64 ?= "0431115c9d720fee5bb105f6a7411efb4f851d26"
-SRCREV_machine_pn-linux-yocto-stable_emenlow ?= "aae69fdf104b0a9d7b3710f808aac6ab303490f7"
-SRCREV_machine_pn-linux-yocto-stable_atom-pc ?= "0431115c9d720fee5bb105f6a7411efb4f851d26"
-SRCREV_machine_pn-linux-yocto-stable_routerstationpro ?= "2ec2edaf256dd8500ee3d4763fee6ca3ecd6da4b"
-SRCREV_machine_pn-linux-yocto-stable_mpc8315e-rdb ?= "986e6eb66c26007cee7916d5d12f4756e6b5436f"
-SRCREV_machine_pn-linux-yocto-stable_beagleboard ?= "0431115c9d720fee5bb105f6a7411efb4f851d26"
-SRCREV_meta_pn-linux-yocto-stable ?= "50ccd2b3213b6a1bacb3f898c035119802dac420"
+SRCREV_machine_pn-linux-yocto-stable_qemuarm ?= "a2fb081b44d6368eff8d28e2fdb991c61b1f428e"
+SRCREV_machine_pn-linux-yocto-stable_qemumips ?= "c32d40f960e3c89d07f079bec4c96dcbfc749f0b"
+SRCREV_machine_pn-linux-yocto-stable_qemuppc ?= "96d6bc31d3caaf62a966255479cc5cee0e76b1e9"
+SRCREV_machine_pn-linux-yocto-stable_qemux86 ?= "72ca49ab08b8eb475cec82a10049503602325791"
+SRCREV_machine_pn-linux-yocto-stable_qemux86-64 ?= "72ca49ab08b8eb475cec82a10049503602325791"
+SRCREV_machine_pn-linux-yocto-stable_atom-pc ?= "72ca49ab08b8eb475cec82a10049503602325791"
+SRCREV_machine_pn-linux-yocto-stable_routerstationpro ?= "49745cd45c92a89e70c6e2334caa80818c134562"
+SRCREV_machine_pn-linux-yocto-stable_mpc8315e-rdb ?= "a1c0ed6bf4060c10874b2a8547d81b3169dcf16a"
+SRCREV_machine_pn-linux-yocto-stable_beagleboard ?= "ef7f944e773950d4016b7643f9ecf052bbe250cd"
+SRCREV_machine_pn-linux-yocto-stable ?= "72ca49ab08b8eb475cec82a10049503602325791"
+SRCREV_meta_pn-linux-yocto-stable ?= "e1f85a470934a0cf6abde5d95533e74501822c6b"
# development SRCREVs
-SRCREV_machine_pn-linux-yocto_qemuarm = "87e00a2d47ba80b4ad1f9170cb3f6cf81f21d739"
-SRCREV_machine_pn-linux-yocto_qemumips = "7231e473dd981a28e3cea9f677ed60583e731550"
-SRCREV_machine_pn-linux-yocto_qemuppc = "e2b529d7d74a9b21e1d1715f0c4062a4fd92a3ed"
-SRCREV_machine_pn-linux-yocto_qemux86 = "87aacc373557f8849dde8618fbe1f7f8f2af6038"
-SRCREV_machine_pn-linux-yocto_qemux86-64 = "87aacc373557f8849dde8618fbe1f7f8f2af6038"
-SRCREV_machine_pn-linux-yocto_emenlow = "87aacc373557f8849dde8618fbe1f7f8f2af6038"
-SRCREV_machine_pn-linux-yocto_atom-pc = "87aacc373557f8849dde8618fbe1f7f8f2af6038"
-SRCREV_machine_pn-linux-yocto_routerstationpro = "773d3a1c8eba563ffcdbf61057ef6e39cee0c88b"
-SRCREV_machine_pn-linux-yocto_mpc8315e-rdb = "5ff609967ffe87c49d534d7861a7e0b150517726"
-SRCREV_machine_pn-linux-yocto_beagleboard = "87aacc373557f8849dde8618fbe1f7f8f2af6038"
-SRCREV_meta_pn-linux-yocto ?= "ee0a10ab687b29c4d22d47e5b28bc8b3ebb7a8d9"
-SRCREV_pn-linux-libc-headers-yocto ??= "09a39c638dd65dc27c549c119abe1af2631b2ae0"
-SRCREV_pn-matchbox-config-gtk ??= "2081"
+SRCREV_machine_pn-linux-yocto_qemuarm ?= "c6d1949b479118d027a6c0f0841247cc0ea697b2"
+SRCREV_machine_pn-linux-yocto_qemumips ?= "cab9f6666b9913136549cee2f5db07134f4d9780"
+SRCREV_machine_pn-linux-yocto_qemuppc ?= "4ab4b22d4768f65cfadccae6d749e4f3769b0afa"
+SRCREV_machine_pn-linux-yocto_qemux86 ?= "cb4faf3af527e25feee584f39c3956ca0c9448c8"
+SRCREV_machine_pn-linux-yocto_qemux86-64 ?= "343c06b25b221aa7f7019aee83b2d976041fddce"
+SRCREV_machine_pn-linux-yocto_emenlow ?= "30a8b903be9cb18ba1fc11242159fa5d7bfdb1cc"
+SRCREV_machine_pn-linux-yocto_atom-pc ?= "343c06b25b221aa7f7019aee83b2d976041fddce"
+SRCREV_machine_pn-linux-yocto_routerstationpro ?= "4f1adb92fd08001ec76185c7febea7504c84f082"
+SRCREV_machine_pn-linux-yocto_mpc8315e-rdb ?= "68fb0b8d73bbb336ffa4a47bc70ec1eab021b7f6"
+SRCREV_machine_pn-linux-yocto_beagleboard ?= "343c06b25b221aa7f7019aee83b2d976041fddce"
+SRCREV_machine_pn-linux-yocto ?= "cb4faf3af527e25feee584f39c3956ca0c9448c8"
+SRCREV_meta_pn-linux-yocto ?= "5a32d7fe3b817868ebb697d2d883d743903685ae"
+SRCREV_machine_pn-linux-yocto ?= "cb4faf3af527e25feee584f39c3956ca0c9448c8"
+SRCREV_pn-linux-libc-headers-yocto ??= "343c06b25b221aa7f7019aee83b2d976041fddce"
+SRCREV_pn-matchbox-config-gtk ??= "3ed74dfb7c57be088a5ab36e446c0ccde9fa1028"
SRCREV_pn-matchbox-desktop-sato ??= "76"
-SRCREV_pn-matchbox-desktop ??= "2096"
-SRCREV_pn-matchbox-keyboard ??= "2075"
-SRCREV_pn-matchbox-panel-2 ??= "2111"
+SRCREV_pn-matchbox-desktop ??= "af7ed6775487380be73160aa0298bf6019765fad"
+SRCREV_pn-matchbox-keyboard ??= "b38f24036cff3be6c2fbcf9ca9881803e69003ac"
+SRCREV_pn-matchbox-panel-2 ??= "982d9ea173dc87a84db2303d1a6a12607fc4d539"
SRCREV_pn-matchbox-panel ??= "1364"
-SRCREV_pn-matchbox-stroke ??= "1820"
-SRCREV_pn-matchbox-terminal ??= "1816"
-SRCREV_pn-matchbox-theme-sato-2 ??= "94"
+SRCREV_pn-matchbox-stroke ??= "8edfd9a2bf1f0d6b28d4afee4bda9d3635f26a0b"
+SRCREV_pn-matchbox-terminal ??= "3fc25cb811a8ed306de897edf9b930f4402f3852"
+SRCREV_pn-matchbox-theme-sato-2 ??= "164"
SRCREV_pn-matchbox-theme-sato ??= "90"
-SRCREV_pn-matchbox-themes-extra ??= "1524"
-SRCREV_pn-matchbox-wm-2 ??= "2083"
-SRCREV_pn-matchbox-wm ??= "1819"
+SRCREV_pn-matchbox-themes-extra ??= "f848f9e4e577d5b9719f05b5152df1ce59399f5c"
+SRCREV_pn-matchbox-wm-2 ??= "2106"
+SRCREV_pn-matchbox-wm ??= "e8236c9ab44a8af8137cac2a35fb87f9146a9656"
SRCREV_pn-mesa-dri ??= "1bf94d419805538ac23a4d0b04d31ac5e4487aca"
SRCREV_pn-mesa-xlib ??= "1bf94d419805538ac23a4d0b04d31ac5e4487aca"
SRCDATE_minimo ??= "20070510"
SRCREV_pn-moblin-proto ??= "8f2cb524fe06555182c25b4ba3202d7b368ac0ce"
SRCREV_pn-mozilla-headless ??= "177d8b8bda61"
SRCREV_pn-mozilla-headless-services ??= "c679b95dd8c2807b70186d233b3833861a499315"
-SRCREV_pn-mutter ??= "c96345dd81176f171c2d15dd9d5c5b20f334f842"
+SRCREV_pn-mutter ??= "01d3bebe24d2a56bdf2d82c4a71923e1573f7b7c"
SRCREV_pn-networkmanager-applet ??= "263"
SRCREV_pn-networkmanager ??= "2984"
SRCREV_pn-ofono ??= "14544d5996836f628613c2ce544380ee6fc8f514"
SRCREV_pn-oh-puzzles ??= "23"
SRCREV_pn-ohm ??= "edfe25d49d67884bf004de7ae0724c162bb5e65e"
-OPKGSRCREV = "524"
+OPKGSRCREV = "596"
SRCREV_pn-opkg ??= "${OPKGSRCREV}"
SRCREV_pn-opkg-native ??= "${OPKGSRCREV}"
SRCREV_pn-opkg-nativesdk ??= "${OPKGSRCREV}"
@@ -151,7 +155,7 @@ PRELINKSRCREV ??= "909470ee441237563d6236c505cb2d02ddc48704"
SRCREV_pn-prelink ??= "${PRELINKSRCREV}"
SRCREV_pn-prelink-native ??= "${PRELINKSRCREV}"
SRCREV_pn-psplash ??= "424"
-PSEUDOSRCREV ??= "c9792c7acdb1cac90549ff08db12a8bf0c53cdcf"
+PSEUDOSRCREV ??= "5434325fc887817ebb2bad36313d8277992cef1d"
SRCREV_pn-pseudo ??= "${PSEUDOSRCREV}"
SRCREV_pn-pseudo-native ??= "${PSEUDOSRCREV}"
SRCREV_pn-pseudo-nativesdk ??= "${PSEUDOSRCREV}"
@@ -161,25 +165,29 @@ SRCREV_pn-qemu-nativesdk ??= "${QEMUSRCREV}"
SRCREV_pn-qemu ??= "${QEMUSRCREV}"
SRCREV_pn-qemugl ??= "d888bbc723c00d197d34a39b5b7448660ec1b1c0"
SRCREV_pn-qemugl-nativesdk ??= "d888bbc723c00d197d34a39b5b7448660ec1b1c0"
-SRCREV_pn-sat-solver = "aa799f7bae0ec055e0e527203635001bb7346dbc"
+SRCREV_pn-sat-solver = "9e1f2a097965debebc69cebf8ed73c6ff31a5220"
SRCREV_pn-screenshot ??= "292"
-SRCREV_pn-settings-daemon ??= "2059"
+SRCREV_pn-settings-daemon ??= "0f174f463dfed500b65533e249cd22942e439c77"
SRCREV_pn-swabber-native ??= "a0792390c5d6d5a5bade7ab155c80eef3f30fa52"
SRCREV_pn-sysprof ??= "38a6af1f0a45e528fd2842983da71e0f23c70d6a"
+SRCREV_pn-systemtap ??= "4ab3a1863bf4f472acae7a809bf2b38d91658aa8"
SRCREV_pn-table ??= "4b267533ce16656cba4104fc39dc12709c1bdddf"
SRCREV_pn-tasks ??= "ea52d46d691c5fce4473ea4e24a35411381f3a65"
-SRCREV_pn-trace-cmd ??= "0d252224626bd6926324f023a65f20c165232891"
+TRACECMDREV ?= "6c696cec3f264a9399241b6e648f58bc97117d49"
+SRCREV_pn-trace-cmd ??= ${TRACECMDREV}
+SRCREV_pn-kernelshark ??= ${TRACECMDREV}
SRCREV_pn-tidy ??= "e25416e1293e1074bfa6727c80527dcff5b1f3cb"
SRCREV_pn-u-boot-omap3 ??= "f40f6db278f602b55820693634a7256b0b4e4b80"
+SRCREV_pn-u-boot ??= "v2010.12"
SRCREV_pn-ubootchart ??= "10"
-SRCREV_pn-webkit-gtk ??= "62027"
-SRCREV_pn-web-webkit ??= "110"
+SRCREV_pn-webkit-gtk ??= "72836"
+SRCREV_pn-web-webkit ??= "130"
SRCREV_pn-web ??= "129"
SRCREV_pn-xcb-proto ??= "d81ca233e98be8fa59e8c90d262c0516944c5a66"
SRCREV_pn-xcb-proto-native ??= "d81ca233e98be8fa59e8c90d262c0516944c5a66"
SRCREV_pn-xf86-video-intel ??= "87ea531c5dc5b39809395b277c330854aaaaf019"
SRCREV_pn-xf86-video-intel-dri2 ??= "3dd7f0f9423bb891bc99cd3b77dc3d57e057a7ef"
-SRCREV_pn-xf86-video-omapfb ??= "6cff996abcb305460e9fa2c75569b776f099c9d5"
+SRCREV_pn-xf86-video-omapfb ??= "044617665d6737f4909aab96f91b06261dff05d2"
SRCREV_pn-xf86-input-keyboard ??= "3e28d68b50d291938734e9684b8296ca864f3892"
SRCREV_pn-xf86-input-mouse ??= "ea5cfe804e112f320f14ad896c7802d53551d3e6"
SRCREV_pn-xf86-input-synaptics ??= "934bc0012f948c52aadc8eda912f7728fb7394a2"
@@ -187,9 +195,9 @@ SRCREV_pn-xserver-kdrive-glamo ??= "a51364e2f23d4b6331c5ed613ce3f7e15f8e540f"
SRCREV_pn-xserver-xf86-dri-lite ??= "251d0d8090322b2c9dc0c8b7bef001f338d19433"
SRCREV_pn-xserver-xf86-dri2-lite ??= "251d0d8090322b2c9dc0c8b7bef001f338d19433"
SRCREV_pn-xvideo-tests ??= "270"
-SRCREV_pn-x-load ??= "65ed00323f3807197a83abc75d62ed2a8d3f60de"
+SRCREV_pn-x-load ??= "6f3a26101303051e0f91b6213735b68ce804e94e"
SRCDATE_yaffs2-utils-native ??= "20071107"
SRCDATE_yaffs2-utils ??= "20071107"
-SRCREV_pn-zaurusd ??= "358"
-SRCREV_pn-zypper ??= "9eb0e248e06c8d20ad054be2439149d9ede37531"
+SRCREV_pn-zaurusd ??= "426"
+SRCREV_pn-zypper ??= "2c5bb6ceb99ecd950ef993e43d77bf0569ea0582"
diff --git a/meta/conf/distro/include/poky-default.inc b/meta/conf/distro/include/poky-default.inc
index e5dd647ed..ef9f5cffa 100644
--- a/meta/conf/distro/include/poky-default.inc
+++ b/meta/conf/distro/include/poky-default.inc
@@ -17,7 +17,7 @@ PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-for-gcc-nativesdk ?= "${POKYLIBC}-n
GCCVERSION ?= "4.5.1"
SDKGCCVERSION ?= "4.5.1"
-BINUVERSION ?= "2.20.1"
+BINUVERSION ?= "2.21"
GLIBCVERSION ?= "2.10.1"
LINUXLIBCVERSION ?= "2.6.36"
diff --git a/meta/conf/distro/include/poky-fixed-revisions.inc b/meta/conf/distro/include/poky-fixed-revisions.inc
index cc47610a3..b7bd6f9fb 100644
--- a/meta/conf/distro/include/poky-fixed-revisions.inc
+++ b/meta/conf/distro/include/poky-fixed-revisions.inc
@@ -8,7 +8,7 @@ PREFERRED_VERSION_hal-info ?= "20091130"
PREFERRED_VERSION_udev ?= "164"
PREFERRED_VERSION_wpa-supplicant ?= "0.7.3"
-PULSEAUDIOVERSION ?= "0.9.21"
+PULSEAUDIOVERSION ?= "0.9.22"
PULSEAUDIOVERSION_arm ?= "0.9.15"
PREFERRED_VERSION_pulseaudio ?= "${PULSEAUDIOVERSION}"
diff --git a/meta/conf/distro/include/poky-glibc.inc b/meta/conf/distro/include/poky-glibc.inc
index 35c6fc162..4be712271 100644
--- a/meta/conf/distro/include/poky-glibc.inc
+++ b/meta/conf/distro/include/poky-glibc.inc
@@ -2,6 +2,9 @@
# glibc specific configuration
#
+# Add glibc to the overrides.
+OVERRIDES =. "libc-glibc:"
+
#glibc
PREFERRED_PROVIDER_virtual/libiconv ?= "glibc"
PREFERRED_PROVIDER_virtual/libintl ?= "glibc"
diff --git a/meta/conf/distro/include/poky-uclibc.inc b/meta/conf/distro/include/poky-uclibc.inc
index edbcc4aa6..def9dfe44 100644
--- a/meta/conf/distro/include/poky-uclibc.inc
+++ b/meta/conf/distro/include/poky-uclibc.inc
@@ -2,6 +2,9 @@
# uclibc specific configuration
#
+# Add uclibc overrides to the overrides.
+OVERRIDES =. "libc-uclibc:"
+
PREFERRED_PROVIDER_virtual/libc = "uclibc"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "uclibc"
PREFERRED_PROVIDER_virtual/libiconv ?= "libiconv"
diff --git a/meta/conf/distro/include/preferred-xorg-versions.inc b/meta/conf/distro/include/preferred-xorg-versions.inc
index a47b08fc0..3a4bd335f 100644
--- a/meta/conf/distro/include/preferred-xorg-versions.inc
+++ b/meta/conf/distro/include/preferred-xorg-versions.inc
@@ -3,12 +3,12 @@
#
PREFERRED_VERSION_applewmproto ?= "1.4.1"
-PREFERRED_VERSION_bigreqsproto ?= "1.1.0"
-PREFERRED_VERSION_bigreqsproto-native ?= "1.1.0"
-PREFERRED_VERSION_bigreqsproto-nativesdk ?= "1.1.0"
-PREFERRED_VERSION_compositeproto ?= "0.4"
+PREFERRED_VERSION_bigreqsproto ?= "1.1.1"
+PREFERRED_VERSION_bigreqsproto-native ?= "1.1.1"
+PREFERRED_VERSION_bigreqsproto-nativesdk ?= "1.1.1"
+PREFERRED_VERSION_compositeproto ?= "0.4.2"
PREFERRED_VERSION_damageproto ?= "1.2.1"
-PREFERRED_VERSION_dmxproto ?= "2.3"
+PREFERRED_VERSION_dmxproto ?= "2.3.1"
PREFERRED_VERSION_evieext ?= "1.1.0"
PREFERRED_VERSION_fixesproto ?= "4.1.2"
PREFERRED_VERSION_fontcacheproto ?= "0.1.3"
@@ -18,17 +18,16 @@ PREFERRED_VERSION_fontsproto-native ?= "2.1.1"
PREFERRED_VERSION_gccmakedep ?= "1.0.2"
PREFERRED_VERSION_glproto ?= "1.4.12"
PREFERRED_VERSION_imake ?= "1.0.4"
-#PREFERRED_VERSION_inputproto ?= "2.0"
-#PREFERRED_VERSION_inputproto-native ?= "2.0"
-#PREFERRED_VERSION_inputproto-nativesdk ?= "2.0"
+PREFERRED_VERSION_inputproto ?= "2.0.1"
+PREFERRED_VERSION_inputproto-native ?= "2.0.1"
+PREFERRED_VERSION_inputproto-nativesdk ?= "2.0.1"
PREFERRED_VERSION_kbproto ?= "1.0.5"
PREFERRED_VERSION_kbproto-native ?= "1.0.5"
PREFERRED_VERSION_kbproto-nativesdk ?= "1.0.5"
PREFERRED_VERSION_libapplewm ?= "1.0.0"
-PREFERRED_VERSION_libdmx ?= "1.1.0"
+PREFERRED_VERSION_libdmx ?= "1.1.1"
PREFERRED_VERSION_libfontenc ?= "1.1.0"
PREFERRED_VERSION_libfontenc-native ?= "1.1.0"
-PREFERRED_VERSION_libfs ?= "1.0.1"
PREFERRED_VERSION_libice ?= "1.0.7"
PREFERRED_VERSION_liblbxutil ?= "1.1.0"
PREFERRED_VERSION_liboldx ?= "1.0.1"
@@ -62,7 +61,7 @@ PREFERRED_VERSION_libxinerama ?= "1.1.1"
PREFERRED_VERSION_libxkbfile ?= "1.0.7"
PREFERRED_VERSION_libxkbui ?= "1.0.2"
PREFERRED_VERSION_libxmu ?= "1.1.0"
-PREFERRED_VERSION_libxp ?= "1.0.0"
+PREFERRED_VERSION_libxp ?= "1.0.1"
PREFERRED_VERSION_libxpm ?= "3.5.9"
PREFERRED_VERSION_libxprintapputil ?= "1.0.1"
PREFERRED_VERSION_libxprintutil ?= "1.0.1"
@@ -78,20 +77,20 @@ PREFERRED_VERSION_libxtst ?= "1.2.0"
PREFERRED_VERSION_libxv ?= "1.0.6"
PREFERRED_VERSION_libxvmc ?= "1.0.6"
PREFERRED_VERSION_libxxf86dga ?= "1.1.2"
-PREFERRED_VERSION_libxxf86misc ?= "1.0.2"
+PREFERRED_VERSION_libxxf86misc ?= "1.0.3"
PREFERRED_VERSION_libxxf86vm ?= "1.1.1"
PREFERRED_VERSION_lndir ?= "1.0.1"
PREFERRED_VERSION_makedepend ?= "1.0.3"
PREFERRED_VERSION_makedepend-native ?= "1.0.3"
-PREFERRED_VERSION_pixman ?= "0.20.0"
-PREFERRED_VERSION_printproto ?= "1.0.4"
+PREFERRED_VERSION_pixman ?= "0.20.2"
+PREFERRED_VERSION_printproto ?= "1.0.5"
PREFERRED_VERSION_randrproto ?= "1.3.2"
PREFERRED_VERSION_randrproto-nativesdk ?= "1.3.2"
PREFERRED_VERSION_recordproto ?= "1.14.1"
-PREFERRED_VERSION_renderproto ?= "0.11"
-PREFERRED_VERSION_renderproto-nativesdk ?= "0.11"
-PREFERRED_VERSION_resourceproto ?= "1.1.0"
-PREFERRED_VERSION_scrnsaverproto ?= "1.2.0"
+PREFERRED_VERSION_renderproto ?= "0.11.1"
+PREFERRED_VERSION_renderproto-nativesdk ?= "0.11.1"
+PREFERRED_VERSION_resourceproto ?= "1.1.1"
+PREFERRED_VERSION_scrnsaverproto ?= "1.2.1"
PREFERRED_VERSION_trapproto ?= "3.4.3"
PREFERRED_VERSION_util-macros ?= "1.11.0"
PREFERRED_VERSION_util-macros-native ?= "1.11.0"
@@ -102,7 +101,7 @@ PREFERRED_VERSION_xauth ?= "1.0.5"
PREFERRED_VERSION_xcmiscproto ?= "1.2.1"
PREFERRED_VERSION_xcmiscproto-native ?= "1.2.1"
PREFERRED_VERSION_xcmiscproto-nativesdk ?= "1.2.1"
-PREFERRED_VERSION_xdpyinfo ?= "1.1.0"
+PREFERRED_VERSION_xdpyinfo ?= "1.2.0"
PREFERRED_VERSION_xev ?= "1.0.3"
PREFERRED_VERSION_xextproto ?= "7.1.2"
PREFERRED_VERSION_xextproto-native ?= "7.1.2"
@@ -111,41 +110,41 @@ PREFERRED_VERSION_xf86bigfontproto ?= "1.2.0"
PREFERRED_VERSION_xf86bigfontproto-native ?= "1.2.0"
PREFERRED_VERSION_xf86bigfontproto-nativesdk ?= "1.2.0"
PREFERRED_VERSION_xf86dgaproto ?= "2.1"
-PREFERRED_VERSION_xf86driproto ?= "2.1.0"
+PREFERRED_VERSION_xf86driproto ?= "2.1.1"
PREFERRED_VERSION_dri2proto ?= "2.3"
PREFERRED_VERSION_xf86miscproto ?= "0.9.3"
PREFERRED_VERSION_xf86rushproto ?= "1.1.2"
-PREFERRED_VERSION_xf86vidmodeproto ?= "2.3"
-PREFERRED_VERSION_xhost ?= "1.0.3"
-PREFERRED_VERSION_xinit ?= "1.2.1"
-PREFERRED_VERSION_xineramaproto ?= "1.2"
+PREFERRED_VERSION_xf86vidmodeproto ?= "2.3.1"
+PREFERRED_VERSION_xhost ?= "1.0.4"
+PREFERRED_VERSION_xinit ?= "1.3.0"
+PREFERRED_VERSION_xineramaproto ?= "1.2.1"
PREFERRED_VERSION_xmodmap ?= "1.0.5"
PREFERRED_VERSION_xorg-cf-files ?= "1.0.3"
-PREFERRED_VERSION_xprop ?= "1.1.0"
-PREFERRED_VERSION_xproto ?= "7.0.19"
-PREFERRED_VERSION_xproto-native ?= "7.0.19"
-PREFERRED_VERSION_xproto-nativesdk ?= "7.0.19"
+PREFERRED_VERSION_xprop ?= "1.2.0"
+PREFERRED_VERSION_xproto ?= "7.0.20"
+PREFERRED_VERSION_xproto-native ?= "7.0.20"
+PREFERRED_VERSION_xproto-nativesdk ?= "7.0.20"
PREFERRED_VERSION_xproxymanagementprotocol ?= "1.0.3"
PREFERRED_VERSION_xrandr ?= "1.3.4"
PREFERRED_VERSION_xrdb ?= "1.0.5"
PREFERRED_VERSION_xserver-kdrive ?= "1.7.99.2"
-PREFERRED_VERSION_xserver-xf86-dri-lite ?= "1.9.2"
+PREFERRED_VERSION_xserver-xf86-dri-lite ?= "1.9.3"
PREFERRED_VERSION_xset ?= "1.2.1"
PREFERRED_VERSION_xtrans ?= "1.2.6"
PREFERRED_VERSION_xtrans-native ?= "1.2.6"
PREFERRED_VERSION_xtrans-nativesdk ?= "1.2.6"
-PREFERRED_VERSION_xvinfo ?= "1.0.2"
-PREFERRED_VERSION_xwininfo ?= "1.1.0"
-PREFERRED_VERSION_mesa-dri ?= "7.9"
-PREFERRED_VERSION_libdrm ?= "2.4.22"
+PREFERRED_VERSION_xvinfo ?= "1.1.1"
+PREFERRED_VERSION_xwininfo ?= "1.1.1"
+PREFERRED_VERSION_mesa-dri ?= "7.8.2"
+PREFERRED_VERSION_libdrm ?= "2.4.23"
PREFERRED_VERSION_xcb-proto ?= "1.6"
PREFERRED_VERSION_libxcb ?= "1.7"
PREFERRED_VERSION_libxcb-nativesdk ?= "1.7"
PREFERRED_VERSION_libpciaccess ?= "0.12.0"
-PREFERRED_VERSION_xf86-input-evdev ?= "2.5.0"
+PREFERRED_VERSION_xf86-input-evdev ?= "2.6.0"
PREFERRED_VERSION_xf86-input-mouse ?= "1.6.0"
-PREFERRED_VERSION_xf86-input-keyboard ?= "1.4.0"
-PREFERRED_VERSION_xf86-input-synaptics ?= "1.2.1"
-PREFERRED_VERSION_xf86-video-intel ?= "2.13.0"
+PREFERRED_VERSION_xf86-input-keyboard ?= "1.5.0"
+PREFERRED_VERSION_xf86-input-synaptics ?= "1.3.0"
+PREFERRED_VERSION_xf86-video-intel ?= "2.14.0"
diff --git a/meta/conf/distro/poky-lsb.conf b/meta/conf/distro/poky-lsb.conf
new file mode 100644
index 000000000..86514d3ae
--- /dev/null
+++ b/meta/conf/distro/poky-lsb.conf
@@ -0,0 +1,6 @@
+require conf/distro/poky.conf
+
+DISTRO = "poky-lsb"
+
+DISTRO_FEATURES += "pam"
+PREFERRED_PROVIDER_virtual/libx11 = "libx11"
diff --git a/meta/conf/distro/poky.conf b/meta/conf/distro/poky.conf
index ee390dca8..5e560fa5e 100644
--- a/meta/conf/distro/poky.conf
+++ b/meta/conf/distro/poky.conf
@@ -12,7 +12,7 @@ USER_CLASSES ?= ""
PACKAGE_CLASSES ?= "package_ipk"
INHERIT_INSANE ?= "insane"
-INHERIT += "${PACKAGE_CLASSES} ${USER_CLASSES} debian poky devshell ${INHERIT_INSANE} sstate"
+INHERIT += "${PACKAGE_CLASSES} ${USER_CLASSES} debian devshell ${INHERIT_INSANE} sstate license"
# For some reason, this doesn't work
# TARGET_OS ?= "linux"
# TARGET_VENDOR ?= "-poky"
@@ -22,6 +22,8 @@ TARGET_FPU_arm ?= "soft"
TARGET_FPU_armeb ?= "soft"
TARGET_FPU_nokia800 = "hard"
+TARGET_LINK_HASH_STYLE ?= "${@['-Wl,--hash-style=gnu',''][bb.data.getVar('TARGET_ARCH', d, True) in ['mips', 'mipsel', 'mips64', 'mips64el']]}"
+
QA_LOGFILE = "${TMPDIR}/qa.log"
IMAGE_ROOTFS_SIZE_ext2 ?= "131072"
@@ -85,6 +87,8 @@ VIRTUAL-RUNTIME_update-alternatives ?= "update-alternatives-cworth"
# Others:
PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers"
PREFERRED_PROVIDER_linux-libc-headers-nativesdk ?= "linux-libc-headers-nativesdk"
+PREFERRED_PROVIDER_libgcc ?= "libgcc"
+PREFERRED_PROVIDER_libgcc-nativesdk ?= "libgcc-nativesdk"
PREFERRED_PROVIDER_dbus-glib ?= "dbus-glib"
PREFERRED_PROVIDER_dbus-glib-native ?= "dbus-glib-native"
PREFERRED_PROVIDER_gconf ?= "gconf-dbus"
@@ -93,6 +97,8 @@ PREFERRED_PROVIDER_opkg ?= "opkg"
PREFERRED_PROVIDER_opkg-native ?= "opkg-native"
PREFERRED_PROVIDER_opkg-nativesdk ?= "opkg-nativesdk"
+PREFERRED_PROVIDER_gdk-pixbuf ?= "gdk-pixbuf"
+
require conf/distro/include/poky-fixed-revisions.inc
require conf/distro/include/preferred-xorg-versions.inc
@@ -137,12 +143,36 @@ COMMERCIAL_VIDEO_PLUGINS ?= ""
# COMMERCIAL_VIDEO_PLUGINS ?= "gst-plugins-ugly-mpeg2dec gst-plugins-ugly-mpegstream gst-plugins-bad-mpegvideoparse"
COMMERCIAL_QT ?= ""
# COMMERCIAL_QT ?= "qmmp"
+# Set of common licenses used for license.bbclass
+COMMON_LICENSE_DIR ??= "${POKYBASE}/meta/files/common-licenses"
+BB_GENERATE_MIRROR_TARBALLS ??= "0"
require conf/distro/include/world-broken.inc
-# Setup our hash policy
-BB_SIGNATURE_HANDLER = "basic"
-BB_HASHTASK_WHITELIST = "(.*-cross$|.*-native$|.*-cross-initial$|.*-cross-intermediate$|^virtual:native:.*|^virtual:nativesdk:.*)"
-BB_HASHBASE_WHITELIST = "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM USER"
-patch_do_patch[vardepsexclude] = "DATE SRCDATE"
+PREMIRRORS_append = "\
+bzr://.*/.* http://pokylinux.org/sources/ \n \
+cvs://.*/.* http://pokylinux.org/sources/ \n \
+git://.*/.* http://pokylinux.org/sources/ \n \
+hg://.*/.* http://pokylinux.org/sources/ \n \
+osc://.*/.* http://pokylinux.org/sources/ \n \
+p4://.*/.* http://pokylinux.org/sources/ \n \
+svk://.*/.* http://pokylinux.org/sources/ \n \
+svn://.*/.* http://pokylinux.org/sources/ \n \
+bzr://.*/.* http://autobuilder.pokylinux.org/sources/ \n \
+cvs://.*/.* http://autobuilder.pokylinux.org/sources/ \n \
+git://.*/.* http://autobuilder.pokylinux.org/sources/ \n \
+hg://.*/.* http://autobuilder.pokylinux.org/sources/ \n \
+osc://.*/.* http://autobuilder.pokylinux.org/sources/ \n \
+p4://.*/.* http://autobuilder.pokylinux.org/sources/ \n \
+svk://.*/.* http://autobuilder.pokylinux.org/sources/ \n \
+svn://.*/.* http://autobuilder.pokylinux.org/sources/ \n"
+
+MIRRORS_append = "\
+ftp://.*/.* http://pokylinux.org/sources/ \n \
+http://.*/.* http://pokylinux.org/sources/ \n \
+https://.*/.* http://pokylinux.org/sources/ \n \
+ftp://.*/.* http://autobuilder.pokylinux.org/sources/ \n \
+http://.*/.* http://autobuilder.pokylinux.org/sources/ \n \
+https://.*/.* http://autobuilder.pokylinux.org/sources/ \n"
+
diff --git a/meta/conf/local.conf.sample b/meta/conf/local.conf.sample
index 43f6f34f4..d9f7098f0 100644
--- a/meta/conf/local.conf.sample
+++ b/meta/conf/local.conf.sample
@@ -25,10 +25,6 @@ MACHINE ?= "qemux86"
#MACHINE ?= "c7x0"
#MACHINE ?= "akita"
#MACHINE ?= "spitz"
-#MACHINE ?= "nokia770"
-#MACHINE ?= "nokia800"
-#MACHINE ?= "fic-gta01"
-#MACHINE ?= "bootcdx86"
#MACHINE ?= "cm-x270"
#MACHINE ?= "em-x270"
#MACHINE ?= "htcuniversal"
@@ -156,6 +152,14 @@ ENABLE_BINARY_LOCALE_GENERATION = "1"
# list them like following.
#TEST_SCEN = "sanity bat sanity:boot"
+#Because of the QEMU booting slowness issue(see bug #646 and #618), autobuilder
+#may suffer a timeout issue when running sanity test. We introduce variable
+#TEST_SERIALIZE here to reduce the time on sanity test. It is by default set
+#to 1. Poky will start image and run cases in the same image without reboot
+#or kill. If it is set to 0, the image will be copied and tested for each
+#case, which will take much time.
+#TEST_SERIALIZE = "1"
+
# Set GLIBC_GENERATE_LOCALES to the locales you wish to generate should you not
# wish to perform the time-consuming step of generating all LIBC locales.
# NOTE: If removing en_US.UTF-8 you will also need to uncomment, and set
@@ -166,6 +170,15 @@ ENABLE_BINARY_LOCALE_GENERATION = "1"
#IMAGE_LINGUAS ?= "en-gb"
#LIMIT_BUILT_LOCALES ?= "POSIX en_GB"
+# This value is currently used by PSEUDO to determine if the recipe should
+# build both the 32-bit and 64-bit wrapper libraries on a 64-bit build system.
+#
+# PSEUDO will attempt to determine if a 32-bit wrapper is necessary, but
+# it doesn't always guess properly. If you have 32-bit executables on
+# your 64-bit build system, you likely want to set this to "0",
+# otherwise you could end up with incorrect file attributes on the
+# target filesystem.
+#
# Default to not build 32 bit libs on 64 bit systems, comment this
# out if that is desired
NO32LIBS = "1"
diff --git a/meta/conf/machine/akita.conf b/meta/conf/machine/akita.conf
index 0f5eaca9c..cdd465200 100644
--- a/meta/conf/machine/akita.conf
+++ b/meta/conf/machine/akita.conf
@@ -5,7 +5,6 @@
require conf/machine/include/zaurus-2.6.inc
require conf/machine/include/zaurus-clamshell.inc
-PACKAGE_EXTRA_ARCHS += "iwmmxt"
MACHINE_FEATURES += "iwmmxt"
IMAGE_FSTYPES ?= "jffs2"
diff --git a/meta/conf/machine/atom-pc.conf b/meta/conf/machine/atom-pc.conf
index 8cf09b811..58c9b0da6 100644
--- a/meta/conf/machine/atom-pc.conf
+++ b/meta/conf/machine/atom-pc.conf
@@ -4,7 +4,6 @@
#@DESCRIPTION: Machine configuration for Intel Atom based PCs. Currently supported machines are the Asus eee901, Acer Aspire One, Toshiba NB305, and Intel BlackSand development board.
TARGET_ARCH = "i586"
-PACKAGE_EXTRA_ARCHS = "x86 core2"
include conf/machine/include/tune-atom.inc
diff --git a/meta/conf/machine/beagleboard.conf b/meta/conf/machine/beagleboard.conf
index 1b73250c2..41351e7bf 100644
--- a/meta/conf/machine/beagleboard.conf
+++ b/meta/conf/machine/beagleboard.conf
@@ -2,7 +2,6 @@
#@NAME: Beagleboard machine
#@DESCRIPTION: Machine configuration for the http://beagleboard.org/ board
TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6 armv7 armv7a"
PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive"
XSERVER = "xserver-kdrive-fbdev"
@@ -13,6 +12,9 @@ GUI_MACHINE_CLASS = "bigscreen"
#Ship all kernel modules till the board support has matured enough
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
+# Allow for MMC booting (required by the NAND-less Beagleboard XM)
+EXTRA_IMAGEDEPENDS += "u-boot x-load"
+
#include conf/machine/include/tune-arm1136jf-s.inc
include conf/machine/include/tune-cortexa8.inc
@@ -20,10 +22,10 @@ IMAGE_FSTYPES += "tar.bz2 jffs2"
EXTRA_IMAGECMD_jffs2 = "-lnp "
# Guesswork
-SERIAL_CONSOLE = "115200 ttyS2"
+SERIAL_CONSOLE = "115200 ttyO2"
-PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-stable"
-#PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers-yocto"
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
+PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers-yocto"
KERNEL_IMAGETYPE = "uImage"
diff --git a/meta/conf/machine/cm-x270.conf b/meta/conf/machine/cm-x270.conf
index 226942de7..9bf7d8f6a 100644
--- a/meta/conf/machine/cm-x270.conf
+++ b/meta/conf/machine/cm-x270.conf
@@ -8,9 +8,9 @@ GUI_MACHINE_CLASS ?= "bigscreen"
PREFERRED_PROVIDER_virtual/kernel = "linux"
PREFERRED_VERSION_linux ?= "2.6.23"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te iwmmxt"
require conf/machine/include/tune-xscale.inc
+PACKAGE_EXTRA_ARCHS += "iwmmxt"
# Console serial port.
# If you have a W module, add the following line to your local.conf:
diff --git a/meta/conf/machine/depicture.conf b/meta/conf/machine/depicture.conf
index 333af4f2f..f72ab2939 100644
--- a/meta/conf/machine/depicture.conf
+++ b/meta/conf/machine/depicture.conf
@@ -3,7 +3,6 @@
#@DESCRIPTION: Machine configuration for running an ARM 920t in the BBD20EUROU board.
TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t"
require conf/machine/include/qemu.inc
require conf/machine/include/tune-arm920t.inc
diff --git a/meta/conf/machine/em-x270.conf b/meta/conf/machine/em-x270.conf
index 47fb8ca53..9bcec5b74 100644
--- a/meta/conf/machine/em-x270.conf
+++ b/meta/conf/machine/em-x270.conf
@@ -8,7 +8,6 @@
TARGET_ARCH = "arm"
GUI_MACHINE_CLASS ?= "bigscreen"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te iwmmxt "
PREFERRED_PROVIDER_virtual/kernel = "linux"
require conf/machine/include/tune-xscale.inc
diff --git a/meta/conf/machine/htcuniversal.conf b/meta/conf/machine/htcuniversal.conf
index 2f5b798bf..72f3bc4aa 100644
--- a/meta/conf/machine/htcuniversal.conf
+++ b/meta/conf/machine/htcuniversal.conf
@@ -4,9 +4,9 @@
#include conf/machine/include/tune-iwmmxt.inc
include conf/machine/include/tune-xscale.inc
+PACKAGE_EXTRA_ARCHS += "iwmmxt"
TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4t armv5te iwmmxt"
PREFERRED_PROVIDER_virtual/kernel = "linux-rp"
diff --git a/meta/conf/machine/hx2000.conf b/meta/conf/machine/hx2000.conf
index 8b4c39f80..a6775f2c3 100644
--- a/meta/conf/machine/hx2000.conf
+++ b/meta/conf/machine/hx2000.conf
@@ -3,7 +3,7 @@
#@DESCRIPTION: Machine configuration for the hx2000 iPAQs with a pxa27x CPU
TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te iwmmxt "
+PACKAGE_EXTRA_ARCHS += "iwmmxt"
PREFERRED_PROVIDER_virtual/kernel = "linux-rp"
diff --git a/meta/conf/machine/igep0020.conf b/meta/conf/machine/igep0020.conf
index 9ddbad65b..86adfcf1a 100644
--- a/meta/conf/machine/igep0020.conf
+++ b/meta/conf/machine/igep0020.conf
@@ -2,7 +2,6 @@
#@NAME: IGEP v2 machine
#@DESCRIPTION: Machine configuration for the IGEP v2 board (http://www.myigep.com)
TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6 armv7 armv7a"
# Floating point option
TARGET_FPU_arm = "hard"
diff --git a/meta/conf/machine/igep0030.conf b/meta/conf/machine/igep0030.conf
index 7ebfaa0ca..af36982a6 100644
--- a/meta/conf/machine/igep0030.conf
+++ b/meta/conf/machine/igep0030.conf
@@ -2,7 +2,6 @@
#@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"
diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc
index 502e24f77..225906b47 100644
--- a/meta/conf/machine/include/qemu.inc
+++ b/meta/conf/machine/include/qemu.inc
@@ -15,7 +15,7 @@ IMAGE_ROOTFS_SIZE_ext3 ?= "280000"
RDEPENDS_kernel-base = ""
# Use a common kernel recipe for all QEMU machines
-PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
-#PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers-yocto"
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
+PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers-yocto"
EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
diff --git a/meta/conf/machine/include/tune-arm1136jf-s.inc b/meta/conf/machine/include/tune-arm1136jf-s.inc
index be5aedc50..a7717510e 100644
--- a/meta/conf/machine/include/tune-arm1136jf-s.inc
+++ b/meta/conf/machine/include/tune-arm1136jf-s.inc
@@ -4,5 +4,6 @@ FEED_ARCH = "armv6"
BASE_PACKAGE_ARCH = "armv6"
ARM_INSTRUCTION_SET = "${@['thumb','arm'][bb.data.getVar('CPU_FEATURES', d, 1).find('thumb') == -1]}"
+PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te armv6"
require conf/machine/include/tune-thumb.inc
diff --git a/meta/conf/machine/include/tune-arm920t.inc b/meta/conf/machine/include/tune-arm920t.inc
index 1f7a04bb3..fee5c586c 100644
--- a/meta/conf/machine/include/tune-arm920t.inc
+++ b/meta/conf/machine/include/tune-arm920t.inc
@@ -1,4 +1,4 @@
FEED_ARCH = "armv4t"
BASE_PACKAGE_ARCH = "armv4t"
TARGET_CC_ARCH = "-march=armv4t -mtune=arm920t"
-
+PACKAGE_EXTRA_ARCHS += "armv4 armv4t"
diff --git a/meta/conf/machine/include/tune-arm926ejs.inc b/meta/conf/machine/include/tune-arm926ejs.inc
index e80ef1049..f41e46099 100644
--- a/meta/conf/machine/include/tune-arm926ejs.inc
+++ b/meta/conf/machine/include/tune-arm926ejs.inc
@@ -1,5 +1,5 @@
FEED_ARCH = "armv5te"
-
+PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te"
# For gcc 3.x you need:
#TARGET_CC_ARCH = "-march=armv5te -mtune=arm926ejs"
# For gcc 4.x you need:
diff --git a/meta/conf/machine/include/tune-arm9tdmi.inc b/meta/conf/machine/include/tune-arm9tdmi.inc
index 39e449301..d788b5304 100644
--- a/meta/conf/machine/include/tune-arm9tdmi.inc
+++ b/meta/conf/machine/include/tune-arm9tdmi.inc
@@ -1,2 +1,4 @@
+FEED_ARCH = "armv4t"
BASE_PACKAGE_ARCH = "armv4t"
+PACKAGE_EXTRA_ARCHS += "armv4 armv4t"
TARGET_CC_ARCH = "-mcpu=arm9tdmi -mtune=arm9tdmi"
diff --git a/meta/conf/machine/include/tune-armv7.inc b/meta/conf/machine/include/tune-armv7.inc
index 96c8c6490..379a3eb01 100644
--- a/meta/conf/machine/include/tune-armv7.inc
+++ b/meta/conf/machine/include/tune-armv7.inc
@@ -3,4 +3,5 @@
# This will NOT compile programs in 'ARM' mode, which is what you really want
TARGET_CC_ARCH = "-march=armv7 -mfpu=vfp -mfloat-abi=softfp"
FEED_ARCH = "armv7"
+PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te armv6 armv7"
BASE_PACKAGE_ARCH = "armv7"
diff --git a/meta/conf/machine/include/tune-atom.inc b/meta/conf/machine/include/tune-atom.inc
index 0f09e8d56..a401856c8 100644
--- a/meta/conf/machine/include/tune-atom.inc
+++ b/meta/conf/machine/include/tune-atom.inc
@@ -2,3 +2,4 @@ BASE_PACKAGE_ARCH = "core2"
TARGET_CC_ARCH = "-m32 -march=core2 -msse3 -mtune=generic -mfpmath=sse"
#MOBLIN_CFLAGS = "-Os -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables"
+PACKAGE_EXTRA_ARCHS += "x86 i386 i486 i586 core2"
diff --git a/meta/conf/machine/include/tune-c3.inc b/meta/conf/machine/include/tune-c3.inc
index 107341eb6..1d636e89c 100644
--- a/meta/conf/machine/include/tune-c3.inc
+++ b/meta/conf/machine/include/tune-c3.inc
@@ -1,3 +1,4 @@
TARGET_CC_ARCH = "-march=c3 -mtune=c3"
+PACKAGE_EXTRA_ARCHS += "i386 i486 i586"
BASE_PACKAGE_ARCH = "i586"
-
+FEED_ARCH = "i586"
diff --git a/meta/conf/machine/include/tune-cortexa8.inc b/meta/conf/machine/include/tune-cortexa8.inc
index 2c40b7056..3ec1c0350 100644
--- a/meta/conf/machine/include/tune-cortexa8.inc
+++ b/meta/conf/machine/include/tune-cortexa8.inc
@@ -10,3 +10,4 @@ TARGET_CC_ARCH = "-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
FEED_ARCH = "armv7a"
BASE_PACKAGE_ARCH = "armv7a"
+PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te armv6 armv7 armv7a"
diff --git a/meta/conf/machine/include/tune-ep9312.inc b/meta/conf/machine/include/tune-ep9312.inc
index 2cfdf5270..d0c5bb2e9 100644
--- a/meta/conf/machine/include/tune-ep9312.inc
+++ b/meta/conf/machine/include/tune-ep9312.inc
@@ -2,5 +2,7 @@ TARGET_CC_ARCH = "-march=ep9312 -mtune=ep9312 -mcpu=ep9312"
# add "-mfp=maverick" for newer gcc versions > 4.0
#set arch to ep9312 for all generated packages
+PACKAGE_EXTRA_ARCHS += "armv4t ep9312"
BASE_PACKAGE_ARCH = "ep9312"
+FEED_ARCH = "ep9312"
diff --git a/meta/conf/machine/include/tune-iwmmxt.inc b/meta/conf/machine/include/tune-iwmmxt.inc
index 49e560ea1..f7291be80 100644
--- a/meta/conf/machine/include/tune-iwmmxt.inc
+++ b/meta/conf/machine/include/tune-iwmmxt.inc
@@ -2,5 +2,6 @@
# Please use tune-xscale for PXA255/PXA26x based processors.
TARGET_CC_ARCH = "-march=iwmmxt -mcpu=iwmmxt -mtune=iwmmxt"
BASE_PACKAGE_ARCH = "iwmmxt"
-PACKAGE_EXTRA_ARCHS += "iwmmxt"
+PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te iwmmxt"
+FEED_ARCH = "iwmmxt"
diff --git a/meta/conf/machine/include/tune-mips32.inc b/meta/conf/machine/include/tune-mips32.inc
index 93da66b15..67edca253 100644
--- a/meta/conf/machine/include/tune-mips32.inc
+++ b/meta/conf/machine/include/tune-mips32.inc
@@ -1 +1,3 @@
TARGET_CC_ARCH = "-march=mips32"
+FEED_ARCH = "${TARGET_ARCH}"
+BASE_PACKAGE_ARCH = "${TARGET_ARCH}"
diff --git a/meta/conf/machine/include/tune-ppc603e.inc b/meta/conf/machine/include/tune-ppc603e.inc
index a4a68d60e..15a72d10a 100644
--- a/meta/conf/machine/include/tune-ppc603e.inc
+++ b/meta/conf/machine/include/tune-ppc603e.inc
@@ -1,2 +1,4 @@
-TARGET_CC_ARCH = "-mcpu=603e -mhard-float"
+TARGET_CC_ARCH = "-mcpu=603e -mhard-float"
BASE_PACKAGE_ARCH = "ppc603e"
+FEED_ARCH = "ppc603e"
+PACKAGE_EXTRA_ARCHS += "ppc603e"
diff --git a/meta/conf/machine/include/tune-ppce300c2.inc b/meta/conf/machine/include/tune-ppce300c2.inc
index 067a7b100..295687518 100644
--- a/meta/conf/machine/include/tune-ppce300c2.inc
+++ b/meta/conf/machine/include/tune-ppce300c2.inc
@@ -1,2 +1,3 @@
TARGET_CC_ARCH = "-mcpu=e300c2 -msoft-float"
BASE_PACKAGE_ARCH = "ppce300"
+PACKAGE_EXTRA_ARCHS += "ppce300"
diff --git a/meta/conf/machine/include/tune-ppce500.inc b/meta/conf/machine/include/tune-ppce500.inc
index 248219642..44f8742f9 100644
--- a/meta/conf/machine/include/tune-ppce500.inc
+++ b/meta/conf/machine/include/tune-ppce500.inc
@@ -1,2 +1,4 @@
TARGET_CC_ARCH = "-mcpu=8540"
BASE_PACKAGE_ARCH = "ppce500"
+FEED_ARCH = "ppce500"
+PACKAGE_EXTRA_ARCHS += "ppce500"
diff --git a/meta/conf/machine/include/tune-sh3.inc b/meta/conf/machine/include/tune-sh3.inc
index 192dd8fd2..32801a61c 100644
--- a/meta/conf/machine/include/tune-sh3.inc
+++ b/meta/conf/machine/include/tune-sh3.inc
@@ -1 +1,3 @@
TARGET_CC_ARCH = "-ml -m3"
+FEED_ARCH = "sh3"
+BASE_PACKAGE_ARCH = "sh3"
diff --git a/meta/conf/machine/include/tune-sh4.inc b/meta/conf/machine/include/tune-sh4.inc
index 866f7f89d..51b40691b 100644
--- a/meta/conf/machine/include/tune-sh4.inc
+++ b/meta/conf/machine/include/tune-sh4.inc
@@ -1 +1,7 @@
+# NOTE: If you want to optimize to sh4a, conf/machine/include/tune-sh4a.inc.
+# But it is not compatible for sh4.
+# The binary optimized by m4a doesn't operate on sh4. It works on sh4a only.
+
TARGET_CC_ARCH = "-ml -m4"
+FEED_ARCH = "sh4"
+BASE_PACKAGE_ARCH = "sh4"
diff --git a/meta/conf/machine/include/tune-supersparc.inc b/meta/conf/machine/include/tune-supersparc.inc
index 10133c6c2..a402e7cd2 100644
--- a/meta/conf/machine/include/tune-supersparc.inc
+++ b/meta/conf/machine/include/tune-supersparc.inc
@@ -1,2 +1,3 @@
TARGET_CC_ARCH = "-mcpu=supersparc"
-BASE_PACKAGE_ARCH = "supersparc"
+BASE_PACKAGE_ARCH = "supersparc"
+FEED_ARCH = "supersparc"
diff --git a/meta/conf/machine/include/tune-xscale.inc b/meta/conf/machine/include/tune-xscale.inc
index 4f96814a7..f1ef3d46a 100644
--- a/meta/conf/machine/include/tune-xscale.inc
+++ b/meta/conf/machine/include/tune-xscale.inc
@@ -5,6 +5,7 @@ INHERIT += "siteinfo"
TARGET_CC_ARCH = "-march=armv5te -mtune=xscale"
TARGET_CC_KERNEL_ARCH = "-march=armv5te -mtune=xscale"
BASE_PACKAGE_ARCH = "${@['armv5teb', 'armv5te'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}"
+PACKAGE_EXTRA_ARCHS += "${@['armv4b armv4tb armv5teb', 'armv4 armv4t armv5te'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}"
# webkit-gtk has alignment issues with double instructions on armv5 so
# disable them here
diff --git a/meta/conf/machine/mpc8315e-rdb.conf b/meta/conf/machine/mpc8315e-rdb.conf
index 1b7982a5d..578751c57 100644
--- a/meta/conf/machine/mpc8315e-rdb.conf
+++ b/meta/conf/machine/mpc8315e-rdb.conf
@@ -2,7 +2,6 @@
#@DESCRIPTION: Machine configuration for running
TARGET_ARCH = "powerpc"
-PACKAGE_EXTRA_ARCHS = "ppc603e"
TARGET_FPU = "spe"
require conf/machine/include/tune-ppc603e.inc
@@ -13,5 +12,9 @@ SERIAL_CONSOLE = "115200 ttyS0"
MACHINE_FEATURES = "kernel26 keyboard pci ext2 ext3 serial"
-PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-stable"
-#PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers-yocto"
+PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
+PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers-yocto"
+
+UBOOT_ENTRYPOINT = "0x00000000"
+
+KERNEL_DEVICETREE = "${S}/arch/powerpc/boot/dts/mpc8315erdb.dts"
diff --git a/meta/conf/machine/mx31ads.conf b/meta/conf/machine/mx31ads.conf
index 04a238d60..8b3e3dbc1 100644
--- a/meta/conf/machine/mx31ads.conf
+++ b/meta/conf/machine/mx31ads.conf
@@ -2,7 +2,6 @@
#@NAME: Freescale imx31 ADS Board
#@DESCRIPTION: Machine configuration for the imx31 based Freescale ADS Board
TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6"
PREFERRED_PROVIDER_virtual/kernel = "linux-mx31"
diff --git a/meta/conf/machine/mx31phy.conf b/meta/conf/machine/mx31phy.conf
index 28b255cce..eea673ab1 100644
--- a/meta/conf/machine/mx31phy.conf
+++ b/meta/conf/machine/mx31phy.conf
@@ -2,7 +2,6 @@
#@NAME: Phytec phyCORE-iMX31 Board
#@DESCRIPTION: Machine configuration for the imx31 based Phytec phyCORE-iMX31
TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6"
PREFERRED_PROVIDER_virtual/kernel = "linux-mx31"
diff --git a/meta/conf/machine/omap-3430ldp.conf b/meta/conf/machine/omap-3430ldp.conf
index 0be0546b8..759d58f01 100644
--- a/meta/conf/machine/omap-3430ldp.conf
+++ b/meta/conf/machine/omap-3430ldp.conf
@@ -2,7 +2,6 @@
#@NAME: TI OMAP 3430 LDP
#@DESCRIPTION: Machine configuration for the TI OMAP 3430 LDP (aka OMAP Zoom)
TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6 armv7a"
PREFERRED_PROVIDER_virtual/kernel = "linux-omap"
diff --git a/meta/conf/machine/omap-3430sdp.conf b/meta/conf/machine/omap-3430sdp.conf
index 5d87bd148..651d6a996 100644
--- a/meta/conf/machine/omap-3430sdp.conf
+++ b/meta/conf/machine/omap-3430sdp.conf
@@ -2,7 +2,6 @@
#@NAME: TI OMAP 3430 SDP
#@DESCRIPTION: Machine configuration for the TI OMAP 3430 SDP
TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6 armv7a"
PREFERRED_PROVIDER_virtual/kernel = "linux-omap"
diff --git a/meta/conf/machine/overo.conf b/meta/conf/machine/overo.conf
index dde4bff47..5271db627 100644
--- a/meta/conf/machine/overo.conf
+++ b/meta/conf/machine/overo.conf
@@ -5,7 +5,6 @@
include conf/machine/include/tune-cortexa8.inc
TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6 armv7 armv7a"
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat alsa"
PREFERRED_VERSION_u-boot = "git"
@@ -19,7 +18,7 @@ SERIAL_CONSOLE = "115200 ttyS2"
IMAGE_FSTYPES += "tar.bz2 jffs2"
EXTRA_IMAGECMD_jffs2 = "-lnp "
-EXTRA_IMAGEDEPENDS += "u-boot-omap3 x-load"
+EXTRA_IMAGEDEPENDS += "u-boot x-load"
PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive"
#XSERVER = "xserver-xorg \
diff --git a/meta/conf/machine/qemuarm.conf b/meta/conf/machine/qemuarm.conf
index 400ecc824..9fb18932c 100644
--- a/meta/conf/machine/qemuarm.conf
+++ b/meta/conf/machine/qemuarm.conf
@@ -3,7 +3,6 @@
#@DESCRIPTION: arm_versaile_926ejs
TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te"
require conf/machine/include/qemu.inc
require conf/machine/include/tune-arm926ejs.inc
diff --git a/meta/conf/machine/qemuppc.conf b/meta/conf/machine/qemuppc.conf
index 0bbeac7da..83d084115 100644
--- a/meta/conf/machine/qemuppc.conf
+++ b/meta/conf/machine/qemuppc.conf
@@ -3,7 +3,6 @@
#@DESCRIPTION: Machine configuration for running an PPC system under qemu emulation
TARGET_ARCH = "powerpc"
-PACKAGE_EXTRA_ARCHS = "ppc603e"
require conf/machine/include/qemu.inc
require conf/machine/include/tune-ppc603e.inc
diff --git a/meta/conf/machine/qemux86-64.conf b/meta/conf/machine/qemux86-64.conf
index fd34709b7..182759adf 100644
--- a/meta/conf/machine/qemux86-64.conf
+++ b/meta/conf/machine/qemux86-64.conf
@@ -4,7 +4,6 @@
TARGET_ARCH = "x86_64"
TRANSLATED_TARGET_ARCH = "x86-64"
-PACKAGE_EXTRA_ARCHS = "x86"
PREFERRED_PROVIDER_virtual/libgl = "mesa-dri"
PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-trim"
diff --git a/meta/conf/machine/qemux86.conf b/meta/conf/machine/qemux86.conf
index cb2a32d7b..f1a0939eb 100644
--- a/meta/conf/machine/qemux86.conf
+++ b/meta/conf/machine/qemux86.conf
@@ -3,7 +3,6 @@
#@DESCRIPTION: Machine configuration for running a common x86
TARGET_ARCH = "i586"
-PACKAGE_EXTRA_ARCHS = "x86"
PREFERRED_PROVIDER_virtual/libgl = "mesa-dri"
PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-trim"
diff --git a/meta/conf/machine/routerstationpro.conf b/meta/conf/machine/routerstationpro.conf
index 4f1bbbb2c..9e5036d86 100644
--- a/meta/conf/machine/routerstationpro.conf
+++ b/meta/conf/machine/routerstationpro.conf
@@ -12,8 +12,8 @@ MACHINE_FEATURES = "kernel26 screen keyboard pci usbhost ext2 ext3 \
KERNEL_IMAGETYPE = "vmlinux"
KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
-PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-stable"
-#PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers-yocto"
+PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
+PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers-yocto"
SERIAL_CONSOLE = "115200 ttyS0"
diff --git a/meta/conf/machine/spitz.conf b/meta/conf/machine/spitz.conf
index 4a794331e..faa00e991 100644
--- a/meta/conf/machine/spitz.conf
+++ b/meta/conf/machine/spitz.conf
@@ -9,7 +9,6 @@ MACHINE_FEATURES += "iwmmxt"
PIVOTBOOT_EXTRA_RDEPENDS += "pivotinit ${PCMCIA_MANAGER}"
-PACKAGE_EXTRA_ARCHS += "iwmmxt"
IMAGE_FSTYPES ?= "tar.gz ext3"
IMAGE_ROOTFS_SIZE_ext3 = "250000"
diff --git a/meta/conf/machine/zoom2.conf b/meta/conf/machine/zoom2.conf
index 142a40c5a..dec90c2c7 100644
--- a/meta/conf/machine/zoom2.conf
+++ b/meta/conf/machine/zoom2.conf
@@ -2,7 +2,6 @@
#@NAME: Logic PD Zoom2
#@DESCRIPTION: Machine configuration for the OMAP3-powered Logic PD Zoom2
TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6 armv7a"
PREFERRED_PROVIDER_virtual/kernel = "linux-omap-zoomsync"
diff --git a/meta/conf/machine/zylonite.conf b/meta/conf/machine/zylonite.conf
index 644675e84..e82f041ff 100644
--- a/meta/conf/machine/zylonite.conf
+++ b/meta/conf/machine/zylonite.conf
@@ -4,8 +4,9 @@
require conf/machine/include/tune-xscale.inc
+PACKAGE_EXTRA_ARCHS += "iwmmxt"
+
TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te iwmmxt"
EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 -n -x lzo -p"
diff --git a/meta/files/common-licenses/Apache-2.0 b/meta/files/common-licenses/Apache-2.0
new file mode 100644
index 000000000..d64569567
--- /dev/null
+++ b/meta/files/common-licenses/Apache-2.0
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/meta/files/common-licenses/Artistic b/meta/files/common-licenses/Artistic
new file mode 100644
index 000000000..5f221241e
--- /dev/null
+++ b/meta/files/common-licenses/Artistic
@@ -0,0 +1,131 @@
+
+
+
+
+ The "Artistic License"
+
+ Preamble
+
+The intent of this document is to state the conditions under which a
+Package may be copied, such that the Copyright Holder maintains some
+semblance of artistic control over the development of the package,
+while giving the users of the package the right to use and distribute
+the Package in a more-or-less customary fashion, plus the right to make
+reasonable modifications.
+
+Definitions:
+
+ "Package" refers to the collection of files distributed by the
+ Copyright Holder, and derivatives of that collection of files
+ created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been
+ modified, or has been modified in accordance with the wishes
+ of the Copyright Holder as specified below.
+
+ "Copyright Holder" is whoever is named in the copyright or
+ copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing
+ this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the
+ basis of media cost, duplication charges, time of people involved,
+ and so on. (You will not be required to justify it to the
+ Copyright Holder, but only to the computing community at large
+ as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item
+ itself, though there may be fees involved in handling the item.
+ It also means that recipients of the item may redistribute it
+ under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the
+Standard Version of this Package without restriction, provided that you
+duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications
+derived from the Public Domain or from the Copyright Holder. A Package
+modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided
+that you insert a prominent notice in each changed file stating how and
+when you changed that file, and provided that you do at least ONE of the
+following:
+
+ a) place your modifications in the Public Domain or otherwise make them
+ Freely Available, such as by posting said modifications to Usenet or
+ an equivalent medium, or placing the modifications on a major archive
+ site such as uunet.uu.net, or by allowing the Copyright Holder to include
+ your modifications in the Standard Version of the Package.
+
+ b) use the modified Package only within your corporation or organization.
+
+ c) rename any non-standard executables so the names do not conflict
+ with standard executables, which must also be provided, and provide
+ a separate manual page for each non-standard executable that clearly
+ documents how it differs from the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or
+executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files,
+ together with instructions (in the manual page or equivalent) on where
+ to get the Standard Version.
+
+ b) accompany the distribution with the machine-readable source of
+ the Package with your modifications.
+
+ c) give non-standard executables non-standard names, and clearly
+ document the differences in manual pages (or equivalent), together
+ with instructions on where to get the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this
+Package. You may charge any fee you choose for support of this
+Package. You may not charge a fee for this Package itself. However,
+you may distribute this Package in aggregate with other (possibly
+commercial) programs as part of a larger (possibly commercial) software
+distribution provided that you do not advertise this Package as a
+product of your own. You may embed this Package's interpreter within
+an executable of yours (by linking); this shall be construed as a mere
+form of aggregation, provided that the complete Standard Version of the
+interpreter is so embedded.
+
+6. The scripts and library files supplied as input to or produced as
+output from the programs of this Package do not automatically fall
+under the copyright of this Package, but belong to whoever generated
+them, and may be sold commercially, and may be aggregated with this
+Package. If such scripts or library files are aggregated with this
+Package via the so-called "undump" or "unexec" methods of producing a
+binary executable image, then distribution of such an image shall
+neither be construed as a distribution of this Package nor shall it
+fall under the restrictions of Paragraphs 3 and 4, provided that you do
+not represent such an executable image as a Standard Version of this
+Package.
+
+7. C subroutines (or comparably compiled subroutines in other
+languages) supplied by you and linked into this Package in order to
+emulate subroutines and variables of the language defined by this
+Package shall not be considered part of this Package, but are the
+equivalent of input as in Paragraph 6, provided these subroutines do
+not change the language in any way that would cause it to fail the
+regression tests for the language.
+
+8. Aggregation of this Package with a commercial distribution is always
+permitted provided that the use of this Package is embedded; that is,
+when no overt attempt is made to make this Package's interfaces visible
+to the end user of the commercial distribution. Such use shall not be
+construed as a distribution of this Package.
+
+9. The name of the Copyright Holder may not be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+ The End
diff --git a/meta/files/common-licenses/BSD b/meta/files/common-licenses/BSD
new file mode 100644
index 000000000..c7a0aa4f9
--- /dev/null
+++ b/meta/files/common-licenses/BSD
@@ -0,0 +1,26 @@
+Copyright (c) The Regents of the University of California.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
diff --git a/meta/files/common-licenses/GFDL b/meta/files/common-licenses/GFDL
new file mode 100644
index 000000000..2f7e03ca5
--- /dev/null
+++ b/meta/files/common-licenses/GFDL
@@ -0,0 +1,451 @@
+
+ GNU Free Documentation License
+ Version 1.3, 3 November 2008
+
+
+ Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+ <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other
+functional and useful document "free" in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it,
+with or without modifying it, either commercially or noncommercially.
+Secondarily, this License preserves for the author and publisher a way
+to get credit for their work, while not being considered responsible
+for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative
+works of the document must themselves be free in the same sense. It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.
+
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does. But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book. We recommend this License
+principally for works whose purpose is instruction or reference.
+
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that
+contains a notice placed by the copyright holder saying it can be
+distributed under the terms of this License. Such a notice grants a
+world-wide, royalty-free license, unlimited in duration, to use that
+work under the conditions stated herein. The "Document", below,
+refers to any such manual or work. Any member of the public is a
+licensee, and is addressed as "you". You accept the license if you
+copy, modify or distribute the work in a way requiring permission
+under copyright law.
+
+A "Modified Version" of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of
+the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall
+subject (or to related matters) and contains nothing that could fall
+directly within that overall subject. (Thus, if the Document is in
+part a textbook of mathematics, a Secondary Section may not explain
+any mathematics.) The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License. If a
+section does not fit the above definition of Secondary then it is not
+allowed to be designated as Invariant. The Document may contain zero
+Invariant Sections. If the Document does not identify any Invariant
+Sections then there are none.
+
+The "Cover Texts" are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License. A Front-Cover Text may
+be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A "Transparent" copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, that is suitable for revising the document
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters. A copy made in an otherwise Transparent file
+format whose markup, or absence of markup, has been arranged to thwart
+or discourage subsequent modification by readers is not Transparent.
+An image format is not Transparent if used for any substantial amount
+of text. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain
+ASCII without markup, Texinfo input format, LaTeX input format, SGML
+or XML using a publicly available DTD, and standard-conforming simple
+HTML, PostScript or PDF designed for human modification. Examples of
+transparent image formats include PNG, XCF and JPG. Opaque formats
+include proprietary formats that can be read and edited only by
+proprietary word processors, SGML or XML for which the DTD and/or
+processing tools are not generally available, and the
+machine-generated HTML, PostScript or PDF produced by some word
+processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page. For works in
+formats which do not have any title page as such, "Title Page" means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.
+
+The "publisher" means any person or entity that distributes copies of
+the Document to the public.
+
+A section "Entitled XYZ" means a named subunit of the Document whose
+title either is precisely XYZ or contains XYZ in parentheses following
+text that translates XYZ in another language. (Here XYZ stands for a
+specific section name mentioned below, such as "Acknowledgements",
+"Dedications", "Endorsements", or "History".) To "Preserve the Title"
+of such a section when you modify the Document means that it remains a
+section "Entitled XYZ" according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which
+states that this License applies to the Document. These Warranty
+Disclaimers are considered to be included by reference in this
+License, but only as regards disclaiming warranties: any other
+implication that these Warranty Disclaimers may have is void and has
+no effect on the meaning of this License.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no
+other conditions whatsoever to those of this License. You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute. However, you may accept
+compensation in exchange for copies. If you distribute a large enough
+number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have
+printed covers) of the Document, numbering more than 100, and the
+Document's license notice requires Cover Texts, you must enclose the
+copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover. Both covers must also clearly and legibly identify
+you as the publisher of these copies. The front cover must present
+the full title with all words of the title equally prominent and
+visible. You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+
+If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a computer-network location from which the general network-using
+public has access to download using public-standard network protocols
+a complete Transparent copy of the Document, free of added material.
+If you use the latter option, you must take reasonably prudent steps,
+when you begin distribution of Opaque copies in quantity, to ensure
+that this Transparent copy will remain thus accessible at the stated
+location until at least one year after the last time you distribute an
+Opaque copy (directly or through your agents or retailers) of that
+edition to the public.
+
+It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to
+give them a chance to provide you with an updated version of the
+Document.
+
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under
+the conditions of sections 2 and 3 above, provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it. In addition, you must do these things in the Modified Version:
+
+A. Use in the Title Page (and on the covers, if any) a title distinct
+ from that of the Document, and from those of previous versions
+ (which should, if there were any, be listed in the History section
+ of the Document). You may use the same title as a previous version
+ if the original publisher of that version gives permission.
+B. List on the Title Page, as authors, one or more persons or entities
+ responsible for authorship of the modifications in the Modified
+ Version, together with at least five of the principal authors of the
+ Document (all of its principal authors, if it has fewer than five),
+ unless they release you from this requirement.
+C. State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+D. Preserve all the copyright notices of the Document.
+E. Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+F. Include, immediately after the copyright notices, a license notice
+ giving the public permission to use the Modified Version under the
+ terms of this License, in the form shown in the Addendum below.
+G. Preserve in that license notice the full lists of Invariant Sections
+ and required Cover Texts given in the Document's license notice.
+H. Include an unaltered copy of this License.
+I. Preserve the section Entitled "History", Preserve its Title, and add
+ to it an item stating at least the title, year, new authors, and
+ publisher of the Modified Version as given on the Title Page. If
+ there is no section Entitled "History" in the Document, create one
+ stating the title, year, authors, and publisher of the Document as
+ given on its Title Page, then add an item describing the Modified
+ Version as stated in the previous sentence.
+J. Preserve the network location, if any, given in the Document for
+ public access to a Transparent copy of the Document, and likewise
+ the network locations given in the Document for previous versions
+ it was based on. These may be placed in the "History" section.
+ You may omit a network location for a work that was published at
+ least four years before the Document itself, or if the original
+ publisher of the version it refers to gives permission.
+K. For any section Entitled "Acknowledgements" or "Dedications",
+ Preserve the Title of the section, and preserve in the section all
+ the substance and tone of each of the contributor acknowledgements
+ and/or dedications given therein.
+L. Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section titles.
+M. Delete any section Entitled "Endorsements". Such a section
+ may not be included in the Modified Version.
+N. Do not retitle any existing section to be Entitled "Endorsements"
+ or to conflict in title with any Invariant Section.
+O. Preserve any Warranty Disclaimers.
+
+If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant. To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.
+
+You may add a section Entitled "Endorsements", provided it contains
+nothing but endorsements of your Modified Version by various
+parties--for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version. Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity. If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this
+License, under the terms defined in section 4 above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy. If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled "History"
+in the various original documents, forming one section Entitled
+"History"; likewise combine any sections Entitled "Acknowledgements",
+and any sections Entitled "Dedications". You must delete all sections
+Entitled "Endorsements".
+
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other
+documents released under this License, and replace the individual
+copies of this License in the various documents with a single copy
+that is included in the collection, provided that you follow the rules
+of this License for verbatim copying of each of the documents in all
+other respects.
+
+You may extract a single document from such a collection, and
+distribute it individually under this License, provided you insert a
+copy of this License into the extracted document, and follow this
+License in all other respects regarding verbatim copying of that
+document.
+
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, is called an "aggregate" if the copyright
+resulting from the compilation is not used to limit the legal rights
+of the compilation's users beyond what the individual works permit.
+When the Document is included in an aggregate, this License does not
+apply to the other works in the aggregate which are not themselves
+derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one half of
+the entire aggregate, the Document's Cover Texts may be placed on
+covers that bracket the Document within the aggregate, or the
+electronic equivalent of covers if the Document is in electronic form.
+Otherwise they must appear on printed covers that bracket the whole
+aggregate.
+
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections. You may include a
+translation of this License, and all the license notices in the
+Document, and any Warranty Disclaimers, provided that you also include
+the original English version of this License and the original versions
+of those notices and disclaimers. In case of a disagreement between
+the translation and the original version of this License or a notice
+or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled "Acknowledgements",
+"Dedications", or "History", the requirement (section 4) to Preserve
+its Title (section 1) will typically require changing the actual
+title.
+
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense, or distribute it is void, and
+will automatically terminate your rights under this License.
+
+However, if you cease all violation of this License, then your license
+from a particular copyright holder is reinstated (a) provisionally,
+unless and until the copyright holder explicitly and finally
+terminates your license, and (b) permanently, if the copyright holder
+fails to notify you of the violation by some reasonable means prior to
+60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, receipt of a copy of some or all of the same material does
+not give you any rights to use it.
+
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the
+GNU Free Documentation License from time to time. Such new versions
+will be similar in spirit to the present version, but may differ in
+detail to address new problems or concerns. See
+http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License "or any later version" applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation. If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation. If the Document
+specifies that a proxy can decide which future versions of this
+License can be used, that proxy's public statement of acceptance of a
+version permanently authorizes you to choose that version for the
+Document.
+
+11. RELICENSING
+
+"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
+World Wide Web server that publishes copyrightable works and also
+provides prominent facilities for anybody to edit those works. A
+public wiki that anybody can edit is an example of such a server. A
+"Massive Multiauthor Collaboration" (or "MMC") contained in the site
+means any set of copyrightable works thus published on the MMC site.
+
+"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+license published by Creative Commons Corporation, a not-for-profit
+corporation with a principal place of business in San Francisco,
+California, as well as future copyleft versions of that license
+published by that same organization.
+
+"Incorporate" means to publish or republish a Document, in whole or in
+part, as part of another Document.
+
+An MMC is "eligible for relicensing" if it is licensed under this
+License, and if all works that were first published under this License
+somewhere other than this MMC, and subsequently incorporated in whole or
+in part into the MMC, (1) had no cover texts or invariant sections, and
+(2) were thus incorporated prior to November 1, 2008.
+
+The operator of an MMC Site may republish an MMC contained in the site
+under CC-BY-SA on the same site at any time before August 1, 2009,
+provided the MMC is eligible for relicensing.
+
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and
+license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.3
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license is included in the section entitled "GNU
+ Free Documentation License".
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the
+ Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+
+If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License,
+to permit their use in free software.
diff --git a/meta/files/common-licenses/GFDL-1.2 b/meta/files/common-licenses/GFDL-1.2
new file mode 100644
index 000000000..4a0fe1c8d
--- /dev/null
+++ b/meta/files/common-licenses/GFDL-1.2
@@ -0,0 +1,397 @@
+ GNU Free Documentation License
+ Version 1.2, November 2002
+
+
+ Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other
+functional and useful document "free" in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it,
+with or without modifying it, either commercially or noncommercially.
+Secondarily, this License preserves for the author and publisher a way
+to get credit for their work, while not being considered responsible
+for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative
+works of the document must themselves be free in the same sense. It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.
+
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does. But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book. We recommend this License
+principally for works whose purpose is instruction or reference.
+
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that
+contains a notice placed by the copyright holder saying it can be
+distributed under the terms of this License. Such a notice grants a
+world-wide, royalty-free license, unlimited in duration, to use that
+work under the conditions stated herein. The "Document", below,
+refers to any such manual or work. Any member of the public is a
+licensee, and is addressed as "you". You accept the license if you
+copy, modify or distribute the work in a way requiring permission
+under copyright law.
+
+A "Modified Version" of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of
+the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall subject
+(or to related matters) and contains nothing that could fall directly
+within that overall subject. (Thus, if the Document is in part a
+textbook of mathematics, a Secondary Section may not explain any
+mathematics.) The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License. If a
+section does not fit the above definition of Secondary then it is not
+allowed to be designated as Invariant. The Document may contain zero
+Invariant Sections. If the Document does not identify any Invariant
+Sections then there are none.
+
+The "Cover Texts" are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License. A Front-Cover Text may
+be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A "Transparent" copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, that is suitable for revising the document
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters. A copy made in an otherwise Transparent file
+format whose markup, or absence of markup, has been arranged to thwart
+or discourage subsequent modification by readers is not Transparent.
+An image format is not Transparent if used for any substantial amount
+of text. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain
+ASCII without markup, Texinfo input format, LaTeX input format, SGML
+or XML using a publicly available DTD, and standard-conforming simple
+HTML, PostScript or PDF designed for human modification. Examples of
+transparent image formats include PNG, XCF and JPG. Opaque formats
+include proprietary formats that can be read and edited only by
+proprietary word processors, SGML or XML for which the DTD and/or
+processing tools are not generally available, and the
+machine-generated HTML, PostScript or PDF produced by some word
+processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page. For works in
+formats which do not have any title page as such, "Title Page" means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.
+
+A section "Entitled XYZ" means a named subunit of the Document whose
+title either is precisely XYZ or contains XYZ in parentheses following
+text that translates XYZ in another language. (Here XYZ stands for a
+specific section name mentioned below, such as "Acknowledgements",
+"Dedications", "Endorsements", or "History".) To "Preserve the Title"
+of such a section when you modify the Document means that it remains a
+section "Entitled XYZ" according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which
+states that this License applies to the Document. These Warranty
+Disclaimers are considered to be included by reference in this
+License, but only as regards disclaiming warranties: any other
+implication that these Warranty Disclaimers may have is void and has
+no effect on the meaning of this License.
+
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no other
+conditions whatsoever to those of this License. You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute. However, you may accept
+compensation in exchange for copies. If you distribute a large enough
+number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have
+printed covers) of the Document, numbering more than 100, and the
+Document's license notice requires Cover Texts, you must enclose the
+copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover. Both covers must also clearly and legibly identify
+you as the publisher of these copies. The front cover must present
+the full title with all words of the title equally prominent and
+visible. You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+
+If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a computer-network location from which the general network-using
+public has access to download using public-standard network protocols
+a complete Transparent copy of the Document, free of added material.
+If you use the latter option, you must take reasonably prudent steps,
+when you begin distribution of Opaque copies in quantity, to ensure
+that this Transparent copy will remain thus accessible at the stated
+location until at least one year after the last time you distribute an
+Opaque copy (directly or through your agents or retailers) of that
+edition to the public.
+
+It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to give
+them a chance to provide you with an updated version of the Document.
+
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under
+the conditions of sections 2 and 3 above, provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it. In addition, you must do these things in the Modified Version:
+
+A. Use in the Title Page (and on the covers, if any) a title distinct
+ from that of the Document, and from those of previous versions
+ (which should, if there were any, be listed in the History section
+ of the Document). You may use the same title as a previous version
+ if the original publisher of that version gives permission.
+B. List on the Title Page, as authors, one or more persons or entities
+ responsible for authorship of the modifications in the Modified
+ Version, together with at least five of the principal authors of the
+ Document (all of its principal authors, if it has fewer than five),
+ unless they release you from this requirement.
+C. State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+D. Preserve all the copyright notices of the Document.
+E. Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+F. Include, immediately after the copyright notices, a license notice
+ giving the public permission to use the Modified Version under the
+ terms of this License, in the form shown in the Addendum below.
+G. Preserve in that license notice the full lists of Invariant Sections
+ and required Cover Texts given in the Document's license notice.
+H. Include an unaltered copy of this License.
+I. Preserve the section Entitled "History", Preserve its Title, and add
+ to it an item stating at least the title, year, new authors, and
+ publisher of the Modified Version as given on the Title Page. If
+ there is no section Entitled "History" in the Document, create one
+ stating the title, year, authors, and publisher of the Document as
+ given on its Title Page, then add an item describing the Modified
+ Version as stated in the previous sentence.
+J. Preserve the network location, if any, given in the Document for
+ public access to a Transparent copy of the Document, and likewise
+ the network locations given in the Document for previous versions
+ it was based on. These may be placed in the "History" section.
+ You may omit a network location for a work that was published at
+ least four years before the Document itself, or if the original
+ publisher of the version it refers to gives permission.
+K. For any section Entitled "Acknowledgements" or "Dedications",
+ Preserve the Title of the section, and preserve in the section all
+ the substance and tone of each of the contributor acknowledgements
+ and/or dedications given therein.
+L. Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section titles.
+M. Delete any section Entitled "Endorsements". Such a section
+ may not be included in the Modified Version.
+N. Do not retitle any existing section to be Entitled "Endorsements"
+ or to conflict in title with any Invariant Section.
+O. Preserve any Warranty Disclaimers.
+
+If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant. To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.
+
+You may add a section Entitled "Endorsements", provided it contains
+nothing but endorsements of your Modified Version by various
+parties--for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version. Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity. If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this
+License, under the terms defined in section 4 above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy. If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled "History"
+in the various original documents, forming one section Entitled
+"History"; likewise combine any sections Entitled "Acknowledgements",
+and any sections Entitled "Dedications". You must delete all sections
+Entitled "Endorsements".
+
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents
+released under this License, and replace the individual copies of this
+License in the various documents with a single copy that is included in
+the collection, provided that you follow the rules of this License for
+verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute
+it individually under this License, provided you insert a copy of this
+License into the extracted document, and follow this License in all
+other respects regarding verbatim copying of that document.
+
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, is called an "aggregate" if the copyright
+resulting from the compilation is not used to limit the legal rights
+of the compilation's users beyond what the individual works permit.
+When the Document is included in an aggregate, this License does not
+apply to the other works in the aggregate which are not themselves
+derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one half of
+the entire aggregate, the Document's Cover Texts may be placed on
+covers that bracket the Document within the aggregate, or the
+electronic equivalent of covers if the Document is in electronic form.
+Otherwise they must appear on printed covers that bracket the whole
+aggregate.
+
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections. You may include a
+translation of this License, and all the license notices in the
+Document, and any Warranty Disclaimers, provided that you also include
+the original English version of this License and the original versions
+of those notices and disclaimers. In case of a disagreement between
+the translation and the original version of this License or a notice
+or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled "Acknowledgements",
+"Dedications", or "History", the requirement (section 4) to Preserve
+its Title (section 1) will typically require changing the actual
+title.
+
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except
+as expressly provided for under this License. Any other attempt to
+copy, modify, sublicense or distribute the Document is void, and will
+automatically terminate your rights under this License. However,
+parties who have received copies, or rights, from you under this
+License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions
+of the GNU Free Documentation License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns. See
+http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License "or any later version" applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation. If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation.
+
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and
+license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.2
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license is included in the section entitled "GNU
+ Free Documentation License".
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the
+ Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+
+If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License,
+to permit their use in free software.
diff --git a/meta/files/common-licenses/GFDL-1.3 b/meta/files/common-licenses/GFDL-1.3
new file mode 100644
index 000000000..2f7e03ca5
--- /dev/null
+++ b/meta/files/common-licenses/GFDL-1.3
@@ -0,0 +1,451 @@
+
+ GNU Free Documentation License
+ Version 1.3, 3 November 2008
+
+
+ Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+ <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other
+functional and useful document "free" in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it,
+with or without modifying it, either commercially or noncommercially.
+Secondarily, this License preserves for the author and publisher a way
+to get credit for their work, while not being considered responsible
+for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative
+works of the document must themselves be free in the same sense. It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.
+
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does. But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book. We recommend this License
+principally for works whose purpose is instruction or reference.
+
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that
+contains a notice placed by the copyright holder saying it can be
+distributed under the terms of this License. Such a notice grants a
+world-wide, royalty-free license, unlimited in duration, to use that
+work under the conditions stated herein. The "Document", below,
+refers to any such manual or work. Any member of the public is a
+licensee, and is addressed as "you". You accept the license if you
+copy, modify or distribute the work in a way requiring permission
+under copyright law.
+
+A "Modified Version" of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of
+the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall
+subject (or to related matters) and contains nothing that could fall
+directly within that overall subject. (Thus, if the Document is in
+part a textbook of mathematics, a Secondary Section may not explain
+any mathematics.) The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License. If a
+section does not fit the above definition of Secondary then it is not
+allowed to be designated as Invariant. The Document may contain zero
+Invariant Sections. If the Document does not identify any Invariant
+Sections then there are none.
+
+The "Cover Texts" are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License. A Front-Cover Text may
+be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A "Transparent" copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, that is suitable for revising the document
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters. A copy made in an otherwise Transparent file
+format whose markup, or absence of markup, has been arranged to thwart
+or discourage subsequent modification by readers is not Transparent.
+An image format is not Transparent if used for any substantial amount
+of text. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain
+ASCII without markup, Texinfo input format, LaTeX input format, SGML
+or XML using a publicly available DTD, and standard-conforming simple
+HTML, PostScript or PDF designed for human modification. Examples of
+transparent image formats include PNG, XCF and JPG. Opaque formats
+include proprietary formats that can be read and edited only by
+proprietary word processors, SGML or XML for which the DTD and/or
+processing tools are not generally available, and the
+machine-generated HTML, PostScript or PDF produced by some word
+processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page. For works in
+formats which do not have any title page as such, "Title Page" means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.
+
+The "publisher" means any person or entity that distributes copies of
+the Document to the public.
+
+A section "Entitled XYZ" means a named subunit of the Document whose
+title either is precisely XYZ or contains XYZ in parentheses following
+text that translates XYZ in another language. (Here XYZ stands for a
+specific section name mentioned below, such as "Acknowledgements",
+"Dedications", "Endorsements", or "History".) To "Preserve the Title"
+of such a section when you modify the Document means that it remains a
+section "Entitled XYZ" according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which
+states that this License applies to the Document. These Warranty
+Disclaimers are considered to be included by reference in this
+License, but only as regards disclaiming warranties: any other
+implication that these Warranty Disclaimers may have is void and has
+no effect on the meaning of this License.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no
+other conditions whatsoever to those of this License. You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute. However, you may accept
+compensation in exchange for copies. If you distribute a large enough
+number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have
+printed covers) of the Document, numbering more than 100, and the
+Document's license notice requires Cover Texts, you must enclose the
+copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover. Both covers must also clearly and legibly identify
+you as the publisher of these copies. The front cover must present
+the full title with all words of the title equally prominent and
+visible. You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+
+If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a computer-network location from which the general network-using
+public has access to download using public-standard network protocols
+a complete Transparent copy of the Document, free of added material.
+If you use the latter option, you must take reasonably prudent steps,
+when you begin distribution of Opaque copies in quantity, to ensure
+that this Transparent copy will remain thus accessible at the stated
+location until at least one year after the last time you distribute an
+Opaque copy (directly or through your agents or retailers) of that
+edition to the public.
+
+It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to
+give them a chance to provide you with an updated version of the
+Document.
+
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under
+the conditions of sections 2 and 3 above, provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it. In addition, you must do these things in the Modified Version:
+
+A. Use in the Title Page (and on the covers, if any) a title distinct
+ from that of the Document, and from those of previous versions
+ (which should, if there were any, be listed in the History section
+ of the Document). You may use the same title as a previous version
+ if the original publisher of that version gives permission.
+B. List on the Title Page, as authors, one or more persons or entities
+ responsible for authorship of the modifications in the Modified
+ Version, together with at least five of the principal authors of the
+ Document (all of its principal authors, if it has fewer than five),
+ unless they release you from this requirement.
+C. State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+D. Preserve all the copyright notices of the Document.
+E. Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+F. Include, immediately after the copyright notices, a license notice
+ giving the public permission to use the Modified Version under the
+ terms of this License, in the form shown in the Addendum below.
+G. Preserve in that license notice the full lists of Invariant Sections
+ and required Cover Texts given in the Document's license notice.
+H. Include an unaltered copy of this License.
+I. Preserve the section Entitled "History", Preserve its Title, and add
+ to it an item stating at least the title, year, new authors, and
+ publisher of the Modified Version as given on the Title Page. If
+ there is no section Entitled "History" in the Document, create one
+ stating the title, year, authors, and publisher of the Document as
+ given on its Title Page, then add an item describing the Modified
+ Version as stated in the previous sentence.
+J. Preserve the network location, if any, given in the Document for
+ public access to a Transparent copy of the Document, and likewise
+ the network locations given in the Document for previous versions
+ it was based on. These may be placed in the "History" section.
+ You may omit a network location for a work that was published at
+ least four years before the Document itself, or if the original
+ publisher of the version it refers to gives permission.
+K. For any section Entitled "Acknowledgements" or "Dedications",
+ Preserve the Title of the section, and preserve in the section all
+ the substance and tone of each of the contributor acknowledgements
+ and/or dedications given therein.
+L. Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section titles.
+M. Delete any section Entitled "Endorsements". Such a section
+ may not be included in the Modified Version.
+N. Do not retitle any existing section to be Entitled "Endorsements"
+ or to conflict in title with any Invariant Section.
+O. Preserve any Warranty Disclaimers.
+
+If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant. To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.
+
+You may add a section Entitled "Endorsements", provided it contains
+nothing but endorsements of your Modified Version by various
+parties--for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version. Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity. If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this
+License, under the terms defined in section 4 above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy. If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled "History"
+in the various original documents, forming one section Entitled
+"History"; likewise combine any sections Entitled "Acknowledgements",
+and any sections Entitled "Dedications". You must delete all sections
+Entitled "Endorsements".
+
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other
+documents released under this License, and replace the individual
+copies of this License in the various documents with a single copy
+that is included in the collection, provided that you follow the rules
+of this License for verbatim copying of each of the documents in all
+other respects.
+
+You may extract a single document from such a collection, and
+distribute it individually under this License, provided you insert a
+copy of this License into the extracted document, and follow this
+License in all other respects regarding verbatim copying of that
+document.
+
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, is called an "aggregate" if the copyright
+resulting from the compilation is not used to limit the legal rights
+of the compilation's users beyond what the individual works permit.
+When the Document is included in an aggregate, this License does not
+apply to the other works in the aggregate which are not themselves
+derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one half of
+the entire aggregate, the Document's Cover Texts may be placed on
+covers that bracket the Document within the aggregate, or the
+electronic equivalent of covers if the Document is in electronic form.
+Otherwise they must appear on printed covers that bracket the whole
+aggregate.
+
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections. You may include a
+translation of this License, and all the license notices in the
+Document, and any Warranty Disclaimers, provided that you also include
+the original English version of this License and the original versions
+of those notices and disclaimers. In case of a disagreement between
+the translation and the original version of this License or a notice
+or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled "Acknowledgements",
+"Dedications", or "History", the requirement (section 4) to Preserve
+its Title (section 1) will typically require changing the actual
+title.
+
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense, or distribute it is void, and
+will automatically terminate your rights under this License.
+
+However, if you cease all violation of this License, then your license
+from a particular copyright holder is reinstated (a) provisionally,
+unless and until the copyright holder explicitly and finally
+terminates your license, and (b) permanently, if the copyright holder
+fails to notify you of the violation by some reasonable means prior to
+60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, receipt of a copy of some or all of the same material does
+not give you any rights to use it.
+
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the
+GNU Free Documentation License from time to time. Such new versions
+will be similar in spirit to the present version, but may differ in
+detail to address new problems or concerns. See
+http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License "or any later version" applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation. If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation. If the Document
+specifies that a proxy can decide which future versions of this
+License can be used, that proxy's public statement of acceptance of a
+version permanently authorizes you to choose that version for the
+Document.
+
+11. RELICENSING
+
+"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
+World Wide Web server that publishes copyrightable works and also
+provides prominent facilities for anybody to edit those works. A
+public wiki that anybody can edit is an example of such a server. A
+"Massive Multiauthor Collaboration" (or "MMC") contained in the site
+means any set of copyrightable works thus published on the MMC site.
+
+"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+license published by Creative Commons Corporation, a not-for-profit
+corporation with a principal place of business in San Francisco,
+California, as well as future copyleft versions of that license
+published by that same organization.
+
+"Incorporate" means to publish or republish a Document, in whole or in
+part, as part of another Document.
+
+An MMC is "eligible for relicensing" if it is licensed under this
+License, and if all works that were first published under this License
+somewhere other than this MMC, and subsequently incorporated in whole or
+in part into the MMC, (1) had no cover texts or invariant sections, and
+(2) were thus incorporated prior to November 1, 2008.
+
+The operator of an MMC Site may republish an MMC contained in the site
+under CC-BY-SA on the same site at any time before August 1, 2009,
+provided the MMC is eligible for relicensing.
+
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and
+license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.3
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license is included in the section entitled "GNU
+ Free Documentation License".
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the
+ Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+
+If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License,
+to permit their use in free software.
diff --git a/meta/files/common-licenses/GPL b/meta/files/common-licenses/GPL
new file mode 100644
index 000000000..443254047
--- /dev/null
+++ b/meta/files/common-licenses/GPL
@@ -0,0 +1,676 @@
+
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ 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 3 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, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+
diff --git a/meta/files/common-licenses/GPLv2 b/meta/files/common-licenses/GPLv2
new file mode 100644
index 000000000..d511905c1
--- /dev/null
+++ b/meta/files/common-licenses/GPLv2
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ 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.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/meta/files/common-licenses/GPLv3 b/meta/files/common-licenses/GPLv3
new file mode 100644
index 000000000..443254047
--- /dev/null
+++ b/meta/files/common-licenses/GPLv3
@@ -0,0 +1,676 @@
+
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ 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 3 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, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+
diff --git a/meta/files/common-licenses/LGPL b/meta/files/common-licenses/LGPL
new file mode 100644
index 000000000..fc8a5de7e
--- /dev/null
+++ b/meta/files/common-licenses/LGPL
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/meta/files/common-licenses/LGPLv2 b/meta/files/common-licenses/LGPLv2
new file mode 100644
index 000000000..2676d08ae
--- /dev/null
+++ b/meta/files/common-licenses/LGPLv2
@@ -0,0 +1,481 @@
+ GNU LIBRARY GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1991 Free Software Foundation, Inc.
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the library GPL. It is
+ numbered 2 because it goes with version 2 of the ordinary GPL.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Library General Public License, applies to some
+specially designated Free Software Foundation software, and to any
+other libraries whose authors decide to use it. You can use it for
+your libraries, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if
+you distribute copies of the library, or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link a program with the library, you must provide
+complete object files to the recipients so that they can relink them
+with the library, after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ Our method of protecting your rights has two steps: (1) copyright
+the library, and (2) offer you this license which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ Also, for each distributor's protection, we want to make certain
+that everyone understands that there is no warranty for this free
+library. If the library is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original
+version, so that any problems introduced by others will not reflect on
+the original authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that companies distributing free
+software will individually obtain patent licenses, thus in effect
+transforming the program into proprietary software. To prevent this,
+we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
+
+ Most GNU software, including some libraries, is covered by the ordinary
+GNU General Public License, which was designed for utility programs. This
+license, the GNU Library General Public License, applies to certain
+designated libraries. This license is quite different from the ordinary
+one; be sure to read it in full, and don't assume that anything in it is
+the same as in the ordinary license.
+
+ The reason we have a separate public license for some libraries is that
+they blur the distinction we usually make between modifying or adding to a
+program and simply using it. Linking a program with a library, without
+changing the library, is in some sense simply using the library, and is
+analogous to running a utility program or application program. However, in
+a textual and legal sense, the linked executable is a combined work, a
+derivative of the original library, and the ordinary General Public License
+treats it as such.
+
+ Because of this blurred distinction, using the ordinary General
+Public License for libraries did not effectively promote software
+sharing, because most developers did not use the libraries. We
+concluded that weaker conditions might promote sharing better.
+
+ However, unrestricted linking of non-free programs would deprive the
+users of those programs of all benefit from the free status of the
+libraries themselves. This Library General Public License is intended to
+permit developers of non-free programs to use free libraries, while
+preserving your freedom as a user of such programs to change the free
+libraries that are incorporated in them. (We have not seen how to achieve
+this as regards changes in header files, but we have achieved it as regards
+changes in the actual functions of the Library.) The hope is that this
+will lead to faster development of free libraries.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, while the latter only
+works together with the library.
+
+ Note that it is possible for a library to be covered by the ordinary
+General Public License rather than by this special one.
+
+ GNU LIBRARY GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library which
+contains a notice placed by the copyright holder or other authorized
+party saying it may be distributed under the terms of this Library
+General Public License (also called "this License"). Each licensee is
+addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also compile or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ c) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ d) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the source code distributed need not include anything that is normally
+distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Library General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/meta/files/common-licenses/LGPLv2.1 b/meta/files/common-licenses/LGPLv2.1
new file mode 100644
index 000000000..2d2d780e6
--- /dev/null
+++ b/meta/files/common-licenses/LGPLv2.1
@@ -0,0 +1,510 @@
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations
+below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it
+becomes a de-facto standard. To achieve this, non-free programs must
+be allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control
+compilation and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at least
+ three years, to give the same user the materials specified in
+ Subsection 6a, above, for a charge no more than the cost of
+ performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply, and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License
+may add an explicit geographical distribution limitation excluding those
+countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms
+of the ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library.
+It is safest to attach them to the start of each source file to most
+effectively convey the exclusion of warranty; and each file should
+have at least the "copyright" line and a pointer to where the full
+notice is found.
+
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or
+your school, if any, to sign a "copyright disclaimer" for the library,
+if necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James
+ Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
diff --git a/meta/files/common-licenses/LGPLv3 b/meta/files/common-licenses/LGPLv3
new file mode 100644
index 000000000..fc8a5de7e
--- /dev/null
+++ b/meta/files/common-licenses/LGPLv3
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/meta/lib/oe/patch.py b/meta/lib/oe/patch.py
index f203d683d..c8eeb8bc4 100644
--- a/meta/lib/oe/patch.py
+++ b/meta/lib/oe/patch.py
@@ -72,14 +72,14 @@ class PatchSet(object):
if not patch.get("remote"):
raise PatchError("Patch file must be specified in patch import.")
else:
- patch["file"] = bb.fetch.localpath(patch["remote"], self.d)
+ patch["file"] = bb.fetch2.localpath(patch["remote"], self.d)
for param in PatchSet.defaults:
if not patch.get(param):
patch[param] = PatchSet.defaults[param]
if patch.get("remote"):
- patch["file"] = bb.data.expand(bb.fetch.localpath(patch["remote"], self.d), self.d)
+ patch["file"] = bb.data.expand(bb.fetch2.localpath(patch["remote"], self.d), self.d)
patch["filemd5"] = bb.utils.md5_file(patch["file"])
@@ -293,7 +293,7 @@ class QuiltTree(PatchSet):
if type == "file":
import shutil
if not patch.get("file") and patch.get("remote"):
- patch["file"] = bb.fetch.localpath(patch["remote"], self.d)
+ patch["file"] = bb.fetch2.localpath(patch["remote"], self.d)
shutil.copyfile(patch["quiltfile"], patch["file"])
else:
diff --git a/meta/recipes-bsp/apmd/apmd-3.2.2-14/workaround.patch b/meta/recipes-bsp/apmd/apmd-3.2.2-14/workaround.patch
deleted file mode 100644
index d37380397..000000000
--- a/meta/recipes-bsp/apmd/apmd-3.2.2-14/workaround.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-# this workaround is there in OE since 2003. It looks to provide a workaround
-# allowing others sending SIGUSR1 to cause an apm suspend event. Disable it for
-# now.
-#
-# comment added by Kevin Tian <kevin.tian@intel.com>, 2010-07-13
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- apmd-3.2.2.orig/apmd.c~workaround.patch
-+++ apmd-3.2.2.orig/apmd.c
-@@ -158,6 +158,7 @@
- static int quiet_bios_batlow; /* = 0 */
- static int verbosity = DEFAULT_VERBOSITY;
- static int warn_level = 10;
-+static int sleep_now = 0; /* ntp */
-
- static uid_t apmd_uid = 0;
- static int apmd_fd = -1;
-@@ -942,6 +943,12 @@
- exit(0);
- }
-
-+/* ntp */
-+static void sig_usr1(int sig)
-+{
-+ sleep_now = 1;
-+}
-+
- int main(int argc, char **argv)
- {
- int c;
-@@ -1151,6 +1158,8 @@
- openlog("apmd", (verbosity>=LOG_DEBUG)?LOG_PERROR:0 | LOG_PID | LOG_CONS, LOG_DAEMON);
-
- /* Set up signal handler */
-+ if (signal(SIGUSR1, SIG_IGN) != SIG_IGN)
-+ signal(SIGUSR1, sig_usr1); /* ntp */
- if (signal(SIGINT, SIG_IGN) != SIG_IGN)
- signal(SIGINT, sig_handler);
- if (signal(SIGQUIT, SIG_IGN) != SIG_IGN)
-@@ -1230,9 +1239,16 @@
-
- for (;;)
- {
-- int num_events = apm_get_events(apmd_fd, check_interval, events, MAX_EVENTS);
-+ int num_events;
- int e, a;
-
-+ /* ntp */
-+ if (sleep_now) {
-+ sleep_now = 0;
-+ handle_event(APM_USER_SUSPEND, &apminfo);
-+ }
-+
-+ num_events = apm_get_events(apmd_fd, check_interval, events, MAX_EVENTS);
- apm_read(&apminfo);
-
- if (num_events == 0) {
diff --git a/meta/recipes-bsp/apmd/apmd_3.2.2-14.bb b/meta/recipes-bsp/apmd/apmd_3.2.2-14.bb
index 5f6fce433..50d84ec39 100644
--- a/meta/recipes-bsp/apmd/apmd_3.2.2-14.bb
+++ b/meta/recipes-bsp/apmd/apmd_3.2.2-14.bb
@@ -1,12 +1,13 @@
SUMMARY = "Utilities for Advanced Power Management"
-DESCRIPTION = "The Advanced Power Management (APM) support provides access to \
-battery status information and a set of tools for managing notebook power \
-consumption."
+DESCRIPTION = "The Advanced Power Management (APM) support provides \
+access to battery status information and a set of tools for managing \
+notebook power consumption."
+HOMEPAGE = "http://apenwarr.ca/apmd/"
SECTION = "base"
PRIORITY = "required"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://apm.h;firstline=6;endline=18;md5=c9a1f79036ab14aa157e15ed75ffd769"
+ file://apm.h;firstline=6;endline=18;md5=c9a1f79036ab14aa157e15ed75ffd769"
DEPENDS = "libtool-cross"
PR = "r1"
diff --git a/meta/recipes-bsp/eee-acpi-scripts/eee-acpi-scripts_git.bb b/meta/recipes-bsp/eee-acpi-scripts/eee-acpi-scripts_git.bb
index d18672788..855da11ce 100644
--- a/meta/recipes-bsp/eee-acpi-scripts/eee-acpi-scripts_git.bb
+++ b/meta/recipes-bsp/eee-acpi-scripts/eee-acpi-scripts_git.bb
@@ -5,10 +5,10 @@ SECTION = "base"
LICENSE="GPL"
LIC_FILES_CHKSUM = "file://debian/copyright;md5=77ef83ab5f4af938a93edb61f7b74f2c"
-PV = "1.1.11+git${SRCREV}"
-PR = "r3"
+PV = "1.1.11+git${SRCPV}"
+PR = "r4"
-RDEPENDS = "pm-utils"
+RDEPENDS_${PN} = "pm-utils"
SRC_URI = "git://git.debian.org/git/debian-eeepc/eeepc-acpi-scripts.git;protocol=git \
file://remove-doc-check.patch;patch=1 \
diff --git a/meta/recipes-bsp/grub/grub_0.97.bb b/meta/recipes-bsp/grub/grub_0.97.bb
index 503dac07e..131d942cc 100644
--- a/meta/recipes-bsp/grub/grub_0.97.bb
+++ b/meta/recipes-bsp/grub/grub_0.97.bb
@@ -10,8 +10,8 @@ LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b \
file://grub/main.c;beginline=3;endline=9;md5=22a5f28d2130fff9f2a17ed54be90ed6"
-RDEPENDS = "diffutils"
-PR = "r2"
+RDEPENDS_${PN} = "diffutils"
+PR = "r3"
SRC_URI = "ftp://alpha.gnu.org/gnu/grub/grub-${PV}.tar.gz; \
file://autohell.patch;apply=yes "
diff --git a/meta/recipes-bsp/hostap/hostap-conf_1.0.bb b/meta/recipes-bsp/hostap/hostap-conf_1.0.bb
index ef004e60e..fa2947048 100644
--- a/meta/recipes-bsp/hostap/hostap-conf_1.0.bb
+++ b/meta/recipes-bsp/hostap/hostap-conf_1.0.bb
@@ -3,9 +3,9 @@ SECTION = "kernel/modules"
PRIORITY = "optional"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
-RDEPENDS = "update-modules"
+RDEPENDS_${PN} = "update-modules"
PACKAGE_ARCH = "all"
-PR = "r11"
+PR = "r12"
SRC_URI = "file://hostap_cs.modalias \
file://COPYING.patch"
diff --git a/meta/recipes-bsp/libacpi/libacpi_0.2.bb b/meta/recipes-bsp/libacpi/libacpi_0.2.bb
index 83d7cba71..b18286451 100644
--- a/meta/recipes-bsp/libacpi/libacpi_0.2.bb
+++ b/meta/recipes-bsp/libacpi/libacpi_0.2.bb
@@ -5,7 +5,7 @@ SECTION = "base"
HOMEPAGE = "http://www.ngolde.de/libacpi.html"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=fec17f82f16630adf2dfb7d2a46f21c5"
-PR = "r1"
+PR = "r2"
SRC_URI = "http://www.ngolde.de/download/libacpi-${PV}.tar.gz \
file://makefile-fix.patch;patch=1 "
@@ -20,6 +20,8 @@ FILES_${PN}-bin = "${bindir}"
COMPATIBLE_HOST = '(x86_64|i.86).*-(linux|freebsd.*)'
+CFLAGS += "-fPIC"
+
do_install() {
oe_runmake install DESTDIR=${D} PREFIX=${exec_prefix}
}
diff --git a/meta/recipes-bsp/orinoco/orinoco-conf_1.0.bb b/meta/recipes-bsp/orinoco/orinoco-conf_1.0.bb
index bc22f6f87..a24d004ad 100644
--- a/meta/recipes-bsp/orinoco/orinoco-conf_1.0.bb
+++ b/meta/recipes-bsp/orinoco/orinoco-conf_1.0.bb
@@ -3,9 +3,9 @@ SECTION = "kernel/modules"
PRIORITY = "optional"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
-RDEPENDS = "update-modules"
+RDEPENDS_${PN} = "update-modules"
PACKAGE_ARCH = "all"
-PR = "r5"
+PR = "r6"
SRC_URI = "file://orinoco_cs.conf \
file://COPYING.patch"
diff --git a/meta/recipes-bsp/pciutils/pciutils_3.1.7.bb b/meta/recipes-bsp/pciutils/pciutils_3.1.7.bb
index a48a29326..6f13ada43 100644
--- a/meta/recipes-bsp/pciutils/pciutils_3.1.7.bb
+++ b/meta/recipes-bsp/pciutils/pciutils_3.1.7.bb
@@ -9,7 +9,7 @@ LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
DEPENDS = "zlib"
RDEPENDS_${PN} = "${PN}-ids"
-PR = "r0"
+PR = "r1"
SRC_URI = "ftp://ftp.kernel.org/pub/software/utils/pciutils/pciutils-${PV}.tar.bz2 \
file://configure.patch \
@@ -47,9 +47,6 @@ do_install () {
install -d ${D}${bindir}
ln -s ../sbin/lspci ${D}${bindir}/lspci
-
- install -d ${D}${datadir}
- install -m 644 ${S}/pci.ids ${D}${datadir}
}
PACKAGES =+ "pciutils-ids libpci libpci-dev libpci-dbg"
diff --git a/meta/recipes-bsp/qemu-config/qemu-config.bb b/meta/recipes-bsp/qemu-config/qemu-config.bb
index dbe5d83b0..079267046 100644
--- a/meta/recipes-bsp/qemu-config/qemu-config.bb
+++ b/meta/recipes-bsp/qemu-config/qemu-config.bb
@@ -3,8 +3,8 @@ DESCRIPTION = "Adds scripts to use distcc on the host system under qemu"
LICENSE = "GPL"
LIC_FILES_CHKSUM = "file://${WORKDIR}/COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe"
-RDEPENDS = "distcc task-poky-nfs-server oprofileui-server rsync bash"
-PR = "r18"
+RDEPENDS_${PN} = "distcc task-poky-nfs-server oprofileui-server rsync bash"
+PR = "r19"
SRC_URI = "file://distcc.sh \
file://anjuta-remote-run \
diff --git a/meta/recipes-bsp/uboot/u-boot-mkimage-native_1.3.2.bb b/meta/recipes-bsp/uboot/u-boot-mkimage-native_1.3.2.bb
index fcba0d566..eab286c27 100644
--- a/meta/recipes-bsp/uboot/u-boot-mkimage-native_1.3.2.bb
+++ b/meta/recipes-bsp/uboot/u-boot-mkimage-native_1.3.2.bb
@@ -5,6 +5,8 @@ SECTION = "bootloader"
SRC_URI = "ftp://ftp.denx.de/pub/u-boot/u-boot-${PV}.tar.bz2 \
file://fix-arm920t-eabi.patch;patch=1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4c6cde5df68eff615d36789dc18edd3b"
+
S = "${WORKDIR}/u-boot-${PV}"
inherit native
diff --git a/meta/recipes-bsp/uboot/u-boot-omap3-git/beagleboard/name.patch b/meta/recipes-bsp/uboot/u-boot-omap3-git/beagleboard/name.patch
deleted file mode 100644
index ac03e4777..000000000
--- a/meta/recipes-bsp/uboot/u-boot-omap3-git/beagleboard/name.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- git/Makefile.orig 2008-07-25 16:21:22.000000000 -0700
-+++ git/Makefile 2008-07-27 06:49:08.000000000 -0700
-@@ -2582,8 +2582,8 @@ SMN42_config : unconfig
- #########################################################################
- ## ARM CORTEX Systems
- #########################################################################
--omap3530beagle_config : unconfig
-- @$(MKCONFIG) $(@:_config=) arm omap3 omap3530beagle
-+beagleboard_config : unconfig
-+ @$(MKCONFIG) omap3530beagle arm omap3 omap3530beagle
-
- overo_config : unconfig
- @$(MKCONFIG) $(@:_config=) arm omap3 overo
-
diff --git a/meta/recipes-bsp/uboot/u-boot-omap3_git.bb b/meta/recipes-bsp/uboot/u-boot-omap3_git.bb
deleted file mode 100644
index a083b16e9..000000000
--- a/meta/recipes-bsp/uboot/u-boot-omap3_git.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-require u-boot.inc
-
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/u-boot-omap3-git/${MACHINE}"
-
-PV = "2008.10-rc2+${PR}+git${SRCREV}"
-PR="r2"
-
-SRC_URI = "git://gitorious.org/u-boot-omap3/mainline.git;branch=master;protocol=git"
-
-UBOOT_MACHINE_beagleboard = "omap3_beagle_config"
-UBOOT_MACHINE_omap3evm = "omap3_evm_config"
-UBOOT_MACHINE_overo = "omap3_overo_config"
-
-S = "${WORKDIR}/git"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-COMPATIBLE_MACHINE = "(beagleboard|omap3evm|overo)"
diff --git a/meta/recipes-bsp/uboot/u-boot.inc b/meta/recipes-bsp/uboot/u-boot.inc
index 889f6215e..6363474e5 100644
--- a/meta/recipes-bsp/uboot/u-boot.inc
+++ b/meta/recipes-bsp/uboot/u-boot.inc
@@ -9,7 +9,8 @@ inherit deploy
PARALLEL_MAKE=""
-EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}"
+# GCC 4.5.1 builds unusable binaries using -Os, remove it from OPTFLAGS
+EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} OPTFLAGS=''"
UBOOT_MACHINE ?= "${MACHINE}_config"
UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.bin"
diff --git a/meta/recipes-bsp/uboot/u-boot_git.bb b/meta/recipes-bsp/uboot/u-boot_git.bb
new file mode 100644
index 000000000..16a1dbefa
--- /dev/null
+++ b/meta/recipes-bsp/uboot/u-boot_git.bb
@@ -0,0 +1,21 @@
+require u-boot.inc
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4c6cde5df68eff615d36789dc18edd3b \
+ file://README;beginline=1;endline=22;md5=3a00ef51d3fc96e9d6c1bc4708ccd3b5"
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/u-boot-git/${MACHINE}"
+
+PV = "v2010.12+${PR}+git${SRCPV}"
+PR="r0"
+
+SRC_URI = "git://git.denx.de/u-boot.git;branch=master;protocol=git"
+
+UBOOT_MACHINE_beagleboard = "omap3_beagle_config"
+UBOOT_MACHINE_overo = "omap3_overo_config"
+
+S = "${WORKDIR}/git"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+COMPATIBLE_MACHINE = "(beagleboard|overo)"
diff --git a/meta/recipes-bsp/usbutils/usbutils_0.86.bb b/meta/recipes-bsp/usbutils/usbutils_0.86.bb
index 4e8d0b3d7..239de2488 100644
--- a/meta/recipes-bsp/usbutils/usbutils_0.86.bb
+++ b/meta/recipes-bsp/usbutils/usbutils_0.86.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "libusb zlib"
RDEPENDS_${PN} = "${PN}-ids"
-PR = "r0"
+PR = "r1"
SRC_URI = "${SOURCEFORGE_MIRROR}/linux-usb/usbutils-${PV}.tar.gz"
@@ -20,9 +20,10 @@ inherit autotools
do_install_append() {
ln -s ../sbin/lsusb ${D}${bindir}/lsusb
+ # We only need the compressed copy, remove the uncompressed version
+ rm -f ${D}${datadir}/usb.ids
}
PACKAGES += "${PN}-ids"
-
FILES_${PN} += "${datadir}/pkgconfig"
FILES_${PN}-ids = "${datadir}/usb*"
diff --git a/meta/recipes-bsp/v86d/v86d_0.1.9.bb b/meta/recipes-bsp/v86d/v86d_0.1.9.bb
index 808dd4e1e..d9925d8b1 100644
--- a/meta/recipes-bsp/v86d/v86d_0.1.9.bb
+++ b/meta/recipes-bsp/v86d/v86d_0.1.9.bb
@@ -16,7 +16,7 @@ SRC_URI[md5sum] = "ebbbc8e7013c9544b6ba6981add43831"
SRC_URI[sha256sum] = "8167dec4ff919cfd73f854bbd3244f05c2b867e014fa8298044ea7cfd66d18a8"
PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_MACHINE = "(qemux86|bootcdx86)"
+COMPATIBLE_MACHINE = "(qemux86)"
INITSCRIPT_NAME = "fbsetup"
INITSCRIPT_PARAMS = "start 0 S ."
diff --git a/meta/recipes-bsp/x-load/files/signGP.c b/meta/recipes-bsp/x-load/files/signGP.c
deleted file mode 100644
index 932506401..000000000
--- a/meta/recipes-bsp/x-load/files/signGP.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
-*/
-
-
-//
-// signGP.c
-// Read the x-load.bin file and write out the x-load.bin.ift file.
-// The signed image is the original pre-pended with the size of the image
-// and the load address. If not entered on command line, file name is
-// assumed to be x-load.bin in current directory and load address is
-// 0x40200800.
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <string.h>
-#include <malloc.h>
-
-
-main(int argc, char *argv[])
-{
- int i;
- char ifname[FILENAME_MAX], ofname[FILENAME_MAX], ch;
- FILE *ifile, *ofile;
- unsigned long loadaddr, len;
- struct stat sinfo;
-
-
- // Default to x-load.bin and 0x40200800.
- strcpy(ifname, "x-load.bin");
- loadaddr = 0x40200800;
-
- if ((argc == 2) || (argc == 3))
- strcpy(ifname, argv[1]);
-
- if (argc == 3)
- loadaddr = strtol(argv[2], NULL, 16);
-
- // Form the output file name.
- strcpy(ofname, ifname);
- strcat(ofname, ".ift");
-
- // Open the input file.
- ifile = fopen(ifname, "rb");
- if (ifile == NULL) {
- printf("Cannot open %s\n", ifname);
- exit(0);
- }
-
- // Get file length.
- stat(ifname, &sinfo);
- len = sinfo.st_size;
-
- // Open the output file and write it.
- ofile = fopen(ofname, "wb");
- if (ofile == NULL) {
- printf("Cannot open %s\n", ofname);
- fclose(ifile);
- exit(0);
- }
-
- // Pad 1 sector of zeroes.
- //ch = 0x00;
- //for (i=0; i<0x200; i++)
- // fwrite(&ch, 1, 1, ofile);
-
- fwrite(&len, 1, 4, ofile);
- fwrite(&loadaddr, 1, 4, ofile);
- for (i=0; i<len; i++) {
- fread(&ch, 1, 1, ifile);
- fwrite(&ch, 1, 1, ofile);
- }
-
- fclose(ifile);
- fclose(ofile);
-}
diff --git a/meta/recipes-bsp/x-load/signgp-native.bb b/meta/recipes-bsp/x-load/signgp-native.bb
deleted file mode 100644
index ae8c8f9dc..000000000
--- a/meta/recipes-bsp/x-load/signgp-native.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-LICENSE = "BSD"
-DESCRIPTION = "Tool to sign omap3 x-loader images"
-
-inherit native
-SRC_URI = "file://signGP.c"
-
-do_compile() {
- ${CC} ${CFLAGS} ${LDFLAGS} ${WORKDIR}/signGP.c -o signGP
-}
-
-do_install() {
- install -d ${D}${bindir}/
- install -m 0755 signGP ${D}${bindir}/
-}
diff --git a/meta/recipes-bsp/x-load/x-load-git/beagleboard/armv7-a.patch b/meta/recipes-bsp/x-load/x-load-git/beagleboard/armv7-a.patch
deleted file mode 100644
index 3131cda6b..000000000
--- a/meta/recipes-bsp/x-load/x-load-git/beagleboard/armv7-a.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- git/cpu/omap3/config.mk-orig 2008-05-27 16:46:45.000000000 -0700
-+++ git/cpu/omap3/config.mk 2008-05-29 12:50:49.000000000 -0700
-@@ -23,7 +23,7 @@
- PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8 \
- -msoft-float
-
--PLATFORM_CPPFLAGS += -march=armv7a
-+PLATFORM_CPPFLAGS += -march=armv7-a
- # =========================================================================
- #
- # Supply options according to compiler version
diff --git a/meta/recipes-bsp/x-load/x-load-git/beagleboard/name.patch b/meta/recipes-bsp/x-load/x-load-git/beagleboard/name.patch
index 98dcbae49..d0fb99699 100644
--- a/meta/recipes-bsp/x-load/x-load-git/beagleboard/name.patch
+++ b/meta/recipes-bsp/x-load/x-load-git/beagleboard/name.patch
@@ -1,14 +1,16 @@
---- git/Makefile-orig 2008-07-29 22:31:03.000000000 -0700
-+++ git/Makefile 2008-07-29 22:34:36.000000000 -0700
-@@ -152,9 +152,9 @@ omap3evm_config : unconfig
+Index: git/Makefile
+===================================================================
+--- git.orig/Makefile
++++ git/Makefile
+@@ -225,8 +225,9 @@ omap3evm_config : unconfig
overo_config : unconfig
- @./mkconfig $(@:_config=) arm omap3 overo
+ @$(MKCONFIG) $(@:_config=) arm omap3 overo
-omap3530beagle_config : unconfig
+- @$(MKCONFIG) $(@:_config=) arm omap3 omap3530beagle
+beagleboard_config : unconfig
-
-- @./mkconfig $(@:_config=) arm omap3 omap3530beagle
++ @$(MKCONFIG) omap3530beagle arm omap3 omap3530beagle
+ @./mkconfig omap3530beagle arm omap3 omap3530beagle
#########################################################################
-
+ ## OMAP4 (ARM-CortexA9) Systems
diff --git a/meta/recipes-bsp/x-load/x-load-git/omap3evm/armv7-a.patch b/meta/recipes-bsp/x-load/x-load-git/omap3evm/armv7-a.patch
deleted file mode 100644
index 3131cda6b..000000000
--- a/meta/recipes-bsp/x-load/x-load-git/omap3evm/armv7-a.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- git/cpu/omap3/config.mk-orig 2008-05-27 16:46:45.000000000 -0700
-+++ git/cpu/omap3/config.mk 2008-05-29 12:50:49.000000000 -0700
-@@ -23,7 +23,7 @@
- PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8 \
- -msoft-float
-
--PLATFORM_CPPFLAGS += -march=armv7a
-+PLATFORM_CPPFLAGS += -march=armv7-a
- # =========================================================================
- #
- # Supply options according to compiler version
diff --git a/meta/recipes-bsp/x-load/x-load-git/overo/armv7-a.patch b/meta/recipes-bsp/x-load/x-load-git/overo/armv7-a.patch
deleted file mode 100644
index 3131cda6b..000000000
--- a/meta/recipes-bsp/x-load/x-load-git/overo/armv7-a.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- git/cpu/omap3/config.mk-orig 2008-05-27 16:46:45.000000000 -0700
-+++ git/cpu/omap3/config.mk 2008-05-29 12:50:49.000000000 -0700
-@@ -23,7 +23,7 @@
- PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8 \
- -msoft-float
-
--PLATFORM_CPPFLAGS += -march=armv7a
-+PLATFORM_CPPFLAGS += -march=armv7-a
- # =========================================================================
- #
- # Supply options according to compiler version
diff --git a/meta/recipes-bsp/x-load/x-load.inc b/meta/recipes-bsp/x-load/x-load.inc
index 7073b13fe..a98ec8fb7 100644
--- a/meta/recipes-bsp/x-load/x-load.inc
+++ b/meta/recipes-bsp/x-load/x-load.inc
@@ -5,7 +5,7 @@ LICENSE = "GPL"
inherit deploy
-DEPENDS = "signgp-native"
+DEPENDS = ""
PARALLEL_MAKE=""
@@ -24,11 +24,10 @@ do_compile () {
unset CPPFLAGS
oe_runmake distclean
oe_runmake ${XLOAD_MACHINE}
- oe_runmake
+ oe_runmake ift
}
do_deploy () {
- signGP ${S}/x-load.bin
install ${S}/x-load.bin.ift ${DEPLOYDIR}/${XLOAD_IMAGE}
install ${S}/x-load.bin.ift ${DEPLOYDIR}/${MLO_IMAGE}
diff --git a/meta/recipes-bsp/x-load/x-load_git.bb b/meta/recipes-bsp/x-load/x-load_git.bb
index 49f867e1b..fc2927ef0 100644
--- a/meta/recipes-bsp/x-load/x-load_git.bb
+++ b/meta/recipes-bsp/x-load/x-load_git.bb
@@ -2,24 +2,19 @@ require x-load.inc
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/x-load-git/${MACHINE}"
-PV = "1.42+${PR}+git${SRCREV}"
-PR="r12"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://README;beginline=1;endline=25;md5=ef08d08cb99057bbb5b9d6d0c5a4396f"
-SRC_URI = "git://www.sakoman.net/git/x-load-omap3.git;branch=master;protocol=git"
+PV = "1.42+${PR}+git${SRCPV}"
+PR="r13"
+
+#SRC_URI = "git://www.sakoman.net/git/x-load-omap3.git;branch=master;protocol=git"
+#SRC_URI = "git://gitorious.org/x-load-omap3/mainline.git;branch=master;protocol=git"
+SRC_URI = "git://gitorious.org/x-loader/x-loader.git;branch=master;protocol=git"
SRC_URI_append_beagleboard = " \
file://name.patch;patch=1 \
- file://armv7-a.patch;patch=1 \
- "
-
-SRC_URI_append_omap3evm = " \
- file://armv7-a.patch;patch=1 \
"
-
-SRC_URI_append_overo = " \
- file://armv7-a.patch;patch=1 \
- "
-
S = "${WORKDIR}/git"
PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta/recipes-bsp/zaurusd/zaurusd_svn.bb b/meta/recipes-bsp/zaurusd/zaurusd_svn.bb
index 523f72dbd..455a29fa9 100644
--- a/meta/recipes-bsp/zaurusd/zaurusd_svn.bb
+++ b/meta/recipes-bsp/zaurusd/zaurusd_svn.bb
@@ -3,8 +3,9 @@ SECTION = "base"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "tslib"
-RDEPENDS = "xrandr"
-PV = "0.0+svnr${SRCREV}"
+RDEPENDS_${PN} = "xrandr"
+PV = "0.0+svnr${SRCPV}"
+PR = "r2"
SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=zaurusd;proto=http"
diff --git a/meta/recipes-connectivity/avahi/avahi.inc b/meta/recipes-connectivity/avahi/avahi.inc
index b266ea414..9f83d8dad 100644
--- a/meta/recipes-connectivity/avahi/avahi.inc
+++ b/meta/recipes-connectivity/avahi/avahi.inc
@@ -16,7 +16,7 @@ PRIORITY = "optional"
LICENSE = "GPLv2+ & LGPLv2.1+"
DEPENDS = "expat libcap libdaemon dbus glib-2.0 gtk+ libglade"
-RRECOMMENDS = "libnss-mdns"
+RRECOMMENDS_${PN} = "libnss-mdns"
RRECOMMENDS_avahi-daemon = "libnss-mdns"
SRC_URI = "http://avahi.org/download/avahi-${PV}.tar.gz \
@@ -37,11 +37,14 @@ EXTRA_OECONF = "--with-distro=debian \
--disable-python \
--disable-doxygen-doc"
-PACKAGES =+ "avahi-daemon libavahi-common libavahi-core libavahi-client avahi-dnsconfd libavahi-glib libavahi-gobject avahi-autoipd avahi-utils libavahi-ui avahi-ui-utils"
+PACKAGES =+ "avahi-daemon libavahi-common libavahi-core libavahi-client avahi-dnsconfd libavahi-glib libavahi-gobject avahi-autoipd avahi-ui-utils avahi-utils libavahi-ui libavahi-ui-dev"
FILES_libavahi-common = "${libdir}/libavahi-common.so.*"
FILES_libavahi-core = "${libdir}/libavahi-core.so.*"
FILES_libavahi-ui = "${libdir}/libavahi-ui.so.*"
+FILES_libavahi-ui-dev = "${libdir}/libavahi-ui.* \
+ ${includedir}/avahi-ui/* \
+ ${libdir}/pkgconfig/avahi-ui.pc"
FILES_avahi-daemon = "${sbindir}/avahi-daemon \
${sysconfdir}/avahi/avahi-daemon.conf \
${sysconfdir}/avahi/hosts \
@@ -59,9 +62,13 @@ FILES_libavahi-glib = "${libdir}/libavahi-glib.so.*"
FILES_libavahi-gobject = "${libdir}/libavahi-gobject.so.*"
FILES_avahi-utils = "${bindir}/avahi-*"
FILES_avahi-ui-utils = "${bindir}/bssh ${bindir}/bvnc ${bindir}/bshell \
+ ${bindir}/avahi-discover-standalone \
${datadir}/applications \
${datadir}/avahi/interfaces"
+RRECOMMENDS_avahi-dev = "gettext-dev expat-dev libcap-dev libdaemon-dev dbus-dev glib-2.0-dev update-rc.d-dev"
+RRECOMMENDS_avahi-dev[nodeprrecs] = 1
+
CONFFILES_avahi-daemon = "${sysconfdir}/avahi/avahi-daemon.conf"
INITSCRIPT_PACKAGES = "avahi-daemon avahi-dnsconfd"
diff --git a/meta/recipes-connectivity/avahi/avahi_0.6.28.bb b/meta/recipes-connectivity/avahi/avahi_0.6.28.bb
index b2e9efb7f..6e034b050 100644
--- a/meta/recipes-connectivity/avahi/avahi_0.6.28.bb
+++ b/meta/recipes-connectivity/avahi/avahi_0.6.28.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \
file://avahi-client/client.h;endline=23;md5=f4ac741a25c4f434039ba3e18c8674cf"
RDEPENDS_avahi-daemon = "sysvinit-pidof"
-PR = "r0"
+PR = "r2"
EXTRA_OECONF += "--disable-gtk3"
diff --git a/meta/recipes-connectivity/bind/bind-9.7.2-P2/conf.patch b/meta/recipes-connectivity/bind/bind-9.7.2-P3/conf.patch
index deeb43729..deeb43729 100644
--- a/meta/recipes-connectivity/bind/bind-9.7.2-P2/conf.patch
+++ b/meta/recipes-connectivity/bind/bind-9.7.2-P3/conf.patch
diff --git a/meta/recipes-connectivity/bind/bind-9.7.2-P2/cross-build-fix.patch b/meta/recipes-connectivity/bind/bind-9.7.2-P3/cross-build-fix.patch
index 4978379bf..4978379bf 100644
--- a/meta/recipes-connectivity/bind/bind-9.7.2-P2/cross-build-fix.patch
+++ b/meta/recipes-connectivity/bind/bind-9.7.2-P3/cross-build-fix.patch
diff --git a/meta/recipes-connectivity/bind/bind_9.7.2-P2.bb b/meta/recipes-connectivity/bind/bind_9.7.2-P3.bb
index 6aaa6ffdc..675ab1798 100644
--- a/meta/recipes-connectivity/bind/bind_9.7.2-P2.bb
+++ b/meta/recipes-connectivity/bind/bind_9.7.2-P3.bb
@@ -13,6 +13,9 @@ SRC_URI = "ftp://ftp.isc.org/isc/bind9/${PV}/${PN}-${PV}.tar.gz \
file://cross-build-fix.patch \
"
+SRC_URI[md5sum] = "b4537cbae38b2daef36775bf49f33db9"
+SRC_URI[sha256sum] = "cd945f4766be664f4528ec065df626ad3624481695316ec8e13ad272f4abfb7e"
+
# --enable-exportlib is necessary for building dhcp
EXTRA_OECONF = " --enable-ipv6=no --with-randomdev=/dev/random --disable-threads \
--disable-devpoll --disable-epoll \
@@ -50,5 +53,3 @@ CONFFILES_${PN} = " \
${sysconfdir}/bind/db.root \
"
-SRC_URI[md5sum] = "e74de6ec9c2cd27576794c873bd85f4a"
-SRC_URI[sha256sum] = "e6d5938184066fc793c28ff975e09e9721116aede2a2d6d93b1be5e8654a5c8a"
diff --git a/meta/recipes-connectivity/bluez/bluez4-4.79/bluetooth.conf b/meta/recipes-connectivity/bluez/bluez4-4.82/bluetooth.conf
index ca5e9e4f2..ca5e9e4f2 100644
--- a/meta/recipes-connectivity/bluez/bluez4-4.79/bluetooth.conf
+++ b/meta/recipes-connectivity/bluez/bluez4-4.82/bluetooth.conf
diff --git a/meta/recipes-connectivity/bluez/bluez4-4.79/fix-dfutool-usb-declaration-mismatch.patch b/meta/recipes-connectivity/bluez/bluez4-4.82/fix-dfutool-usb-declaration-mismatch.patch
index 91c802bc4..91c802bc4 100644
--- a/meta/recipes-connectivity/bluez/bluez4-4.79/fix-dfutool-usb-declaration-mismatch.patch
+++ b/meta/recipes-connectivity/bluez/bluez4-4.82/fix-dfutool-usb-declaration-mismatch.patch
diff --git a/meta/recipes-connectivity/bluez/bluez4-4.79/hid2hci_usb_init.patch b/meta/recipes-connectivity/bluez/bluez4-4.82/hid2hci_usb_init.patch
index ed15fd5a1..ed15fd5a1 100644
--- a/meta/recipes-connectivity/bluez/bluez4-4.79/hid2hci_usb_init.patch
+++ b/meta/recipes-connectivity/bluez/bluez4-4.82/hid2hci_usb_init.patch
diff --git a/meta/recipes-connectivity/bluez/bluez4-4.79/sbc-thumb.patch b/meta/recipes-connectivity/bluez/bluez4-4.82/sbc-thumb.patch
index 474423670..474423670 100644
--- a/meta/recipes-connectivity/bluez/bluez4-4.79/sbc-thumb.patch
+++ b/meta/recipes-connectivity/bluez/bluez4-4.82/sbc-thumb.patch
diff --git a/meta/recipes-connectivity/bluez/bluez4_4.79.bb b/meta/recipes-connectivity/bluez/bluez4_4.82.bb
index 54b9fc18a..9189a585f 100644
--- a/meta/recipes-connectivity/bluez/bluez4_4.79.bb
+++ b/meta/recipes-connectivity/bluez/bluez4_4.82.bb
@@ -25,8 +25,8 @@ SRC_URI = "\
file://bluetooth.conf \
"
-SRC_URI[md5sum] = "b3afea97981c1c6be04438930c57d891"
-SRC_URI[sha256sum] = "1b486824e486e7a7a17ebcbce99a417e724f42ebb17f9fe574bc4737fda6b7db"
+SRC_URI[md5sum] = "b9e5de607e5e43c868c35c68fe6f189f"
+SRC_URI[sha256sum] = "75dc506f5346e1eb803f44294ae02406e806e309d9c9bda1de7ed235ff794b6d"
S = "${WORKDIR}/bluez-${PV}"
inherit autotools
diff --git a/meta/recipes-connectivity/connman/connman-0.63/connman b/meta/recipes-connectivity/connman/connman-0.65/connman
index f01bf371c..f01bf371c 100644
--- a/meta/recipes-connectivity/connman/connman-0.63/connman
+++ b/meta/recipes-connectivity/connman/connman-0.65/connman
diff --git a/meta/recipes-connectivity/connman/connman-0.63/dbusperms.patch b/meta/recipes-connectivity/connman/connman-0.65/dbusperms.patch
index 100af0367..100af0367 100644
--- a/meta/recipes-connectivity/connman/connman-0.63/dbusperms.patch
+++ b/meta/recipes-connectivity/connman/connman-0.65/dbusperms.patch
diff --git a/meta/recipes-connectivity/connman/connman-0.63/fix-shutdown-ap-disconnect.patch b/meta/recipes-connectivity/connman/connman-0.65/fix-shutdown-ap-disconnect.patch
index a0ad0991d..a0ad0991d 100644
--- a/meta/recipes-connectivity/connman/connman-0.63/fix-shutdown-ap-disconnect.patch
+++ b/meta/recipes-connectivity/connman/connman-0.65/fix-shutdown-ap-disconnect.patch
diff --git a/meta/recipes-connectivity/connman/connman-gnome/connman-applet.desktop b/meta/recipes-connectivity/connman/connman-gnome/connman-applet.desktop
deleted file mode 100644
index 83d96ee67..000000000
--- a/meta/recipes-connectivity/connman/connman-gnome/connman-applet.desktop
+++ /dev/null
@@ -1,10 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=Connection Manager
-Comment=Connection Manager applet
-Icon=stock_internet
-Exec=connman-applet
-Terminal=false
-Type=Application
-Categories=Network;GTK;
-
diff --git a/meta/recipes-connectivity/connman/connman-gnome/remove-connman-property-desktop-file.patch b/meta/recipes-connectivity/connman/connman-gnome/remove-connman-property-desktop-file.patch
new file mode 100644
index 000000000..2a8cff359
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman-gnome/remove-connman-property-desktop-file.patch
@@ -0,0 +1,42 @@
+diff -ruN connman-gnome-0.5-orig/po/POTFILES.in connman-gnome-0.5/po/POTFILES.in
+--- connman-gnome-0.5-orig/po/POTFILES.in 2010-12-16 16:03:29.000000000 +0800
++++ connman-gnome-0.5/po/POTFILES.in 2010-12-17 10:27:17.000000000 +0800
+@@ -4,4 +4,3 @@
+ properties/advanced.c
+ properties/ethernet.c
+ properties/wifi.c
+-properties/connman-properties.desktop.in
+diff -ruN connman-gnome-0.5-orig/properties/Makefile.am connman-gnome-0.5/properties/Makefile.am
+--- connman-gnome-0.5-orig/properties/Makefile.am 2010-12-16 16:03:29.000000000 +0800
++++ connman-gnome-0.5/properties/Makefile.am 2010-12-17 10:27:09.000000000 +0800
+@@ -17,16 +17,6 @@
+
+ INCLUDES = -I$(top_srcdir)/common
+
+-desktopdir = $(datadir)/applications
+-
+-desktop_in_files = connman-properties.desktop.in
+-
+-desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
+-
+ @INTLTOOL_DESKTOP_RULE@
+
+-CLEANFILES = $(desktop_DATA)
+-
+-EXTRA_DIST = $(desktop_in_files)
+-
+ MAINTAINERCLEANFILES = Makefile.in
+diff -ruN connman-gnome-0.5-orig/properties/connman-properties.desktop.in connman-gnome-0.5/properties/connman-properties.desktop.in
+--- connman-gnome-0.5-orig/properties/connman-properties.desktop.in 2010-12-16 16:03:29.000000000 +0800
++++ connman-gnome-0.5/properties/connman-properties.desktop.in 1970-01-01 08:00:00.000000000 +0800
+@@ -1,10 +0,0 @@
+-[Desktop Entry]
+-Encoding=UTF-8
+-_Name=Connection Management
+-_Comment=Configure connection management
+-Icon=stock_internet
+-Exec=connman-properties
+-Terminal=false
+-Type=Application
+-Categories=Settings;
+-OnlyShowIn=GNOME;
diff --git a/meta/recipes-connectivity/connman/connman-gnome/service_name_update.patch b/meta/recipes-connectivity/connman/connman-gnome/service_name_update.patch
new file mode 100644
index 000000000..942cfc883
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman-gnome/service_name_update.patch
@@ -0,0 +1,36 @@
+diff -ruN connman-gnome-0.5-orig/common/connman-dbus.h connman-gnome-0.5/common/connman-dbus.h
+--- connman-gnome-0.5-orig/common/connman-dbus.h 2010-12-30 09:45:03.312043457 +0800
++++ connman-gnome-0.5/common/connman-dbus.h 2010-12-30 09:45:33.978499439 +0800
+@@ -22,7 +22,7 @@
+ #include <dbus/dbus-glib.h>
+ #include <gtk/gtk.h>
+
+-#define CONNMAN_SERVICE "org.moblin.connman"
++#define CONNMAN_SERVICE "net.connman"
+
+ #define CONNMAN_ERROR_INTERFACE CONNMAN_SERVICE ".Error"
+ #define CONNMAN_AGENT_INTERFACE CONNMAN_SERVICE ".Agent"
+diff -ruN connman-gnome-0.5-orig/common/instance.c connman-gnome-0.5/common/instance.c
+--- connman-gnome-0.5-orig/common/instance.c 2010-12-30 09:45:03.316085542 +0800
++++ connman-gnome-0.5/common/instance.c 2010-12-30 09:46:01.654479049 +0800
+@@ -29,7 +29,7 @@
+
+ #include "instance.h"
+
+-#define CONNMAN_SERVICE "org.moblin.connman"
++#define CONNMAN_SERVICE "net.connman"
+ #define CONNMAN_INSTANCE CONNMAN_SERVICE ".Instance"
+
+ static DBusGConnection *connection;
+diff -ruN connman-gnome-0.5-orig/common/instance.xml connman-gnome-0.5/common/instance.xml
+--- connman-gnome-0.5-orig/common/instance.xml 2010-12-30 09:45:03.312043457 +0800
++++ connman-gnome-0.5/common/instance.xml 2010-12-30 09:45:49.868372780 +0800
+@@ -1,7 +1,7 @@
+ <?xml version="1.0" encoding="UTF-8" ?>
+
+ <node name="/">
+- <interface name="org.moblin.connman.Instance">
++ <interface name="net.connman.Instance">
+ <method name="Present">
+ </method>
+ </interface>
diff --git a/meta/recipes-connectivity/connman/connman-gnome_0.5.bb b/meta/recipes-connectivity/connman/connman-gnome_0.5.bb
index 4729c5dfd..3b7d1b8f5 100644
--- a/meta/recipes-connectivity/connman/connman-gnome_0.5.bb
+++ b/meta/recipes-connectivity/connman/connman-gnome_0.5.bb
@@ -6,20 +6,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
file://properties/main.c;beginline=1;endline=20;md5=50c77c81871308b033ab7a1504626afb \
file://common/connman-dbus.c;beginline=1;endline=20;md5=de6b485c0e717a0236402d220187717a"
DEPENDS = "gtk+ dbus"
-PR = "r1"
+PR = "r3"
RRECOMMENDS_${PN} = "python python-dbus connman connman-plugin-ethernet connman-plugin-loopback connman-plugin-udhcp connman-plugin-wifi connman-plugin-fake connman-plugin-bluetooth connman-plugin-dnsproxy"
SRC_URI = "http://www.kernel.org/pub/linux/network/connman/connman-gnome-${PV}.tar.gz \
file://connman-gnome.patch \
- file://connman-applet.desktop"
+ file://remove-connman-property-desktop-file.patch \
+ file://service_name_update.patch"
SRC_URI[md5sum] = "0e1c4c25d19cad9b08a216848a320716"
SRC_URI[sha256sum] = "4d5fe481b444fc3e64fd9caa149dbcd76de166a25733f18fd93da01d2abf5d1c"
inherit autotools gtk-icon-cache
-
-do_install_append() {
- install -d ${D}${datadir}/applications/
- install ${WORKDIR}/connman-applet.desktop ${D}${datadir}/applications/
-}
diff --git a/meta/recipes-connectivity/connman/connman_0.63.bb b/meta/recipes-connectivity/connman/connman_0.65.bb
index e99f7840a..0b077e1d9 100644
--- a/meta/recipes-connectivity/connman/connman_0.63.bb
+++ b/meta/recipes-connectivity/connman/connman_0.65.bb
@@ -24,5 +24,5 @@ SRC_URI = "\
file://connman \
"
-SRC_URI[md5sum] = "11616a4fa1d03f96f0739730645f7c53"
-SRC_URI[sha256sum] = "e2a57376cdcd42b3876262da6959aa58428941e0eb2df9a4724cd3f1af934492"
+SRC_URI[md5sum] = "bd714da295ed2d2d91a49539f4c4fa3a"
+SRC_URI[sha256sum] = "a1c1d93da6bb4c2d8ae53293b06f237e02f5e796d2bba73ec639a466d05259c3"
diff --git a/meta/recipes-connectivity/gsm/gsmd.inc b/meta/recipes-connectivity/gsm/gsmd.inc
index 981818863..b2aebb15f 100644
--- a/meta/recipes-connectivity/gsm/gsmd.inc
+++ b/meta/recipes-connectivity/gsm/gsmd.inc
@@ -9,8 +9,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
SECTION = "libs/gsm"
PROVIDES += "gsmd"
RPROVIDES_${PN} = "libgsmd0 libgsmd gsmd gsmd-devel"
-PV = "0.1+svnr${SRCREV}"
-PR = "r0"
+PV = "0.1+svnr${SRCPV}"
+PR = "r2"
SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gsm;proto=http \
file://fix_machine_init.patch;patch=1 \
@@ -19,10 +19,8 @@ SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gsm;proto=http \
S = "${WORKDIR}/gsm"
inherit autotools pkgconfig update-rc.d
-# handle update-rc.d RDEPENDS manually, we don't need it on
-# anything but gsmd
-RDEPENDS_append = ""
+UPDATERCPN = "gsmd"
INITSCRIPT_NAME = "gsmd"
INITSCRIPT_PARAMS = "defaults 35"
diff --git a/meta/recipes-connectivity/gupnp/gupnp_0.14.0.bb b/meta/recipes-connectivity/gupnp/gupnp_0.14.0.bb
index 9beb46ed1..9f2d717c7 100644
--- a/meta/recipes-connectivity/gupnp/gupnp_0.14.0.bb
+++ b/meta/recipes-connectivity/gupnp/gupnp_0.14.0.bb
@@ -23,7 +23,7 @@ FILES_${PN}-dev += "${bindir}/gupnp-binding-tool"
SYSROOT_PREPROCESS_FUNCS += "gupnp_sysroot_preprocess"
gupnp_sysroot_preprocess () {
- install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/
- install -m 755 ${D}${bindir}/gupnp-binding-tool ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/
+ install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+ install -m 755 ${D}${bindir}/gupnp-binding-tool ${SYSROOT_DESTDIR}${bindir_crossscripts}/
}
diff --git a/meta/recipes-connectivity/gypsy/gypsy_svn.bb b/meta/recipes-connectivity/gypsy/gypsy_svn.bb
index ac1b6bc12..2e9840afd 100644
--- a/meta/recipes-connectivity/gypsy/gypsy_svn.bb
+++ b/meta/recipes-connectivity/gypsy/gypsy_svn.bb
@@ -2,7 +2,7 @@ require gypsy.inc
DEFAULT_PREFERENCE = "-1"
-PV = "0.0+svnr${SRCREV}"
+PV = "0.0+svnr${SRCPV}"
S = "${WORKDIR}/${PN}"
SRC_URI = "svn://svn.o-hand.com/repos/${PN}/trunk;module=${PN};proto=http \
diff --git a/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb b/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb
index 0cdb05752..4c94d2aea 100644
--- a/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb
+++ b/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb
@@ -7,8 +7,8 @@ LICENSE = "LGPLv2.1+"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1"
DEPENDS = "avahi"
-RDEPENDS = "avahi-daemon"
-PR = "r1"
+RDEPENDS_${PN} = "avahi-daemon"
+PR = "r2"
SRC_URI = "http://0pointer.de/lennart/projects/nss-mdns/nss-mdns-${PV}.tar.gz"
diff --git a/meta/recipes-connectivity/nfs-utils/files/fix-ac-prereq.patch b/meta/recipes-connectivity/nfs-utils/files/fix-ac-prereq.patch
new file mode 100644
index 000000000..21315206f
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/files/fix-ac-prereq.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.in b/configure.in
+index f5d54fb..c105988 100644
+--- a/configure.in
++++ b/configure.in
+@@ -1,7 +1,7 @@
+ # -*- Autoconf -*-
+ # Process this file with autoconf to produce a configure script.
+
+-AC_PREREQ([2.66])
++AC_PREREQ([2.65])
+ AC_INIT([libnfsidmap],[0.24],[linux-nfs@vger.kernel.org])
+ AC_CONFIG_SRCDIR([nfsidmap.h])
+ AC_CONFIG_MACRO_DIR([m4])
diff --git a/meta/recipes-connectivity/nfs-utils/libnfsidmap_0.23.bb b/meta/recipes-connectivity/nfs-utils/libnfsidmap_0.24.bb
index 3077ea2ee..101ecab1c 100644
--- a/meta/recipes-connectivity/nfs-utils/libnfsidmap_0.23.bb
+++ b/meta/recipes-connectivity/nfs-utils/libnfsidmap_0.24.bb
@@ -6,10 +6,12 @@ LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=d9c6a2a0ca6017fda7cd905ed2739b37"
PR = "r0"
-SRC_URI = "http://www.citi.umich.edu/projects/nfsv4/linux/libnfsidmap/${BPN}-${PV}.tar.gz"
+SRC_URI = "http://www.citi.umich.edu/projects/nfsv4/linux/libnfsidmap/${BPN}-${PV}.tar.gz \
+ file://fix-ac-prereq.patch \
+ "
-SRC_URI[md5sum] = "28f3ece648c1dc5d25e8d623d55f8bd6"
-SRC_URI[sha256sum] = "69d20cfc6be6bf7ede2a55da687dc6853f2db6c8ef826a0b5e3235e7d46f4051"
+SRC_URI[md5sum] = "d71a1ee9881d5b5814ff3ec41256937d"
+SRC_URI[sha256sum] = "59501432e683336d7a290da13767e92afb5b86f42ea4254041225fe218e8dd47"
inherit autotools
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.3.bb b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.3.bb
index d86bd0f73..b456474f9 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.3.bb
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.3.bb
@@ -10,10 +10,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
# util-linux for libblkid
DEPENDS = "libcap libnfsidmap libevent util-linux tcp-wrappers"
-RDEPENDS = "portmap"
-RRECOMMENDS = "kernel-module-nfsd"
+RDEPENDS_${PN} = "portmap"
+RRECOMMENDS_${PN} = "kernel-module-nfsd"
-PR = "r0"
+PR = "r2"
SRC_URI = "${SOURCEFORGE_MIRROR}/nfs/nfs-utils-${PV}.tar.bz2 \
file://nfs-utils-1.0.6-uclibc.patch \
diff --git a/meta/recipes-connectivity/ofono/ofono.inc b/meta/recipes-connectivity/ofono/ofono.inc
index 5abc92ef5..908967000 100644
--- a/meta/recipes-connectivity/ofono/ofono.inc
+++ b/meta/recipes-connectivity/ofono/ofono.inc
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
inherit autotools pkgconfig update-rc.d
-DEPENDS = "dbus glib-2.0"
+DEPENDS = "dbus glib-2.0 udev"
INITSCRIPT_NAME = "ofono"
INITSCRIPT_PARAMS = "defaults 22"
diff --git a/meta/recipes-connectivity/ofono/ofono_0.33.bb b/meta/recipes-connectivity/ofono/ofono_0.33.bb
deleted file mode 100644
index 1d9a8afb7..000000000
--- a/meta/recipes-connectivity/ofono/ofono_0.33.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require ofono.inc
-
-PR = "r0"
-
-SRC_URI = "http://www.kernel.org/pub/linux/network/ofono/${P}.tar.bz2 \
- file://ofono"
-
-SRC_URI[md5sum] = "001160996d0c00e7b8da575e1fff1bd1"
-SRC_URI[sha256sum] = "1b7ce568e32518f404231389150cea5d4abfb19e09eaa6e7a280be2e5186c82f"
diff --git a/meta/recipes-connectivity/ofono/ofono_0.37.bb b/meta/recipes-connectivity/ofono/ofono_0.37.bb
new file mode 100644
index 000000000..1c1c50111
--- /dev/null
+++ b/meta/recipes-connectivity/ofono/ofono_0.37.bb
@@ -0,0 +1,9 @@
+require ofono.inc
+
+PR = "r0"
+
+SRC_URI = "http://www.kernel.org/pub/linux/network/ofono/${P}.tar.bz2 \
+ file://ofono"
+
+SRC_URI[md5sum] = "fa9a6f91506db2ac5bf313ff0bde65f3"
+SRC_URI[sha256sum] = "0ac71d8a846d564ef6940c47bcc410b76df750aadf7903cb56876d991275f6db"
diff --git a/meta/recipes-connectivity/openssl/openssl-0.9.8p/debian/valgrind.patch b/meta/recipes-connectivity/openssl/openssl-0.9.8p/debian/valgrind.patch
deleted file mode 100644
index e9f86eabb..000000000
--- a/meta/recipes-connectivity/openssl/openssl-0.9.8p/debian/valgrind.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Index: openssl-0.9.8k/crypto/rand/md_rand.c
-===================================================================
---- openssl-0.9.8k.orig/crypto/rand/md_rand.c 2008-09-16 13:50:05.000000000 +0200
-+++ openssl-0.9.8k/crypto/rand/md_rand.c 2009-07-19 11:36:05.000000000 +0200
-@@ -477,8 +477,10 @@
- MD_Update(&m,local_md,MD_DIGEST_LENGTH);
- MD_Update(&m,(unsigned char *)&(md_c[0]),sizeof(md_c));
- #ifndef PURIFY
-+#if 0 /* Don't add uninitialised data. */
- MD_Update(&m,buf,j); /* purify complains */
- #endif
-+#endif
- k=(st_idx+MD_DIGEST_LENGTH/2)-st_num;
- if (k > 0)
- {
diff --git a/meta/recipes-connectivity/openssl/openssl_0.9.8p.bb b/meta/recipes-connectivity/openssl/openssl_0.9.8p.bb
index 3ae6bf456..283b82add 100644
--- a/meta/recipes-connectivity/openssl/openssl_0.9.8p.bb
+++ b/meta/recipes-connectivity/openssl/openssl_0.9.8p.bb
@@ -13,7 +13,6 @@ SRC_URI += "file://debian/ca.patch \
file://debian/no-symbolic.patch \
file://debian/pic.patch \
file://debian/pkg-config.patch \
- file://debian/valgrind.patch \
file://debian/rc4-amd64.patch \
file://debian/rehash-crt.patch \
file://debian/rehash_pod.patch \
diff --git a/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb b/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb
index 79805614d..aa3684a44 100644
--- a/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb
+++ b/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb
@@ -1,8 +1,8 @@
SECTION = "console/network"
DESCRIPTION = "Enables PPP dial-in through a serial connection"
DEPENDS = "ppp"
-RDEPENDS = "ppp"
-PR = "r5"
+RDEPENDS_${PN} = "ppp"
+PR = "r6"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${POKYBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
diff --git a/meta/recipes-connectivity/resolvconf/resolvconf_1.43.bb b/meta/recipes-connectivity/resolvconf/resolvconf_1.48.bb
index 16d88dc86..cb8aaaf53 100644
--- a/meta/recipes-connectivity/resolvconf/resolvconf_1.43.bb
+++ b/meta/recipes-connectivity/resolvconf/resolvconf_1.48.bb
@@ -10,13 +10,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
AUTHOR = "Thomas Hood"
HOMEPAGE = "http://packages.debian.org/resolvconf"
DEPENDS = "bash"
-RDEPENDS = "bash"
-PR = "r1"
+RDEPENDS_${PN} = "bash"
+PR = "r0"
SRC_URI = "${DEBIAN_MIRROR}/main/r/resolvconf/resolvconf_${PV}.tar.gz"
-SRC_URI[md5sum] = "15faef2aba7b99782f3b0b8b5d30f80a"
-SRC_URI[sha256sum] = "17e1105cddd928adf7d47e050f9bb49557850687f800b3e24cbbf22933ff31ae"
+SRC_URI[md5sum] = "b226e02704a545238eac5ef70f6d3c4c"
+SRC_URI[sha256sum] = "4b07832680b82d401a76132cd6bbe13961231235287f2662a6604edbcac82bb1"
+
do_compile () {
:
diff --git a/meta/recipes-connectivity/telepathy/telepathy-glib_0.13.5.bb b/meta/recipes-connectivity/telepathy/telepathy-glib_0.13.6.bb
index 17b6f86ad..63ada04db 100644
--- a/meta/recipes-connectivity/telepathy/telepathy-glib_0.13.5.bb
+++ b/meta/recipes-connectivity/telepathy/telepathy-glib_0.13.6.bb
@@ -7,8 +7,8 @@ PR = "r0"
SRC_URI = "http://telepathy.freedesktop.org/releases/telepathy-glib/${P}.tar.gz"
-SRC_URI[md5sum] = "178de3965614a3a59123e33ec1b1e8a6"
-SRC_URI[sha256sum] = "ad6e12a062c8ebe1f1fd20065acc214b9395b3d766bf2a122b12c5f811007735"
+SRC_URI[md5sum] = "db997b1575e9186887caf211c0b94dd9"
+SRC_URI[sha256sum] = "76a38a64d1b7fbaa6e1aaf6a9f8b898840c551aea5d9121bdcb35fdbb66c5877"
LIC_FILES_CHKSUM = "file://COPYING;md5=e413d83db6ee8f2c8e6055719096a48e"
diff --git a/meta/recipes-connectivity/telepathy/telepathy-idle_0.1.6.bb b/meta/recipes-connectivity/telepathy/telepathy-idle_0.1.7.bb
index f5222525d..cbc7234ab 100644
--- a/meta/recipes-connectivity/telepathy/telepathy-idle_0.1.6.bb
+++ b/meta/recipes-connectivity/telepathy/telepathy-idle_0.1.7.bb
@@ -9,8 +9,8 @@ PR = "r0"
SRC_URI = "http://telepathy.freedesktop.org/releases/${PN}/${P}.tar.gz"
-SRC_URI[md5sum] = "0efe17425cdc3490714947ff68003bf6"
-SRC_URI[sha256sum] = "fc05a1780499eab3b168b1826e2fe18dbe4bea3576ea0ff2b548b063336c61f5"
+SRC_URI[md5sum] = "5ee3aa5c6e1112922b11711e6a209331"
+SRC_URI[sha256sum] = "b65df4f8ebdf1039e1f1e406f53cc7b6106fab6c4d8e784e360709f8d85df0c3"
inherit autotools pkgconfig
diff --git a/meta/recipes-connectivity/telepathy/telepathy-mission-control_5.7.0.bb b/meta/recipes-connectivity/telepathy/telepathy-mission-control_5.7.1.bb
index de28a0837..f5c27454f 100644
--- a/meta/recipes-connectivity/telepathy/telepathy-mission-control_5.7.0.bb
+++ b/meta/recipes-connectivity/telepathy/telepathy-mission-control_5.7.1.bb
@@ -40,5 +40,5 @@ FILES_libmissioncontrol-dbg = "${libdir}/.debug/libmissioncontrol.so.*"
FILES_libmissioncontrol-config-dbg = "${libdir}/.debug/libmissioncontrol-config.so.*"
FILES_libmissioncontrol-server-dbg = "${libdir}/.debug/libmissioncontrol-server.so.*"
-SRC_URI[md5sum] = "cf6a3f48bb493312b537c9b6b33c0a72"
-SRC_URI[sha256sum] = "ffe0da124418fa4f8c3a9049f7e13febb1ca5e9be92229cd5ab12238f4fda824"
+SRC_URI[md5sum] = "9688a3f75c080eaa2dbf6b4d75876dc9"
+SRC_URI[sha256sum] = "c58f07ee801b023bc5d5a8ec0fce49058a0372b6727e6516fb56d100dacd07fe"
diff --git a/meta/recipes-connectivity/telepathy/telepathy-python_0.15.18.bb b/meta/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb
index 8d7c766b9..aefde8c89 100644
--- a/meta/recipes-connectivity/telepathy/telepathy-python_0.15.18.bb
+++ b/meta/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb
@@ -8,12 +8,12 @@ RDEPENDS_${PN} += "python-dbus"
SRC_URI = "http://telepathy.freedesktop.org/releases/${PN}/${P}.tar.gz "
-PR = "r1"
+PR = "r0"
inherit autotools
-SRC_URI[md5sum] = "51da78a77681b0652d9b4ca941da0658"
-SRC_URI[sha256sum] = "f9f5c260188e9e27af9152bfc6d622cc5c0ea48d63d5fa9985abbdd69fda0e87"
+SRC_URI[md5sum] = "f7ca25ab3c88874015b7e9728f7f3017"
+SRC_URI[sha256sum] = "244c0e1bf4bbd78ae298ea659fe10bf3a73738db550156767cc2477aedf72376"
FILES_${PN} += "\
${libdir}/python*/site-packages/telepathy/*.py \
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.inc b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.inc
index 78ce914c3..7865b8fdc 100644
--- a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.inc
+++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.inc
@@ -20,8 +20,9 @@ SRC_URI = "http://hostap.epitest.fi/releases/wpa_supplicant-${PV}.tar.gz \
S = "${WORKDIR}/wpa_supplicant-${PV}/wpa_supplicant"
PACKAGES_prepend = "wpa-supplicant-passphrase wpa-supplicant-cli "
-FILES_wpa-supplicant-passphrase = "/usr/sbin/wpa_passphrase"
-FILES_wpa-supplicant-cli = "/usr/sbin/wpa_cli"
+FILES_wpa-supplicant-passphrase = "${sbindir}/wpa_passphrase"
+FILES_wpa-supplicant-cli = "${sbindir}/wpa_cli"
+FILES_${PN} += " ${datadir}/dbus-1/system-services/*
do_configure () {
install -m 0755 ${WORKDIR}/defconfig-gnutls .config
@@ -29,7 +30,7 @@ do_configure () {
export EXTRA_CFLAGS = "${CFLAGS}"
do_compile () {
- unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ unset CFLAGS CPPFLAGS CXXFLAGS
oe_runmake
}
@@ -56,6 +57,9 @@ do_install () {
install -d ${D}/${sysconfdir}/dbus-1/system.d
install -m 644 ${S}/dbus/dbus-wpa_supplicant.conf ${D}/${sysconfdir}/dbus-1/system.d
+ install -d ${D}/${datadir}/dbus-1/system-services
+ sed -i -e s:${base_sbindir}:${sbindir}:g ${S}/dbus/*.service
+ install -m 644 ${S}/dbus/*.service ${D}/${datadir}/dbus-1/system-services
install -d ${D}/etc/default/volatiles
install -m 0644 ${WORKDIR}/99_wpa_supplicant ${D}/etc/default/volatiles
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_0.7.3.bb b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_0.7.3.bb
index 2d7729c8d..87baf336d 100644
--- a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_0.7.3.bb
+++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_0.7.3.bb
@@ -1,6 +1,6 @@
require wpa-supplicant-0.7.inc
-PR = "r0"
+PR = "r3"
SRC_URI[md5sum] = "f516f191384a9a546e3f5145c08addda"
SRC_URI[sha256sum] = "d0cd50caa85346ccc376dcda5ed3c258eef19a93b3cade39d25760118ad59443"
diff --git a/meta/recipes-core/base-files/base-files/profile b/meta/recipes-core/base-files/base-files/profile
index aa1c20fdb..e9408d17d 100644
--- a/meta/recipes-core/base-files/base-files/profile
+++ b/meta/recipes-core/base-files/base-files/profile
@@ -12,7 +12,7 @@ if [ ! -e /etc/localtime ]; then
fi
if [ "$HOME" = "/home/root" ]; then
- PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin:
+ PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin
fi
if [ "$PS1" ]; then
# works for bash and ash (no other shells known to be in use here)
diff --git a/meta/recipes-core/base-files/base-files_3.0.14.bb b/meta/recipes-core/base-files/base-files_3.0.14.bb
index 055769695..d2fec7291 100644
--- a/meta/recipes-core/base-files/base-files_3.0.14.bb
+++ b/meta/recipes-core/base-files/base-files_3.0.14.bb
@@ -2,7 +2,7 @@ SUMMARY = "Miscellaneous files for the base system."
DESCRIPTION = "The base-files package creates the basic system directory structure and provides a small set of key configuration files for the system."
SECTION = "base"
PRIORITY = "required"
-PR = "r65"
+PR = "r67"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://licenses/GPL-2;md5=94d55d512a9ba36caa9b7df079bae19f"
SRC_URI = "file://rotation \
@@ -48,6 +48,12 @@ dirs755 = "/bin /boot /dev ${sysconfdir} ${sysconfdir}/default \
/mnt /media /media/card /media/cf /media/net /media/ram \
/media/union /media/realroot /media/hdd \
/media/mmc1"
+dirs3755 = "/srv \
+ ${prefix}/local ${prefix}/local/bin ${prefix}/local/games \
+ ${prefix}/local/include ${prefix}/local/lib ${prefix}/local/sbin \
+ ${prefix}/local/share ${prefix}/local/src"
+dirs4775 = "/var/mail"
+
volatiles = "cache run log lock tmp"
conffiles = "${sysconfdir}/debian_version ${sysconfdir}/host.conf \
${sysconfdir}/inputrc ${sysconfdir}/issue /${sysconfdir}/issue.net \
@@ -156,6 +162,16 @@ do_install_append_netbook-pro () {
mkdir -p ${D}/initrd
}
+do_install_append_poky-lsb() {
+ for d in ${dirs3755}; do
+ install -m 0755 -d ${D}$d
+ done
+
+ for d in ${dirs4775}; do
+ install -m 2755 -d ${D}$d
+ done
+}
+
PACKAGES = "${PN}-doc ${PN} ${PN}-dev ${PN}-dbg"
FILES_${PN} = "/"
FILES_${PN}-doc = "${docdir} ${datadir}/common-licenses"
diff --git a/meta/recipes-core/busybox/busybox-1.17.3/busybox-udhcpc-no_deconfig.patch b/meta/recipes-core/busybox/busybox-1.17.3/busybox-udhcpc-no_deconfig.patch
new file mode 100644
index 000000000..cdf56b826
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox-1.17.3/busybox-udhcpc-no_deconfig.patch
@@ -0,0 +1,110 @@
+Add a new option -D to the udhcpc client that allows for
+dhcp renewal to occur without having to down the interface
+in the process.
+
+Signed-off-by: Greg Moffatt <greg.moffatt@windriver.com>
+
+Updated to latest Busybox 1.17.3
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+diff -ur busybox-1.17.3.orig/networking/udhcp/dhcpc.c busybox-1.17.3/networking/udhcp/dhcpc.c
+--- busybox-1.17.3.orig/networking/udhcp/dhcpc.c
++++ busybox-1.17.3/networking/udhcp/dhcpc.c
+@@ -35,6 +35,9 @@
+ #endif
+ #include <linux/filter.h>
+
++/* option whether to down the interface when reconfiguring */
++static int allow_deconfig = 1;
++
+ /* struct client_config_t client_config is in bb_common_bufsiz1 */
+
+
+@@ -709,7 +712,8 @@
+ state = RENEW_REQUESTED;
+ break;
+ case RENEW_REQUESTED: /* impatient are we? fine, square 1 */
+- udhcp_run_script(NULL, "deconfig");
++ if (allow_deconfig)
++ udhcp_run_script(NULL, "deconfig");
+ case REQUESTING:
+ case RELEASED:
+ change_listen_mode(LISTEN_RAW);
+@@ -733,7 +737,8 @@
+ bb_info_msg("Unicasting a release of %s to %s",
+ inet_ntoa(temp_addr), buffer);
+ send_release(server_addr, requested_ip); /* unicast */
+- udhcp_run_script(NULL, "deconfig");
++ if (allow_deconfig)
++ udhcp_run_script(NULL, "deconfig");
+ }
+ bb_info_msg("Entering released state");
+
+@@ -836,6 +841,7 @@
+ OPT_o = 1 << 18,
+ OPT_x = 1 << 19,
+ OPT_f = 1 << 20,
++ OPT_D = 1 << 21,
+ /* The rest has variable bit positions, need to be clever */
+ OPTBIT_f = 20,
+ USE_FOR_MMU( OPTBIT_b,)
+@@ -861,7 +867,7 @@
+ #endif
+ ;
+ IF_LONG_OPTS(applet_long_options = udhcpc_longopts;)
+- opt = getopt32(argv, "c:CV:H:h:F:i:np:qRr:s:T:t:SA:O:ox:f"
++ opt = getopt32(argv, "c:CV:H:h:F:i:np:qRr:s:T:t:SA:O:ox:fD"
+ USE_FOR_MMU("b")
+ IF_FEATURE_UDHCPC_ARPING("a")
+ IF_FEATURE_UDHCP_PORT("P:")
+@@ -950,6 +956,9 @@
+ logmode |= LOGMODE_SYSLOG;
+ }
+
++ if (opt & OPT_D)
++ allow_deconfig = 0;
++
+ /* Make sure fd 0,1,2 are open */
+ bb_sanitize_stdio();
+ /* Equivalent of doing a fflush after every \n */
+@@ -964,7 +973,8 @@
+ srand(monotonic_us());
+
+ state = INIT_SELECTING;
+- udhcp_run_script(NULL, "deconfig");
++ if (allow_deconfig)
++ udhcp_run_script(NULL, "deconfig");
+ change_listen_mode(LISTEN_RAW);
+ packet_num = 0;
+ timeout = 0;
+@@ -1100,7 +1110,8 @@
+ }
+ /* Timed out, enter init state */
+ bb_info_msg("Lease lost, entering init state");
+- udhcp_run_script(NULL, "deconfig");
++ if (allow_deconfig)
++ udhcp_run_script(NULL, "deconfig");
+ state = INIT_SELECTING;
+ /*timeout = 0; - already is */
+ packet_num = 0;
+@@ -1246,7 +1257,8 @@
+ send_decline(xid, server_addr, packet.yiaddr);
+
+ if (state != REQUESTING)
+- udhcp_run_script(NULL, "deconfig");
++ if (allow_deconfig)
++ udhcp_run_script(NULL, "deconfig");
+ change_listen_mode(LISTEN_RAW);
+ state = INIT_SELECTING;
+ requested_ip = 0;
+@@ -1292,7 +1304,8 @@
+ bb_info_msg("Received DHCP NAK");
+ udhcp_run_script(&packet, "nak");
+ if (state != REQUESTING)
+- udhcp_run_script(NULL, "deconfig");
++ if (allow_deconfig)
++ udhcp_run_script(NULL, "deconfig");
+ change_listen_mode(LISTEN_RAW);
+ sleep(3); /* avoid excessive network traffic */
+ state = INIT_SELECTING;
diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc
index 142c72f4e..55f056c4c 100644
--- a/meta/recipes-core/busybox/busybox.inc
+++ b/meta/recipes-core/busybox/busybox.inc
@@ -18,11 +18,12 @@ FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www"
FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd"
FILES_${PN} += "${datadir}/udhcpc"
+FILES_${PN} += "${sysconfdir}/init.d/busybox-udhcpc"
INITSCRIPT_PACKAGES = "${PN} ${PN}-httpd ${PN}-udhcpd"
INITSCRIPT_NAME_${PN}-httpd = "busybox-httpd"
INITSCRIPT_NAME_${PN}-udhcpd = "busybox-udhcpd"
-INITSCRIPT_NAME_${PN} = "syslog"
+INITSCRIPT_NAME_${PN} = "syslog busybox-udhcpc"
CONFFILES_${PN} = "${sysconfdir}/syslog.conf.${PN}"
# This disables the syslog startup links in slugos (see slugos-init)
@@ -97,6 +98,7 @@ do_install () {
install -d ${D}${datadir}/udhcpc
install -m 0755 ${S}/examples/udhcp/simple.script ${D}${sysconfdir}/udhcpc.d/50default
install -m 0755 ${WORKDIR}/default.script ${D}${datadir}/udhcpc/default.script
+ install -m 0755 ${WORKDIR}/busybox-udhcpc ${D}${sysconfdir}/init.d/
fi
install -m 0644 ${S}/busybox.links ${D}${sysconfdir}
diff --git a/meta/recipes-core/busybox/busybox_1.17.3.bb b/meta/recipes-core/busybox/busybox_1.17.3.bb
index 9ecb36d64..c5fbe9c7b 100644
--- a/meta/recipes-core/busybox/busybox_1.17.3.bb
+++ b/meta/recipes-core/busybox/busybox_1.17.3.bb
@@ -1,5 +1,5 @@
require busybox.inc
-PR = "r0"
+PR = "r1"
SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
file://udhcpscript.patch \
@@ -9,10 +9,12 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
file://busybox-appletlib-dependency.patch \
file://run-parts.in.usr-bin.patch \
file://make-382-fix.patch \
+ file://busybox-udhcpc-no_deconfig.patch \
file://find-touchscreen.sh \
file://busybox-cron \
file://busybox-httpd \
file://busybox-udhcpd \
+ file://busybox-udhcpc \
file://default.script \
file://simple.script \
file://hwclock.sh \
diff --git a/meta/recipes-core/busybox/files/busybox-udhcpc b/meta/recipes-core/busybox/files/busybox-udhcpc
new file mode 100755
index 000000000..2c43f8da2
--- /dev/null
+++ b/meta/recipes-core/busybox/files/busybox-udhcpc
@@ -0,0 +1,25 @@
+#!/bin/sh
+#
+# (c) 2010-2011 Wind River Systems, Inc.
+#
+# Busybox udhcpc init script
+#
+# script to start the udpchc DHCP client on boots where
+# the parameter 'ip=dhcp' was included in the kernel parameters
+
+# ensure the required binaries are present
+[ -x /sbin/udhcpc ] || exit 1
+[ -x /bin/grep ] || exit 1
+[ -x /bin/mount ] || exit 1
+
+# ensure /proc is mounted
+if ! mount | grep -q "/proc "; then
+ exit 2
+fi
+
+rc=0
+if grep -q -E "\bip=dhcp\b" /proc/cmdline; then
+ /sbin/udhcpc -D -s /usr/share/udhcpc/default.script
+ rc=$?
+fi
+exit $rc
diff --git a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-6.9-cp-i-u.patch b/meta/recipes-core/coreutils/coreutils-6.9/coreutils-6.9-cp-i-u.patch
new file mode 100644
index 000000000..6fec683bc
--- /dev/null
+++ b/meta/recipes-core/coreutils/coreutils-6.9/coreutils-6.9-cp-i-u.patch
@@ -0,0 +1,118 @@
+This patch was imported from the Fedora Core 8 coreutils-6.9-9 package.
+
+The package is stated as being Licensed as GPLv2+.
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+----
+
+When "cp -i --update old new" would do nothing because "new" is
+newer than "old", cp would nonetheless prompt for whether it is
+ok to overwrite "new". Then, regardless of the response (because
+of the --update option), cp would do nothing.
+
+The following patch eliminates the unnecessary prompt in that case.
+
+diff --git a/src/copy.c b/src/copy.c
+index b7bf73b..0e549d2 100644
+--- a/src/copy.c
++++ b/src/copy.c
+@@ -1210,6 +1210,30 @@ copy_internal (char const *src_name, char const *dst_name,
+ return false;
+ }
+
++ if (!S_ISDIR (src_mode) && x->update)
++ {
++ /* When preserving time stamps (but not moving within a file
++ system), don't worry if the destination time stamp is
++ less than the source merely because of time stamp
++ truncation. */
++ int options = ((x->preserve_timestamps
++ && ! (x->move_mode
++ && dst_sb.st_dev == src_sb.st_dev))
++ ? UTIMECMP_TRUNCATE_SOURCE
++ : 0);
++
++ if (0 <= utimecmp (dst_name, &dst_sb, &src_sb, options))
++ {
++ /* We're using --update and the destination is not older
++ than the source, so do not copy or move. Pretend the
++ rename succeeded, so the caller (if it's mv) doesn't
++ end up removing the source file. */
++ if (rename_succeeded)
++ *rename_succeeded = true;
++ return true;
++ }
++ }
++
+ /* When there is an existing destination file, we may end up
+ returning early, and hence not copying/moving the file.
+ This may be due to an interactive `negative' reply to the
+@@ -1302,30 +1326,6 @@ copy_internal (char const *src_name, char const *dst_name,
+ return false;
+ }
+ }
+-
+- if (x->update)
+- {
+- /* When preserving time stamps (but not moving within a file
+- system), don't worry if the destination time stamp is
+- less than the source merely because of time stamp
+- truncation. */
+- int options = ((x->preserve_timestamps
+- && ! (x->move_mode
+- && dst_sb.st_dev == src_sb.st_dev))
+- ? UTIMECMP_TRUNCATE_SOURCE
+- : 0);
+-
+- if (0 <= utimecmp (dst_name, &dst_sb, &src_sb, options))
+- {
+- /* We're using --update and the destination is not older
+- than the source, so do not copy or move. Pretend the
+- rename succeeded, so the caller (if it's mv) doesn't
+- end up removing the source file. */
+- if (rename_succeeded)
+- *rename_succeeded = true;
+- return true;
+- }
+- }
+ }
+
+ if (x->move_mode)
+diff --git a/tests/mv/update b/tests/mv/update
+index 0c06024..6c3d149 100755
+--- a/tests/mv/update
++++ b/tests/mv/update
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # make sure --update works as advertised
+
+-# Copyright (C) 2001, 2004, 2006 Free Software Foundation, Inc.
++# Copyright (C) 2001, 2004, 2006-2007 Free Software Foundation, Inc.
+
+ # 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
+@@ -46,11 +46,16 @@ fi
+
+ fail=0
+
+-for cp_or_mv in cp mv; do
+- # This is a no-op.
+- $cp_or_mv --update old new || fail=1
+- case "`cat new`" in new) ;; *) fail=1 ;; esac
+- case "`cat old`" in old) ;; *) fail=1 ;; esac
++for interactive in '' -i; do
++ for cp_or_mv in cp mv; do
++ # This is a no-op, with no prompt.
++ # With coreutils-6.9 and earlier, using --update with -i would
++ # mistakenly elicit a prompt.
++ $cp_or_mv $interactive --update old new < /dev/null > out 2>&1 || fail=1
++ test -s out && fail=1
++ case "`cat new`" in new) ;; *) fail=1 ;; esac
++ case "`cat old`" in old) ;; *) fail=1 ;; esac
++ done
+ done
+
+ # This will actually perform the rename.
+--
+1.5.3.rc1.16.g9d6f
diff --git a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-fix-install.patch b/meta/recipes-core/coreutils/coreutils-6.9/coreutils-fix-install.patch
new file mode 100644
index 000000000..1b989f531
--- /dev/null
+++ b/meta/recipes-core/coreutils/coreutils-6.9/coreutils-fix-install.patch
@@ -0,0 +1,99 @@
+The install command doesn't over write the dangling symlink, for
+example:
+
+$ install fileA /tmp/fileA
+
+If /tmp/fileA is a dangling symlink, there would be an error:
+
+install: cannot create regular file '/tmp/fileA': File exists
+
+This is because of the following code in copy.c:
+
+ if (!new_dst)
+ {
+ if (XSTAT (x, dst_name, &dst_sb) != 0)
+ {
+ if (errno != ENOENT)
+ {
+ error (0, errno, _("cannot stat %s"), quote (dst_name));
+ return false;
+ }
+ else
+ {
+ new_dst = true;
+ }
+ }
+
+XSTAT() use stat() for dst_name(the dangling symlink /tmp/fileA) when
+install.c invokes it, and stat will set errno to ENOENT, and then
+new_dst will be set to true which means that /tmp/fileA doesn't exist,
+then we will create /tmp/fileA without remove it first, so the error
+comes.
+
+This is fixed in a way which adds the member cmd_install in
+struct cp_options to make sure my change only affected to the install
+command and use lstat to fix the problem.
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+---
+ src/copy.c | 10 +++++++++-
+ src/copy.h | 3 +++
+ src/install.c | 1 +
+ 3 files changed, 13 insertions(+), 1 deletions(-)
+
+diff --git a/src/copy.c b/src/copy.c
+--- a/src/copy.c
++++ b/src/copy.c
+@@ -1029,6 +1029,7 @@ copy_internal (char const *src_name, char const *dst_name,
+ bool delayed_ok;
+ bool copied_as_regular = false;
+ bool preserve_metadata;
++ int dst_stat_result;
+
+ if (x->move_mode && rename_succeeded)
+ *rename_succeeded = false;
+@@ -1069,7 +1070,14 @@ copy_internal (char const *src_name, char const *dst_name,
+
+ if (!new_dst)
+ {
+- if (XSTAT (x, dst_name, &dst_sb) != 0)
++ if ( x->cmd_install && ( x->backup_type == no_backups))
++ dst_stat_result = lstat (dst_name, &dst_sb);
++ else
++ {
++ dst_stat_result = XSTAT (x, dst_name, &dst_sb);
++ }
++
++ if (dst_stat_result != 0)
+ {
+ if (errno != ENOENT)
+ {
+diff --git a/src/copy.h b/src/copy.h
+--- a/src/copy.h
++++ b/src/copy.h
+@@ -114,6 +114,9 @@ struct cp_options
+ If that fails, then resort to copying. */
+ bool move_mode;
+
++ /* For the install command */
++ bool cmd_install;
++
+ /* Whether this process has appropriate privileges to chown a file
+ whose owner is not the effective user ID. */
+ bool chown_privileges;
+diff --git a/src/install.c b/src/install.c
+--- a/src/install.c
++++ b/src/install.c
+@@ -149,6 +149,7 @@ cp_option_init (struct cp_options *x)
+ x->hard_link = false;
+ x->interactive = I_UNSPECIFIED;
+ x->move_mode = false;
++ x->cmd_install = true;
+ x->chown_privileges = chown_privileges ();
+ x->one_file_system = false;
+ x->preserve_ownership = false;
+--
+1.7.0.1
+
diff --git a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-i18n.patch b/meta/recipes-core/coreutils/coreutils-6.9/coreutils-i18n.patch
new file mode 100644
index 000000000..3587186af
--- /dev/null
+++ b/meta/recipes-core/coreutils/coreutils-6.9/coreutils-i18n.patch
@@ -0,0 +1,4049 @@
+This patch was imported from the Fedora Core 8 coreutils-6.9-9 package.
+
+The package is stated as being Licensed as GPLv2+.
+
+The comment indicates that the purpose is lin18nux/lsb compliance.
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+--- /dev/null 2007-03-01 09:16:39.219409909 +0000
++++ coreutils-6.8+/tests/sort/sort-mb-tests 2007-03-01 15:08:24.000000000 +0000
+@@ -0,0 +1,58 @@
++#! /bin/sh
++case $# in
++ 0) xx='../../src/sort';;
++ *) xx="$1";;
++esac
++test "$VERBOSE" && echo=echo || echo=:
++$echo testing program: $xx
++errors=0
++test "$srcdir" || srcdir=.
++test "$VERBOSE" && $xx --version 2> /dev/null
++
++export LC_ALL=en_US.UTF-8
++locale -k LC_CTYPE 2>&1 | grep -q charmap.*UTF-8 || exit 77
++errors=0
++
++$xx -t ï¼  -k2 -n mb1.I > mb1.O
++code=$?
++if test $code != 0; then
++ $echo "Test mb1 failed: $xx return code $code differs from expected value 0" 1>&2
++ errors=`expr $errors + 1`
++else
++ cmp mb1.O $srcdir/mb1.X > /dev/null 2>&1
++ case $? in
++ 0) if test "$VERBOSE"; then $echo "passed mb1"; fi;;
++ 1) $echo "Test mb1 failed: files mb1.O and $srcdir/mb1.X differ" 1>&2
++ (diff -c mb1.O $srcdir/mb1.X) 2> /dev/null
++ errors=`expr $errors + 1`;;
++ 2) $echo "Test mb1 may have failed." 1>&2
++ $echo The command "cmp mb1.O $srcdir/mb1.X" failed. 1>&2
++ errors=`expr $errors + 1`;;
++ esac
++fi
++
++$xx -t ï¼  -k4 -n mb2.I > mb2.O
++code=$?
++if test $code != 0; then
++ $echo "Test mb2 failed: $xx return code $code differs from expected value 0" 1>&2
++ errors=`expr $errors + 1`
++else
++ cmp mb2.O $srcdir/mb2.X > /dev/null 2>&1
++ case $? in
++ 0) if test "$VERBOSE"; then $echo "passed mb2"; fi;;
++ 1) $echo "Test mb2 failed: files mb2.O and $srcdir/mb2.X differ" 1>&2
++ (diff -c mb2.O $srcdir/mb2.X) 2> /dev/null
++ errors=`expr $errors + 1`;;
++ 2) $echo "Test mb2 may have failed." 1>&2
++ $echo The command "cmp mb2.O $srcdir/mb2.X" failed. 1>&2
++ errors=`expr $errors + 1`;;
++ esac
++fi
++
++if test $errors = 0; then
++ $echo Passed all 113 tests. 1>&2
++else
++ $echo Failed $errors tests. 1>&2
++fi
++test $errors = 0 || errors=1
++exit $errors
+--- /dev/null 2007-03-01 09:16:39.219409909 +0000
++++ coreutils-6.8+/tests/sort/mb2.I 2007-03-01 15:08:24.000000000 +0000
+@@ -0,0 +1,4 @@
++Apple@AA10@@20
++Banana@AA5@@30
++Citrus@AA20@@5
++Cherry@AA30@@10
+--- /dev/null 2007-03-01 09:16:39.219409909 +0000
++++ coreutils-6.8+/tests/sort/mb2.X 2007-03-01 15:08:24.000000000 +0000
+@@ -0,0 +1,4 @@
++Citrus@AA20@@5
++Cherry@AA30@@10
++Apple@AA10@@20
++Banana@AA5@@30
+--- /dev/null 2007-03-01 09:16:39.219409909 +0000
++++ coreutils-6.8+/tests/sort/mb1.I 2007-03-01 15:08:24.000000000 +0000
+@@ -0,0 +1,4 @@
++Appleï¼ 10
++Bananaï¼ 5
++Citrusï¼ 20
++Cherryï¼ 30
+--- /dev/null 2007-03-01 09:16:39.219409909 +0000
++++ coreutils-6.8+/tests/sort/mb1.X 2007-03-01 15:08:24.000000000 +0000
+@@ -0,0 +1,4 @@
++Bananaï¼ 5
++Appleï¼ 10
++Citrusï¼ 20
++Cherryï¼ 30
+--- coreutils-6.8+/tests/sort/Makefile.am.i18n 2007-01-24 07:47:37.000000000 +0000
++++ coreutils-6.8+/tests/sort/Makefile.am 2007-03-01 15:09:59.000000000 +0000
+@@ -66,15 +66,17 @@
+ bigfield.O bigfield.E
+ ##test-files-end
+
+-EXTRA_DIST = Test.pm $x-tests $(explicit) $(maint_gen)
+-noinst_SCRIPTS = $x-tests
++run_gen += mb1.0 mb2.0
++
++EXTRA_DIST = Test.pm $x-tests $(explicit) $(maint_gen) mb1.I mb1.X mb2.I mb2.X
++noinst_SCRIPTS = $x-tests # $x-mb-tests
+ TESTS_ENVIRONMENT = \
+ CU_TEST_NAME=`basename $(abs_srcdir)`,$$tst \
+ PATH="$(VG_PATH_PREFIX)`pwd`/../../src$(PATH_SEPARATOR)$$PATH"
+
+ editpl = sed -e 's,@''PERL''@,$(PERL),g' -e 's,@''srcdir''@,$(srcdir),g'
+
+-TESTS = $x-tests
++TESTS = $x-tests $x-mb-tests
+
+ mk_script = $(srcdir)/../mk-script
+ $(srcdir)/$x-tests: $(mk_script) Test.pm Makefile.am
+--- coreutils-6.8+/lib/linebuffer.h.i18n 2005-05-14 07:44:24.000000000 +0100
++++ coreutils-6.8+/lib/linebuffer.h 2007-03-01 15:08:24.000000000 +0000
+@@ -22,6 +22,11 @@
+
+ # include <stdio.h>
+
++/* Get mbstate_t. */
++# if HAVE_WCHAR_H
++# include <wchar.h>
++# endif
++
+ /* A `struct linebuffer' holds a line of text. */
+
+ struct linebuffer
+@@ -29,6 +34,9 @@
+ size_t size; /* Allocated. */
+ size_t length; /* Used. */
+ char *buffer;
++# if HAVE_WCHAR_H
++ mbstate_t state;
++# endif
+ };
+
+ /* Initialize linebuffer LINEBUFFER for use. */
+--- coreutils-6.8+/src/expand.c.i18n 2007-01-14 15:41:28.000000000 +0000
++++ coreutils-6.8+/src/expand.c 2007-03-01 15:08:24.000000000 +0000
+@@ -38,11 +38,28 @@
+ #include <stdio.h>
+ #include <getopt.h>
+ #include <sys/types.h>
++
++/* Get mbstate_t, mbrtowc(), wcwidth(). */
++#if HAVE_WCHAR_H
++# include <wchar.h>
++#endif
++
+ #include "system.h"
+ #include "error.h"
+ #include "quote.h"
+ #include "xstrndup.h"
+
++/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC
++ installation; work around this configuration error. */
++#if !defined MB_LEN_MAX || MB_LEN_MAX < 2
++# define MB_LEN_MAX 16
++#endif
++
++/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */
++#if HAVE_MBRTOWC && defined mbstate_t
++# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
++#endif
++
+ /* The official name of this program (e.g., no `g' prefix). */
+ #define PROGRAM_NAME "expand"
+
+@@ -183,6 +200,7 @@
+ stops = num_start + len - 1;
+ }
+ }
++
+ else
+ {
+ error (0, 0, _("tab size contains invalid character(s): %s"),
+@@ -365,6 +383,142 @@
+ }
+ }
+
++#if HAVE_MBRTOWC
++static void
++expand_multibyte (void)
++{
++ FILE *fp; /* Input strem. */
++ mbstate_t i_state; /* Current shift state of the input stream. */
++ mbstate_t i_state_bak; /* Back up the I_STATE. */
++ mbstate_t o_state; /* Current shift state of the output stream. */
++ char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */
++ char *bufpos; /* Next read position of BUF. */
++ size_t buflen = 0; /* The length of the byte sequence in buf. */
++ wchar_t wc; /* A gotten wide character. */
++ size_t mblength; /* The byte size of a multibyte character
++ which shows as same character as WC. */
++ int tab_index = 0; /* Index in `tab_list' of next tabstop. */
++ int column = 0; /* Column on screen of the next char. */
++ int next_tab_column; /* Column the next tab stop is on. */
++ int convert = 1; /* If nonzero, perform translations. */
++
++ fp = next_file ((FILE *) NULL);
++ if (fp == NULL)
++ return;
++
++ memset (&o_state, '\0', sizeof(mbstate_t));
++ memset (&i_state, '\0', sizeof(mbstate_t));
++
++ for (;;)
++ {
++ /* Refill the buffer BUF. */
++ if (buflen < MB_LEN_MAX && !feof(fp) && !ferror(fp))
++ {
++ memmove (buf, bufpos, buflen);
++ buflen += fread (buf + buflen, sizeof(char), BUFSIZ, fp);
++ bufpos = buf;
++ }
++
++ /* No character is left in BUF. */
++ if (buflen < 1)
++ {
++ fp = next_file (fp);
++
++ if (fp == NULL)
++ break; /* No more files. */
++ else
++ {
++ memset (&i_state, '\0', sizeof(mbstate_t));
++ continue;
++ }
++ }
++
++ /* Get a wide character. */
++ i_state_bak = i_state;
++ mblength = mbrtowc (&wc, bufpos, buflen, &i_state);
++
++ switch (mblength)
++ {
++ case (size_t)-1: /* illegal byte sequence. */
++ case (size_t)-2:
++ mblength = 1;
++ i_state = i_state_bak;
++ if (convert)
++ {
++ ++column;
++ if (convert_entire_line == 0)
++ convert = 0;
++ }
++ putchar (*bufpos);
++ break;
++
++ case 0: /* null. */
++ mblength = 1;
++ if (convert && convert_entire_line == 0)
++ convert = 0;
++ putchar ('\0');
++ break;
++
++ default:
++ if (wc == L'\n') /* LF. */
++ {
++ tab_index = 0;
++ column = 0;
++ convert = 1;
++ putchar ('\n');
++ }
++ else if (wc == L'\t' && convert) /* Tab. */
++ {
++ if (tab_size == 0)
++ {
++ /* Do not let tab_index == first_free_tab;
++ stop when it is 1 less. */
++ while (tab_index < first_free_tab - 1
++ && column >= tab_list[tab_index])
++ tab_index++;
++ next_tab_column = tab_list[tab_index];
++ if (tab_index < first_free_tab - 1)
++ tab_index++;
++ if (column >= next_tab_column)
++ next_tab_column = column + 1;
++ }
++ else
++ next_tab_column = column + tab_size - column % tab_size;
++
++ while (column < next_tab_column)
++ {
++ putchar (' ');
++ ++column;
++ }
++ }
++ else /* Others. */
++ {
++ if (convert)
++ {
++ if (wc == L'\b')
++ {
++ if (column > 0)
++ --column;
++ }
++ else
++ {
++ int width; /* The width of WC. */
++
++ width = wcwidth (wc);
++ column += (width > 0) ? width : 0;
++ if (convert_entire_line == 0)
++ convert = 0;
++ }
++ }
++ fwrite (bufpos, sizeof(char), mblength, stdout);
++ }
++ }
++ buflen -= mblength;
++ bufpos += mblength;
++ }
++}
++#endif
++
+ int
+ main (int argc, char **argv)
+ {
+@@ -429,7 +583,12 @@
+
+ file_list = (optind < argc ? &argv[optind] : stdin_argv);
+
+- expand ();
++#if HAVE_MBRTOWC
++ if (MB_CUR_MAX > 1)
++ expand_multibyte ();
++ else
++#endif
++ expand ();
+
+ if (have_read_stdin && fclose (stdin) != 0)
+ error (EXIT_FAILURE, errno, "-");
+--- coreutils-6.8+/src/join.c.i18n 2007-01-14 15:41:28.000000000 +0000
++++ coreutils-6.8+/src/join.c 2007-03-01 15:08:24.000000000 +0000
+@@ -23,16 +23,30 @@
+ #include <sys/types.h>
+ #include <getopt.h>
+
++/* Get mbstate_t, mbrtowc(), mbrtowc(), wcwidth(). */
++#if HAVE_WCHAR_H
++# include <wchar.h>
++#endif
++
++/* Get iswblank(), towupper. */
++#if HAVE_WCTYPE_H
++# include <wctype.h>
++#endif
++
+ #include "system.h"
+ #include "error.h"
+ #include "hard-locale.h"
+ #include "linebuffer.h"
+-#include "memcasecmp.h"
+ #include "quote.h"
+ #include "stdio--.h"
+ #include "xmemcoll.h"
+ #include "xstrtol.h"
+
++/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */
++#if HAVE_MBRTOWC && defined mbstate_t
++# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
++#endif
++
+ /* The official name of this program (e.g., no `g' prefix). */
+ #define PROGRAM_NAME "join"
+
+@@ -104,10 +118,12 @@
+ /* Last element in `outlist', where a new element can be added. */
+ static struct outlist *outlist_end = &outlist_head;
+
+-/* Tab character separating fields. If negative, fields are separated
+- by any nonempty string of blanks, otherwise by exactly one
+- tab character whose value (when cast to unsigned char) equals TAB. */
+-static int tab = -1;
++/* Tab character separating fields. If NULL, fields are separated
++ by any nonempty string of blanks. */
++static char *tab = NULL;
++
++/* The number of bytes used for tab. */
++static size_t tablen = 0;
+
+ static struct option const longopts[] =
+ {
+@@ -190,6 +206,8 @@
+
+ /* Fill in the `fields' structure in LINE. */
+
++/* Fill in the `fields' structure in LINE. */
++
+ static void
+ xfields (struct line *line)
+ {
+@@ -199,10 +217,11 @@
+ if (ptr == lim)
+ return;
+
+- if (0 <= tab)
++ if (tab != NULL)
+ {
++ unsigned char t = tab[0];
+ char *sep;
+- for (; (sep = memchr (ptr, tab, lim - ptr)) != NULL; ptr = sep + 1)
++ for (; (sep = memchr (ptr, t, lim - ptr)) != NULL; ptr = sep + 1)
+ extract_field (line, ptr, sep - ptr);
+ }
+ else
+@@ -229,6 +248,148 @@
+ extract_field (line, ptr, lim - ptr);
+ }
+
++#if HAVE_MBRTOWC
++static void
++xfields_multibyte (struct line *line)
++{
++ char *ptr = line->buf.buffer;
++ char const *lim = ptr + line->buf.length - 1;
++ wchar_t wc = 0;
++ size_t mblength = 1;
++ mbstate_t state, state_bak;
++
++ memset (&state, 0, sizeof (mbstate_t));
++
++ if (ptr == lim)
++ return;
++
++ if (tab != NULL)
++ {
++ unsigned char t = tab[0];
++ char *sep = ptr;
++ for (; ptr < lim; ptr = sep + mblength)
++ {
++ sep = ptr;
++ while (sep < lim)
++ {
++ state_bak = state;
++ mblength = mbrtowc (&wc, sep, lim - sep + 1, &state);
++
++ if (mblength == (size_t)-1 || mblength == (size_t)-2)
++ {
++ mblength = 1;
++ state = state_bak;
++ }
++ mblength = (mblength < 1) ? 1 : mblength;
++
++ if (mblength == tablen && !memcmp (sep, tab, mblength))
++ break;
++ else
++ {
++ sep += mblength;
++ continue;
++ }
++ }
++
++ if (sep == lim)
++ break;
++
++ extract_field (line, ptr, sep - ptr);
++ }
++ }
++ else
++ {
++ /* Skip leading blanks before the first field. */
++ while(ptr < lim)
++ {
++ state_bak = state;
++ mblength = mbrtowc (&wc, ptr, lim - ptr + 1, &state);
++
++ if (mblength == (size_t)-1 || mblength == (size_t)-2)
++ {
++ mblength = 1;
++ state = state_bak;
++ break;
++ }
++ mblength = (mblength < 1) ? 1 : mblength;
++
++ if (!iswblank(wc))
++ break;
++ ptr += mblength;
++ }
++
++ do
++ {
++ char *sep;
++ state_bak = state;
++ mblength = mbrtowc (&wc, ptr, lim - ptr + 1, &state);
++ if (mblength == (size_t)-1 || mblength == (size_t)-2)
++ {
++ mblength = 1;
++ state = state_bak;
++ break;
++ }
++ mblength = (mblength < 1) ? 1 : mblength;
++
++ sep = ptr + mblength;
++ while (sep != lim)
++ {
++ state_bak = state;
++ mblength = mbrtowc (&wc, sep, lim - sep + 1, &state);
++ if (mblength == (size_t)-1 || mblength == (size_t)-2)
++ {
++ mblength = 1;
++ state = state_bak;
++ break;
++ }
++ mblength = (mblength < 1) ? 1 : mblength;
++
++ if (iswblank (wc))
++ break;
++
++ sep += mblength;
++ }
++
++ extract_field (line, ptr, sep - ptr);
++ if (sep == lim)
++ return;
++
++ state_bak = state;
++ mblength = mbrtowc (&wc, sep, lim - sep + 1, &state);
++ if (mblength == (size_t)-1 || mblength == (size_t)-2)
++ {
++ mblength = 1;
++ state = state_bak;
++ break;
++ }
++ mblength = (mblength < 1) ? 1 : mblength;
++
++ ptr = sep + mblength;
++ while (ptr != lim)
++ {
++ state_bak = state;
++ mblength = mbrtowc (&wc, ptr, lim - ptr + 1, &state);
++ if (mblength == (size_t)-1 || mblength == (size_t)-2)
++ {
++ mblength = 1;
++ state = state_bak;
++ break;
++ }
++ mblength = (mblength < 1) ? 1 : mblength;
++
++ if (!iswblank (wc))
++ break;
++
++ ptr += mblength;
++ }
++ }
++ while (ptr != lim);
++ }
++
++ extract_field (line, ptr, lim - ptr);
++}
++#endif
++
+ /* Read a line from FP into LINE and split it into fields.
+ Return true if successful. */
+
+@@ -249,6 +410,11 @@
+ line->nfields_allocated = 0;
+ line->nfields = 0;
+ line->fields = NULL;
++#if HAVE_MBRTOWC
++ if (MB_CUR_MAX > 1)
++ xfields_multibyte (line);
++ else
++#endif
+ xfields (line);
+ return true;
+ }
+@@ -303,56 +469,114 @@
+ keycmp (struct line const *line1, struct line const *line2)
+ {
+ /* Start of field to compare in each file. */
+- char *beg1;
+- char *beg2;
+-
+- size_t len1;
+- size_t len2; /* Length of fields to compare. */
++ char *beg[2];
++ char *copy[2];
++ size_t len[2]; /* Length of fields to compare. */
+ int diff;
++ int i, j;
+
+ if (join_field_1 < line1->nfields)
+ {
+- beg1 = line1->fields[join_field_1].beg;
+- len1 = line1->fields[join_field_1].len;
++ beg[0] = line1->fields[join_field_1].beg;
++ len[0] = line1->fields[join_field_1].len;
+ }
+ else
+ {
+- beg1 = NULL;
+- len1 = 0;
++ beg[0] = NULL;
++ len[0] = 0;
+ }
+
+ if (join_field_2 < line2->nfields)
+ {
+- beg2 = line2->fields[join_field_2].beg;
+- len2 = line2->fields[join_field_2].len;
++ beg[1] = line2->fields[join_field_2].beg;
++ len[1] = line2->fields[join_field_2].len;
+ }
+ else
+ {
+- beg2 = NULL;
+- len2 = 0;
++ beg[1] = NULL;
++ len[1] = 0;
+ }
+
+- if (len1 == 0)
+- return len2 == 0 ? 0 : -1;
+- if (len2 == 0)
++ if (len[0] == 0)
++ return len[1] == 0 ? 0 : -1;
++ if (len[1] == 0)
+ return 1;
+
+ if (ignore_case)
+ {
+- /* FIXME: ignore_case does not work with NLS (in particular,
+- with multibyte chars). */
+- diff = memcasecmp (beg1, beg2, MIN (len1, len2));
++#ifdef HAVE_MBRTOWC
++ if (MB_CUR_MAX > 1)
++ {
++ size_t mblength;
++ wchar_t wc, uwc;
++ mbstate_t state, state_bak;
++
++ memset (&state, '\0', sizeof (mbstate_t));
++
++ for (i = 0; i < 2; i++)
++ {
++ copy[i] = alloca (len[i] + 1);
++
++ for (j = 0; j < MIN (len[0], len[1]);)
++ {
++ state_bak = state;
++ mblength = mbrtowc (&wc, beg[i] + j, len[i] - j, &state);
++
++ switch (mblength)
++ {
++ case (size_t) -1:
++ case (size_t) -2:
++ state = state_bak;
++ /* Fall through */
++ case 0:
++ mblength = 1;
++ break;
++
++ default:
++ uwc = towupper (wc);
++
++ if (uwc != wc)
++ {
++ mbstate_t state_wc;
++
++ memset (&state_wc, '\0', sizeof (mbstate_t));
++ wcrtomb (copy[i] + j, uwc, &state_wc);
++ }
++ else
++ memcpy (copy[i] + j, beg[i] + j, mblength);
++ }
++ j += mblength;
++ }
++ copy[i][j] = '\0';
++ }
++ }
++ else
++#endif
++ {
++ for (i = 0; i < 2; i++)
++ {
++ copy[i] = alloca (len[i] + 1);
++
++ for (j = 0; j < MIN (len[0], len[1]); j++)
++ copy[i][j] = toupper (beg[i][j]);
++
++ copy[i][j] = '\0';
++ }
++ }
+ }
+ else
+ {
+- if (hard_LC_COLLATE)
+- return xmemcoll (beg1, len1, beg2, len2);
+- diff = memcmp (beg1, beg2, MIN (len1, len2));
++ copy[0] = (unsigned char *) beg[0];
++ copy[1] = (unsigned char *) beg[1];
+ }
+
++ if (hard_LC_COLLATE)
++ return xmemcoll ((char *) copy[0], len[0], (char *) copy[1], len[1]);
++ diff = memcmp (copy[0], copy[1], MIN (len[0], len[1]));
++
+ if (diff)
+ return diff;
+- return len1 < len2 ? -1 : len1 != len2;
++ return len[0] - len[1];
+ }
+
+ /* Print field N of LINE if it exists and is nonempty, otherwise
+@@ -377,11 +601,18 @@
+
+ /* Print the join of LINE1 and LINE2. */
+
++#define PUT_TAB_CHAR \
++ do \
++ { \
++ (tab != NULL) ? \
++ fwrite(tab, sizeof(char), tablen, stdout) : putchar (' '); \
++ } \
++ while (0)
++
+ static void
+ prjoin (struct line const *line1, struct line const *line2)
+ {
+ const struct outlist *outlist;
+- char output_separator = tab < 0 ? ' ' : tab;
+
+ outlist = outlist_head.next;
+ if (outlist)
+@@ -397,12 +628,12 @@
+ if (o->file == 0)
+ {
+ if (line1 == &uni_blank)
+- {
++ {
+ line = line2;
+ field = join_field_2;
+ }
+ else
+- {
++ {
+ line = line1;
+ field = join_field_1;
+ }
+@@ -416,7 +647,7 @@
+ o = o->next;
+ if (o == NULL)
+ break;
+- putchar (output_separator);
++ PUT_TAB_CHAR;
+ }
+ putchar ('\n');
+ }
+@@ -434,23 +665,23 @@
+ prfield (join_field_1, line1);
+ for (i = 0; i < join_field_1 && i < line1->nfields; ++i)
+ {
+- putchar (output_separator);
++ PUT_TAB_CHAR;
+ prfield (i, line1);
+ }
+ for (i = join_field_1 + 1; i < line1->nfields; ++i)
+ {
+- putchar (output_separator);
++ PUT_TAB_CHAR;
+ prfield (i, line1);
+ }
+
+ for (i = 0; i < join_field_2 && i < line2->nfields; ++i)
+ {
+- putchar (output_separator);
++ PUT_TAB_CHAR;
+ prfield (i, line2);
+ }
+ for (i = join_field_2 + 1; i < line2->nfields; ++i)
+ {
+- putchar (output_separator);
++ PUT_TAB_CHAR;
+ prfield (i, line2);
+ }
+ putchar ('\n');
+@@ -859,20 +1090,41 @@
+
+ case 't':
+ {
+- unsigned char newtab = optarg[0];
+- if (! newtab)
++ char *newtab;
++ size_t newtablen;
++ if (! optarg[0])
+ error (EXIT_FAILURE, 0, _("empty tab"));
+- if (optarg[1])
++ newtab = xstrdup (optarg);
++#if HAVE_MBRTOWC
++ if (MB_CUR_MAX > 1)
++ {
++ mbstate_t state;
++
++ memset (&state, 0, sizeof (mbstate_t));
++ newtablen = mbrtowc (NULL, newtab,
++ strnlen (newtab, MB_LEN_MAX),
++ &state);
++ if (newtablen == (size_t) 0
++ || newtablen == (size_t) -1
++ || newtablen == (size_t) -2)
++ newtablen = 1;
++ }
++ else
++#endif
++ newtablen = 1;
++
++ if (newtablen == 1 && newtab[1])
++ {
++ if (STREQ (newtab, "\\0"))
++ newtab[0] = '\0';
++ }
++ if (tab != NULL && strcmp (tab, newtab))
+ {
+- if (STREQ (optarg, "\\0"))
+- newtab = '\0';
+- else
+- error (EXIT_FAILURE, 0, _("multi-character tab %s"),
+- quote (optarg));
++ free (newtab);
++ error (EXIT_FAILURE, 0, _("incompatible tabs"));
+ }
+- if (0 <= tab && tab != newtab)
+- error (EXIT_FAILURE, 0, _("incompatible tabs"));
+ tab = newtab;
++ tablen = newtablen;
+ }
+ break;
+
+--- coreutils-6.8+/src/uniq.c.i18n 2007-01-14 15:41:28.000000000 +0000
++++ coreutils-6.8+/src/uniq.c 2007-03-01 15:08:24.000000000 +0000
+@@ -23,6 +23,16 @@
+ #include <getopt.h>
+ #include <sys/types.h>
+
++/* Get mbstate_t, mbrtowc(). */
++#if HAVE_WCHAR_H
++# include <wchar.h>
++#endif
++
++/* Get isw* functions. */
++#if HAVE_WCTYPE_H
++# include <wctype.h>
++#endif
++
+ #include "system.h"
+ #include "argmatch.h"
+ #include "linebuffer.h"
+@@ -32,7 +42,19 @@
+ #include "quote.h"
+ #include "xmemcoll.h"
+ #include "xstrtol.h"
+-#include "memcasecmp.h"
++#include "xmemcoll.h"
++
++/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC
++ installation; work around this configuration error. */
++#if !defined MB_LEN_MAX || MB_LEN_MAX < 2
++# define MB_LEN_MAX 16
++#endif
++
++/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */
++#if HAVE_MBRTOWC && defined mbstate_t
++# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
++#endif
++
+
+ /* The official name of this program (e.g., no `g' prefix). */
+ #define PROGRAM_NAME "uniq"
+@@ -109,6 +131,10 @@
+ /* Select whether/how to delimit groups of duplicate lines. */
+ static enum delimit_method delimit_groups;
+
++/* Function pointers. */
++static char *
++(*find_field) (struct linebuffer *line);
++
+ static struct option const longopts[] =
+ {
+ {"count", no_argument, NULL, 'c'},
+@@ -198,7 +224,7 @@
+ return a pointer to the beginning of the line's field to be compared. */
+
+ static char *
+-find_field (const struct linebuffer *line)
++find_field_uni (struct linebuffer *line)
+ {
+ size_t count;
+ char *lp = line->buffer;
+@@ -219,6 +245,83 @@
+ return lp + i;
+ }
+
++#if HAVE_MBRTOWC
++
++# define MBCHAR_TO_WCHAR(WC, MBLENGTH, LP, POS, SIZE, STATEP, CONVFAIL) \
++ do \
++ { \
++ mbstate_t state_bak; \
++ \
++ CONVFAIL = 0; \
++ state_bak = *STATEP; \
++ \
++ MBLENGTH = mbrtowc (&WC, LP + POS, SIZE - POS, STATEP); \
++ \
++ switch (MBLENGTH) \
++ { \
++ case (size_t)-2: \
++ case (size_t)-1: \
++ *STATEP = state_bak; \
++ CONVFAIL++; \
++ /* Fall through */ \
++ case 0: \
++ MBLENGTH = 1; \
++ } \
++ } \
++ while (0)
++
++static char *
++find_field_multi (struct linebuffer *line)
++{
++ size_t count;
++ char *lp = line->buffer;
++ size_t size = line->length - 1;
++ size_t pos;
++ size_t mblength;
++ wchar_t wc;
++ mbstate_t *statep;
++ int convfail;
++
++ pos = 0;
++ statep = &(line->state);
++
++ /* skip fields. */
++ for (count = 0; count < skip_fields && pos < size; count++)
++ {
++ while (pos < size)
++ {
++ MBCHAR_TO_WCHAR (wc, mblength, lp, pos, size, statep, convfail);
++
++ if (convfail || !iswblank (wc))
++ {
++ pos += mblength;
++ break;
++ }
++ pos += mblength;
++ }
++
++ while (pos < size)
++ {
++ MBCHAR_TO_WCHAR (wc, mblength, lp, pos, size, statep, convfail);
++
++ if (!convfail && iswblank (wc))
++ break;
++
++ pos += mblength;
++ }
++ }
++
++ /* skip fields. */
++ for (count = 0; count < skip_chars && pos < size; count++)
++ {
++ MBCHAR_TO_WCHAR (wc, mblength, lp, pos, size, statep, convfail);
++ pos += mblength;
++ }
++
++ return lp + pos;
++}
++#endif
++
+ /* Return false if two strings OLD and NEW match, true if not.
+ OLD and NEW point not to the beginnings of the lines
+ but rather to the beginnings of the fields to compare.
+@@ -227,6 +330,8 @@
+ static bool
+ different (char *old, char *new, size_t oldlen, size_t newlen)
+ {
++ char *copy_old, *copy_new;
++
+ if (check_chars < oldlen)
+ oldlen = check_chars;
+ if (check_chars < newlen)
+@@ -234,14 +339,92 @@
+
+ if (ignore_case)
+ {
+- /* FIXME: This should invoke strcoll somehow. */
+- return oldlen != newlen || memcasecmp (old, new, oldlen);
++ size_t i;
++
++ copy_old = alloca (oldlen + 1);
++ copy_new = alloca (oldlen + 1);
++
++ for (i = 0; i < oldlen; i++)
++ {
++ copy_old[i] = toupper (old[i]);
++ copy_new[i] = toupper (new[i]);
++ }
+ }
+- else if (hard_LC_COLLATE)
+- return xmemcoll (old, oldlen, new, newlen) != 0;
+ else
+- return oldlen != newlen || memcmp (old, new, oldlen);
++ {
++ copy_old = (char *)old;
++ copy_new = (char *)new;
++ }
++
++ return xmemcoll (copy_old, oldlen, copy_new, newlen);
++}
++
++#if HAVE_MBRTOWC
++static int
++different_multi (const char *old, const char *new, size_t oldlen, size_t newlen, mbstate_t oldstate, mbstate_t newstate)
++{
++ size_t i, j, chars;
++ const char *str[2];
++ char *copy[2];
++ size_t len[2];
++ mbstate_t state[2];
++ size_t mblength;
++ wchar_t wc, uwc;
++ mbstate_t state_bak;
++
++ str[0] = old;
++ str[1] = new;
++ len[0] = oldlen;
++ len[1] = newlen;
++ state[0] = oldstate;
++ state[1] = newstate;
++
++ for (i = 0; i < 2; i++)
++ {
++ copy[i] = alloca (len[i] + 1);
++
++ for (j = 0, chars = 0; j < len[i] && chars < check_chars; chars++)
++ {
++ state_bak = state[i];
++ mblength = mbrtowc (&wc, str[i] + j, len[i] - j, &(state[i]));
++
++ switch (mblength)
++ {
++ case (size_t)-1:
++ case (size_t)-2:
++ state[i] = state_bak;
++ /* Fall through */
++ case 0:
++ mblength = 1;
++ break;
++
++ default:
++ if (ignore_case)
++ {
++ uwc = towupper (wc);
++
++ if (uwc != wc)
++ {
++ mbstate_t state_wc;
++
++ memset (&state_wc, '\0', sizeof(mbstate_t));
++ wcrtomb (copy[i] + j, uwc, &state_wc);
++ }
++ else
++ memcpy (copy[i] + j, str[i] + j, mblength);
++ }
++ else
++ memcpy (copy[i] + j, str[i] + j, mblength);
++ }
++ j += mblength;
++ }
++ copy[i][j] = '\0';
++ len[i] = j;
++ }
++
++ return xmemcoll (copy[0], len[0], copy[1], len[1]);
+ }
++#endif
+
+ /* Output the line in linebuffer LINE to standard output
+ provided that the switches say it should be output.
+@@ -295,15 +478,43 @@
+ {
+ char *prevfield IF_LINT (= NULL);
+ size_t prevlen IF_LINT (= 0);
++#if HAVE_MBRTOWC
++ mbstate_t prevstate;
++
++ memset (&prevstate, '\0', sizeof (mbstate_t));
++#endif
+
+ while (!feof (stdin))
+ {
+ char *thisfield;
+ size_t thislen;
++#if HAVE_MBRTOWC
++ mbstate_t thisstate;
++#endif
++
+ if (readlinebuffer (thisline, stdin) == 0)
+ break;
+ thisfield = find_field (thisline);
+ thislen = thisline->length - 1 - (thisfield - thisline->buffer);
++#if HAVE_MBRTOWC
++ if (MB_CUR_MAX > 1)
++ {
++ thisstate = thisline->state;
++
++ if (prevline->length == 0 || different_multi
++ (thisfield, prevfield, thislen, prevlen, thisstate, prevstate))
++ {
++ fwrite (thisline->buffer, sizeof (char),
++ thisline->length, stdout);
++
++ SWAP_LINES (prevline, thisline);
++ prevfield = thisfield;
++ prevlen = thislen;
++ prevstate = thisstate;
++ }
++ }
++ else
++#endif
+ if (prevline->length == 0
+ || different (thisfield, prevfield, thislen, prevlen))
+ {
+@@ -322,17 +533,26 @@
+ size_t prevlen;
+ uintmax_t match_count = 0;
+ bool first_delimiter = true;
++#if HAVE_MBRTOWC
++ mbstate_t prevstate;
++#endif
+
+ if (readlinebuffer (prevline, stdin) == 0)
+ goto closefiles;
+ prevfield = find_field (prevline);
+ prevlen = prevline->length - 1 - (prevfield - prevline->buffer);
++#if HAVE_MBRTOWC
++ prevstate = prevline->state;
++#endif
+
+ while (!feof (stdin))
+ {
+ bool match;
+ char *thisfield;
+ size_t thislen;
++#if HAVE_MBRTOWC
++ mbstate_t thisstate;
++#endif
+ if (readlinebuffer (thisline, stdin) == 0)
+ {
+ if (ferror (stdin))
+@@ -341,6 +561,15 @@
+ }
+ thisfield = find_field (thisline);
+ thislen = thisline->length - 1 - (thisfield - thisline->buffer);
++#if HAVE_MBRTOWC
++ if (MB_CUR_MAX > 1)
++ {
++ thisstate = thisline->state;
++ match = !different_multi (thisfield, prevfield,
++ thislen, prevlen, thisstate, prevstate);
++ }
++ else
++#endif
+ match = !different (thisfield, prevfield, thislen, prevlen);
+ match_count += match;
+
+@@ -373,6 +602,9 @@
+ SWAP_LINES (prevline, thisline);
+ prevfield = thisfield;
+ prevlen = thislen;
++#if HAVE_MBRTOWC
++ prevstate = thisstate;
++#endif
+ if (!match)
+ match_count = 0;
+ }
+@@ -417,6 +649,19 @@
+
+ atexit (close_stdout);
+
++#if HAVE_MBRTOWC
++ if (MB_CUR_MAX > 1)
++ {
++ find_field = find_field_multi;
++ }
++ else
++#endif
++ {
++ find_field = find_field_uni;
++ }
++
++
++
+ skip_chars = 0;
+ skip_fields = 0;
+ check_chars = SIZE_MAX;
+--- coreutils-6.8+/src/fold.c.i18n 2007-02-23 12:01:47.000000000 +0000
++++ coreutils-6.8+/src/fold.c 2007-03-01 15:08:24.000000000 +0000
+@@ -23,11 +23,33 @@
+ #include <getopt.h>
+ #include <sys/types.h>
+
++/* Get mbstate_t, mbrtowc(), wcwidth(). */
++#if HAVE_WCHAR_H
++# include <wchar.h>
++#endif
++
++/* Get iswprint(), iswblank(), wcwidth(). */
++#if HAVE_WCTYPE_H
++# include <wctype.h>
++#endif
++
+ #include "system.h"
+ #include "error.h"
+ #include "quote.h"
+ #include "xstrtol.h"
+
++/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC
++ installation; work around this configuration error. */
++#if !defined MB_LEN_MAX || MB_LEN_MAX < 2
++# undef MB_LEN_MAX
++# define MB_LEN_MAX 16
++#endif
++
++/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */
++#if HAVE_MBRTOWC && defined mbstate_t
++# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
++#endif
++
+ #define TAB_WIDTH 8
+
+ /* The official name of this program (e.g., no `g' prefix). */
+@@ -35,23 +57,44 @@
+
+ #define AUTHORS "David MacKenzie"
+
++#define FATAL_ERROR(Message) \
++ do \
++ { \
++ error (0, 0, (Message)); \
++ usage (2); \
++ } \
++ while (0)
++
++enum operating_mode
++{
++ /* Fold texts by columns that are at the given positions. */
++ column_mode,
++
++ /* Fold texts by bytes that are at the given positions. */
++ byte_mode,
++
++ /* Fold texts by characters that are at the given positions. */
++ character_mode,
++};
++
+ /* The name this program was run with. */
+ char *program_name;
+
++/* The argument shows current mode. (Default: column_mode) */
++static enum operating_mode operating_mode;
++
+ /* If nonzero, try to break on whitespace. */
+ static bool break_spaces;
+
+-/* If nonzero, count bytes, not column positions. */
+-static bool count_bytes;
+-
+ /* If nonzero, at least one of the files we read was standard input. */
+ static bool have_read_stdin;
+
+-static char const shortopts[] = "bsw:0::1::2::3::4::5::6::7::8::9::";
++static char const shortopts[] = "bcsw:0::1::2::3::4::5::6::7::8::9::";
+
+ static struct option const longopts[] =
+ {
+ {"bytes", no_argument, NULL, 'b'},
++ {"characters", no_argument, NULL, 'c'},
+ {"spaces", no_argument, NULL, 's'},
+ {"width", required_argument, NULL, 'w'},
+ {GETOPT_HELP_OPTION_DECL},
+@@ -81,6 +124,7 @@
+ "), stdout);
+ fputs (_("\
+ -b, --bytes count bytes rather than columns\n\
++ -c, --characters count characters rather than columns\n\
+ -s, --spaces break at spaces\n\
+ -w, --width=WIDTH use WIDTH columns instead of 80\n\
+ "), stdout);
+@@ -98,7 +142,7 @@
+ static size_t
+ adjust_column (size_t column, char c)
+ {
+- if (!count_bytes)
++ if (operating_mode != byte_mode)
+ {
+ if (c == '\b')
+ {
+@@ -121,30 +165,14 @@
+ to stdout, with maximum line length WIDTH.
+ Return true if successful. */
+
+-static bool
+-fold_file (char const *filename, size_t width)
++static void
++fold_text (FILE *istream, size_t width, int *saved_errno)
+ {
+- FILE *istream;
+ int c;
+ size_t column = 0; /* Screen column where next char will go. */
+ size_t offset_out = 0; /* Index in `line_out' for next char. */
+ static char *line_out = NULL;
+ static size_t allocated_out = 0;
+- int saved_errno;
+-
+- if (STREQ (filename, "-"))
+- {
+- istream = stdin;
+- have_read_stdin = true;
+- }
+- else
+- istream = fopen (filename, "r");
+-
+- if (istream == NULL)
+- {
+- error (0, errno, "%s", filename);
+- return false;
+- }
+
+ while ((c = getc (istream)) != EOF)
+ {
+@@ -172,6 +200,15 @@
+ bool found_blank = false;
+ size_t logical_end = offset_out;
+
++ /* If LINE_OUT has no wide character,
++ put a new wide character in LINE_OUT
++ if column is bigger than width. */
++ if (offset_out == 0)
++ {
++ line_out[offset_out++] = c;
++ continue;
++ }
++
+ /* Look for the last blank. */
+ while (logical_end)
+ {
+@@ -218,11 +255,225 @@
+ line_out[offset_out++] = c;
+ }
+
+- saved_errno = errno;
++ *saved_errno = errno;
++
++ if (offset_out)
++ fwrite (line_out, sizeof (char), (size_t) offset_out, stdout);
++
++ free(line_out);
++}
++
++#if HAVE_MBRTOWC
++static void
++fold_multibyte_text (FILE *istream, size_t width, int *saved_errno)
++{
++ char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */
++ size_t buflen = 0; /* The length of the byte sequence in buf. */
++ char *bufpos; /* Next read position of BUF. */
++ wint_t wc; /* A gotten wide character. */
++ size_t mblength; /* The byte size of a multibyte character which shows
++ as same character as WC. */
++ mbstate_t state, state_bak; /* State of the stream. */
++ int convfail; /* 1, when conversion is failed. Otherwise 0. */
++
++ char *line_out = NULL;
++ size_t offset_out = 0; /* Index in `line_out' for next char. */
++ size_t allocated_out = 0;
++
++ int increment;
++ size_t column = 0;
++
++ size_t last_blank_pos;
++ size_t last_blank_column;
++ int is_blank_seen;
++ int last_blank_increment;
++ int is_bs_following_last_blank;
++ size_t bs_following_last_blank_num;
++ int is_cr_after_last_blank;
++
++#define CLEAR_FLAGS \
++ do \
++ { \
++ last_blank_pos = 0; \
++ last_blank_column = 0; \
++ is_blank_seen = 0; \
++ is_bs_following_last_blank = 0; \
++ bs_following_last_blank_num = 0; \
++ is_cr_after_last_blank = 0; \
++ } \
++ while (0)
++
++#define START_NEW_LINE \
++ do \
++ { \
++ putchar ('\n'); \
++ column = 0; \
++ offset_out = 0; \
++ CLEAR_FLAGS; \
++ } \
++ while (0)
++
++ CLEAR_FLAGS;
++ memset (&state, '\0', sizeof(mbstate_t));
++
++ for (;; bufpos += mblength, buflen -= mblength)
++ {
++ if (buflen < MB_LEN_MAX && !feof (istream) && !ferror (istream))
++ {
++ memmove (buf, bufpos, buflen);
++ buflen += fread (buf + buflen, sizeof(char), BUFSIZ, istream);
++ bufpos = buf;
++ }
++
++ if (buflen < 1)
++ break;
++
++ /* Get a wide character. */
++ convfail = 0;
++ state_bak = state;
++ mblength = mbrtowc ((wchar_t *)&wc, bufpos, buflen, &state);
++
++ switch (mblength)
++ {
++ case (size_t)-1:
++ case (size_t)-2:
++ convfail++;
++ state = state_bak;
++ /* Fall through. */
++
++ case 0:
++ mblength = 1;
++ break;
++ }
++
++rescan:
++ if (operating_mode == byte_mode) /* byte mode */
++ increment = mblength;
++ else if (operating_mode == character_mode) /* character mode */
++ increment = 1;
++ else /* column mode */
++ {
++ if (convfail)
++ increment = 1;
++ else
++ {
++ switch (wc)
++ {
++ case L'\n':
++ fwrite (line_out, sizeof(char), offset_out, stdout);
++ START_NEW_LINE;
++ continue;
++
++ case L'\b':
++ increment = (column > 0) ? -1 : 0;
++ break;
++
++ case L'\r':
++ increment = -1 * column;
++ break;
++
++ case L'\t':
++ increment = 8 - column % 8;
++ break;
++
++ default:
++ increment = wcwidth (wc);
++ increment = (increment < 0) ? 0 : increment;
++ }
++ }
++ }
++
++ if (column + increment > width && break_spaces && last_blank_pos)
++ {
++ fwrite (line_out, sizeof(char), last_blank_pos, stdout);
++ putchar ('\n');
++
++ offset_out = offset_out - last_blank_pos;
++ column = column - last_blank_column + ((is_cr_after_last_blank)
++ ? last_blank_increment : bs_following_last_blank_num);
++ memmove (line_out, line_out + last_blank_pos, offset_out);
++ CLEAR_FLAGS;
++ goto rescan;
++ }
++
++ if (column + increment > width && column != 0)
++ {
++ fwrite (line_out, sizeof(char), offset_out, stdout);
++ START_NEW_LINE;
++ goto rescan;
++ }
++
++ if (allocated_out < offset_out + mblength)
++ {
++ allocated_out += 1024;
++ line_out = xrealloc (line_out, allocated_out);
++ }
++
++ memcpy (line_out + offset_out, bufpos, mblength);
++ offset_out += mblength;
++ column += increment;
++
++ if (is_blank_seen && !convfail && wc == L'\r')
++ is_cr_after_last_blank = 1;
++
++ if (is_bs_following_last_blank && !convfail && wc == L'\b')
++ ++bs_following_last_blank_num;
++ else
++ is_bs_following_last_blank = 0;
++
++ if (break_spaces && !convfail && iswblank (wc))
++ {
++ last_blank_pos = offset_out;
++ last_blank_column = column;
++ is_blank_seen = 1;
++ last_blank_increment = increment;
++ is_bs_following_last_blank = 1;
++ bs_following_last_blank_num = 0;
++ is_cr_after_last_blank = 0;
++ }
++ }
++
++ *saved_errno = errno;
+
+ if (offset_out)
+ fwrite (line_out, sizeof (char), (size_t) offset_out, stdout);
+
++ free(line_out);
++}
++#endif
++
++/* Fold file FILENAME, or standard input if FILENAME is "-",
++ to stdout, with maximum line length WIDTH.
++ Return 0 if successful, 1 if an error occurs. */
++
++static bool
++fold_file (char *filename, size_t width)
++{
++ FILE *istream;
++ int saved_errno;
++
++ if (STREQ (filename, "-"))
++ {
++ istream = stdin;
++ have_read_stdin = 1;
++ }
++ else
++ istream = fopen (filename, "r");
++
++ if (istream == NULL)
++ {
++ error (0, errno, "%s", filename);
++ return 1;
++ }
++
++ /* Define how ISTREAM is being folded. */
++#if HAVE_MBRTOWC
++ if (MB_CUR_MAX > 1)
++ fold_multibyte_text (istream, width, &saved_errno);
++ else
++#endif
++ fold_text (istream, width, &saved_errno);
++
+ if (ferror (istream))
+ {
+ error (0, saved_errno, "%s", filename);
+@@ -255,7 +506,8 @@
+
+ atexit (close_stdout);
+
+- break_spaces = count_bytes = have_read_stdin = false;
++ operating_mode = column_mode;
++ break_spaces = have_read_stdin = false;
+
+ while ((optc = getopt_long (argc, argv, shortopts, longopts, NULL)) != -1)
+ {
+@@ -264,7 +516,15 @@
+ switch (optc)
+ {
+ case 'b': /* Count bytes rather than columns. */
+- count_bytes = true;
++ if (operating_mode != column_mode)
++ FATAL_ERROR (_("only one way of folding may be specified"));
++ operating_mode = byte_mode;
++ break;
++
++ case 'c':
++ if (operating_mode != column_mode)
++ FATAL_ERROR (_("only one way of folding may be specified"));
++ operating_mode = character_mode;
+ break;
+
+ case 's': /* Break at word boundaries. */
+--- coreutils-6.8+/src/sort.c.i18n 2007-02-24 11:23:23.000000000 +0000
++++ coreutils-6.8+/src/sort.c 2007-03-01 15:10:57.000000000 +0000
+@@ -23,10 +23,19 @@
+
+ #include <config.h>
+
++#include <assert.h>
+ #include <getopt.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+ #include <signal.h>
++#if HAVE_WCHAR_H
++# include <wchar.h>
++#endif
++/* Get isw* functions. */
++#if HAVE_WCTYPE_H
++# include <wctype.h>
++#endif
++
+ #include "system.h"
+ #include "argmatch.h"
+ #include "error.h"
+@@ -116,14 +125,38 @@
+ /* Thousands separator; if -1, then there isn't one. */
+ static int thousands_sep;
+
++static int force_general_numcompare = 0;
++
+ /* Nonzero if the corresponding locales are hard. */
+ static bool hard_LC_COLLATE;
+-#if HAVE_NL_LANGINFO
++#if HAVE_LANGINFO_CODESET
+ static bool hard_LC_TIME;
+ #endif
+
+ #define NONZERO(x) ((x) != 0)
+
++/* get a multibyte character's byte length. */
++#define GET_BYTELEN_OF_CHAR(LIM, PTR, MBLENGTH, STATE) \
++ do \
++ { \
++ wchar_t wc; \
++ mbstate_t state_bak; \
++ \
++ state_bak = STATE; \
++ mblength = mbrtowc (&wc, PTR, LIM - PTR, &STATE); \
++ \
++ switch (MBLENGTH) \
++ { \
++ case (size_t)-1: \
++ case (size_t)-2: \
++ STATE = state_bak; \
++ /* Fall through. */ \
++ case 0: \
++ MBLENGTH = 1; \
++ } \
++ } \
++ while (0)
++
+ /* The kind of blanks for '-b' to skip in various options. */
+ enum blanktype { bl_start, bl_end, bl_both };
+
+@@ -261,13 +294,11 @@
+ they were read if all keys compare equal. */
+ static bool stable;
+
+-/* If TAB has this value, blanks separate fields. */
+-enum { TAB_DEFAULT = CHAR_MAX + 1 };
+-
+-/* Tab character separating fields. If TAB_DEFAULT, then fields are
++/* Tab character separating fields. If tab_length is 0, then fields are
+ separated by the empty string between a non-blank character and a blank
+ character. */
+-static int tab = TAB_DEFAULT;
++static char tab[MB_LEN_MAX + 1];
++static size_t tab_length = 0;
+
+ /* Flag to remove consecutive duplicate lines from the output.
+ Only the last of a sequence of equal lines will be output. */
+@@ -639,6 +670,44 @@
+ update_proc (pid);
+ }
+
++/* Function pointers. */
++static void
++(*inittables) (void);
++static char *
++(*begfield) (const struct line*, const struct keyfield *);
++static char *
++(*limfield) (const struct line*, const struct keyfield *);
++static int
++(*getmonth) (char const *, size_t);
++static int
++(*keycompare) (const struct line *, const struct line *);
++static int
++(*numcompare) (const char *, const char *);
++
++/* Test for white space multibyte character.
++ Set LENGTH the byte length of investigated multibyte character. */
++#if HAVE_MBRTOWC
++static int
++ismbblank (const char *str, size_t len, size_t *length)
++{
++ size_t mblength;
++ wchar_t wc;
++ mbstate_t state;
++
++ memset (&state, '\0', sizeof(mbstate_t));
++ mblength = mbrtowc (&wc, str, len, &state);
++
++ if (mblength == (size_t)-1 || mblength == (size_t)-2)
++ {
++ *length = 1;
++ return 0;
++ }
++
++ *length = (mblength < 1) ? 1 : mblength;
++ return iswblank (wc);
++}
++#endif
++
+ /* Clean up any remaining temporary files. */
+
+ static void
+@@ -978,7 +1047,7 @@
+ free (node);
+ }
+
+-#if HAVE_NL_LANGINFO
++#if HAVE_LANGINFO_CODESET
+
+ static int
+ struct_month_cmp (const void *m1, const void *m2)
+@@ -993,7 +1062,7 @@
+ /* Initialize the character class tables. */
+
+ static void
+-inittables (void)
++inittables_uni (void)
+ {
+ size_t i;
+
+@@ -1005,7 +1074,7 @@
+ fold_toupper[i] = toupper (i);
+ }
+
+-#if HAVE_NL_LANGINFO
++#if HAVE_LANGINFO_CODESET
+ /* If we're not in the "C" locale, read different names for months. */
+ if (hard_LC_TIME)
+ {
+@@ -1031,6 +1100,64 @@
+ #endif
+ }
+
++#if HAVE_MBRTOWC
++static void
++inittables_mb (void)
++{
++ int i, j, k, l;
++ char *name, *s;
++ size_t s_len, mblength;
++ char mbc[MB_LEN_MAX];
++ wchar_t wc, pwc;
++ mbstate_t state_mb, state_wc;
++
++ for (i = 0; i < MONTHS_PER_YEAR; i++)
++ {
++ s = (char *) nl_langinfo (ABMON_1 + i);
++ s_len = strlen (s);
++ monthtab[i].name = name = (char *) xmalloc (s_len + 1);
++ monthtab[i].val = i + 1;
++
++ memset (&state_mb, '\0', sizeof (mbstate_t));
++ memset (&state_wc, '\0', sizeof (mbstate_t));
++
++ for (j = 0; j < s_len;)
++ {
++ if (!ismbblank (s + j, s_len - j, &mblength))
++ break;
++ j += mblength;
++ }
++
++ for (k = 0; j < s_len;)
++ {
++ mblength = mbrtowc (&wc, (s + j), (s_len - j), &state_mb);
++ assert (mblength != (size_t)-1 && mblength != (size_t)-2);
++ if (mblength == 0)
++ break;
++
++ pwc = towupper (wc);
++ if (pwc == wc)
++ {
++ memcpy (mbc, s + j, mblength);
++ j += mblength;
++ }
++ else
++ {
++ j += mblength;
++ mblength = wcrtomb (mbc, pwc, &state_wc);
++ assert (mblength != (size_t)0 && mblength != (size_t)-1);
++ }
++
++ for (l = 0; l < mblength; l++)
++ name[k++] = mbc[l];
++ }
++ name[k] = '\0';
++ }
++ qsort ((void *) monthtab, MONTHS_PER_YEAR,
++ sizeof (struct month), struct_month_cmp);
++}
++#endif
++
+ /* Specify the amount of main memory to use when sorting. */
+ static void
+ specify_sort_size (char const *s)
+@@ -1241,7 +1368,7 @@
+ by KEY in LINE. */
+
+ static char *
+-begfield (const struct line *line, const struct keyfield *key)
++begfield_uni (const struct line *line, const struct keyfield *key)
+ {
+ char *ptr = line->text, *lim = ptr + line->length - 1;
+ size_t sword = key->sword;
+@@ -1251,10 +1378,10 @@
+ /* The leading field separator itself is included in a field when -t
+ is absent. */
+
+- if (tab != TAB_DEFAULT)
++ if (tab_length)
+ while (ptr < lim && sword--)
+ {
+- while (ptr < lim && *ptr != tab)
++ while (ptr < lim && *ptr != tab[0])
+ ++ptr;
+ if (ptr < lim)
+ ++ptr;
+@@ -1282,11 +1409,70 @@
+ return ptr;
+ }
+
++#if HAVE_MBRTOWC
++static char *
++begfield_mb (const struct line *line, const struct keyfield *key)
++{
++ int i;
++ char *ptr = line->text, *lim = ptr + line->length - 1;
++ size_t sword = key->sword;
++ size_t schar = key->schar;
++ size_t mblength;
++ mbstate_t state;
++
++ memset (&state, '\0', sizeof(mbstate_t));
++
++ if (tab_length)
++ while (ptr < lim && sword--)
++ {
++ while (ptr < lim && memcmp (ptr, tab, tab_length) != 0)
++ {
++ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state);
++ ptr += mblength;
++ }
++ if (ptr < lim)
++ {
++ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state);
++ ptr += mblength;
++ }
++ }
++ else
++ while (ptr < lim && sword--)
++ {
++ while (ptr < lim && ismbblank (ptr, lim - ptr, &mblength))
++ ptr += mblength;
++ if (ptr < lim)
++ {
++ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state);
++ ptr += mblength;
++ }
++ while (ptr < lim && !ismbblank (ptr, lim - ptr, &mblength))
++ ptr += mblength;
++ }
++
++ if (key->skipsblanks)
++ while (ptr < lim && ismbblank (ptr, lim - ptr, &mblength))
++ ptr += mblength;
++
++ for (i = 0; i < schar; i++)
++ {
++ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state);
++
++ if (ptr + mblength > lim)
++ break;
++ else
++ ptr += mblength;
++ }
++
++ return ptr;
++}
++#endif
++
+ /* Return the limit of (a pointer to the first character after) the field
+ in LINE specified by KEY. */
+
+ static char *
+-limfield (const struct line *line, const struct keyfield *key)
++limfield_uni (const struct line *line, const struct keyfield *key)
+ {
+ char *ptr = line->text, *lim = ptr + line->length - 1;
+ size_t eword = key->eword, echar = key->echar;
+@@ -1299,10 +1485,10 @@
+ `beginning' is the first character following the delimiting TAB.
+ Otherwise, leave PTR pointing at the first `blank' character after
+ the preceding field. */
+- if (tab != TAB_DEFAULT)
++ if (tab_length)
+ while (ptr < lim && eword--)
+ {
+- while (ptr < lim && *ptr != tab)
++ while (ptr < lim && *ptr != tab[0])
+ ++ptr;
+ if (ptr < lim && (eword | echar))
+ ++ptr;
+@@ -1348,10 +1534,10 @@
+ */
+
+ /* Make LIM point to the end of (one byte past) the current field. */
+- if (tab != TAB_DEFAULT)
++ if (tab_length)
+ {
+ char *newlim;
+- newlim = memchr (ptr, tab, lim - ptr);
++ newlim = memchr (ptr, tab[0], lim - ptr);
+ if (newlim)
+ lim = newlim;
+ }
+@@ -1384,6 +1570,107 @@
+ return ptr;
+ }
+
++#if HAVE_MBRTOWC
++static char *
++limfield_mb (const struct line *line, const struct keyfield *key)
++{
++ char *ptr = line->text, *lim = ptr + line->length - 1;
++ size_t eword = key->eword, echar = key->echar;
++ int i;
++ size_t mblength;
++ mbstate_t state;
++
++ memset (&state, '\0', sizeof(mbstate_t));
++
++ if (tab_length)
++ while (ptr < lim && eword--)
++ {
++ while (ptr < lim && memcmp (ptr, tab, tab_length) != 0)
++ {
++ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state);
++ ptr += mblength;
++ }
++ if (ptr < lim && (eword | echar))
++ {
++ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state);
++ ptr += mblength;
++ }
++ }
++ else
++ while (ptr < lim && eword--)
++ {
++ while (ptr < lim && ismbblank (ptr, lim - ptr, &mblength))
++ ptr += mblength;
++ if (ptr < lim)
++ {
++ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state);
++ ptr += mblength;
++ }
++ while (ptr < lim && !ismbblank (ptr, lim - ptr, &mblength))
++ ptr += mblength;
++ }
++
++
++# ifdef POSIX_UNSPECIFIED
++ /* Make LIM point to the end of (one byte past) the current field. */
++ if (tab_length)
++ {
++ char *newlim, *p;
++
++ newlim = NULL;
++ for (p = ptr; p < lim;)
++ {
++ if (memcmp (p, tab, tab_length) == 0)
++ {
++ newlim = p;
++ break;
++ }
++
++ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state);
++ p += mblength;
++ }
++ }
++ else
++ {
++ char *newlim;
++ newlim = ptr;
++
++ while (newlim < lim && ismbblank (newlim, lim - newlim, &mblength))
++ newlim += mblength;
++ if (ptr < lim)
++ {
++ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state);
++ ptr += mblength;
++ }
++ while (newlim < lim && !ismbblank (newlim, lim - newlim, &mblength))
++ newlim += mblength;
++ lim = newlim;
++ }
++# endif
++
++ /* If we're skipping leading blanks, don't start counting characters
++ * until after skipping past any leading blanks. */
++ if (key->skipsblanks)
++ while (ptr < lim && ismbblank (ptr, lim - ptr, &mblength))
++ ptr += mblength;
++
++ memset (&state, '\0', sizeof(mbstate_t));
++
++ /* Advance PTR by ECHAR (if possible), but no further than LIM. */
++ for (i = 0; i < echar; i++)
++ {
++ GET_BYTELEN_OF_CHAR (lim, ptr, mblength, state);
++
++ if (ptr + mblength > lim)
++ break;
++ else
++ ptr += mblength;
++ }
++
++ return ptr;
++}
++#endif
++
+ /* Fill BUF reading from FP, moving buf->left bytes from the end
+ of buf->buf to the beginning first. If EOF is reached and the
+ file wasn't terminated by a newline, supply one. Set up BUF's line
+@@ -1466,8 +1753,24 @@
+ else
+ {
+ if (key->skipsblanks)
+- while (blanks[to_uchar (*line_start)])
+- line_start++;
++ {
++#if HAVE_MBRTOWC
++ if (MB_CUR_MAX > 1)
++ {
++ size_t mblength;
++ mbstate_t state;
++ memset (&state, '\0', sizeof(mbstate_t));
++ while (line_start < line->keylim &&
++ ismbblank (line_start,
++ line->keylim - line_start,
++ &mblength))
++ line_start += mblength;
++ }
++ else
++#endif
++ while (blanks[to_uchar (*line_start)])
++ line_start++;
++ }
+ line->keybeg = line_start;
+ }
+ }
+@@ -1500,7 +1803,7 @@
+ hideously fast. */
+
+ static int
+-numcompare (const char *a, const char *b)
++numcompare_uni (const char *a, const char *b)
+ {
+ while (blanks[to_uchar (*a)])
+ a++;
+@@ -1510,6 +1813,25 @@
+ return strnumcmp (a, b, decimal_point, thousands_sep);
+ }
+
++#if HAVE_MBRTOWC
++static int
++numcompare_mb (const char *a, const char *b)
++{
++ size_t mblength, len;
++ len = strlen (a); /* okay for UTF-8 */
++ while (*a && ismbblank (a, len > MB_CUR_MAX ? MB_CUR_MAX : len, &mblength))
++ {
++ a += mblength;
++ len -= mblength;
++ }
++ len = strlen (b); /* okay for UTF-8 */
++ while (*b && ismbblank (b, len > MB_CUR_MAX ? MB_CUR_MAX : len, &mblength))
++ b += mblength;
++
++ return strnumcmp (a, b, decimal_point, thousands_sep);
++}
++#endif /* HAV_EMBRTOWC */
++
+ static int
+ general_numcompare (const char *sa, const char *sb)
+ {
+@@ -1543,7 +1865,7 @@
+ Return 0 if the name in S is not recognized. */
+
+ static int
+-getmonth (char const *month, size_t len)
++getmonth_uni (char const *month, size_t len)
+ {
+ size_t lo = 0;
+ size_t hi = MONTHS_PER_YEAR;
+@@ -1698,11 +2020,79 @@
+ return diff;
+ }
+
++#if HAVE_MBRTOWC
++static int
++getmonth_mb (const char *s, size_t len)
++{
++ char *month;
++ register size_t i;
++ register int lo = 0, hi = MONTHS_PER_YEAR, result;
++ char *tmp;
++ size_t wclength, mblength;
++ const char **pp;
++ const wchar_t **wpp;
++ wchar_t *month_wcs;
++ mbstate_t state;
++
++ while (len > 0 && ismbblank (s, len, &mblength))
++ {
++ s += mblength;
++ len -= mblength;
++ }
++
++ if (len == 0)
++ return 0;
++
++ month = (char *) alloca (len + 1);
++
++ tmp = (char *) alloca (len + 1);
++ memcpy (tmp, s, len);
++ tmp[len] = '\0';
++ pp = (const char **)&tmp;
++ month_wcs = (wchar_t *) alloca ((len + 1) * sizeof (wchar_t));
++ memset (&state, '\0', sizeof(mbstate_t));
++
++ wclength = mbsrtowcs (month_wcs, pp, len + 1, &state);
++ assert (wclength != (size_t)-1 && *pp == NULL);
++
++ for (i = 0; i < wclength; i++)
++ {
++ month_wcs[i] = towupper(month_wcs[i]);
++ if (iswblank (month_wcs[i]))
++ {
++ month_wcs[i] = L'\0';
++ break;
++ }
++ }
++
++ wpp = (const wchar_t **)&month_wcs;
++
++ mblength = wcsrtombs (month, wpp, len + 1, &state);
++ assert (mblength != (-1) && *wpp == NULL);
++
++ do
++ {
++ int ix = (lo + hi) / 2;
++
++ if (strncmp (month, monthtab[ix].name, strlen (monthtab[ix].name)) < 0)
++ hi = ix;
++ else
++ lo = ix;
++ }
++ while (hi - lo > 1);
++
++ result = (!strncmp (month, monthtab[lo].name, strlen (monthtab[lo].name))
++ ? monthtab[lo].val : 0);
++
++ return result;
++}
++#endif
++
+ /* Compare two lines A and B trying every key in sequence until there
+ are no more keys or a difference is found. */
+
+ static int
+-keycompare (const struct line *a, const struct line *b)
++keycompare_uni (const struct line *a, const struct line *b)
+ {
+ struct keyfield const *key = keylist;
+
+@@ -1875,6 +2265,179 @@
+ return key->reverse ? -diff : diff;
+ }
+
++#if HAVE_MBRTOWC
++static int
++keycompare_mb (const struct line *a, const struct line *b)
++{
++ struct keyfield *key = keylist;
++
++ /* For the first iteration only, the key positions have been
++ precomputed for us. */
++ char *texta = a->keybeg;
++ char *textb = b->keybeg;
++ char *lima = a->keylim;
++ char *limb = b->keylim;
++
++ size_t mblength_a, mblength_b;
++ wchar_t wc_a, wc_b;
++ mbstate_t state_a, state_b;
++
++ int diff;
++
++ memset (&state_a, '\0', sizeof(mbstate_t));
++ memset (&state_b, '\0', sizeof(mbstate_t));
++
++ for (;;)
++ {
++ unsigned char *translate = (unsigned char *) key->translate;
++ bool const *ignore = key->ignore;
++
++ /* Find the lengths. */
++ size_t lena = lima <= texta ? 0 : lima - texta;
++ size_t lenb = limb <= textb ? 0 : limb - textb;
++
++ /* Actually compare the fields. */
++ if (key->random)
++ diff = compare_random (texta, lena, textb, lenb);
++ else if (key->numeric | key->general_numeric)
++ {
++ char savea = *lima, saveb = *limb;
++
++ *lima = *limb = '\0';
++ if (force_general_numcompare)
++ diff = general_numcompare (texta, textb);
++ else
++ diff = ((key->numeric ? numcompare : general_numcompare)
++ (texta, textb));
++ *lima = savea, *limb = saveb;
++ }
++ else if (key->month)
++ diff = getmonth (texta, lena) - getmonth (textb, lenb);
++ else
++ {
++ if (ignore || translate)
++ {
++ char *copy_a = (char *) alloca (lena + 1 + lenb + 1);
++ char *copy_b = copy_a + lena + 1;
++ size_t new_len_a, new_len_b;
++ size_t i, j;
++
++ /* Ignore and/or translate chars before comparing. */
++# define IGNORE_CHARS(NEW_LEN, LEN, TEXT, COPY, WC, MBLENGTH, STATE) \
++ do \
++ { \
++ wchar_t uwc; \
++ char mbc[MB_LEN_MAX]; \
++ mbstate_t state_wc; \
++ \
++ for (NEW_LEN = i = 0; i < LEN;) \
++ { \
++ mbstate_t state_bak; \
++ \
++ state_bak = STATE; \
++ MBLENGTH = mbrtowc (&WC, TEXT + i, LEN - i, &STATE); \
++ \
++ if (MBLENGTH == (size_t)-2 || MBLENGTH == (size_t)-1 \
++ || MBLENGTH == 0) \
++ { \
++ if (MBLENGTH == (size_t)-2 || MBLENGTH == (size_t)-1) \
++ STATE = state_bak; \
++ if (!ignore) \
++ COPY[NEW_LEN++] = TEXT[i++]; \
++ continue; \
++ } \
++ \
++ if (ignore) \
++ { \
++ if ((ignore == nonprinting && !iswprint (WC)) \
++ || (ignore == nondictionary \
++ && !iswalnum (WC) && !iswblank (WC))) \
++ { \
++ i += MBLENGTH; \
++ continue; \
++ } \
++ } \
++ \
++ if (translate) \
++ { \
++ \
++ uwc = towupper(WC); \
++ if (WC == uwc) \
++ { \
++ memcpy (mbc, TEXT + i, MBLENGTH); \
++ i += MBLENGTH; \
++ } \
++ else \
++ { \
++ i += MBLENGTH; \
++ WC = uwc; \
++ memset (&state_wc, '\0', sizeof (mbstate_t)); \
++ \
++ MBLENGTH = wcrtomb (mbc, WC, &state_wc); \
++ assert (MBLENGTH != (size_t)-1 && MBLENGTH != 0); \
++ } \
++ \
++ for (j = 0; j < MBLENGTH; j++) \
++ COPY[NEW_LEN++] = mbc[j]; \
++ } \
++ else \
++ for (j = 0; j < MBLENGTH; j++) \
++ COPY[NEW_LEN++] = TEXT[i++]; \
++ } \
++ COPY[NEW_LEN] = '\0'; \
++ } \
++ while (0)
++ IGNORE_CHARS (new_len_a, lena, texta, copy_a,
++ wc_a, mblength_a, state_a);
++ IGNORE_CHARS (new_len_b, lenb, textb, copy_b,
++ wc_b, mblength_b, state_b);
++ diff = xmemcoll (copy_a, new_len_a, copy_b, new_len_b);
++ }
++ else if (lena == 0)
++ diff = - NONZERO (lenb);
++ else if (lenb == 0)
++ goto greater;
++ else
++ diff = xmemcoll (texta, lena, textb, lenb);
++ }
++
++ if (diff)
++ goto not_equal;
++
++ key = key->next;
++ if (! key)
++ break;
++
++ /* Find the beginning and limit of the next field. */
++ if (key->eword != -1)
++ lima = limfield (a, key), limb = limfield (b, key);
++ else
++ lima = a->text + a->length - 1, limb = b->text + b->length - 1;
++
++ if (key->sword != -1)
++ texta = begfield (a, key), textb = begfield (b, key);
++ else
++ {
++ texta = a->text, textb = b->text;
++ if (key->skipsblanks)
++ {
++ while (texta < lima && ismbblank (texta, lima - texta, &mblength_a))
++ texta += mblength_a;
++ while (textb < limb && ismbblank (textb, limb - textb, &mblength_b))
++ textb += mblength_b;
++ }
++ }
++ }
++
++ return 0;
++
++greater:
++ diff = 1;
++not_equal:
++ return key->reverse ? -diff : diff;
++}
++#endif
++
+ /* Compare two lines A and B, returning negative, zero, or positive
+ depending on whether A compares less than, equal to, or greater than B. */
+
+@@ -2744,7 +3305,7 @@
+ initialize_exit_failure (SORT_FAILURE);
+
+ hard_LC_COLLATE = hard_locale (LC_COLLATE);
+-#if HAVE_NL_LANGINFO
++#if HAVE_LANGINFO_CODESET
+ hard_LC_TIME = hard_locale (LC_TIME);
+ #endif
+
+@@ -2765,6 +3326,27 @@
+ thousands_sep = -1;
+ }
+
++#if HAVE_MBRTOWC
++ if (MB_CUR_MAX > 1)
++ {
++ inittables = inittables_mb;
++ begfield = begfield_mb;
++ limfield = limfield_mb;
++ getmonth = getmonth_mb;
++ keycompare = keycompare_mb;
++ numcompare = numcompare_mb;
++ }
++ else
++#endif
++ {
++ inittables = inittables_uni;
++ begfield = begfield_uni;
++ limfield = limfield_uni;
++ getmonth = getmonth_uni;
++ keycompare = keycompare_uni;
++ numcompare = numcompare_uni;
++ }
++
+ have_read_stdin = false;
+ inittables ();
+
+@@ -3015,13 +3597,35 @@
+
+ case 't':
+ {
+- char newtab = optarg[0];
+- if (! newtab)
++ char newtab[MB_LEN_MAX + 1];
++ size_t newtab_length = 1;
++ strncpy (newtab, optarg, MB_LEN_MAX);
++ if (! newtab[0])
+ error (SORT_FAILURE, 0, _("empty tab"));
+- if (optarg[1])
++#if HAVE_MBRTOWC
++ if (MB_CUR_MAX > 1)
++ {
++ wchar_t wc;
++ mbstate_t state;
++ size_t i;
++
++ memset (&state, '\0', sizeof (mbstate_t));
++ newtab_length = mbrtowc (&wc, newtab, strnlen (newtab,
++ MB_LEN_MAX),
++ &state);
++ switch (newtab_length)
++ {
++ case (size_t) -1:
++ case (size_t) -2:
++ case 0:
++ newtab_length = 1;
++ }
++ }
++#endif
++ if (newtab_length == 1 && optarg[1])
+ {
+ if (STREQ (optarg, "\\0"))
+- newtab = '\0';
++ newtab[0] = '\0';
+ else
+ {
+ /* Provoke with `sort -txx'. Complain about
+@@ -3032,9 +3636,12 @@
+ quote (optarg));
+ }
+ }
+- if (tab != TAB_DEFAULT && tab != newtab)
++ if (tab_length
++ && (tab_length != newtab_length
++ || memcmp (tab, newtab, tab_length) != 0))
+ error (SORT_FAILURE, 0, _("incompatible tabs"));
+- tab = newtab;
++ memcpy (tab, newtab, newtab_length);
++ tab_length = newtab_length;
+ }
+ break;
+
+--- coreutils-6.8+/src/unexpand.c.i18n 2007-01-14 15:41:28.000000000 +0000
++++ coreutils-6.8+/src/unexpand.c 2007-03-01 15:08:24.000000000 +0000
+@@ -39,11 +39,28 @@
+ #include <stdio.h>
+ #include <getopt.h>
+ #include <sys/types.h>
++
++/* Get mbstate_t, mbrtowc(), wcwidth(). */
++#if HAVE_WCHAR_H
++# include <wchar.h>
++#endif
++
+ #include "system.h"
+ #include "error.h"
+ #include "quote.h"
+ #include "xstrndup.h"
+
++/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC
++ installation; work around this configuration error. */
++#if !defined MB_LEN_MAX || MB_LEN_MAX < 2
++# define MB_LEN_MAX 16
++#endif
++
++/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */
++#if HAVE_MBRTOWC && defined mbstate_t
++# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
++#endif
++
+ /* The official name of this program (e.g., no `g' prefix). */
+ #define PROGRAM_NAME "unexpand"
+
+@@ -110,6 +127,208 @@
+ {NULL, 0, NULL, 0}
+ };
+
++static FILE *next_file (FILE *fp);
++
++#if HAVE_MBRTOWC
++static void
++unexpand_multibyte (void)
++{
++ FILE *fp; /* Input stream. */
++ mbstate_t i_state; /* Current shift state of the input stream. */
++ mbstate_t i_state_bak; /* Back up the I_STATE. */
++ mbstate_t o_state; /* Current shift state of the output stream. */
++ char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */
++ char *bufpos; /* Next read position of BUF. */
++ size_t buflen = 0; /* The length of the byte sequence in buf. */
++ wint_t wc; /* A gotten wide character. */
++ size_t mblength; /* The byte size of a multibyte character
++ which shows as same character as WC. */
++
++ /* Index in `tab_list' of next tabstop: */
++ int tab_index = 0; /* For calculating width of pending tabs. */
++ int print_tab_index = 0; /* For printing as many tabs as possible. */
++ unsigned int column = 0; /* Column on screen of next char. */
++ int next_tab_column; /* Column the next tab stop is on. */
++ int convert = 1; /* If nonzero, perform translations. */
++ unsigned int pending = 0; /* Pending columns of blanks. */
++
++ fp = next_file ((FILE *) NULL);
++ if (fp == NULL)
++ return;
++
++ memset (&o_state, '\0', sizeof(mbstate_t));
++ memset (&i_state, '\0', sizeof(mbstate_t));
++
++ for (;;)
++ {
++ if (buflen < MB_LEN_MAX && !feof(fp) && !ferror(fp))
++ {
++ memmove (buf, bufpos, buflen);
++ buflen += fread (buf + buflen, sizeof(char), BUFSIZ, fp);
++ bufpos = buf;
++ }
++
++ /* Get a wide character. */
++ if (buflen < 1)
++ {
++ mblength = 1;
++ wc = WEOF;
++ }
++ else
++ {
++ i_state_bak = i_state;
++ mblength = mbrtowc ((wchar_t *)&wc, bufpos, buflen, &i_state);
++ }
++
++ if (mblength == (size_t)-1 || mblength == (size_t)-2)
++ {
++ i_state = i_state_bak;
++ wc = L'\0';
++ }
++
++ if (wc == L' ' && convert && column < INT_MAX)
++ {
++ ++pending;
++ ++column;
++ }
++ else if (wc == L'\t' && convert)
++ {
++ if (tab_size == 0)
++ {
++ /* Do not let tab_index == first_free_tab;
++ stop when it is 1 less. */
++ while (tab_index < first_free_tab - 1
++ && column >= tab_list[tab_index])
++ tab_index++;
++ next_tab_column = tab_list[tab_index];
++ if (tab_index < first_free_tab - 1)
++ tab_index++;
++ if (column >= next_tab_column)
++ {
++ convert = 0; /* Ran out of tab stops. */
++ goto flush_pend_mb;
++ }
++ }
++ else
++ {
++ next_tab_column = column + tab_size - column % tab_size;
++ }
++ pending += next_tab_column - column;
++ column = next_tab_column;
++ }
++ else
++ {
++flush_pend_mb:
++ /* Flush pending spaces. Print as many tabs as possible,
++ then print the rest as spaces. */
++ if (pending == 1)
++ {
++ putchar (' ');
++ pending = 0;
++ }
++ column -= pending;
++ while (pending > 0)
++ {
++ if (tab_size == 0)
++ {
++ /* Do not let print_tab_index == first_free_tab;
++ stop when it is 1 less. */
++ while (print_tab_index < first_free_tab - 1
++ && column >= tab_list[print_tab_index])
++ print_tab_index++;
++ next_tab_column = tab_list[print_tab_index];
++ if (print_tab_index < first_free_tab - 1)
++ print_tab_index++;
++ }
++ else
++ {
++ next_tab_column =
++ column + tab_size - column % tab_size;
++ }
++ if (next_tab_column - column <= pending)
++ {
++ putchar ('\t');
++ pending -= next_tab_column - column;
++ column = next_tab_column;
++ }
++ else
++ {
++ --print_tab_index;
++ column += pending;
++ while (pending != 0)
++ {
++ putchar (' ');
++ pending--;
++ }
++ }
++ }
++
++ if (wc == WEOF)
++ {
++ fp = next_file (fp);
++ if (fp == NULL)
++ break; /* No more files. */
++ else
++ {
++ memset (&i_state, '\0', sizeof(mbstate_t));
++ continue;
++ }
++ }
++
++ if (mblength == (size_t)-1 || mblength == (size_t)-2)
++ {
++ if (convert)
++ {
++ ++column;
++ if (convert_entire_line == 0)
++ convert = 0;
++ }
++ mblength = 1;
++ putchar (buf[0]);
++ }
++ else if (mblength == 0)
++ {
++ if (convert && convert_entire_line == 0)
++ convert = 0;
++ mblength = 1;
++ putchar ('\0');
++ }
++ else
++ {
++ if (convert)
++ {
++ if (wc == L'\b')
++ {
++ if (column > 0)
++ --column;
++ }
++ else
++ {
++ int width; /* The width of WC. */
++
++ width = wcwidth (wc);
++ column += (width > 0) ? width : 0;
++ if (convert_entire_line == 0)
++ convert = 0;
++ }
++ }
++
++ if (wc == L'\n')
++ {
++ tab_index = print_tab_index = 0;
++ column = pending = 0;
++ convert = 1;
++ }
++ fwrite (bufpos, sizeof(char), mblength, stdout);
++ }
++ }
++ buflen -= mblength;
++ bufpos += mblength;
++ }
++}
++#endif
++
++
+ void
+ usage (int status)
+ {
+@@ -531,7 +750,12 @@
+
+ file_list = (optind < argc ? &argv[optind] : stdin_argv);
+
+- unexpand ();
++#if HAVE_MBRTOWC
++ if (MB_CUR_MAX > 1)
++ unexpand_multibyte ();
++ else
++#endif
++ unexpand ();
+
+ if (have_read_stdin && fclose (stdin) != 0)
+ error (EXIT_FAILURE, errno, "-");
+--- coreutils-6.8+/src/pr.c.i18n 2007-01-14 15:41:28.000000000 +0000
++++ coreutils-6.8+/src/pr.c 2007-03-01 15:08:24.000000000 +0000
+@@ -313,6 +313,32 @@
+
+ #include <getopt.h>
+ #include <sys/types.h>
++
++/* Get MB_LEN_MAX. */
++#include <limits.h>
++/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC
++ installation; work around this configuration error. */
++#if !defined MB_LEN_MAX || MB_LEN_MAX == 1
++# define MB_LEN_MAX 16
++#endif
++
++/* Get MB_CUR_MAX. */
++#include <stdlib.h>
++
++/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>. */
++/* Get mbstate_t, mbrtowc(), wcwidth(). */
++#if HAVE_WCHAR_H
++# include <wchar.h>
++#endif
++
++/* Get iswprint(). -- for wcwidth(). */
++#if HAVE_WCTYPE_H
++# include <wctype.h>
++#endif
++#if !defined iswprint && !HAVE_ISWPRINT
++# define iswprint(wc) 1
++#endif
++
+ #include "system.h"
+ #include "error.h"
+ #include "hard-locale.h"
+@@ -324,6 +350,18 @@
+ #include "strftime.h"
+ #include "xstrtol.h"
+
++/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */
++#if HAVE_MBRTOWC && defined mbstate_t
++# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
++#endif
++
++#ifndef HAVE_DECL_WCWIDTH
++"this configure-time declaration test was not run"
++#endif
++#if !HAVE_DECL_WCWIDTH
++extern int wcwidth ();
++#endif
++
+ /* The official name of this program (e.g., no `g' prefix). */
+ #define PROGRAM_NAME "pr"
+
+@@ -416,7 +454,20 @@
+
+ #define NULLCOL (COLUMN *)0
+
+-static int char_to_clump (char c);
++/* Funtion pointers to switch functions for single byte locale or for
++ multibyte locale. If multibyte functions do not exist in your sysytem,
++ these pointers always point the function for single byte locale. */
++static void (*print_char) (char c);
++static int (*char_to_clump) (char c);
++
++/* Functions for single byte locale. */
++static void print_char_single (char c);
++static int char_to_clump_single (char c);
++
++/* Functions for multibyte locale. */
++static void print_char_multi (char c);
++static int char_to_clump_multi (char c);
++
+ static bool read_line (COLUMN *p);
+ static bool print_page (void);
+ static bool print_stored (COLUMN *p);
+@@ -426,6 +477,7 @@
+ static void pad_across_to (int position);
+ static void add_line_number (COLUMN *p);
+ static void getoptarg (char *arg, char switch_char, char *character,
++ int *character_length, int *character_width,
+ int *number);
+ void usage (int status);
+ static void print_files (int number_of_files, char **av);
+@@ -440,7 +492,6 @@
+ static void pad_down (int lines);
+ static void read_rest_of_line (COLUMN *p);
+ static void skip_read (COLUMN *p, int column_number);
+-static void print_char (char c);
+ static void cleanup (void);
+ static void print_sep_string (void);
+ static void separator_string (const char *optarg_S);
+@@ -455,7 +506,7 @@
+ we store the leftmost columns contiguously in buff.
+ To print a line from buff, get the index of the first character
+ from line_vector[i], and print up to line_vector[i + 1]. */
+-static char *buff;
++static unsigned char *buff;
+
+ /* Index of the position in buff where the next character
+ will be stored. */
+@@ -559,7 +610,7 @@
+ static bool untabify_input = false;
+
+ /* (-e) The input tab character. */
+-static char input_tab_char = '\t';
++static char input_tab_char[MB_LEN_MAX] = "\t";
+
+ /* (-e) Tabstops are at chars_per_tab, 2*chars_per_tab, 3*chars_per_tab, ...
+ where the leftmost column is 1. */
+@@ -569,7 +620,10 @@
+ static bool tabify_output = false;
+
+ /* (-i) The output tab character. */
+-static char output_tab_char = '\t';
++static char output_tab_char[MB_LEN_MAX] = "\t";
++
++/* (-i) The byte length of output tab character. */
++static int output_tab_char_length = 1;
+
+ /* (-i) The width of the output tab. */
+ static int chars_per_output_tab = 8;
+@@ -643,7 +697,13 @@
+ static bool numbered_lines = false;
+
+ /* (-n) Character which follows each line number. */
+-static char number_separator = '\t';
++static char number_separator[MB_LEN_MAX] = "\t";
++
++/* (-n) The byte length of the character which follows each line number. */
++static int number_separator_length = 1;
++
++/* (-n) The character width of the character which follows each line number. */
++static int number_separator_width = 0;
+
+ /* (-n) line counting starts with 1st line of input file (not with 1st
+ line of 1st page printed). */
+@@ -696,6 +756,7 @@
+ -a|COLUMN|-m is a `space' and with the -J option a `tab'. */
+ static char *col_sep_string = "";
+ static int col_sep_length = 0;
++static int col_sep_width = 0;
+ static char *column_separator = " ";
+ static char *line_separator = "\t";
+
+@@ -852,6 +913,13 @@
+ col_sep_length = (int) strlen (optarg_S);
+ col_sep_string = xmalloc (col_sep_length + 1);
+ strcpy (col_sep_string, optarg_S);
++
++#if HAVE_MBRTOWC
++ if (MB_CUR_MAX > 1)
++ col_sep_width = mbswidth (col_sep_string, 0);
++ else
++#endif
++ col_sep_width = col_sep_length;
+ }
+
+ int
+@@ -877,6 +945,21 @@
+
+ atexit (close_stdout);
+
++/* Define which functions are used, the ones for single byte locale or the ones
++ for multibyte locale. */
++#if HAVE_MBRTOWC
++ if (MB_CUR_MAX > 1)
++ {
++ print_char = print_char_multi;
++ char_to_clump = char_to_clump_multi;
++ }
++ else
++#endif
++ {
++ print_char = print_char_single;
++ char_to_clump = char_to_clump_single;
++ }
++
+ n_files = 0;
+ file_names = (argc > 1
+ ? xmalloc ((argc - 1) * sizeof (char *))
+@@ -949,8 +1032,12 @@
+ break;
+ case 'e':
+ if (optarg)
+- getoptarg (optarg, 'e', &input_tab_char,
+- &chars_per_input_tab);
++ {
++ int dummy_length, dummy_width;
++
++ getoptarg (optarg, 'e', input_tab_char, &dummy_length,
++ &dummy_width, &chars_per_input_tab);
++ }
+ /* Could check tab width > 0. */
+ untabify_input = true;
+ break;
+@@ -963,8 +1050,12 @@
+ break;
+ case 'i':
+ if (optarg)
+- getoptarg (optarg, 'i', &output_tab_char,
+- &chars_per_output_tab);
++ {
++ int dummy_width;
++
++ getoptarg (optarg, 'i', output_tab_char, &output_tab_char_length,
++ &dummy_width, &chars_per_output_tab);
++ }
+ /* Could check tab width > 0. */
+ tabify_output = true;
+ break;
+@@ -991,8 +1082,8 @@
+ case 'n':
+ numbered_lines = true;
+ if (optarg)
+- getoptarg (optarg, 'n', &number_separator,
+- &chars_per_number);
++ getoptarg (optarg, 'n', number_separator, &number_separator_length,
++ &number_separator_width, &chars_per_number);
+ break;
+ case 'N':
+ skip_count = false;
+@@ -1031,7 +1122,7 @@
+ old_s = false;
+ /* Reset an additional input of -s, -S dominates -s */
+ col_sep_string = "";
+- col_sep_length = 0;
++ col_sep_length = col_sep_width = 0;
+ use_col_separator = true;
+ if (optarg)
+ separator_string (optarg);
+@@ -1188,10 +1279,45 @@
+ a number. */
+
+ static void
+-getoptarg (char *arg, char switch_char, char *character, int *number)
++getoptarg (char *arg, char switch_char, char *character, int *character_length,
++ int *character_width, int *number)
+ {
+ if (!ISDIGIT (*arg))
+- *character = *arg++;
++ {
++#ifdef HAVE_MBRTOWC
++ if (MB_CUR_MAX > 1) /* for multibyte locale. */
++ {
++ wchar_t wc;
++ size_t mblength;
++ int width;
++ mbstate_t state = {'\0'};
++
++ mblength = mbrtowc (&wc, arg, strnlen(arg, MB_LEN_MAX), &state);
++
++ if (mblength == (size_t)-1 || mblength == (size_t)-2)
++ {
++ *character_length = 1;
++ *character_width = 1;
++ }
++ else
++ {
++ *character_length = (mblength < 1) ? 1 : mblength;
++ width = wcwidth (wc);
++ *character_width = (width < 0) ? 0 : width;
++ }
++
++ strncpy (character, arg, *character_length);
++ arg += *character_length;
++ }
++ else /* for single byte locale. */
++#endif
++ {
++ *character = *arg++;
++ *character_length = 1;
++ *character_width = 1;
++ }
++ }
++
+ if (*arg)
+ {
+ long int tmp_long;
+@@ -1256,7 +1382,7 @@
+ else
+ col_sep_string = column_separator;
+
+- col_sep_length = 1;
++ col_sep_length = col_sep_width = 1;
+ use_col_separator = true;
+ }
+ /* It's rather pointless to define a TAB separator with column
+@@ -1288,11 +1414,11 @@
+ TAB_WIDTH (chars_per_input_tab, chars_per_number); */
+
+ /* Estimate chars_per_text without any margin and keep it constant. */
+- if (number_separator == '\t')
++ if (number_separator[0] == '\t')
+ number_width = chars_per_number +
+ TAB_WIDTH (chars_per_default_tab, chars_per_number);
+ else
+- number_width = chars_per_number + 1;
++ number_width = chars_per_number + number_separator_width;
+
+ /* The number is part of the column width unless we are
+ printing files in parallel. */
+@@ -1307,7 +1433,7 @@
+ }
+
+ chars_per_column = (chars_per_line - chars_used_by_number -
+- (columns - 1) * col_sep_length) / columns;
++ (columns - 1) * col_sep_width) / columns;
+
+ if (chars_per_column < 1)
+ error (EXIT_FAILURE, 0, _("page width too narrow"));
+@@ -1432,7 +1558,7 @@
+
+ /* Enlarge p->start_position of first column to use the same form of
+ padding_not_printed with all columns. */
+- h = h + col_sep_length;
++ h = h + col_sep_width;
+
+ /* This loop takes care of all but the rightmost column. */
+
+@@ -1466,7 +1592,7 @@
+ }
+ else
+ {
+- h = h_next + col_sep_length;
++ h = h_next + col_sep_width;
+ h_next = h + chars_per_column;
+ }
+ }
+@@ -1756,9 +1882,9 @@
+ align_column (COLUMN *p)
+ {
+ padding_not_printed = p->start_position;
+- if (padding_not_printed - col_sep_length > 0)
++ if (padding_not_printed - col_sep_width > 0)
+ {
+- pad_across_to (padding_not_printed - col_sep_length);
++ pad_across_to (padding_not_printed - col_sep_width);
+ padding_not_printed = ANYWHERE;
+ }
+
+@@ -2029,13 +2155,13 @@
+ /* May be too generous. */
+ buff = X2REALLOC (buff, &buff_allocated);
+ }
+- buff[buff_current++] = c;
++ buff[buff_current++] = (unsigned char) c;
+ }
+
+ static void
+ add_line_number (COLUMN *p)
+ {
+- int i;
++ int i, j;
+ char *s;
+ int left_cut;
+
+@@ -2058,22 +2184,24 @@
+ /* Tabification is assumed for multiple columns, also for n-separators,
+ but `default n-separator = TAB' hasn't been given priority over
+ equal column_width also specified by POSIX. */
+- if (number_separator == '\t')
++ if (number_separator[0] == '\t')
+ {
+ i = number_width - chars_per_number;
+ while (i-- > 0)
+ (p->char_func) (' ');
+ }
+ else
+- (p->char_func) (number_separator);
++ for (j = 0; j < number_separator_length; j++)
++ (p->char_func) (number_separator[j]);
+ }
+ else
+ /* To comply with POSIX, we avoid any expansion of default TAB
+ separator with a single column output. No column_width requirement
+ has to be considered. */
+ {
+- (p->char_func) (number_separator);
+- if (number_separator == '\t')
++ for (j = 0; j < number_separator_length; j++)
++ (p->char_func) (number_separator[j]);
++ if (number_separator[0] == '\t')
+ output_position = POS_AFTER_TAB (chars_per_output_tab,
+ output_position);
+ }
+@@ -2234,7 +2362,7 @@
+ while (goal - h_old > 1
+ && (h_new = POS_AFTER_TAB (chars_per_output_tab, h_old)) <= goal)
+ {
+- putchar (output_tab_char);
++ fwrite (output_tab_char, sizeof(char), output_tab_char_length, stdout);
+ h_old = h_new;
+ }
+ while (++h_old <= goal)
+@@ -2254,6 +2382,7 @@
+ {
+ char *s;
+ int l = col_sep_length;
++ int not_space_flag;
+
+ s = col_sep_string;
+
+@@ -2267,6 +2396,7 @@
+ {
+ for (; separators_not_printed > 0; --separators_not_printed)
+ {
++ not_space_flag = 0;
+ while (l-- > 0)
+ {
+ /* 3 types of sep_strings: spaces only, spaces and chars,
+@@ -2280,12 +2410,15 @@
+ }
+ else
+ {
++ not_space_flag = 1;
+ if (spaces_not_printed > 0)
+ print_white_space ();
+ putchar (*s++);
+- ++output_position;
+ }
+ }
++ if (not_space_flag)
++ output_position += col_sep_width;
++
+ /* sep_string ends with some spaces */
+ if (spaces_not_printed > 0)
+ print_white_space ();
+@@ -2313,7 +2446,7 @@
+ required number of tabs and spaces. */
+
+ static void
+-print_char (char c)
++print_char_single (char c)
+ {
+ if (tabify_output)
+ {
+@@ -2337,6 +2470,74 @@
+ putchar (c);
+ }
+
++#ifdef HAVE_MBRTOWC
++static void
++print_char_multi (char c)
++{
++ static size_t mbc_pos = 0;
++ static char mbc[MB_LEN_MAX] = {'\0'};
++ static mbstate_t state = {'\0'};
++ mbstate_t state_bak;
++ wchar_t wc;
++ size_t mblength;
++ int width;
++
++ if (tabify_output)
++ {
++ state_bak = state;
++ mbc[mbc_pos++] = c;
++ mblength = mbrtowc (&wc, mbc, mbc_pos, &state);
++
++ while (mbc_pos > 0)
++ {
++ switch (mblength)
++ {
++ case (size_t)-2:
++ state = state_bak;
++ return;
++
++ case (size_t)-1:
++ state = state_bak;
++ ++output_position;
++ putchar (mbc[0]);
++ memmove (mbc, mbc + 1, MB_CUR_MAX - 1);
++ --mbc_pos;
++ break;
++
++ case 0:
++ mblength = 1;
++
++ default:
++ if (wc == L' ')
++ {
++ memmove (mbc, mbc + mblength, MB_CUR_MAX - mblength);
++ --mbc_pos;
++ ++spaces_not_printed;
++ return;
++ }
++ else if (spaces_not_printed > 0)
++ print_white_space ();
++
++ /* Nonprintables are assumed to have width 0, except L'\b'. */
++ if ((width = wcwidth (wc)) < 1)
++ {
++ if (wc == L'\b')
++ --output_position;
++ }
++ else
++ output_position += width;
++
++ fwrite (mbc, sizeof(char), mblength, stdout);
++ memmove (mbc, mbc + mblength, MB_CUR_MAX - mblength);
++ mbc_pos -= mblength;
++ }
++ }
++ return;
++ }
++ putchar (c);
++}
++#endif
++
+ /* Skip to page PAGE before printing.
+ PAGE may be larger than total number of pages. */
+
+@@ -2517,9 +2718,9 @@
+ align_empty_cols = false;
+ }
+
+- if (padding_not_printed - col_sep_length > 0)
++ if (padding_not_printed - col_sep_width > 0)
+ {
+- pad_across_to (padding_not_printed - col_sep_length);
++ pad_across_to (padding_not_printed - col_sep_width);
+ padding_not_printed = ANYWHERE;
+ }
+
+@@ -2620,9 +2821,9 @@
+ }
+ }
+
+- if (padding_not_printed - col_sep_length > 0)
++ if (padding_not_printed - col_sep_width > 0)
+ {
+- pad_across_to (padding_not_printed - col_sep_length);
++ pad_across_to (padding_not_printed - col_sep_width);
+ padding_not_printed = ANYWHERE;
+ }
+
+@@ -2635,8 +2836,8 @@
+ if (spaces_not_printed == 0)
+ {
+ output_position = p->start_position + end_vector[line];
+- if (p->start_position - col_sep_length == chars_per_margin)
+- output_position -= col_sep_length;
++ if (p->start_position - col_sep_width == chars_per_margin)
++ output_position -= col_sep_width;
+ }
+
+ return true;
+@@ -2655,7 +2856,7 @@
+ number of characters is 1.) */
+
+ static int
+-char_to_clump (char c)
++char_to_clump_single (char c)
+ {
+ unsigned char uc = c;
+ char *s = clump_buff;
+@@ -2665,10 +2866,10 @@
+ int chars;
+ int chars_per_c = 8;
+
+- if (c == input_tab_char)
++ if (c == input_tab_char[0])
+ chars_per_c = chars_per_input_tab;
+
+- if (c == input_tab_char || c == '\t')
++ if (c == input_tab_char[0] || c == '\t')
+ {
+ width = TAB_WIDTH (chars_per_c, input_position);
+
+@@ -2739,6 +2940,154 @@
+ return chars;
+ }
+
++#ifdef HAVE_MBRTOWC
++static int
++char_to_clump_multi (char c)
++{
++ static size_t mbc_pos = 0;
++ static char mbc[MB_LEN_MAX] = {'\0'};
++ static mbstate_t state = {'\0'};
++ mbstate_t state_bak;
++ wchar_t wc;
++ size_t mblength;
++ int wc_width;
++ register char *s = clump_buff;
++ register int i, j;
++ char esc_buff[4];
++ int width;
++ int chars;
++ int chars_per_c = 8;
++
++ state_bak = state;
++ mbc[mbc_pos++] = c;
++ mblength = mbrtowc (&wc, mbc, mbc_pos, &state);
++
++ width = 0;
++ chars = 0;
++ while (mbc_pos > 0)
++ {
++ switch (mblength)
++ {
++ case (size_t)-2:
++ state = state_bak;
++ return 0;
++
++ case (size_t)-1:
++ state = state_bak;
++ mblength = 1;
++
++ if (use_esc_sequence || use_cntrl_prefix)
++ {
++ width = +4;
++ chars = +4;
++ *s++ = '\\';
++ sprintf (esc_buff, "%03o", mbc[0]);
++ for (i = 0; i <= 2; ++i)
++ *s++ = (int) esc_buff[i];
++ }
++ else
++ {
++ width += 1;
++ chars += 1;
++ *s++ = mbc[0];
++ }
++ break;
++
++ case 0:
++ mblength = 1;
++ /* Fall through */
++
++ default:
++ if (memcmp (mbc, input_tab_char, mblength) == 0)
++ chars_per_c = chars_per_input_tab;
++
++ if (memcmp (mbc, input_tab_char, mblength) == 0 || c == '\t')
++ {
++ int width_inc;
++
++ width_inc = TAB_WIDTH (chars_per_c, input_position);
++ width += width_inc;
++
++ if (untabify_input)
++ {
++ for (i = width_inc; i; --i)
++ *s++ = ' ';
++ chars += width_inc;
++ }
++ else
++ {
++ for (i = 0; i < mblength; i++)
++ *s++ = mbc[i];
++ chars += mblength;
++ }
++ }
++ else if ((wc_width = wcwidth (wc)) < 1)
++ {
++ if (use_esc_sequence)
++ {
++ for (i = 0; i < mblength; i++)
++ {
++ width += 4;
++ chars += 4;
++ *s++ = '\\';
++ sprintf (esc_buff, "%03o", c);
++ for (j = 0; j <= 2; ++j)
++ *s++ = (int) esc_buff[j];
++ }
++ }
++ else if (use_cntrl_prefix)
++ {
++ if (wc < 0200)
++ {
++ width += 2;
++ chars += 2;
++ *s++ = '^';
++ *s++ = wc ^ 0100;
++ }
++ else
++ {
++ for (i = 0; i < mblength; i++)
++ {
++ width += 4;
++ chars += 4;
++ *s++ = '\\';
++ sprintf (esc_buff, "%03o", c);
++ for (j = 0; j <= 2; ++j)
++ *s++ = (int) esc_buff[j];
++ }
++ }
++ }
++ else if (wc == L'\b')
++ {
++ width += -1;
++ chars += 1;
++ *s++ = c;
++ }
++ else
++ {
++ width += 0;
++ chars += mblength;
++ for (i = 0; i < mblength; i++)
++ *s++ = mbc[i];
++ }
++ }
++ else
++ {
++ width += wc_width;
++ chars += mblength;
++ for (i = 0; i < mblength; i++)
++ *s++ = mbc[i];
++ }
++ }
++ memmove (mbc, mbc + mblength, MB_CUR_MAX - mblength);
++ mbc_pos -= mblength;
++ }
++
++ input_position += width;
++ return chars;
++}
++#endif
++
+ /* We've just printed some files and need to clean up things before
+ looking for more options and printing the next batch of files.
+
+--- coreutils-6.8+/src/cut.c.i18n 2007-01-14 15:41:28.000000000 +0000
++++ coreutils-6.8+/src/cut.c 2007-03-01 15:08:24.000000000 +0000
+@@ -29,6 +29,11 @@
+ #include <assert.h>
+ #include <getopt.h>
+ #include <sys/types.h>
++
++/* Get mbstate_t, mbrtowc(). */
++#if HAVE_WCHAR_H
++# include <wchar.h>
++#endif
+ #include "system.h"
+
+ #include "error.h"
+@@ -37,6 +42,18 @@
+ #include "quote.h"
+ #include "xstrndup.h"
+
++/* MB_LEN_MAX is incorrectly defined to be 1 in at least one GCC
++ installation; work around this configuration error. */
++#if !defined MB_LEN_MAX || MB_LEN_MAX < 2
++# undef MB_LEN_MAX
++# define MB_LEN_MAX 16
++#endif
++
++/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */
++#if HAVE_MBRTOWC && defined mbstate_t
++# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
++#endif
++
+ /* The official name of this program (e.g., no `g' prefix). */
+ #define PROGRAM_NAME "cut"
+
+@@ -67,6 +84,52 @@
+ } \
+ while (0)
+
++/* Refill the buffer BUF to get a multibyte character. */
++#define REFILL_BUFFER(BUF, BUFPOS, BUFLEN, STREAM) \
++ do \
++ { \
++ if (BUFLEN < MB_LEN_MAX && !feof (STREAM) && !ferror (STREAM)) \
++ { \
++ memmove (BUF, BUFPOS, BUFLEN); \
++ BUFLEN += fread (BUF + BUFLEN, sizeof(char), BUFSIZ, STREAM); \
++ BUFPOS = BUF; \
++ } \
++ } \
++ while (0)
++
++/* Get wide character on BUFPOS. BUFPOS is not included after that.
++ If byte sequence is not valid as a character, CONVFAIL is 1. Otherwise 0. */
++#define GET_NEXT_WC_FROM_BUFFER(WC, BUFPOS, BUFLEN, MBLENGTH, STATE, CONVFAIL) \
++ do \
++ { \
++ mbstate_t state_bak; \
++ \
++ if (BUFLEN < 1) \
++ { \
++ WC = WEOF; \
++ break; \
++ } \
++ \
++ /* Get a wide character. */ \
++ CONVFAIL = 0; \
++ state_bak = STATE; \
++ MBLENGTH = mbrtowc ((wchar_t *)&WC, BUFPOS, BUFLEN, &STATE); \
++ \
++ switch (MBLENGTH) \
++ { \
++ case (size_t)-1: \
++ case (size_t)-2: \
++ CONVFAIL++; \
++ STATE = state_bak; \
++ /* Fall througn. */ \
++ \
++ case 0: \
++ MBLENGTH = 1; \
++ break; \
++ } \
++ } \
++ while (0)
++
+ struct range_pair
+ {
+ size_t lo;
+@@ -85,7 +148,7 @@
+ /* The number of bytes allocated for FIELD_1_BUFFER. */
+ static size_t field_1_bufsize;
+
+-/* The largest field or byte index used as an endpoint of a closed
++/* The largest byte, character or field index used as an endpoint of a closed
+ or degenerate range specification; this doesn't include the starting
+ index of right-open-ended ranges. For example, with either range spec
+ `2-5,9-', `2-3,5,9-' this variable would be set to 5. */
+@@ -97,10 +160,11 @@
+
+ /* This is a bit vector.
+ In byte mode, which bytes to output.
++ In character mode, which characters to output.
+ In field mode, which DELIM-separated fields to output.
+- Both bytes and fields are numbered starting with 1,
++ Bytes, characters and fields are numbered starting with 1,
+ so the zeroth bit of this array is unused.
+- A field or byte K has been selected if
++ A byte, character or field K has been selected if
+ (K <= MAX_RANGE_ENDPOINT and is_printable_field(K))
+ || (EOL_RANGE_START > 0 && K >= EOL_RANGE_START). */
+ static unsigned char *printable_field;
+@@ -109,9 +173,12 @@
+ {
+ undefined_mode,
+
+- /* Output characters that are in the given bytes. */
++ /* Output bytes that are at the given positions. */
+ byte_mode,
+
++ /* Output characters that are at the given positions. */
++ character_mode,
++
+ /* Output the given delimeter-separated fields. */
+ field_mode
+ };
+@@ -121,6 +188,13 @@
+
+ static enum operating_mode operating_mode;
+
++/* If nonzero, when in byte mode, don't split multibyte characters. */
++static int byte_mode_character_aware;
++
++/* If nonzero, the function for single byte locale is work
++ if this program runs on multibyte locale. */
++static int force_singlebyte_mode;
++
+ /* If true do not output lines containing no delimeter characters.
+ Otherwise, all such lines are printed. This option is valid only
+ with field mode. */
+@@ -132,6 +206,9 @@
+
+ /* The delimeter character for field mode. */
+ static unsigned char delim;
++#if HAVE_WCHAR_H
++static wchar_t wcdelim;
++#endif
+
+ /* True if the --output-delimiter=STRING option was specified. */
+ static bool output_delimiter_specified;
+@@ -205,7 +282,7 @@
+ -f, --fields=LIST select only these fields; also print any line\n\
+ that contains no delimiter character, unless\n\
+ the -s option is specified\n\
+- -n (ignored)\n\
++ -n with -b: don't split multibyte characters\n\
+ "), stdout);
+ fputs (_("\
+ --complement complement the set of selected bytes, characters\n\
+@@ -362,7 +439,7 @@
+ in_digits = false;
+ /* Starting a range. */
+ if (dash_found)
+- FATAL_ERROR (_("invalid byte or field list"));
++ FATAL_ERROR (_("invalid byte, character or field list"));
+ dash_found = true;
+ fieldstr++;
+
+@@ -387,14 +464,16 @@
+ if (value == 0)
+ {
+ /* `n-'. From `initial' to end of line. */
+- eol_range_start = initial;
++ if (eol_range_start == 0 ||
++ (eol_range_start != 0 && eol_range_start > initial))
++ eol_range_start = initial;
+ field_found = true;
+ }
+ else
+ {
+ /* `m-n' or `-n' (1-n). */
+ if (value < initial)
+- FATAL_ERROR (_("invalid byte or field list"));
++ FATAL_ERROR (_("invalid byte, character or field list"));
+
+ /* Is there already a range going to end of line? */
+ if (eol_range_start != 0)
+@@ -467,6 +546,9 @@
+ if (operating_mode == byte_mode)
+ error (0, 0,
+ _("byte offset %s is too large"), quote (bad_num));
++ else if (operating_mode == character_mode)
++ error (0, 0,
++ _("character offset %s is too large"), quote (bad_num));
+ else
+ error (0, 0,
+ _("field number %s is too large"), quote (bad_num));
+@@ -477,7 +559,7 @@
+ fieldstr++;
+ }
+ else
+- FATAL_ERROR (_("invalid byte or field list"));
++ FATAL_ERROR (_("invalid byte, character or field list"));
+ }
+
+ max_range_endpoint = 0;
+@@ -570,6 +652,63 @@
+ }
+ }
+
++#if HAVE_MBRTOWC
++/* This function is in use for the following case.
++
++ 1. Read from the stream STREAM, printing to standard output any selected
++ characters.
++
++ 2. Read from stream STREAM, printing to standard output any selected bytes,
++ without splitting multibyte characters. */
++
++static void
++cut_characters_or_cut_bytes_no_split (FILE *stream)
++{
++ int idx; /* number of bytes or characters in the line so far. */
++ char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */
++ char *bufpos; /* Next read position of BUF. */
++ size_t buflen; /* The length of the byte sequence in buf. */
++ wint_t wc; /* A gotten wide character. */
++ size_t mblength; /* The byte size of a multibyte character which shows
++ as same character as WC. */
++ mbstate_t state; /* State of the stream. */
++ int convfail; /* 1, when conversion is failed. Otherwise 0. */
++
++ idx = 0;
++ buflen = 0;
++ bufpos = buf;
++ memset (&state, '\0', sizeof(mbstate_t));
++
++ while (1)
++ {
++ REFILL_BUFFER (buf, bufpos, buflen, stream);
++
++ GET_NEXT_WC_FROM_BUFFER (wc, bufpos, buflen, mblength, state, convfail);
++
++ if (wc == WEOF)
++ {
++ if (idx > 0)
++ putchar ('\n');
++ break;
++ }
++ else if (wc == L'\n')
++ {
++ putchar ('\n');
++ idx = 0;
++ }
++ else
++ {
++ idx += (operating_mode == byte_mode) ? mblength : 1;
++ if (print_kth (idx, NULL))
++ fwrite (bufpos, mblength, sizeof(char), stdout);
++ }
++
++ buflen -= mblength;
++ bufpos += mblength;
++ }
++}
++#endif
++
+ /* Read from stream STREAM, printing to standard output any selected fields. */
+
+ static void
+@@ -692,13 +831,192 @@
+ }
+ }
+
++#if HAVE_MBRTOWC
++static void
++cut_fields_mb (FILE *stream)
++{
++ int c;
++ unsigned int field_idx;
++ int found_any_selected_field;
++ int buffer_first_field;
++ int empty_input;
++ char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */
++ char *bufpos; /* Next read position of BUF. */
++ size_t buflen; /* The length of the byte sequence in buf. */
++ wint_t wc = 0; /* A gotten wide character. */
++ size_t mblength; /* The byte size of a multibyte character which shows
++ as same character as WC. */
++ mbstate_t state; /* State of the stream. */
++ int convfail; /* 1, when conversion is failed. Otherwise 0. */
++
++ found_any_selected_field = 0;
++ field_idx = 1;
++ bufpos = buf;
++ buflen = 0;
++ memset (&state, '\0', sizeof(mbstate_t));
++
++ c = getc (stream);
++ empty_input = (c == EOF);
++ if (c != EOF)
++ ungetc (c, stream);
++ else
++ wc = WEOF;
++
++ /* To support the semantics of the -s flag, we may have to buffer
++ all of the first field to determine whether it is `delimited.'
++ But that is unnecessary if all non-delimited lines must be printed
++ and the first field has been selected, or if non-delimited lines
++ must be suppressed and the first field has *not* been selected.
++ That is because a non-delimited line has exactly one field. */
++ buffer_first_field = (suppress_non_delimited ^ !print_kth (1, NULL));
++
++ while (1)
++ {
++ if (field_idx == 1 && buffer_first_field)
++ {
++ int len = 0;
++
++ while (1)
++ {
++ REFILL_BUFFER (buf, bufpos, buflen, stream);
++
++ GET_NEXT_WC_FROM_BUFFER
++ (wc, bufpos, buflen, mblength, state, convfail);
++
++ if (wc == WEOF)
++ break;
++
++ field_1_buffer = xrealloc (field_1_buffer, len + mblength);
++ memcpy (field_1_buffer + len, bufpos, mblength);
++ len += mblength;
++ buflen -= mblength;
++ bufpos += mblength;
++
++ if (!convfail && (wc == L'\n' || wc == wcdelim))
++ break;
++ }
++
++ if (wc == WEOF)
++ break;
++
++ /* If the first field extends to the end of line (it is not
++ delimited) and we are printing all non-delimited lines,
++ print this one. */
++ if (convfail || (!convfail && wc != wcdelim))
++ {
++ if (suppress_non_delimited)
++ {
++ /* Empty. */
++ }
++ else
++ {
++ fwrite (field_1_buffer, sizeof (char), len, stdout);
++ /* Make sure the output line is newline terminated. */
++ if (convfail || (!convfail && wc != L'\n'))
++ putchar ('\n');
++ }
++ continue;
++ }
++
++ if (print_kth (1, NULL))
++ {
++ /* Print the field, but not the trailing delimiter. */
++ fwrite (field_1_buffer, sizeof (char), len - 1, stdout);
++ found_any_selected_field = 1;
++ }
++ ++field_idx;
++ }
++
++ if (wc != WEOF)
++ {
++ if (print_kth (field_idx, NULL))
++ {
++ if (found_any_selected_field)
++ {
++ fwrite (output_delimiter_string, sizeof (char),
++ output_delimiter_length, stdout);
++ }
++ found_any_selected_field = 1;
++ }
++
++ while (1)
++ {
++ REFILL_BUFFER (buf, bufpos, buflen, stream);
++
++ GET_NEXT_WC_FROM_BUFFER
++ (wc, bufpos, buflen, mblength, state, convfail);
++
++ if (wc == WEOF)
++ break;
++ else if (!convfail && (wc == wcdelim || wc == L'\n'))
++ {
++ buflen -= mblength;
++ bufpos += mblength;
++ break;
++ }
++
++ if (print_kth (field_idx, NULL))
++ fwrite (bufpos, mblength, sizeof(char), stdout);
++
++ buflen -= mblength;
++ bufpos += mblength;
++ }
++ }
++
++ if ((!convfail || wc == L'\n') && buflen < 1)
++ wc = WEOF;
++
++ if (!convfail && wc == wcdelim)
++ ++field_idx;
++ else if (wc == WEOF || (!convfail && wc == L'\n'))
++ {
++ if (found_any_selected_field
++ || (!empty_input && !(suppress_non_delimited && field_idx == 1)))
++ putchar ('\n');
++ if (wc == WEOF)
++ break;
++ field_idx = 1;
++ found_any_selected_field = 0;
++ }
++ }
++}
++#endif
++
+ static void
+ cut_stream (FILE *stream)
+ {
+- if (operating_mode == byte_mode)
+- cut_bytes (stream);
++#if HAVE_MBRTOWC
++ if (MB_CUR_MAX > 1 && !force_singlebyte_mode)
++ {
++ switch (operating_mode)
++ {
++ case byte_mode:
++ if (byte_mode_character_aware)
++ cut_characters_or_cut_bytes_no_split (stream);
++ else
++ cut_bytes (stream);
++ break;
++
++ case character_mode:
++ cut_characters_or_cut_bytes_no_split (stream);
++ break;
++
++ case field_mode:
++ cut_fields_mb (stream);
++ break;
++
++ default:
++ abort ();
++ }
++ }
+ else
+- cut_fields (stream);
++#endif
++ {
++ if (operating_mode == field_mode)
++ cut_fields (stream);
++ else
++ cut_bytes (stream);
++ }
+ }
+
+ /* Process file FILE to standard output.
+@@ -748,6 +1066,8 @@
+ bool ok;
+ bool delim_specified = false;
+ char *spec_list_string IF_LINT(= NULL);
++ char mbdelim[MB_LEN_MAX + 1];
++ size_t delimlen = 0;
+
+ initialize_main (&argc, &argv);
+ program_name = argv[0];
+@@ -770,7 +1090,6 @@
+ switch (optc)
+ {
+ case 'b':
+- case 'c':
+ /* Build the byte list. */
+ if (operating_mode != undefined_mode)
+ FATAL_ERROR (_("only one type of list may be specified"));
+@@ -778,6 +1097,14 @@
+ spec_list_string = optarg;
+ break;
+
++ case 'c':
++ /* Build the character list. */
++ if (operating_mode != undefined_mode)
++ FATAL_ERROR (_("only one type of list may be specified"));
++ operating_mode = character_mode;
++ spec_list_string = optarg;
++ break;
++
+ case 'f':
+ /* Build the field list. */
+ if (operating_mode != undefined_mode)
+@@ -789,10 +1116,35 @@
+ case 'd':
+ /* New delimiter. */
+ /* Interpret -d '' to mean `use the NUL byte as the delimiter.' */
+- if (optarg[0] != '\0' && optarg[1] != '\0')
+- FATAL_ERROR (_("the delimiter must be a single character"));
+- delim = optarg[0];
+- delim_specified = true;
++#if HAVE_MBRTOWC
++ {
++ if(MB_CUR_MAX > 1)
++ {
++ mbstate_t state;
++
++ memset (&state, '\0', sizeof(mbstate_t));
++ delimlen = mbrtowc (&wcdelim, optarg, strnlen(optarg, MB_LEN_MAX), &state);
++
++ if (delimlen == (size_t)-1 || delimlen == (size_t)-2)
++ ++force_singlebyte_mode;
++ else
++ {
++ delimlen = (delimlen < 1) ? 1 : delimlen;
++ if (wcdelim != L'\0' && *(optarg + delimlen) != '\0')
++ FATAL_ERROR (_("the delimiter must be a single character"));
++ memcpy (mbdelim, optarg, delimlen);
++ }
++ }
++
++ if (MB_CUR_MAX <= 1 || force_singlebyte_mode)
++#endif
++ {
++ if (optarg[0] != '\0' && optarg[1] != '\0')
++ FATAL_ERROR (_("the delimiter must be a single character"));
++ delim = (unsigned char) optarg[0];
++ }
++ delim_specified = true;
++ }
+ break;
+
+ case OUTPUT_DELIMITER_OPTION:
+@@ -805,6 +1157,7 @@
+ break;
+
+ case 'n':
++ byte_mode_character_aware = 1;
+ break;
+
+ case 's':
+@@ -827,7 +1180,7 @@
+ if (operating_mode == undefined_mode)
+ FATAL_ERROR (_("you must specify a list of bytes, characters, or fields"));
+
+- if (delim != '\0' && operating_mode != field_mode)
++ if (delim_specified && operating_mode != field_mode)
+ FATAL_ERROR (_("an input delimiter may be specified only\
+ when operating on fields"));
+
+@@ -854,15 +1207,34 @@
+ }
+
+ if (!delim_specified)
+- delim = '\t';
++ {
++ delim = '\t';
++#ifdef HAVE_MBRTOWC
++ wcdelim = L'\t';
++ mbdelim[0] = '\t';
++ mbdelim[1] = '\0';
++ delimlen = 1;
++#endif
++ }
+
+ if (output_delimiter_string == NULL)
+ {
+- static char dummy[2];
+- dummy[0] = delim;
+- dummy[1] = '\0';
+- output_delimiter_string = dummy;
+- output_delimiter_length = 1;
++#ifdef HAVE_MBRTOWC
++ if (MB_CUR_MAX > 1 && !force_singlebyte_mode)
++ {
++ output_delimiter_string = xstrdup(mbdelim);
++ output_delimiter_length = delimlen;
++ }
++
++ if (MB_CUR_MAX <= 1 || force_singlebyte_mode)
++#endif
++ {
++ static char dummy[2];
++ dummy[0] = delim;
++ dummy[1] = '\0';
++ output_delimiter_string = dummy;
++ output_delimiter_length = 1;
++ }
+ }
+
+ if (optind == argc)
diff --git a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-ls-x.patch b/meta/recipes-core/coreutils/coreutils-6.9/coreutils-ls-x.patch
new file mode 100644
index 000000000..2d6143820
--- /dev/null
+++ b/meta/recipes-core/coreutils/coreutils-6.9/coreutils-ls-x.patch
@@ -0,0 +1,115 @@
+This patch was imported from the Fedora Core 8 coreutils-6.9-9 package.
+
+The package is stated as being Licensed as GPLv2+.
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+--- coreutils-6.9/src/ls.c.ls-x 2007-06-13 14:27:36.000000000 +0100
++++ coreutils-6.9/src/ls.c 2007-06-13 14:28:42.000000000 +0100
+@@ -4151,16 +4151,16 @@
+ size_t pos = 0;
+ size_t cols = calculate_columns (false);
+ struct column_info const *line_fmt = &column_info[cols - 1];
+- size_t name_length = length_of_file_name_and_frills (cwd_file);
++ struct fileinfo const *f = sorted_file[0];
++ size_t name_length = length_of_file_name_and_frills (f);
+ size_t max_name_length = line_fmt->col_arr[0];
+
+ /* Print first entry. */
+- print_file_name_and_frills (cwd_file);
++ print_file_name_and_frills (f);
+
+ /* Now the rest. */
+ for (filesno = 1; filesno < cwd_n_used; ++filesno)
+ {
+- struct fileinfo const *f;
+ size_t col = filesno % cols;
+
+ if (col == 0)
+--- coreutils-6.9/tests/ls/Makefile.am.ls-x 2007-03-18 21:36:43.000000000 +0000
++++ coreutils-6.9/tests/ls/Makefile.am 2007-06-13 14:28:42.000000000 +0100
+@@ -24,7 +24,7 @@
+ stat-dtype \
+ inode dangle file-type recursive dired infloop \
+ rt-1 time-1 symlink-slash follow-slink no-arg m-option \
+- stat-vs-dirent
++ stat-vs-dirent x-option
+
+ EXTRA_DIST = $(TESTS)
+ TESTS_ENVIRONMENT = \
+--- /dev/null 2007-06-13 08:43:51.993263382 +0100
++++ coreutils-6.9/tests/ls/x-option 2007-06-13 14:28:42.000000000 +0100
+@@ -0,0 +1,59 @@
++#!/bin/sh
++# Exercise the -x option.
++
++# Copyright (C) 2007 Free Software Foundation, Inc.
++
++# 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., 51 Franklin Street, Fifth Floor, Boston, MA
++# 02110-1301, USA.
++
++if test "$VERBOSE" = yes; then
++ set -x
++ ls --version
++fi
++
++. $srcdir/../envvar-check
++. $srcdir/../lang-default
++
++pwd=`pwd`
++t0=`echo "$0"|sed 's,.*/,,'`.tmp; tmp=$t0/$$
++trap 'status=$?; cd "$pwd" && chmod -R u+rwx $t0 && rm -rf $t0 && exit $status' 0
++trap '(exit $?); exit $?' 1 2 13 15
++
++framework_failure=0
++mkdir -p $tmp || framework_failure=1
++cd $tmp || framework_failure=1
++mkdir subdir || framework_failure=1
++touch subdir/b || framework_failure=1
++touch subdir/a || framework_failure=1
++
++if test $framework_failure = 1; then
++ echo "$0: failure in testing framework" 1>&2
++ (exit 1); exit 1
++fi
++
++fail=0
++
++# Coreutils 6.8 and 6.9 would output this in the wrong order.
++ls -x subdir > out || fail=1
++ls -rx subdir >> out || fail=1
++cat <<\EOF > exp || fail=1
++a b
++b a
++EOF
++
++cmp out exp || fail=1
++test $fail = 1 && diff out exp 2> /dev/null
++
++(exit $fail); exit $fail
+--- coreutils-6.9/NEWS.ls-x 2007-03-22 21:19:45.000000000 +0000
++++ coreutils-6.9/NEWS 2007-06-13 14:28:42.000000000 +0100
+@@ -13,6 +13,11 @@
+ Using pr -m -s (i.e. merging files, with TAB as the output separator)
+ no longer inserts extraneous spaces between output columns.
+
++** Bug fixes
++
++ ls -x DIR would sometimes output the wrong string in place of the
++ first entry. [introduced in coreutils-6.8]
++
+
+ * Noteworthy changes in release 6.8 (2007-02-24) [not-unstable]
+
diff --git a/meta/recipes-core/coreutils/coreutils-6.9/coreutils-overflow.patch b/meta/recipes-core/coreutils/coreutils-6.9/coreutils-overflow.patch
new file mode 100644
index 000000000..d70275724
--- /dev/null
+++ b/meta/recipes-core/coreutils/coreutils-6.9/coreutils-overflow.patch
@@ -0,0 +1,17 @@
+This patch was imported from the Fedora Core 8 coreutils-6.9-9 package.
+
+The package is stated as being Licensed as GPLv2+.
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+--- coreutils-5.2.1/src/who.c.overflow 2005-05-25 09:59:06.000000000 +0100
++++ coreutils-5.2.1/src/who.c 2005-05-25 10:00:31.000000000 +0100
+@@ -75,7 +75,7 @@
+ # define NEW_TIME 0
+ #endif
+
+-#define IDLESTR_LEN 6
++#define IDLESTR_LEN 10
+
+ #if HAVE_STRUCT_XTMP_UT_PID
+ # define PIDSTR_DECL_AND_INIT(Var, Utmp_ent) \
diff --git a/meta/recipes-core/coreutils/coreutils_6.9.bb b/meta/recipes-core/coreutils/coreutils_6.9.bb
index 89f420a40..60ea90343 100644
--- a/meta/recipes-core/coreutils/coreutils_6.9.bb
+++ b/meta/recipes-core/coreutils/coreutils_6.9.bb
@@ -16,6 +16,11 @@ inherit autotools gettext
SRC_URI = "http://ftp.gnu.org/gnu/coreutils/${BP}.tar.bz2 \
file://gnulib_m4.patch \
file://futimens.patch \
+ file://coreutils-ls-x.patch \
+ file://coreutils-6.9-cp-i-u.patch \
+ file://coreutils-i18n.patch \
+ file://coreutils-overflow.patch \
+ file://coreutils-fix-install.patch \
file://man-touch.patch"
# [ gets a special treatment and is not included in this
diff --git a/meta/recipes-core/coreutils/coreutils_8.5.bb b/meta/recipes-core/coreutils/coreutils_8.9.bb
index 3944e3431..4b9a655e5 100644
--- a/meta/recipes-core/coreutils/coreutils_8.5.bb
+++ b/meta/recipes-core/coreutils/coreutils_8.9.bb
@@ -6,16 +6,17 @@ HOMEPAGE = "http://www.gnu.org/software/coreutils/"
BUGTRACKER = "http://debbugs.gnu.org/coreutils"
LICENSE = "GPLv3+"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\
- file://src/ls.c;startline=5;endline=16;md5=bb14ed3c4cda583abc85401304b5cd4e"
+ file://src/ls.c;startline=5;endline=16;md5=e1a509558876db58fb6667ba140137ad"
PR = "r0"
-DEPENDS = "perl-native"
+DEPENDS = "perl-native gmp"
+DEPENDS_virtclass-native = "perl-native gmp-native"
inherit autotools gettext
SRC_URI = "http://ftp.gnu.org/gnu/coreutils/${BP}.tar.gz"
-SRC_URI[md5sum] = "c1ffe586d001e87d66cd80c4536ee823"
-SRC_URI[sha256sum] = "dd243e2ac7d0ed203b170ecfb8299643779e7501fec2b45ae1cea8a450fa8ca0"
+SRC_URI[md5sum] = "36909ae68840d73a800120cf74af794a"
+SRC_URI[sha256sum] = "aa991fa4296b22ff929a31a5cb5528bb783c84cdef4503c4ff311cfbeaebf50a"
# [ gets a special treatment and is not included in this
bindir_progs = "base64 basename chcon cksum comm csplit cut dir dircolors dirname du \
diff --git a/meta/recipes-core/dbus-wait/dbus-wait_svn.bb b/meta/recipes-core/dbus-wait/dbus-wait_svn.bb
index 10e1db812..9fa4c552d 100644
--- a/meta/recipes-core/dbus-wait/dbus-wait_svn.bb
+++ b/meta/recipes-core/dbus-wait/dbus-wait_svn.bb
@@ -4,7 +4,7 @@ SECTION = "base"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = "dbus"
-PV = "0.0+svnr${SRCREV}"
+PV = "0.0+svnr${SRCPV}"
PR = "r2"
SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=dbus-wait;proto=http"
diff --git a/meta/recipes-core/dbus/dbus-1.4.0/dbus-1.init b/meta/recipes-core/dbus/dbus-1.4.1/dbus-1.init
index 4abc4cbf7..4abc4cbf7 100644
--- a/meta/recipes-core/dbus/dbus-1.4.0/dbus-1.init
+++ b/meta/recipes-core/dbus/dbus-1.4.1/dbus-1.init
diff --git a/meta/recipes-core/dbus/dbus-1.4.0/tmpdir.patch b/meta/recipes-core/dbus/dbus-1.4.1/tmpdir.patch
index f5c22af12..f5c22af12 100644
--- a/meta/recipes-core/dbus/dbus-1.4.0/tmpdir.patch
+++ b/meta/recipes-core/dbus/dbus-1.4.1/tmpdir.patch
diff --git a/meta/recipes-core/dbus/dbus-glib-0.88/fix_asneeded.patch b/meta/recipes-core/dbus/dbus-glib-0.88/fix_asneeded.patch
deleted file mode 100644
index 306555768..000000000
--- a/meta/recipes-core/dbus/dbus-glib-0.88/fix_asneeded.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-# not sure the reason for changing link order. Disable it for now, but keep for a while
-#
-# comment added by Kevin Tian <kevin.tian@intel.com>, 2010-07-10
-
-Index: dbus-glib-0.82/dbus/Makefile.am
-===================================================================
---- dbus-glib-0.82.orig/dbus/Makefile.am 2009-07-16 15:54:44.000000000 +0100
-+++ dbus-glib-0.82/dbus/Makefile.am 2009-12-11 09:27:20.000000000 +0000
-@@ -105,7 +105,7 @@
-
- dbus_bash_completion_helper_SOURCES = \
- dbus-bash-completion-helper.c
--dbus_bash_completion_helper_LDADD=$(DBUS_LIBS) $(DBUS_GLIB_LIBS) $(builddir)/libdbus-gtool.la -lexpat $(builddir)/libdbus-glib-1.la
-+dbus_bash_completion_helper_LDADD=$(DBUS_LIBS) $(DBUS_GLIB_LIBS) $(builddir)/libdbus-gtool.la $(builddir)/libdbus-glib-1.la -lexpat
-
-
- EXTRA_DIST=dbus-gmarshal.list make-dbus-glib-error-switch.sh make-dbus-glib-error-enum.sh dbus-bash-completion.sh.in
diff --git a/meta/recipes-core/dbus/dbus-glib-0.88/no-examples.patch b/meta/recipes-core/dbus/dbus-glib-0.92/no-examples.patch
index 32609b9b9..32609b9b9 100644
--- a/meta/recipes-core/dbus/dbus-glib-0.88/no-examples.patch
+++ b/meta/recipes-core/dbus/dbus-glib-0.92/no-examples.patch
diff --git a/meta/recipes-core/dbus/dbus-glib.inc b/meta/recipes-core/dbus/dbus-glib.inc
index 7dee3ffb7..22bf6274a 100644
--- a/meta/recipes-core/dbus/dbus-glib.inc
+++ b/meta/recipes-core/dbus/dbus-glib.inc
@@ -1,10 +1,12 @@
SUMMARY = "High level language (GLib) binding for D-Bus"
-DESCRIPTION = "GLib bindings for the D-Bus message bus that integration the D-Bus library with the GLib thread abstraction and main loop."
+DESCRIPTION = "GLib bindings for the D-Bus message bus that integrate \
+the D-Bus library with the GLib thread abstraction and main loop."
HOMEPAGE = "http://www.freedesktop.org/Software/dbus"
LICENSE = "AFL2.1 | GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=cf5b3a2f7083750d504333114e738656 \
file://dbus/dbus-glib.h;firstline=7;endline=21;md5=833ef01806b4c524fb3678a16300536f"
SECTION = "base"
+
DEPENDS = "expat glib-2.0 virtual/libintl dbus-glib-native dbus"
DEPENDS_virtclass-native = "glib-2.0-native dbus-native"
@@ -13,12 +15,12 @@ SRC_URI = "http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-${PV}.tar.gz
inherit autotools pkgconfig gettext
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool"
-FILES_${PN}-dev += "${bindir}/dbus-binding-tool"
-
EXTRA_OECONF = "--with-introspect-xml=${STAGING_DATADIR_NATIVE}/dbus/dbus-bus-introspect.xml \
--with-dbus-binding-tool=${STAGING_BINDIR_NATIVE}/dbus-binding-tool"
EXTRA_OECONF_virtclass-native = "--with-introspect-xml=${STAGING_DATADIR_NATIVE}/dbus/dbus-bus-introspect.xml"
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool"
+FILES_${PN}-dev += "${bindir}/dbus-binding-tool"
+
BBCLASSEXTEND = "native"
diff --git a/meta/recipes-core/dbus/dbus-glib_0.88.bb b/meta/recipes-core/dbus/dbus-glib_0.88.bb
deleted file mode 100644
index 64f083047..000000000
--- a/meta/recipes-core/dbus/dbus-glib_0.88.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require dbus-glib.inc
-
-PR = "r0"
-
-SRC_URI[md5sum] = "7c04ba01df6130c2c4e62f73bea0d0d5"
-SRC_URI[sha256sum] = "57939e2b567940beb23a52b5f3075743bd25ab203428e1c86f8c773330565737"
diff --git a/meta/recipes-core/dbus/dbus-glib_0.92.bb b/meta/recipes-core/dbus/dbus-glib_0.92.bb
new file mode 100644
index 000000000..72bea8982
--- /dev/null
+++ b/meta/recipes-core/dbus/dbus-glib_0.92.bb
@@ -0,0 +1,6 @@
+require dbus-glib.inc
+
+PR = "r0"
+
+SRC_URI[md5sum] = "b595b36890c4f9f8f5d5dec131c495f8"
+SRC_URI[sha256sum] = "5a7fd4cf937cdcb7f2eed61341b70ee0f2607450a50db381618598adf60dd40e"
diff --git a/meta/recipes-core/dbus/dbus.inc b/meta/recipes-core/dbus/dbus.inc
index 402cf1344..da77819c3 100644
--- a/meta/recipes-core/dbus/dbus.inc
+++ b/meta/recipes-core/dbus/dbus.inc
@@ -5,7 +5,8 @@ SECTION = "base"
LICENSE = "AFL2.1 | GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
file://dbus/dbus.h;firstline=6;endline=20;md5=6eea2e0c7750dd8e620dcb1437312fa5"
-DEPENDS = "expat glib-2.0 virtual/libintl virtual/libx11 libsm"
+DEPENDS = "expat virtual/libintl virtual/libx11 libsm"
+DEPENDS_virtclass-nativesdk = "expat virtual/libintl virtual/libx11"
SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
file://tmpdir.patch; \
@@ -88,4 +89,4 @@ do_install_virtclass-native() {
# dbus-glib-native and dbus-glib need this xml file
./bus/dbus-daemon --introspect > ${STAGING_DATADIR_NATIVE}/dbus/dbus-bus-introspect.xml
}
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-core/dbus/dbus_1.4.0.bb b/meta/recipes-core/dbus/dbus_1.4.0.bb
deleted file mode 100644
index a6663362b..000000000
--- a/meta/recipes-core/dbus/dbus_1.4.0.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-include dbus.inc
-
-PR = "r0"
-
-SRC_URI[md5sum] = "f59618b18d2fb2bd1fce9e1c5a2a3282"
-SRC_URI[sha256sum] = "c96d2f86d40e158e2bf405925a0a42cce0533a8466098e2f2238aa1614926652"
diff --git a/meta/recipes-core/dbus/dbus_1.4.1.bb b/meta/recipes-core/dbus/dbus_1.4.1.bb
new file mode 100644
index 000000000..7c5627bc4
--- /dev/null
+++ b/meta/recipes-core/dbus/dbus_1.4.1.bb
@@ -0,0 +1,6 @@
+include dbus.inc
+
+PR = "r0"
+
+SRC_URI[md5sum] = "99cb057700c0455fb68f8d57902f77ac"
+SRC_URI[sha256sum] = "caa1a0ded2d0f2e95c1d4ec7e3c8bd44834928c5b0ed41a7189963f3593983bd"
diff --git a/meta/recipes-core/eglibc/cross-localedef-native_2.12.bb b/meta/recipes-core/eglibc/cross-localedef-native_2.12.bb
index e2247dc53..68ef86439 100644
--- a/meta/recipes-core/eglibc/cross-localedef-native_2.12.bb
+++ b/meta/recipes-core/eglibc/cross-localedef-native_2.12.bb
@@ -4,6 +4,13 @@ SECTION = "libs"
PRIORITY = "required"
LICENSE = "LGPL"
+LIC_DIR = "${WORKDIR}/${EGLIBC_BRANCH}/libc"
+LIC_FILES_CHKSUM = "file://${LIC_DIR}/LICENSES;md5=07a394b26e0902b9ffdec03765209770 \
+ file://${LIC_DIR}/COPYING;md5=393a5ca445f6965873eca0259a17f833 \
+ file://${LIC_DIR}/posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
+ file://${LIC_DIR}/COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff "
+
+
inherit native
inherit autotools
@@ -19,8 +26,8 @@ do_unpack_append() {
do_move_ports() {
if test -d ${WORKDIR}/${EGLIBC_BRANCH}/ports ; then
- rm -rf ${S}../libc/ports
- mv ${WORKDIR}/${EGLIBC_BRANCH}/ports ${S}/../libc/
+ rm -rf ${WORKDIR}/libc/ports
+ mv ${WORKDIR}/${EGLIBC_BRANCH}/ports ${WORKDIR}/libc/
fi
}
diff --git a/meta/recipes-core/eglibc/eglibc-initial.inc b/meta/recipes-core/eglibc/eglibc-initial.inc
index d49ec8a87..ce85d9909 100644
--- a/meta/recipes-core/eglibc/eglibc-initial.inc
+++ b/meta/recipes-core/eglibc/eglibc-initial.inc
@@ -6,6 +6,9 @@ PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
PACKAGES = ""
PACKAGES_DYNAMIC = ""
+STAGINGCC = "gcc-cross-initial"
+STAGINGCC_virtclass-nativesdk = "gcc-crosssdk-initial"
+
do_configure () {
sed -ie 's,{ (exit 1); exit 1; }; },{ (exit 0); }; },g' ${S}/configure
chmod +x ${S}/configure
@@ -42,8 +45,15 @@ do_install () {
install -m 644 csu/crt[1in].o ${D}${libdir}
${CC} -nostdlib -nostartfiles -shared -x c /dev/null \
-o ${D}${libdir}/libc.so
+
+ # add links to linux-libc-headers: gcc-{cross,crossdk}-intermediate need this.
+ for t in linux asm asm-generic; do
+ ln -s ${STAGING_DIR_TARGET}${includedir}/$t ${D}${includedir}/
+ done
}
do_siteconfig () {
:
}
+
+do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_TCBOOTSTRAP}"
diff --git a/meta/recipes-core/eglibc/eglibc-package.inc b/meta/recipes-core/eglibc/eglibc-package.inc
index 87c3393d0..01275aaf1 100644
--- a/meta/recipes-core/eglibc/eglibc-package.inc
+++ b/meta/recipes-core/eglibc/eglibc-package.inc
@@ -37,12 +37,12 @@ USE_LDCONFIG ?= "1"
PKGSUFFIX = ""
PKGSUFFIX_virtclass-nativesdk = "-nativesdk"
-PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} localedef${PKGSUFFIX} ${PN}-utils ${PN}-pic ${PN}-dev eglibc-doc eglibc-locale libcidn libmemusage libsegfault${PKGSUFFIX} eglibc-extra-nss eglibc-thread-db eglibc-pcprofile"
+PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} localedef${PKGSUFFIX} ${PN}-utils ${PN}-pic ${PN}-dev eglibc-doc eglibc-locale libcidn libmemusage libsegfault${PKGSUFFIX} eglibc-extra-nss eglibc-thread-db${PKGSUFFIX} eglibc-pcprofile"
PACKAGES_DYNAMIC = " \
glibc-gconv-*${PKGSUFFIX} glibc-charmap-* glibc-localedata-* glibc-binary-localedata-* \
eglibc-gconv-* eglibc-charmap-* eglibc-localedata-* eglibc-binary-localedata-* \
- locale-base-*"
+ locale-base-*${PKGSUFFIX}"
RPROVIDES_eglibc = "glibc"
RPROVIDES_eglibc-utils = "glibc-utils"
@@ -56,7 +56,7 @@ RPROVIDES_eglibc-pcprofile = "glibc-pcprofile"
RPROVIDES_eglibc-dbg = "glibc-dbg"
libc_baselibs = "${base_libdir}/libcrypt*.so.* ${base_libdir}/libcrypt-*.so ${base_libdir}/libc*.so.* ${base_libdir}/libc*.so ${base_libdir}/libm*.so.* ${base_libdir}/libm-*.so ${base_libdir}/ld*.so.* ${base_libdir}/ld-*.so ${base_libdir}/libpthread*.so.* ${base_libdir}/libpthread-*.so ${base_libdir}/libresolv*.so.* ${base_libdir}/libresolv-*.so ${base_libdir}/librt*.so.* ${base_libdir}/librt-*.so ${base_libdir}/libutil*.so.* ${base_libdir}/libutil-*.so ${base_libdir}/libnsl*.so.* ${base_libdir}/libnsl-*.so ${base_libdir}/libnss_files*.so.* ${base_libdir}/libnss_files-*.so ${base_libdir}/libnss_compat*.so.* ${base_libdir}/libnss_compat-*.so ${base_libdir}/libnss_dns*.so.* ${base_libdir}/libnss_dns-*.so ${base_libdir}/libdl*.so.* ${base_libdir}/libdl-*.so ${base_libdir}/libanl*.so.* ${base_libdir}/libanl-*.so ${base_libdir}/libBrokenLocale*.so.* ${base_libdir}/libBrokenLocale-*.so"
-FILES_${PN} = "${sysconfdir} ${libc_baselibs} ${libexecdir}/* ${@base_conditional('USE_LDCONFIG', '1', '${base_sbindir}/ldconfig', '', d)}"
+FILES_${PN} = "${libc_baselibs} ${libexecdir}/* ${@base_conditional('USE_LDCONFIG', '1', '${base_sbindir}/ldconfig ${sysconfdir}/ld.so.conf', '', d)}"
FILES_ldd${PKGSUFFIX} = "${bindir}/ldd"
FILES_libsegfault${PKGSUFFIX} = "${base_libdir}/libSegFault*"
FILES_libcidn = "${base_libdir}/libcidn*.so"
@@ -73,7 +73,7 @@ FILES_${PN}-dbg += "${libexecdir}/*/.debug ${libdir}/gconv/.debug"
FILES_catchsegv${PKGSUFFIX} = "${bindir}/catchsegv"
RDEPENDS_catchsegv${PKGSUFFIX} = "libsegfault"
FILES_eglibc-pcprofile = "${base_libdir}/libpcprofile.so"
-FILES_eglibc-thread-db = "${base_libdir}/libthread_db*"
+FILES_eglibc-thread-db${PKGSUFFIX} = "${base_libdir}/libthread_db*"
FILES_localedef${PKGSUFFIX} = "${bindir}/localedef"
RPROVIDES_eglibc-dev += "libc-dev"
diff --git a/meta/recipes-core/eglibc/eglibc.inc b/meta/recipes-core/eglibc/eglibc.inc
index 469825493..8314cb154 100644
--- a/meta/recipes-core/eglibc/eglibc.inc
+++ b/meta/recipes-core/eglibc/eglibc.inc
@@ -1,5 +1,24 @@
require eglibc-common.inc
+STAGINGCC = "gcc-cross-intermediate"
+STAGINGCC_virtclass-nativesdk = "gcc-crosssdk-intermediate"
+PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
+
+TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TCBOOTSTRAP}"
+
+# siteconfig.bbclass runs configure which needs a working compiler
+# For the compiler to work we need a working libc yet libc isn't
+# in the sysroots directory at this point. This means the libc.so
+# linker script won't work as the --sysroot setting isn't correct.
+# Here we create a hacked up libc linker script and pass in the right
+# flags to let configure work. Ugly.
+EXTRASITECONFIG = "CFLAGS='${CFLAGS} -Wl,-L${WORKDIR}/site_config_libc -L${WORKDIR}/site_config_libc -L${SYSROOT_DESTDIR}${libdir} -L${SYSROOT_DESTDIR}${base_libdir} -Wl,-L${SYSROOT_DESTDIR}${libdir} -Wl,-L${SYSROOT_DESTDIR}${base_libdir}'"
+siteconfig_do_siteconfig_gencache_prepend = " \
+ mkdir -p ${WORKDIR}/site_config_libc; \
+ cp ${SYSROOT_DESTDIR}${libdir}/libc.so ${WORKDIR}/site_config_libc; \
+ sed -i -e 's# ${base_libdir}# ${SYSROOT_DESTDIR}${base_libdir}#g' -e 's# ${libdir}# ${SYSROOT_DESTDIR}${libdir}#g' ${WORKDIR}/site_config_libc/libc.so; \
+"
+
# nptl needs unwind support in gcc, which can't be built without glibc.
DEPENDS = "virtual/${TARGET_PREFIX}gcc-intermediate linux-libc-headers"
#this leads to circular deps, so lets not add it yet
diff --git a/meta/recipes-core/eglibc/eglibc_2.12.bb b/meta/recipes-core/eglibc/eglibc_2.12.bb
index 3d0dc7387..c773af0ef 100644
--- a/meta/recipes-core/eglibc/eglibc_2.12.bb
+++ b/meta/recipes-core/eglibc/eglibc_2.12.bb
@@ -2,7 +2,7 @@ require eglibc.inc
DEPENDS += "gperf-native"
FILESPATHPKG =. "eglibc-svn:"
-PR = "r12"
+PR = "r13"
EGLIBC_BRANCH="eglibc-2_12"
SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http \
diff --git a/meta/recipes-core/gettext/gettext_0.14.1.bb b/meta/recipes-core/gettext/gettext_0.14.1.bb
index a2de01828..ad5121736 100644
--- a/meta/recipes-core/gettext/gettext_0.14.1.bb
+++ b/meta/recipes-core/gettext/gettext_0.14.1.bb
@@ -2,6 +2,8 @@ DESCRIPTION = "The GNU internationalization library."
HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html"
SECTION = "libs"
LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
PR = "r11"
DEPENDS = "virtual/libiconv"
DEPENDS_virtclass-native = ""
@@ -9,9 +11,9 @@ PROVIDES = "virtual/libintl"
PROVIDES_virtclass-native = ""
SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
- file://gettext-vpath.patch \
- file://fixchicken.patch \
- file://linklib_from_0.17.patch \
+ file://gettext-vpath.patch \
+ file://fixchicken.patch \
+ file://linklib_from_0.17.patch \
file://getline.m4.patch \
file://disable_java.patch"
@@ -20,14 +22,17 @@ SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
SRC_URI_append_linux-uclibc = " file://gettext-error_print_progname.patch"
SRC_URI_append_linux-uclibceabi = " file://gettext-error_print_progname.patch"
+SRC_URI[md5sum] = "78f4b862510beb2e5d43223dd610e77d"
+SRC_URI[sha256sum] = "41f20c469c7759acb34cfa7e0b3cac9096d59a58ad800e471f07424a8e7adbb7"
+
PARALLEL_MAKE = ""
inherit autotools
EXTRA_OECONF += "--without-lisp --disable-csharp"
acpaths = '-I ${S}/autoconf-lib-link/m4/ \
- -I ${S}/gettext-runtime/m4 \
- -I ${S}/gettext-tools/m4'
+ -I ${S}/gettext-runtime/m4 \
+ -I ${S}/gettext-tools/m4'
do_configure_prepend() {
rm -f ${S}/config/m4/libtool.m4
@@ -46,7 +51,3 @@ do_configure_prepend() {
PACKAGES =+ "libgettextlib libgettextsrc"
FILES_libgettextlib = "${libdir}/libgettextlib-*.so*"
FILES_libgettextsrc = "${libdir}/libgettextsrc-*.so*"
-
-
-SRC_URI[md5sum] = "78f4b862510beb2e5d43223dd610e77d"
-SRC_URI[sha256sum] = "41f20c469c7759acb34cfa7e0b3cac9096d59a58ad800e471f07424a8e7adbb7"
diff --git a/meta/recipes-core/gettext/gettext_0.17.bb b/meta/recipes-core/gettext/gettext_0.17.bb
index 7a936ea91..54a58377a 100644
--- a/meta/recipes-core/gettext/gettext_0.17.bb
+++ b/meta/recipes-core/gettext/gettext_0.17.bb
@@ -3,6 +3,8 @@ DESCRIPTION = "Gettext offers to programmers, translators, and even users, a wel
HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html"
SECTION = "libs"
LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
PR = "r5"
DEPENDS = "gettext-native virtual/libiconv ncurses expat"
DEPENDS_virtclass-native = ""
@@ -10,33 +12,36 @@ PROVIDES = "virtual/libintl"
PROVIDES_virtclass-native = ""
SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
- file://autotools.patch;patch=1 \
- file://wchar-uclibc.patch;patch=1 \
- file://use_open_properly.patch;patch=1 \
+ file://autotools.patch;patch=1 \
+ file://wchar-uclibc.patch;patch=1 \
+ file://use_open_properly.patch;patch=1 \
file://m4fix.patch;patch=1 \
- "
+ "
SRC_URI_append_linux-uclibc = " file://gettext-error_print_progname.patch;patch=1"
SRC_URI_append_linux-uclibcgnueabi = " file://gettext-error_print_progname.patch;patch=1"
+SRC_URI[md5sum] = "58a2bc6d39c0ba57823034d55d65d606"
+SRC_URI[sha256sum] = "209638bb8e162f22c281145a34e220c66f1f6e9ff5e4c50c6f2ef2ded59537ba"
+
PARALLEL_MAKE = ""
inherit autotools
EXTRA_OECONF += "--without-lispdir \
- --disable-csharp \
- --disable-libasprintf \
- --disable-java \
- --disable-native-java \
- --disable-openmp \
- --with-included-glib \
- --with-libncurses-prefix=${STAGING_LIBDIR}/.. \
- --without-emacs \
- "
+ --disable-csharp \
+ --disable-libasprintf \
+ --disable-java \
+ --disable-native-java \
+ --disable-openmp \
+ --with-included-glib \
+ --with-libncurses-prefix=${STAGING_LIBDIR}/.. \
+ --without-emacs \
+ "
acpaths = '-I ${S}/autoconf-lib-link/m4/ \
- -I ${S}/gettext-runtime/m4 \
- -I ${S}/gettext-tools/m4'
+ -I ${S}/gettext-runtime/m4 \
+ -I ${S}/gettext-tools/m4'
# these lack the .x behind the .so, but shouldn't be in the -dev package
diff --git a/meta/recipes-core/glib-2.0/glib-2.0-2.27.3/60_wait-longer-for-threads-to-die.patch b/meta/recipes-core/glib-2.0/glib-2.0/60_wait-longer-for-threads-to-die.patch
index 8195bd492..8195bd492 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0-2.27.3/60_wait-longer-for-threads-to-die.patch
+++ b/meta/recipes-core/glib-2.0/glib-2.0/60_wait-longer-for-threads-to-die.patch
diff --git a/meta/recipes-core/glib-2.0/glib-2.0-2.27.3/configure-libtool.patch b/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch
index a5dd4f249..7c170be60 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0-2.27.3/configure-libtool.patch
+++ b/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch
@@ -12,7 +12,7 @@ diff -ruN glib-2.27.3-orig/configure.ac glib-2.27.3/configure.ac
else
export SED
- G_MODULE_LDFLAGS=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
-+ G_MODULE_LDFLAGS=`($host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
++ G_MODULE_LDFLAGS=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
fi
dnl G_MODULE_IMPL= don't reset, so cmd-line can override
G_MODULE_NEED_USCORE=0
@@ -21,7 +21,7 @@ diff -ruN glib-2.27.3-orig/configure.ac glib-2.27.3/configure.ac
dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
echo "void glib_plugin_test(void) { }" > plugin.c
- ${SHELL} ./libtool --mode=compile ${CC} -shared \
-+ ${SHELL} $host_alias-libtool --mode=compile ${CC} -shared \
++ ${SHELL} ./$host_alias-libtool --mode=compile ${CC} -shared \
-export-dynamic -o plugin.o plugin.c 2>&1 >/dev/null
AC_CACHE_CHECK([for RTLD_GLOBAL brokenness],
glib_cv_rtldglobal_broken,[
@@ -30,7 +30,7 @@ diff -ruN glib-2.27.3-orig/configure.ac glib-2.27.3/configure.ac
AC_MSG_CHECKING(for the suffix of module shared libraries)
export SED
-shrext_cmds=`./libtool --config | grep '^shrext_cmds='`
-+shrext_cmds=`$host_alias-libtool --config | grep '^shrext_cmds='`
++shrext_cmds=`./$host_alias-libtool --config | grep '^shrext_cmds='`
eval $shrext_cmds
module=yes eval std_shrext=$shrext_cmds
# chop the initial dot
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/g_once_init_enter.patch b/meta/recipes-core/glib-2.0/glib-2.0/g_once_init_enter.patch
new file mode 100644
index 000000000..a2a506c2a
--- /dev/null
+++ b/meta/recipes-core/glib-2.0/glib-2.0/g_once_init_enter.patch
@@ -0,0 +1,22 @@
+fix g_once_init_enter compile failure
+
+Kernelshark trips over a compile bug in glib-2.0 addressed by Open Embedded
+back in the 2.22 timeframe. It appears to still be present in 2.27.
+
+http://www.mail-archive.com/openembedded-devel@lists.openembedded.org/msg005
+
+Signed-off-by: Darren Hart <dvhart@linux.intel.com>
+
+Index: glib-2.27.5/glib/gthread.h
+===================================================================
+--- glib-2.27.5.orig/glib/gthread.h
++++ glib-2.27.5/glib/gthread.h
+@@ -344,7 +344,7 @@ void g_once_init_leav
+ G_INLINE_FUNC gboolean
+ g_once_init_enter (volatile gsize *value_location)
+ {
+- if G_LIKELY ((gpointer) g_atomic_pointer_get (value_location) != NULL)
++ if G_LIKELY ((gpointer) g_atomic_pointer_get ((volatile gpointer *)value_location) != NULL)
+ return FALSE;
+ else
+ return g_once_init_enter_impl (value_location);
diff --git a/meta/recipes-core/glib-2.0/glib-2.0-2.27.3/glib-gettextize-dir.patch b/meta/recipes-core/glib-2.0/glib-2.0/glib-gettextize-dir.patch
index e54a8e510..e54a8e510 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0-2.27.3/glib-gettextize-dir.patch
+++ b/meta/recipes-core/glib-2.0/glib-2.0/glib-gettextize-dir.patch
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.26.1.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.26.1.bb
new file mode 100644
index 000000000..eace71a73
--- /dev/null
+++ b/meta/recipes-core/glib-2.0/glib-2.0_2.26.1.bb
@@ -0,0 +1,16 @@
+require glib.inc
+
+PE = "1"
+PR = "r0"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glib/2.26/glib-${PV}.tar.bz2 \
+ file://configure-libtool.patch \
+ file://60_wait-longer-for-threads-to-die.patch \
+ file://g_once_init_enter.patch \
+ "
+
+SRC_URI[md5sum] = "17535accceef55bcb17a74d73f9c2aef"
+SRC_URI[sha256sum] = "7a74ff12b6b9dee1f2d0e520b56b68b621920c4f4250bdf23468e515625c28d5"
+
+SRC_URI_append_virtclass-native = " file://glib-gettextize-dir.patch"
+BBCLASSEXTEND = "native"
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.27.3.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.27.3.bb
deleted file mode 100644
index 30e208afc..000000000
--- a/meta/recipes-core/glib-2.0/glib-2.0_2.27.3.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require glib.inc
-
-PR = "r0"
-
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glib/2.27/glib-${PV}.tar.bz2 \
- file://configure-libtool.patch \
- file://60_wait-longer-for-threads-to-die.patch"
-
-SRC_URI[md5sum] = "d3e976ff92b55b6064a0eb3110f36158"
-SRC_URI[sha256sum] = "c44177b635e88639361eb1daf7aaa33315a00aaf46db5accf2f11920c7ff1919"
-
-SRC_URI_append_virtclass-native = " file://glib-gettextize-dir.patch"
-BBCLASSEXTEND = "native"
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.27.5.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.27.5.bb
new file mode 100644
index 000000000..d3c8eee71
--- /dev/null
+++ b/meta/recipes-core/glib-2.0/glib-2.0_2.27.5.bb
@@ -0,0 +1,18 @@
+require glib.inc
+
+PR = "r3"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glib/2.27/glib-${PV}.tar.bz2 \
+ file://configure-libtool.patch \
+ file://60_wait-longer-for-threads-to-die.patch \
+ file://g_once_init_enter.patch \
+ "
+
+SRC_URI[md5sum] = "b7025b581bf78fcd656117bfc113f21f"
+SRC_URI[sha256sum] = "aad3038db865b762e01b1dc455ffd601b4083c069018d290e5fdfe1a61d328dc"
+
+SRC_URI_append_virtclass-native = " file://glib-gettextize-dir.patch"
+
+BBCLASSEXTEND = "native nativesdk"
+
+DEFAULT_PREFERENCE = "-1"
diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc
index b0df84eca..0319b9d04 100644
--- a/meta/recipes-core/glib-2.0/glib.inc
+++ b/meta/recipes-core/glib-2.0/glib.inc
@@ -15,8 +15,9 @@ SECTION = "libs"
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"
+DEPENDS = "glib-2.0-native gtk-doc-native virtual/libiconv virtual/libintl zip dbus"
+DEPENDS_virtclass-native = "gtk-doc-native pkgconfig-native gettext-native dbus-native"
+DEPENDS_virtclass-nativesdk = "libtool-nativesdk"
PACKAGES =+ "glib-2.0-utils "
LEAD_SONAME = "libglib-2.0.*"
@@ -28,6 +29,7 @@ S = "${WORKDIR}/glib-${PV}"
EXTRA_OECONF = "--disable-debug --enable-included-printf=no"
EXTRA_OECONF_virtclass-native = ""
+EXTRA_OECONF_poky-lsb = "--enable-included-printf=no"
FILES_${PN} = "${libdir}/lib*${SOLIBS}"
FILES_${PN}-dev += "${libdir}/glib-2.0/include"
diff --git a/meta/recipes-core/glibc/glibc-initial.inc b/meta/recipes-core/glibc/glibc-initial.inc
index ec1069919..3745955f6 100644
--- a/meta/recipes-core/glibc/glibc-initial.inc
+++ b/meta/recipes-core/glibc/glibc-initial.inc
@@ -6,6 +6,9 @@ FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/glibc-${PV}', '${FILE_DIRN
PACKAGES = ""
PACKAGES_DYNAMIC = ""
+STAGINGCC = "gcc-cross-initial"
+STAGINGCC_virtclass-nativesdk = "gcc-crosssdk-initial"
+
do_configure () {
sed -ie 's,{ (exit 1); exit 1; }; },{ (exit 0); }; },g' ${S}/configure
chmod +x ${S}/configure
@@ -50,8 +53,15 @@ do_install () {
install -m 644 csu/crt[1in].o ${D}${libdir}
${CC} -nostdlib -nostartfiles -shared -x c /dev/null \
-o ${D}${libdir}/libc.so
+
+ # add links to linux-libc-headers: gcc-{cross,crossdk}-intermediate need this.
+ for t in linux asm asm-generic; do
+ ln -s ${STAGING_DIR_TARGET}${includedir}/$t ${D}${includedir}/
+ done
}
do_siteconfig () {
:
}
+
+do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_TCBOOTSTRAP}"
diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc
index ecaf593b2..127ae231d 100644
--- a/meta/recipes-core/glibc/glibc.inc
+++ b/meta/recipes-core/glibc/glibc.inc
@@ -13,10 +13,29 @@ DEPENDS = "virtual/${TARGET_PREFIX}gcc-intermediate linux-libc-headers"
RDEPENDS_${PN}-dev = "linux-libc-headers-dev"
#this leads to circular deps, so lets not add it yet
#RDEPENDS_ldd += " bash"
-#RDEPENDS += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}"
+#RDEPENDS_${PN} += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}"
PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
PROVIDES += "virtual/libintl virtual/libiconv"
+STAGINGCC = "gcc-cross-intermediate"
+STAGINGCC_virtclass-nativesdk = "gcc-crosssdk-intermediate"
+PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
+
+TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TCBOOTSTRAP}"
+
+# siteconfig.bbclass runs configure which needs a working compiler
+# For the compiler to work we need a working libc yet libc isn't
+# in the sysroots directory at this point. This means the libc.so
+# linker script won't work as the --sysroot setting isn't correct.
+# Here we create a hacked up libc linker script and pass in the right
+# flags to let configure work. Ugly.
+EXTRASITECONFIG = "CFLAGS='${CFLAGS} -Wl,-L${WORKDIR}/site_config_libc -L${WORKDIR}/site_config_libc -L${SYSROOT_DESTDIR}${libdir} -L${SYSROOT_DESTDIR}${base_libdir} -Wl,-L${SYSROOT_DESTDIR}${libdir} -Wl,-L${SYSROOT_DESTDIR}${base_libdir}'"
+siteconfig_do_siteconfig_gencache_prepend = " \
+ mkdir -p ${WORKDIR}/site_config_libc; \
+ cp ${SYSROOT_DESTDIR}${libdir}/libc.so ${WORKDIR}/site_config_libc; \
+ sed -i -e 's# ${base_libdir}# ${SYSROOT_DESTDIR}${base_libdir}#g' -e 's# ${libdir}# ${SYSROOT_DESTDIR}${libdir}#g' ${WORKDIR}/site_config_libc/libc.so; \
+"
+
inherit autotools
GLIBC_EXTRA_OECONF ?= ""
diff --git a/meta/recipes-core/glibc/ldconfig-native_2.5.bb b/meta/recipes-core/glibc/ldconfig-native_2.5.bb
index 4eb37a6e7..39c8ce35e 100644
--- a/meta/recipes-core/glibc/ldconfig-native_2.5.bb
+++ b/meta/recipes-core/glibc/ldconfig-native_2.5.bb
@@ -2,6 +2,8 @@ DESCRIPTION = "A standalone native ldconfig build"
LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://${S}/ldconfig.c;endline=16;md5=8b3df71ec5b0feeeeab79025096aa92c"
+
SRC_URI = "file://ldconfig-native-2.5.tar.bz2 \
file://ldconfig.patch;patch=1 \
file://32and64bit.patch;patch=1"
diff --git a/meta/recipes-core/images/poky-image-live.inc b/meta/recipes-core/images/poky-image-live.inc
index 7f8dd8fba..4743d9291 100644
--- a/meta/recipes-core/images/poky-image-live.inc
+++ b/meta/recipes-core/images/poky-image-live.inc
@@ -5,6 +5,9 @@ TIMEOUT = "10"
EXCLUDE_FROM_WORLD = "1"
+LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
+ file://${POKYBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
do_bootimg[depends] += "poky-image-minimal-initramfs:do_rootfs"
inherit bootimg
diff --git a/meta/recipes-core/images/poky-image-minimal-dev.bb b/meta/recipes-core/images/poky-image-minimal-dev.bb
new file mode 100644
index 000000000..c64b65720
--- /dev/null
+++ b/meta/recipes-core/images/poky-image-minimal-dev.bb
@@ -0,0 +1,15 @@
+#
+# Copyright (C) 2007 OpenedHand Ltd.
+#
+IMAGE_INSTALL = "task-poky-boot ${ROOTFS_PKGMANAGE}"
+
+IMAGE_FEATURES += "dev-pkgs"
+
+IMAGE_LINGUAS = " "
+
+LICENSE = "MIT"
+
+inherit poky-image
+
+# remove not needed ipkg informations
+ROOTFS_POSTPROCESS_COMMAND += "remove_packaging_data_files ; "
diff --git a/meta/recipes-core/images/poky-image-minimal.bb b/meta/recipes-core/images/poky-image-minimal.bb
index 48136ed0f..6a641f3b8 100644
--- a/meta/recipes-core/images/poky-image-minimal.bb
+++ b/meta/recipes-core/images/poky-image-minimal.bb
@@ -1,7 +1,7 @@
#
# Copyright (C) 2007 OpenedHand Ltd.
#
-IMAGE_INSTALL = "task-poky-boot ${ROOTFS_PKGMANAGE}"
+IMAGE_INSTALL = "task-poky-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP}"
IMAGE_LINGUAS = " "
diff --git a/meta/recipes-core/initrdscripts/files/init-live.sh b/meta/recipes-core/initrdscripts/files/init-live.sh
index c96b1f47c..f3e514544 100644
--- a/meta/recipes-core/initrdscripts/files/init-live.sh
+++ b/meta/recipes-core/initrdscripts/files/init-live.sh
@@ -11,6 +11,7 @@ early_setup() {
mount -t proc proc /proc
mount -t sysfs sysfs /sys
udevd --daemon
+ /sbin/udevadm trigger --action=add
}
read_args() {
diff --git a/meta/recipes-core/initscripts/initscripts_1.0.bb b/meta/recipes-core/initscripts/initscripts_1.0.bb
index 758c607c8..1d2509e68 100644
--- a/meta/recipes-core/initscripts/initscripts_1.0.bb
+++ b/meta/recipes-core/initscripts/initscripts_1.0.bb
@@ -3,10 +3,10 @@ DESCRIPTION = "Initscripts provide the basic system startup initialization scrip
SECTION = "base"
PRIORITY = "required"
DEPENDS = "makedevs"
-RDEPENDS = "makedevs"
+RDEPENDS_${PN} = "makedevs"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-PR = "r122"
+PR = "r123"
SRC_URI = "file://functions \
file://halt \
diff --git a/meta/recipes-core/libxml/libxml2.inc b/meta/recipes-core/libxml/libxml2.inc
index 748a7fb24..ba6db8f2c 100644
--- a/meta/recipes-core/libxml/libxml2.inc
+++ b/meta/recipes-core/libxml/libxml2.inc
@@ -21,6 +21,7 @@ inherit autotools pkgconfig binconfig
EXTRA_OECONF = "--without-python --without-debug --without-legacy --without-catalog --without-docbook --with-c14n"
EXTRA_OECONF_virtclass-native = "--with-python=${STAGING_BINDIR}/python --without-legacy --with-catalog --without-docbook --with-c14n"
+EXTRA_OECONF_poky-lsb = "--without-python --with-debug --with-legacy --with-catalog --with-docbook --with-c14n"
# required for pythong binding
export HOST_SYS
diff --git a/meta/recipes-core/libxml/libxml2_2.7.7.bb b/meta/recipes-core/libxml/libxml2_2.7.7.bb
index 9615a7fb0..91f4ceb94 100644
--- a/meta/recipes-core/libxml/libxml2_2.7.7.bb
+++ b/meta/recipes-core/libxml/libxml2_2.7.7.bb
@@ -1,6 +1,6 @@
require libxml2.inc
-PR = "r2"
+PR = "r4"
SRC_URI[md5sum] = "9abc9959823ca9ff904f1fbcf21df066"
SRC_URI[sha256sum] = "af5b781418ba4fff556fa43c50086658ea8a2f31909c2b625c2ce913a1d9eb68"
diff --git a/meta/recipes-core/meta/external-python-tarball.bb b/meta/recipes-core/meta/external-python-tarball.bb
index 494b21c20..746cb9e6f 100644
--- a/meta/recipes-core/meta/external-python-tarball.bb
+++ b/meta/recipes-core/meta/external-python-tarball.bb
@@ -1,5 +1,8 @@
DESCRIPTION = "Meta package for building a standalone python tarball"
LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
+ file://${POKYBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
DEPENDS = "opkg-native opkg-utils-native virtual/fakeroot-native sed-native"
inherit meta
@@ -23,6 +26,7 @@ TOOLCHAIN_HOST_TASK ?= "\
python-nativesdk-fcntl \
python-nativesdk-shell \
python-nativesdk-misc \
+ python-nativesdk-multiprocessing \
python-nativesdk-subprocess \
python-nativesdk-xmlrpc \
python-nativesdk-netclient \
diff --git a/meta/recipes-core/meta/meta-environment.bb b/meta/recipes-core/meta/meta-environment.bb
new file mode 100644
index 000000000..4ba919f7f
--- /dev/null
+++ b/meta/recipes-core/meta/meta-environment.bb
@@ -0,0 +1,61 @@
+DESCRIPTION = "Package of environment files for SDK"
+LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
+ file://${POKYBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+LICENSE = "MIT"
+PR = "r1"
+
+EXCLUDE_FROM_WORLD = "1"
+
+inherit toolchain-scripts
+# get target config site before inheritting cross-canadian
+TARGET_CONFIG_SITE := "${@siteinfo_get_files(d)}"
+
+SDK_DIR = "${WORKDIR}/sdk"
+SDK_OUTPUT = "${SDK_DIR}/image"
+SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${TARGET_SYS}"
+
+inherit cross-canadian
+
+do_generate_content[nostamp] = "1"
+do_generate_content() {
+
+ rm -rf ${SDK_OUTPUT}
+ mkdir -p ${SDK_OUTPUT}/${SDKPATH}
+
+ siteconfig=${SDK_OUTPUT}/${SDKPATH}/site-config-${OLD_MULTIMACH_TARGET_SYS}
+
+ touch $siteconfig
+ for sitefile in ${TARGET_CONFIG_SITE} ; do
+ cat $sitefile >> $siteconfig
+ done
+
+ toolchain_create_sdk_env_script_for_installer
+
+ # Add version information
+ versionfile=${SDK_OUTPUT}/${SDKPATH}/version-${OLD_MULTIMACH_TARGET_SYS}
+ touch $versionfile
+ echo 'Distro: ${DISTRO}' >> $versionfile
+ echo 'Distro Version: ${DISTRO_VERSION}' >> $versionfile
+ echo 'Metadata Revision: ${METADATA_REVISION}' >> $versionfile
+ echo 'Timestamp: ${DATETIME}' >> $versionfile
+}
+addtask generate_content before do_install after do_compile
+
+do_install[nostamp] = "1"
+do_install() {
+ install -d ${D}/${SDKPATH}
+ install -m 0644 -t ${D}/${SDKPATH} ${SDK_OUTPUT}/${SDKPATH}/*
+}
+
+PN = "meta-environment-${TRANSLATED_TARGET_ARCH}"
+PACKAGES = "${PN}"
+FILES_${PN}= " \
+ ${SDKPATH}/* \
+ "
+
+do_fetch[noexec] = "1"
+do_unpack[noexec] = "1"
+do_patch[noexec] = "1"
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+do_populage_sysroot[noexec] = "1"
diff --git a/meta/recipes-core/meta/meta-toolchain-gmae.bb b/meta/recipes-core/meta/meta-toolchain-gmae.bb
new file mode 100644
index 000000000..595aba303
--- /dev/null
+++ b/meta/recipes-core/meta/meta-toolchain-gmae.bb
@@ -0,0 +1,5 @@
+TOOLCHAIN_TARGET_GMAETASK ?= "task-poky-standalone-gmae-sdk-target task-poky-standalone-gmae-sdk-target-dbg"
+TOOLCHAIN_TARGET_TASK = "${TOOLCHAIN_TARGET_GMAETASK}"
+TOOLCHAIN_OUTPUTNAME = "${SDK_NAME}-toolchain-gmae-${DISTRO_VERSION}"
+PROVIDES = "meta-toolchain-sdk"
+require meta-toolchain.bb
diff --git a/meta/recipes-core/meta/meta-toolchain-sdk.bb b/meta/recipes-core/meta/meta-toolchain-sdk.bb
deleted file mode 100644
index 8572f021d..000000000
--- a/meta/recipes-core/meta/meta-toolchain-sdk.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-TOOLCHAIN_TARGET_SDKTASK ?= "task-poky-standalone-gmae-sdk-target task-poky-standalone-gmae-sdk-target-dbg"
-TOOLCHAIN_TARGET_TASK = "${TOOLCHAIN_TARGET_SDKTASK}"
-TOOLCHAIN_OUTPUTNAME = "${SDK_NAME}-toolchain-sdk-${DISTRO_VERSION}"
-require meta-toolchain.bb
diff --git a/meta/recipes-core/meta/meta-toolchain.bb b/meta/recipes-core/meta/meta-toolchain.bb
index 40f8d7ea2..feff9ac38 100644
--- a/meta/recipes-core/meta/meta-toolchain.bb
+++ b/meta/recipes-core/meta/meta-toolchain.bb
@@ -1,103 +1,9 @@
DESCRIPTION = "Meta package for building a installable toolchain"
LICENSE = "MIT"
-DEPENDS = "opkg-native opkg-utils-native virtual/fakeroot-native sed-native"
-inherit meta toolchain-scripts
+PR = "r1"
-SDK_DIR = "${WORKDIR}/sdk"
-SDK_OUTPUT = "${SDK_DIR}/image"
-SDK_DEPLOY = "${TMPDIR}/deploy/sdk"
+LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
+ file://${POKYBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-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}/${SDKTARGETSYSROOT}"
-
-TOOLCHAIN_HOST_TASK ?= "task-sdk-host task-cross-canadian-${TRANSLATED_TARGET_ARCH}"
-TOOLCHAIN_TARGET_TASK ?= "task-poky-standalone-sdk-target task-poky-standalone-sdk-target-dbg"
-TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${DISTRO_VERSION}"
-
-RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}"
-
-EXCLUDE_FROM_WORLD = "1"
-
-do_populate_sdk() {
- rm -rf ${SDK_OUTPUT}
- mkdir -p ${SDK_OUTPUT}
- mkdir -p ${SDK_OUTPUT}${localstatedir}/lib/opkg/
- mkdir -p ${SDK_OUTPUT}/${SDKTARGETSYSROOT}${localstatedir}/lib/opkg/
-
- rm -f ${IPKGCONF_TARGET}
- touch ${IPKGCONF_TARGET}
- rm -f ${IPKGCONF_SDK}
- touch ${IPKGCONF_SDK}
-
- package_update_index_ipk
- package_generate_ipkg_conf
-
- for arch in ${PACKAGE_ARCHS}; do
- revipkgarchs="$arch $revipkgarchs"
- done
-
- ${IPKG_HOST} update
- ${IPKG_HOST} install ${TOOLCHAIN_HOST_TASK}
-
- ${IPKG_TARGET} update
- ${IPKG_TARGET} install ${TOOLCHAIN_TARGET_TASK}
-
- install -d ${SDK_OUTPUT}/${SDKPATHNATIVE}${localstatedir_nativesdk}/lib/opkg
- mv ${SDK_OUTPUT}/var/lib/opkg/* ${SDK_OUTPUT}/${SDKPATHNATIVE}${localstatedir_nativesdk}/lib/opkg/
- rm -Rf ${SDK_OUTPUT}/var
-
- # Don't ship any libGL in the SDK
- 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}/var/lib/opkg/status | grep Package: | cut -f 2 -d ' '`
-
- # Fix or remove broken .la files
- 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}/${SDKPATHNATIVE}/lib/*.la
- rm -f ${SDK_OUTPUT}/${SDKPATHNATIVE}${libdir_nativesdk}/*.la
-
- # Link the ld.so.cache file into the hosts filesystem
- ln -s /etc/ld.so.cache ${SDK_OUTPUT}/${SDKPATHNATIVE}/etc/ld.so.cache
-
- # Setup site file for external use
- siteconfig=${SDK_OUTPUT}/${SDKPATH}/site-config-${MULTIMACH_TARGET_SYS}
- touch $siteconfig
- for sitefile in ${CONFIG_SITE} ; do
- cat $sitefile >> $siteconfig
- done
-
- toolchain_create_sdk_env_script
-
- # Add version information
- versionfile=${SDK_OUTPUT}/${SDKPATH}/version-${MULTIMACH_TARGET_SYS}
- touch $versionfile
- echo 'Distro: ${DISTRO}' >> $versionfile
- echo 'Distro Version: ${DISTRO_VERSION}' >> $versionfile
- echo 'Metadata Revision: ${METADATA_REVISION}' >> $versionfile
- echo 'Timestamp: ${DATETIME}' >> $versionfile
-
- # Package it up
- mkdir -p ${SDK_DEPLOY}
- cd ${SDK_OUTPUT}
- ${FAKEROOT} tar cfj ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 .
-}
-
-do_populate_sdk[nostamp] = "1"
-do_populate_sdk[recrdeptask] = "do_package_write"
-addtask populate_sdk before do_build after do_install
+inherit populate_sdk
diff --git a/meta/recipes-core/ncurses/ncurses-5.7/config.cache b/meta/recipes-core/ncurses/ncurses-5.7/config.cache
new file mode 100644
index 000000000..6a9217d5b
--- /dev/null
+++ b/meta/recipes-core/ncurses/ncurses-5.7/config.cache
@@ -0,0 +1,4 @@
+#! /bin/sh
+
+cf_cv_func_nanosleep=yes
+cf_cv_func_mkstemp=yes
diff --git a/meta/recipes-core/ncurses/ncurses-5.7/tic-hang.patch b/meta/recipes-core/ncurses/ncurses-5.7/tic-hang.patch
new file mode 100644
index 000000000..1678b885c
--- /dev/null
+++ b/meta/recipes-core/ncurses/ncurses-5.7/tic-hang.patch
@@ -0,0 +1,25 @@
+'tic' of some linux distributions (e.g. fedora 11) hang in an infinite
+loop when processing the original file.
+
+Index: ncurses-5.7/misc/terminfo.src
+===================================================================
+--- ncurses-5.7.orig/misc/terminfo.src
++++ ncurses-5.7/misc/terminfo.src
+@@ -3706,12 +3706,11 @@ konsole-xf3x|KDE console window with key
+ # The value for kbs reflects local customization rather than the settings used
+ # for XFree86 xterm.
+ konsole-xf4x|KDE console window with keyboard for XFree86 4.x xterm,
+- kend=\EOF, khome=\EOH, use=konsole+pcfkeys,
+- use=konsole-vt100,
+-# Konsole does not implement shifted cursor-keys.
+-konsole+pcfkeys|konsole subset of xterm+pcfkeys,
+- kLFT@, kRIT@, kcbt=\E[Z, kind@, kri@, kDN@, kUP@, use=xterm+pcc2,
+- use=xterm+pcf0,
++ kend=\EOF, kf1=\EOP, kf13=\EO2P, kf14=\EO2Q, kf15=\EO2R,
++ kf16=\EO2S, kf17=\E[15;2~, kf18=\E[17;2~, kf19=\E[18;2~,
++ kf2=\EOQ, kf20=\E[19;2~, kf21=\E[20;2~, kf22=\E[21;2~,
++ kf23=\E[23;2~, kf24=\E[24;2~, kf3=\EOR, kf4=\EOS,
++ khome=\EOH, use=konsole-vt100,
+ # KDE's "vt100" keyboard has no relationship to any terminal that DEC made, but
+ # it is still useful for deriving the other entries.
+ konsole-vt100|KDE console window with vt100 (sic) keyboard,
diff --git a/meta/recipes-core/ncurses/ncurses/makefile_tweak.patch b/meta/recipes-core/ncurses/ncurses/makefile_tweak.patch
deleted file mode 100644
index 480855bcc..000000000
--- a/meta/recipes-core/ncurses/ncurses/makefile_tweak.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-Libtool 2.2.2 needs to be able to use top_builddir. Automake usually exports
-this but ncurses doesn't use automake.
-
-RP 14/4/08
-
-Index: ncurses-5.4/ncurses/Makefile.in
-===================================================================
---- ncurses-5.4.orig/ncurses/Makefile.in 2008-04-14 12:22:34.000000000 +0100
-+++ ncurses-5.4/ncurses/Makefile.in 2008-04-14 12:22:53.000000000 +0100
-@@ -57,6 +57,7 @@
- MODEL = @DFT_LWR_MODEL@
- DESTDIR = @DESTDIR@
- top_srcdir = @top_srcdir@
-+top_builddir = @top_srcdir@
- srcdir = @srcdir@
- prefix = @prefix@
- exec_prefix = @exec_prefix@
-Index: ncurses-5.4/form/Makefile.in
-===================================================================
---- ncurses-5.4.orig/form/Makefile.in 2008-04-14 12:30:35.000000000 +0100
-+++ ncurses-5.4/form/Makefile.in 2008-04-14 12:30:59.000000000 +0100
-@@ -51,6 +51,7 @@
- MODEL = @DFT_LWR_MODEL@
- DESTDIR = @DESTDIR@
- srcdir = @srcdir@
-+top_builddir = @top_srcdir@
- prefix = @prefix@
- exec_prefix = @exec_prefix@
- bindir = @bindir@
-Index: ncurses-5.4/menu/Makefile.in
-===================================================================
---- ncurses-5.4.orig/menu/Makefile.in 2008-04-14 12:29:00.000000000 +0100
-+++ ncurses-5.4/menu/Makefile.in 2008-04-14 12:29:13.000000000 +0100
-@@ -51,6 +51,7 @@
- MODEL = @DFT_LWR_MODEL@
- DESTDIR = @DESTDIR@
- srcdir = @srcdir@
-+top_builddir = @top_srcdir@
- prefix = @prefix@
- exec_prefix = @exec_prefix@
- bindir = @bindir@
-Index: ncurses-5.4/panel/Makefile.in
-===================================================================
---- ncurses-5.4.orig/panel/Makefile.in 2008-04-14 12:27:40.000000000 +0100
-+++ ncurses-5.4/panel/Makefile.in 2008-04-14 12:27:59.000000000 +0100
-@@ -51,6 +51,7 @@
- MODEL = @DFT_LWR_MODEL@
- DESTDIR = @DESTDIR@
- srcdir = @srcdir@
-+top_builddir = @top_srcdir@
- prefix = @prefix@
- exec_prefix = @exec_prefix@
- bindir = @bindir@
-Index: ncurses-5.4/progs/Makefile.in
-===================================================================
---- ncurses-5.4.orig/progs/Makefile.in 2008-04-14 12:24:37.000000000 +0100
-+++ ncurses-5.4/progs/Makefile.in 2008-04-14 12:25:06.000000000 +0100
-@@ -54,6 +54,7 @@
- MODEL = ../@DFT_OBJ_SUBDIR@
- DESTDIR = @DESTDIR@
- srcdir = @srcdir@
-+top_builddir = @top_srcdir@
- prefix = @prefix@
- exec_prefix = @exec_prefix@
- bindir = @bindir@
-Index: ncurses-5.4/tack/Makefile.in
-===================================================================
---- ncurses-5.4.orig/tack/Makefile.in 2008-04-14 12:26:05.000000000 +0100
-+++ ncurses-5.4/tack/Makefile.in 2008-04-14 12:26:26.000000000 +0100
-@@ -22,6 +22,7 @@
- MODEL = ../@DFT_OBJ_SUBDIR@
- DESTDIR = @DESTDIR@
- srcdir = @srcdir@
-+top_builddir = @top_srcdir@
- prefix = @prefix@
- exec_prefix = @exec_prefix@
- bindir = @bindir@
-Index: ncurses-5.4/test/Makefile.in
-===================================================================
---- ncurses-5.4.orig/test/Makefile.in 2008-04-14 12:32:37.000000000 +0100
-+++ ncurses-5.4/test/Makefile.in 2008-04-14 12:32:56.000000000 +0100
-@@ -43,6 +43,7 @@
-
- MODEL = ../@DFT_OBJ_SUBDIR@
- srcdir = @srcdir@
-+top_builddir = @top_srcdir@
- prefix = @prefix@
- exec_prefix = @exec_prefix@
- libdir = @libdir@
diff --git a/meta/recipes-core/ncurses/ncurses/visibility.patch b/meta/recipes-core/ncurses/ncurses/visibility.patch
deleted file mode 100644
index 29cac5f1b..000000000
--- a/meta/recipes-core/ncurses/ncurses/visibility.patch
+++ /dev/null
@@ -1,4904 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- ncurses-5.4/ncurses/Makefile.in~visibility.patch
-+++ ncurses-5.4/ncurses/Makefile.in
-@@ -107,7 +107,7 @@
- CFLAGS_NORMAL = $(CCFLAGS)
- CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
- CFLAGS_PROFILE = $(CCFLAGS) -pg
--CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
-+CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ @LIBOPTS@
-
- CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
-
---- ncurses-5.4/panel/Makefile.in~visibility.patch
-+++ ncurses-5.4/panel/Makefile.in
-@@ -88,7 +88,7 @@
- CFLAGS_NORMAL = $(CCFLAGS)
- CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
- CFLAGS_PROFILE = $(CCFLAGS) -pg
--CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
-+CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ @LIBOPTS@
-
- CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
-
---- ncurses-5.4/menu/Makefile.in~visibility.patch
-+++ ncurses-5.4/menu/Makefile.in
-@@ -87,7 +87,7 @@
- CFLAGS_NORMAL = $(CCFLAGS)
- CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
- CFLAGS_PROFILE = $(CCFLAGS) -pg
--CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
-+CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ @LIBOPTS@
-
- CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
-
---- ncurses-5.4/c++/Makefile.in~visibility.patch
-+++ ncurses-5.4/c++/Makefile.in
-@@ -80,7 +80,7 @@
- CFLAGS_NORMAL = $(CCFLAGS)
- CFLAGS_DEBUG = $(CCFLAGS) @CXX_G_OPT@ -DTRACE
- CFLAGS_PROFILE = $(CCFLAGS) -pg
--CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
-+CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ @LIBOPTS@
-
- CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
-
---- ncurses-5.4/form/Makefile.in~visibility.patch
-+++ ncurses-5.4/form/Makefile.in
-@@ -88,7 +88,7 @@
- CFLAGS_NORMAL = $(CCFLAGS)
- CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
- CFLAGS_PROFILE = $(CCFLAGS) -pg
--CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
-+CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ @LIBOPTS@
-
- CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
-
---- ncurses-5.4/configure.in~visibility.patch
-+++ ncurses-5.4/configure.in
-@@ -34,17 +34,20 @@
- dnl See http://invisible-island.net/autoconf/ for additional information.
- dnl
- dnl ---------------------------------------------------------------------------
--AC_PREREQ(2.13.20020210)
-+AC_PREREQ(2.59)
- AC_REVISION($Revision: 1.312 $)
--AC_INIT(ncurses/base/lib_initscr.c)
-+AC_INIT
-+AC_CONFIG_SRCDIR([ncurses/base/lib_initscr.c])
- AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
-
-+m4_include([m4/templates.m4])
-+
- CF_SUBST_NCURSES_VERSION
-
- CF_WITH_REL_VERSION(NCURSES)
- CF_WITH_ABI_VERSION
-
--CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
-+CF_CHECK_CACHE([AC_CANONICAL_TARGET([])])
- AC_ARG_WITH(system-type,
- [ --with-system-type=XXX test: override derived host system-type],
- [AC_MSG_WARN(overriding system type to $withval)
-@@ -100,7 +103,7 @@
- CF_GXX_VERSION
- case $GXX_VERSION in
- 1*|2.[[0-6]]*)
-- GXX=""; CXX=""; ac_cv_prog_gxx=no
-+ GXX=""; CXX=""; ac_cv_cxx_compiler_gnu=no
- cf_cxx_library=no
- AC_MSG_WARN(templates do not work)
- ;;
-@@ -176,7 +179,6 @@
- AC_SUBST(DESTDIR)
-
- ###############################################################################
--CF_HELP_MESSAGE(Build-Tools Needed to Compile Temporary Applications for Cross-compiling:)
- # If we're cross-compiling, allow the user to override the tools and their
- # options. The configure script is oriented toward identifying the host
- # compiler, etc., but we need a build compiler to generate parts of the source.
-@@ -213,7 +215,6 @@
- AC_SUBST(BUILD_EXEEXT)
-
- ###############################################################################
--CF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:)
-
- ### Options to allow the user to specify the set of libraries which are used.
- ### Use "--without-normal --with-shared" to allow the default model to be
-@@ -343,11 +344,11 @@
-
- AC_MSG_CHECKING(for default loader flags)
- case $DFT_LWR_MODEL in
--libtool) LD_MODEL='' ;;
-+libtool) LD_MODEL=''; LIBOPTS="-DNCURSES_DLL" ;;
- normal) LD_MODEL='' ;;
- debug) LD_MODEL=$CC_G_OPT ;;
- profile) LD_MODEL='-pg';;
--shared) LD_MODEL='' ;;
-+shared) LD_MODEL=''; LIBOPTS="-DNCURSES_DLL" ;;
- esac
- AC_SUBST(LD_MODEL)dnl the type of link (e.g., -g or -pg)
- AC_MSG_RESULT($LD_MODEL)
-@@ -363,14 +364,14 @@
- if test "$CC_SHARED_OPTS" = "unknown"; then
- for model in $cf_list_models; do
- if test "$model" = "shared"; then
-- AC_ERROR(Shared libraries are not supported in this version)
-+ AC_MSG_ERROR([Shared libraries are not supported in this version])
- fi
- done
- fi
-
--###############################################################################
--CF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
-+AC_SUBST(LIBOPTS)
-
-+###############################################################################
- ### use option --disable-overwrite to leave out the link to -lcurses
- AC_MSG_CHECKING(if you wish to install ncurses overwriting curses)
- AC_ARG_ENABLE(overwrite,
-@@ -450,7 +451,7 @@
- AC_ARG_ENABLE(big-core,
- [ --disable-big-core assume machine has little memory],
- [with_big_core=$enableval],
-- [AC_TRY_RUN([
-+ [AC_RUN_IFELSE([AC_LANG_SOURCE([[
- #include <stdlib.h>
- #include <string.h>
- int main() {
-@@ -459,10 +460,7 @@
- if (s != 0)
- s[0] = s[n-1] = 0;
- exit(s == 0);
--}],
-- [with_big_core=yes],
-- [with_big_core=no],
-- [with_big_core=no])])
-+}]])],[with_big_core=yes],[with_big_core=no],[with_big_core=no])])
- AC_MSG_RESULT($with_big_core)
- test "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE)
-
-@@ -477,7 +475,7 @@
- if test "$with_termcap" != "yes" ; then
- if test "$use_database" = no ; then
- if test -z "$with_fallback" ; then
-- AC_ERROR(You have disabled the database w/o specifying fallbacks)
-+ AC_MSG_ERROR([You have disabled the database w/o specifying fallbacks])
- fi
- fi
- AC_DEFINE(PURE_TERMINFO)
-@@ -614,10 +612,10 @@
- test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
-
- ###############################################################################
-+
- CF_MAN_PAGES([ captoinfo clear infocmp infotocap tic toe tput ])
-
- ###############################################################################
--CF_HELP_MESSAGE(Extensions:)
-
- ### Note that some functions (such as const) are normally disabled anyway.
- AC_MSG_CHECKING(if you want to build with function extensions)
-@@ -683,7 +681,6 @@
-
- ###############################################################################
- # These options are relatively safe to experiment with.
--CF_HELP_MESSAGE(Development Code:)
- AC_MSG_CHECKING(if you want all development code)
- AC_ARG_WITH(develop,
- [ --with-develop enable all development options],
-@@ -719,7 +716,6 @@
-
- ###############################################################################
- # These are just experimental, probably should not be in a package:
--CF_HELP_MESSAGE(Experimental Code:)
-
- AC_MSG_CHECKING(if you do not want to assume colors are white-on-black)
- AC_ARG_ENABLE(assumed-color,
-@@ -828,7 +824,6 @@
- AC_SUBST(TERMINFO_CAPS)
-
- ###############################################################################
--CF_HELP_MESSAGE(Testing/development Options:)
-
- ### use option --disable-echo to suppress full display compiling commands
- AC_MSG_CHECKING(if you want to display full commands during build)
-@@ -931,7 +926,7 @@
- AC_SUBST(MATH_LIB)
-
- ### Checks for header files.
--AC_STDC_HEADERS
-+AC_HEADER_STDC([])
- AC_HEADER_DIRENT
- AC_HEADER_TIME
- CF_REGEX
-@@ -965,7 +960,7 @@
- CF_SYS_TIME_SELECT
-
- ### checks for compiler characteristics
--AC_LANG_C
-+AC_LANG([C])
- AC_C_CONST
- AC_C_INLINE
- test "$ac_cv_c_inline" != no && AC_DEFINE(CC_HAS_INLINE_FUNCS)
-@@ -1040,7 +1035,7 @@
-
- # Check for C++ compiler characteristics (and ensure that it's there!)
- if test -n "$CXX" ; then
-- AC_LANG_CPLUSPLUS
-+ AC_LANG([C++])
- CF_STDCPP_LIBRARY
-
- case $GXX_VERSION in
-@@ -1135,7 +1130,6 @@
- fi
- AC_SUBST(USE_CXX_BOOL)
-
--CF_HELP_MESSAGE(Ada95 Binding Options:)
-
- dnl Check for availability of GNU Ada Translator (GNAT).
- dnl At the moment we support no other Ada95 compiler.
-@@ -1309,15 +1303,16 @@
-
- ################################################################################
- test "$use_database" = yes && SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
--AC_OUTPUT( \
-+AC_CONFIG_FILES([\
- include/MKterm.h.awk \
- include/curses.head:include/curses.h.in \
- include/termcap.h \
- include/unctrl.h \
- $SUB_MAKEFILES \
-- Makefile,[
-+ Makefile])
-+AC_CONFIG_COMMANDS([default],[
- CF_LIB_RULES
--],[
-+],[[
- ### Special initialization commands, used to pass information from the
- ### configuration-run into config.status
-
-@@ -1348,5 +1343,6 @@
- host="$host"
- target="$target"
-
--],cat)dnl
-+]])
-+AC_OUTPUT
- ${MAKE-make} preinstall
---- ncurses-5.4/include/ncurses_dll.h~visibility.patch
-+++ ncurses-5.4/include/ncurses_dll.h
-@@ -7,8 +7,8 @@
- /* but this structure may be useful at some point for an MSVC build */
- /* so, for now unconditionally define the important flags */
- /* "the right way" for proper static and dll+auto-import behavior */
--#undef NCURSES_DLL
--#define NCURSES_STATIC
-+//#undef NCURSES_DLL
-+//#define NCURSES_STATIC
-
- #if defined(__CYGWIN__)
- # if defined(NCURSES_DLL)
-@@ -32,12 +32,20 @@
- # endif
- # define NCURSES_API __cdecl
- # define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API
--# define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
-+# define NCURSES_EXPORT_VAR(var) var NCURSES_IMPEXP
- #endif
-
- /* Take care of non-cygwin platforms */
- #if !defined(NCURSES_IMPEXP)
--# define NCURSES_IMPEXP /* nothing */
-+# if defined(GCC_HASCLASSVISIBILITY)
-+# if defined(NCURSES_DLL)
-+# define NCURSES_IMPEXP __attribute__ ((visibility("default")))
-+# else
-+# define NCURSES_IMPEXP /* nothing */
-+# endif
-+# else
-+# define NCURSES_IMPEXP /* nothing */
-+# endif
- #endif
- #if !defined(NCURSES_API)
- # define NCURSES_API /* nothing */
-@@ -46,7 +54,7 @@
- # define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API
- #endif
- #if !defined(NCURSES_EXPORT_VAR)
--# define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
-+# define NCURSES_EXPORT_VAR(var) var NCURSES_IMPEXP
- #endif
-
- #endif /* NCURSES_DLL_H_incl */
---- ncurses-5.4/form/fty_alnum.c~visibility.patch
-+++ ncurses-5.4/form/fty_alnum.c
-@@ -132,6 +132,6 @@
- NULL
- };
-
--NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_ALNUM = &typeALNUM;
-+FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_ALNUM) = &typeALNUM;
-
- /* fty_alnum.c ends here */
---- ncurses-5.4/form/fty_alpha.c~visibility.patch
-+++ ncurses-5.4/form/fty_alpha.c
-@@ -133,6 +133,6 @@
- NULL
- };
-
--NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_ALPHA = &typeALPHA;
-+FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_ALPHA) = &typeALPHA;
-
- /* fty_alpha.c ends here */
---- ncurses-5.4/form/fld_newftyp.c~visibility.patch
-+++ ncurses-5.4/form/fld_newftyp.c
-@@ -48,7 +48,7 @@
- NULL /* enumerate previous function */
- };
-
--NCURSES_EXPORT_VAR(const FIELDTYPE*) _nc_Default_FieldType = &default_fieldtype;
-+const FIELDTYPE* NCURSES_EXPORT_VAR(_nc_Default_FieldType) = &default_fieldtype;
-
- /*---------------------------------------------------------------------------
- | Facility : libnform
---- ncurses-5.4/form/form.h~visibility.patch
-+++ ncurses-5.4/form/form.h
-@@ -248,24 +248,24 @@
- /*************************
- * standard field types *
- *************************/
--extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_ALPHA;
--extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_ALNUM;
--extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_ENUM;
--extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_INTEGER;
--extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_NUMERIC;
--extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_REGEXP;
-+extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_ALPHA);
-+extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_ALNUM);
-+extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_ENUM);
-+extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_INTEGER);
-+extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_NUMERIC);
-+extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_REGEXP);
-
- /************************************
- * built-in additional field types *
- * They are not defined in SVr4 *
- ************************************/
--extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_IPV4; /* Internet IP Version 4 address */
-+extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_IPV4); /* Internet IP Version 4 address */
-
- /***********************
- * Default objects *
- ***********************/
--extern NCURSES_EXPORT_VAR(FORM *) _nc_Default_Form;
--extern NCURSES_EXPORT_VAR(FIELD *) _nc_Default_Field;
-+extern FORM * NCURSES_EXPORT_VAR(_nc_Default_Form);
-+extern FIELD * NCURSES_EXPORT_VAR(_nc_Default_Field);
-
-
- /***********************
---- ncurses-5.4/form/fty_int.c~visibility.patch
-+++ ncurses-5.4/form/fty_int.c
-@@ -155,6 +155,6 @@
- NULL
- };
-
--NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_INTEGER = &typeINTEGER;
-+FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_INTEGER) = &typeINTEGER;
-
- /* fty_int.c ends here */
---- ncurses-5.4/form/fty_num.c~visibility.patch
-+++ ncurses-5.4/form/fty_num.c
-@@ -190,6 +190,6 @@
- NULL
- };
-
--NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_NUMERIC = &typeNUMERIC;
-+FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_NUMERIC) = &typeNUMERIC;
-
- /* fty_num.c ends here */
---- ncurses-5.4/form/fty_regex.c~visibility.patch
-+++ ncurses-5.4/form/fty_regex.c
-@@ -252,6 +252,6 @@
- NULL
- };
-
--NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_REGEXP = &typeREGEXP;
-+FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_REGEXP) = &typeREGEXP;
-
- /* fty_regex.c ends here */
---- ncurses-5.4/form/frm_def.c~visibility.patch
-+++ ncurses-5.4/form/frm_def.c
-@@ -60,7 +60,7 @@
- NULL /* fieldterm */
- };
-
--NCURSES_EXPORT_VAR(FORM *) _nc_Default_Form = &default_form;
-+FORM * NCURSES_EXPORT_VAR(_nc_Default_Form) = &default_form;
-
- /*---------------------------------------------------------------------------
- | Facility : libnform
---- ncurses-5.4/form/fld_def.c~visibility.patch
-+++ ncurses-5.4/form/fld_def.c
-@@ -63,7 +63,7 @@
- (char *)0 /* usrptr */
- };
-
--NCURSES_EXPORT_VAR(FIELD *) _nc_Default_Field = &default_field;
-+FIELD * NCURSES_EXPORT_VAR(_nc_Default_Field) = &default_field;
-
- /*---------------------------------------------------------------------------
- | Facility : libnform
---- ncurses-5.4/form/fty_enum.c~visibility.patch
-+++ ncurses-5.4/form/fty_enum.c
-@@ -290,6 +290,6 @@
- Previous_Enum
- };
-
--NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_ENUM = &typeENUM;
-+FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_ENUM) = &typeENUM;
-
- /* fty_enum.c ends here */
---- ncurses-5.4/form/fty_ipv4.c~visibility.patch
-+++ ncurses-5.4/form/fty_ipv4.c
-@@ -76,6 +76,6 @@
- NULL
- };
-
--NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_IPV4 = &typeIPV4;
-+FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_IPV4) = &typeIPV4;
-
- /* fty_ipv4.c ends here */
---- ncurses-5.4/form/form.priv.h~visibility.patch
-+++ ncurses-5.4/form/form.priv.h
-@@ -112,7 +112,7 @@
- #define C_BLANK ' '
- #define is_blank(c) ((c)==C_BLANK)
-
--extern NCURSES_EXPORT_VAR(const FIELDTYPE *) _nc_Default_FieldType;
-+extern const FIELDTYPE * NCURSES_EXPORT_VAR(_nc_Default_FieldType);
-
- extern NCURSES_EXPORT(TypeArgument *) _nc_Make_Argument (const FIELDTYPE*,va_list*,int*);
- extern NCURSES_EXPORT(TypeArgument *) _nc_Copy_Argument (const FIELDTYPE*,const TypeArgument*, int*);
---- ncurses-5.4/include/tic.h~visibility.patch
-+++ ncurses-5.4/include/tic.h
-@@ -117,7 +117,7 @@
- #define DEBUG(n, a) /*nothing*/
- #endif
-
--extern NCURSES_EXPORT_VAR(unsigned) _nc_tracing;
-+extern unsigned NCURSES_EXPORT_VAR(_nc_tracing);
- extern NCURSES_EXPORT(void) _nc_tracef (char *, ...) GCC_PRINTFLIKE(1,2);
- extern NCURSES_EXPORT(const char *) _nc_visbuf (const char *);
- extern NCURSES_EXPORT(const char *) _nc_visbuf2 (int, const char *);
-@@ -151,7 +151,7 @@
- char *tk_valstring; /* value of capability (if a string) */
- };
-
--extern NCURSES_EXPORT_VAR(struct token) _nc_curr_token;
-+extern struct token NCURSES_EXPORT_VAR(_nc_curr_token);
-
- /*
- * List of keynames with their corresponding code.
-@@ -161,7 +161,7 @@
- int code;
- };
-
--extern NCURSES_EXPORT_VAR(const struct kn) _nc_key_names[];
-+extern const struct kn NCURSES_EXPORT_VAR(_nc_key_names[]);
-
- /*
- * Offsets to string capabilities, with the corresponding functionkey
-@@ -179,7 +179,7 @@
-
- #else
-
--extern NCURSES_EXPORT_VAR(struct tinfo_fkeys) _nc_tinfo_fkeys[];
-+extern struct tinfo_fkeys NCURSES_EXPORT_VAR(_nc_tinfo_fkeys[]);
-
- #endif
-
-@@ -204,11 +204,11 @@
- const char *source;
- };
-
--extern NCURSES_EXPORT_VAR(const struct name_table_entry * const) _nc_info_hash_table[];
--extern NCURSES_EXPORT_VAR(const struct name_table_entry * const) _nc_cap_hash_table[];
-+extern const struct name_table_entry * const NCURSES_EXPORT_VAR(_nc_info_hash_table[]);
-+extern const struct name_table_entry * const NCURSES_EXPORT_VAR(_nc_cap_hash_table[]);
-
--extern NCURSES_EXPORT_VAR(const struct alias) _nc_capalias_table[];
--extern NCURSES_EXPORT_VAR(const struct alias) _nc_infoalias_table[];
-+extern const struct alias NCURSES_EXPORT_VAR(_nc_capalias_table[]);
-+extern const struct alias NCURSES_EXPORT_VAR(_nc_infoalias_table[]);
-
- extern NCURSES_EXPORT(const struct name_table_entry *) _nc_get_table (bool);
- extern NCURSES_EXPORT(const struct name_table_entry * const *) _nc_get_hash_table (bool);
-@@ -255,13 +255,13 @@
- extern NCURSES_EXPORT(void) _nc_panic_mode (char);
- extern NCURSES_EXPORT(void) _nc_push_token (int);
- extern NCURSES_EXPORT(void) _nc_reset_input (FILE *, char *);
--extern NCURSES_EXPORT_VAR(int) _nc_curr_col;
--extern NCURSES_EXPORT_VAR(int) _nc_curr_line;
--extern NCURSES_EXPORT_VAR(int) _nc_syntax;
--extern NCURSES_EXPORT_VAR(long) _nc_comment_end;
--extern NCURSES_EXPORT_VAR(long) _nc_comment_start;
--extern NCURSES_EXPORT_VAR(long) _nc_curr_file_pos;
--extern NCURSES_EXPORT_VAR(long) _nc_start_line;
-+extern int NCURSES_EXPORT_VAR(_nc_curr_col);
-+extern int NCURSES_EXPORT_VAR(_nc_curr_line);
-+extern int NCURSES_EXPORT_VAR(_nc_syntax);
-+extern long NCURSES_EXPORT_VAR(_nc_comment_end);
-+extern long NCURSES_EXPORT_VAR(_nc_comment_start);
-+extern long NCURSES_EXPORT_VAR(_nc_curr_file_pos);
-+extern long NCURSES_EXPORT_VAR(_nc_start_line);
- #define SYN_TERMINFO 0
- #define SYN_TERMCAP 1
-
-@@ -272,7 +272,7 @@
- extern NCURSES_EXPORT(void) _nc_syserr_abort (const char *const,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
- extern NCURSES_EXPORT(void) _nc_err_abort (const char *const,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
- extern NCURSES_EXPORT(void) _nc_warning (const char *const,...) GCC_PRINTFLIKE(1,2);
--extern NCURSES_EXPORT_VAR(bool) _nc_suppress_warnings;
-+extern bool NCURSES_EXPORT_VAR(_nc_suppress_warnings);
-
- /* comp_expand.c: expand string into readable form */
- extern NCURSES_EXPORT(char *) _nc_tic_expand (const char *, bool, int);
-@@ -287,12 +287,12 @@
- /* lib_tparm.c */
- #define NUM_PARM 9
-
--extern NCURSES_EXPORT_VAR(int) _nc_tparm_err;
-+extern int NCURSES_EXPORT_VAR(_nc_tparm_err);
-
- extern NCURSES_EXPORT(int) _nc_tparm_analyze(const char *string, char *p_is_s[NUM_PARM], int *popcount);
-
- /* lib_tputs.c */
--extern NCURSES_EXPORT_VAR(int) _nc_nulls_sent; /* Add one for every null sent */
-+extern int NCURSES_EXPORT_VAR(_nc_nulls_sent); /* Add one for every null sent */
-
- /* comp_main.c: compiler main */
- extern const char * _nc_progname;
---- ncurses-5.4/include/MKterm.h.awk.in~visibility.patch
-+++ ncurses-5.4/include/MKterm.h.awk.in
-@@ -228,9 +228,9 @@
- print " char * _termname; /* used for termname() */"
- print "} TERMINAL;"
- print ""
-- print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
-+ print "extern TERMINAL * NCURSES_EXPORT_VAR(cur_term);"
- print ""
-- print "#if BROKEN_LINKER"
-+ print "#if defined(BROKEN_LINKER)"
- print "#define boolnames _nc_boolnames()"
- print "#define boolcodes _nc_boolcodes()"
- print "#define boolfnames _nc_boolfnames()"
-@@ -253,15 +253,15 @@
- print ""
- print "#else"
- print ""
-- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];"
-- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[];"
-- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];"
-- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numnames[];"
-- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[];"
-- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numfnames[];"
-- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[];"
-- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strcodes[];"
-- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[];"
-+ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(boolnames[]);"
-+ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(boolcodes[]);"
-+ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(boolfnames[]);"
-+ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(numnames[]);"
-+ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(numcodes[]);"
-+ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(numfnames[]);"
-+ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(strnames[]);"
-+ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(strcodes[]);"
-+ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(strfnames[]);"
- print ""
- print "#endif"
- print ""
-@@ -287,7 +287,7 @@
- print "#if !defined(__NCURSES_H)"
- print "extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *);"
- print "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...);"
-- print "extern NCURSES_EXPORT_VAR(char) ttytype[];"
-+ print "extern char NCURSES_EXPORT_VAR(ttytype[]);"
- print "extern NCURSES_EXPORT(int) putp (const char *);"
- print "extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *);"
- print "extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *);"
---- ncurses-5.4/include/termcap.h.in~visibility.patch
-+++ ncurses-5.4/include/termcap.h.in
-@@ -54,10 +54,10 @@
- #undef NCURSES_OSPEED
- #define NCURSES_OSPEED @NCURSES_OSPEED@
-
--extern NCURSES_EXPORT_VAR(char) PC;
--extern NCURSES_EXPORT_VAR(char *) UP;
--extern NCURSES_EXPORT_VAR(char *) BC;
--extern NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed;
-+extern char NCURSES_EXPORT_VAR(PC);
-+extern char * NCURSES_EXPORT_VAR(UP);
-+extern char * NCURSES_EXPORT_VAR(BC);
-+extern NCURSES_OSPEED NCURSES_EXPORT_VAR(ospeed);
-
- #if !defined(NCURSES_TERM_H_incl)
- extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **);
---- ncurses-5.4/include/term_entry.h~visibility.patch
-+++ ncurses-5.4/include/term_entry.h
-@@ -90,8 +90,8 @@
- #define ExtNumname(tp,i,names) EXT_NAMES(tp, i, NUMCOUNT, (i - (tp->num_Numbers - tp->ext_Numbers)) + tp->ext_Booleans, names)
- #define ExtStrname(tp,i,names) EXT_NAMES(tp, i, STRCOUNT, (i - (tp->num_Strings - tp->ext_Strings)) + (tp->ext_Numbers + tp->ext_Booleans), names)
-
--extern NCURSES_EXPORT_VAR(ENTRY *) _nc_head;
--extern NCURSES_EXPORT_VAR(ENTRY *) _nc_tail;
-+extern ENTRY * NCURSES_EXPORT_VAR(_nc_head);
-+extern ENTRY * NCURSES_EXPORT_VAR(_nc_tail);
- #define for_entry_list(qp) for (qp = _nc_head; qp; qp = qp->next)
-
- #define MAX_LINE 132
-@@ -135,8 +135,8 @@
-
- /* parse_entry.c: entry-parsing code */
- #if NCURSES_XNAMES
--extern NCURSES_EXPORT_VAR(bool) _nc_user_definable;
--extern NCURSES_EXPORT_VAR(bool) _nc_disable_period;
-+extern bool NCURSES_EXPORT_VAR(_nc_user_definable);
-+extern bool NCURSES_EXPORT_VAR(_nc_disable_period);
- #endif
- extern NCURSES_EXPORT(int) _nc_parse_entry (ENTRY *, int, bool);
- extern NCURSES_EXPORT(int) _nc_capcmp (const char *, const char *);
---- ncurses-5.4/include/curses.h.in~visibility.patch
-+++ ncurses-5.4/include/curses.h.in
-@@ -171,8 +171,8 @@
- #define WA_VERTICAL A_VERTICAL
-
- /* colors */
--extern NCURSES_EXPORT_VAR(int) COLORS;
--extern NCURSES_EXPORT_VAR(int) COLOR_PAIRS;
-+extern int NCURSES_EXPORT_VAR(COLORS);
-+extern int NCURSES_EXPORT_VAR(COLOR_PAIRS);
-
- #define COLOR_BLACK 0
- #define COLOR_RED 1
-@@ -186,10 +186,10 @@
- /* line graphics */
-
- #if @BROKEN_LINKER@
--extern NCURSES_EXPORT_VAR(chtype*) _nc_acs_map(void);
-+extern chtype* NCURSES_EXPORT_VAR(_nc_acs_map)(void);
- #define acs_map (_nc_acs_map())
- #else
--extern NCURSES_EXPORT_VAR(chtype) acs_map[];
-+extern chtype NCURSES_EXPORT_VAR(acs_map[]);
- #endif
-
- #define NCURSES_ACS(c) (acs_map[(unsigned char)c])
-@@ -369,20 +369,20 @@
- #endif
- };
-
--extern NCURSES_EXPORT_VAR(WINDOW *) stdscr;
--extern NCURSES_EXPORT_VAR(WINDOW *) curscr;
--extern NCURSES_EXPORT_VAR(WINDOW *) newscr;
-+extern WINDOW * NCURSES_EXPORT_VAR(stdscr);
-+extern WINDOW * NCURSES_EXPORT_VAR(curscr);
-+extern WINDOW * NCURSES_EXPORT_VAR(newscr);
-
--extern NCURSES_EXPORT_VAR(int) LINES;
--extern NCURSES_EXPORT_VAR(int) COLS;
--extern NCURSES_EXPORT_VAR(int) TABSIZE;
-+extern int NCURSES_EXPORT_VAR(LINES);
-+extern int NCURSES_EXPORT_VAR(COLS);
-+extern int NCURSES_EXPORT_VAR(TABSIZE);
-
- /*
- * This global was an undocumented feature under AIX curses.
- */
--extern NCURSES_EXPORT_VAR(int) ESCDELAY; /* ESC expire time in milliseconds */
-+extern int NCURSES_EXPORT_VAR(ESCDELAY); /* ESC expire time in milliseconds */
-
--extern NCURSES_EXPORT_VAR(char) ttytype[]; /* needed for backward compatibility */
-+extern char NCURSES_EXPORT_VAR(ttytype[]); /* needed for backward compatibility */
-
- /*
- * These functions are extensions - not in XSI Curses.
---- ncurses-5.4/include/curses.tail~visibility.patch
-+++ ncurses-5.4/include/curses.tail
-@@ -110,7 +110,7 @@
- #define TRACE_MAXIMUM ((1 << TRACE_SHIFT) - 1) /* maximum trace level */
-
- #if defined(TRACE) || defined(NCURSES_TEST)
--extern NCURSES_EXPORT_VAR(int) _nc_optimize_enable; /* enable optimizations */
-+extern int NCURSES_EXPORT_VAR(_nc_optimize_enable); /* enable optimizations */
- #ifdef _XOPEN_SOURCE_EXTENDED
- extern NCURSES_EXPORT(const char *) _nc_viswbuf(const wchar_t *);
- #endif
---- ncurses-5.4/include/curses.wide~visibility.patch
-+++ ncurses-5.4/include/curses.wide
-@@ -3,7 +3,7 @@
-
- /* $Id: curses.wide,v 1.28 2004/01/03 20:35:14 tom Exp $ */
-
--extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs;
-+extern cchar_t * NCURSES_EXPORT_VAR(_nc_wacs);
-
- #define NCURSES_WACS(c) (&_nc_wacs[(unsigned char)c])
-
---- ncurses-5.4/menu/menu.priv.h~visibility.patch
-+++ ncurses-5.4/menu/menu.priv.h
-@@ -49,8 +49,8 @@
- /* Backspace code */
- #define BS (8)
-
--extern NCURSES_EXPORT_VAR(ITEM) _nc_Default_Item;
--extern NCURSES_EXPORT_VAR(MENU) _nc_Default_Menu;
-+extern ITEM NCURSES_EXPORT_VAR(_nc_Default_Item);
-+extern MENU NCURSES_EXPORT_VAR(_nc_Default_Menu);
-
- /* Normalize item to default if none was given */
- #define Normalize_Item( item ) ((item)=(item)?(item):&_nc_Default_Item)
---- ncurses-5.4/menu/m_global.c~visibility.patch
-+++ ncurses-5.4/menu/m_global.c
-@@ -41,7 +41,7 @@
-
- static char mark[] = "-";
-
--NCURSES_EXPORT_VAR(MENU) _nc_Default_Menu = {
-+MENU NCURSES_EXPORT_VAR(_nc_Default_Menu) = {
- 16, /* Nr. of chars high */
- 1, /* Nr. of chars wide */
- 16, /* Nr. of items high */
-@@ -80,7 +80,7 @@
- 0 /* status */
- };
-
--NCURSES_EXPORT_VAR(ITEM) _nc_Default_Item = {
-+ITEM NCURSES_EXPORT_VAR(_nc_Default_Item) = {
- { (char *)0, 0 }, /* name */
- { (char *)0, 0 }, /* description */
- (MENU *)0, /* Pointer to parent menu */
---- ncurses-5.4/ncurses/tty/lib_mvcur.c~visibility.patch
-+++ ncurses-5.4/ncurses/tty/lib_mvcur.c
-@@ -937,7 +937,7 @@
- }
-
- #if defined(TRACE) || defined(NCURSES_TEST)
--NCURSES_EXPORT_VAR(int) _nc_optimize_enable = OPTIMIZE_ALL;
-+int NCURSES_EXPORT_VAR(_nc_optimize_enable) = OPTIMIZE_ALL;
- #endif
-
- #if defined(MAIN) || defined(NCURSES_TEST)
-@@ -950,7 +950,7 @@
- #include <tic.h>
- #include <dump_entry.h>
-
--NCURSES_EXPORT_VAR(const char *) _nc_progname = "mvcur";
-+const char * NCURSES_EXPORT_VAR(_nc_progname) = "mvcur";
-
- static unsigned long xmits;
-
---- ncurses-5.4/ncurses/tty/hardscroll.c~visibility.patch
-+++ ncurses-5.4/ncurses/tty/hardscroll.c
-@@ -151,8 +151,7 @@
-
- # undef screen_lines
- # define screen_lines MAXLINES
--NCURSES_EXPORT_VAR(int)
--oldnums[MAXLINES];
-+int NCURSES_EXPORT_VAR(oldnums[MAXLINES]);
- # define OLDNUM(n) oldnums[n]
- # define _tracef printf
- # undef TR
-@@ -163,8 +162,7 @@
- /* OLDNUM(n) indicates which line will be shifted to the position n.
- if OLDNUM(n) == _NEWINDEX, then the line n in new, not shifted from
- somewhere. */
--NCURSES_EXPORT_VAR(int *)
--_nc_oldnums = 0;
-+int * NCURSES_EXPORT_VAR(_nc_oldnums) = 0;
-
- # if USE_HASHMAP
- static int oldnums_allocated = 0;
---- ncurses-5.4/ncurses/base/lib_getch.c~visibility.patch
-+++ ncurses-5.4/ncurses/base/lib_getch.c
-@@ -44,8 +44,7 @@
-
- #include <fifo_defs.h>
-
--NCURSES_EXPORT_VAR(int)
--ESCDELAY = 1000; /* max interval betw. chars in funkeys, in millisecs */
-+int NCURSES_EXPORT_VAR(ESCDELAY) = 1000; /* max interval betw. chars in funkeys, in millisecs */
-
- #ifdef NCURSES_WGETCH_EVENTS
- #define TWAIT_MASK 7
---- ncurses-5.4/ncurses/base/lib_slk.c~visibility.patch
-+++ ncurses-5.4/ncurses/base/lib_slk.c
-@@ -47,8 +47,7 @@
- * We'd like to move these into the screen context structure, but cannot,
- * because slk_init() is called before initscr()/newterm().
- */
--NCURSES_EXPORT_VAR(int)
--_nc_slk_format = 0; /* one more than format specified in slk_init() */
-+int NCURSES_EXPORT_VAR(_nc_slk_format) = 0; /* one more than format specified in slk_init() */
-
- /*
- * Paint the info line for the PC style SLK emulation.
---- ncurses-5.4/ncurses/base/lib_color.c~visibility.patch
-+++ ncurses-5.4/ncurses/base/lib_color.c
-@@ -48,8 +48,8 @@
- * historical reasons. So we assign them in start_color() and also in
- * set_term()'s screen-switching logic.
- */
--NCURSES_EXPORT_VAR(int) COLOR_PAIRS = 0;
--NCURSES_EXPORT_VAR(int) COLORS = 0;
-+int NCURSES_EXPORT_VAR(COLOR_PAIRS) = 0;
-+int NCURSES_EXPORT_VAR(COLORS) = 0;
-
- #define DATA(r,g,b) {r,g,b, 0,0,0, 0}
-
---- ncurses-5.4/ncurses/tinfo/lib_termcap.c~visibility.patch
-+++ ncurses-5.4/ncurses/tinfo/lib_termcap.c
-@@ -50,8 +50,8 @@
- #define L_BRACK '['
- #define SHIFT_OUT 017 /* ^N */
-
--NCURSES_EXPORT_VAR(char *) UP = 0;
--NCURSES_EXPORT_VAR(char *) BC = 0;
-+char * NCURSES_EXPORT_VAR(UP) = 0;
-+char * NCURSES_EXPORT_VAR(BC) = 0;
-
- static char *fix_me = 0;
-
---- ncurses-5.4/ncurses/tinfo/lib_cur_term.c~visibility.patch
-+++ ncurses-5.4/ncurses/tinfo/lib_cur_term.c
-@@ -42,7 +42,7 @@
-
- MODULE_ID("$Id: lib_cur_term.c,v 1.13 2003/12/27 18:21:30 tom Exp $")
-
--NCURSES_EXPORT_VAR(TERMINAL *) cur_term = 0;
-+TERMINAL * NCURSES_EXPORT_VAR(cur_term) = 0;
-
- NCURSES_EXPORT(TERMINAL *)
- set_curterm(TERMINAL * termp)
---- ncurses-5.4/ncurses/tinfo/lib_setup.c~visibility.patch
-+++ ncurses-5.4/ncurses/tinfo/lib_setup.c
-@@ -91,10 +91,10 @@
- # endif
- #endif
-
--NCURSES_EXPORT_VAR(char) ttytype[NAMESIZE] = "";
--NCURSES_EXPORT_VAR(int) LINES = 0;
--NCURSES_EXPORT_VAR(int) COLS = 0;
--NCURSES_EXPORT_VAR(int) TABSIZE = 0;
-+char NCURSES_EXPORT_VAR(ttytype[NAMESIZE]) = "";
-+int NCURSES_EXPORT_VAR(LINES) = 0;
-+int NCURSES_EXPORT_VAR(COLS) = 0;
-+int NCURSES_EXPORT_VAR(TABSIZE) = 0;
-
- static int _use_env = TRUE;
-
---- ncurses-5.4/ncurses/tinfo/MKnames.awk~visibility.patch
-+++ ncurses-5.4/ncurses/tinfo/MKnames.awk
-@@ -10,7 +10,7 @@
- print "#include <term.h>" > "namehdr"
- print "#define DCL(it) static IT data##it[]" > "namehdr"
- print "#else" > "namehdr"
-- print "#define DCL(it) NCURSES_EXPORT_VAR(IT) it[]" > "namehdr"
-+ print "#define DCL(it) IT NCURSES_EXPORT_VAR(it[])" > "namehdr"
- print "#endif" > "namehdr"
- print "" > "namehdr"
- print "/*" > "boolnames"
---- ncurses-5.4/ncurses/tinfo/lib_tparm.c~visibility.patch
-+++ ncurses-5.4/ncurses/tinfo/lib_tparm.c
-@@ -115,7 +115,7 @@
- bool num_type;
- } stack_frame;
-
--NCURSES_EXPORT_VAR(int) _nc_tparm_err = 0;
-+int NCURSES_EXPORT_VAR(_nc_tparm_err) = 0;
-
- static stack_frame stack[STACKSIZE];
- static int stack_ptr;
---- ncurses-5.4/ncurses/tinfo/lib_tputs.c~visibility.patch
-+++ ncurses-5.4/ncurses/tinfo/lib_tputs.c
-@@ -47,10 +47,10 @@
-
- MODULE_ID("$Id: lib_tputs.c,v 1.62 2003/08/23 21:39:20 tom Exp $")
-
--NCURSES_EXPORT_VAR(char) PC = 0; /* used by termcap library */
--NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed = 0; /* used by termcap library */
-+char NCURSES_EXPORT_VAR(PC) = 0; /* used by termcap library */
-+NCURSES_OSPEED NCURSES_EXPORT_VAR(ospeed) = 0; /* used by termcap library */
-
--NCURSES_EXPORT_VAR(int) _nc_nulls_sent = 0; /* used by 'tack' program */
-+int NCURSES_EXPORT_VAR(_nc_nulls_sent) = 0; /* used by 'tack' program */
-
- static int (*my_outch) (int c) = _nc_outch;
-
---- ncurses-5.4/ncurses/tinfo/comp_error.c~visibility.patch
-+++ ncurses-5.4/ncurses/tinfo/comp_error.c
-@@ -42,9 +42,9 @@
-
- MODULE_ID("$Id: comp_error.c,v 1.25 2002/09/07 20:05:07 tom Exp $")
-
--NCURSES_EXPORT_VAR(bool) _nc_suppress_warnings = FALSE;
--NCURSES_EXPORT_VAR(int) _nc_curr_line = 0; /* current line # in input */
--NCURSES_EXPORT_VAR(int) _nc_curr_col = 0; /* current column # in input */
-+bool NCURSES_EXPORT_VAR(_nc_suppress_warnings) = FALSE;
-+int NCURSES_EXPORT_VAR(_nc_curr_line) = 0; /* current line # in input */
-+int NCURSES_EXPORT_VAR(_nc_curr_col) = 0; /* current column # in input */
-
- static const char *sourcename;
- static char *termtype;
---- ncurses-5.4/ncurses/tinfo/free_ttype.c~visibility.patch
-+++ ncurses-5.4/ncurses/tinfo/free_ttype.c
-@@ -92,7 +92,7 @@
- }
-
- #if NCURSES_XNAMES
--NCURSES_EXPORT_VAR(bool) _nc_user_definable = TRUE;
-+bool NCURSES_EXPORT_VAR(_nc_user_definable) = TRUE;
-
- NCURSES_EXPORT(int)
- use_extended_names(bool flag)
---- ncurses-5.4/ncurses/tinfo/comp_parse.c~visibility.patch
-+++ ncurses-5.4/ncurses/tinfo/comp_parse.c
-@@ -78,8 +78,8 @@
- * _nc_head _nc_tail
- */
-
--NCURSES_EXPORT_VAR(ENTRY *) _nc_head = 0;
--NCURSES_EXPORT_VAR(ENTRY *) _nc_tail = 0;
-+ENTRY * NCURSES_EXPORT_VAR(_nc_head) = 0;
-+ENTRY * NCURSES_EXPORT_VAR(_nc_tail) = 0;
-
- static void
- enqueue(ENTRY * ep)
---- ncurses-5.4/ncurses/tinfo/comp_scan.c~visibility.patch
-+++ ncurses-5.4/ncurses/tinfo/comp_scan.c
-@@ -60,19 +60,13 @@
-
- #define iswhite(ch) (ch == ' ' || ch == '\t')
-
--NCURSES_EXPORT_VAR(int)
--_nc_syntax = 0; /* termcap or terminfo? */
--NCURSES_EXPORT_VAR(long)
--_nc_curr_file_pos = 0; /* file offset of current line */
--NCURSES_EXPORT_VAR(long)
--_nc_comment_start = 0; /* start of comment range before name */
--NCURSES_EXPORT_VAR(long)
--_nc_comment_end = 0; /* end of comment range before name */
--NCURSES_EXPORT_VAR(long)
--_nc_start_line = 0; /* start line of current entry */
-+int NCURSES_EXPORT_VAR(_nc_syntax) = 0; /* termcap or terminfo? */
-+long NCURSES_EXPORT_VAR(_nc_curr_file_pos) = 0; /* file offset of current line */
-+long NCURSES_EXPORT_VAR(_nc_comment_start) = 0; /* start of comment range before name */
-+long NCURSES_EXPORT_VAR(_nc_comment_end) = 0; /* end of comment range before name */
-+long NCURSES_EXPORT_VAR(_nc_start_line) = 0; /* start line of current entry */
-
--NCURSES_EXPORT_VAR(struct token)
--_nc_curr_token =
-+struct token NCURSES_EXPORT_VAR(_nc_curr_token) =
- {
- 0, 0, 0
- };
-@@ -90,8 +84,7 @@
- static char *pushname;
-
- #if NCURSES_EXT_FUNCS
--NCURSES_EXPORT_VAR(bool)
--_nc_disable_period = FALSE; /* used by tic -a option */
-+bool NCURSES_EXPORT_VAR(_nc_disable_period) = FALSE; /* used by tic -a option */
- #endif
-
- static bool end_of_stream(void);
---- ncurses-5.4/ncurses/tinfo/lib_acs.c~visibility.patch
-+++ ncurses-5.4/ncurses/tinfo/lib_acs.c
-@@ -37,8 +37,7 @@
- MODULE_ID("$Id: lib_acs.c,v 1.25 2002/12/28 16:26:46 tom Exp $")
-
- #if BROKEN_LINKER
--NCURSES_EXPORT_VAR(chtype *)
--_nc_acs_map(void)
-+chtype * NCURSES_EXPORT_VAR(_nc_acs_map)(void)
- {
- static chtype *the_map = 0;
- if (the_map == 0)
-@@ -46,7 +45,7 @@
- return the_map;
- }
- #else
--NCURSES_EXPORT_VAR(chtype) acs_map[ACS_LEN] =
-+chtype NCURSES_EXPORT_VAR(acs_map[ACS_LEN]) =
- {
- 0
- };
---- ncurses-5.4/ncurses/tinfo/lib_data.c~visibility.patch
-+++ ncurses-5.4/ncurses/tinfo/lib_data.c
-@@ -46,14 +46,11 @@
- * OS/2's native linker complains if we don't initialize public data when
- * constructing a dll (reported by J.J.G.Ripoll).
- */
--NCURSES_EXPORT_VAR(WINDOW *)
--stdscr = 0;
--NCURSES_EXPORT_VAR(WINDOW *)
--curscr = 0;
--NCURSES_EXPORT_VAR(WINDOW *)
--newscr = 0;
-+WINDOW * NCURSES_EXPORT_VAR(stdscr) = 0;
-+WINDOW * NCURSES_EXPORT_VAR(curscr) = 0;
-+WINDOW * NCURSES_EXPORT_VAR(newscr) = 0;
-
--NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain = 0;
-+SCREEN * NCURSES_EXPORT_VAR(_nc_screen_chain) = 0;
-
- /*
- * The variable 'SP' will be defined as a function on systems that cannot link
-@@ -87,5 +84,5 @@
- }
-
- #else
--NCURSES_EXPORT_VAR(SCREEN *) SP = NULL; /* Some linkers require initialized data... */
-+SCREEN * NCURSES_EXPORT_VAR(SP) = NULL; /* Some linkers require initialized data... */
- #endif
---- ncurses-5.4/ncurses/trace/lib_trace.c~visibility.patch
-+++ ncurses-5.4/ncurses/trace/lib_trace.c
-@@ -42,11 +42,11 @@
-
- MODULE_ID("$Id: lib_trace.c,v 1.53 2003/11/23 00:39:30 tom Exp $")
-
--NCURSES_EXPORT_VAR(unsigned) _nc_tracing = 0; /* always define this */
-+unsigned NCURSES_EXPORT_VAR(_nc_tracing) = 0; /* always define this */
-
- #ifdef TRACE
--NCURSES_EXPORT_VAR(const char *) _nc_tputs_trace = "";
--NCURSES_EXPORT_VAR(long) _nc_outchars = 0;
-+const char * NCURSES_EXPORT_VAR(_nc_tputs_trace) = "";
-+long NCURSES_EXPORT_VAR(_nc_outchars) = 0;
-
- static FILE *tracefp = 0; /* default to writing to stderr */
-
---- ncurses-5.4/ncurses/curses.priv.h~visibility.patch
-+++ ncurses-5.4/ncurses/curses.priv.h
-@@ -498,7 +498,7 @@
- #endif
- };
-
--extern NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain;
-+extern SCREEN * NCURSES_EXPORT_VAR(_nc_screen_chain);
-
- #if NCURSES_NOMACROS
- #include <nomacros.h>
-@@ -752,9 +752,9 @@
- extern NCURSES_EXPORT(int) _nc_retrace_int (int);
- extern NCURSES_EXPORT(unsigned) _nc_retrace_unsigned (unsigned);
- extern NCURSES_EXPORT(void) _nc_fifo_dump (void);
--extern NCURSES_EXPORT_VAR(const char *) _nc_tputs_trace;
--extern NCURSES_EXPORT_VAR(long) _nc_outchars;
--extern NCURSES_EXPORT_VAR(unsigned) _nc_tracing;
-+extern const char * NCURSES_EXPORT_VAR(_nc_tputs_trace);
-+extern long NCURSES_EXPORT_VAR(_nc_outchars);
-+extern unsigned NCURSES_EXPORT_VAR(_nc_tracing);
-
- #if USE_WIDEC_SUPPORT
- extern NCURSES_EXPORT(const char *) _nc_viswbuf2 (int, const wchar_t *);
-@@ -1055,7 +1055,7 @@
- #endif
-
- /* scroll indices */
--extern NCURSES_EXPORT_VAR(int *) _nc_oldnums;
-+extern int * NCURSES_EXPORT_VAR(_nc_oldnums);
-
- #define USE_SETBUF_0 0
-
-@@ -1074,7 +1074,7 @@
- extern NCURSES_EXPORT(void) _nc_set_screen (SCREEN *);
- #else
- /* current screen is private data; avoid possible linking conflicts too */
--extern NCURSES_EXPORT_VAR(SCREEN *) SP;
-+extern SCREEN * NCURSES_EXPORT_VAR(SP);
- #define _nc_alloc_screen() ((SP = typeCalloc(SCREEN, 1)) != 0)
- #define _nc_set_screen(sp) SP = sp
- #endif
-@@ -1087,7 +1087,7 @@
- #define screen_lines SP->_lines
- #define screen_columns SP->_columns
-
--extern NCURSES_EXPORT_VAR(int) _nc_slk_format; /* != 0 if slk_init() called */
-+extern int NCURSES_EXPORT_VAR(_nc_slk_format); /* != 0 if slk_init() called */
- extern NCURSES_EXPORT(int) _nc_slk_initialize (WINDOW *, int);
-
- /*
---- /dev/null
-+++ ncurses-5.4/m4/cf.m4
-@@ -0,0 +1,3703 @@
-+dnl***************************************************************************
-+dnl Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
-+dnl *
-+dnl Permission is hereby granted, free of charge, to any person obtaining a *
-+dnl copy of this software and associated documentation files (the *
-+dnl "Software"), to deal in the Software without restriction, including *
-+dnl without limitation the rights to use, copy, modify, merge, publish, *
-+dnl distribute, distribute with modifications, sublicense, and/or sell *
-+dnl copies of the Software, and to permit persons to whom the Software is *
-+dnl furnished to do so, subject to the following conditions: *
-+dnl *
-+dnl The above copyright notice and this permission notice shall be included *
-+dnl in all copies or substantial portions of the Software. *
-+dnl *
-+dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
-+dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
-+dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
-+dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
-+dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
-+dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
-+dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
-+dnl *
-+dnl Except as contained in this notice, the name(s) of the above copyright *
-+dnl holders shall not be used in advertising or otherwise to promote the *
-+dnl sale, use or other dealings in this Software without prior written *
-+dnl authorization. *
-+dnl***************************************************************************
-+dnl
-+dnl Author: Thomas E. Dickey 1995-2003
-+dnl
-+dnl $Id: aclocal.m4,v 1.333 2004/01/30 20:59:56 tom Exp $
-+dnl Macros used in NCURSES auto-configuration script.
-+dnl
-+dnl See http://invisible-island.net/autoconf/ for additional information.
-+dnl
-+dnl ---------------------------------------------------------------------------
-+dnl ---------------------------------------------------------------------------
-+dnl CF_ADA_INCLUDE_DIRS version: 4 updated: 2002/12/01 00:12:15
-+dnl -------------------
-+dnl Construct the list of include-options for the C programs in the Ada95
-+dnl binding.
-+AC_DEFUN([CF_ADA_INCLUDE_DIRS],
-+[
-+ACPPFLAGS="-I. -I../../include $ACPPFLAGS"
-+if test "$srcdir" != "."; then
-+ ACPPFLAGS="-I\$(srcdir)/../../include $ACPPFLAGS"
-+fi
-+if test "$GCC" != yes; then
-+ ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
-+elif test "$includedir" != "/usr/include"; then
-+ if test "$includedir" = '${prefix}/include' ; then
-+ if test $prefix != /usr ; then
-+ ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
-+ fi
-+ else
-+ ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
-+ fi
-+fi
-+AC_SUBST(ACPPFLAGS)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_ADD_CFLAGS version: 5 updated: 2002/12/01 00:12:15
-+dnl -------------
-+dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
-+dnl The second parameter if given makes this macro verbose.
-+AC_DEFUN([CF_ADD_CFLAGS],
-+[
-+cf_new_cflags=
-+cf_new_cppflags=
-+for cf_add_cflags in $1
-+do
-+ case $cf_add_cflags in #(vi
-+ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
-+ case "$CPPFLAGS" in
-+ *$cf_add_cflags) #(vi
-+ ;;
-+ *) #(vi
-+ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
-+ ;;
-+ esac
-+ ;;
-+ *)
-+ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
-+ ;;
-+ esac
-+done
-+
-+if test -n "$cf_new_cflags" ; then
-+ ifelse($2,,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)])
-+ CFLAGS="$CFLAGS $cf_new_cflags"
-+fi
-+
-+if test -n "$cf_new_cppflags" ; then
-+ ifelse($2,,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)])
-+ CPPFLAGS="$cf_new_cppflags $CPPFLAGS"
-+fi
-+
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_ANSI_CC_CHECK version: 9 updated: 2001/12/30 17:53:34
-+dnl ----------------
-+dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES'
-+dnl in the sharutils 4.2 distribution.
-+AC_DEFUN([CF_ANSI_CC_CHECK],
-+[
-+AC_CACHE_CHECK(for ${CC-cc} option to accept ANSI C, cf_cv_ansi_cc,[
-+cf_cv_ansi_cc=no
-+cf_save_CFLAGS="$CFLAGS"
-+cf_save_CPPFLAGS="$CPPFLAGS"
-+# Don't try gcc -ansi; that turns off useful extensions and
-+# breaks some systems' header files.
-+# AIX -qlanglvl=ansi
-+# Ultrix and OSF/1 -std1
-+# HP-UX -Aa -D_HPUX_SOURCE
-+# SVR4 -Xc
-+# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes)
-+for cf_arg in "-DCC_HAS_PROTOS" \
-+ "" \
-+ -qlanglvl=ansi \
-+ -std1 \
-+ -Ae \
-+ "-Aa -D_HPUX_SOURCE" \
-+ -Xc
-+do
-+ CF_ADD_CFLAGS($cf_arg)
-+ AC_TRY_COMPILE(
-+[
-+#ifndef CC_HAS_PROTOS
-+#if !defined(__STDC__) || (__STDC__ != 1)
-+choke me
-+#endif
-+#endif
-+],[
-+ int test (int i, double x);
-+ struct s1 {int (*f) (int a);};
-+ struct s2 {int (*f) (double a);};],
-+ [cf_cv_ansi_cc="$cf_arg"; break])
-+done
-+CFLAGS="$cf_save_CFLAGS"
-+CPPFLAGS="$cf_save_CPPFLAGS"
-+])
-+
-+if test "$cf_cv_ansi_cc" != "no"; then
-+if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
-+ CF_ADD_CFLAGS($cf_cv_ansi_cc)
-+else
-+ AC_DEFINE(CC_HAS_PROTOS)
-+fi
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_ANSI_CC_REQD version: 3 updated: 1997/09/06 13:40:44
-+dnl ---------------
-+dnl For programs that must use an ANSI compiler, obtain compiler options that
-+dnl will make it recognize prototypes. We'll do preprocessor checks in other
-+dnl macros, since tools such as unproto can fake prototypes, but only part of
-+dnl the preprocessor.
-+AC_DEFUN([CF_ANSI_CC_REQD],
-+[AC_REQUIRE([CF_ANSI_CC_CHECK])
-+if test "$cf_cv_ansi_cc" = "no"; then
-+ AC_ERROR(
-+[Your compiler does not appear to recognize prototypes.
-+You have the following choices:
-+ a. adjust your compiler options
-+ b. get an up-to-date compiler
-+ c. use a wrapper such as unproto])
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_BOOL_DECL version: 8 updated: 2004/01/30 15:51:18
-+dnl ------------
-+dnl Test if 'bool' is a builtin type in the configured C++ compiler. Some
-+dnl older compilers (e.g., gcc 2.5.8) don't support 'bool' directly; gcc
-+dnl 2.6.3 does, in anticipation of the ANSI C++ standard.
-+dnl
-+dnl Treat the configuration-variable specially here, since we're directly
-+dnl substituting its value (i.e., 1/0).
-+dnl
-+dnl $1 is the shell variable to store the result in, if not $cv_cv_builtin_bool
-+AC_DEFUN([CF_BOOL_DECL],
-+[
-+AC_MSG_CHECKING(if we should include stdbool.h)
-+
-+AC_CACHE_VAL(cf_cv_header_stdbool_h,[
-+ AC_TRY_COMPILE([],[bool foo = false],
-+ [cf_cv_header_stdbool_h=0],
-+ [AC_TRY_COMPILE([
-+#ifndef __BEOS__
-+#include <stdbool.h>
-+#endif
-+],[bool foo = false],
-+ [cf_cv_header_stdbool_h=1],
-+ [cf_cv_header_stdbool_h=0])])])
-+
-+if test "$cf_cv_header_stdbool_h" = 1
-+then AC_MSG_RESULT(yes)
-+else AC_MSG_RESULT(no)
-+fi
-+
-+AC_MSG_CHECKING([for builtin bool type])
-+
-+AC_CACHE_VAL(ifelse($1,,cf_cv_builtin_bool,[$1]),[
-+ AC_TRY_COMPILE([
-+#include <stdio.h>
-+#include <sys/types.h>
-+],[bool x = false],
-+ [ifelse($1,,cf_cv_builtin_bool,[$1])=1],
-+ [ifelse($1,,cf_cv_builtin_bool,[$1])=0])
-+ ])
-+
-+if test "$ifelse($1,,cf_cv_builtin_bool,[$1])" = 1
-+then AC_MSG_RESULT(yes)
-+else AC_MSG_RESULT(no)
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_BOOL_SIZE version: 10 updated: 2002/02/23 20:38:31
-+dnl ------------
-+dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type).
-+dnl Don't bother looking for bool.h, since it's been deprecated.
-+dnl
-+dnl If the current compiler is C rather than C++, we get the bool definition
-+dnl from <stdbool.h>.
-+AC_DEFUN([CF_BOOL_SIZE],
-+[
-+AC_MSG_CHECKING([for size of bool])
-+AC_CACHE_VAL(cf_cv_type_of_bool,[
-+ rm -f cf_test.out
-+ AC_TRY_RUN([
-+#include <stdlib.h>
-+#include <stdio.h>
-+
-+#if defined(__cplusplus)
-+
-+#ifdef HAVE_GXX_BUILTIN_H
-+#include <g++/builtin.h>
-+#elif HAVE_GPP_BUILTIN_H
-+#include <gpp/builtin.h>
-+#elif HAVE_BUILTIN_H
-+#include <builtin.h>
-+#endif
-+
-+#else
-+
-+#if $cf_cv_header_stdbool_h
-+#include <stdbool.h>
-+#endif
-+
-+#endif
-+
-+main()
-+{
-+ FILE *fp = fopen("cf_test.out", "w");
-+ if (fp != 0) {
-+ bool x = true;
-+ if ((bool)(-x) >= 0)
-+ fputs("unsigned ", fp);
-+ if (sizeof(x) == sizeof(int)) fputs("int", fp);
-+ else if (sizeof(x) == sizeof(char)) fputs("char", fp);
-+ else if (sizeof(x) == sizeof(short))fputs("short",fp);
-+ else if (sizeof(x) == sizeof(long)) fputs("long", fp);
-+ fclose(fp);
-+ }
-+ exit(0);
-+}
-+ ],
-+ [cf_cv_type_of_bool=`cat cf_test.out`
-+ if test -z "$cf_cv_type_of_bool"; then
-+ cf_cv_type_of_bool=unknown
-+ fi],
-+ [cf_cv_type_of_bool=unknown],
-+ [cf_cv_type_of_bool=unknown])
-+ ])
-+ rm -f cf_test.out
-+AC_MSG_RESULT($cf_cv_type_of_bool)
-+if test "$cf_cv_type_of_bool" = unknown ; then
-+ case .$NCURSES_BOOL in #(vi
-+ .auto|.) NCURSES_BOOL=unsigned;;
-+ esac
-+ AC_MSG_WARN(Assuming $NCURSES_BOOL for type of bool)
-+ cf_cv_type_of_bool=$NCURSES_BOOL
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_CFG_DEFAULTS version: 6 updated: 2003/07/12 15:15:19
-+dnl ---------------
-+dnl Determine the default configuration into which we'll install ncurses. This
-+dnl can be overridden by the user's command-line options. There's two items to
-+dnl look for:
-+dnl 1. the prefix (e.g., /usr)
-+dnl 2. the header files (e.g., /usr/include/ncurses)
-+dnl We'll look for a previous installation of ncurses and use the same defaults.
-+dnl
-+dnl We don't use AC_PREFIX_DEFAULT, because it gets evaluated too soon, and
-+dnl we don't use AC_PREFIX_PROGRAM, because we cannot distinguish ncurses's
-+dnl programs from a vendor's.
-+AC_DEFUN([CF_CFG_DEFAULTS],
-+[
-+AC_MSG_CHECKING(for prefix)
-+if test "x$prefix" = "xNONE" ; then
-+ case "$cf_cv_system_name" in
-+ # non-vendor systems don't have a conflict
-+ openbsd*|netbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu)
-+ prefix=/usr
-+ ;;
-+ *) prefix=$ac_default_prefix
-+ ;;
-+ esac
-+fi
-+AC_MSG_RESULT($prefix)
-+
-+if test "x$prefix" = "xNONE" ; then
-+AC_MSG_CHECKING(for default include-directory)
-+test -n "$verbose" && echo 1>&AC_FD_MSG
-+for cf_symbol in \
-+ $includedir \
-+ $includedir/ncurses \
-+ $prefix/include \
-+ $prefix/include/ncurses \
-+ /usr/local/include \
-+ /usr/local/include/ncurses \
-+ /usr/include \
-+ /usr/include/ncurses
-+do
-+ cf_dir=`eval echo $cf_symbol`
-+ if test -f $cf_dir/curses.h ; then
-+ if ( fgrep NCURSES_VERSION $cf_dir/curses.h 2>&1 >/dev/null ) ; then
-+ includedir="$cf_symbol"
-+ test -n "$verbose" && echo $ac_n " found " 1>&AC_FD_MSG
-+ break
-+ fi
-+ fi
-+ test -n "$verbose" && echo " tested $cf_dir" 1>&AC_FD_MSG
-+done
-+AC_MSG_RESULT($includedir)
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_CGETENT version: 3 updated: 2000/08/12 23:18:52
-+dnl ----------
-+dnl Check if the terminal-capability database functions are available. If not,
-+dnl ncurses has a much-reduced version.
-+AC_DEFUN([CF_CGETENT],[
-+AC_MSG_CHECKING(for terminal-capability database functions)
-+AC_CACHE_VAL(cf_cv_cgetent,[
-+AC_TRY_LINK([
-+#include <stdlib.h>],[
-+ char temp[128];
-+ char *buf = temp;
-+ char *db_array = temp;
-+ cgetent(&buf, /* int *, */ &db_array, "vt100");
-+ cgetcap(buf, "tc", '=');
-+ cgetmatch(buf, "tc");
-+ ],
-+ [cf_cv_cgetent=yes],
-+ [cf_cv_cgetent=no])
-+])
-+AC_MSG_RESULT($cf_cv_cgetent)
-+test "$cf_cv_cgetent" = yes && AC_DEFINE(HAVE_BSD_CGETENT)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_CHECK_CACHE version: 9 updated: 2004/01/30 15:59:13
-+dnl --------------
-+dnl Check if we're accidentally using a cache from a different machine.
-+dnl Derive the system name, as a check for reusing the autoconf cache.
-+dnl
-+dnl If we've packaged config.guess and config.sub, run that (since it does a
-+dnl better job than uname). Normally we'll use AC_CANONICAL_HOST, but allow
-+dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
-+dnl which is useful in cross-compiles.
-+dnl
-+dnl Note: we would use $ac_config_sub, but that is one of the places where
-+dnl autoconf 2.5x broke compatibility with autoconf 2.13
-+AC_DEFUN([CF_CHECK_CACHE],
-+[
-+if test -f $srcdir/config.guess ; then
-+ ifelse([$1],,[AC_CANONICAL_HOST],[$1])
-+ system_name="$host_os"
-+else
-+ system_name="`(uname -s -r) 2>/dev/null`"
-+ if test -z "$system_name" ; then
-+ system_name="`(hostname) 2>/dev/null`"
-+ fi
-+fi
-+test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
-+AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
-+
-+test -z "$system_name" && system_name="$cf_cv_system_name"
-+test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)
-+
-+if test ".$system_name" != ".$cf_cv_system_name" ; then
-+ AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
-+ AC_ERROR("Please remove config.cache and try again.")
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_CHECK_ERRNO version: 9 updated: 2001/12/30 18:03:23
-+dnl --------------
-+dnl Check for data that is usually declared in <stdio.h> or <errno.h>, e.g.,
-+dnl the 'errno' variable. Define a DECL_xxx symbol if we must declare it
-+dnl ourselves.
-+dnl
-+dnl $1 = the name to check
-+AC_DEFUN([CF_CHECK_ERRNO],
-+[
-+AC_CACHE_CHECK(if external $1 is declared, cf_cv_dcl_$1,[
-+ AC_TRY_COMPILE([
-+#ifdef HAVE_STDLIB_H
-+#include <stdlib.h>
-+#endif
-+#include <stdio.h>
-+#include <sys/types.h>
-+#include <errno.h> ],
-+ [long x = (long) $1],
-+ [cf_cv_dcl_$1=yes],
-+ [cf_cv_dcl_$1=no])
-+])
-+
-+if test "$cf_cv_dcl_$1" = no ; then
-+ CF_UPPER(cf_result,decl_$1)
-+ AC_DEFINE_UNQUOTED($cf_result)
-+fi
-+
-+# It's possible (for near-UNIX clones) that the data doesn't exist
-+CF_CHECK_EXTERN_DATA($1,int)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_CHECK_EXTERN_DATA version: 3 updated: 2001/12/30 18:03:23
-+dnl --------------------
-+dnl Check for existence of external data in the current set of libraries. If
-+dnl we can modify it, it's real enough.
-+dnl $1 = the name to check
-+dnl $2 = its type
-+AC_DEFUN([CF_CHECK_EXTERN_DATA],
-+[
-+AC_CACHE_CHECK(if external $1 exists, cf_cv_have_$1,[
-+ AC_TRY_LINK([
-+#undef $1
-+extern $2 $1;
-+],
-+ [$1 = 2],
-+ [cf_cv_have_$1=yes],
-+ [cf_cv_have_$1=no])
-+])
-+
-+if test "$cf_cv_have_$1" = yes ; then
-+ CF_UPPER(cf_result,have_$1)
-+ AC_DEFINE_UNQUOTED($cf_result)
-+fi
-+
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_CPP_PARAM_INIT version: 4 updated: 2001/04/07 22:31:18
-+dnl -----------------
-+dnl Check if the C++ compiler accepts duplicate parameter initialization. This
-+dnl is a late feature for the standard and is not in some recent compilers
-+dnl (1999/9/11).
-+AC_DEFUN([CF_CPP_PARAM_INIT],
-+[
-+if test -n "$CXX"; then
-+AC_CACHE_CHECK(if $CXX accepts parameter initialization,cf_cv_cpp_param_init,[
-+ AC_LANG_SAVE
-+ AC_LANG_CPLUSPLUS
-+ AC_TRY_RUN([
-+class TEST {
-+private:
-+ int value;
-+public:
-+ TEST(int x = 1);
-+ ~TEST();
-+};
-+
-+TEST::TEST(int x = 1) // some compilers do not like second initializer
-+{
-+ value = x;
-+}
-+void main() { }
-+],
-+ [cf_cv_cpp_param_init=yes],
-+ [cf_cv_cpp_param_init=no],
-+ [cf_cv_cpp_param_init=unknown])
-+ AC_LANG_RESTORE
-+])
-+fi
-+test "$cf_cv_cpp_param_init" = yes && AC_DEFINE(CPP_HAS_PARAM_INIT)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_CPP_VSCAN_FUNC version: 5 updated: 2001/12/02 01:39:28
-+dnl -----------------
-+dnl Check if the g++ compiler supports vscan function (not a standard feature).
-+AC_DEFUN([CF_CPP_VSCAN_FUNC],
-+[
-+if test -n "$CXX"; then
-+
-+AC_LANG_SAVE
-+AC_LANG_CPLUSPLUS
-+AC_CHECK_HEADERS(strstream.h)
-+
-+AC_CACHE_CHECK(if $CXX supports vscan function,cf_cv_cpp_vscan_func,[
-+ for cf_vscan_func in strstream strstream_cast stdio
-+ do
-+ case $cf_vscan_func in #(vi
-+ stdio) cf_vscan_defs=USE_STDIO_VSCAN ;; #(vi
-+ strstream) cf_vscan_defs=USE_STRSTREAM_VSCAN ;;
-+ strstream_cast) cf_vscan_defs=USE_STRSTREAM_VSCAN_CAST ;;
-+ esac
-+ AC_TRY_LINK([
-+#include <stdio.h>
-+#include <stdarg.h>
-+#define $cf_vscan_defs 1
-+#if defined(USE_STDIO_VSCAN)
-+#elif defined(HAVE_STRSTREAM_H) && defined(USE_STRSTREAM_VSCAN)
-+#include <strstream.h>
-+#endif
-+
-+int scanw(const char* fmt, ...)
-+{
-+ int result = -1;
-+ char buf[BUFSIZ];
-+
-+ va_list args;
-+ va_start(args, fmt);
-+#if defined(USE_STDIO_VSCAN)
-+ if (::vsscanf(buf, fmt, args) != -1)
-+ result = 0;
-+#elif defined(USE_STRSTREAM_VSCAN)
-+ strstreambuf ss(buf, sizeof(buf));
-+ if (ss.vscan(fmt, args) != -1)
-+ result = 0;
-+#elif defined(USE_STRSTREAM_VSCAN_CAST)
-+ strstreambuf ss(buf, sizeof(buf));
-+ if (ss.vscan(fmt, (_IO_va_list)args) != -1)
-+ result = 0;
-+#else
-+#error case $cf_vscan_func failed
-+#endif
-+ va_end(args);
-+ return result;
-+}
-+],[int tmp, foo = scanw("%d", &tmp)],
-+ [cf_cv_cpp_vscan_func=$cf_vscan_func; break],
-+ [cf_cv_cpp_vscan_func=no])
-+ test "$cf_cv_cpp_vscan_func" != no && break
-+ done
-+])
-+
-+AC_LANG_RESTORE
-+fi
-+
-+case $cf_cv_cpp_vscan_func in #(vi
-+stdio) #(vi
-+ AC_DEFINE(CPP_HAS_VSCAN_FUNC)
-+ AC_DEFINE(USE_STDIO_VSCAN)
-+ ;;
-+strstream)
-+ AC_DEFINE(CPP_HAS_VSCAN_FUNC)
-+ AC_DEFINE(USE_STRSTREAM_VSCAN)
-+ ;;
-+strstream_cast)
-+ AC_DEFINE(CPP_HAS_VSCAN_FUNC)
-+ AC_DEFINE(USE_STRSTREAM_VSCAN_CAST)
-+ ;;
-+esac
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
-+dnl ----------
-+dnl "dirname" is not portable, so we fake it with a shell script.
-+AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_DIRS_TO_MAKE version: 3 updated: 2002/02/23 20:38:31
-+dnl ---------------
-+AC_DEFUN([CF_DIRS_TO_MAKE],
-+[
-+DIRS_TO_MAKE="lib"
-+for cf_item in $cf_list_models
-+do
-+ CF_OBJ_SUBDIR($cf_item,cf_subdir)
-+ for cf_item2 in $DIRS_TO_MAKE
-+ do
-+ test $cf_item2 = $cf_subdir && break
-+ done
-+ test ".$cf_item2" != ".$cf_subdir" && DIRS_TO_MAKE="$DIRS_TO_MAKE $cf_subdir"
-+done
-+for cf_dir in $DIRS_TO_MAKE
-+do
-+ test ! -d $cf_dir && mkdir $cf_dir
-+done
-+AC_SUBST(DIRS_TO_MAKE)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_ERRNO version: 5 updated: 1997/11/30 12:44:39
-+dnl --------
-+dnl Check if 'errno' is declared in <errno.h>
-+AC_DEFUN([CF_ERRNO],
-+[
-+CF_CHECK_ERRNO(errno)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_ETIP_DEFINES version: 3 updated: 2003/03/22 19:13:43
-+dnl ---------------
-+dnl Test for conflicting definitions of exception in gcc 2.8.0, etc., between
-+dnl math.h and builtin.h, only for ncurses
-+AC_DEFUN([CF_ETIP_DEFINES],
-+[
-+AC_MSG_CHECKING(for special defines needed for etip.h)
-+cf_save_CXXFLAGS="$CXXFLAGS"
-+cf_result="none"
-+for cf_math in "" MATH_H
-+do
-+for cf_excp in "" MATH_EXCEPTION
-+do
-+ CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -I${srcdir}/include"
-+ test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
-+ test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
-+AC_TRY_COMPILE([
-+#include <etip.h.in>
-+],[],[
-+ test -n "$cf_math" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_math})
-+ test -n "$cf_excp" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_excp})
-+ cf_result="$cf_math $cf_excp"
-+ break
-+],[])
-+done
-+done
-+AC_MSG_RESULT($cf_result)
-+CXXFLAGS="$cf_save_CXXFLAGS"
-+])
-+dnl ---------------------------------------------------------------------------
-+dnl CF_FUNC_MEMMOVE version: 5 updated: 2000/08/12 23:18:52
-+dnl ---------------
-+dnl Check for memmove, or a bcopy that can handle overlapping copy. If neither
-+dnl is found, add our own version of memmove to the list of objects.
-+AC_DEFUN([CF_FUNC_MEMMOVE],
-+[
-+AC_CHECK_FUNC(memmove,,[
-+AC_CHECK_FUNC(bcopy,[
-+ AC_CACHE_CHECK(if bcopy does overlapping moves,cf_cv_good_bcopy,[
-+ AC_TRY_RUN([
-+int main() {
-+ static char data[] = "abcdefghijklmnopqrstuwwxyz";
-+ char temp[40];
-+ bcopy(data, temp, sizeof(data));
-+ bcopy(temp+10, temp, 15);
-+ bcopy(temp+5, temp+15, 10);
-+ exit (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz"));
-+}
-+ ],
-+ [cf_cv_good_bcopy=yes],
-+ [cf_cv_good_bcopy=no],
-+ [cf_cv_good_bcopy=unknown])
-+ ])
-+ ],[cf_cv_good_bcopy=no])
-+ if test "$cf_cv_good_bcopy" = yes ; then
-+ AC_DEFINE(USE_OK_BCOPY)
-+ else
-+ AC_DEFINE(USE_MY_MEMMOVE)
-+ fi
-+])])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_FUNC_POLL version: 2 updated: 2000/02/06 01:38:04
-+dnl ------------
-+dnl See if the poll function really works. Some platforms have poll(), but
-+dnl it does not work for terminals or files.
-+AC_DEFUN([CF_FUNC_POLL],[
-+AC_CACHE_CHECK(if poll really works,cf_cv_working_poll,[
-+AC_TRY_RUN([
-+#include <stdio.h>
-+#ifdef HAVE_POLL_H
-+#include <poll.h>
-+#else
-+#include <sys/poll.h>
-+#endif
-+int main() {
-+ struct pollfd myfds;
-+ int ret;
-+
-+ myfds.fd = 0;
-+ myfds.events = POLLIN;
-+
-+ ret = poll(&myfds, 1, 100);
-+ exit(ret != 0);
-+}],
-+ [cf_cv_working_poll=yes],
-+ [cf_cv_working_poll=no],
-+ [cf_cv_working_poll=unknown])])
-+test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_FUNC_TERMIOS version: 2 updated: 2000/07/22 23:37:24
-+dnl ---------------
-+dnl Some old/broken variations define tcgetattr() only as a macro in
-+dnl termio(s).h
-+AC_DEFUN([CF_FUNC_TERMIOS],[
-+AC_REQUIRE([CF_STRUCT_TERMIOS])
-+AC_CACHE_CHECK(for tcgetattr, cf_cv_have_tcgetattr,[
-+AC_TRY_LINK([
-+#include <sys/types.h>
-+#ifdef HAVE_UNISTD_H
-+#include <unistd.h>
-+#endif
-+#ifdef HAVE_TERMIOS_H
-+#include <termios.h>
-+#define TTY struct termios
-+#else
-+#ifdef HAVE_TERMIO_H
-+#include <termio.h>
-+#define TTY struct termio
-+#endif
-+#endif
-+],[
-+TTY foo;
-+tcgetattr(1, &foo);],
-+[cf_cv_have_tcgetattr=yes],
-+[cf_cv_have_tcgetattr=no])])
-+test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_FUNC_VSSCANF version: 3 updated: 2001/12/19 00:50:10
-+dnl ---------------
-+dnl Check for vsscanf() function, which is in c9x but generally not in earlier
-+dnl versions of C. It is in the GNU C library, and can often be simulated by
-+dnl other functions.
-+AC_DEFUN([CF_FUNC_VSSCANF],
-+[
-+AC_CACHE_CHECK(for vsscanf function or workaround,cf_cv_func_vsscanf,[
-+AC_TRY_LINK([
-+#include <stdarg.h>
-+#include <stdio.h>],[
-+ va_list ap;
-+ vsscanf("from", "%d", ap)],[cf_cv_func_vsscanf=vsscanf],[
-+AC_TRY_LINK([
-+#include <stdarg.h>
-+#include <stdio.h>],[
-+ FILE strbuf;
-+ char *str = "from";
-+
-+ strbuf._flag = _IOREAD;
-+ strbuf._ptr = strbuf._base = (unsigned char *) str;
-+ strbuf._cnt = strlen(str);
-+ strbuf._file = _NFILE;
-+ return (vfscanf(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=vfscanf],[
-+AC_TRY_LINK([
-+#include <stdarg.h>
-+#include <stdio.h>],[
-+ FILE strbuf;
-+ char *str = "from";
-+
-+ strbuf._flag = _IOREAD;
-+ strbuf._ptr = strbuf._base = (unsigned char *) str;
-+ strbuf._cnt = strlen(str);
-+ strbuf._file = _NFILE;
-+ return (_doscan(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=_doscan],[
-+cf_cv_func_vsscanf=no])])])])
-+
-+case $cf_cv_func_vsscanf in #(vi
-+vsscanf) AC_DEFINE(HAVE_VSSCANF);; #(vi
-+vfscanf) AC_DEFINE(HAVE_VFSCANF);; #(vi
-+_doscan) AC_DEFINE(HAVE__DOSCAN);;
-+esac
-+
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_GCC_ATTRIBUTES version: 9 updated: 2002/12/21 19:25:52
-+dnl -----------------
-+dnl Test for availability of useful gcc __attribute__ directives to quiet
-+dnl compiler warnings. Though useful, not all are supported -- and contrary
-+dnl to documentation, unrecognized directives cause older compilers to barf.
-+AC_DEFUN([CF_GCC_ATTRIBUTES],
-+[
-+if test "$GCC" = yes
-+then
-+cat > conftest.i <<EOF
-+#ifndef GCC_PRINTF
-+#define GCC_PRINTF 0
-+#endif
-+#ifndef GCC_SCANF
-+#define GCC_SCANF 0
-+#endif
-+#ifndef GCC_NORETURN
-+#define GCC_NORETURN /* nothing */
-+#endif
-+#ifndef GCC_UNUSED
-+#define GCC_UNUSED /* nothing */
-+#endif
-+EOF
-+if test "$GCC" = yes
-+then
-+ AC_CHECKING([for $CC __attribute__ directives])
-+cat > conftest.$ac_ext <<EOF
-+#line __oline__ "configure"
-+#include "confdefs.h"
-+#include "conftest.h"
-+#include "conftest.i"
-+#if GCC_PRINTF
-+#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
-+#else
-+#define GCC_PRINTFLIKE(fmt,var) /*nothing*/
-+#endif
-+#if GCC_SCANF
-+#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
-+#else
-+#define GCC_SCANFLIKE(fmt,var) /*nothing*/
-+#endif
-+extern void wow(char *,...) GCC_SCANFLIKE(1,2);
-+extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
-+extern void foo(void) GCC_NORETURN;
-+int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
-+EOF
-+ for cf_attribute in scanf printf unused noreturn
-+ do
-+ CF_UPPER(CF_ATTRIBUTE,$cf_attribute)
-+ cf_directive="__attribute__(($cf_attribute))"
-+ echo "checking for $CC $cf_directive" 1>&AC_FD_CC
-+ case $cf_attribute in
-+ scanf|printf)
-+ cat >conftest.h <<EOF
-+#define GCC_$CF_ATTRIBUTE 1
-+EOF
-+ ;;
-+ *)
-+ cat >conftest.h <<EOF
-+#define GCC_$CF_ATTRIBUTE $cf_directive
-+EOF
-+ ;;
-+ esac
-+ if AC_TRY_EVAL(ac_compile); then
-+ test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
-+ cat conftest.h >>confdefs.h
-+ fi
-+ done
-+else
-+ fgrep define conftest.i >>confdefs.h
-+fi
-+rm -rf conftest*
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_GCC_VERSION version: 3 updated: 2003/09/06 19:16:57
-+dnl --------------
-+dnl Find version of gcc
-+AC_DEFUN([CF_GCC_VERSION],[
-+AC_REQUIRE([AC_PROG_CC])
-+GCC_VERSION=none
-+if test "$GCC" = yes ; then
-+ AC_MSG_CHECKING(version of $CC)
-+ GCC_VERSION="`${CC} --version|sed -e '2,$d' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
-+ test -z "$GCC_VERSION" && GCC_VERSION=unknown
-+ AC_MSG_RESULT($GCC_VERSION)
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_GCC_WARNINGS version: 15 updated: 2003/07/05 18:42:30
-+dnl ---------------
-+dnl Check if the compiler supports useful warning options. There's a few that
-+dnl we don't use, simply because they're too noisy:
-+dnl
-+dnl -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)
-+dnl -Wredundant-decls (system headers make this too noisy)
-+dnl -Wtraditional (combines too many unrelated messages, only a few useful)
-+dnl -Wwrite-strings (too noisy, but should review occasionally). This
-+dnl is enabled for ncurses using "--enable-const".
-+dnl -pedantic
-+dnl
-+AC_DEFUN([CF_GCC_WARNINGS],
-+[
-+AC_REQUIRE([CF_GCC_VERSION])
-+if test "$GCC" = yes
-+then
-+ cat > conftest.$ac_ext <<EOF
-+#line __oline__ "configure"
-+int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
-+EOF
-+ AC_CHECKING([for $CC warning options])
-+ cf_save_CFLAGS="$CFLAGS"
-+ EXTRA_CFLAGS="-W -Wall"
-+ cf_warn_CONST=""
-+ test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
-+ for cf_opt in \
-+ Wbad-function-cast \
-+ Wcast-align \
-+ Wcast-qual \
-+ Winline \
-+ Wmissing-declarations \
-+ Wmissing-prototypes \
-+ Wnested-externs \
-+ Wpointer-arith \
-+ Wshadow \
-+ Wstrict-prototypes \
-+ Wundef $cf_warn_CONST
-+ do
-+ CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
-+ if AC_TRY_EVAL(ac_compile); then
-+ test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
-+ case $cf_opt in #(vi
-+ Wcast-qual) #(vi
-+ CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
-+ ;;
-+ Winline) #(vi
-+ case $GCC_VERSION in
-+ 3.3*)
-+ CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
-+ continue;;
-+ esac
-+ ;;
-+ esac
-+ EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
-+ fi
-+ done
-+ rm -f conftest*
-+ CFLAGS="$cf_save_CFLAGS"
-+fi
-+AC_SUBST(EXTRA_CFLAGS)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_GNAT_TRY_RUN version: 2 updated: 1998/07/19 00:25:18
-+dnl ---------------
-+dnl Verify that a test program compiles and runs with GNAT
-+dnl $cf_ada_make is set to the program that compiles/links
-+AC_DEFUN([CF_GNAT_TRY_RUN],
-+[
-+rm -f conftest*
-+cat >>conftest.ads <<CF_EOF
-+$1
-+CF_EOF
-+cat >>conftest.adb <<CF_EOF
-+$2
-+CF_EOF
-+if ( $cf_ada_make conftest 1>&AC_FD_CC 2>&1 ) ; then
-+ if ( ./conftest 1>&AC_FD_CC 2>&1 ) ; then
-+ifelse($3,, :,[ $3])
-+ifelse($4,,,[ else
-+ $4])
-+ fi
-+ifelse($4,,,[else
-+ $4])
-+fi
-+rm -f conftest*
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_GNAT_VERSION version: 11 updated: 2003/09/06 19:42:09
-+dnl ---------------
-+dnl Verify version of GNAT.
-+AC_DEFUN([CF_GNAT_VERSION],
-+[
-+AC_MSG_CHECKING(for gnat version)
-+cf_gnat_version=`${cf_ada_make-gnatmake} -v 2>&1 | grep '[[0-9]].[[0-9]][[0-9]]*' |\
-+ sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'`
-+AC_MSG_RESULT($cf_gnat_version)
-+
-+case $cf_gnat_version in
-+ 3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*)
-+ cf_cv_prog_gnat_correct=yes
-+ ;;
-+ *) echo Unsupported GNAT version $cf_gnat_version. Required is 3.11 or better. Disabling Ada95 binding.
-+ cf_cv_prog_gnat_correct=no
-+ ;;
-+esac
-+case $cf_gnat_version in
-+ 3.[[1-9]]*|[[4-9]].*)
-+ cf_compile_generics=generics
-+ cf_generic_objects="\$(GENOBJS)"
-+ ;;
-+ *) cf_compile_generics=
-+ cf_generic_objects=
-+ ;;
-+esac
-+])
-+dnl ---------------------------------------------------------------------------
-+dnl CF_GNU_SOURCE version: 3 updated: 2000/10/29 23:30:53
-+dnl -------------
-+dnl Check if we must define _GNU_SOURCE to get a reasonable value for
-+dnl _XOPEN_SOURCE, upon which many POSIX definitions depend. This is a defect
-+dnl (or misfeature) of glibc2, which breaks portability of many applications,
-+dnl since it is interwoven with GNU extensions.
-+dnl
-+dnl Well, yes we could work around it...
-+AC_DEFUN([CF_GNU_SOURCE],
-+[
-+AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[
-+AC_TRY_COMPILE([#include <sys/types.h>],[
-+#ifndef _XOPEN_SOURCE
-+make an error
-+#endif],
-+ [cf_cv_gnu_source=no],
-+ [cf_save="$CPPFLAGS"
-+ CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
-+ AC_TRY_COMPILE([#include <sys/types.h>],[
-+#ifdef _XOPEN_SOURCE
-+make an error
-+#endif],
-+ [cf_cv_gnu_source=no],
-+ [cf_cv_gnu_source=yes])
-+ CPPFLAGS="$cf_save"
-+ ])
-+])
-+test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_GPP_LIBRARY version: 8 updated: 2003/02/02 01:41:46
-+dnl --------------
-+dnl If we're trying to use g++, test if libg++ is installed (a rather common
-+dnl problem :-). If we have the compiler but no library, we'll be able to
-+dnl configure, but won't be able to build the c++ demo program.
-+AC_DEFUN([CF_GPP_LIBRARY],
-+[
-+cf_cxx_library=unknown
-+case $cf_cv_system_name in #(vi
-+os2*) #(vi
-+ cf_gpp_libname=gpp
-+ ;;
-+*)
-+ cf_gpp_libname=g++
-+ ;;
-+esac
-+if test "$GXX" = yes; then
-+ AC_MSG_CHECKING([for lib$cf_gpp_libname])
-+ cf_save="$LIBS"
-+ LIBS="$LIBS -l$cf_gpp_libname"
-+ AC_TRY_LINK([
-+#include <$cf_gpp_libname/builtin.h>
-+ ],
-+ [two_arg_error_handler_t foo2 = lib_error_handler],
-+ [cf_cxx_library=yes
-+ CXXLIBS="$CXXLIBS -l$cf_gpp_libname"
-+ if test "$cf_gpp_libname" = cpp ; then
-+ AC_DEFINE(HAVE_GPP_BUILTIN_H)
-+ else
-+ AC_DEFINE(HAVE_GXX_BUILTIN_H)
-+ fi],
-+ [AC_TRY_LINK([
-+#include <builtin.h>
-+ ],
-+ [two_arg_error_handler_t foo2 = lib_error_handler],
-+ [cf_cxx_library=yes
-+ CXXLIBS="$CXXLIBS -l$cf_gpp_libname"
-+ AC_DEFINE(HAVE_BUILTIN_H)],
-+ [cf_cxx_library=no])])
-+ LIBS="$cf_save"
-+ AC_MSG_RESULT($cf_cxx_library)
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_GXX_VERSION version: 3 updated: 2003/09/06 19:16:21
-+dnl --------------
-+dnl Check for version of g++
-+AC_DEFUN([CF_GXX_VERSION],[
-+AC_REQUIRE([AC_PROG_CPP])
-+GXX_VERSION=none
-+if test "$GXX" = yes; then
-+ AC_MSG_CHECKING(version of g++)
-+ GXX_VERSION="`${CXX-g++} --version|sed -e '2,$d'`"
-+ AC_MSG_RESULT($GXX_VERSION)
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_INCLUDE_DIRS version: 4 updated: 2002/12/01 00:12:15
-+dnl ---------------
-+dnl Construct the list of include-options according to whether we're building
-+dnl in the source directory or using '--srcdir=DIR' option. If we're building
-+dnl with gcc, don't append the includedir if it happens to be /usr/include,
-+dnl since that usually breaks gcc's shadow-includes.
-+AC_DEFUN([CF_INCLUDE_DIRS],
-+[
-+CPPFLAGS="-I. -I../include $CPPFLAGS"
-+if test "$srcdir" != "."; then
-+ CPPFLAGS="-I\$(srcdir)/../include $CPPFLAGS"
-+fi
-+if test "$GCC" != yes; then
-+ CPPFLAGS="$CPPFLAGS -I\$(includedir)"
-+elif test "$includedir" != "/usr/include"; then
-+ if test "$includedir" = '${prefix}/include' ; then
-+ if test $prefix != /usr ; then
-+ CPPFLAGS="$CPPFLAGS -I\$(includedir)"
-+ fi
-+ else
-+ CPPFLAGS="$CPPFLAGS -I\$(includedir)"
-+ fi
-+fi
-+AC_SUBST(CPPFLAGS)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_ISASCII version: 3 updated: 2000/08/12 23:18:52
-+dnl ----------
-+dnl Check if we have either a function or macro for 'isascii()'.
-+AC_DEFUN([CF_ISASCII],
-+[
-+AC_MSG_CHECKING(for isascii)
-+AC_CACHE_VAL(cf_cv_have_isascii,[
-+ AC_TRY_LINK([#include <ctype.h>],[int x = isascii(' ')],
-+ [cf_cv_have_isascii=yes],
-+ [cf_cv_have_isascii=no])
-+])dnl
-+AC_MSG_RESULT($cf_cv_have_isascii)
-+test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_LIBUTF8 version: 2 updated: 2002/01/19 22:51:32
-+dnl ----------
-+dnl Check for libutf8
-+AC_DEFUN([CF_LIBUTF8],
-+[
-+AC_CACHE_CHECK(for putwc in libutf8,cf_cv_libutf8,[
-+ cf_save_LIBS="$LIBS"
-+ LIBS="-lutf8 $LIBS"
-+AC_TRY_LINK([
-+#include <libutf8.h>],[putwc(0,0);],
-+ [cf_cv_libutf8=yes],
-+ [cf_cv_libutf8=no])
-+ LIBS="$cf_save_LIBS"
-+])
-+
-+if test "$cf_cv_libutf8" = yes ; then
-+ AC_DEFINE(HAVE_LIBUTF8_H)
-+ LIBS="-lutf8 $LIBS"
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_LIB_PREFIX version: 7 updated: 2001/01/12 01:23:48
-+dnl -------------
-+dnl Compute the library-prefix for the given host system
-+dnl $1 = variable to set
-+AC_DEFUN([CF_LIB_PREFIX],
-+[
-+ case $cf_cv_system_name in
-+ OS/2*) LIB_PREFIX='' ;;
-+ os2*) LIB_PREFIX='' ;;
-+ *) LIB_PREFIX='lib' ;;
-+ esac
-+ifelse($1,,,[$1=$LIB_PREFIX])
-+ AC_SUBST(LIB_PREFIX)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_LIB_RULES version: 30 updated: 2004/01/10 15:50:50
-+dnl ------------
-+dnl Append definitions and rules for the given models to the subdirectory
-+dnl Makefiles, and the recursion rule for the top-level Makefile. If the
-+dnl subdirectory is a library-source directory, modify the LIBRARIES list in
-+dnl the corresponding makefile to list the models that we'll generate.
-+dnl
-+dnl For shared libraries, make a list of symbolic links to construct when
-+dnl generating each library. The convention used for Linux is the simplest
-+dnl one:
-+dnl lib<name>.so ->
-+dnl lib<name>.so.<major> ->
-+dnl lib<name>.so.<maj>.<minor>
-+AC_DEFUN([CF_LIB_RULES],
-+[
-+CF_LIB_PREFIX(cf_prefix)
-+AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
-+for cf_dir in $SRC_SUBDIRS
-+do
-+ if test -f $srcdir/$cf_dir/modules; then
-+
-+ IMPORT_LIB=
-+ SHARED_LIB=
-+ LIBS_TO_MAKE=
-+ for cf_item in $CF_LIST_MODELS
-+ do
-+ CF_LIB_SUFFIX($cf_item,cf_suffix)
-+ if test $cf_item = shared ; then
-+ if test "$cf_cv_do_symlinks" = yes ; then
-+ case "$cf_cv_shlib_version" in #(vi
-+ rel) #(vi
-+ case "$cf_cv_system_name" in #(vi
-+ darwin*) cf_suffix='.$(REL_VERSION)'"$cf_suffix" ;; #(vi
-+ *) cf_suffix="$cf_suffix"'.$(REL_VERSION)' ;;
-+ esac
-+ ;;
-+ abi)
-+ case "$cf_cv_system_name" in #(vi
-+ darwin*) cf_suffix='.$(ABI_VERSION)'"$cf_suffix" ;; #(vi
-+ *) cf_suffix="$cf_suffix"'.$(ABI_VERSION)' ;;
-+ esac
-+ ;;
-+ esac
-+ fi
-+ # cygwin needs import library, and has unique naming convention
-+ # use autodetected ${cf_prefix} for import lib and static lib, but
-+ # use 'cyg' prefix for shared lib.
-+ if test $cf_cv_shlib_version = cygdll ; then
-+ SHARED_LIB="../lib/cyg${cf_dir}\$(ABI_VERSION).dll"
-+ IMPORT_LIB="../lib/${cf_prefix}${cf_dir}.dll.a"
-+ LIBS_TO_MAKE="$LIBS_TO_MAKE \$(SHARED_LIB) \$(IMPORT_LIB)"
-+ continue
-+ fi
-+ fi
-+ LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/${cf_prefix}${cf_dir}${cf_suffix}"
-+ done
-+
-+ if test $cf_dir = ncurses ; then
-+ cf_subsets="$LIB_SUBSETS"
-+ cf_termlib=`echo "$cf_subsets" |sed -e 's/ .*$//'`
-+ if test "$cf_termlib" != "$cf_subsets" ; then
-+ cf_item=`echo $LIBS_TO_MAKE |sed -e s%$LIB_NAME%$TINFO_NAME%g`
-+ LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE"
-+ fi
-+ else
-+ cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'`
-+ fi
-+
-+ sed -e "s%@LIBS_TO_MAKE@%$LIBS_TO_MAKE%" \
-+ -e "s%@IMPORT_LIB@%$IMPORT_LIB%" \
-+ -e "s%@SHARED_LIB@%$SHARED_LIB%" \
-+ $cf_dir/Makefile >$cf_dir/Makefile.out
-+ mv $cf_dir/Makefile.out $cf_dir/Makefile
-+
-+ $AWK -f $srcdir/mk-0th.awk \
-+ libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" \
-+ $srcdir/$cf_dir/modules >>$cf_dir/Makefile
-+
-+ for cf_subset in $cf_subsets
-+ do
-+ cf_subdirs=
-+ for cf_item in $CF_LIST_MODELS
-+ do
-+ echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})"
-+ CF_UPPER(CF_ITEM,$cf_item)
-+ CF_LIB_SUFFIX($cf_item,cf_suffix)
-+ CF_OBJ_SUBDIR($cf_item,cf_subdir)
-+
-+ # These dependencies really are for development, not
-+ # builds, but they are useful in porting, too.
-+ cf_depend="../include/ncurses_cfg.h"
-+ if test "$srcdir" = "."; then
-+ cf_reldir="."
-+ else
-+ cf_reldir="\$(srcdir)"
-+ fi
-+
-+ if test -f $srcdir/$cf_dir/$cf_dir.priv.h; then
-+ cf_depend="$cf_depend $cf_reldir/$cf_dir.priv.h"
-+ elif test -f $srcdir/$cf_dir/curses.priv.h; then
-+ cf_depend="$cf_depend $cf_reldir/curses.priv.h"
-+ fi
-+
-+ $AWK -f $srcdir/mk-1st.awk \
-+ name=$cf_dir \
-+ traces=$LIB_TRACING \
-+ MODEL=$CF_ITEM \
-+ model=$cf_subdir \
-+ prefix=$cf_prefix \
-+ suffix=$cf_suffix \
-+ subset=$cf_subset \
-+ ShlibVer=$cf_cv_shlib_version \
-+ ShlibVerInfix=$cf_cv_shlib_version_infix \
-+ DoLinks=$cf_cv_do_symlinks \
-+ rmSoLocs=$cf_cv_rm_so_locs \
-+ ldconfig="$LDCONFIG" \
-+ overwrite=$WITH_OVERWRITE \
-+ depend="$cf_depend" \
-+ host="$host" \
-+ $srcdir/$cf_dir/modules >>$cf_dir/Makefile
-+ for cf_subdir2 in $cf_subdirs lib
-+ do
-+ test $cf_subdir = $cf_subdir2 && break
-+ done
-+ test "${cf_subset}.${cf_subdir2}" != "${cf_subset}.${cf_subdir}" && \
-+ $AWK -f $srcdir/mk-2nd.awk \
-+ name=$cf_dir \
-+ traces=$LIB_TRACING \
-+ MODEL=$CF_ITEM \
-+ model=$cf_subdir \
-+ subset=$cf_subset \
-+ srcdir=$srcdir \
-+ echo=$WITH_ECHO \
-+ $srcdir/$cf_dir/modules >>$cf_dir/Makefile
-+ cf_subdirs="$cf_subdirs $cf_subdir"
-+ done
-+ done
-+ fi
-+
-+ echo ' cd '$cf_dir' && $(MAKE) $(CF_MFLAGS) [$]@' >>Makefile
-+done
-+
-+for cf_dir in $SRC_SUBDIRS
-+do
-+ if test -f $cf_dir/Makefile ; then
-+ case "$cf_dir" in
-+ Ada95) #(vi
-+ echo 'libs \' >> Makefile
-+ echo 'install.libs \' >> Makefile
-+ echo 'uninstall.libs ::' >> Makefile
-+ echo ' cd '$cf_dir' && $(MAKE) $(CF_MFLAGS) [$]@' >> Makefile
-+ ;;
-+ esac
-+ fi
-+
-+ if test -f $srcdir/$cf_dir/modules; then
-+ echo >> Makefile
-+ if test -f $srcdir/$cf_dir/headers; then
-+cat >> Makefile <<CF_EOF
-+install.includes \\
-+uninstall.includes \\
-+CF_EOF
-+ fi
-+if test "$cf_dir" != "c++" ; then
-+echo 'lint \' >> Makefile
-+fi
-+cat >> Makefile <<CF_EOF
-+libs \\
-+lintlib \\
-+install.libs \\
-+uninstall.libs \\
-+install.$cf_dir \\
-+uninstall.$cf_dir ::
-+ cd $cf_dir && \$(MAKE) \$(CF_MFLAGS) \[$]@
-+CF_EOF
-+ elif test -f $srcdir/$cf_dir/headers; then
-+cat >> Makefile <<CF_EOF
-+
-+libs \\
-+install.libs \\
-+uninstall.libs \\
-+install.includes \\
-+uninstall.includes ::
-+ cd $cf_dir && \$(MAKE) \$(CF_MFLAGS) \[$]@
-+CF_EOF
-+fi
-+done
-+
-+cat >> Makefile <<CF_EOF
-+
-+install.data \\
-+uninstall.data ::
-+$MAKE_TERMINFO cd misc && \$(MAKE) \$(CF_MFLAGS) \[$]@
-+
-+install.man \\
-+uninstall.man ::
-+ cd man && \$(MAKE) \$(CF_MFLAGS) \[$]@
-+
-+distclean ::
-+ rm -f config.cache config.log config.status Makefile include/ncurses_cfg.h
-+ rm -f headers.sh headers.sed
-+ rm -rf \$(DIRS_TO_MAKE)
-+CF_EOF
-+
-+# Special case: tack's manpage lives in its own directory.
-+if test -d tack ; then
-+if test -f $srcdir/$tack.h; then
-+cat >> Makefile <<CF_EOF
-+
-+install.man \\
-+uninstall.man ::
-+ cd tack && \$(MAKE) \$(CF_MFLAGS) \[$]@
-+CF_EOF
-+fi
-+fi
-+
-+dnl If we're installing into a subdirectory of /usr/include, etc., we should
-+dnl prepend the subdirectory's name to the "#include" paths. It won't hurt
-+dnl anything, and will make it more standardized. It's awkward to decide this
-+dnl at configuration because of quoting, so we'll simply make all headers
-+dnl installed via a script that can do the right thing.
-+
-+rm -f headers.sed headers.sh
-+
-+dnl ( generating this script makes the makefiles a little tidier :-)
-+echo creating headers.sh
-+cat >headers.sh <<CF_EOF
-+#! /bin/sh
-+# This shell script is generated by the 'configure' script. It is invoked in a
-+# subdirectory of the build tree. It generates a sed-script in the parent
-+# directory that is used to adjust includes for header files that reside in a
-+# subdirectory of /usr/include, etc.
-+PRG=""
-+while test \[$]# != 3
-+do
-+PRG="\$PRG \[$]1"; shift
-+done
-+DST=\[$]1
-+REF=\[$]2
-+SRC=\[$]3
-+TMPSRC=\${TMPDIR-/tmp}/\`basename \$SRC\`\$\$
-+TMPSED=\${TMPDIR-/tmp}/headers.sed\$\$
-+echo installing \$SRC in \$DST
-+CF_EOF
-+if test $WITH_CURSES_H = yes; then
-+ cat >>headers.sh <<CF_EOF
-+case \$DST in
-+/*/include/*)
-+ END=\`basename \$DST\`
-+ for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
-+ do
-+ NAME=\`basename \$i\`
-+ echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
-+ done
-+ ;;
-+*)
-+ echo "" >> \$TMPSED
-+ ;;
-+esac
-+CF_EOF
-+else
-+ cat >>headers.sh <<CF_EOF
-+case \$DST in
-+/*/include/*)
-+ END=\`basename \$DST\`
-+ for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
-+ do
-+ NAME=\`basename \$i\`
-+ if test "\$NAME" = "curses.h"
-+ then
-+ echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
-+ NAME=ncurses.h
-+ fi
-+ echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
-+ done
-+ ;;
-+*)
-+ echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
-+ ;;
-+esac
-+CF_EOF
-+fi
-+cat >>headers.sh <<CF_EOF
-+rm -f \$TMPSRC
-+sed -f \$TMPSED \$SRC > \$TMPSRC
-+NAME=\`basename \$SRC\`
-+CF_EOF
-+if test $WITH_CURSES_H != yes; then
-+ cat >>headers.sh <<CF_EOF
-+test "\$NAME" = "curses.h" && NAME=ncurses.h
-+CF_EOF
-+fi
-+cat >>headers.sh <<CF_EOF
-+# Just in case someone gzip'd manpages, remove the conflicting copy.
-+test -f \$DST/\$NAME.gz && rm -f \$DST/\$NAME.gz
-+
-+eval \$PRG \$TMPSRC \$DST/\$NAME
-+rm -f \$TMPSRC \$TMPSED
-+CF_EOF
-+
-+chmod 0755 headers.sh
-+
-+for cf_dir in $SRC_SUBDIRS
-+do
-+ if test -f $srcdir/$cf_dir/headers; then
-+ cat >>$cf_dir/Makefile <<CF_EOF
-+\$(DESTDIR)\$(includedir) :
-+ sh \$(srcdir)/../mkinstalldirs \[$]@
-+
-+install \\
-+install.libs \\
-+install.includes :: \$(AUTO_SRC) \$(DESTDIR)\$(includedir) \\
-+CF_EOF
-+ j=""
-+ for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
-+ do
-+ test -n "$j" && echo " $j \\" >>$cf_dir/Makefile
-+ j=$i
-+ done
-+ echo " $j" >>$cf_dir/Makefile
-+ for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
-+ do
-+ echo " @ (cd \$(DESTDIR)\$(includedir) && rm -f `basename $i`) ; ../headers.sh \$(INSTALL_DATA) \$(DESTDIR)\$(includedir) \$(srcdir) $i" >>$cf_dir/Makefile
-+ test $i = curses.h && test $WITH_CURSES_H = yes && echo " @ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h && \$(LN_S) curses.h ncurses.h)" >>$cf_dir/Makefile
-+ done
-+
-+ cat >>$cf_dir/Makefile <<CF_EOF
-+
-+uninstall \\
-+uninstall.libs \\
-+uninstall.includes ::
-+CF_EOF
-+ for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
-+ do
-+ i=`basename $i`
-+ echo " -@ (cd \$(DESTDIR)\$(includedir) && rm -f $i)" >>$cf_dir/Makefile
-+ test $i = curses.h && echo " -@ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h)" >>$cf_dir/Makefile
-+ done
-+ fi
-+
-+ if test -f $srcdir/$cf_dir/modules; then
-+ if test "$cf_dir" != "c++" ; then
-+ cat >>$cf_dir/Makefile <<"CF_EOF"
-+depend : $(AUTO_SRC)
-+ makedepend -- $(CPPFLAGS) -- $(C_SRC)
-+
-+# DO NOT DELETE THIS LINE -- make depend depends on it.
-+CF_EOF
-+ fi
-+ fi
-+done
-+
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_LIB_SUFFIX version: 13 updated: 2003/11/01 16:09:07
-+dnl -------------
-+dnl Compute the library file-suffix from the given model name
-+dnl $1 = model name
-+dnl $2 = variable to set
-+dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
-+AC_DEFUN([CF_LIB_SUFFIX],
-+[
-+ AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
-+ case $1 in
-+ libtool) $2='.la' ;;
-+ normal) $2='.a' ;;
-+ debug) $2='_g.a' ;;
-+ profile) $2='_p.a' ;;
-+ shared)
-+ case $cf_cv_system_name in
-+ cygwin*) $2='.dll' ;;
-+ darwin*) $2='.dylib' ;;
-+ hpux*)
-+ case $target in
-+ ia64*) $2='.so' ;;
-+ *) $2='.sl' ;;
-+ esac
-+ ;;
-+ *) $2='.so' ;;
-+ esac
-+ esac
-+ test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_LIB_TYPE version: 4 updated: 2000/10/20 22:57:49
-+dnl -----------
-+dnl Compute the string to append to -library from the given model name
-+dnl $1 = model name
-+dnl $2 = variable to set
-+dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
-+AC_DEFUN([CF_LIB_TYPE],
-+[
-+ case $1 in
-+ libtool) $2='' ;;
-+ normal) $2='' ;;
-+ debug) $2='_g' ;;
-+ profile) $2='_p' ;;
-+ shared) $2='' ;;
-+ esac
-+ test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_LINK_DATAONLY version: 6 updated: 2003/02/02 01:41:46
-+dnl ----------------
-+dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
-+dnl only data (i.e., no functions), for example NeXT. On those systems we'll
-+dnl have to provide wrappers for global tables to ensure they're linked
-+dnl properly.
-+AC_DEFUN([CF_LINK_DATAONLY],
-+[
-+AC_MSG_CHECKING([if data-only library module links])
-+AC_CACHE_VAL(cf_cv_link_dataonly,[
-+ rm -f conftest.a
-+ cat >conftest.$ac_ext <<EOF
-+#line __oline__ "configure"
-+int testdata[[3]] = { 123, 456, 789 };
-+EOF
-+ if AC_TRY_EVAL(ac_compile) ; then
-+ mv conftest.o data.o && \
-+ ( $AR $AR_OPTS conftest.a data.o ) 2>&AC_FD_CC 1>/dev/null
-+ fi
-+ rm -f conftest.$ac_ext data.o
-+ cat >conftest.$ac_ext <<EOF
-+#line __oline__ "configure"
-+int testfunc()
-+{
-+#if defined(NeXT)
-+ exit(1); /* I'm told this linker is broken */
-+#else
-+ extern int testdata[[3]];
-+ return testdata[[0]] == 123
-+ && testdata[[1]] == 456
-+ && testdata[[2]] == 789;
-+#endif
-+}
-+EOF
-+ if AC_TRY_EVAL(ac_compile); then
-+ mv conftest.o func.o && \
-+ ( $AR $AR_OPTS conftest.a func.o ) 2>&AC_FD_CC 1>/dev/null
-+ fi
-+ rm -f conftest.$ac_ext func.o
-+ ( eval $RANLIB conftest.a ) 2>&AC_FD_CC >/dev/null
-+ cf_saveLIBS="$LIBS"
-+ LIBS="conftest.a $LIBS"
-+ AC_TRY_RUN([
-+ int main()
-+ {
-+ extern int testfunc();
-+ exit (!testfunc());
-+ }
-+ ],
-+ [cf_cv_link_dataonly=yes],
-+ [cf_cv_link_dataonly=no],
-+ [cf_cv_link_dataonly=unknown])
-+ LIBS="$cf_saveLIBS"
-+ ])
-+AC_MSG_RESULT($cf_cv_link_dataonly)
-+
-+if test "$cf_cv_link_dataonly" = no ; then
-+ AC_DEFINE(BROKEN_LINKER)
-+ BROKEN_LINKER=1
-+fi
-+
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_LINK_FUNCS version: 5 updated: 2003/02/02 01:41:46
-+dnl -------------
-+dnl Most Unix systems have both link and symlink, a few don't have symlink.
-+dnl A few non-Unix systems implement symlink, but not link.
-+dnl A few non-systems implement neither (or have nonfunctional versions).
-+AC_DEFUN([CF_LINK_FUNCS],
-+[
-+AC_CHECK_FUNCS( \
-+ remove \
-+ unlink )
-+
-+if test "$cross_compiling" = yes ; then
-+ AC_CHECK_FUNCS( \
-+ link \
-+ symlink )
-+else
-+ AC_CACHE_CHECK(if link/symlink functions work,cf_cv_link_funcs,[
-+ cf_cv_link_funcs=
-+ for cf_func in link symlink ; do
-+ AC_TRY_RUN([
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#ifdef HAVE_UNISTD_H
-+#include <unistd.h>
-+#endif
-+int main()
-+{
-+ int fail = 0;
-+ char *src = "config.log";
-+ char *dst = "conftest.chk";
-+ struct stat src_sb;
-+ struct stat dst_sb;
-+
-+ stat(src, &src_sb);
-+ fail = ($cf_func("config.log", "conftest.chk") < 0)
-+ || (stat(dst, &dst_sb) < 0)
-+ || (dst_sb.st_mtime != src_sb.st_mtime);
-+#ifdef HAVE_UNLINK
-+ unlink(dst);
-+#else
-+ remove(dst);
-+#endif
-+ exit (fail);
-+}
-+ ],[
-+ cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
-+ eval 'ac_cv_func_'$cf_func'=yes'],[
-+ eval 'ac_cv_func_'$cf_func'=no'],[
-+ eval 'ac_cv_func_'$cf_func'=error'])
-+ done
-+ test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
-+ ])
-+ test "$ac_cv_func_link" = yes && AC_DEFINE(HAVE_LINK)
-+ test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK)
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_MAKEFLAGS version: 9 updated: 2001/12/30 18:17:27
-+dnl ------------
-+dnl Some 'make' programs support $(MAKEFLAGS), some $(MFLAGS), to pass 'make'
-+dnl options to lower-levels. It's very useful for "make -n" -- if we have it.
-+dnl (GNU 'make' does both, something POSIX 'make', which happens to make the
-+dnl $(MAKEFLAGS) variable incompatible because it adds the assignments :-)
-+AC_DEFUN([CF_MAKEFLAGS],
-+[
-+AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
-+ cf_cv_makeflags=''
-+ for cf_option in '-$(MAKEFLAGS)' '$(MFLAGS)'
-+ do
-+ cat >cf_makeflags.tmp <<CF_EOF
-+SHELL = /bin/sh
-+all :
-+ @ echo '.$cf_option'
-+CF_EOF
-+ cf_result=`${MAKE-make} -k -f cf_makeflags.tmp 2>/dev/null`
-+ case "$cf_result" in
-+ .*k)
-+ cf_result=`${MAKE-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
-+ case "$cf_result" in
-+ .*CC=*) cf_cv_makeflags=
-+ ;;
-+ *) cf_cv_makeflags=$cf_option
-+ ;;
-+ esac
-+ break
-+ ;;
-+ *) echo no match "$cf_result"
-+ ;;
-+ esac
-+ done
-+ rm -f cf_makeflags.tmp
-+])
-+
-+AC_SUBST(cf_cv_makeflags)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_MAKE_TAGS version: 2 updated: 2000/10/04 09:18:40
-+dnl ------------
-+dnl Generate tags/TAGS targets for makefiles. Do not generate TAGS if we have
-+dnl a monocase filesystem.
-+AC_DEFUN([CF_MAKE_TAGS],[
-+AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
-+AC_CHECK_PROG(MAKE_LOWER_TAGS, ctags, yes, no)
-+
-+if test "$cf_cv_mixedcase" = yes ; then
-+ AC_CHECK_PROG(MAKE_UPPER_TAGS, etags, yes, no)
-+else
-+ MAKE_UPPER_TAGS=no
-+fi
-+
-+if test "$MAKE_UPPER_TAGS" = yes ; then
-+ MAKE_UPPER_TAGS=
-+else
-+ MAKE_UPPER_TAGS="#"
-+fi
-+AC_SUBST(MAKE_UPPER_TAGS)
-+
-+if test "$MAKE_LOWER_TAGS" = yes ; then
-+ MAKE_LOWER_TAGS=
-+else
-+ MAKE_LOWER_TAGS="#"
-+fi
-+AC_SUBST(MAKE_LOWER_TAGS)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_MANPAGE_FORMAT version: 7 updated: 2003/12/20 19:30:34
-+dnl -----------------
-+dnl Option to allow user to override automatic configuration of manpage format.
-+dnl There are several special cases:
-+dnl
-+dnl gzip - man checks for, can display gzip'd files
-+dnl compress - man checks for, can display compressed files
-+dnl BSDI - files in the cat-directories are suffixed ".0"
-+dnl formatted - installer should format (put files in cat-directory)
-+dnl catonly - installer should only format, e.g., for a turnkey system.
-+dnl
-+dnl There are other configurations which this macro does not test, e.g., HPUX's
-+dnl compressed manpages (but uncompressed manpages are fine, and HPUX's naming
-+dnl convention would not match our use).
-+AC_DEFUN([CF_MANPAGE_FORMAT],
-+[
-+AC_REQUIRE([CF_PATHSEP])
-+AC_MSG_CHECKING(format of man-pages)
-+
-+AC_ARG_WITH(manpage-format,
-+ [ --with-manpage-format specify manpage-format: gzip/compress/BSDI/normal and
-+ optionally formatted/catonly, e.g., gzip,formatted],
-+ [MANPAGE_FORMAT=$withval],
-+ [MANPAGE_FORMAT=unknown])
-+
-+test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=unknown
-+MANPAGE_FORMAT=`echo "$MANPAGE_FORMAT" | sed -e 's/,/ /g'`
-+
-+cf_unknown=
-+
-+case $MANPAGE_FORMAT in
-+unknown)
-+ if test -z "$MANPATH" ; then
-+ MANPATH="/usr/man:/usr/share/man"
-+ fi
-+
-+ # look for the 'date' man-page (it's most likely to be installed!)
-+ MANPAGE_FORMAT=
-+ cf_preform=no
-+ cf_catonly=yes
-+ cf_example=date
-+
-+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATHSEP}"
-+ for cf_dir in $MANPATH; do
-+ test -z "$cf_dir" && cf_dir=/usr/man
-+ for cf_name in $cf_dir/man*/$cf_example.[[01]]* $cf_dir/cat*/$cf_example.[[01]]* $cf_dir/man*/$cf_example $cf_dir/cat*/$cf_example
-+ do
-+ cf_test=`echo $cf_name | sed -e 's/*//'`
-+ if test "x$cf_test" = "x$cf_name" ; then
-+
-+ case "$cf_name" in
-+ *.gz) MANPAGE_FORMAT="$MANPAGE_FORMAT gzip";;
-+ *.Z) MANPAGE_FORMAT="$MANPAGE_FORMAT compress";;
-+ *.0) MANPAGE_FORMAT="$MANPAGE_FORMAT BSDI";;
-+ *) MANPAGE_FORMAT="$MANPAGE_FORMAT normal";;
-+ esac
-+
-+ case "$cf_name" in
-+ $cf_dir/man*)
-+ cf_catonly=no
-+ ;;
-+ $cf_dir/cat*)
-+ cf_preform=yes
-+ ;;
-+ esac
-+ break
-+ fi
-+
-+ # if we found a match in either man* or cat*, stop looking
-+ if test -n "$MANPAGE_FORMAT" ; then
-+ cf_found=no
-+ test "$cf_preform" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT formatted"
-+ test "$cf_catonly" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT catonly"
-+ case "$cf_name" in
-+ $cf_dir/cat*)
-+ cf_found=yes
-+ ;;
-+ esac
-+ test $cf_found=yes && break
-+ fi
-+ done
-+ # only check the first directory in $MANPATH where we find manpages
-+ if test -n "$MANPAGE_FORMAT" ; then
-+ break
-+ fi
-+ done
-+ # if we did not find the example, just assume it is normal
-+ test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=normal
-+ IFS="$ac_save_ifs"
-+ ;;
-+*)
-+ for cf_option in $MANPAGE_FORMAT; do
-+ case $cf_option in #(vi
-+ gzip|compress|BSDI|normal|formatted|catonly)
-+ ;;
-+ *)
-+ cf_unknown="$cf_unknown $cf_option"
-+ ;;
-+ esac
-+ done
-+ ;;
-+esac
-+
-+AC_MSG_RESULT($MANPAGE_FORMAT)
-+if test -n "$cf_unknown" ; then
-+ AC_MSG_WARN(Unexpected manpage-format $cf_unknown)
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_MANPAGE_RENAMES version: 6 updated: 2002/01/19 22:51:32
-+dnl ------------------
-+dnl The Debian people have their own naming convention for manpages. This
-+dnl option lets us override the name of the file containing renaming, or
-+dnl disable it altogether.
-+AC_DEFUN([CF_MANPAGE_RENAMES],
-+[
-+AC_MSG_CHECKING(for manpage renaming)
-+
-+AC_ARG_WITH(manpage-renames,
-+ [ --with-manpage-renames specify manpage-renaming],
-+ [MANPAGE_RENAMES=$withval],
-+ [MANPAGE_RENAMES=yes])
-+
-+case ".$MANPAGE_RENAMES" in #(vi
-+.no) #(vi
-+ ;;
-+.|.yes)
-+ # Debian 'man' program?
-+ if test -f /etc/debian_version ; then
-+ MANPAGE_RENAMES=`cd $srcdir && pwd`/man/man_db.renames
-+ else
-+ MANPAGE_RENAMES=no
-+ fi
-+ ;;
-+esac
-+
-+if test "$MANPAGE_RENAMES" != no ; then
-+ if test -f $srcdir/man/$MANPAGE_RENAMES ; then
-+ MANPAGE_RENAMES=`cd $srcdir/man && pwd`/$MANPAGE_RENAMES
-+ elif test ! -f $MANPAGE_RENAMES ; then
-+ AC_MSG_ERROR(not a filename: $MANPAGE_RENAMES)
-+ fi
-+
-+ test ! -d man && mkdir man
-+
-+ # Construct a sed-script to perform renaming within man-pages
-+ if test -n "$MANPAGE_RENAMES" ; then
-+ test ! -d man && mkdir man
-+ sh $srcdir/man/make_sed.sh $MANPAGE_RENAMES >man/edit_man.sed
-+ fi
-+fi
-+
-+AC_MSG_RESULT($MANPAGE_RENAMES)
-+AC_SUBST(MANPAGE_RENAMES)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_MANPAGE_SYMLINKS version: 4 updated: 2003/12/13 18:01:58
-+dnl -------------------
-+dnl Some people expect each tool to make all aliases for manpages in the
-+dnl man-directory. This accommodates the older, less-capable implementations
-+dnl of 'man', and is optional.
-+AC_DEFUN([CF_MANPAGE_SYMLINKS],
-+[
-+AC_MSG_CHECKING(if manpage aliases will be installed)
-+
-+AC_ARG_WITH(manpage-aliases,
-+ [ --with-manpage-aliases specify manpage-aliases using .so],
-+ [MANPAGE_ALIASES=$withval],
-+ [MANPAGE_ALIASES=yes])
-+
-+AC_MSG_RESULT($MANPAGE_ALIASES)
-+
-+if test "$LN_S" = "ln -s"; then
-+ cf_use_symlinks=yes
-+else
-+ cf_use_symlinks=no
-+fi
-+
-+MANPAGE_SYMLINKS=no
-+if test "$MANPAGE_ALIASES" = yes ; then
-+AC_MSG_CHECKING(if manpage symlinks should be used)
-+
-+AC_ARG_WITH(manpage-symlinks,
-+ [ --with-manpage-symlinks specify manpage-aliases using symlinks],
-+ [MANPAGE_SYMLINKS=$withval],
-+ [MANPAGE_SYMLINKS=$cf_use_symlinks])
-+
-+if test "$$cf_use_symlinks" = no; then
-+if test "$MANPAGE_SYMLINKS" = yes ; then
-+ AC_MSG_WARN(cannot make symlinks, will use .so files)
-+ MANPAGE_SYMLINKS=no
-+fi
-+fi
-+
-+AC_MSG_RESULT($MANPAGE_SYMLINKS)
-+fi
-+
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_MANPAGE_TBL version: 3 updated: 2002/01/19 22:51:32
-+dnl --------------
-+dnl This option causes manpages to be run through tbl(1) to generate tables
-+dnl correctly.
-+AC_DEFUN([CF_MANPAGE_TBL],
-+[
-+AC_MSG_CHECKING(for manpage tbl)
-+
-+AC_ARG_WITH(manpage-tbl,
-+ [ --with-manpage-tbl specify manpage processing with tbl],
-+ [MANPAGE_TBL=$withval],
-+ [MANPAGE_TBL=no])
-+
-+AC_MSG_RESULT($MANPAGE_TBL)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_MAN_PAGES version: 27 updated: 2003/12/20 20:39:45
-+dnl ------------
-+dnl Try to determine if the man-pages on the system are compressed, and if
-+dnl so, what format is used. Use this information to construct a script that
-+dnl will install man-pages.
-+AC_DEFUN([CF_MAN_PAGES],
-+[
-+CF_MANPAGE_FORMAT
-+CF_MANPAGE_RENAMES
-+CF_MANPAGE_SYMLINKS
-+CF_MANPAGE_TBL
-+
-+ if test "$prefix" = "NONE" ; then
-+ cf_prefix="$ac_default_prefix"
-+ else
-+ cf_prefix="$prefix"
-+ fi
-+
-+ case "$MANPAGE_FORMAT" in # (vi
-+ *catonly*) # (vi
-+ cf_format=yes
-+ cf_inboth=no
-+ ;;
-+ *formatted*) # (vi
-+ cf_format=yes
-+ cf_inboth=yes
-+ ;;
-+ *)
-+ cf_format=no
-+ cf_inboth=no
-+ ;;
-+ esac
-+
-+test ! -d man && mkdir man
-+
-+cf_so_strip=
-+cf_compress=
-+case "$MANPAGE_FORMAT" in #(vi
-+*compress*) #(vi
-+ cf_so_strip="Z"
-+ cf_compress=compress
-+ ;;
-+*gzip*) #(vi
-+ cf_so_strip="gz"
-+ cf_compress=gzip
-+ ;;
-+esac
-+
-+cf_edit_man=man/edit_man.sh
-+
-+cat >$cf_edit_man <<CF_EOF
-+#! /bin/sh
-+# this script is generated by the configure-script CF_MAN_PAGES macro.
-+prefix="$cf_prefix"
-+datadir="$datadir"
-+NCURSES_OSPEED="$NCURSES_OSPEED"
-+TERMINFO="$TERMINFO"
-+MKDIRS="sh `cd $srcdir && pwd`/mkinstalldirs"
-+INSTALL="$INSTALL"
-+INSTALL_DATA="$INSTALL_DATA"
-+transform="$program_transform_name"
-+
-+TMP=\${TMPDIR-/tmp}/man\$\$
-+trap "rm -f \$TMP" 0 1 2 5 15
-+
-+form=\[$]1
-+shift || exit 1
-+
-+verb=\[$]1
-+shift || exit 1
-+
-+mandir=\[$]1
-+shift || exit 1
-+
-+srcdir=\[$]1
-+shift || exit 1
-+
-+if test "\$form" = normal ; then
-+ if test "$cf_format" = yes ; then
-+ if test "$cf_inboth" = no ; then
-+ sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
-+ exit $?
-+ fi
-+ fi
-+ cf_subdir=\$mandir/man
-+ cf_tables=$MANPAGE_TBL
-+else
-+ cf_subdir=\$mandir/cat
-+ cf_tables=yes
-+fi
-+
-+# process the list of source-files
-+for i in \[$]* ; do
-+case \$i in #(vi
-+*.orig|*.rej) ;; #(vi
-+*.[[0-9]]*)
-+ section=\`expr "\$i" : '.*\\.\\([[0-9]]\\)[[xm]]*'\`;
-+ if test \$verb = installing ; then
-+ if test ! -d \$cf_subdir\${section} ; then
-+ \$MKDIRS \$cf_subdir\$section
-+ fi
-+ fi
-+ aliases=
-+ source=\`basename \$i\`
-+ inalias=\$source
-+ test ! -f \$inalias && inalias="\$srcdir/\$inalias"
-+ if test ! -f \$inalias ; then
-+ echo .. skipped \$source
-+ continue
-+ fi
-+CF_EOF
-+
-+if test "$MANPAGE_ALIASES" != no ; then
-+cat >>$cf_edit_man <<CF_EOF
-+ aliases=\`sed -f \$srcdir/manlinks.sed \$inalias | sort -u\`
-+CF_EOF
-+fi
-+
-+if test "$MANPAGE_RENAMES" = no ; then
-+cat >>$cf_edit_man <<CF_EOF
-+ # perform program transformations for section 1 man pages
-+ if test \$section = 1 ; then
-+ target=\$cf_subdir\${section}/\`echo \$source|sed "\${transform}"\`
-+ else
-+ target=\$cf_subdir\${section}/\$source
-+ fi
-+CF_EOF
-+else
-+cat >>$cf_edit_man <<CF_EOF
-+ target=\`grep "^\$source" $MANPAGE_RENAMES | $AWK '{print \[$]2}'\`
-+ if test -z "\$target" ; then
-+ echo '? missing rename for '\$source
-+ target="\$source"
-+ fi
-+ target="\$cf_subdir\${section}/\${target}"
-+CF_EOF
-+fi
-+
-+ # replace variables in man page
-+ ifelse($1,,,[
-+ for cf_name in $1
-+ do
-+cat >>$cf_edit_man <<CF_EOF
-+ prog_$cf_name=\`echo $cf_name|sed "\${transform}"\`
-+CF_EOF
-+ done
-+ ])
-+cat >>$cf_edit_man <<CF_EOF
-+ sed -e "s,@DATADIR@,\$datadir," \\
-+ -e "s,@TERMINFO@,\$TERMINFO," \\
-+ -e "s,@NCURSES_OSPEED@,\$NCURSES_OSPEED," \\
-+CF_EOF
-+
-+ ifelse($1,,,[
-+ for cf_name in $1
-+ do
-+ cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
-+cat >>$cf_edit_man <<CF_EOF
-+ -e "s,@$cf_NAME@,\$prog_$cf_name," \\
-+CF_EOF
-+ done
-+ ])
-+
-+if test -f $MANPAGE_RENAMES ; then
-+cat >>$cf_edit_man <<CF_EOF
-+ < \$i | sed -f $srcdir/edit_man.sed >\$TMP
-+CF_EOF
-+else
-+cat >>$cf_edit_man <<CF_EOF
-+ < \$i >\$TMP
-+CF_EOF
-+fi
-+
-+cat >>$cf_edit_man <<CF_EOF
-+if test \$cf_tables = yes ; then
-+ tbl \$TMP >\$TMP.out
-+ mv \$TMP.out \$TMP
-+fi
-+CF_EOF
-+
-+if test $with_curses_h != yes ; then
-+cat >>$cf_edit_man <<CF_EOF
-+ sed -e "/\#[ ]*include/s,curses.h,ncurses.h," < \$TMP >\$TMP.out
-+ mv \$TMP.out \$TMP
-+CF_EOF
-+fi
-+
-+cat >>$cf_edit_man <<CF_EOF
-+ if test \$form = format ; then
-+ nroff -man \$TMP >\$TMP.out
-+ mv \$TMP.out \$TMP
-+ fi
-+CF_EOF
-+
-+if test -n "$cf_compress" ; then
-+cat >>$cf_edit_man <<CF_EOF
-+ if test \$verb = installing ; then
-+ if ( $cf_compress -f \$TMP )
-+ then
-+ mv \$TMP.$cf_so_strip \$TMP
-+ fi
-+ fi
-+ target="\$target.$cf_so_strip"
-+CF_EOF
-+fi
-+
-+case "$MANPAGE_FORMAT" in #(vi
-+*BSDI*)
-+cat >>$cf_edit_man <<CF_EOF
-+ if test \$form = format ; then
-+ # BSDI installs only .0 suffixes in the cat directories
-+ target="\`echo \$target|sed -e 's/\.[[1-9]]\+[[a-z]]*/.0/'\`"
-+ fi
-+CF_EOF
-+ ;;
-+esac
-+
-+cat >>$cf_edit_man <<CF_EOF
-+ suffix=\`basename \$target | sed -e 's%^[[^.]]*%%'\`
-+ if test \$verb = installing ; then
-+ echo \$verb \$target
-+ \$INSTALL_DATA \$TMP \$target
-+ test -n "\$aliases" && (
-+ cd \$cf_subdir\${section} && (
-+ source=\`echo \$target |sed -e 's%^.*/\([[^/]][[^/]]*/[[^/]][[^/]]*$\)%\1%'\`
-+ test -n "$cf_so_strip" && source=\`echo \$source |sed -e 's%\.$cf_so_strip\$%%'\`
-+ target=\`basename \$target\`
-+ for cf_alias in \$aliases
-+ do
-+ if test \$section = 1 ; then
-+ cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
-+ fi
-+
-+ if test "$MANPAGE_SYMLINKS" = yes ; then
-+ if test -f \$cf_alias\${suffix} ; then
-+ if ( cmp -s \$target \$cf_alias\${suffix} )
-+ then
-+ continue
-+ fi
-+ fi
-+ echo .. \$verb alias \$cf_alias\${suffix}
-+ rm -f \$cf_alias\${suffix}
-+ $LN_S \$target \$cf_alias\${suffix}
-+ elif test "\$target" != "\$cf_alias\${suffix}" ; then
-+ echo ".so \$source" >\$TMP
-+CF_EOF
-+if test -n "$cf_compress" ; then
-+cat >>$cf_edit_man <<CF_EOF
-+ if test -n "$cf_so_strip" ; then
-+ $cf_compress -f \$TMP
-+ mv \$TMP.$cf_so_strip \$TMP
-+ fi
-+CF_EOF
-+fi
-+cat >>$cf_edit_man <<CF_EOF
-+ echo .. \$verb alias \$cf_alias\${suffix}
-+ rm -f \$cf_alias\${suffix}
-+ \$INSTALL_DATA \$TMP \$cf_alias\${suffix}
-+ fi
-+ done
-+ )
-+ )
-+ elif test \$verb = removing ; then
-+ echo \$verb \$target
-+ rm -f \$target
-+ test -n "\$aliases" && (
-+ cd \$cf_subdir\${section} && (
-+ for cf_alias in \$aliases
-+ do
-+ if test \$section = 1 ; then
-+ cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
-+ fi
-+
-+ echo .. \$verb alias \$cf_alias\${suffix}
-+ rm -f \$cf_alias\${suffix}
-+ done
-+ )
-+ )
-+ else
-+# echo ".hy 0"
-+ cat \$TMP
-+ fi
-+ ;;
-+esac
-+done
-+
-+if test $cf_inboth = yes ; then
-+if test \$form != format ; then
-+ sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
-+fi
-+fi
-+
-+exit 0
-+CF_EOF
-+chmod 755 $cf_edit_man
-+
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_MATH_LIB version: 5 updated: 2000/05/28 01:39:10
-+dnl -----------
-+dnl Checks for libraries. At least one UNIX system, Apple Macintosh
-+dnl Rhapsody 5.5, does not have -lm. We cannot use the simpler
-+dnl AC_CHECK_LIB(m,sin), because that fails for C++.
-+AC_DEFUN([CF_MATH_LIB],
-+[
-+AC_CACHE_CHECK(if -lm needed for math functions,
-+ cf_cv_need_libm,[
-+ AC_TRY_LINK([
-+ #include <stdio.h>
-+ #include <math.h>
-+ ],
-+ [double x = rand(); printf("result = %g\n", ]ifelse($2,,sin(x),$2)[)],
-+ [cf_cv_need_libm=no],
-+ [cf_cv_need_libm=yes])])
-+if test "$cf_cv_need_libm" = yes
-+then
-+ifelse($1,,[
-+ LIBS="$LIBS -lm"
-+],[$1=-lm])
-+fi
-+])
-+dnl ---------------------------------------------------------------------------
-+dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55
-+dnl ----------------------
-+dnl Check if the file-system supports mixed-case filenames. If we're able to
-+dnl create a lowercase name and see it as uppercase, it doesn't support that.
-+AC_DEFUN([CF_MIXEDCASE_FILENAMES],
-+[
-+AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[
-+if test "$cross_compiling" = yes ; then
-+ case $target_alias in #(vi
-+ *-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-mingw32*|*-uwin*) #(vi
-+ cf_cv_mixedcase=no
-+ ;;
-+ *)
-+ cf_cv_mixedcase=yes
-+ ;;
-+ esac
-+else
-+ rm -f conftest CONFTEST
-+ echo test >conftest
-+ if test -f CONFTEST ; then
-+ cf_cv_mixedcase=no
-+ else
-+ cf_cv_mixedcase=yes
-+ fi
-+ rm -f conftest CONFTEST
-+fi
-+])
-+test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_MKSTEMP version: 3 updated: 2001/11/08 20:59:59
-+dnl ----------
-+dnl Check for a working mkstemp. This creates two files, checks that they are
-+dnl successfully created and distinct (AmigaOS apparently fails on the last).
-+AC_DEFUN([CF_MKSTEMP],[
-+AC_CACHE_CHECK(for working mkstemp, cf_cv_func_mkstemp,[
-+rm -f conftest*
-+AC_TRY_RUN([
-+#include <sys/types.h>
-+#include <stdlib.h>
-+#include <stdio.h>
-+#include <string.h>
-+#include <sys/stat.h>
-+int main()
-+{
-+ char *tmpl = "conftestXXXXXX";
-+ char name[2][80];
-+ int n;
-+ int result = 0;
-+ int fd;
-+ struct stat sb;
-+
-+ umask(077);
-+ for (n = 0; n < 2; ++n) {
-+ strcpy(name[n], tmpl);
-+ if ((fd = mkstemp(name[n])) >= 0) {
-+ if (!strcmp(name[n], tmpl)
-+ || stat(name[n], &sb) != 0
-+ || (sb.st_mode & S_IFMT) != S_IFREG
-+ || (sb.st_mode & 077) != 0) {
-+ result = 1;
-+ }
-+ close(fd);
-+ }
-+ }
-+ if (result == 0
-+ && !strcmp(name[0], name[1]))
-+ result = 1;
-+ exit(result);
-+}
-+],[cf_cv_func_mkstemp=yes
-+],[cf_cv_func_mkstemp=no
-+],[AC_CHECK_FUNC(mkstemp)
-+])
-+])
-+if test "$cf_cv_func_mkstemp" = yes ; then
-+ AC_DEFINE(HAVE_MKSTEMP)
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_NUMBER_SYNTAX version: 1 updated: 2003/09/20 18:12:49
-+dnl ----------------
-+dnl Check if the given variable is a number. If not, report an error.
-+dnl $1 is the variable
-+dnl $2 is the message
-+AC_DEFUN([CF_NUMBER_SYNTAX],[
-+if test -n "$1" ; then
-+ case $1 in #(vi
-+ [[0-9]]*) #(vi
-+ ;;
-+ *)
-+ AC_MSG_ERROR($2 is not a number: $1)
-+ ;;
-+ esac
-+else
-+ AC_MSG_ERROR($2 value is empty)
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_OBJ_SUBDIR version: 4 updated: 2002/02/23 20:38:31
-+dnl -------------
-+dnl Compute the object-directory name from the given model name
-+AC_DEFUN([CF_OBJ_SUBDIR],
-+[
-+ case $1 in
-+ libtool) $2='obj_lo' ;;
-+ normal) $2='objects' ;;
-+ debug) $2='obj_g' ;;
-+ profile) $2='obj_p' ;;
-+ shared)
-+ case $cf_cv_system_name in #(vi
-+ cygwin) #(vi
-+ $2='objects' ;;
-+ *)
-+ $2='obj_s' ;;
-+ esac
-+ esac
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_PATHSEP version: 3 updated: 2001/01/12 01:23:53
-+dnl ----------
-+dnl Provide a value for the $PATH and similar separator
-+AC_DEFUN([CF_PATHSEP],
-+[
-+ case $cf_cv_system_name in
-+ os2*) PATHSEP=';' ;;
-+ *) PATHSEP=':' ;;
-+ esac
-+ifelse($1,,,[$1=$PATHSEP])
-+ AC_SUBST(PATHSEP)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_PATH_SYNTAX version: 9 updated: 2002/09/17 23:03:38
-+dnl --------------
-+dnl Check the argument to see that it looks like a pathname. Rewrite it if it
-+dnl begins with one of the prefix/exec_prefix variables, and then again if the
-+dnl result begins with 'NONE'. This is necessary to work around autoconf's
-+dnl delayed evaluation of those symbols.
-+AC_DEFUN([CF_PATH_SYNTAX],[
-+case ".[$]$1" in #(vi
-+.\[$]\(*\)*|.\'*\'*) #(vi
-+ ;;
-+..|./*|.\\*) #(vi
-+ ;;
-+.[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
-+ ;;
-+.\[$]{*prefix}*) #(vi
-+ eval $1="[$]$1"
-+ case ".[$]$1" in #(vi
-+ .NONE/*)
-+ $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%`
-+ ;;
-+ esac
-+ ;; #(vi
-+.NONE/*)
-+ $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%`
-+ ;;
-+*)
-+ ifelse($2,,[AC_ERROR([expected a pathname, not \"[$]$1\"])],$2)
-+ ;;
-+esac
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_PREDEFINE version: 1 updated: 2003/07/26 17:53:56
-+dnl ------------
-+dnl Add definitions to CPPFLAGS to ensure they're predefined for all compiles.
-+dnl
-+dnl $1 = symbol to test
-+dnl $2 = value (if any) to use for a predefinition
-+AC_DEFUN([CF_PREDEFINE],
-+[
-+AC_MSG_CHECKING(if we must define $1)
-+AC_TRY_COMPILE([#include <sys/types.h>
-+],[
-+#ifndef $1
-+make an error
-+#endif],[cf_result=no],[cf_result=yes])
-+AC_MSG_RESULT($cf_result)
-+
-+if test "$cf_result" = yes ; then
-+ CPPFLAGS="$CPPFLAGS ifelse($2,,-D$1,[-D$1=$2])"
-+elif test "x$2" != "x" ; then
-+ AC_MSG_CHECKING(checking for compatible value versus $2)
-+ AC_TRY_COMPILE([#include <sys/types.h>
-+],[
-+#if $1-$2 < 0
-+make an error
-+#endif],[cf_result=yes],[cf_result=no])
-+ AC_MSG_RESULT($cf_result)
-+ if test "$cf_result" = no ; then
-+ # perhaps we can override it - try...
-+ CPPFLAGS="$CPPFLAGS -D$1=$2"
-+ fi
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18
-+dnl -----------
-+dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
-+AC_DEFUN([CF_PROG_EXT],
-+[
-+AC_REQUIRE([CF_CHECK_CACHE])
-+case $cf_cv_system_name in
-+os2*)
-+ CFLAGS="$CFLAGS -Zmt"
-+ CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
-+ CXXFLAGS="$CXXFLAGS -Zmt"
-+ # autoconf's macro sets -Zexe and suffix both, which conflict:w
-+ LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"
-+ ac_cv_exeext=.exe
-+ ;;
-+esac
-+
-+AC_EXEEXT
-+AC_OBJEXT
-+
-+PROG_EXT="$EXEEXT"
-+AC_SUBST(PROG_EXT)
-+test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT")
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_PROG_INSTALL version: 5 updated: 2002/12/21 22:46:07
-+dnl ---------------
-+dnl Force $INSTALL to be an absolute-path. Otherwise, edit_man.sh and the
-+dnl misc/tabset install won't work properly. Usually this happens only when
-+dnl using the fallback mkinstalldirs script
-+AC_DEFUN([CF_PROG_INSTALL],
-+[AC_PROG_INSTALL
-+case $INSTALL in
-+/*)
-+ ;;
-+*)
-+ CF_DIRNAME(cf_dir,$INSTALL)
-+ test -z "$cf_dir" && cf_dir=.
-+ INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's%^.*/%%'`
-+ ;;
-+esac
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_PROG_LDCONFIG version: 1 updated: 2003/09/20 17:07:55
-+dnl ----------------
-+dnl Check for ldconfig, needed to fixup shared libraries that would be built
-+dnl and then used in the install.
-+AC_DEFUN([CF_PROG_LDCONFIG],[
-+if test "$cross_compiling" = yes ; then
-+ LDCONFIG=:
-+else
-+case "$cf_cv_system_name" in #(vi
-+freebsd*) #(vi
-+ test -z "$LDCONFIG" && LDCONFIG="/sbin/ldconfig -R"
-+ ;;
-+*) LDPATH=$PATH:/sbin:/usr/sbin
-+ AC_PATH_PROG(LDCONFIG,ldconfig,,$LDPATH)
-+ ;;
-+esac
-+fi
-+AC_SUBST(LDCONFIG)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_REGEX version: 3 updated: 1997/11/01 14:26:01
-+dnl --------
-+dnl Attempt to determine if we've got one of the flavors of regular-expression
-+dnl code that we can support.
-+AC_DEFUN([CF_REGEX],
-+[
-+AC_MSG_CHECKING([for regular-expression headers])
-+AC_CACHE_VAL(cf_cv_regex,[
-+AC_TRY_LINK([#include <sys/types.h>
-+#include <regex.h>],[
-+ regex_t *p;
-+ int x = regcomp(p, "", 0);
-+ int y = regexec(p, "", 0, 0, 0);
-+ regfree(p);
-+ ],[cf_cv_regex="regex.h"],[
-+ AC_TRY_LINK([#include <regexp.h>],[
-+ char *p = compile("", "", "", 0);
-+ int x = step("", "");
-+ ],[cf_cv_regex="regexp.h"],[
-+ cf_save_LIBS="$LIBS"
-+ LIBS="-lgen $LIBS"
-+ AC_TRY_LINK([#include <regexpr.h>],[
-+ char *p = compile("", "", "");
-+ int x = step("", "");
-+ ],[cf_cv_regex="regexpr.h"],[LIBS="$cf_save_LIBS"])])])
-+])
-+AC_MSG_RESULT($cf_cv_regex)
-+case $cf_cv_regex in
-+ regex.h) AC_DEFINE(HAVE_REGEX_H_FUNCS) ;;
-+ regexp.h) AC_DEFINE(HAVE_REGEXP_H_FUNCS) ;;
-+ regexpr.h) AC_DEFINE(HAVE_REGEXPR_H_FUNCS) ;;
-+esac
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_SHARED_OPTS version: 30 updated: 2003/12/27 20:48:07
-+dnl --------------
-+dnl Attempt to determine the appropriate CC/LD options for creating a shared
-+dnl library.
-+dnl
-+dnl Note: $(LOCAL_LDFLAGS) is used to link executables that will run within the
-+dnl build-tree, i.e., by making use of the libraries that are compiled in ../lib
-+dnl We avoid compiling-in a ../lib path for the shared library since that can
-+dnl lead to unexpected results at runtime.
-+dnl $(LOCAL_LDFLAGS2) has the same intention but assumes that the shared libraries
-+dnl are compiled in ../../lib
-+dnl
-+dnl The variable 'cf_cv_do_symlinks' is used to control whether we configure
-+dnl to install symbolic links to the rel/abi versions of shared libraries.
-+dnl
-+dnl The variable 'cf_cv_shlib_version' controls whether we use the rel or abi
-+dnl version when making symbolic links.
-+dnl
-+dnl The variable 'cf_cv_shlib_version_infix' controls whether shared library
-+dnl version numbers are infix (ex: libncurses.<ver>.dylib) or postfix
-+dnl (ex: libncurses.so.<ver>).
-+dnl
-+dnl Some loaders leave 'so_locations' lying around. It's nice to clean up.
-+AC_DEFUN([CF_SHARED_OPTS],
-+[
-+ AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
-+ LOCAL_LDFLAGS=
-+ LOCAL_LDFLAGS2=
-+ LD_SHARED_OPTS=
-+ INSTALL_LIB="-m 644"
-+
-+ cf_cv_do_symlinks=no
-+
-+ AC_MSG_CHECKING(if release/abi version should be used for shared libs)
-+ AC_ARG_WITH(shlib-version,
-+ [ --with-shlib-version=X Specify rel or abi version for shared libs],
-+ [test -z "$withval" && withval=auto
-+ case $withval in #(vi
-+ yes) #(vi
-+ cf_cv_shlib_version=auto
-+ ;;
-+ rel|abi|auto|no) #(vi
-+ cf_cv_shlib_version=$withval
-+ ;;
-+ *)
-+ AC_ERROR([option value must be one of: rel, abi, auto or no])
-+ ;;
-+ esac
-+ ],[cf_cv_shlib_version=auto])
-+ AC_MSG_RESULT($cf_cv_shlib_version)
-+
-+ cf_cv_rm_so_locs=no
-+
-+ # Some less-capable ports of gcc support only -fpic
-+ CC_SHARED_OPTS=
-+ if test "$GCC" = yes
-+ then
-+ AC_MSG_CHECKING(which $CC option to use)
-+ cf_save_CFLAGS="$CFLAGS"
-+ for CC_SHARED_OPTS in -fPIC -fpic ''
-+ do
-+ CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
-+ AC_TRY_COMPILE([#include <stdio.h>],[int x = 1],[break],[])
-+ done
-+ AC_MSG_RESULT($CC_SHARED_OPTS)
-+ CFLAGS="$cf_save_CFLAGS"
-+ fi
-+
-+ cf_cv_shlib_version_infix=no
-+
-+ case $cf_cv_system_name in
-+ beos*)
-+ MK_SHARED_LIB='$(CC) -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0'
-+ ;;
-+ cygwin*)
-+ CC_SHARED_OPTS=
-+ MK_SHARED_LIB='$(CC) -shared -Wl,--out-implib=$(IMPORT_LIB) -Wl,--export-all-symbols -o $(SHARED_LIB)'
-+ cf_cv_shlib_version=cygdll
-+ cf_cv_shlib_version_infix=cygdll
-+ ;;
-+ darwin*)
-+ EXTRA_CFLAGS="-no-cpp-precomp"
-+ CC_SHARED_OPTS="-dynamic"
-+ MK_SHARED_LIB='$(CC) -dynamiclib -install_name $(DESTDIR)$(libdir)/`basename $[@]` -compatibility_version $(ABI_VERSION) -current_version $(ABI_VERSION) -o $[@]'
-+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
-+ cf_cv_shlib_version_infix=yes
-+ ;;
-+ hpux*)
-+ # (tested with gcc 2.7.2 -- I don't have c89)
-+ if test "$GCC" = yes; then
-+ LD_SHARED_OPTS='-Xlinker +b -Xlinker $(libdir)'
-+ else
-+ CC_SHARED_OPTS='+Z'
-+ LD_SHARED_OPTS='-Wl,+b,$(libdir)'
-+ fi
-+ MK_SHARED_LIB='$(LD) +b $(libdir) -b -o $[@]'
-+ # HP-UX shared libraries must be executable, and should be
-+ # readonly to exploit a quirk in the memory manager.
-+ INSTALL_LIB="-m 555"
-+ ;;
-+ irix*)
-+ if test "$cf_cv_ld_rpath" = yes ; then
-+ cf_ld_rpath_opt="-Wl,-rpath,"
-+ EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS"
-+ fi
-+ # tested with IRIX 5.2 and 'cc'.
-+ if test "$GCC" != yes; then
-+ CC_SHARED_OPTS='-KPIC'
-+ fi
-+ MK_SHARED_LIB='$(LD) -shared -rdata_shared -soname `basename $[@]` -o $[@]'
-+ cf_cv_rm_so_locs=yes
-+ ;;
-+ linux*|gnu*|k*bsd*-gnu)
-+ if test "$DFT_LWR_MODEL" = "shared" ; then
-+ LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
-+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
-+ fi
-+ if test "$cf_cv_ld_rpath" = yes ; then
-+ cf_ld_rpath_opt="-Wl,-rpath,"
-+ EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
-+ fi
-+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
-+ MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@] .$(REL_VERSION)`.$(ABI_VERSION),-stats,-lc -o $[@]'
-+ ;;
-+ openbsd2*)
-+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
-+ MK_SHARED_LIB='$(LD) -Bshareable -soname,`basename $[@].$(ABI_VERSION)` -o $[@]'
-+ ;;
-+ freebsd[[45]]*)
-+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
-+ MK_SHARED_LIB='$(LD) -Bshareable -soname=`basename $[@]` -o $[@]'
-+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
-+
-+# This doesn't work - I keep getting spurious references to needing
-+# libncurses.so.5.3 when ldd says it's resolved. LOCAL_LDFLAGS2 seems to be
-+# no longer used anyway. And the rpath logic isn't relative - so I have to
-+# add the local and install lib-directories:
-+#
-+# if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then
-+# LOCAL_LDFLAGS="-rpath `pwd`/lib"
-+# LOCAL_LDFLAGS2="-rpath \$(libdir) $LOCAL_LDFLAGS"
-+# cf_ld_rpath_opt="-rpath "
-+# EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
-+# fi
-+ ;;
-+ openbsd*|freebsd*)
-+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
-+ MK_SHARED_LIB='$(LD) -Bshareable -o $[@]'
-+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
-+ ;;
-+ netbsd*)
-+ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
-+ test "$cf_cv_ld_rpath" = yes && cf_ld_rpath_opt="-Wl,-rpath,"
-+ if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then
-+ LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
-+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
-+ EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS"
-+ MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]'
-+ if test "$cf_cv_shlib_version" = auto; then
-+ if test ! -f /usr/libexec/ld.elf_so; then
-+ cf_cv_shlib_version=rel
-+ fi
-+ fi
-+ else
-+ MK_SHARED_LIB='$(LD) -Bshareable -o $[@]'
-+ fi
-+ ;;
-+ osf*|mls+*)
-+ # tested with OSF/1 V3.2 and 'cc'
-+ # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't
-+ # link with shared libs).
-+ MK_SHARED_LIB='$(LD) -set_version $(REL_VERSION):$(ABI_VERSION) -expect_unresolved "*" -shared -soname `basename $[@]`'
-+ case $host_os in
-+ osf4*)
-+ MK_SHARED_LIB="${MK_SHARED_LIB} -msym"
-+ ;;
-+ esac
-+ MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]'
-+ if test "$DFT_LWR_MODEL" = "shared" ; then
-+ LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
-+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
-+ fi
-+ if test "$cf_cv_ld_rpath" = yes ; then
-+ cf_ld_rpath_opt="-rpath"
-+ # EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
-+ fi
-+ cf_cv_rm_so_locs=yes
-+ ;;
-+ sco3.2v5*) # (also uw2* and UW7) hops 13-Apr-98
-+ # tested with osr5.0.5
-+ if test "$GCC" != yes; then
-+ CC_SHARED_OPTS='-belf -KPIC'
-+ fi
-+ MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o [$]@'
-+ if test "$cf_cv_ld_rpath" = yes ; then
-+ # only way is to set LD_RUN_PATH but no switch for it
-+ RUN_PATH=$libdir
-+ fi
-+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
-+ LINK_PROGS='LD_RUN_PATH=$(libdir)'
-+ LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib'
-+ ;;
-+ sunos4*)
-+ # tested with SunOS 4.1.1 and gcc 2.7.0
-+ if test "$GCC" != yes; then
-+ CC_SHARED_OPTS='-KPIC'
-+ fi
-+ MK_SHARED_LIB='$(LD) -assert pure-text -o $[@]'
-+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
-+ ;;
-+ solaris2*)
-+ # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
-+ if test "$GCC" != yes; then
-+ CC_SHARED_OPTS='-KPIC'
-+ fi
-+ MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]'
-+ if test "$DFT_LWR_MODEL" = "shared" ; then
-+ LOCAL_LDFLAGS="-R `pwd`/lib:\$(libdir)"
-+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
-+ fi
-+ if test "$cf_cv_ld_rpath" = yes ; then
-+ cf_ld_rpath_opt="-R"
-+ EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
-+ fi
-+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
-+ ;;
-+ sysv5uw7*|unix_sv*)
-+ # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
-+ if test "$GCC" != yes; then
-+ CC_SHARED_OPTS='-KPIC'
-+ fi
-+ MK_SHARED_LIB='$(LD) -d y -G -o [$]@'
-+ ;;
-+ *)
-+ CC_SHARED_OPTS='unknown'
-+ MK_SHARED_LIB='echo unknown'
-+ ;;
-+ esac
-+
-+ # This works if the last tokens in $MK_SHARED_LIB are the -o target.
-+ case "$cf_cv_shlib_version" in #(vi
-+ rel|abi)
-+ case "$MK_SHARED_LIB" in #(vi
-+ *'-o $[@]')
-+ test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
-+ ;;
-+ *)
-+ AC_MSG_WARN(ignored --with-shlib-version)
-+ ;;
-+ esac
-+ ;;
-+ esac
-+
-+ if test -n "$cf_ld_rpath_opt" ; then
-+ AC_MSG_CHECKING(if we need a space after rpath option)
-+ cf_save_LIBS="$LIBS"
-+ LIBS="$LIBS ${cf_ld_rpath_opt}$libdir"
-+ AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
-+ LIBS="$cf_save_LIBS"
-+ AC_MSG_RESULT($cf_rpath_space)
-+ test "$cf_rpath_space" = yes && cf_ld_rpath_opt="$cf_ld_rpath_opt "
-+ MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\$(libdir)"
-+ fi
-+
-+ AC_SUBST(CC_SHARED_OPTS)
-+ AC_SUBST(LD_SHARED_OPTS)
-+ AC_SUBST(MK_SHARED_LIB)
-+ AC_SUBST(LINK_PROGS)
-+ AC_SUBST(LINK_TESTS)
-+ AC_SUBST(EXTRA_LDFLAGS)
-+ AC_SUBST(LOCAL_LDFLAGS)
-+ AC_SUBST(LOCAL_LDFLAGS2)
-+ AC_SUBST(INSTALL_LIB)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_SIZECHANGE version: 8 updated: 2000/11/04 12:22:16
-+dnl -------------
-+dnl Check for definitions & structures needed for window size-changing
-+dnl FIXME: check that this works with "snake" (HP-UX 10.x)
-+AC_DEFUN([CF_SIZECHANGE],
-+[
-+AC_REQUIRE([CF_STRUCT_TERMIOS])
-+AC_CACHE_CHECK(declaration of size-change, cf_cv_sizechange,[
-+ cf_cv_sizechange=unknown
-+ cf_save_CPPFLAGS="$CPPFLAGS"
-+
-+for cf_opts in "" "NEED_PTEM_H"
-+do
-+
-+ CPPFLAGS="$cf_save_CPPFLAGS"
-+ test -n "$cf_opts" && CPPFLAGS="$CPPFLAGS -D$cf_opts"
-+ AC_TRY_COMPILE([#include <sys/types.h>
-+#ifdef HAVE_TERMIOS_H
-+#include <termios.h>
-+#else
-+#ifdef HAVE_TERMIO_H
-+#include <termio.h>
-+#endif
-+#endif
-+#ifdef NEED_PTEM_H
-+/* This is a workaround for SCO: they neglected to define struct winsize in
-+ * termios.h -- it's only in termio.h and ptem.h
-+ */
-+#include <sys/stream.h>
-+#include <sys/ptem.h>
-+#endif
-+#if !defined(sun) || !defined(HAVE_TERMIOS_H)
-+#include <sys/ioctl.h>
-+#endif
-+],[
-+#ifdef TIOCGSIZE
-+ struct ttysize win; /* FIXME: what system is this? */
-+ int y = win.ts_lines;
-+ int x = win.ts_cols;
-+#else
-+#ifdef TIOCGWINSZ
-+ struct winsize win;
-+ int y = win.ws_row;
-+ int x = win.ws_col;
-+#else
-+ no TIOCGSIZE or TIOCGWINSZ
-+#endif /* TIOCGWINSZ */
-+#endif /* TIOCGSIZE */
-+ ],
-+ [cf_cv_sizechange=yes],
-+ [cf_cv_sizechange=no])
-+
-+ CPPFLAGS="$cf_save_CPPFLAGS"
-+ if test "$cf_cv_sizechange" = yes ; then
-+ echo "size-change succeeded ($cf_opts)" >&AC_FD_CC
-+ test -n "$cf_opts" && cf_cv_sizechange="$cf_opts"
-+ break
-+ fi
-+done
-+])
-+if test "$cf_cv_sizechange" != no ; then
-+ AC_DEFINE(HAVE_SIZECHANGE)
-+ case $cf_cv_sizechange in #(vi
-+ NEED*)
-+ AC_DEFINE_UNQUOTED($cf_cv_sizechange )
-+ ;;
-+ esac
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_SRC_MODULES version: 15 updated: 2004/01/10 16:05:16
-+dnl --------------
-+dnl For each parameter, test if the source-directory exists, and if it contains
-+dnl a 'modules' file. If so, add to the list $cf_cv_src_modules which we'll
-+dnl use in CF_LIB_RULES.
-+dnl
-+dnl This uses the configured value to make the lists SRC_SUBDIRS and
-+dnl SUB_MAKEFILES which are used in the makefile-generation scheme.
-+AC_DEFUN([CF_SRC_MODULES],
-+[
-+AC_MSG_CHECKING(for src modules)
-+
-+# dependencies and linker-arguments for test-programs
-+TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${LIB_NAME}${DFT_DEP_SUFFIX} $TEST_DEPS"
-+if test "$DFT_LWR_MODEL" = "libtool"; then
-+ TEST_ARGS="${TEST_DEPS}"
-+else
-+ TEST_ARGS="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARGS"
-+fi
-+
-+# dependencies and linker-arguments for utility-programs
-+test "$with_termlib" != yes && PROG_ARGS="$TEST_ARGS"
-+
-+cf_cv_src_modules=
-+for cf_dir in $1
-+do
-+ if test -f $srcdir/$cf_dir/modules; then
-+
-+ # We may/may not have tack in the distribution, though the
-+ # makefile is.
-+ if test $cf_dir = tack ; then
-+ if test ! -f $srcdir/${cf_dir}/${cf_dir}.h; then
-+ continue
-+ fi
-+ fi
-+
-+ if test -z "$cf_cv_src_modules"; then
-+ cf_cv_src_modules=$cf_dir
-+ else
-+ cf_cv_src_modules="$cf_cv_src_modules $cf_dir"
-+ fi
-+
-+ # Make the ncurses_cfg.h file record the library interface files as
-+ # well. These are header files that are the same name as their
-+ # directory. Ncurses is the only library that does not follow
-+ # that pattern.
-+ if test $cf_dir = tack ; then
-+ continue
-+ elif test -f $srcdir/${cf_dir}/${cf_dir}.h; then
-+ CF_UPPER(cf_have_include,$cf_dir)
-+ AC_DEFINE_UNQUOTED(HAVE_${cf_have_include}_H)
-+ AC_DEFINE_UNQUOTED(HAVE_LIB${cf_have_include})
-+ TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${cf_dir}${DFT_DEP_SUFFIX} $TEST_DEPS"
-+ if test "$DFT_LWR_MODEL" = "libtool"; then
-+ TEST_ARGS="${TEST_DEPS}"
-+ else
-+ TEST_ARGS="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARGS"
-+ fi
-+ fi
-+ fi
-+done
-+AC_MSG_RESULT($cf_cv_src_modules)
-+TEST_ARGS="-L${LIB_DIR} $TEST_ARGS"
-+AC_SUBST(TEST_DEPS)
-+AC_SUBST(TEST_ARGS)
-+
-+PROG_ARGS="-L${LIB_DIR} $PROG_ARGS"
-+AC_SUBST(PROG_ARGS)
-+
-+SRC_SUBDIRS="man include"
-+for cf_dir in $cf_cv_src_modules
-+do
-+ SRC_SUBDIRS="$SRC_SUBDIRS $cf_dir"
-+done
-+SRC_SUBDIRS="$SRC_SUBDIRS test"
-+test -z "$MAKE_TERMINFO" && SRC_SUBDIRS="$SRC_SUBDIRS misc"
-+test "$cf_with_cxx_binding" != no && SRC_SUBDIRS="$SRC_SUBDIRS c++"
-+
-+ADA_SUBDIRS=
-+if test "$cf_cv_prog_gnat_correct" = yes && test -f $srcdir/Ada95/Makefile.in; then
-+ SRC_SUBDIRS="$SRC_SUBDIRS Ada95"
-+ ADA_SUBDIRS="gen src samples"
-+fi
-+
-+SUB_MAKEFILES=
-+for cf_dir in $SRC_SUBDIRS
-+do
-+ SUB_MAKEFILES="$SUB_MAKEFILES $cf_dir/Makefile"
-+done
-+
-+if test -n "$ADA_SUBDIRS"; then
-+ for cf_dir in $ADA_SUBDIRS
-+ do
-+ SUB_MAKEFILES="$SUB_MAKEFILES Ada95/$cf_dir/Makefile"
-+ done
-+ AC_SUBST(ADA_SUBDIRS)
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_STDCPP_LIBRARY version: 5 updated: 2000/08/12 23:18:52
-+dnl -----------------
-+dnl Check for -lstdc++, which is GNU's standard C++ library.
-+AC_DEFUN([CF_STDCPP_LIBRARY],
-+[
-+if test -n "$GXX" ; then
-+case $cf_cv_system_name in #(vi
-+os2*) #(vi
-+ cf_stdcpp_libname=stdcpp
-+ ;;
-+*)
-+ cf_stdcpp_libname=stdc++
-+ ;;
-+esac
-+AC_CACHE_CHECK(for library $cf_stdcpp_libname,cf_cv_libstdcpp,[
-+ cf_save="$LIBS"
-+ LIBS="$LIBS -l$cf_stdcpp_libname"
-+AC_TRY_LINK([
-+#include <strstream.h>],[
-+char buf[80];
-+strstreambuf foo(buf, sizeof(buf))
-+],
-+ [cf_cv_libstdcpp=yes],
-+ [cf_cv_libstdcpp=no])
-+ LIBS="$cf_save"
-+])
-+test "$cf_cv_libstdcpp" = yes && CXXLIBS="$CXXLIBS -l$cf_stdcpp_libname"
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_STRIP_G_OPT version: 3 updated: 2002/12/21 19:25:52
-+dnl --------------
-+dnl Remove "-g" option from the compiler options
-+AC_DEFUN([CF_STRIP_G_OPT],
-+[$1=`echo ${$1} | sed -e 's%-g %%' -e 's%-g$%%'`])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_STRUCT_SIGACTION version: 3 updated: 2000/08/12 23:18:52
-+dnl -------------------
-+dnl Check if we need _POSIX_SOURCE defined to use struct sigaction. We'll only
-+dnl do this if we've found the sigaction function.
-+dnl
-+dnl If needed, define SVR4_ACTION.
-+AC_DEFUN([CF_STRUCT_SIGACTION],[
-+if test "$ac_cv_func_sigaction" = yes; then
-+AC_MSG_CHECKING(whether sigaction needs _POSIX_SOURCE)
-+AC_TRY_COMPILE([
-+#include <sys/types.h>
-+#include <signal.h>],
-+ [struct sigaction act],
-+ [sigact_bad=no],
-+ [
-+AC_TRY_COMPILE([
-+#define _POSIX_SOURCE
-+#include <sys/types.h>
-+#include <signal.h>],
-+ [struct sigaction act],
-+ [sigact_bad=yes
-+ AC_DEFINE(SVR4_ACTION)],
-+ [sigact_bad=unknown])])
-+AC_MSG_RESULT($sigact_bad)
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_STRUCT_TERMIOS version: 5 updated: 2000/11/04 12:22:46
-+dnl -----------------
-+dnl Some machines require _POSIX_SOURCE to completely define struct termios.
-+dnl If so, define SVR4_TERMIO
-+AC_DEFUN([CF_STRUCT_TERMIOS],[
-+AC_CHECK_HEADERS( \
-+termio.h \
-+termios.h \
-+unistd.h \
-+)
-+if test "$ISC" = yes ; then
-+ AC_CHECK_HEADERS( sys/termio.h )
-+fi
-+if test "$ac_cv_header_termios_h" = yes ; then
-+ case "$CFLAGS $CPPFLAGS" in
-+ *-D_POSIX_SOURCE*)
-+ termios_bad=dunno ;;
-+ *) termios_bad=maybe ;;
-+ esac
-+ if test "$termios_bad" = maybe ; then
-+ AC_MSG_CHECKING(whether termios.h needs _POSIX_SOURCE)
-+ AC_TRY_COMPILE([#include <termios.h>],
-+ [struct termios foo; int x = foo.c_iflag],
-+ termios_bad=no, [
-+ AC_TRY_COMPILE([
-+#define _POSIX_SOURCE
-+#include <termios.h>],
-+ [struct termios foo; int x = foo.c_iflag],
-+ termios_bad=unknown,
-+ termios_bad=yes AC_DEFINE(SVR4_TERMIO))
-+ ])
-+ AC_MSG_RESULT($termios_bad)
-+ fi
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_SUBST version: 2 updated: 1997/09/06 23:41:28
-+dnl --------
-+dnl Shorthand macro for substituting things that the user may override
-+dnl with an environment variable.
-+dnl
-+dnl $1 = long/descriptive name
-+dnl $2 = environment variable
-+dnl $3 = default value
-+AC_DEFUN([CF_SUBST],
-+[AC_CACHE_VAL(cf_cv_subst_$2,[
-+AC_MSG_CHECKING(for $1 (symbol $2))
-+test -z "[$]$2" && $2=$3
-+AC_MSG_RESULT([$]$2)
-+AC_SUBST($2)
-+cf_cv_subst_$2=[$]$2])
-+$2=${cf_cv_subst_$2}
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_SUBST_NCURSES_VERSION version: 7 updated: 2003/06/07 16:22:51
-+dnl ------------------------
-+dnl Get the version-number for use in shared-library naming, etc.
-+AC_DEFUN([CF_SUBST_NCURSES_VERSION],
-+[
-+NCURSES_MAJOR="`egrep '^NCURSES_MAJOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
-+NCURSES_MINOR="`egrep '^NCURSES_MINOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
-+NCURSES_PATCH="`egrep '^NCURSES_PATCH[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
-+cf_cv_abi_version=${NCURSES_MAJOR}
-+cf_cv_rel_version=${NCURSES_MAJOR}.${NCURSES_MINOR}
-+dnl Show the computed version, for logging
-+cf_cv_timestamp=`date`
-+AC_MSG_RESULT(Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp))
-+dnl We need these values in the generated headers
-+AC_SUBST(NCURSES_MAJOR)
-+AC_SUBST(NCURSES_MINOR)
-+AC_SUBST(NCURSES_PATCH)
-+dnl We need these values in the generated makefiles
-+AC_SUBST(cf_cv_rel_version)
-+AC_SUBST(cf_cv_abi_version)
-+AC_SUBST(cf_cv_builtin_bool)
-+AC_SUBST(cf_cv_header_stdbool_h)
-+AC_SUBST(cf_cv_type_of_bool)dnl
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_SYS_TIME_SELECT version: 4 updated: 2000/10/04 09:18:40
-+dnl ------------------
-+dnl Check if we can include <sys/time.h> with <sys/select.h>; this breaks on
-+dnl older SCO configurations.
-+AC_DEFUN([CF_SYS_TIME_SELECT],
-+[
-+AC_MSG_CHECKING(if sys/time.h works with sys/select.h)
-+AC_CACHE_VAL(cf_cv_sys_time_select,[
-+AC_TRY_COMPILE([
-+#include <sys/types.h>
-+#ifdef HAVE_SYS_TIME_H
-+#include <sys/time.h>
-+#endif
-+#ifdef HAVE_SYS_SELECT_H
-+#include <sys/select.h>
-+#endif
-+],[],[cf_cv_sys_time_select=yes],
-+ [cf_cv_sys_time_select=no])
-+ ])
-+AC_MSG_RESULT($cf_cv_sys_time_select)
-+test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_TYPEOF_CHTYPE version: 4 updated: 2000/10/04 09:18:40
-+dnl ----------------
-+dnl Determine the type we should use for chtype (and attr_t, which is treated
-+dnl as the same thing). We want around 32 bits, so on most machines want a
-+dnl long, but on newer 64-bit machines, probably want an int. If we're using
-+dnl wide characters, we have to have a type compatible with that, as well.
-+AC_DEFUN([CF_TYPEOF_CHTYPE],
-+[
-+AC_REQUIRE([CF_UNSIGNED_LITERALS])
-+AC_MSG_CHECKING([for type of chtype])
-+AC_CACHE_VAL(cf_cv_typeof_chtype,[
-+ AC_TRY_RUN([
-+#ifdef USE_WIDEC_SUPPORT
-+#include <stddef.h> /* we want wchar_t */
-+#define WANT_BITS 39
-+#else
-+#define WANT_BITS 31
-+#endif
-+#include <stdio.h>
-+int main()
-+{
-+ FILE *fp = fopen("cf_test.out", "w");
-+ if (fp != 0) {
-+ char *result = "long";
-+#ifdef USE_WIDEC_SUPPORT
-+ /*
-+ * If wchar_t is smaller than a long, it must be an int or a
-+ * short. We prefer not to use a short anyway.
-+ */
-+ if (sizeof(unsigned long) > sizeof(wchar_t))
-+ result = "int";
-+#endif
-+ if (sizeof(unsigned long) > sizeof(unsigned int)) {
-+ int n;
-+ unsigned int x;
-+ for (n = 0; n < WANT_BITS; n++) {
-+ unsigned int y = (x >> n);
-+ if (y != 1 || x == 0) {
-+ x = 0;
-+ break;
-+ }
-+ }
-+ /*
-+ * If x is nonzero, an int is big enough for the bits
-+ * that we want.
-+ */
-+ result = (x != 0) ? "int" : "long";
-+ }
-+ fputs(result, fp);
-+ fclose(fp);
-+ }
-+ exit(0);
-+}
-+ ],
-+ [cf_cv_typeof_chtype=`cat cf_test.out`],
-+ [cf_cv_typeof_chtype=long],
-+ [cf_cv_typeof_chtype=long])
-+ rm -f cf_test.out
-+ ])
-+AC_MSG_RESULT($cf_cv_typeof_chtype)
-+
-+AC_SUBST(cf_cv_typeof_chtype)
-+AC_DEFINE_UNQUOTED(TYPEOF_CHTYPE,$cf_cv_typeof_chtype)
-+
-+cf_cv_1UL="1"
-+test "$cf_cv_unsigned_literals" = yes && cf_cv_1UL="${cf_cv_1UL}U"
-+test "$cf_cv_typeof_chtype" = long && cf_cv_1UL="${cf_cv_1UL}L"
-+AC_SUBST(cf_cv_1UL)
-+
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_TYPE_SIGACTION version: 3 updated: 2000/08/12 23:18:52
-+dnl -----------------
-+dnl
-+AC_DEFUN([CF_TYPE_SIGACTION],
-+[
-+AC_MSG_CHECKING([for type sigaction_t])
-+AC_CACHE_VAL(cf_cv_type_sigaction,[
-+ AC_TRY_COMPILE([
-+#include <signal.h>],
-+ [sigaction_t x],
-+ [cf_cv_type_sigaction=yes],
-+ [cf_cv_type_sigaction=no])])
-+AC_MSG_RESULT($cf_cv_type_sigaction)
-+test "$cf_cv_type_sigaction" = yes && AC_DEFINE(HAVE_TYPE_SIGACTION)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_UNSIGNED_LITERALS version: 2 updated: 1998/02/07 22:10:16
-+dnl --------------------
-+dnl Test if the compiler supports 'U' and 'L' suffixes. Only old compilers
-+dnl won't, but they're still there.
-+AC_DEFUN([CF_UNSIGNED_LITERALS],
-+[
-+AC_MSG_CHECKING([if unsigned literals are legal])
-+AC_CACHE_VAL(cf_cv_unsigned_literals,[
-+ AC_TRY_COMPILE([],[long x = 1L + 1UL + 1U + 1],
-+ [cf_cv_unsigned_literals=yes],
-+ [cf_cv_unsigned_literals=no])
-+ ])
-+AC_MSG_RESULT($cf_cv_unsigned_literals)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
-+dnl --------
-+dnl Make an uppercase version of a variable
-+dnl $1=uppercase($2)
-+AC_DEFUN([CF_UPPER],
-+[
-+$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_VERBOSE version: 2 updated: 1997/09/05 10:45:14
-+dnl ----------
-+dnl Use AC_VERBOSE w/o the warnings
-+AC_DEFUN([CF_VERBOSE],
-+[test -n "$verbose" && echo " $1" 1>&AC_FD_MSG
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_WCHAR_TYPE version: 2 updated: 2004/01/17 19:18:20
-+dnl -------------
-+dnl Check if type wide-character type $1 is declared, and if so, which header
-+dnl file is needed. The second parameter is used to set a shell variable when
-+dnl the type is not found. The first parameter sets a shell variable for the
-+dnl opposite sense.
-+AC_DEFUN([CF_WCHAR_TYPE],
-+[
-+# This is needed on Tru64 5.0 to declare $1
-+AC_CACHE_CHECK(if we must include wchar.h to declare $1,cf_cv_$1,[
-+AC_TRY_COMPILE([
-+#include <stdlib.h>
-+#include <stdarg.h>
-+#include <stdio.h>
-+#ifdef HAVE_LIBUTF8_H
-+#include <libutf8.h>
-+#endif],
-+ [$1 state],
-+ [cf_cv_$1=no],
-+ [AC_TRY_COMPILE([
-+#include <stdlib.h>
-+#include <stdarg.h>
-+#include <stdio.h>
-+#include <wchar.h>
-+#ifdef HAVE_LIBUTF8_H
-+#include <libutf8.h>
-+#endif],
-+ [$1 value],
-+ [cf_cv_$1=yes],
-+ [cf_cv_$1=unknown])])])
-+
-+if test "$cf_cv_$1" = yes ; then
-+ AC_DEFINE(NEED_WCHAR_H)
-+ NEED_WCHAR_H=1
-+fi
-+
-+ifelse($2,,,[
-+# if we do not find $1 in either place, use substitution to provide a fallback.
-+if test "$cf_cv_$1" = unknown ; then
-+ $2=1
-+fi
-+])
-+ifelse($3,,,[
-+# if we find $1 in either place, use substitution to provide a fallback.
-+if test "$cf_cv_$1" != unknown ; then
-+ $3=1
-+fi
-+])
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_WITH_ABI_VERSION version: 1 updated: 2003/09/20 18:12:49
-+dnl -------------------
-+dnl Allow library's ABI to be overridden. Generally this happens when a
-+dnl packager has incremented the ABI past that used in the original package,
-+dnl and wishes to keep doing this.
-+dnl
-+dnl $1 is the package name, if any, to derive a corresponding {package}_ABI
-+dnl symbol.
-+AC_DEFUN([CF_WITH_ABI_VERSION],[
-+test -z "$cf_cv_abi_version" && cf_cv_abi_version=0
-+AC_ARG_WITH(abi-version,
-+[ --with-abi-version=XXX override derived ABI version],
-+[AC_MSG_WARN(overriding ABI version $cf_cv_abi_version to $withval)
-+ cf_cv_abi_version=$withval])
-+ CF_NUMBER_SYNTAX($cf_cv_abi_version,ABI version)
-+ifelse($1,,,[
-+$1_ABI=$cf_cv_abi_version
-+])
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_WITH_DBMALLOC version: 2 updated: 2002/12/29 21:11:45
-+dnl ----------------
-+dnl Configure-option for dbmalloc
-+AC_DEFUN([CF_WITH_DBMALLOC],[
-+AC_MSG_CHECKING(if you want to link with dbmalloc for testing)
-+AC_ARG_WITH(dbmalloc,
-+ [ --with-dbmalloc test: use Conor Cahill's dbmalloc library],
-+ [with_dbmalloc=$withval],
-+ [with_dbmalloc=no])
-+AC_MSG_RESULT($with_dbmalloc)
-+if test $with_dbmalloc = yes ; then
-+ AC_CHECK_LIB(dbmalloc,debug_malloc)
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_WITH_DMALLOC version: 2 updated: 2002/12/29 21:11:45
-+dnl ---------------
-+dnl Configure-option for dmalloc
-+AC_DEFUN([CF_WITH_DMALLOC],[
-+AC_MSG_CHECKING(if you want to link with dmalloc for testing)
-+AC_ARG_WITH(dmalloc,
-+ [ --with-dmalloc test: use Gray Watson's dmalloc library],
-+ [with_dmalloc=$withval],
-+ [with_dmalloc=no])
-+AC_MSG_RESULT($with_dmalloc)
-+if test $with_dmalloc = yes ; then
-+ AC_CHECK_LIB(dmalloc,dmalloc_debug)
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_WITH_LIBTOOL version: 9 updated: 2004/01/16 14:55:37
-+dnl ---------------
-+dnl Provide a configure option to incorporate libtool. Define several useful
-+dnl symbols for the makefile rules.
-+dnl
-+dnl The reference to AC_PROG_LIBTOOL does not normally work, since it uses
-+dnl macros from libtool.m4 which is in the aclocal directory of automake.
-+dnl Following is a simple script which turns on the AC_PROG_LIBTOOL macro.
-+dnl But that still does not work properly since the macro is expanded outside
-+dnl the CF_WITH_LIBTOOL macro:
-+dnl
-+dnl #!/bin/sh
-+dnl ACLOCAL=`aclocal --print-ac-dir`
-+dnl if test -z "$ACLOCAL" ; then
-+dnl echo cannot find aclocal directory
-+dnl exit 1
-+dnl elif test ! -f $ACLOCAL/libtool.m4 ; then
-+dnl echo cannot find libtool.m4 file
-+dnl exit 1
-+dnl fi
-+dnl
-+dnl LOCAL=aclocal.m4
-+dnl ORIG=aclocal.m4.orig
-+dnl
-+dnl trap "mv $ORIG $LOCAL" 0 1 2 5 15
-+dnl rm -f $ORIG
-+dnl mv $LOCAL $ORIG
-+dnl
-+dnl # sed the LIBTOOL= assignment to omit the current directory?
-+dnl sed -e 's/^LIBTOOL=.*/LIBTOOL=${LIBTOOL-libtool}/' $ACLOCAL/libtool.m4 >>$LOCAL
-+dnl cat $ORIG >>$LOCAL
-+dnl
-+dnl autoconf-257 $*
-+dnl
-+AC_DEFUN([CF_WITH_LIBTOOL],
-+[
-+ifdef([AC_PROG_LIBTOOL],,[
-+LIBTOOL=
-+])
-+# common library maintenance symbols that are convenient for libtool scripts:
-+LIB_CREATE='$(AR) -cr'
-+LIB_OBJECT='$(OBJECTS)'
-+LIB_SUFFIX=.a
-+LIB_PREP="$RANLIB"
-+
-+# symbols used to prop libtool up to enable it to determine what it should be
-+# doing:
-+LIB_CLEAN=
-+LIB_COMPILE=
-+LIB_LINK=
-+LIB_INSTALL=
-+LIB_UNINSTALL=
-+
-+AC_MSG_CHECKING(if you want to build libraries with libtool)
-+AC_ARG_WITH(libtool,
-+ [ --with-libtool generate libraries with libtool],
-+ [with_libtool=$withval],
-+ [with_libtool=no])
-+AC_MSG_RESULT($with_libtool)
-+if test "$with_libtool" != "no"; then
-+ifdef([AC_PROG_LIBTOOL],[
-+ # missing_content_AC_PROG_LIBTOOL{{
-+ AC_PROG_LIBTOOL
-+ # missing_content_AC_PROG_LIBTOOL}}
-+],[
-+ if test "$with_libtool" != "yes" ; then
-+ CF_PATH_SYNTAX(with_libtool)
-+ LIBTOOL=$with_libtool
-+ else
-+ AC_PATH_PROG(LIBTOOL,libtool)
-+ fi
-+ if test -z "$LIBTOOL" ; then
-+ AC_MSG_ERROR(Cannot find libtool)
-+ fi
-+])dnl
-+ LIB_CREATE='$(LIBTOOL) --mode=link $(CC) -rpath $(DESTDIR)$(libdir) -version-info `cut -f1 $(srcdir)/VERSION` -o'
-+ LIB_OBJECT='$(OBJECTS:.o=.lo)'
-+ LIB_SUFFIX=.la
-+ LIB_CLEAN='$(LIBTOOL) --mode=clean'
-+ LIB_COMPILE='$(LIBTOOL) --mode=compile'
-+ LIB_LINK='$(LIBTOOL) --mode=link'
-+ LIB_INSTALL='$(LIBTOOL) --mode=install'
-+ LIB_UNINSTALL='$(LIBTOOL) --mode=uninstall'
-+ LIB_PREP=:
-+
-+ # Show the version of libtool
-+ AC_MSG_CHECKING(version of libtool)
-+
-+ # Save the version in a cache variable - this is not entirely a good
-+ # thing, but the version string from libtool is very ugly, and for
-+ # bug reports it might be useful to have the original string.
-+ cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'`
-+ AC_MSG_RESULT($cf_cv_libtool_version)
-+ if test -z "$cf_cv_libtool_version" ; then
-+ AC_MSG_ERROR(This is not libtool)
-+ fi
-+
-+ # special hack to add --tag option for C++ compiler
-+ case $cf_cv_libtool_version in
-+ 1.[[5-9]]*|[[2-9]]*)
-+ LIBTOOL_CXX="$LIBTOOL --tag=CXX"
-+ ;;
-+ *)
-+ LIBTOOL_CXX="$LIBTOOL"
-+ ;;
-+ esac
-+else
-+ LIBTOOL=""
-+ LIBTOOL_CXX=""
-+fi
-+
-+test -z "$LIBTOOL" && ECHO_LT=
-+
-+AC_SUBST(LIBTOOL)
-+AC_SUBST(LIBTOOL_CXX)
-+
-+AC_SUBST(LIB_CREATE)
-+AC_SUBST(LIB_OBJECT)
-+AC_SUBST(LIB_SUFFIX)
-+AC_SUBST(LIB_PREP)
-+
-+AC_SUBST(LIB_CLEAN)
-+AC_SUBST(LIB_COMPILE)
-+AC_SUBST(LIB_LINK)
-+AC_SUBST(LIB_INSTALL)
-+AC_SUBST(LIB_UNINSTALL)
-+
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_WITH_PATH version: 6 updated: 1998/10/11 00:40:17
-+dnl ------------
-+dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
-+dnl defaulting to yes/no.
-+dnl
-+dnl $1 = option name
-+dnl $2 = help-text
-+dnl $3 = environment variable to set
-+dnl $4 = default value, shown in the help-message, must be a constant
-+dnl $5 = default value, if it's an expression & cannot be in the help-message
-+dnl
-+AC_DEFUN([CF_WITH_PATH],
-+[AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),,
-+ifelse($4,,[withval="${$3}"],[withval="${$3-ifelse($5,,$4,$5)}"]))dnl
-+CF_PATH_SYNTAX(withval)
-+eval $3="$withval"
-+AC_SUBST($3)dnl
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_WITH_PATHLIST version: 5 updated: 2001/12/10 01:28:30
-+dnl ----------------
-+dnl Process an option specifying a list of colon-separated paths.
-+dnl
-+dnl $1 = option name
-+dnl $2 = help-text
-+dnl $3 = environment variable to set
-+dnl $4 = default value, shown in the help-message, must be a constant
-+dnl $5 = default value, if it's an expression & cannot be in the help-message
-+dnl $6 = flag to tell if we want to define or substitute
-+dnl
-+AC_DEFUN([CF_WITH_PATHLIST],[
-+AC_REQUIRE([CF_PATHSEP])
-+AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),,
-+ifelse($4,,[withval=${$3}],[withval=${$3-ifelse($5,,$4,$5)}]))dnl
-+
-+IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${PATHSEP}"
-+cf_dst_path=
-+for cf_src_path in $withval
-+do
-+ CF_PATH_SYNTAX(cf_src_path)
-+ test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}:"
-+ cf_dst_path="${cf_dst_path}${cf_src_path}"
-+done
-+IFS="$ac_save_ifs"
-+
-+ifelse($6,define,[
-+# Strip single quotes from the value, e.g., when it was supplied as a literal
-+# for $4 or $5.
-+case $cf_dst_path in #(vi
-+\'*)
-+ cf_dst_path=`echo $cf_dst_path |sed -e s/\'// -e s/\'\$//`
-+ ;;
-+esac
-+cf_dst_path=`echo "$cf_dst_path" | sed -e 's/\\\\/\\\\\\\\/g'`
-+])
-+
-+eval '$3="$cf_dst_path"'
-+AC_SUBST($3)dnl
-+
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_WITH_REL_VERSION version: 1 updated: 2003/09/20 18:12:49
-+dnl -------------------
-+dnl Allow library's release-version to be overridden. Generally this happens when a
-+dnl packager has incremented the release-version past that used in the original package,
-+dnl and wishes to keep doing this.
-+dnl
-+dnl $1 is the package name, if any, to derive corresponding {package}_MAJOR
-+dnl and {package}_MINOR symbols
-+dnl symbol.
-+AC_DEFUN([CF_WITH_REL_VERSION],[
-+test -z "$cf_cv_rel_version" && cf_cv_rel_version=0.0
-+AC_ARG_WITH(rel-version,
-+[ --with-rel-version=XXX override derived release version],
-+[AC_MSG_WARN(overriding release version $cf_cv_rel_version to $withval)
-+ cf_cv_rel_version=$withval])
-+ifelse($1,,[
-+ CF_NUMBER_SYNTAX($cf_cv_rel_version,Release version)
-+],[
-+ $1_MAJOR=`echo "$cf_cv_rel_version" | sed -e 's/\..*//'`
-+ $1_MINOR=`echo "$cf_cv_rel_version" | sed -e 's/^[[^.]]*//' -e 's/^\.//' -e 's/\..*//'`
-+ CF_NUMBER_SYNTAX([$]$1_MAJOR,Release major-version)
-+ CF_NUMBER_SYNTAX([$]$1_MINOR,Release minor-version)
-+])
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_WITH_SYSMOUSE version: 2 updated: 2003/03/22 19:13:43
-+dnl ----------------
-+dnl If we can compile with sysmouse, make it available unless it is not wanted.
-+AC_DEFUN([CF_WITH_SYSMOUSE],[
-+# not everyone has "test -c"
-+if test -c /dev/sysmouse 2>/dev/null ; then
-+AC_MSG_CHECKING(if you want to use sysmouse)
-+AC_ARG_WITH(sysmouse,
-+ [ --with-sysmouse use sysmouse (FreeBSD console)],
-+ [cf_with_sysmouse=$withval],
-+ [cf_with_sysmouse=maybe])
-+ if test "$cf_with_sysmouse" != no ; then
-+ AC_TRY_COMPILE([
-+#include <osreldate.h>
-+#if (__FreeBSD_version >= 400017)
-+#include <sys/consio.h>
-+#include <sys/fbio.h>
-+#else
-+#include <machine/console.h>
-+#endif
-+],[
-+ struct mouse_info the_mouse;
-+ ioctl(0, CONS_MOUSECTL, &the_mouse);
-+],[cf_with_sysmouse=yes],[cf_with_sysmouse=no])
-+ fi
-+AC_MSG_RESULT($cf_with_sysmouse)
-+test "$cf_with_sysmouse" = yes && AC_DEFINE(USE_SYSMOUSE)
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_XOPEN_SOURCE version: 11 updated: 2004/01/26 20:58:41
-+dnl ---------------
-+dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
-+dnl or adapt to the vendor's definitions to get equivalent functionality.
-+AC_DEFUN([CF_XOPEN_SOURCE],[
-+case $host_os in #(vi
-+freebsd*) #(vi
-+ CPPFLAGS="$CPPFLAGS -D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600"
-+ ;;
-+hpux*) #(vi
-+ CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE"
-+ ;;
-+irix6.*) #(vi
-+ CPPFLAGS="$CPPFLAGS -D_SGI_SOURCE"
-+ ;;
-+linux*) #(vi
-+ CF_GNU_SOURCE
-+ ;;
-+mirbsd*) #(vi
-+ # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
-+ ;;
-+netbsd*) #(vi
-+ # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
-+ ;;
-+openbsd*) #(vi
-+ # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
-+ ;;
-+osf[[45]]*) #(vi
-+ CPPFLAGS="$CPPFLAGS -D_OSF_SOURCE"
-+ ;;
-+sco*) #(vi
-+ # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
-+ ;;
-+solaris*) #(vi
-+ CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__"
-+ ;;
-+*)
-+ AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
-+ AC_TRY_COMPILE([#include <sys/types.h>],[
-+#ifndef _XOPEN_SOURCE
-+make an error
-+#endif],
-+ [cf_cv_xopen_source=no],
-+ [cf_save="$CPPFLAGS"
-+ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=500"
-+ AC_TRY_COMPILE([#include <sys/types.h>],[
-+#ifdef _XOPEN_SOURCE
-+make an error
-+#endif],
-+ [cf_cv_xopen_source=no],
-+ [cf_cv_xopen_source=yes])
-+ CPPFLAGS="$cf_save"
-+ ])
-+])
-+test "$cf_cv_xopen_source" = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=500"
-+
-+ # FreeBSD 5.x headers demand this...
-+ AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_xopen_source,[
-+ AC_TRY_COMPILE([#include <sys/types.h>],[
-+#ifndef _POSIX_C_SOURCE
-+make an error
-+#endif],
-+ [cf_cv_xopen_source=no],
-+ [cf_save="$CPPFLAGS"
-+ CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE"
-+ AC_TRY_COMPILE([#include <sys/types.h>],[
-+#ifdef _POSIX_C_SOURCE
-+make an error
-+#endif],
-+ [cf_cv_xopen_source=no],
-+ [cf_cv_xopen_source=yes])
-+ CPPFLAGS="$cf_save"
-+ ])
-+])
-+test "$cf_cv_xopen_source" = yes && CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE"
-+ ;;
-+esac
-+])
---- /dev/null
-+++ ncurses-5.4/m4/templates.m4
-@@ -0,0 +1,78 @@
-+AH_TEMPLATE([BROKEN_LINKER], [too lazy to enter descriptions])
-+AH_TEMPLATE([BSD_TPUTS], [too lazy to enter descriptions])
-+AH_TEMPLATE([CC_HAS_INLINE_FUNCS], [too lazy to enter descriptions])
-+AH_TEMPLATE([CC_HAS_PROTOS], [too lazy to enter descriptions])
-+AH_TEMPLATE([CPP_HAS_PARAM_INIT], [too lazy to enter descriptions])
-+AH_TEMPLATE([CPP_HAS_VSCAN_FUNC], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_BIG_CORE], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_BSD_CGETENT], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_BUILTIN_H], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_CURSES_VERSION], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_GETTIMEOFDAY], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_GPP_BUILTIN_H], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_GXX_BUILTIN_H], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_HAS_KEY], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_ISASCII], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_LIBGPM], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_LIBUTF8_H], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_MKSTEMP], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_NC_ALLOC_H], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_REGEXPR_H_FUNCS], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_REGEXP_H_FUNCS], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_REGEX_H_FUNCS], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_RESIZETERM], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_RESIZE_TERM], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_SIZECHANGE], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_SLK_COLOR], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_SYS_TIME_SELECT], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_TCGETATTR], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_TYPE_SIGACTION], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_USE_DEFAULT_COLORS], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_VFSCANF], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_VSSCANF], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_WORKING_POLL], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE_WRESIZE], [too lazy to enter descriptions])
-+AH_TEMPLATE([HAVE__DOSCAN], [too lazy to enter descriptions])
-+AH_TEMPLATE([MIXEDCASE_FILENAMES], [too lazy to enter descriptions])
-+AH_TEMPLATE([NCURSES_EXPANDED], [too lazy to enter descriptions])
-+AH_TEMPLATE([NCURSES_EXT_FUNCS], [too lazy to enter descriptions])
-+AH_TEMPLATE([NCURSES_NOMACROS], [too lazy to enter descriptions])
-+AH_TEMPLATE([NCURSES_NO_PADDING], [too lazy to enter descriptions])
-+AH_TEMPLATE([NCURSES_PATHSEP], [too lazy to enter descriptions])
-+AH_TEMPLATE([NCURSES_VERSION_STRING], [too lazy to enter descriptions])
-+AH_TEMPLATE([NDEBUG], [too lazy to enter descriptions])
-+AH_TEMPLATE([NEED_WCHAR_H], [too lazy to enter descriptions])
-+AH_TEMPLATE([NO_LEAKS], [too lazy to enter descriptions])
-+AH_TEMPLATE([PROG_EXT], [too lazy to enter descriptions])
-+AH_TEMPLATE([PURE_TERMINFO], [too lazy to enter descriptions])
-+AH_TEMPLATE([SVR4_ACTION], [too lazy to enter descriptions])
-+AH_TEMPLATE([SVR4_TERMIO], [too lazy to enter descriptions])
-+AH_TEMPLATE([SYSTEM_NAME], [too lazy to enter descriptions])
-+AH_TEMPLATE([TERMINFO], [too lazy to enter descriptions])
-+AH_TEMPLATE([TERMINFO_DIRS], [too lazy to enter descriptions])
-+AH_TEMPLATE([TERMPATH], [too lazy to enter descriptions])
-+AH_TEMPLATE([TYPEOF_CHTYPE], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_ASSUMED_COLOR], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_COLORFGBG], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_DATABASE], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_GETCAP], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_GETCAP_CACHE], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_HARD_TABS], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_HASHMAP], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_HOME_TERMINFO], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_LINKS], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_MY_MEMMOVE], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_OK_BCOPY], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_RCS_IDS], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_ROOT_ENVIRON], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_SAFE_SPRINTF], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_SCROLL_HINTS], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_SIGWINCH], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_STDIO_VSCAN], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_STRSTREAM_VSCAN], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_STRSTREAM_VSCAN_CAST], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_SYMLINKS], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_SYSMOUSE], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_TERMCAP], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_WIDEC_SUPPORT], [too lazy to enter descriptions])
-+AH_TEMPLATE([USE_XMC_SUPPORT], [too lazy to enter descriptions])
diff --git a/meta/recipes-core/ncurses/ncurses_5.4.bb b/meta/recipes-core/ncurses/ncurses_5.4.bb
deleted file mode 100644
index 60e07fd85..000000000
--- a/meta/recipes-core/ncurses/ncurses_5.4.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-PR = "r14"
-
-SRC_URI = "${GNU_MIRROR}/ncurses/ncurses-${PV}.tar.gz \
- file://makefile_tweak.patch;patch=1 \
- file://visibility.patch;patch=1"
-
-SRC_URI[md5sum] = "069c8880072060373290a4fefff43520"
-SRC_URI[sha256sum] = "5abce063cf431790f4e6a801a96c7eea0b33a41ecd0970f6312f52575c083b36"
-S = "${WORKDIR}/ncurses-${PV}"
-
-require ncurses.inc
diff --git a/meta/recipes-core/ncurses/ncurses_5.7.bb b/meta/recipes-core/ncurses/ncurses_5.7.bb
new file mode 100644
index 000000000..33cc16105
--- /dev/null
+++ b/meta/recipes-core/ncurses/ncurses_5.7.bb
@@ -0,0 +1,242 @@
+DESCRIPTION = "Ncurses library"
+HOMEPAGE = "http://www.gnu.org/software/ncurses/ncurses.html"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://ncurses/base/version.c;beginline=1;endline=27;md5=cbc180a8c44ca642e97c35452fab5f66"
+SECTION = "libs"
+PATCHDATE = "20100501"
+PKGV = "${PV}+${PATCHDATE}"
+PR = "r0"
+
+DEPENDS = "ncurses-native unifdef-native"
+DEPENDS_virtclass-native = "unifdef-native"
+
+inherit autotools binconfig
+
+SRC_URI = "${GNU_MIRROR}/ncurses/ncurses-${PV}.tar.gz;name=tarball \
+ ftp://invisible-island.net/ncurses/5.7/ncurses-5.7-20100424-patch.sh.bz2;apply=yes;name=p20100424sh \
+\
+ ftp://invisible-island.net/ncurses/5.7/ncurses-5.7-${PATCHDATE}.patch.gz;name=p20100501 \
+ file://tic-hang.patch \
+ file://config.cache \
+"
+
+SRC_URI[tarball.md5sum] = "cce05daf61a64501ef6cd8da1f727ec6"
+SRC_URI[tarball.sha256sum] = "0a9bdea5c7de8ded5c9327ed642915f2cc380753f12d4ad120ef7da3ea3498f4"
+SRC_URI[p20100424sh.md5sum] = "3a5f76613f0f7ec3e0e73b835bc24864"
+SRC_URI[p20100424sh.sha256sum] = "1e9d70d2d1fe1fea471868832c52f1b9cc6065132102e49e2a3755f2f4f5be53"
+SRC_URI[p20100501.md5sum] = "6518cfa5d45e9069a1e042468161448b"
+SRC_URI[p20100501.sha256sum] = "a97ccc30e4bd6fbb89564f3058db0fe84bd35cfefee831556c500793b477abde"
+
+PARALLEL_MAKE = ""
+EXTRA_AUTORECONF = "-I m4"
+CONFIG_SITE =+ "${WORKDIR}/config.cache"
+
+# Whether to enable separate widec libraries; must be 'true' or 'false'
+#
+# TODO: remove this variable when widec is supported in every setup?
+ENABLE_WIDEC = "true"
+
+# _GNU_SOURCE is required for widec stuff and is detected automatically
+# for target objects. But it must be set manually for native and sdk
+# builds.
+BUILD_CPPFLAGS += "-D_GNU_SOURCE"
+
+# Override the function from the autotools class; ncurses requires a
+# patched autoconf213 to generate the configure script. This autoconf
+# is not available so that the shipped script will be used.
+do_configure() {
+ # check does not work with cross-compiling and is generally
+ # broken because it requires stdin to be pollable (which is
+ # not the case for /dev/null redirections)
+ export cf_cv_working_poll=yes
+
+ for i in \
+ 'narrowc' \
+ 'widec --enable-widec --without-progs'; do
+ set -- $i
+ mkdir -p $1
+ cd $1
+ shift
+
+ oe_runconf \
+ --disable-static \
+ --without-debug \
+ --without-ada \
+ --without-gpm \
+ --enable-hard-tabs \
+ --enable-xmc-glitch \
+ --enable-colorfgbg \
+ --with-termpath='${sysconfdir}/termcap:${datadir}/misc/termcap' \
+ --with-terminfo-dirs='${sysconfdir}/terminfo:${datadir}/terminfo' \
+ --with-shared \
+ --disable-big-core \
+ --program-prefix= \
+ --with-ticlib \
+ --with-termlib=tinfo \
+ --enable-sigwinch \
+ --enable-pc-files \
+ --disable-rpath-hack \
+ "$@"
+ cd ..
+ done
+}
+
+do_compile() {
+ oe_runmake -C narrowc libs
+ oe_runmake -C narrowc/progs
+
+ ! ${ENABLE_WIDEC} || \
+ oe_runmake -C widec libs
+}
+
+# set of expected differences between narrowc and widec header
+#
+# TODO: the NCURSES_CH_T difference can cause real problems :(
+_unifdef_cleanup = " \
+ -e '\!/\* \$Id: curses.wide,v!,\!/\* \$Id: curses.tail,v!d' \
+ -e '/^#define NCURSES_CH_T /d' \
+ -e '/^#include <wchar.h>/d' \
+ -e '\!^/\* .* \*/!d' \
+"
+
+do_test[dirs] = "${S}"
+do_test() {
+ ${ENABLE_WIDEC} || return 0
+
+ # make sure that the narrow and widec header are compatible
+ # and differ only in minor details.
+ unifdef -k narrowc/include/curses.h | \
+ sed ${_unifdef_cleanup} > curses-narrowc.h
+ unifdef -k widec/include/curses.h | \
+ sed ${_unifdef_cleanup} > curses-widec.h
+
+ diff curses-narrowc.h curses-widec.h
+}
+
+_install_opts = "\
+ DESTDIR='${D}' \
+ PKG_CONFIG_LIBDIR='${libdir}/pkgconfig' \
+ install.libs install.includes install.man \
+"
+
+do_install() {
+ # Order of installation is important; widec installs a 'curses.h'
+ # header with more definitions and must be installed last hence.
+ # Compatibility of these headers will be checked in 'do_test()'.
+ oe_runmake -C narrowc ${_install_opts} \
+ install.data install.progs
+
+ ! ${ENABLE_WIDEC} || \
+ oe_runmake -C widec ${_install_opts}
+
+
+ cd narrowc
+
+ # include some basic terminfo files
+ # stolen ;) from gentoo and modified a bit
+ for x in ansi console dumb linux rxvt screen sun vt{52,100,102,200,220} xterm-color xterm-xfree86
+ do
+ local termfile="$(find "${D}${datadir}/terminfo/" -name "${x}" 2>/dev/null)"
+ local basedir="$(basename $(dirname "${termfile}"))"
+
+ if [ -n "${termfile}" ]
+ then
+ install -d ${D}${sysconfdir}/terminfo/${basedir}
+ mv ${termfile} ${D}${sysconfdir}/terminfo/${basedir}/
+ ln -s /etc/terminfo/${basedir}/${x} \
+ ${D}${datadir}/terminfo/${basedir}/${x}
+ fi
+ done
+ # i think we can use xterm-color as default xterm
+ if [ -e ${D}${sysconfdir}/terminfo/x/xterm-color ]
+ then
+ ln -sf xterm-color ${D}${sysconfdir}/terminfo/x/xterm
+ fi
+
+ if [ "${PN}" = "ncurses" ]; then
+ mv ${D}${bindir}/clear ${D}${bindir}/clear.${PN}
+ mv ${D}${bindir}/reset ${D}${bindir}/reset.${PN}
+ fi
+
+
+ # create linker scripts for libcurses.so and libncurses to
+ # link against -ltinfo when needed. Some builds might break
+ # else when '-Wl,--no-copy-dt-needed-entries' has been set in
+ # linker flags.
+ for i in libncurses libncursesw; do
+ f=${D}${libdir}/$i.so
+ test -h $f || continue
+ rm -f $f
+ echo '/* GNU ld script */' >$f
+ echo "INPUT($i.so.5 AS_NEEDED(-ltinfo))" >>$f
+ done
+
+ # create libtermcap.so linker script for backward compatibility
+ f=${D}${libdir}/libtermcap.so
+ echo '/* GNU ld script */' >$f
+ echo 'INPUT(AS_NEEDED(-ltinfo))' >>$f
+}
+
+python populate_packages_prepend () {
+ libdir = bb.data.expand("${libdir}", d)
+ pnbase = bb.data.expand("${PN}-lib%s", d)
+ do_split_packages(d, libdir, '^lib(.*)\.so\..*', pnbase, 'ncurses %s library', prepend=True, extra_depends = '', allow_links=True)
+}
+
+
+pkg_postinst_ncurses-tools () {
+ if [ "${PN}" = "ncurses" ]; then
+ update-alternatives --install ${bindir}/clear clear clear.${PN} 100
+ update-alternatives --install ${bindir}/reset reset reset.${PN} 100
+ fi
+}
+
+pkg_prerm_ncurses-tools () {
+ if [ "${PN}" = "ncurses" ]; then
+ update-alternatives --remove clear clear.${PN}
+ update-alternatives --remove reset reset.${PN}
+ fi
+}
+
+BBCLASSEXTEND = "native nativesdk"
+
+PACKAGES += " \
+ ${PN}-tools \
+ ${PN}-terminfo \
+ ${PN}-terminfo-base \
+"
+
+FILES_${PN} = "\
+ ${bindir}/tput \
+ ${bindir}/tset \
+ ${bindir}/ncurses5-config \
+ ${bindir}/ncursesw5-config \
+ ${datadir}/tabset \
+"
+
+# This keeps only tput/tset in ncurses
+# clear/reset are in already busybox
+FILES_${PN}-tools = "\
+ ${bindir}/tic \
+ ${bindir}/toe \
+ ${bindir}/infotocap \
+ ${bindir}/captoinfo \
+ ${bindir}/infocmp \
+ ${bindir}/clear.${PN} \
+ ${bindir}/reset.${PN} \
+ ${bindir}/tack \
+ ${bindir}/tabs \
+"
+# 'reset' is a symlink to 'tset' which is in the 'ncurses' package
+RDEPENDS_${PN}-tools = "${PN}"
+
+FILES_${PN}-terminfo = "\
+ ${datadir}/terminfo \
+"
+
+FILES_${PN}-terminfo-base = "\
+ ${sysconfdir}/terminfo \
+"
+
+RSUGGESTS_${PN}-libtinfo = "${PN}-terminfo"
+RRECOMMENDS_${PN}-libtinfo = "${PN}-terminfo-base"
diff --git a/meta/recipes-core/netbase/netbase-4.43/colinux/interfaces b/meta/recipes-core/netbase/netbase-4.44/colinux/interfaces
index 0e495e164..0e495e164 100644
--- a/meta/recipes-core/netbase/netbase-4.43/colinux/interfaces
+++ b/meta/recipes-core/netbase/netbase-4.44/colinux/interfaces
diff --git a/meta/recipes-core/netbase/netbase-4.43/epia/interfaces b/meta/recipes-core/netbase/netbase-4.44/epia/interfaces
index 673618f63..673618f63 100644
--- a/meta/recipes-core/netbase/netbase-4.43/epia/interfaces
+++ b/meta/recipes-core/netbase/netbase-4.44/epia/interfaces
diff --git a/meta/recipes-core/netbase/netbase-4.43/hosts b/meta/recipes-core/netbase/netbase-4.44/hosts
index 2f332451b..2f332451b 100644
--- a/meta/recipes-core/netbase/netbase-4.43/hosts
+++ b/meta/recipes-core/netbase/netbase-4.44/hosts
diff --git a/meta/recipes-core/netbase/netbase-4.43/init b/meta/recipes-core/netbase/netbase-4.44/init
index 8a67e1cef..8a67e1cef 100644
--- a/meta/recipes-core/netbase/netbase-4.43/init
+++ b/meta/recipes-core/netbase/netbase-4.44/init
diff --git a/meta/recipes-core/netbase/netbase-4.43/interfaces b/meta/recipes-core/netbase/netbase-4.44/interfaces
index b06924fa9..b06924fa9 100644
--- a/meta/recipes-core/netbase/netbase-4.43/interfaces
+++ b/meta/recipes-core/netbase/netbase-4.44/interfaces
diff --git a/meta/recipes-core/netbase/netbase-4.43/mtx-1/interfaces b/meta/recipes-core/netbase/netbase-4.44/mtx-1/interfaces
index a7c6da575..a7c6da575 100644
--- a/meta/recipes-core/netbase/netbase-4.43/mtx-1/interfaces
+++ b/meta/recipes-core/netbase/netbase-4.44/mtx-1/interfaces
diff --git a/meta/recipes-core/netbase/netbase-4.43/nfsroot b/meta/recipes-core/netbase/netbase-4.44/nfsroot
index fc384a8ea..fc384a8ea 100644
--- a/meta/recipes-core/netbase/netbase-4.43/nfsroot
+++ b/meta/recipes-core/netbase/netbase-4.44/nfsroot
diff --git a/meta/recipes-core/netbase/netbase-4.43/nokia800/interfaces b/meta/recipes-core/netbase/netbase-4.44/nokia800/interfaces
index 16967763e..16967763e 100644
--- a/meta/recipes-core/netbase/netbase-4.43/nokia800/interfaces
+++ b/meta/recipes-core/netbase/netbase-4.44/nokia800/interfaces
diff --git a/meta/recipes-core/netbase/netbase-4.43/openmn/hosts b/meta/recipes-core/netbase/netbase-4.44/openmn/hosts
index 0205b98fc..0205b98fc 100644
--- a/meta/recipes-core/netbase/netbase-4.43/openmn/hosts
+++ b/meta/recipes-core/netbase/netbase-4.44/openmn/hosts
diff --git a/meta/recipes-core/netbase/netbase-4.43/openmn/interfaces b/meta/recipes-core/netbase/netbase-4.44/openmn/interfaces
index 9ebe9b8ff..9ebe9b8ff 100644
--- a/meta/recipes-core/netbase/netbase-4.43/openmn/interfaces
+++ b/meta/recipes-core/netbase/netbase-4.44/openmn/interfaces
diff --git a/meta/recipes-core/netbase/netbase-4.43/qemuarm/interfaces b/meta/recipes-core/netbase/netbase-4.44/qemuarm/interfaces
index 16967763e..16967763e 100644
--- a/meta/recipes-core/netbase/netbase-4.43/qemuarm/interfaces
+++ b/meta/recipes-core/netbase/netbase-4.44/qemuarm/interfaces
diff --git a/meta/recipes-core/netbase/netbase-4.43/qemuarmv6/interfaces b/meta/recipes-core/netbase/netbase-4.44/qemuarmv6/interfaces
index 16967763e..16967763e 100644
--- a/meta/recipes-core/netbase/netbase-4.43/qemuarmv6/interfaces
+++ b/meta/recipes-core/netbase/netbase-4.44/qemuarmv6/interfaces
diff --git a/meta/recipes-core/netbase/netbase-4.43/qemuarmv7/interfaces b/meta/recipes-core/netbase/netbase-4.44/qemuarmv7/interfaces
index 16967763e..16967763e 100644
--- a/meta/recipes-core/netbase/netbase-4.43/qemuarmv7/interfaces
+++ b/meta/recipes-core/netbase/netbase-4.44/qemuarmv7/interfaces
diff --git a/meta/recipes-core/netbase/netbase-4.43/qemux86-64/interfaces b/meta/recipes-core/netbase/netbase-4.44/qemux86-64/interfaces
index f62b9a897..f62b9a897 100644
--- a/meta/recipes-core/netbase/netbase-4.43/qemux86-64/interfaces
+++ b/meta/recipes-core/netbase/netbase-4.44/qemux86-64/interfaces
diff --git a/meta/recipes-core/netbase/netbase-4.43/qemux86/interfaces b/meta/recipes-core/netbase/netbase-4.44/qemux86/interfaces
index f62b9a897..f62b9a897 100644
--- a/meta/recipes-core/netbase/netbase-4.43/qemux86/interfaces
+++ b/meta/recipes-core/netbase/netbase-4.44/qemux86/interfaces
diff --git a/meta/recipes-core/netbase/netbase-4.43/tosa/interfaces b/meta/recipes-core/netbase/netbase-4.44/tosa/interfaces
index 0da716853..0da716853 100644
--- a/meta/recipes-core/netbase/netbase-4.43/tosa/interfaces
+++ b/meta/recipes-core/netbase/netbase-4.44/tosa/interfaces
diff --git a/meta/recipes-core/netbase/netbase-4.43/wrt54/interfaces b/meta/recipes-core/netbase/netbase-4.44/wrt54/interfaces
index 8b2852ac5..8b2852ac5 100644
--- a/meta/recipes-core/netbase/netbase-4.43/wrt54/interfaces
+++ b/meta/recipes-core/netbase/netbase-4.44/wrt54/interfaces
diff --git a/meta/recipes-core/netbase/netbase-4.43/xxs1500/interfaces b/meta/recipes-core/netbase/netbase-4.44/xxs1500/interfaces
index 23ccccd2d..23ccccd2d 100644
--- a/meta/recipes-core/netbase/netbase-4.43/xxs1500/interfaces
+++ b/meta/recipes-core/netbase/netbase-4.44/xxs1500/interfaces
diff --git a/meta/recipes-core/netbase/netbase_4.43.bb b/meta/recipes-core/netbase/netbase_4.44.bb
index 198a8d7a7..dbb7e83d2 100644
--- a/meta/recipes-core/netbase/netbase_4.43.bb
+++ b/meta/recipes-core/netbase/netbase_4.44.bb
@@ -57,5 +57,5 @@ PACKAGE_ARCH_qemuarm = "${MACHINE_ARCH}"
PACKAGE_ARCH_qemux86 = "${MACHINE_ARCH}"
PACKAGE_ARCH_qemux86-64 = "${MACHINE_ARCH}"
-SRC_URI[md5sum] = "875d6db52cc8cef565a77ef898ed47cf"
-SRC_URI[sha256sum] = "5a6da788356776330b77eda97157285e1c426c2d3bd9136407373965365e9dbf"
+SRC_URI[md5sum] = "a8d0bfed8a67273a276fc792524bc103"
+SRC_URI[sha256sum] = "eb2d4db2e3ec20eeea1e22962bce46f9651bf63e8add2ba6d4e996f0befb2823"
diff --git a/meta/recipes-core/psplash/files/psplash-poky-img.h b/meta/recipes-core/psplash/files/psplash-poky-img.h
new file mode 100644
index 000000000..7ab178f4c
--- /dev/null
+++ b/meta/recipes-core/psplash/files/psplash-poky-img.h
@@ -0,0 +1,909 @@
+/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */
+
+#define POKY_IMG_ROWSTRIDE (1708)
+#define POKY_IMG_WIDTH (427)
+#define POKY_IMG_HEIGHT (214)
+#define POKY_IMG_BYTES_PER_PIXEL (4) /* 3:RGB, 4:RGBA */
+#define POKY_IMG_RLE_PIXEL_DATA ((uint8*) \
+ "\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354" \
+ "\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377" \
+ "\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350" \
+ "\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340" \
+ "\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377" \
+ "\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354" \
+ "\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377" \
+ "\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350" \
+ "\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340" \
+ "\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377" \
+ "\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354" \
+ "\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377" \
+ "\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350" \
+ "\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340" \
+ "\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377" \
+ "\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354" \
+ "\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377" \
+ "\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350" \
+ "\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340" \
+ "\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377" \
+ "\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354" \
+ "\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377" \
+ "\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350" \
+ "\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340" \
+ "\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377" \
+ "\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354" \
+ "\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377" \
+ "\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350" \
+ "\354\340\377\237\350\354\340\377\1\350\354\342\377\377\350\354\340\377" \
+ "\377\350\354\340\377\377\350\354\340\377\254\350\354\340\377\2\241\243" \
+ "\244\377;AC\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340" \
+ "\377\252\350\354\340\377\2\275\277\277\377LQR\377\202.46\377\377\350" \
+ "\354\340\377\377\350\354\340\377\377\350\354\340\377\250\350\354\340" \
+ "\377\2\321\322\323\377]ac\377\204.46\377\377\350\354\340\377\377\350" \
+ "\354\340\377\377\350\354\340\377\246\350\354\340\377\3\346\347\347\377" \
+ "w{|\377/57\377\205.46\377\377\350\354\340\377\377\350\354\340\377\377" \
+ "\350\354\340\377\245\350\354\340\377\2\223\226\227\3775;=\377\207.46" \
+ "\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\243" \
+ "\350\354\340\377\2\253\255\256\377BHJ\377\211.46\377\377\350\354\340" \
+ "\377\377\350\354\340\377\377\350\354\340\377\241\350\354\340\377\2\304" \
+ "\306\306\377PUW\377\213.46\377\377\350\354\340\377\377\350\354\340\377" \
+ "\377\350\354\340\377\240\350\354\340\377\1\306\310\311\377\215.46\377" \
+ "\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\240\350" \
+ "\354\340\377\1\302\303\304\377\215.46\377\377\350\354\340\377\377\350" \
+ "\354\340\377\377\350\354\340\377\240\350\354\340\377\1\302\303\304\377" \
+ "\215.46\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377" \
+ "\240\350\354\340\377\1\302\303\304\377\215.46\377\377\350\354\340\377" \
+ "\377\350\354\340\377\377\350\354\340\377\240\350\354\340\377\1\302\303" \
+ "\304\377\215.46\377\377\350\354\340\377\377\350\354\340\377\377\350\354" \
+ "\340\377\240\350\354\340\377\1\302\303\304\377\215.46\377\377\350\354" \
+ "\340\377\377\350\354\340\377\377\350\354\340\377\240\350\354\340\377" \
+ "\1\302\303\304\377\215.46\377\377\350\354\340\377\377\350\354\340\377" \
+ "\377\350\354\340\377\240\350\354\340\377\1\302\303\304\377\215.46\377" \
+ "\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\240\350" \
+ "\354\340\377\1\302\303\304\377\215.46\377\377\350\354\340\377\377\350" \
+ "\354\340\377\377\350\354\340\377\240\350\354\340\377\1\302\303\304\377" \
+ "\215.46\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377" \
+ "\240\350\354\340\377\1\302\303\304\377\215.46\377\377\350\354\340\377" \
+ "\377\350\354\340\377\377\350\354\340\377\240\350\354\340\377\1\302\303" \
+ "\304\377\215.46\377\377\350\354\340\377\305\350\354\340\377\1\346\347" \
+ "\347\377\256\350\354\340\377\1\341\342\343\377\377\350\354\340\377\252" \
+ "\350\354\340\377\1\302\303\304\377\215.46\377\377\350\354\340\377\304" \
+ "\350\354\340\377\3\220\223\224\3775;=\377\244\247\250\377\254\350\354" \
+ "\340\377\4\302\303\304\377179\377\205\210\212\377\350\354\342\377\377" \
+ "\350\354\340\377\250\350\354\340\377\1\302\303\304\377\215.46\377\377" \
+ "\350\354\340\377\302\350\354\340\377\2\250\253\253\377>DF\377\202.46" \
+ "\377\1@FG\377\254\350\354\340\377\1Y^`\377\202.46\377\2;AC\377\241\243" \
+ "\244\377\377\350\354\340\377\247\350\354\340\377\1\302\303\304\377\215" \
+ ".46\377\377\350\354\340\377\300\350\354\340\377\2\303\305\305\377PUW" \
+ "\377\205.46\377\1\230\233\234\377\252\350\354\340\377\1\303\305\305\377" \
+ "\205.46\377\2LQR\377\275\277\277\377\244\350\354\340\377\16\350\352\351" \
+ "\377\313\314\315\377\254\257\257\377\224\227\230\377\214\220\221\377" \
+ "\202\205\206\377w{|\377uy{\377\202\205\206\377\213\216\217\377\223\226" \
+ "\227\377\253\255\256\377\310\312\312\377\346\346\347\377\362\350\354" \
+ "\340\377\1\302\303\304\377\215.46\377\267\350\354\340\377\16\352\354" \
+ "\345\377\315\316\317\377\257\262\263\377\225\230\231\377\216\221\222" \
+ "\377\202\205\206\377x|}\377txy\377\202\205\206\377\211\214\215\377\221" \
+ "\224\225\377\247\252\253\377\305\306\307\377\342\343\343\377\370\350" \
+ "\354\340\377\2\327\330\330\377bgh\377\207.46\377\1""9\77A\377\252\350" \
+ "\354\340\377\1]ac\377\207.46\377\2bgh\377\327\330\330\377\236\350\354" \
+ "\340\377\4\323\324\324\377\237\242\243\377kop\3779>@\377\216.46\377\4" \
+ "7=\77\377fjl\377\232\235\236\377\316\317\320\377\303\350\354\340\377" \
+ "\7\352\354\346\377\332\333\334\377\303\305\305\377\271\273\274\377\263" \
+ "\265\266\377\253\256\257\377\247\252\253\377\244\235\240\241\377\1}\200" \
+ "\202\377\215.46\377\1\227\232\233\377\221\235\240\241\377\1\335\336\336" \
+ "\377\240\350\354\340\377\4\330\332\332\377\244\247\250\377ptu\377>CE" \
+ "\377\216.46\377\4""4:<\377_de\377\224\230\231\377\311\312\313\377\362" \
+ "\350\354\340\377\3\352\353\347\377~\202\203\377068\377\211.46\377\1\216" \
+ "\221\222\377\250\350\354\340\377\1\306\310\311\377\211.46\377\3""068" \
+ "\377~\202\203\377\352\353\347\377\231\350\354\340\377\3\332\333\334\377" \
+ "\214\220\221\377CIJ\377\226.46\377\3>CE\377\207\212\213\377\321\322\323" \
+ "\377\272\350\354\340\377\6\324\325\325\377\257\261\262\377\213\217\220" \
+ "\377gkl\377FKM\37728:\377\313.46\377\1\265\267\270\377\235\350\354\340" \
+ "\377\3\341\342\342\377\224\230\231\377JOQ\377\226.46\377\3""9\77A\377" \
+ "}\200\202\377\312\313\314\377\356\350\354\340\377\2\225\230\231\3778" \
+ ">\77\377\213.46\377\2""5;=\377\350\352\351\377\247\350\354\340\377\1" \
+ "_de\377\213.46\377\2""8>\77\377\232\235\236\377\226\350\354\340\377\2" \
+ "\264\266\266\377V[]\377\234.46\377\2PUV\377\253\256\257\377\264\350\354" \
+ "\340\377\4\322\323\324\377\235\237\240\377gkl\3776<>\377\321.46\377\1" \
+ "\265\267\270\377\233\350\354\340\377\2\277\301\302\377`ef\377\234.46" \
+ "\377\2GMN\377\240\243\244\377\354\350\354\340\377\1BHJ\377\215.46\377" \
+ "\1\202\205\206\377\246\350\354\340\377\1\311\312\313\377\215.46\377\1" \
+ "CIJ\377\224\350\354\340\377\2\241\243\244\377FKM\377\240.46\377\2@FG" \
+ "\377\231\233\234\377\257\350\354\340\377\3\325\326\327\377\214\220\221" \
+ "\377EJL\377\325.46\377\1\265\267\270\377\231\350\354\340\377\2\255\257" \
+ "\260\377NSU\377\240.46\377\3""9\77A\377\220\223\224\377\350\354\342\377" \
+ "\351\350\354\340\377\1\251\253\254\377\215.46\377\2""179\377\341\342" \
+ "\343\377\245\350\354\340\377\1bfh\377\215.46\377\1\244\247\250\377\222" \
+ "\350\354\340\377\2\275\277\277\377LQR\377\244.46\377\2BHJ\377\264\267" \
+ "\267\377\253\350\354\340\377\2\253\256\257\377PUV\377\330.46\377\1\265" \
+ "\267\270\377\227\350\354\340\377\2\313\314\315\377UY[\377\244.46\377" \
+ "\2;AC\377\247\252\253\377\351\350\354\340\377\1LQS\377\215.46\377\1x" \
+ "|}\377\244\350\354\340\377\1\314\316\316\377\215.46\377\1BGI\377\221" \
+ "\350\354\340\377\2\346\347\347\377hmn\377\250.46\377\2]ac\377\340\341" \
+ "\341\377\247\350\354\340\377\2\235\237\240\377BGI\377\332.46\377\1\265" \
+ "\267\270\377\225\350\354\340\377\2\350\354\342\377txz\377\250.46\377" \
+ "\2PUW\377\324\326\326\377\347\350\354\340\377\1\270\272\272\377\215." \
+ "46\377\2""068\377\330\332\332\377\243\350\354\340\377\1eik\377\215.4" \
+ "6\377\1\242\244\245\377\220\350\354\340\377\2\275\277\277\377=BD\377" \
+ "\252.46\377\2""8>\77\377\261\263\264\377\244\350\354\340\377\2\265\267" \
+ "\270\377BHJ\377\334.46\377\1\265\267\270\377\224\350\354\340\377\2\313" \
+ "\315\315\377EJL\377\252.46\377\2""28:\377\240\243\244\377\347\350\354" \
+ "\340\377\1V[]\377\215.46\377\1kpq\377\242\350\354\340\377\1\316\317\320" \
+ "\377\215.46\377\1@FG\377\220\350\354\340\377\1\210\214\215\377\256.4" \
+ "6\377\1y}\177\377\241\350\354\340\377\2\336\337\337\377aeg\377\336.4" \
+ "6\377\1\265\267\270\377\223\350\354\340\377\2\231\234\235\377068\377" \
+ "\255.46\377\1imo\377\346\350\354\340\377\1\304\306\306\377\216.46\377" \
+ "\1\317\321\321\377\241\350\354\340\377\1glm\377\215.46\377\1\236\241" \
+ "\242\377\217\350\354\340\377\1ptu\377\260.46\377\1chi\377\237\350\354" \
+ "\340\377\2\264\267\267\3778>\77\377\337.46\377\1\265\267\270\377\222" \
+ "\350\354\340\377\1\202\205\206\377\260.46\377\2TYZ\377\352\353\347\377" \
+ "\345\350\354\340\377\1chi\377\215.46\377\1bfh\377\240\350\354\340\377" \
+ "\1\321\322\323\377\215.46\377\1>DF\377\217\350\354\340\377\1_de\377\262" \
+ ".46\377\2TYZ\377\352\353\347\377\234\350\354\340\377\1\202\205\206\377" \
+ "\341.46\377\1\265\267\270\377\221\350\354\340\377\1ptv\377\262.46\377" \
+ "\2HMO\377\337\340\340\377\344\350\354\340\377\2\322\323\324\377/57\377" \
+ "\215.46\377\1\304\306\306\377\237\350\354\340\377\1kop\377\215.46\377" \
+ "\1\234\237\240\377\216\350\354\340\377\1aeg\377\264.46\377\1SXY\377\233" \
+ "\350\354\340\377\1fjl\377\342.46\377\1\265\267\270\377\220\350\354\340" \
+ "\377\1ptu\377\264.46\377\2EJL\377\350\351\351\377\344\350\354\340\377" \
+ "\1ptv\377\215.46\377\1V[]\377\236\350\354\340\377\1\324\326\326\377\215" \
+ ".46\377\1=BD\377\216\350\354\340\377\1nrs\377\226.46\377\12=BD\377`e" \
+ "f\377\200\204\205\377\220\223\224\377\233\236\237\377\234\237\240\377" \
+ "\220\223\224\377\202\205\206\377bgh\377>DF\377\226.46\377\1dij\377\231" \
+ "\350\354\340\377\1_de\377\231.46\377\3""39;\377EJL\377Y^`\377\202fjl" \
+ "\377\1swx\377\244txy\377\1_de\377\215.46\377\1ptu\377\221txy\377\1\316" \
+ "\317\320\377\217\350\354\340\377\1\204\210\211\377\226.46\377\12""9\77" \
+ "A\377[`a\377}\200\202\377\220\223\224\377\231\234\235\377\235\240\241" \
+ "\377\220\223\224\377\205\210\212\377fjl\377BHJ\377\226.46\377\1SXY\377" \
+ "\344\350\354\340\377\2\335\336\336\377068\377\215.46\377\1\271\273\274" \
+ "\377\235\350\354\340\377\1lqr\377\215.46\377\1\231\233\234\377\215\350" \
+ "\354\340\377\1\207\213\214\377\224.46\377\3PUW\377\234\237\240\377\327" \
+ "\330\330\377\212\350\354\340\377\3\332\333\334\377\236\241\242\377PU" \
+ "V\377\224.46\377\1x|}\377\227\350\354\340\377\1[`a\377\225.46\377\5K" \
+ "PR\377\177\203\204\377\247\252\253\377\311\312\313\377\352\354\346\377" \
+ "\252\350\354\340\377\1\302\303\304\377\215.46\377\241\350\354\340\377" \
+ "\1\237\242\243\377\224.46\377\3JOQ\377\226\231\232\377\320\322\322\377" \
+ "\212\350\354\340\377\3\336\337\337\377\242\245\246\377Y]_\377\224.46" \
+ "\377\1eik\377\344\350\354\340\377\1~\201\202\377\215.46\377\1OTV\377" \
+ "\234\350\354\340\377\2\326\327\330\377/57\377\214.46\377\1;AC\377\215" \
+ "\350\354\340\377\1\271\273\274\377\222.46\377\3/57\377ptu\377\314\316" \
+ "\316\377\220\350\354\340\377\2\312\313\314\377jnp\377\223.46\377\1\254" \
+ "\257\257\377\225\350\354\340\377\1y|~\377\222.46\377\4/57\377]ac\377" \
+ "\247\252\253\377\346\347\347\377\257\350\354\340\377\1\302\303\304\377" \
+ "\215.46\377\240\350\354\340\377\2\316\317\320\377068\377\222.46\377\2" \
+ "fjl\377\305\306\307\377\220\350\354\340\377\3\323\324\324\377txy\377" \
+ "068\377\222.46\377\1\225\230\231\377\343\350\354\340\377\2\347\350\350" \
+ "\3775:<\377\215.46\377\1\256\260\261\377\233\350\354\340\377\1ptu\377" \
+ "\215.46\377\1\226\231\232\377\214\350\354\340\377\2\344\345\345\377:" \
+ "@B\377\221.46\377\2gkl\377\332\333\334\377\224\350\354\340\377\2\324" \
+ "\326\326\377^ce\377\221.46\377\2""6<>\377\335\336\337\377\223\350\354" \
+ "\340\377\1\235\240\241\377\221.46\377\3""39;\377\177\203\204\377\341" \
+ "\342\342\377\262\350\354\340\377\1\302\303\304\377\215.46\377\237\350" \
+ "\354\340\377\2\350\354\342\377FKM\377\221.46\377\2[`a\377\321\322\323" \
+ "\377\224\350\354\340\377\2\335\336\337\377kop\377\221.46\377\2""068\377" \
+ "\314\316\316\377\343\350\354\340\377\1\213\217\220\377\215.46\377\1F" \
+ "KM\377\232\350\354\340\377\2\331\332\333\377/57\377\214.46\377\1:@B\377" \
+ "\215\350\354\340\377\1^ce\377\220.46\377\2;AC\377\265\267\270\377\230" \
+ "\350\354\340\377\2\251\253\254\3775;=\377\220.46\377\1Y]_\377\222\350" \
+ "\354\340\377\2\325\326\327\377068\377\220.46\377\2ptu\377\346\346\347" \
+ "\377\264\350\354\340\377\1\302\303\304\377\215.46\377\237\350\354\340" \
+ "\377\1txz\377\220.46\377\2""6<>\377\250\253\253\377\230\350\354\340\377" \
+ "\2\270\272\272\377<BC\377\220.46\377\1GMN\377\343\350\354\340\377\2\350" \
+ "\354\342\3779\77A\377\215.46\377\1\244\247\250\377\231\350\354\340\377" \
+ "\1rvw\377\215.46\377\1\223\226\227\377\214\350\354\340\377\1\261\263" \
+ "\264\377\220.46\377\2X]^\377\344\345\345\377\232\350\354\340\377\2\327" \
+ "\330\330\377HMO\377\220.46\377\1\255\257\260\377\221\350\354\340\377" \
+ "\1UY[\377\217.46\377\2<BC\377\274\276\276\377\266\350\354\340\377\1\302" \
+ "\303\304\377\215.46\377\236\350\354\340\377\1\311\312\313\377\220.46" \
+ "\377\2LQS\377\330\332\332\377\232\350\354\340\377\2\342\343\343\377S" \
+ "XY\377\220.46\377\1\224\230\231\377\343\350\354\340\377\1\230\233\234" \
+ "\377\215.46\377\1@FG\377\230\350\354\340\377\2\332\333\334\377068\377" \
+ "\214.46\377\1""9>@\377\215\350\354\340\377\1AFH\377\217.46\377\1gkl\377" \
+ "\235\350\354\340\377\2\352\353\347\377OTV\377\217.46\377\1\77EG\377\220" \
+ "\350\354\340\377\1\232\235\236\377\217.46\377\2MRT\377\340\341\341\377" \
+ "\267\350\354\340\377\1\302\303\304\377\215.46\377\236\350\354\340\377" \
+ "\1OTV\377\217.46\377\2W\\]\377\350\354\342\377\235\350\354\340\377\1" \
+ "\\ab\377\217.46\377\2""5:<\377\346\346\347\377\343\350\354\340\377\1" \
+ "AFH\377\215.46\377\1\230\233\234\377\227\350\354\340\377\1uy{\377\215" \
+ ".46\377\1\220\224\225\377\214\350\354\340\377\1\217\222\223\377\217." \
+ "46\377\1imo\377\237\350\354\340\377\2\352\354\346\377LQR\377\217.46\377" \
+ "\1\220\224\225\377\217\350\354\340\377\1""9>@\377\216.46\377\2OTV\377" \
+ "\351\354\343\377\270\350\354\340\377\1\302\303\304\377\215.46\377\235" \
+ "\350\354\340\377\1\246\251\252\377\217.46\377\1[`a\377\240\350\354\340" \
+ "\377\1[`a\377\217.46\377\1{\177\200\377\343\350\354\340\377\1\246\251" \
+ "\252\377\215.46\377\2""9\77A\377\350\354\342\377\225\350\354\340\377" \
+ "\2\335\336\337\377068\377\214.46\377\2""8>\77\377\351\354\343\377\214" \
+ "\350\354\340\377\1""9>@\377\216.46\377\1QVX\377\241\350\354\340\377\2" \
+ "\341\342\343\377\77EG\377\216.46\377\1;AC\377\216\350\354\340\377\1\224" \
+ "\230\231\377\216.46\377\2GLN\377\350\351\351\377\271\350\354\340\377" \
+ "\1\302\303\304\377\215.46\377\235\350\354\340\377\1GLN\377\216.46\377" \
+ "\2EJL\377\350\351\351\377\240\350\354\340\377\2\351\354\343\377JOQ\377" \
+ "\216.46\377\2""179\377\346\347\347\377\343\350\354\340\377\1INP\377\215" \
+ ".46\377\1\216\221\222\377\225\350\354\340\377\1x|}\377\215.46\377\1\216" \
+ "\221\222\377\214\350\354\340\377\1\230\233\234\377\216.46\377\2""7=\77" \
+ "\377\337\340\340\377\242\350\354\340\377\2\312\313\314\377068\377\216" \
+ ".46\377\1\242\244\245\377\215\350\354\340\377\1;AC\377\215.46\377\2""0" \
+ "68\377\316\317\320\377\272\350\354\340\377\1\302\303\304\377\215.46\377" \
+ "\234\350\354\340\377\1\257\261\262\377\216.46\377\2""068\377\317\320" \
+ "\320\377\242\350\354\340\377\2\330\332\332\3775:<\377\216.46\377\1\213" \
+ "\216\217\377\343\350\354\340\377\1\264\266\266\377\215.46\377\2""5;=" \
+ "\377\350\352\351\377\223\350\354\340\377\2\337\340\340\377068\377\214" \
+ ".46\377\2""6<>\377\352\354\346\377\214\350\354\340\377\1>DF\377\216." \
+ "46\377\1\246\250\251\377\244\350\354\340\377\1\216\221\222\377\216.4" \
+ "6\377\1GLN\377\214\350\354\340\377\1\246\251\252\377\216.46\377\1\223" \
+ "\226\227\377\273\350\354\340\377\1\302\303\304\377\215.46\377\234\350" \
+ "\354\340\377\1OTV\377\216.46\377\1\220\223\224\377\244\350\354\340\377" \
+ "\1\244\247\250\377\216.46\377\1""8>\77\377\344\350\354\340\377\1UY[\377" \
+ "\215.46\377\1\202\205\206\377\223\350\354\340\377\1z~\177\377\215.46" \
+ "\377\1\213\216\217\377\214\350\354\340\377\1\271\273\274\377\216.46\377" \
+ "\1Z_a\377\246\350\354\340\377\1JOQ\377\216.46\377\1\310\312\312\377\213" \
+ "\350\354\340\377\1[`a\377\215.46\377\1BHJ\377\274\350\354\340\377\1\302" \
+ "\303\304\377\215.46\377\233\350\354\340\377\1\320\322\322\377\216.46" \
+ "\377\1HMO\377\246\350\354\340\377\1\\ab\377\216.46\377\1\260\263\263" \
+ "\377\343\350\354\340\377\1\302\303\304\377\215.46\377\2""179\377\341" \
+ "\342\342\377\221\350\354\340\377\2\341\342\343\377179\377\214.46\377" \
+ "\2""5;=\377\352\353\347\377\214\350\354\340\377\1nrs\377\216.46\377\1" \
+ "\316\317\320\377\246\350\354\340\377\1\273\275\276\377\216.46\377\1|" \
+ "\200\201\377\212\350\354\340\377\1\341\342\343\377\216.46\377\1\253\255" \
+ "\256\377\274\350\354\340\377\1\302\303\304\377\215.46\377\233\350\354" \
+ "\340\377\1\204\210\211\377\216.46\377\1\270\272\272\377\246\350\354\340" \
+ "\377\2\321\322\323\377/57\377\215.46\377\1eik\377\344\350\354\340\377" \
+ "\1_de\377\215.46\377\1x|}\377\221\350\354\340\377\1~\201\202\377\215" \
+ ".46\377\1\210\214\215\377\214\350\354\340\377\2\350\354\342\37728:\377" \
+ "\215.46\377\1hmn\377\250\350\354\340\377\1X]^\377\215.46\377\1""9>@\377" \
+ "\212\350\354\340\377\1\231\234\235\377\215.46\377\1;AC\377\275\350\354" \
+ "\340\377\1\302\303\304\377\215.46\377\233\350\354\340\377\1=BD\377\215" \
+ ".46\377\1PUW\377\250\350\354\340\377\1ost\377\215.46\377\2""068\377\351" \
+ "\352\350\377\343\350\354\340\377\1\316\317\320\377\215.46\377\2""068" \
+ "\377\330\332\332\377\217\350\354\340\377\2\343\344\344\377179\377\214" \
+ ".46\377\2""4:<\377\350\352\351\377\214\350\354\340\377\1\265\267\270" \
+ "\377\216.46\377\1\305\306\307\377\250\350\354\340\377\1\271\273\273\377" \
+ "\216.46\377\1\303\305\305\377\211\350\354\340\377\1eik\377\215.46\377" \
+ "\1\207\212\213\377\275\350\354\340\377\1\302\303\304\377\215.46\377\232" \
+ "\350\354\340\377\1\313\314\315\377\216.46\377\1\260\263\263\377\250\350" \
+ "\354\340\377\1\317\320\320\377\216.46\377\1\254\257\257\377\344\350\354" \
+ "\340\377\1nrs\377\215.46\377\1kpq\377\217\350\354\340\377\1\200\204\205" \
+ "\377\215.46\377\1\205\210\212\377\215\350\354\340\377\1\201\204\206\377" \
+ "\215.46\377\1MRT\377\252\350\354\340\377\1BHJ\377\215.46\377\1\217\222" \
+ "\223\377\211\350\354\340\377\1""6<>\377\215.46\377\1\312\313\314\377" \
+ "\275\350\354\340\377\1\302\303\304\377\215.46\377\232\350\354\340\377" \
+ "\1\226\231\232\377\215.46\377\1=BD\377\252\350\354\340\377\1W\\]\377" \
+ "\215.46\377\1x|}\377\344\350\354\340\377\2\333\334\334\377068\377\215" \
+ ".46\377\1\317\320\320\377\215\350\354\340\377\2\345\346\346\37739;\377" \
+ "\214.46\377\2""39;\377\347\350\350\377\215\350\354\340\377\1LQR\377\215" \
+ ".46\377\1\225\230\231\377\252\350\354\340\377\1\211\214\215\377\215." \
+ "46\377\1\\ab\377\210\350\354\340\377\1\321\322\323\377\215.46\377\1:" \
+ "@B\377\276\350\354\340\377\1\302\303\304\377\215.46\377\232\350\354\340" \
+ "\377\1bgh\377\215.46\377\1\177\203\204\377\252\350\354\340\377\1\237" \
+ "\242\243\377\215.46\377\1DIK\377\345\350\354\340\377\1z~\177\377\215" \
+ ".46\377\1bfh\377\215\350\354\340\377\1\203\207\210\377\215.46\377\1\203" \
+ "\207\210\377\215\350\354\340\377\1\352\354\346\377\216.46\377\1\335\336" \
+ "\336\377\252\350\354\340\377\1\316\317\320\377\215.46\377\1""179\377" \
+ "\210\350\354\340\377\1\246\251\252\377\215.46\377\1imo\377\276\350\354" \
+ "\340\377\1\302\303\304\377\215.46\377\232\350\354\340\377\1""5:<\377" \
+ "\215.46\377\1\306\310\311\377\252\350\354\340\377\1\344\345\345\377\216" \
+ ".46\377\1\344\345\345\377\252\350\354\340\377\5\304\336\373\377\236\311" \
+ "\370\377\220\301\367\377\234\310\370\377\273\331\372\377\265\350\354" \
+ "\340\377\2\344\345\345\37739;\377\215.46\377\1\304\306\306\377\213\350" \
+ "\354\340\377\2\347\350\350\37739;\377\214.46\377\2""28:\377\345\346\346" \
+ "\377\215\350\354\340\377\1\313\315\315\377\215.46\377\1@FG\377\254\350" \
+ "\354\340\377\1""6<>\377\215.46\377\1\331\332\333\377\207\350\354\340" \
+ "\377\1\212\215\216\377\215.46\377\1\222\225\226\377\276\350\354\340\377" \
+ "\1\302\303\304\377\215.46\377\231\350\354\340\377\1\341\342\343\377\215" \
+ ".46\377\1""28:\377\254\350\354\340\377\1HMO\377\215.46\377\1\302\304" \
+ "\305\377\250\350\354\340\377\2\262\324\371\377[\244\363\377\205O\235" \
+ "\362\377\2U\240\362\377\236\311\370\377\264\350\354\340\377\1\211\214" \
+ "\215\377\215.46\377\1V[]\377\213\350\354\340\377\1\205\210\212\377\215" \
+ ".46\377\1\200\204\205\377\216\350\354\340\377\1\253\256\257\377\215." \
+ "46\377\1quw\377\254\350\354\340\377\1chi\377\215.46\377\1\275\277\277" \
+ "\377\207\350\354\340\377\1mqs\377\215.46\377\1\270\272\272\377\276\350" \
+ "\354\340\377\1\302\303\304\377\215.46\377\231\350\354\340\377\1\302\304" \
+ "\305\377\215.46\377\1[`a\377\254\350\354\340\377\1y}\177\377\215.46\377" \
+ "\1\246\250\251\377\247\350\354\340\377\1\214\277\366\377\211O\235\362" \
+ "\377\1u\262\365\377\263\350\354\340\377\2\352\354\345\3779>@\377\215" \
+ ".46\377\1\271\273\273\377\211\350\354\340\377\2\350\352\351\3775:<\377" \
+ "\214.46\377\2""179\377\343\344\344\377\216\350\354\340\377\1\217\222" \
+ "\223\377\215.46\377\1\231\233\234\377\254\350\354\340\377\1\212\215\216" \
+ "\377\215.46\377\1\235\240\241\377\207\350\354\340\377\1QVX\377\215.4" \
+ "6\377\1\320\322\322\377\276\350\354\340\377\1\302\303\304\377\215.46" \
+ "\377\231\350\354\340\377\1\246\250\251\377\215.46\377\1\202\205\206\377" \
+ "\254\350\354\340\377\1\237\242\243\377\215.46\377\1\207\212\213\377\246" \
+ "\350\354\340\377\1\236\311\370\377\213O\235\362\377\1\177\270\366\377" \
+ "\263\350\354\340\377\1\225\230\231\377\215.46\377\1OTV\377\211\350\354" \
+ "\340\377\1\210\214\215\377\215.46\377\1}\200\202\377\217\350\354\340" \
+ "\377\1y|~\377\215.46\377\1\264\267\267\377\254\350\354\340\377\1\246" \
+ "\251\252\377\215.46\377\1\206\211\212\377\207\350\354\340\377\1;AC\377" \
+ "\215.46\377\1\347\350\350\377\276\350\354\340\377\1\302\303\304\377\215" \
+ ".46\377\231\350\354\340\377\1\216\221\222\377\215.46\377\1\235\240\241" \
+ "\377\254\350\354\340\377\1\274\276\276\377\215.46\377\1nrs\377\245\350" \
+ "\354\340\377\2\342\357\375\377Q\236\362\377\214O\235\362\377\1\304\336" \
+ "\373\377\263\350\354\340\377\1>DF\377\215.46\377\1\256\260\261\377\207" \
+ "\350\354\340\377\2\352\353\347\3775;=\377\214.46\377\2""179\377\341\342" \
+ "\342\377\217\350\354\340\377\1kpq\377\215.46\377\1\313\315\315\377\254" \
+ "\350\354\340\377\1\276\300\301\377\215.46\377\1{\177\200\377\207\350" \
+ "\354\340\377\1""179\377\215.46\377\277\350\354\340\377\1\302\303\304" \
+ "\377\215.46\377\231\350\354\340\377\1\204\210\211\377\215.46\377\1\267" \
+ "\271\272\377\254\350\354\340\377\1\326\327\330\377\215.46\377\1eik\377" \
+ "\245\350\354\340\377\1\232\307\370\377\215O\235\362\377\1z\265\365\377" \
+ "\263\350\354\340\377\1\243\246\247\377\215.46\377\1FKM\377\207\350\354" \
+ "\340\377\1\213\216\217\377\215.46\377\1y}\177\377\220\350\354\340\377" \
+ "\1bgh\377\215.46\377\1\332\333\334\377\254\350\354\340\377\1\314\316" \
+ "\316\377\215.46\377\1quw\377\207\350\354\340\377\216.46\377\277\350\354" \
+ "\340\377\1\302\303\304\377\215.46\377\231\350\354\340\377\1y|~\377\215" \
+ ".46\377\1\302\303\304\377\254\350\354\340\377\1\341\342\343\377\215." \
+ "46\377\1[`a\377\245\350\354\340\377\1i\254\364\377\215O\235\362\377\1" \
+ "Q\236\362\377\264\350\354\340\377\1GMN\377\215.46\377\1\243\246\247\377" \
+ "\205\350\354\340\377\2\352\354\346\3776<>\377\214.46\377\2""068\377\337" \
+ "\340\340\377\220\350\354\340\377\1Y^`\377\215.46\377\1\341\342\343\377" \
+ "\254\350\354\340\377\1\324\326\326\377\215.46\377\1hmn\377\207\350\354" \
+ "\340\377\215.46\377\1""8>\77\377\277\350\354\340\377\1\302\303\304\377" \
+ "\215.46\377\231\350\354\340\377\1ptu\377\215.46\377\1\314\316\316\377" \
+ "\254\350\354\340\377\1\351\352\350\377\215.46\377\1QVX\377\245\350\354" \
+ "\340\377\1U\240\362\377\216O\235\362\377\1\344\360\375\377\263\350\354" \
+ "\340\377\1\260\263\263\377\215.46\377\1@FG\377\205\350\354\340\377\1" \
+ "\216\221\222\377\215.46\377\1w{|\377\221\350\354\340\377\1Y]_\377\215" \
+ ".46\377\1\342\343\343\377\254\350\354\340\377\1\325\326\327\377\215." \
+ "46\377\1glm\377\206\350\354\340\377\1\351\352\350\377\215.46\377\1""5" \
+ ";=\377\277\350\354\340\377\1\302\303\304\377\215.46\377\231\350\354\340" \
+ "\377\1ptu\377\215.46\377\1\315\316\317\377\254\350\354\340\377\1\352" \
+ "\353\347\377\215.46\377\1QVX\377\245\350\354\340\377\1U\240\362\377\216" \
+ "O\235\362\377\1\345\361\375\377\264\350\354\340\377\1PUW\377\215.46\377" \
+ "\1\230\233\234\377\203\350\354\340\377\2\351\354\343\3778>\77\377\214" \
+ ".46\377\2""068\377\335\336\336\377\221\350\354\340\377\1bfh\377\215." \
+ "46\377\1\332\333\334\377\254\350\354\340\377\1\314\316\316\377\215.4" \
+ "6\377\1quw\377\207\350\354\340\377\216.46\377\277\350\354\340\377\1\302" \
+ "\303\304\377\215.46\377\231\350\354\340\377\1x|}\377\215.46\377\1\302" \
+ "\303\304\377\254\350\354\340\377\1\341\342\343\377\215.46\377\1Z_a\377" \
+ "\245\350\354\340\377\1l\255\364\377\215O\235\362\377\1R\237\362\377\265" \
+ "\350\354\340\377\1\275\277\300\377\215.46\377\2""9\77A\377\350\354\342" \
+ "\377\202\350\354\340\377\1\220\224\225\377\215.46\377\1txz\377\222\350" \
+ "\354\340\377\1kpq\377\215.46\377\1\314\316\316\377\254\350\354\340\377" \
+ "\1\277\301\302\377\215.46\377\1z~\177\377\207\350\354\340\377\216.46" \
+ "\377\1\352\354\345\377\276\350\354\340\377\1\302\303\304\377\215.46\377" \
+ "\231\350\354\340\377\1\204\210\211\377\215.46\377\1\271\273\273\377\254" \
+ "\350\354\340\377\1\327\330\330\377\215.46\377\1dij\377\245\350\354\340" \
+ "\377\1\236\311\370\377\215O\235\362\377\1\177\270\366\377\266\350\354" \
+ "\340\377\1]ac\377\215.46\377\4\215\220\221\377\350\354\340\377\350\354" \
+ "\342\3779>@\377\214.46\377\2/57\377\332\333\334\377\222\350\354\340\377" \
+ "\1w{|\377\215.46\377\1\265\267\270\377\254\350\354\340\377\1\250\253" \
+ "\253\377\215.46\377\1\205\210\212\377\207\350\354\340\377\1""068\377" \
+ "\215.46\377\1\341\342\342\377\276\350\354\340\377\1\302\303\304\377\215" \
+ ".46\377\231\350\354\340\377\1\215\220\221\377\215.46\377\1\237\242\243" \
+ "\377\254\350\354\340\377\1\276\300\301\377\215.46\377\1mqs\377\245\350" \
+ "\354\340\377\2\350\362\375\377S\237\362\377\214O\235\362\377\1\315\343" \
+ "\373\377\266\350\354\340\377\1\313\315\315\377\215.46\377\3""5;=\377" \
+ "\350\352\351\377\223\226\227\377\215.46\377\1quw\377\223\350\354\340" \
+ "\377\1\216\221\222\377\215.46\377\1\231\234\235\377\254\350\354\340\377" \
+ "\1\214\220\221\377\215.46\377\1\234\237\240\377\207\350\354\340\377\1" \
+ "AFH\377\215.46\377\1\321\322\323\377\276\350\354\340\377\1\302\303\304" \
+ "\377\215.46\377\231\350\354\340\377\1\244\247\250\377\215.46\377\1\203" \
+ "\207\210\377\254\350\354\340\377\1\241\243\244\377\215.46\377\1\205\210" \
+ "\212\377\246\350\354\340\377\1\253\320\371\377\213O\235\362\377\1\214" \
+ "\277\366\377\270\350\354\340\377\1imo\377\215.46\377\2uy{\377:@B\377" \
+ "\214.46\377\2/57\377\330\332\332\377\223\350\354\340\377\1\252\254\255" \
+ "\377\215.46\377\1txy\377\254\350\354\340\377\1gkl\377\215.46\377\1\272" \
+ "\274\275\377\207\350\354\340\377\1W\\]\377\215.46\377\1\251\253\254\377" \
+ "\276\350\354\340\377\1\302\303\304\377\215.46\377\231\350\354\340\377" \
+ "\1\301\302\303\377\215.46\377\1^ce\377\254\350\354\340\377\1}\200\202" \
+ "\377\215.46\377\1\243\246\247\377\247\350\354\340\377\1\231\306\367\377" \
+ "\211O\235\362\377\1\200\270\366\377\271\350\354\340\377\2\327\330\330" \
+ "\377068\377\232.46\377\1nrs\377\224\350\354\340\377\1\311\312\313\377" \
+ "\215.46\377\1CIJ\377\254\350\354\340\377\1""8>\77\377\215.46\377\1\330" \
+ "\331\331\377\207\350\354\340\377\1kpq\377\215.46\377\1\177\203\204\377" \
+ "\276\350\354\340\377\1\302\303\304\377\215.46\377\231\350\354\340\377" \
+ "\1\337\340\340\377\215.46\377\1""4:<\377\254\350\354\340\377\1LQR\377" \
+ "\215.46\377\1\301\302\303\377\250\350\354\340\377\2\303\336\373\377d" \
+ "\251\364\377\205O\235\362\377\2Z\243\363\377\260\323\371\377\273\350" \
+ "\354\340\377\1x|}\377\231.46\377\2/57\377\325\326\327\377\224\350\354" \
+ "\340\377\1\351\352\350\377\216.46\377\1\340\341\341\377\252\350\354\340" \
+ "\377\1\321\322\323\377\215.46\377\1""068\377\210\350\354\340\377\1\213" \
+ "\217\220\377\215.46\377\1V[]\377\276\350\354\340\377\1\302\303\304\377" \
+ "\215.46\377\232\350\354\340\377\1""39;\377\215.46\377\1\312\313\314\377" \
+ "\252\350\354\340\377\1\350\351\351\377\216.46\377\1\341\342\342\377\252" \
+ "\350\354\340\377\5\323\346\374\377\255\321\371\377\236\311\370\377\251" \
+ "\317\371\377\313\342\373\377\275\350\354\340\377\2\342\343\343\37728" \
+ ":\377\230.46\377\1kpq\377\226\350\354\340\377\1INP\377\215.46\377\1\232" \
+ "\235\236\377\252\350\354\340\377\1\214\220\221\377\215.46\377\1X]^\377" \
+ "\210\350\354\340\377\1\261\263\264\377\215.46\377\1""179\377\276\350" \
+ "\354\340\377\1\302\303\304\377\215.46\377\232\350\354\340\377\1_de\377" \
+ "\215.46\377\1\204\210\211\377\252\350\354\340\377\1\243\246\247\377\215" \
+ ".46\377\1BGI\377\356\350\354\340\377\1\204\210\211\377\230.46\377\1\323" \
+ "\324\324\377\226\350\354\340\377\1}\200\202\377\215.46\377\1QVX\377\252" \
+ "\350\354\340\377\1GLN\377\215.46\377\1\214\220\221\377\210\350\354\340" \
+ "\377\1\330\331\331\377\216.46\377\1\253\256\257\377\275\350\354\340\377" \
+ "\1\302\303\304\377\215.46\377\232\350\354\340\377\1\224\227\230\377\215" \
+ ".46\377\1\77EG\377\252\350\354\340\377\1[`a\377\215.46\377\1txz\377\356" \
+ "\350\354\340\377\2\352\353\347\3776<>\377\226.46\377\1imo\377\227\350" \
+ "\354\340\377\1\262\264\265\377\216.46\377\1\313\314\315\377\250\350\354" \
+ "\340\377\1\276\300\301\377\216.46\377\1\300\302\302\377\211\350\354\340" \
+ "\377\1;AC\377\215.46\377\1_de\377\275\350\354\340\377\1\302\303\304\377" \
+ "\215.46\377\232\350\354\340\377\1\306\310\311\377\216.46\377\1\265\267" \
+ "\270\377\250\350\354\340\377\1\324\325\325\377\216.46\377\1\251\253\254" \
+ "\377\357\350\354\340\377\1\223\226\227\377\226.46\377\1\320\322\322\377" \
+ "\227\350\354\340\377\2\352\354\350\377179\377\215.46\377\1ost\377\250" \
+ "\350\354\340\377\1]ac\377\215.46\377\1""6<>\377\212\350\354\340\377\1" \
+ "mqs\377\215.46\377\2/57\377\341\342\343\377\274\350\354\340\377\1\302" \
+ "\303\304\377\215.46\377\233\350\354\340\377\1""9\77A\377\215.46\377\1" \
+ "V[]\377\250\350\354\340\377\1txz\377\215.46\377\2/57\377\346\346\347" \
+ "\377\360\350\354\340\377\1=BD\377\224.46\377\1fjl\377\231\350\354\340" \
+ "\377\1imo\377\215.46\377\2/57\377\324\325\325\377\246\350\354\340\377" \
+ "\1\303\305\305\377\216.46\377\1x|}\377\212\350\354\340\377\1\246\251" \
+ "\252\377\216.46\377\1y}\177\377\274\350\354\340\377\1\302\303\304\377" \
+ "\215.46\377\233\350\354\340\377\1\200\204\205\377\216.46\377\1\276\300" \
+ "\301\377\246\350\354\340\377\2\330\331\331\377068\377\215.46\377\1`e" \
+ "f\377\361\350\354\340\377\1\237\242\243\377\224.46\377\1\316\317\320" \
+ "\377\231\350\354\340\377\1\264\267\267\377\216.46\377\1aeg\377\246\350" \
+ "\354\340\377\1OTV\377\216.46\377\1\303\305\305\377\212\350\354\340\377" \
+ "\2\351\352\350\377068\377\215.46\377\2/57\377\323\324\324\377\273\350" \
+ "\354\340\377\1\302\303\304\377\215.46\377\233\350\354\340\377\1\313\315" \
+ "\315\377\216.46\377\1NSU\377\246\350\354\340\377\1chi\377\216.46\377" \
+ "\1\253\256\257\377\362\350\354\340\377\1DIK\377\222.46\377\1chi\377\233" \
+ "\350\354\340\377\1;AC\377\216.46\377\1\257\262\263\377\244\350\354\340" \
+ "\377\1\230\233\234\377\216.46\377\1BHJ\377\214\350\354\340\377\1aeg\377" \
+ "\216.46\377\1]ac\377\273\350\354\340\377\1\302\303\304\377\215.46\377" \
+ "\234\350\354\340\377\1JOQ\377\216.46\377\1\231\233\234\377\244\350\354" \
+ "\340\377\1\256\260\261\377\216.46\377\1""5;=\377\363\350\354\340\377" \
+ "\1\256\260\261\377\222.46\377\1\313\314\315\377\233\350\354\340\377\1" \
+ "\224\227\230\377\216.46\377\2:@B\377\346\346\347\377\242\350\354\340" \
+ "\377\2\322\323\324\377179\377\216.46\377\1\235\240\241\377\214\350\354" \
+ "\340\377\1\262\264\265\377\217.46\377\1\220\223\224\377\272\350\354\340" \
+ "\377\1\302\303\304\377\215.46\377\234\350\354\340\377\1\252\254\255\377" \
+ "\216.46\377\2""39;\377\326\327\330\377\242\350\354\340\377\2\340\341" \
+ "\341\3778>\77\377\216.46\377\1\207\212\213\377\364\350\354\340\377\1" \
+ "OTV\377\220.46\377\1`ef\377\234\350\354\340\377\2\350\354\342\3778>\77" \
+ "\377\216.46\377\1Y]_\377\241\350\354\340\377\2\350\351\351\377EJL\377" \
+ "\216.46\377\1;AC\377\216\350\354\340\377\1BHJ\377\216.46\377\2/57\377" \
+ "\264\267\267\377\271\350\354\340\377\1\302\303\304\377\215.46\377\235" \
+ "\350\354\340\377\1EJL\377\216.46\377\2KPR\377\351\354\343\377\241\350" \
+ "\354\340\377\1NSU\377\216.46\377\2""179\377\346\346\347\377\364\350\354" \
+ "\340\377\1\272\274\275\377\220.46\377\1\307\311\311\377\235\350\354\340" \
+ "\377\1\220\223\224\377\217.46\377\1swx\377\240\350\354\340\377\1SXY\377" \
+ "\217.46\377\1\220\224\225\377\216\350\354\340\377\1\233\236\237\377\217" \
+ ".46\377\2""6<>\377\301\302\303\377\270\350\354\340\377\1\302\303\304" \
+ "\377\215.46\377\1\352\354\350\377\234\350\354\340\377\1\246\251\252\377" \
+ "\217.46\377\1bfh\377\240\350\354\340\377\1chi\377\217.46\377\1z~\177" \
+ "\377\366\350\354\340\377\1Y]_\377\216.46\377\1^ce\377\237\350\354\340" \
+ "\377\1BGI\377\217.46\377\1lqr\377\235\350\354\340\377\2\352\354\350\377" \
+ "SXY\377\217.46\377\1BGI\377\220\350\354\340\377\1@FG\377\217.46\377\2" \
+ "068\377\246\251\252\377\267\350\354\340\377\1\302\303\304\377\215.46" \
+ "\377\1\335\336\337\377\235\350\354\340\377\1QVX\377\217.46\377\1\\ab" \
+ "\377\236\350\354\340\377\1_de\377\217.46\377\2""6<>\377\346\347\347\377" \
+ "\366\350\354\340\377\1\311\312\313\377\216.46\377\1\304\306\306\377\237" \
+ "\350\354\340\377\1\265\267\270\377\220.46\377\2W\\]\377\344\345\345\377" \
+ "\232\350\354\340\377\2\326\327\330\377HMO\377\220.46\377\1\261\263\264" \
+ "\377\220\350\354\340\377\1\247\252\253\377\221.46\377\1\202\206\207\377" \
+ "\242\350\354\340\377\2\264\267\267\377\276\300\301\377\222\350\354\340" \
+ "\377\1\310\312\312\377\215.46\377\1\267\271\272\377\235\350\354\340\377" \
+ "\2\314\316\316\377/57\377\217.46\377\2LQS\377\330\331\331\377\232\350" \
+ "\354\340\377\2\341\342\342\377SXY\377\220.46\377\1\231\233\234\377\367" \
+ "\350\354\340\377\2\341\342\343\377068\377\214.46\377\1[`a\377\241\350" \
+ "\354\340\377\1eik\377\220.46\377\2;AC\377\263\265\266\377\230\350\354" \
+ "\340\377\2\246\251\252\3775:<\377\220.46\377\1]ac\377\222\350\354\340" \
+ "\377\1Y]_\377\221.46\377\2BHJ\377\264\267\267\377\235\350\354\340\377" \
+ "\5\331\332\333\377\207\213\214\377=BD\377.46\377FKM\377\222\350\354\340" \
+ "\377\1\327\330\330\377\215.46\377\1uy{\377\220\350\354\340\377\1\350" \
+ "\354\342\377\215\350\354\340\377\1|\200\201\377\220.46\377\2""5:<\377" \
+ "\245\247\250\377\230\350\354\340\377\2\265\267\270\377;AC\377\220.46" \
+ "\377\1KPR\377\370\350\354\340\377\1\205\210\212\377\215.46\377\1\302" \
+ "\303\304\377\241\350\354\340\377\2\350\351\351\377>DF\377\221.46\377" \
+ "\2fjl\377\335\336\336\377\224\350\354\340\377\2\327\330\330\377^bd\377" \
+ "\221.46\377\2""9\77A\377\342\343\343\377\222\350\354\340\377\2\332\333" \
+ "\334\37739;\377\222.46\377\2W\\]\377\257\262\263\377\230\350\354\340" \
+ "\377\3\320\322\322\377\217\222\223\377MRT\377\205.46\377\1\246\250\251" \
+ "\377\221\350\354\340\377\1\347\350\350\377\215.46\377\2""179\377\324" \
+ "\326\326\377\215\350\354\340\377\3\235\240\241\377CIJ\377txz\377\216" \
+ "\350\354\340\377\1KPR\377\221.46\377\2[`a\377\324\325\325\377\224\350" \
+ "\354\340\377\2\341\342\342\377kop\377\221.46\377\2""39;\377\323\324\324" \
+ "\377\367\350\354\340\377\2\350\354\342\3775;=\377\214.46\377\1Y]_\377" \
+ "\243\350\354\340\377\2\303\305\305\377/57\377\221.46\377\3""068\377{" \
+ "\177\200\377\332\333\334\377\220\350\354\340\377\3\325\326\327\377tx" \
+ "z\377/57\377\222.46\377\1\270\272\272\377\224\350\354\340\377\1\244\247" \
+ "\250\377\224.46\377\3>DF\377\206\211\212\377\277\301\302\377\221\350" \
+ "\354\340\377\4\325\326\327\377\245\247\250\377txy\377BGI\377\210.46\377" \
+ "\1BGI\377\222\350\354\340\377\1/57\377\215.46\377\2CIJ\377\330\332\332" \
+ "\377\211\350\354\340\377\3\302\304\305\377|\200\201\3777=\77\377\202" \
+ ".46\377\2""068\377\332\333\334\377\215\350\354\340\377\2\326\327\330" \
+ "\3774:<\377\221.46\377\3/57\377ptv\377\320\322\322\377\220\350\354\340" \
+ "\377\3\336\337\337\377\201\204\206\377179\377\222.46\377\1\237\242\243" \
+ "\377\370\350\354\340\377\1\224\227\230\377\215.46\377\1\277\301\302\377" \
+ "\244\350\354\340\377\1\224\227\230\377\224.46\377\3TYZ\377\232\235\236" \
+ "\377\317\320\320\377\212\350\354\340\377\3\321\322\323\377\232\235\236" \
+ "\377SXY\377\224.46\377\1\207\212\213\377\226\350\354\340\377\1vz{\377" \
+ "\226.46\377\21""179\377\\ab\377~\201\202\377\233\236\237\377\272\274" \
+ "\275\377\313\315\315\377\325\326\327\377\333\334\334\377\343\344\344" \
+ "\377\331\332\333\377\315\316\317\377\301\302\303\377\264\266\266\377" \
+ "\224\230\231\377uy{\377V[]\3776<>\377\215.46\377\1\236\241\242\377\221" \
+ "\350\354\340\377\1PUW\377\216.46\377\12""179\377y}\177\377\274\276\276" \
+ "\377\337\340\340\377\343\344\344\377\332\333\334\377\305\306\307\377" \
+ "\235\237\240\377rvw\377<BC\377\206.46\377\1quw\377\216\350\354\340\377" \
+ "\1\253\256\257\377\224.46\377\3NSU\377\223\226\227\377\312\313\314\377" \
+ "\212\350\354\340\377\3\327\330\330\377\241\243\244\377]ac\377\224.46" \
+ "\377\1ptu\377\371\350\354\340\377\1=BD\377\214.46\377\1V[]\377\246\350" \
+ "\354\340\377\1|\200\201\377\226.46\377\12""39;\377PUV\377nrs\377~\201" \
+ "\202\377\207\212\213\377\210\214\215\377~\202\203\377ost\377RWY\3774" \
+ ":<\377\226.46\377\1nrs\377\230\350\354\340\377\1aeg\377\263.46\377\1" \
+ ">CE\377\221\350\354\340\377\1\204\210\211\377\236.46\377\2/57\377\330" \
+ "\331\331\377\216\350\354\340\377\1\220\224\225\377\226.46\377\12""28" \
+ ":\377LQS\377kop\377|\200\201\377\205\210\212\377\211\214\215\377\200" \
+ "\204\205\377ptv\377UZ\\\3776<>\377\226.46\377\1[`a\377\371\350\354\340" \
+ "\377\1\225\230\231\377\215.46\377\1\274\276\276\377\247\350\354\340\377" \
+ "\1nrs\377\264.46\377\1[`a\377\232\350\354\340\377\1UZ\\\377\263.46\377" \
+ "\1\231\233\234\377\220\350\354\340\377\1\270\272\272\377\237.46\377\1" \
+ "ost\377\217\350\354\340\377\1\204\210\211\377\264.46\377\2PUW\377\351" \
+ "\354\343\377\370\350\354\340\377\2\350\354\342\3779>@\377\214.46\377" \
+ "\1TYZ\377\251\350\354\340\377\1nrs\377\262.46\377\1bfh\377\234\350\354" \
+ "\340\377\1_de\377\262.46\377\1:@B\377\221\350\354\340\377\1BHJ\377\236" \
+ ".46\377\2/57\377\326\327\330\377\217\350\354\340\377\1\177\203\204\377" \
+ "\262.46\377\2SXY\377\351\352\350\377\371\350\354\340\377\1\213\217\220" \
+ "\377\215.46\377\1\271\273\274\377\252\350\354\340\377\1\177\203\204\377" \
+ "\260.46\377\1quw\377\236\350\354\340\377\1rvw\377\262.46\377\1\222\225" \
+ "\226\377\220\350\354\340\377\1\231\234\235\377\237.46\377\1mqs\377\220" \
+ "\350\354\340\377\1\224\227\230\377\260.46\377\1bfh\377\372\350\354\340" \
+ "\377\2\350\352\351\3775:<\377\214.46\377\1QVX\377\254\350\354\340\377" \
+ "\2\231\233\234\377068\377\254.46\377\2/57\377\214\220\221\377\240\350" \
+ "\354\340\377\2\237\242\243\377068\377\260.46\377\2""7=\77\377\352\354" \
+ "\345\377\220\350\354\340\377\1BHJ\377\237.46\377\1\323\324\324\377\220" \
+ "\350\354\340\377\2\253\256\257\3774:<\377\255.46\377\1y|~\377\373\350" \
+ "\354\340\377\1\202\205\206\377\215.46\377\1\266\270\271\377\255\350\354" \
+ "\340\377\2\312\313\314\377CIJ\377\252.46\377\2>CE\377\277\301\302\377" \
+ "\242\350\354\340\377\2\322\323\324\377PUV\377\260.46\377\1\213\216\217" \
+ "\377\220\350\354\340\377\2\307\311\311\377/57\377\236.46\377\1jnp\377" \
+ "\221\350\354\340\377\2\330\331\331\377LQS\377\252.46\377\2""6<>\377\257" \
+ "\262\263\377\373\350\354\340\377\2\342\343\343\377179\377\214.46\377" \
+ "\1NSU\377\257\350\354\340\377\2\351\354\343\377quw\377\250.46\377\2f" \
+ "jl\377\346\347\347\377\245\350\354\340\377\2\224\230\231\3775;=\377\255" \
+ ".46\377\2W\\]\377\265\267\270\377\221\350\354\340\377\1\227\232\233\377" \
+ "\237.46\377\1\321\322\323\377\222\350\354\340\377\2\200\204\205\377/" \
+ "57\377\247.46\377\2Y^`\377\335\336\336\377\374\350\354\340\377\1ptu\377" \
+ "\215.46\377\1\264\267\267\377\261\350\354\340\377\2\304\306\306\377L" \
+ "QR\377\244.46\377\2FKM\377\271\273\274\377\250\350\354\340\377\3\346" \
+ "\347\347\377|\200\201\37728:\377\250.46\377\3""28:\377vz{\377\317\321" \
+ "\321\377\224\350\354\340\377\1\235\237\240\377\234.46\377\3/57\377qu" \
+ "w\377\341\342\342\377\223\350\354\340\377\2\321\322\323\377V[]\377\244" \
+ ".46\377\2>DF\377\253\256\257\377\375\350\354\340\377\1\306\307\310\377" \
+ "\215.46\377\1MRT\377\264\350\354\340\377\2\242\245\246\377CIJ\377\240" \
+ ".46\377\2>CE\377\231\233\234\377\254\350\354\340\377\3\346\346\347\377" \
+ "\207\213\214\377:@B\377\243.46\377\4/57\377Y^`\377\235\240\241\377\352" \
+ "\353\347\377\227\350\354\340\377\2\266\270\271\377>CE\377\230.46\377" \
+ "\3""179\377quw\377\324\326\326\377\227\350\354\340\377\2\255\257\260" \
+ "\377KPR\377\240.46\377\3""9>@\377\215\220\221\377\350\354\342\377\376" \
+ "\350\354\340\377\1OTV\377\215.46\377\1\262\264\265\377\266\350\354\340" \
+ "\377\2\252\254\255\377KPR\377\234.46\377\2DIK\377\242\244\245\377\261" \
+ "\350\354\340\377\3\256\260\261\377dij\377068\377\235.46\377\4""068\377" \
+ "`ef\377\243\246\247\377\346\347\347\377\233\350\354\340\377\3\352\354" \
+ "\345\377z~\177\37728:\377\224.46\377\3HMO\377\224\230\231\377\350\351" \
+ "\351\377\233\350\354\340\377\2\265\267\270\377SXY\377\234.46\377\2>C" \
+ "E\377\226\231\232\377\377\350\354\340\377\2\350\354\340\377\227\232\233" \
+ "\377\215.46\377\1PUW\377\271\350\354\340\377\3\317\320\320\377\210\214" \
+ "\215\377BHJ\377\226.46\377\3>CE\377\201\204\206\377\312\313\314\377\265" \
+ "\350\354\340\377\4\350\354\342\377\257\261\262\377x|}\377BHJ\377\226" \
+ ".46\377\5""6<>\377`ef\377\220\223\224\377\277\301\302\377\350\354\342" \
+ "\377\240\350\354\340\377\3\347\350\350\377\220\223\224\377HMO\377\216" \
+ ".46\377\4""179\377[`a\377\224\227\230\377\326\327\330\377\240\350\354" \
+ "\340\377\3\330\331\331\377\220\223\224\377HMO\377\226.46\377\3""9>@\377" \
+ "z~\177\377\301\302\303\377\377\350\354\340\377\202\350\354\340\377\2" \
+ "\332\333\334\37739;\377\215.46\377\1\275\277\277\377\274\350\354\340" \
+ "\377\4\326\327\330\377\244\247\250\377swx\377CIJ\377\216.46\377\4@FG" \
+ "\377nrs\377\240\243\244\377\321\322\323\377\274\350\354\340\377\7\350" \
+ "\352\351\377\306\307\310\377\242\244\245\377\177\203\204\377Y^`\377B" \
+ "HJ\3775;=\377\211.46\377\6CIJ\377_de\377z~\177\377\226\231\232\377\262" \
+ "\264\265\377\325\326\327\377\250\350\354\340\377\6\336\337\337\377\246" \
+ "\251\252\377\205\210\212\377fjl\377LQS\377DIK\377\202<BC\377\6GLN\377" \
+ "SXY\377eik\377\204\210\211\377\242\245\246\377\311\312\313\377\247\350" \
+ "\354\340\377\4\333\334\334\377\251\253\254\377x|}\377HMO\377\216.46\377" \
+ "\4;AC\377imo\377\232\235\236\377\314\316\316\377\377\350\354\340\377" \
+ "\205\350\354\340\377\1UZ\\\377\215.46\377\1\\ab\377\302\350\354\340\377" \
+ "\14\330\331\331\377\274\276\276\377\244\247\250\377\235\237\240\377\220" \
+ "\223\224\377\210\214\215\377\207\212\213\377\220\223\224\377\234\237" \
+ "\240\377\243\246\247\377\271\273\273\377\326\327\330\377\311\350\354" \
+ "\340\377\5\352\354\345\377\340\341\341\377\325\326\327\377\341\342\342" \
+ "\377\343\344\344\377\353\350\354\340\377\15\333\334\334\377\276\300\301" \
+ "\377\246\250\251\377\235\240\241\377\220\224\225\377\211\214\215\377" \
+ "\205\210\212\377\220\223\224\377\232\235\236\377\242\244\245\377\265" \
+ "\267\270\377\323\324\324\377\350\354\342\377\377\350\354\340\377\210" \
+ "\350\354\340\377\1\205\210\212\377\216.46\377\1\313\315\315\377\377\350" \
+ "\354\340\377\377\350\354\340\377\377\350\354\340\377\235\350\354\340" \
+ "\377\1\264\267\267\377\216.46\377\1txz\377\377\350\354\340\377\377\350" \
+ "\354\340\377\377\350\354\340\377\235\350\354\340\377\2\322\323\324\377" \
+ "5:<\377\215.46\377\2""9>@\377\350\352\351\377\377\350\354\340\377\377" \
+ "\350\354\340\377\377\350\354\340\377\234\350\354\340\377\2\334\335\335" \
+ "\377\77EG\377\216.46\377\1\243\246\247\377\377\350\354\340\377\377\350" \
+ "\354\340\377\377\350\354\340\377\234\350\354\340\377\2\335\336\337\377" \
+ "@FG\377\216.46\377\1V[]\377\377\350\354\340\377\377\350\354\340\377\377" \
+ "\350\354\340\377\234\350\354\340\377\2\336\337\337\377BGI\377\216.46" \
+ "\377\2""6<>\377\335\336\336\377\377\350\354\340\377\377\350\354\340\377" \
+ "\377\350\354\340\377\233\350\354\340\377\2\333\334\334\377BHJ\377\217" \
+ ".46\377\1\252\254\255\377\377\350\354\340\377\377\350\354\340\377\377" \
+ "\350\354\340\377\233\350\354\340\377\2\277\301\302\3779>@\377\217.46" \
+ "\377\1ptu\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340" \
+ "\377\233\350\354\340\377\2\215\220\221\377/57\377\217.46\377\1LQS\377" \
+ "\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\232\350" \
+ "\354\340\377\2\304\306\306\377PUW\377\220.46\377\2\77EG\377\341\342\343" \
+ "\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\230" \
+ "\350\354\340\377\2\335\336\336\377imo\377\221.46\377\2""5:<\377\322\323" \
+ "\324\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377" \
+ "\227\350\354\340\377\3\312\313\314\377vz{\377179\377\221.46\377\2""2" \
+ "8:\377\275\277\277\377\377\350\354\340\377\377\350\354\340\377\377\350" \
+ "\354\340\377\225\350\354\340\377\3\341\342\343\377\237\242\243\377MR" \
+ "T\377\223.46\377\2""068\377\271\273\274\377\377\350\354\340\377\377\350" \
+ "\354\340\377\377\350\354\340\377\223\350\354\340\377\3\310\312\312\377" \
+ "\215\220\221\377OTV\377\225.46\377\2""068\377\264\267\267\377\377\350" \
+ "\354\340\377\377\350\354\340\377\377\350\354\340\377\221\350\354\340" \
+ "\377\3\217\222\223\377Y^`\377179\377\227.46\377\2""5:<\377\275\277\300" \
+ "\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\222" \
+ "\350\354\340\377\1\201\204\206\377\230.46\377\2;AC\377\313\315\315\377" \
+ "\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\223\350" \
+ "\354\340\377\2\341\342\343\377179\377\226.46\377\2NSU\377\335\336\337" \
+ "\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\225" \
+ "\350\354\340\377\1x|}\377\225.46\377\1ptu\377\377\350\354\340\377\377" \
+ "\350\354\340\377\377\350\354\340\377\227\350\354\340\377\2\333\334\334" \
+ "\377/57\377\222.46\377\2""9>@\377\252\254\255\377\377\350\354\340\377" \
+ "\377\350\354\340\377\377\350\354\340\377\231\350\354\340\377\1ptu\377" \
+ "\221.46\377\2eik\377\344\345\345\377\377\350\354\340\377\377\350\354" \
+ "\340\377\377\350\354\340\377\232\350\354\340\377\1\324\325\325\377\217" \
+ ".46\377\2PUW\377\275\277\277\377\377\350\354\340\377\377\350\354\340" \
+ "\377\377\350\354\340\377\235\350\354\340\377\1gkl\377\214.46\377\2LQ" \
+ "S\377\260\263\263\377\377\350\354\340\377\377\350\354\340\377\377\350" \
+ "\354\340\377\237\350\354\340\377\1\313\315\315\377\211.46\377\3""068" \
+ "\377jnp\377\275\277\277\377\377\350\354\340\377\377\350\354\340\377\377" \
+ "\350\354\340\377\242\350\354\340\377\1^ce\377\205.46\377\4""8>\77\377" \
+ "kpq\377\253\255\256\377\350\352\351\377\377\350\354\340\377\377\350\354" \
+ "\340\377\377\350\354\340\377\244\350\354\340\377\6\302\304\305\377.4" \
+ "6\377;AC\377bgh\377\224\230\231\377\314\316\316\377\377\350\354\340\377" \
+ "\377\350\354\340\377\377\350\354\340\377\251\350\354\340\377\1\345\346" \
+ "\346\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377" \
+ "\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350" \
+ "\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340" \
+ "\377\337\350\354\340\377\1\352\354\350\377\210\325\326\327\377\1\341" \
+ "\342\342\377\232\350\354\340\377\1\341\342\343\377\207\325\326\327\377" \
+ "\1\343\344\344\377\244\350\354\340\377\2\314\316\316\377\267\271\272" \
+ "\377\202\244\247\250\377\2\267\271\272\377\315\316\317\377\236\350\354" \
+ "\340\377\1\350\351\351\377\204\343\344\344\377\224\350\354\340\377\1" \
+ "\332\333\334\377\217\325\326\327\377\232\350\354\340\377\3\300\302\302" \
+ "\377\235\237\240\377\206\211\212\377\202\202\205\206\377\3\212\215\216" \
+ "\377\242\245\246\377\307\311\311\377\225\350\354\340\377\1\344\345\345" \
+ "\377\223\325\326\327\377\1\335\336\336\377\377\350\354\340\377\302\350" \
+ "\354\340\377\1\235\237\240\377\212.46\377\3KPR\377\213\216\217\377\335" \
+ "\336\337\377\226\350\354\340\377\1kpq\377\211.46\377\3BGI\377txy\377" \
+ "\271\273\273\377\235\350\354\340\377\3\265\267\270\377lqr\3776<>\377" \
+ "\206.46\377\3""6<>\377nrs\377\270\272\272\377\233\350\354\340\377\1S" \
+ "XY\377\204.46\377\224\350\354\340\377\1GLN\377\217.46\377\1\331\332\333" \
+ "\377\226\350\354\340\377\3\267\271\272\377fjl\377068\377\210.46\377\4" \
+ "068\377aeg\377\246\251\252\377\350\354\342\377\221\350\354\340\377\1" \
+ "x|}\377\223.46\377\1SXY\377\377\350\354\340\377\302\350\354\340\377\1" \
+ "\235\237\240\377\214.46\377\2""179\377\213\217\220\377\225\350\354\340" \
+ "\377\1kpq\377\214.46\377\2PUW\377\326\327\330\377\231\350\354\340\377" \
+ "\2\275\277\300\377PUV\377\214.46\377\2RWY\377\277\301\302\377\231\350" \
+ "\354\340\377\1SXY\377\204.46\377\224\350\354\340\377\1GLN\377\217.46" \
+ "\377\1\332\333\334\377\224\350\354\340\377\2\312\313\314\377QVX\377\216" \
+ ".46\377\2""6<>\377\207\213\214\377\220\350\354\340\377\1txz\377\223." \
+ "46\377\1SXY\377\377\350\354\340\377\302\350\354\340\377\1\235\237\240" \
+ "\377\216.46\377\1swx\377\224\350\354\340\377\1kpq\377\215.46\377\2""7" \
+ "=\77\377\317\321\321\377\227\350\354\340\377\1\210\214\215\377\220.4" \
+ "6\377\1\211\214\215\377\230\350\354\340\377\1SXY\377\204.46\377\224\350" \
+ "\354\340\377\1GLN\377\217.46\377\1\334\335\335\377\223\350\354\340\377" \
+ "\2\225\230\231\377068\377\220.46\377\1JOQ\377\220\350\354\340\377\1k" \
+ "pq\377\223.46\377\1SXY\377\377\350\354\340\377\302\350\354\340\377\1" \
+ "\235\237\240\377\204.46\377\1@FG\377\202JOQ\377\2FKM\377068\377\206." \
+ "46\377\1\257\261\262\377\223\350\354\340\377\1kpq\377\204.46\377\1GL" \
+ "N\377\202JOQ\377\1AFH\377\206.46\377\1GMN\377\226\350\354\340\377\1g" \
+ "lm\377\207.46\377\4<BC\377QVX\377RWY\377>CE\377\207.46\377\1glm\377\227" \
+ "\350\354\340\377\1SXY\377\204.46\377\224\350\354\340\377\1GLN\377\203" \
+ ".46\377\1/57\377\213<BC\377\1\350\351\351\377\222\350\354\340\377\1\204" \
+ "\210\211\377\207.46\377\6INP\377fjl\377txy\377imo\377QVX\37728:\377\205" \
+ ".46\377\1\255\257\260\377\220\350\354\340\377\1uy{\377\206<BC\377\1;" \
+ "AC\377\204.46\377\1""068\377\207<BC\377\1^ce\377\377\350\354\340\377" \
+ "\302\350\354\340\377\1\235\237\240\377\204.46\377\1\265\267\270\377\204" \
+ "\350\354\340\377\2\250\253\253\3776<>\377\204.46\377\1SXY\377\223\350" \
+ "\354\340\377\1kpq\377\204.46\377\1\346\347\347\377\203\350\354\340\377" \
+ "\2\352\354\345\377\207\213\214\377\205.46\377\1\271\273\274\377\224\350" \
+ "\354\340\377\1z~\177\377\205.46\377\3""5;=\377\213\217\220\377\327\330" \
+ "\330\377\204\350\354\340\377\3\334\335\335\377\223\226\227\3778>\77\377" \
+ "\205.46\377\1y|~\377\226\350\354\340\377\1SXY\377\204.46\377\224\350" \
+ "\354\340\377\1GLN\377\203.46\377\1:@B\377\235\350\354\340\377\1\240\243" \
+ "\244\377\205.46\377\3:@B\377\224\230\231\377\344\345\345\377\206\350" \
+ "\354\340\377\5\306\307\310\377\202\205\206\377:@B\377.46\377GMN\377\231" \
+ "\350\354\340\377\204.46\377\1SXY\377\377\350\354\340\377\312\350\354" \
+ "\340\377\1\235\237\240\377\204.46\377\1\265\267\270\377\205\350\354\340" \
+ "\377\1\255\257\260\377\205.46\377\1\351\354\343\377\222\350\354\340\377" \
+ "\1kpq\377\204.46\377\1\346\347\347\377\205\350\354\340\377\1z~\177\377" \
+ "\204.46\377\1\210\214\215\377\223\350\354\340\377\1\257\262\263\377\205" \
+ ".46\377\2^bd\377\350\352\351\377\210\350\354\340\377\2\351\354\343\377" \
+ "glm\377\205.46\377\1\253\256\257\377\225\350\354\340\377\1SXY\377\204" \
+ ".46\377\224\350\354\340\377\1GLN\377\203.46\377\1:@B\377\234\350\354" \
+ "\340\377\2\332\333\334\37728:\377\204.46\377\2[`a\377\347\350\350\377" \
+ "\213\350\354\340\377\2\237\242\243\377\264\266\266\377\231\350\354\340" \
+ "\377\204.46\377\1SXY\377\377\350\354\340\377\312\350\354\340\377\1\235" \
+ "\237\240\377\204.46\377\1\265\267\270\377\206\350\354\340\377\205.46" \
+ "\377\1\330\331\331\377\222\350\354\340\377\1kpq\377\204.46\377\1\346" \
+ "\347\347\377\205\350\354\340\377\1\310\312\312\377\204.46\377\1quw\377" \
+ "\223\350\354\340\377\1BGI\377\204.46\377\1gkl\377\214\350\354\340\377" \
+ "\1txy\377\204.46\377\1AFH\377\225\350\354\340\377\1SXY\377\204.46\377" \
+ "\224\350\354\340\377\1GLN\377\203.46\377\1:@B\377\234\350\354\340\377" \
+ "\1jnp\377\204.46\377\1UZ\\\377\250\350\354\340\377\204.46\377\1SXY\377" \
+ "\377\350\354\340\377\312\350\354\340\377\1\235\237\240\377\204.46\377" \
+ "\1\265\267\270\377\205\350\354\340\377\1\352\354\345\377\205.46\377\1" \
+ "\340\341\341\377\222\350\354\340\377\1kpq\377\204.46\377\1\346\347\347" \
+ "\377\205\350\354\340\377\1\271\273\273\377\204.46\377\1\201\204\206\377" \
+ "\222\350\354\340\377\1\234\237\240\377\204.46\377\1CIJ\377\216\350\354" \
+ "\340\377\1PUV\377\204.46\377\1\233\236\237\377\224\350\354\340\377\1" \
+ "SXY\377\204.46\377\224\350\354\340\377\1GLN\377\203.46\377\1:@B\377\233" \
+ "\350\354\340\377\1\341\342\342\377\204.46\377\2""179\377\335\336\337" \
+ "\377\250\350\354\340\377\204.46\377\1SXY\377\377\350\354\340\377\312" \
+ "\350\354\340\377\1\235\237\240\377\204.46\377\1\265\267\270\377\205\350" \
+ "\354\340\377\1\222\225\226\377\204.46\377\1""068\377\223\350\354\340" \
+ "\377\1kpq\377\204.46\377\1\346\347\347\377\205\350\354\340\377\1bfh\377" \
+ "\204.46\377\1\235\237\240\377\222\350\354\340\377\1V[]\377\204.46\377" \
+ "\1\253\256\257\377\216\350\354\340\377\1\273\275\276\377\204.46\377\1" \
+ "TYZ\377\224\350\354\340\377\1SXY\377\204.46\377\224\350\354\340\377\1" \
+ "GLN\377\203.46\377\1:@B\377\233\350\354\340\377\1\231\233\234\377\204" \
+ ".46\377\1y}\177\377\251\350\354\340\377\204.46\377\1SXY\377\377\350\354" \
+ "\340\377\312\350\354\340\377\1\235\237\240\377\204.46\377\1\265\267\270" \
+ "\377\203\350\354\340\377\3\345\346\346\377\206\211\212\377/57\377\204" \
+ ".46\377\1[`a\377\223\350\354\340\377\1kpq\377\204.46\377\1\346\347\347" \
+ "\377\203\350\354\340\377\2\323\324\324\377fjl\377\204.46\377\2/57\377" \
+ "\336\337\337\377\221\350\354\340\377\1\345\346\346\377\204.46\377\1""9" \
+ "\77A\377\220\350\354\340\377\1BHJ\377\204.46\377\1\341\342\342\377\223" \
+ "\350\354\340\377\1SXY\377\204.46\377\224\350\354\340\377\1GLN\377\203" \
+ ".46\377\1:@B\377\233\350\354\340\377\1gkl\377\204.46\377\1\300\302\302" \
+ "\377\251\350\354\340\377\204.46\377\1SXY\377\377\350\354\340\377\312" \
+ "\350\354\340\377\1\235\237\240\377\204.46\377\1""7=\77\377\203<BC\377" \
+ "\1/57\377\206.46\377\1\257\262\263\377\223\350\354\340\377\1kpq\377\204" \
+ ".46\377\1:@B\377\202<BC\377\1""9>@\377\206.46\377\1\200\204\205\377\222" \
+ "\350\354\340\377\1\302\303\304\377\204.46\377\1rvw\377\220\350\354\340" \
+ "\377\1~\202\203\377\204.46\377\1\274\276\276\377\223\350\354\340\377" \
+ "\1SXY\377\204.46\377\224\350\354\340\377\1GLN\377\203.46\377\1""179\377" \
+ "\211fjl\377\1\311\312\313\377\221\350\354\340\377\1@FG\377\204.46\377" \
+ "\1\352\354\345\377\251\350\354\340\377\204.46\377\1SXY\377\377\350\354" \
+ "\340\377\312\350\354\340\377\1\235\237\240\377\216.46\377\1eik\377\224" \
+ "\350\354\340\377\1kpq\377\215.46\377\1ptv\377\223\350\354\340\377\1\256" \
+ "\260\261\377\204.46\377\1\217\222\223\377\220\350\354\340\377\1\235\237" \
+ "\240\377\204.46\377\1\246\250\251\377\223\350\354\340\377\1SXY\377\204" \
+ ".46\377\224\350\354\340\377\1GLN\377\215.46\377\1\265\267\270\377\221" \
+ "\350\354\340\377\1""179\377\203.46\377\1""39;\377\252\350\354\340\377" \
+ "\204.46\377\1SXY\377\377\350\354\340\377\312\350\354\340\377\1\235\237" \
+ "\240\377\215.46\377\1ptu\377\225\350\354\340\377\1kpq\377\213.46\377" \
+ "\2:@B\377\255\257\260\377\224\350\354\340\377\1\236\241\242\377\204." \
+ "46\377\1\235\237\240\377\220\350\354\340\377\1\251\253\254\377\204.4" \
+ "6\377\1\231\233\234\377\223\350\354\340\377\1SXY\377\204.46\377\224\350" \
+ "\354\340\377\1GLN\377\215.46\377\1\265\267\270\377\221\350\354\340\377" \
+ "\204.46\377\1:@B\377\252\350\354\340\377\204.46\377\1SXY\377\377\350" \
+ "\354\340\377\312\350\354\340\377\1\235\237\240\377\212.46\377\3""8>\77" \
+ "\377ost\377\310\312\312\377\226\350\354\340\377\1kpq\377\213.46\377\2" \
+ "7=\77\377\352\354\350\377\224\350\354\340\377\1\257\262\263\377\204." \
+ "46\377\1\214\220\221\377\220\350\354\340\377\1\231\234\235\377\204.4" \
+ "6\377\1\251\253\254\377\223\350\354\340\377\1SXY\377\204.46\377\224\350" \
+ "\354\340\377\1GLN\377\215.46\377\1\265\267\270\377\221\350\354\340\377" \
+ "\1""5;=\377\203.46\377\1""068\377\252\350\354\340\377\204.46\377\1SX" \
+ "Y\377\377\350\354\340\377\312\350\354\340\377\1\235\237\240\377\204." \
+ "46\377\1x|}\377\202\253\256\257\377\3\254\257\257\377\300\302\302\377" \
+ "\326\327\330\377\231\350\354\340\377\1kpq\377\204.46\377\1\302\303\304" \
+ "\377\202\325\326\327\377\1\204\210\211\377\204.46\377\1\202\206\207\377" \
+ "\224\350\354\340\377\1\304\306\306\377\204.46\377\1kpq\377\220\350\354" \
+ "\340\377\1z~\177\377\204.46\377\1\275\277\277\377\223\350\354\340\377" \
+ "\1SXY\377\204.46\377\224\350\354\340\377\1GLN\377\203.46\377\1""6<>\377" \
+ "\211\271\273\274\377\1\346\347\347\377\221\350\354\340\377\1INP\377\204" \
+ ".46\377\1\331\332\333\377\251\350\354\340\377\204.46\377\1SXY\377\377" \
+ "\350\354\340\377\312\350\354\340\377\1\235\237\240\377\204.46\377\1\251" \
+ "\253\254\377\236\350\354\340\377\1kpq\377\204.46\377\1\346\347\347\377" \
+ "\202\350\354\340\377\2\350\354\342\3779\77A\377\203.46\377\2""179\377" \
+ "\336\337\337\377\223\350\354\340\377\2\351\352\350\377068\377\203.46" \
+ "\377\1""5;=\377\220\350\354\340\377\1=BD\377\203.46\377\2/57\377\347" \
+ "\350\350\377\223\350\354\340\377\1SXY\377\204.46\377\224\350\354\340" \
+ "\377\1GLN\377\203.46\377\1:@B\377\233\350\354\340\377\1swx\377\204.4" \
+ "6\377\1\235\240\241\377\251\350\354\340\377\204.46\377\1SXY\377\377\350" \
+ "\354\340\377\312\350\354\340\377\1\235\237\240\377\204.46\377\1\251\253" \
+ "\254\377\236\350\354\340\377\1kpq\377\204.46\377\1\346\347\347\377\203" \
+ "\350\354\340\377\1\224\230\231\377\204.46\377\1ptu\377\224\350\354\340" \
+ "\377\1\\ab\377\204.46\377\1\242\244\245\377\216\350\354\340\377\1\260" \
+ "\263\263\377\204.46\377\1Y^`\377\224\350\354\340\377\1SXY\377\204.46" \
+ "\377\224\350\354\340\377\1GLN\377\203.46\377\1:@B\377\233\350\354\340" \
+ "\377\1\250\253\253\377\204.46\377\1HMO\377\251\350\354\340\377\204.4" \
+ "6\377\1SXY\377\377\350\354\340\377\312\350\354\340\377\1\235\237\240" \
+ "\377\204.46\377\1\251\253\254\377\236\350\354\340\377\1kpq\377\204.4" \
+ "6\377\1\346\347\347\377\204\350\354\340\377\1<BC\377\204.46\377\1\317" \
+ "\320\320\377\223\350\354\340\377\1\245\247\250\377\204.46\377\2<BC\377" \
+ "\346\347\347\377\214\350\354\340\377\2\351\354\343\377FKM\377\204.46" \
+ "\377\1\243\246\247\377\224\350\354\340\377\1SXY\377\204.46\377\224\350" \
+ "\354\340\377\1GLN\377\203.46\377\1:@B\377\234\350\354\340\377\1""5:<" \
+ "\377\204.46\377\1\230\233\234\377\250\350\354\340\377\204.46\377\1SX" \
+ "Y\377\377\350\354\340\377\312\350\354\340\377\1\235\237\240\377\204." \
+ "46\377\1\251\253\254\377\236\350\354\340\377\1kpq\377\204.46\377\1\346" \
+ "\347\347\377\204\350\354\340\377\1\233\236\237\377\204.46\377\1^bd\377" \
+ "\224\350\354\340\377\1INP\377\204.46\377\1W\\]\377\214\350\354\340\377" \
+ "\1chi\377\204.46\377\1HMO\377\225\350\354\340\377\1SXY\377\204.46\377" \
+ "\224\350\354\340\377\1GLN\377\203.46\377\1:@B\377\234\350\354\340\377" \
+ "\1\205\210\212\377\204.46\377\2""068\377\267\271\272\377\215\350\354" \
+ "\340\377\1\330\332\332\377\231\350\354\340\377\204.46\377\1SXY\377\377" \
+ "\350\354\340\377\312\350\354\340\377\1\235\237\240\377\204.46\377\1\251" \
+ "\253\254\377\236\350\354\340\377\1kpq\377\204.46\377\1\346\347\347\377" \
+ "\205\350\354\340\377\1@FG\377\204.46\377\1\274\276\276\377\223\350\354" \
+ "\340\377\1\274\276\276\377\205.46\377\2MRT\377\327\330\330\377\210\350" \
+ "\354\340\377\2\335\336\336\377UY[\377\205.46\377\1\272\274\275\377\225" \
+ "\350\354\340\377\1=BD\377\203.46\377\1""6<>\377\224\350\354\340\377\1" \
+ "GLN\377\203.46\377\1:@B\377\235\350\354\340\377\1AFH\377\204.46\377\2" \
+ "/57\377\217\222\223\377\212\350\354\340\377\4\274\276\276\377bgh\377" \
+ ".46\377\327\330\330\377\230\350\354\340\377\204.46\377\1SXY\377\377\350" \
+ "\354\340\377\312\350\354\340\377\1\235\237\240\377\204.46\377\1\251\253" \
+ "\254\377\236\350\354\340\377\1kpq\377\204.46\377\1\346\347\347\377\205" \
+ "\350\354\340\377\1\240\243\244\377\204.46\377\1MRT\377\224\350\354\340" \
+ "\377\1\220\224\225\377\205.46\377\3""068\377y}\177\377\302\304\305\377" \
+ "\204\350\354\340\377\3\306\307\310\377\200\204\205\377179\377\205.46" \
+ "\377\1\220\223\224\377\223\350\354\340\377\3\306\307\310\377\257\261" \
+ "\262\377hmn\377\204.46\377\1_de\377\224\350\354\340\377\1GLN\377\203" \
+ ".46\377\1""9>@\377\213\343\344\344\377\222\350\354\340\377\2\313\315" \
+ "\315\37739;\377\205.46\377\12@FG\377\212\215\216\377\302\303\304\377" \
+ "\341\342\342\377\350\354\340\377\347\350\350\377\320\322\322\377\253" \
+ "\256\257\377w{|\377=BD\377\203.46\377\1\212\215\216\377\230\350\354\340" \
+ "\377\204.46\377\1SXY\377\377\350\354\340\377\312\350\354\340\377\1\235" \
+ "\237\240\377\204.46\377\1\264\266\266\377\236\350\354\340\377\1kpq\377" \
+ "\204.46\377\1\346\347\347\377\206\350\354\340\377\1BHJ\377\204.46\377" \
+ "\1\251\253\254\377\224\350\354\340\377\1txz\377\210.46\377\2""7=\77\377" \
+ "8>\77\377\210.46\377\1txz\377\224\350\354\340\377\1SXY\377\206.46\377" \
+ "\1\251\253\254\377\224\350\354\340\377\1GLN\377\217.46\377\1\320\322" \
+ "\322\377\222\350\354\340\377\2\276\300\301\3775;=\377\221.46\377\1@F" \
+ "G\377\230\350\354\340\377\204.46\377\1SXY\377\377\350\354\340\377\312" \
+ "\350\354\340\377\1\235\237\240\377\204.46\377\1\265\267\270\377\236\350" \
+ "\354\340\377\1kpq\377\204.46\377\1\346\347\347\377\206\350\354\340\377" \
+ "\1\246\251\252\377\204.46\377\1AFH\377\225\350\354\340\377\2\232\235" \
+ "\236\377068\377\216.46\377\2""068\377\232\235\236\377\225\350\354\340" \
+ "\377\1X]^\377\205.46\377\1LQS\377\225\350\354\340\377\1GLN\377\217.4" \
+ "6\377\1\316\317\320\377\223\350\354\340\377\2\324\325\325\377NSU\377" \
+ "\220.46\377\2""068\377\321\322\323\377\227\350\354\340\377\204.46\377" \
+ "\1SXY\377\377\350\354\340\377\312\350\354\340\377\1\235\237\240\377\204" \
+ ".46\377\1\265\267\270\377\236\350\354\340\377\1kpq\377\204.46\377\1\346" \
+ "\347\347\377\207\350\354\340\377\1GLN\377\204.46\377\1\226\231\232\377" \
+ "\225\350\354\340\377\2\317\320\320\377`ef\377\214.46\377\2bgh\377\317" \
+ "\321\321\377\226\350\354\340\377\1_de\377\204.46\377\2:@B\377\332\333" \
+ "\334\377\225\350\354\340\377\1GLN\377\217.46\377\1\316\317\320\377\225" \
+ "\350\354\340\377\2\236\241\242\377BGI\377\214.46\377\3""8>\77\377~\201" \
+ "\202\377\335\336\337\377\230\350\354\340\377\204.46\377\1SXY\377\377" \
+ "\350\354\340\377\312\350\354\340\377\1\235\237\240\377\204.46\377\1\265" \
+ "\267\270\377\236\350\354\340\377\1kpq\377\204.46\377\1\346\347\347\377" \
+ "\207\350\354\340\377\1\254\257\257\377\204.46\377\2""8>\77\377\352\354" \
+ "\350\377\226\350\354\340\377\3\311\312\313\377\200\204\205\377EJL\377" \
+ "\206.46\377\3EJL\377\203\207\210\377\313\314\315\377\230\350\354\340" \
+ "\377\1_de\377\202.46\377\3/57\377fjl\377\342\343\343\377\226\350\354" \
+ "\340\377\1SXY\377\217<BC\377\1\307\311\311\377\227\350\354\340\377\4" \
+ "\275\277\300\377~\201\202\377OTV\377068\377\204.46\377\4""39;\377QVX" \
+ "\377\201\204\206\377\270\272\272\377\233\350\354\340\377\204.46\377\1" \
+ "SXY\377\377\350\354\340\377\377\350\354\340\377\234\350\354\340\377\2" \
+ "\345\346\346\377\317\321\321\377\202\275\277\300\377\2\317\321\321\377" \
+ "\345\346\346\377\233\350\354\340\377\4\302\304\305\377\255\257\260\377" \
+ "\301\302\303\377\346\346\347\377\304\350\354\340\377\4\346\347\347\377" \
+ "\327\330\330\377\335\336\337\377\347\350\350\377\377\350\354\340\377" \
+ "\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350" \
+ "\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340" \
+ "\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377" \
+ "\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354" \
+ "\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377" \
+ "\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350" \
+ "\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340" \
+ "\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377" \
+ "\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354" \
+ "\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377" \
+ "\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350" \
+ "\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340" \
+ "\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377" \
+ "\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354" \
+ "\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377" \
+ "\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350" \
+ "\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340" \
+ "\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377" \
+ "\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354" \
+ "\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377" \
+ "\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350" \
+ "\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340" \
+ "\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377" \
+ "\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354" \
+ "\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377" \
+ "\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350" \
+ "\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340" \
+ "\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377" \
+ "\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354" \
+ "\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377" \
+ "\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350" \
+ "\354\340\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340" \
+ "\377\377\350\354\340\377\377\350\354\340\377\377\350\354\340\377\377" \
+ "\350\354\340\377\377\350\354\340\377\246\350\354\340\377")
+
+
diff --git a/meta/recipes-core/psplash/psplash_svn.bb b/meta/recipes-core/psplash/psplash_svn.bb
index 1ca5cf6df..0443fbb7c 100644
--- a/meta/recipes-core/psplash/psplash_svn.bb
+++ b/meta/recipes-core/psplash/psplash_svn.bb
@@ -5,11 +5,12 @@ SECTION = "base"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://psplash.h;md5=a87c39812c1e37f3451567cc29a29c8f"
-PV = "0.0+svnr${SRCREV}"
-PR = "r5"
+PV = "0.0+svnr${SRCPV}"
+PR = "r6"
SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=psplash;proto=http \
- file://psplash-init"
+ file://psplash-init \
+ file://psplash-poky-img.h"
S = "${WORKDIR}/psplash"
@@ -17,6 +18,10 @@ inherit autotools pkgconfig update-rc.d
FILES_${PN} += "/mnt/.psplash"
+do_configure_prepend () {
+ cp -f ${WORKDIR}/psplash-poky-img.h ${S}/
+}
+
do_install_prepend() {
install -d ${D}/mnt/.psplash/
install -d ${D}${sysconfdir}/init.d/
diff --git a/meta/recipes-core/sysfsutils/sysfsutils-2.1.0/sysfsutils-2.0.0-class-dup.patch b/meta/recipes-core/sysfsutils/sysfsutils-2.1.0/sysfsutils-2.0.0-class-dup.patch
new file mode 100644
index 000000000..76597fb65
--- /dev/null
+++ b/meta/recipes-core/sysfsutils/sysfsutils-2.1.0/sysfsutils-2.0.0-class-dup.patch
@@ -0,0 +1,21 @@
+This patch is from the Fedora Core 9 sysfsutils-2.1.0-3.fc9 package.
+
+It fixes a problem in the upstream package where not all devices
+will be returned by the function.
+
+The package License indicates this is GPLv2 licensed.
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+diff -puN lib/sysfs_class.c~sysfsutils_class_dup lib/sysfs_class.c
+--- sysfsutils-2.1.0/lib/sysfs_class.c~sysfsutils_class_dup 2006-09-07 17:01:26.000000000 -0500
++++ sysfsutils-2.1.0-bjking1/lib/sysfs_class.c 2006-09-07 17:01:26.000000000 -0500
+@@ -66,7 +66,7 @@ static int cdev_name_equal(void *a, void
+ return 0;
+
+ if (strncmp((char *)a, ((struct sysfs_class_device *)b)->name,
+- strlen((char *)a)) == 0)
++ SYSFS_NAME_LEN) == 0)
+ return 1;
+
+ return 0;
diff --git a/meta/recipes-core/sysfsutils/sysfsutils_2.1.0.bb b/meta/recipes-core/sysfsutils/sysfsutils_2.1.0.bb
index 26577f212..5343f6446 100644
--- a/meta/recipes-core/sysfsutils/sysfsutils_2.1.0.bb
+++ b/meta/recipes-core/sysfsutils/sysfsutils_2.1.0.bb
@@ -8,9 +8,11 @@ LICENSE_libsysfs = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=3d06403ea54c7574a9e581c6478cc393 \
file://cmd/GPL;md5=d41d4e2e1e108554e0388ea4aecd8d27 \
file://lib/LGPL;md5=b75d069791103ffe1c0d6435deeff72e"
-PR = "r0"
+PR = "r1"
-SRC_URI = "${SOURCEFORGE_MIRROR}/linux-diag/sysfsutils-${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/linux-diag/sysfsutils-${PV}.tar.gz \
+ file://sysfsutils-2.0.0-class-dup.patch \
+ "
SRC_URI[md5sum] = "14e7dcd0436d2f49aa403f67e1ef7ddc"
SRC_URI[sha256sum] = "e865de2c1f559fff0d3fc936e660c0efaf7afe662064f2fb97ccad1ec28d208a"
diff --git a/meta/recipes-core/tasks/task-cross-canadian.bb b/meta/recipes-core/tasks/task-cross-canadian.bb
index 7170faaa9..1bb2b57cb 100644
--- a/meta/recipes-core/tasks/task-cross-canadian.bb
+++ b/meta/recipes-core/tasks/task-cross-canadian.bb
@@ -4,6 +4,8 @@ PR = "r0"
LICENSE = "MIT"
ALLOW_EMPTY = "1"
+LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
+ file://${POKYBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
inherit cross-canadian
PACKAGES = "${PN}"
@@ -12,5 +14,6 @@ RDEPENDS_${PN} = "\
binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} \
gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} \
gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} \
+ meta-environment-${TRANSLATED_TARGET_ARCH} \
"
diff --git a/meta/recipes-core/tasks/task-poky-sdk.bb b/meta/recipes-core/tasks/task-poky-sdk.bb
index 758cc2e64..8d5455a3c 100644
--- a/meta/recipes-core/tasks/task-poky-sdk.bb
+++ b/meta/recipes-core/tasks/task-poky-sdk.bb
@@ -7,7 +7,7 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${POKYBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
DEPENDS = "task-poky"
-PR = "r6"
+PR = "r7"
ALLOW_EMPTY = "1"
#PACKAGEFUNCS =+ 'generate_sdk_pkgs'
@@ -43,6 +43,8 @@ RDEPENDS_task-poky-sdk = "\
quilt \
less \
distcc \
+ ldd \
+ file \
tcl"
#python generate_sdk_pkgs () {
diff --git a/meta/recipes-core/tasks/task-poky-tools.bb b/meta/recipes-core/tasks/task-poky-tools.bb
index e507ce46d..f009a75ec 100644
--- a/meta/recipes-core/tasks/task-poky-tools.bb
+++ b/meta/recipes-core/tasks/task-poky-tools.bb
@@ -49,6 +49,7 @@ RRECOMMENDS_task-poky-tools-profile = "\
perf \
trace-cmd \
kernel-module-oprofile \
+ blktrace \
sysprof \
"
@@ -59,11 +60,11 @@ RRECOMMENDS_task-poky-tools-profile = "\
# qemux86/qemux86-64/qemuppc/emenlow/atom-pc since upstream liburcu
# (which is required by lttng-ust) may not build on other platforms, like
# MIPS and qemu ARMv5te that poky uses now.
-RDEPENDS_task-poky-tools-profile_append_qemux86 = " valgrind lttng-ust"
-RDEPENDS_task-poky-tools-profile_append_qemux86-64 = " lttng-ust"
-RDEPENDS_task-poky-tools-profile_append_qemuppc = " lttng-ust"
-RDEPENDS_task-poky-tools-profile_append_emenlow = " lttng-ust"
-RDEPENDS_task-poky-tools-profile_append_atom-pc = " lttng-ust"
+RDEPENDS_task-poky-tools-profile_append_qemux86 = " valgrind lttng-ust systemtap"
+RDEPENDS_task-poky-tools-profile_append_qemux86-64 = " lttng-ust systemtap"
+RDEPENDS_task-poky-tools-profile_append_qemuppc = " lttng-ust systemtap"
+RDEPENDS_task-poky-tools-profile_append_emenlow = " lttng-ust systemtap"
+RDEPENDS_task-poky-tools-profile_append_atom-pc = " lttng-ust systemtap"
RDEPENDS_task-poky-tools-testapps = "\
blktool \
diff --git a/meta/recipes-core/tasks/task-sdk-host.bb b/meta/recipes-core/tasks/task-sdk-host.bb
index 7bf445386..1837d9a0c 100644
--- a/meta/recipes-core/tasks/task-sdk-host.bb
+++ b/meta/recipes-core/tasks/task-sdk-host.bb
@@ -3,10 +3,13 @@
#
DESCRIPTION = "Host packages for the standalone SDK or external toolchain"
-PR = "r9"
+PR = "r10"
LICENSE = "MIT"
ALLOW_EMPTY = "1"
+LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
+ file://${POKYBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
inherit nativesdk
PACKAGES = "${PN}"
@@ -18,6 +21,7 @@ RDEPENDS_${PN} = "\
pseudo-nativesdk \
unfs-server-nativesdk \
opkg-nativesdk \
+ libtool-nativesdk \
"
RDEPENDS_${PN}_darwin8 = "\
diff --git a/meta/recipes-core/util-linux/util-linux-2.17.2/util-linux-ng-2.16-mount_lock_path.patch b/meta/recipes-core/util-linux/util-linux-2.17.2/util-linux-ng-2.16-mount_lock_path.patch
new file mode 100644
index 000000000..8e79d8b5f
--- /dev/null
+++ b/meta/recipes-core/util-linux/util-linux-2.17.2/util-linux-ng-2.16-mount_lock_path.patch
@@ -0,0 +1,25 @@
+The FHS indicates that /etc must be capable of being mounted R/O.
+
+The FHS also indicates that lock files belong in /var/lock, and /var must
+be R/W as soon as possible during boot.
+
+This patch moves the mtab lock file from the potentially R/O /etc, to the
+R/W /var/lock area. This lock file is used when mounting disks and making
+other mount adjustments. The _PATH_MOUNTED_TMP is not adjusted, as failing
+to write to this file does not cause any functional limitations.
+
+(Note, if /etc is R/O, then /etc/mtab should be a symlink to /proc/mounts)
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+--- util-linux-ng-2.16/include/pathnames.h.orig
++++ util-linux-ng-2.16/include/pathnames.h
+@@ -90,7 +90,7 @@
+ # endif
+ #endif
+
+-#define _PATH_MOUNTED_LOCK _PATH_MOUNTED "~"
++#define _PATH_MOUNTED_LOCK "/var/lock/mtab~"
+ #define _PATH_MOUNTED_TMP _PATH_MOUNTED ".tmp"
+
+ #ifndef _PATH_DEV
diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc
index 53d84632c..551e3c926 100644
--- a/meta/recipes-core/util-linux/util-linux.inc
+++ b/meta/recipes-core/util-linux/util-linux.inc
@@ -15,10 +15,10 @@ LIC_FILES_CHKSUM = "file://README.licensing;md5=1530e36fe1304d4535513de90a290df9
file://licenses/COPYING.UCB;md5=263860f8968d8bafa5392cab74285262 \
file://getopt/COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-DEPENDS = "udev zlib ncurses virtual/libintl gettext"
+DEPENDS = "zlib ncurses virtual/libintl"
DEPENDS_virtclass-native = "zlib-native ncurses-native lzo-native gettext-native"
-inherit autotools
+inherit autotools gettext
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/util-linux-ng/v${MAJOR_VERSION}/util-linux-ng-${PV}.tar.bz2 \
file://MCONFIG \
@@ -27,7 +27,11 @@ SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/util-linux-ng/v${MAJOR_VERSION}/u
file://make_include \
"
-PACKAGES_prepend = "util-linux-fdisk util-linux-cfdisk util-linux-sfdisk util-linux-swaponoff util-linux-losetup util-linux-umount util-linux-mount util-linux-readprofile "
+PACKAGES_prepend = "util-linux-fdisk util-linux-cfdisk util-linux-sfdisk util-linux-swaponoff \
+ util-linux-losetup util-linux-umount util-linux-mount util-linux-readprofile \
+ util-linux-libblkid util-linux-libblkid-dev util-linux-libuuid util-linux-libuuid-dev \
+ util-linux-lscpu \
+ "
PACKAGES_virtclass-native = ""
@@ -37,16 +41,22 @@ EXTRA_OECONF = "--disable-use-tty-group --disable-makeinstall-chown --enable-elv
--enable-mesg --enable-partx --enable-raw --enable-rdev --enable-reset \
--disable-login-utils --enable-write --enable-arch --enable-mount --with-fsprobe=builtin --enable-libuuid --enable-libblkid --enable-fsck"
-FILES_${PN}-doc += "/usr/share/getopt/getopt-*.*"
+FILES_${PN}-doc += "${datadir}/getopt/getopt-*.*"
-FILES_util-linux-fdisk = "/sbin/fdisk.${PN}"
-FILES_util-linux-cfdisk = "/sbin/cfdisk"
-FILES_util-linux-sfdisk = "/usr/sbin/sfdisk"
-FILES_util-linux-swaponoff = "/sbin/swapon.${PN} /usr/sbin/swapoff.${PN}"
-FILES_util-linux-losetup = "/sbin/losetup.${PN}"
-FILES_util-linux-mount = "/bin/mount.${PN}"
-FILES_util-linux-umount = "/bin/umount.${PN}"
-FILES_util-linux-readprofile = "/sbin/readprofile"
+FILES_util-linux-fdisk = "${base_sbindir}/fdisk.${PN}"
+FILES_util-linux-cfdisk = "${base_sbindir}/cfdisk"
+FILES_util-linux-sfdisk = "${sbindir}/sfdisk"
+FILES_util-linux-swaponoff = "${base_sbindir}/swapon.${PN} ${sbindir}/swapoff.${PN}"
+FILES_util-linux-losetup = "${base_sbindir}/losetup.${PN}"
+FILES_util-linux-mount = "${base_bindir}/mount.${PN}"
+FILES_util-linux-umount = "${base_bindir}/umount.${PN}"
+FILES_util-linux-readprofile = "${base_sbindir}/readprofile"
+FILES_util-linux-lscpu = "${bindir}/lscpu"
+
+FILES_util-linux-libblkid = "${libdir}/libblkid.so.*"
+FILES_util-linux-libblkid-dev = "${libdir}/libblkid.so ${libdir}/libblkid.a ${libdir}/libblkid.la ${includedir}/blkid"
+FILES_util-linux-libuuid = "${libdir}/libuuid.so.*"
+FILES_util-linux-libuuid-dev = "${libdir}/libuuid.so ${libdir}/libuuid.a ${libdir}/libuuid.la ${includedir}/uuid"
RRECOMMENDS_${PN} = "util-linux-fdisk util-linux-cfdisk util-linux-sfdisk util-linux-mount util-linux-readprofile "
RDEPENDS_${PN} = "util-linux-umount util-linux-swaponoff util-linux-losetup"
@@ -142,11 +152,19 @@ do_install () {
install -d ${D}${sysconfdir}/default/
echo 'MOUNTALL="-t nonfs,nosmbfs,noncpfs"' > ${D}${sysconfdir}/default/mountall
- ln -sf ${sbindir}/swapon ${D}${sbindir}/swapoff.${PN}
- ln -sf ${sbindir}/shutdown ${D}${sbindir}/reboot.${PN}
- ln -sf ${sbindir}/shutdown ${D}${sbindir}/halt.${PN}
- ln -sf ${sbindir}/shutdown ${D}${sbindir}/fastboot
- ln -sf ${sbindir}/shutdown ${D}${sbindir}/fasthalt
+ # note ${PN} in swapon.${PN}, swapon is an alternative link that is
+ # not guaranteed to provide multiple functions, similar for shutdown
+ ln -sf swapon.${PN} ${D}${base_sbindir}/swapoff.${PN}
+ ln -sf shutdown.${PN} ${D}${base_sbindir}/reboot.${PN}
+ ln -sf shutdown.${PN} ${D}${base_sbindir}/halt.${PN}
+ ln -sf shutdown.${PN} ${D}${base_sbindir}/fastboot
+ ln -sf shutdown.${PN} ${D}${base_sbindir}/fasthalt
+
+ rm -f ${D}${sbindir}/halt
+ rm -f ${D}${sbindir}/reboot
+ rm -f ${D}${sbindir}/fastboot
+ rm -f ${D}${sbindir}/fasthalt
+ rm -f ${D}${sbindir}/swapoff
}
pkg_postinst_${PN} () {
diff --git a/meta/recipes-core/util-linux/util-linux_2.17.2.bb b/meta/recipes-core/util-linux/util-linux_2.17.2.bb
index 9b344d4de..e0904db06 100644
--- a/meta/recipes-core/util-linux/util-linux_2.17.2.bb
+++ b/meta/recipes-core/util-linux/util-linux_2.17.2.bb
@@ -1,9 +1,10 @@
MAJOR_VERSION = "2.17"
require util-linux.inc
-PR="r1"
+PR = "r5"
SRC_URI += "file://uclibc-compile.patch \
- file://util-linux-ng-replace-siginterrupt.patch"
+ file://util-linux-ng-replace-siginterrupt.patch \
+ file://util-linux-ng-2.16-mount_lock_path.patch"
SRC_URI[md5sum] = "4635725a3eef1c57090bac8ea5e082e6"
SRC_URI[sha256sum] = "c9ae801b6a5ab20b7749a278a8bf6830ef53adc5e8b7eb0ac1a9f410c774118f"
diff --git a/meta/recipes-devtools/apt/apt-0.7.14/use-host.patch b/meta/recipes-devtools/apt/apt-0.7.14/use-host.patch
index 894a69766..09698a6a4 100644
--- a/meta/recipes-devtools/apt/apt-0.7.14/use-host.patch
+++ b/meta/recipes-devtools/apt/apt-0.7.14/use-host.patch
@@ -3,11 +3,11 @@
configure.in | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
+Index: apt-0.7.14/buildlib/sizetable
+===================================================================
--- apt-0.7.14.orig/buildlib/sizetable
+++ apt-0.7.14/buildlib/sizetable
-@@ -9,16 +9,19 @@
- #
- # This is used primarily for the MD5 algorithm.
+@@ -11,6 +11,9 @@
# The format is:-
# CPU endian sizeof: char, int, short, long
i386 little 1 4 2 4
@@ -17,21 +17,19 @@
armeb big 1 4 2 4
arm little 1 4 2 4
alpha little 1 4 2 8
- mipsel little 1 4 2 4
- sparc big 1 4 2 4
- sparc64 big 1 4 2 8
- m68k big 1 4 2 4
+@@ -21,4 +24,5 @@ m68k big 1 4 2 4
powerpc big 1 4 2 4
mips big 1 4 2 4
hppa big 1 4 2 4
-m32r big 1 4 2 4
\ No newline at end of file
+m32r big 1 4 2 4
++x86_64 little 1 4 2 8
+Index: apt-0.7.14/configure.in
+===================================================================
--- apt-0.7.14.orig/configure.in
+++ apt-0.7.14/configure.in
-@@ -86,11 +86,11 @@ AC_SUBST(BDBLIB)
- dnl Converts the ARCH to be something singular for this general CPU family
- dnl This is often the dpkg architecture string.
+@@ -88,7 +88,7 @@ dnl This is often the dpkg architecture
dnl First check against the full canonical canoncial-system-type in $target
dnl and if that fails, just look for the cpu
AC_MSG_CHECKING(debian architecture)
@@ -40,5 +38,3 @@
if test "x$archset" = "x"; then
AC_MSG_ERROR([failed: use --host= or output from dpkg-architecture])
fi
- AC_MSG_RESULT($archset)
- AC_DEFINE_UNQUOTED(COMMON_ARCH,"$archset")
diff --git a/meta/recipes-devtools/apt/apt-native_0.7.14.bb b/meta/recipes-devtools/apt/apt-native_0.7.14.bb
index f77f81790..b1bd55b2c 100644
--- a/meta/recipes-devtools/apt/apt-native_0.7.14.bb
+++ b/meta/recipes-devtools/apt/apt-native_0.7.14.bb
@@ -9,3 +9,5 @@ SRC_URI += "file://nodoc.patch \
SRC_URI[md5sum] = "19efa18fb1ef20c58b9b44e94258b814"
SRC_URI[sha256sum] = "8fc06effaf8a4e4333308eedcdc6840f1c8056f2e924210f151dfc076bcd4045"
+
+LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3"
diff --git a/meta/recipes-devtools/apt/apt_0.7.14.bb b/meta/recipes-devtools/apt/apt_0.7.14.bb
index 54096ef6a..aa155d9d4 100644
--- a/meta/recipes-devtools/apt/apt_0.7.14.bb
+++ b/meta/recipes-devtools/apt/apt_0.7.14.bb
@@ -1,12 +1,12 @@
DEPENDS = "curl db"
-RDEPENDS = "dpkg"
+RDEPENDS_${PN} = "dpkg"
LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3"
require apt.inc
-PR = "r3"
+PR = "r6"
SRC_URI += "file://nodoc.patch \
- file://includes-fix.patch"
+ file://includes-fix.patch "
SRC_URI[md5sum] = "19efa18fb1ef20c58b9b44e94258b814"
SRC_URI[sha256sum] = "8fc06effaf8a4e4333308eedcdc6840f1c8056f2e924210f151dfc076bcd4045"
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-2.16.1-e300c2c3.patch b/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-2.16.1-e300c2c3.patch
deleted file mode 100644
index dfe9b18e1..000000000
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-2.16.1-e300c2c3.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Adds support for Freescale Power architecture e300c2 and e300c3 cores.
-http://www.bitshrine.org/gpp/tc-fsl-x86lnx-e300c3-nptl-4.0.2-2.src.rpm
-
-Leon Woestenberg <leonw@mailcan.com>
-
-Index: binutils-2.19.51.0.3/opcodes/ppc-dis.c
-===================================================================
---- binutils-2.19.51.0.3.orig/opcodes/ppc-dis.c 2009-04-16 00:38:45.000000000 -0700
-+++ binutils-2.19.51.0.3/opcodes/ppc-dis.c 2009-04-16 00:43:56.000000000 -0700
-@@ -132,6 +132,8 @@
- | PPC_OPCODE_POWER6 | PPC_OPCODE_POWER7 | PPC_OPCODE_ALTIVEC
- | PPC_OPCODE_VSX),
- 0 },
-+ { "pmr", (PPC_OPCODE_PMR),
-+ 0 },
- { "ppc", (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC | PPC_OPCODE_32),
- 0 },
- { "ppc32", (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC | PPC_OPCODE_32),
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-libtool.patch b/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-libtool.patch
deleted file mode 100644
index 61517d1d4..000000000
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-libtool.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-This is because libdir has a trailing slash which breaks the comparision.
-
-RP 2/1/10
-
-Index: binutils-2.20.1/ltmain.sh
-===================================================================
---- binutils-2.20.1.orig/ltmain.sh 2009-09-01 00:59:32.000000000 +0800
-+++ binutils-2.20.1/ltmain.sh 2010-07-29 09:41:14.000000000 +0800
-@@ -2156,8 +2156,12 @@
- dir="$dir$objdir"
-
- if test -n "$relink_command"; then
-+ # Strip any trailing slash from the destination.
-+ func_stripname '' '/' "$libdir"
-+ destlibdir=$func_stripname_result
-+
- # Determine the prefix the user has applied to our future dir.
-- inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
-+ inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$destlibdir\$%%"`
-
- # Don't allow the user to place us outside of our expected
- # location b/c this prevents finding dependent libraries that
-@@ -5570,8 +5574,14 @@
- absdir="$abs_ladir"
- libdir="$abs_ladir"
- else
-- dir="$libdir"
-- absdir="$libdir"
-+ # Adding 'libdir' from the .la file to our library search paths
-+ # breaks crosscompilation horribly. We cheat here and don't add
-+ # it, instead adding the path where we found the .la. -CL
-+ dir="$abs_ladir"
-+ absdir="$abs_ladir"
-+ libdir="$abs_ladir"
-+ #dir="$libdir"
-+ #absdir="$libdir"
- fi
- test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
- else
-@@ -5942,8 +5952,6 @@
- add="$libdir/$linklib"
- fi
- else
-- # We cannot seem to hardcode it, guess we'll fake it.
-- add_dir="-L$libdir"
- # Try looking first in the location we're being installed to.
- if test -n "$inst_prefix_dir"; then
- case $libdir in
-@@ -6089,7 +6097,17 @@
- fi
- ;;
- *)
-- path="-L$absdir/$objdir"
-+ # OE sets installed=no in staging. We need to look in $objdir and $absdir,
-+ # preferring $objdir. RP 31/04/2008
-+ if test -f "$absdir/$objdir/$depdepl" ; then
-+ depdepl="$absdir/$objdir/$depdepl"
-+ path="-L$absdir/$objdir"
-+ elif test -f "$absdir/$depdepl" ; then
-+ depdepl="$absdir/$depdepl"
-+ path="-L$absdir"
-+ else
-+ path="-L$absdir/$objdir"
-+ fi
- ;;
- esac
- else
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-mips-pie.patch b/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-mips-pie.patch
deleted file mode 100644
index c71f0ad4d..000000000
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-mips-pie.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-# "-fPIE" always triggers segmentation fault in ld.so.1 on mips platform,
-# which was first saw on dbus-daemon. Below borrow the binutils fix from
-# binutils bugzilla:
-#
-# http://sourceware.org/bugzilla/show_bug.cgi?id=10858
-#
-# Its commit message says:
-# * elfxx-mips.c (mips_elf_create_dynamic_relocation): Use section
-# sym dynindx for relocs against defined syms in PIEs.
-#
-# It's in upstream CVS now (rev 1.267), but not in current release
-#
-# By Kevin Tian <kevin.tian@intel.com>, 2010-07-15
-
-diff --git a/elfxx-mips.c b/elfxx-mips.c
-index 3a1c8ba..f6c2c1c 100644
---- binutils-2.20.1.orig/bfd/elfxx-mips.c
-+++ binutils-2.20.1/bfd/elfxx-mips.c
-@@ -5688,9 +5688,7 @@ mips_elf_create_dynamic_relocation (bfd *output_bfd,
-
- /* We must now calculate the dynamic symbol table index to use
- in the relocation. */
-- if (h != NULL
-- && (!h->root.def_regular
-- || (info->shared && !info->symbolic && !h->root.forced_local)))
-+ if (h != NULL && ! SYMBOL_REFERENCES_LOCAL (info, &h->root))
- {
- indx = h->root.dynindx;
- if (SGI_COMPAT (output_bfd))
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-poison.patch b/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-poison.patch
deleted file mode 100644
index c2f19276f..000000000
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-poison.patch
+++ /dev/null
@@ -1,253 +0,0 @@
-This patch is recived from Mark Hatle
-
-purpose: warn for uses of system directories when cross linking
-
-Signed-Off-By: Mark Hatle <mark.hatle@windriver.com>
-
-Code Merged from Sourcery G++ binutils 2.19 - 4.4-277
-
-2008-07-02 Joseph Myers <joseph@codesourcery.com>
-
- ld/
- * ld.h (args_type): Add error_poison_system_directories.
- * ld.texinfo (--error-poison-system-directories): Document.
- * ldfile.c (ldfile_add_library_path): Check
- command_line.error_poison_system_directories.
- * ldmain.c (main): Initialize
- command_line.error_poison_system_directories.
- * lexsup.c (enum option_values): Add
- OPTION_ERROR_POISON_SYSTEM_DIRECTORIES.
- (ld_options): Add --error-poison-system-directories.
- (parse_args): Handle new option.
-
-2007-06-13 Joseph Myers <joseph@codesourcery.com>
-
- ld/
- * config.in: Regenerate.
- * ld.h (args_type): Add poison_system_directories.
- * ld.texinfo (--no-poison-system-directories): Document.
- * ldfile.c (ldfile_add_library_path): Check
- command_line.poison_system_directories.
- * ldmain.c (main): Initialize
- command_line.poison_system_directories.
- * lexsup.c (enum option_values): Add
- OPTION_NO_POISON_SYSTEM_DIRECTORIES.
- (ld_options): Add --no-poison-system-directories.
- (parse_args): Handle new option.
-
-2007-04-20 Joseph Myers <joseph@codesourcery.com>
-
- Merge from Sourcery G++ binutils 2.17:
-
- 2007-03-20 Joseph Myers <joseph@codesourcery.com>
- Based on patch by Mark Hatle <mark.hatle@windriver.com>.
- ld/
- * configure.in (--enable-poison-system-directories): New option.
- * configure, config.in: Regenerate.
- * ldfile.c (ldfile_add_library_path): If
- ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib,
- /usr/lib, /usr/local/lib or /usr/X11R6/lib.
-
-Index: binutils-2.20.1/ld/config.in
-===================================================================
---- binutils-2.20.1.orig/ld/config.in
-+++ binutils-2.20.1/ld/config.in
-@@ -4,6 +4,9 @@
- language is requested. */
- #undef ENABLE_NLS
-
-+/* Define to warn for use of native system library directories */
-+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
-+
- /* Additional extension a shared object might have. */
- #undef EXTRA_SHLIB_EXTENSION
-
-Index: binutils-2.20.1/ld/configure.in
-===================================================================
---- binutils-2.20.1.orig/ld/configure.in
-+++ binutils-2.20.1/ld/configure.in
-@@ -69,6 +69,16 @@ AC_SUBST(use_sysroot)
- AC_SUBST(TARGET_SYSTEM_ROOT)
- AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
-
-+AC_ARG_ENABLE([poison-system-directories],
-+ AS_HELP_STRING([--enable-poison-system-directories],
-+ [warn for use of native system library directories]),,
-+ [enable_poison_system_directories=no])
-+if test "x${enable_poison_system_directories}" = "xyes"; then
-+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
-+ [1],
-+ [Define to warn for use of native system library directories])
-+fi
-+
- AC_ARG_ENABLE([got],
- AS_HELP_STRING([--enable-got=<type>],
- [GOT handling scheme (target, single, negative, multigot)]),
-Index: binutils-2.20.1/ld/ld.h
-===================================================================
---- binutils-2.20.1.orig/ld/ld.h
-+++ binutils-2.20.1/ld/ld.h
-@@ -176,6 +176,14 @@ typedef struct {
- input files. */
- bfd_boolean accept_unknown_input_arch;
-
-+ /* If TRUE (the default) warn for uses of system directories when
-+ cross linking. */
-+ bfd_boolean poison_system_directories;
-+
-+ /* If TRUE (default FALSE) give an error for uses of system
-+ directories when cross linking instead of a warning. */
-+ bfd_boolean error_poison_system_directories;
-+
- /* Big or little endian as set on command line. */
- enum endian_enum endian;
-
-Index: binutils-2.20.1/ld/ld.texinfo
-===================================================================
---- binutils-2.20.1.orig/ld/ld.texinfo
-+++ binutils-2.20.1/ld/ld.texinfo
-@@ -2084,6 +2084,18 @@ string identifying the original linked f
-
- Passing @code{none} for @var{style} disables the setting from any
- @code{--build-id} options earlier on the command line.
-+
-+@kindex --no-poison-system-directories
-+@item --no-poison-system-directories
-+Do not warn for @option{-L} options using system directories such as
-+@file{/usr/lib} when cross linking. This option is intended for use
-+in chroot environments when such directories contain the correct
-+libraries for the target system rather than the host.
-+
-+@kindex --error-poison-system-directories
-+@item --error-poison-system-directories
-+Give an error instead of a warning for @option{-L} options using
-+system directories when cross linking.
- @end table
-
- @c man end
-Index: binutils-2.20.1/ld/ldfile.c
-===================================================================
---- binutils-2.20.1.orig/ld/ldfile.c
-+++ binutils-2.20.1/ld/ldfile.c
-@@ -120,6 +120,23 @@ ldfile_add_library_path (const char *nam
- {
- new_dirs->name = xstrdup (name);
- new_dirs->sysrooted = is_sysrooted_pathname (name, FALSE);
-+
-+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
-+ if (command_line.poison_system_directories
-+ && ((!strncmp (name, "/lib", 4))
-+ || (!strncmp (name, "/usr/lib", 8))
-+ || (!strncmp (name, "/usr/local/lib", 14))
-+ || (!strncmp (name, "/usr/X11R6/lib", 14))))
-+ {
-+ if (command_line.error_poison_system_directories)
-+ einfo (_("%X%P: error: library search path \"%s\" is unsafe for "
-+ "cross-compilation\n"), name);
-+ else
-+ einfo (_("%P: warning: library search path \"%s\" is unsafe for "
-+ "cross-compilation\n"), name);
-+ }
-+#endif
-+
- }
- }
-
-Index: binutils-2.20.1/ld/ldmain.c
-===================================================================
---- binutils-2.20.1.orig/ld/ldmain.c
-+++ binutils-2.20.1/ld/ldmain.c
-@@ -252,6 +252,8 @@ main (int argc, char **argv)
- command_line.warn_mismatch = TRUE;
- command_line.warn_search_mismatch = TRUE;
- command_line.check_section_addresses = -1;
-+ command_line.poison_system_directories = TRUE;
-+ command_line.error_poison_system_directories = FALSE;
-
- /* We initialize DEMANGLING based on the environment variable
- COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the
-Index: binutils-2.20.1/ld/lexsup.c
-===================================================================
---- binutils-2.20.1.orig/ld/lexsup.c
-+++ binutils-2.20.1/ld/lexsup.c
-@@ -166,7 +166,9 @@ enum option_values
- OPTION_WARN_SHARED_TEXTREL,
- OPTION_WARN_ALTERNATE_EM,
- OPTION_REDUCE_MEMORY_OVERHEADS,
-- OPTION_DEFAULT_SCRIPT
-+ OPTION_DEFAULT_SCRIPT,
-+ OPTION_NO_POISON_SYSTEM_DIRECTORIES,
-+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES
- };
-
- /* The long options. This structure is used for both the option
-@@ -575,6 +577,14 @@ static const struct ld_option ld_options
- TWO_DASHES },
- { {"wrap", required_argument, NULL, OPTION_WRAP},
- '\0', N_("SYMBOL"), N_("Use wrapper functions for SYMBOL"), TWO_DASHES },
-+ { {"no-poison-system-directories", no_argument, NULL,
-+ OPTION_NO_POISON_SYSTEM_DIRECTORIES},
-+ '\0', NULL, N_("Do not warn for -L options using system directories"),
-+ TWO_DASHES },
-+ { {"error-poison-system-directories", no_argument, NULL,
-+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES},
-+ '\0', NULL, N_("Give an error for -L options using system directories"),
-+ TWO_DASHES },
- };
-
- #define OPTION_COUNT ARRAY_SIZE (ld_options)
-@@ -1480,6 +1490,14 @@ parse_args (unsigned argc, char **argv)
- einfo (_("%P%X: --hash-size needs a numeric argument\n"));
- }
- break;
-+
-+ case OPTION_NO_POISON_SYSTEM_DIRECTORIES:
-+ command_line.poison_system_directories = FALSE;
-+ break;
-+
-+ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES:
-+ command_line.error_poison_system_directories = TRUE;
-+ break;
- }
- }
-
-diff -ur binutils-2.20.1.orig/ld/configure binutils-2.20.1/ld/configure
---- binutils-2.20.1.orig/ld/configure 2010-03-03 08:06:22.000000000 -0600
-+++ binutils-2.20.1/ld/configure 2010-09-30 11:19:35.776990594 -0500
-@@ -901,6 +904,7 @@
- enable_targets
- enable_64_bit_bfd
- with_sysroot
-+enable_poison_system_directories
- enable_got
- enable_werror
- enable_build_warnings
-@@ -1548,6 +1552,8 @@
- (and sometimes confusing) to the casual installer
- --enable-targets alternative target configurations
- --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)
-+ --enable-poison-system-directories
-+ warn for use of native system library directories
- --enable-got=<type> GOT handling scheme (target, single, negative,
- multigot)
- --enable-werror treat compile warnings as errors
-@@ -4302,6 +4334,19 @@
-
-
-
-+# Check whether --enable-poison-system-directories was given.
-+if test "${enable_poison_system_directories+set}" = set; then :
-+ enableval=$enable_poison_system_directories;
-+else
-+ enable_poison_system_directories=no
-+fi
-+
-+if test "x${enable_poison_system_directories}" = "xyes"; then
-+
-+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
-+
-+fi
-+
- # Check whether --enable-got was given.
- if test "${enable_got+set}" = set; then :
- enableval=$enable_got; case "${enableval}" in
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/110-arm-eabi-conf.patch b/meta/recipes-devtools/binutils/binutils-2.21/110-arm-eabi-conf.patch
index 2623301da..2623301da 100644
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/110-arm-eabi-conf.patch
+++ b/meta/recipes-devtools/binutils/binutils-2.21/110-arm-eabi-conf.patch
diff --git a/meta/recipes-devtools/binutils/binutils-2.21/binutils-2.19.1-ld-sysroot.patch b/meta/recipes-devtools/binutils/binutils-2.21/binutils-2.19.1-ld-sysroot.patch
new file mode 100644
index 000000000..adcabb4f6
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils-2.21/binutils-2.19.1-ld-sysroot.patch
@@ -0,0 +1,37 @@
+http://sourceware.org/bugzilla/show_bug.cgi?id=10340
+
+Signed-off-by: Sven Rebhan <odinshorse@googlemail.com>
+
+Always try to prepend the sysroot prefix to absolute filenames first.
+
+Index: binutils-2.21/ld/ldfile.c
+===================================================================
+--- binutils-2.21.orig/ld/ldfile.c
++++ binutils-2.21/ld/ldfile.c
+@@ -372,18 +372,24 @@ ldfile_open_file_search (const char *arc
+ directory first. */
+ if (! entry->is_archive)
+ {
+- if (entry->sysrooted && IS_ABSOLUTE_PATH (entry->filename))
++ /* For absolute pathnames, try to always open the file in the
++ sysroot first. If this fails, try to open the file at the
++ given location. */
++ entry->sysrooted = is_sysrooted_pathname(entry->filename, FALSE);
++ if (IS_ABSOLUTE_PATH (entry->filename) && ld_sysroot && ! entry->sysrooted)
+ {
+ char *name = concat (ld_sysroot, entry->filename,
+ (const char *) NULL);
+ if (ldfile_try_open_bfd (name, entry))
+ {
+ entry->filename = name;
++ entry->sysrooted = TRUE;
+ return TRUE;
+ }
+ free (name);
+ }
+- else if (ldfile_try_open_bfd (entry->filename, entry))
++
++ if (ldfile_try_open_bfd (entry->filename, entry))
+ {
+ entry->sysrooted = IS_ABSOLUTE_PATH (entry->filename)
+ && is_sysrooted_pathname (entry->filename, TRUE);
diff --git a/meta/recipes-devtools/binutils/binutils-2.21/binutils-poison.patch b/meta/recipes-devtools/binutils/binutils-2.21/binutils-poison.patch
new file mode 100644
index 000000000..1fe713af8
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils-2.21/binutils-poison.patch
@@ -0,0 +1,245 @@
+Patch originally created by Mark Hatle, forward-ported to
+binutils 2.21 by Scott Garman.
+
+purpose: warn for uses of system directories when cross linking
+
+Code Merged from Sourcery G++ binutils 2.19 - 4.4-277
+
+2008-07-02 Joseph Myers <joseph@codesourcery.com>
+
+ ld/
+ * ld.h (args_type): Add error_poison_system_directories.
+ * ld.texinfo (--error-poison-system-directories): Document.
+ * ldfile.c (ldfile_add_library_path): Check
+ command_line.error_poison_system_directories.
+ * ldmain.c (main): Initialize
+ command_line.error_poison_system_directories.
+ * lexsup.c (enum option_values): Add
+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES.
+ (ld_options): Add --error-poison-system-directories.
+ (parse_args): Handle new option.
+
+2007-06-13 Joseph Myers <joseph@codesourcery.com>
+
+ ld/
+ * config.in: Regenerate.
+ * ld.h (args_type): Add poison_system_directories.
+ * ld.texinfo (--no-poison-system-directories): Document.
+ * ldfile.c (ldfile_add_library_path): Check
+ command_line.poison_system_directories.
+ * ldmain.c (main): Initialize
+ command_line.poison_system_directories.
+ * lexsup.c (enum option_values): Add
+ OPTION_NO_POISON_SYSTEM_DIRECTORIES.
+ (ld_options): Add --no-poison-system-directories.
+ (parse_args): Handle new option.
+
+2007-04-20 Joseph Myers <joseph@codesourcery.com>
+
+ Merge from Sourcery G++ binutils 2.17:
+
+ 2007-03-20 Joseph Myers <joseph@codesourcery.com>
+ Based on patch by Mark Hatle <mark.hatle@windriver.com>.
+ ld/
+ * configure.in (--enable-poison-system-directories): New option.
+ * configure, config.in: Regenerate.
+ * ldfile.c (ldfile_add_library_path): If
+ ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib,
+ /usr/lib, /usr/local/lib or /usr/X11R6/lib.
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+
+diff -urN binutils-2.21.orig//ld/config.in binutils-2.21/ld/config.in
+--- binutils-2.21.orig//ld/config.in 2010-11-05 03:34:27.000000000 -0700
++++ binutils-2.21/ld/config.in 2011-01-19 10:48:15.147301022 -0800
+@@ -4,6 +4,9 @@
+ language is requested. */
+ #undef ENABLE_NLS
+
++/* Define to warn for use of native system library directories */
++#undef ENABLE_POISON_SYSTEM_DIRECTORIES
++
+ /* Additional extension a shared object might have. */
+ #undef EXTRA_SHLIB_EXTENSION
+
+diff -urN binutils-2.21.orig//ld/configure binutils-2.21/ld/configure
+--- binutils-2.21.orig//ld/configure 2011-01-19 10:46:46.997571921 -0800
++++ binutils-2.21/ld/configure 2011-01-19 11:03:50.577832729 -0800
+@@ -768,6 +768,7 @@
+ enable_targets
+ enable_64_bit_bfd
+ with_sysroot
++enable_poison_system_directories
+ enable_gold
+ enable_got
+ enable_werror
+@@ -1418,6 +1419,8 @@
+ (and sometimes confusing) to the casual installer
+ --enable-targets alternative target configurations
+ --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)
++ --enable-poison-system-directories
++ warn for use of native system library directories
+ --enable-gold[=ARG] build gold [ARG={default,yes,no}]
+ --enable-got=<type> GOT handling scheme (target, single, negative,
+ multigot)
+@@ -4203,7 +4206,18 @@
+ fi
+
+
++# Check whether --enable-poison-system-directories was given.
++if test "${enable_poison_system_directories+set}" = set; then :
++ enableval=$enable_poison_system_directories;
++else
++ enable_poison_system_directories=no
++fi
++
++if test "x${enable_poison_system_directories}" = "xyes"; then
+
++$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
++
++fi
+
+ # Check whether --enable-got was given.
+ if test "${enable_got+set}" = set; then :
+diff -urN binutils-2.21.orig//ld/configure.in binutils-2.21/ld/configure.in
+--- binutils-2.21.orig//ld/configure.in 2010-11-23 05:50:32.000000000 -0800
++++ binutils-2.21/ld/configure.in 2011-01-19 10:50:57.378398946 -0800
+@@ -69,6 +69,16 @@
+ AC_SUBST(TARGET_SYSTEM_ROOT)
+ AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
+
++AC_ARG_ENABLE([poison-system-directories],
++ AS_HELP_STRING([--enable-poison-system-directories],
++ [warn for use of native system library directories]),,
++ [enable_poison_system_directories=no])
++if test "x${enable_poison_system_directories}" = "xyes"; then
++ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
++ [1],
++ [Define to warn for use of native system library directories])
++fi
++
+ dnl Use --enable-gold to decide if this linker should be the default.
+ dnl "install_as_default" is set to false if gold is the default linker.
+ dnl "installed_linker" is the installed BFD linker name.
+diff -urN binutils-2.21.orig//ld/ldfile.c binutils-2.21/ld/ldfile.c
+--- binutils-2.21.orig//ld/ldfile.c 2011-01-19 10:46:47.157553281 -0800
++++ binutils-2.21/ld/ldfile.c 2011-01-19 10:58:30.035468447 -0800
+@@ -124,6 +124,23 @@
+ {
+ new_dirs->name = xstrdup (name);
+ new_dirs->sysrooted = is_sysrooted_pathname (name, FALSE);
++
++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
++ if (command_line.poison_system_directories
++ && ((!strncmp (name, "/lib", 4))
++ || (!strncmp (name, "/usr/lib", 8))
++ || (!strncmp (name, "/usr/local/lib", 14))
++ || (!strncmp (name, "/usr/X11R6/lib", 14))))
++ {
++ if (command_line.error_poison_system_directories)
++ einfo (_("%X%P: error: library search path \"%s\" is unsafe for "
++ "cross-compilation\n"), name);
++ else
++ einfo (_("%P: warning: library search path \"%s\" is unsafe for "
++ "cross-compilation\n"), name);
++ }
++#endif
++
+ }
+ }
+
+diff -urN binutils-2.21.orig//ld/ld.h binutils-2.21/ld/ld.h
+--- binutils-2.21.orig//ld/ld.h 2009-11-26 05:45:25.000000000 -0800
++++ binutils-2.21/ld/ld.h 2011-01-19 10:52:54.814716478 -0800
+@@ -198,6 +198,14 @@
+ input files. */
+ bfd_boolean accept_unknown_input_arch;
+
++ /* If TRUE (the default) warn for uses of system directories when
++ cross linking. */
++ bfd_boolean poison_system_directories;
++
++ /* If TRUE (default FALSE) give an error for uses of system
++ directories when cross linking instead of a warning. */
++ bfd_boolean error_poison_system_directories;
++
+ /* Big or little endian as set on command line. */
+ enum endian_enum endian;
+
+diff -urN binutils-2.21.orig//ld/ldmain.c binutils-2.21/ld/ldmain.c
+--- binutils-2.21.orig//ld/ldmain.c 2010-11-05 00:20:07.000000000 -0700
++++ binutils-2.21/ld/ldmain.c 2011-01-19 10:59:18.579767697 -0800
+@@ -259,6 +259,8 @@
+ command_line.warn_search_mismatch = TRUE;
+ command_line.check_section_addresses = -1;
+ command_line.disable_target_specific_optimizations = -1;
++ command_line.poison_system_directories = TRUE;
++ command_line.error_poison_system_directories = FALSE;
+
+ /* We initialize DEMANGLING based on the environment variable
+ COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the
+diff -urN binutils-2.21.orig//ld/ld.texinfo binutils-2.21/ld/ld.texinfo
+--- binutils-2.21.orig//ld/ld.texinfo 2010-10-28 04:40:26.000000000 -0700
++++ binutils-2.21/ld/ld.texinfo 2011-01-19 10:56:04.452567113 -0800
+@@ -2133,6 +2133,18 @@
+
+ Passing @code{none} for @var{style} disables the setting from any
+ @code{--build-id} options earlier on the command line.
++
++@kindex --no-poison-system-directories
++@item --no-poison-system-directories
++Do not warn for @option{-L} options using system directories such as
++@file{/usr/lib} when cross linking. This option is intended for use
++in chroot environments when such directories contain the correct
++libraries for the target system rather than the host.
++
++@kindex --error-poison-system-directories
++@item --error-poison-system-directories
++Give an error instead of a warning for @option{-L} options using
++system directories when cross linking.
+ @end table
+
+ @c man end
+diff -urN binutils-2.21.orig//ld/lexsup.c binutils-2.21/ld/lexsup.c
+--- binutils-2.21.orig//ld/lexsup.c 2010-10-27 23:45:33.000000000 -0700
++++ binutils-2.21/ld/lexsup.c 2011-01-19 11:02:07.799898432 -0800
+@@ -175,6 +175,8 @@
+ OPTION_PLUGIN_OPT,
+ #endif /* ENABLE_PLUGINS */
+ OPTION_DEFAULT_SCRIPT,
++ OPTION_NO_POISON_SYSTEM_DIRECTORIES,
++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES
+ };
+
+ /* The long options. This structure is used for both the option
+@@ -603,6 +605,14 @@
+ TWO_DASHES },
+ { {"wrap", required_argument, NULL, OPTION_WRAP},
+ '\0', N_("SYMBOL"), N_("Use wrapper functions for SYMBOL"), TWO_DASHES },
++ { {"no-poison-system-directories", no_argument, NULL,
++ OPTION_NO_POISON_SYSTEM_DIRECTORIES},
++ '\0', NULL, N_("Do not warn for -L options using system directories"),
++ TWO_DASHES },
++ { {"error-poison-system-directories", no_argument, NULL,
++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES},
++ '\0', NULL, N_("Give an error for -L options using system directories"),
++ TWO_DASHES },
+ };
+
+ #define OPTION_COUNT ARRAY_SIZE (ld_options)
+@@ -1518,6 +1528,14 @@
+ einfo (_("%P%X: --hash-size needs a numeric argument\n"));
+ }
+ break;
++
++ case OPTION_NO_POISON_SYSTEM_DIRECTORIES:
++ command_line.poison_system_directories = FALSE;
++ break;
++
++ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES:
++ command_line.error_poison_system_directories = TRUE;
++ break;
+ }
+ }
+
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-100-uclibc-conf.patch b/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-100-uclibc-conf.patch
index 8de04e0fe..8de04e0fe 100644
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-100-uclibc-conf.patch
+++ b/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-100-uclibc-conf.patch
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-001_ld_makefile_patch.patch b/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-300-001_ld_makefile_patch.patch
index 04a7e61e2..04a7e61e2 100644
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-001_ld_makefile_patch.patch
+++ b/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-300-001_ld_makefile_patch.patch
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-006_better_file_error.patch b/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-300-006_better_file_error.patch
index f337611ed..f337611ed 100644
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-006_better_file_error.patch
+++ b/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-300-006_better_file_error.patch
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-012_check_ldrunpath_length.patch b/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-300-012_check_ldrunpath_length.patch
index 498651a90..b6f5a25ce 100644
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-300-012_check_ldrunpath_length.patch
+++ b/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-300-012_check_ldrunpath_length.patch
@@ -24,10 +24,11 @@ esac
exit 0
@DPATCH@
-diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
---- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100
-+++ binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100
-@@ -692,6 +692,8 @@
+Index: src/ld/emultempl/elf32.em
+===================================================================
+--- src.orig/ld/emultempl/elf32.em 2009-09-23 06:54:28.000000000 -0700
++++ src/ld/emultempl/elf32.em 2009-10-06 10:58:16.883414592 -0700
+@@ -1237,6 +1237,8 @@ fragment <<EOF
&& command_line.rpath == NULL)
{
lib_path = (const char *) getenv ("LD_RUN_PATH");
@@ -36,12 +37,12 @@ diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/
if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
force))
break;
-@@ -871,6 +873,8 @@
+@@ -1463,6 +1465,8 @@ gld${EMULATION_NAME}_before_allocation (
rpath = command_line.rpath;
if (rpath == NULL)
rpath = (const char *) getenv ("LD_RUN_PATH");
+ if ((rpath) && (strlen (rpath) == 0))
-+ rpath = NULL;
- if (! (bfd_elf_size_dynamic_sections
- (output_bfd, command_line.soname, rpath,
- command_line.filter_shlib,
++ rpath = NULL;
+
+ for (abfd = link_info.input_bfds; abfd; abfd = abfd->link_next)
+ {
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-gas-needs-libm.patch b/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-gas-needs-libm.patch
index db838cf20..db838cf20 100644
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-uclibc-gas-needs-libm.patch
+++ b/meta/recipes-devtools/binutils/binutils-2.21/binutils-uclibc-gas-needs-libm.patch
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-x86_64_i386_biarch.patch b/meta/recipes-devtools/binutils/binutils-2.21/binutils-x86_64_i386_biarch.patch
index 4cd9e2243..4cd9e2243 100644
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/binutils-x86_64_i386_biarch.patch
+++ b/meta/recipes-devtools/binutils/binutils-2.21/binutils-x86_64_i386_biarch.patch
diff --git a/meta/recipes-devtools/binutils/binutils-2.20.1/libiberty_path_fix.patch b/meta/recipes-devtools/binutils/binutils-2.21/libiberty_path_fix.patch
index 36a14d7a1..36a14d7a1 100644
--- a/meta/recipes-devtools/binutils/binutils-2.20.1/libiberty_path_fix.patch
+++ b/meta/recipes-devtools/binutils/binutils-2.21/libiberty_path_fix.patch
diff --git a/meta/recipes-devtools/binutils/binutils-2.21/libtool-2.4-update.patch b/meta/recipes-devtools/binutils/binutils-2.21/libtool-2.4-update.patch
new file mode 100644
index 000000000..52c4928c8
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils-2.21/libtool-2.4-update.patch
@@ -0,0 +1,18719 @@
+Index: binutils-2.21/libtool.m4
+===================================================================
+--- binutils-2.21.orig/libtool.m4 2010-01-09 13:11:31.000000000 -0800
++++ binutils-2.21/libtool.m4 2011-01-07 10:49:16.396101000 -0800
+@@ -1,7 +1,8 @@
+ # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+ #
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+-# 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
++# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
++# Inc.
+ # Written by Gordon Matzigkeit, 1996
+ #
+ # This file is free software; the Free Software Foundation gives
+@@ -10,7 +11,8 @@
+
+ m4_define([_LT_COPYING], [dnl
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+-# 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
++# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
++# Inc.
+ # Written by Gordon Matzigkeit, 1996
+ #
+ # This file is part of GNU Libtool.
+@@ -37,7 +39,7 @@
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ ])
+
+-# serial 56 LT_INIT
++# serial 57 LT_INIT
+
+
+ # LT_PREREQ(VERSION)
+@@ -92,7 +94,8 @@
+ LIBTOOL_DEPS="$ltmain"
+
+ # Always use our own libtool.
+-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
++LIBTOOL='$(SHELL) $(top_builddir)'
++LIBTOOL="$LIBTOOL/${host_alias}-libtool"
+ AC_SUBST(LIBTOOL)dnl
+
+ _LT_SETUP
+@@ -166,10 +169,13 @@
+ dnl
+ m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+ m4_require([_LT_CHECK_SHELL_FEATURES])dnl
++m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
+ m4_require([_LT_CMD_RELOAD])dnl
+ m4_require([_LT_CHECK_MAGIC_METHOD])dnl
++m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
+ m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+ m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
++m4_require([_LT_WITH_SYSROOT])dnl
+
+ _LT_CONFIG_LIBTOOL_INIT([
+ # See if we are running on zsh, and set the options which allow our
+@@ -199,7 +205,7 @@
+ esac
+
+ # Global variables:
+-ofile=libtool
++ofile=${host_alias}-libtool
+ can_build_shared=yes
+
+ # All known linkers require a `.a' archive for static linking (except MSVC,
+@@ -632,7 +638,7 @@
+ m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+ configured by $[0], generated by m4_PACKAGE_STRING.
+
+-Copyright (C) 2009 Free Software Foundation, Inc.
++Copyright (C) 2010 Free Software Foundation, Inc.
+ This config.lt script is free software; the Free Software Foundation
+ gives unlimited permision to copy, distribute and modify it."
+
+@@ -746,15 +752,12 @@
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
++ sed '$q' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
+
+- _LT_PROG_XSI_SHELLFNS
++ _LT_PROG_REPLACE_SHELLFNS
+
+- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+-
+- mv -f "$cfgfile" "$ofile" ||
++ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+ ],
+@@ -980,6 +983,8 @@
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
+ echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+ $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
++ echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
++ $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
+ cat > conftest.c << _LT_EOF
+ int main() { return 0;}
+ _LT_EOF
+@@ -1069,30 +1074,41 @@
+ fi
+ ])
+
+-# _LT_SYS_MODULE_PATH_AIX
+-# -----------------------
++# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
++# ----------------------------------
+ # Links a minimal program and checks the executable
+ # for the system default hardcoded library path. In most cases,
+ # this is /usr/lib:/lib, but when the MPI compilers are used
+ # the location of the communication and MPI libs are included too.
+ # If we don't find anything, use the default library path according
+ # to the aix ld manual.
++# Store the results from the different compilers for each TAGNAME.
++# Allow to override them for all tags through lt_cv_aix_libpath.
+ m4_defun([_LT_SYS_MODULE_PATH_AIX],
+ [m4_require([_LT_DECL_SED])dnl
+-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi],[])
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
++ [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
++ lt_aix_libpath_sed='[
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }]'
++ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
++ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi],[])
++ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
++ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
++ fi
++ ])
++ aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
++fi
+ ])# _LT_SYS_MODULE_PATH_AIX
+
+
+@@ -1117,7 +1133,7 @@
+
+ AC_MSG_CHECKING([how to print strings])
+ # Test print first, because it will be a builtin if present.
+-if test "X`print -r -- -n 2>/dev/null`" = X-n && \
++if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+ elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+@@ -1161,6 +1177,39 @@
+ ])# _LT_PROG_ECHO_BACKSLASH
+
+
++# _LT_WITH_SYSROOT
++# ----------------
++AC_DEFUN([_LT_WITH_SYSROOT],
++[AC_MSG_CHECKING([for sysroot])
++AC_ARG_WITH([libtool-sysroot],
++[ --with-libtool-sysroot[=DIR] Search for dependent libraries within DIR
++ (or the compiler's sysroot if not specified).],
++[], [with_libtool_sysroot=no])
++
++dnl lt_sysroot will always be passed unquoted. We quote it here
++dnl in case the user passed a directory name.
++lt_sysroot=
++case ${with_libtool_sysroot} in #(
++ yes)
++ if test "$GCC" = yes; then
++ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
++ fi
++ ;; #(
++ /*)
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
++ ;; #(
++ no|'')
++ ;; #(
++ *)
++ AC_MSG_RESULT([${with_libtool_sysroot}])
++ AC_MSG_ERROR([The sysroot must be an absolute path.])
++ ;;
++esac
++
++ AC_MSG_RESULT([${lt_sysroot:-no}])
++_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
++[dependent libraries, and in which our libraries should be installed.])])
++
+ # _LT_ENABLE_LOCK
+ # ---------------
+ m4_defun([_LT_ENABLE_LOCK],
+@@ -1307,14 +1356,47 @@
+ ])# _LT_ENABLE_LOCK
+
+
++# _LT_PROG_AR
++# -----------
++m4_defun([_LT_PROG_AR],
++[AC_CHECK_TOOLS(AR, [ar], false)
++: ${AR=ar}
++: ${AR_FLAGS=cru}
++_LT_DECL([], [AR], [1], [The archiver])
++_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
++
++AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
++ [lt_cv_ar_at_file=no
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
++ [echo conftest.$ac_objext > conftest.lst
++ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
++ AC_TRY_EVAL([lt_ar_try])
++ if test "$ac_status" -eq 0; then
++ # Ensure the archiver fails upon bogus file names.
++ rm -f conftest.$ac_objext libconftest.a
++ AC_TRY_EVAL([lt_ar_try])
++ if test "$ac_status" -ne 0; then
++ lt_cv_ar_at_file=@
++ fi
++ fi
++ rm -f conftest.* libconftest.a
++ ])
++ ])
++
++if test "x$lt_cv_ar_at_file" = xno; then
++ archiver_list_spec=
++else
++ archiver_list_spec=$lt_cv_ar_at_file
++fi
++_LT_DECL([], [archiver_list_spec], [1],
++ [How to feed a file listing to the archiver])
++])# _LT_PROG_AR
++
++
+ # _LT_CMD_OLD_ARCHIVE
+ # -------------------
+ m4_defun([_LT_CMD_OLD_ARCHIVE],
+-[AC_CHECK_TOOL(AR, ar, false)
+-test -z "$AR" && AR=ar
+-test -z "$AR_FLAGS" && AR_FLAGS=cru
+-_LT_DECL([], [AR], [1], [The archiver])
+-_LT_DECL([], [AR_FLAGS], [1])
++[_LT_PROG_AR
+
+ AC_CHECK_TOOL(STRIP, strip, :)
+ test -z "$STRIP" && STRIP=:
+@@ -1610,7 +1692,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-[#line __oline__ "configure"
++[#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -1654,10 +1736,10 @@
+ /* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+-void fnord () __attribute__((visibility("default")));
++int fnord () __attribute__((visibility("default")));
+ #endif
+
+-void fnord () { int i=42; }
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -2197,8 +2279,9 @@
+ need_version=no
+ need_lib_prefix=no
+
+- case $GCC,$host_os in
+- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
++ case $GCC,$cc_basename in
++ yes,*)
++ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+@@ -2231,13 +2314,71 @@
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
++ dynamic_linker='Win32 ld.exe'
++ ;;
++
++ *,cl*)
++ # Native MSVC
++ libname_spec='$name'
++ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
++ library_names_spec='${libname}.dll.lib'
++
++ case $build_os in
++ mingw*)
++ sys_lib_search_path_spec=
++ lt_save_ifs=$IFS
++ IFS=';'
++ for lt_path in $LIB
++ do
++ IFS=$lt_save_ifs
++ # Let DOS variable expansion print the short 8.3 style file name.
++ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
++ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
++ done
++ IFS=$lt_save_ifs
++ # Convert to MSYS style.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
++ ;;
++ cygwin*)
++ # Convert to unix form, then to dos form, then back to unix form
++ # but this time dos style (no spaces!) so that the unix form looks
++ # like /cygdrive/c/PROGRA~1:/cygdr...
++ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
++ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
++ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ ;;
++ *)
++ sys_lib_search_path_spec="$LIB"
++ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
++ # It is most probably a Windows format PATH.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ # FIXME: find the short name or the path components, as spaces are
++ # common. (e.g. "Program Files" -> "PROGRA~1")
++ ;;
++ esac
++
++ # DLL is installed to $(libdir)/../bin by postinstall_cmds
++ postinstall_cmds='base_file=`basename \${file}`~
++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
++ dldir=$destdir/`dirname \$dlpath`~
++ test -d \$dldir || mkdir -p \$dldir~
++ $install_prog $dir/$dlname \$dldir/$dlname'
++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++ dlpath=$dir/\$dldll~
++ $RM \$dlpath'
++ shlibpath_overrides_runpath=yes
++ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
++ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
++ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+- dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+@@ -2333,7 +2474,7 @@
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
++ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+@@ -2941,6 +3082,11 @@
+ esac
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ case $host_os in
++ cygwin* | mingw* | pw32* | cegcc*)
++ if test "$GCC" != yes; then
++ reload_cmds=false
++ fi
++ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+@@ -3007,7 +3153,8 @@
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
++ # Keep this pattern in sync with the one in func_win32_libid.
++ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+@@ -3158,6 +3305,21 @@
+ ;;
+ esac
+ ])
++
++file_magic_glob=
++want_nocaseglob=no
++if test "$build" = "$host"; then
++ case $host_os in
++ mingw* | pw32*)
++ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
++ want_nocaseglob=yes
++ else
++ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
++ fi
++ ;;
++ esac
++fi
++
+ file_magic_cmd=$lt_cv_file_magic_cmd
+ deplibs_check_method=$lt_cv_deplibs_check_method
+ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -3165,7 +3327,11 @@
+ _LT_DECL([], [deplibs_check_method], [1],
+ [Method to check whether dependent libraries are shared objects])
+ _LT_DECL([], [file_magic_cmd], [1],
+- [Command to use when deplibs_check_method == "file_magic"])
++ [Command to use when deplibs_check_method = "file_magic"])
++_LT_DECL([], [file_magic_glob], [1],
++ [How to find potential files when deplibs_check_method = "file_magic"])
++_LT_DECL([], [want_nocaseglob], [1],
++ [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
+ ])# _LT_CHECK_MAGIC_METHOD
+
+
+@@ -3268,6 +3434,67 @@
+ dnl AC_DEFUN([AM_PROG_NM], [])
+ dnl AC_DEFUN([AC_PROG_NM], [])
+
++# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
++# --------------------------------
++# how to determine the name of the shared library
++# associated with a specific link library.
++# -- PORTME fill in with the dynamic library characteristics
++m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
++[m4_require([_LT_DECL_EGREP])
++m4_require([_LT_DECL_OBJDUMP])
++m4_require([_LT_DECL_DLLTOOL])
++AC_CACHE_CHECK([how to associate runtime and link libraries],
++lt_cv_sharedlib_from_linklib_cmd,
++[lt_cv_sharedlib_from_linklib_cmd='unknown'
++
++case $host_os in
++cygwin* | mingw* | pw32* | cegcc*)
++ # two different shell functions defined in ltmain.sh
++ # decide which to use based on capabilities of $DLLTOOL
++ case `$DLLTOOL --help 2>&1` in
++ *--identify-strict*)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
++ ;;
++ *)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
++ ;;
++ esac
++ ;;
++*)
++ # fallback: assume linklib IS sharedlib
++ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
++ ;;
++esac
++])
++sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
++test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
++
++_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
++ [Command to associate shared and link libraries])
++])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
++
++
++# _LT_PATH_MANIFEST_TOOL
++# ----------------------
++# locate the manifest tool
++m4_defun([_LT_PATH_MANIFEST_TOOL],
++[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
++test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
++AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
++ [lt_cv_path_mainfest_tool=no
++ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
++ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
++ cat conftest.err >&AS_MESSAGE_LOG_FD
++ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
++ lt_cv_path_mainfest_tool=yes
++ fi
++ rm -f conftest*])
++if test "x$lt_cv_path_mainfest_tool" != xyes; then
++ MANIFEST_TOOL=:
++fi
++_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
++])# _LT_PATH_MANIFEST_TOOL
++
+
+ # LT_LIB_M
+ # --------
+@@ -3394,8 +3621,8 @@
+ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+ # Transform an extracted symbol line into symbol name and symbol address
+-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
+-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+ # Handle CRLF in mingw tool chain
+ opt_cr=
+@@ -3431,6 +3658,7 @@
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
++ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+@@ -3464,6 +3692,18 @@
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
++/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
++#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
++/* DATA imports from DLLs on WIN32 con't be const, because runtime
++ relocations are performed -- see ld's documentation on pseudo-relocs. */
++# define LT@&t@_DLSYM_CONST
++#elif defined(__osf__)
++/* This system does not cope well with relocations in const data. */
++# define LT@&t@_DLSYM_CONST
++#else
++# define LT@&t@_DLSYM_CONST const
++#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -3475,7 +3715,7 @@
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+ /* The mapping between symbol names and symbols. */
+-const struct {
++LT@&t@_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+ }
+@@ -3501,15 +3741,15 @@
+ _LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+- lt_save_LIBS="$LIBS"
+- lt_save_CFLAGS="$CFLAGS"
++ lt_globsym_save_LIBS=$LIBS
++ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+- LIBS="$lt_save_LIBS"
+- CFLAGS="$lt_save_CFLAGS"
++ LIBS=$lt_globsym_save_LIBS
++ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+@@ -3542,6 +3782,13 @@
+ AC_MSG_RESULT(ok)
+ fi
+
++# Response file support.
++if test "$lt_cv_nm_interface" = "MS dumpbin"; then
++ nm_file_list_spec='@'
++elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
++ nm_file_list_spec='@'
++fi
++
+ _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+ [Take the output of nm and produce a listing of raw symbols and C names])
+ _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+@@ -3552,6 +3799,8 @@
+ _LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+ [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+ [Transform the output of nm in a C name address pair when lib prefix is needed])
++_LT_DECL([], [nm_file_list_spec], [1],
++ [Specify filename containing input files for $NM])
+ ]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+@@ -3563,7 +3812,6 @@
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+-AC_MSG_CHECKING([for $compiler option to produce PIC])
+ m4_if([$1], [CXX], [
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+@@ -3668,6 +3916,12 @@
+ ;;
+ esac
+ ;;
++ mingw* | cygwin* | os2* | pw32* | cegcc*)
++ # This hack is so that the source file can tell whether it is being
++ # built for inclusion in a dll (and should export symbols for example).
++ m4_if([$1], [GCJ], [],
++ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
++ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+@@ -3820,7 +4074,7 @@
+ ;;
+ solaris*)
+ case $cc_basename in
+- CC*)
++ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+@@ -4042,6 +4296,12 @@
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+ ;;
++ nagfor*)
++ # NAG Fortran compiler
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+@@ -4104,7 +4364,7 @@
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ case $cc_basename in
+- f77* | f90* | f95*)
++ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+@@ -4161,9 +4421,11 @@
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+ ;;
+ esac
+-AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+-_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+- [How to pass a linker flag through the compiler])
++
++AC_CACHE_CHECK([for $compiler option to produce PIC],
++ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
++ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
++_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
+
+ #
+ # Check to make sure the PIC flag actually works.
+@@ -4182,6 +4444,8 @@
+ _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+ [Additional compiler flags for building library objects])
+
++_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
++ [How to pass a linker flag through the compiler])
+ #
+ # Check to make sure the static flag actually works.
+ #
+@@ -4202,6 +4466,7 @@
+ m4_defun([_LT_LINKER_SHLIBS],
+ [AC_REQUIRE([LT_PATH_LD])dnl
+ AC_REQUIRE([LT_PATH_NM])dnl
++m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+ m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+ m4_require([_LT_DECL_EGREP])dnl
+ m4_require([_LT_DECL_SED])dnl
+@@ -4210,6 +4475,7 @@
+ AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ m4_if([$1], [CXX], [
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
++ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ case $host_os in
+ aix[[4-9]]*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+@@ -4224,15 +4490,20 @@
+ ;;
+ pw32*)
+ _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+- ;;
++ ;;
+ cygwin* | mingw* | cegcc*)
+- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+- ;;
++ case $cc_basename in
++ cl*) ;;
++ *)
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
++ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
++ ;;
++ esac
++ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+- ;;
++ ;;
+ esac
+- _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ ], [
+ runpath_var=
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+@@ -4400,7 +4671,8 @@
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
++ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+@@ -4448,7 +4720,7 @@
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+- tmp_addflag=
++ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+@@ -4499,12 +4771,12 @@
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+- _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
++ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
++ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+@@ -4518,8 +4790,8 @@
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+@@ -4537,8 +4809,8 @@
+
+ _LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+@@ -4584,8 +4856,8 @@
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+@@ -4715,7 +4987,7 @@
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- _LT_SYS_MODULE_PATH_AIX
++ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+@@ -4726,7 +4998,7 @@
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- _LT_SYS_MODULE_PATH_AIX
++ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+@@ -4770,20 +5042,63 @@
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+- # Tell ltmain to make .lib files, not .a files.
+- libext=lib
+- # Tell ltmain to make .dll files, not .so files.
+- shrext_cmds=".dll"
+- # FIXME: Setting linknames here is a bad hack.
+- _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+- # The linker will automatically build a .lib file if we build a DLL.
+- _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+- # FIXME: Should let the user specify the lib program.
+- _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+- _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
+- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
++ case $cc_basename in
++ cl*)
++ # Native MSVC
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
++ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++ _LT_TAGVAR(always_export_symbols, $1)=yes
++ _LT_TAGVAR(file_list_spec, $1)='@'
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
++ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
++ else
++ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
++ fi~
++ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
++ linknames='
++ # The linker will not automatically build a static lib if we build a DLL.
++ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
++ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
++ # Don't use ranlib
++ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
++ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
++ lt_tool_outputfile="@TOOL_OUTPUT@"~
++ case $lt_outputfile in
++ *.exe|*.EXE) ;;
++ *)
++ lt_outputfile="$lt_outputfile.exe"
++ lt_tool_outputfile="$lt_tool_outputfile.exe"
++ ;;
++ esac~
++ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
++ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
++ $RM "$lt_outputfile.manifest";
++ fi'
++ ;;
++ *)
++ # Assume MSVC wrapper
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
++ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
++ # The linker will automatically build a .lib file if we build a DLL.
++ _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
++ # FIXME: Should let the user specify the lib program.
++ _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
++ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
++ ;;
++ esac
+ ;;
+
+ darwin* | rhapsody*)
+@@ -4821,7 +5136,7 @@
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+@@ -4829,7 +5144,7 @@
+
+ hpux9*)
+ if test "$GCC" = yes; then
+- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+@@ -4845,7 +5160,7 @@
+
+ hpux10*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+@@ -4869,10 +5184,10 @@
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+@@ -4919,16 +5234,31 @@
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+- save_LDFLAGS="$LDFLAGS"
+- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+- AC_LINK_IFELSE(int foo(void) {},
+- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+- )
+- LDFLAGS="$save_LDFLAGS"
++ # This should be the same for all languages, so no per-tag cache variable.
++ AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
++ [lt_cv_irix_exported_symbol],
++ [save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
++ AC_LINK_IFELSE(
++ [AC_LANG_SOURCE(
++ [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
++ [C++], [[int foo (void) { return 0; }]],
++ [Fortran 77], [[
++ subroutine foo
++ end]],
++ [Fortran], [[
++ subroutine foo
++ end]])])],
++ [lt_cv_irix_exported_symbol=yes],
++ [lt_cv_irix_exported_symbol=no])
++ LDFLAGS="$save_LDFLAGS"])
++ if test "$lt_cv_irix_exported_symbol" = yes; then
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
++ fi
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+@@ -5013,7 +5343,7 @@
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+@@ -5032,9 +5362,9 @@
+ _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+@@ -5306,8 +5636,6 @@
+ to runtime path list])
+ _LT_TAGDECL([], [link_all_deplibs], [0],
+ [Whether libtool must link a program against all its dependency libraries])
+-_LT_TAGDECL([], [fix_srcfile_path], [1],
+- [Fix the shell variable $srcfile for the compiler])
+ _LT_TAGDECL([], [always_export_symbols], [0],
+ [Set to "yes" if exported symbols are required])
+ _LT_TAGDECL([], [export_symbols_cmds], [2],
+@@ -5318,6 +5646,8 @@
+ [Symbols that must always be exported])
+ _LT_TAGDECL([], [prelink_cmds], [2],
+ [Commands necessary for linking programs (against libraries) with templates])
++_LT_TAGDECL([], [postlink_cmds], [2],
++ [Commands necessary for finishing linking programs])
+ _LT_TAGDECL([], [file_list_spec], [1],
+ [Specify filename containing input files])
+ dnl FIXME: Not yet implemented
+@@ -5419,6 +5749,7 @@
+ m4_defun([_LT_LANG_CXX_CONFIG],
+ [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+ m4_require([_LT_DECL_EGREP])dnl
++m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+ if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+@@ -5480,6 +5811,7 @@
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
++ lt_save_CFLAGS=$CFLAGS
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+@@ -5497,6 +5829,7 @@
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
++ CFLAGS=$CXXFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+@@ -5518,8 +5851,8 @@
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+@@ -5660,7 +5993,7 @@
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+- _LT_SYS_MODULE_PATH_AIX
++ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+@@ -5672,7 +6005,7 @@
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- _LT_SYS_MODULE_PATH_AIX
++ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+@@ -5714,29 +6047,75 @@
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+- # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+- # as there is no search path for DLLs.
+- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+- _LT_TAGVAR(always_export_symbols, $1)=no
+- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+-
+- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+- # If the export-symbols file already is a .def file (1st line
+- # is EXPORTS), use it as is; otherwise, prepend...
+- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+- cp $export_symbols $output_objdir/$soname.def;
+- else
+- echo EXPORTS > $output_objdir/$soname.def;
+- cat $export_symbols >> $output_objdir/$soname.def;
+- fi~
+- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+- else
+- _LT_TAGVAR(ld_shlibs, $1)=no
+- fi
+- ;;
++ case $GXX,$cc_basename in
++ ,cl* | no,cl*)
++ # Native MSVC
++ # hardcode_libdir_flag_spec is actually meaningless, as there is
++ # no search path for DLLs.
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
++ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++ _LT_TAGVAR(always_export_symbols, $1)=yes
++ _LT_TAGVAR(file_list_spec, $1)='@'
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
++ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
++ else
++ $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
++ fi~
++ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
++ linknames='
++ # The linker will not automatically build a static lib if we build a DLL.
++ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
++ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
++ # Don't use ranlib
++ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
++ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
++ lt_tool_outputfile="@TOOL_OUTPUT@"~
++ case $lt_outputfile in
++ *.exe|*.EXE) ;;
++ *)
++ lt_outputfile="$lt_outputfile.exe"
++ lt_tool_outputfile="$lt_tool_outputfile.exe"
++ ;;
++ esac~
++ func_to_tool_file "$lt_outputfile"~
++ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
++ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
++ $RM "$lt_outputfile.manifest";
++ fi'
++ ;;
++ *)
++ # g++
++ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
++ # as there is no search path for DLLs.
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
++ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++ _LT_TAGVAR(always_export_symbols, $1)=no
++ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
++
++ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ # If the export-symbols file already is a .def file (1st line
++ # is EXPORTS), use it as is; otherwise, prepend...
++ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ cp $export_symbols $output_objdir/$soname.def;
++ else
++ echo EXPORTS > $output_objdir/$soname.def;
++ cat $export_symbols >> $output_objdir/$soname.def;
++ fi~
++ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
++ esac
++ ;;
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+@@ -5811,7 +6190,7 @@
+ ;;
+ *)
+ if test "$GXX" = yes; then
+- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+@@ -5882,10 +6261,10 @@
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+@@ -5926,9 +6305,9 @@
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+ fi
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+@@ -5998,20 +6377,20 @@
+ _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+- compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
++ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+ _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
++ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+ $RANLIB $oldlib'
+ _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
++ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
++ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ *) # Version 6 and above use weak symbols
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+@@ -6206,7 +6585,7 @@
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ *)
+- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ esac
+
+@@ -6252,7 +6631,7 @@
+
+ solaris*)
+ case $cc_basename in
+- CC*)
++ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+@@ -6293,9 +6672,9 @@
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
++ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+@@ -6424,6 +6803,7 @@
+ fi # test -n "$compiler"
+
+ CC=$lt_save_CC
++ CFLAGS=$lt_save_CFLAGS
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+@@ -6438,6 +6818,29 @@
+ ])# _LT_LANG_CXX_CONFIG
+
+
++# _LT_FUNC_STRIPNAME_CNF
++# ----------------------
++# func_stripname_cnf prefix suffix name
++# strip PREFIX and SUFFIX off of NAME.
++# PREFIX and SUFFIX must not contain globbing or regex special
++# characters, hashes, percent signs, but SUFFIX may contain a leading
++# dot (in which case that matches only a dot).
++#
++# This function is identical to the (non-XSI) version of func_stripname,
++# except this one can be used by m4 code that may be executed by configure,
++# rather than the libtool script.
++m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
++AC_REQUIRE([_LT_DECL_SED])
++AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
++func_stripname_cnf ()
++{
++ case ${2} in
++ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
++ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
++ esac
++} # func_stripname_cnf
++])# _LT_FUNC_STRIPNAME_CNF
++
+ # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+ # ---------------------------------
+ # Figure out "hidden" library dependencies from verbose
+@@ -6446,6 +6849,7 @@
+ # objects, libraries and library flags.
+ m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+ [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
+ # Dependencies to place before and after the object being linked:
+ _LT_TAGVAR(predep_objects, $1)=
+ _LT_TAGVAR(postdep_objects, $1)=
+@@ -6496,6 +6900,13 @@
+ };
+ _LT_EOF
+ ])
++
++_lt_libdeps_save_CFLAGS=$CFLAGS
++case "$CC $CFLAGS " in #(
++*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
++*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
++esac
++
+ dnl Parse the compiler output and extract the necessary
+ dnl objects, libraries and library flags.
+ if AC_TRY_EVAL(ac_compile); then
+@@ -6507,7 +6918,7 @@
+ pre_test_object_deps_done=no
+
+ for p in `eval "$output_verbose_link_cmd"`; do
+- case $p in
++ case ${prev}${p} in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+@@ -6516,13 +6927,22 @@
+ test $p = "-R"; then
+ prev=$p
+ continue
+- else
+- prev=
+ fi
+
++ # Expand the sysroot to ease extracting the directories later.
++ if test -z "$prev"; then
++ case $p in
++ -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
++ -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
++ -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
++ esac
++ fi
++ case $p in
++ =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
++ esac
+ if test "$pre_test_object_deps_done" = no; then
+- case $p in
+- -L* | -R*)
++ case ${prev} in
++ -L | -R)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+@@ -6542,8 +6962,10 @@
+ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+ fi
+ fi
++ prev=
+ ;;
+
++ *.lto.$objext) ;; # Ignore GCC LTO objects
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+@@ -6579,6 +7001,7 @@
+ fi
+
+ $RM -f confest.$objext
++CFLAGS=$_lt_libdeps_save_CFLAGS
+
+ # PORTME: override above test on systems where it is broken
+ m4_if([$1], [CXX],
+@@ -6615,7 +7038,7 @@
+
+ solaris*)
+ case $cc_basename in
+- CC*)
++ CC* | sunCC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+@@ -6728,7 +7151,9 @@
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
++ lt_save_CFLAGS=$CFLAGS
+ CC=${F77-"f77"}
++ CFLAGS=$FFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+@@ -6782,6 +7207,7 @@
+
+ GCC=$lt_save_GCC
+ CC="$lt_save_CC"
++ CFLAGS="$lt_save_CFLAGS"
+ fi # test "$_lt_disable_F77" != yes
+
+ AC_LANG_POP
+@@ -6858,7 +7284,9 @@
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
++ lt_save_CFLAGS=$CFLAGS
+ CC=${FC-"f95"}
++ CFLAGS=$FCFLAGS
+ compiler=$CC
+ GCC=$ac_cv_fc_compiler_gnu
+
+@@ -6914,7 +7342,8 @@
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+- CC="$lt_save_CC"
++ CC=$lt_save_CC
++ CFLAGS=$lt_save_CFLAGS
+ fi # test "$_lt_disable_FC" != yes
+
+ AC_LANG_POP
+@@ -6951,10 +7380,12 @@
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+-lt_save_CC="$CC"
++lt_save_CC=$CC
++lt_save_CFLAGS=$CFLAGS
+ lt_save_GCC=$GCC
+ GCC=yes
+ CC=${GCJ-"gcj"}
++CFLAGS=$GCJFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_TAGVAR(LD, $1)="$LD"
+@@ -6985,7 +7416,8 @@
+ AC_LANG_RESTORE
+
+ GCC=$lt_save_GCC
+-CC="$lt_save_CC"
++CC=$lt_save_CC
++CFLAGS=$lt_save_CFLAGS
+ ])# _LT_LANG_GCJ_CONFIG
+
+
+@@ -7020,9 +7452,11 @@
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
++lt_save_CFLAGS=$CFLAGS
+ lt_save_GCC=$GCC
+ GCC=
+ CC=${RC-"windres"}
++CFLAGS=
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+@@ -7035,7 +7469,8 @@
+
+ GCC=$lt_save_GCC
+ AC_LANG_RESTORE
+-CC="$lt_save_CC"
++CC=$lt_save_CC
++CFLAGS=$lt_save_CFLAGS
+ ])# _LT_LANG_RC_CONFIG
+
+
+@@ -7094,6 +7529,15 @@
+ AC_SUBST([OBJDUMP])
+ ])
+
++# _LT_DECL_DLLTOOL
++# ----------------
++# Ensure DLLTOOL variable is set.
++m4_defun([_LT_DECL_DLLTOOL],
++[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
++test -z "$DLLTOOL" && DLLTOOL=dlltool
++_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
++AC_SUBST([DLLTOOL])
++])
+
+ # _LT_DECL_SED
+ # ------------
+@@ -7187,8 +7631,8 @@
+ # Try some XSI features
+ xsi_shell=no
+ ( _lt_dummy="a/b/c"
+- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+- = c,a/b,, \
++ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
++ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+@@ -7227,206 +7671,162 @@
+ ])# _LT_CHECK_SHELL_FEATURES
+
+
+-# _LT_PROG_XSI_SHELLFNS
+-# ---------------------
+-# Bourne and XSI compatible variants of some useful shell functions.
+-m4_defun([_LT_PROG_XSI_SHELLFNS],
+-[case $xsi_shell in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_dirname file append nondir_replacement
+-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+-# otherwise set result to NONDIR_REPLACEMENT.
+-func_dirname ()
+-{
+- case ${1} in
+- */*) func_dirname_result="${1%/*}${2}" ;;
+- * ) func_dirname_result="${3}" ;;
+- esac
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result="${1##*/}"
+-}
+-
+-# func_dirname_and_basename file append nondir_replacement
+-# perform func_basename and func_dirname in a single function
+-# call:
+-# dirname: Compute the dirname of FILE. If nonempty,
+-# add APPEND to the result, otherwise set result
+-# to NONDIR_REPLACEMENT.
+-# value returned in "$func_dirname_result"
+-# basename: Compute filename of FILE.
+-# value retuned in "$func_basename_result"
+-# Implementation must be kept synchronized with func_dirname
+-# and func_basename. For efficiency, we do not delegate to
+-# those functions but instead duplicate the functionality here.
+-func_dirname_and_basename ()
+-{
+- case ${1} in
+- */*) func_dirname_result="${1%/*}${2}" ;;
+- * ) func_dirname_result="${3}" ;;
+- esac
+- func_basename_result="${1##*/}"
+-}
+-
+-# func_stripname prefix suffix name
+-# strip PREFIX and SUFFIX off of NAME.
+-# PREFIX and SUFFIX must not contain globbing or regex special
+-# characters, hashes, percent signs, but SUFFIX may contain a leading
+-# dot (in which case that matches only a dot).
+-func_stripname ()
+-{
+- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+- # positional parameters, so assign one to ordinary parameter first.
+- func_stripname_result=${3}
+- func_stripname_result=${func_stripname_result#"${1}"}
+- func_stripname_result=${func_stripname_result%"${2}"}
+-}
+-
+-# func_opt_split
+-func_opt_split ()
+-{
+- func_opt_split_opt=${1%%=*}
+- func_opt_split_arg=${1#*=}
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+- case ${1} in
+- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+- *) func_lo2o_result=${1} ;;
+- esac
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=${1%.*}.lo
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=$(( $[*] ))
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=${#1}
+-}
+-
+-_LT_EOF
+- ;;
+- *) # Bourne compatible functions.
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_dirname file append nondir_replacement
+-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+-# otherwise set result to NONDIR_REPLACEMENT.
+-func_dirname ()
+-{
+- # Extract subdirectory from the argument.
+- func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
+- if test "X$func_dirname_result" = "X${1}"; then
+- func_dirname_result="${3}"
+- else
+- func_dirname_result="$func_dirname_result${2}"
+- fi
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result=`$ECHO "${1}" | $SED "$basename"`
+-}
++# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
++# ------------------------------------------------------
++# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
++# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
++m4_defun([_LT_PROG_FUNCTION_REPLACE],
++[dnl {
++sed -e '/^$1 ()$/,/^} # $1 /c\
++$1 ()\
++{\
++m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
++} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++])
+
+-dnl func_dirname_and_basename
+-dnl A portable version of this function is already defined in general.m4sh
+-dnl so there is no need for it here.
+
+-# func_stripname prefix suffix name
+-# strip PREFIX and SUFFIX off of NAME.
+-# PREFIX and SUFFIX must not contain globbing or regex special
+-# characters, hashes, percent signs, but SUFFIX may contain a leading
+-# dot (in which case that matches only a dot).
+-# func_strip_suffix prefix name
+-func_stripname ()
+-{
+- case ${2} in
+- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+- esac
+-}
++# _LT_PROG_REPLACE_SHELLFNS
++# -------------------------
++# Replace existing portable implementations of several shell functions with
++# equivalent extended shell implementations where those features are available..
++m4_defun([_LT_PROG_REPLACE_SHELLFNS],
++[if test x"$xsi_shell" = xyes; then
++ _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
++ case ${1} in
++ */*) func_dirname_result="${1%/*}${2}" ;;
++ * ) func_dirname_result="${3}" ;;
++ esac])
++
++ _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
++ func_basename_result="${1##*/}"])
++
++ _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
++ case ${1} in
++ */*) func_dirname_result="${1%/*}${2}" ;;
++ * ) func_dirname_result="${3}" ;;
++ esac
++ func_basename_result="${1##*/}"])
+
+-# sed scripts:
+-my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
+-my_sed_long_arg='1s/^-[[^=]]*=//'
++ _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
++ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
++ # positional parameters, so assign one to ordinary parameter first.
++ func_stripname_result=${3}
++ func_stripname_result=${func_stripname_result#"${1}"}
++ func_stripname_result=${func_stripname_result%"${2}"}])
++
++ _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
++ func_split_long_opt_name=${1%%=*}
++ func_split_long_opt_arg=${1#*=}])
++
++ _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
++ func_split_short_opt_arg=${1#??}
++ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
++
++ _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
++ case ${1} in
++ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
++ *) func_lo2o_result=${1} ;;
++ esac])
+
+-# func_opt_split
+-func_opt_split ()
+-{
+- func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
+- func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
+-}
++ _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo])
+
+-# func_lo2o object
+-func_lo2o ()
+-{
+- func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
+-}
++ _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))])
+
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=`$ECHO "${1}" | $SED 's/\.[[^.]]*$/.lo/'`
+-}
++ _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}])
++fi
+
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=`expr "$[@]"`
+-}
++if test x"$lt_shell_append" = xyes; then
++ _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"])
+
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
+-}
++ _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
++ func_quote_for_eval "${2}"
++dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
++ eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
++
++ # Save a `func_append' function call where possible by direct use of '+='
++ sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++else
++ # Save a `func_append' function call even when '+=' is not available
++ sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++fi
+
+-_LT_EOF
+-esac
++if test x"$_lt_function_replace_fail" = x":"; then
++ AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
++fi
++])
+
+-case $lt_shell_append in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+- eval "$[1]+=\$[2]"
+-}
+-_LT_EOF
++# _LT_PATH_CONVERSION_FUNCTIONS
++# -----------------------------
++# Determine which file name conversion functions should be used by
++# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
++# for certain cross-compile configurations and native mingw.
++m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++AC_REQUIRE([AC_CANONICAL_BUILD])dnl
++AC_MSG_CHECKING([how to convert $build file names to $host format])
++AC_CACHE_VAL(lt_cv_to_host_file_cmd,
++[case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
++ ;;
++ esac
+ ;;
+- *)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+- eval "$[1]=\$$[1]\$[2]"
+-}
+-
+-_LT_EOF
++ *-*-cygwin* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
++ ;;
++ esac
+ ;;
+- esac
++ * ) # unhandled hosts (and "normal" native builds)
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++esac
++])
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
++_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
++ [0], [convert $build file names to $host format])dnl
++
++AC_MSG_CHECKING([how to convert $build file names to toolchain format])
++AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
++[#assume ordinary cross tools, or native build.
++lt_cv_to_tool_file_cmd=func_convert_file_noop
++case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ esac
++ ;;
++esac
+ ])
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
++_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
++ [0], [convert $build files to toolchain format])dnl
++])# _LT_PATH_CONVERSION_FUNCTIONS
+Index: binutils-2.21/ltmain.sh
+===================================================================
+--- binutils-2.21.orig/ltmain.sh 2010-01-09 13:11:32.000000000 -0800
++++ binutils-2.21/ltmain.sh 2011-01-07 10:49:16.406101000 -0800
+@@ -1,10 +1,9 @@
+-# Generated from ltmain.m4sh.
+
+-# libtool (GNU libtool 1.3134 2009-11-29) 2.2.7a
++# libtool (GNU libtool) 2.4
+ # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
+-# 2007, 2008, 2009 Free Software Foundation, Inc.
++# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ # This is free software; see the source for copying conditions. There is NO
+ # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+@@ -38,7 +37,6 @@
+ # -n, --dry-run display commands without modifying any files
+ # --features display basic configuration information and exit
+ # --mode=MODE use operation mode MODE
+-# --no-finish let install mode avoid finish commands
+ # --preserve-dup-deps don't remove duplicate dependency libraries
+ # --quiet, --silent don't print informational messages
+ # --no-quiet, --no-silent
+@@ -71,17 +69,19 @@
+ # compiler: $LTCC
+ # compiler flags: $LTCFLAGS
+ # linker: $LD (gnu? $with_gnu_ld)
+-# $progname: (GNU libtool 1.3134 2009-11-29) 2.2.7a
++# $progname: (GNU libtool) 2.4
+ # automake: $automake_version
+ # autoconf: $autoconf_version
+ #
+ # Report bugs to <bug-libtool@gnu.org>.
++# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
++# General help using GNU software: <http://www.gnu.org/gethelp/>.
+
+ PROGRAM=libtool
+ PACKAGE=libtool
+-VERSION=2.2.7a
+-TIMESTAMP=" 1.3134 2009-11-29"
+-package_revision=1.3134
++VERSION=2.4
++TIMESTAMP=""
++package_revision=1.3293
+
+ # Be Bourne compatible
+ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+@@ -106,9 +106,6 @@
+ }
+
+ # NLS nuisances: We save the old values to restore during execute mode.
+-# Only set LANG and LC_ALL to C if already set.
+-# These must not be set unconditionally because not all systems understand
+-# e.g. LANG=C (notably SCO).
+ lt_user_locale=
+ lt_safe_locale=
+ for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+@@ -121,15 +118,13 @@
+ lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
+ fi"
+ done
++LC_ALL=C
++LANGUAGE=C
++export LANGUAGE LC_ALL
+
+ $lt_unset CDPATH
+
+
+-
+-
+-
+-
+-
+ # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+ # is ksh but when the shell is invoked as "sh" and the current value of
+ # the _XPG environment variable is not equal to 1 (one), the special
+@@ -140,7 +135,7 @@
+
+
+ : ${CP="cp -f"}
+-: ${ECHO=$as_echo}
++test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
+ : ${EGREP="/bin/grep -E"}
+ : ${FGREP="/bin/grep -F"}
+ : ${GREP="/bin/grep"}
+@@ -149,7 +144,7 @@
+ : ${MKDIR="mkdir"}
+ : ${MV="mv -f"}
+ : ${RM="rm -f"}
+-: ${SED="/mount/endor/wildenhu/local-x86_64/bin/sed"}
++: ${SED="/bin/sed"}
+ : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+ : ${Xsed="$SED -e 1s/^X//"}
+
+@@ -169,6 +164,27 @@
+ dirname="s,/[^/]*$,,"
+ basename="s,^.*/,,"
+
++# func_dirname file append nondir_replacement
++# Compute the dirname of FILE. If nonempty, add APPEND to the result,
++# otherwise set result to NONDIR_REPLACEMENT.
++func_dirname ()
++{
++ func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
++ if test "X$func_dirname_result" = "X${1}"; then
++ func_dirname_result="${3}"
++ else
++ func_dirname_result="$func_dirname_result${2}"
++ fi
++} # func_dirname may be replaced by extended shell implementation
++
++
++# func_basename file
++func_basename ()
++{
++ func_basename_result=`$ECHO "${1}" | $SED "$basename"`
++} # func_basename may be replaced by extended shell implementation
++
++
+ # func_dirname_and_basename file append nondir_replacement
+ # perform func_basename and func_dirname in a single function
+ # call:
+@@ -183,17 +199,31 @@
+ # those functions but instead duplicate the functionality here.
+ func_dirname_and_basename ()
+ {
+- # Extract subdirectory from the argument.
+- func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
+- if test "X$func_dirname_result" = "X${1}"; then
+- func_dirname_result="${3}"
+- else
+- func_dirname_result="$func_dirname_result${2}"
+- fi
+- func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
+-}
++ # Extract subdirectory from the argument.
++ func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
++ if test "X$func_dirname_result" = "X${1}"; then
++ func_dirname_result="${3}"
++ else
++ func_dirname_result="$func_dirname_result${2}"
++ fi
++ func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
++} # func_dirname_and_basename may be replaced by extended shell implementation
++
++
++# func_stripname prefix suffix name
++# strip PREFIX and SUFFIX off of NAME.
++# PREFIX and SUFFIX must not contain globbing or regex special
++# characters, hashes, percent signs, but SUFFIX may contain a leading
++# dot (in which case that matches only a dot).
++# func_strip_suffix prefix name
++func_stripname ()
++{
++ case ${2} in
++ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
++ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
++ esac
++} # func_stripname may be replaced by extended shell implementation
+
+-# Generated shell functions inserted here.
+
+ # These SED scripts presuppose an absolute path with a trailing slash.
+ pathcar='s,^/\([^/]*\).*$,\1,'
+@@ -376,6 +406,15 @@
+ # Same as above, but do not quote variable references.
+ double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
++# Sed substitution that turns a string into a regex matching for the
++# string literally.
++sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
++
++# Sed substitution that converts a w32 file name or path
++# which contains forward slashes, into one that contains
++# (escaped) backslashes. A very naive implementation.
++lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
++
+ # Re-`\' parameter expansions in output of double_quote_subst that were
+ # `\'-ed in input to the same. If an odd number of `\' preceded a '$'
+ # in input to double_quote_subst, that '$' was protected from expansion.
+@@ -404,7 +443,7 @@
+ # name if it has been set yet.
+ func_echo ()
+ {
+- $ECHO "$progname${mode+: }$mode: $*"
++ $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
+ }
+
+ # func_verbose arg...
+@@ -430,14 +469,14 @@
+ # Echo program name prefixed message to standard error.
+ func_error ()
+ {
+- $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
++ $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
+ }
+
+ # func_warning arg...
+ # Echo program name prefixed warning message to standard error.
+ func_warning ()
+ {
+- $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
++ $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
+
+ # bash bug again:
+ :
+@@ -656,19 +695,35 @@
+ fi
+ }
+
+-
+-
++# func_tr_sh
++# Turn $1 into a string suitable for a shell variable name.
++# Result is stored in $func_tr_sh_result. All characters
++# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
++# if $1 begins with a digit, a '_' is prepended as well.
++func_tr_sh ()
++{
++ case $1 in
++ [0-9]* | *[!a-zA-Z0-9_]*)
++ func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
++ ;;
++ * )
++ func_tr_sh_result=$1
++ ;;
++ esac
++}
+
+
+ # func_version
+ # Echo version message to standard output and exit.
+ func_version ()
+ {
++ $opt_debug
++
+ $SED -n '/(C)/!b go
+ :more
+ /\./!{
+ N
+- s/\n# //
++ s/\n# / /
+ b more
+ }
+ :go
+@@ -685,7 +740,9 @@
+ # Echo short help message to standard output and exit.
+ func_usage ()
+ {
+- $SED -n '/^# Usage:/,/^# *-h/ {
++ $opt_debug
++
++ $SED -n '/^# Usage:/,/^# *.*--help/ {
+ s/^# //
+ s/^# *$//
+ s/\$progname/'$progname'/
+@@ -701,7 +758,10 @@
+ # unless 'noexit' is passed as argument.
+ func_help ()
+ {
++ $opt_debug
++
+ $SED -n '/^# Usage:/,/# Report bugs to/ {
++ :print
+ s/^# //
+ s/^# *$//
+ s*\$progname*'$progname'*
+@@ -714,7 +774,11 @@
+ s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
+ s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
+ p
+- }' < "$progpath"
++ d
++ }
++ /^# .* home page:/b print
++ /^# General help using/b print
++ ' < "$progpath"
+ ret=$?
+ if test -z "$1"; then
+ exit $ret
+@@ -726,12 +790,39 @@
+ # exit_cmd.
+ func_missing_arg ()
+ {
+- func_error "missing argument for $1"
++ $opt_debug
++
++ func_error "missing argument for $1."
+ exit_cmd=exit
+ }
+
+-exit_cmd=:
+
++# func_split_short_opt shortopt
++# Set func_split_short_opt_name and func_split_short_opt_arg shell
++# variables after splitting SHORTOPT after the 2nd character.
++func_split_short_opt ()
++{
++ my_sed_short_opt='1s/^\(..\).*$/\1/;q'
++ my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
++
++ func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
++ func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
++} # func_split_short_opt may be replaced by extended shell implementation
++
++
++# func_split_long_opt longopt
++# Set func_split_long_opt_name and func_split_long_opt_arg shell
++# variables after splitting LONGOPT at the `=' sign.
++func_split_long_opt ()
++{
++ my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
++ my_sed_long_arg='1s/^--[^=]*=//'
++
++ func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
++ func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
++} # func_split_long_opt may be replaced by extended shell implementation
++
++exit_cmd=:
+
+
+
+@@ -741,26 +832,64 @@
+ magic_exe="%%%MAGIC EXE variable%%%"
+
+ # Global variables.
+-# $mode is unset
+ nonopt=
+-execute_dlfiles=
+ preserve_args=
+ lo2o="s/\\.lo\$/.${objext}/"
+ o2lo="s/\\.${objext}\$/.lo/"
+ extracted_archives=
+ extracted_serial=0
+
+-opt_dry_run=false
+-opt_finish=:
+-opt_duplicate_deps=false
+-opt_silent=false
+-opt_debug=:
+-
+ # If this variable is set in any of the actions, the command in it
+ # will be execed at the end. This prevents here-documents from being
+ # left over by shells.
+ exec_cmd=
+
++# func_append var value
++# Append VALUE to the end of shell variable VAR.
++func_append ()
++{
++ eval "${1}=\$${1}\${2}"
++} # func_append may be replaced by extended shell implementation
++
++# func_append_quoted var value
++# Quote VALUE and append to the end of shell variable VAR, separated
++# by a space.
++func_append_quoted ()
++{
++ func_quote_for_eval "${2}"
++ eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
++} # func_append_quoted may be replaced by extended shell implementation
++
++
++# func_arith arithmetic-term...
++func_arith ()
++{
++ func_arith_result=`expr "${@}"`
++} # func_arith may be replaced by extended shell implementation
++
++
++# func_len string
++# STRING may not start with a hyphen.
++func_len ()
++{
++ func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
++} # func_len may be replaced by extended shell implementation
++
++
++# func_lo2o object
++func_lo2o ()
++{
++ func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
++} # func_lo2o may be replaced by extended shell implementation
++
++
++# func_xform libobj-or-source
++func_xform ()
++{
++ func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
++} # func_xform may be replaced by extended shell implementation
++
++
+ # func_fatal_configuration arg...
+ # Echo program name prefixed message to standard error, followed by
+ # a configuration failure hint, and exit.
+@@ -850,130 +979,204 @@
+ esac
+ }
+
+-# Parse options once, thoroughly. This comes as soon as possible in
+-# the script to make things like `libtool --version' happen quickly.
++# func_check_version_match
++# Ensure that we are using m4 macros, and libtool script from the same
++# release of libtool.
++func_check_version_match ()
+ {
++ if test "$package_revision" != "$macro_revision"; then
++ if test "$VERSION" != "$macro_version"; then
++ if test -z "$macro_version"; then
++ cat >&2 <<_LT_EOF
++$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
++$progname: definition of this LT_INIT comes from an older release.
++$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
++$progname: and run autoconf again.
++_LT_EOF
++ else
++ cat >&2 <<_LT_EOF
++$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
++$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
++$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
++$progname: and run autoconf again.
++_LT_EOF
++ fi
++ else
++ cat >&2 <<_LT_EOF
++$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
++$progname: but the definition of this LT_INIT comes from revision $macro_revision.
++$progname: You should recreate aclocal.m4 with macros from revision $package_revision
++$progname: of $PACKAGE $VERSION and run autoconf again.
++_LT_EOF
++ fi
++
++ exit $EXIT_MISMATCH
++ fi
++}
++
++
++# Shorthand for --mode=foo, only valid as the first argument
++case $1 in
++clean|clea|cle|cl)
++ shift; set dummy --mode clean ${1+"$@"}; shift
++ ;;
++compile|compil|compi|comp|com|co|c)
++ shift; set dummy --mode compile ${1+"$@"}; shift
++ ;;
++execute|execut|execu|exec|exe|ex|e)
++ shift; set dummy --mode execute ${1+"$@"}; shift
++ ;;
++finish|finis|fini|fin|fi|f)
++ shift; set dummy --mode finish ${1+"$@"}; shift
++ ;;
++install|instal|insta|inst|ins|in|i)
++ shift; set dummy --mode install ${1+"$@"}; shift
++ ;;
++link|lin|li|l)
++ shift; set dummy --mode link ${1+"$@"}; shift
++ ;;
++uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
++ shift; set dummy --mode uninstall ${1+"$@"}; shift
++ ;;
++esac
+
+- # Shorthand for --mode=foo, only valid as the first argument
+- case $1 in
+- clean|clea|cle|cl)
+- shift; set dummy --mode clean ${1+"$@"}; shift
+- ;;
+- compile|compil|compi|comp|com|co|c)
+- shift; set dummy --mode compile ${1+"$@"}; shift
+- ;;
+- execute|execut|execu|exec|exe|ex|e)
+- shift; set dummy --mode execute ${1+"$@"}; shift
+- ;;
+- finish|finis|fini|fin|fi|f)
+- shift; set dummy --mode finish ${1+"$@"}; shift
+- ;;
+- install|instal|insta|inst|ins|in|i)
+- shift; set dummy --mode install ${1+"$@"}; shift
+- ;;
+- link|lin|li|l)
+- shift; set dummy --mode link ${1+"$@"}; shift
+- ;;
+- uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+- shift; set dummy --mode uninstall ${1+"$@"}; shift
+- ;;
+- esac
+
+- # Parse non-mode specific arguments:
+- while test "$#" -gt 0; do
++
++# Option defaults:
++opt_debug=:
++opt_dry_run=false
++opt_config=false
++opt_preserve_dup_deps=false
++opt_features=false
++opt_finish=false
++opt_help=false
++opt_help_all=false
++opt_silent=:
++opt_verbose=:
++opt_silent=false
++opt_verbose=false
++
++
++# Parse options once, thoroughly. This comes as soon as possible in the
++# script to make things like `--version' happen as quickly as we can.
++{
++ # this just eases exit handling
++ while test $# -gt 0; do
+ opt="$1"
+ shift
+-
+ case $opt in
+- --config) func_config ;;
+-
+- --debug) preserve_args="$preserve_args $opt"
++ --debug|-x) opt_debug='set -x'
+ func_echo "enabling shell trace mode"
+- opt_debug='set -x'
+ $opt_debug
+ ;;
+-
+- -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break
+- execute_dlfiles="$execute_dlfiles $1"
+- shift
++ --dry-run|--dryrun|-n)
++ opt_dry_run=:
+ ;;
+-
+- --dry-run | -n) opt_dry_run=: ;;
+- --features) func_features ;;
+- --finish) mode="finish" ;;
+- --no-finish) opt_finish=false ;;
+-
+- --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break
+- case $1 in
+- # Valid mode arguments:
+- clean) ;;
+- compile) ;;
+- execute) ;;
+- finish) ;;
+- install) ;;
+- link) ;;
+- relink) ;;
+- uninstall) ;;
+-
+- # Catch anything else as an error
+- *) func_error "invalid argument for $opt"
+- exit_cmd=exit
+- break
+- ;;
+- esac
+-
+- mode="$1"
++ --config)
++ opt_config=:
++func_config
++ ;;
++ --dlopen|-dlopen)
++ optarg="$1"
++ opt_dlopen="${opt_dlopen+$opt_dlopen
++}$optarg"
+ shift
+ ;;
+-
+ --preserve-dup-deps)
+- opt_duplicate_deps=: ;;
+-
+- --quiet|--silent) preserve_args="$preserve_args $opt"
+- opt_silent=:
+- opt_verbose=false
++ opt_preserve_dup_deps=:
+ ;;
+-
+- --no-quiet|--no-silent)
+- preserve_args="$preserve_args $opt"
+- opt_silent=false
++ --features)
++ opt_features=:
++func_features
+ ;;
+-
+- --verbose| -v) preserve_args="$preserve_args $opt"
++ --finish)
++ opt_finish=:
++set dummy --mode finish ${1+"$@"}; shift
++ ;;
++ --help)
++ opt_help=:
++ ;;
++ --help-all)
++ opt_help_all=:
++opt_help=': help-all'
++ ;;
++ --mode)
++ test $# = 0 && func_missing_arg $opt && break
++ optarg="$1"
++ opt_mode="$optarg"
++case $optarg in
++ # Valid mode arguments:
++ clean|compile|execute|finish|install|link|relink|uninstall) ;;
++
++ # Catch anything else as an error
++ *) func_error "invalid argument for $opt"
++ exit_cmd=exit
++ break
++ ;;
++esac
++ shift
++ ;;
++ --no-silent|--no-quiet)
+ opt_silent=false
+- opt_verbose=:
++func_append preserve_args " $opt"
+ ;;
+-
+- --no-verbose) preserve_args="$preserve_args $opt"
++ --no-verbose)
+ opt_verbose=false
++func_append preserve_args " $opt"
+ ;;
+-
+- --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break
+- preserve_args="$preserve_args $opt $1"
+- func_enable_tag "$1" # tagname is set here
++ --silent|--quiet)
++ opt_silent=:
++func_append preserve_args " $opt"
++ opt_verbose=false
++ ;;
++ --verbose|-v)
++ opt_verbose=:
++func_append preserve_args " $opt"
++opt_silent=false
++ ;;
++ --tag)
++ test $# = 0 && func_missing_arg $opt && break
++ optarg="$1"
++ opt_tag="$optarg"
++func_append preserve_args " $opt $optarg"
++func_enable_tag "$optarg"
+ shift
+ ;;
+
++ -\?|-h) func_usage ;;
++ --help) func_help ;;
++ --version) func_version ;;
++
+ # Separate optargs to long options:
+- -dlopen=*|--mode=*|--tag=*)
+- func_opt_split "$opt"
+- set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
++ --*=*)
++ func_split_long_opt "$opt"
++ set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+- -\?|-h) func_usage ;;
+- --help) opt_help=: ;;
+- --help-all) opt_help=': help-all' ;;
+- --version) func_version ;;
+-
+- -*) func_fatal_help "unrecognized option \`$opt'" ;;
+-
+- *) nonopt="$opt"
+- break
++ # Separate non-argument short options:
++ -\?*|-h*|-n*|-v*)
++ func_split_short_opt "$opt"
++ set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
++ shift
+ ;;
++
++ --) break ;;
++ -*) func_fatal_help "unrecognized option \`$opt'" ;;
++ *) set dummy "$opt" ${1+"$@"}; shift; break ;;
+ esac
+ done
+
++ # Validate options:
++
++ # save first non-option argument
++ if test "$#" -gt 0; then
++ nonopt="$opt"
++ shift
++ fi
++
++ # preserve --debug
++ test "$opt_debug" = : || func_append preserve_args " --debug"
+
+ case $host in
+ *cygwin* | *mingw* | *pw32* | *cegcc*)
+@@ -981,82 +1184,44 @@
+ opt_duplicate_compiler_generated_deps=:
+ ;;
+ *)
+- opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
++ opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
+ ;;
+ esac
+
+- # Having warned about all mis-specified options, bail out if
+- # anything was wrong.
+- $exit_cmd $EXIT_FAILURE
+-}
++ $opt_help || {
++ # Sanity checks first:
++ func_check_version_match
+
+-# func_check_version_match
+-# Ensure that we are using m4 macros, and libtool script from the same
+-# release of libtool.
+-func_check_version_match ()
+-{
+- if test "$package_revision" != "$macro_revision"; then
+- if test "$VERSION" != "$macro_version"; then
+- if test -z "$macro_version"; then
+- cat >&2 <<_LT_EOF
+-$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+-$progname: definition of this LT_INIT comes from an older release.
+-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+-$progname: and run autoconf again.
+-_LT_EOF
+- else
+- cat >&2 <<_LT_EOF
+-$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+-$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+-$progname: and run autoconf again.
+-_LT_EOF
+- fi
+- else
+- cat >&2 <<_LT_EOF
+-$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
+-$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+-$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+-$progname: of $PACKAGE $VERSION and run autoconf again.
+-_LT_EOF
++ if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
++ func_fatal_configuration "not configured to build any kind of library"
+ fi
+
+- exit $EXIT_MISMATCH
+- fi
+-}
+-
++ # Darwin sucks
++ eval std_shrext=\"$shrext_cmds\"
+
+-## ----------- ##
+-## Main. ##
+-## ----------- ##
+-
+-$opt_help || {
+- # Sanity checks first:
+- func_check_version_match
+-
+- if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+- func_fatal_configuration "not configured to build any kind of library"
+- fi
++ # Only execute mode is allowed to have -dlopen flags.
++ if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
++ func_error "unrecognized option \`-dlopen'"
++ $ECHO "$help" 1>&2
++ exit $EXIT_FAILURE
++ fi
+
+- test -z "$mode" && func_fatal_error "error: you must specify a MODE."
++ # Change the help message to a mode-specific one.
++ generic_help="$help"
++ help="Try \`$progname --help --mode=$opt_mode' for more information."
++ }
+
+
+- # Darwin sucks
+- eval "std_shrext=\"$shrext_cmds\""
++ # Bail if the options were screwed
++ $exit_cmd $EXIT_FAILURE
++}
+
+
+- # Only execute mode is allowed to have -dlopen flags.
+- if test -n "$execute_dlfiles" && test "$mode" != execute; then
+- func_error "unrecognized option \`-dlopen'"
+- $ECHO "$help" 1>&2
+- exit $EXIT_FAILURE
+- fi
+
+- # Change the help message to a mode-specific one.
+- generic_help="$help"
+- help="Try \`$progname --help --mode=$mode' for more information."
+-}
+
++## ----------- ##
++## Main. ##
++## ----------- ##
+
+ # func_lalib_p file
+ # True iff FILE is a libtool `.la' library or `.lo' object file.
+@@ -1121,12 +1286,9 @@
+ # temporary ltwrapper_script.
+ func_ltwrapper_scriptname ()
+ {
+- func_ltwrapper_scriptname_result=""
+- if func_ltwrapper_executable_p "$1"; then
+- func_dirname_and_basename "$1" "" "."
+- func_stripname '' '.exe' "$func_basename_result"
+- func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+- fi
++ func_dirname_and_basename "$1" "" "."
++ func_stripname '' '.exe' "$func_basename_result"
++ func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+ }
+
+ # func_ltwrapper_p file
+@@ -1149,7 +1311,7 @@
+ save_ifs=$IFS; IFS='~'
+ for cmd in $1; do
+ IFS=$save_ifs
+- eval "cmd=\"$cmd\""
++ eval cmd=\"$cmd\"
+ func_show_eval "$cmd" "${2-:}"
+ done
+ IFS=$save_ifs
+@@ -1172,6 +1334,37 @@
+ }
+
+
++# func_resolve_sysroot PATH
++# Replace a leading = in PATH with a sysroot. Store the result into
++# func_resolve_sysroot_result
++func_resolve_sysroot ()
++{
++ func_resolve_sysroot_result=$1
++ case $func_resolve_sysroot_result in
++ =*)
++ func_stripname '=' '' "$func_resolve_sysroot_result"
++ func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
++ ;;
++ esac
++}
++
++# func_replace_sysroot PATH
++# If PATH begins with the sysroot, replace it with = and
++# store the result into func_replace_sysroot_result.
++func_replace_sysroot ()
++{
++ case "$lt_sysroot:$1" in
++ ?*:"$lt_sysroot"*)
++ func_stripname "$lt_sysroot" '' "$1"
++ func_replace_sysroot_result="=$func_stripname_result"
++ ;;
++ *)
++ # Including no sysroot.
++ func_replace_sysroot_result=$1
++ ;;
++ esac
++}
++
+ # func_infer_tag arg
+ # Infer tagged configuration to use if any are available and
+ # if one wasn't chosen via the "--tag" command line option.
+@@ -1184,8 +1377,7 @@
+ if test -n "$available_tags" && test -z "$tagname"; then
+ CC_quoted=
+ for arg in $CC; do
+- func_quote_for_eval "$arg"
+- CC_quoted="$CC_quoted $func_quote_for_eval_result"
++ func_append_quoted CC_quoted "$arg"
+ done
+ CC_expanded=`func_echo_all $CC`
+ CC_quoted_expanded=`func_echo_all $CC_quoted`
+@@ -1204,8 +1396,7 @@
+ CC_quoted=
+ for arg in $CC; do
+ # Double-quote args containing other shell metacharacters.
+- func_quote_for_eval "$arg"
+- CC_quoted="$CC_quoted $func_quote_for_eval_result"
++ func_append_quoted CC_quoted "$arg"
+ done
+ CC_expanded=`func_echo_all $CC`
+ CC_quoted_expanded=`func_echo_all $CC_quoted`
+@@ -1274,6 +1465,486 @@
+ }
+ }
+
++
++##################################################
++# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
++##################################################
++
++# func_convert_core_file_wine_to_w32 ARG
++# Helper function used by file name conversion functions when $build is *nix,
++# and $host is mingw, cygwin, or some other w32 environment. Relies on a
++# correctly configured wine environment available, with the winepath program
++# in $build's $PATH.
++#
++# ARG is the $build file name to be converted to w32 format.
++# Result is available in $func_convert_core_file_wine_to_w32_result, and will
++# be empty on error (or when ARG is empty)
++func_convert_core_file_wine_to_w32 ()
++{
++ $opt_debug
++ func_convert_core_file_wine_to_w32_result="$1"
++ if test -n "$1"; then
++ # Unfortunately, winepath does not exit with a non-zero error code, so we
++ # are forced to check the contents of stdout. On the other hand, if the
++ # command is not found, the shell will set an exit code of 127 and print
++ # *an error message* to stdout. So we must check for both error code of
++ # zero AND non-empty stdout, which explains the odd construction:
++ func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
++ if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
++ func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
++ $SED -e "$lt_sed_naive_backslashify"`
++ else
++ func_convert_core_file_wine_to_w32_result=
++ fi
++ fi
++}
++# end: func_convert_core_file_wine_to_w32
++
++
++# func_convert_core_path_wine_to_w32 ARG
++# Helper function used by path conversion functions when $build is *nix, and
++# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
++# configured wine environment available, with the winepath program in $build's
++# $PATH. Assumes ARG has no leading or trailing path separator characters.
++#
++# ARG is path to be converted from $build format to win32.
++# Result is available in $func_convert_core_path_wine_to_w32_result.
++# Unconvertible file (directory) names in ARG are skipped; if no directory names
++# are convertible, then the result may be empty.
++func_convert_core_path_wine_to_w32 ()
++{
++ $opt_debug
++ # unfortunately, winepath doesn't convert paths, only file names
++ func_convert_core_path_wine_to_w32_result=""
++ if test -n "$1"; then
++ oldIFS=$IFS
++ IFS=:
++ for func_convert_core_path_wine_to_w32_f in $1; do
++ IFS=$oldIFS
++ func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
++ if test -n "$func_convert_core_file_wine_to_w32_result" ; then
++ if test -z "$func_convert_core_path_wine_to_w32_result"; then
++ func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
++ else
++ func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
++ fi
++ fi
++ done
++ IFS=$oldIFS
++ fi
++}
++# end: func_convert_core_path_wine_to_w32
++
++
++# func_cygpath ARGS...
++# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
++# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
++# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
++# (2), returns the Cygwin file name or path in func_cygpath_result (input
++# file name or path is assumed to be in w32 format, as previously converted
++# from $build's *nix or MSYS format). In case (3), returns the w32 file name
++# or path in func_cygpath_result (input file name or path is assumed to be in
++# Cygwin format). Returns an empty string on error.
++#
++# ARGS are passed to cygpath, with the last one being the file name or path to
++# be converted.
++#
++# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
++# environment variable; do not put it in $PATH.
++func_cygpath ()
++{
++ $opt_debug
++ if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
++ func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
++ if test "$?" -ne 0; then
++ # on failure, ensure result is empty
++ func_cygpath_result=
++ fi
++ else
++ func_cygpath_result=
++ func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
++ fi
++}
++#end: func_cygpath
++
++
++# func_convert_core_msys_to_w32 ARG
++# Convert file name or path ARG from MSYS format to w32 format. Return
++# result in func_convert_core_msys_to_w32_result.
++func_convert_core_msys_to_w32 ()
++{
++ $opt_debug
++ # awkward: cmd appends spaces to result
++ func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
++ $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
++}
++#end: func_convert_core_msys_to_w32
++
++
++# func_convert_file_check ARG1 ARG2
++# Verify that ARG1 (a file name in $build format) was converted to $host
++# format in ARG2. Otherwise, emit an error message, but continue (resetting
++# func_to_host_file_result to ARG1).
++func_convert_file_check ()
++{
++ $opt_debug
++ if test -z "$2" && test -n "$1" ; then
++ func_error "Could not determine host file name corresponding to"
++ func_error " \`$1'"
++ func_error "Continuing, but uninstalled executables may not work."
++ # Fallback:
++ func_to_host_file_result="$1"
++ fi
++}
++# end func_convert_file_check
++
++
++# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
++# Verify that FROM_PATH (a path in $build format) was converted to $host
++# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
++# func_to_host_file_result to a simplistic fallback value (see below).
++func_convert_path_check ()
++{
++ $opt_debug
++ if test -z "$4" && test -n "$3"; then
++ func_error "Could not determine the host path corresponding to"
++ func_error " \`$3'"
++ func_error "Continuing, but uninstalled executables may not work."
++ # Fallback. This is a deliberately simplistic "conversion" and
++ # should not be "improved". See libtool.info.
++ if test "x$1" != "x$2"; then
++ lt_replace_pathsep_chars="s|$1|$2|g"
++ func_to_host_path_result=`echo "$3" |
++ $SED -e "$lt_replace_pathsep_chars"`
++ else
++ func_to_host_path_result="$3"
++ fi
++ fi
++}
++# end func_convert_path_check
++
++
++# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
++# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
++# and appending REPL if ORIG matches BACKPAT.
++func_convert_path_front_back_pathsep ()
++{
++ $opt_debug
++ case $4 in
++ $1 ) func_to_host_path_result="$3$func_to_host_path_result"
++ ;;
++ esac
++ case $4 in
++ $2 ) func_append func_to_host_path_result "$3"
++ ;;
++ esac
++}
++# end func_convert_path_front_back_pathsep
++
++
++##################################################
++# $build to $host FILE NAME CONVERSION FUNCTIONS #
++##################################################
++# invoked via `$to_host_file_cmd ARG'
++#
++# In each case, ARG is the path to be converted from $build to $host format.
++# Result will be available in $func_to_host_file_result.
++
++
++# func_to_host_file ARG
++# Converts the file name ARG from $build format to $host format. Return result
++# in func_to_host_file_result.
++func_to_host_file ()
++{
++ $opt_debug
++ $to_host_file_cmd "$1"
++}
++# end func_to_host_file
++
++
++# func_to_tool_file ARG LAZY
++# converts the file name ARG from $build format to toolchain format. Return
++# result in func_to_tool_file_result. If the conversion in use is listed
++# in (the comma separated) LAZY, no conversion takes place.
++func_to_tool_file ()
++{
++ $opt_debug
++ case ,$2, in
++ *,"$to_tool_file_cmd",*)
++ func_to_tool_file_result=$1
++ ;;
++ *)
++ $to_tool_file_cmd "$1"
++ func_to_tool_file_result=$func_to_host_file_result
++ ;;
++ esac
++}
++# end func_to_tool_file
++
++
++# func_convert_file_noop ARG
++# Copy ARG to func_to_host_file_result.
++func_convert_file_noop ()
++{
++ func_to_host_file_result="$1"
++}
++# end func_convert_file_noop
++
++
++# func_convert_file_msys_to_w32 ARG
++# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
++# conversion to w32 is not available inside the cwrapper. Returns result in
++# func_to_host_file_result.
++func_convert_file_msys_to_w32 ()
++{
++ $opt_debug
++ func_to_host_file_result="$1"
++ if test -n "$1"; then
++ func_convert_core_msys_to_w32 "$1"
++ func_to_host_file_result="$func_convert_core_msys_to_w32_result"
++ fi
++ func_convert_file_check "$1" "$func_to_host_file_result"
++}
++# end func_convert_file_msys_to_w32
++
++
++# func_convert_file_cygwin_to_w32 ARG
++# Convert file name ARG from Cygwin to w32 format. Returns result in
++# func_to_host_file_result.
++func_convert_file_cygwin_to_w32 ()
++{
++ $opt_debug
++ func_to_host_file_result="$1"
++ if test -n "$1"; then
++ # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
++ # LT_CYGPATH in this case.
++ func_to_host_file_result=`cygpath -m "$1"`
++ fi
++ func_convert_file_check "$1" "$func_to_host_file_result"
++}
++# end func_convert_file_cygwin_to_w32
++
++
++# func_convert_file_nix_to_w32 ARG
++# Convert file name ARG from *nix to w32 format. Requires a wine environment
++# and a working winepath. Returns result in func_to_host_file_result.
++func_convert_file_nix_to_w32 ()
++{
++ $opt_debug
++ func_to_host_file_result="$1"
++ if test -n "$1"; then
++ func_convert_core_file_wine_to_w32 "$1"
++ func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
++ fi
++ func_convert_file_check "$1" "$func_to_host_file_result"
++}
++# end func_convert_file_nix_to_w32
++
++
++# func_convert_file_msys_to_cygwin ARG
++# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
++# Returns result in func_to_host_file_result.
++func_convert_file_msys_to_cygwin ()
++{
++ $opt_debug
++ func_to_host_file_result="$1"
++ if test -n "$1"; then
++ func_convert_core_msys_to_w32 "$1"
++ func_cygpath -u "$func_convert_core_msys_to_w32_result"
++ func_to_host_file_result="$func_cygpath_result"
++ fi
++ func_convert_file_check "$1" "$func_to_host_file_result"
++}
++# end func_convert_file_msys_to_cygwin
++
++
++# func_convert_file_nix_to_cygwin ARG
++# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed
++# in a wine environment, working winepath, and LT_CYGPATH set. Returns result
++# in func_to_host_file_result.
++func_convert_file_nix_to_cygwin ()
++{
++ $opt_debug
++ func_to_host_file_result="$1"
++ if test -n "$1"; then
++ # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
++ func_convert_core_file_wine_to_w32 "$1"
++ func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
++ func_to_host_file_result="$func_cygpath_result"
++ fi
++ func_convert_file_check "$1" "$func_to_host_file_result"
++}
++# end func_convert_file_nix_to_cygwin
++
++
++#############################################
++# $build to $host PATH CONVERSION FUNCTIONS #
++#############################################
++# invoked via `$to_host_path_cmd ARG'
++#
++# In each case, ARG is the path to be converted from $build to $host format.
++# The result will be available in $func_to_host_path_result.
++#
++# Path separators are also converted from $build format to $host format. If
++# ARG begins or ends with a path separator character, it is preserved (but
++# converted to $host format) on output.
++#
++# All path conversion functions are named using the following convention:
++# file name conversion function : func_convert_file_X_to_Y ()
++# path conversion function : func_convert_path_X_to_Y ()
++# where, for any given $build/$host combination the 'X_to_Y' value is the
++# same. If conversion functions are added for new $build/$host combinations,
++# the two new functions must follow this pattern, or func_init_to_host_path_cmd
++# will break.
++
++
++# func_init_to_host_path_cmd
++# Ensures that function "pointer" variable $to_host_path_cmd is set to the
++# appropriate value, based on the value of $to_host_file_cmd.
++to_host_path_cmd=
++func_init_to_host_path_cmd ()
++{
++ $opt_debug
++ if test -z "$to_host_path_cmd"; then
++ func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
++ to_host_path_cmd="func_convert_path_${func_stripname_result}"
++ fi
++}
++
++
++# func_to_host_path ARG
++# Converts the path ARG from $build format to $host format. Return result
++# in func_to_host_path_result.
++func_to_host_path ()
++{
++ $opt_debug
++ func_init_to_host_path_cmd
++ $to_host_path_cmd "$1"
++}
++# end func_to_host_path
++
++
++# func_convert_path_noop ARG
++# Copy ARG to func_to_host_path_result.
++func_convert_path_noop ()
++{
++ func_to_host_path_result="$1"
++}
++# end func_convert_path_noop
++
++
++# func_convert_path_msys_to_w32 ARG
++# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
++# conversion to w32 is not available inside the cwrapper. Returns result in
++# func_to_host_path_result.
++func_convert_path_msys_to_w32 ()
++{
++ $opt_debug
++ func_to_host_path_result="$1"
++ if test -n "$1"; then
++ # Remove leading and trailing path separator characters from ARG. MSYS
++ # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
++ # and winepath ignores them completely.
++ func_stripname : : "$1"
++ func_to_host_path_tmp1=$func_stripname_result
++ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
++ func_to_host_path_result="$func_convert_core_msys_to_w32_result"
++ func_convert_path_check : ";" \
++ "$func_to_host_path_tmp1" "$func_to_host_path_result"
++ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
++ fi
++}
++# end func_convert_path_msys_to_w32
++
++
++# func_convert_path_cygwin_to_w32 ARG
++# Convert path ARG from Cygwin to w32 format. Returns result in
++# func_to_host_file_result.
++func_convert_path_cygwin_to_w32 ()
++{
++ $opt_debug
++ func_to_host_path_result="$1"
++ if test -n "$1"; then
++ # See func_convert_path_msys_to_w32:
++ func_stripname : : "$1"
++ func_to_host_path_tmp1=$func_stripname_result
++ func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
++ func_convert_path_check : ";" \
++ "$func_to_host_path_tmp1" "$func_to_host_path_result"
++ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
++ fi
++}
++# end func_convert_path_cygwin_to_w32
++
++
++# func_convert_path_nix_to_w32 ARG
++# Convert path ARG from *nix to w32 format. Requires a wine environment and
++# a working winepath. Returns result in func_to_host_file_result.
++func_convert_path_nix_to_w32 ()
++{
++ $opt_debug
++ func_to_host_path_result="$1"
++ if test -n "$1"; then
++ # See func_convert_path_msys_to_w32:
++ func_stripname : : "$1"
++ func_to_host_path_tmp1=$func_stripname_result
++ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
++ func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
++ func_convert_path_check : ";" \
++ "$func_to_host_path_tmp1" "$func_to_host_path_result"
++ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
++ fi
++}
++# end func_convert_path_nix_to_w32
++
++
++# func_convert_path_msys_to_cygwin ARG
++# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
++# Returns result in func_to_host_file_result.
++func_convert_path_msys_to_cygwin ()
++{
++ $opt_debug
++ func_to_host_path_result="$1"
++ if test -n "$1"; then
++ # See func_convert_path_msys_to_w32:
++ func_stripname : : "$1"
++ func_to_host_path_tmp1=$func_stripname_result
++ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
++ func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
++ func_to_host_path_result="$func_cygpath_result"
++ func_convert_path_check : : \
++ "$func_to_host_path_tmp1" "$func_to_host_path_result"
++ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
++ fi
++}
++# end func_convert_path_msys_to_cygwin
++
++
++# func_convert_path_nix_to_cygwin ARG
++# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a
++# a wine environment, working winepath, and LT_CYGPATH set. Returns result in
++# func_to_host_file_result.
++func_convert_path_nix_to_cygwin ()
++{
++ $opt_debug
++ func_to_host_path_result="$1"
++ if test -n "$1"; then
++ # Remove leading and trailing path separator characters from
++ # ARG. msys behavior is inconsistent here, cygpath turns them
++ # into '.;' and ';.', and winepath ignores them completely.
++ func_stripname : : "$1"
++ func_to_host_path_tmp1=$func_stripname_result
++ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
++ func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
++ func_to_host_path_result="$func_cygpath_result"
++ func_convert_path_check : : \
++ "$func_to_host_path_tmp1" "$func_to_host_path_result"
++ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
++ fi
++}
++# end func_convert_path_nix_to_cygwin
++
++
+ # func_mode_compile arg...
+ func_mode_compile ()
+ {
+@@ -1314,12 +1985,12 @@
+ ;;
+
+ -pie | -fpie | -fPIE)
+- pie_flag="$pie_flag $arg"
++ func_append pie_flag " $arg"
+ continue
+ ;;
+
+ -shared | -static | -prefer-pic | -prefer-non-pic)
+- later="$later $arg"
++ func_append later " $arg"
+ continue
+ ;;
+
+@@ -1340,15 +2011,14 @@
+ save_ifs="$IFS"; IFS=','
+ for arg in $args; do
+ IFS="$save_ifs"
+- func_quote_for_eval "$arg"
+- lastarg="$lastarg $func_quote_for_eval_result"
++ func_append_quoted lastarg "$arg"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$lastarg"
+ lastarg=$func_stripname_result
+
+ # Add the arguments to base_compile.
+- base_compile="$base_compile $lastarg"
++ func_append base_compile " $lastarg"
+ continue
+ ;;
+
+@@ -1364,8 +2034,7 @@
+ esac # case $arg_mode
+
+ # Aesthetically quote the previous argument.
+- func_quote_for_eval "$lastarg"
+- base_compile="$base_compile $func_quote_for_eval_result"
++ func_append_quoted base_compile "$lastarg"
+ done # for arg
+
+ case $arg_mode in
+@@ -1496,17 +2165,16 @@
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+- removelist="$removelist $output_obj"
++ func_append removelist " $output_obj"
+ $ECHO "$srcfile" > "$lockfile"
+ fi
+
+ $opt_dry_run || $RM $removelist
+- removelist="$removelist $lockfile"
++ func_append removelist " $lockfile"
+ trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
+- if test -n "$fix_srcfile_path"; then
+- eval "srcfile=\"$fix_srcfile_path\""
+- fi
++ func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
++ srcfile=$func_to_tool_file_result
+ func_quote_for_eval "$srcfile"
+ qsrcfile=$func_quote_for_eval_result
+
+@@ -1526,7 +2194,7 @@
+
+ if test -z "$output_obj"; then
+ # Place PIC objects in $objdir
+- command="$command -o $lobj"
++ func_append command " -o $lobj"
+ fi
+
+ func_show_eval_locale "$command" \
+@@ -1573,11 +2241,11 @@
+ command="$base_compile $qsrcfile $pic_flag"
+ fi
+ if test "$compiler_c_o" = yes; then
+- command="$command -o $obj"
++ func_append command " -o $obj"
+ fi
+
+ # Suppress compiler output if we already did a PIC compilation.
+- command="$command$suppress_output"
++ func_append command "$suppress_output"
+ func_show_eval_locale "$command" \
+ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
+
+@@ -1622,13 +2290,13 @@
+ }
+
+ $opt_help || {
+- test "$mode" = compile && func_mode_compile ${1+"$@"}
++ test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
+ }
+
+ func_mode_help ()
+ {
+ # We need to display help for each of the modes.
+- case $mode in
++ case $opt_mode in
+ "")
+ # Generic help is extracted from the usage comments
+ # at the start of this file.
+@@ -1659,8 +2327,8 @@
+
+ -o OUTPUT-FILE set the output file name to OUTPUT-FILE
+ -no-suppress do not suppress compiler output for multiple passes
+- -prefer-pic try to building PIC objects only
+- -prefer-non-pic try to building non-PIC objects only
++ -prefer-pic try to build PIC objects only
++ -prefer-non-pic try to build non-PIC objects only
+ -shared do not build a \`.o' file suitable for static linking
+ -static only build a \`.o' file suitable for static linking
+ -Wc,FLAG pass FLAG directly to the compiler
+@@ -1804,7 +2472,7 @@
+ ;;
+
+ *)
+- func_fatal_help "invalid operation mode \`$mode'"
++ func_fatal_help "invalid operation mode \`$opt_mode'"
+ ;;
+ esac
+
+@@ -1819,13 +2487,13 @@
+ else
+ {
+ func_help noexit
+- for mode in compile link execute install finish uninstall clean; do
++ for opt_mode in compile link execute install finish uninstall clean; do
+ func_mode_help
+ done
+ } | sed -n '1p; 2,$s/^Usage:/ or: /p'
+ {
+ func_help noexit
+- for mode in compile link execute install finish uninstall clean; do
++ for opt_mode in compile link execute install finish uninstall clean; do
+ echo
+ func_mode_help
+ done
+@@ -1854,13 +2522,16 @@
+ func_fatal_help "you must specify a COMMAND"
+
+ # Handle -dlopen flags immediately.
+- for file in $execute_dlfiles; do
++ for file in $opt_dlopen; do
+ test -f "$file" \
+ || func_fatal_help "\`$file' is not a file"
+
+ dir=
+ case $file in
+ *.la)
++ func_resolve_sysroot "$file"
++ file=$func_resolve_sysroot_result
++
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "\`$lib' is not a valid libtool archive"
+@@ -1882,7 +2553,7 @@
+ dir="$func_dirname_result"
+
+ if test -f "$dir/$objdir/$dlname"; then
+- dir="$dir/$objdir"
++ func_append dir "/$objdir"
+ else
+ if test ! -f "$dir/$dlname"; then
+ func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+@@ -1907,10 +2578,10 @@
+ test -n "$absdir" && dir="$absdir"
+
+ # Now add the directory to shlibpath_var.
+- if eval test -z \"\$$shlibpath_var\"; then
+- eval $shlibpath_var=\$dir
++ if eval "test -z \"\$$shlibpath_var\""; then
++ eval "$shlibpath_var=\"\$dir\""
+ else
+- eval $shlibpath_var=\$dir:\$$shlibpath_var
++ eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+ fi
+ done
+
+@@ -1939,8 +2610,7 @@
+ ;;
+ esac
+ # Quote arguments (to preserve shell metacharacters).
+- func_quote_for_eval "$file"
+- args="$args $func_quote_for_eval_result"
++ func_append_quoted args "$file"
+ done
+
+ if test "X$opt_dry_run" = Xfalse; then
+@@ -1972,22 +2642,59 @@
+ fi
+ }
+
+-test "$mode" = execute && func_mode_execute ${1+"$@"}
++test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
+
+
+ # func_mode_finish arg...
+ func_mode_finish ()
+ {
+ $opt_debug
+- libdirs="$nonopt"
++ libs=
++ libdirs=
+ admincmds=
+
+- if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+- for dir
+- do
+- libdirs="$libdirs $dir"
+- done
++ for opt in "$nonopt" ${1+"$@"}
++ do
++ if test -d "$opt"; then
++ func_append libdirs " $opt"
++
++ elif test -f "$opt"; then
++ if func_lalib_unsafe_p "$opt"; then
++ func_append libs " $opt"
++ else
++ func_warning "\`$opt' is not a valid libtool archive"
++ fi
++
++ else
++ func_fatal_error "invalid argument \`$opt'"
++ fi
++ done
++
++ if test -n "$libs"; then
++ if test -n "$lt_sysroot"; then
++ sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
++ sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
++ else
++ sysroot_cmd=
++ fi
++
++ # Remove sysroot references
++ if $opt_dry_run; then
++ for lib in $libs; do
++ echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
++ done
++ else
++ tmpdir=`func_mktempdir`
++ for lib in $libs; do
++ sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
++ > $tmpdir/tmp-la
++ mv -f $tmpdir/tmp-la $lib
++ done
++ ${RM}r "$tmpdir"
++ fi
++ fi
+
++ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ for libdir in $libdirs; do
+ if test -n "$finish_cmds"; then
+ # Do each command in the finish commands.
+@@ -1997,7 +2704,7 @@
+ if test -n "$finish_eval"; then
+ # Do the single finish_eval.
+ eval cmds=\"$finish_eval\"
+- $opt_dry_run || eval "$cmds" || admincmds="$admincmds
++ $opt_dry_run || eval "$cmds" || func_append admincmds "
+ $cmds"
+ fi
+ done
+@@ -2006,53 +2713,55 @@
+ # Exit here if they wanted silent mode.
+ $opt_silent && exit $EXIT_SUCCESS
+
+- echo "----------------------------------------------------------------------"
+- echo "Libraries have been installed in:"
+- for libdir in $libdirs; do
+- $ECHO " $libdir"
+- done
+- echo
+- echo "If you ever happen to want to link against installed libraries"
+- echo "in a given directory, LIBDIR, you must either use libtool, and"
+- echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+- echo "flag during linking and do at least one of the following:"
+- if test -n "$shlibpath_var"; then
+- echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
+- echo " during execution"
+- fi
+- if test -n "$runpath_var"; then
+- echo " - add LIBDIR to the \`$runpath_var' environment variable"
+- echo " during linking"
+- fi
+- if test -n "$hardcode_libdir_flag_spec"; then
+- libdir=LIBDIR
+- eval "flag=\"$hardcode_libdir_flag_spec\""
++ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
++ echo "----------------------------------------------------------------------"
++ echo "Libraries have been installed in:"
++ for libdir in $libdirs; do
++ $ECHO " $libdir"
++ done
++ echo
++ echo "If you ever happen to want to link against installed libraries"
++ echo "in a given directory, LIBDIR, you must either use libtool, and"
++ echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
++ echo "flag during linking and do at least one of the following:"
++ if test -n "$shlibpath_var"; then
++ echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
++ echo " during execution"
++ fi
++ if test -n "$runpath_var"; then
++ echo " - add LIBDIR to the \`$runpath_var' environment variable"
++ echo " during linking"
++ fi
++ if test -n "$hardcode_libdir_flag_spec"; then
++ libdir=LIBDIR
++ eval flag=\"$hardcode_libdir_flag_spec\"
+
+- $ECHO " - use the \`$flag' linker flag"
+- fi
+- if test -n "$admincmds"; then
+- $ECHO " - have your system administrator run these commands:$admincmds"
+- fi
+- if test -f /etc/ld.so.conf; then
+- echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+- fi
+- echo
++ $ECHO " - use the \`$flag' linker flag"
++ fi
++ if test -n "$admincmds"; then
++ $ECHO " - have your system administrator run these commands:$admincmds"
++ fi
++ if test -f /etc/ld.so.conf; then
++ echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
++ fi
++ echo
+
+- echo "See any operating system documentation about shared libraries for"
+- case $host in
+- solaris2.[6789]|solaris2.1[0-9])
+- echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+- echo "pages."
+- ;;
+- *)
+- echo "more information, such as the ld(1) and ld.so(8) manual pages."
+- ;;
+- esac
+- echo "----------------------------------------------------------------------"
++ echo "See any operating system documentation about shared libraries for"
++ case $host in
++ solaris2.[6789]|solaris2.1[0-9])
++ echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
++ echo "pages."
++ ;;
++ *)
++ echo "more information, such as the ld(1) and ld.so(8) manual pages."
++ ;;
++ esac
++ echo "----------------------------------------------------------------------"
++ fi
+ exit $EXIT_SUCCESS
+ }
+
+-test "$mode" = finish && func_mode_finish ${1+"$@"}
++test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
+
+
+ # func_mode_install arg...
+@@ -2077,7 +2786,7 @@
+ # The real first argument should be the name of the installation program.
+ # Aesthetically quote it.
+ func_quote_for_eval "$arg"
+- install_prog="$install_prog$func_quote_for_eval_result"
++ func_append install_prog "$func_quote_for_eval_result"
+ install_shared_prog=$install_prog
+ case " $install_prog " in
+ *[\\\ /]cp\ *) install_cp=: ;;
+@@ -2097,7 +2806,7 @@
+ do
+ arg2=
+ if test -n "$dest"; then
+- files="$files $dest"
++ func_append files " $dest"
+ dest=$arg
+ continue
+ fi
+@@ -2135,11 +2844,11 @@
+
+ # Aesthetically quote the argument.
+ func_quote_for_eval "$arg"
+- install_prog="$install_prog $func_quote_for_eval_result"
++ func_append install_prog " $func_quote_for_eval_result"
+ if test -n "$arg2"; then
+ func_quote_for_eval "$arg2"
+ fi
+- install_shared_prog="$install_shared_prog $func_quote_for_eval_result"
++ func_append install_shared_prog " $func_quote_for_eval_result"
+ done
+
+ test -z "$install_prog" && \
+@@ -2151,7 +2860,7 @@
+ if test -n "$install_override_mode" && $no_mode; then
+ if $install_cp; then :; else
+ func_quote_for_eval "$install_override_mode"
+- install_shared_prog="$install_shared_prog -m $func_quote_for_eval_result"
++ func_append install_shared_prog " -m $func_quote_for_eval_result"
+ fi
+ fi
+
+@@ -2209,10 +2918,13 @@
+ case $file in
+ *.$libext)
+ # Do the static libraries later.
+- staticlibs="$staticlibs $file"
++ func_append staticlibs " $file"
+ ;;
+
+ *.la)
++ func_resolve_sysroot "$file"
++ file=$func_resolve_sysroot_result
++
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "\`$file' is not a valid libtool archive"
+@@ -2226,23 +2938,30 @@
+ if test "X$destdir" = "X$libdir"; then
+ case "$current_libdirs " in
+ *" $libdir "*) ;;
+- *) current_libdirs="$current_libdirs $libdir" ;;
++ *) func_append current_libdirs " $libdir" ;;
+ esac
+ else
+ # Note the libdir as a future libdir.
+ case "$future_libdirs " in
+ *" $libdir "*) ;;
+- *) future_libdirs="$future_libdirs $libdir" ;;
++ *) func_append future_libdirs " $libdir" ;;
+ esac
+ fi
+
+ func_dirname "$file" "/" ""
+ dir="$func_dirname_result"
+- dir="$dir$objdir"
++ func_append dir "$objdir"
+
+ if test -n "$relink_command"; then
++ # Strip any trailing slash from the destination.
++ func_stripname '' '/' "$libdir"
++ destlibdir=$func_stripname_result
++
++ func_stripname '' '/' "$destdir"
++ s_destdir=$func_stripname_result
++
+ # Determine the prefix the user has applied to our future dir.
+- inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
++ inst_prefix_dir=`$ECHO "X$s_destdir" | $Xsed -e "s%$destlibdir\$%%"`
+
+ # Don't allow the user to place us outside of our expected
+ # location b/c this prevents finding dependent libraries that
+@@ -2315,7 +3034,7 @@
+ func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
+ # Maybe install the static library, too.
+- test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
++ test -n "$old_library" && func_append staticlibs " $dir/$old_library"
+ ;;
+
+ *.lo)
+@@ -2503,7 +3222,7 @@
+ test -n "$future_libdirs" && \
+ func_warning "remember to run \`$progname --finish$future_libdirs'"
+
+- if test -n "$current_libdirs" && $opt_finish; then
++ if test -n "$current_libdirs"; then
+ # Maybe just do a dry run.
+ $opt_dry_run && current_libdirs=" -n$current_libdirs"
+ exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+@@ -2512,7 +3231,7 @@
+ fi
+ }
+
+-test "$mode" = install && func_mode_install ${1+"$@"}
++test "$opt_mode" = install && func_mode_install ${1+"$@"}
+
+
+ # func_generate_dlsyms outputname originator pic_p
+@@ -2559,6 +3278,18 @@
+ #pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
+ #endif
+
++/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
++#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
++/* DATA imports from DLLs on WIN32 con't be const, because runtime
++ relocations are performed -- see ld's documentation on pseudo-relocs. */
++# define LT_DLSYM_CONST
++#elif defined(__osf__)
++/* This system does not cope well with relocations in const data. */
++# define LT_DLSYM_CONST
++#else
++# define LT_DLSYM_CONST const
++#endif
++
+ /* External symbol declarations for the compiler. */\
+ "
+
+@@ -2570,21 +3301,22 @@
+ # Add our own program objects to the symbol list.
+ progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ for progfile in $progfiles; do
+- func_verbose "extracting global C symbols from \`$progfile'"
+- $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
++ func_to_tool_file "$progfile" func_convert_file_msys_to_w32
++ func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
++ $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
+ done
+
+ if test -n "$exclude_expsyms"; then
+ $opt_dry_run || {
+- $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+- $MV "$nlist"T "$nlist"
++ eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
++ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ if test -n "$export_symbols_regex"; then
+ $opt_dry_run || {
+- $EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T
+- $MV "$nlist"T "$nlist"
++ eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
++ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+@@ -2593,23 +3325,23 @@
+ export_symbols="$output_objdir/$outputname.exp"
+ $opt_dry_run || {
+ $RM $export_symbols
+- ${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' < "$nlist" > "$export_symbols"
++ eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+- echo EXPORTS > "$output_objdir/$outputname.def"
+- cat "$export_symbols" >> "$output_objdir/$outputname.def"
++ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
++ eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ else
+ $opt_dry_run || {
+- ${SED} -e 's/\([].[*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/' < "$export_symbols" > "$output_objdir/$outputname.exp"
+- $GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T
+- $MV "$nlist"T "$nlist"
++ eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
++ eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
++ eval '$MV "$nlist"T "$nlist"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+- echo EXPORTS > "$output_objdir/$outputname.def"
+- cat "$nlist" >> "$output_objdir/$outputname.def"
++ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
++ eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+@@ -2620,10 +3352,52 @@
+ func_verbose "extracting global C symbols from \`$dlprefile'"
+ func_basename "$dlprefile"
+ name="$func_basename_result"
+- $opt_dry_run || {
+- $ECHO ": $name " >> "$nlist"
+- eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+- }
++ case $host in
++ *cygwin* | *mingw* | *cegcc* )
++ # if an import library, we need to obtain dlname
++ if func_win32_import_lib_p "$dlprefile"; then
++ func_tr_sh "$dlprefile"
++ eval "curr_lafile=\$libfile_$func_tr_sh_result"
++ dlprefile_dlbasename=""
++ if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
++ # Use subshell, to avoid clobbering current variable values
++ dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
++ if test -n "$dlprefile_dlname" ; then
++ func_basename "$dlprefile_dlname"
++ dlprefile_dlbasename="$func_basename_result"
++ else
++ # no lafile. user explicitly requested -dlpreopen <import library>.
++ $sharedlib_from_linklib_cmd "$dlprefile"
++ dlprefile_dlbasename=$sharedlib_from_linklib_result
++ fi
++ fi
++ $opt_dry_run || {
++ if test -n "$dlprefile_dlbasename" ; then
++ eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
++ else
++ func_warning "Could not compute DLL name from $name"
++ eval '$ECHO ": $name " >> "$nlist"'
++ fi
++ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
++ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
++ $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
++ }
++ else # not an import lib
++ $opt_dry_run || {
++ eval '$ECHO ": $name " >> "$nlist"'
++ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
++ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
++ }
++ fi
++ ;;
++ *)
++ $opt_dry_run || {
++ eval '$ECHO ": $name " >> "$nlist"'
++ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
++ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
++ }
++ ;;
++ esac
+ done
+
+ $opt_dry_run || {
+@@ -2661,26 +3435,9 @@
+ const char *name;
+ void *address;
+ } lt_dlsymlist;
+-"
+- case $host in
+- *cygwin* | *mingw* | *cegcc* )
+- echo >> "$output_objdir/$my_dlsyms" "\
+-/* DATA imports from DLLs on WIN32 con't be const, because
+- runtime relocations are performed -- see ld's documentation
+- on pseudo-relocs. */"
+- lt_dlsym_const= ;;
+- *osf5*)
+- echo >> "$output_objdir/$my_dlsyms" "\
+-/* This system does not cope well with relocations in const data */"
+- lt_dlsym_const= ;;
+- *)
+- lt_dlsym_const=const ;;
+- esac
+-
+- echo >> "$output_objdir/$my_dlsyms" "\
+-extern $lt_dlsym_const lt_dlsymlist
++extern LT_DLSYM_CONST lt_dlsymlist
+ lt_${my_prefix}_LTX_preloaded_symbols[];
+-$lt_dlsym_const lt_dlsymlist
++LT_DLSYM_CONST lt_dlsymlist
+ lt_${my_prefix}_LTX_preloaded_symbols[] =
+ {\
+ { \"$my_originator\", (void *) 0 },"
+@@ -2736,7 +3493,7 @@
+ for arg in $LTCFLAGS; do
+ case $arg in
+ -pie | -fpie | -fPIE) ;;
+- *) symtab_cflags="$symtab_cflags $arg" ;;
++ *) func_append symtab_cflags " $arg" ;;
+ esac
+ done
+
+@@ -2796,9 +3553,11 @@
+ win32_libid_type="x86 archive import"
+ ;;
+ *ar\ archive*) # could be an import, or static
+- if $OBJDUMP -f "$1" | $SED -e '10q' 2>/dev/null |
+- $EGREP 'file format (pe-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
+- win32_nmres=`$NM -f posix -A "$1" |
++ # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
++ if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
++ $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
++ func_to_tool_file "$1" func_convert_file_msys_to_w32
++ win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
+ $SED -n -e '
+ 1,100{
+ / I /{
+@@ -2827,6 +3586,131 @@
+ $ECHO "$win32_libid_type"
+ }
+
++# func_cygming_dll_for_implib ARG
++#
++# Platform-specific function to extract the
++# name of the DLL associated with the specified
++# import library ARG.
++# Invoked by eval'ing the libtool variable
++# $sharedlib_from_linklib_cmd
++# Result is available in the variable
++# $sharedlib_from_linklib_result
++func_cygming_dll_for_implib ()
++{
++ $opt_debug
++ sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
++}
++
++# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
++#
++# The is the core of a fallback implementation of a
++# platform-specific function to extract the name of the
++# DLL associated with the specified import library LIBNAME.
++#
++# SECTION_NAME is either .idata$6 or .idata$7, depending
++# on the platform and compiler that created the implib.
++#
++# Echos the name of the DLL associated with the
++# specified import library.
++func_cygming_dll_for_implib_fallback_core ()
++{
++ $opt_debug
++ match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
++ $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
++ $SED '/^Contents of section '"$match_literal"':/{
++ # Place marker at beginning of archive member dllname section
++ s/.*/====MARK====/
++ p
++ d
++ }
++ # These lines can sometimes be longer than 43 characters, but
++ # are always uninteresting
++ /:[ ]*file format pe[i]\{,1\}-/d
++ /^In archive [^:]*:/d
++ # Ensure marker is printed
++ /^====MARK====/p
++ # Remove all lines with less than 43 characters
++ /^.\{43\}/!d
++ # From remaining lines, remove first 43 characters
++ s/^.\{43\}//' |
++ $SED -n '
++ # Join marker and all lines until next marker into a single line
++ /^====MARK====/ b para
++ H
++ $ b para
++ b
++ :para
++ x
++ s/\n//g
++ # Remove the marker
++ s/^====MARK====//
++ # Remove trailing dots and whitespace
++ s/[\. \t]*$//
++ # Print
++ /./p' |
++ # we now have a list, one entry per line, of the stringified
++ # contents of the appropriate section of all members of the
++ # archive which possess that section. Heuristic: eliminate
++ # all those which have a first or second character that is
++ # a '.' (that is, objdump's representation of an unprintable
++ # character.) This should work for all archives with less than
++ # 0x302f exports -- but will fail for DLLs whose name actually
++ # begins with a literal '.' or a single character followed by
++ # a '.'.
++ #
++ # Of those that remain, print the first one.
++ $SED -e '/^\./d;/^.\./d;q'
++}
++
++# func_cygming_gnu_implib_p ARG
++# This predicate returns with zero status (TRUE) if
++# ARG is a GNU/binutils-style import library. Returns
++# with nonzero status (FALSE) otherwise.
++func_cygming_gnu_implib_p ()
++{
++ $opt_debug
++ func_to_tool_file "$1" func_convert_file_msys_to_w32
++ func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
++ test -n "$func_cygming_gnu_implib_tmp"
++}
++
++# func_cygming_ms_implib_p ARG
++# This predicate returns with zero status (TRUE) if
++# ARG is an MS-style import library. Returns
++# with nonzero status (FALSE) otherwise.
++func_cygming_ms_implib_p ()
++{
++ $opt_debug
++ func_to_tool_file "$1" func_convert_file_msys_to_w32
++ func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
++ test -n "$func_cygming_ms_implib_tmp"
++}
++
++# func_cygming_dll_for_implib_fallback ARG
++# Platform-specific function to extract the
++# name of the DLL associated with the specified
++# import library ARG.
++#
++# This fallback implementation is for use when $DLLTOOL
++# does not support the --identify-strict option.
++# Invoked by eval'ing the libtool variable
++# $sharedlib_from_linklib_cmd
++# Result is available in the variable
++# $sharedlib_from_linklib_result
++func_cygming_dll_for_implib_fallback ()
++{
++ $opt_debug
++ if func_cygming_gnu_implib_p "$1" ; then
++ # binutils import library
++ sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
++ elif func_cygming_ms_implib_p "$1" ; then
++ # ms-generated import library
++ sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
++ else
++ # unknown
++ sharedlib_from_linklib_result=""
++ fi
++}
+
+
+ # func_extract_an_archive dir oldlib
+@@ -2917,7 +3801,7 @@
+ darwin_file=
+ darwin_files=
+ for darwin_file in $darwin_filelist; do
+- darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
++ darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
+ $LIPO -create -output "$darwin_file" $darwin_files
+ done # $darwin_filelist
+ $RM -rf unfat-$$
+@@ -2932,7 +3816,7 @@
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ ;;
+ esac
+- my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
++ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
+ done
+
+ func_extract_archives_result="$my_oldobjs"
+@@ -3014,7 +3898,110 @@
+ _LTECHO_EOF'
+ }
+ ECHO=\"$qECHO\"
+- fi\
++ fi
++
++# Very basic option parsing. These options are (a) specific to
++# the libtool wrapper, (b) are identical between the wrapper
++# /script/ and the wrapper /executable/ which is used only on
++# windows platforms, and (c) all begin with the string "--lt-"
++# (application programs are unlikely to have options which match
++# this pattern).
++#
++# There are only two supported options: --lt-debug and
++# --lt-dump-script. There is, deliberately, no --lt-help.
++#
++# The first argument to this parsing function should be the
++# script's $0 value, followed by "$@".
++lt_option_debug=
++func_parse_lt_options ()
++{
++ lt_script_arg0=\$0
++ shift
++ for lt_opt
++ do
++ case \"\$lt_opt\" in
++ --lt-debug) lt_option_debug=1 ;;
++ --lt-dump-script)
++ lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
++ test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
++ lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
++ cat \"\$lt_dump_D/\$lt_dump_F\"
++ exit 0
++ ;;
++ --lt-*)
++ \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
++ exit 1
++ ;;
++ esac
++ done
++
++ # Print the debug banner immediately:
++ if test -n \"\$lt_option_debug\"; then
++ echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
++ fi
++}
++
++# Used when --lt-debug. Prints its arguments to stdout
++# (redirection is the responsibility of the caller)
++func_lt_dump_args ()
++{
++ lt_dump_args_N=1;
++ for lt_arg
++ do
++ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
++ lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
++ done
++}
++
++# Core function for launching the target application
++func_exec_program_core ()
++{
++"
++ case $host in
++ # Backslashes separate directories on plain windows
++ *-*-mingw | *-*-os2* | *-cegcc*)
++ $ECHO "\
++ if test -n \"\$lt_option_debug\"; then
++ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
++ func_lt_dump_args \${1+\"\$@\"} 1>&2
++ fi
++ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
++"
++ ;;
++
++ *)
++ $ECHO "\
++ if test -n \"\$lt_option_debug\"; then
++ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
++ func_lt_dump_args \${1+\"\$@\"} 1>&2
++ fi
++ exec \"\$progdir/\$program\" \${1+\"\$@\"}
++"
++ ;;
++ esac
++ $ECHO "\
++ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
++ exit 1
++}
++
++# A function to encapsulate launching the target application
++# Strips options in the --lt-* namespace from \$@ and
++# launches target application with the remaining arguments.
++func_exec_program ()
++{
++ for lt_wr_arg
++ do
++ case \$lt_wr_arg in
++ --lt-*) ;;
++ *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
++ esac
++ shift
++ done
++ func_exec_program_core \${1+\"\$@\"}
++}
++
++ # Parse options
++ func_parse_lt_options \"\$0\" \${1+\"\$@\"}
+
+ # Find the directory that this script lives in.
+ thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
+@@ -3078,7 +4065,7 @@
+
+ # relink executable if necessary
+ if test -n \"\$relink_command\"; then
+- if relink_command_output=\`eval \"\$relink_command\" 2>&1\`; then :
++ if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+ else
+ $ECHO \"\$relink_command_output\" >&2
+ $RM \"\$progdir/\$file\"
+@@ -3102,6 +4089,18 @@
+
+ if test -f \"\$progdir/\$program\"; then"
+
++ # fixup the dll searchpath if we need to.
++ #
++ # Fix the DLL searchpath if we need to. Do this before prepending
++ # to shlibpath, because on Windows, both are PATH and uninstalled
++ # libraries must come first.
++ if test -n "$dllsearchpath"; then
++ $ECHO "\
++ # Add the dll search path components to the executable PATH
++ PATH=$dllsearchpath:\$PATH
++"
++ fi
++
+ # Export our shlibpath_var if we have one.
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ $ECHO "\
+@@ -3116,35 +4115,10 @@
+ "
+ fi
+
+- # fixup the dll searchpath if we need to.
+- if test -n "$dllsearchpath"; then
+- $ECHO "\
+- # Add the dll search path components to the executable PATH
+- PATH=$dllsearchpath:\$PATH
+-"
+- fi
+-
+ $ECHO "\
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ # Run the actual program with our arguments.
+-"
+- case $host in
+- # Backslashes separate directories on plain windows
+- *-*-mingw | *-*-os2* | *-cegcc*)
+- $ECHO "\
+- exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+-"
+- ;;
+-
+- *)
+- $ECHO "\
+- exec \"\$progdir/\$program\" \${1+\"\$@\"}
+-"
+- ;;
+- esac
+- $ECHO "\
+- \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+- exit 1
++ func_exec_program \${1+\"\$@\"}
+ fi
+ else
+ # The program doesn't exist.
+@@ -3158,166 +4132,6 @@
+ }
+
+
+-# func_to_host_path arg
+-#
+-# Convert paths to host format when used with build tools.
+-# Intended for use with "native" mingw (where libtool itself
+-# is running under the msys shell), or in the following cross-
+-# build environments:
+-# $build $host
+-# mingw (msys) mingw [e.g. native]
+-# cygwin mingw
+-# *nix + wine mingw
+-# where wine is equipped with the `winepath' executable.
+-# In the native mingw case, the (msys) shell automatically
+-# converts paths for any non-msys applications it launches,
+-# but that facility isn't available from inside the cwrapper.
+-# Similar accommodations are necessary for $host mingw and
+-# $build cygwin. Calling this function does no harm for other
+-# $host/$build combinations not listed above.
+-#
+-# ARG is the path (on $build) that should be converted to
+-# the proper representation for $host. The result is stored
+-# in $func_to_host_path_result.
+-func_to_host_path ()
+-{
+- func_to_host_path_result="$1"
+- if test -n "$1"; then
+- case $host in
+- *mingw* )
+- lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+- case $build in
+- *mingw* ) # actually, msys
+- # awkward: cmd appends spaces to result
+- func_to_host_path_result=`( cmd //c echo "$1" ) 2>/dev/null |
+- $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
+- ;;
+- *cygwin* )
+- func_to_host_path_result=`cygpath -w "$1" |
+- $SED -e "$lt_sed_naive_backslashify"`
+- ;;
+- * )
+- # Unfortunately, winepath does not exit with a non-zero
+- # error code, so we are forced to check the contents of
+- # stdout. On the other hand, if the command is not
+- # found, the shell will set an exit code of 127 and print
+- # *an error message* to stdout. So we must check for both
+- # error code of zero AND non-empty stdout, which explains
+- # the odd construction:
+- func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
+- if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
+- func_to_host_path_result=`$ECHO "$func_to_host_path_tmp1" |
+- $SED -e "$lt_sed_naive_backslashify"`
+- else
+- # Allow warning below.
+- func_to_host_path_result=
+- fi
+- ;;
+- esac
+- if test -z "$func_to_host_path_result" ; then
+- func_error "Could not determine host path corresponding to"
+- func_error " \`$1'"
+- func_error "Continuing, but uninstalled executables may not work."
+- # Fallback:
+- func_to_host_path_result="$1"
+- fi
+- ;;
+- esac
+- fi
+-}
+-# end: func_to_host_path
+-
+-# func_to_host_pathlist arg
+-#
+-# Convert pathlists to host format when used with build tools.
+-# See func_to_host_path(), above. This function supports the
+-# following $build/$host combinations (but does no harm for
+-# combinations not listed here):
+-# $build $host
+-# mingw (msys) mingw [e.g. native]
+-# cygwin mingw
+-# *nix + wine mingw
+-#
+-# Path separators are also converted from $build format to
+-# $host format. If ARG begins or ends with a path separator
+-# character, it is preserved (but converted to $host format)
+-# on output.
+-#
+-# ARG is a pathlist (on $build) that should be converted to
+-# the proper representation on $host. The result is stored
+-# in $func_to_host_pathlist_result.
+-func_to_host_pathlist ()
+-{
+- func_to_host_pathlist_result="$1"
+- if test -n "$1"; then
+- case $host in
+- *mingw* )
+- lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+- # Remove leading and trailing path separator characters from
+- # ARG. msys behavior is inconsistent here, cygpath turns them
+- # into '.;' and ';.', and winepath ignores them completely.
+- func_stripname : : "$1"
+- func_to_host_pathlist_tmp1=$func_stripname_result
+- case $build in
+- *mingw* ) # Actually, msys.
+- # Awkward: cmd appends spaces to result.
+- func_to_host_pathlist_result=`
+- ( cmd //c echo "$func_to_host_pathlist_tmp1" ) 2>/dev/null |
+- $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
+- ;;
+- *cygwin* )
+- func_to_host_pathlist_result=`cygpath -w -p "$func_to_host_pathlist_tmp1" |
+- $SED -e "$lt_sed_naive_backslashify"`
+- ;;
+- * )
+- # unfortunately, winepath doesn't convert pathlists
+- func_to_host_pathlist_result=""
+- func_to_host_pathlist_oldIFS=$IFS
+- IFS=:
+- for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
+- IFS=$func_to_host_pathlist_oldIFS
+- if test -n "$func_to_host_pathlist_f" ; then
+- func_to_host_path "$func_to_host_pathlist_f"
+- if test -n "$func_to_host_path_result" ; then
+- if test -z "$func_to_host_pathlist_result" ; then
+- func_to_host_pathlist_result="$func_to_host_path_result"
+- else
+- func_append func_to_host_pathlist_result ";$func_to_host_path_result"
+- fi
+- fi
+- fi
+- done
+- IFS=$func_to_host_pathlist_oldIFS
+- ;;
+- esac
+- if test -z "$func_to_host_pathlist_result"; then
+- func_error "Could not determine the host path(s) corresponding to"
+- func_error " \`$1'"
+- func_error "Continuing, but uninstalled executables may not work."
+- # Fallback. This may break if $1 contains DOS-style drive
+- # specifications. The fix is not to complicate the expression
+- # below, but for the user to provide a working wine installation
+- # with winepath so that path translation in the cross-to-mingw
+- # case works properly.
+- lt_replace_pathsep_nix_to_dos="s|:|;|g"
+- func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
+- $SED -e "$lt_replace_pathsep_nix_to_dos"`
+- fi
+- # Now, add the leading and trailing path separators back
+- case "$1" in
+- :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
+- ;;
+- esac
+- case "$1" in
+- *: ) func_append func_to_host_pathlist_result ";"
+- ;;
+- esac
+- ;;
+- esac
+- fi
+-}
+-# end: func_to_host_pathlist
+-
+ # func_emit_cwrapperexe_src
+ # emit the source code for a wrapper executable on stdout
+ # Must ONLY be called from within func_mode_link because
+@@ -3334,10 +4148,6 @@
+
+ This wrapper executable should never be moved out of the build directory.
+ If it is, it will not operate correctly.
+-
+- Currently, it simply execs the wrapper *script* "$SHELL $output",
+- but could eventually absorb all of the scripts functionality and
+- exec $objdir/$outputname directly.
+ */
+ EOF
+ cat <<"EOF"
+@@ -3462,22 +4272,13 @@
+ if (stale) { free ((void *) stale); stale = 0; } \
+ } while (0)
+
+-#undef LTWRAPPER_DEBUGPRINTF
+-#if defined LT_DEBUGWRAPPER
+-# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
+-static void
+-ltwrapper_debugprintf (const char *fmt, ...)
+-{
+- va_list args;
+- va_start (args, fmt);
+- (void) vfprintf (stderr, fmt, args);
+- va_end (args);
+-}
++#if defined(LT_DEBUGWRAPPER)
++static int lt_debug = 1;
+ #else
+-# define LTWRAPPER_DEBUGPRINTF(args)
++static int lt_debug = 0;
+ #endif
+
+-const char *program_name = NULL;
++const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
+
+ void *xmalloc (size_t num);
+ char *xstrdup (const char *string);
+@@ -3487,7 +4288,10 @@
+ int make_executable (const char *path);
+ int check_executable (const char *path);
+ char *strendzap (char *str, const char *pat);
+-void lt_fatal (const char *message, ...);
++void lt_debugprintf (const char *file, int line, const char *fmt, ...);
++void lt_fatal (const char *file, int line, const char *message, ...);
++static const char *nonnull (const char *s);
++static const char *nonempty (const char *s);
+ void lt_setenv (const char *name, const char *value);
+ char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+ void lt_update_exe_path (const char *name, const char *value);
+@@ -3497,14 +4301,14 @@
+ EOF
+
+ cat <<EOF
+-const char * MAGIC_EXE = "$magic_exe";
++volatile const char * MAGIC_EXE = "$magic_exe";
+ const char * LIB_PATH_VARNAME = "$shlibpath_var";
+ EOF
+
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+- func_to_host_pathlist "$temp_rpath"
++ func_to_host_path "$temp_rpath"
+ cat <<EOF
+-const char * LIB_PATH_VALUE = "$func_to_host_pathlist_result";
++const char * LIB_PATH_VALUE = "$func_to_host_path_result";
+ EOF
+ else
+ cat <<"EOF"
+@@ -3513,10 +4317,10 @@
+ fi
+
+ if test -n "$dllsearchpath"; then
+- func_to_host_pathlist "$dllsearchpath:"
++ func_to_host_path "$dllsearchpath:"
+ cat <<EOF
+ const char * EXE_PATH_VARNAME = "PATH";
+-const char * EXE_PATH_VALUE = "$func_to_host_pathlist_result";
++const char * EXE_PATH_VALUE = "$func_to_host_path_result";
+ EOF
+ else
+ cat <<"EOF"
+@@ -3539,12 +4343,10 @@
+ cat <<"EOF"
+
+ #define LTWRAPPER_OPTION_PREFIX "--lt-"
+-#define LTWRAPPER_OPTION_PREFIX_LENGTH 5
+
+-static const size_t opt_prefix_len = LTWRAPPER_OPTION_PREFIX_LENGTH;
+ static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+-
+ static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
++static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug";
+
+ int
+ main (int argc, char *argv[])
+@@ -3561,10 +4363,13 @@
+ int i;
+
+ program_name = (char *) xstrdup (base_name (argv[0]));
+- LTWRAPPER_DEBUGPRINTF (("(main) argv[0] : %s\n", argv[0]));
+- LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
++ newargz = XMALLOC (char *, argc + 1);
+
+- /* very simple arg parsing; don't want to rely on getopt */
++ /* very simple arg parsing; don't want to rely on getopt
++ * also, copy all non cwrapper options to newargz, except
++ * argz[0], which is handled differently
++ */
++ newargc=0;
+ for (i = 1; i < argc; i++)
+ {
+ if (strcmp (argv[i], dumpscript_opt) == 0)
+@@ -3581,21 +4386,54 @@
+ lt_dump_script (stdout);
+ return 0;
+ }
++ if (strcmp (argv[i], debug_opt) == 0)
++ {
++ lt_debug = 1;
++ continue;
++ }
++ if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
++ {
++ /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
++ namespace, but it is not one of the ones we know about and
++ have already dealt with, above (inluding dump-script), then
++ report an error. Otherwise, targets might begin to believe
++ they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
++ namespace. The first time any user complains about this, we'll
++ need to make LTWRAPPER_OPTION_PREFIX a configure-time option
++ or a configure.ac-settable value.
++ */
++ lt_fatal (__FILE__, __LINE__,
++ "unrecognized %s option: '%s'",
++ ltwrapper_option_prefix, argv[i]);
++ }
++ /* otherwise ... */
++ newargz[++newargc] = xstrdup (argv[i]);
+ }
++ newargz[++newargc] = NULL;
++
++EOF
++ cat <<EOF
++ /* The GNU banner must be the first non-error debug message */
++ lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
++EOF
++ cat <<"EOF"
++ lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
++ lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
+
+- newargz = XMALLOC (char *, argc + 1);
+ tmp_pathspec = find_executable (argv[0]);
+ if (tmp_pathspec == NULL)
+- lt_fatal ("Couldn't find %s", argv[0]);
+- LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
+- tmp_pathspec));
++ lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
++ lt_debugprintf (__FILE__, __LINE__,
++ "(main) found exe (before symlink chase) at: %s\n",
++ tmp_pathspec);
+
+ actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+- LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
+- actual_cwrapper_path));
++ lt_debugprintf (__FILE__, __LINE__,
++ "(main) found exe (after symlink chase) at: %s\n",
++ actual_cwrapper_path);
+ XFREE (tmp_pathspec);
+
+- actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
++ actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
+ strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+ /* wrapper name transforms */
+@@ -3613,8 +4451,9 @@
+ target_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+- LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
+- target_name));
++ lt_debugprintf (__FILE__, __LINE__,
++ "(main) libtool target name: %s\n",
++ target_name);
+ EOF
+
+ cat <<EOF
+@@ -3664,35 +4503,19 @@
+
+ lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+ lt_setenv ("DUALCASE", "1"); /* for MSK sh */
+- lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
++ /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must
++ be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
++ because on Windows, both *_VARNAMEs are PATH but uninstalled
++ libraries must come first. */
+ lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
++ lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+
+- newargc=0;
+- for (i = 1; i < argc; i++)
+- {
+- if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
+- {
+- /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+- namespace, but it is not one of the ones we know about and
+- have already dealt with, above (inluding dump-script), then
+- report an error. Otherwise, targets might begin to believe
+- they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+- namespace. The first time any user complains about this, we'll
+- need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+- or a configure.ac-settable value.
+- */
+- lt_fatal ("Unrecognized option in %s namespace: '%s'",
+- ltwrapper_option_prefix, argv[i]);
+- }
+- /* otherwise ... */
+- newargz[++newargc] = xstrdup (argv[i]);
+- }
+- newargz[++newargc] = NULL;
+-
+- LTWRAPPER_DEBUGPRINTF (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
++ lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
++ nonnull (lt_argv_zero));
+ for (i = 0; i < newargc; i++)
+ {
+- LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
++ lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
++ i, nonnull (newargz[i]));
+ }
+
+ EOF
+@@ -3706,7 +4529,9 @@
+ if (rval == -1)
+ {
+ /* failed to start process */
+- LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
++ lt_debugprintf (__FILE__, __LINE__,
++ "(main) failed to launch target \"%s\": %s\n",
++ lt_argv_zero, nonnull (strerror (errno)));
+ return 127;
+ }
+ return rval;
+@@ -3728,7 +4553,7 @@
+ {
+ void *p = (void *) malloc (num);
+ if (!p)
+- lt_fatal ("Memory exhausted");
++ lt_fatal (__FILE__, __LINE__, "memory exhausted");
+
+ return p;
+ }
+@@ -3762,8 +4587,8 @@
+ {
+ struct stat st;
+
+- LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n",
+- path ? (*path ? path : "EMPTY!") : "NULL!"));
++ lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
++ nonempty (path));
+ if ((!path) || (!*path))
+ return 0;
+
+@@ -3780,8 +4605,8 @@
+ int rval = 0;
+ struct stat st;
+
+- LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n",
+- path ? (*path ? path : "EMPTY!") : "NULL!"));
++ lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
++ nonempty (path));
+ if ((!path) || (!*path))
+ return 0;
+
+@@ -3807,8 +4632,8 @@
+ int tmp_len;
+ char *concat_name;
+
+- LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n",
+- wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
++ lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
++ nonempty (wrapper));
+
+ if ((wrapper == NULL) || (*wrapper == '\0'))
+ return NULL;
+@@ -3861,7 +4686,8 @@
+ {
+ /* empty path: current directory */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+- lt_fatal ("getcwd failed");
++ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
++ nonnull (strerror (errno)));
+ tmp_len = strlen (tmp);
+ concat_name =
+ XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+@@ -3886,7 +4712,8 @@
+ }
+ /* Relative path | not found in path: prepend cwd */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+- lt_fatal ("getcwd failed");
++ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
++ nonnull (strerror (errno)));
+ tmp_len = strlen (tmp);
+ concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+@@ -3912,8 +4739,9 @@
+ int has_symlinks = 0;
+ while (strlen (tmp_pathspec) && !has_symlinks)
+ {
+- LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
+- tmp_pathspec));
++ lt_debugprintf (__FILE__, __LINE__,
++ "checking path component for symlinks: %s\n",
++ tmp_pathspec);
+ if (lstat (tmp_pathspec, &s) == 0)
+ {
+ if (S_ISLNK (s.st_mode) != 0)
+@@ -3935,8 +4763,9 @@
+ }
+ else
+ {
+- char *errstr = strerror (errno);
+- lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
++ lt_fatal (__FILE__, __LINE__,
++ "error accessing file \"%s\": %s",
++ tmp_pathspec, nonnull (strerror (errno)));
+ }
+ }
+ XFREE (tmp_pathspec);
+@@ -3949,7 +4778,8 @@
+ tmp_pathspec = realpath (pathspec, buf);
+ if (tmp_pathspec == 0)
+ {
+- lt_fatal ("Could not follow symlinks for %s", pathspec);
++ lt_fatal (__FILE__, __LINE__,
++ "could not follow symlinks for %s", pathspec);
+ }
+ return xstrdup (tmp_pathspec);
+ #endif
+@@ -3975,11 +4805,25 @@
+ return str;
+ }
+
++void
++lt_debugprintf (const char *file, int line, const char *fmt, ...)
++{
++ va_list args;
++ if (lt_debug)
++ {
++ (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
++ va_start (args, fmt);
++ (void) vfprintf (stderr, fmt, args);
++ va_end (args);
++ }
++}
++
+ static void
+-lt_error_core (int exit_status, const char *mode,
++lt_error_core (int exit_status, const char *file,
++ int line, const char *mode,
+ const char *message, va_list ap)
+ {
+- fprintf (stderr, "%s: %s: ", program_name, mode);
++ fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
+ vfprintf (stderr, message, ap);
+ fprintf (stderr, ".\n");
+
+@@ -3988,20 +4832,32 @@
+ }
+
+ void
+-lt_fatal (const char *message, ...)
++lt_fatal (const char *file, int line, const char *message, ...)
+ {
+ va_list ap;
+ va_start (ap, message);
+- lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
++ lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
+ va_end (ap);
+ }
+
++static const char *
++nonnull (const char *s)
++{
++ return s ? s : "(null)";
++}
++
++static const char *
++nonempty (const char *s)
++{
++ return (s && !*s) ? "(empty)" : nonnull (s);
++}
++
+ void
+ lt_setenv (const char *name, const char *value)
+ {
+- LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
+- (name ? name : "<NULL>"),
+- (value ? value : "<NULL>")));
++ lt_debugprintf (__FILE__, __LINE__,
++ "(lt_setenv) setting '%s' to '%s'\n",
++ nonnull (name), nonnull (value));
+ {
+ #ifdef HAVE_SETENV
+ /* always make a copy, for consistency with !HAVE_SETENV */
+@@ -4049,9 +4905,9 @@
+ void
+ lt_update_exe_path (const char *name, const char *value)
+ {
+- LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+- (name ? name : "<NULL>"),
+- (value ? value : "<NULL>")));
++ lt_debugprintf (__FILE__, __LINE__,
++ "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
++ nonnull (name), nonnull (value));
+
+ if (name && *name && value && *value)
+ {
+@@ -4070,9 +4926,9 @@
+ void
+ lt_update_lib_path (const char *name, const char *value)
+ {
+- LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+- (name ? name : "<NULL>"),
+- (value ? value : "<NULL>")));
++ lt_debugprintf (__FILE__, __LINE__,
++ "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
++ nonnull (name), nonnull (value));
+
+ if (name && *name && value && *value)
+ {
+@@ -4222,7 +5078,7 @@
+ func_win32_import_lib_p ()
+ {
+ $opt_debug
+- case `eval "$file_magic_cmd \"\$1\" 2>/dev/null" | $SED -e 10q` in
++ case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
+ *import*) : ;;
+ *) false ;;
+ esac
+@@ -4401,9 +5257,9 @@
+ ;;
+ *)
+ if test "$prev" = dlfiles; then
+- dlfiles="$dlfiles $arg"
++ func_append dlfiles " $arg"
+ else
+- dlprefiles="$dlprefiles $arg"
++ func_append dlprefiles " $arg"
+ fi
+ prev=
+ continue
+@@ -4427,7 +5283,7 @@
+ *-*-darwin*)
+ case "$deplibs " in
+ *" $qarg.ltframework "*) ;;
+- *) deplibs="$deplibs $qarg.ltframework" # this is fixed later
++ *) func_append deplibs " $qarg.ltframework" # this is fixed later
+ ;;
+ esac
+ ;;
+@@ -4446,7 +5302,7 @@
+ moreargs=
+ for fil in `cat "$save_arg"`
+ do
+-# moreargs="$moreargs $fil"
++# func_append moreargs " $fil"
+ arg=$fil
+ # A libtool-controlled object.
+
+@@ -4475,7 +5331,7 @@
+
+ if test "$prev" = dlfiles; then
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+- dlfiles="$dlfiles $pic_object"
++ func_append dlfiles " $pic_object"
+ prev=
+ continue
+ else
+@@ -4487,7 +5343,7 @@
+ # CHECK ME: I think I busted this. -Ossama
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+- dlprefiles="$dlprefiles $pic_object"
++ func_append dlprefiles " $pic_object"
+ prev=
+ fi
+
+@@ -4557,12 +5413,12 @@
+ if test "$prev" = rpath; then
+ case "$rpath " in
+ *" $arg "*) ;;
+- *) rpath="$rpath $arg" ;;
++ *) func_append rpath " $arg" ;;
+ esac
+ else
+ case "$xrpath " in
+ *" $arg "*) ;;
+- *) xrpath="$xrpath $arg" ;;
++ *) func_append xrpath " $arg" ;;
+ esac
+ fi
+ prev=
+@@ -4574,28 +5430,28 @@
+ continue
+ ;;
+ weak)
+- weak_libs="$weak_libs $arg"
++ func_append weak_libs " $arg"
+ prev=
+ continue
+ ;;
+ xcclinker)
+- linker_flags="$linker_flags $qarg"
+- compiler_flags="$compiler_flags $qarg"
++ func_append linker_flags " $qarg"
++ func_append compiler_flags " $qarg"
+ prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
+ continue
+ ;;
+ xcompiler)
+- compiler_flags="$compiler_flags $qarg"
++ func_append compiler_flags " $qarg"
+ prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
+ continue
+ ;;
+ xlinker)
+- linker_flags="$linker_flags $qarg"
+- compiler_flags="$compiler_flags $wl$qarg"
++ func_append linker_flags " $qarg"
++ func_append compiler_flags " $wl$qarg"
+ prev=
+ func_append compile_command " $wl$qarg"
+ func_append finalize_command " $wl$qarg"
+@@ -4686,15 +5542,16 @@
+ ;;
+
+ -L*)
+- func_stripname '-L' '' "$arg"
+- dir=$func_stripname_result
+- if test -z "$dir"; then
++ func_stripname "-L" '' "$arg"
++ if test -z "$func_stripname_result"; then
+ if test "$#" -gt 0; then
+ func_fatal_error "require no space between \`-L' and \`$1'"
+ else
+ func_fatal_error "need path for \`-L' option"
+ fi
+ fi
++ func_resolve_sysroot "$func_stripname_result"
++ dir=$func_resolve_sysroot_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+@@ -4706,10 +5563,16 @@
+ ;;
+ esac
+ case "$deplibs " in
+- *" -L$dir "*) ;;
++ *" -L$dir "* | *" $arg "*)
++ # Will only happen for absolute or sysroot arguments
++ ;;
+ *)
+- deplibs="$deplibs -L$dir"
+- lib_search_path="$lib_search_path $dir"
++ # Preserve sysroot, but never include relative directories
++ case $dir in
++ [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
++ *) func_append deplibs " -L$dir" ;;
++ esac
++ func_append lib_search_path " $dir"
+ ;;
+ esac
+ case $host in
+@@ -4718,12 +5581,12 @@
+ case :$dllsearchpath: in
+ *":$dir:"*) ;;
+ ::) dllsearchpath=$dir;;
+- *) dllsearchpath="$dllsearchpath:$dir";;
++ *) func_append dllsearchpath ":$dir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+- *) dllsearchpath="$dllsearchpath:$testbindir";;
++ *) func_append dllsearchpath ":$testbindir";;
+ esac
+ ;;
+ esac
+@@ -4747,7 +5610,7 @@
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C and math libraries are in the System framework
+- deplibs="$deplibs System.ltframework"
++ func_append deplibs " System.ltframework"
+ continue
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+@@ -4758,9 +5621,6 @@
+ # Compiler inserts libc in the correct place for threads to work
+ test "X$arg" = "X-lc" && continue
+ ;;
+- *-*-linux*)
+- test "X$arg" = "X-lc" && continue
+- ;;
+ esac
+ elif test "X$arg" = "X-lc_r"; then
+ case $host in
+@@ -4770,7 +5630,7 @@
+ ;;
+ esac
+ fi
+- deplibs="$deplibs $arg"
++ func_append deplibs " $arg"
+ continue
+ ;;
+
+@@ -4782,8 +5642,8 @@
+ # Tru64 UNIX uses -model [arg] to determine the layout of C++
+ # classes, name mangling, and exception handling.
+ # Darwin uses the -arch flag to determine output architecture.
+- -model|-arch|-isysroot)
+- compiler_flags="$compiler_flags $arg"
++ -model|-arch|-isysroot|--sysroot)
++ func_append compiler_flags " $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ prev=xcompiler
+@@ -4791,12 +5651,12 @@
+ ;;
+
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+- compiler_flags="$compiler_flags $arg"
++ func_append compiler_flags " $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ case "$new_inherited_linker_flags " in
+ *" $arg "*) ;;
+- * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
++ * ) func_append new_inherited_linker_flags " $arg" ;;
+ esac
+ continue
+ ;;
+@@ -4863,13 +5723,17 @@
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
++ =*)
++ func_stripname '=' '' "$dir"
++ dir=$lt_sysroot$func_stripname_result
++ ;;
+ *)
+ func_fatal_error "only absolute run-paths are allowed"
+ ;;
+ esac
+ case "$xrpath " in
+ *" $dir "*) ;;
+- *) xrpath="$xrpath $dir" ;;
++ *) func_append xrpath " $dir" ;;
+ esac
+ continue
+ ;;
+@@ -4922,8 +5786,8 @@
+ for flag in $args; do
+ IFS="$save_ifs"
+ func_quote_for_eval "$flag"
+- arg="$arg $func_quote_for_eval_result"
+- compiler_flags="$compiler_flags $func_quote_for_eval_result"
++ func_append arg " $func_quote_for_eval_result"
++ func_append compiler_flags " $func_quote_for_eval_result"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$arg"
+@@ -4938,9 +5802,9 @@
+ for flag in $args; do
+ IFS="$save_ifs"
+ func_quote_for_eval "$flag"
+- arg="$arg $wl$func_quote_for_eval_result"
+- compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
+- linker_flags="$linker_flags $func_quote_for_eval_result"
++ func_append arg " $wl$func_quote_for_eval_result"
++ func_append compiler_flags " $wl$func_quote_for_eval_result"
++ func_append linker_flags " $func_quote_for_eval_result"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$arg"
+@@ -4968,24 +5832,27 @@
+ arg="$func_quote_for_eval_result"
+ ;;
+
+- # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+- # -r[0-9][0-9]* specifies the processor on the SGI compiler
+- # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+- # +DA*, +DD* enable 64-bit mode on the HP compiler
+- # -q* pass through compiler args for the IBM compiler
+- # -m*, -t[45]*, -txscale* pass through architecture-specific
+- # compiler args for GCC
+- # -F/path gives path to uninstalled frameworks, gcc on darwin
+- # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
+- # @file GCC response files
+- # -tp=* Portland pgcc target processor selection
++ # Flags to be passed through unchanged, with rationale:
++ # -64, -mips[0-9] enable 64-bit mode for the SGI compiler
++ # -r[0-9][0-9]* specify processor for the SGI compiler
++ # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
++ # +DA*, +DD* enable 64-bit mode for the HP compiler
++ # -q* compiler args for the IBM compiler
++ # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
++ # -F/path path to uninstalled frameworks, gcc on darwin
++ # -p, -pg, --coverage, -fprofile-* profiling flags for GCC
++ # @file GCC response files
++ # -tp=* Portland pgcc target processor selection
++ # --sysroot=* for sysroot support
++ # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*)
++ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
++ -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+- compiler_flags="$compiler_flags $arg"
++ func_append compiler_flags " $arg"
+ continue
+ ;;
+
+@@ -4997,7 +5864,7 @@
+
+ *.$objext)
+ # A standard object.
+- objs="$objs $arg"
++ func_append objs " $arg"
+ ;;
+
+ *.lo)
+@@ -5028,7 +5895,7 @@
+
+ if test "$prev" = dlfiles; then
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+- dlfiles="$dlfiles $pic_object"
++ func_append dlfiles " $pic_object"
+ prev=
+ continue
+ else
+@@ -5040,7 +5907,7 @@
+ # CHECK ME: I think I busted this. -Ossama
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+- dlprefiles="$dlprefiles $pic_object"
++ func_append dlprefiles " $pic_object"
+ prev=
+ fi
+
+@@ -5085,24 +5952,25 @@
+
+ *.$libext)
+ # An archive.
+- deplibs="$deplibs $arg"
+- old_deplibs="$old_deplibs $arg"
++ func_append deplibs " $arg"
++ func_append old_deplibs " $arg"
+ continue
+ ;;
+
+ *.la)
+ # A libtool-controlled library.
+
++ func_resolve_sysroot "$arg"
+ if test "$prev" = dlfiles; then
+ # This library was specified with -dlopen.
+- dlfiles="$dlfiles $arg"
++ func_append dlfiles " $func_resolve_sysroot_result"
+ prev=
+ elif test "$prev" = dlprefiles; then
+ # The library was specified with -dlpreopen.
+- dlprefiles="$dlprefiles $arg"
++ func_append dlprefiles " $func_resolve_sysroot_result"
+ prev=
+ else
+- deplibs="$deplibs $arg"
++ func_append deplibs " $func_resolve_sysroot_result"
+ fi
+ continue
+ ;;
+@@ -5127,7 +5995,7 @@
+ func_fatal_help "the \`$prevarg' option requires an argument"
+
+ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+- eval "arg=\"$export_dynamic_flag_spec\""
++ eval arg=\"$export_dynamic_flag_spec\"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ fi
+@@ -5144,11 +6012,13 @@
+ else
+ shlib_search_path=
+ fi
+- eval "sys_lib_search_path=\"$sys_lib_search_path_spec\""
+- eval "sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\""
++ eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
++ eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+ func_dirname "$output" "/" ""
+ output_objdir="$func_dirname_result$objdir"
++ func_to_tool_file "$output_objdir/"
++ tool_output_objdir=$func_to_tool_file_result
+ # Create the object directory.
+ func_mkdir_p "$output_objdir"
+
+@@ -5169,12 +6039,12 @@
+ # Find all interdependent deplibs by searching for libraries
+ # that are linked more than once (e.g. -la -lb -la)
+ for deplib in $deplibs; do
+- if $opt_duplicate_deps ; then
++ if $opt_preserve_dup_deps ; then
+ case "$libs " in
+- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
++ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+- libs="$libs $deplib"
++ func_append libs " $deplib"
+ done
+
+ if test "$linkmode" = lib; then
+@@ -5187,9 +6057,9 @@
+ if $opt_duplicate_compiler_generated_deps; then
+ for pre_post_dep in $predeps $postdeps; do
+ case "$pre_post_deps " in
+- *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
++ *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
+ esac
+- pre_post_deps="$pre_post_deps $pre_post_dep"
++ func_append pre_post_deps " $pre_post_dep"
+ done
+ fi
+ pre_post_deps=
+@@ -5256,8 +6126,9 @@
+ for lib in $dlprefiles; do
+ # Ignore non-libtool-libs
+ dependency_libs=
++ func_resolve_sysroot "$lib"
+ case $lib in
+- *.la) func_source "$lib" ;;
++ *.la) func_source "$func_resolve_sysroot_result" ;;
+ esac
+
+ # Collect preopened libtool deplibs, except any this library
+@@ -5267,7 +6138,7 @@
+ deplib_base=$func_basename_result
+ case " $weak_libs " in
+ *" $deplib_base "*) ;;
+- *) deplibs="$deplibs $deplib" ;;
++ *) func_append deplibs " $deplib" ;;
+ esac
+ done
+ done
+@@ -5288,11 +6159,11 @@
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+- compiler_flags="$compiler_flags $deplib"
++ func_append compiler_flags " $deplib"
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+- * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
++ * ) func_append new_inherited_linker_flags " $deplib" ;;
+ esac
+ fi
+ fi
+@@ -5377,7 +6248,7 @@
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+- * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
++ * ) func_append new_inherited_linker_flags " $deplib" ;;
+ esac
+ fi
+ fi
+@@ -5390,7 +6261,8 @@
+ test "$pass" = conv && continue
+ newdependency_libs="$deplib $newdependency_libs"
+ func_stripname '-L' '' "$deplib"
+- newlib_search_path="$newlib_search_path $func_stripname_result"
++ func_resolve_sysroot "$func_stripname_result"
++ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ prog)
+ if test "$pass" = conv; then
+@@ -5404,7 +6276,8 @@
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ func_stripname '-L' '' "$deplib"
+- newlib_search_path="$newlib_search_path $func_stripname_result"
++ func_resolve_sysroot "$func_stripname_result"
++ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ *)
+ func_warning "\`-L' is ignored for archives/objects"
+@@ -5415,17 +6288,21 @@
+ -R*)
+ if test "$pass" = link; then
+ func_stripname '-R' '' "$deplib"
+- dir=$func_stripname_result
++ func_resolve_sysroot "$func_stripname_result"
++ dir=$func_resolve_sysroot_result
+ # Make sure the xrpath contains only unique directories.
+ case "$xrpath " in
+ *" $dir "*) ;;
+- *) xrpath="$xrpath $dir" ;;
++ *) func_append xrpath " $dir" ;;
+ esac
+ fi
+ deplibs="$deplib $deplibs"
+ continue
+ ;;
+- *.la) lib="$deplib" ;;
++ *.la)
++ func_resolve_sysroot "$deplib"
++ lib=$func_resolve_sysroot_result
++ ;;
+ *.$libext)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+@@ -5488,11 +6365,11 @@
+ if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+ # If there is no dlopen support or we're linking statically,
+ # we need to preload.
+- newdlprefiles="$newdlprefiles $deplib"
++ func_append newdlprefiles " $deplib"
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+- newdlfiles="$newdlfiles $deplib"
++ func_append newdlfiles " $deplib"
+ fi
+ fi
+ continue
+@@ -5538,7 +6415,7 @@
+ for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+ case " $new_inherited_linker_flags " in
+ *" $tmp_inherited_linker_flag "*) ;;
+- *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
++ *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
+ esac
+ done
+ fi
+@@ -5546,8 +6423,8 @@
+ if test "$linkmode,$pass" = "lib,link" ||
+ test "$linkmode,$pass" = "prog,scan" ||
+ { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+- test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
+- test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
++ test -n "$dlopen" && func_append dlfiles " $dlopen"
++ test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
+ fi
+
+ if test "$pass" = conv; then
+@@ -5558,20 +6435,20 @@
+ func_fatal_error "cannot find name of link library for \`$lib'"
+ fi
+ # It is a libtool convenience library, so add in its objects.
+- convenience="$convenience $ladir/$objdir/$old_library"
+- old_convenience="$old_convenience $ladir/$objdir/$old_library"
++ func_append convenience " $ladir/$objdir/$old_library"
++ func_append old_convenience " $ladir/$objdir/$old_library"
+ elif test "$linkmode" != prog && test "$linkmode" != lib; then
+ func_fatal_error "\`$lib' is not a convenience library"
+ fi
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+- if $opt_duplicate_deps ; then
++ if $opt_preserve_dup_deps ; then
+ case "$tmp_libs " in
+- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
++ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+- tmp_libs="$tmp_libs $deplib"
++ func_append tmp_libs " $deplib"
+ done
+ continue
+ fi # $pass = conv
+@@ -5579,9 +6456,15 @@
+
+ # Get the name of the library we link against.
+ linklib=
+- for l in $old_library $library_names; do
+- linklib="$l"
+- done
++ if test -n "$old_library" &&
++ { test "$prefer_static_libs" = yes ||
++ test "$prefer_static_libs,$installed" = "built,no"; }; then
++ linklib=$old_library
++ else
++ for l in $old_library $library_names; do
++ linklib="$l"
++ done
++ fi
+ if test -z "$linklib"; then
+ func_fatal_error "cannot find name of link library for \`$lib'"
+ fi
+@@ -5598,9 +6481,9 @@
+ # statically, we need to preload. We also need to preload any
+ # dependent libraries so libltdl's deplib preloader doesn't
+ # bomb out in the load deplibs phase.
+- dlprefiles="$dlprefiles $lib $dependency_libs"
++ func_append dlprefiles " $lib $dependency_libs"
+ else
+- newdlfiles="$newdlfiles $lib"
++ func_append newdlfiles " $lib"
+ fi
+ continue
+ fi # $pass = dlopen
+@@ -5622,14 +6505,14 @@
+
+ # Find the relevant object directory and library name.
+ if test "X$installed" = Xyes; then
+- if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
++ if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ func_warning "library \`$lib' was moved."
+ dir="$ladir"
+ absdir="$abs_ladir"
+ libdir="$abs_ladir"
+ else
+- dir="$libdir"
+- absdir="$libdir"
++ dir="$lt_sysroot$libdir"
++ absdir="$lt_sysroot$libdir"
+ fi
+ test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ else
+@@ -5637,12 +6520,12 @@
+ dir="$ladir"
+ absdir="$abs_ladir"
+ # Remove this search path later
+- notinst_path="$notinst_path $abs_ladir"
++ func_append notinst_path " $abs_ladir"
+ else
+ dir="$ladir/$objdir"
+ absdir="$abs_ladir/$objdir"
+ # Remove this search path later
+- notinst_path="$notinst_path $abs_ladir"
++ func_append notinst_path " $abs_ladir"
+ fi
+ fi # $installed = yes
+ func_stripname 'lib' '.la' "$laname"
+@@ -5653,20 +6536,46 @@
+ if test -z "$libdir" && test "$linkmode" = prog; then
+ func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
+ fi
+- # Prefer using a static library (so that no silly _DYNAMIC symbols
+- # are required to link).
+- if test -n "$old_library"; then
+- newdlprefiles="$newdlprefiles $dir/$old_library"
+- # Keep a list of preopened convenience libraries to check
+- # that they are being used correctly in the link pass.
+- test -z "$libdir" && \
+- dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
+- # Otherwise, use the dlname, so that lt_dlopen finds it.
+- elif test -n "$dlname"; then
+- newdlprefiles="$newdlprefiles $dir/$dlname"
+- else
+- newdlprefiles="$newdlprefiles $dir/$linklib"
+- fi
++ case "$host" in
++ # special handling for platforms with PE-DLLs.
++ *cygwin* | *mingw* | *cegcc* )
++ # Linker will automatically link against shared library if both
++ # static and shared are present. Therefore, ensure we extract
++ # symbols from the import library if a shared library is present
++ # (otherwise, the dlopen module name will be incorrect). We do
++ # this by putting the import library name into $newdlprefiles.
++ # We recover the dlopen module name by 'saving' the la file
++ # name in a special purpose variable, and (later) extracting the
++ # dlname from the la file.
++ if test -n "$dlname"; then
++ func_tr_sh "$dir/$linklib"
++ eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
++ func_append newdlprefiles " $dir/$linklib"
++ else
++ func_append newdlprefiles " $dir/$old_library"
++ # Keep a list of preopened convenience libraries to check
++ # that they are being used correctly in the link pass.
++ test -z "$libdir" && \
++ func_append dlpreconveniencelibs " $dir/$old_library"
++ fi
++ ;;
++ * )
++ # Prefer using a static library (so that no silly _DYNAMIC symbols
++ # are required to link).
++ if test -n "$old_library"; then
++ func_append newdlprefiles " $dir/$old_library"
++ # Keep a list of preopened convenience libraries to check
++ # that they are being used correctly in the link pass.
++ test -z "$libdir" && \
++ func_append dlpreconveniencelibs " $dir/$old_library"
++ # Otherwise, use the dlname, so that lt_dlopen finds it.
++ elif test -n "$dlname"; then
++ func_append newdlprefiles " $dir/$dlname"
++ else
++ func_append newdlprefiles " $dir/$linklib"
++ fi
++ ;;
++ esac
+ fi # $pass = dlpreopen
+
+ if test -z "$libdir"; then
+@@ -5684,7 +6593,7 @@
+
+
+ if test "$linkmode" = prog && test "$pass" != link; then
+- newlib_search_path="$newlib_search_path $ladir"
++ func_append newlib_search_path " $ladir"
+ deplibs="$lib $deplibs"
+
+ linkalldeplibs=no
+@@ -5697,7 +6606,8 @@
+ for deplib in $dependency_libs; do
+ case $deplib in
+ -L*) func_stripname '-L' '' "$deplib"
+- newlib_search_path="$newlib_search_path $func_stripname_result"
++ func_resolve_sysroot "$func_stripname_result"
++ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ esac
+ # Need to link against all dependency_libs?
+@@ -5708,12 +6618,12 @@
+ # or/and link against static libraries
+ newdependency_libs="$deplib $newdependency_libs"
+ fi
+- if $opt_duplicate_deps ; then
++ if $opt_preserve_dup_deps ; then
+ case "$tmp_libs " in
+- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
++ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+- tmp_libs="$tmp_libs $deplib"
++ func_append tmp_libs " $deplib"
+ done # for deplib
+ continue
+ fi # $linkmode = prog...
+@@ -5728,7 +6638,7 @@
+ # Make sure the rpath contains only unique directories.
+ case "$temp_rpath:" in
+ *"$absdir:"*) ;;
+- *) temp_rpath="$temp_rpath$absdir:" ;;
++ *) func_append temp_rpath "$absdir:" ;;
+ esac
+ fi
+
+@@ -5740,7 +6650,7 @@
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+- *) compile_rpath="$compile_rpath $absdir"
++ *) func_append compile_rpath " $absdir" ;;
+ esac
+ ;;
+ esac
+@@ -5749,7 +6659,7 @@
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+- *) finalize_rpath="$finalize_rpath $libdir"
++ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ ;;
+ esac
+@@ -5774,12 +6684,12 @@
+ case $host in
+ *cygwin* | *mingw* | *cegcc*)
+ # No point in relinking DLLs because paths are not encoded
+- notinst_deplibs="$notinst_deplibs $lib"
++ func_append notinst_deplibs " $lib"
+ need_relink=no
+ ;;
+ *)
+ if test "$installed" = no; then
+- notinst_deplibs="$notinst_deplibs $lib"
++ func_append notinst_deplibs " $lib"
+ need_relink=yes
+ fi
+ ;;
+@@ -5814,7 +6724,7 @@
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+- *) compile_rpath="$compile_rpath $absdir"
++ *) func_append compile_rpath " $absdir" ;;
+ esac
+ ;;
+ esac
+@@ -5823,7 +6733,7 @@
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+- *) finalize_rpath="$finalize_rpath $libdir"
++ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ ;;
+ esac
+@@ -5835,7 +6745,7 @@
+ shift
+ realname="$1"
+ shift
+- eval "libname=\"$libname_spec\""
++ libname=`eval "\\$ECHO \"$libname_spec\""`
+ # use dlname if we got it. it's perfectly good, no?
+ if test -n "$dlname"; then
+ soname="$dlname"
+@@ -5848,7 +6758,7 @@
+ versuffix="-$major"
+ ;;
+ esac
+- eval "soname=\"$soname_spec\""
++ eval soname=\"$soname_spec\"
+ else
+ soname="$realname"
+ fi
+@@ -5877,7 +6787,7 @@
+ linklib=$newlib
+ fi # test -n "$old_archive_from_expsyms_cmds"
+
+- if test "$linkmode" = prog || test "$mode" != relink; then
++ if test "$linkmode" = prog || test "$opt_mode" != relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+@@ -5933,7 +6843,7 @@
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+- add_dir="$add_dir -L$inst_prefix_dir$libdir"
++ func_append add_dir " -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+@@ -5955,7 +6865,7 @@
+ if test -n "$add_shlibpath"; then
+ case :$compile_shlibpath: in
+ *":$add_shlibpath:"*) ;;
+- *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
++ *) func_append compile_shlibpath "$add_shlibpath:" ;;
+ esac
+ fi
+ if test "$linkmode" = prog; then
+@@ -5969,13 +6879,13 @@
+ test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
++ *) func_append finalize_shlibpath "$libdir:" ;;
+ esac
+ fi
+ fi
+ fi
+
+- if test "$linkmode" = prog || test "$mode" = relink; then
++ if test "$linkmode" = prog || test "$opt_mode" = relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+@@ -5989,7 +6899,7 @@
+ elif test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
++ *) func_append finalize_shlibpath "$libdir:" ;;
+ esac
+ add="-l$name"
+ elif test "$hardcode_automatic" = yes; then
+@@ -6001,12 +6911,12 @@
+ fi
+ else
+ # We cannot seem to hardcode it, guess we'll fake it.
+- add_dir="-L$libdir"
++ add_dir="-L$lt_sysroot$libdir"
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+- add_dir="$add_dir -L$inst_prefix_dir$libdir"
++ func_append add_dir " -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+@@ -6083,27 +6993,33 @@
+ temp_xrpath=$func_stripname_result
+ case " $xrpath " in
+ *" $temp_xrpath "*) ;;
+- *) xrpath="$xrpath $temp_xrpath";;
++ *) func_append xrpath " $temp_xrpath";;
+ esac;;
+- *) temp_deplibs="$temp_deplibs $libdir";;
++ *) func_append temp_deplibs " $libdir";;
+ esac
+ done
+ dependency_libs="$temp_deplibs"
+ fi
+
+- newlib_search_path="$newlib_search_path $absdir"
++ func_append newlib_search_path " $absdir"
+ # Link against this library
+ test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+ # ... and its dependency_libs
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ newdependency_libs="$deplib $newdependency_libs"
+- if $opt_duplicate_deps ; then
++ case $deplib in
++ -L*) func_stripname '-L' '' "$deplib"
++ func_resolve_sysroot "$func_stripname_result";;
++ *) func_resolve_sysroot "$deplib" ;;
++ esac
++ if $opt_preserve_dup_deps ; then
+ case "$tmp_libs " in
+- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
++ *" $func_resolve_sysroot_result "*)
++ func_append specialdeplibs " $func_resolve_sysroot_result" ;;
+ esac
+ fi
+- tmp_libs="$tmp_libs $deplib"
++ func_append tmp_libs " $func_resolve_sysroot_result"
+ done
+
+ if test "$link_all_deplibs" != no; then
+@@ -6113,8 +7029,10 @@
+ case $deplib in
+ -L*) path="$deplib" ;;
+ *.la)
++ func_resolve_sysroot "$deplib"
++ deplib=$func_resolve_sysroot_result
+ func_dirname "$deplib" "" "."
+- dir="$func_dirname_result"
++ dir=$func_dirname_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+@@ -6130,7 +7048,7 @@
+ case $host in
+ *-*-darwin*)
+ depdepl=
+- deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
++ eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+ if test -n "$deplibrary_names" ; then
+ for tmp in $deplibrary_names ; do
+ depdepl=$tmp
+@@ -6141,8 +7059,8 @@
+ if test -z "$darwin_install_name"; then
+ darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ fi
+- compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
+- linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
++ func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
++ func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
+ path=
+ fi
+ fi
+@@ -6152,7 +7070,7 @@
+ ;;
+ esac
+ else
+- libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
++ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
+ test "$absdir" != "$libdir" && \
+@@ -6192,7 +7110,7 @@
+ for dir in $newlib_search_path; do
+ case "$lib_search_path " in
+ *" $dir "*) ;;
+- *) lib_search_path="$lib_search_path $dir" ;;
++ *) func_append lib_search_path " $dir" ;;
+ esac
+ done
+ newlib_search_path=
+@@ -6205,7 +7123,7 @@
+ fi
+ for var in $vars dependency_libs; do
+ # Add libraries to $var in reverse order
+- eval tmp_libs=\$$var
++ eval tmp_libs=\"\$$var\"
+ new_libs=
+ for deplib in $tmp_libs; do
+ # FIXME: Pedantically, this is the right thing to do, so
+@@ -6250,13 +7168,13 @@
+ -L*)
+ case " $tmp_libs " in
+ *" $deplib "*) ;;
+- *) tmp_libs="$tmp_libs $deplib" ;;
++ *) func_append tmp_libs " $deplib" ;;
+ esac
+ ;;
+- *) tmp_libs="$tmp_libs $deplib" ;;
++ *) func_append tmp_libs " $deplib" ;;
+ esac
+ done
+- eval $var=\$tmp_libs
++ eval $var=\"$tmp_libs\"
+ done # for var
+ fi
+ # Last step: remove runtime libs from dependency_libs
+@@ -6269,7 +7187,7 @@
+ ;;
+ esac
+ if test -n "$i" ; then
+- tmp_libs="$tmp_libs $i"
++ func_append tmp_libs " $i"
+ fi
+ done
+ dependency_libs=$tmp_libs
+@@ -6310,7 +7228,7 @@
+ # Now set the variables for building old libraries.
+ build_libtool_libs=no
+ oldlibs="$output"
+- objs="$objs$old_deplibs"
++ func_append objs "$old_deplibs"
+ ;;
+
+ lib)
+@@ -6319,8 +7237,8 @@
+ lib*)
+ func_stripname 'lib' '.la' "$outputname"
+ name=$func_stripname_result
+- eval "shared_ext=\"$shrext_cmds\""
+- eval "libname=\"$libname_spec\""
++ eval shared_ext=\"$shrext_cmds\"
++ eval libname=\"$libname_spec\"
+ ;;
+ *)
+ test "$module" = no && \
+@@ -6330,8 +7248,8 @@
+ # Add the "lib" prefix for modules if required
+ func_stripname '' '.la' "$outputname"
+ name=$func_stripname_result
+- eval "shared_ext=\"$shrext_cmds\""
+- eval "libname=\"$libname_spec\""
++ eval shared_ext=\"$shrext_cmds\"
++ eval libname=\"$libname_spec\"
+ else
+ func_stripname '' '.la' "$outputname"
+ libname=$func_stripname_result
+@@ -6346,7 +7264,7 @@
+ echo
+ $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+ $ECHO "*** objects $objs is not portable!"
+- libobjs="$libobjs $objs"
++ func_append libobjs " $objs"
+ fi
+ fi
+
+@@ -6544,7 +7462,7 @@
+ done
+
+ # Make executables depend on our current version.
+- verstring="$verstring:${current}.0"
++ func_append verstring ":${current}.0"
+ ;;
+
+ qnx)
+@@ -6612,10 +7530,10 @@
+ fi
+
+ func_generate_dlsyms "$libname" "$libname" "yes"
+- libobjs="$libobjs $symfileobj"
++ func_append libobjs " $symfileobj"
+ test "X$libobjs" = "X " && libobjs=
+
+- if test "$mode" != relink; then
++ if test "$opt_mode" != relink; then
+ # Remove our outputs, but don't remove object files since they
+ # may have been created when compiling PIC objects.
+ removelist=
+@@ -6631,7 +7549,7 @@
+ continue
+ fi
+ fi
+- removelist="$removelist $p"
++ func_append removelist " $p"
+ ;;
+ *) ;;
+ esac
+@@ -6642,7 +7560,7 @@
+
+ # Now set the variables for building old libraries.
+ if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+- oldlibs="$oldlibs $output_objdir/$libname.$libext"
++ func_append oldlibs " $output_objdir/$libname.$libext"
+
+ # Transform .lo files to .o files.
+ oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
+@@ -6659,10 +7577,11 @@
+ # If the user specified any rpath flags, then add them.
+ temp_xrpath=
+ for libdir in $xrpath; do
+- temp_xrpath="$temp_xrpath -R$libdir"
++ func_replace_sysroot "$libdir"
++ func_append temp_xrpath " -R$func_replace_sysroot_result"
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+- *) finalize_rpath="$finalize_rpath $libdir" ;;
++ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ done
+ if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+@@ -6676,7 +7595,7 @@
+ for lib in $old_dlfiles; do
+ case " $dlprefiles $dlfiles " in
+ *" $lib "*) ;;
+- *) dlfiles="$dlfiles $lib" ;;
++ *) func_append dlfiles " $lib" ;;
+ esac
+ done
+
+@@ -6686,7 +7605,7 @@
+ for lib in $old_dlprefiles; do
+ case "$dlprefiles " in
+ *" $lib "*) ;;
+- *) dlprefiles="$dlprefiles $lib" ;;
++ *) func_append dlprefiles " $lib" ;;
+ esac
+ done
+
+@@ -6698,7 +7617,7 @@
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C library is in the System framework
+- deplibs="$deplibs System.ltframework"
++ func_append deplibs " System.ltframework"
+ ;;
+ *-*-netbsd*)
+ # Don't link with libc until the a.out ld.so is fixed.
+@@ -6715,7 +7634,7 @@
+ *)
+ # Add libc to deplibs on all other systems if necessary.
+ if test "$build_libtool_need_lc" = "yes"; then
+- deplibs="$deplibs -lc"
++ func_append deplibs " -lc"
+ fi
+ ;;
+ esac
+@@ -6764,18 +7683,18 @@
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+- newdeplibs="$newdeplibs $i"
++ func_append newdeplibs " $i"
+ i=""
+ ;;
+ esac
+ fi
+ if test -n "$i" ; then
+- eval "libname=\"$libname_spec\""
+- eval "deplib_matches=\"$library_names_spec\""
++ libname=`eval "\\$ECHO \"$libname_spec\""`
++ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+- newdeplibs="$newdeplibs $i"
++ func_append newdeplibs " $i"
+ else
+ droppeddeps=yes
+ echo
+@@ -6789,7 +7708,7 @@
+ fi
+ ;;
+ *)
+- newdeplibs="$newdeplibs $i"
++ func_append newdeplibs " $i"
+ ;;
+ esac
+ done
+@@ -6807,18 +7726,18 @@
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+- newdeplibs="$newdeplibs $i"
++ func_append newdeplibs " $i"
+ i=""
+ ;;
+ esac
+ fi
+ if test -n "$i" ; then
+- eval "libname=\"$libname_spec\""
+- eval "deplib_matches=\"$library_names_spec\""
++ libname=`eval "\\$ECHO \"$libname_spec\""`
++ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+- newdeplibs="$newdeplibs $i"
++ func_append newdeplibs " $i"
+ else
+ droppeddeps=yes
+ echo
+@@ -6840,7 +7759,7 @@
+ fi
+ ;;
+ *)
+- newdeplibs="$newdeplibs $i"
++ func_append newdeplibs " $i"
+ ;;
+ esac
+ done
+@@ -6857,15 +7776,27 @@
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+- newdeplibs="$newdeplibs $a_deplib"
++ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib" ; then
+- eval "libname=\"$libname_spec\""
++ libname=`eval "\\$ECHO \"$libname_spec\""`
++ if test -n "$file_magic_glob"; then
++ libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
++ else
++ libnameglob=$libname
++ fi
++ test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+- potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
++ if test "$want_nocaseglob" = yes; then
++ shopt -s nocaseglob
++ potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
++ $nocaseglob
++ else
++ potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
++ fi
+ for potent_lib in $potential_libs; do
+ # Follow soft links.
+ if ls -lLd "$potent_lib" 2>/dev/null |
+@@ -6885,10 +7816,10 @@
+ *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
+ esac
+ done
+- if eval "$file_magic_cmd \"\$potlib\"" 2>/dev/null |
++ if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+ $SED -e 10q |
+ $EGREP "$file_magic_regex" > /dev/null; then
+- newdeplibs="$newdeplibs $a_deplib"
++ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+@@ -6913,7 +7844,7 @@
+ ;;
+ *)
+ # Add a -L argument.
+- newdeplibs="$newdeplibs $a_deplib"
++ func_append newdeplibs " $a_deplib"
+ ;;
+ esac
+ done # Gone through all deplibs.
+@@ -6929,20 +7860,20 @@
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+- newdeplibs="$newdeplibs $a_deplib"
++ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib" ; then
+- eval "libname=\"$libname_spec\""
++ libname=`eval "\\$ECHO \"$libname_spec\""`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+ for potent_lib in $potential_libs; do
+ potlib="$potent_lib" # see symlink-check above in file_magic test
+ if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
+ $EGREP "$match_pattern_regex" > /dev/null; then
+- newdeplibs="$newdeplibs $a_deplib"
++ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+@@ -6967,7 +7898,7 @@
+ ;;
+ *)
+ # Add a -L argument.
+- newdeplibs="$newdeplibs $a_deplib"
++ func_append newdeplibs " $a_deplib"
+ ;;
+ esac
+ done # Gone through all deplibs.
+@@ -7071,7 +8002,7 @@
+ *)
+ case " $deplibs " in
+ *" -L$path/$objdir "*)
+- new_libs="$new_libs -L$path/$objdir" ;;
++ func_append new_libs " -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+@@ -7081,10 +8012,10 @@
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+- *) new_libs="$new_libs $deplib" ;;
++ *) func_append new_libs " $deplib" ;;
+ esac
+ ;;
+- *) new_libs="$new_libs $deplib" ;;
++ *) func_append new_libs " $deplib" ;;
+ esac
+ done
+ deplibs="$new_libs"
+@@ -7101,10 +8032,12 @@
+ hardcode_libdirs=
+ dep_rpath=
+ rpath="$finalize_rpath"
+- test "$mode" != relink && rpath="$compile_rpath$rpath"
++ test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
+ for libdir in $rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
++ func_replace_sysroot "$libdir"
++ libdir=$func_replace_sysroot_result
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+@@ -7113,18 +8046,18 @@
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
++ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+- eval "flag=\"$hardcode_libdir_flag_spec\""
+- dep_rpath="$dep_rpath $flag"
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ func_append dep_rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+- *) perm_rpath="$perm_rpath $libdir" ;;
++ *) func_apped perm_rpath " $libdir" ;;
+ esac
+ fi
+ done
+@@ -7133,40 +8066,38 @@
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ if test -n "$hardcode_libdir_flag_spec_ld"; then
+- eval "dep_rpath=\"$hardcode_libdir_flag_spec_ld\""
++ eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
+ else
+- eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
++ eval dep_rpath=\"$hardcode_libdir_flag_spec\"
+ fi
+ fi
+ if test -n "$runpath_var" && test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+- rpath="$rpath$dir:"
++ func_append rpath "$dir:"
+ done
+- eval $runpath_var=\$rpath\$$runpath_var
+- export $runpath_var
++ eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+ fi
+ test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+ fi
+
+ shlibpath="$finalize_shlibpath"
+- test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
++ test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+ if test -n "$shlibpath"; then
+- eval $shlibpath_var=\$shlibpath\$$shlibpath_var
+- export $shlibpath_var
++ eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+ fi
+
+ # Get the real and link names of the library.
+- eval "shared_ext=\"$shrext_cmds\""
+- eval "library_names=\"$library_names_spec\""
++ eval shared_ext=\"$shrext_cmds\"
++ eval library_names=\"$library_names_spec\"
+ set dummy $library_names
+ shift
+ realname="$1"
+ shift
+
+ if test -n "$soname_spec"; then
+- eval "soname=\"$soname_spec\""
++ eval soname=\"$soname_spec\"
+ else
+ soname="$realname"
+ fi
+@@ -7178,7 +8109,7 @@
+ linknames=
+ for link
+ do
+- linknames="$linknames $link"
++ func_append linknames " $link"
+ done
+
+ # Use standard objects if they are pic
+@@ -7189,7 +8120,7 @@
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
+ export_symbols="$output_objdir/$libname.uexp"
+- delfiles="$delfiles $export_symbols"
++ func_append delfiles " $export_symbols"
+ fi
+
+ orig_export_symbols=
+@@ -7220,13 +8151,45 @@
+ $opt_dry_run || $RM $export_symbols
+ cmds=$export_symbols_cmds
+ save_ifs="$IFS"; IFS='~'
+- for cmd in $cmds; do
++ for cmd1 in $cmds; do
+ IFS="$save_ifs"
+- eval "cmd=\"$cmd\""
+- func_len " $cmd"
+- len=$func_len_result
+- if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
++ # Take the normal branch if the nm_file_list_spec branch
++ # doesn't work or if tool conversion is not needed.
++ case $nm_file_list_spec~$to_tool_file_cmd in
++ *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
++ try_normal_branch=yes
++ eval cmd=\"$cmd1\"
++ func_len " $cmd"
++ len=$func_len_result
++ ;;
++ *)
++ try_normal_branch=no
++ ;;
++ esac
++ if test "$try_normal_branch" = yes \
++ && { test "$len" -lt "$max_cmd_len" \
++ || test "$max_cmd_len" -le -1; }
++ then
++ func_show_eval "$cmd" 'exit $?'
++ skipped_export=false
++ elif test -n "$nm_file_list_spec"; then
++ func_basename "$output"
++ output_la=$func_basename_result
++ save_libobjs=$libobjs
++ save_output=$output
++ output=${output_objdir}/${output_la}.nm
++ func_to_tool_file "$output"
++ libobjs=$nm_file_list_spec$func_to_tool_file_result
++ func_append delfiles " $output"
++ func_verbose "creating $NM input file list: $output"
++ for obj in $save_libobjs; do
++ func_to_tool_file "$obj"
++ $ECHO "$func_to_tool_file_result"
++ done > "$output"
++ eval cmd=\"$cmd1\"
+ func_show_eval "$cmd" 'exit $?'
++ output=$save_output
++ libobjs=$save_libobjs
+ skipped_export=false
+ else
+ # The command line is too long to execute in one step.
+@@ -7248,7 +8211,7 @@
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols="$export_symbols"
+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+- $opt_dry_run || $ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"
++ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+@@ -7260,7 +8223,7 @@
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+- delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
++ func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+@@ -7270,7 +8233,7 @@
+ case " $convenience " in
+ *" $test_deplib "*) ;;
+ *)
+- tmp_deplibs="$tmp_deplibs $test_deplib"
++ func_append tmp_deplibs " $test_deplib"
+ ;;
+ esac
+ done
+@@ -7286,43 +8249,43 @@
+ fi
+ if test -n "$whole_archive_flag_spec"; then
+ save_libobjs=$libobjs
+- eval "libobjs=\"\$libobjs $whole_archive_flag_spec\""
++ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
+ else
+ gentop="$output_objdir/${outputname}x"
+- generated="$generated $gentop"
++ func_append generated " $gentop"
+
+ func_extract_archives $gentop $convenience
+- libobjs="$libobjs $func_extract_archives_result"
++ func_append libobjs " $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+ fi
+
+ if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+- eval "flag=\"$thread_safe_flag_spec\""
+- linker_flags="$linker_flags $flag"
++ eval flag=\"$thread_safe_flag_spec\"
++ func_append linker_flags " $flag"
+ fi
+
+ # Make a backup of the uninstalled library when relinking
+- if test "$mode" = relink; then
+- $opt_dry_run || (cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U) || exit $?
++ if test "$opt_mode" = relink; then
++ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
+ fi
+
+ # Do each of the archive commands.
+ if test "$module" = yes && test -n "$module_cmds" ; then
+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+- eval "test_cmds=\"$module_expsym_cmds\""
++ eval test_cmds=\"$module_expsym_cmds\"
+ cmds=$module_expsym_cmds
+ else
+- eval "test_cmds=\"$module_cmds\""
++ eval test_cmds=\"$module_cmds\"
+ cmds=$module_cmds
+ fi
+ else
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+- eval "test_cmds=\"$archive_expsym_cmds\""
++ eval test_cmds=\"$archive_expsym_cmds\"
+ cmds=$archive_expsym_cmds
+ else
+- eval "test_cmds=\"$archive_cmds\""
++ eval test_cmds=\"$archive_cmds\"
+ cmds=$archive_cmds
+ fi
+ fi
+@@ -7366,10 +8329,13 @@
+ echo 'INPUT (' > $output
+ for obj in $save_libobjs
+ do
+- $ECHO "$obj" >> $output
++ func_to_tool_file "$obj"
++ $ECHO "$func_to_tool_file_result" >> $output
+ done
+ echo ')' >> $output
+- delfiles="$delfiles $output"
++ func_append delfiles " $output"
++ func_to_tool_file "$output"
++ output=$func_to_tool_file_result
+ elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
+ output=${output_objdir}/${output_la}.lnk
+ func_verbose "creating linker input file list: $output"
+@@ -7383,15 +8349,17 @@
+ fi
+ for obj
+ do
+- $ECHO "$obj" >> $output
++ func_to_tool_file "$obj"
++ $ECHO "$func_to_tool_file_result" >> $output
+ done
+- delfiles="$delfiles $output"
+- output=$firstobj\"$file_list_spec$output\"
++ func_append delfiles " $output"
++ func_to_tool_file "$output"
++ output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
+ else
+ if test -n "$save_libobjs"; then
+ func_verbose "creating reloadable object files..."
+ output=$output_objdir/$output_la-${k}.$objext
+- eval "test_cmds=\"$reload_cmds\""
++ eval test_cmds=\"$reload_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+@@ -7411,12 +8379,12 @@
+ if test "$k" -eq 1 ; then
+ # The first file doesn't have a previous command to add.
+ reload_objs=$objlist
+- eval "concat_cmds=\"$reload_cmds\""
++ eval concat_cmds=\"$reload_cmds\"
+ else
+ # All subsequent reloadable object files will link in
+ # the last one created.
+ reload_objs="$objlist $last_robj"
+- eval "concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\""
++ eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
+ fi
+ last_robj=$output_objdir/$output_la-${k}.$objext
+ func_arith $k + 1
+@@ -7433,11 +8401,11 @@
+ # files will link in the last one created.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ reload_objs="$objlist $last_robj"
+- eval "concat_cmds=\"\${concat_cmds}$reload_cmds\""
++ eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
+ if test -n "$last_robj"; then
+- eval "concat_cmds=\"\${concat_cmds}~\$RM $last_robj\""
++ eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+ fi
+- delfiles="$delfiles $output"
++ func_append delfiles " $output"
+
+ else
+ output=
+@@ -7450,9 +8418,9 @@
+ libobjs=$output
+ # Append the command to create the export file.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+- eval "concat_cmds=\"\$concat_cmds$export_symbols_cmds\""
++ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
+ if test -n "$last_robj"; then
+- eval "concat_cmds=\"\$concat_cmds~\$RM $last_robj\""
++ eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+ fi
+ fi
+
+@@ -7471,7 +8439,7 @@
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+- if test "$mode" = relink; then
++ if test "$opt_mode" = relink; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+@@ -7492,7 +8460,7 @@
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols="$export_symbols"
+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+- $opt_dry_run || $ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"
++ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test -n "$orig_export_symbols"; then
+@@ -7504,7 +8472,7 @@
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+- delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
++ func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+@@ -7515,7 +8483,7 @@
+ output=$save_output
+
+ if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+- eval "libobjs=\"\$libobjs $whole_archive_flag_spec\""
++ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+ # Expand the library linking commands again to reset the
+@@ -7539,23 +8507,23 @@
+
+ if test -n "$delfiles"; then
+ # Append the command to remove temporary files to $cmds.
+- eval "cmds=\"\$cmds~\$RM $delfiles\""
++ eval cmds=\"\$cmds~\$RM $delfiles\"
+ fi
+
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+- generated="$generated $gentop"
++ func_append generated " $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+- libobjs="$libobjs $func_extract_archives_result"
++ func_append libobjs " $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+- eval "cmd=\"$cmd\""
++ eval cmd=\"$cmd\"
+ $opt_silent || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+@@ -7564,7 +8532,7 @@
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+- if test "$mode" = relink; then
++ if test "$opt_mode" = relink; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+@@ -7576,8 +8544,8 @@
+ IFS="$save_ifs"
+
+ # Restore the uninstalled library and exit
+- if test "$mode" = relink; then
+- $opt_dry_run || (cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname) || exit $?
++ if test "$opt_mode" = relink; then
++ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
+
+ if test -n "$convenience"; then
+ if test -z "$whole_archive_flag_spec"; then
+@@ -7656,17 +8624,20 @@
+
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec"; then
+- eval "tmp_whole_archive_flags=\"$whole_archive_flag_spec\""
++ eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+ reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+ else
+ gentop="$output_objdir/${obj}x"
+- generated="$generated $gentop"
++ func_append generated " $gentop"
+
+ func_extract_archives $gentop $convenience
+ reload_conv_objs="$reload_objs $func_extract_archives_result"
+ fi
+ fi
+
++ # If we're not building shared, we need to use non_pic_objs
++ test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
++
+ # Create the old-style object.
+ reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+@@ -7690,7 +8661,7 @@
+ # Create an invalid libtool object if no PIC, so that we don't
+ # accidentally link it into a program.
+ # $show "echo timestamp > $libobj"
+- # $opt_dry_run || echo timestamp > $libobj || exit $?
++ # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
+ exit $EXIT_SUCCESS
+ fi
+
+@@ -7740,8 +8711,8 @@
+ if test "$tagname" = CXX ; then
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
+ 10.[0123])
+- compile_command="$compile_command ${wl}-bind_at_load"
+- finalize_command="$finalize_command ${wl}-bind_at_load"
++ func_append compile_command " ${wl}-bind_at_load"
++ func_append finalize_command " ${wl}-bind_at_load"
+ ;;
+ esac
+ fi
+@@ -7761,7 +8732,7 @@
+ *)
+ case " $compile_deplibs " in
+ *" -L$path/$objdir "*)
+- new_libs="$new_libs -L$path/$objdir" ;;
++ func_append new_libs " -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+@@ -7771,17 +8742,17 @@
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+- *) new_libs="$new_libs $deplib" ;;
++ *) func_append new_libs " $deplib" ;;
+ esac
+ ;;
+- *) new_libs="$new_libs $deplib" ;;
++ *) func_append new_libs " $deplib" ;;
+ esac
+ done
+ compile_deplibs="$new_libs"
+
+
+- compile_command="$compile_command $compile_deplibs"
+- finalize_command="$finalize_command $finalize_deplibs"
++ func_append compile_command " $compile_deplibs"
++ func_append finalize_command " $finalize_deplibs"
+
+ if test -n "$rpath$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+@@ -7789,7 +8760,7 @@
+ # This is the magic to use -rpath.
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+- *) finalize_rpath="$finalize_rpath $libdir" ;;
++ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ done
+ fi
+@@ -7808,18 +8779,18 @@
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
++ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+- eval "flag=\"$hardcode_libdir_flag_spec\""
+- rpath="$rpath $flag"
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ func_append rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+- *) perm_rpath="$perm_rpath $libdir" ;;
++ *) func_append perm_rpath " $libdir" ;;
+ esac
+ fi
+ case $host in
+@@ -7828,12 +8799,12 @@
+ case :$dllsearchpath: in
+ *":$libdir:"*) ;;
+ ::) dllsearchpath=$libdir;;
+- *) dllsearchpath="$dllsearchpath:$libdir";;
++ *) func_append dllsearchpath ":$libdir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+- *) dllsearchpath="$dllsearchpath:$testbindir";;
++ *) func_append dllsearchpath ":$testbindir";;
+ esac
+ ;;
+ esac
+@@ -7842,7 +8813,7 @@
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+- eval "rpath=\" $hardcode_libdir_flag_spec\""
++ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ compile_rpath="$rpath"
+
+@@ -7859,18 +8830,18 @@
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
++ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+- eval "flag=\"$hardcode_libdir_flag_spec\""
+- rpath="$rpath $flag"
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ func_append rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$finalize_perm_rpath " in
+ *" $libdir "*) ;;
+- *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
++ *) func_append finalize_perm_rpath " $libdir" ;;
+ esac
+ fi
+ done
+@@ -7878,7 +8849,7 @@
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+- eval "rpath=\" $hardcode_libdir_flag_spec\""
++ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ finalize_rpath="$rpath"
+
+@@ -7921,6 +8892,12 @@
+ exit_status=0
+ func_show_eval "$link_command" 'exit_status=$?'
+
++ if test -n "$postlink_cmds"; then
++ func_to_tool_file "$output"
++ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
++ func_execute_cmds "$postlink_cmds" 'exit $?'
++ fi
++
+ # Delete the generated files.
+ if test -f "$output_objdir/${outputname}S.${objext}"; then
+ func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
+@@ -7943,7 +8920,7 @@
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+- rpath="$rpath$dir:"
++ func_append rpath "$dir:"
+ done
+ compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+@@ -7951,7 +8928,7 @@
+ # We should set the runpath_var.
+ rpath=
+ for dir in $finalize_perm_rpath; do
+- rpath="$rpath$dir:"
++ func_append rpath "$dir:"
+ done
+ finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+@@ -7966,6 +8943,13 @@
+ $opt_dry_run || $RM $output
+ # Link the executable and exit
+ func_show_eval "$link_command" 'exit $?'
++
++ if test -n "$postlink_cmds"; then
++ func_to_tool_file "$output"
++ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
++ func_execute_cmds "$postlink_cmds" 'exit $?'
++ fi
++
+ exit $EXIT_SUCCESS
+ fi
+
+@@ -7999,6 +8983,12 @@
+
+ func_show_eval "$link_command" 'exit $?'
+
++ if test -n "$postlink_cmds"; then
++ func_to_tool_file "$output_objdir/$outputname"
++ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
++ func_execute_cmds "$postlink_cmds" 'exit $?'
++ fi
++
+ # Now create the wrapper script.
+ func_verbose "creating $output"
+
+@@ -8096,7 +9086,7 @@
+ else
+ oldobjs="$old_deplibs $non_pic_objects"
+ if test "$preload" = yes && test -f "$symfileobj"; then
+- oldobjs="$oldobjs $symfileobj"
++ func_append oldobjs " $symfileobj"
+ fi
+ fi
+ addlibs="$old_convenience"
+@@ -8104,10 +9094,10 @@
+
+ if test -n "$addlibs"; then
+ gentop="$output_objdir/${outputname}x"
+- generated="$generated $gentop"
++ func_append generated " $gentop"
+
+ func_extract_archives $gentop $addlibs
+- oldobjs="$oldobjs $func_extract_archives_result"
++ func_append oldobjs " $func_extract_archives_result"
+ fi
+
+ # Do each command in the archive commands.
+@@ -8118,10 +9108,10 @@
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+- generated="$generated $gentop"
++ func_append generated " $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+- oldobjs="$oldobjs $func_extract_archives_result"
++ func_append oldobjs " $func_extract_archives_result"
+ fi
+
+ # POSIX demands no paths to be encoded in archives. We have
+@@ -8139,7 +9129,7 @@
+ else
+ echo "copying selected object files to avoid basename conflicts..."
+ gentop="$output_objdir/${outputname}x"
+- generated="$generated $gentop"
++ func_append generated " $gentop"
+ func_mkdir_p "$gentop"
+ save_oldobjs=$oldobjs
+ oldobjs=
+@@ -8163,18 +9153,28 @@
+ esac
+ done
+ func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+- oldobjs="$oldobjs $gentop/$newobj"
++ func_append oldobjs " $gentop/$newobj"
+ ;;
+- *) oldobjs="$oldobjs $obj" ;;
++ *) func_append oldobjs " $obj" ;;
+ esac
+ done
+ fi
+- eval "cmds=\"$old_archive_cmds\""
++ eval cmds=\"$old_archive_cmds\"
+
+ func_len " $cmds"
+ len=$func_len_result
+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ cmds=$old_archive_cmds
++ elif test -n "$archiver_list_spec"; then
++ func_verbose "using command file archive linking..."
++ for obj in $oldobjs
++ do
++ func_to_tool_file "$obj"
++ $ECHO "$func_to_tool_file_result"
++ done > $output_objdir/$libname.libcmd
++ func_to_tool_file "$output_objdir/$libname.libcmd"
++ oldobjs=" $archiver_list_spec$func_to_tool_file_result"
++ cmds=$old_archive_cmds
+ else
+ # the command line is too long to link in one step, link in parts
+ func_verbose "using piecewise archive linking..."
+@@ -8189,7 +9189,7 @@
+ do
+ last_oldobj=$obj
+ done
+- eval "test_cmds=\"$old_archive_cmds\""
++ eval test_cmds=\"$old_archive_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+@@ -8208,7 +9208,7 @@
+ RANLIB=$save_RANLIB
+ fi
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+- eval "concat_cmds=\"\${concat_cmds}$old_archive_cmds\""
++ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+ objlist=
+ len=$len0
+ fi
+@@ -8216,9 +9216,9 @@
+ RANLIB=$save_RANLIB
+ oldobjs=$objlist
+ if test "X$oldobjs" = "X" ; then
+- eval "cmds=\"\$concat_cmds\""
++ eval cmds=\"\$concat_cmds\"
+ else
+- eval "cmds=\"\$concat_cmds~\$old_archive_cmds\""
++ eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+ fi
+ fi
+ fi
+@@ -8268,12 +9268,23 @@
+ *.la)
+ func_basename "$deplib"
+ name="$func_basename_result"
+- libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
++ func_resolve_sysroot "$deplib"
++ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
+- newdependency_libs="$newdependency_libs $libdir/$name"
++ func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
++ ;;
++ -L*)
++ func_stripname -L '' "$deplib"
++ func_replace_sysroot "$func_stripname_result"
++ func_append newdependency_libs " -L$func_replace_sysroot_result"
+ ;;
+- *) newdependency_libs="$newdependency_libs $deplib" ;;
++ -R*)
++ func_stripname -R '' "$deplib"
++ func_replace_sysroot "$func_stripname_result"
++ func_append newdependency_libs " -R$func_replace_sysroot_result"
++ ;;
++ *) func_append newdependency_libs " $deplib" ;;
+ esac
+ done
+ dependency_libs="$newdependency_libs"
+@@ -8284,12 +9295,14 @@
+ *.la)
+ func_basename "$lib"
+ name="$func_basename_result"
+- libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
++ func_resolve_sysroot "$lib"
++ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
++
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+- newdlfiles="$newdlfiles $libdir/$name"
++ func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+- *) newdlfiles="$newdlfiles $lib" ;;
++ *) func_append newdlfiles " $lib" ;;
+ esac
+ done
+ dlfiles="$newdlfiles"
+@@ -8303,10 +9316,11 @@
+ # the library:
+ func_basename "$lib"
+ name="$func_basename_result"
+- libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
++ func_resolve_sysroot "$lib"
++ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+- newdlprefiles="$newdlprefiles $libdir/$name"
++ func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ esac
+ done
+@@ -8318,7 +9332,7 @@
+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+- newdlfiles="$newdlfiles $abs"
++ func_append newdlfiles " $abs"
+ done
+ dlfiles="$newdlfiles"
+ newdlprefiles=
+@@ -8327,7 +9341,7 @@
+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+- newdlprefiles="$newdlprefiles $abs"
++ func_append newdlprefiles " $abs"
+ done
+ dlprefiles="$newdlprefiles"
+ fi
+@@ -8412,7 +9426,7 @@
+ exit $EXIT_SUCCESS
+ }
+
+-{ test "$mode" = link || test "$mode" = relink; } &&
++{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
+ func_mode_link ${1+"$@"}
+
+
+@@ -8432,9 +9446,9 @@
+ for arg
+ do
+ case $arg in
+- -f) RM="$RM $arg"; rmforce=yes ;;
+- -*) RM="$RM $arg" ;;
+- *) files="$files $arg" ;;
++ -f) func_append RM " $arg"; rmforce=yes ;;
++ -*) func_append RM " $arg" ;;
++ *) func_append files " $arg" ;;
+ esac
+ done
+
+@@ -8443,24 +9457,23 @@
+
+ rmdirs=
+
+- origobjdir="$objdir"
+ for file in $files; do
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+ if test "X$dir" = X.; then
+- objdir="$origobjdir"
++ odir="$objdir"
+ else
+- objdir="$dir/$origobjdir"
++ odir="$dir/$objdir"
+ fi
+ func_basename "$file"
+ name="$func_basename_result"
+- test "$mode" = uninstall && objdir="$dir"
++ test "$opt_mode" = uninstall && odir="$dir"
+
+- # Remember objdir for removal later, being careful to avoid duplicates
+- if test "$mode" = clean; then
++ # Remember odir for removal later, being careful to avoid duplicates
++ if test "$opt_mode" = clean; then
+ case " $rmdirs " in
+- *" $objdir "*) ;;
+- *) rmdirs="$rmdirs $objdir" ;;
++ *" $odir "*) ;;
++ *) func_append rmdirs " $odir" ;;
+ esac
+ fi
+
+@@ -8486,18 +9499,17 @@
+
+ # Delete the libtool libraries and symlinks.
+ for n in $library_names; do
+- rmfiles="$rmfiles $objdir/$n"
++ func_append rmfiles " $odir/$n"
+ done
+- test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
++ test -n "$old_library" && func_append rmfiles " $odir/$old_library"
+
+- case "$mode" in
++ case "$opt_mode" in
+ clean)
+- case " $library_names " in
+- # " " in the beginning catches empty $dlname
++ case " $library_names " in
+ *" $dlname "*) ;;
+- *) rmfiles="$rmfiles $objdir/$dlname" ;;
++ *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
+ esac
+- test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
++ test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
+ ;;
+ uninstall)
+ if test -n "$library_names"; then
+@@ -8525,19 +9537,19 @@
+ # Add PIC object to the list of files to remove.
+ if test -n "$pic_object" &&
+ test "$pic_object" != none; then
+- rmfiles="$rmfiles $dir/$pic_object"
++ func_append rmfiles " $dir/$pic_object"
+ fi
+
+ # Add non-PIC object to the list of files to remove.
+ if test -n "$non_pic_object" &&
+ test "$non_pic_object" != none; then
+- rmfiles="$rmfiles $dir/$non_pic_object"
++ func_append rmfiles " $dir/$non_pic_object"
+ fi
+ fi
+ ;;
+
+ *)
+- if test "$mode" = clean ; then
++ if test "$opt_mode" = clean ; then
+ noexename=$name
+ case $file in
+ *.exe)
+@@ -8547,7 +9559,7 @@
+ noexename=$func_stripname_result
+ # $file with .exe has already been added to rmfiles,
+ # add $file without .exe
+- rmfiles="$rmfiles $file"
++ func_append rmfiles " $file"
+ ;;
+ esac
+ # Do a test to see if this is a libtool program.
+@@ -8556,7 +9568,7 @@
+ func_ltwrapper_scriptname "$file"
+ relink_command=
+ func_source $func_ltwrapper_scriptname_result
+- rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
++ func_append rmfiles " $func_ltwrapper_scriptname_result"
+ else
+ relink_command=
+ func_source $dir/$noexename
+@@ -8564,12 +9576,12 @@
+
+ # note $name still contains .exe if it was in $file originally
+ # as does the version of $file that was added into $rmfiles
+- rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
++ func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
+ if test "$fast_install" = yes && test -n "$relink_command"; then
+- rmfiles="$rmfiles $objdir/lt-$name"
++ func_append rmfiles " $odir/lt-$name"
+ fi
+ if test "X$noexename" != "X$name" ; then
+- rmfiles="$rmfiles $objdir/lt-${noexename}.c"
++ func_append rmfiles " $odir/lt-${noexename}.c"
+ fi
+ fi
+ fi
+@@ -8577,7 +9589,6 @@
+ esac
+ func_show_eval "$RM $rmfiles" 'exit_status=1'
+ done
+- objdir="$origobjdir"
+
+ # Try to remove the ${objdir}s in the directories where we deleted files
+ for dir in $rmdirs; do
+@@ -8589,16 +9600,16 @@
+ exit $exit_status
+ }
+
+-{ test "$mode" = uninstall || test "$mode" = clean; } &&
++{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
+ func_mode_uninstall ${1+"$@"}
+
+-test -z "$mode" && {
++test -z "$opt_mode" && {
+ help="$generic_help"
+ func_fatal_help "you must specify a MODE"
+ }
+
+ test -z "$exec_cmd" && \
+- func_fatal_help "invalid operation mode \`$mode'"
++ func_fatal_help "invalid operation mode \`$opt_mode'"
+
+ if test -n "$exec_cmd"; then
+ eval exec "$exec_cmd"
+Index: binutils-2.21/ltoptions.m4
+===================================================================
+--- binutils-2.21.orig/ltoptions.m4 2010-01-09 13:11:32.000000000 -0800
++++ binutils-2.21/ltoptions.m4 2011-01-07 10:49:16.406101000 -0800
+@@ -8,7 +8,7 @@
+ # unlimited permission to copy and/or distribute it, with or without
+ # modifications, as long as this notice is preserved.
+
+-# serial 6 ltoptions.m4
++# serial 7 ltoptions.m4
+
+ # This is to help aclocal find these macros, as it can't see m4_define.
+ AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+Index: binutils-2.21/ltversion.m4
+===================================================================
+--- binutils-2.21.orig/ltversion.m4 2010-01-09 13:11:32.000000000 -0800
++++ binutils-2.21/ltversion.m4 2011-01-07 10:49:16.406101000 -0800
+@@ -7,17 +7,17 @@
+ # unlimited permission to copy and/or distribute it, with or without
+ # modifications, as long as this notice is preserved.
+
+-# Generated from ltversion.in.
++# @configure_input@
+
+-# serial 3134 ltversion.m4
++# serial 3293 ltversion.m4
+ # This file is part of GNU Libtool
+
+-m4_define([LT_PACKAGE_VERSION], [2.2.7a])
+-m4_define([LT_PACKAGE_REVISION], [1.3134])
++m4_define([LT_PACKAGE_VERSION], [2.4])
++m4_define([LT_PACKAGE_REVISION], [1.3293])
+
+ AC_DEFUN([LTVERSION_VERSION],
+-[macro_version='2.2.7a'
+-macro_revision='1.3134'
++[macro_version='2.4'
++macro_revision='1.3293'
+ _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+ _LT_DECL(, macro_revision, 0)
+ ])
+Index: binutils-2.21/lt~obsolete.m4
+===================================================================
+--- binutils-2.21.orig/lt~obsolete.m4 2010-01-09 13:11:32.000000000 -0800
++++ binutils-2.21/lt~obsolete.m4 2011-01-07 10:49:16.406101000 -0800
+@@ -7,7 +7,7 @@
+ # unlimited permission to copy and/or distribute it, with or without
+ # modifications, as long as this notice is preserved.
+
+-# serial 4 lt~obsolete.m4
++# serial 5 lt~obsolete.m4
+
+ # These exist entirely to fool aclocal when bootstrapping libtool.
+ #
+Index: binutils-2.21/configure
+===================================================================
+--- binutils-2.21.orig/configure 2011-01-07 10:49:16.006101000 -0800
++++ binutils-2.21/configure 2011-01-07 10:49:17.906101000 -0800
+@@ -2670,7 +2670,7 @@
+ # binutils, gas and ld appear in that order because it makes sense to run
+ # "make check" in that particular order.
+ # If --enable-gold is used, "gold" may replace "ld".
+-host_tools="texinfo byacc flex bison binutils gas ld fixincludes gcc cgen sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar gnattools"
++host_tools="byacc flex bison binutils gas ld fixincludes gcc cgen sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar gnattools"
+
+ # libgcj represents the runtime libraries only used by gcj.
+ libgcj="target-libffi \
+@@ -3148,7 +3148,7 @@
+ am33_2.0-*-linux*)
+ noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+ ;;
+- sh*-*-linux*)
++ sh-*-linux*)
+ noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+ ;;
+ sh*-*-pe|mips*-*-pe|*arm-wince-pe)
+@@ -3487,7 +3487,7 @@
+ romp-*-*)
+ noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
+ ;;
+- sh*-*-* | sh64-*-*)
++ sh-*-* | sh64-*-*)
+ case "${host}" in
+ i[3456789]86-*-vsta) ;; # don't add gprof back in
+ i[3456789]86-*-go32*) ;; # don't add gprof back in
+@@ -7597,7 +7597,7 @@
+ # For an installed makeinfo, we require it to be from texinfo 4.7 or
+ # higher, else we use the "missing" dummy.
+ if ${MAKEINFO} --version \
+- | egrep 'texinfo[^0-9]*(4\.([7-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
++ | egrep 'texinfo[^0-9]*([1-3][0-9]|4.[4-9]|4.[1-9][0-9]+|[5-9])' >/dev/null 2>&1; then
+ :
+ else
+ MAKEINFO="$MISSING makeinfo"
+Index: binutils-2.21/bfd/configure
+===================================================================
+--- binutils-2.21.orig/bfd/configure 2010-12-08 00:37:34.000000000 -0800
++++ binutils-2.21/bfd/configure 2011-01-07 11:25:57.156101002 -0800
+@@ -667,6 +667,9 @@
+ LIPO
+ NMEDIT
+ DSYMUTIL
++MANIFEST_TOOL
++ac_ct_AR
++DLLTOOL
+ OBJDUMP
+ LN_S
+ NM
+@@ -779,6 +782,7 @@
+ with_pic
+ enable_fast_install
+ with_gnu_ld
++with_libtool_sysroot
+ enable_libtool_lock
+ enable_plugins
+ enable_largefile
+@@ -1453,6 +1457,8 @@
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
++ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
++ (or the compiler's sysroot if not specified).
+ --with-mmap try using mmap for BFD input files if available
+ --with-separate-debug-dir=DIR
+ Look for global separate debug info in DIR
+@@ -5383,8 +5389,8 @@
+
+
+
+-macro_version='2.2.7a'
+-macro_revision='1.3134'
++macro_version='2.4'
++macro_revision='1.3293'
+
+
+
+@@ -5424,7 +5430,7 @@
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+ $as_echo_n "checking how to print strings... " >&6; }
+ # Test print first, because it will be a builtin if present.
+-if test "X`print -r -- -n 2>/dev/null`" = X-n && \
++if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+ elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+@@ -6110,8 +6116,8 @@
+ # Try some XSI features
+ xsi_shell=no
+ ( _lt_dummy="a/b/c"
+- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+- = c,a/b,, \
++ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
++ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+@@ -6160,6 +6166,80 @@
+
+
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
++$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
++if test "${lt_cv_to_host_file_cmd+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
++ ;;
++ esac
++ ;;
++ *-*-cygwin* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
++ ;;
++ esac
++ ;;
++ * ) # unhandled hosts (and "normal" native builds)
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++esac
++
++fi
++
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
++$as_echo "$lt_cv_to_host_file_cmd" >&6; }
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
++$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
++if test "${lt_cv_to_tool_file_cmd+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ #assume ordinary cross tools, or native build.
++lt_cv_to_tool_file_cmd=func_convert_file_noop
++case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ esac
++ ;;
++esac
++
++fi
++
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
++$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
++
++
++
++
++
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+ $as_echo_n "checking for $LD option to reload object files... " >&6; }
+ if test "${lt_cv_ld_reload_flag+set}" = set; then :
+@@ -6176,6 +6256,11 @@
+ esac
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ case $host_os in
++ cygwin* | mingw* | pw32* | cegcc*)
++ if test "$GCC" != yes; then
++ reload_cmds=false
++ fi
++ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+@@ -6344,7 +6429,8 @@
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
++ # Keep this pattern in sync with the one in func_win32_libid.
++ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+@@ -6498,6 +6584,21 @@
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+ $as_echo "$lt_cv_deplibs_check_method" >&6; }
++
++file_magic_glob=
++want_nocaseglob=no
++if test "$build" = "$host"; then
++ case $host_os in
++ mingw* | pw32*)
++ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
++ want_nocaseglob=yes
++ else
++ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
++ fi
++ ;;
++ esac
++fi
++
+ file_magic_cmd=$lt_cv_file_magic_cmd
+ deplibs_check_method=$lt_cv_deplibs_check_method
+ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6513,9 +6614,162 @@
+
+
+
++
++
++
++
++
++
++
++
++
++
+ if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}ar; ac_word=$2
++ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
++set dummy ${ac_tool_prefix}dlltool; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_DLLTOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$DLLTOOL"; then
++ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++DLLTOOL=$ac_cv_prog_DLLTOOL
++if test -n "$DLLTOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
++$as_echo "$DLLTOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_DLLTOOL"; then
++ ac_ct_DLLTOOL=$DLLTOOL
++ # Extract the first word of "dlltool", so it can be a program name with args.
++set dummy dlltool; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_DLLTOOL"; then
++ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
++if test -n "$ac_ct_DLLTOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
++$as_echo "$ac_ct_DLLTOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_DLLTOOL" = x; then
++ DLLTOOL="false"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ DLLTOOL=$ac_ct_DLLTOOL
++ fi
++else
++ DLLTOOL="$ac_cv_prog_DLLTOOL"
++fi
++
++test -z "$DLLTOOL" && DLLTOOL=dlltool
++
++
++
++
++
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
++$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
++if test "${lt_cv_sharedlib_from_linklib_cmd+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_sharedlib_from_linklib_cmd='unknown'
++
++case $host_os in
++cygwin* | mingw* | pw32* | cegcc*)
++ # two different shell functions defined in ltmain.sh
++ # decide which to use based on capabilities of $DLLTOOL
++ case `$DLLTOOL --help 2>&1` in
++ *--identify-strict*)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
++ ;;
++ *)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
++ ;;
++ esac
++ ;;
++*)
++ # fallback: assume linklib IS sharedlib
++ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
++ ;;
++esac
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
++$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
++sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
++test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
++
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++ for ac_prog in ar
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if test "${ac_cv_prog_AR+set}" = set; then :
+@@ -6531,7 +6785,7 @@
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+- ac_cv_prog_AR="${ac_tool_prefix}ar"
++ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -6551,11 +6805,15 @@
+ fi
+
+
++ test -n "$AR" && break
++ done
+ fi
+-if test -z "$ac_cv_prog_AR"; then
++if test -z "$AR"; then
+ ac_ct_AR=$AR
+- # Extract the first word of "ar", so it can be a program name with args.
+-set dummy ar; ac_word=$2
++ for ac_prog in ar
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+@@ -6571,7 +6829,7 @@
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+- ac_cv_prog_ac_ct_AR="ar"
++ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -6590,6 +6848,10 @@
+ $as_echo "no" >&6; }
+ fi
+
++
++ test -n "$ac_ct_AR" && break
++done
++
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+@@ -6601,16 +6863,72 @@
+ esac
+ AR=$ac_ct_AR
+ fi
+-else
+- AR="$ac_cv_prog_AR"
+ fi
+
+-test -z "$AR" && AR=ar
+-test -z "$AR_FLAGS" && AR_FLAGS=cru
++: ${AR=ar}
++: ${AR_FLAGS=cru}
++
++
++
++
++
++
++
++
++
++
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
++$as_echo_n "checking for archiver @FILE support... " >&6; }
++if test "${lt_cv_ar_at_file+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_ar_at_file=no
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
+
++int
++main ()
++{
+
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ echo conftest.$ac_objext > conftest.lst
++ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
++ (eval $lt_ar_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ if test "$ac_status" -eq 0; then
++ # Ensure the archiver fails upon bogus file names.
++ rm -f conftest.$ac_objext libconftest.a
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
++ (eval $lt_ar_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ if test "$ac_status" -ne 0; then
++ lt_cv_ar_at_file=@
++ fi
++ fi
++ rm -f conftest.* libconftest.a
+
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
++$as_echo "$lt_cv_ar_at_file" >&6; }
++
++if test "x$lt_cv_ar_at_file" = xno; then
++ archiver_list_spec=
++else
++ archiver_list_spec=$lt_cv_ar_at_file
++fi
+
+
+
+@@ -6952,8 +7270,8 @@
+ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+ # Transform an extracted symbol line into symbol name and symbol address
+-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
+-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+ # Handle CRLF in mingw tool chain
+ opt_cr=
+@@ -6989,6 +7307,7 @@
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
++ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+@@ -7030,6 +7349,18 @@
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
++/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
++#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
++/* DATA imports from DLLs on WIN32 con't be const, because runtime
++ relocations are performed -- see ld's documentation on pseudo-relocs. */
++# define LT_DLSYM_CONST
++#elif defined(__osf__)
++/* This system does not cope well with relocations in const data. */
++# define LT_DLSYM_CONST
++#else
++# define LT_DLSYM_CONST const
++#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -7041,7 +7372,7 @@
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+ /* The mapping between symbol names and symbols. */
+-const struct {
++LT_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+ }
+@@ -7067,8 +7398,8 @@
+ _LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+- lt_save_LIBS="$LIBS"
+- lt_save_CFLAGS="$CFLAGS"
++ lt_globsym_save_LIBS=$LIBS
++ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+@@ -7078,8 +7409,8 @@
+ test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+- LIBS="$lt_save_LIBS"
+- CFLAGS="$lt_save_CFLAGS"
++ LIBS=$lt_globsym_save_LIBS
++ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+@@ -7116,6 +7447,20 @@
+ $as_echo "ok" >&6; }
+ fi
+
++# Response file support.
++if test "$lt_cv_nm_interface" = "MS dumpbin"; then
++ nm_file_list_spec='@'
++elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
++ nm_file_list_spec='@'
++fi
++
++
++
++
++
++
++
++
+
+
+
+@@ -7135,6 +7480,41 @@
+
+
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
++$as_echo_n "checking for sysroot... " >&6; }
++
++# Check whether --with-libtool-sysroot was given.
++if test "${with_libtool_sysroot+set}" = set; then :
++ withval=$with_libtool_sysroot;
++else
++ with_libtool_sysroot=no
++fi
++
++
++lt_sysroot=
++case ${with_libtool_sysroot} in #(
++ yes)
++ if test "$GCC" = yes; then
++ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
++ fi
++ ;; #(
++ /*)
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
++ ;; #(
++ no|'')
++ ;; #(
++ *)
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
++$as_echo "${with_libtool_sysroot}" >&6; }
++ as_fn_error "The sysroot must be an absolute path." "$LINENO" 5
++ ;;
++esac
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
++$as_echo "${lt_sysroot:-no}" >&6; }
++
++
++
+
+
+ # Check whether --enable-libtool-lock was given.
+@@ -7330,6 +7710,123 @@
+
+ need_locks="$enable_libtool_lock"
+
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
++set dummy ${ac_tool_prefix}mt; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_MANIFEST_TOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$MANIFEST_TOOL"; then
++ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
++if test -n "$MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
++$as_echo "$MANIFEST_TOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
++ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
++ # Extract the first word of "mt", so it can be a program name with args.
++set dummy mt; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_MANIFEST_TOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_MANIFEST_TOOL"; then
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
++if test -n "$ac_ct_MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
++$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_MANIFEST_TOOL" = x; then
++ MANIFEST_TOOL=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
++ fi
++else
++ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
++fi
++
++test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
++$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
++if test "${lt_cv_path_mainfest_tool+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_path_mainfest_tool=no
++ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
++ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
++ cat conftest.err >&5
++ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
++ lt_cv_path_mainfest_tool=yes
++ fi
++ rm -f conftest*
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
++$as_echo "$lt_cv_path_mainfest_tool" >&6; }
++if test "x$lt_cv_path_mainfest_tool" != xyes; then
++ MANIFEST_TOOL=:
++fi
++
++
++
++
++
+
+ case $host_os in
+ rhapsody* | darwin*)
+@@ -7893,6 +8390,8 @@
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+ echo "$AR cru libconftest.a conftest.o" >&5
+ $AR cru libconftest.a conftest.o 2>&5
++ echo "$RANLIB libconftest.a" >&5
++ $RANLIB libconftest.a 2>&5
+ cat > conftest.c << _LT_EOF
+ int main() { return 0;}
+ _LT_EOF
+@@ -8057,7 +8556,8 @@
+ LIBTOOL_DEPS="$ltmain"
+
+ # Always use our own libtool.
+-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
++LIBTOOL='$(SHELL) $(top_builddir)'
++LIBTOOL="$LIBTOOL/${host_alias}-libtool"
+
+
+
+@@ -8146,7 +8646,7 @@
+ esac
+
+ # Global variables:
+-ofile=libtool
++ofile=${host_alias}-libtool
+ can_build_shared=yes
+
+ # All known linkers require a `.a' archive for static linking (except MSVC,
+@@ -8444,8 +8944,6 @@
+ lt_prog_compiler_pic=
+ lt_prog_compiler_static=
+
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl='-Wl,'
+@@ -8610,6 +9108,12 @@
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
++ nagfor*)
++ # NAG Fortran compiler
++ lt_prog_compiler_wl='-Wl,-Wl,,'
++ lt_prog_compiler_pic='-PIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+@@ -8672,7 +9176,7 @@
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ case $cc_basename in
+- f77* | f90* | f95*)
++ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ lt_prog_compiler_wl='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl='-Wl,';;
+@@ -8729,13 +9233,17 @@
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+ esac
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
+-$as_echo "$lt_prog_compiler_pic" >&6; }
+-
+-
+-
+-
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
++$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
++if test "${lt_cv_prog_compiler_pic+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
++$as_echo "$lt_cv_prog_compiler_pic" >&6; }
++lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
+
+ #
+ # Check to make sure the PIC flag actually works.
+@@ -8796,6 +9304,11 @@
+
+
+
++
++
++
++
++
+ #
+ # Check to make sure the static flag actually works.
+ #
+@@ -9146,7 +9659,8 @@
+ allow_undefined_flag=unsupported
+ always_export_symbols=no
+ enable_shared_with_static_runtimes=yes
+- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
++ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+@@ -9194,7 +9708,7 @@
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+- tmp_addflag=
++ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+@@ -9245,12 +9759,12 @@
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld='-rpath $libdir'
+- archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
++ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
++ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+@@ -9264,8 +9778,8 @@
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+@@ -9283,8 +9797,8 @@
+
+ _LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -9330,8 +9844,8 @@
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -9461,7 +9975,13 @@
+ allow_undefined_flag='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if test "${lt_cv_aix_libpath_+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -9474,22 +9994,29 @@
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath_
++fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+@@ -9501,7 +10028,13 @@
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if test "${lt_cv_aix_libpath_+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -9514,22 +10047,29 @@
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath_
++fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+@@ -9574,20 +10114,63 @@
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+- hardcode_libdir_flag_spec=' '
+- allow_undefined_flag=unsupported
+- # Tell ltmain to make .lib files, not .a files.
+- libext=lib
+- # Tell ltmain to make .dll files, not .so files.
+- shrext_cmds=".dll"
+- # FIXME: Setting linknames here is a bad hack.
+- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+- # The linker will automatically build a .lib file if we build a DLL.
+- old_archive_from_new_cmds='true'
+- # FIXME: Should let the user specify the lib program.
+- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+- fix_srcfile_path='`cygpath -w "$srcfile"`'
+- enable_shared_with_static_runtimes=yes
++ case $cc_basename in
++ cl*)
++ # Native MSVC
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ always_export_symbols=yes
++ file_list_spec='@'
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
++ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
++ else
++ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
++ fi~
++ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
++ linknames='
++ # The linker will not automatically build a static lib if we build a DLL.
++ # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
++ enable_shared_with_static_runtimes=yes
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++ # Don't use ranlib
++ old_postinstall_cmds='chmod 644 $oldlib'
++ postlink_cmds='lt_outputfile="@OUTPUT@"~
++ lt_tool_outputfile="@TOOL_OUTPUT@"~
++ case $lt_outputfile in
++ *.exe|*.EXE) ;;
++ *)
++ lt_outputfile="$lt_outputfile.exe"
++ lt_tool_outputfile="$lt_tool_outputfile.exe"
++ ;;
++ esac~
++ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
++ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
++ $RM "$lt_outputfile.manifest";
++ fi'
++ ;;
++ *)
++ # Assume MSVC wrapper
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
++ # The linker will automatically build a .lib file if we build a DLL.
++ old_archive_from_new_cmds='true'
++ # FIXME: Should let the user specify the lib program.
++ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
++ enable_shared_with_static_runtimes=yes
++ ;;
++ esac
+ ;;
+
+ darwin* | rhapsody*)
+@@ -9652,7 +10235,7 @@
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+- archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+@@ -9660,7 +10243,7 @@
+
+ hpux9*)
+ if test "$GCC" = yes; then
+- archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+@@ -9676,7 +10259,7 @@
+
+ hpux10*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+@@ -9700,10 +10283,10 @@
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+@@ -9782,23 +10365,36 @@
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+- save_LDFLAGS="$LDFLAGS"
+- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ # This should be the same for all languages, so no per-tag cache variable.
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
++$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
++if test "${lt_cv_irix_exported_symbol+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-int foo(void) {}
++int foo (void) { return 0; }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+-
++ lt_cv_irix_exported_symbol=yes
++else
++ lt_cv_irix_exported_symbol=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+- LDFLAGS="$save_LDFLAGS"
++ LDFLAGS="$save_LDFLAGS"
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
++$as_echo "$lt_cv_irix_exported_symbol" >&6; }
++ if test "$lt_cv_irix_exported_symbol" = yes; then
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
++ fi
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+@@ -9883,7 +10479,7 @@
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+@@ -9902,9 +10498,9 @@
+ no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+- archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+@@ -10480,8 +11076,9 @@
+ need_version=no
+ need_lib_prefix=no
+
+- case $GCC,$host_os in
+- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
++ case $GCC,$cc_basename in
++ yes,*)
++ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+@@ -10514,13 +11111,71 @@
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
++ dynamic_linker='Win32 ld.exe'
++ ;;
++
++ *,cl*)
++ # Native MSVC
++ libname_spec='$name'
++ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++ library_names_spec='${libname}.dll.lib'
++
++ case $build_os in
++ mingw*)
++ sys_lib_search_path_spec=
++ lt_save_ifs=$IFS
++ IFS=';'
++ for lt_path in $LIB
++ do
++ IFS=$lt_save_ifs
++ # Let DOS variable expansion print the short 8.3 style file name.
++ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
++ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
++ done
++ IFS=$lt_save_ifs
++ # Convert to MSYS style.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
++ ;;
++ cygwin*)
++ # Convert to unix form, then to dos form, then back to unix form
++ # but this time dos style (no spaces!) so that the unix form looks
++ # like /cygdrive/c/PROGRA~1:/cygdr...
++ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
++ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
++ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ ;;
++ *)
++ sys_lib_search_path_spec="$LIB"
++ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
++ # It is most probably a Windows format PATH.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ # FIXME: find the short name or the path components, as spaces are
++ # common. (e.g. "Program Files" -> "PROGRA~1")
++ ;;
++ esac
++
++ # DLL is installed to $(libdir)/../bin by postinstall_cmds
++ postinstall_cmds='base_file=`basename \${file}`~
++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
++ dldir=$destdir/`dirname \$dlpath`~
++ test -d \$dldir || mkdir -p \$dldir~
++ $install_prog $dir/$dlname \$dldir/$dlname'
++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++ dlpath=$dir/\$dldll~
++ $RM \$dlpath'
++ shlibpath_overrides_runpath=yes
++ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
++ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
++ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+- dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+@@ -10616,7 +11271,7 @@
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
++ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+@@ -11412,7 +12067,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 11415 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -11456,10 +12111,10 @@
+ /* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+-void fnord () __attribute__((visibility("default")));
++int fnord () __attribute__((visibility("default")));
+ #endif
+
+-void fnord () { int i=42; }
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -11518,7 +12173,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 11521 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -11562,10 +12217,10 @@
+ /* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+-void fnord () __attribute__((visibility("default")));
++int fnord () __attribute__((visibility("default")));
+ #endif
+
+-void fnord () { int i=42; }
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -14897,7 +15552,7 @@
+ if test "$enable_shared" = "yes"; then
+ x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
+ if test -n "$x"; then
+- SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
++ SHARED_LIBADD="`pwd`/../libiberty/pic/libiberty.a"
+ fi
+
+ # More hacks to build DLLs on Windows.
+@@ -16473,13 +17128,20 @@
+ lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+ lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+ lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
++lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
++lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
+ reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+ reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+ OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+ deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+ file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
++file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
++want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
++DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
++sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
+ AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+ AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
++archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
+ STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+ RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+ old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+@@ -16494,14 +17156,17 @@
+ lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
++nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
++lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+ objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+ MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
++lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+ lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+ need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
++MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
+ DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+ NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+ LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+@@ -16534,12 +17199,12 @@
+ hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+ inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+ link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+-fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $SED "$delay_single_quote_subst"`'
+ always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+ export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+ exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+ include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+ prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
++postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
+ file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+ variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+ need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+@@ -16594,8 +17259,13 @@
+ OBJDUMP \
+ deplibs_check_method \
+ file_magic_cmd \
++file_magic_glob \
++want_nocaseglob \
++DLLTOOL \
++sharedlib_from_linklib_cmd \
+ AR \
+ AR_FLAGS \
++archiver_list_spec \
+ STRIP \
+ RANLIB \
+ CC \
+@@ -16605,12 +17275,14 @@
+ lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
++nm_file_list_spec \
+ lt_prog_compiler_no_builtin_flag \
+-lt_prog_compiler_wl \
+ lt_prog_compiler_pic \
++lt_prog_compiler_wl \
+ lt_prog_compiler_static \
+ lt_cv_prog_compiler_c_o \
+ need_locks \
++MANIFEST_TOOL \
+ DSYMUTIL \
+ NMEDIT \
+ LIPO \
+@@ -16626,7 +17298,6 @@
+ hardcode_libdir_flag_spec \
+ hardcode_libdir_flag_spec_ld \
+ hardcode_libdir_separator \
+-fix_srcfile_path \
+ exclude_expsyms \
+ include_expsyms \
+ file_list_spec \
+@@ -16662,6 +17333,7 @@
+ module_expsym_cmds \
+ export_symbols_cmds \
+ prelink_cmds \
++postlink_cmds \
+ postinstall_cmds \
+ postuninstall_cmds \
+ finish_cmds \
+@@ -17441,7 +18113,8 @@
+ # NOTE: Changes made to this file will be lost: look at ltmain.sh.
+ #
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+-# 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
++# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
++# Inc.
+ # Written by Gordon Matzigkeit, 1996
+ #
+ # This file is part of GNU Libtool.
+@@ -17544,19 +18217,42 @@
+ # turn newlines into spaces.
+ NL2SP=$lt_lt_NL2SP
+
++# convert \$build file names to \$host format.
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++
++# convert \$build files to toolchain format.
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++
+ # An object symbol dumper.
+ OBJDUMP=$lt_OBJDUMP
+
+ # Method to check whether dependent libraries are shared objects.
+ deplibs_check_method=$lt_deplibs_check_method
+
+-# Command to use when deplibs_check_method == "file_magic".
++# Command to use when deplibs_check_method = "file_magic".
+ file_magic_cmd=$lt_file_magic_cmd
+
++# How to find potential files when deplibs_check_method = "file_magic".
++file_magic_glob=$lt_file_magic_glob
++
++# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
++want_nocaseglob=$lt_want_nocaseglob
++
++# DLL creation program.
++DLLTOOL=$lt_DLLTOOL
++
++# Command to associate shared and link libraries.
++sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
++
+ # The archiver.
+ AR=$lt_AR
++
++# Flags to create an archive.
+ AR_FLAGS=$lt_AR_FLAGS
+
++# How to feed a file listing to the archiver.
++archiver_list_spec=$lt_archiver_list_spec
++
+ # A symbol stripping program.
+ STRIP=$lt_STRIP
+
+@@ -17586,6 +18282,12 @@
+ # Transform the output of nm in a C name address pair when lib prefix is needed.
+ global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
++# Specify filename containing input files for \$NM.
++nm_file_list_spec=$lt_nm_file_list_spec
++
++# The root where to search for dependent libraries,and in which our libraries should be installed.
++lt_sysroot=$lt_sysroot
++
+ # The name of the directory that contains temporary libtool files.
+ objdir=$objdir
+
+@@ -17595,6 +18297,9 @@
+ # Must we lock files when doing compilation?
+ need_locks=$lt_need_locks
+
++# Manifest tool.
++MANIFEST_TOOL=$lt_MANIFEST_TOOL
++
+ # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+ DSYMUTIL=$lt_DSYMUTIL
+
+@@ -17709,12 +18414,12 @@
+ # Compiler flag to turn off builtin functions.
+ no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+-# How to pass a linker flag through the compiler.
+-wl=$lt_lt_prog_compiler_wl
+-
+ # Additional compiler flags for building library objects.
+ pic_flag=$lt_lt_prog_compiler_pic
+
++# How to pass a linker flag through the compiler.
++wl=$lt_lt_prog_compiler_wl
++
+ # Compiler flag to prevent dynamic linking.
+ link_static_flag=$lt_lt_prog_compiler_static
+
+@@ -17801,9 +18506,6 @@
+ # Whether libtool must link a program against all its dependency libraries.
+ link_all_deplibs=$link_all_deplibs
+
+-# Fix the shell variable \$srcfile for the compiler.
+-fix_srcfile_path=$lt_fix_srcfile_path
+-
+ # Set to "yes" if exported symbols are required.
+ always_export_symbols=$always_export_symbols
+
+@@ -17819,6 +18521,9 @@
+ # Commands necessary for linking programs (against libraries) with templates.
+ prelink_cmds=$lt_prelink_cmds
+
++# Commands necessary for finishing linking programs.
++postlink_cmds=$lt_postlink_cmds
++
+ # Specify filename containing input files.
+ file_list_spec=$lt_file_list_spec
+
+@@ -17851,210 +18556,169 @@
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+-
+- case $xsi_shell in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_dirname file append nondir_replacement
+-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+-# otherwise set result to NONDIR_REPLACEMENT.
+-func_dirname ()
+-{
+- case ${1} in
+- */*) func_dirname_result="${1%/*}${2}" ;;
+- * ) func_dirname_result="${3}" ;;
+- esac
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result="${1##*/}"
+-}
+-
+-# func_dirname_and_basename file append nondir_replacement
+-# perform func_basename and func_dirname in a single function
+-# call:
+-# dirname: Compute the dirname of FILE. If nonempty,
+-# add APPEND to the result, otherwise set result
+-# to NONDIR_REPLACEMENT.
+-# value returned in "$func_dirname_result"
+-# basename: Compute filename of FILE.
+-# value retuned in "$func_basename_result"
+-# Implementation must be kept synchronized with func_dirname
+-# and func_basename. For efficiency, we do not delegate to
+-# those functions but instead duplicate the functionality here.
+-func_dirname_and_basename ()
+-{
+- case ${1} in
+- */*) func_dirname_result="${1%/*}${2}" ;;
+- * ) func_dirname_result="${3}" ;;
+- esac
+- func_basename_result="${1##*/}"
+-}
+-
+-# func_stripname prefix suffix name
+-# strip PREFIX and SUFFIX off of NAME.
+-# PREFIX and SUFFIX must not contain globbing or regex special
+-# characters, hashes, percent signs, but SUFFIX may contain a leading
+-# dot (in which case that matches only a dot).
+-func_stripname ()
+-{
+- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+- # positional parameters, so assign one to ordinary parameter first.
+- func_stripname_result=${3}
+- func_stripname_result=${func_stripname_result#"${1}"}
+- func_stripname_result=${func_stripname_result%"${2}"}
+-}
+-
+-# func_opt_split
+-func_opt_split ()
+-{
+- func_opt_split_opt=${1%%=*}
+- func_opt_split_arg=${1#*=}
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+- case ${1} in
+- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+- *) func_lo2o_result=${1} ;;
+- esac
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=${1%.*}.lo
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=$(( $* ))
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=${#1}
+-}
+-
+-_LT_EOF
+- ;;
+- *) # Bourne compatible functions.
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_dirname file append nondir_replacement
+-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+-# otherwise set result to NONDIR_REPLACEMENT.
+-func_dirname ()
+-{
+- # Extract subdirectory from the argument.
+- func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
+- if test "X$func_dirname_result" = "X${1}"; then
+- func_dirname_result="${3}"
+- else
+- func_dirname_result="$func_dirname_result${2}"
+- fi
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result=`$ECHO "${1}" | $SED "$basename"`
+-}
+-
+-
+-# func_stripname prefix suffix name
+-# strip PREFIX and SUFFIX off of NAME.
+-# PREFIX and SUFFIX must not contain globbing or regex special
+-# characters, hashes, percent signs, but SUFFIX may contain a leading
+-# dot (in which case that matches only a dot).
+-# func_strip_suffix prefix name
+-func_stripname ()
+-{
+- case ${2} in
+- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+- esac
+-}
+-
+-# sed scripts:
+-my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+-my_sed_long_arg='1s/^-[^=]*=//'
+-
+-# func_opt_split
+-func_opt_split ()
+-{
+- func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
+- func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+- func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=`expr "$@"`
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+-}
+-
+-_LT_EOF
+-esac
+-
+-case $lt_shell_append in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+- eval "$1+=\$2"
+-}
+-_LT_EOF
+- ;;
+- *)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+- eval "$1=\$$1\$2"
+-}
+-
+-_LT_EOF
+- ;;
+- esac
++ sed '$q' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
+
++ if test x"$xsi_shell" = xyes; then
++ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
++func_dirname ()\
++{\
++\ case ${1} in\
++\ */*) func_dirname_result="${1%/*}${2}" ;;\
++\ * ) func_dirname_result="${3}" ;;\
++\ esac\
++} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_basename ()$/,/^} # func_basename /c\
++func_basename ()\
++{\
++\ func_basename_result="${1##*/}"\
++} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
++func_dirname_and_basename ()\
++{\
++\ case ${1} in\
++\ */*) func_dirname_result="${1%/*}${2}" ;;\
++\ * ) func_dirname_result="${3}" ;;\
++\ esac\
++\ func_basename_result="${1##*/}"\
++} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
++func_stripname ()\
++{\
++\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
++\ # positional parameters, so assign one to ordinary parameter first.\
++\ func_stripname_result=${3}\
++\ func_stripname_result=${func_stripname_result#"${1}"}\
++\ func_stripname_result=${func_stripname_result%"${2}"}\
++} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
++func_split_long_opt ()\
++{\
++\ func_split_long_opt_name=${1%%=*}\
++\ func_split_long_opt_arg=${1#*=}\
++} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
++func_split_short_opt ()\
++{\
++\ func_split_short_opt_arg=${1#??}\
++\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
++} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
++func_lo2o ()\
++{\
++\ case ${1} in\
++\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
++\ *) func_lo2o_result=${1} ;;\
++\ esac\
++} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_xform ()$/,/^} # func_xform /c\
++func_xform ()\
++{\
++ func_xform_result=${1%.*}.lo\
++} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_arith ()$/,/^} # func_arith /c\
++func_arith ()\
++{\
++ func_arith_result=$(( $* ))\
++} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_len ()$/,/^} # func_len /c\
++func_len ()\
++{\
++ func_len_result=${#1}\
++} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++fi
++
++if test x"$lt_shell_append" = xyes; then
++ sed -e '/^func_append ()$/,/^} # func_append /c\
++func_append ()\
++{\
++ eval "${1}+=\\${2}"\
++} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
++func_append_quoted ()\
++{\
++\ func_quote_for_eval "${2}"\
++\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
++} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ # Save a `func_append' function call where possible by direct use of '+='
++ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++else
++ # Save a `func_append' function call even when '+=' is not available
++ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++fi
++
++if test x"$_lt_function_replace_fail" = x":"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
++$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
++fi
+
+- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+
+- mv -f "$cfgfile" "$ofile" ||
++ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
+Index: binutils-2.21/opcodes/configure
+===================================================================
+--- binutils-2.21.orig/opcodes/configure 2010-11-05 03:32:32.000000000 -0700
++++ binutils-2.21/opcodes/configure 2011-01-07 11:26:03.686101001 -0800
+@@ -647,6 +647,9 @@
+ LIPO
+ NMEDIT
+ DSYMUTIL
++MANIFEST_TOOL
++ac_ct_AR
++DLLTOOL
+ OBJDUMP
+ LN_S
+ NM
+@@ -759,6 +762,7 @@
+ with_pic
+ enable_fast_install
+ with_gnu_ld
++with_libtool_sysroot
+ enable_libtool_lock
+ enable_targets
+ enable_werror
+@@ -1417,6 +1421,8 @@
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
++ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
++ (or the compiler's sysroot if not specified).
+
+ Some influential environment variables:
+ CC C compiler command
+@@ -5112,8 +5118,8 @@
+
+
+
+-macro_version='2.2.7a'
+-macro_revision='1.3134'
++macro_version='2.4'
++macro_revision='1.3293'
+
+
+
+@@ -5153,7 +5159,7 @@
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+ $as_echo_n "checking how to print strings... " >&6; }
+ # Test print first, because it will be a builtin if present.
+-if test "X`print -r -- -n 2>/dev/null`" = X-n && \
++if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+ elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+@@ -5839,8 +5845,8 @@
+ # Try some XSI features
+ xsi_shell=no
+ ( _lt_dummy="a/b/c"
+- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+- = c,a/b,, \
++ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
++ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+@@ -5889,6 +5895,80 @@
+
+
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
++$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
++if test "${lt_cv_to_host_file_cmd+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
++ ;;
++ esac
++ ;;
++ *-*-cygwin* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
++ ;;
++ esac
++ ;;
++ * ) # unhandled hosts (and "normal" native builds)
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++esac
++
++fi
++
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
++$as_echo "$lt_cv_to_host_file_cmd" >&6; }
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
++$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
++if test "${lt_cv_to_tool_file_cmd+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ #assume ordinary cross tools, or native build.
++lt_cv_to_tool_file_cmd=func_convert_file_noop
++case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ esac
++ ;;
++esac
++
++fi
++
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
++$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
++
++
++
++
++
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+ $as_echo_n "checking for $LD option to reload object files... " >&6; }
+ if test "${lt_cv_ld_reload_flag+set}" = set; then :
+@@ -5905,6 +5985,11 @@
+ esac
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ case $host_os in
++ cygwin* | mingw* | pw32* | cegcc*)
++ if test "$GCC" != yes; then
++ reload_cmds=false
++ fi
++ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+@@ -6073,7 +6158,8 @@
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
++ # Keep this pattern in sync with the one in func_win32_libid.
++ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+@@ -6227,6 +6313,21 @@
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+ $as_echo "$lt_cv_deplibs_check_method" >&6; }
++
++file_magic_glob=
++want_nocaseglob=no
++if test "$build" = "$host"; then
++ case $host_os in
++ mingw* | pw32*)
++ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
++ want_nocaseglob=yes
++ else
++ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
++ fi
++ ;;
++ esac
++fi
++
+ file_magic_cmd=$lt_cv_file_magic_cmd
+ deplibs_check_method=$lt_cv_deplibs_check_method
+ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6242,9 +6343,162 @@
+
+
+
++
++
++
++
++
++
++
++
++
++
+ if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}ar; ac_word=$2
++ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
++set dummy ${ac_tool_prefix}dlltool; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_DLLTOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$DLLTOOL"; then
++ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++DLLTOOL=$ac_cv_prog_DLLTOOL
++if test -n "$DLLTOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
++$as_echo "$DLLTOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_DLLTOOL"; then
++ ac_ct_DLLTOOL=$DLLTOOL
++ # Extract the first word of "dlltool", so it can be a program name with args.
++set dummy dlltool; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_DLLTOOL"; then
++ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
++if test -n "$ac_ct_DLLTOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
++$as_echo "$ac_ct_DLLTOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_DLLTOOL" = x; then
++ DLLTOOL="false"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ DLLTOOL=$ac_ct_DLLTOOL
++ fi
++else
++ DLLTOOL="$ac_cv_prog_DLLTOOL"
++fi
++
++test -z "$DLLTOOL" && DLLTOOL=dlltool
++
++
++
++
++
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
++$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
++if test "${lt_cv_sharedlib_from_linklib_cmd+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_sharedlib_from_linklib_cmd='unknown'
++
++case $host_os in
++cygwin* | mingw* | pw32* | cegcc*)
++ # two different shell functions defined in ltmain.sh
++ # decide which to use based on capabilities of $DLLTOOL
++ case `$DLLTOOL --help 2>&1` in
++ *--identify-strict*)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
++ ;;
++ *)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
++ ;;
++ esac
++ ;;
++*)
++ # fallback: assume linklib IS sharedlib
++ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
++ ;;
++esac
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
++$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
++sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
++test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
++
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++ for ac_prog in ar
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if test "${ac_cv_prog_AR+set}" = set; then :
+@@ -6260,7 +6514,7 @@
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+- ac_cv_prog_AR="${ac_tool_prefix}ar"
++ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -6280,11 +6534,15 @@
+ fi
+
+
++ test -n "$AR" && break
++ done
+ fi
+-if test -z "$ac_cv_prog_AR"; then
++if test -z "$AR"; then
+ ac_ct_AR=$AR
+- # Extract the first word of "ar", so it can be a program name with args.
+-set dummy ar; ac_word=$2
++ for ac_prog in ar
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+@@ -6300,7 +6558,7 @@
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+- ac_cv_prog_ac_ct_AR="ar"
++ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -6319,6 +6577,10 @@
+ $as_echo "no" >&6; }
+ fi
+
++
++ test -n "$ac_ct_AR" && break
++done
++
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+@@ -6330,12 +6592,11 @@
+ esac
+ AR=$ac_ct_AR
+ fi
+-else
+- AR="$ac_cv_prog_AR"
+ fi
+
+-test -z "$AR" && AR=ar
+-test -z "$AR_FLAGS" && AR_FLAGS=cru
++: ${AR=ar}
++: ${AR_FLAGS=cru}
++
+
+
+
+@@ -6346,6 +6607,63 @@
+
+
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
++$as_echo_n "checking for archiver @FILE support... " >&6; }
++if test "${lt_cv_ar_at_file+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_ar_at_file=no
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ echo conftest.$ac_objext > conftest.lst
++ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
++ (eval $lt_ar_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ if test "$ac_status" -eq 0; then
++ # Ensure the archiver fails upon bogus file names.
++ rm -f conftest.$ac_objext libconftest.a
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
++ (eval $lt_ar_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ if test "$ac_status" -ne 0; then
++ lt_cv_ar_at_file=@
++ fi
++ fi
++ rm -f conftest.* libconftest.a
++
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
++$as_echo "$lt_cv_ar_at_file" >&6; }
++
++if test "x$lt_cv_ar_at_file" = xno; then
++ archiver_list_spec=
++else
++ archiver_list_spec=$lt_cv_ar_at_file
++fi
++
++
++
++
++
++
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+@@ -6681,8 +6999,8 @@
+ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+ # Transform an extracted symbol line into symbol name and symbol address
+-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
+-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+ # Handle CRLF in mingw tool chain
+ opt_cr=
+@@ -6718,6 +7036,7 @@
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
++ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+@@ -6759,6 +7078,18 @@
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
++/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
++#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
++/* DATA imports from DLLs on WIN32 con't be const, because runtime
++ relocations are performed -- see ld's documentation on pseudo-relocs. */
++# define LT_DLSYM_CONST
++#elif defined(__osf__)
++/* This system does not cope well with relocations in const data. */
++# define LT_DLSYM_CONST
++#else
++# define LT_DLSYM_CONST const
++#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -6770,7 +7101,7 @@
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+ /* The mapping between symbol names and symbols. */
+-const struct {
++LT_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+ }
+@@ -6796,8 +7127,8 @@
+ _LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+- lt_save_LIBS="$LIBS"
+- lt_save_CFLAGS="$CFLAGS"
++ lt_globsym_save_LIBS=$LIBS
++ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+@@ -6807,8 +7138,8 @@
+ test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+- LIBS="$lt_save_LIBS"
+- CFLAGS="$lt_save_CFLAGS"
++ LIBS=$lt_globsym_save_LIBS
++ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+@@ -6845,6 +7176,14 @@
+ $as_echo "ok" >&6; }
+ fi
+
++# Response file support.
++if test "$lt_cv_nm_interface" = "MS dumpbin"; then
++ nm_file_list_spec='@'
++elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
++ nm_file_list_spec='@'
++fi
++
++
+
+
+
+@@ -6866,6 +7205,47 @@
+
+
+
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
++$as_echo_n "checking for sysroot... " >&6; }
++
++# Check whether --with-libtool-sysroot was given.
++if test "${with_libtool_sysroot+set}" = set; then :
++ withval=$with_libtool_sysroot;
++else
++ with_libtool_sysroot=no
++fi
++
++
++lt_sysroot=
++case ${with_libtool_sysroot} in #(
++ yes)
++ if test "$GCC" = yes; then
++ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
++ fi
++ ;; #(
++ /*)
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
++ ;; #(
++ no|'')
++ ;; #(
++ *)
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
++$as_echo "${with_libtool_sysroot}" >&6; }
++ as_fn_error "The sysroot must be an absolute path." "$LINENO" 5
++ ;;
++esac
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
++$as_echo "${lt_sysroot:-no}" >&6; }
++
++
++
++
++
+ # Check whether --enable-libtool-lock was given.
+ if test "${enable_libtool_lock+set}" = set; then :
+ enableval=$enable_libtool_lock;
+@@ -7059,6 +7439,123 @@
+
+ need_locks="$enable_libtool_lock"
+
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
++set dummy ${ac_tool_prefix}mt; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_MANIFEST_TOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$MANIFEST_TOOL"; then
++ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
++if test -n "$MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
++$as_echo "$MANIFEST_TOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
++ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
++ # Extract the first word of "mt", so it can be a program name with args.
++set dummy mt; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_MANIFEST_TOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_MANIFEST_TOOL"; then
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
++if test -n "$ac_ct_MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
++$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_MANIFEST_TOOL" = x; then
++ MANIFEST_TOOL=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
++ fi
++else
++ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
++fi
++
++test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
++$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
++if test "${lt_cv_path_mainfest_tool+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_path_mainfest_tool=no
++ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
++ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
++ cat conftest.err >&5
++ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
++ lt_cv_path_mainfest_tool=yes
++ fi
++ rm -f conftest*
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
++$as_echo "$lt_cv_path_mainfest_tool" >&6; }
++if test "x$lt_cv_path_mainfest_tool" != xyes; then
++ MANIFEST_TOOL=:
++fi
++
++
++
++
++
+
+ case $host_os in
+ rhapsody* | darwin*)
+@@ -7622,6 +8119,8 @@
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+ echo "$AR cru libconftest.a conftest.o" >&5
+ $AR cru libconftest.a conftest.o 2>&5
++ echo "$RANLIB libconftest.a" >&5
++ $RANLIB libconftest.a 2>&5
+ cat > conftest.c << _LT_EOF
+ int main() { return 0;}
+ _LT_EOF
+@@ -7787,7 +8286,8 @@
+ LIBTOOL_DEPS="$ltmain"
+
+ # Always use our own libtool.
+-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
++LIBTOOL='$(SHELL) $(top_builddir)'
++LIBTOOL="$LIBTOOL/${host_alias}-libtool"
+
+
+
+@@ -7876,7 +8376,7 @@
+ esac
+
+ # Global variables:
+-ofile=libtool
++ofile=${host_alias}-libtool
+ can_build_shared=yes
+
+ # All known linkers require a `.a' archive for static linking (except MSVC,
+@@ -8174,8 +8674,6 @@
+ lt_prog_compiler_pic=
+ lt_prog_compiler_static=
+
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl='-Wl,'
+@@ -8340,6 +8838,12 @@
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
++ nagfor*)
++ # NAG Fortran compiler
++ lt_prog_compiler_wl='-Wl,-Wl,,'
++ lt_prog_compiler_pic='-PIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+@@ -8402,7 +8906,7 @@
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ case $cc_basename in
+- f77* | f90* | f95*)
++ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ lt_prog_compiler_wl='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl='-Wl,';;
+@@ -8459,13 +8963,17 @@
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+ esac
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
+-$as_echo "$lt_prog_compiler_pic" >&6; }
+-
+-
+-
+-
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
++$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
++if test "${lt_cv_prog_compiler_pic+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
++$as_echo "$lt_cv_prog_compiler_pic" >&6; }
++lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
+
+ #
+ # Check to make sure the PIC flag actually works.
+@@ -8526,6 +9034,11 @@
+
+
+
++
++
++
++
++
+ #
+ # Check to make sure the static flag actually works.
+ #
+@@ -8876,7 +9389,8 @@
+ allow_undefined_flag=unsupported
+ always_export_symbols=no
+ enable_shared_with_static_runtimes=yes
+- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
++ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+@@ -8924,7 +9438,7 @@
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+- tmp_addflag=
++ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+@@ -8975,12 +9489,12 @@
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld='-rpath $libdir'
+- archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
++ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
++ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+@@ -8994,8 +9508,8 @@
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+@@ -9013,8 +9527,8 @@
+
+ _LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -9060,8 +9574,8 @@
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -9191,7 +9705,13 @@
+ allow_undefined_flag='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if test "${lt_cv_aix_libpath_+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -9204,22 +9724,29 @@
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath_
++fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+@@ -9231,7 +9758,13 @@
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if test "${lt_cv_aix_libpath_+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -9244,22 +9777,29 @@
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath_
++fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+@@ -9304,20 +9844,63 @@
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+- hardcode_libdir_flag_spec=' '
+- allow_undefined_flag=unsupported
+- # Tell ltmain to make .lib files, not .a files.
+- libext=lib
+- # Tell ltmain to make .dll files, not .so files.
+- shrext_cmds=".dll"
+- # FIXME: Setting linknames here is a bad hack.
+- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+- # The linker will automatically build a .lib file if we build a DLL.
+- old_archive_from_new_cmds='true'
+- # FIXME: Should let the user specify the lib program.
+- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+- fix_srcfile_path='`cygpath -w "$srcfile"`'
+- enable_shared_with_static_runtimes=yes
++ case $cc_basename in
++ cl*)
++ # Native MSVC
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ always_export_symbols=yes
++ file_list_spec='@'
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
++ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
++ else
++ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
++ fi~
++ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
++ linknames='
++ # The linker will not automatically build a static lib if we build a DLL.
++ # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
++ enable_shared_with_static_runtimes=yes
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++ # Don't use ranlib
++ old_postinstall_cmds='chmod 644 $oldlib'
++ postlink_cmds='lt_outputfile="@OUTPUT@"~
++ lt_tool_outputfile="@TOOL_OUTPUT@"~
++ case $lt_outputfile in
++ *.exe|*.EXE) ;;
++ *)
++ lt_outputfile="$lt_outputfile.exe"
++ lt_tool_outputfile="$lt_tool_outputfile.exe"
++ ;;
++ esac~
++ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
++ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
++ $RM "$lt_outputfile.manifest";
++ fi'
++ ;;
++ *)
++ # Assume MSVC wrapper
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
++ # The linker will automatically build a .lib file if we build a DLL.
++ old_archive_from_new_cmds='true'
++ # FIXME: Should let the user specify the lib program.
++ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
++ enable_shared_with_static_runtimes=yes
++ ;;
++ esac
+ ;;
+
+ darwin* | rhapsody*)
+@@ -9382,7 +9965,7 @@
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+- archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+@@ -9390,7 +9973,7 @@
+
+ hpux9*)
+ if test "$GCC" = yes; then
+- archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+@@ -9406,7 +9989,7 @@
+
+ hpux10*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+@@ -9430,10 +10013,10 @@
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+@@ -9512,23 +10095,36 @@
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+- save_LDFLAGS="$LDFLAGS"
+- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ # This should be the same for all languages, so no per-tag cache variable.
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
++$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
++if test "${lt_cv_irix_exported_symbol+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-int foo(void) {}
++int foo (void) { return 0; }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+-
++ lt_cv_irix_exported_symbol=yes
++else
++ lt_cv_irix_exported_symbol=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+- LDFLAGS="$save_LDFLAGS"
++ LDFLAGS="$save_LDFLAGS"
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
++$as_echo "$lt_cv_irix_exported_symbol" >&6; }
++ if test "$lt_cv_irix_exported_symbol" = yes; then
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
++ fi
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+@@ -9613,7 +10209,7 @@
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+@@ -9632,9 +10228,9 @@
+ no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+- archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+@@ -10210,8 +10806,9 @@
+ need_version=no
+ need_lib_prefix=no
+
+- case $GCC,$host_os in
+- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
++ case $GCC,$cc_basename in
++ yes,*)
++ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+@@ -10244,13 +10841,71 @@
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
++ dynamic_linker='Win32 ld.exe'
++ ;;
++
++ *,cl*)
++ # Native MSVC
++ libname_spec='$name'
++ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++ library_names_spec='${libname}.dll.lib'
++
++ case $build_os in
++ mingw*)
++ sys_lib_search_path_spec=
++ lt_save_ifs=$IFS
++ IFS=';'
++ for lt_path in $LIB
++ do
++ IFS=$lt_save_ifs
++ # Let DOS variable expansion print the short 8.3 style file name.
++ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
++ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
++ done
++ IFS=$lt_save_ifs
++ # Convert to MSYS style.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
++ ;;
++ cygwin*)
++ # Convert to unix form, then to dos form, then back to unix form
++ # but this time dos style (no spaces!) so that the unix form looks
++ # like /cygdrive/c/PROGRA~1:/cygdr...
++ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
++ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
++ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ ;;
++ *)
++ sys_lib_search_path_spec="$LIB"
++ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
++ # It is most probably a Windows format PATH.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ # FIXME: find the short name or the path components, as spaces are
++ # common. (e.g. "Program Files" -> "PROGRA~1")
++ ;;
++ esac
++
++ # DLL is installed to $(libdir)/../bin by postinstall_cmds
++ postinstall_cmds='base_file=`basename \${file}`~
++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
++ dldir=$destdir/`dirname \$dlpath`~
++ test -d \$dldir || mkdir -p \$dldir~
++ $install_prog $dir/$dlname \$dldir/$dlname'
++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++ dlpath=$dir/\$dldll~
++ $RM \$dlpath'
++ shlibpath_overrides_runpath=yes
++ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
++ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
++ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+- dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+@@ -10346,7 +11001,7 @@
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
++ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+@@ -11142,7 +11797,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 11145 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -11186,10 +11841,10 @@
+ /* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+-void fnord () __attribute__((visibility("default")));
++int fnord () __attribute__((visibility("default")));
+ #endif
+
+-void fnord () { int i=42; }
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -11248,7 +11903,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 11251 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -11292,10 +11947,10 @@
+ /* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+-void fnord () __attribute__((visibility("default")));
++int fnord () __attribute__((visibility("default")));
+ #endif
+
+-void fnord () { int i=42; }
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -12328,7 +12983,7 @@
+ # since libbfd may not pull in the entirety of libiberty.
+ x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
+ if test -n "$x"; then
+- SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
++ SHARED_LIBADD="`pwd`/../libiberty/pic/libiberty.a"
+ fi
+
+ case "${host}" in
+@@ -13289,13 +13944,20 @@
+ lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+ lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+ lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
++lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
++lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
+ reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+ reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+ OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+ deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+ file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
++file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
++want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
++DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
++sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
+ AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+ AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
++archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
+ STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+ RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+ old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+@@ -13310,14 +13972,17 @@
+ lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
++nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
++lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+ objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+ MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
++lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+ lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+ need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
++MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
+ DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+ NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+ LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+@@ -13350,12 +14015,12 @@
+ hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+ inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+ link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+-fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $SED "$delay_single_quote_subst"`'
+ always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+ export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+ exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+ include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+ prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
++postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
+ file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+ variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+ need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+@@ -13410,8 +14075,13 @@
+ OBJDUMP \
+ deplibs_check_method \
+ file_magic_cmd \
++file_magic_glob \
++want_nocaseglob \
++DLLTOOL \
++sharedlib_from_linklib_cmd \
+ AR \
+ AR_FLAGS \
++archiver_list_spec \
+ STRIP \
+ RANLIB \
+ CC \
+@@ -13421,12 +14091,14 @@
+ lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
++nm_file_list_spec \
+ lt_prog_compiler_no_builtin_flag \
+-lt_prog_compiler_wl \
+ lt_prog_compiler_pic \
++lt_prog_compiler_wl \
+ lt_prog_compiler_static \
+ lt_cv_prog_compiler_c_o \
+ need_locks \
++MANIFEST_TOOL \
+ DSYMUTIL \
+ NMEDIT \
+ LIPO \
+@@ -13442,7 +14114,6 @@
+ hardcode_libdir_flag_spec \
+ hardcode_libdir_flag_spec_ld \
+ hardcode_libdir_separator \
+-fix_srcfile_path \
+ exclude_expsyms \
+ include_expsyms \
+ file_list_spec \
+@@ -13478,6 +14149,7 @@
+ module_expsym_cmds \
+ export_symbols_cmds \
+ prelink_cmds \
++postlink_cmds \
+ postinstall_cmds \
+ postuninstall_cmds \
+ finish_cmds \
+@@ -14234,7 +14906,8 @@
+ # NOTE: Changes made to this file will be lost: look at ltmain.sh.
+ #
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+-# 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
++# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
++# Inc.
+ # Written by Gordon Matzigkeit, 1996
+ #
+ # This file is part of GNU Libtool.
+@@ -14337,19 +15010,42 @@
+ # turn newlines into spaces.
+ NL2SP=$lt_lt_NL2SP
+
++# convert \$build file names to \$host format.
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++
++# convert \$build files to toolchain format.
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++
+ # An object symbol dumper.
+ OBJDUMP=$lt_OBJDUMP
+
+ # Method to check whether dependent libraries are shared objects.
+ deplibs_check_method=$lt_deplibs_check_method
+
+-# Command to use when deplibs_check_method == "file_magic".
++# Command to use when deplibs_check_method = "file_magic".
+ file_magic_cmd=$lt_file_magic_cmd
+
++# How to find potential files when deplibs_check_method = "file_magic".
++file_magic_glob=$lt_file_magic_glob
++
++# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
++want_nocaseglob=$lt_want_nocaseglob
++
++# DLL creation program.
++DLLTOOL=$lt_DLLTOOL
++
++# Command to associate shared and link libraries.
++sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
++
+ # The archiver.
+ AR=$lt_AR
++
++# Flags to create an archive.
+ AR_FLAGS=$lt_AR_FLAGS
+
++# How to feed a file listing to the archiver.
++archiver_list_spec=$lt_archiver_list_spec
++
+ # A symbol stripping program.
+ STRIP=$lt_STRIP
+
+@@ -14379,6 +15075,12 @@
+ # Transform the output of nm in a C name address pair when lib prefix is needed.
+ global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
++# Specify filename containing input files for \$NM.
++nm_file_list_spec=$lt_nm_file_list_spec
++
++# The root where to search for dependent libraries,and in which our libraries should be installed.
++lt_sysroot=$lt_sysroot
++
+ # The name of the directory that contains temporary libtool files.
+ objdir=$objdir
+
+@@ -14388,6 +15090,9 @@
+ # Must we lock files when doing compilation?
+ need_locks=$lt_need_locks
+
++# Manifest tool.
++MANIFEST_TOOL=$lt_MANIFEST_TOOL
++
+ # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+ DSYMUTIL=$lt_DSYMUTIL
+
+@@ -14502,12 +15207,12 @@
+ # Compiler flag to turn off builtin functions.
+ no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+-# How to pass a linker flag through the compiler.
+-wl=$lt_lt_prog_compiler_wl
+-
+ # Additional compiler flags for building library objects.
+ pic_flag=$lt_lt_prog_compiler_pic
+
++# How to pass a linker flag through the compiler.
++wl=$lt_lt_prog_compiler_wl
++
+ # Compiler flag to prevent dynamic linking.
+ link_static_flag=$lt_lt_prog_compiler_static
+
+@@ -14594,9 +15299,6 @@
+ # Whether libtool must link a program against all its dependency libraries.
+ link_all_deplibs=$link_all_deplibs
+
+-# Fix the shell variable \$srcfile for the compiler.
+-fix_srcfile_path=$lt_fix_srcfile_path
+-
+ # Set to "yes" if exported symbols are required.
+ always_export_symbols=$always_export_symbols
+
+@@ -14612,6 +15314,9 @@
+ # Commands necessary for linking programs (against libraries) with templates.
+ prelink_cmds=$lt_prelink_cmds
+
++# Commands necessary for finishing linking programs.
++postlink_cmds=$lt_postlink_cmds
++
+ # Specify filename containing input files.
+ file_list_spec=$lt_file_list_spec
+
+@@ -14644,210 +15349,169 @@
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+-
+- case $xsi_shell in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_dirname file append nondir_replacement
+-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+-# otherwise set result to NONDIR_REPLACEMENT.
+-func_dirname ()
+-{
+- case ${1} in
+- */*) func_dirname_result="${1%/*}${2}" ;;
+- * ) func_dirname_result="${3}" ;;
+- esac
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result="${1##*/}"
+-}
+-
+-# func_dirname_and_basename file append nondir_replacement
+-# perform func_basename and func_dirname in a single function
+-# call:
+-# dirname: Compute the dirname of FILE. If nonempty,
+-# add APPEND to the result, otherwise set result
+-# to NONDIR_REPLACEMENT.
+-# value returned in "$func_dirname_result"
+-# basename: Compute filename of FILE.
+-# value retuned in "$func_basename_result"
+-# Implementation must be kept synchronized with func_dirname
+-# and func_basename. For efficiency, we do not delegate to
+-# those functions but instead duplicate the functionality here.
+-func_dirname_and_basename ()
+-{
+- case ${1} in
+- */*) func_dirname_result="${1%/*}${2}" ;;
+- * ) func_dirname_result="${3}" ;;
+- esac
+- func_basename_result="${1##*/}"
+-}
+-
+-# func_stripname prefix suffix name
+-# strip PREFIX and SUFFIX off of NAME.
+-# PREFIX and SUFFIX must not contain globbing or regex special
+-# characters, hashes, percent signs, but SUFFIX may contain a leading
+-# dot (in which case that matches only a dot).
+-func_stripname ()
+-{
+- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+- # positional parameters, so assign one to ordinary parameter first.
+- func_stripname_result=${3}
+- func_stripname_result=${func_stripname_result#"${1}"}
+- func_stripname_result=${func_stripname_result%"${2}"}
+-}
+-
+-# func_opt_split
+-func_opt_split ()
+-{
+- func_opt_split_opt=${1%%=*}
+- func_opt_split_arg=${1#*=}
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+- case ${1} in
+- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+- *) func_lo2o_result=${1} ;;
+- esac
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=${1%.*}.lo
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=$(( $* ))
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=${#1}
+-}
+-
+-_LT_EOF
+- ;;
+- *) # Bourne compatible functions.
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_dirname file append nondir_replacement
+-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+-# otherwise set result to NONDIR_REPLACEMENT.
+-func_dirname ()
+-{
+- # Extract subdirectory from the argument.
+- func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
+- if test "X$func_dirname_result" = "X${1}"; then
+- func_dirname_result="${3}"
+- else
+- func_dirname_result="$func_dirname_result${2}"
+- fi
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result=`$ECHO "${1}" | $SED "$basename"`
+-}
+-
+-
+-# func_stripname prefix suffix name
+-# strip PREFIX and SUFFIX off of NAME.
+-# PREFIX and SUFFIX must not contain globbing or regex special
+-# characters, hashes, percent signs, but SUFFIX may contain a leading
+-# dot (in which case that matches only a dot).
+-# func_strip_suffix prefix name
+-func_stripname ()
+-{
+- case ${2} in
+- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+- esac
+-}
+-
+-# sed scripts:
+-my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+-my_sed_long_arg='1s/^-[^=]*=//'
+-
+-# func_opt_split
+-func_opt_split ()
+-{
+- func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
+- func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+- func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=`expr "$@"`
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+-}
+-
+-_LT_EOF
+-esac
+-
+-case $lt_shell_append in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+- eval "$1+=\$2"
+-}
+-_LT_EOF
+- ;;
+- *)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+- eval "$1=\$$1\$2"
+-}
+-
+-_LT_EOF
+- ;;
+- esac
++ sed '$q' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
+
++ if test x"$xsi_shell" = xyes; then
++ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
++func_dirname ()\
++{\
++\ case ${1} in\
++\ */*) func_dirname_result="${1%/*}${2}" ;;\
++\ * ) func_dirname_result="${3}" ;;\
++\ esac\
++} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_basename ()$/,/^} # func_basename /c\
++func_basename ()\
++{\
++\ func_basename_result="${1##*/}"\
++} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
++func_dirname_and_basename ()\
++{\
++\ case ${1} in\
++\ */*) func_dirname_result="${1%/*}${2}" ;;\
++\ * ) func_dirname_result="${3}" ;;\
++\ esac\
++\ func_basename_result="${1##*/}"\
++} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
++func_stripname ()\
++{\
++\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
++\ # positional parameters, so assign one to ordinary parameter first.\
++\ func_stripname_result=${3}\
++\ func_stripname_result=${func_stripname_result#"${1}"}\
++\ func_stripname_result=${func_stripname_result%"${2}"}\
++} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
++func_split_long_opt ()\
++{\
++\ func_split_long_opt_name=${1%%=*}\
++\ func_split_long_opt_arg=${1#*=}\
++} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
++func_split_short_opt ()\
++{\
++\ func_split_short_opt_arg=${1#??}\
++\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
++} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
++func_lo2o ()\
++{\
++\ case ${1} in\
++\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
++\ *) func_lo2o_result=${1} ;;\
++\ esac\
++} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_xform ()$/,/^} # func_xform /c\
++func_xform ()\
++{\
++ func_xform_result=${1%.*}.lo\
++} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_arith ()$/,/^} # func_arith /c\
++func_arith ()\
++{\
++ func_arith_result=$(( $* ))\
++} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_len ()$/,/^} # func_len /c\
++func_len ()\
++{\
++ func_len_result=${#1}\
++} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++fi
++
++if test x"$lt_shell_append" = xyes; then
++ sed -e '/^func_append ()$/,/^} # func_append /c\
++func_append ()\
++{\
++ eval "${1}+=\\${2}"\
++} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
++func_append_quoted ()\
++{\
++\ func_quote_for_eval "${2}"\
++\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
++} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ # Save a `func_append' function call where possible by direct use of '+='
++ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++else
++ # Save a `func_append' function call even when '+=' is not available
++ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++fi
++
++if test x"$_lt_function_replace_fail" = x":"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
++$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
++fi
+
+- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+
+- mv -f "$cfgfile" "$ofile" ||
++ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
+Index: binutils-2.21/binutils/configure
+===================================================================
+--- binutils-2.21.orig/binutils/configure 2010-11-05 03:32:55.000000000 -0700
++++ binutils-2.21/binutils/configure 2011-01-07 10:49:16.426101000 -0800
+@@ -654,8 +654,11 @@
+ LIPO
+ NMEDIT
+ DSYMUTIL
++MANIFEST_TOOL
+ RANLIB
++ac_ct_AR
+ AR
++DLLTOOL
+ OBJDUMP
+ LN_S
+ NM
+@@ -768,6 +771,7 @@
+ with_pic
+ enable_fast_install
+ with_gnu_ld
++with_libtool_sysroot
+ enable_libtool_lock
+ enable_targets
+ enable_werror
+@@ -1429,6 +1433,8 @@
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
++ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
++ (or the compiler's sysroot if not specified).
+ --with-gnu-ld assume the C compiler uses GNU ld default=no
+ --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
+ --without-libiconv-prefix don't search for libiconv in includedir and libdir
+@@ -5146,8 +5152,8 @@
+
+
+
+-macro_version='2.2.7a'
+-macro_revision='1.3134'
++macro_version='2.4'
++macro_revision='1.3293'
+
+
+
+@@ -5187,7 +5193,7 @@
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+ $as_echo_n "checking how to print strings... " >&6; }
+ # Test print first, because it will be a builtin if present.
+-if test "X`print -r -- -n 2>/dev/null`" = X-n && \
++if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+ elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+@@ -5873,8 +5879,8 @@
+ # Try some XSI features
+ xsi_shell=no
+ ( _lt_dummy="a/b/c"
+- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+- = c,a/b,, \
++ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
++ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+@@ -5923,6 +5929,80 @@
+
+
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
++$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
++if test "${lt_cv_to_host_file_cmd+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
++ ;;
++ esac
++ ;;
++ *-*-cygwin* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
++ ;;
++ esac
++ ;;
++ * ) # unhandled hosts (and "normal" native builds)
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++esac
++
++fi
++
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
++$as_echo "$lt_cv_to_host_file_cmd" >&6; }
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
++$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
++if test "${lt_cv_to_tool_file_cmd+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ #assume ordinary cross tools, or native build.
++lt_cv_to_tool_file_cmd=func_convert_file_noop
++case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ esac
++ ;;
++esac
++
++fi
++
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
++$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
++
++
++
++
++
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+ $as_echo_n "checking for $LD option to reload object files... " >&6; }
+ if test "${lt_cv_ld_reload_flag+set}" = set; then :
+@@ -5939,6 +6019,11 @@
+ esac
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ case $host_os in
++ cygwin* | mingw* | pw32* | cegcc*)
++ if test "$GCC" != yes; then
++ reload_cmds=false
++ fi
++ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+@@ -6107,7 +6192,8 @@
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
++ # Keep this pattern in sync with the one in func_win32_libid.
++ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+@@ -6261,6 +6347,21 @@
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+ $as_echo "$lt_cv_deplibs_check_method" >&6; }
++
++file_magic_glob=
++want_nocaseglob=no
++if test "$build" = "$host"; then
++ case $host_os in
++ mingw* | pw32*)
++ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
++ want_nocaseglob=yes
++ else
++ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
++ fi
++ ;;
++ esac
++fi
++
+ file_magic_cmd=$lt_cv_file_magic_cmd
+ deplibs_check_method=$lt_cv_deplibs_check_method
+ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6276,9 +6377,162 @@
+
+
+
++
++
++
++
++
++
++
++
++
++
+ if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}ar; ac_word=$2
++ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
++set dummy ${ac_tool_prefix}dlltool; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_DLLTOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$DLLTOOL"; then
++ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++DLLTOOL=$ac_cv_prog_DLLTOOL
++if test -n "$DLLTOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
++$as_echo "$DLLTOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_DLLTOOL"; then
++ ac_ct_DLLTOOL=$DLLTOOL
++ # Extract the first word of "dlltool", so it can be a program name with args.
++set dummy dlltool; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_DLLTOOL"; then
++ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
++if test -n "$ac_ct_DLLTOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
++$as_echo "$ac_ct_DLLTOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_DLLTOOL" = x; then
++ DLLTOOL="false"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ DLLTOOL=$ac_ct_DLLTOOL
++ fi
++else
++ DLLTOOL="$ac_cv_prog_DLLTOOL"
++fi
++
++test -z "$DLLTOOL" && DLLTOOL=dlltool
++
++
++
++
++
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
++$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
++if test "${lt_cv_sharedlib_from_linklib_cmd+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_sharedlib_from_linklib_cmd='unknown'
++
++case $host_os in
++cygwin* | mingw* | pw32* | cegcc*)
++ # two different shell functions defined in ltmain.sh
++ # decide which to use based on capabilities of $DLLTOOL
++ case `$DLLTOOL --help 2>&1` in
++ *--identify-strict*)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
++ ;;
++ *)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
++ ;;
++ esac
++ ;;
++*)
++ # fallback: assume linklib IS sharedlib
++ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
++ ;;
++esac
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
++$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
++sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
++test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
++
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++ for ac_prog in ar
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if test "${ac_cv_prog_AR+set}" = set; then :
+@@ -6294,7 +6548,7 @@
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+- ac_cv_prog_AR="${ac_tool_prefix}ar"
++ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -6314,11 +6568,15 @@
+ fi
+
+
++ test -n "$AR" && break
++ done
+ fi
+-if test -z "$ac_cv_prog_AR"; then
++if test -z "$AR"; then
+ ac_ct_AR=$AR
+- # Extract the first word of "ar", so it can be a program name with args.
+-set dummy ar; ac_word=$2
++ for ac_prog in ar
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+@@ -6334,7 +6592,7 @@
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+- ac_cv_prog_ac_ct_AR="ar"
++ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -6353,6 +6611,10 @@
+ $as_echo "no" >&6; }
+ fi
+
++
++ test -n "$ac_ct_AR" && break
++done
++
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+@@ -6364,12 +6626,10 @@
+ esac
+ AR=$ac_ct_AR
+ fi
+-else
+- AR="$ac_cv_prog_AR"
+ fi
+
+-test -z "$AR" && AR=ar
+-test -z "$AR_FLAGS" && AR_FLAGS=cru
++: ${AR=ar}
++: ${AR_FLAGS=cru}
+
+
+
+@@ -6381,6 +6641,64 @@
+
+
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
++$as_echo_n "checking for archiver @FILE support... " >&6; }
++if test "${lt_cv_ar_at_file+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_ar_at_file=no
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ echo conftest.$ac_objext > conftest.lst
++ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
++ (eval $lt_ar_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ if test "$ac_status" -eq 0; then
++ # Ensure the archiver fails upon bogus file names.
++ rm -f conftest.$ac_objext libconftest.a
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
++ (eval $lt_ar_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ if test "$ac_status" -ne 0; then
++ lt_cv_ar_at_file=@
++ fi
++ fi
++ rm -f conftest.* libconftest.a
++
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
++$as_echo "$lt_cv_ar_at_file" >&6; }
++
++if test "x$lt_cv_ar_at_file" = xno; then
++ archiver_list_spec=
++else
++ archiver_list_spec=$lt_cv_ar_at_file
++fi
++
++
++
++
++
++
++
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}strip; ac_word=$2
+@@ -6715,8 +7033,8 @@
+ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+ # Transform an extracted symbol line into symbol name and symbol address
+-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
+-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+ # Handle CRLF in mingw tool chain
+ opt_cr=
+@@ -6752,6 +7070,7 @@
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
++ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+@@ -6793,6 +7112,18 @@
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
++/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
++#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
++/* DATA imports from DLLs on WIN32 con't be const, because runtime
++ relocations are performed -- see ld's documentation on pseudo-relocs. */
++# define LT_DLSYM_CONST
++#elif defined(__osf__)
++/* This system does not cope well with relocations in const data. */
++# define LT_DLSYM_CONST
++#else
++# define LT_DLSYM_CONST const
++#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -6804,7 +7135,7 @@
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+ /* The mapping between symbol names and symbols. */
+-const struct {
++LT_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+ }
+@@ -6830,8 +7161,8 @@
+ _LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+- lt_save_LIBS="$LIBS"
+- lt_save_CFLAGS="$CFLAGS"
++ lt_globsym_save_LIBS=$LIBS
++ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+@@ -6841,8 +7172,8 @@
+ test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+- LIBS="$lt_save_LIBS"
+- CFLAGS="$lt_save_CFLAGS"
++ LIBS=$lt_globsym_save_LIBS
++ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+@@ -6879,6 +7210,19 @@
+ $as_echo "ok" >&6; }
+ fi
+
++# Response file support.
++if test "$lt_cv_nm_interface" = "MS dumpbin"; then
++ nm_file_list_spec='@'
++elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
++ nm_file_list_spec='@'
++fi
++
++
++
++
++
++
++
+
+
+
+@@ -6899,6 +7243,42 @@
+
+
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
++$as_echo_n "checking for sysroot... " >&6; }
++
++# Check whether --with-libtool-sysroot was given.
++if test "${with_libtool_sysroot+set}" = set; then :
++ withval=$with_libtool_sysroot;
++else
++ with_libtool_sysroot=no
++fi
++
++
++lt_sysroot=
++case ${with_libtool_sysroot} in #(
++ yes)
++ if test "$GCC" = yes; then
++ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
++ fi
++ ;; #(
++ /*)
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
++ ;; #(
++ no|'')
++ ;; #(
++ *)
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
++$as_echo "${with_libtool_sysroot}" >&6; }
++ as_fn_error "The sysroot must be an absolute path." "$LINENO" 5
++ ;;
++esac
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
++$as_echo "${lt_sysroot:-no}" >&6; }
++
++
++
++
+
+ # Check whether --enable-libtool-lock was given.
+ if test "${enable_libtool_lock+set}" = set; then :
+@@ -7093,6 +7473,123 @@
+
+ need_locks="$enable_libtool_lock"
+
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
++set dummy ${ac_tool_prefix}mt; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_MANIFEST_TOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$MANIFEST_TOOL"; then
++ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
++if test -n "$MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
++$as_echo "$MANIFEST_TOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
++ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
++ # Extract the first word of "mt", so it can be a program name with args.
++set dummy mt; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_MANIFEST_TOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_MANIFEST_TOOL"; then
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
++if test -n "$ac_ct_MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
++$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_MANIFEST_TOOL" = x; then
++ MANIFEST_TOOL=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
++ fi
++else
++ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
++fi
++
++test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
++$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
++if test "${lt_cv_path_mainfest_tool+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_path_mainfest_tool=no
++ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
++ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
++ cat conftest.err >&5
++ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
++ lt_cv_path_mainfest_tool=yes
++ fi
++ rm -f conftest*
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
++$as_echo "$lt_cv_path_mainfest_tool" >&6; }
++if test "x$lt_cv_path_mainfest_tool" != xyes; then
++ MANIFEST_TOOL=:
++fi
++
++
++
++
++
+
+ case $host_os in
+ rhapsody* | darwin*)
+@@ -7656,6 +8153,8 @@
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+ echo "$AR cru libconftest.a conftest.o" >&5
+ $AR cru libconftest.a conftest.o 2>&5
++ echo "$RANLIB libconftest.a" >&5
++ $RANLIB libconftest.a 2>&5
+ cat > conftest.c << _LT_EOF
+ int main() { return 0;}
+ _LT_EOF
+@@ -7851,7 +8350,8 @@
+ LIBTOOL_DEPS="$ltmain"
+
+ # Always use our own libtool.
+-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
++LIBTOOL='$(SHELL) $(top_builddir)'
++LIBTOOL="$LIBTOOL/${host_alias}-libtool"
+
+
+
+@@ -7940,7 +8440,7 @@
+ esac
+
+ # Global variables:
+-ofile=libtool
++ofile=${host_alias}-libtool
+ can_build_shared=yes
+
+ # All known linkers require a `.a' archive for static linking (except MSVC,
+@@ -8238,8 +8738,6 @@
+ lt_prog_compiler_pic=
+ lt_prog_compiler_static=
+
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl='-Wl,'
+@@ -8404,6 +8902,12 @@
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
++ nagfor*)
++ # NAG Fortran compiler
++ lt_prog_compiler_wl='-Wl,-Wl,,'
++ lt_prog_compiler_pic='-PIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+@@ -8466,7 +8970,7 @@
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ case $cc_basename in
+- f77* | f90* | f95*)
++ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ lt_prog_compiler_wl='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl='-Wl,';;
+@@ -8523,13 +9027,17 @@
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+ esac
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
+-$as_echo "$lt_prog_compiler_pic" >&6; }
+-
+-
+-
+-
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
++$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
++if test "${lt_cv_prog_compiler_pic+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
++$as_echo "$lt_cv_prog_compiler_pic" >&6; }
++lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
+
+ #
+ # Check to make sure the PIC flag actually works.
+@@ -8590,6 +9098,11 @@
+
+
+
++
++
++
++
++
+ #
+ # Check to make sure the static flag actually works.
+ #
+@@ -8940,7 +9453,8 @@
+ allow_undefined_flag=unsupported
+ always_export_symbols=no
+ enable_shared_with_static_runtimes=yes
+- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
++ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+@@ -8988,7 +9502,7 @@
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+- tmp_addflag=
++ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+@@ -9039,12 +9553,12 @@
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld='-rpath $libdir'
+- archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
++ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
++ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+@@ -9058,8 +9572,8 @@
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+@@ -9077,8 +9591,8 @@
+
+ _LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -9124,8 +9638,8 @@
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -9255,7 +9769,13 @@
+ allow_undefined_flag='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if test "${lt_cv_aix_libpath_+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -9268,22 +9788,29 @@
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath_
++fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+@@ -9295,7 +9822,13 @@
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if test "${lt_cv_aix_libpath_+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -9308,22 +9841,29 @@
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath_
++fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+@@ -9368,20 +9908,63 @@
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+- hardcode_libdir_flag_spec=' '
+- allow_undefined_flag=unsupported
+- # Tell ltmain to make .lib files, not .a files.
+- libext=lib
+- # Tell ltmain to make .dll files, not .so files.
+- shrext_cmds=".dll"
+- # FIXME: Setting linknames here is a bad hack.
+- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+- # The linker will automatically build a .lib file if we build a DLL.
+- old_archive_from_new_cmds='true'
+- # FIXME: Should let the user specify the lib program.
+- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+- fix_srcfile_path='`cygpath -w "$srcfile"`'
+- enable_shared_with_static_runtimes=yes
++ case $cc_basename in
++ cl*)
++ # Native MSVC
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ always_export_symbols=yes
++ file_list_spec='@'
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
++ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
++ else
++ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
++ fi~
++ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
++ linknames='
++ # The linker will not automatically build a static lib if we build a DLL.
++ # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
++ enable_shared_with_static_runtimes=yes
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++ # Don't use ranlib
++ old_postinstall_cmds='chmod 644 $oldlib'
++ postlink_cmds='lt_outputfile="@OUTPUT@"~
++ lt_tool_outputfile="@TOOL_OUTPUT@"~
++ case $lt_outputfile in
++ *.exe|*.EXE) ;;
++ *)
++ lt_outputfile="$lt_outputfile.exe"
++ lt_tool_outputfile="$lt_tool_outputfile.exe"
++ ;;
++ esac~
++ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
++ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
++ $RM "$lt_outputfile.manifest";
++ fi'
++ ;;
++ *)
++ # Assume MSVC wrapper
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
++ # The linker will automatically build a .lib file if we build a DLL.
++ old_archive_from_new_cmds='true'
++ # FIXME: Should let the user specify the lib program.
++ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
++ enable_shared_with_static_runtimes=yes
++ ;;
++ esac
+ ;;
+
+ darwin* | rhapsody*)
+@@ -9446,7 +10029,7 @@
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+- archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+@@ -9454,7 +10037,7 @@
+
+ hpux9*)
+ if test "$GCC" = yes; then
+- archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+@@ -9470,7 +10053,7 @@
+
+ hpux10*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+@@ -9494,10 +10077,10 @@
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+@@ -9576,23 +10159,36 @@
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+- save_LDFLAGS="$LDFLAGS"
+- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ # This should be the same for all languages, so no per-tag cache variable.
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
++$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
++if test "${lt_cv_irix_exported_symbol+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-int foo(void) {}
++int foo (void) { return 0; }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+-
++ lt_cv_irix_exported_symbol=yes
++else
++ lt_cv_irix_exported_symbol=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+- LDFLAGS="$save_LDFLAGS"
++ LDFLAGS="$save_LDFLAGS"
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
++$as_echo "$lt_cv_irix_exported_symbol" >&6; }
++ if test "$lt_cv_irix_exported_symbol" = yes; then
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
++ fi
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+@@ -9677,7 +10273,7 @@
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+@@ -9696,9 +10292,9 @@
+ no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+- archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+@@ -10274,8 +10870,9 @@
+ need_version=no
+ need_lib_prefix=no
+
+- case $GCC,$host_os in
+- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
++ case $GCC,$cc_basename in
++ yes,*)
++ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+@@ -10308,13 +10905,71 @@
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
++ dynamic_linker='Win32 ld.exe'
++ ;;
++
++ *,cl*)
++ # Native MSVC
++ libname_spec='$name'
++ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++ library_names_spec='${libname}.dll.lib'
++
++ case $build_os in
++ mingw*)
++ sys_lib_search_path_spec=
++ lt_save_ifs=$IFS
++ IFS=';'
++ for lt_path in $LIB
++ do
++ IFS=$lt_save_ifs
++ # Let DOS variable expansion print the short 8.3 style file name.
++ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
++ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
++ done
++ IFS=$lt_save_ifs
++ # Convert to MSYS style.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
++ ;;
++ cygwin*)
++ # Convert to unix form, then to dos form, then back to unix form
++ # but this time dos style (no spaces!) so that the unix form looks
++ # like /cygdrive/c/PROGRA~1:/cygdr...
++ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
++ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
++ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ ;;
++ *)
++ sys_lib_search_path_spec="$LIB"
++ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
++ # It is most probably a Windows format PATH.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ # FIXME: find the short name or the path components, as spaces are
++ # common. (e.g. "Program Files" -> "PROGRA~1")
++ ;;
++ esac
++
++ # DLL is installed to $(libdir)/../bin by postinstall_cmds
++ postinstall_cmds='base_file=`basename \${file}`~
++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
++ dldir=$destdir/`dirname \$dlpath`~
++ test -d \$dldir || mkdir -p \$dldir~
++ $install_prog $dir/$dlname \$dldir/$dlname'
++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++ dlpath=$dir/\$dldll~
++ $RM \$dlpath'
++ shlibpath_overrides_runpath=yes
++ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
++ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
++ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+- dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+@@ -10410,7 +11065,7 @@
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
++ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+@@ -11206,7 +11861,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 11209 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -11250,10 +11905,10 @@
+ /* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+-void fnord () __attribute__((visibility("default")));
++int fnord () __attribute__((visibility("default")));
+ #endif
+
+-void fnord () { int i=42; }
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -11312,7 +11967,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 11315 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -11356,10 +12011,10 @@
+ /* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+-void fnord () __attribute__((visibility("default")));
++int fnord () __attribute__((visibility("default")));
+ #endif
+
+-void fnord () { int i=42; }
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -14751,13 +15406,20 @@
+ lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+ lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+ lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
++lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
++lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
+ reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+ reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+ OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+ deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+ file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
++file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
++want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
++DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
++sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
+ AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+ AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
++archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
+ STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+ RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+ old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+@@ -14772,14 +15434,17 @@
+ lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
++nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
++lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+ objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+ MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
++lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+ lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+ need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
++MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
+ DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+ NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+ LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+@@ -14812,12 +15477,12 @@
+ hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+ inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+ link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+-fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $SED "$delay_single_quote_subst"`'
+ always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+ export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+ exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+ include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+ prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
++postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
+ file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+ variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+ need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+@@ -14872,8 +15537,13 @@
+ OBJDUMP \
+ deplibs_check_method \
+ file_magic_cmd \
++file_magic_glob \
++want_nocaseglob \
++DLLTOOL \
++sharedlib_from_linklib_cmd \
+ AR \
+ AR_FLAGS \
++archiver_list_spec \
+ STRIP \
+ RANLIB \
+ CC \
+@@ -14883,12 +15553,14 @@
+ lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
++nm_file_list_spec \
+ lt_prog_compiler_no_builtin_flag \
+-lt_prog_compiler_wl \
+ lt_prog_compiler_pic \
++lt_prog_compiler_wl \
+ lt_prog_compiler_static \
+ lt_cv_prog_compiler_c_o \
+ need_locks \
++MANIFEST_TOOL \
+ DSYMUTIL \
+ NMEDIT \
+ LIPO \
+@@ -14904,7 +15576,6 @@
+ hardcode_libdir_flag_spec \
+ hardcode_libdir_flag_spec_ld \
+ hardcode_libdir_separator \
+-fix_srcfile_path \
+ exclude_expsyms \
+ include_expsyms \
+ file_list_spec \
+@@ -14940,6 +15611,7 @@
+ module_expsym_cmds \
+ export_symbols_cmds \
+ prelink_cmds \
++postlink_cmds \
+ postinstall_cmds \
+ postuninstall_cmds \
+ finish_cmds \
+@@ -15697,7 +16369,8 @@
+ # NOTE: Changes made to this file will be lost: look at ltmain.sh.
+ #
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+-# 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
++# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
++# Inc.
+ # Written by Gordon Matzigkeit, 1996
+ #
+ # This file is part of GNU Libtool.
+@@ -15800,19 +16473,42 @@
+ # turn newlines into spaces.
+ NL2SP=$lt_lt_NL2SP
+
++# convert \$build file names to \$host format.
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++
++# convert \$build files to toolchain format.
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++
+ # An object symbol dumper.
+ OBJDUMP=$lt_OBJDUMP
+
+ # Method to check whether dependent libraries are shared objects.
+ deplibs_check_method=$lt_deplibs_check_method
+
+-# Command to use when deplibs_check_method == "file_magic".
++# Command to use when deplibs_check_method = "file_magic".
+ file_magic_cmd=$lt_file_magic_cmd
+
++# How to find potential files when deplibs_check_method = "file_magic".
++file_magic_glob=$lt_file_magic_glob
++
++# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
++want_nocaseglob=$lt_want_nocaseglob
++
++# DLL creation program.
++DLLTOOL=$lt_DLLTOOL
++
++# Command to associate shared and link libraries.
++sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
++
+ # The archiver.
+ AR=$lt_AR
++
++# Flags to create an archive.
+ AR_FLAGS=$lt_AR_FLAGS
+
++# How to feed a file listing to the archiver.
++archiver_list_spec=$lt_archiver_list_spec
++
+ # A symbol stripping program.
+ STRIP=$lt_STRIP
+
+@@ -15842,6 +16538,12 @@
+ # Transform the output of nm in a C name address pair when lib prefix is needed.
+ global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
++# Specify filename containing input files for \$NM.
++nm_file_list_spec=$lt_nm_file_list_spec
++
++# The root where to search for dependent libraries,and in which our libraries should be installed.
++lt_sysroot=$lt_sysroot
++
+ # The name of the directory that contains temporary libtool files.
+ objdir=$objdir
+
+@@ -15851,6 +16553,9 @@
+ # Must we lock files when doing compilation?
+ need_locks=$lt_need_locks
+
++# Manifest tool.
++MANIFEST_TOOL=$lt_MANIFEST_TOOL
++
+ # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+ DSYMUTIL=$lt_DSYMUTIL
+
+@@ -15965,12 +16670,12 @@
+ # Compiler flag to turn off builtin functions.
+ no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+-# How to pass a linker flag through the compiler.
+-wl=$lt_lt_prog_compiler_wl
+-
+ # Additional compiler flags for building library objects.
+ pic_flag=$lt_lt_prog_compiler_pic
+
++# How to pass a linker flag through the compiler.
++wl=$lt_lt_prog_compiler_wl
++
+ # Compiler flag to prevent dynamic linking.
+ link_static_flag=$lt_lt_prog_compiler_static
+
+@@ -16057,9 +16762,6 @@
+ # Whether libtool must link a program against all its dependency libraries.
+ link_all_deplibs=$link_all_deplibs
+
+-# Fix the shell variable \$srcfile for the compiler.
+-fix_srcfile_path=$lt_fix_srcfile_path
+-
+ # Set to "yes" if exported symbols are required.
+ always_export_symbols=$always_export_symbols
+
+@@ -16075,6 +16777,9 @@
+ # Commands necessary for linking programs (against libraries) with templates.
+ prelink_cmds=$lt_prelink_cmds
+
++# Commands necessary for finishing linking programs.
++postlink_cmds=$lt_postlink_cmds
++
+ # Specify filename containing input files.
+ file_list_spec=$lt_file_list_spec
+
+@@ -16107,210 +16812,169 @@
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+-
+- case $xsi_shell in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_dirname file append nondir_replacement
+-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+-# otherwise set result to NONDIR_REPLACEMENT.
+-func_dirname ()
+-{
+- case ${1} in
+- */*) func_dirname_result="${1%/*}${2}" ;;
+- * ) func_dirname_result="${3}" ;;
+- esac
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result="${1##*/}"
+-}
+-
+-# func_dirname_and_basename file append nondir_replacement
+-# perform func_basename and func_dirname in a single function
+-# call:
+-# dirname: Compute the dirname of FILE. If nonempty,
+-# add APPEND to the result, otherwise set result
+-# to NONDIR_REPLACEMENT.
+-# value returned in "$func_dirname_result"
+-# basename: Compute filename of FILE.
+-# value retuned in "$func_basename_result"
+-# Implementation must be kept synchronized with func_dirname
+-# and func_basename. For efficiency, we do not delegate to
+-# those functions but instead duplicate the functionality here.
+-func_dirname_and_basename ()
+-{
+- case ${1} in
+- */*) func_dirname_result="${1%/*}${2}" ;;
+- * ) func_dirname_result="${3}" ;;
+- esac
+- func_basename_result="${1##*/}"
+-}
+-
+-# func_stripname prefix suffix name
+-# strip PREFIX and SUFFIX off of NAME.
+-# PREFIX and SUFFIX must not contain globbing or regex special
+-# characters, hashes, percent signs, but SUFFIX may contain a leading
+-# dot (in which case that matches only a dot).
+-func_stripname ()
+-{
+- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+- # positional parameters, so assign one to ordinary parameter first.
+- func_stripname_result=${3}
+- func_stripname_result=${func_stripname_result#"${1}"}
+- func_stripname_result=${func_stripname_result%"${2}"}
+-}
+-
+-# func_opt_split
+-func_opt_split ()
+-{
+- func_opt_split_opt=${1%%=*}
+- func_opt_split_arg=${1#*=}
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+- case ${1} in
+- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+- *) func_lo2o_result=${1} ;;
+- esac
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=${1%.*}.lo
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=$(( $* ))
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=${#1}
+-}
+-
+-_LT_EOF
+- ;;
+- *) # Bourne compatible functions.
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_dirname file append nondir_replacement
+-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+-# otherwise set result to NONDIR_REPLACEMENT.
+-func_dirname ()
+-{
+- # Extract subdirectory from the argument.
+- func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
+- if test "X$func_dirname_result" = "X${1}"; then
+- func_dirname_result="${3}"
+- else
+- func_dirname_result="$func_dirname_result${2}"
+- fi
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result=`$ECHO "${1}" | $SED "$basename"`
+-}
+-
+-
+-# func_stripname prefix suffix name
+-# strip PREFIX and SUFFIX off of NAME.
+-# PREFIX and SUFFIX must not contain globbing or regex special
+-# characters, hashes, percent signs, but SUFFIX may contain a leading
+-# dot (in which case that matches only a dot).
+-# func_strip_suffix prefix name
+-func_stripname ()
+-{
+- case ${2} in
+- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+- esac
+-}
+-
+-# sed scripts:
+-my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+-my_sed_long_arg='1s/^-[^=]*=//'
+-
+-# func_opt_split
+-func_opt_split ()
+-{
+- func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
+- func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+- func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=`expr "$@"`
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+-}
+-
+-_LT_EOF
+-esac
+-
+-case $lt_shell_append in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+- eval "$1+=\$2"
+-}
+-_LT_EOF
+- ;;
+- *)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+- eval "$1=\$$1\$2"
+-}
+-
+-_LT_EOF
+- ;;
+- esac
++ sed '$q' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
+
++ if test x"$xsi_shell" = xyes; then
++ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
++func_dirname ()\
++{\
++\ case ${1} in\
++\ */*) func_dirname_result="${1%/*}${2}" ;;\
++\ * ) func_dirname_result="${3}" ;;\
++\ esac\
++} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_basename ()$/,/^} # func_basename /c\
++func_basename ()\
++{\
++\ func_basename_result="${1##*/}"\
++} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
++func_dirname_and_basename ()\
++{\
++\ case ${1} in\
++\ */*) func_dirname_result="${1%/*}${2}" ;;\
++\ * ) func_dirname_result="${3}" ;;\
++\ esac\
++\ func_basename_result="${1##*/}"\
++} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
++func_stripname ()\
++{\
++\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
++\ # positional parameters, so assign one to ordinary parameter first.\
++\ func_stripname_result=${3}\
++\ func_stripname_result=${func_stripname_result#"${1}"}\
++\ func_stripname_result=${func_stripname_result%"${2}"}\
++} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
++func_split_long_opt ()\
++{\
++\ func_split_long_opt_name=${1%%=*}\
++\ func_split_long_opt_arg=${1#*=}\
++} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
++func_split_short_opt ()\
++{\
++\ func_split_short_opt_arg=${1#??}\
++\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
++} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
++func_lo2o ()\
++{\
++\ case ${1} in\
++\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
++\ *) func_lo2o_result=${1} ;;\
++\ esac\
++} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_xform ()$/,/^} # func_xform /c\
++func_xform ()\
++{\
++ func_xform_result=${1%.*}.lo\
++} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_arith ()$/,/^} # func_arith /c\
++func_arith ()\
++{\
++ func_arith_result=$(( $* ))\
++} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_len ()$/,/^} # func_len /c\
++func_len ()\
++{\
++ func_len_result=${#1}\
++} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++fi
++
++if test x"$lt_shell_append" = xyes; then
++ sed -e '/^func_append ()$/,/^} # func_append /c\
++func_append ()\
++{\
++ eval "${1}+=\\${2}"\
++} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
++func_append_quoted ()\
++{\
++\ func_quote_for_eval "${2}"\
++\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
++} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ # Save a `func_append' function call where possible by direct use of '+='
++ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++else
++ # Save a `func_append' function call even when '+=' is not available
++ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++fi
++
++if test x"$_lt_function_replace_fail" = x":"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
++$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
++fi
+
+- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+
+- mv -f "$cfgfile" "$ofile" ||
++ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
+Index: binutils-2.21/gas/configure
+===================================================================
+--- binutils-2.21.orig/gas/configure 2010-11-05 03:33:36.000000000 -0700
++++ binutils-2.21/gas/configure 2011-01-07 10:49:16.426101000 -0800
+@@ -645,8 +645,11 @@
+ LIPO
+ NMEDIT
+ DSYMUTIL
++MANIFEST_TOOL
+ RANLIB
++ac_ct_AR
+ AR
++DLLTOOL
+ OBJDUMP
+ LN_S
+ NM
+@@ -759,6 +762,7 @@
+ with_pic
+ enable_fast_install
+ with_gnu_ld
++with_libtool_sysroot
+ enable_libtool_lock
+ enable_targets
+ enable_checking
+@@ -1420,6 +1424,8 @@
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
++ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
++ (or the compiler's sysroot if not specified).
+ --with-zlib include zlib support (auto/yes/no) default=auto
+
+ Some influential environment variables:
+@@ -5135,8 +5141,8 @@
+
+
+
+-macro_version='2.2.7a'
+-macro_revision='1.3134'
++macro_version='2.4'
++macro_revision='1.3293'
+
+
+
+@@ -5176,7 +5182,7 @@
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+ $as_echo_n "checking how to print strings... " >&6; }
+ # Test print first, because it will be a builtin if present.
+-if test "X`print -r -- -n 2>/dev/null`" = X-n && \
++if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+ elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+@@ -5862,8 +5868,8 @@
+ # Try some XSI features
+ xsi_shell=no
+ ( _lt_dummy="a/b/c"
+- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+- = c,a/b,, \
++ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
++ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+@@ -5912,6 +5918,80 @@
+
+
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
++$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
++if test "${lt_cv_to_host_file_cmd+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
++ ;;
++ esac
++ ;;
++ *-*-cygwin* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
++ ;;
++ esac
++ ;;
++ * ) # unhandled hosts (and "normal" native builds)
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++esac
++
++fi
++
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
++$as_echo "$lt_cv_to_host_file_cmd" >&6; }
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
++$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
++if test "${lt_cv_to_tool_file_cmd+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ #assume ordinary cross tools, or native build.
++lt_cv_to_tool_file_cmd=func_convert_file_noop
++case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ esac
++ ;;
++esac
++
++fi
++
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
++$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
++
++
++
++
++
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+ $as_echo_n "checking for $LD option to reload object files... " >&6; }
+ if test "${lt_cv_ld_reload_flag+set}" = set; then :
+@@ -5928,6 +6008,11 @@
+ esac
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ case $host_os in
++ cygwin* | mingw* | pw32* | cegcc*)
++ if test "$GCC" != yes; then
++ reload_cmds=false
++ fi
++ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+@@ -6096,7 +6181,8 @@
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
++ # Keep this pattern in sync with the one in func_win32_libid.
++ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+@@ -6250,6 +6336,21 @@
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+ $as_echo "$lt_cv_deplibs_check_method" >&6; }
++
++file_magic_glob=
++want_nocaseglob=no
++if test "$build" = "$host"; then
++ case $host_os in
++ mingw* | pw32*)
++ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
++ want_nocaseglob=yes
++ else
++ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
++ fi
++ ;;
++ esac
++fi
++
+ file_magic_cmd=$lt_cv_file_magic_cmd
+ deplibs_check_method=$lt_cv_deplibs_check_method
+ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6265,9 +6366,162 @@
+
+
+
++
++
++
++
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
++set dummy ${ac_tool_prefix}dlltool; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_DLLTOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$DLLTOOL"; then
++ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++DLLTOOL=$ac_cv_prog_DLLTOOL
++if test -n "$DLLTOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
++$as_echo "$DLLTOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_DLLTOOL"; then
++ ac_ct_DLLTOOL=$DLLTOOL
++ # Extract the first word of "dlltool", so it can be a program name with args.
++set dummy dlltool; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_DLLTOOL"; then
++ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
++if test -n "$ac_ct_DLLTOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
++$as_echo "$ac_ct_DLLTOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_DLLTOOL" = x; then
++ DLLTOOL="false"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ DLLTOOL=$ac_ct_DLLTOOL
++ fi
++else
++ DLLTOOL="$ac_cv_prog_DLLTOOL"
++fi
++
++test -z "$DLLTOOL" && DLLTOOL=dlltool
++
++
++
++
++
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
++$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
++if test "${lt_cv_sharedlib_from_linklib_cmd+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_sharedlib_from_linklib_cmd='unknown'
++
++case $host_os in
++cygwin* | mingw* | pw32* | cegcc*)
++ # two different shell functions defined in ltmain.sh
++ # decide which to use based on capabilities of $DLLTOOL
++ case `$DLLTOOL --help 2>&1` in
++ *--identify-strict*)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
++ ;;
++ *)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
++ ;;
++ esac
++ ;;
++*)
++ # fallback: assume linklib IS sharedlib
++ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
++ ;;
++esac
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
++$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
++sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
++test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
++
++
++
++
++
++
++
+ if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}ar; ac_word=$2
++ for ac_prog in ar
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if test "${ac_cv_prog_AR+set}" = set; then :
+@@ -6283,7 +6537,7 @@
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+- ac_cv_prog_AR="${ac_tool_prefix}ar"
++ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -6303,11 +6557,15 @@
+ fi
+
+
++ test -n "$AR" && break
++ done
+ fi
+-if test -z "$ac_cv_prog_AR"; then
++if test -z "$AR"; then
+ ac_ct_AR=$AR
+- # Extract the first word of "ar", so it can be a program name with args.
+-set dummy ar; ac_word=$2
++ for ac_prog in ar
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+@@ -6323,7 +6581,7 @@
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+- ac_cv_prog_ac_ct_AR="ar"
++ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -6342,6 +6600,10 @@
+ $as_echo "no" >&6; }
+ fi
+
++
++ test -n "$ac_ct_AR" && break
++done
++
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+@@ -6353,16 +6615,72 @@
+ esac
+ AR=$ac_ct_AR
+ fi
+-else
+- AR="$ac_cv_prog_AR"
+ fi
+
+-test -z "$AR" && AR=ar
+-test -z "$AR_FLAGS" && AR_FLAGS=cru
++: ${AR=ar}
++: ${AR_FLAGS=cru}
++
++
++
++
++
++
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
++$as_echo_n "checking for archiver @FILE support... " >&6; }
++if test "${lt_cv_ar_at_file+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_ar_at_file=no
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++int
++main ()
++{
+
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ echo conftest.$ac_objext > conftest.lst
++ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
++ (eval $lt_ar_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ if test "$ac_status" -eq 0; then
++ # Ensure the archiver fails upon bogus file names.
++ rm -f conftest.$ac_objext libconftest.a
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
++ (eval $lt_ar_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ if test "$ac_status" -ne 0; then
++ lt_cv_ar_at_file=@
++ fi
++ fi
++ rm -f conftest.* libconftest.a
+
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
++$as_echo "$lt_cv_ar_at_file" >&6; }
+
++if test "x$lt_cv_ar_at_file" = xno; then
++ archiver_list_spec=
++else
++ archiver_list_spec=$lt_cv_ar_at_file
++fi
+
+
+
+@@ -6704,8 +7022,8 @@
+ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+ # Transform an extracted symbol line into symbol name and symbol address
+-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
+-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+ # Handle CRLF in mingw tool chain
+ opt_cr=
+@@ -6741,6 +7059,7 @@
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
++ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+@@ -6782,6 +7101,18 @@
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
++/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
++#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
++/* DATA imports from DLLs on WIN32 con't be const, because runtime
++ relocations are performed -- see ld's documentation on pseudo-relocs. */
++# define LT_DLSYM_CONST
++#elif defined(__osf__)
++/* This system does not cope well with relocations in const data. */
++# define LT_DLSYM_CONST
++#else
++# define LT_DLSYM_CONST const
++#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -6793,7 +7124,7 @@
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+ /* The mapping between symbol names and symbols. */
+-const struct {
++LT_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+ }
+@@ -6819,8 +7150,8 @@
+ _LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+- lt_save_LIBS="$LIBS"
+- lt_save_CFLAGS="$CFLAGS"
++ lt_globsym_save_LIBS=$LIBS
++ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+@@ -6830,8 +7161,8 @@
+ test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+- LIBS="$lt_save_LIBS"
+- CFLAGS="$lt_save_CFLAGS"
++ LIBS=$lt_globsym_save_LIBS
++ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+@@ -6868,6 +7199,19 @@
+ $as_echo "ok" >&6; }
+ fi
+
++# Response file support.
++if test "$lt_cv_nm_interface" = "MS dumpbin"; then
++ nm_file_list_spec='@'
++elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
++ nm_file_list_spec='@'
++fi
++
++
++
++
++
++
++
+
+
+
+@@ -6888,6 +7232,42 @@
+
+
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
++$as_echo_n "checking for sysroot... " >&6; }
++
++# Check whether --with-libtool-sysroot was given.
++if test "${with_libtool_sysroot+set}" = set; then :
++ withval=$with_libtool_sysroot;
++else
++ with_libtool_sysroot=no
++fi
++
++
++lt_sysroot=
++case ${with_libtool_sysroot} in #(
++ yes)
++ if test "$GCC" = yes; then
++ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
++ fi
++ ;; #(
++ /*)
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
++ ;; #(
++ no|'')
++ ;; #(
++ *)
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
++$as_echo "${with_libtool_sysroot}" >&6; }
++ as_fn_error "The sysroot must be an absolute path." "$LINENO" 5
++ ;;
++esac
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
++$as_echo "${lt_sysroot:-no}" >&6; }
++
++
++
++
+
+ # Check whether --enable-libtool-lock was given.
+ if test "${enable_libtool_lock+set}" = set; then :
+@@ -7082,6 +7462,123 @@
+
+ need_locks="$enable_libtool_lock"
+
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
++set dummy ${ac_tool_prefix}mt; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_MANIFEST_TOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$MANIFEST_TOOL"; then
++ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
++if test -n "$MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
++$as_echo "$MANIFEST_TOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
++ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
++ # Extract the first word of "mt", so it can be a program name with args.
++set dummy mt; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_MANIFEST_TOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_MANIFEST_TOOL"; then
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
++if test -n "$ac_ct_MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
++$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_MANIFEST_TOOL" = x; then
++ MANIFEST_TOOL=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
++ fi
++else
++ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
++fi
++
++test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
++$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
++if test "${lt_cv_path_mainfest_tool+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_path_mainfest_tool=no
++ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
++ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
++ cat conftest.err >&5
++ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
++ lt_cv_path_mainfest_tool=yes
++ fi
++ rm -f conftest*
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
++$as_echo "$lt_cv_path_mainfest_tool" >&6; }
++if test "x$lt_cv_path_mainfest_tool" != xyes; then
++ MANIFEST_TOOL=:
++fi
++
++
++
++
++
+
+ case $host_os in
+ rhapsody* | darwin*)
+@@ -7645,6 +8142,8 @@
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+ echo "$AR cru libconftest.a conftest.o" >&5
+ $AR cru libconftest.a conftest.o 2>&5
++ echo "$RANLIB libconftest.a" >&5
++ $RANLIB libconftest.a 2>&5
+ cat > conftest.c << _LT_EOF
+ int main() { return 0;}
+ _LT_EOF
+@@ -7840,7 +8339,8 @@
+ LIBTOOL_DEPS="$ltmain"
+
+ # Always use our own libtool.
+-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
++LIBTOOL='$(SHELL) $(top_builddir)'
++LIBTOOL="$LIBTOOL/${host_alias}-libtool"
+
+
+
+@@ -7929,7 +8429,7 @@
+ esac
+
+ # Global variables:
+-ofile=libtool
++ofile=${host_alias}-libtool
+ can_build_shared=yes
+
+ # All known linkers require a `.a' archive for static linking (except MSVC,
+@@ -8227,8 +8727,6 @@
+ lt_prog_compiler_pic=
+ lt_prog_compiler_static=
+
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl='-Wl,'
+@@ -8393,6 +8891,12 @@
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
++ nagfor*)
++ # NAG Fortran compiler
++ lt_prog_compiler_wl='-Wl,-Wl,,'
++ lt_prog_compiler_pic='-PIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+@@ -8455,7 +8959,7 @@
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ case $cc_basename in
+- f77* | f90* | f95*)
++ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ lt_prog_compiler_wl='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl='-Wl,';;
+@@ -8512,13 +9016,17 @@
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+ esac
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
+-$as_echo "$lt_prog_compiler_pic" >&6; }
+-
+-
+-
+-
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
++$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
++if test "${lt_cv_prog_compiler_pic+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
++$as_echo "$lt_cv_prog_compiler_pic" >&6; }
++lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
+
+ #
+ # Check to make sure the PIC flag actually works.
+@@ -8579,6 +9087,11 @@
+
+
+
++
++
++
++
++
+ #
+ # Check to make sure the static flag actually works.
+ #
+@@ -8929,7 +9442,8 @@
+ allow_undefined_flag=unsupported
+ always_export_symbols=no
+ enable_shared_with_static_runtimes=yes
+- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
++ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+@@ -8977,7 +9491,7 @@
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+- tmp_addflag=
++ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+@@ -9028,12 +9542,12 @@
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld='-rpath $libdir'
+- archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
++ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
++ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+@@ -9047,8 +9561,8 @@
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+@@ -9066,8 +9580,8 @@
+
+ _LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -9113,8 +9627,8 @@
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -9244,7 +9758,13 @@
+ allow_undefined_flag='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if test "${lt_cv_aix_libpath_+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -9257,22 +9777,29 @@
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath_
++fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+@@ -9284,7 +9811,13 @@
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if test "${lt_cv_aix_libpath_+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -9297,22 +9830,29 @@
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath_
++fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+@@ -9357,20 +9897,63 @@
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+- hardcode_libdir_flag_spec=' '
+- allow_undefined_flag=unsupported
+- # Tell ltmain to make .lib files, not .a files.
+- libext=lib
+- # Tell ltmain to make .dll files, not .so files.
+- shrext_cmds=".dll"
+- # FIXME: Setting linknames here is a bad hack.
+- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+- # The linker will automatically build a .lib file if we build a DLL.
+- old_archive_from_new_cmds='true'
+- # FIXME: Should let the user specify the lib program.
+- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+- fix_srcfile_path='`cygpath -w "$srcfile"`'
+- enable_shared_with_static_runtimes=yes
++ case $cc_basename in
++ cl*)
++ # Native MSVC
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ always_export_symbols=yes
++ file_list_spec='@'
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
++ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
++ else
++ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
++ fi~
++ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
++ linknames='
++ # The linker will not automatically build a static lib if we build a DLL.
++ # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
++ enable_shared_with_static_runtimes=yes
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++ # Don't use ranlib
++ old_postinstall_cmds='chmod 644 $oldlib'
++ postlink_cmds='lt_outputfile="@OUTPUT@"~
++ lt_tool_outputfile="@TOOL_OUTPUT@"~
++ case $lt_outputfile in
++ *.exe|*.EXE) ;;
++ *)
++ lt_outputfile="$lt_outputfile.exe"
++ lt_tool_outputfile="$lt_tool_outputfile.exe"
++ ;;
++ esac~
++ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
++ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
++ $RM "$lt_outputfile.manifest";
++ fi'
++ ;;
++ *)
++ # Assume MSVC wrapper
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
++ # The linker will automatically build a .lib file if we build a DLL.
++ old_archive_from_new_cmds='true'
++ # FIXME: Should let the user specify the lib program.
++ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
++ enable_shared_with_static_runtimes=yes
++ ;;
++ esac
+ ;;
+
+ darwin* | rhapsody*)
+@@ -9435,7 +10018,7 @@
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+- archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+@@ -9443,7 +10026,7 @@
+
+ hpux9*)
+ if test "$GCC" = yes; then
+- archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+@@ -9459,7 +10042,7 @@
+
+ hpux10*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+@@ -9483,10 +10066,10 @@
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+@@ -9565,23 +10148,36 @@
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+- save_LDFLAGS="$LDFLAGS"
+- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ # This should be the same for all languages, so no per-tag cache variable.
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
++$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
++if test "${lt_cv_irix_exported_symbol+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-int foo(void) {}
++int foo (void) { return 0; }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+-
++ lt_cv_irix_exported_symbol=yes
++else
++ lt_cv_irix_exported_symbol=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+- LDFLAGS="$save_LDFLAGS"
++ LDFLAGS="$save_LDFLAGS"
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
++$as_echo "$lt_cv_irix_exported_symbol" >&6; }
++ if test "$lt_cv_irix_exported_symbol" = yes; then
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
++ fi
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+@@ -9666,7 +10262,7 @@
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+@@ -9685,9 +10281,9 @@
+ no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+- archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+@@ -10263,8 +10859,9 @@
+ need_version=no
+ need_lib_prefix=no
+
+- case $GCC,$host_os in
+- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
++ case $GCC,$cc_basename in
++ yes,*)
++ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+@@ -10297,13 +10894,71 @@
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
++ dynamic_linker='Win32 ld.exe'
++ ;;
++
++ *,cl*)
++ # Native MSVC
++ libname_spec='$name'
++ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++ library_names_spec='${libname}.dll.lib'
++
++ case $build_os in
++ mingw*)
++ sys_lib_search_path_spec=
++ lt_save_ifs=$IFS
++ IFS=';'
++ for lt_path in $LIB
++ do
++ IFS=$lt_save_ifs
++ # Let DOS variable expansion print the short 8.3 style file name.
++ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
++ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
++ done
++ IFS=$lt_save_ifs
++ # Convert to MSYS style.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
++ ;;
++ cygwin*)
++ # Convert to unix form, then to dos form, then back to unix form
++ # but this time dos style (no spaces!) so that the unix form looks
++ # like /cygdrive/c/PROGRA~1:/cygdr...
++ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
++ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
++ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ ;;
++ *)
++ sys_lib_search_path_spec="$LIB"
++ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
++ # It is most probably a Windows format PATH.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ # FIXME: find the short name or the path components, as spaces are
++ # common. (e.g. "Program Files" -> "PROGRA~1")
++ ;;
++ esac
++
++ # DLL is installed to $(libdir)/../bin by postinstall_cmds
++ postinstall_cmds='base_file=`basename \${file}`~
++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
++ dldir=$destdir/`dirname \$dlpath`~
++ test -d \$dldir || mkdir -p \$dldir~
++ $install_prog $dir/$dlname \$dldir/$dlname'
++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++ dlpath=$dir/\$dldll~
++ $RM \$dlpath'
++ shlibpath_overrides_runpath=yes
++ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
++ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
++ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+- dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+@@ -10399,7 +11054,7 @@
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
++ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+@@ -11195,7 +11850,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 11198 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -11239,10 +11894,10 @@
+ /* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+-void fnord () __attribute__((visibility("default")));
++int fnord () __attribute__((visibility("default")));
+ #endif
+
+-void fnord () { int i=42; }
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -11301,7 +11956,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 11304 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -11345,10 +12000,10 @@
+ /* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+-void fnord () __attribute__((visibility("default")));
++int fnord () __attribute__((visibility("default")));
+ #endif
+
+-void fnord () { int i=42; }
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -14941,13 +15596,20 @@
+ lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+ lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+ lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
++lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
++lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
+ reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+ reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+ OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+ deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+ file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
++file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
++want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
++DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
++sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
+ AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+ AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
++archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
+ STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+ RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+ old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+@@ -14962,14 +15624,17 @@
+ lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
++nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
++lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+ objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+ MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
++lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+ lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+ need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
++MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
+ DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+ NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+ LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+@@ -15002,12 +15667,12 @@
+ hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+ inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+ link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+-fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $SED "$delay_single_quote_subst"`'
+ always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+ export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+ exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+ include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+ prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
++postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
+ file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+ variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+ need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+@@ -15062,8 +15727,13 @@
+ OBJDUMP \
+ deplibs_check_method \
+ file_magic_cmd \
++file_magic_glob \
++want_nocaseglob \
++DLLTOOL \
++sharedlib_from_linklib_cmd \
+ AR \
+ AR_FLAGS \
++archiver_list_spec \
+ STRIP \
+ RANLIB \
+ CC \
+@@ -15073,12 +15743,14 @@
+ lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
++nm_file_list_spec \
+ lt_prog_compiler_no_builtin_flag \
+-lt_prog_compiler_wl \
+ lt_prog_compiler_pic \
++lt_prog_compiler_wl \
+ lt_prog_compiler_static \
+ lt_cv_prog_compiler_c_o \
+ need_locks \
++MANIFEST_TOOL \
+ DSYMUTIL \
+ NMEDIT \
+ LIPO \
+@@ -15094,7 +15766,6 @@
+ hardcode_libdir_flag_spec \
+ hardcode_libdir_flag_spec_ld \
+ hardcode_libdir_separator \
+-fix_srcfile_path \
+ exclude_expsyms \
+ include_expsyms \
+ file_list_spec \
+@@ -15130,6 +15801,7 @@
+ module_expsym_cmds \
+ export_symbols_cmds \
+ prelink_cmds \
++postlink_cmds \
+ postinstall_cmds \
+ postuninstall_cmds \
+ finish_cmds \
+@@ -15894,7 +16566,8 @@
+ # NOTE: Changes made to this file will be lost: look at ltmain.sh.
+ #
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+-# 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
++# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
++# Inc.
+ # Written by Gordon Matzigkeit, 1996
+ #
+ # This file is part of GNU Libtool.
+@@ -15997,19 +16670,42 @@
+ # turn newlines into spaces.
+ NL2SP=$lt_lt_NL2SP
+
++# convert \$build file names to \$host format.
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++
++# convert \$build files to toolchain format.
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++
+ # An object symbol dumper.
+ OBJDUMP=$lt_OBJDUMP
+
+ # Method to check whether dependent libraries are shared objects.
+ deplibs_check_method=$lt_deplibs_check_method
+
+-# Command to use when deplibs_check_method == "file_magic".
++# Command to use when deplibs_check_method = "file_magic".
+ file_magic_cmd=$lt_file_magic_cmd
+
++# How to find potential files when deplibs_check_method = "file_magic".
++file_magic_glob=$lt_file_magic_glob
++
++# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
++want_nocaseglob=$lt_want_nocaseglob
++
++# DLL creation program.
++DLLTOOL=$lt_DLLTOOL
++
++# Command to associate shared and link libraries.
++sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
++
+ # The archiver.
+ AR=$lt_AR
++
++# Flags to create an archive.
+ AR_FLAGS=$lt_AR_FLAGS
+
++# How to feed a file listing to the archiver.
++archiver_list_spec=$lt_archiver_list_spec
++
+ # A symbol stripping program.
+ STRIP=$lt_STRIP
+
+@@ -16039,6 +16735,12 @@
+ # Transform the output of nm in a C name address pair when lib prefix is needed.
+ global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
++# Specify filename containing input files for \$NM.
++nm_file_list_spec=$lt_nm_file_list_spec
++
++# The root where to search for dependent libraries,and in which our libraries should be installed.
++lt_sysroot=$lt_sysroot
++
+ # The name of the directory that contains temporary libtool files.
+ objdir=$objdir
+
+@@ -16048,6 +16750,9 @@
+ # Must we lock files when doing compilation?
+ need_locks=$lt_need_locks
+
++# Manifest tool.
++MANIFEST_TOOL=$lt_MANIFEST_TOOL
++
+ # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+ DSYMUTIL=$lt_DSYMUTIL
+
+@@ -16162,12 +16867,12 @@
+ # Compiler flag to turn off builtin functions.
+ no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+-# How to pass a linker flag through the compiler.
+-wl=$lt_lt_prog_compiler_wl
+-
+ # Additional compiler flags for building library objects.
+ pic_flag=$lt_lt_prog_compiler_pic
+
++# How to pass a linker flag through the compiler.
++wl=$lt_lt_prog_compiler_wl
++
+ # Compiler flag to prevent dynamic linking.
+ link_static_flag=$lt_lt_prog_compiler_static
+
+@@ -16254,9 +16959,6 @@
+ # Whether libtool must link a program against all its dependency libraries.
+ link_all_deplibs=$link_all_deplibs
+
+-# Fix the shell variable \$srcfile for the compiler.
+-fix_srcfile_path=$lt_fix_srcfile_path
+-
+ # Set to "yes" if exported symbols are required.
+ always_export_symbols=$always_export_symbols
+
+@@ -16272,6 +16974,9 @@
+ # Commands necessary for linking programs (against libraries) with templates.
+ prelink_cmds=$lt_prelink_cmds
+
++# Commands necessary for finishing linking programs.
++postlink_cmds=$lt_postlink_cmds
++
+ # Specify filename containing input files.
+ file_list_spec=$lt_file_list_spec
+
+@@ -16304,210 +17009,169 @@
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+-
+- case $xsi_shell in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_dirname file append nondir_replacement
+-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+-# otherwise set result to NONDIR_REPLACEMENT.
+-func_dirname ()
+-{
+- case ${1} in
+- */*) func_dirname_result="${1%/*}${2}" ;;
+- * ) func_dirname_result="${3}" ;;
+- esac
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result="${1##*/}"
+-}
+-
+-# func_dirname_and_basename file append nondir_replacement
+-# perform func_basename and func_dirname in a single function
+-# call:
+-# dirname: Compute the dirname of FILE. If nonempty,
+-# add APPEND to the result, otherwise set result
+-# to NONDIR_REPLACEMENT.
+-# value returned in "$func_dirname_result"
+-# basename: Compute filename of FILE.
+-# value retuned in "$func_basename_result"
+-# Implementation must be kept synchronized with func_dirname
+-# and func_basename. For efficiency, we do not delegate to
+-# those functions but instead duplicate the functionality here.
+-func_dirname_and_basename ()
+-{
+- case ${1} in
+- */*) func_dirname_result="${1%/*}${2}" ;;
+- * ) func_dirname_result="${3}" ;;
+- esac
+- func_basename_result="${1##*/}"
+-}
+-
+-# func_stripname prefix suffix name
+-# strip PREFIX and SUFFIX off of NAME.
+-# PREFIX and SUFFIX must not contain globbing or regex special
+-# characters, hashes, percent signs, but SUFFIX may contain a leading
+-# dot (in which case that matches only a dot).
+-func_stripname ()
+-{
+- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+- # positional parameters, so assign one to ordinary parameter first.
+- func_stripname_result=${3}
+- func_stripname_result=${func_stripname_result#"${1}"}
+- func_stripname_result=${func_stripname_result%"${2}"}
+-}
+-
+-# func_opt_split
+-func_opt_split ()
+-{
+- func_opt_split_opt=${1%%=*}
+- func_opt_split_arg=${1#*=}
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+- case ${1} in
+- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+- *) func_lo2o_result=${1} ;;
+- esac
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=${1%.*}.lo
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=$(( $* ))
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=${#1}
+-}
+-
+-_LT_EOF
+- ;;
+- *) # Bourne compatible functions.
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_dirname file append nondir_replacement
+-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+-# otherwise set result to NONDIR_REPLACEMENT.
+-func_dirname ()
+-{
+- # Extract subdirectory from the argument.
+- func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
+- if test "X$func_dirname_result" = "X${1}"; then
+- func_dirname_result="${3}"
+- else
+- func_dirname_result="$func_dirname_result${2}"
+- fi
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result=`$ECHO "${1}" | $SED "$basename"`
+-}
+-
+-
+-# func_stripname prefix suffix name
+-# strip PREFIX and SUFFIX off of NAME.
+-# PREFIX and SUFFIX must not contain globbing or regex special
+-# characters, hashes, percent signs, but SUFFIX may contain a leading
+-# dot (in which case that matches only a dot).
+-# func_strip_suffix prefix name
+-func_stripname ()
+-{
+- case ${2} in
+- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+- esac
+-}
+-
+-# sed scripts:
+-my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+-my_sed_long_arg='1s/^-[^=]*=//'
+-
+-# func_opt_split
+-func_opt_split ()
+-{
+- func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
+- func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+- func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=`expr "$@"`
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+-}
+-
+-_LT_EOF
+-esac
+-
+-case $lt_shell_append in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+- eval "$1+=\$2"
+-}
+-_LT_EOF
+- ;;
+- *)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+- eval "$1=\$$1\$2"
+-}
+-
+-_LT_EOF
+- ;;
+- esac
++ sed '$q' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
+
++ if test x"$xsi_shell" = xyes; then
++ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
++func_dirname ()\
++{\
++\ case ${1} in\
++\ */*) func_dirname_result="${1%/*}${2}" ;;\
++\ * ) func_dirname_result="${3}" ;;\
++\ esac\
++} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_basename ()$/,/^} # func_basename /c\
++func_basename ()\
++{\
++\ func_basename_result="${1##*/}"\
++} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
++func_dirname_and_basename ()\
++{\
++\ case ${1} in\
++\ */*) func_dirname_result="${1%/*}${2}" ;;\
++\ * ) func_dirname_result="${3}" ;;\
++\ esac\
++\ func_basename_result="${1##*/}"\
++} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
++func_stripname ()\
++{\
++\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
++\ # positional parameters, so assign one to ordinary parameter first.\
++\ func_stripname_result=${3}\
++\ func_stripname_result=${func_stripname_result#"${1}"}\
++\ func_stripname_result=${func_stripname_result%"${2}"}\
++} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
++func_split_long_opt ()\
++{\
++\ func_split_long_opt_name=${1%%=*}\
++\ func_split_long_opt_arg=${1#*=}\
++} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
++func_split_short_opt ()\
++{\
++\ func_split_short_opt_arg=${1#??}\
++\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
++} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
++func_lo2o ()\
++{\
++\ case ${1} in\
++\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
++\ *) func_lo2o_result=${1} ;;\
++\ esac\
++} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_xform ()$/,/^} # func_xform /c\
++func_xform ()\
++{\
++ func_xform_result=${1%.*}.lo\
++} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_arith ()$/,/^} # func_arith /c\
++func_arith ()\
++{\
++ func_arith_result=$(( $* ))\
++} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_len ()$/,/^} # func_len /c\
++func_len ()\
++{\
++ func_len_result=${#1}\
++} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++fi
++
++if test x"$lt_shell_append" = xyes; then
++ sed -e '/^func_append ()$/,/^} # func_append /c\
++func_append ()\
++{\
++ eval "${1}+=\\${2}"\
++} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
++func_append_quoted ()\
++{\
++\ func_quote_for_eval "${2}"\
++\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
++} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ # Save a `func_append' function call where possible by direct use of '+='
++ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++else
++ # Save a `func_append' function call even when '+=' is not available
++ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++fi
++
++if test x"$_lt_function_replace_fail" = x":"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
++$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
++fi
+
+- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+
+- mv -f "$cfgfile" "$ofile" ||
++ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
+Index: binutils-2.21/gprof/configure
+===================================================================
+--- binutils-2.21.orig/gprof/configure 2011-01-07 10:49:15.956101000 -0800
++++ binutils-2.21/gprof/configure 2011-01-07 10:49:16.436101000 -0800
+@@ -629,8 +629,11 @@
+ LIPO
+ NMEDIT
+ DSYMUTIL
++MANIFEST_TOOL
+ RANLIB
++ac_ct_AR
+ AR
++DLLTOOL
+ OBJDUMP
+ LN_S
+ NM
+@@ -743,6 +746,7 @@
+ with_pic
+ enable_fast_install
+ with_gnu_ld
++with_libtool_sysroot
+ enable_libtool_lock
+ enable_nls
+ enable_maintainer_mode
+@@ -1397,6 +1401,8 @@
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
++ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
++ (or the compiler's sysroot if not specified).
+
+ Some influential environment variables:
+ CC C compiler command
+@@ -5065,8 +5071,8 @@
+
+
+
+-macro_version='2.2.7a'
+-macro_revision='1.3134'
++macro_version='2.4'
++macro_revision='1.3293'
+
+
+
+@@ -5106,7 +5112,7 @@
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+ $as_echo_n "checking how to print strings... " >&6; }
+ # Test print first, because it will be a builtin if present.
+-if test "X`print -r -- -n 2>/dev/null`" = X-n && \
++if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+ elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+@@ -5792,8 +5798,8 @@
+ # Try some XSI features
+ xsi_shell=no
+ ( _lt_dummy="a/b/c"
+- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+- = c,a/b,, \
++ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
++ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+@@ -5842,6 +5848,80 @@
+
+
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
++$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
++if test "${lt_cv_to_host_file_cmd+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
++ ;;
++ esac
++ ;;
++ *-*-cygwin* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
++ ;;
++ esac
++ ;;
++ * ) # unhandled hosts (and "normal" native builds)
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++esac
++
++fi
++
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
++$as_echo "$lt_cv_to_host_file_cmd" >&6; }
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
++$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
++if test "${lt_cv_to_tool_file_cmd+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ #assume ordinary cross tools, or native build.
++lt_cv_to_tool_file_cmd=func_convert_file_noop
++case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ esac
++ ;;
++esac
++
++fi
++
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
++$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
++
++
++
++
++
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+ $as_echo_n "checking for $LD option to reload object files... " >&6; }
+ if test "${lt_cv_ld_reload_flag+set}" = set; then :
+@@ -5858,6 +5938,11 @@
+ esac
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ case $host_os in
++ cygwin* | mingw* | pw32* | cegcc*)
++ if test "$GCC" != yes; then
++ reload_cmds=false
++ fi
++ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+@@ -6026,7 +6111,8 @@
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
++ # Keep this pattern in sync with the one in func_win32_libid.
++ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+@@ -6103,11 +6189,6 @@
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+-linux-uclibc*)
+- lt_cv_deplibs_check_method=pass_all
+- lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
+- ;;
+-
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+@@ -6185,6 +6266,21 @@
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+ $as_echo "$lt_cv_deplibs_check_method" >&6; }
++
++file_magic_glob=
++want_nocaseglob=no
++if test "$build" = "$host"; then
++ case $host_os in
++ mingw* | pw32*)
++ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
++ want_nocaseglob=yes
++ else
++ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
++ fi
++ ;;
++ esac
++fi
++
+ file_magic_cmd=$lt_cv_file_magic_cmd
+ deplibs_check_method=$lt_cv_deplibs_check_method
+ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6200,9 +6296,162 @@
+
+
+
++
++
++
++
++
++
++
++
++
++
+ if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}ar; ac_word=$2
++ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
++set dummy ${ac_tool_prefix}dlltool; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_DLLTOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$DLLTOOL"; then
++ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++DLLTOOL=$ac_cv_prog_DLLTOOL
++if test -n "$DLLTOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
++$as_echo "$DLLTOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_DLLTOOL"; then
++ ac_ct_DLLTOOL=$DLLTOOL
++ # Extract the first word of "dlltool", so it can be a program name with args.
++set dummy dlltool; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_DLLTOOL"; then
++ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
++if test -n "$ac_ct_DLLTOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
++$as_echo "$ac_ct_DLLTOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_DLLTOOL" = x; then
++ DLLTOOL="false"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ DLLTOOL=$ac_ct_DLLTOOL
++ fi
++else
++ DLLTOOL="$ac_cv_prog_DLLTOOL"
++fi
++
++test -z "$DLLTOOL" && DLLTOOL=dlltool
++
++
++
++
++
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
++$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
++if test "${lt_cv_sharedlib_from_linklib_cmd+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_sharedlib_from_linklib_cmd='unknown'
++
++case $host_os in
++cygwin* | mingw* | pw32* | cegcc*)
++ # two different shell functions defined in ltmain.sh
++ # decide which to use based on capabilities of $DLLTOOL
++ case `$DLLTOOL --help 2>&1` in
++ *--identify-strict*)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
++ ;;
++ *)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
++ ;;
++ esac
++ ;;
++*)
++ # fallback: assume linklib IS sharedlib
++ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
++ ;;
++esac
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
++$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
++sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
++test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
++
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++ for ac_prog in ar
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if test "${ac_cv_prog_AR+set}" = set; then :
+@@ -6218,7 +6467,7 @@
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+- ac_cv_prog_AR="${ac_tool_prefix}ar"
++ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -6238,11 +6487,15 @@
+ fi
+
+
++ test -n "$AR" && break
++ done
+ fi
+-if test -z "$ac_cv_prog_AR"; then
++if test -z "$AR"; then
+ ac_ct_AR=$AR
+- # Extract the first word of "ar", so it can be a program name with args.
+-set dummy ar; ac_word=$2
++ for ac_prog in ar
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+@@ -6258,7 +6511,7 @@
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+- ac_cv_prog_ac_ct_AR="ar"
++ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -6277,6 +6530,10 @@
+ $as_echo "no" >&6; }
+ fi
+
++
++ test -n "$ac_ct_AR" && break
++done
++
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+@@ -6288,16 +6545,72 @@
+ esac
+ AR=$ac_ct_AR
+ fi
+-else
+- AR="$ac_cv_prog_AR"
+ fi
+
+-test -z "$AR" && AR=ar
+-test -z "$AR_FLAGS" && AR_FLAGS=cru
++: ${AR=ar}
++: ${AR_FLAGS=cru}
++
++
++
++
++
++
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
++$as_echo_n "checking for archiver @FILE support... " >&6; }
++if test "${lt_cv_ar_at_file+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_ar_at_file=no
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++int
++main ()
++{
+
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ echo conftest.$ac_objext > conftest.lst
++ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
++ (eval $lt_ar_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ if test "$ac_status" -eq 0; then
++ # Ensure the archiver fails upon bogus file names.
++ rm -f conftest.$ac_objext libconftest.a
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
++ (eval $lt_ar_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ if test "$ac_status" -ne 0; then
++ lt_cv_ar_at_file=@
++ fi
++ fi
++ rm -f conftest.* libconftest.a
+
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
++$as_echo "$lt_cv_ar_at_file" >&6; }
+
++if test "x$lt_cv_ar_at_file" = xno; then
++ archiver_list_spec=
++else
++ archiver_list_spec=$lt_cv_ar_at_file
++fi
+
+
+
+@@ -6639,8 +6952,8 @@
+ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+ # Transform an extracted symbol line into symbol name and symbol address
+-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
+-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+ # Handle CRLF in mingw tool chain
+ opt_cr=
+@@ -6676,6 +6989,7 @@
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
++ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+@@ -6717,6 +7031,18 @@
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
++/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
++#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
++/* DATA imports from DLLs on WIN32 con't be const, because runtime
++ relocations are performed -- see ld's documentation on pseudo-relocs. */
++# define LT_DLSYM_CONST
++#elif defined(__osf__)
++/* This system does not cope well with relocations in const data. */
++# define LT_DLSYM_CONST
++#else
++# define LT_DLSYM_CONST const
++#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -6728,7 +7054,7 @@
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+ /* The mapping between symbol names and symbols. */
+-const struct {
++LT_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+ }
+@@ -6754,8 +7080,8 @@
+ _LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+- lt_save_LIBS="$LIBS"
+- lt_save_CFLAGS="$CFLAGS"
++ lt_globsym_save_LIBS=$LIBS
++ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+@@ -6765,8 +7091,8 @@
+ test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+- LIBS="$lt_save_LIBS"
+- CFLAGS="$lt_save_CFLAGS"
++ LIBS=$lt_globsym_save_LIBS
++ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+@@ -6803,6 +7129,17 @@
+ $as_echo "ok" >&6; }
+ fi
+
++# Response file support.
++if test "$lt_cv_nm_interface" = "MS dumpbin"; then
++ nm_file_list_spec='@'
++elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
++ nm_file_list_spec='@'
++fi
++
++
++
++
++
+
+
+
+@@ -6824,6 +7161,44 @@
+
+
+
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
++$as_echo_n "checking for sysroot... " >&6; }
++
++# Check whether --with-libtool-sysroot was given.
++if test "${with_libtool_sysroot+set}" = set; then :
++ withval=$with_libtool_sysroot;
++else
++ with_libtool_sysroot=no
++fi
++
++
++lt_sysroot=
++case ${with_libtool_sysroot} in #(
++ yes)
++ if test "$GCC" = yes; then
++ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
++ fi
++ ;; #(
++ /*)
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
++ ;; #(
++ no|'')
++ ;; #(
++ *)
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
++$as_echo "${with_libtool_sysroot}" >&6; }
++ as_fn_error "The sysroot must be an absolute path." "$LINENO" 5
++ ;;
++esac
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
++$as_echo "${lt_sysroot:-no}" >&6; }
++
++
++
++
++
+ # Check whether --enable-libtool-lock was given.
+ if test "${enable_libtool_lock+set}" = set; then :
+ enableval=$enable_libtool_lock;
+@@ -7017,6 +7392,123 @@
+
+ need_locks="$enable_libtool_lock"
+
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
++set dummy ${ac_tool_prefix}mt; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_MANIFEST_TOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$MANIFEST_TOOL"; then
++ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
++if test -n "$MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
++$as_echo "$MANIFEST_TOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
++ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
++ # Extract the first word of "mt", so it can be a program name with args.
++set dummy mt; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_MANIFEST_TOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_MANIFEST_TOOL"; then
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
++if test -n "$ac_ct_MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
++$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_MANIFEST_TOOL" = x; then
++ MANIFEST_TOOL=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
++ fi
++else
++ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
++fi
++
++test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
++$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
++if test "${lt_cv_path_mainfest_tool+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_path_mainfest_tool=no
++ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
++ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
++ cat conftest.err >&5
++ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
++ lt_cv_path_mainfest_tool=yes
++ fi
++ rm -f conftest*
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
++$as_echo "$lt_cv_path_mainfest_tool" >&6; }
++if test "x$lt_cv_path_mainfest_tool" != xyes; then
++ MANIFEST_TOOL=:
++fi
++
++
++
++
++
+
+ case $host_os in
+ rhapsody* | darwin*)
+@@ -7580,6 +8072,8 @@
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+ echo "$AR cru libconftest.a conftest.o" >&5
+ $AR cru libconftest.a conftest.o 2>&5
++ echo "$RANLIB libconftest.a" >&5
++ $RANLIB libconftest.a 2>&5
+ cat > conftest.c << _LT_EOF
+ int main() { return 0;}
+ _LT_EOF
+@@ -7775,7 +8269,8 @@
+ LIBTOOL_DEPS="$ltmain"
+
+ # Always use our own libtool.
+-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
++LIBTOOL='$(SHELL) $(top_builddir)'
++LIBTOOL="$LIBTOOL/${host_alias}-libtool"
+
+
+
+@@ -7864,7 +8359,7 @@
+ esac
+
+ # Global variables:
+-ofile=libtool
++ofile=${host_alias}-libtool
+ can_build_shared=yes
+
+ # All known linkers require a `.a' archive for static linking (except MSVC,
+@@ -8162,8 +8657,6 @@
+ lt_prog_compiler_pic=
+ lt_prog_compiler_static=
+
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl='-Wl,'
+@@ -8328,6 +8821,12 @@
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
++ nagfor*)
++ # NAG Fortran compiler
++ lt_prog_compiler_wl='-Wl,-Wl,,'
++ lt_prog_compiler_pic='-PIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+@@ -8390,7 +8889,7 @@
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ case $cc_basename in
+- f77* | f90* | f95*)
++ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ lt_prog_compiler_wl='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl='-Wl,';;
+@@ -8447,13 +8946,17 @@
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+ esac
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
+-$as_echo "$lt_prog_compiler_pic" >&6; }
+-
+-
+-
+-
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
++$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
++if test "${lt_cv_prog_compiler_pic+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
++$as_echo "$lt_cv_prog_compiler_pic" >&6; }
++lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
+
+ #
+ # Check to make sure the PIC flag actually works.
+@@ -8514,6 +9017,11 @@
+
+
+
++
++
++
++
++
+ #
+ # Check to make sure the static flag actually works.
+ #
+@@ -8864,7 +9372,8 @@
+ allow_undefined_flag=unsupported
+ always_export_symbols=no
+ enable_shared_with_static_runtimes=yes
+- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
++ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+@@ -8912,7 +9421,7 @@
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+- tmp_addflag=
++ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+@@ -8963,12 +9472,12 @@
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld='-rpath $libdir'
+- archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
++ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
++ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+@@ -8982,8 +9491,8 @@
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+@@ -9001,8 +9510,8 @@
+
+ _LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -9048,8 +9557,8 @@
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -9179,7 +9688,13 @@
+ allow_undefined_flag='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if test "${lt_cv_aix_libpath_+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -9192,22 +9707,29 @@
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath_
++fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+@@ -9219,7 +9741,13 @@
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if test "${lt_cv_aix_libpath_+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -9232,22 +9760,29 @@
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath_
++fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+@@ -9292,20 +9827,63 @@
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+- hardcode_libdir_flag_spec=' '
+- allow_undefined_flag=unsupported
+- # Tell ltmain to make .lib files, not .a files.
+- libext=lib
+- # Tell ltmain to make .dll files, not .so files.
+- shrext_cmds=".dll"
+- # FIXME: Setting linknames here is a bad hack.
+- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+- # The linker will automatically build a .lib file if we build a DLL.
+- old_archive_from_new_cmds='true'
+- # FIXME: Should let the user specify the lib program.
+- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+- fix_srcfile_path='`cygpath -w "$srcfile"`'
+- enable_shared_with_static_runtimes=yes
++ case $cc_basename in
++ cl*)
++ # Native MSVC
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ always_export_symbols=yes
++ file_list_spec='@'
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
++ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
++ else
++ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
++ fi~
++ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
++ linknames='
++ # The linker will not automatically build a static lib if we build a DLL.
++ # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
++ enable_shared_with_static_runtimes=yes
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++ # Don't use ranlib
++ old_postinstall_cmds='chmod 644 $oldlib'
++ postlink_cmds='lt_outputfile="@OUTPUT@"~
++ lt_tool_outputfile="@TOOL_OUTPUT@"~
++ case $lt_outputfile in
++ *.exe|*.EXE) ;;
++ *)
++ lt_outputfile="$lt_outputfile.exe"
++ lt_tool_outputfile="$lt_tool_outputfile.exe"
++ ;;
++ esac~
++ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
++ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
++ $RM "$lt_outputfile.manifest";
++ fi'
++ ;;
++ *)
++ # Assume MSVC wrapper
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
++ # The linker will automatically build a .lib file if we build a DLL.
++ old_archive_from_new_cmds='true'
++ # FIXME: Should let the user specify the lib program.
++ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
++ enable_shared_with_static_runtimes=yes
++ ;;
++ esac
+ ;;
+
+ darwin* | rhapsody*)
+@@ -9370,7 +9948,7 @@
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+- archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+@@ -9378,7 +9956,7 @@
+
+ hpux9*)
+ if test "$GCC" = yes; then
+- archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+@@ -9394,7 +9972,7 @@
+
+ hpux10*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+@@ -9418,10 +9996,10 @@
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+@@ -9500,23 +10078,36 @@
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+- save_LDFLAGS="$LDFLAGS"
+- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ # This should be the same for all languages, so no per-tag cache variable.
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
++$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
++if test "${lt_cv_irix_exported_symbol+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-int foo(void) {}
++int foo (void) { return 0; }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+-
++ lt_cv_irix_exported_symbol=yes
++else
++ lt_cv_irix_exported_symbol=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+- LDFLAGS="$save_LDFLAGS"
++ LDFLAGS="$save_LDFLAGS"
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
++$as_echo "$lt_cv_irix_exported_symbol" >&6; }
++ if test "$lt_cv_irix_exported_symbol" = yes; then
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
++ fi
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+@@ -9601,7 +10192,7 @@
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+@@ -9620,9 +10211,9 @@
+ no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+- archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+@@ -10198,8 +10789,9 @@
+ need_version=no
+ need_lib_prefix=no
+
+- case $GCC,$host_os in
+- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
++ case $GCC,$cc_basename in
++ yes,*)
++ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+@@ -10232,13 +10824,71 @@
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
++ dynamic_linker='Win32 ld.exe'
++ ;;
++
++ *,cl*)
++ # Native MSVC
++ libname_spec='$name'
++ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++ library_names_spec='${libname}.dll.lib'
++
++ case $build_os in
++ mingw*)
++ sys_lib_search_path_spec=
++ lt_save_ifs=$IFS
++ IFS=';'
++ for lt_path in $LIB
++ do
++ IFS=$lt_save_ifs
++ # Let DOS variable expansion print the short 8.3 style file name.
++ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
++ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
++ done
++ IFS=$lt_save_ifs
++ # Convert to MSYS style.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
++ ;;
++ cygwin*)
++ # Convert to unix form, then to dos form, then back to unix form
++ # but this time dos style (no spaces!) so that the unix form looks
++ # like /cygdrive/c/PROGRA~1:/cygdr...
++ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
++ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
++ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ ;;
++ *)
++ sys_lib_search_path_spec="$LIB"
++ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
++ # It is most probably a Windows format PATH.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ # FIXME: find the short name or the path components, as spaces are
++ # common. (e.g. "Program Files" -> "PROGRA~1")
++ ;;
++ esac
++
++ # DLL is installed to $(libdir)/../bin by postinstall_cmds
++ postinstall_cmds='base_file=`basename \${file}`~
++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
++ dldir=$destdir/`dirname \$dlpath`~
++ test -d \$dldir || mkdir -p \$dldir~
++ $install_prog $dir/$dlname \$dldir/$dlname'
++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++ dlpath=$dir/\$dldll~
++ $RM \$dlpath'
++ shlibpath_overrides_runpath=yes
++ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
++ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
++ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+- dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+@@ -10334,7 +10984,7 @@
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
++ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+@@ -11130,7 +11780,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 11128 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -11174,10 +11824,10 @@
+ /* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+-void fnord () __attribute__((visibility("default")));
++int fnord () __attribute__((visibility("default")));
+ #endif
+
+-void fnord () { int i=42; }
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -11236,7 +11886,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 11234 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -11280,10 +11930,10 @@
+ /* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+-void fnord () __attribute__((visibility("default")));
++int fnord () __attribute__((visibility("default")));
+ #endif
+
+-void fnord () { int i=42; }
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -12825,13 +13475,20 @@
+ lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+ lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+ lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
++lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
++lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
+ reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+ reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+ OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+ deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+ file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
++file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
++want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
++DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
++sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
+ AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+ AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
++archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
+ STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+ RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+ old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+@@ -12846,14 +13503,17 @@
+ lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
++nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
++lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+ objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+ MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
++lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+ lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+ need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
++MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
+ DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+ NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+ LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+@@ -12886,12 +13546,12 @@
+ hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+ inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+ link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+-fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $SED "$delay_single_quote_subst"`'
+ always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+ export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+ exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+ include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+ prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
++postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
+ file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+ variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+ need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+@@ -12946,8 +13606,13 @@
+ OBJDUMP \
+ deplibs_check_method \
+ file_magic_cmd \
++file_magic_glob \
++want_nocaseglob \
++DLLTOOL \
++sharedlib_from_linklib_cmd \
+ AR \
+ AR_FLAGS \
++archiver_list_spec \
+ STRIP \
+ RANLIB \
+ CC \
+@@ -12957,12 +13622,14 @@
+ lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
++nm_file_list_spec \
+ lt_prog_compiler_no_builtin_flag \
+-lt_prog_compiler_wl \
+ lt_prog_compiler_pic \
++lt_prog_compiler_wl \
+ lt_prog_compiler_static \
+ lt_cv_prog_compiler_c_o \
+ need_locks \
++MANIFEST_TOOL \
+ DSYMUTIL \
+ NMEDIT \
+ LIPO \
+@@ -12978,7 +13645,6 @@
+ hardcode_libdir_flag_spec \
+ hardcode_libdir_flag_spec_ld \
+ hardcode_libdir_separator \
+-fix_srcfile_path \
+ exclude_expsyms \
+ include_expsyms \
+ file_list_spec \
+@@ -13014,6 +13680,7 @@
+ module_expsym_cmds \
+ export_symbols_cmds \
+ prelink_cmds \
++postlink_cmds \
+ postinstall_cmds \
+ postuninstall_cmds \
+ finish_cmds \
+@@ -13770,7 +14437,8 @@
+ # NOTE: Changes made to this file will be lost: look at ltmain.sh.
+ #
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+-# 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
++# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
++# Inc.
+ # Written by Gordon Matzigkeit, 1996
+ #
+ # This file is part of GNU Libtool.
+@@ -13873,19 +14541,42 @@
+ # turn newlines into spaces.
+ NL2SP=$lt_lt_NL2SP
+
++# convert \$build file names to \$host format.
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++
++# convert \$build files to toolchain format.
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++
+ # An object symbol dumper.
+ OBJDUMP=$lt_OBJDUMP
+
+ # Method to check whether dependent libraries are shared objects.
+ deplibs_check_method=$lt_deplibs_check_method
+
+-# Command to use when deplibs_check_method == "file_magic".
++# Command to use when deplibs_check_method = "file_magic".
+ file_magic_cmd=$lt_file_magic_cmd
+
++# How to find potential files when deplibs_check_method = "file_magic".
++file_magic_glob=$lt_file_magic_glob
++
++# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
++want_nocaseglob=$lt_want_nocaseglob
++
++# DLL creation program.
++DLLTOOL=$lt_DLLTOOL
++
++# Command to associate shared and link libraries.
++sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
++
+ # The archiver.
+ AR=$lt_AR
++
++# Flags to create an archive.
+ AR_FLAGS=$lt_AR_FLAGS
+
++# How to feed a file listing to the archiver.
++archiver_list_spec=$lt_archiver_list_spec
++
+ # A symbol stripping program.
+ STRIP=$lt_STRIP
+
+@@ -13915,6 +14606,12 @@
+ # Transform the output of nm in a C name address pair when lib prefix is needed.
+ global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
++# Specify filename containing input files for \$NM.
++nm_file_list_spec=$lt_nm_file_list_spec
++
++# The root where to search for dependent libraries,and in which our libraries should be installed.
++lt_sysroot=$lt_sysroot
++
+ # The name of the directory that contains temporary libtool files.
+ objdir=$objdir
+
+@@ -13924,6 +14621,9 @@
+ # Must we lock files when doing compilation?
+ need_locks=$lt_need_locks
+
++# Manifest tool.
++MANIFEST_TOOL=$lt_MANIFEST_TOOL
++
+ # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+ DSYMUTIL=$lt_DSYMUTIL
+
+@@ -14038,12 +14738,12 @@
+ # Compiler flag to turn off builtin functions.
+ no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+-# How to pass a linker flag through the compiler.
+-wl=$lt_lt_prog_compiler_wl
+-
+ # Additional compiler flags for building library objects.
+ pic_flag=$lt_lt_prog_compiler_pic
+
++# How to pass a linker flag through the compiler.
++wl=$lt_lt_prog_compiler_wl
++
+ # Compiler flag to prevent dynamic linking.
+ link_static_flag=$lt_lt_prog_compiler_static
+
+@@ -14130,9 +14830,6 @@
+ # Whether libtool must link a program against all its dependency libraries.
+ link_all_deplibs=$link_all_deplibs
+
+-# Fix the shell variable \$srcfile for the compiler.
+-fix_srcfile_path=$lt_fix_srcfile_path
+-
+ # Set to "yes" if exported symbols are required.
+ always_export_symbols=$always_export_symbols
+
+@@ -14148,6 +14845,9 @@
+ # Commands necessary for linking programs (against libraries) with templates.
+ prelink_cmds=$lt_prelink_cmds
+
++# Commands necessary for finishing linking programs.
++postlink_cmds=$lt_postlink_cmds
++
+ # Specify filename containing input files.
+ file_list_spec=$lt_file_list_spec
+
+@@ -14180,210 +14880,169 @@
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+-
+- case $xsi_shell in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_dirname file append nondir_replacement
+-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+-# otherwise set result to NONDIR_REPLACEMENT.
+-func_dirname ()
+-{
+- case ${1} in
+- */*) func_dirname_result="${1%/*}${2}" ;;
+- * ) func_dirname_result="${3}" ;;
+- esac
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result="${1##*/}"
+-}
+-
+-# func_dirname_and_basename file append nondir_replacement
+-# perform func_basename and func_dirname in a single function
+-# call:
+-# dirname: Compute the dirname of FILE. If nonempty,
+-# add APPEND to the result, otherwise set result
+-# to NONDIR_REPLACEMENT.
+-# value returned in "$func_dirname_result"
+-# basename: Compute filename of FILE.
+-# value retuned in "$func_basename_result"
+-# Implementation must be kept synchronized with func_dirname
+-# and func_basename. For efficiency, we do not delegate to
+-# those functions but instead duplicate the functionality here.
+-func_dirname_and_basename ()
+-{
+- case ${1} in
+- */*) func_dirname_result="${1%/*}${2}" ;;
+- * ) func_dirname_result="${3}" ;;
+- esac
+- func_basename_result="${1##*/}"
+-}
+-
+-# func_stripname prefix suffix name
+-# strip PREFIX and SUFFIX off of NAME.
+-# PREFIX and SUFFIX must not contain globbing or regex special
+-# characters, hashes, percent signs, but SUFFIX may contain a leading
+-# dot (in which case that matches only a dot).
+-func_stripname ()
+-{
+- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+- # positional parameters, so assign one to ordinary parameter first.
+- func_stripname_result=${3}
+- func_stripname_result=${func_stripname_result#"${1}"}
+- func_stripname_result=${func_stripname_result%"${2}"}
+-}
+-
+-# func_opt_split
+-func_opt_split ()
+-{
+- func_opt_split_opt=${1%%=*}
+- func_opt_split_arg=${1#*=}
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+- case ${1} in
+- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+- *) func_lo2o_result=${1} ;;
+- esac
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=${1%.*}.lo
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=$(( $* ))
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=${#1}
+-}
+-
+-_LT_EOF
+- ;;
+- *) # Bourne compatible functions.
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_dirname file append nondir_replacement
+-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+-# otherwise set result to NONDIR_REPLACEMENT.
+-func_dirname ()
+-{
+- # Extract subdirectory from the argument.
+- func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
+- if test "X$func_dirname_result" = "X${1}"; then
+- func_dirname_result="${3}"
+- else
+- func_dirname_result="$func_dirname_result${2}"
+- fi
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result=`$ECHO "${1}" | $SED "$basename"`
+-}
+-
+-
+-# func_stripname prefix suffix name
+-# strip PREFIX and SUFFIX off of NAME.
+-# PREFIX and SUFFIX must not contain globbing or regex special
+-# characters, hashes, percent signs, but SUFFIX may contain a leading
+-# dot (in which case that matches only a dot).
+-# func_strip_suffix prefix name
+-func_stripname ()
+-{
+- case ${2} in
+- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+- esac
+-}
+-
+-# sed scripts:
+-my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+-my_sed_long_arg='1s/^-[^=]*=//'
+-
+-# func_opt_split
+-func_opt_split ()
+-{
+- func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
+- func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+- func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=`expr "$@"`
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+-}
+-
+-_LT_EOF
+-esac
+-
+-case $lt_shell_append in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+- eval "$1+=\$2"
+-}
+-_LT_EOF
+- ;;
+- *)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+- eval "$1=\$$1\$2"
+-}
+-
+-_LT_EOF
+- ;;
+- esac
++ sed '$q' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
+
++ if test x"$xsi_shell" = xyes; then
++ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
++func_dirname ()\
++{\
++\ case ${1} in\
++\ */*) func_dirname_result="${1%/*}${2}" ;;\
++\ * ) func_dirname_result="${3}" ;;\
++\ esac\
++} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_basename ()$/,/^} # func_basename /c\
++func_basename ()\
++{\
++\ func_basename_result="${1##*/}"\
++} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
++func_dirname_and_basename ()\
++{\
++\ case ${1} in\
++\ */*) func_dirname_result="${1%/*}${2}" ;;\
++\ * ) func_dirname_result="${3}" ;;\
++\ esac\
++\ func_basename_result="${1##*/}"\
++} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
++func_stripname ()\
++{\
++\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
++\ # positional parameters, so assign one to ordinary parameter first.\
++\ func_stripname_result=${3}\
++\ func_stripname_result=${func_stripname_result#"${1}"}\
++\ func_stripname_result=${func_stripname_result%"${2}"}\
++} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
++func_split_long_opt ()\
++{\
++\ func_split_long_opt_name=${1%%=*}\
++\ func_split_long_opt_arg=${1#*=}\
++} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
++func_split_short_opt ()\
++{\
++\ func_split_short_opt_arg=${1#??}\
++\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
++} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
++func_lo2o ()\
++{\
++\ case ${1} in\
++\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
++\ *) func_lo2o_result=${1} ;;\
++\ esac\
++} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_xform ()$/,/^} # func_xform /c\
++func_xform ()\
++{\
++ func_xform_result=${1%.*}.lo\
++} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_arith ()$/,/^} # func_arith /c\
++func_arith ()\
++{\
++ func_arith_result=$(( $* ))\
++} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_len ()$/,/^} # func_len /c\
++func_len ()\
++{\
++ func_len_result=${#1}\
++} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++fi
++
++if test x"$lt_shell_append" = xyes; then
++ sed -e '/^func_append ()$/,/^} # func_append /c\
++func_append ()\
++{\
++ eval "${1}+=\\${2}"\
++} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
++func_append_quoted ()\
++{\
++\ func_quote_for_eval "${2}"\
++\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
++} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ # Save a `func_append' function call where possible by direct use of '+='
++ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++else
++ # Save a `func_append' function call even when '+=' is not available
++ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++fi
++
++if test x"$_lt_function_replace_fail" = x":"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
++$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
++fi
+
+- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+
+- mv -f "$cfgfile" "$ofile" ||
++ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
+Index: binutils-2.21/ld/configure
+===================================================================
+--- binutils-2.21.orig/ld/configure 2010-11-23 05:50:32.000000000 -0800
++++ binutils-2.21/ld/configure 2011-01-07 10:49:16.436101000 -0800
+@@ -643,8 +643,11 @@
+ LIPO
+ NMEDIT
+ DSYMUTIL
++MANIFEST_TOOL
+ RANLIB
++ac_ct_AR
+ AR
++DLLTOOL
+ OBJDUMP
+ LN_S
+ NM
+@@ -776,6 +779,7 @@
+ with_pic
+ enable_fast_install
+ with_gnu_ld
++with_libtool_sysroot
+ enable_libtool_lock
+ enable_nls
+ '
+@@ -1436,6 +1440,8 @@
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
++ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
++ (or the compiler's sysroot if not specified).
+
+ Some influential environment variables:
+ CC C compiler command
+@@ -5562,8 +5568,8 @@
+
+
+
+-macro_version='2.2.7a'
+-macro_revision='1.3134'
++macro_version='2.4'
++macro_revision='1.3293'
+
+
+
+@@ -5603,7 +5609,7 @@
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+ $as_echo_n "checking how to print strings... " >&6; }
+ # Test print first, because it will be a builtin if present.
+-if test "X`print -r -- -n 2>/dev/null`" = X-n && \
++if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+ elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+@@ -6289,8 +6295,8 @@
+ # Try some XSI features
+ xsi_shell=no
+ ( _lt_dummy="a/b/c"
+- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+- = c,a/b,, \
++ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
++ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+@@ -6339,6 +6345,80 @@
+
+
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
++$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
++if test "${lt_cv_to_host_file_cmd+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
++ ;;
++ esac
++ ;;
++ *-*-cygwin* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
++ ;;
++ esac
++ ;;
++ * ) # unhandled hosts (and "normal" native builds)
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++esac
++
++fi
++
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
++$as_echo "$lt_cv_to_host_file_cmd" >&6; }
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
++$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
++if test "${lt_cv_to_tool_file_cmd+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ #assume ordinary cross tools, or native build.
++lt_cv_to_tool_file_cmd=func_convert_file_noop
++case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ esac
++ ;;
++esac
++
++fi
++
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
++$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
++
++
++
++
++
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+ $as_echo_n "checking for $LD option to reload object files... " >&6; }
+ if test "${lt_cv_ld_reload_flag+set}" = set; then :
+@@ -6355,6 +6435,11 @@
+ esac
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ case $host_os in
++ cygwin* | mingw* | pw32* | cegcc*)
++ if test "$GCC" != yes; then
++ reload_cmds=false
++ fi
++ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+@@ -6523,7 +6608,8 @@
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
++ # Keep this pattern in sync with the one in func_win32_libid.
++ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+@@ -6677,6 +6763,21 @@
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+ $as_echo "$lt_cv_deplibs_check_method" >&6; }
++
++file_magic_glob=
++want_nocaseglob=no
++if test "$build" = "$host"; then
++ case $host_os in
++ mingw* | pw32*)
++ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
++ want_nocaseglob=yes
++ else
++ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
++ fi
++ ;;
++ esac
++fi
++
+ file_magic_cmd=$lt_cv_file_magic_cmd
+ deplibs_check_method=$lt_cv_deplibs_check_method
+ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6692,9 +6793,162 @@
+
+
+
++
++
++
++
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
++set dummy ${ac_tool_prefix}dlltool; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_DLLTOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$DLLTOOL"; then
++ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++DLLTOOL=$ac_cv_prog_DLLTOOL
++if test -n "$DLLTOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
++$as_echo "$DLLTOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_DLLTOOL"; then
++ ac_ct_DLLTOOL=$DLLTOOL
++ # Extract the first word of "dlltool", so it can be a program name with args.
++set dummy dlltool; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_DLLTOOL"; then
++ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
++if test -n "$ac_ct_DLLTOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
++$as_echo "$ac_ct_DLLTOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_DLLTOOL" = x; then
++ DLLTOOL="false"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ DLLTOOL=$ac_ct_DLLTOOL
++ fi
++else
++ DLLTOOL="$ac_cv_prog_DLLTOOL"
++fi
++
++test -z "$DLLTOOL" && DLLTOOL=dlltool
++
++
++
++
++
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
++$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
++if test "${lt_cv_sharedlib_from_linklib_cmd+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_sharedlib_from_linklib_cmd='unknown'
++
++case $host_os in
++cygwin* | mingw* | pw32* | cegcc*)
++ # two different shell functions defined in ltmain.sh
++ # decide which to use based on capabilities of $DLLTOOL
++ case `$DLLTOOL --help 2>&1` in
++ *--identify-strict*)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
++ ;;
++ *)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
++ ;;
++ esac
++ ;;
++*)
++ # fallback: assume linklib IS sharedlib
++ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
++ ;;
++esac
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
++$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
++sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
++test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
++
++
++
++
++
++
++
+ if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}ar; ac_word=$2
++ for ac_prog in ar
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if test "${ac_cv_prog_AR+set}" = set; then :
+@@ -6710,7 +6964,7 @@
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+- ac_cv_prog_AR="${ac_tool_prefix}ar"
++ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -6730,11 +6984,15 @@
+ fi
+
+
++ test -n "$AR" && break
++ done
+ fi
+-if test -z "$ac_cv_prog_AR"; then
++if test -z "$AR"; then
+ ac_ct_AR=$AR
+- # Extract the first word of "ar", so it can be a program name with args.
+-set dummy ar; ac_word=$2
++ for ac_prog in ar
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+@@ -6750,7 +7008,7 @@
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+- ac_cv_prog_ac_ct_AR="ar"
++ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -6769,6 +7027,10 @@
+ $as_echo "no" >&6; }
+ fi
+
++
++ test -n "$ac_ct_AR" && break
++done
++
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+@@ -6780,16 +7042,72 @@
+ esac
+ AR=$ac_ct_AR
+ fi
+-else
+- AR="$ac_cv_prog_AR"
+ fi
+
+-test -z "$AR" && AR=ar
+-test -z "$AR_FLAGS" && AR_FLAGS=cru
++: ${AR=ar}
++: ${AR_FLAGS=cru}
++
++
++
++
++
++
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
++$as_echo_n "checking for archiver @FILE support... " >&6; }
++if test "${lt_cv_ar_at_file+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_ar_at_file=no
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++int
++main ()
++{
+
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ echo conftest.$ac_objext > conftest.lst
++ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
++ (eval $lt_ar_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ if test "$ac_status" -eq 0; then
++ # Ensure the archiver fails upon bogus file names.
++ rm -f conftest.$ac_objext libconftest.a
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
++ (eval $lt_ar_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ if test "$ac_status" -ne 0; then
++ lt_cv_ar_at_file=@
++ fi
++ fi
++ rm -f conftest.* libconftest.a
+
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
++$as_echo "$lt_cv_ar_at_file" >&6; }
+
++if test "x$lt_cv_ar_at_file" = xno; then
++ archiver_list_spec=
++else
++ archiver_list_spec=$lt_cv_ar_at_file
++fi
+
+
+
+@@ -7131,8 +7449,8 @@
+ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+ # Transform an extracted symbol line into symbol name and symbol address
+-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
+-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+ # Handle CRLF in mingw tool chain
+ opt_cr=
+@@ -7168,6 +7486,7 @@
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
++ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+@@ -7209,6 +7528,18 @@
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
++/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
++#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
++/* DATA imports from DLLs on WIN32 con't be const, because runtime
++ relocations are performed -- see ld's documentation on pseudo-relocs. */
++# define LT_DLSYM_CONST
++#elif defined(__osf__)
++/* This system does not cope well with relocations in const data. */
++# define LT_DLSYM_CONST
++#else
++# define LT_DLSYM_CONST const
++#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -7220,7 +7551,7 @@
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+ /* The mapping between symbol names and symbols. */
+-const struct {
++LT_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+ }
+@@ -7246,8 +7577,8 @@
+ _LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+- lt_save_LIBS="$LIBS"
+- lt_save_CFLAGS="$CFLAGS"
++ lt_globsym_save_LIBS=$LIBS
++ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+@@ -7257,8 +7588,8 @@
+ test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+- LIBS="$lt_save_LIBS"
+- CFLAGS="$lt_save_CFLAGS"
++ LIBS=$lt_globsym_save_LIBS
++ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+@@ -7295,6 +7626,19 @@
+ $as_echo "ok" >&6; }
+ fi
+
++# Response file support.
++if test "$lt_cv_nm_interface" = "MS dumpbin"; then
++ nm_file_list_spec='@'
++elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
++ nm_file_list_spec='@'
++fi
++
++
++
++
++
++
++
+
+
+
+@@ -7315,6 +7659,42 @@
+
+
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
++$as_echo_n "checking for sysroot... " >&6; }
++
++# Check whether --with-libtool-sysroot was given.
++if test "${with_libtool_sysroot+set}" = set; then :
++ withval=$with_libtool_sysroot;
++else
++ with_libtool_sysroot=no
++fi
++
++
++lt_sysroot=
++case ${with_libtool_sysroot} in #(
++ yes)
++ if test "$GCC" = yes; then
++ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
++ fi
++ ;; #(
++ /*)
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
++ ;; #(
++ no|'')
++ ;; #(
++ *)
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
++$as_echo "${with_libtool_sysroot}" >&6; }
++ as_fn_error "The sysroot must be an absolute path." "$LINENO" 5
++ ;;
++esac
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
++$as_echo "${lt_sysroot:-no}" >&6; }
++
++
++
++
+
+ # Check whether --enable-libtool-lock was given.
+ if test "${enable_libtool_lock+set}" = set; then :
+@@ -7509,6 +7889,123 @@
+
+ need_locks="$enable_libtool_lock"
+
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
++set dummy ${ac_tool_prefix}mt; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_MANIFEST_TOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$MANIFEST_TOOL"; then
++ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
++if test -n "$MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
++$as_echo "$MANIFEST_TOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
++ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
++ # Extract the first word of "mt", so it can be a program name with args.
++set dummy mt; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_MANIFEST_TOOL+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_MANIFEST_TOOL"; then
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
++if test -n "$ac_ct_MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
++$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_MANIFEST_TOOL" = x; then
++ MANIFEST_TOOL=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
++ fi
++else
++ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
++fi
++
++test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
++$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
++if test "${lt_cv_path_mainfest_tool+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_path_mainfest_tool=no
++ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
++ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
++ cat conftest.err >&5
++ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
++ lt_cv_path_mainfest_tool=yes
++ fi
++ rm -f conftest*
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
++$as_echo "$lt_cv_path_mainfest_tool" >&6; }
++if test "x$lt_cv_path_mainfest_tool" != xyes; then
++ MANIFEST_TOOL=:
++fi
++
++
++
++
++
+
+ case $host_os in
+ rhapsody* | darwin*)
+@@ -8072,6 +8569,8 @@
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+ echo "$AR cru libconftest.a conftest.o" >&5
+ $AR cru libconftest.a conftest.o 2>&5
++ echo "$RANLIB libconftest.a" >&5
++ $RANLIB libconftest.a 2>&5
+ cat > conftest.c << _LT_EOF
+ int main() { return 0;}
+ _LT_EOF
+@@ -8267,7 +8766,8 @@
+ LIBTOOL_DEPS="$ltmain"
+
+ # Always use our own libtool.
+-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
++LIBTOOL='$(SHELL) $(top_builddir)'
++LIBTOOL="$LIBTOOL/${host_alias}-libtool"
+
+
+
+@@ -8356,7 +8856,7 @@
+ esac
+
+ # Global variables:
+-ofile=libtool
++ofile=${host_alias}-libtool
+ can_build_shared=yes
+
+ # All known linkers require a `.a' archive for static linking (except MSVC,
+@@ -8654,8 +9154,6 @@
+ lt_prog_compiler_pic=
+ lt_prog_compiler_static=
+
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl='-Wl,'
+@@ -8820,6 +9318,12 @@
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
++ nagfor*)
++ # NAG Fortran compiler
++ lt_prog_compiler_wl='-Wl,-Wl,,'
++ lt_prog_compiler_pic='-PIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+@@ -8882,7 +9386,7 @@
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ case $cc_basename in
+- f77* | f90* | f95*)
++ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ lt_prog_compiler_wl='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl='-Wl,';;
+@@ -8939,13 +9443,17 @@
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+ esac
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
+-$as_echo "$lt_prog_compiler_pic" >&6; }
+-
+-
+-
+-
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
++$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
++if test "${lt_cv_prog_compiler_pic+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
++$as_echo "$lt_cv_prog_compiler_pic" >&6; }
++lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
+
+ #
+ # Check to make sure the PIC flag actually works.
+@@ -9006,6 +9514,11 @@
+
+
+
++
++
++
++
++
+ #
+ # Check to make sure the static flag actually works.
+ #
+@@ -9356,7 +9869,8 @@
+ allow_undefined_flag=unsupported
+ always_export_symbols=no
+ enable_shared_with_static_runtimes=yes
+- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
++ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+@@ -9404,7 +9918,7 @@
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+- tmp_addflag=
++ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+@@ -9455,12 +9969,12 @@
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld='-rpath $libdir'
+- archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
++ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
++ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+@@ -9474,8 +9988,8 @@
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+@@ -9493,8 +10007,8 @@
+
+ _LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -9540,8 +10054,8 @@
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -9671,7 +10185,13 @@
+ allow_undefined_flag='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if test "${lt_cv_aix_libpath_+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -9684,22 +10204,29 @@
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath_
++fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+@@ -9711,7 +10238,13 @@
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if test "${lt_cv_aix_libpath_+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -9724,22 +10257,29 @@
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath_
++fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+@@ -9784,20 +10324,63 @@
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+- hardcode_libdir_flag_spec=' '
+- allow_undefined_flag=unsupported
+- # Tell ltmain to make .lib files, not .a files.
+- libext=lib
+- # Tell ltmain to make .dll files, not .so files.
+- shrext_cmds=".dll"
+- # FIXME: Setting linknames here is a bad hack.
+- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+- # The linker will automatically build a .lib file if we build a DLL.
+- old_archive_from_new_cmds='true'
+- # FIXME: Should let the user specify the lib program.
+- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+- fix_srcfile_path='`cygpath -w "$srcfile"`'
+- enable_shared_with_static_runtimes=yes
++ case $cc_basename in
++ cl*)
++ # Native MSVC
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ always_export_symbols=yes
++ file_list_spec='@'
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
++ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
++ else
++ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
++ fi~
++ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
++ linknames='
++ # The linker will not automatically build a static lib if we build a DLL.
++ # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
++ enable_shared_with_static_runtimes=yes
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++ # Don't use ranlib
++ old_postinstall_cmds='chmod 644 $oldlib'
++ postlink_cmds='lt_outputfile="@OUTPUT@"~
++ lt_tool_outputfile="@TOOL_OUTPUT@"~
++ case $lt_outputfile in
++ *.exe|*.EXE) ;;
++ *)
++ lt_outputfile="$lt_outputfile.exe"
++ lt_tool_outputfile="$lt_tool_outputfile.exe"
++ ;;
++ esac~
++ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
++ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
++ $RM "$lt_outputfile.manifest";
++ fi'
++ ;;
++ *)
++ # Assume MSVC wrapper
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
++ # The linker will automatically build a .lib file if we build a DLL.
++ old_archive_from_new_cmds='true'
++ # FIXME: Should let the user specify the lib program.
++ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
++ enable_shared_with_static_runtimes=yes
++ ;;
++ esac
+ ;;
+
+ darwin* | rhapsody*)
+@@ -9862,7 +10445,7 @@
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+- archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+@@ -9870,7 +10453,7 @@
+
+ hpux9*)
+ if test "$GCC" = yes; then
+- archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+@@ -9886,7 +10469,7 @@
+
+ hpux10*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+@@ -9910,10 +10493,10 @@
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+@@ -9992,23 +10575,36 @@
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+- save_LDFLAGS="$LDFLAGS"
+- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ # This should be the same for all languages, so no per-tag cache variable.
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
++$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
++if test "${lt_cv_irix_exported_symbol+set}" = set; then :
++ $as_echo_n "(cached) " >&6
++else
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-int foo(void) {}
++int foo (void) { return 0; }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+-
++ lt_cv_irix_exported_symbol=yes
++else
++ lt_cv_irix_exported_symbol=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+- LDFLAGS="$save_LDFLAGS"
++ LDFLAGS="$save_LDFLAGS"
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
++$as_echo "$lt_cv_irix_exported_symbol" >&6; }
++ if test "$lt_cv_irix_exported_symbol" = yes; then
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
++ fi
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+@@ -10093,7 +10689,7 @@
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+@@ -10112,9 +10708,9 @@
+ no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+- archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+@@ -10690,8 +11286,9 @@
+ need_version=no
+ need_lib_prefix=no
+
+- case $GCC,$host_os in
+- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
++ case $GCC,$cc_basename in
++ yes,*)
++ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+@@ -10724,13 +11321,71 @@
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
++ dynamic_linker='Win32 ld.exe'
++ ;;
++
++ *,cl*)
++ # Native MSVC
++ libname_spec='$name'
++ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++ library_names_spec='${libname}.dll.lib'
++
++ case $build_os in
++ mingw*)
++ sys_lib_search_path_spec=
++ lt_save_ifs=$IFS
++ IFS=';'
++ for lt_path in $LIB
++ do
++ IFS=$lt_save_ifs
++ # Let DOS variable expansion print the short 8.3 style file name.
++ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
++ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
++ done
++ IFS=$lt_save_ifs
++ # Convert to MSYS style.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
++ ;;
++ cygwin*)
++ # Convert to unix form, then to dos form, then back to unix form
++ # but this time dos style (no spaces!) so that the unix form looks
++ # like /cygdrive/c/PROGRA~1:/cygdr...
++ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
++ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
++ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ ;;
++ *)
++ sys_lib_search_path_spec="$LIB"
++ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
++ # It is most probably a Windows format PATH.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ # FIXME: find the short name or the path components, as spaces are
++ # common. (e.g. "Program Files" -> "PROGRA~1")
++ ;;
++ esac
++
++ # DLL is installed to $(libdir)/../bin by postinstall_cmds
++ postinstall_cmds='base_file=`basename \${file}`~
++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
++ dldir=$destdir/`dirname \$dlpath`~
++ test -d \$dldir || mkdir -p \$dldir~
++ $install_prog $dir/$dlname \$dldir/$dlname'
++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++ dlpath=$dir/\$dldll~
++ $RM \$dlpath'
++ shlibpath_overrides_runpath=yes
++ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
++ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
++ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+- dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+@@ -10826,7 +11481,7 @@
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
++ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+@@ -11622,7 +12277,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 11625 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -11666,10 +12321,10 @@
+ /* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+-void fnord () __attribute__((visibility("default")));
++int fnord () __attribute__((visibility("default")));
+ #endif
+
+-void fnord () { int i=42; }
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -11728,7 +12383,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 11731 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -11772,10 +12427,10 @@
+ /* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+-void fnord () __attribute__((visibility("default")));
++int fnord () __attribute__((visibility("default")));
+ #endif
+
+-void fnord () { int i=42; }
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -14063,13 +14718,20 @@
+ lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+ lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+ lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
++lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
++lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
+ reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+ reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+ OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+ deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+ file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
++file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
++want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
++DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
++sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
+ AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+ AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
++archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
+ STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+ RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+ old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+@@ -14084,14 +14746,17 @@
+ lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
++nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
++lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+ objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+ MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
++lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+ lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+ need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
++MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
+ DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+ NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+ LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+@@ -14124,12 +14789,12 @@
+ hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+ inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+ link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+-fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $SED "$delay_single_quote_subst"`'
+ always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+ export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+ exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+ include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+ prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
++postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
+ file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+ variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+ need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+@@ -14184,8 +14849,13 @@
+ OBJDUMP \
+ deplibs_check_method \
+ file_magic_cmd \
++file_magic_glob \
++want_nocaseglob \
++DLLTOOL \
++sharedlib_from_linklib_cmd \
+ AR \
+ AR_FLAGS \
++archiver_list_spec \
+ STRIP \
+ RANLIB \
+ CC \
+@@ -14195,12 +14865,14 @@
+ lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
++nm_file_list_spec \
+ lt_prog_compiler_no_builtin_flag \
+-lt_prog_compiler_wl \
+ lt_prog_compiler_pic \
++lt_prog_compiler_wl \
+ lt_prog_compiler_static \
+ lt_cv_prog_compiler_c_o \
+ need_locks \
++MANIFEST_TOOL \
+ DSYMUTIL \
+ NMEDIT \
+ LIPO \
+@@ -14216,7 +14888,6 @@
+ hardcode_libdir_flag_spec \
+ hardcode_libdir_flag_spec_ld \
+ hardcode_libdir_separator \
+-fix_srcfile_path \
+ exclude_expsyms \
+ include_expsyms \
+ file_list_spec \
+@@ -14252,6 +14923,7 @@
+ module_expsym_cmds \
+ export_symbols_cmds \
+ prelink_cmds \
++postlink_cmds \
+ postinstall_cmds \
+ postuninstall_cmds \
+ finish_cmds \
+@@ -15047,7 +15719,8 @@
+ # NOTE: Changes made to this file will be lost: look at ltmain.sh.
+ #
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+-# 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
++# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
++# Inc.
+ # Written by Gordon Matzigkeit, 1996
+ #
+ # This file is part of GNU Libtool.
+@@ -15150,19 +15823,42 @@
+ # turn newlines into spaces.
+ NL2SP=$lt_lt_NL2SP
+
++# convert \$build file names to \$host format.
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++
++# convert \$build files to toolchain format.
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++
+ # An object symbol dumper.
+ OBJDUMP=$lt_OBJDUMP
+
+ # Method to check whether dependent libraries are shared objects.
+ deplibs_check_method=$lt_deplibs_check_method
+
+-# Command to use when deplibs_check_method == "file_magic".
++# Command to use when deplibs_check_method = "file_magic".
+ file_magic_cmd=$lt_file_magic_cmd
+
++# How to find potential files when deplibs_check_method = "file_magic".
++file_magic_glob=$lt_file_magic_glob
++
++# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
++want_nocaseglob=$lt_want_nocaseglob
++
++# DLL creation program.
++DLLTOOL=$lt_DLLTOOL
++
++# Command to associate shared and link libraries.
++sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
++
+ # The archiver.
+ AR=$lt_AR
++
++# Flags to create an archive.
+ AR_FLAGS=$lt_AR_FLAGS
+
++# How to feed a file listing to the archiver.
++archiver_list_spec=$lt_archiver_list_spec
++
+ # A symbol stripping program.
+ STRIP=$lt_STRIP
+
+@@ -15192,6 +15888,12 @@
+ # Transform the output of nm in a C name address pair when lib prefix is needed.
+ global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
++# Specify filename containing input files for \$NM.
++nm_file_list_spec=$lt_nm_file_list_spec
++
++# The root where to search for dependent libraries,and in which our libraries should be installed.
++lt_sysroot=$lt_sysroot
++
+ # The name of the directory that contains temporary libtool files.
+ objdir=$objdir
+
+@@ -15201,6 +15903,9 @@
+ # Must we lock files when doing compilation?
+ need_locks=$lt_need_locks
+
++# Manifest tool.
++MANIFEST_TOOL=$lt_MANIFEST_TOOL
++
+ # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+ DSYMUTIL=$lt_DSYMUTIL
+
+@@ -15315,12 +16020,12 @@
+ # Compiler flag to turn off builtin functions.
+ no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+-# How to pass a linker flag through the compiler.
+-wl=$lt_lt_prog_compiler_wl
+-
+ # Additional compiler flags for building library objects.
+ pic_flag=$lt_lt_prog_compiler_pic
+
++# How to pass a linker flag through the compiler.
++wl=$lt_lt_prog_compiler_wl
++
+ # Compiler flag to prevent dynamic linking.
+ link_static_flag=$lt_lt_prog_compiler_static
+
+@@ -15407,9 +16112,6 @@
+ # Whether libtool must link a program against all its dependency libraries.
+ link_all_deplibs=$link_all_deplibs
+
+-# Fix the shell variable \$srcfile for the compiler.
+-fix_srcfile_path=$lt_fix_srcfile_path
+-
+ # Set to "yes" if exported symbols are required.
+ always_export_symbols=$always_export_symbols
+
+@@ -15425,6 +16127,9 @@
+ # Commands necessary for linking programs (against libraries) with templates.
+ prelink_cmds=$lt_prelink_cmds
+
++# Commands necessary for finishing linking programs.
++postlink_cmds=$lt_postlink_cmds
++
+ # Specify filename containing input files.
+ file_list_spec=$lt_file_list_spec
+
+@@ -15457,210 +16162,169 @@
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+-
+- case $xsi_shell in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_dirname file append nondir_replacement
+-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+-# otherwise set result to NONDIR_REPLACEMENT.
+-func_dirname ()
+-{
+- case ${1} in
+- */*) func_dirname_result="${1%/*}${2}" ;;
+- * ) func_dirname_result="${3}" ;;
+- esac
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result="${1##*/}"
+-}
+-
+-# func_dirname_and_basename file append nondir_replacement
+-# perform func_basename and func_dirname in a single function
+-# call:
+-# dirname: Compute the dirname of FILE. If nonempty,
+-# add APPEND to the result, otherwise set result
+-# to NONDIR_REPLACEMENT.
+-# value returned in "$func_dirname_result"
+-# basename: Compute filename of FILE.
+-# value retuned in "$func_basename_result"
+-# Implementation must be kept synchronized with func_dirname
+-# and func_basename. For efficiency, we do not delegate to
+-# those functions but instead duplicate the functionality here.
+-func_dirname_and_basename ()
+-{
+- case ${1} in
+- */*) func_dirname_result="${1%/*}${2}" ;;
+- * ) func_dirname_result="${3}" ;;
+- esac
+- func_basename_result="${1##*/}"
+-}
+-
+-# func_stripname prefix suffix name
+-# strip PREFIX and SUFFIX off of NAME.
+-# PREFIX and SUFFIX must not contain globbing or regex special
+-# characters, hashes, percent signs, but SUFFIX may contain a leading
+-# dot (in which case that matches only a dot).
+-func_stripname ()
+-{
+- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+- # positional parameters, so assign one to ordinary parameter first.
+- func_stripname_result=${3}
+- func_stripname_result=${func_stripname_result#"${1}"}
+- func_stripname_result=${func_stripname_result%"${2}"}
+-}
+-
+-# func_opt_split
+-func_opt_split ()
+-{
+- func_opt_split_opt=${1%%=*}
+- func_opt_split_arg=${1#*=}
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+- case ${1} in
+- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+- *) func_lo2o_result=${1} ;;
+- esac
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=${1%.*}.lo
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=$(( $* ))
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=${#1}
+-}
+-
+-_LT_EOF
+- ;;
+- *) # Bourne compatible functions.
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_dirname file append nondir_replacement
+-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+-# otherwise set result to NONDIR_REPLACEMENT.
+-func_dirname ()
+-{
+- # Extract subdirectory from the argument.
+- func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
+- if test "X$func_dirname_result" = "X${1}"; then
+- func_dirname_result="${3}"
+- else
+- func_dirname_result="$func_dirname_result${2}"
+- fi
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result=`$ECHO "${1}" | $SED "$basename"`
+-}
+-
+-
+-# func_stripname prefix suffix name
+-# strip PREFIX and SUFFIX off of NAME.
+-# PREFIX and SUFFIX must not contain globbing or regex special
+-# characters, hashes, percent signs, but SUFFIX may contain a leading
+-# dot (in which case that matches only a dot).
+-# func_strip_suffix prefix name
+-func_stripname ()
+-{
+- case ${2} in
+- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+- esac
+-}
+-
+-# sed scripts:
+-my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+-my_sed_long_arg='1s/^-[^=]*=//'
+-
+-# func_opt_split
+-func_opt_split ()
+-{
+- func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
+- func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+- func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=`expr "$@"`
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+-}
+-
+-_LT_EOF
+-esac
+-
+-case $lt_shell_append in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+- eval "$1+=\$2"
+-}
+-_LT_EOF
+- ;;
+- *)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+- eval "$1=\$$1\$2"
+-}
+-
+-_LT_EOF
+- ;;
+- esac
++ sed '$q' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
+
++ if test x"$xsi_shell" = xyes; then
++ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
++func_dirname ()\
++{\
++\ case ${1} in\
++\ */*) func_dirname_result="${1%/*}${2}" ;;\
++\ * ) func_dirname_result="${3}" ;;\
++\ esac\
++} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_basename ()$/,/^} # func_basename /c\
++func_basename ()\
++{\
++\ func_basename_result="${1##*/}"\
++} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
++func_dirname_and_basename ()\
++{\
++\ case ${1} in\
++\ */*) func_dirname_result="${1%/*}${2}" ;;\
++\ * ) func_dirname_result="${3}" ;;\
++\ esac\
++\ func_basename_result="${1##*/}"\
++} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
++func_stripname ()\
++{\
++\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
++\ # positional parameters, so assign one to ordinary parameter first.\
++\ func_stripname_result=${3}\
++\ func_stripname_result=${func_stripname_result#"${1}"}\
++\ func_stripname_result=${func_stripname_result%"${2}"}\
++} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
++func_split_long_opt ()\
++{\
++\ func_split_long_opt_name=${1%%=*}\
++\ func_split_long_opt_arg=${1#*=}\
++} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
++func_split_short_opt ()\
++{\
++\ func_split_short_opt_arg=${1#??}\
++\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
++} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
++func_lo2o ()\
++{\
++\ case ${1} in\
++\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
++\ *) func_lo2o_result=${1} ;;\
++\ esac\
++} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_xform ()$/,/^} # func_xform /c\
++func_xform ()\
++{\
++ func_xform_result=${1%.*}.lo\
++} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_arith ()$/,/^} # func_arith /c\
++func_arith ()\
++{\
++ func_arith_result=$(( $* ))\
++} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_len ()$/,/^} # func_len /c\
++func_len ()\
++{\
++ func_len_result=${#1}\
++} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++fi
++
++if test x"$lt_shell_append" = xyes; then
++ sed -e '/^func_append ()$/,/^} # func_append /c\
++func_append ()\
++{\
++ eval "${1}+=\\${2}"\
++} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
++func_append_quoted ()\
++{\
++\ func_quote_for_eval "${2}"\
++\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
++} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ # Save a `func_append' function call where possible by direct use of '+='
++ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++else
++ # Save a `func_append' function call even when '+=' is not available
++ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++fi
++
++if test x"$_lt_function_replace_fail" = x":"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
++$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
++fi
+
+- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+
+- mv -f "$cfgfile" "$ofile" ||
++ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
+Index: binutils-2.21/bfd/configure.in
+===================================================================
+--- binutils-2.21.orig/bfd/configure.in 2011-01-07 11:24:12.586101000 -0800
++++ binutils-2.21/bfd/configure.in 2011-01-07 11:24:45.206101000 -0800
+@@ -532,7 +532,7 @@
+ x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
+ changequote([,])dnl
+ if test -n "$x"; then
+- SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
++ SHARED_LIBADD="`pwd`/../libiberty/pic/libiberty.a"
+ fi
+
+ # More hacks to build DLLs on Windows.
+Index: binutils-2.21/opcodes/configure.in
+===================================================================
+--- binutils-2.21.orig/opcodes/configure.in 2011-01-07 11:24:12.606100958 -0800
++++ binutils-2.21/opcodes/configure.in 2011-01-07 11:25:36.816101002 -0800
+@@ -134,7 +134,7 @@
+ x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
+ changequote([,])dnl
+ if test -n "$x"; then
+- SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
++ SHARED_LIBADD="`pwd`/../libiberty/pic/libiberty.a"
+ fi
+
+ case "${host}" in
diff --git a/meta/recipes-devtools/binutils/binutils-2.21/libtool-rpath-fix.patch b/meta/recipes-devtools/binutils/binutils-2.21/libtool-rpath-fix.patch
new file mode 100644
index 000000000..a0058c1a4
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils-2.21/libtool-rpath-fix.patch
@@ -0,0 +1,36 @@
+Enabling sysroot support in libtool exposed a bug where the final
+library had an RPATH encoded into it which still pointed to the
+sysroot. This works around the issue until it gets sorted out
+upstream.
+
+Fix suggested by Richard Purdie <richard.purdie@linuxfoundation.org>
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+
+diff -urN binutils-2.21.orig//ltmain.sh binutils-2.21/ltmain.sh
+--- binutils-2.21.orig//ltmain.sh 2011-01-18 11:50:40.821710085 -0800
++++ binutils-2.21/ltmain.sh 2011-01-18 11:51:38.774952785 -0800
+@@ -8035,9 +8035,11 @@
+ test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
+ for libdir in $rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
++ func_replace_sysroot "$libdir"
++ libdir=$func_replace_sysroot_result
++ func_stripname '=' '' "$libdir"
++ libdir=$func_stripname_result
+ if test -n "$hardcode_libdir_separator"; then
+- func_replace_sysroot "$libdir"
+- libdir=$func_replace_sysroot_result
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+@@ -8770,6 +8772,10 @@
+ hardcode_libdirs=
+ for libdir in $compile_rpath $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
++ func_replace_sysroot "$libdir"
++ libdir=$func_replace_sysroot_result
++ func_stripname '=' '' "$libdir"
++ libdir=$func_stripname_result
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
diff --git a/meta/recipes-devtools/binutils/binutils-cross-canadian.inc b/meta/recipes-devtools/binutils/binutils-cross-canadian.inc
index 2fca81dbe..95e535a1b 100644
--- a/meta/recipes-devtools/binutils/binutils-cross-canadian.inc
+++ b/meta/recipes-devtools/binutils/binutils-cross-canadian.inc
@@ -1,16 +1,16 @@
inherit cross-canadian
-
DESCRIPTION = "A GNU collection of cross-canadian binary utilities for ${TARGET_ARCH} target"
PN = "binutils-cross-canadian-${TRANSLATED_TARGET_ARCH}"
BPN = "binutils"
DEPENDS = "flex-native bison-native virtual/${HOST_PREFIX}gcc-crosssdk virtual/libc-nativesdk zlib-nativesdk gettext-nativesdk"
EXTRA_OECONF = "--with-sysroot=${SDKPATH}/sysroots/${TARGET_SYS} \
- --program-prefix=${TARGET_PREFIX}"
+ --program-prefix=${TARGET_PREFIX} \
+ --disable-werror"
do_install () {
- autotools_do_install
+ autotools_do_install
# We're not interested in the libs or headers, these would come from the
# nativesdk or target version of the binutils recipe
diff --git a/meta/recipes-devtools/binutils/binutils-cross-canadian_2.20.1.bb b/meta/recipes-devtools/binutils/binutils-cross-canadian_2.21.bb
index 1621b77e9..7dad2a620 100644
--- a/meta/recipes-devtools/binutils/binutils-cross-canadian_2.20.1.bb
+++ b/meta/recipes-devtools/binutils/binutils-cross-canadian_2.21.bb
@@ -1,3 +1,3 @@
require binutils_${PV}.bb
require binutils-cross-canadian.inc
-PR = "r6"
+PR = "r0"
diff --git a/meta/recipes-devtools/binutils/binutils-cross.inc b/meta/recipes-devtools/binutils/binutils-cross.inc
index 8c75e4ffe..4b909720d 100644
--- a/meta/recipes-devtools/binutils/binutils-cross.inc
+++ b/meta/recipes-devtools/binutils/binutils-cross.inc
@@ -2,10 +2,10 @@ inherit cross
PROVIDES = "virtual/${TARGET_PREFIX}binutils"
EXTRA_OECONF = "--with-sysroot=${STAGING_DIR_TARGET} \
- --program-prefix=${TARGET_PREFIX} \
- --disable-install-libbfd \
+ --program-prefix=${TARGET_PREFIX} \
+ --disable-install-libbfd \
--disable-werror \
- --enable-poison-system-directories"
+ --enable-poison-system-directories"
do_install () {
oe_runmake 'DESTDIR=${D}' install
diff --git a/meta/recipes-devtools/binutils/binutils-cross_2.20.1.bb b/meta/recipes-devtools/binutils/binutils-cross_2.21.bb
index 8c7e4bc1a..01d99db41 100644
--- a/meta/recipes-devtools/binutils/binutils-cross_2.20.1.bb
+++ b/meta/recipes-devtools/binutils/binutils-cross_2.21.bb
@@ -1,3 +1,2 @@
require binutils_${PV}.bb
require binutils-cross.inc
-
diff --git a/meta/recipes-devtools/binutils/binutils-crosssdk_2.20.1.bb b/meta/recipes-devtools/binutils/binutils-crosssdk_2.21.bb
index 88627f87b..0d6efffa2 100644
--- a/meta/recipes-devtools/binutils/binutils-crosssdk_2.20.1.bb
+++ b/meta/recipes-devtools/binutils/binutils-crosssdk_2.21.bb
@@ -4,7 +4,7 @@ inherit crosssdk
PROVIDES = "virtual/${TARGET_PREFIX}binutils-crosssdk"
-PR = "r4"
+PR = "r0"
do_configure_prepend () {
sed -i 's#/usr/local/lib /lib /usr/lib#${SDKPATHNATIVE}/lib ${SDKPATHNATIVE}/usr/lib /usr/local/lib /lib /usr/lib#' ${S}/ld/configure.tgt
diff --git a/meta/recipes-devtools/binutils/binutils.inc b/meta/recipes-devtools/binutils/binutils.inc
index 8669d7f87..d9e859ef2 100644
--- a/meta/recipes-devtools/binutils/binutils.inc
+++ b/meta/recipes-devtools/binutils/binutils.inc
@@ -1,9 +1,11 @@
SUMMARY = "A GNU collection of binary utilities"
-DESCRIPTION = "The GNU Binutils are a collection of binary tools. The main ones are ld (GNU Linker), and as \
-(GNU Assembler). This package also includes addition tools such as addr2line (Converts addresses into filenames \
-and line numbers), ar (utility for creating, modifying and extracting archives), nm (list symbols in object \
-files), objcopy (copy and translate object files), objdump (Display object information), and other tools and \
-related libraries."
+DESCRIPTION = "The GNU Binutils are a collection of binary tools. \
+The main ones are ld (GNU Linker), and as (GNU Assembler). This \
+package also includes addition tools such as addr2line (Converts \
+addresses into filenames and line numbers), ar (utility for creating, \
+modifying and extracting archives), nm (list symbols in object \
+files), objcopy (copy and translate object files), objdump (Display \
+object information), and other tools and related libraries."
HOMEPAGE = "http://www.gnu.org/software/binutils/"
BUGTRACKER = "http://sourceware.org/bugzilla/"
SECTION = "devel"
@@ -44,8 +46,8 @@ FILES_${PN}-symlinks = " \
B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
EXTRA_OECONF = "--program-prefix=${TARGET_PREFIX} \
- --enable-install-libbfd \
- --enable-shared"
+ --enable-install-libbfd \
+ --enable-shared"
EXTRA_OECONF_virtclass-native = "--enable-target=all --enable-64-bit-bfd --enable-install-libbfd"
@@ -73,8 +75,6 @@ export CC_FOR_BUILD = "${BUILD_CC}"
export CPP_FOR_BUILD = "${BUILD_CPP}"
export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS}"
-export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
-
do_configure () {
(cd ${S}; gnu-configize) || die "Failed to run gnu-configize"
oe_runconf
@@ -143,9 +143,7 @@ pkg_postinst_${PN}-symlinks () {
update-alternatives --install ${bindir}/strings strings ${TARGET_SYS}-strings 100
}
-
pkg_prerm_${PN}-symlinks () {
update-alternatives --remove ar ${TARGET_SYS}-ar
update-alternatives --remove strings ${TARGET_SYS}-strings
}
-
diff --git a/meta/recipes-devtools/binutils/binutils_2.20.1.bb b/meta/recipes-devtools/binutils/binutils_2.21.bb
index b7212e799..270c720c3 100644
--- a/meta/recipes-devtools/binutils/binutils_2.20.1.bb
+++ b/meta/recipes-devtools/binutils/binutils_2.21.bb
@@ -1,6 +1,6 @@
require binutils.inc
-PR = "r3"
+PR = "r0"
LIC_FILES_CHKSUM="\
file://src-release;endline=17;md5=4830a9ef968f3b18dd5e9f2c00db2d35\
@@ -16,7 +16,7 @@ LIC_FILES_CHKSUM="\
"
SRC_URI = "\
- ${GNU_MIRROR}/binutils/binutils-${PV}.tar.bz2;name=tarball \
+ ${GNU_MIRROR}/binutils/binutils-${PV}.tar.bz2 \
file://binutils-uclibc-100-uclibc-conf.patch \
file://110-arm-eabi-conf.patch \
file://binutils-uclibc-300-001_ld_makefile_patch.patch \
@@ -24,18 +24,14 @@ SRC_URI = "\
file://binutils-uclibc-300-012_check_ldrunpath_length.patch \
file://binutils-uclibc-gas-needs-libm.patch \
file://binutils-x86_64_i386_biarch.patch \
- file://binutils-mips-pie.patch \
- file://binutils-libtool.patch \
+ file://libtool-2.4-update.patch \
+ file://binutils-2.19.1-ld-sysroot.patch \
file://libiberty_path_fix.patch \
file://binutils-poison.patch \
+ file://libtool-rpath-fix.patch \
"
-SRC_URI[tarball.md5sum] = "9cdfb9d6ec0578c166d3beae5e15c4e5"
-SRC_URI[tarball.sha256sum] = "228b84722d87e88e7fdd36869e590e649ab523a0800a7d53df906498afe6f6f8"
-
-# powerpc patches
-SRC_URI += "\
- file://binutils-2.16.1-e300c2c3.patch \
- "
+SRC_URI[md5sum] = "c84c5acc9d266f1a7044b51c85a823f5"
+SRC_URI[sha256sum] = "60abec5bf448eb930a5a15acb8712612377dc8bcfb13dfd5131228f70561d0c7"
BBCLASSEXTEND = "native"
diff --git a/meta/recipes-devtools/binutils/files/better_file_error.patch b/meta/recipes-devtools/binutils/files/better_file_error.patch
deleted file mode 100644
index 38ef52966..000000000
--- a/meta/recipes-devtools/binutils/files/better_file_error.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -urN binutils-2.11.92.0.5/bfd/opncls.c binutils-2.11.92.0.5.new/bfd/opncls.c
---- binutils-2.11.92.0.5/bfd/opncls.c Mon Oct 1 18:25:21 2001
-+++ binutils-2.11.92.0.5.new/bfd/opncls.c Sat Oct 13 11:26:59 2001
-@@ -127,6 +127,13 @@
- {
- bfd *nbfd;
- const bfd_target *target_vec;
-+ struct stat s;
-+
-+ if (stat (filename, &s) == 0)
-+ if (S_ISDIR(s.st_mode)) {
-+ bfd_set_error (bfd_error_file_not_recognized);
-+ return NULL;
-+ }
-
- nbfd = _bfd_new_bfd ();
- if (nbfd == NULL)
diff --git a/meta/recipes-devtools/binutils/files/ld_makefile.patch b/meta/recipes-devtools/binutils/files/ld_makefile.patch
deleted file mode 100644
index c1d2ac1ec..000000000
--- a/meta/recipes-devtools/binutils/files/ld_makefile.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- binutils-2.11.90.0.19.orig/ld/Makefile.am
-+++ binutils-2.11.90.0.19/ld/Makefile.am
-@@ -19,7 +19,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
-
- EMUL = @EMUL@
- EMULATION_OFILES = @EMULATION_OFILES@
---- binutils-2.11.90.0.19.orig/ld/Makefile.in
-+++ binutils-2.11.90.0.19/ld/Makefile.in
-@@ -123,7 +123,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
-
- EMUL = @EMUL@
- EMULATION_OFILES = @EMULATION_OFILES@
diff --git a/meta/recipes-devtools/binutils/files/objdump_fix.patch b/meta/recipes-devtools/binutils/files/objdump_fix.patch
deleted file mode 100644
index 90ad732c0..000000000
--- a/meta/recipes-devtools/binutils/files/objdump_fix.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-From binutils-return-38148-listarch-binutils=sources dot redhat dot com at sources dot redhat dot com Tue Feb 22 19:24:15 2005
-Return-Path: <binutils-return-38148-listarch-binutils=sources dot redhat dot com at sources dot redhat dot com>
-Delivered-To: listarch-binutils at sources dot redhat dot com
-Received: (qmail 4446 invoked by alias); 22 Feb 2005 19:24:15 -0000
-Mailing-List: contact binutils-help at sources dot redhat dot com; run by ezmlm
-Precedence: bulk
-List-Subscribe: <mailto:binutils-subscribe at sources dot redhat dot com>
-List-Archive: <http://sources.redhat.com/ml/binutils/>
-List-Post: <mailto:binutils at sources dot redhat dot com>
-List-Help: <mailto:binutils-help at sources dot redhat dot com>, <http://sources dot redhat dot com/ml/#faqs>
-Sender: binutils-owner at sources dot redhat dot com
-Delivered-To: mailing list binutils at sources dot redhat dot com
-Received: (qmail 4401 invoked from network); 22 Feb 2005 19:24:08 -0000
-Received: from unknown (HELO bgo1smout1.broadpark.no) (217.13.4.94)
- by sourceware dot org with SMTP; 22 Feb 2005 19:24:08 -0000
-Received: from bgo1sminn1.broadpark.no ([217.13.4.93])
- by bgo1smout1 dot broadpark dot no
- (Sun Java System Messaging Server 6 dot 1 HotFix 0 dot 05 (built Oct 21 2004))
- with ESMTP id <0ICB007QZUZCC0C0 at bgo1smout1 dot broadpark dot no> for
- binutils at sources dot redhat dot com; Tue, 22 Feb 2005 20:18:48 +0100 (CET)
-Received: from [127.0.0.1] ([80.202.165.9]) by bgo1sminn1.broadpark.no
- (Sun Java System Messaging Server 6 dot 1 HotFix 0 dot 05 (built Oct 21 2004))
- with ESMTP id <0ICB006NCVBVHE21 at bgo1sminn1 dot broadpark dot no> for
- binutils at sources dot redhat dot com; Tue, 22 Feb 2005 20:26:20 +0100 (CET)
-Date: Tue, 22 Feb 2005 20:24:08 +0100
-From: =?ISO-8859-1?Q?Stig_Petter_Olsr=F8d?= <stigpo at users dot sourceforge dot net>
-Subject: [PATCH] objdump relocation fixes for ARM disassembly
-To: binutils at sources dot redhat dot com
-Message-id: <421B86D8.8080604@users.sourceforge.net>
-MIME-version: 1.0
-Content-type: text/plain; charset=ISO-8859-1; format=flowed
-Content-transfer-encoding: 7BIT
-User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206)
-
-Hello,
-
-objdump disassembly did not relocate correctly for the ARM processor. It seems
-that the test for triggering the INSN_HAS_RELOC flag was void (one test killed the other,
-since octets would always be zero) and all relocations would thus fail. I changed the test
-so the flag is set when we are about to disassemble an insn that the current relocation
-entry points to. I also changed objdump_print_addr to use the current relocation entry if
-the insn has such an entry. This causes the symbol printed to be correct for both external
-symbols (from the undefined section) and local symbols.
-
-This has only been tested for the ARM processor, but I don't think it should break other
-DISASSEMBLER_NEEDS_RELOCS processors either.
-
-
-binutils/
-
-2005-02-22 Stig Petter Olsroed <stigpo@users.sourceforge.net>
-
- * objdump.c (disassemble_bytes): Fixed relocation check for
- DISASSEMBLER_NEEDS_RELOCS platforms to properly trigger the
- INSN_HAS_RELOC flag. Set the current relocation entry in
- objdump_disasm_info to allow printing the proper symbol.
- (objdump_print_addr): Use the relocation entry in
- objdump_disasm_info to lookup the correct symbol for
- DISASSEMBLER_NEEDS_RELOCS platforms.
-
---- 1/binutils/objdump.c 2005-02-22 01:50:06.000000000 +0100
-+++ 2/binutils/objdump.c 2005-02-22 14:27:33.066960900 +0100
-@@ -128,6 +128,7 @@
- arelent ** dynrelbuf;
- long dynrelcount;
- disassembler_ftype disassemble_fn;
-+ arelent * reloc;
- };
-
- /* Architecture to disassemble for, or default if NULL. */
-@@ -852,6 +853,8 @@
- {
- struct objdump_disasm_info *aux;
- asymbol *sym;
-+ arelent *q;
-+ int skip_find = 0;
-
- if (sorted_symcount < 1)
- {
-@@ -861,6 +864,22 @@
- }
-
- aux = (struct objdump_disasm_info *) info->application_data;
-+
-+ q = aux->reloc;
-+ if (q != NULL)
-+ {
-+ if (q->sym_ptr_ptr != NULL && *q->sym_ptr_ptr != NULL)
-+ {
-+ /* Adjust the vma to the reloc */
-+ vma += bfd_asymbol_value (*q->sym_ptr_ptr);
-+ if (bfd_is_und_section (bfd_get_section (*q->sym_ptr_ptr)))
-+ {
-+ skip_find = 1;
-+ sym = *q->sym_ptr_ptr;
-+ }
-+ }
-+ }
-+ if (!skip_find)
- sym = find_symbol_for_address (vma, info, NULL);
- objdump_print_addr_with_sym (aux->abfd, aux->sec, sym, vma, info,
- skip_zeroes);
-@@ -1350,16 +1369,22 @@
- info->bytes_per_chunk = 0;
-
- #ifdef DISASSEMBLER_NEEDS_RELOCS
-- /* FIXME: This is wrong. It tests the number of octets
-- in the last instruction, not the current one. */
-- if (*relppp < relppend
-- && (**relppp)->address >= rel_offset + addr_offset
-- && ((**relppp)->address
-- < rel_offset + addr_offset + octets / opb))
-+ /* Check if the current relocation entry applies to the
-+ instruction we are about to disassemble.
-+ This works for ARM at least.
-+ */
-+ if ((*relppp) < relppend
-+ && ((**relppp)->address == rel_offset + addr_offset))
-+ {
- info->flags = INSN_HAS_RELOC;
-+ aux->reloc = **relppp;
-+ }
- else
- #endif
-+ {
- info->flags = 0;
-+ aux->reloc = NULL;
-+ }
-
- octets = (*disassemble_fn) (section->vma + addr_offset, info);
- info->fprintf_func = (fprintf_ftype) fprintf;
-
-
-
diff --git a/meta/recipes-devtools/binutils/files/plt32trunc.patch b/meta/recipes-devtools/binutils/files/plt32trunc.patch
deleted file mode 100644
index 4990f5dbb..000000000
--- a/meta/recipes-devtools/binutils/files/plt32trunc.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- binutils/bfd/elf32-arm.h.orig 2004-04-22 22:11:15.000000000 -0400
-+++ binutils/bfd/elf32-arm.h 2004-04-22 22:28:37.000000000 -0400
-@@ -2229,6 +2229,8 @@ elf32_arm_relocate_section (output_bfd,
- case R_ARM_PC24:
- case R_ARM_ABS32:
- case R_ARM_THM_PC22:
-+ case R_ARM_PLT32:
-+
- if (info->shared
- && (
- (!info->symbolic && h->dynindx != -1)
-@@ -2262,11 +2264,6 @@ elf32_arm_relocate_section (output_bfd,
- relocation = 0;
- break;
-
-- case R_ARM_PLT32:
-- if (h->plt.offset != (bfd_vma)-1)
-- relocation = 0;
-- break;
--
- default:
- if (unresolved_reloc)
- _bfd_error_handler
-
diff --git a/meta/recipes-devtools/binutils/files/signed_char_fix.patch b/meta/recipes-devtools/binutils/files/signed_char_fix.patch
deleted file mode 100644
index b3709dabe..000000000
--- a/meta/recipes-devtools/binutils/files/signed_char_fix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN binutils-2.11.92.0.12.3/opcodes/i386-dis.c binutils-2.11.92.0.12.3.new/opcodes/i386-dis.c
---- binutils-2.11.92.0.12.3/opcodes/i386-dis.c Fri Nov 16 17:05:55 2001
-+++ binutils-2.11.92.0.12.3.new/opcodes/i386-dis.c Mon Dec 31 15:55:04 2001
-@@ -1830,7 +1830,7 @@
- * The function returns the length of this instruction in bytes.
- */
-
--static char intel_syntax;
-+static signed char intel_syntax;
- static char open_char;
- static char close_char;
- static char separator_char;
diff --git a/meta/recipes-devtools/bison/bison_2.4.3.bb b/meta/recipes-devtools/bison/bison_2.4.3.bb
index 03fd463fd..fa2f15400 100644
--- a/meta/recipes-devtools/bison/bison_2.4.3.bb
+++ b/meta/recipes-devtools/bison/bison_2.4.3.bb
@@ -10,7 +10,7 @@ SECTION = "devel"
PRIORITY = "optional"
DEPENDS = "gettext bison-native"
-PR = "r0"
+PR = "r1"
BASE_SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.gz \
file://m4.patch;patch=1"
@@ -27,4 +27,10 @@ SRC_URI_virtclass-native = "${BASE_SRC_URI}"
inherit autotools
acpaths = "-I ${S}/m4"
+do_install_append_virtclass-native() {
+ create_wrapper ${D}/${bindir}/bison \
+ M4=${STAGING_BINDIR_NATIVE}/m4 \
+ BISON_PKGDATADIR=${STAGING_DATADIR_NATIVE}/bison
+}
+#bison-native encodes the staging M4 path
BBCLASSEXTEND = "native"
diff --git a/meta/recipes-devtools/cdrtools/cdrtools-native_2.01.bb b/meta/recipes-devtools/cdrtools/cdrtools-native_2.01.bb
index 2421b2364..769e5e258 100644
--- a/meta/recipes-devtools/cdrtools/cdrtools-native_2.01.bb
+++ b/meta/recipes-devtools/cdrtools/cdrtools-native_2.01.bb
@@ -7,6 +7,8 @@ DESCRIPTION="A set of tools for CD recording, including cdrecord"
HOMEPAGE="http://cdrecord.berlios.de/old/private/cdrecord.html"
PR = "r2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
SRC_URI="ftp://ftp.berlios.de/pub/cdrecord/cdrtools-${PV}.tar.bz2 \
file://no_usr_src.patch;patch=1 \
file://glibc-conflict-rename.patch;patch=1"
diff --git a/meta/recipes-devtools/desktop-file-utils/desktop-file-utils-native_0.15.bb b/meta/recipes-devtools/desktop-file-utils/desktop-file-utils-native_0.15.bb
index 9603982ea..3ed7475b7 100644
--- a/meta/recipes-devtools/desktop-file-utils/desktop-file-utils-native_0.15.bb
+++ b/meta/recipes-devtools/desktop-file-utils/desktop-file-utils-native_0.15.bb
@@ -1,8 +1,9 @@
SECTION = "console/utils"
HOMEPAGE = "http://www.freedesktop.org/wiki/Software/desktop-file-utils"
DESCRIPTION = "command line utilities to work with *.desktop files"
-LICENSE = "GPL"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "glib-2.0-native"
SRC_URI = "http://freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-${PV}.tar.gz"
diff --git a/meta/recipes-devtools/distcc/distcc_2.18.3.bb b/meta/recipes-devtools/distcc/distcc_2.18.3.bb
index 1b14a6b11..b6b7b7878 100644
--- a/meta/recipes-devtools/distcc/distcc_2.18.3.bb
+++ b/meta/recipes-devtools/distcc/distcc_2.18.3.bb
@@ -4,10 +4,10 @@ compilation of C/C++/ObjC code across machines on a network."
SECTION = "devel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-PR = "r5"
+PR = "r6"
DEPENDS = "avahi gtk+"
-RRECOMMENDS = "avahi-daemon"
+RRECOMMENDS_${PN} = "avahi-daemon"
# Upstream change this patch periodically so store locally
# http://0pointer.de/public/distcc-avahi.patch
diff --git a/meta/recipes-devtools/docbook-dsssl-stylesheets/docbook-dsssl-stylesheets-native_1.79.bb b/meta/recipes-devtools/docbook-dsssl-stylesheets/docbook-dsssl-stylesheets-native_1.79.bb
new file mode 100644
index 000000000..92de63878
--- /dev/null
+++ b/meta/recipes-devtools/docbook-dsssl-stylesheets/docbook-dsssl-stylesheets-native_1.79.bb
@@ -0,0 +1,52 @@
+SUMMARY = "DSSSL stylesheets used to transform SGML and XML DocBook files"
+DESCRIPTION = "DSSSL stylesheets used to transform SGML and XML DocBook files"
+HOMEPAGE= "http://docbook.sourceforge.net"
+# Simple persmissive
+LICENSE = "DSSSL"
+LIC_FILES_CHKSUM = "file://README;beginline=41;endline=74;md5=875385159b2ee76ecf56136ae7f542d6"
+
+DEPENDS = "sgml-common-native"
+
+PR = "r0"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/docbook/docbook-dsssl-${PV}.tar.bz2"
+
+SRC_URI[md5sum] = "bc192d23266b9a664ca0aba4a7794c7c"
+SRC_URI[sha256sum] = "2f329e120bee9ef42fbdd74ddd60e05e49786c5a7953a0ff4c680ae6bdf0e2bc"
+
+S = "${WORKDIR}/docbook-dsssl-${PV}"
+
+inherit native
+
+SYSROOT_PREPROCESS_FUNCS += "docbook_dssl_stylesheets_native_mangle"
+
+do_install () {
+ # Refer to http://www.linuxfromscratch.org/blfs/view/stable/pst/docbook-dsssl.html
+ # for details.
+ install -d ${D}${bindir}
+ install -m 0755 bin/collateindex.pl ${D}${bindir}
+
+ install -d ${D}${datadir}/sgml/docbook/dsssl-stylesheets-${PV}
+ install -m 0644 catalog ${D}${datadir}/sgml/docbook/dsssl-stylesheets-${PV}
+ cp -PpRr common ${D}${datadir}/sgml/docbook/dsssl-stylesheets-${PV}
+
+ install-catalog --add ${sysconfdir}/sgml/dsssl-docbook-stylesheets.cat \
+ ${D}${datadir}/sgml/docbook/dsssl-stylesheets-${PV}/catalog
+
+ install-catalog --add ${sysconfdir}/sgml/dsssl-docbook-stylesheets.cat \
+ ${D}${datadir}/sgml/docbook/dsssl-stylesheets-${PV}/common/catalog
+
+ install-catalog --add ${sysconfdir}/sgml/sgml-docbook.cat \
+ ${sysconfdir}/sgml/dsssl-docbook-stylesheets.cat
+
+ # Move these to the image directory so they get staged properly.
+ install -d ${D}${sysconfdir}/sgml
+ cp ${sysconfdir}/sgml/dsssl-docbook-stylesheets.cat ${D}${sysconfdir}/sgml/
+ cp ${sysconfdir}/sgml/sgml-docbook.cat ${D}${sysconfdir}/sgml/
+ cp ${sysconfdir}/sgml/catalog ${D}${sysconfdir}/sgml/
+}
+
+docbook_dssl_stylesheets_native_mangle () {
+ # Remove the image directory path ${D} from the .cat file.
+ sed -i -e "s|${D}||g" ${SYSROOT_DESTDIR}${sysconfdir}/sgml/dsssl-docbook-stylesheets.cat
+}
diff --git a/meta/recipes-devtools/docbook-sgml-dtd/docbook-sgml-dtd-3.1-native.bb b/meta/recipes-devtools/docbook-sgml-dtd/docbook-sgml-dtd-3.1-native.bb
new file mode 100644
index 000000000..a7df4f976
--- /dev/null
+++ b/meta/recipes-devtools/docbook-sgml-dtd/docbook-sgml-dtd-3.1-native.bb
@@ -0,0 +1,23 @@
+require docbook-sgml-dtd-native.inc
+
+LICENSE = "OASIS"
+LIC_FILES_CHKSUM = "file://LICENSE-OASIS;md5=c608985dd5f7f215e669e7639a0b1d2e"
+
+DTD_VERSION = "3.1"
+
+PR = "${INC_PR}.0"
+
+# Note: the upstream sources are not distributed with a license file.
+# LICENSE-OASIS is included as a "patch" to workaround this. When
+# upgrading this recipe, please verify whether this is still needed.
+SRC_URI = "http://www.docbook.org/sgml/3.1/docbk31.zip \
+ file://LICENSE-OASIS"
+
+SRC_URI[md5sum] = "432749c0c806dbae81c8bcb70da3b5d3"
+SRC_URI[sha256sum] = "20261d2771b9a052abfa3d8fab1aa62be05791a010281c566f9073bf0e644538"
+
+do_compile() {
+ # Refer to http://www.linuxfromscratch.org/blfs/view/stable/pst/sgml-dtd-3.html
+ # for details.
+ sed -i -e '/ISO 8879/d' -e 's|DTDDECL "-//OASIS//DTD DocBook V3.1//EN"|SGMLDECL|g' docbook.cat
+}
diff --git a/meta/recipes-devtools/docbook-sgml-dtd/docbook-sgml-dtd-4.1-native.bb b/meta/recipes-devtools/docbook-sgml-dtd/docbook-sgml-dtd-4.1-native.bb
new file mode 100644
index 000000000..88c939636
--- /dev/null
+++ b/meta/recipes-devtools/docbook-sgml-dtd/docbook-sgml-dtd-4.1-native.bb
@@ -0,0 +1,23 @@
+require docbook-sgml-dtd-native.inc
+
+LICENSE = "OASIS"
+LIC_FILES_CHKSUM = "file://LICENSE-OASIS;md5=c608985dd5f7f215e669e7639a0b1d2e"
+
+DTD_VERSION = "4.1"
+
+PR = "${INC_PR}.0"
+
+# Note: the upstream sources are not distributed with a license file.
+# LICENSE-OASIS is included as a "patch" to workaround this. When
+# upgrading this recipe, please verify whether this is still needed.
+SRC_URI = "http://docbook.org/sgml/4.1/docbk41.zip \
+ file://LICENSE-OASIS"
+
+SRC_URI[md5sum] = "489f6ff2a2173eb1e14216c10533ede2"
+SRC_URI[sha256sum] = "deaafcf0a3677692e7ad4412c0e41c1db3e9da6cdcdb3dd32b2cc1f9c97d6311"
+
+do_compile() {
+ # Refer to http://www.linuxfromscratch.org/blfs/view/stable/pst/sgml-dtd.html
+ # for details.
+ sed -i -e '/ISO 8879/d' -e '/gml/d' docbook.cat
+}
diff --git a/meta/recipes-devtools/docbook-sgml-dtd/docbook-sgml-dtd-4.5-native.bb b/meta/recipes-devtools/docbook-sgml-dtd/docbook-sgml-dtd-4.5-native.bb
new file mode 100644
index 000000000..6c464f421
--- /dev/null
+++ b/meta/recipes-devtools/docbook-sgml-dtd/docbook-sgml-dtd-4.5-native.bb
@@ -0,0 +1,17 @@
+require docbook-sgml-dtd-native.inc
+
+LICENSE = "OASIS"
+LIC_FILES_CHKSUM = "file://LICENSE-OASIS;md5=c608985dd5f7f215e669e7639a0b1d2e"
+
+DTD_VERSION = "4.5"
+
+PR = "${INC_PR}.0"
+
+SRC_URI[md5sum] = "07c581f4bbcba6d3aac85360a19f95f7"
+SRC_URI[sha256sum] = "8043e514e80c6c19cb146b5d37937d1305bf3abf9b0097c36df7f70f611cdf43"
+
+do_compile() {
+ # Refer to http://www.linuxfromscratch.org/blfs/view/stable/pst/sgml-dtd.html
+ # for details.
+ sed -i -e '/ISO 8879/d' -e'/gml/d' docbook.cat
+}
diff --git a/meta/recipes-devtools/docbook-sgml-dtd/docbook-sgml-dtd-native.inc b/meta/recipes-devtools/docbook-sgml-dtd/docbook-sgml-dtd-native.inc
new file mode 100644
index 000000000..162051f62
--- /dev/null
+++ b/meta/recipes-devtools/docbook-sgml-dtd/docbook-sgml-dtd-native.inc
@@ -0,0 +1,53 @@
+# The DTDs of the various versions have to be installed in parallel and
+# should not replace each other. The installation step is common for
+# all versions and just differs in ${DTD_VERSION} which is set in each
+# version recipe.
+#
+# The DTDs do have some quirks (see LFS documentation).
+SUMMARY = "Document type definitions for verification of SGML data files"
+DESCRIPTION = "Document type definitions for verification of SGML data \
+files against the DocBook rule set"
+HOMEPAGE = "http://www.docbook.org/sgml/"
+
+DEPENDS = "sgml-common-native"
+
+# Note: the upstream sources are not distributed with a license file.
+# LICENSE-OASIS is included as a "patch" to workaround this. When
+# upgrading this recipe, please verify whether this is still needed.
+SRC_URI = "http://www.docbook.org/sgml/${DTD_VERSION}/docbook-${DTD_VERSION}.zip \
+ file://LICENSE-OASIS"
+
+# The .zip file extracts to the current dir
+S = "${WORKDIR}"
+
+INC_PR = "r0"
+
+SYSROOT_PREPROCESS_FUNCS += "docbook_sgml_dtd_native_mangle"
+
+inherit native
+
+do_install () {
+ # Refer to http://www.linuxfromscratch.org/blfs/view/stable/pst/sgml-dtd.html
+ # for details.
+ install -d -m 755 ${D}${datadir}/sgml/docbook/sgml-dtd-${DTD_VERSION}
+ install docbook.cat ${D}${datadir}/sgml/docbook/sgml-dtd-${DTD_VERSION}/catalog
+ cp -PpRr *.dtd *.mod *.dcl ${D}${datadir}/sgml/docbook/sgml-dtd-${DTD_VERSION}
+
+ install-catalog \
+ --add ${sysconfdir}/sgml/sgml-docbook-dtd-${DTD_VERSION}.cat \
+ ${D}${datadir}/sgml/docbook/sgml-dtd-${DTD_VERSION}/catalog
+
+ install-catalog \
+ --add ${sysconfdir}/sgml/sgml-docbook-dtd-${DTD_VERSION}.cat \
+ ${sysconfdir}/sgml/sgml-docbook.cat
+
+ # Copy the generated catalog to the image directory for staging.
+ install -d ${D}${sysconfdir}/sgml
+ cp ${sysconfdir}/sgml/sgml-docbook-dtd-${DTD_VERSION}.cat ${D}${sysconfdir}/sgml/
+}
+
+docbook_sgml_dtd_native_mangle () {
+ # Remove the image directory path ${D} from the .cat files.
+ sed -i -e "s|${D}||g" ${SYSROOT_DESTDIR}${sysconfdir}/sgml/sgml-docbook.cat || true
+ sed -i -e "s|${D}||g" ${SYSROOT_DESTDIR}${sysconfdir}/sgml/sgml-docbook-dtd-${DTD_VERSION}.cat
+}
diff --git a/meta/recipes-devtools/docbook-sgml-dtd/files/LICENSE-OASIS b/meta/recipes-devtools/docbook-sgml-dtd/files/LICENSE-OASIS
new file mode 100644
index 000000000..6da7f5b8c
--- /dev/null
+++ b/meta/recipes-devtools/docbook-sgml-dtd/files/LICENSE-OASIS
@@ -0,0 +1,16 @@
+Permission to use, copy, modify and distribute the DocBook XML DTD
+and its accompanying documentation for any purpose and without fee
+is hereby granted in perpetuity, provided that the above copyright
+notice and this paragraph appear in all copies. The copyright
+holders make no representation about the suitability of the DTD for
+any purpose. It is provided "as is" without expressed or implied
+warranty.
+
+If you modify the DocBook DTD in any way, except for declaring and
+referencing additional sets of general entities and declaring
+additional notations, label your DTD as a variant of DocBook. See
+the maintenance documentation for more information.
+
+Please direct all questions, bug reports, or suggestions for
+changes to the docbook@lists.oasis-open.org mailing list. For more
+information, see http://www.oasis-open.org/docbook/.
diff --git a/meta/recipes-devtools/dpkg/dpkg.inc b/meta/recipes-devtools/dpkg/dpkg.inc
index 59da5dc9f..6a0499777 100644
--- a/meta/recipes-devtools/dpkg/dpkg.inc
+++ b/meta/recipes-devtools/dpkg/dpkg.inc
@@ -5,8 +5,8 @@ SECTION = "base"
SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.bz2 \
file://ignore_extra_fields.patch;patch=1"
-DEPENDS = "zlib bzip2"
-DEPENDS_virtclass-native = "bzip2-native zlib-native virtual/update-alternatives-native gettext-native"
+DEPENDS = "zlib bzip2 perl"
+DEPENDS_virtclass-native = "bzip2-native zlib-native virtual/update-alternatives-native gettext-native perl-native"
RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_update-alternatives}"
RDEPENDS_${PN}_virtclass-native = ""
diff --git a/meta/recipes-devtools/dpkg/dpkg_1.15.8.5.bb b/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb
index ed247d453..8df960d28 100644
--- a/meta/recipes-devtools/dpkg/dpkg_1.15.8.5.bb
+++ b/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb
@@ -5,10 +5,10 @@ SRC_URI += "file://noman.patch;patch=1 \
file://check_snprintf.patch \
file://check_version.patch"
-SRC_URI[md5sum] = "b9b817389e655ec2c12465de5c619011"
-SRC_URI[sha256sum] = "2ef55e8eb6c1e8c3dfb54c8ccc9a883fec7540b705c5179ca7a198bebe2f18bc"
+SRC_URI[md5sum] = "d1731d4147c1ea3b537a4d094519a6dc"
+SRC_URI[sha256sum] = "1ec1376471b04717a4497e5d7a27cd545248c92116898ce0c53ced8ea94267b5"
-PR = "r3"
+PR = "r1"
EXTRA_OECONF = "--without-static-progs \
--without-dselect \
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.41.12.bb b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.41.12.bb
index 3f9195a4c..ffe6dce17 100644
--- a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.41.12.bb
+++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.41.12.bb
@@ -1,6 +1,6 @@
require e2fsprogs.inc
-PR = "r19"
+PR = "r20"
SRC_URI += "file://quotefix.patch;patch=1 \
file://acinclude.m4"
@@ -34,7 +34,7 @@ do_install () {
}
# blkid used to be part of e2fsprogs but is useful outside, add it
-# as an RDEPENDS so that anything relying on it being in e2fsprogs
+# as an RDEPENDS_${PN} so that anything relying on it being in e2fsprogs
# still works
RDEPENDS_e2fsprogs = "e2fsprogs-blkid e2fsprogs-badblocks"
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.108/warnings.patch b/meta/recipes-devtools/elfutils/elfutils-0.108/warnings.patch
deleted file mode 100644
index 680e0441f..000000000
--- a/meta/recipes-devtools/elfutils/elfutils-0.108/warnings.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-Index: elfutils-0.108/configure.ac
-===================================================================
---- elfutils-0.108.orig/configure.ac 2006-04-10 19:18:34.000000000 +0100
-+++ elfutils-0.108/configure.ac 2006-04-10 19:19:33.000000000 +0100
-@@ -49,6 +49,10 @@
- dnl Add all the languages for which translations are available.
- ALL_LINGUAS=
-
-+if test X"$CFLAGS" = X; then
-+ CFLAGS="-Wall -g -O2"
-+fi
-+
- AC_PROG_CC
- AC_PROG_RANLIB
- AC_PROG_YACC
-Index: elfutils-0.108/lib/Makefile.am
-===================================================================
---- elfutils-0.108.orig/lib/Makefile.am 2006-04-10 19:18:34.000000000 +0100
-+++ elfutils-0.108/lib/Makefile.am 2006-04-10 19:19:33.000000000 +0100
-@@ -21,7 +21,7 @@
- else
- AM_CFLAGS =
- endif
--AM_CFLAGS += -fpic -Wall -Wshadow -Werror -Wunused -Wextra $($(*F)_CFLAGS)
-+AM_CFLAGS += -fpic -Wshadow -Wunused $($(*F)_CFLAGS)
- INCLUDES = -I$(srcdir)/../libelf -I..
-
- noinst_LIBRARIES = libeu.a
-Index: elfutils-0.108/libasm/Makefile.am
-===================================================================
---- elfutils-0.108.orig/libasm/Makefile.am 2006-04-10 19:18:34.000000000 +0100
-+++ elfutils-0.108/libasm/Makefile.am 2006-04-10 19:19:33.000000000 +0100
-@@ -18,7 +18,7 @@
- else
- AM_CFLAGS =
- endif
--AM_CFLAGS += -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2
-+AM_CFLAGS += -Wshadow -Wunused -Wformat=2
- INCLUDES = -I. -I$(srcdir) -I.. -I$(top_srcdir)/libelf -I$(top_srcdir)/libebl \
- -I$(top_srcdir)/lib
- GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
-Index: elfutils-0.108/libcpu/Makefile.am
-===================================================================
---- elfutils-0.108.orig/libcpu/Makefile.am 2006-04-10 19:18:34.000000000 +0100
-+++ elfutils-0.108/libcpu/Makefile.am 2006-04-10 19:19:33.000000000 +0100
-@@ -13,7 +13,7 @@
- ## 3001 King Ranch Road, Ukiah, CA 95482.
- ##
- DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
--AM_CFLAGS = -Wall -Wshadow -Werror -Wextra -Wformat=2 -Wunused
-+AM_CFLAGS = -Wshadow -Wformat=2 -Wunused
- INCLUDES = -I$(srcdir)
-
- noinst_LIBRARIES = libcpu_i386.a
-Index: elfutils-0.108/libdw/Makefile.am
-===================================================================
---- elfutils-0.108.orig/libdw/Makefile.am 2006-04-10 19:18:34.000000000 +0100
-+++ elfutils-0.108/libdw/Makefile.am 2006-04-10 19:19:33.000000000 +0100
-@@ -18,7 +18,7 @@
- else
- AM_CFLAGS =
- endif
--AM_CFLAGS += -Wall -Werror -Wshadow -Wunused -Wformat=2 -Wextra -std=gnu99
-+AM_CFLAGS += -Wshadow -Wunused -Wformat=2 -std=gnu99
- INCLUDES = -I. -I$(srcdir) -I$(srcdir)/../libelf -I.. -I$(srcdir)/../lib
- VERSION = 1
-
-Index: elfutils-0.108/libebl/Makefile.am
-===================================================================
---- elfutils-0.108.orig/libebl/Makefile.am 2006-04-10 19:18:34.000000000 +0100
-+++ elfutils-0.108/libebl/Makefile.am 2006-04-10 19:19:33.000000000 +0100
-@@ -18,7 +18,7 @@
- else
- AM_CFLAGS =
- endif
--AM_CFLAGS += -fpic -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2 \
-+AM_CFLAGS += -fpic -Wshadow -Wunused -Wformat=2 \
- -std=gnu99
-
- INCLUDES = -I$(srcdir) -I$(top_srcdir)/libelf -I$(top_srcdir)/lib -I..
-Index: elfutils-0.108/libelf/Makefile.am
-===================================================================
---- elfutils-0.108.orig/libelf/Makefile.am 2006-04-10 19:18:34.000000000 +0100
-+++ elfutils-0.108/libelf/Makefile.am 2006-04-10 19:19:33.000000000 +0100
-@@ -21,7 +21,7 @@
- else
- AM_CFLAGS =
- endif
--AM_CFLAGS += -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2 -std=gnu99 \
-+AM_CFLAGS += -Wshadow -Wunused -Wformat=2 -std=gnu99 \
- $($(*F)_CFLAGS)
- INCLUDES = -I$(srcdir) -I$(top_srcdir)/lib -I..
- GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
-Index: elfutils-0.108/src/Makefile.am
-===================================================================
---- elfutils-0.108.orig/src/Makefile.am 2006-04-10 19:18:34.000000000 +0100
-+++ elfutils-0.108/src/Makefile.am 2006-04-10 19:20:19.000000000 +0100
-@@ -15,14 +15,12 @@
- DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H $(YYDEBUG) \
- -DSRCDIR=\"$(shell cd $(srcdir);pwd)\" -DOBJDIR=\"$(shell pwd)\"
- if MUDFLAP
--AM_CFLAGS = -Wall -Wshadow -Wunused -Wextra -std=gnu99 -fmudflap \
-+AM_CFLAGS = -Wshadow -Wunused -std=gnu99 -fmudflap \
- $(native_ld_cflags) $(if $($(*F)_no_Wunused),,-Wunused) \
- $(if $($(*F)_no_Wformat),,-Wformat=2)
- else
--AM_CFLAGS = -Wall -Wshadow -std=gnu99 $(native_ld_cflags) \
-- $(if $($(*F)_no_Werror),,-Werror) \
-- $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
-- $(if $($(*F)_no_Wformat),,-Wformat=2)
-+AM_CFLAGS = -Wshadow -std=gnu99 $(native_ld_cflags) \
-+ $(if $($(*F)_no_Werror),,)
- endif
- if MUDFLAP
- libmudflap = -lmudflap
-Index: elfutils-0.108/tests/Makefile.am
-===================================================================
---- elfutils-0.108.orig/tests/Makefile.am 2006-04-10 19:18:34.000000000 +0100
-+++ elfutils-0.108/tests/Makefile.am 2006-04-10 19:19:33.000000000 +0100
-@@ -14,10 +14,10 @@
- ##
- DEFS = -DHAVE_CONFIG_H -D_GNU_SOURCE
- if MUDFLAP
--AM_CFLAGS = -Wall -Werror -std=gnu99 -fmudflap\
-+AM_CFLAGS = -std=gnu99 -fmudflap\
- $(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2)
- else
--AM_CFLAGS = -Wall -Werror -std=gnu99 \
-+AM_CFLAGS = -std=gnu99 \
- $(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2)
- AM_LDFLAGS = -Wl,-rpath,\$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../libebl:\$$ORIGIN/../libelf
- endif
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.89/warnings.patch b/meta/recipes-devtools/elfutils/elfutils-0.89/warnings.patch
deleted file mode 100644
index 2a1ea09a6..000000000
--- a/meta/recipes-devtools/elfutils/elfutils-0.89/warnings.patch
+++ /dev/null
@@ -1,98 +0,0 @@
---- elfutils-0.89/configure.ac~warnings.patch 2003-09-26 02:04:04.000000000 -0400
-+++ elfutils-0.89/configure.ac 2004-05-01 00:16:33.000000000 -0400
-@@ -28,6 +28,10 @@
-
- ALL_LINGUAS=
-
-+if test X"$CFLAGS" = X; then
-+ CFLAGS="-Wall -Werror -g -O2"
-+fi
-+
- AC_PROG_CC
- AC_PROG_CPP
- AC_PROG_GCC_TRADITIONAL
---- elfutils-0.89/./lib/Makefile.am~warnings.patch 2003-09-22 18:57:58.000000000 -0400
-+++ elfutils-0.89/./lib/Makefile.am 2004-05-01 00:12:43.000000000 -0400
-@@ -14,7 +14,7 @@
- ## 3001 King Ranch Road, Ukiah, CA 95482.
- ##
- DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
--AM_CFLAGS = -Wall -Werror -fpic
-+AM_CFLAGS = -fpic
- INCLUDES = -I$(srcdir)/../libelf -I..
-
- noinst_LIBRARIES = libeu.a
---- elfutils-0.89/./libelf/Makefile.am~warnings.patch 2003-08-12 02:45:24.000000000 -0400
-+++ elfutils-0.89/./libelf/Makefile.am 2004-05-01 00:12:43.000000000 -0400
-@@ -14,7 +14,6 @@
- ## 3001 King Ranch Road, Ukiah, CA 95482.
- ##
- DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
--AM_CFLAGS = -Wall -Werror
- INCLUDES = -I$(srcdir) -I$(top_srcdir)/lib -I..
- GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
- VERSION = 1
---- elfutils-0.89/./libebl/Makefile.am~warnings.patch 2003-09-22 18:53:17.000000000 -0400
-+++ elfutils-0.89/./libebl/Makefile.am 2004-05-01 00:12:43.000000000 -0400
-@@ -14,7 +14,7 @@
- ## 3001 King Ranch Road, Ukiah, CA 95482.
- ##
- DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -Wall
--AM_CFLAGS = -Wall -Werror -DOBJDIR=\"$(shell pwd)\" -fpic
-+AM_CFLAGS = -DOBJDIR=\"$(shell pwd)\" -fpic
- INCLUDES = -I$(srcdir) -I$(top_srcdir)/libelf -I$(top_srcdir)/lib -I..
- VERSION = 1
- PACKAGE_VERSION = @PACKAGE_VERSION@
---- elfutils-0.89/./libdwarf/Makefile.am~warnings.patch 2003-08-12 02:46:05.000000000 -0400
-+++ elfutils-0.89/./libdwarf/Makefile.am 2004-05-01 00:12:43.000000000 -0400
-@@ -14,7 +14,6 @@
- ## 3001 King Ranch Road, Ukiah, CA 95482.
- ##
- DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DDWARF_DEBUG
--AM_CFLAGS = -Wall -Werror
- INCLUDES = -I. -I$(srcdir) -I$(srcdir)/../libelf -I.. -I$(srcdir)/../lib
- VERSION = 1
-
---- elfutils-0.89/./libdw/Makefile.am~warnings.patch 2003-08-12 02:46:18.000000000 -0400
-+++ elfutils-0.89/./libdw/Makefile.am 2004-05-01 00:12:43.000000000 -0400
-@@ -17,7 +17,6 @@
- ## Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- ##
- DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
--AM_CFLAGS = -Wall -Werror -Wshadow
- INCLUDES = -I. -I$(srcdir) -I$(srcdir)/../libelf -I.. -I$(srcdir)/../lib
- VERSION = 1
-
---- elfutils-0.89/./libasm/Makefile.am~warnings.patch 2003-08-13 05:21:25.000000000 -0400
-+++ elfutils-0.89/./libasm/Makefile.am 2004-05-01 00:12:43.000000000 -0400
-@@ -14,7 +14,6 @@
- ## 3001 King Ranch Road, Ukiah, CA 95482.
- ##
- DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
--AM_CFLAGS = -Wall -Werror
- INCLUDES = -I. -I$(srcdir) -I.. -I$(top_srcdir)/libelf -I$(top_srcdir)/libebl \
- -I$(top_srcdir)/lib
- GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
---- elfutils-0.89/./src/Makefile.am~warnings.patch 2003-09-22 18:57:09.000000000 -0400
-+++ elfutils-0.89/./src/Makefile.am 2004-05-01 00:12:43.000000000 -0400
-@@ -14,8 +14,8 @@
- ## 3001 King Ranch Road, Ukiah, CA 95482.
- ##
- DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -Wall -Wshadow $(YYDEBUG) \
-- $(if $($(*F)_no_Werror),,-Werror) $(native_ld_cflags)
--AM_CFLAGS = -Wall -DSRCDIR=\"$(shell cd $(srcdir);pwd)\" -DOBJDIR=\"$(shell pwd)\"
-+ $(if $(filter -Werror,$(CFLAGS)),$(if $($(*F)_no_Werror),,-Werror)) $(native_ld_cflags)
-+AM_CFLAGS = -DSRCDIR=\"$(shell cd $(srcdir);pwd)\" -DOBJDIR=\"$(shell pwd)\"
- INCLUDES = -I$(srcdir) -I$(srcdir)/../libelf -I$(srcdir)/../libebl -I$(srcdir)/../lib -I$(srcdir)/../libdwarf -I..
-
- YACC = @YACC@ -d
---- elfutils-0.89/./tests/Makefile.am~warnings.patch 2003-08-13 05:19:04.000000000 -0400
-+++ elfutils-0.89/./tests/Makefile.am 2004-05-01 00:12:43.000000000 -0400
-@@ -14,7 +14,6 @@
- ## 3001 King Ranch Road, Ukiah, CA 95482.
- ##
- DEFS = -DHAVE_CONFIG_H -D_GNU_SOURCE
--AM_CFLAGS = -Wall -Werror
- AM_LDFLAGS = -Wl,-rpath,\$$ORIGIN/../libasm:\$$ORIGIN/../libdwarf:\$$ORIGIN/../libdw:\$$ORIGIN/../libebl:\$$ORIGIN/../libelf
- INCLUDES = -I$(top_srcdir)/libasm -I$(top_srcdir)/libdwarf \
- -I$(top_srcdir)/libdw \
diff --git a/meta/recipes-devtools/elfutils/elfutils_0.108.bb b/meta/recipes-devtools/elfutils/elfutils_0.108.bb
deleted file mode 100644
index 67f34a0ac..000000000
--- a/meta/recipes-devtools/elfutils/elfutils_0.108.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SECTION = "base"
-LICENSE = "OSL"
-DESCRIPTION = "A collection of utilities and DSOs to handle compiled objects."
-DEPENDS = "libtool"
-PR = "r2"
-
-SRC_URI = "http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles/elfutils-${PV}.tar.gz \
- file://warnings.patch;patch=1"
-
-inherit autotools
-
-# Package binaries that overlap with binutils separately
-PACKAGES =+ "${PN}-binutils"
-FILES_${PN}-binutils = "\
- ${bindir}/addr2line \
- ${bindir}/ld \
- ${bindir}/nm \
- ${bindir}/readelf \
- ${bindir}/size \
- ${bindir}/strip"
-# Fix library issues
-FILES_${PN} =+ "${libdir}/*-${PV}.so"
-
-# The elfutils package contains symlinks that trip up insane
-INSANE_SKIP_elfutils = "1"
diff --git a/meta/recipes-devtools/elfutils/elfutils_0.89.bb b/meta/recipes-devtools/elfutils/elfutils_0.89.bb
deleted file mode 100644
index 24cb37ad1..000000000
--- a/meta/recipes-devtools/elfutils/elfutils_0.89.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SECTION = "base"
-LICENSE = "OSL"
-DESCRIPTION = "A collection of utilities and DSOs to handle compiled objects."
-DEPENDS = "libtool"
-
-SRC_URI = "http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles/elfutils-${PV}.tar.gz \
- file://warnings.patch;patch=1"
-
-inherit autotools
-
diff --git a/meta/recipes-devtools/flex/flex.inc b/meta/recipes-devtools/flex/flex.inc
index 93fa7e81a..54c400c04 100644
--- a/meta/recipes-devtools/flex/flex.inc
+++ b/meta/recipes-devtools/flex/flex.inc
@@ -11,3 +11,6 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/flex/flex-${PV}.tar.bz2 "
inherit autotools
+do_install_append_virtclass-native() {
+ create_wrapper ${D}/${bindir}/flex M4=${STAGING_BINDIR_NATIVE}/m4
+}
diff --git a/meta/recipes-devtools/flex/flex_2.5.35.bb b/meta/recipes-devtools/flex/flex_2.5.35.bb
index 4fdce33cc..28a4f1f06 100644
--- a/meta/recipes-devtools/flex/flex_2.5.35.bb
+++ b/meta/recipes-devtools/flex/flex_2.5.35.bb
@@ -1,5 +1,5 @@
require flex.inc
-PR = "r1"
+PR = "r2"
LICENSE="BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=e4742cf92e89040b39486a6219b68067"
BBCLASSEXTEND = "native"
diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1.inc b/meta/recipes-devtools/gcc/gcc-4.5.1.inc
index 3edc4d43d..6c600c189 100644
--- a/meta/recipes-devtools/gcc/gcc-4.5.1.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.5.1.inc
@@ -30,6 +30,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://fedora/gcc43-rh341221.patch;striplevel=0 \
file://fedora/gcc43-java-debug-iface-type.patch;striplevel=0 \
file://fedora/gcc43-i386-libgomp.patch;striplevel=0 \
+ file://fedora/gcc45-no-add-needed.patch;striplevel=0 \
file://103-uclibc-conf-noupstream.patch \
file://200-uclibc-locale.patch \
file://203-uclibc-locale-no__x.patch;striplevel=1 \
@@ -54,6 +55,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://optional_libstdc.patch \
file://disable_relax_pic_calls_flag.patch \
file://gcc-poison-parameters.patch \
+ file://GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch \
"
SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 "
diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch
new file mode 100644
index 000000000..9ae01c3fc
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.5.1/GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch
@@ -0,0 +1,33 @@
+# by default c++ include directories are not relative to "--sysroot"
+# which brings one trouble when using the toolchain in an environment
+# where the build directory generating that toolchain doesn't exist,
+# e.g. in sstate, machine specific sysroot and relocatable SDK
+# toolchain. This patch now enables c++ include paths under sysroot.
+# This way it's enough as long as "--sysroot" is correctly enabled
+# in the new environment.
+#
+# Signed-off-by Kevin Tian <kevin.tian@intel.com>, 2010-12-30
+
+diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
+index 5024f48..9b47d1c 100644
+--- a/gcc/cppdefault.c
++++ b/gcc/cppdefault.c
+@@ -48,15 +48,15 @@ const struct default_include cpp_include_defaults[]
+ = {
+ #ifdef GPLUSPLUS_INCLUDE_DIR
+ /* Pick up GNU C++ generic include files. */
+- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, 0, 0 },
++ { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, 1, 0 },
+ #endif
+ #ifdef GPLUSPLUS_TOOL_INCLUDE_DIR
+ /* Pick up GNU C++ target-dependent include files. */
+- { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, 0, 1 },
++ { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, 1, 1 },
+ #endif
+ #ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR
+ /* Pick up GNU C++ backward and deprecated include files. */
+- { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, 0, 0 },
++ { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, 1, 0 },
+ #endif
+ #ifdef LOCAL_INCLUDE_DIR
+ /* /usr/local/include comes before the fixincluded header files. */
diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/fedora/gcc45-no-add-needed.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/fedora/gcc45-no-add-needed.patch
new file mode 100644
index 000000000..23704d3b7
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.5.1/fedora/gcc45-no-add-needed.patch
@@ -0,0 +1,52 @@
+2010-02-08 Roland McGrath <roland@redhat.com>
+
+ * config/rs6000/sysv4.h (LINK_EH_SPEC): Pass --no-add-needed to the
+ linker.
+ * config/linux.h (LINK_EH_SPEC): Likewise.
+ * config/alpha/elf.h (LINK_EH_SPEC): Likewise.
+ * config/ia64/linux.h (LINK_EH_SPEC): Likewise.
+
+--- gcc/config/alpha/elf.h.~1~
++++ gcc/config/alpha/elf.h
+@@ -421,7 +421,7 @@ extern int alpha_this_gpdisp_sequence_nu
+ I imagine that other systems will catch up. In the meantime, it
+ doesn't harm to make sure that the data exists to be used later. */
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
++#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} "
+ #endif
+
+ /* A C statement (sans semicolon) to output to the stdio stream STREAM
+--- gcc/config/ia64/linux.h.~1~
++++ gcc/config/ia64/linux.h
+@@ -58,7 +58,7 @@ do { \
+ Signalize that because we have fde-glibc, we don't need all C shared libs
+ linked against -lgcc_s. */
+ #undef LINK_EH_SPEC
+-#define LINK_EH_SPEC ""
++#define LINK_EH_SPEC "--no-add-needed "
+
+ #define MD_UNWIND_SUPPORT "config/ia64/linux-unwind.h"
+
+--- gcc/config/linux.h.~1~
++++ gcc/config/linux.h
+@@ -89,7 +89,7 @@ see the files COPYING3 and COPYING.RUNTI
+ } while (0)
+
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
++#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} "
+ #endif
+
+ /* Define this so we can compile MS code for use with WINE. */
+--- gcc/config/rs6000/sysv4.h.~1~
++++ gcc/config/rs6000/sysv4.h
+@@ -917,7 +917,7 @@ SVR4_ASM_SPEC \
+ %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
+
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+-# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
++# define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} "
+ #endif
+
+ #define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \
diff --git a/meta/recipes-devtools/gcc/gcc-configure-cross.inc b/meta/recipes-devtools/gcc/gcc-configure-cross.inc
index 3da92e24a..346d1640d 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-cross.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-cross.inc
@@ -5,7 +5,7 @@ USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibc", "no", "", d )}'
EXTRA_OECONF += " --enable-poison-system-directories "
EXTRA_OECONF_PATHS = "--with-local-prefix=${STAGING_DIR_TARGET}${target_exec_prefix} \
- --with-gxx-include-dir=${STAGING_DIR_TARGET}/${target_includedir}/c++ \
+ --with-gxx-include-dir=${target_includedir}/c++ \
--with-sysroot=${STAGING_DIR_TARGET} \
--with-build-sysroot=${STAGING_DIR_TARGET}"
@@ -20,5 +20,3 @@ do_compile_prepend () {
LIBGCCS_VAR = "-lgcc_s"
LIBGCCS_VAR_avr32 = ""
-
-do_package_write_ipk[depends] += "virtual/libc:do_package"
diff --git a/meta/recipes-devtools/gcc/gcc-configure-runtime.inc b/meta/recipes-devtools/gcc/gcc-configure-runtime.inc
index f9ad61d12..6cc11e2ff 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-runtime.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-runtime.inc
@@ -31,28 +31,14 @@ do_compile () {
}
do_install () {
- target=`echo ${MULTIMACH_TARGET_SYS} | sed -e s#-nativesdk##`
-
- # Install libgcc from our gcc-cross saved data
- install -d ${D}${base_libdir} ${D}${libdir}
- cp -fpPR ${STAGING_INCDIR_NATIVE}/gcc-build-internal-$target/* ${D}
-
for d in ${RUNTIMETARGET}; do
cd ${B}/$d/
oe_runmake 'DESTDIR=${D}' install
done
-
- # Move libgcc_s into /lib
- mkdir -p ${D}${base_libdir}
- if [ -f ${D}${libdir}/nof/libgcc_s.so ]; then
- mv ${D}${libdir}/nof/libgcc* ${D}${base_libdir}
- else
- mv ${D}${libdir}/libgcc* ${D}${base_libdir} || true
- fi
}
INHIBIT_DEFAULT_DEPS = "1"
-DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++ libgcc"
PROVIDES = "virtual/${TARGET_PREFIX}compilerlibs"
BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-devtools/gcc/gcc-configure-sdk.inc b/meta/recipes-devtools/gcc/gcc-configure-sdk.inc
index 0eb33adda..756e74e48 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-sdk.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-sdk.inc
@@ -5,7 +5,7 @@ USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibc", "no", "", d )}'
USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibcgnueabi", "no", "", d )}'
EXTRA_OECONF_PATHS = "--with-local-prefix=${SDKPATH}/sysroots/${TARGET_SYS}${target_exec_prefix} \
- --with-gxx-include-dir=${SDKPATH}/sysroots/${TARGET_SYS}${target_includedir}/c++ \
+ --with-gxx-include-dir=${target_includedir}/c++ \
--with-build-time-tools=${STAGING_DIR_NATIVE}${prefix_native}/${TARGET_SYS}/bin \
--with-sysroot=${SDKPATH}/sysroots/${TARGET_SYS} \
--with-build-sysroot=${STAGING_DIR_TARGET}"
diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb
index 98e239d92..3eea4bcaf 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb
@@ -5,7 +5,7 @@ require gcc-cross-canadian.inc
require gcc-configure-sdk.inc
require gcc-package-sdk.inc
-PR = "r1"
+PR = "r3"
DEPENDS += "gmp-nativesdk mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk"
RDEPENDS_${PN} += "mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk"
diff --git a/meta/recipes-devtools/gcc/gcc-cross-initial.inc b/meta/recipes-devtools/gcc/gcc-cross-initial.inc
index f582de984..4e2e34393 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-initial.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross-initial.inc
@@ -2,6 +2,8 @@ DEPENDS = "virtual/${TARGET_PREFIX}binutils gettext-native ${NATIVEDEPS}"
PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
PACKAGES = ""
+CROSS_TARGET_SYS_DIR_append = ".${PN}"
+
# This is intended to be a -very- basic config
# sysroot is needed in case we use libc-initial
EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${target_prefix} \
diff --git a/meta/recipes-devtools/gcc/gcc-cross-initial_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-cross-initial_4.3.3.bb
index 081b7d60f..28ac1abe1 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-initial_4.3.3.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross-initial_4.3.3.bb
@@ -1,5 +1,5 @@
require gcc-cross_${PV}.bb
require gcc-cross-initial.inc
-PR = "r4"
+PR = "r5"
diff --git a/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb
index e3aea8b35..b2c257d9d 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb
@@ -1,5 +1,5 @@
require gcc-cross_${PV}.bb
require gcc-cross-initial.inc
-PR = "r0"
+PR = "r2"
diff --git a/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc b/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc
index 72a42411b..2e5283d69 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc
@@ -3,6 +3,8 @@ DEPENDS += "virtual/${TARGET_PREFIX}libc-initial gettext-native"
PROVIDES = "virtual/${TARGET_PREFIX}gcc-intermediate"
PACKAGES = ""
+CROSS_TARGET_SYS_DIR_append = ".${PN}"
+
# This is intended to be a -very- basic config
# sysroot is needed in case we use libc-initial
EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${target_prefix} \
@@ -12,11 +14,14 @@ EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${target_prefix} \
--enable-languages=c \
${OPTSPACE} \
--program-prefix=${TARGET_PREFIX} \
- --with-sysroot=${STAGING_DIR_TARGET} \
- --with-build-sysroot=${STAGING_DIR_TARGET} \
+ --with-sysroot=${STAGING_DIR_TCBOOTSTRAP} \
+ --with-build-sysroot=${STAGING_DIR_TCBOOTSTRAP} \
${EXTRA_OECONF_INTERMEDIATE} \
${@get_gcc_fpu_setting(bb, d)}"
+do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}/${STAGING_DIR_HOST} ${SYSROOT_DESTDIR}/${STAGING_DIR_TARGET}/${target_base_libdir}"
+do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_HOST} ${STAGING_DIR_TCBOOTSTRAP}/${target_base_libdir}"
+
do_compile () {
oe_runmake
}
@@ -25,4 +30,30 @@ do_install () {
oe_runmake 'DESTDIR=${D}' install
install -d ${D}${target_base_libdir}/
mv ${D}${exec_prefix}/${TARGET_SYS}/lib/* ${D}${target_base_libdir}/
+
+ # We don't really need this (here shares/ contains man/, info/, locale/).
+ rm -rf ${D}${datadir}/
+
+ # We use libiberty from binutils
+ rm -f ${D}${exec_prefix}/lib/lib/libiberty.a
+
+ # Insert symlinks into libexec so when tools without a prefix are searched for, the correct ones are
+ # found. These need to be relative paths so they work in different locations.
+ dest=${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/
+ install -d $dest
+ for t in ar as ld nm objcopy objdump ranlib strip g77 gcc cpp gfortran; do
+ ln -sf ${BINRELPATH}/${TARGET_PREFIX}$t $dest$t
+ done
+}
+
+#
+# Override the default sysroot staging copy since this won't look like a target system
+#
+sysroot_stage_all() {
+ sysroot_stage_dir ${D} ${SYSROOT_DESTDIR}
+ install -d ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_base_libdir}/
+ install -d ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_libdir}/
+ mv ${SYSROOT_DESTDIR}${target_base_libdir}/* ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_base_libdir}/ || true
+ mv ${SYSROOT_DESTDIR}${target_libdir}/* ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_libdir}/ || true
}
+
diff --git a/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.3.3.bb
index 9a30cb511..a8473b0eb 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.3.3.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.3.3.bb
@@ -1,4 +1,4 @@
require gcc-cross_${PV}.bb
require gcc-cross-intermediate.inc
-PR = "r4"
+PR = "r5"
diff --git a/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb
index 4cabe0eb4..e65d5df67 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb
@@ -1,4 +1,4 @@
require gcc-cross_${PV}.bb
require gcc-cross-intermediate.inc
-PR = "r0"
+PR = "r3"
diff --git a/meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb
index 445869d1f..399cdf929 100644
--- a/meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb
@@ -1,4 +1,4 @@
-PR = "r0"
+PR = "r2"
require gcc-${PV}.inc
require gcc-cross4.inc
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.3.3.bb
index 5daa31b88..b42de471d 100644
--- a/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.3.3.bb
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.3.3.bb
@@ -1,3 +1,3 @@
require gcc-cross-initial_${PV}.bb
require gcc-crosssdk-initial.inc
-PR = "r5"
+PR = "r6"
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb
index 22cb4904b..240caf56f 100644
--- a/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb
@@ -1,4 +1,4 @@
require gcc-cross-initial_${PV}.bb
require gcc-crosssdk-initial.inc
-PR = "r0"
+PR = "r2"
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb
index ba42ca0e5..a6653ddfc 100644
--- a/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb
@@ -1,4 +1,4 @@
require gcc-cross-intermediate_${PV}.bb
require gcc-crosssdk-intermediate.inc
-PR = "r0"
+PR = "r2"
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb
index 6f0a5406d..129e8d31a 100644
--- a/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb
@@ -1,4 +1,4 @@
require gcc-cross_${PV}.bb
require gcc-crosssdk.inc
-PR = "r0"
+PR = "r2"
diff --git a/meta/recipes-devtools/gcc/gcc-package-runtime.inc b/meta/recipes-devtools/gcc/gcc-package-runtime.inc
index 40a9ed0d7..e8c901131 100644
--- a/meta/recipes-devtools/gcc/gcc-package-runtime.inc
+++ b/meta/recipes-devtools/gcc/gcc-package-runtime.inc
@@ -1,6 +1,4 @@
PACKAGES = "\
- libgcc \
- libgcc-dev \
libstdc++ \
libstdc++-precompile-dev \
libstdc++-dev \
@@ -14,12 +12,6 @@ PACKAGES = "\
libmudflap-dev \
"
-FILES_libgcc = "${base_libdir}/libgcc*.so.*"
-FILES_libgcc-dev = " \
- ${base_libdir}/libgcc*.so \
- ${libdir}/${TARGET_SYS}/${BINV}/crt* \
- ${libdir}/${TARGET_SYS}/${BINV}/libgcc*"
-
FILES_libg2c = "${target_libdir}/libg2c.so.*"
FILES_libg2c-dev = "\
${libdir}/libg2c.so \
diff --git a/meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb
index 6b375f323..99f927a8f 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb
+++ b/meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb
@@ -1,4 +1,4 @@
-PR = "r17"
+PR = "r18"
require gcc-${PV}.inc
require gcc-configure-runtime.inc
diff --git a/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb
index 4d2302d35..093f9bf96 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb
@@ -1,4 +1,4 @@
-PR = "r0"
+PR = "r2"
require gcc-${PV}.inc
require gcc-configure-runtime.inc
diff --git a/meta/recipes-devtools/gcc/gcc_4.5.1.bb b/meta/recipes-devtools/gcc/gcc_4.5.1.bb
index 81c1fa9c2..919d4b093 100644
--- a/meta/recipes-devtools/gcc/gcc_4.5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc_4.5.1.bb
@@ -1,4 +1,4 @@
-PR = "r0"
+PR = "r2"
require gcc-${PV}.inc
require gcc-configure-target.inc
require gcc-package-target.inc
diff --git a/meta/recipes-devtools/gcc/libgcc_4.5.1.bb b/meta/recipes-devtools/gcc/libgcc_4.5.1.bb
new file mode 100644
index 000000000..b6cf2685e
--- /dev/null
+++ b/meta/recipes-devtools/gcc/libgcc_4.5.1.bb
@@ -0,0 +1,46 @@
+require gcc-${PV}.inc
+
+PR = "r0"
+
+INHIBIT_DEFAULT_DEPS = "1"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+
+PACKAGES = "\
+ ${PN} \
+ ${PN}-dev \
+ "
+
+FILES_${PN} = "${base_libdir}/libgcc*.so.*"
+FILES_${PN}-dev = " \
+ ${base_libdir}/libgcc*.so \
+ ${libdir}/${TARGET_SYS}/${BINV}/crt* \
+ ${libdir}/${TARGET_SYS}/${BINV}/libgcc*"
+
+do_fetch[noexec] = "1"
+do_unpack[noexec] = "1"
+do_patch[noexec] = "1"
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install () {
+ target=`echo ${MULTIMACH_TARGET_SYS} | sed -e s#-nativesdk##`
+
+ # Install libgcc from our gcc-cross saved data
+ install -d ${D}${base_libdir} ${D}${libdir}
+ cp -fpPR ${STAGING_INCDIR_NATIVE}/gcc-build-internal-$target/* ${D}
+
+ # Move libgcc_s into /lib
+ mkdir -p ${D}${base_libdir}
+ if [ -f ${D}${libdir}/nof/libgcc_s.so ]; then
+ mv ${D}${libdir}/nof/libgcc* ${D}${base_libdir}
+ else
+ mv ${D}${libdir}/libgcc* ${D}${base_libdir} || true
+ fi
+}
+
+do_package_write_ipk[depends] += "virtual/libc:do_package"
+do_package_write_deb[depends] += "virtual/libc:do_package"
+do_package_write_rpm[depends] += "virtual/libc:do_package"
+
+BBCLASSEXTEND = "nativesdk"
+
diff --git a/meta/recipes-devtools/gdb/gdb-common.inc b/meta/recipes-devtools/gdb/gdb-common.inc
index 16b653e46..84e36baed 100644
--- a/meta/recipes-devtools/gdb/gdb-common.inc
+++ b/meta/recipes-devtools/gdb/gdb-common.inc
@@ -5,6 +5,10 @@ SECTION = "devel"
PRIORITY = "optional"
DEPENDS = "ncurses readline elfutils"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+ file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 \
+ file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
inherit autotools
SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.gz \
diff --git a/meta/recipes-devtools/git/git_1.7.3.2.bb b/meta/recipes-devtools/git/git_1.7.3.4.bb
index 1f7f93799..2765ef793 100644
--- a/meta/recipes-devtools/git/git_1.7.3.2.bb
+++ b/meta/recipes-devtools/git/git_1.7.3.4.bb
@@ -6,5 +6,5 @@ EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no ac_cv_c_c99_format=yes \
ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \
"
-SRC_URI[md5sum] = "902f7f07a789fedc0d2ac03656b85969"
-SRC_URI[sha256sum] = "bc4cf6bc7c116056050ef43b051691828d7101327b23311d424b02eaee553e71"
+SRC_URI[md5sum] = "3a2602016f98c529cda7b9fad1a6e216"
+SRC_URI[sha256sum] = "3e5e2b6547ee4aae82b4c5f589ff084996e9e6e0e2b52c92365e6baa1e4a0171"
diff --git a/meta/recipes-devtools/guilt/guilt-native_0.33.bb b/meta/recipes-devtools/guilt/guilt-native_0.33.bb
index 62d91f695..fad0340ec 100644
--- a/meta/recipes-devtools/guilt/guilt-native_0.33.bb
+++ b/meta/recipes-devtools/guilt/guilt-native_0.33.bb
@@ -1,5 +1,7 @@
DESCRIPTION = "guilt is quilt like tool for git"
-LICENSE = "GPL"
+LICENSE = "GPLv2"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b6f3400dc1a01cebafe8a52b3f344135"
PR = r0
PV = "0.33"
@@ -27,4 +29,4 @@ do_compile() {
do_install() {
oe_runmake PREFIX=${D}/${base_prefix}/usr install
-} \ No newline at end of file
+}
diff --git a/meta/recipes-devtools/icon-naming-utils/icon-naming-utils-native_0.8.7.bb b/meta/recipes-devtools/icon-naming-utils/icon-naming-utils-native_0.8.7.bb
index ef41c538a..18aa3745d 100644
--- a/meta/recipes-devtools/icon-naming-utils/icon-naming-utils-native_0.8.7.bb
+++ b/meta/recipes-devtools/icon-naming-utils/icon-naming-utils-native_0.8.7.bb
@@ -2,6 +2,8 @@ LICENSE = "GPLv2"
DEPENDS = "libxml-simple-perl-native"
PR = "r1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
SRC_URI = "http://tango.freedesktop.org/releases/icon-naming-utils-0.8.7.tar.gz"
S = "${WORKDIR}/icon-naming-utils-${PV}"
diff --git a/meta/recipes-devtools/installer/adt-installer/adt_installer b/meta/recipes-devtools/installer/adt-installer/adt_installer
new file mode 100755
index 000000000..1f481ded6
--- /dev/null
+++ b/meta/recipes-devtools/installer/adt-installer/adt_installer
@@ -0,0 +1,367 @@
+#/bin/bash
+# Yocto ADT Installer
+#
+# Copyright 2010-2011 by Intel Corp.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+
+usage ()
+{
+
+ INST_ARCH=`uname -m`
+ INST_OS=`uname -o| tr '[A-Z]' '[a-z]'`
+ INST_KR=`uname -r| tr '[A-Z]' '[a-z]'`
+
+ echo_info "#########################################################################"
+ echo_info "# Welcome to Yocto Application Developement Tools (ADT) Installer"
+ echo_info "# "
+ echo_info "# Host Machine:\t\t\t\t"$INST_ARCH
+ echo_info "# OS info:\t\t\t\t$INST_KR"
+ echo_info "# Yocto ADT version to be installed:\t$YOCTOADT_VERSION"
+ echo_info "# supported target architectures:\t$YOCTOADT_SUPPORTED_TARGETS"
+ echo_info "# supported target root_fs images:\t$YOCTOADT_SUPPORTED_ROOTFS"
+ echo_info "#########################################################################\n"
+
+ echo_info "Systemwide installation. Installation will occur under $INSTALL_FOLDER\n"
+ echo_info "############################################################################"
+ echo_info "# Your system installation configurations from adt_installer.conf"
+ echo_info "############################################################################"
+
+ echo_info "# Cross toolchains:\t\t$YOCTOADT_TARGETS"
+ echo_info "# Install Qemu:\t\t\t$YOCTOADT_QEMU"
+ echo_info "# Install NFS utilities:\t$YOCTOADT_NFS_UTIL"
+ #echo_info "# Install bitbake + UI:\t\t$YOCTOADT_BITBAKE"
+ #echo_info "# Install poky metadata:\t$YOCTOADT_METADATA"
+ #echo_info "############################################################################\n"
+
+ echo_info "\n##############################################################################"
+ echo_info "# Your rootfs image(s) and target sysroot selections from adt_installer.conf"
+ echo_info "##############################################################################"
+prompt=1
+for arch_type in $YOCTOADT_SUPPORTED_TARGETS; do
+ download_images $arch_type $prompt
+done
+ echo_info "############################################################################\n"
+ select_install_type
+}
+
+validate_config()
+{
+
+ for selected_arch_type in $YOCTOADT_TARGETS; do
+ found=0
+ for supported_arch_type in $YOCTOADT_SUPPORTED_TARGETS; do
+ if [ "$selected_arch_type" == "$supported_arch_type" ]; then
+ found=1
+ break
+ fi
+ done
+ if [ $found == 0 ]; then
+ echo_info "[ADT_INST] Error: YOCTADT_TARGETS in adt_installer.conf contains invalid entries: $YOCTOADT_TARGETS. Valid values are: $YOCTOADT_SUPPORTED_TARGETS"
+ echo -e "\n#############################################################################"
+ echo -e "# Meet error(s) when installing Yocto ADT! Please check log file for details. "
+ echo -e "#############################################################################\n"
+ exit -1
+ fi
+ done
+
+ for arch_type in $YOCTOADT_SUPPORTED_TARGETS; do
+ #select_target_var="\$YOCTOADT_TARGET_$arch_type"
+ #select_target=`eval echo $select_target_var`
+
+ #if [ "$select_target" != "Y" ] || [ "$selected_target" != "y" ]; then
+ # continue;
+ #fi
+
+ target_sysroot_image_var="\$YOCTOADT_TARGET_SYSROOT_IMAGE_$arch_type"
+ target_sysroot_image=`eval echo $target_sysroot_image_var`
+
+
+ select_rootfs_var="\$YOCTOADT_ROOTFS_$arch_type"
+ select_rootfs=`eval echo $select_rootfs_var`
+
+ if [ "$select_rootfs" == "" ] && [ "$target_sysroot_image" == "" ]; then
+ continue;
+ fi
+
+ for image_type in $select_rootfs; do
+#validate rootfs type defined in YOCTOADT_ROOTFS_{ARCH} is valid and in YOCTOADT_SUPPORTED_ROOTFS
+ found=0
+ for supported_rootfs_type in $YOCTOADT_SUPPORTED_ROOTFS; do
+ if [ "$image_type" == "$supported_rootfs_type" ]; then
+ found=1
+ break
+ fi
+ done
+ if [ $found == 0 ]; then
+#the rootfs type listed for downloading is not valid
+ echo_info "[ADT_INST] Error: Selected YOCTOADT_ROOTFS_$arch_type value: $image_type, is not valid! Valid values are: $YOCTOADT_SUPPORTED_ROOTFS "
+ echo -e "\n#############################################################################"
+ echo -e "# Meet error(s) when installing Yocto ADT! Please check log file for details. "
+ echo -e "#############################################################################\n"
+ exit -1
+ fi
+ done
+
+ found=0
+ for image_type in $select_rootfs; do
+#validate that rootfs to be extracted must be in the item: YOCTOADT_ROOTFS_${ARCH}
+ if [ "$target_sysroot_image" == "$image_type" ]; then
+ found=1
+ break
+ fi
+ done
+# the rootfs image to be extracted is not selected
+ if [ $found == 0 ]; then
+ echo_info "[ADT_INST] Error: YOCTOADT_TARGET_SYSROOT_IMAGE_$arch_type selection: $target_sysroot_image is not included in YOCTOADT_ROOTFS_$arch_type selections: $select_rootfs"
+ echo -e "\n#############################################################################"
+ echo -e "# Meet error(s) when installing Yocto ADT! Please check log file for details. "
+ echo -e "#############################################################################\n"
+ exit -1
+ fi
+ done
+}
+
+
+#detect opkg installed or not, for installing sdk, we will use
+#this installed local opkg
+install_opkg()
+{
+if [ ! -x "$LOCAL_OPKG_LOC/bin/opkg-cl" ]; then
+ echo_info "OPKG is not setup, setting up opkg in local, which is required for installing yocto ADT...\n"
+
+ if [ -d $LOCAL_OPKG_LOC ]; then
+ echo_info "Deleting old OPKG folder, which doesn't contain executables... "
+ rm -rf $LOCAL_OPKG_LOC
+ fi
+
+ parent_folder=`eval echo $PWD`
+ cd $LOCAL_OPKG_FOLDER
+ check_result
+
+ opkg_source_dir=`ls -d opkg-*`
+
+ if [ $opkg_source_dir == "" ]; then
+ echo_info "[ADT_INST] Error: OPKG source directory is not found!"
+ echo -e "\n#############################################################################"
+ echo -e "# Meet error(s) when installing Yocto ADT! Please check log file for details. "
+ echo -e "#############################################################################\n"
+ exit -1
+ fi
+
+ cd $opkg_source_dir
+ check_result
+
+ echo_info "Configure opkg ...\n"
+ ./configure --prefix=$parent_folder/$LOCAL_OPKG_LOC --with-opkglibdir=$OPKG_LIBDIR --disable-curl --disable-ssl-curl --disable-gpg --disable-shave >> $parent_folder/$YOCTOADT_INSTALL_LOG_FILE
+ check_result
+
+ echo_info "Make opkg ...\n"
+ make &>> $parent_folder/$YOCTOADT_INSTALL_LOG_FILE
+ check_result
+
+ echo_info "Make Install opkg ...\n"
+ make install &>> $parent_folder/$YOCTOADT_INSTALL_LOG_FILE
+ #if meet error when installing opkg, cancel the installation
+ check_result
+
+ cd $parent_folder
+ echo_info "Successfully installed OPKG.\n"
+fi
+}
+
+confirm_download()
+{
+#avoid repeated reminding
+if [ "$override_oldfile" == 1 ]; then
+ return $pre_result
+else
+ override_oldfile=1
+fi
+
+while true; do
+ #echo_info "[ADT_INST] Files [$1] already exists. If you continue downloading, old files will be overrided."
+ #echo_info "[ADT_INST] Further prompts will not be given if there're more existing files to be downloaded."
+ #echo_info "[ADT_INST] Do you want to continue downloading? Please enter Y/N:"
+ echo_info "\nFile [$1] already exists, which means you've downloaded the qemu kernel and rootfs file(s) before. If you choose continue downloading, old files will be overridden."
+ echo_info "[ADT_INST] Do you want to continue downloading? Please enter Y/N:"
+ read YOCTOADT_INSTALL
+ YOCTOADT_INSTALL=`tr '[a-z]' '[A-Z]'<<<"$YOCTOADT_INSTALL"`
+ if [ "$YOCTOADT_INSTALL" == "Y" ]; then
+ pre_result=0
+ return 0
+ elif [ "$YOCTOADT_INSTALL" == "N" ]; then
+ pre_result=1
+ return 1
+ fi
+done
+}
+
+download_file()
+{
+if [ -f "$LOCAL_DOWNLOAD/$1" ]; then
+ confirm_download $1
+ result="$?"
+ if [ ! "$result" == "0" ]; then
+ return
+ else
+ echo "Removing old file [$1]"
+ rm -rf "$LOCAL_DOWNLOAD/$1"
+ fi
+fi
+echo_info "Downloading file: $1..."
+wget "$YOCTOADT_IPKG_REPO/$1" -P $LOCAL_DOWNLOAD --progress=bar:force 2>&1 | tee -a "$YOCTOADT_INSTALL_LOG_FILE"
+}
+
+
+
+#Need two input params, $1 -- arch_type(arm powerpc x86 mips) $2 rootfs_image_type (a list of sdk sato minimal lsb)
+get_qemu_image()
+{
+ if [ "$1" == "x86" ]; then
+ qemu_kernel="bzImage-qemu$1.bin"
+ elif [ "$1" == "mips" ]; then
+ qemu_kernel="vmlinux-qemu$1.bin"
+ else
+ qemu_kernel="zImage-qemu$1.bin"
+ fi
+
+ #echo_info "[ADT_INST] Downloading qemu kernel binary: $qemu_kernel"
+ download_file qemu$1/$qemu_kernel
+ check_result
+
+ for image_type in $select_rootfs; do
+ #echo_info "[ADT_INST] Downloading rootfs file: poky-image-$image_type-qemu$1.tar.bz2"
+ filename="poky-image-$image_type-qemu$1.tar.bz2"
+ download_file qemu$1/$filename
+ check_result
+ done
+}
+
+download_images()
+{
+ #select_target_var="\$YOCTOADT_TARGET_$1"
+ #select_target=`eval echo $select_target_var`
+
+ #if [ "$select_target" == "Y" ]; then
+ select_rootfs_var="\$YOCTOADT_ROOTFS_$1"
+ select_sysroot_image_var="\$YOCTOADT_TARGET_SYSROOT_IMAGE_$1"
+ select_sysroot_var="\$YOCTOADT_TARGET_SYSROOT_LOC_$1"
+ select_rootfs=`eval echo $select_rootfs_var`
+ select_sysroot_image=`eval echo $select_sysroot_image_var`
+ select_sysroot=`eval echo $select_sysroot_var`
+
+ if [ "$select_rootfs" != "" ]; then
+ if [ $2 ]; then
+ #echo_info "\n############################################################################"
+ #echo_info "# To be downloaded rootfs image details defined in adt_installer.conf"
+ #echo_info "############################################################################"
+ echo_info "# Target architecture:\t\t$1"
+ echo_info "# Root_fs images:\t\t$select_rootfs"
+ echo_info "# Target sysroot image:\t\t$select_sysroot_image"
+ echo_info "# Target sysroot loc:\t\t$select_sysroot"
+ echo_info "\n"
+ #echo_info "############################################################################\n"
+ else
+ get_qemu_image $1 $select_rootfs
+ fi
+ fi
+}
+
+
+
+
+#Main body of installer
+
+clear
+
+run_path=`dirname $0`
+cd $run_path
+
+if [ ! -f "scripts/util" ]; then
+ echo -e "[ADT_INST] Error: Script file: util, can't be found under: $run_path!"
+ echo -e "\n#############################################################################"
+ echo -e "# Meet error(s) when installing Yocto ADT! Please check log file for details. "
+ echo -e "#############################################################################\n"
+ exit -1
+fi
+
+if [ ! -f "scripts/adt_installer_internal" ]; then
+ echo -e "[ADT_INST] Error: Script file: adt_installer_internal, can't be found under: $run_path!"
+ echo -e "\n#############################################################################"
+ echo -e "# Meet error(s) when installing Yocto ADT! Please check log file for details. "
+ echo -e "#############################################################################\n"
+ exit -1
+fi
+
+config_file="adt_installer.conf"
+if [ ! -f "$config_file" ]; then
+ echo_info "[ADT_INST] Error: Installation configuration file: adt_installer.conf is not found!\n"
+ echo_info "\n##################################################################################"
+ echo_info "# Meet error(s) when installing Yocto ADT. Please check log file for details. "
+ echo_info "##################################################################################\n"
+ exit -1
+fi
+
+. scripts/data_define
+. scripts/util
+
+
+if [ -f "$YOCTOADT_INSTALL_LOG_FILE" ]; then
+ rm $YOCTOADT_INSTALL_LOG_FILE
+fi
+
+
+usage
+
+user_inst_type="$?"
+
+validate_config
+check_result
+#firstly we need to install opkg host
+install_opkg
+
+#Create folders for holding rootfs/qemu images
+if [ ! -d "$LOCAL_DOWNLOAD" ]; then
+ echo_info "Creating new images downloading folder: $LOCAL_DOWNLOAD ..."
+ mkdir -p $LOCAL_DOWNLOAD
+fi
+
+#downloading required qemu images/rootfs
+if [ "$user_inst_type" == "0" ]; then
+ override_oldfile=1
+else
+ override_oldfile=0
+fi
+
+for arch_type in $YOCTOADT_SUPPORTED_TARGETS; do
+ download_images $arch_type
+done
+
+scripts/adt_installer_internal $user_inst_type
+
+result="$?"
+#echo_info "\n############################################################"
+if [ "$result" == "0" ]; then
+ echo_info "\n############################################################"
+ echo_info "# Yocto ADT has been successfully installed."
+ echo_info "############################################################\n"
+fi
+
diff --git a/meta/recipes-devtools/installer/adt-installer/adt_installer.conf b/meta/recipes-devtools/installer/adt-installer/adt_installer.conf
new file mode 100644
index 000000000..db602f6d6
--- /dev/null
+++ b/meta/recipes-devtools/installer/adt-installer/adt_installer.conf
@@ -0,0 +1,52 @@
+# Yocto ADT Installer Configuration File
+#
+# Copyright 2010-2011 by Intel Corp.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+
+# Your yocto distro repository, this should include IPKG based packages and root filesystem files where the installation is based on
+
+YOCTOADT_IPKG_REPO="http://adtrepo.yoctoproject.org/1.0/rootfs"
+
+# The following are for system wide setup
+# Target architectures that you want to setup host cross dev environment for
+# valid values are: powerpc, mips, arm, x86, x86_64 with space separation between entries
+YOCTOADT_TARGETS="arm x86"
+# Whether install qemu or not, valid entries are: Y/N
+YOCTOADT_QEMU="Y"
+# Whether install user-mode nfs or not, valid entries are: Y/N. If you want to use Yocto Eclipse plug-in as your dev IDE, you need to select both qemu and NFS
+YOCTOADT_NFS_UTIL="Y"
+
+# These 2 values will be supported in the furture installer
+#YOCTOADT_BITBAKE="Y"
+#YOCTOADT_METADATA="Y"
+
+#The followings are for setting up specific target architecture
+#YOCTOADT_ROOTFS_$arch is for specifying what root filesystem image files you want to download from the repository. The valid values to replace $arch are: arm, x86, x86_64, powerpc, mips. The valid image files are: minimal, sato, sdk and lsb. If you want to download multiple images, the entries are space separated
+YOCTOADT_ROOTFS_arm="minimal sato"
+#Specify which root filesystem file to use to extract as target sysroot. Please ensure the entry is in the list of downloaded root filesystem files that specified above in YOCTOADT_ROOTFS_$arch
+YOCTOADT_TARGET_SYSROOT_IMAGE_arm="minimal"
+#The location where the target sysroot will be setup
+YOCTOADT_TARGET_SYSROOT_LOC_arm="$HOME/test-yocto/arm"
+
+#Here's another example for setting up target arch of x86, by uncommenting it will trigger the installer to download and setup 2 sysroot environment for 2 target arches: arm and x86. If you want to add more target arch support, you can append more entries by following these samples
+#YOCTOADT_ROOTFS_x86="sdk"
+#YOCTOADT_TARGET_SYSROOT_IMAGE_x86="sdk"
+#YOCTOADT_TARGET_SYSROOT_LOC_x86="$HOME/test-yocto/x86"
diff --git a/meta/recipes-devtools/installer/adt-installer/opkg/conf/opkg-sdk-i686.conf b/meta/recipes-devtools/installer/adt-installer/opkg/conf/opkg-sdk-i686.conf
new file mode 100644
index 000000000..1d8c89a84
--- /dev/null
+++ b/meta/recipes-devtools/installer/adt-installer/opkg/conf/opkg-sdk-i686.conf
@@ -0,0 +1,6 @@
+arch all 1
+arch any 6
+arch noarch 11
+arch i686-nativesdk 16
+src yp http://adtrepo.yoctoproject.org/1.0/adt-ipk
+src yp-i686-nativesdk http://adtrepo.yoctoproject.org/1.0/adt-ipk/i686-nativesdk
diff --git a/meta/recipes-devtools/installer/adt-installer/opkg/conf/opkg-sdk-x86_64.conf b/meta/recipes-devtools/installer/adt-installer/opkg/conf/opkg-sdk-x86_64.conf
new file mode 100644
index 000000000..6b14f9863
--- /dev/null
+++ b/meta/recipes-devtools/installer/adt-installer/opkg/conf/opkg-sdk-x86_64.conf
@@ -0,0 +1,6 @@
+arch all 1
+arch any 6
+arch noarch 11
+arch x86_64-nativesdk 16
+src yp http://adtrepo.yoctoproject.org/1.0/adt-ipk
+src yp-x86_64-nativesdk http://adtrepo.yoctoproject.org/1.0/adt-ipk/x86_64-nativesdk
diff --git a/meta/recipes-devtools/installer/adt-installer/scripts/adt_installer_internal b/meta/recipes-devtools/installer/adt-installer/scripts/adt_installer_internal
new file mode 100755
index 000000000..9653284e5
--- /dev/null
+++ b/meta/recipes-devtools/installer/adt-installer/scripts/adt_installer_internal
@@ -0,0 +1,210 @@
+#!/bin/bash
+
+# Yocto ADT Installer
+#
+# Copyright 2010-2011 by Intel Corp.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+parse_config()
+{
+ INST_ARCH=`uname -m`
+
+ case $INST_ARCH in
+ i[3-6]86)
+ OPKG_CONFIG_FILE=$YOCTOADT_OPKG_CONF_FILE_32
+ #POKY_NATIVE_SYSROOT="$INSTALL_FOLDER/sysroots/i586-pokysdk-linux/"
+ POKY_NATIVE_SYSROOT="$INSTALL_FOLDER/sysroots/$INST_ARCH-pokysdk-linux/"
+ ;;
+ x86_64)
+ OPKG_CONFIG_FILE=$YOCTOADT_OPKG_CONF_FILE_64
+ POKY_NATIVE_SYSROOT="$INSTALL_FOLDER/sysroots/x86_64-pokysdk-linux/"
+ ;;
+ *)
+ echo_info "[ADT_INST] Error: Installation Machine is not supported!"
+ exit -1
+ ;;
+ esac
+}
+
+
+#let us install a qemu-native firstly
+#installation step 2
+install_native_sdk()
+{
+
+echo_info "\nStart installing selected native ADT for archs: $YOCTOADT_TARGETS..."
+
+# where the packages are installed. Currently only / is supported
+NATIVE_INSTALL_DIR="/"
+
+if [ -d "$INSTALL_FOLDER" ]; then
+ echo_info "\nNative ADT installation directory \"$INSTALL_FOLDER\" already exists! Continue installation will override its contents!"
+ confirm_install $1
+fi
+
+#Now begin to install native sdk and extract qemu rootfs which needs privilege rights
+echo_info "#######################################################################"
+echo_info "Please note from this point on installation requires sudo password ..."
+echo_info "#######################################################################"
+username='id -nu'
+#we need to make this directory firstly since opkg need to use it.
+OPKG_LOCK_DIR="$NATIVE_INSTALL_DIR/$OPKG_LIBDIR/opkg"
+if [ ! -d "$OPKG_LOCK_DIR" ]; then
+ sudo mkdir -p $OPKG_LOCK_DIR
+ echo_info "Successfully create directory $OPKG_LOCK_DIR. "
+#if user delete /opt/poky, while dangling folders there, report error
+elif [ ! -d "$INSTALL_FOLDER" ]; then
+ echo_info "\nDangling opkg cache folder $OPKG_LOCK_DIR detected. Continue installation will remove the folder!"
+ confirm_install $1
+ sudo rm -rf $OPKG_LOCK_DIR
+ sudo mkdir -p $OPKG_LOCK_DIR
+#if user are updating installing, just let him/her go, give her/him prompt
+else
+ echo_info "ADT has already been installed. Will update its contents..."
+fi
+
+#first update repository
+OPKG_CMD="sudo $LOCAL_OPKG_LOC/bin/opkg-cl"
+
+echo_info "Updating opkg..."
+$OPKG_CMD -f $OPKG_CONFIG_FILE -o $NATIVE_INSTALL_DIR update &>> $YOCTOADT_INSTALL_LOG_FILE
+echo_info "opkg update process ended..."
+check_result
+
+#install below must sdk-host packages
+OPKG_INSTALL_CMD="$OPKG_CMD --force-overwrite"
+OPKG_INSTALL_NATIVE_CMD="$OPKG_INSTALL_CMD -f $OPKG_CONFIG_FILE -o $NATIVE_INSTALL_DIR install"
+
+echo_info "Installing pseudo nativesdk ...\n"
+$OPKG_INSTALL_NATIVE_CMD pseudo-nativesdk &>> $YOCTOADT_INSTALL_LOG_FILE
+check_result
+echo_info "Installing opkg nativesdk ...\n"
+$OPKG_INSTALL_NATIVE_CMD opkg-nativesdk &>> $YOCTOADT_INSTALL_LOG_FILE
+check_result
+echo_info "Installing pkgconfig nativesdk ...\n"
+$OPKG_INSTALL_NATIVE_CMD pkgconfig-nativesdk &>> $YOCTOADT_INSTALL_LOG_FILE
+check_result
+
+for native_target_type in $YOCTOADT_TARGETS; do
+ native_target_type=`echo "$native_target_type" | sed -e 's/x86_64/x86-64/' -e 's/x86$/i586/'`
+ echo_info "Installing cross toolchain for $native_target_type ..."
+ echo_info "Installing binutils for $native_target_type ..."
+ $OPKG_INSTALL_NATIVE_CMD binutils-cross-canadian-$native_target_type &>> $YOCTOADT_INSTALL_LOG_FILE
+ check_result
+ echo_info "Installing gcc for $native_target_type ..."
+ $OPKG_INSTALL_NATIVE_CMD gcc-cross-canadian-$native_target_type &>> $YOCTOADT_INSTALL_LOG_FILE
+ check_result
+ echo_info "Installing gdb for $native_target_type ..."
+ $OPKG_INSTALL_NATIVE_CMD gdb-cross-canadian-$native_target_type &>> $YOCTOADT_INSTALL_LOG_FILE
+ check_result
+
+ echo_info "Installing envrionement file for $native_target_type ..."
+ $OPKG_INSTALL_NATIVE_CMD meta-environment-$native_target_type &>> $YOCTOADT_INSTALL_LOG_FILE
+ check_result
+
+done
+
+# Link the ld.so.cache file into the hosts filesystem
+if [ ! -f "$POKY_NATIVE_SYSROOT/etc/ld.so.cache" ]; then
+echo_info "Link the ld.so.cache file into the host filesystem"
+sudo ln -s /etc/ld.so.cache $POKY_NATIVE_SYSROOT/etc/ld.so.cache
+check_result
+fi
+
+if [ "$YOCTOADT_QEMU" == "Y" ] || [ "$YOCTOADT_QEMU" = "y" ]; then
+ echo_info "\nInstalling qemu native ..."
+ $OPKG_INSTALL_NATIVE_CMD qemu-nativesdk &>> $YOCTOADT_INSTALL_LOG_FILE
+ check_result
+ $OPKG_INSTALL_NATIVE_CMD qemu-helper-nativesdk &>> $YOCTOADT_INSTALL_LOG_FILE
+ check_result
+fi
+
+if [ "$YOCTOADT_NFS_UTIL" == "Y" ] || [ "$YOCTOADT_NFS_UTIL" == "y" ]; then
+ echo_info "\nInstalling unfs ..."
+ $OPKG_INSTALL_NATIVE_CMD unfs-server-nativesdk &>> $YOCTOADT_INSTALL_LOG_FILE
+ check_result
+fi
+
+echo_info "\nSuccessfully installed selected native ADT!"
+}
+
+#Need three input params, $1 -- arch_type(arm powerpc x86 mips) #2 -- user installation type
+#customer or scilent
+
+install_target()
+{
+
+# rootfs extraction directory
+target_sysroot_var="\$YOCTOADT_TARGET_SYSROOT_LOC_$1"
+target_sysroot=`eval echo $target_sysroot_var`
+
+if [ "$target_sysroot" == "" ]; then
+ return 0
+fi
+
+target_sysroot_image_var="\$YOCTOADT_TARGET_SYSROOT_IMAGE_$1"
+target_sysroot_image=`eval echo $target_sysroot_image_var`
+if [ "$target_sysroot_image" == "" ]; then
+ echo_info "[ADT_INST] Error: YOCTOADT_TARGET_SYSROOT_IMAGE_$1 selection is empty, failed to create target sysroot!"
+ return 1
+fi
+
+echo_info "Installing target sysroot for arch: $1, rootfs type: $target_sysroot_image, location: $target_sysroot"
+
+sysroot_image_name="poky-image-$target_sysroot_image-qemu$1.tar.bz2"
+ #echo_info "Extracting rootfs: $sysroot_image_name, using pseudo..."
+
+scripts/extract_rootfs $sysroot_image_name $target_sysroot $POKY_NATIVE_SYSROOT $user_inst_type
+check_result
+
+echo_info "Updating environment script with target sysroot location."
+if [ "$1" == "x86" ]; then
+ env_filename=`ls $INSTALL_FOLDER/environment-setup-i586*`
+else
+ env_filename=`ls $INSTALL_FOLDER/environment-setup-$1*`
+fi
+if [ ! -z "$env_filename" ]; then
+ sudo sed -i -e "s%##SDKTARGETSYSROOT##%$target_sysroot%g" $env_filename
+else
+ echo_info "[ADT_INST] Error: Failed to find environment script for arch: $1"
+ return 1
+fi
+
+
+}
+
+
+#Main part
+. scripts/data_define
+. scripts/util
+
+parse_config
+
+#secondly we will start to install native tools
+user_inst_type=$1
+install_native_sdk $user_inst_type
+check_result
+
+for arch_type in $YOCTOADT_SUPPORTED_TARGETS; do
+ install_target $arch_type
+ check_result
+done
+
+
diff --git a/meta/recipes-devtools/installer/adt-installer/scripts/data_define b/meta/recipes-devtools/installer/adt-installer/scripts/data_define
new file mode 100644
index 000000000..2895c4f18
--- /dev/null
+++ b/meta/recipes-devtools/installer/adt-installer/scripts/data_define
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+# Yocto ADT Installer
+#
+# Copyright 2010-2011 by Intel Corp.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+config_file="adt_installer.conf"
+source $config_file
+
+LOCAL_OPKG_LOC="./opkg/build/opkg"
+LOCAL_OPKG_FOLDER="./opkg/build"
+OPKG_LIBDIR="/var/lib"
+
+# List all supported root fs types and target types,
+# it will be used in user configuration validity checking
+YOCTOADT_SUPPORTED_ROOTFS="minimal sato sdk lsb"
+YOCTOADT_SUPPORTED_TARGETS="x86 x86_64 arm powerpc mips"
+# Different host (32 bit or 64 bit) will have different opkg
+# configuration files
+YOCTOADT_OPKG_CONF_FILE_32="./opkg/conf/opkg-sdk-i686.conf"
+YOCTOADT_OPKG_CONF_FILE_64="./opkg/conf/opkg-sdk-x86_64.conf"
+INSTALL_FOLDER=/opt/poky/$YOCTOADT_VERSION
diff --git a/meta/recipes-devtools/installer/adt-installer/scripts/extract_rootfs b/meta/recipes-devtools/installer/adt-installer/scripts/extract_rootfs
new file mode 100755
index 000000000..3dd47f0f7
--- /dev/null
+++ b/meta/recipes-devtools/installer/adt-installer/scripts/extract_rootfs
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+# Yocto ADT Installer
+#
+# Copyright 2010-2011 by Intel Corp.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+extract_rootfs()
+{
+
+ native_sysroot=$3
+ target_sysroot=$2
+ PSEUDO_COMMAND="$native_sysroot/usr/bin/pseudo"
+ PSEUDO_OPTS="-P $natvie_sysroot/usr"
+ TAR_OPTS="-xjf"
+ PSEUDO_OPTS="-P $native_sysroot/usr"
+
+
+ rm -rf $PSEUDO_LOCALSTATEDIR
+
+ if [ -d "$target_sysroot" ]; then
+ echo_info "\nTarget sysroot location: $target_sysroot, already exists! If you continue installation, this folder will be re-created."
+ confirm_install $4
+ rm -rf "$target_sysroot"
+ fi
+
+ if [ ! -d "$target_sysroot" ]; then
+ echo_info "Creating directory $target_sysroot..."
+ mkdir -p "$target_sysroot"
+ fi
+
+ mkdir -p "$target_sysroot/var/pseudo"
+ touch "$target_sysroot/var/pseudo/pseudo.pid"
+ PSEUDO_LOCALSTATEDIR="$target_sysroot/var/pseudo"
+ export PSEUDO_LOCALSTATEDIR
+
+ echo_info "Extracting rootfs: $1, using pseudo..."
+ $PSEUDO_COMMAND $PSEUDO_OPTS tar -C $2 "$TAR_OPTS" $LOCAL_DOWNLOAD/$1 &>> $YOCTOADT_INSTALL_LOG_FILE
+ check_result
+}
+
+#Main part
+. scripts/util
+
+#Parameter detail is listed below:
+#Param 4: Silent install or customize install
+#Param 3: POKY_NATIVE_SYSROOT
+#Param 2: user defined rootfs extraction directory
+#param 1: sysroot image name
+extract_rootfs $1 $2 $3 $4
diff --git a/meta/recipes-devtools/installer/adt-installer/scripts/util b/meta/recipes-devtools/installer/adt-installer/scripts/util
new file mode 100644
index 000000000..4b88feea5
--- /dev/null
+++ b/meta/recipes-devtools/installer/adt-installer/scripts/util
@@ -0,0 +1,104 @@
+#!/bin/bash
+
+# Yocto ADT Installer
+#
+# Copyright 2010-2011 by Intel Corp.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+echo_info()
+{
+ echo -e $1 | tee -a $YOCTOADT_INSTALL_LOG_FILE
+}
+
+select_install_type()
+{
+# If choosing silent install, all older installation data will be
+# overriden without user's interaction
+while true; do
+ #echo_info "[ADT_INST] Silent install means overrides all existing older"
+ #echo_info "[ADT_INST] data and the installation needs least user interaction"
+ #echo_info "[ADT_INST] If you want to use silent installation, please enter S:"
+ #echo_info "[ADT_INST] If you want to customize installation, please enter C:"
+ #echo_info "[ADT_INST} If you want to exit current installation, please enter X:"
+ echo_info "There're two ways you can do installation: silent mode or interactive mode. To choose silent mode, which means you opt for the system to override the existing data under the specified installation directories without prompting for your confirmation. Please be cautious with this selection which may trigger your losing data. With the interactive mode, you have to closely monitor the installation process, since it will prompt you each step it needs to override some existing data. To choose silent mode, please enter [S], for interactive mode, please enter [I] or [X] to exit the installation."
+ echo_info "[ADT_INST] Please enter your selections here:"
+ read YOCTOADT_SEL
+ YOCTOADT_SEL=`tr '[a-z]' '[A-Z]'<<<"$YOCTOADT_SEL"`
+ if [ "$YOCTOADT_SEL" == "S" ]; then
+ return "0"
+ elif [ "$YOCTOADT_SEL" == "I" ]; then
+ return "1"
+ elif [ "$YOCTOADT_SEL" == "X" ]; then
+ echo_info "\n############################################################"
+ echo_info "# User cancelled installation!"
+ echo_info "############################################################\n"
+ exit 1
+ fi
+done
+
+
+}
+
+confirm_install()
+{
+# below are prompt, make sure user still want to install even meet
+# some prompts
+
+#User likes to enjoy silent installation, we will not break his
+#installation process here
+if [ "$1" == "0" ]; then
+ return
+fi
+
+while true; do
+ echo_info "[ADT_INST] Do you want to continue installation? Please enter Y/N:"
+ read YOCTOADT_INSTALL
+ YOCTOADT_INSTALL=`tr '[a-z]' '[A-Z]'<<<"$YOCTOADT_INSTALL"`
+ if [ "$YOCTOADT_INSTALL" == "Y" ]; then
+ break
+ elif [ "$YOCTOADT_INSTALL" == "N" ]; then
+ echo_info "\n############################################################"
+ echo_info "# User cancelled installation!"
+ echo_info "############################################################\n"
+ exit 1
+ fi
+done
+}
+
+check_result()
+{
+ result="$?"
+ if [ "$result" == "-1" ]; then
+ echo_info "\n#############################################################################"
+ echo_info "# Meet error(s) when installing Yocto ADT! Please check log file for details. "
+ echo_info "#############################################################################\n"
+ exit -1
+ elif [ "$result" == "1" ]; then
+ exit -1
+ fi
+}
+
+# yocto adt installation log file
+YOCTOADT_INSTALL_LOG_FILE="adt_installer.log"
+# Temp folders holding qemu/rootfs downloaded images
+# It will be put into the installation folder
+LOCAL_DOWNLOAD="./download_image"
+
+
diff --git a/meta/recipes-devtools/installer/adt-installer_1.0.bb b/meta/recipes-devtools/installer/adt-installer_1.0.bb
new file mode 100644
index 000000000..e8659716c
--- /dev/null
+++ b/meta/recipes-devtools/installer/adt-installer_1.0.bb
@@ -0,0 +1,84 @@
+# Yocto ADT Installer bb file
+#
+# Copyright 2010-2011 by Intel Corp.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+
+DESCRIPTION = "Meta package for creating sdk installer tarball"
+LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
+ file://${POKYBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+LICENSE = "MIT"
+
+ALLOW_EMPTY = "1"
+
+PACKAGES = ""
+PACKAGE_ARCH = "all"
+
+PR = "r0"
+
+ADT_DEPLOY = "${TMPDIR}/deploy/sdk/"
+ADT_DIR = "${WORKDIR}/adt-installer/"
+YOCTOADT_VERSION = "${SDK_VERSION}"
+
+inherit deploy
+
+SRC_URI = "http://opkg.googlecode.com/files/opkg-0.1.8.tar.gz \
+ file://adt_installer \
+ file://scripts/adt_installer_internal \
+ file://scripts/util \
+ file://scripts/data_define \
+ file://scripts/extract_rootfs \
+ file://adt_installer.conf \
+ file://opkg/conf/opkg-sdk-x86_64.conf \
+ file://opkg/conf/opkg-sdk-i686.conf \
+ "
+SRC_URI[md5sum] = "c714ce0e4863bf1315e3b6913ffe3299"
+SRC_URI[sha256sum] = "ff94bf30bd662d49c4b5057e3a0818d062731adaa555d59abd677ec32a3c1c60"
+
+fakeroot do_deploy () {
+ cd ${WORKDIR}
+ mkdir -p ${ADT_DEPLOY}
+ rm -f ${ADT_DEPLOY}/adt-installer.tar.bz2
+ rm -rf ${ADT_DIR}
+ mkdir -p ${ADT_DIR}/opkg/build
+ cp -r opkg ${ADT_DIR}/
+ cp -r opkg-0.1.8 ${ADT_DIR}/opkg/build/
+ cp -r scripts ${ADT_DIR}/
+ cp adt_installer ${ADT_DIR}
+ cp adt_installer.conf ${ADT_DIR}
+ echo 'YOCTOADT_VERSION=${SDK_VERSION}' > ${ADT_DIR}/temp.conf
+ cat ${ADT_DIR}/adt_installer.conf >> ${ADT_DIR}/temp.conf
+ mv ${ADT_DIR}/temp.conf ${ADT_DIR}/adt_installer.conf
+ tar cfj adt_installer.tar.bz2 adt-installer
+ cp ${WORKDIR}/adt_installer.tar.bz2 ${ADT_DEPLOY}
+}
+
+do_patch[noexec] = "1"
+do_install[noexec] = "1"
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+do_package[noexec] = "1"
+do_package_write[noexec] = "1"
+do_package_write_ipk[noexec] = "1"
+do_package_write_rpm[noexec] = "1"
+do_package_write_deb[noexec] = "1"
+do_poplulate_sysroot[noexec] = "1"
+
+addtask deploy before do_populate_sysroot after do_unpack
diff --git a/meta/recipes-devtools/intltool/intltool.inc b/meta/recipes-devtools/intltool/intltool.inc
index f9bdf93b7..9df79f580 100644
--- a/meta/recipes-devtools/intltool/intltool.inc
+++ b/meta/recipes-devtools/intltool/intltool.inc
@@ -8,8 +8,8 @@ SRC_URI = "${GNOME_MIRROR}/intltool/${URLV}/intltool-${PV}.tar.bz2"
S = "${WORKDIR}/intltool-${PV}"
DEPENDS = "libxml-parser-perl-native"
-#RDEPENDS = "libxml-parser-perl"
-RRECOMMENDS = "perl-modules"
+#RDEPENDS_${PN} = "libxml-parser-perl"
+RRECOMMENDS_${PN} = "perl-modules"
inherit autotools pkgconfig
diff --git a/meta/recipes-devtools/intltool/intltool_0.40.6.bb b/meta/recipes-devtools/intltool/intltool_0.40.6.bb
index 4b5fe820e..88d441cb9 100644
--- a/meta/recipes-devtools/intltool/intltool_0.40.6.bb
+++ b/meta/recipes-devtools/intltool/intltool_0.40.6.bb
@@ -1,7 +1,7 @@
require intltool.inc
LICENSE="GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-PR = "r0"
+PR = "r1"
SRC_URI_append = " file://intltool-nowarn-0.40.0.patch"
diff --git a/meta/recipes-devtools/libtool/libtool-2.4.inc b/meta/recipes-devtools/libtool/libtool-2.4.inc
new file mode 100644
index 000000000..e3d17b71d
--- /dev/null
+++ b/meta/recipes-devtools/libtool/libtool-2.4.inc
@@ -0,0 +1,13 @@
+require libtool.inc
+DEPENDS = "libtool-native"
+
+PACKAGES =+ "libltdl libltdl-dev libltdl-dbg"
+FILES_${PN} += "${datadir}/aclocal*"
+FILES_libltdl = "${libdir}/libltdl.so.*"
+FILES_libltdl-dev = "${libdir}/libltdl.* ${includedir}/ltdl.h"
+FILES_libltdl-dbg = "${libdir}/.debug/"
+
+SRC_URI[md5sum] = "b32b04148ecdd7344abc6fe8bd1bb021"
+SRC_URI[sha256sum] = "13df57ab63a94e196c5d6e95d64e53262834fe780d5e82c28f177f9f71ddf62e"
+
+EXTRA_OECONF = "--with-sysroot" \ No newline at end of file
diff --git a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
index 6ea96a553..e3b40f256 100644
--- a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
+++ b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
@@ -1,11 +1,8 @@
-require libtool_${PV}.bb
+require libtool-${PV}.inc
-PR = "r0"
+PR = "r1"
PACKAGES = ""
-SRC_URI_append = " file://cross_compile.patch \
- file://prefix.patch "
-
-DEPENDS += "libtool-native"
+SRC_URI += "file://prefix.patch"
do_configure_prepend () {
# Remove any existing libtool m4 since old stale versions would break
@@ -29,6 +26,6 @@ do_install () {
SYSROOT_PREPROCESS_FUNCS += "libtoolcross_sysroot_preprocess"
libtoolcross_sysroot_preprocess () {
- install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/
- install -m 755 ${D}${bindir}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool
+ install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}
+ install -m 755 ${D}${bindir}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${bindir_crossscripts}/${HOST_SYS}-libtool
}
diff --git a/meta/recipes-devtools/libtool/libtool-native_2.4.bb b/meta/recipes-devtools/libtool/libtool-native_2.4.bb
index 4ad660b50..4163e8972 100644
--- a/meta/recipes-devtools/libtool/libtool-native_2.4.bb
+++ b/meta/recipes-devtools/libtool/libtool-native_2.4.bb
@@ -1,13 +1,14 @@
-require libtool_${PV}.bb
+require libtool-${PV}.inc
DEPENDS = ""
-PR = "r0"
-SRC_URI_append = " file://cross_compile.patch \
- file://prefix.patch "
+PR = "r1"
+SRC_URI += "file://prefix.patch"
inherit native
+EXTRA_OECONF = " --with-libtool-sysroot=${STAGING_DIR_NATIVE}"
+
do_configure_prepend () {
# Remove any existing libtool m4 since old stale versions would break
# any upgrade
@@ -21,5 +22,3 @@ do_install () {
install -m 0755 ${HOST_SYS}-libtool ${D}${bindir}/${HOST_SYS}-libtool
}
-SRC_URI[md5sum] = "b32b04148ecdd7344abc6fe8bd1bb021"
-SRC_URI[sha256sum] = "13df57ab63a94e196c5d6e95d64e53262834fe780d5e82c28f177f9f71ddf62e"
diff --git a/meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb b/meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb
index c9f24a95b..45c9af66c 100644
--- a/meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb
+++ b/meta/recipes-devtools/libtool/libtool-nativesdk_2.4.bb
@@ -1,8 +1,7 @@
-require libtool_${PV}.bb
+require libtool-${PV}.inc
-PR = "r0"
-SRC_URI_append = " file://cross_compile.patch \
- file://prefix.patch "
+PR = "r1"
+SRC_URI += "file://prefix.patch"
inherit nativesdk
@@ -22,6 +21,6 @@ do_install () {
SYSROOT_PREPROCESS_FUNCS += "libtoolnativesdk_sysroot_preprocess"
libtoolnativesdk_sysroot_preprocess () {
- install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/
- install -m 755 ${D}${bindir}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool
+ install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+ install -m 755 ${D}${bindir}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${bindir_crossscripts}/${HOST_SYS}-libtool
}
diff --git a/meta/recipes-devtools/libtool/libtool.inc b/meta/recipes-devtools/libtool/libtool.inc
index 9690e3b7b..8701c820d 100644
--- a/meta/recipes-devtools/libtool/libtool.inc
+++ b/meta/recipes-devtools/libtool/libtool.inc
@@ -1,14 +1,26 @@
SUMMARY = "Generic library support script"
-DESCRIPTION = "This is GNU libtool, a generic library support script. Libtool hides \
-the complexity of generating special library types (such as shared \
-libraries) behind a consistent interface."
+DESCRIPTION = "This is GNU libtool, a generic library support script. \
+Libtool hides the complexity of generating special library types \
+(such as shared libraries) behind a consistent interface."
HOMEPAGE = "http://www.gnu.org/software/libtool/libtool.html"
SECTION = "devel"
LICENSE = "GPLv2, LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
- file://libltdl/COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06 "
+ file://libltdl/COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06"
SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
file://trailingslash.patch \
- file://prefix-manpage-fix.patch "
+ file://prefix-manpage-fix.patch \
+ file://rename-with-sysroot.patch \
+ file://resolve-sysroot.patch \
+ file://use-sysroot-in-libpath.patch \
+ file://fix-final-rpath.patch"
+do_compile_prepend () {
+ # Sometimes this file doesn't get rebuilt, force the issue
+ rm -f ${S}/libltdl/config/ltmain.sh
+ make libltdl/config/ltmain.sh
+}
+
+inherit autotools
+EXTRA_AUTORECONF = "--exclude=libtoolize"
diff --git a/meta/recipes-devtools/libtool/libtool/cross_compile.patch b/meta/recipes-devtools/libtool/libtool/cross_compile.patch
deleted file mode 100644
index 28539ff03..000000000
--- a/meta/recipes-devtools/libtool/libtool/cross_compile.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Tweaks to make cross-compiling work combined and updated from various
-older patches, some by Chris Larson.
-Not upstreable in this form.
-
-RP - 01/05/2008
-
-Index: libtool-2.4/libltdl/config/ltmain.m4sh
-===================================================================
---- libtool-2.4.orig/libltdl/config/ltmain.m4sh
-+++ libtool-2.4/libltdl/config/ltmain.m4sh
-@@ -6121,8 +6121,6 @@ func_mode_link ()
- add="$libdir/$linklib"
- fi
- else
-- # We cannot seem to hardcode it, guess we'll fake it.
-- add_dir="-L$libdir"
- # Try looking first in the location we're being installed to.
- if test -n "$inst_prefix_dir"; then
- case $libdir in
-@@ -6277,7 +6275,17 @@ func_mode_link ()
- fi
- ;;
- *)
-- path="-L$absdir/$objdir"
-+ # OE sets installed=no in staging. We need to look in $objdir and $absdir,
-+ # preferring $objdir. RP 31/04/2008
-+ if test -f "$absdir/$objdir/$depdepl" ; then
-+ depdepl="$absdir/$objdir/$depdepl"
-+ path="-L$absdir/$objdir"
-+ elif test -f "$absdir/$depdepl" ; then
-+ depdepl="$absdir/$depdepl"
-+ path="-L$absdir"
-+ else
-+ path="-L$absdir/$objdir"
-+ fi
- ;;
- esac
- else
diff --git a/meta/recipes-devtools/libtool/libtool/fix-final-rpath.patch b/meta/recipes-devtools/libtool/libtool/fix-final-rpath.patch
new file mode 100644
index 000000000..402e2c6b5
--- /dev/null
+++ b/meta/recipes-devtools/libtool/libtool/fix-final-rpath.patch
@@ -0,0 +1,36 @@
+Enalbing sysroot support exposed a bug where the final library
+had an RPATH encoded into it which still pointed to the sysroot.
+This works around the issue until it gets sorted out upstream.
+
+Fix suggested by Richard Purdie <richard.purdie@intel.com>
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+
+Index: libtool-2.4/libltdl/config/ltmain.m4sh
+===================================================================
+--- libtool-2.4.orig/libltdl/config/ltmain.m4sh 2011-01-13 14:10:14.580025108 +0000
++++ libtool-2.4/libltdl/config/ltmain.m4sh 2011-01-13 15:10:18.540025113 +0000
+@@ -7246,9 +7246,11 @@
+ test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
+ for libdir in $rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
++ func_replace_sysroot "$libdir"
++ libdir=$func_replace_sysroot_result
++ func_stripname '=' '' "$libdir"
++ libdir=$func_stripname_result
+ if test -n "$hardcode_libdir_separator"; then
+- func_replace_sysroot "$libdir"
+- libdir=$func_replace_sysroot_result
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+@@ -7981,6 +7983,10 @@
+ hardcode_libdirs=
+ for libdir in $compile_rpath $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
++ func_replace_sysroot "$libdir"
++ libdir=$func_replace_sysroot_result
++ func_stripname '=' '' "$libdir"
++ libdir=$func_stripname_result
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
diff --git a/meta/recipes-devtools/libtool/libtool/rename-with-sysroot.patch b/meta/recipes-devtools/libtool/libtool/rename-with-sysroot.patch
new file mode 100644
index 000000000..8455d950d
--- /dev/null
+++ b/meta/recipes-devtools/libtool/libtool/rename-with-sysroot.patch
@@ -0,0 +1,824 @@
+This patch renames the --with-sysroot option to --with-libtool-sysroot
+to avoid namespace conflict with binutils, gcc and other toolchain
+components.
+
+I also reported the problem to libtool here
+
+http://lists.gnu.org/archive/html/libtool/2010-10/msg00048.html
+
+-Khem Raj <raj.khem@gmail.com>
+
+Index: libtool-2.4/configure
+===================================================================
+--- libtool-2.4.orig/configure
++++ libtool-2.4/configure
+@@ -786,7 +786,7 @@ enable_static
+ with_pic
+ enable_fast_install
+ with_gnu_ld
+-with_sysroot
++with_libtool_sysroot
+ enable_libtool_lock
+ with_gnu_ld
+ '
+@@ -1451,7 +1451,7 @@ Optional Packages:
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+- --with-sysroot=DIR Search for dependent libraries within DIR
++ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).
+
+ Some influential environment variables:
+@@ -6798,29 +6798,29 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+ $as_echo_n "checking for sysroot... " >&6; }
+
+-# Check whether --with-sysroot was given.
+-if test "${with_sysroot+set}" = set; then :
+- withval=$with_sysroot;
++# Check whether --with-libtool-sysroot was given.
++if test "${with_libtool_sysroot+set}" = set; then :
++ withval=$with_libtool_sysroot;
+ else
+- with_sysroot=no
++ with_libtool_sysroot=no
+ fi
+
+
+ lt_sysroot=
+-case ${with_sysroot} in #(
++case ${with_libtool_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
+-$as_echo "${with_sysroot}" >&6; }
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
++$as_echo "${with_libtool_sysroot}" >&6; }
+ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+ ;;
+ esac
+Index: libtool-2.4/libltdl/configure
+===================================================================
+--- libtool-2.4.orig/libltdl/configure
++++ libtool-2.4/libltdl/configure
+@@ -739,7 +739,7 @@ with_pic
+ enable_fast_install
+ enable_dependency_tracking
+ with_gnu_ld
+-with_sysroot
++with_libtool_sysroot
+ enable_libtool_lock
+ enable_ltdl_install
+ '
+@@ -1388,7 +1388,7 @@ Optional Packages:
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+- --with-sysroot=DIR Search for dependent libraries within DIR
++ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).
+
+ Some influential environment variables:
+@@ -6004,29 +6004,29 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+ $as_echo_n "checking for sysroot... " >&6; }
+
+-# Check whether --with-sysroot was given.
+-if test "${with_sysroot+set}" = set; then :
+- withval=$with_sysroot;
++# Check whether --with-libtool-sysroot was given.
++if test "${with_libtool_sysroot+set}" = set; then :
++ withval=$with_libtool_sysroot;
+ else
+- with_sysroot=no
++ with_libtool_sysroot=no
+ fi
+
+
+ lt_sysroot=
+-case ${with_sysroot} in #(
++case ${with_libtool_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
+-$as_echo "${with_sysroot}" >&6; }
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
++$as_echo "${with_libtool_sysroot}" >&6; }
+ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+ ;;
+ esac
+Index: libtool-2.4/libltdl/m4/libtool.m4
+===================================================================
+--- libtool-2.4.orig/libltdl/m4/libtool.m4
++++ libtool-2.4/libltdl/m4/libtool.m4
+@@ -1180,27 +1180,27 @@ _LT_DECL([], [ECHO], [1], [An echo progr
+ # ----------------
+ AC_DEFUN([_LT_WITH_SYSROOT],
+ [AC_MSG_CHECKING([for sysroot])
+-AC_ARG_WITH([sysroot],
+-[ --with-sysroot[=DIR] Search for dependent libraries within DIR
++AC_ARG_WITH([libtool-sysroot],
++[ --with-libtool-sysroot[=DIR] Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).],
+-[], [with_sysroot=no])
++[], [with_libtool_sysroot=no])
+
+ dnl lt_sysroot will always be passed unquoted. We quote it here
+ dnl in case the user passed a directory name.
+ lt_sysroot=
+-case ${with_sysroot} in #(
++case ${with_libtool_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+- AC_MSG_RESULT([${with_sysroot}])
++ AC_MSG_RESULT([${with_libtool_sysroot}])
+ AC_MSG_ERROR([The sysroot must be an absolute path.])
+ ;;
+ esac
+Index: libtool-2.4/tests/cdemo/configure
+===================================================================
+--- libtool-2.4.orig/tests/cdemo/configure
++++ libtool-2.4/tests/cdemo/configure
+@@ -726,7 +726,7 @@ enable_static
+ with_pic
+ enable_fast_install
+ with_gnu_ld
+-with_sysroot
++with_libtool_sysroot
+ enable_libtool_lock
+ '
+ ac_precious_vars='build_alias
+@@ -1373,7 +1373,7 @@ Optional Packages:
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+- --with-sysroot=DIR Search for dependent libraries within DIR
++ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).
+
+ Some influential environment variables:
+@@ -5884,29 +5884,29 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+ $as_echo_n "checking for sysroot... " >&6; }
+
+-# Check whether --with-sysroot was given.
+-if test "${with_sysroot+set}" = set; then :
+- withval=$with_sysroot;
++# Check whether --with-libtool-sysroot was given.
++if test "${with_libtool_sysroot+set}" = set; then :
++ withval=$with_libtool_sysroot;
+ else
+- with_sysroot=no
++ with_libtool_sysroot=no
+ fi
+
+
+ lt_sysroot=
+-case ${with_sysroot} in #(
++case ${with_libtool_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
+-$as_echo "${with_sysroot}" >&6; }
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
++$as_echo "${with_libtool_sysroot}" >&6; }
+ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+ ;;
+ esac
+Index: libtool-2.4/tests/demo/configure
+===================================================================
+--- libtool-2.4.orig/tests/demo/configure
++++ libtool-2.4/tests/demo/configure
+@@ -730,7 +730,7 @@ enable_static
+ with_pic
+ enable_fast_install
+ with_gnu_ld
+-with_sysroot
++with_libtool_sysroot
+ enable_libtool_lock
+ '
+ ac_precious_vars='build_alias
+@@ -1377,7 +1377,7 @@ Optional Packages:
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+- --with-sysroot=DIR Search for dependent libraries within DIR
++ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).
+
+ Some influential environment variables:
+@@ -5882,29 +5882,29 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+ $as_echo_n "checking for sysroot... " >&6; }
+
+-# Check whether --with-sysroot was given.
+-if test "${with_sysroot+set}" = set; then :
+- withval=$with_sysroot;
++# Check whether --with-libtool-sysroot was given.
++if test "${with_libtool_sysroot+set}" = set; then :
++ withval=$with_libtool_sysroot;
+ else
+- with_sysroot=no
++ with_libtool_sysroot=no
+ fi
+
+
+ lt_sysroot=
+-case ${with_sysroot} in #(
++case ${with_libtool_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
+-$as_echo "${with_sysroot}" >&6; }
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
++$as_echo "${with_libtool_sysroot}" >&6; }
+ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+ ;;
+ esac
+Index: libtool-2.4/tests/depdemo/configure
+===================================================================
+--- libtool-2.4.orig/tests/depdemo/configure
++++ libtool-2.4/tests/depdemo/configure
+@@ -728,7 +728,7 @@ enable_static
+ with_pic
+ enable_fast_install
+ with_gnu_ld
+-with_sysroot
++with_libtool_sysroot
+ enable_libtool_lock
+ '
+ ac_precious_vars='build_alias
+@@ -1375,7 +1375,7 @@ Optional Packages:
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+- --with-sysroot=DIR Search for dependent libraries within DIR
++ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).
+
+ Some influential environment variables:
+@@ -5879,29 +5879,29 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+ $as_echo_n "checking for sysroot... " >&6; }
+
+-# Check whether --with-sysroot was given.
+-if test "${with_sysroot+set}" = set; then :
+- withval=$with_sysroot;
++# Check whether --with-libtool-sysroot was given.
++if test "${with_libtool_sysroot+set}" = set; then :
++ withval=$with_libtool_sysroot;
+ else
+- with_sysroot=no
++ with_libtool_sysroot=no
+ fi
+
+
+ lt_sysroot=
+-case ${with_sysroot} in #(
++case ${with_libtool_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
+-$as_echo "${with_sysroot}" >&6; }
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
++$as_echo "${with_libtool_sysroot}" >&6; }
+ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+ ;;
+ esac
+Index: libtool-2.4/tests/f77demo/configure
+===================================================================
+--- libtool-2.4.orig/tests/f77demo/configure
++++ libtool-2.4/tests/f77demo/configure
+@@ -730,7 +730,7 @@ enable_static
+ with_pic
+ enable_fast_install
+ with_gnu_ld
+-with_sysroot
++with_libtool_sysroot
+ enable_libtool_lock
+ '
+ ac_precious_vars='build_alias
+@@ -1382,7 +1382,7 @@ Optional Packages:
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+- --with-sysroot=DIR Search for dependent libraries within DIR
++ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).
+
+ Some influential environment variables:
+@@ -6864,29 +6864,29 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+ $as_echo_n "checking for sysroot... " >&6; }
+
+-# Check whether --with-sysroot was given.
+-if test "${with_sysroot+set}" = set; then :
+- withval=$with_sysroot;
++# Check whether --with-libtool-sysroot was given.
++if test "${with_libtool_sysroot+set}" = set; then :
++ withval=$with_libtool_sysroot;
+ else
+- with_sysroot=no
++ with_libtool_sysroot=no
+ fi
+
+
+ lt_sysroot=
+-case ${with_sysroot} in #(
++case ${with_libtool_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
+-$as_echo "${with_sysroot}" >&6; }
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
++$as_echo "${with_libtool_sysroot}" >&6; }
+ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+ ;;
+ esac
+Index: libtool-2.4/tests/fcdemo/configure
+===================================================================
+--- libtool-2.4.orig/tests/fcdemo/configure
++++ libtool-2.4/tests/fcdemo/configure
+@@ -731,7 +731,7 @@ enable_static
+ with_pic
+ enable_fast_install
+ with_gnu_ld
+-with_sysroot
++with_libtool_sysroot
+ enable_libtool_lock
+ '
+ ac_precious_vars='build_alias
+@@ -1383,7 +1383,7 @@ Optional Packages:
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+- --with-sysroot=DIR Search for dependent libraries within DIR
++ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).
+
+ Some influential environment variables:
+@@ -6963,29 +6963,29 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+ $as_echo_n "checking for sysroot... " >&6; }
+
+-# Check whether --with-sysroot was given.
+-if test "${with_sysroot+set}" = set; then :
+- withval=$with_sysroot;
++# Check whether --with-libtool-sysroot was given.
++if test "${with_libtool_sysroot+set}" = set; then :
++ withval=$with_libtool_sysroot;
+ else
+- with_sysroot=no
++ with_libtool_sysroot=no
+ fi
+
+
+ lt_sysroot=
+-case ${with_sysroot} in #(
++case ${with_libtool_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
+-$as_echo "${with_sysroot}" >&6; }
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
++$as_echo "${with_libtool_sysroot}" >&6; }
+ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+ ;;
+ esac
+Index: libtool-2.4/tests/mdemo/configure
+===================================================================
+--- libtool-2.4.orig/tests/mdemo/configure
++++ libtool-2.4/tests/mdemo/configure
+@@ -734,7 +734,7 @@ enable_static
+ with_pic
+ enable_fast_install
+ with_gnu_ld
+-with_sysroot
++with_libtool_sysroot
+ enable_libtool_lock
+ '
+ ac_precious_vars='build_alias
+@@ -1381,7 +1381,7 @@ Optional Packages:
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+- --with-sysroot=DIR Search for dependent libraries within DIR
++ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).
+
+ Some influential environment variables:
+@@ -5911,29 +5911,29 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+ $as_echo_n "checking for sysroot... " >&6; }
+
+-# Check whether --with-sysroot was given.
+-if test "${with_sysroot+set}" = set; then :
+- withval=$with_sysroot;
++# Check whether --with-libtool-sysroot was given.
++if test "${with_libtool_sysroot+set}" = set; then :
++ withval=$with_libtool_sysroot;
+ else
+- with_sysroot=no
++ with_libtool_sysroot=no
+ fi
+
+
+ lt_sysroot=
+-case ${with_sysroot} in #(
++case ${with_libtool_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
+-$as_echo "${with_sysroot}" >&6; }
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
++$as_echo "${with_libtool_sysroot}" >&6; }
+ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+ ;;
+ esac
+Index: libtool-2.4/tests/mdemo2/configure
+===================================================================
+--- libtool-2.4.orig/tests/mdemo2/configure
++++ libtool-2.4/tests/mdemo2/configure
+@@ -726,7 +726,7 @@ enable_static
+ with_pic
+ enable_fast_install
+ with_gnu_ld
+-with_sysroot
++with_libtool_sysroot
+ enable_libtool_lock
+ '
+ ac_precious_vars='build_alias
+@@ -1373,7 +1373,7 @@ Optional Packages:
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+- --with-sysroot=DIR Search for dependent libraries within DIR
++ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).
+
+ Some influential environment variables:
+@@ -5884,29 +5884,29 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+ $as_echo_n "checking for sysroot... " >&6; }
+
+-# Check whether --with-sysroot was given.
+-if test "${with_sysroot+set}" = set; then :
+- withval=$with_sysroot;
++# Check whether --with-libtool-sysroot was given.
++if test "${with_libtool_sysroot+set}" = set; then :
++ withval=$with_libtool_sysroot;
+ else
+- with_sysroot=no
++ with_libtool_sysroot=no
+ fi
+
+
+ lt_sysroot=
+-case ${with_sysroot} in #(
++case ${with_libtool_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
+-$as_echo "${with_sysroot}" >&6; }
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
++$as_echo "${with_libtool_sysroot}" >&6; }
+ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+ ;;
+ esac
+Index: libtool-2.4/tests/pdemo/configure
+===================================================================
+--- libtool-2.4.orig/tests/pdemo/configure
++++ libtool-2.4/tests/pdemo/configure
+@@ -729,7 +729,7 @@ enable_static
+ with_pic
+ enable_fast_install
+ with_gnu_ld
+-with_sysroot
++with_libtool_sysroot
+ enable_libtool_lock
+ '
+ ac_precious_vars='build_alias
+@@ -1376,7 +1376,7 @@ Optional Packages:
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+- --with-sysroot=DIR Search for dependent libraries within DIR
++ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).
+
+ Some influential environment variables:
+@@ -5887,29 +5887,29 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+ $as_echo_n "checking for sysroot... " >&6; }
+
+-# Check whether --with-sysroot was given.
+-if test "${with_sysroot+set}" = set; then :
+- withval=$with_sysroot;
++# Check whether --with-libtool-sysroot was given.
++if test "${with_libtool_sysroot+set}" = set; then :
++ withval=$with_libtool_sysroot;
+ else
+- with_sysroot=no
++ with_libtool_sysroot=no
+ fi
+
+
+ lt_sysroot=
+-case ${with_sysroot} in #(
++case ${with_libtool_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
+-$as_echo "${with_sysroot}" >&6; }
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
++$as_echo "${with_libtool_sysroot}" >&6; }
+ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+ ;;
+ esac
+Index: libtool-2.4/tests/sysroot.at
+===================================================================
+--- libtool-2.4.orig/tests/sysroot.at
++++ libtool-2.4/tests/sysroot.at
+@@ -64,7 +64,7 @@ while read file; do
+ done])
+
+ LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined"
+-configure_options="$configure_options --with-sysroot=$sysroot --prefix=$prefix"
++configure_options="$configure_options --with-libtool-sysroot=$sysroot --prefix=$prefix"
+
+ #???
+ if test "$shlibpath_var" = PATH; then
+@@ -114,7 +114,7 @@ AM_INIT_AUTOMAKE([foreign])
+ AC_PROG_CC
+ AC_CONFIG_SRCDIR([lib2.c])
+ LT_INIT
+-sysroot=$with_sysroot
++sysroot=$with_libtool_sysroot
+ AC_SUBST([sysroot])
+ AC_OUTPUT(Makefile)
+ ]])
+@@ -155,7 +155,7 @@ AM_INIT_AUTOMAKE([foreign])
+ AC_PROG_CC
+ AC_CONFIG_SRCDIR([prog.c])
+ LT_INIT
+-sysroot=$with_sysroot
++sysroot=$with_libtool_sysroot
+ AC_SUBST([sysroot])
+ AC_OUTPUT(Makefile)
+ ]])
+Index: libtool-2.4/tests/tagdemo/configure
+===================================================================
+--- libtool-2.4.orig/tests/tagdemo/configure
++++ libtool-2.4/tests/tagdemo/configure
+@@ -736,7 +736,7 @@ enable_static
+ with_pic
+ enable_fast_install
+ with_gnu_ld
+-with_sysroot
++with_libtool_sysroot
+ enable_libtool_lock
+ with_gnu_ld
+ '
+@@ -1392,7 +1392,7 @@ Optional Packages:
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+- --with-sysroot=DIR Search for dependent libraries within DIR
++ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).
+
+ Some influential environment variables:
+@@ -6907,29 +6907,29 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+ $as_echo_n "checking for sysroot... " >&6; }
+
+-# Check whether --with-sysroot was given.
+-if test "${with_sysroot+set}" = set; then :
+- withval=$with_sysroot;
++# Check whether --with-libtool-sysroot was given.
++if test "${with_libtool_sysroot+set}" = set; then :
++ withval=$with_libtool_sysroot;
+ else
+- with_sysroot=no
++ with_libtool_sysroot=no
+ fi
+
+
+ lt_sysroot=
+-case ${with_sysroot} in #(
++case ${with_libtool_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
+-$as_echo "${with_sysroot}" >&6; }
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
++$as_echo "${with_libtool_sysroot}" >&6; }
+ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+ ;;
+ esac
+Index: libtool-2.4/tests/testsuite
+===================================================================
+--- libtool-2.4.orig/tests/testsuite
++++ libtool-2.4/tests/testsuite
+@@ -25277,7 +25277,7 @@ $at_traceon; }
+
+
+ LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined"
+-configure_options="$configure_options --with-sysroot=$sysroot --prefix=$prefix"
++configure_options="$configure_options --with-libtool-sysroot=$sysroot --prefix=$prefix"
+
+ #???
+ if test "$shlibpath_var" = PATH; then
+@@ -25475,7 +25475,7 @@ AM_INIT_AUTOMAKE([foreign])
+ AC_PROG_CC
+ AC_CONFIG_SRCDIR([lib2.c])
+ LT_INIT
+-sysroot=$with_sysroot
++sysroot=$with_libtool_sysroot
+ AC_SUBST([sysroot])
+ AC_OUTPUT(Makefile)
+ _ATEOF
+@@ -25652,7 +25652,7 @@ AM_INIT_AUTOMAKE([foreign])
+ AC_PROG_CC
+ AC_CONFIG_SRCDIR([prog.c])
+ LT_INIT
+-sysroot=$with_sysroot
++sysroot=$with_libtool_sysroot
+ AC_SUBST([sysroot])
+ AC_OUTPUT(Makefile)
+ _ATEOF
+@@ -25993,7 +25993,7 @@ $at_traceon; }
+
+
+ LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined"
+-configure_options="$configure_options --with-sysroot=$sysroot --prefix=$prefix"
++configure_options="$configure_options --with-libtool-sysroot=$sysroot --prefix=$prefix"
+
+ #???
+ if test "$shlibpath_var" = PATH; then
+@@ -26191,7 +26191,7 @@ AM_INIT_AUTOMAKE([foreign])
+ AC_PROG_CC
+ AC_CONFIG_SRCDIR([lib2.c])
+ LT_INIT
+-sysroot=$with_sysroot
++sysroot=$with_libtool_sysroot
+ AC_SUBST([sysroot])
+ AC_OUTPUT(Makefile)
+ _ATEOF
+@@ -26368,7 +26368,7 @@ AM_INIT_AUTOMAKE([foreign])
+ AC_PROG_CC
+ AC_CONFIG_SRCDIR([prog.c])
+ LT_INIT
+-sysroot=$with_sysroot
++sysroot=$with_libtool_sysroot
+ AC_SUBST([sysroot])
+ AC_OUTPUT(Makefile)
+ _ATEOF
+@@ -26709,7 +26709,7 @@ $at_traceon; }
+
+
+ LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined"
+-configure_options="$configure_options --with-sysroot=$sysroot --prefix=$prefix"
++configure_options="$configure_options --with-libtool-sysroot=$sysroot --prefix=$prefix"
+
+ #???
+ if test "$shlibpath_var" = PATH; then
+@@ -26907,7 +26907,7 @@ AM_INIT_AUTOMAKE([foreign])
+ AC_PROG_CC
+ AC_CONFIG_SRCDIR([lib2.c])
+ LT_INIT
+-sysroot=$with_sysroot
++sysroot=$with_libtool_sysroot
+ AC_SUBST([sysroot])
+ AC_OUTPUT(Makefile)
+ _ATEOF
+@@ -27084,7 +27084,7 @@ AM_INIT_AUTOMAKE([foreign])
+ AC_PROG_CC
+ AC_CONFIG_SRCDIR([prog.c])
+ LT_INIT
+-sysroot=$with_sysroot
++sysroot=$with_libtool_sysroot
+ AC_SUBST([sysroot])
+ AC_OUTPUT(Makefile)
+ _ATEOF
diff --git a/meta/recipes-devtools/libtool/libtool/resolve-sysroot.patch b/meta/recipes-devtools/libtool/libtool/resolve-sysroot.patch
new file mode 100644
index 000000000..54f7f5b73
--- /dev/null
+++ b/meta/recipes-devtools/libtool/libtool/resolve-sysroot.patch
@@ -0,0 +1,40 @@
+Sometimes .las have =/a/b/c.la in dependency_libs. This should be
+resolved to sysroot.
+
+-Khem Raj <raj.khem@gmail.com>
+
+Index: libtool-2.4/libltdl/config/ltmain.m4sh
+===================================================================
+--- libtool-2.4.orig/libltdl/config/ltmain.m4sh
++++ libtool-2.4/libltdl/config/ltmain.m4sh
+@@ -8479,7 +8479,8 @@ EOF
+ *.la)
+ func_basename "$deplib"
+ name="$func_basename_result"
+- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
++ func_resolve_sysroot "$deplib"
++ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
+ func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
+@@ -8505,7 +8506,9 @@ EOF
+ *.la)
+ func_basename "$lib"
+ name="$func_basename_result"
+- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
++ func_resolve_sysroot "$lib"
++ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
++
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+ func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
+@@ -8524,7 +8527,8 @@ EOF
+ # the library:
+ func_basename "$lib"
+ name="$func_basename_result"
+- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
++ func_resolve_sysroot "$lib"
++ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+ func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
diff --git a/meta/recipes-devtools/libtool/libtool/use-sysroot-in-libpath.patch b/meta/recipes-devtools/libtool/libtool/use-sysroot-in-libpath.patch
new file mode 100644
index 000000000..4d9e90c14
--- /dev/null
+++ b/meta/recipes-devtools/libtool/libtool/use-sysroot-in-libpath.patch
@@ -0,0 +1,20 @@
+When using sysroot we should append it to libdir, which is helpful in
+cross builds as the system is staged in the sysroot. For normal builds,
+i.e. when lt_sysroot is not set, it will still behave the same and add
+-L/usr/lib to the relink command.
+
+-Khem Raj <raj.khem@gmail.com>
+
+Index: libtool-2.4/libltdl/config/ltmain.m4sh
+===================================================================
+--- libtool-2.4.orig/libltdl/config/ltmain.m4sh
++++ libtool-2.4/libltdl/config/ltmain.m4sh
+@@ -6122,7 +6122,7 @@ func_mode_link ()
+ fi
+ else
+ # We cannot seem to hardcode it, guess we'll fake it.
+- add_dir="-L$libdir"
++ add_dir="-L$lt_sysroot$libdir"
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
diff --git a/meta/recipes-devtools/libtool/libtool_2.4.bb b/meta/recipes-devtools/libtool/libtool_2.4.bb
index b5ec33e84..a820bed0d 100644
--- a/meta/recipes-devtools/libtool/libtool_2.4.bb
+++ b/meta/recipes-devtools/libtool/libtool_2.4.bb
@@ -1,23 +1,6 @@
-require libtool.inc
-DEPENDS = "libtool-native"
+require libtool-${PV}.inc
-PR = "r0"
-
-PACKAGES =+ "libltdl libltdl-dev libltdl-dbg"
-FILES_${PN} += "${datadir}/aclocal*"
-FILES_libltdl = "${libdir}/libltdl.so.*"
-FILES_libltdl-dev = "${libdir}/libltdl.* ${includedir}/ltdl.h"
-FILES_libltdl-dbg = "${libdir}/.debug/"
-
-inherit autotools
-
-EXTRA_AUTORECONF = "--exclude=libtoolize"
-
-do_compile_prepend () {
- # Sometimes this file doesn't get rebuilt, force the issue
- rm -f ${S}/libltdl/config/ltmain.sh
- make libltdl/config/ltmain.sh
-}
+PR = "r1"
#
# We want the results of libtool-cross preserved - don't stage anything ourselves.
@@ -25,12 +8,8 @@ do_compile_prepend () {
SYSROOT_PREPROCESS_FUNCS += "libtool_sysroot_preprocess"
libtool_sysroot_preprocess () {
- if [ "${PN}" == "libtool" ]; then
- rm -rf ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${bindir}/*
- rm -rf ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${datadir}/aclocal/*
- rm -rf ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${datadir}/libtool/config/*
- fi
+ rm -rf ${SYSROOT_DESTDIR}${bindir}/*
+ rm -rf ${SYSROOT_DESTDIR}${datadir}/aclocal/*
+ rm -rf ${SYSROOT_DESTDIR}${datadir}/libtool/config/*
}
-SRC_URI[md5sum] = "b32b04148ecdd7344abc6fe8bd1bb021"
-SRC_URI[sha256sum] = "13df57ab63a94e196c5d6e95d64e53262834fe780d5e82c28f177f9f71ddf62e"
diff --git a/meta/recipes-devtools/mklibs/files/ac_init_fix.patch b/meta/recipes-devtools/mklibs/files/ac_init_fix.patch
new file mode 100644
index 000000000..732593153
--- /dev/null
+++ b/meta/recipes-devtools/mklibs/files/ac_init_fix.patch
@@ -0,0 +1,17 @@
+Get the version of mklibs by simpler means. The MKLIBS_VERSION string in the
+configure.ac file is replaced with real version string by the
+do_configure_prepend() function from the recipe .bb file.
+
+Nitin A Kamble <nitin.a.kamble@intel.com>
+Date: 2011/01/24
+
+Index: mklibs/configure.ac
+===================================================================
+--- mklibs.orig/configure.ac 2010-02-21 17:34:56.000000000 -0800
++++ mklibs/configure.ac 2011-01-24 18:52:19.943242079 -0800
+@@ -1,4 +1,4 @@
+-AC_INIT([mklibs],m4_esyscmd(dpkg-parsechangelog | perl -ne 'print $1 if m/^Version: (.*)$/;'))
++AC_INIT([mklibs], MKLIBS_VERSION)
+ AM_INIT_AUTOMAKE([foreign no-define])
+ AC_CONFIG_HEADERS([config.h])
+ AM_MAINTAINER_MODE
diff --git a/meta/recipes-devtools/mklibs/mklibs-native_0.1.31.bb b/meta/recipes-devtools/mklibs/mklibs-native_0.1.31.bb
new file mode 100644
index 000000000..2044d125e
--- /dev/null
+++ b/meta/recipes-devtools/mklibs/mklibs-native_0.1.31.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "mklibs produces cut-down shared libraries that contain only the routines required by a particular set of executables."
+HOMEPAGE = "https://code.launchpad.net/mklibs"
+SECTION = "devel"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=98d31037b13d896e33890738ef01af64"
+DEPENDS = "python-native"
+
+PR = "r0"
+
+SRC_URI = "http://ftp.de.debian.org/debian/pool/main/m/mklibs/${BPN}_${PV}.tar.gz \
+ file://ac_init_fix.patch\
+"
+
+SRC_URI[md5sum] = "f4df0307ccbdf60070e42277513f27ed"
+SRC_URI[sha256sum] = "8f5595621eb09d52871c771861e81b032d10c31d15e5dd61fa7f5a9e5b7de405"
+
+S = "${WORKDIR}/${BPN}"
+
+inherit autotools gettext native
+
+do_configure_prepend() {
+ sed "s+MKLIBS_VERSION+${PV}+" ${S}/configure.ac
+}
diff --git a/meta/recipes-devtools/mtd/mtd-utils_1.4.1.bb b/meta/recipes-devtools/mtd/mtd-utils_1.4.1.bb
index 8189bffae..5e6db0ed5 100644
--- a/meta/recipes-devtools/mtd/mtd-utils_1.4.1.bb
+++ b/meta/recipes-devtools/mtd/mtd-utils_1.4.1.bb
@@ -11,7 +11,7 @@ SRC_URI = "git://git.infradead.org/mtd-utils.git;protocol=git;tag=v${PV} \
S = "${WORKDIR}/git/"
-PR = "r0"
+PR = "r1"
EXTRA_OEMAKE = "'CC=${CC}' 'CFLAGS=${CFLAGS} -I${S}/include -DWITHOUT_XATTR' 'BUILDDIR=${S}'"
diff --git a/meta/recipes-devtools/openjade/openjade-1.3.2/autoconf.patch b/meta/recipes-devtools/openjade/openjade-1.3.2/autoconf.patch
new file mode 100644
index 000000000..fe8df5bb4
--- /dev/null
+++ b/meta/recipes-devtools/openjade/openjade-1.3.2/autoconf.patch
@@ -0,0 +1,173 @@
+Patch obtained from OpenEmbedded.
+
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+-- config/acinclude.m4
++++ config/acinclude.m4 2002/04/08 23:13:37
+@@ -0,0 +1,61 @@
++dnl Configure-time switch with default
++dnl
++dnl Each switch defines an --enable-FOO and --disable-FOO option in
++dnl the resulting configure script.
++dnl
++dnl Usage:
++dnl SMR_SWITCH(name, description, default, pos-def, neg-def)
++dnl
++dnl where:
++dnl
++dnl name name of switch; generates --enable-name & --disable-name
++dnl options
++dnl description help string is set to this prefixed by "enable" or
++dnl "disable", whichever is the non-default value
++dnl default either "on" or "off"; specifies default if neither
++dnl --enable-name nor --disable-name is specified
++dnl pos-def a symbol to AC_DEFINE if switch is on (optional)
++dnl neg-def a symbol to AC_DEFINE if switch is off (optional)
++dnl
++AC_DEFUN(SMR_SWITCH, [
++ AC_MSG_CHECKING(whether to enable $2)
++ AC_ARG_ENABLE(
++ $1,
++ ifelse($3, on,
++ [ --disable-[$1] disable [$2]],
++ [ --enable-[$1] enable [$2]]),
++ [ if test "$enableval" = yes; then
++ AC_MSG_RESULT(yes)
++ ifelse($4, , , AC_DEFINE($4))
++ else
++ AC_MSG_RESULT(no)
++ ifelse($5, , , AC_DEFINE($5))
++ fi ],
++ ifelse($3, on,
++ [ AC_MSG_RESULT(yes)
++ ifelse($4, , , AC_DEFINE($4)) ],
++ [ AC_MSG_RESULT(no)
++ ifelse($5, , , AC_DEFINE($5))]))])
++
++dnl
++dnl Examine size_t and define SIZE_T_IS_UINT, if size_t is an unsigned int
++dnl
++AC_DEFUN(OJ_SIZE_T_IS_UINT,[
++ AC_REQUIRE([AC_TYPE_SIZE_T])
++ AC_MSG_CHECKING(whether size_t is unsigned int)
++ ac_cv_size_t_is_uint=no
++ AC_LANG_SAVE
++ AC_LANG_CPLUSPLUS
++ AC_TRY_COMPILE([#include <unistd.h>
++
++ template<class T> class foo { };
++
++ ], [
++ foo<size_t> x;
++ foo<unsigned int> y;
++ x = y;
++ ],ac_cv_size_t_is_uint=yes)
++ AC_LANG_RESTORE
++ AC_MSG_RESULT($ac_cv_size_t_is_uint)
++ test "$ac_cv_size_t_is_uint" = "yes" && AC_DEFINE(SIZE_T_IS_UINT)
++])
+Index: openjade-1.3.2/config/acinclude.m4
+===================================================================
+--- openjade-1.3.2.orig/config/acinclude.m4
++++ openjade-1.3.2/config/acinclude.m4
+@@ -1,3 +1,64 @@
++dnl Configure-time switch with default
++dnl
++dnl Each switch defines an --enable-FOO and --disable-FOO option in
++dnl the resulting configure script.
++dnl
++dnl Usage:
++dnl SMR_SWITCH(name, description, default, pos-def, neg-def)
++dnl
++dnl where:
++dnl
++dnl name name of switch; generates --enable-name & --disable-name
++dnl options
++dnl description help string is set to this prefixed by "enable" or
++dnl "disable", whichever is the non-default value
++dnl default either "on" or "off"; specifies default if neither
++dnl --enable-name nor --disable-name is specified
++dnl pos-def a symbol to AC_DEFINE if switch is on (optional)
++dnl neg-def a symbol to AC_DEFINE if switch is off (optional)
++dnl
++AC_DEFUN(SMR_SWITCH, [
++ AC_MSG_CHECKING(whether to enable $2)
++ AC_ARG_ENABLE(
++ $1,
++ ifelse($3, on,
++ [ --disable-[$1] disable [$2]],
++ [ --enable-[$1] enable [$2]]),
++ [ if test "$enableval" = yes; then
++ AC_MSG_RESULT(yes)
++ ifelse($4, , , AC_DEFINE($4))
++ else
++ AC_MSG_RESULT(no)
++ ifelse($5, , , AC_DEFINE($5))
++ fi ],
++ ifelse($3, on,
++ [ AC_MSG_RESULT(yes)
++ ifelse($4, , , AC_DEFINE($4)) ],
++ [ AC_MSG_RESULT(no)
++ ifelse($5, , , AC_DEFINE($5))]))])
++
++dnl
++dnl Examine size_t and define SIZE_T_IS_UINT, if size_t is an unsigned int
++dnl
++AC_DEFUN(OJ_SIZE_T_IS_UINT,[
++ AC_REQUIRE([AC_TYPE_SIZE_T])
++ AC_MSG_CHECKING(whether size_t is unsigned int)
++ ac_cv_size_t_is_uint=no
++ AC_LANG_SAVE
++ AC_LANG_CPLUSPLUS
++ AC_TRY_COMPILE([#include <unistd.h>
++
++ template<class T> class foo { };
++
++ ], [
++ foo<size_t> x;
++ foo<unsigned int> y;
++ x = y;
++ ],ac_cv_size_t_is_uint=yes)
++ AC_LANG_RESTORE
++ AC_MSG_RESULT($ac_cv_size_t_is_uint)
++ test "$ac_cv_size_t_is_uint" = "yes" && AC_DEFINE(SIZE_T_IS_UINT)
++])
+ dnl
+ dnl Examine size_t and define SIZE_T_IS_UINT, if size_t is an unsigned int
+ dnl
+Index: openjade-1.3.2/config/aclocal.m4
+===================================================================
+--- openjade-1.3.2.orig/config/aclocal.m4
++++ openjade-1.3.2/config/aclocal.m4
+@@ -3352,7 +3352,7 @@ dnl Each switch defines an --enable-FOO
+ dnl the resulting configure script.
+ dnl
+ dnl Usage:
+-dnl smr_SWITCH(name, description, default, pos-def, neg-def)
++dnl SMR_SWITCH(name, description, default, pos-def, neg-def)
+ dnl
+ dnl where:
+ dnl
+@@ -3365,7 +3365,7 @@ dnl --enable-name nor --disa
+ dnl pos-def a symbol to AC_DEFINE if switch is on (optional)
+ dnl neg-def a symbol to AC_DEFINE if switch is off (optional)
+ dnl
+-AC_DEFUN(smr_SWITCH, [
++AC_DEFUN(SMR_SWITCH, [
+ AC_MSG_CHECKING(whether to enable $2)
+ AC_ARG_ENABLE(
+ $1,
+Index: openjade-1.3.2/config/configure.in
+===================================================================
+--- openjade-1.3.2.orig/config/configure.in
++++ openjade-1.3.2/config/configure.in
+@@ -243,8 +243,8 @@ AC_ARG_ENABLE(http,
+ dnl
+ dnl optional backends
+ dnl
+-smr_SWITCH(mif, support for FrameMaker MIF output, on, JADE_MIF, DUMMY)
+-smr_SWITCH(html, support for HTML+CSS output, on, JADE_HTML, DUMMY)
++SMR_SWITCH(mif, support for FrameMaker MIF output, on, JADE_MIF, DUMMY)
++SMR_SWITCH(html, support for HTML+CSS output, on, JADE_HTML, DUMMY)
+
+
+ dnl
diff --git a/meta/recipes-devtools/openjade/openjade-1.3.2/configure.patch b/meta/recipes-devtools/openjade/openjade-1.3.2/configure.patch
new file mode 100644
index 000000000..2dcaa4d9e
--- /dev/null
+++ b/meta/recipes-devtools/openjade/openjade-1.3.2/configure.patch
@@ -0,0 +1,68 @@
+Patch obtained from OpenEmbedded.
+
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+--- /dev/null 2003-09-23 18:19:32.000000000 -0400
++++ openjade-1.3.2/config/acinclude.m4 2004-01-20 14:39:20.000000000 -0500
+@@ -0,0 +1,62 @@
++dnl
++dnl Examine size_t and define SIZE_T_IS_UINT, if size_t is an unsigned int
++dnl
++AC_DEFUN(OJ_SIZE_T_IS_UINT,[
++ AC_REQUIRE([AC_TYPE_SIZE_T])
++ AC_MSG_CHECKING(whether size_t is unsigned int)
++ ac_cv_size_t_is_uint=no
++ AC_LANG_SAVE
++ AC_LANG_CPLUSPLUS
++ AC_TRY_COMPILE([#include <unistd.h>
++
++ template<class T> class foo { };
++
++ ], [
++ foo<size_t> x;
++ foo<unsigned int> y;
++ x = y;
++ ],ac_cv_size_t_is_uint=yes)
++ AC_LANG_RESTORE
++ AC_MSG_RESULT($ac_cv_size_t_is_uint)
++ test "$ac_cv_size_t_is_uint" = "yes" && AC_DEFINE(SIZE_T_IS_UINT)
++])
++
++dnl Configure-time switch with default
++dnl
++dnl Each switch defines an --enable-FOO and --disable-FOO option in
++dnl the resulting configure script.
++dnl
++dnl Usage:
++dnl smr_SWITCH(name, description, default, pos-def, neg-def)
++dnl
++dnl where:
++dnl
++dnl name name of switch; generates --enable-name & --disable-name
++dnl options
++dnl description help string is set to this prefixed by "enable" or
++dnl "disable", whichever is the non-default value
++dnl default either "on" or "off"; specifies default if neither
++dnl --enable-name nor --disable-name is specified
++dnl pos-def a symbol to AC_DEFINE if switch is on (optional)
++dnl neg-def a symbol to AC_DEFINE if switch is off (optional)
++dnl
++AC_DEFUN(smr_SWITCH, [
++ AC_MSG_CHECKING(whether to enable $2)
++ AC_ARG_ENABLE(
++ $1,
++ ifelse($3, on,
++ [ --disable-[$1] disable [$2]],
++ [ --enable-[$1] enable [$2]]),
++ [ if test "$enableval" = yes; then
++ AC_MSG_RESULT(yes)
++ ifelse($4, , , AC_DEFINE($4))
++ else
++ AC_MSG_RESULT(no)
++ ifelse($5, , , AC_DEFINE($5))
++ fi ],
++ ifelse($3, on,
++ [ AC_MSG_RESULT(yes)
++ ifelse($4, , , AC_DEFINE($4)) ],
++ [ AC_MSG_RESULT(no)
++ ifelse($5, , , AC_DEFINE($5))]))])
++
diff --git a/meta/recipes-devtools/openjade/openjade-1.3.2/makefile.patch b/meta/recipes-devtools/openjade/openjade-1.3.2/makefile.patch
new file mode 100644
index 000000000..ac5c7447f
--- /dev/null
+++ b/meta/recipes-devtools/openjade/openjade-1.3.2/makefile.patch
@@ -0,0 +1,34 @@
+Patch obtained from OpenEmbedded.
+
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+Index: openjade-1.3.2/spgrove/Makefile.sub
+===================================================================
+--- openjade-1.3.2.orig/spgrove/Makefile.sub
++++ openjade-1.3.2/spgrove/Makefile.sub
+@@ -1,8 +1,8 @@
+ LTVERSION=0:1:0
+ LIB=ospgrove
+ INCLUDE=-I$(srcdir)/../grove
+-DEPLIBS=-lm -L$(TOP)/grove -L$(TOP)/grove/.libs \
+- -L$(TOP)/lib -L$(TOP)/lib/.libs \
++DEPLIBS=-lm $(TOP)/grove \
++ $(TOP)/lib \
+ $(LIB_THREADS)
+ OBJS=GroveApp.o GroveBuilder.o SdNode.o
+ GENSRCS=grove_inst.cxx
+Index: openjade-1.3.2/style/Makefile.sub
+===================================================================
+--- openjade-1.3.2.orig/style/Makefile.sub
++++ openjade-1.3.2/style/Makefile.sub
+@@ -1,8 +1,8 @@
+ LTVERSION=0:1:0
+ LIB=ostyle
+-DEPLIBS=-lm -L$(TOP)/grove -L$(TOP)/grove/.libs \
+- -L$(TOP)/lib -L$(TOP)/lib/.libs \
+- -L$(TOP)/spgrove -L$(TOP)/spgrove/.libs
++DEPLIBS=-lm $(TOP)/grove \
++ $(TOP)/lib \
++ $(TOP)/spgrove
+ OBJS=LangObj.o \
+ Collector.o \
+ DssslApp.o \
diff --git a/meta/recipes-devtools/openjade/openjade-1.3.2/oj-native-libosp-fix.patch b/meta/recipes-devtools/openjade/openjade-1.3.2/oj-native-libosp-fix.patch
new file mode 100644
index 000000000..48e38048b
--- /dev/null
+++ b/meta/recipes-devtools/openjade/openjade-1.3.2/oj-native-libosp-fix.patch
@@ -0,0 +1,15 @@
+Patch obtained from OpenEmbedded.
+
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+Index: openjade-1.3.2/Makefile.prog.in
+===================================================================
+--- openjade-1.3.2.orig/Makefile.prog.in 2007-12-21 14:48:00.000000000 +0100
++++ openjade-1.3.2/Makefile.prog.in 2007-12-21 14:50:12.000000000 +0100
+@@ -13,6 +13,7 @@
+ ALL_LIBS = $(XLIBS) $(LIBS)
+ Makefile.lt:
+ echo 'LT_LIBS='`echo $(ALL_LIBS)|sed 's/\.a/.la/g'` >Makefile.lt
++ sed -i -e "s|libosp.la|libosp.so|" Makefile.lt
+
+ PROG:=$(shell echo "$(PROG)" | sed '@program_transform_name@')
+
diff --git a/meta/recipes-devtools/openjade/openjade_1.3.2.bb b/meta/recipes-devtools/openjade/openjade_1.3.2.bb
new file mode 100644
index 000000000..f2ad8aef7
--- /dev/null
+++ b/meta/recipes-devtools/openjade/openjade_1.3.2.bb
@@ -0,0 +1,66 @@
+SUMMARY = "Tools for working with DSSSL stylesheets for SGML and XML documents"
+DESCRIPTION = "OpenJade is a suite of tools for validating, \
+processing, and applying DSSSL (Document Style Semantics and \
+Specification Language) stylesheets to SGML and XML documents."
+HOMEPAGE = "http://openjade.sourceforge.net"
+SECTION = "base"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=641ff1e4511f0a87044ad42f87cb1045"
+
+PR = "r0"
+
+DEPENDS = "opensp"
+RDEPENDS_${PN} = "sgml-common"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/openjade/openjade-${PV}.tar.gz \
+ file://configure.patch \
+ file://autoconf.patch \
+ file://makefile.patch \
+ "
+
+SRC_URI[md5sum] = "7df692e3186109cc00db6825b777201e"
+SRC_URI[sha256sum] = "1d2d7996cc94f9b87d0c51cf0e028070ac177c4123ecbfd7ac1cb8d0b7d322d1"
+
+SRC_URI_append_virtclass-native = " file://oj-native-libosp-fix.patch"
+
+inherit autotools
+
+EXTRA_OECONF = "--enable-spincludedir=${STAGING_INCDIR}/OpenSP \
+ --enable-splibdir=${STAGING_LIBDIR}"
+
+acpaths = "-I ${S}/config"
+
+# Trailing whitespace is important. Otherwise compiler arguments will be messed
+# up, resulting in a fail in do_configure.
+CFLAGS_prepend = "-I${S}/include "
+
+do_configure_append () {
+ cp config/configure.in .
+}
+
+do_install_append () {
+ # Refer to http://www.linuxfromscratch.org/blfs/view/stable/pst/openjade.html
+ # for details.
+ install -m 0755 ${S}/jade/.libs/openjade ${D}${bindir}/openjade
+ ln -sf openjade ${D}${bindir}/jade
+
+ oe_libinstall -a -so -C style libostyle ${D}${libdir}
+ oe_libinstall -a -so -C spgrove libospgrove ${D}${libdir}
+ oe_libinstall -a -so -C grove libogrove ${D}${libdir}
+
+ install -d ${D}${datadir}/sgml/openjade-${PV}
+ install -m 644 dsssl/catalog ${D}${datadir}/sgml/openjade-${PV}
+ install -m 644 dsssl/*.{dtd,dsl,sgm} ${D}${datadir}/sgml/openjade-${PV}
+
+ # The catalog must live in the sysroot and it must be there for
+ # install-catalog to do its thing.
+ install -d ${datadir}/sgml/openjade-${PV}
+ install -m 644 dsssl/catalog ${datadir}/sgml/openjade-${PV}/catalog
+ install-catalog --add ${sysconfdir}/sgml/openjade-${PV}.cat \
+ ${datadir}/sgml/openjade-${PV}/catalog
+
+ install-catalog --add ${sysconfdir}/sgml/sgml-docbook.cat \
+ ${sysconfdir}/sgml/openjade-${PV}.cat
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta/recipes-devtools/opensp/opensp/attributevalue.patch b/meta/recipes-devtools/opensp/opensp/attributevalue.patch
new file mode 100644
index 000000000..4f3507e19
--- /dev/null
+++ b/meta/recipes-devtools/opensp/opensp/attributevalue.patch
@@ -0,0 +1,62 @@
+Patch obtained from OpenEmbedded.
+
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+--- OpenSP-1.5/include/Attribute.h~attributevalue 2000-03-09 13:30:56.000000000 -0500
++++ OpenSP-1.5/include/Attribute.h 2004-01-20 14:11:36.000000000 -0500
+@@ -31,6 +31,28 @@
+ class AttributeContext;
+ class Syntax;
+
++class SP_API AttributeValue : public Resource {
++public:
++ enum Type {
++ implied,
++ cdata,
++ tokenized
++ };
++ AttributeValue();
++ virtual ~AttributeValue();
++ virtual AttributeSemantics *makeSemantics(const DeclaredValue *,
++ AttributeContext &,
++ const StringC &,
++ unsigned &,
++ unsigned &) const;
++ virtual Type info(const Text *&, const StringC *&) const = 0;
++ virtual const Text *text() const;
++ virtual Boolean recoverUnquoted(const StringC &, const Location &,
++ AttributeContext &, const StringC &);
++ static Boolean handleAsUnterminated(const Text &, AttributeContext &);
++};
++
++
+ class SP_API AttributeDefinitionDesc {
+ public:
+ AttributeDefinitionDesc() { }
+@@ -380,27 +402,6 @@
+ ConstPtr<Notation> notation_;
+ };
+
+-class SP_API AttributeValue : public Resource {
+-public:
+- enum Type {
+- implied,
+- cdata,
+- tokenized
+- };
+- AttributeValue();
+- virtual ~AttributeValue();
+- virtual AttributeSemantics *makeSemantics(const DeclaredValue *,
+- AttributeContext &,
+- const StringC &,
+- unsigned &,
+- unsigned &) const;
+- virtual Type info(const Text *&, const StringC *&) const = 0;
+- virtual const Text *text() const;
+- virtual Boolean recoverUnquoted(const StringC &, const Location &,
+- AttributeContext &, const StringC &);
+- static Boolean handleAsUnterminated(const Text &, AttributeContext &);
+-};
+-
+ class SP_API ImpliedAttributeValue : public AttributeValue {
+ public:
+ ImpliedAttributeValue();
diff --git a/meta/recipes-devtools/opensp/opensp/fix-docdir.patch b/meta/recipes-devtools/opensp/opensp/fix-docdir.patch
new file mode 100644
index 000000000..5e2fc8b74
--- /dev/null
+++ b/meta/recipes-devtools/opensp/opensp/fix-docdir.patch
@@ -0,0 +1,14 @@
+Patch obtained from OpenEmbedded.
+
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+Index: OpenSP-1.5/doc/Makefile.am
+===================================================================
+--- OpenSP-1.5.orig/doc/Makefile.am 2000-05-06 09:10:32.000000000 +1000
++++ OpenSP-1.5/doc/Makefile.am 2007-06-02 12:46:50.000000000 +1000
+@@ -1,6 +1,5 @@
+ ## Process this file with automake to produce Makefile.in
+
+-docdir = $(prefix)/doc
+ pkgdocdir = $(docdir)/@PACKAGE@
+
+ MAINTAINERCLEANFILES = Makefile.in
diff --git a/meta/recipes-devtools/opensp/opensp/m4.patch b/meta/recipes-devtools/opensp/opensp/m4.patch
new file mode 100644
index 000000000..a8504c581
--- /dev/null
+++ b/meta/recipes-devtools/opensp/opensp/m4.patch
@@ -0,0 +1,1925 @@
+Patch obtained from OpenEmbedded.
+
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+--- /dev/null 2003-09-23 18:19:32.000000000 -0400
++++ OpenSP-1.5/m4/codeset.m4 2004-01-20 03:01:28.000000000 -0500
+@@ -0,0 +1,23 @@
++# codeset.m4 serial AM1 (gettext-0.10.40)
++dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++AC_DEFUN([AM_LANGINFO_CODESET],
++[
++ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
++ [AC_TRY_LINK([#include <langinfo.h>],
++ [char* cs = nl_langinfo(CODESET);],
++ am_cv_langinfo_codeset=yes,
++ am_cv_langinfo_codeset=no)
++ ])
++ if test $am_cv_langinfo_codeset = yes; then
++ AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
++ [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
++ fi
++])
+--- /dev/null 2003-09-23 18:19:32.000000000 -0400
++++ OpenSP-1.5/m4/gettext.m4 2004-01-20 03:01:28.000000000 -0500
+@@ -0,0 +1,587 @@
++# gettext.m4 serial 17 (gettext-0.11.5)
++dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++dnl
++dnl This file can can be used in projects which are not available under
++dnl the GNU General Public License or the GNU Library General Public
++dnl License but which still want to provide support for the GNU gettext
++dnl functionality.
++dnl Please note that the actual code of the GNU gettext library is covered
++dnl by the GNU Library General Public License, and the rest of the GNU
++dnl gettext package package is covered by the GNU General Public License.
++dnl They are *not* in the public domain.
++
++dnl Authors:
++dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
++dnl Bruno Haible <haible@clisp.cons.org>, 2000-2002.
++
++dnl Macro to add for using GNU gettext.
++
++dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
++dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
++dnl default (if it is not specified or empty) is 'no-libtool'.
++dnl INTLSYMBOL should be 'external' for packages with no intl directory,
++dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
++dnl If INTLSYMBOL is 'use-libtool', then a libtool library
++dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
++dnl depending on --{enable,disable}-{shared,static} and on the presence of
++dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
++dnl $(top_builddir)/intl/libintl.a will be created.
++dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
++dnl implementations (in libc or libintl) without the ngettext() function
++dnl will be ignored. If NEEDSYMBOL is specified and is
++dnl 'need-formatstring-macros', then GNU gettext implementations that don't
++dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
++dnl INTLDIR is used to find the intl libraries. If empty,
++dnl the value `$(top_builddir)/intl/' is used.
++dnl
++dnl The result of the configuration is one of three cases:
++dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
++dnl and used.
++dnl Catalog format: GNU --> install in $(datadir)
++dnl Catalog extension: .mo after installation, .gmo in source tree
++dnl 2) GNU gettext has been found in the system's C library.
++dnl Catalog format: GNU --> install in $(datadir)
++dnl Catalog extension: .mo after installation, .gmo in source tree
++dnl 3) No internationalization, always use English msgid.
++dnl Catalog format: none
++dnl Catalog extension: none
++dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
++dnl The use of .gmo is historical (it was needed to avoid overwriting the
++dnl GNU format catalogs when building on a platform with an X/Open gettext),
++dnl but we keep it in order not to force irrelevant filename changes on the
++dnl maintainers.
++dnl
++AC_DEFUN([AM_GNU_GETTEXT],
++[
++ dnl Argument checking.
++ ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
++ [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
++])])])])])
++ ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
++ [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
++])])])])
++ define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
++ define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
++
++ AC_REQUIRE([AM_PO_SUBDIRS])dnl
++ ifelse(gt_included_intl, yes, [
++ AC_REQUIRE([AM_INTL_SUBDIR])dnl
++ ])
++
++ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ AC_REQUIRE([AC_LIB_RPATH])
++
++ dnl Sometimes libintl requires libiconv, so first search for libiconv.
++ dnl Ideally we would do this search only after the
++ dnl if test "$USE_NLS" = "yes"; then
++ dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then
++ dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
++ dnl the configure script would need to contain the same shell code
++ dnl again, outside any 'if'. There are two solutions:
++ dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
++ dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
++ dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
++ dnl documented, we avoid it.
++ ifelse(gt_included_intl, yes, , [
++ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
++ ])
++
++ AC_MSG_CHECKING([whether NLS is requested])
++ dnl Default is enabled NLS
++ AC_ARG_ENABLE(nls,
++ [ --disable-nls do not use Native Language Support],
++ USE_NLS=$enableval, USE_NLS=yes)
++ AC_MSG_RESULT($USE_NLS)
++ AC_SUBST(USE_NLS)
++
++ ifelse(gt_included_intl, yes, [
++ BUILD_INCLUDED_LIBINTL=no
++ USE_INCLUDED_LIBINTL=no
++ ])
++ LIBINTL=
++ LTLIBINTL=
++ POSUB=
++
++ dnl If we use NLS figure out what method
++ if test "$USE_NLS" = "yes"; then
++ gt_use_preinstalled_gnugettext=no
++ ifelse(gt_included_intl, yes, [
++ AC_MSG_CHECKING([whether included gettext is requested])
++ AC_ARG_WITH(included-gettext,
++ [ --with-included-gettext use the GNU gettext library included here],
++ nls_cv_force_use_gnu_gettext=$withval,
++ nls_cv_force_use_gnu_gettext=no)
++ AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
++
++ nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
++ if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
++ ])
++ dnl User does not insist on using GNU NLS library. Figure out what
++ dnl to use. If GNU gettext is available we use this. Else we have
++ dnl to fall back to GNU NLS library.
++
++ dnl Add a version number to the cache macros.
++ define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
++ define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
++ define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
++
++ AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
++ [AC_TRY_LINK([#include <libintl.h>
++]ifelse([$2], [need-formatstring-macros],
++[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
++#endif
++changequote(,)dnl
++typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
++changequote([,])dnl
++], [])[extern int _nl_msg_cat_cntr;
++extern int *_nl_domain_bindings;],
++ [bindtextdomain ("", "");
++return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
++ gt_cv_func_gnugettext_libc=yes,
++ gt_cv_func_gnugettext_libc=no)])
++
++ if test "$gt_cv_func_gnugettext_libc" != "yes"; then
++ dnl Sometimes libintl requires libiconv, so first search for libiconv.
++ ifelse(gt_included_intl, yes, , [
++ AM_ICONV_LINK
++ ])
++ dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
++ dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
++ dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
++ dnl even if libiconv doesn't exist.
++ AC_LIB_LINKFLAGS_BODY([intl])
++ AC_CACHE_CHECK([for GNU gettext in libintl],
++ gt_cv_func_gnugettext_libintl,
++ [gt_save_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS $INCINTL"
++ gt_save_LIBS="$LIBS"
++ LIBS="$LIBS $LIBINTL"
++ dnl Now see whether libintl exists and does not depend on libiconv.
++ AC_TRY_LINK([#include <libintl.h>
++]ifelse([$2], [need-formatstring-macros],
++[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
++#endif
++changequote(,)dnl
++typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
++changequote([,])dnl
++], [])[extern int _nl_msg_cat_cntr;
++extern
++#ifdef __cplusplus
++"C"
++#endif
++const char *_nl_expand_alias ();],
++ [bindtextdomain ("", "");
++return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
++ gt_cv_func_gnugettext_libintl=yes,
++ gt_cv_func_gnugettext_libintl=no)
++ dnl Now see whether libintl exists and depends on libiconv.
++ if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
++ LIBS="$LIBS $LIBICONV"
++ AC_TRY_LINK([#include <libintl.h>
++]ifelse([$2], [need-formatstring-macros],
++[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
++#endif
++changequote(,)dnl
++typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
++changequote([,])dnl
++], [])[extern int _nl_msg_cat_cntr;
++extern
++#ifdef __cplusplus
++"C"
++#endif
++const char *_nl_expand_alias ();],
++ [bindtextdomain ("", "");
++return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
++ [LIBINTL="$LIBINTL $LIBICONV"
++ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
++ gt_cv_func_gnugettext_libintl=yes
++ ])
++ fi
++ CPPFLAGS="$gt_save_CPPFLAGS"
++ LIBS="$gt_save_LIBS"])
++ fi
++
++ dnl If an already present or preinstalled GNU gettext() is found,
++ dnl use it. But if this macro is used in GNU gettext, and GNU
++ dnl gettext is already preinstalled in libintl, we update this
++ dnl libintl. (Cf. the install rule in intl/Makefile.in.)
++ if test "$gt_cv_func_gnugettext_libc" = "yes" \
++ || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
++ && test "$PACKAGE" != gettext; }; then
++ gt_use_preinstalled_gnugettext=yes
++ else
++ dnl Reset the values set by searching for libintl.
++ LIBINTL=
++ LTLIBINTL=
++ INCINTL=
++ fi
++
++ ifelse(gt_included_intl, yes, [
++ if test "$gt_use_preinstalled_gnugettext" != "yes"; then
++ dnl GNU gettext is not found in the C library.
++ dnl Fall back on included GNU gettext library.
++ nls_cv_use_gnu_gettext=yes
++ fi
++ fi
++
++ if test "$nls_cv_use_gnu_gettext" = "yes"; then
++ dnl Mark actions used to generate GNU NLS library.
++ INTLOBJS="\$(GETTOBJS)"
++ BUILD_INCLUDED_LIBINTL=yes
++ USE_INCLUDED_LIBINTL=yes
++ LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
++ LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
++ LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
++ fi
++
++ if test "$gt_use_preinstalled_gnugettext" = "yes" \
++ || test "$nls_cv_use_gnu_gettext" = "yes"; then
++ dnl Mark actions to use GNU gettext tools.
++ CATOBJEXT=.gmo
++ fi
++ ])
++
++ if test "$gt_use_preinstalled_gnugettext" = "yes" \
++ || test "$nls_cv_use_gnu_gettext" = "yes"; then
++ AC_DEFINE(ENABLE_NLS, 1,
++ [Define to 1 if translation of program messages to the user's native language
++ is requested.])
++ else
++ USE_NLS=no
++ fi
++ fi
++
++ if test "$USE_NLS" = "yes"; then
++
++ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
++ if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
++ AC_MSG_CHECKING([how to link with libintl])
++ AC_MSG_RESULT([$LIBINTL])
++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
++ fi
++
++ dnl For backward compatibility. Some packages may be using this.
++ AC_DEFINE(HAVE_GETTEXT, 1,
++ [Define if the GNU gettext() function is already present or preinstalled.])
++ AC_DEFINE(HAVE_DCGETTEXT, 1,
++ [Define if the GNU dcgettext() function is already present or preinstalled.])
++ fi
++
++ dnl We need to process the po/ directory.
++ POSUB=po
++ fi
++
++ ifelse(gt_included_intl, yes, [
++ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
++ dnl to 'yes' because some of the testsuite requires it.
++ if test "$PACKAGE" = gettext; then
++ BUILD_INCLUDED_LIBINTL=yes
++ fi
++
++ dnl Make all variables we use known to autoconf.
++ AC_SUBST(BUILD_INCLUDED_LIBINTL)
++ AC_SUBST(USE_INCLUDED_LIBINTL)
++ AC_SUBST(CATOBJEXT)
++ AC_SUBST(INTLOBJS)
++
++ dnl For backward compatibility. Some configure.ins may be using this.
++ nls_cv_header_intl=
++ nls_cv_header_libgt=
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ DATADIRNAME=share
++ AC_SUBST(DATADIRNAME)
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ INSTOBJEXT=.mo
++ AC_SUBST(INSTOBJEXT)
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ GENCAT=gencat
++ AC_SUBST(GENCAT)
++
++ dnl Enable libtool support if the surrounding package wishes it.
++ INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
++ AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
++ ])
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ INTLLIBS="$LIBINTL"
++ AC_SUBST(INTLLIBS)
++
++ dnl Make all documented variables known to autoconf.
++ AC_SUBST(LIBINTL)
++ AC_SUBST(LTLIBINTL)
++ AC_SUBST(POSUB)
++])
++
++
++dnl Checks for all prerequisites of the po subdirectory,
++dnl except for USE_NLS.
++AC_DEFUN([AM_PO_SUBDIRS],
++[
++ AC_REQUIRE([AC_PROG_MAKE_SET])dnl
++ AC_REQUIRE([AC_PROG_INSTALL])dnl
++ AC_REQUIRE([AM_MKINSTALLDIRS])dnl
++
++ dnl Perform the following tests also if --disable-nls has been given,
++ dnl because they are needed for "make dist" to work.
++
++ dnl Search for GNU msgfmt in the PATH.
++ dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
++ dnl The second test excludes FreeBSD msgfmt.
++ AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
++ [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
++ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
++ :)
++ AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
++
++ dnl Search for GNU xgettext 0.11 or newer in the PATH.
++ dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
++ dnl The second test excludes FreeBSD xgettext.
++ AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
++ [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
++ (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
++ :)
++ dnl Remove leftover from FreeBSD xgettext call.
++ rm -f messages.po
++
++ dnl Search for GNU msgmerge 0.11 or newer in the PATH.
++ AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
++ [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
++
++ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
++ dnl Test whether we really found GNU msgfmt.
++ if test "$GMSGFMT" != ":"; then
++ dnl If it is no GNU msgfmt we define it as : so that the
++ dnl Makefiles still can work.
++ if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
++ (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
++ : ;
++ else
++ GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
++ AC_MSG_RESULT(
++ [found $GMSGFMT program is not GNU msgfmt; ignore it])
++ GMSGFMT=":"
++ fi
++ fi
++
++ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
++ dnl Test whether we really found GNU xgettext.
++ if test "$XGETTEXT" != ":"; then
++ dnl If it is no GNU xgettext we define it as : so that the
++ dnl Makefiles still can work.
++ if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
++ (if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
++ : ;
++ else
++ AC_MSG_RESULT(
++ [found xgettext program is not GNU xgettext; ignore it])
++ XGETTEXT=":"
++ fi
++ dnl Remove leftover from FreeBSD xgettext call.
++ rm -f messages.po
++ fi
++
++ AC_OUTPUT_COMMANDS([
++ for ac_file in $CONFIG_FILES; do
++ # Support "outfile[:infile[:infile...]]"
++ case "$ac_file" in
++ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
++ esac
++ # PO directories have a Makefile.in generated from Makefile.in.in.
++ case "$ac_file" in */Makefile.in)
++ # Adjust a relative srcdir.
++ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
++ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
++ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
++ # In autoconf-2.13 it is called $ac_given_srcdir.
++ # In autoconf-2.50 it is called $srcdir.
++ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
++ case "$ac_given_srcdir" in
++ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
++ /*) top_srcdir="$ac_given_srcdir" ;;
++ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
++ esac
++ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
++ rm -f "$ac_dir/POTFILES"
++ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
++ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
++ # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
++ # on $ac_dir but don't depend on user-specified configuration
++ # parameters.
++ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
++ # The LINGUAS file contains the set of available languages.
++ if test -n "$ALL_LINGUAS"; then
++ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
++ fi
++ ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
++ # Hide the ALL_LINGUAS assigment from automake.
++ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
++ fi
++ case "$ac_given_srcdir" in
++ .) srcdirpre= ;;
++ *) srcdirpre='$(srcdir)/' ;;
++ esac
++ POFILES=
++ GMOFILES=
++ UPDATEPOFILES=
++ DUMMYPOFILES=
++ for lang in $ALL_LINGUAS; do
++ POFILES="$POFILES $srcdirpre$lang.po"
++ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
++ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
++ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
++ done
++ # CATALOGS depends on both $ac_dir and the user's LINGUAS
++ # environment variable.
++ INST_LINGUAS=
++ if test -n "$ALL_LINGUAS"; then
++ for presentlang in $ALL_LINGUAS; do
++ useit=no
++ if test "%UNSET%" != "$LINGUAS"; then
++ desiredlanguages="$LINGUAS"
++ else
++ desiredlanguages="$ALL_LINGUAS"
++ fi
++ for desiredlang in $desiredlanguages; do
++ # Use the presentlang catalog if desiredlang is
++ # a. equal to presentlang, or
++ # b. a variant of presentlang (because in this case,
++ # presentlang can be used as a fallback for messages
++ # which are not translated in the desiredlang catalog).
++ case "$desiredlang" in
++ "$presentlang"*) useit=yes;;
++ esac
++ done
++ if test $useit = yes; then
++ INST_LINGUAS="$INST_LINGUAS $presentlang"
++ fi
++ done
++ fi
++ CATALOGS=
++ if test -n "$INST_LINGUAS"; then
++ for lang in $INST_LINGUAS; do
++ CATALOGS="$CATALOGS $lang.gmo"
++ done
++ fi
++ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
++ sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
++ for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
++ if test -f "$f"; then
++ case "$f" in
++ *.orig | *.bak | *~) ;;
++ *) cat "$f" >> "$ac_dir/Makefile" ;;
++ esac
++ fi
++ done
++ fi
++ ;;
++ esac
++ done],
++ [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
++ # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
++ # from automake.
++ eval 'ALL_LINGUAS''="$ALL_LINGUAS"'
++ # Capture the value of LINGUAS because we need it to compute CATALOGS.
++ LINGUAS="${LINGUAS-%UNSET%}"
++ ])
++])
++
++
++dnl Checks for all prerequisites of the intl subdirectory,
++dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
++dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
++AC_DEFUN([AM_INTL_SUBDIR],
++[
++ AC_REQUIRE([AC_PROG_INSTALL])dnl
++ AC_REQUIRE([AM_MKINSTALLDIRS])dnl
++ AC_REQUIRE([AC_PROG_CC])dnl
++ AC_REQUIRE([AC_CANONICAL_HOST])dnl
++ AC_REQUIRE([AC_PROG_RANLIB])dnl
++ AC_REQUIRE([AC_ISC_POSIX])dnl
++ AC_REQUIRE([AC_HEADER_STDC])dnl
++ AC_REQUIRE([AC_C_CONST])dnl
++ AC_REQUIRE([AC_C_INLINE])dnl
++ AC_REQUIRE([AC_TYPE_OFF_T])dnl
++ AC_REQUIRE([AC_TYPE_SIZE_T])dnl
++ AC_REQUIRE([AC_FUNC_ALLOCA])dnl
++ AC_REQUIRE([AC_FUNC_MMAP])dnl
++ AC_REQUIRE([jm_GLIBC21])dnl
++ AC_REQUIRE([gt_INTDIV0])dnl
++ AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
++ AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
++ AC_REQUIRE([gt_INTTYPES_PRI])dnl
++
++ AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
++stdlib.h string.h unistd.h sys/param.h])
++ AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
++geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
++strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
++
++ AM_ICONV
++ AM_LANGINFO_CODESET
++ if test $ac_cv_header_locale_h = yes; then
++ AM_LC_MESSAGES
++ fi
++
++ dnl intl/plural.c is generated from intl/plural.y. It requires bison,
++ dnl because plural.y uses bison specific features. It requires at least
++ dnl bison-1.26 because earlier versions generate a plural.c that doesn't
++ dnl compile.
++ dnl bison is only needed for the maintainer (who touches plural.y). But in
++ dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
++ dnl the rule in general Makefile. Now, some people carelessly touch the
++ dnl files or have a broken "make" program, hence the plural.c rule will
++ dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
++ dnl present or too old.
++ AC_CHECK_PROGS([INTLBISON], [bison])
++ if test -z "$INTLBISON"; then
++ ac_verc_fail=yes
++ else
++ dnl Found it, now check the version.
++ AC_MSG_CHECKING([version of bison])
++changequote(<<,>>)dnl
++ ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
++ case $ac_prog_version in
++ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
++ 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
++changequote([,])dnl
++ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
++ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
++ esac
++ AC_MSG_RESULT([$ac_prog_version])
++ fi
++ if test $ac_verc_fail = yes; then
++ INTLBISON=:
++ fi
++])
++
++
++AC_DEFUN([AM_MKINSTALLDIRS],
++[
++ dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
++ dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
++ dnl Try to locate is.
++ MKINSTALLDIRS=
++ if test -n "$ac_aux_dir"; then
++ MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
++ fi
++ if test -z "$MKINSTALLDIRS"; then
++ MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
++ fi
++ AC_SUBST(MKINSTALLDIRS)
++])
++
++
++dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
++AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
+--- /dev/null 2003-09-23 18:19:32.000000000 -0400
++++ OpenSP-1.5/m4/glibc21.m4 2004-01-20 03:01:28.000000000 -0500
+@@ -0,0 +1,32 @@
++# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
++dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++# Test for the GNU C Library, version 2.1 or newer.
++# From Bruno Haible.
++
++AC_DEFUN([jm_GLIBC21],
++ [
++ AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
++ ac_cv_gnu_library_2_1,
++ [AC_EGREP_CPP([Lucky GNU user],
++ [
++#include <features.h>
++#ifdef __GNU_LIBRARY__
++ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
++ Lucky GNU user
++ #endif
++#endif
++ ],
++ ac_cv_gnu_library_2_1=yes,
++ ac_cv_gnu_library_2_1=no)
++ ]
++ )
++ AC_SUBST(GLIBC21)
++ GLIBC21="$ac_cv_gnu_library_2_1"
++ ]
++)
+--- /dev/null 2003-09-23 18:19:32.000000000 -0400
++++ OpenSP-1.5/m4/iconv.m4 2004-01-20 03:01:28.000000000 -0500
+@@ -0,0 +1,103 @@
++# iconv.m4 serial AM4 (gettext-0.11.3)
++dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
++[
++ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ AC_REQUIRE([AC_LIB_RPATH])
++
++ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
++ dnl accordingly.
++ AC_LIB_LINKFLAGS_BODY([iconv])
++])
++
++AC_DEFUN([AM_ICONV_LINK],
++[
++ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
++ dnl those with the standalone portable GNU libiconv installed).
++
++ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
++ dnl accordingly.
++ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
++
++ dnl Add $INCICONV to CPPFLAGS before performing the following checks,
++ dnl because if the user has installed libiconv and not disabled its use
++ dnl via --without-libiconv-prefix, he wants to use it. The first
++ dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
++ am_save_CPPFLAGS="$CPPFLAGS"
++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
++
++ AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
++ am_cv_func_iconv="no, consider installing GNU libiconv"
++ am_cv_lib_iconv=no
++ AC_TRY_LINK([#include <stdlib.h>
++#include <iconv.h>],
++ [iconv_t cd = iconv_open("","");
++ iconv(cd,NULL,NULL,NULL,NULL);
++ iconv_close(cd);],
++ am_cv_func_iconv=yes)
++ if test "$am_cv_func_iconv" != yes; then
++ am_save_LIBS="$LIBS"
++ LIBS="$LIBS $LIBICONV"
++ AC_TRY_LINK([#include <stdlib.h>
++#include <iconv.h>],
++ [iconv_t cd = iconv_open("","");
++ iconv(cd,NULL,NULL,NULL,NULL);
++ iconv_close(cd);],
++ am_cv_lib_iconv=yes
++ am_cv_func_iconv=yes)
++ LIBS="$am_save_LIBS"
++ fi
++ ])
++ if test "$am_cv_func_iconv" = yes; then
++ AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
++ fi
++ if test "$am_cv_lib_iconv" = yes; then
++ AC_MSG_CHECKING([how to link with libiconv])
++ AC_MSG_RESULT([$LIBICONV])
++ else
++ dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
++ dnl either.
++ CPPFLAGS="$am_save_CPPFLAGS"
++ LIBICONV=
++ LTLIBICONV=
++ fi
++ AC_SUBST(LIBICONV)
++ AC_SUBST(LTLIBICONV)
++])
++
++AC_DEFUN([AM_ICONV],
++[
++ AM_ICONV_LINK
++ if test "$am_cv_func_iconv" = yes; then
++ AC_MSG_CHECKING([for iconv declaration])
++ AC_CACHE_VAL(am_cv_proto_iconv, [
++ AC_TRY_COMPILE([
++#include <stdlib.h>
++#include <iconv.h>
++extern
++#ifdef __cplusplus
++"C"
++#endif
++#if defined(__STDC__) || defined(__cplusplus)
++size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
++#else
++size_t iconv();
++#endif
++], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
++ am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
++ am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
++ AC_MSG_RESULT([$]{ac_t:-
++ }[$]am_cv_proto_iconv)
++ AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
++ [Define as const if the declaration of iconv() needs const.])
++ fi
++])
+--- /dev/null 2003-09-23 18:19:32.000000000 -0400
++++ OpenSP-1.5/m4/intdiv0.m4 2004-01-20 03:01:28.000000000 -0500
+@@ -0,0 +1,72 @@
++# intdiv0.m4 serial 1 (gettext-0.11.3)
++dnl Copyright (C) 2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++AC_DEFUN([gt_INTDIV0],
++[
++ AC_REQUIRE([AC_PROG_CC])dnl
++ AC_REQUIRE([AC_CANONICAL_HOST])dnl
++
++ AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
++ gt_cv_int_divbyzero_sigfpe,
++ [
++ AC_TRY_RUN([
++#include <stdlib.h>
++#include <signal.h>
++
++static void
++#ifdef __cplusplus
++sigfpe_handler (int sig)
++#else
++sigfpe_handler (sig) int sig;
++#endif
++{
++ /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
++ exit (sig != SIGFPE);
++}
++
++int x = 1;
++int y = 0;
++int z;
++int nan;
++
++int main ()
++{
++ signal (SIGFPE, sigfpe_handler);
++/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
++#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
++ signal (SIGTRAP, sigfpe_handler);
++#endif
++/* Linux/SPARC yields signal SIGILL. */
++#if defined (__sparc__) && defined (__linux__)
++ signal (SIGILL, sigfpe_handler);
++#endif
++
++ z = x / y;
++ nan = y / y;
++ exit (1);
++}
++], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
++ [
++ # Guess based on the CPU.
++ case "$host_cpu" in
++ alpha* | i[34567]86 | m68k | s390*)
++ gt_cv_int_divbyzero_sigfpe="guessing yes";;
++ *)
++ gt_cv_int_divbyzero_sigfpe="guessing no";;
++ esac
++ ])
++ ])
++ case "$gt_cv_int_divbyzero_sigfpe" in
++ *yes) value=1;;
++ *) value=0;;
++ esac
++ AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
++ [Define if integer division by zero raises signal SIGFPE.])
++])
+--- /dev/null 2003-09-23 18:19:32.000000000 -0400
++++ OpenSP-1.5/m4/inttypes_h.m4 2004-01-20 03:01:28.000000000 -0500
+@@ -0,0 +1,28 @@
++# inttypes_h.m4 serial 4 (gettext-0.11.4)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
++# doesn't clash with <sys/types.h>, and declares uintmax_t.
++
++AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
++[
++ AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
++ [AC_TRY_COMPILE(
++ [#include <sys/types.h>
++#include <inttypes.h>],
++ [uintmax_t i = (uintmax_t) -1;],
++ jm_ac_cv_header_inttypes_h=yes,
++ jm_ac_cv_header_inttypes_h=no)])
++ if test $jm_ac_cv_header_inttypes_h = yes; then
++ AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
++[Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
++ and declares uintmax_t. ])
++ fi
++])
+--- /dev/null 2003-09-23 18:19:32.000000000 -0400
++++ OpenSP-1.5/m4/inttypes.m4 2004-01-20 03:01:28.000000000 -0500
+@@ -0,0 +1,27 @@
++# inttypes.m4 serial 1 (gettext-0.11.4)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_INTTYPES_H if <inttypes.h> exists and doesn't clash with
++# <sys/types.h>.
++
++AC_DEFUN([gt_HEADER_INTTYPES_H],
++[
++ AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h,
++ [
++ AC_TRY_COMPILE(
++ [#include <sys/types.h>
++#include <inttypes.h>],
++ [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no)
++ ])
++ if test $gt_cv_header_inttypes_h = yes; then
++ AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
++ [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.])
++ fi
++])
+--- /dev/null 2003-09-23 18:19:32.000000000 -0400
++++ OpenSP-1.5/m4/inttypes-pri.m4 2004-01-20 03:01:28.000000000 -0500
+@@ -0,0 +1,32 @@
++# inttypes-pri.m4 serial 1 (gettext-0.11.4)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
++# macros to non-string values. This is the case on AIX 4.3.3.
++
++AC_DEFUN([gt_INTTYPES_PRI],
++[
++ AC_REQUIRE([gt_HEADER_INTTYPES_H])
++ if test $gt_cv_header_inttypes_h = yes; then
++ AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
++ gt_cv_inttypes_pri_broken,
++ [
++ AC_TRY_COMPILE([#include <inttypes.h>
++#ifdef PRId32
++char *p = PRId32;
++#endif
++], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
++ ])
++ fi
++ if test "$gt_cv_inttypes_pri_broken" = yes; then
++ AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
++ [Define if <inttypes.h> exists and defines unusable PRI* macros.])
++ fi
++])
+--- /dev/null 2003-09-23 18:19:32.000000000 -0400
++++ OpenSP-1.5/m4/lcmessage.m4 2004-01-20 03:01:28.000000000 -0500
+@@ -0,0 +1,32 @@
++# lcmessage.m4 serial 3 (gettext-0.11.3)
++dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++dnl
++dnl This file can can be used in projects which are not available under
++dnl the GNU General Public License or the GNU Library General Public
++dnl License but which still want to provide support for the GNU gettext
++dnl functionality.
++dnl Please note that the actual code of the GNU gettext library is covered
++dnl by the GNU Library General Public License, and the rest of the GNU
++dnl gettext package package is covered by the GNU General Public License.
++dnl They are *not* in the public domain.
++
++dnl Authors:
++dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
++
++# Check whether LC_MESSAGES is available in <locale.h>.
++
++AC_DEFUN([AM_LC_MESSAGES],
++[
++ AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
++ [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
++ am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
++ if test $am_cv_val_LC_MESSAGES = yes; then
++ AC_DEFINE(HAVE_LC_MESSAGES, 1,
++ [Define if your <locale.h> file defines LC_MESSAGES.])
++ fi
++])
+--- /dev/null 2003-09-23 18:19:32.000000000 -0400
++++ OpenSP-1.5/m4/progtest.m4 2004-01-20 03:01:28.000000000 -0500
+@@ -0,0 +1,59 @@
++# progtest.m4 serial 2 (gettext-0.10.40)
++dnl Copyright (C) 1996-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++dnl
++dnl This file can can be used in projects which are not available under
++dnl the GNU General Public License or the GNU Library General Public
++dnl License but which still want to provide support for the GNU gettext
++dnl functionality.
++dnl Please note that the actual code of the GNU gettext library is covered
++dnl by the GNU Library General Public License, and the rest of the GNU
++dnl gettext package package is covered by the GNU General Public License.
++dnl They are *not* in the public domain.
++
++dnl Authors:
++dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
++
++# Search path for a program which passes the given test.
++
++dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
++dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
++AC_DEFUN([AM_PATH_PROG_WITH_TEST],
++[# Extract the first word of "$2", so it can be a program name with args.
++set dummy $2; ac_word=[$]2
++AC_MSG_CHECKING([for $ac_word])
++AC_CACHE_VAL(ac_cv_path_$1,
++[case "[$]$1" in
++ /*)
++ ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
++ ;;
++ *)
++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
++ for ac_dir in ifelse([$5], , $PATH, [$5]); do
++ test -z "$ac_dir" && ac_dir=.
++ if test -f $ac_dir/$ac_word; then
++ if [$3]; then
++ ac_cv_path_$1="$ac_dir/$ac_word"
++ break
++ fi
++ fi
++ done
++ IFS="$ac_save_ifs"
++dnl If no 4th arg is given, leave the cache variable unset,
++dnl so AC_PATH_PROGS will keep looking.
++ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
++])dnl
++ ;;
++esac])dnl
++$1="$ac_cv_path_$1"
++if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
++ AC_MSG_RESULT([$]$1)
++else
++ AC_MSG_RESULT(no)
++fi
++AC_SUBST($1)dnl
++])
+--- /dev/null 2003-09-23 18:19:32.000000000 -0400
++++ OpenSP-1.5/m4/stdint_h.m4 2004-01-20 03:01:28.000000000 -0500
+@@ -0,0 +1,28 @@
++# stdint_h.m4 serial 2 (gettext-0.11.4)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
++# doesn't clash with <sys/types.h>, and declares uintmax_t.
++
++AC_DEFUN([jm_AC_HEADER_STDINT_H],
++[
++ AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
++ [AC_TRY_COMPILE(
++ [#include <sys/types.h>
++#include <stdint.h>],
++ [uintmax_t i = (uintmax_t) -1;],
++ jm_ac_cv_header_stdint_h=yes,
++ jm_ac_cv_header_stdint_h=no)])
++ if test $jm_ac_cv_header_stdint_h = yes; then
++ AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
++[Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
++ and declares uintmax_t. ])
++ fi
++])
+--- /dev/null 2003-09-23 18:19:32.000000000 -0400
++++ OpenSP-1.5/m4/uintmax_t.m4 2004-01-20 03:01:28.000000000 -0500
+@@ -0,0 +1,29 @@
++# uintmax_t.m4 serial 6 (gettext-0.11)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++AC_PREREQ(2.13)
++
++# Define uintmax_t to `unsigned long' or `unsigned long long'
++# if <inttypes.h> does not exist.
++
++AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
++[
++ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
++ AC_REQUIRE([jm_AC_HEADER_STDINT_H])
++ if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
++ AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
++ test $ac_cv_type_unsigned_long_long = yes \
++ && ac_type='unsigned long long' \
++ || ac_type='unsigned long'
++ AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
++ [Define to unsigned long or unsigned long long
++ if <inttypes.h> and <stdint.h> don't define.])
++ fi
++])
+--- /dev/null 2003-09-23 18:19:32.000000000 -0400
++++ OpenSP-1.5/m4/ulonglong.m4 2004-01-20 03:01:28.000000000 -0500
+@@ -0,0 +1,23 @@
++# ulonglong.m4 serial 2 (fileutils-4.0.32, gettext-0.10.40)
++dnl Copyright (C) 1999-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
++[
++ AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
++ [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;],
++ [unsigned long long ullmax = (unsigned long long) -1;
++ return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
++ ac_cv_type_unsigned_long_long=yes,
++ ac_cv_type_unsigned_long_long=no)])
++ if test $ac_cv_type_unsigned_long_long = yes; then
++ AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
++ [Define if you have the unsigned long long type.])
++ fi
++])
+--- /dev/null 2003-09-23 18:19:32.000000000 -0400
++++ OpenSP-1.5/m4/lib-ld.m4 2004-01-20 03:02:17.000000000 -0500
+@@ -0,0 +1,97 @@
++# lib-ld.m4 serial 1 (gettext-0.11)
++dnl Copyright (C) 1996-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl Subroutines of libtool.m4,
++dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
++dnl with libtool.m4.
++
++dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
++AC_DEFUN([AC_LIB_PROG_LD_GNU],
++[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
++[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
++if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
++ acl_cv_prog_gnu_ld=yes
++else
++ acl_cv_prog_gnu_ld=no
++fi])
++with_gnu_ld=$acl_cv_prog_gnu_ld
++])
++
++dnl From libtool-1.4. Sets the variable LD.
++AC_DEFUN([AC_LIB_PROG_LD],
++[AC_ARG_WITH(gnu-ld,
++[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
++test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
++AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([AC_CANONICAL_HOST])dnl
++ac_prog=ld
++if test "$GCC" = yes; then
++ # Check if gcc -print-prog-name=ld gives a path.
++ AC_MSG_CHECKING([for ld used by GCC])
++ case $host in
++ *-*-mingw*)
++ # gcc leaves a trailing carriage return which upsets mingw
++ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
++ *)
++ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
++ esac
++ case $ac_prog in
++ # Accept absolute paths.
++ [[\\/]* | [A-Za-z]:[\\/]*)]
++ [re_direlt='/[^/][^/]*/\.\./']
++ # Canonicalize the path of ld
++ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
++ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
++ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
++ done
++ test -z "$LD" && LD="$ac_prog"
++ ;;
++ "")
++ # If it fails, then pretend we aren't using GCC.
++ ac_prog=ld
++ ;;
++ *)
++ # If it is relative, then search for the first ld in PATH.
++ with_gnu_ld=unknown
++ ;;
++ esac
++elif test "$with_gnu_ld" = yes; then
++ AC_MSG_CHECKING([for GNU ld])
++else
++ AC_MSG_CHECKING([for non-GNU ld])
++fi
++AC_CACHE_VAL(acl_cv_path_LD,
++[if test -z "$LD"; then
++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
++ for ac_dir in $PATH; do
++ test -z "$ac_dir" && ac_dir=.
++ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
++ acl_cv_path_LD="$ac_dir/$ac_prog"
++ # Check to see if the program is GNU ld. I'd rather use --version,
++ # but apparently some GNU ld's only accept -v.
++ # Break only if it was the GNU/non-GNU ld that we prefer.
++ if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
++ test "$with_gnu_ld" != no && break
++ else
++ test "$with_gnu_ld" != yes && break
++ fi
++ fi
++ done
++ IFS="$ac_save_ifs"
++else
++ acl_cv_path_LD="$LD" # Let the user override the test with a path.
++fi])
++LD="$acl_cv_path_LD"
++if test -n "$LD"; then
++ AC_MSG_RESULT($LD)
++else
++ AC_MSG_RESULT(no)
++fi
++test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
++AC_LIB_PROG_LD_GNU
++])
+--- /dev/null 2003-09-23 18:19:32.000000000 -0400
++++ OpenSP-1.5/m4/lib-link.m4 2004-01-20 03:02:17.000000000 -0500
+@@ -0,0 +1,554 @@
++# lib-link.m4 serial 3 (gettext-0.11.3)
++dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
++dnl the libraries corresponding to explicit and implicit dependencies.
++dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
++dnl augments the CPPFLAGS variable.
++AC_DEFUN([AC_LIB_LINKFLAGS],
++[
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ AC_REQUIRE([AC_LIB_RPATH])
++ define([Name],[translit([$1],[./-], [___])])
++ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
++ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++ AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
++ AC_LIB_LINKFLAGS_BODY([$1], [$2])
++ ac_cv_lib[]Name[]_libs="$LIB[]NAME"
++ ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
++ ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
++ ])
++ LIB[]NAME="$ac_cv_lib[]Name[]_libs"
++ LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
++ INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
++ AC_SUBST([LIB]NAME)
++ AC_SUBST([LTLIB]NAME)
++ dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
++ dnl results of this search when this library appears as a dependency.
++ HAVE_LIB[]NAME=yes
++ undefine([Name])
++ undefine([NAME])
++])
++
++dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
++dnl searches for libname and the libraries corresponding to explicit and
++dnl implicit dependencies, together with the specified include files and
++dnl the ability to compile and link the specified testcode. If found, it
++dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
++dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
++dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
++dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
++AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
++[
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ AC_REQUIRE([AC_LIB_RPATH])
++ define([Name],[translit([$1],[./-], [___])])
++ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
++ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++
++ dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
++ dnl accordingly.
++ AC_LIB_LINKFLAGS_BODY([$1], [$2])
++
++ dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
++ dnl because if the user has installed lib[]Name and not disabled its use
++ dnl via --without-lib[]Name-prefix, he wants to use it.
++ ac_save_CPPFLAGS="$CPPFLAGS"
++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
++
++ AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
++ ac_save_LIBS="$LIBS"
++ LIBS="$LIBS $LIB[]NAME"
++ AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
++ LIBS="$ac_save_LIBS"
++ ])
++ if test "$ac_cv_lib[]Name" = yes; then
++ HAVE_LIB[]NAME=yes
++ AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
++ AC_MSG_CHECKING([how to link with lib[]$1])
++ AC_MSG_RESULT([$LIB[]NAME])
++ else
++ HAVE_LIB[]NAME=no
++ dnl If $LIB[]NAME didn't lead to a usable library, we don't need
++ dnl $INC[]NAME either.
++ CPPFLAGS="$ac_save_CPPFLAGS"
++ LIB[]NAME=
++ LTLIB[]NAME=
++ fi
++ AC_SUBST([HAVE_LIB]NAME)
++ AC_SUBST([LIB]NAME)
++ AC_SUBST([LTLIB]NAME)
++ undefine([Name])
++ undefine([NAME])
++])
++
++dnl Determine the platform dependent parameters needed to use rpath:
++dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
++dnl hardcode_direct, hardcode_minus_L,
++dnl sys_lib_search_path_spec, sys_lib_dlsearch_path_spec.
++AC_DEFUN([AC_LIB_RPATH],
++[
++ AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
++ AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
++ AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
++ AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
++ AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
++ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
++ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
++ . ./conftest.sh
++ rm -f ./conftest.sh
++ acl_cv_rpath=done
++ ])
++ wl="$acl_cv_wl"
++ libext="$acl_cv_libext"
++ shlibext="$acl_cv_shlibext"
++ hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
++ hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
++ hardcode_direct="$acl_cv_hardcode_direct"
++ hardcode_minus_L="$acl_cv_hardcode_minus_L"
++ sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec"
++ sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec"
++ dnl Determine whether the user wants rpath handling at all.
++ AC_ARG_ENABLE(rpath,
++ [ --disable-rpath do not hardcode runtime library paths],
++ :, enable_rpath=yes)
++])
++
++dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
++dnl the libraries corresponding to explicit and implicit dependencies.
++dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
++AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
++[
++ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
++ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++ dnl By default, look in $includedir and $libdir.
++ use_additional=yes
++ AC_LIB_WITH_FINAL_PREFIX([
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++ ])
++ AC_ARG_WITH([lib$1-prefix],
++[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
++ --without-lib$1-prefix don't search for lib$1 in includedir and libdir],
++[
++ if test "X$withval" = "Xno"; then
++ use_additional=no
++ else
++ if test "X$withval" = "X"; then
++ AC_LIB_WITH_FINAL_PREFIX([
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++ ])
++ else
++ additional_includedir="$withval/include"
++ additional_libdir="$withval/lib"
++ fi
++ fi
++])
++ dnl Search the library and its dependencies in $additional_libdir and
++ dnl $LDFLAGS. Using breadth-first-seach.
++ LIB[]NAME=
++ LTLIB[]NAME=
++ INC[]NAME=
++ rpathdirs=
++ ltrpathdirs=
++ names_already_handled=
++ names_next_round='$1 $2'
++ while test -n "$names_next_round"; do
++ names_this_round="$names_next_round"
++ names_next_round=
++ for name in $names_this_round; do
++ already_handled=
++ for n in $names_already_handled; do
++ if test "$n" = "$name"; then
++ already_handled=yes
++ break
++ fi
++ done
++ if test -z "$already_handled"; then
++ names_already_handled="$names_already_handled $name"
++ dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
++ dnl or AC_LIB_HAVE_LINKFLAGS call.
++ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
++ eval value=\"\$HAVE_LIB$uppername\"
++ if test -n "$value"; then
++ if test "$value" = yes; then
++ eval value=\"\$LIB$uppername\"
++ test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
++ eval value=\"\$LTLIB$uppername\"
++ test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
++ else
++ dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
++ dnl that this library doesn't exist. So just drop it.
++ :
++ fi
++ else
++ dnl Search the library lib$name in $additional_libdir and $LDFLAGS
++ dnl and the already constructed $LIBNAME/$LTLIBNAME.
++ found_dir=
++ found_la=
++ found_so=
++ found_a=
++ if test $use_additional = yes; then
++ if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
++ found_dir="$additional_libdir"
++ found_so="$additional_libdir/lib$name.$shlibext"
++ if test -f "$additional_libdir/lib$name.la"; then
++ found_la="$additional_libdir/lib$name.la"
++ fi
++ else
++ if test -f "$additional_libdir/lib$name.$libext"; then
++ found_dir="$additional_libdir"
++ found_a="$additional_libdir/lib$name.$libext"
++ if test -f "$additional_libdir/lib$name.la"; then
++ found_la="$additional_libdir/lib$name.la"
++ fi
++ fi
++ fi
++ fi
++ if test "X$found_dir" = "X"; then
++ for x in $LDFLAGS $LTLIB[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ case "$x" in
++ -L*)
++ dir=`echo "X$x" | sed -e 's/^X-L//'`
++ if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
++ found_dir="$dir"
++ found_so="$dir/lib$name.$shlibext"
++ if test -f "$dir/lib$name.la"; then
++ found_la="$dir/lib$name.la"
++ fi
++ else
++ if test -f "$dir/lib$name.$libext"; then
++ found_dir="$dir"
++ found_a="$dir/lib$name.$libext"
++ if test -f "$dir/lib$name.la"; then
++ found_la="$dir/lib$name.la"
++ fi
++ fi
++ fi
++ ;;
++ esac
++ if test "X$found_dir" != "X"; then
++ break
++ fi
++ done
++ fi
++ if test "X$found_dir" != "X"; then
++ dnl Found the library.
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
++ if test "X$found_so" != "X"; then
++ dnl Linking with a shared library. We attempt to hardcode its
++ dnl directory into the executable's runpath, unless it's the
++ dnl standard /usr/lib.
++ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
++ dnl No hardcoding is needed.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
++ else
++ dnl Use an explicit option to hardcode DIR into the resulting
++ dnl binary.
++ dnl Potentially add DIR to ltrpathdirs.
++ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
++ haveit=
++ for x in $ltrpathdirs; do
++ if test "X$x" = "X$found_dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ ltrpathdirs="$ltrpathdirs $found_dir"
++ fi
++ dnl The hardcoding into $LIBNAME is system dependent.
++ if test "$hardcode_direct" = yes; then
++ dnl Using DIR/libNAME.so during linking hardcodes DIR into the
++ dnl resulting binary.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
++ else
++ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
++ dnl Use an explicit option to hardcode DIR into the resulting
++ dnl binary.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
++ dnl Potentially add DIR to rpathdirs.
++ dnl The rpathdirs will be appended to $LIBNAME at the end.
++ haveit=
++ for x in $rpathdirs; do
++ if test "X$x" = "X$found_dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ rpathdirs="$rpathdirs $found_dir"
++ fi
++ else
++ dnl Rely on "-L$found_dir".
++ dnl But don't add it if it's already contained in the LDFLAGS
++ dnl or the already constructed $LIBNAME
++ haveit=
++ for x in $LDFLAGS $LIB[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-L$found_dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
++ fi
++ if test "$hardcode_minus_L" != no; then
++ dnl FIXME: Not sure whether we should use
++ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
++ dnl here.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
++ else
++ dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
++ dnl here, because this doesn't fit in flags passed to the
++ dnl compiler. So give up. No hardcoding. This affects only
++ dnl very old systems.
++ dnl FIXME: Not sure whether we should use
++ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
++ dnl here.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
++ fi
++ fi
++ fi
++ fi
++ else
++ if test "X$found_a" != "X"; then
++ dnl Linking with a static library.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
++ else
++ dnl We shouldn't come here, but anyway it's good to have a
++ dnl fallback.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
++ fi
++ fi
++ dnl Assume the include files are nearby.
++ additional_includedir=
++ case "$found_dir" in
++ */lib | */lib/)
++ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
++ additional_includedir="$basedir/include"
++ ;;
++ esac
++ if test "X$additional_includedir" != "X"; then
++ dnl Potentially add $additional_includedir to $INCNAME.
++ dnl But don't add it
++ dnl 1. if it's the standard /usr/include,
++ dnl 2. if it's /usr/local/include and we are using GCC on Linux,
++ dnl 3. if it's already present in $CPPFLAGS or the already
++ dnl constructed $INCNAME,
++ dnl 4. if it doesn't exist as a directory.
++ if test "X$additional_includedir" != "X/usr/include"; then
++ haveit=
++ if test "X$additional_includedir" = "X/usr/local/include"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux*) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ for x in $CPPFLAGS $INC[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-I$additional_includedir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test -d "$additional_includedir"; then
++ dnl Really add $additional_includedir to $INCNAME.
++ INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
++ fi
++ fi
++ fi
++ fi
++ fi
++ dnl Look for dependencies.
++ if test -n "$found_la"; then
++ dnl Read the .la file. It defines the variables
++ dnl dlname, library_names, old_library, dependency_libs, current,
++ dnl age, revision, installed, dlopen, dlpreopen, libdir.
++ save_libdir="$libdir"
++ case "$found_la" in
++ */* | *\\*) . "$found_la" ;;
++ *) . "./$found_la" ;;
++ esac
++ libdir="$save_libdir"
++ dnl We use only dependency_libs.
++ for dep in $dependency_libs; do
++ case "$dep" in
++ -L*)
++ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
++ dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
++ dnl But don't add it
++ dnl 1. if it's the standard /usr/lib,
++ dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
++ dnl 3. if it's already present in $LDFLAGS or the already
++ dnl constructed $LIBNAME,
++ dnl 4. if it doesn't exist as a directory.
++ if test "X$additional_libdir" != "X/usr/lib"; then
++ haveit=
++ if test "X$additional_libdir" = "X/usr/local/lib"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux*) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ haveit=
++ for x in $LDFLAGS $LIB[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-L$additional_libdir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test -d "$additional_libdir"; then
++ dnl Really add $additional_libdir to $LIBNAME.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
++ fi
++ fi
++ haveit=
++ for x in $LDFLAGS $LTLIB[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-L$additional_libdir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test -d "$additional_libdir"; then
++ dnl Really add $additional_libdir to $LTLIBNAME.
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
++ fi
++ fi
++ fi
++ fi
++ ;;
++ -R*)
++ dir=`echo "X$dep" | sed -e 's/^X-R//'`
++ if test "$enable_rpath" != no; then
++ dnl Potentially add DIR to rpathdirs.
++ dnl The rpathdirs will be appended to $LIBNAME at the end.
++ haveit=
++ for x in $rpathdirs; do
++ if test "X$x" = "X$dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ rpathdirs="$rpathdirs $dir"
++ fi
++ dnl Potentially add DIR to ltrpathdirs.
++ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
++ haveit=
++ for x in $ltrpathdirs; do
++ if test "X$x" = "X$dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ ltrpathdirs="$ltrpathdirs $dir"
++ fi
++ fi
++ ;;
++ -l*)
++ dnl Handle this in the next round.
++ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
++ ;;
++ *.la)
++ dnl Handle this in the next round. Throw away the .la's
++ dnl directory; it is already contained in a preceding -L
++ dnl option.
++ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
++ ;;
++ *)
++ dnl Most likely an immediate library name.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
++ ;;
++ esac
++ done
++ fi
++ else
++ dnl Didn't find the library; assume it is in the system directories
++ dnl known to the linker and runtime loader. (All the system
++ dnl directories known to the linker should also be known to the
++ dnl runtime loader, otherwise the system is severely misconfigured.)
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
++ fi
++ fi
++ fi
++ done
++ done
++ if test "X$rpathdirs" != "X"; then
++ if test -n "$hardcode_libdir_separator"; then
++ dnl Weird platform: only the last -rpath option counts, the user must
++ dnl pass all path elements in one option. We can arrange that for a
++ dnl single library, but not when more than one $LIBNAMEs are used.
++ alldirs=
++ for found_dir in $rpathdirs; do
++ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
++ done
++ dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
++ acl_save_libdir="$libdir"
++ libdir="$alldirs"
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ libdir="$acl_save_libdir"
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
++ else
++ dnl The -rpath options are cumulative.
++ for found_dir in $rpathdirs; do
++ acl_save_libdir="$libdir"
++ libdir="$found_dir"
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ libdir="$acl_save_libdir"
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
++ done
++ fi
++ fi
++ if test "X$ltrpathdirs" != "X"; then
++ dnl When using libtool, the option that works for both libraries and
++ dnl executables is -R. The -R options are cumulative.
++ for found_dir in $ltrpathdirs; do
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
++ done
++ fi
++])
++
++dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
++dnl unless already present in VAR.
++dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
++dnl contains two or three consecutive elements that belong together.
++AC_DEFUN([AC_LIB_APPENDTOVAR],
++[
++ for element in [$2]; do
++ haveit=
++ for x in $[$1]; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X$element"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ [$1]="${[$1]}${[$1]:+ }$element"
++ fi
++ done
++])
+--- /dev/null 2003-09-23 18:19:32.000000000 -0400
++++ OpenSP-1.5/m4/lib-prefix.m4 2004-01-20 03:02:17.000000000 -0500
+@@ -0,0 +1,148 @@
++# lib-prefix.m4 serial 1 (gettext-0.11)
++dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
++dnl to access previously installed libraries. The basic assumption is that
++dnl a user will want packages to use other packages he previously installed
++dnl with the same --prefix option.
++dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
++dnl libraries, but is otherwise very convenient.
++AC_DEFUN([AC_LIB_PREFIX],
++[
++ AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
++ AC_REQUIRE([AC_PROG_CC])
++ AC_REQUIRE([AC_CANONICAL_HOST])
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ dnl By default, look in $includedir and $libdir.
++ use_additional=yes
++ AC_LIB_WITH_FINAL_PREFIX([
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++ ])
++ AC_ARG_WITH([lib-prefix],
++[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
++ --without-lib-prefix don't search for libraries in includedir and libdir],
++[
++ if test "X$withval" = "Xno"; then
++ use_additional=no
++ else
++ if test "X$withval" = "X"; then
++ AC_LIB_WITH_FINAL_PREFIX([
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++ ])
++ else
++ additional_includedir="$withval/include"
++ additional_libdir="$withval/lib"
++ fi
++ fi
++])
++ if test $use_additional = yes; then
++ dnl Potentially add $additional_includedir to $CPPFLAGS.
++ dnl But don't add it
++ dnl 1. if it's the standard /usr/include,
++ dnl 2. if it's already present in $CPPFLAGS,
++ dnl 3. if it's /usr/local/include and we are using GCC on Linux,
++ dnl 4. if it doesn't exist as a directory.
++ if test "X$additional_includedir" != "X/usr/include"; then
++ haveit=
++ for x in $CPPFLAGS; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-I$additional_includedir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test "X$additional_includedir" = "X/usr/local/include"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux*) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ if test -d "$additional_includedir"; then
++ dnl Really add $additional_includedir to $CPPFLAGS.
++ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
++ fi
++ fi
++ fi
++ fi
++ dnl Potentially add $additional_libdir to $LDFLAGS.
++ dnl But don't add it
++ dnl 1. if it's the standard /usr/lib,
++ dnl 2. if it's already present in $LDFLAGS,
++ dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
++ dnl 4. if it doesn't exist as a directory.
++ if test "X$additional_libdir" != "X/usr/lib"; then
++ haveit=
++ for x in $LDFLAGS; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-L$additional_libdir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test "X$additional_libdir" = "X/usr/local/lib"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux*) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ if test -d "$additional_libdir"; then
++ dnl Really add $additional_libdir to $LDFLAGS.
++ LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
++ fi
++ fi
++ fi
++ fi
++ fi
++])
++
++dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
++dnl acl_final_exec_prefix, containing the values to which $prefix and
++dnl $exec_prefix will expand at the end of the configure script.
++AC_DEFUN([AC_LIB_PREPARE_PREFIX],
++[
++ dnl Unfortunately, prefix and exec_prefix get only finally determined
++ dnl at the end of configure.
++ if test "X$prefix" = "XNONE"; then
++ acl_final_prefix="$ac_default_prefix"
++ else
++ acl_final_prefix="$prefix"
++ fi
++ if test "X$exec_prefix" = "XNONE"; then
++ acl_final_exec_prefix='${prefix}'
++ else
++ acl_final_exec_prefix="$exec_prefix"
++ fi
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
++ prefix="$acl_save_prefix"
++])
++
++dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
++dnl variables prefix and exec_prefix bound to the values they will have
++dnl at the end of the configure script.
++AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
++[
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ acl_save_exec_prefix="$exec_prefix"
++ exec_prefix="$acl_final_exec_prefix"
++ $1
++ exec_prefix="$acl_save_exec_prefix"
++ prefix="$acl_save_prefix"
++])
diff --git a/meta/recipes-devtools/opensp/opensp/rangmap-fix.patch b/meta/recipes-devtools/opensp/opensp/rangmap-fix.patch
new file mode 100644
index 000000000..cc849ca3a
--- /dev/null
+++ b/meta/recipes-devtools/opensp/opensp/rangmap-fix.patch
@@ -0,0 +1,15 @@
+Patch obtained from OpenEmbedded.
+
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+Index: OpenSP-1.5/include/RangeMap.cxx
+===================================================================
+--- OpenSP-1.5.orig/include/RangeMap.cxx 2000-02-26 03:55:21.000000000 +1100
++++ OpenSP-1.5/include/RangeMap.cxx 2007-06-02 11:48:17.000000000 +1000
+@@ -7,6 +7,7 @@
+ #include "RangeMap.h"
+ #include "ISet.h"
+ #include "types.h"
++#include "constant.h"
+
+ #ifdef SP_NAMESPACE
+ namespace SP_NAMESPACE {
diff --git a/meta/recipes-devtools/opensp/opensp_1.5.bb b/meta/recipes-devtools/opensp/opensp_1.5.bb
new file mode 100644
index 000000000..bda87cb06
--- /dev/null
+++ b/meta/recipes-devtools/opensp/opensp_1.5.bb
@@ -0,0 +1,27 @@
+SUMMARY = "An SGML parser"
+DESCRIPTION = "An SGML parser used by the OpenJade suite of utilities."
+HOMEPAGE = "http://openjade.sourceforge.net"
+SECTION = "libs"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=641ff1e4511f0a87044ad42f87cb1045"
+
+PR = "r0"
+
+# At -Os it encounters calls to some inline functions which are then
+# not found in any other objects with gcc 4.5
+FULL_OPTIMIZATION += "-O2"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/openjade/OpenSP-${PV}.tar.gz \
+ file://m4.patch \
+ file://attributevalue.patch \
+ file://rangmap-fix.patch \
+ file://fix-docdir.patch"
+
+SRC_URI[md5sum] = "87f56e79ae0c20397f4207d61d154303"
+SRC_URI[sha256sum] = "987eeb9460185950e066e5db3b5fa531e53e213742b545288405552a5a7bb704"
+
+S = "${WORKDIR}/OpenSP-${PV}"
+
+inherit autotools gettext
+
+BBCLASSEXTEND = "native"
diff --git a/meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb b/meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb
index 087d25498..8560f36c5 100644
--- a/meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb
+++ b/meta/recipes-devtools/opkg-utils/opkg-utils_svn.bb
@@ -5,10 +5,10 @@ PRIORITY = "optional"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://opkg.py;beginline=1;endline=18;md5=15917491ad6bf7acc666ca5f7cc1e083"
-RDEPENDS = "python"
-RDEPENDS_virtclass-native = ""
-PV = "0.1.8+svnr${SRCREV}"
-PR = "r1"
+RDEPENDS_${PN} = "python"
+RDEPENDS_${PN}_virtclass-native = ""
+PV = "0.1.8+svnr${SRCPV}"
+PR = "r2"
SRC_URI = "svn://svn.openmoko.org/trunk/src/host/;module=opkg-utils;proto=http \
file://index-ignore-filenotfound.patch"
diff --git a/meta/recipes-devtools/opkg/opkg-0.1.8/opkg_unarchive.patch b/meta/recipes-devtools/opkg/opkg-0.1.8/opkg_unarchive.patch
deleted file mode 100644
index 4b1244815..000000000
--- a/meta/recipes-devtools/opkg/opkg-0.1.8/opkg_unarchive.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Rebase for the latest version
-Dongxiao Xu <dongxiao.xu@intel.com>
-
-diff -ruN opkg-0.1.8-orig/libbb/unarchive.c opkg-0.1.8/libbb/unarchive.c
---- opkg-0.1.8-orig/libbb/unarchive.c 2010-07-20 09:39:02.266424893 +0800
-+++ opkg-0.1.8/libbb/unarchive.c 2010-07-20 09:39:50.474435569 +0800
-@@ -523,6 +523,10 @@
- }
- }
-
-+ if (strlen(tar_entry->name) > 100) {
-+ tar_entry->name[100] = 0;
-+ }
-+
- // tar_entry->name = xstrdup(tar.formated.name);
-
- /*
diff --git a/meta/recipes-devtools/opkg/opkg.inc b/meta/recipes-devtools/opkg/opkg.inc
index add1563c4..c3174917a 100644
--- a/meta/recipes-devtools/opkg/opkg.inc
+++ b/meta/recipes-devtools/opkg/opkg.inc
@@ -31,3 +31,6 @@ EXTRA_OECONF_virtclass-nativesdk = "--with-opkglibdir=${target_localstatedir}/li
#RPROVIDES_${PN} += "update-alternatives-native"
BBCLASSEXTEND = "native nativesdk"
+
+PKGSUFFIX = ""
+PKGSUFFIX_virtclass-nativesdk = "-nativesdk"
diff --git a/meta/recipes-devtools/opkg/opkg/logfix.patch b/meta/recipes-devtools/opkg/opkg/logfix.patch
deleted file mode 100644
index da06f00bd..000000000
--- a/meta/recipes-devtools/opkg/opkg/logfix.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Patch to remove "duplicate" bits of logs from opkg output, which
-massively simplifies do_rootfs logs. The reason is we get unflushed
-data passed to the children and duplicated.
-
-RP - 26/1/10
-
-Index: trunk/libbb/gz_open.c
-===================================================================
---- trunk.orig/libbb/gz_open.c 2010-01-26 23:12:10.000000000 +0000
-+++ trunk/libbb/gz_open.c 2010-01-26 23:12:17.000000000 +0000
-@@ -38,6 +38,12 @@
- perror_msg("pipe");
- return(NULL);
- }
-+
-+ /* If we don't flush, we end up with two copies of anything pending,
-+ one from the parent, one from the child */
-+ fflush(stdout);
-+ fflush(stderr);
-+
- if ((*pid = fork()) == -1) {
- perror_msg("fork");
- return(NULL);
diff --git a/meta/recipes-devtools/opkg/opkg_0.1.8.bb b/meta/recipes-devtools/opkg/opkg_0.1.8.bb
index 4eb3ff9a1..681547420 100644
--- a/meta/recipes-devtools/opkg/opkg_0.1.8.bb
+++ b/meta/recipes-devtools/opkg/opkg_0.1.8.bb
@@ -15,11 +15,11 @@ SRC_URI = "http://opkg.googlecode.com/files/opkg-${PV}.tar.gz \
PR = "r3"
-PACKAGES =+ "libopkg-dev libopkg update-alternatives-cworth"
+PACKAGES =+ "libopkg${PKGSUFFIX}-dev libopkg${PKGSUFFIX} update-alternatives-cworth${PKGSUFFIX}"
-FILES_update-alternatives-cworth = "${bindir}/update-alternatives"
-FILES_libopkg-dev = "${libdir}/*.a ${libdir}/*.la ${libdir}/*.so"
-FILES_libopkg = "${libdir}/*.so.* ${localstatedir}/lib/opkg/"
+FILES_update-alternatives-cworth${PKGSUFFIX} = "${bindir}/update-alternatives"
+FILES_libopkg${PKGSUFFIX}-dev = "${libdir}/*.a ${libdir}/*.la ${libdir}/*.so"
+FILES_libopkg${PKGSUFFIX} = "${libdir}/*.so.* ${localstatedir}/lib/opkg/"
# We need to create the lock directory
do_install_append() {
diff --git a/meta/recipes-devtools/opkg/opkg_svn.bb b/meta/recipes-devtools/opkg/opkg_svn.bb
index 518c76735..76ec83887 100644
--- a/meta/recipes-devtools/opkg/opkg_svn.bb
+++ b/meta/recipes-devtools/opkg/opkg_svn.bb
@@ -9,21 +9,20 @@ RDEPENDS_${PN}_virtclass-nativesdk = ""
PACKAGE_ARCH_update-alternatives-cworth = "all"
SRC_URI = "svn://opkg.googlecode.com/svn;module=trunk;proto=http \
- file://opkg_unarchive.patch \
file://add_vercmp.patch \
file://headerfix.patch \
- file://logfix.patch"
+"
S = "${WORKDIR}/trunk"
-PV = "0.0+svnr${SRCREV}"
-PR = "r15"
+PV = "0.1.8+svnr${SRCPV}"
+PR = "r1"
-PACKAGES =+ "libopkg-dev libopkg update-alternatives-cworth"
+PACKAGES =+ "libopkg${PKGSUFFIX}-dev libopkg${PKGSUFFIX} update-alternatives-cworth${PKGSUFFIX}"
-FILES_update-alternatives-cworth = "${bindir}/update-alternatives"
-FILES_libopkg-dev = "${libdir}/*.a ${libdir}/*.la ${libdir}/*.so"
-FILES_libopkg = "${libdir}/*.so.* ${localstatedir}/lib/opkg/"
+FILES_update-alternatives-cworth${PKGSUFFIX} = "${bindir}/update-alternatives"
+FILES_libopkg${PKGSUFFIX}-dev = "${libdir}/*.a ${libdir}/*.la ${libdir}/*.so"
+FILES_libopkg${PKGSUFFIX} = "${libdir}/*.so.* ${localstatedir}/lib/opkg/"
# We need to create the lock directory
do_install_append() {
diff --git a/meta/recipes-devtools/patch/patch_2.6.1.bb b/meta/recipes-devtools/patch/patch_2.6.1.bb
index 8d07a7811..39d6fc6c6 100644
--- a/meta/recipes-devtools/patch/patch_2.6.1.bb
+++ b/meta/recipes-devtools/patch/patch_2.6.1.bb
@@ -6,7 +6,7 @@ PR = "r0"
SRC_URI += " file://global-reject-file.diff;patch=1 "
SRC_URI[md5sum] = "d758eb96d3f75047efc004a720d33daf"
-SRC_URI[sha256sum] = "ecb5c6469d732bcf01d6ec1afe9e64f1668caba5bfdb103c28d7f537ba3cdb8a"
+SRC_URI[sha256sum] = "d1563731e9cffed11cc5f011b2b8e074c325e86a383a91889b5c5b80b09781b9"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
diff --git a/meta/recipes-devtools/pax-utils/pax-utils_0.2.1.bb b/meta/recipes-devtools/pax-utils/pax-utils_0.2.1.bb
deleted file mode 100644
index f19934c22..000000000
--- a/meta/recipes-devtools/pax-utils/pax-utils_0.2.1.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Security-focused ELF files checking tool"
-DESCRIPTION = "This is a small set of various PaX aware and related utilities for ELF binaries. It can check ELF \
-binary files and running processes for issues that might be relevant when using ELF binaries along with PaX, \
-such as non-PIC code or executable stack and heap."
-HOMEPAGE = "http://www.gentoo.org/proj/en/hardened/pax-utils.xml"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
-SRC_URI = "http://gentoo.osuosl.org/distfiles/pax-utils-${PV}.tar.bz2"
-
-SRC_URI[md5sum] = "2bf53234580e02294453a40c864f5871"
-SRC_URI[sha256sum] = "6a5beefb686e425eb6829bc716d2b32b64c2e854287c212c9853bc2beb705c3a"
-
-PR = "r0"
-
-do_install() {
- oe_runmake PREFIX=${D}${prefix} DESTDIR=${D} install
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta/recipes-devtools/pax-utils/pax-utils_0.2.2.bb b/meta/recipes-devtools/pax-utils/pax-utils_0.2.2.bb
new file mode 100644
index 000000000..6bb33e713
--- /dev/null
+++ b/meta/recipes-devtools/pax-utils/pax-utils_0.2.2.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Security-focused ELF files checking tool"
+DESCRIPTION = "This is a small set of various PaX aware and related \
+utilities for ELF binaries. It can check ELF binary files and running \
+processes for issues that might be relevant when using ELF binaries \
+along with PaX, such as non-PIC code or executable stack and heap."
+HOMEPAGE = "http://www.gentoo.org/proj/en/hardened/pax-utils.xml"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
+
+SRC_URI = "http://gentoo.osuosl.org/distfiles/pax-utils-${PV}.tar.bz2"
+
+SRC_URI[md5sum] = "93a2e993ec7a83627c39ddf92988e191"
+SRC_URI[sha256sum] = "eac86abe7871ee12452d221c1e7c21acb9ba78ba2cba1daa587d3c93c77acd07"
+
+PR = "r0"
+
+do_install() {
+ oe_runmake PREFIX=${D}${prefix} DESTDIR=${D} install
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta/recipes-devtools/perl/files/letgcc-find-errno.patch b/meta/recipes-devtools/perl/files/letgcc-find-errno.patch
index 24722ee96..47f972d03 100644
--- a/meta/recipes-devtools/perl/files/letgcc-find-errno.patch
+++ b/meta/recipes-devtools/perl/files/letgcc-find-errno.patch
@@ -8,10 +8,12 @@ external toolchain since perl will search in ${STAGING_INCDIR} for
errno.h (when using gcc) and that isn't where it's located - its
wherever the external toolchain keeps it's headers.
---- perl-5.8.8/ext/Errno/Errno_pm.PL 2007/04/30 14:10:10 1.1
-+++ perl-5.8.8/ext/Errno/Errno_pm.PL 2007/04/30 14:21:35
-@@ -11,8 +11,18 @@
- open OUT, ">Errno.pm" or die "Cannot open Errno.pm: $!";
+Index: perl-5.12.2/ext/Errno/Errno_pm.PL
+===================================================================
+--- perl-5.12.2.orig/ext/Errno/Errno_pm.PL
++++ perl-5.12.2/ext/Errno/Errno_pm.PL
+@@ -17,8 +17,18 @@ unlink "Errno.tmp" if -f "Errno.tmp";
+ open OUT, ">Errno.tmp" or die "Cannot open Errno.tmp: $!";
select OUT;
my $file;
-my @files = get_files();
@@ -31,12 +33,12 @@ wherever the external toolchain keeps it's headers.
# MinGW complains "warning: #pragma system_header ignored outside include
# file" if the header files are processed individually, so include them
# all in .c file and process that instead.
-@@ -44,7 +54,7 @@
+@@ -53,7 +63,7 @@ sub process_file {
chomp($file = `cygpath -w "$file"`);
}
- return unless defined $file and -f $file;
+# return unless defined $file and -f $file;
- # warn "Processing $file\n";
+ # warn "Processing $file\n";
local *FH;
diff --git a/meta/recipes-devtools/perl/files/perl-5.8.8-gcc-4.2.patch b/meta/recipes-devtools/perl/files/perl-5.8.8-gcc-4.2.patch
deleted file mode 100644
index 653a4758f..000000000
--- a/meta/recipes-devtools/perl/files/perl-5.8.8-gcc-4.2.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-See http://bugs.openembedded.net/show_bug.cgi?id=2168
-Fix for gcc 4.2
-
---- perl-5.8.8/makedepend.SH.ark 2006-11-01 16:32:05.000000000 +0100
-+++ perl-5.8.8/makedepend.SH 2006-11-01 16:32:15.000000000 +0100
-@@ -167,6 +167,7 @@
- -e '/^#.*<builtin>/d' \
- -e '/^#.*<built-in>/d' \
- -e '/^#.*<command line>/d' \
-+ -e '/^#.*<command-line>/d' \
- -e '/^#.*"-"/d' \
- -e '/: file path prefix .* never used$/d' \
- -e 's#\.[0-9][0-9]*\.c#'"$file.c#" \
diff --git a/meta/recipes-devtools/perl/liburi-perl_1.56 b/meta/recipes-devtools/perl/liburi-perl_1.56.bb
index 76a123138..76a123138 100644
--- a/meta/recipes-devtools/perl/liburi-perl_1.56
+++ b/meta/recipes-devtools/perl/liburi-perl_1.56.bb
diff --git a/meta/recipes-devtools/perl/libxml-simple-perl_2.18.bb b/meta/recipes-devtools/perl/libxml-simple-perl_2.18.bb
index 136e117c8..ca57776da 100644
--- a/meta/recipes-devtools/perl/libxml-simple-perl_2.18.bb
+++ b/meta/recipes-devtools/perl/libxml-simple-perl_2.18.bb
@@ -2,7 +2,7 @@ SECTION = "libs"
LICENSE = "Artistic"
LIC_FILES_CHKSUM = "file://README;beginline=70;md5=94aa5d46682b411a53a5494cfb22640e"
DEPENDS += "libxml-parser-perl"
-PR = "r0"
+PR = "r1"
SRC_URI = "http://www.cpan.org/modules/by-module/XML/XML-Simple-${PV}.tar.gz"
@@ -11,4 +11,6 @@ SRC_URI[sha256sum] = "a54967c188cda3e20f496c83be4de3f1740eeaa83c0380712ecd969ad8
S = "${WORKDIR}/XML-Simple-${PV}"
+EXTRA_PERLFLAGS = "-I ${STAGING_LIBDIR_NATIVE}/perl/${@get_perl_version(d)}"
+
inherit cpan
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/09_fix_installperl.patch b/meta/recipes-devtools/perl/perl-5.12.2/09_fix_installperl.patch
new file mode 100644
index 000000000..6f2531b95
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/09_fix_installperl.patch
@@ -0,0 +1,19 @@
+Correctly identify arch-specific modules in ext/ where the .pm files
+are under lib.
+
+Ensure that POSIX/SigAction is kept with the rest of the POSIX module
+under archlib.
+
+Index: perl-5.12.2/installperl
+===================================================================
+--- perl-5.12.2.orig/installperl
++++ perl-5.12.2/installperl
+@@ -750,7 +750,7 @@ sub installlib {
+ }
+
+ if (-f $_) {
+- if (/\.(?:al|ix)$/ && !($dir =~ m[^auto/(.*)$])) {
++ if (/\.(?:al|ix)$/ && !($dir =~ m[^auto/(.*)$] && $archpms{$1})) {
+ $installlib = $installprivlib;
+ #We're installing *.al and *.ix files into $installprivlib,
+ #but we have to delete old *.al and *.ix files from the 5.000
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/Makefile.SH.patch b/meta/recipes-devtools/perl/perl-5.12.2/Makefile.SH.patch
new file mode 100644
index 000000000..103fe978b
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/Makefile.SH.patch
@@ -0,0 +1,288 @@
+Index: perl-5.12.2/Makefile.SH
+===================================================================
+--- perl-5.12.2.orig/Makefile.SH
++++ perl-5.12.2/Makefile.SH
+@@ -50,12 +50,12 @@ case "$useshrplib" in
+ true)
+ # Prefix all runs of 'miniperl' and 'perl' with
+ # $ldlibpth so that ./perl finds *this* shared libperl.
+- case "$LD_LIBRARY_PATH" in
+- '')
+- ldlibpth="LD_LIBRARY_PATH=`pwd`";;
+- *)
+- ldlibpth="LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}";;
+- esac
++# case "$LD_LIBRARY_PATH" in
++# '')
++# ldlibpth="LD_LIBRARY_PATH=`pwd`";;
++# *)
++# ldlibpth="LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}";;
++# esac
+
+ pldlflags="$cccdlflags"
+ static_ldflags=''
+@@ -133,7 +133,8 @@ true)
+ ldlibpth=''
+ ;;
+ *)
+- eval "ldlibpth=\"$ldlibpthname=`pwd`:\$$ldlibpthname\""
++# We compile in the library path in OE from cross-compile, so lets not do this
++# eval "ldlibpth=\"$ldlibpthname=`pwd`:\$$ldlibpthname\""
+ ;;
+ esac
+ # Strip off any trailing :'s
+@@ -154,18 +155,7 @@ true)
+ # INSTALL file, under "Building a shared perl library".
+ # If there is no pre-existing $libperl, we don't need
+ # to do anything further.
+- if test -f $archlib/CORE/$libperl; then
+- rm -f preload
+- cat <<'EOT' > preload
+-#! /bin/sh
+-lib=$1
+-shift
+-test -r $lib && export LD_PRELOAD="$lib $LD_PRELOAD"
+-exec "$@"
+-EOT
+- chmod 755 preload
+- ldlibpth="$ldlibpth `pwd`/preload `pwd`/$libperl"
+- fi
++ echo linux libraries overwritten by cross-compile patches
+ ;;
+ os390) test -f /bin/env && ldlibpth="/bin/env $ldlibpth"
+ ;;
+@@ -553,9 +543,19 @@ splintfiles = $(c1)
+ .c.s:
+ $(CCCMDSRC) -S $*.c
+
+-all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) miniperl $(generated_pods) $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make
+- @echo " ";
+- @echo " Everything is up to date. Type '$(MAKE) test' to run test suite."
++#all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) miniperl $(generated_pods) $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make
++# @echo " ";
++# @echo " Everything is up to date. Type '$(MAKE) test' to run test suite."
++
++all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) miniperl $(unidatafiles)
++
++more: $(generated_pods) $(private) $(public)
++
++more2: $(dynamic_ext)
++
++more3: $(nonxs_ext)
++
++more4: extras.make
+
+ .PHONY: all translators utilities
+
+@@ -563,16 +563,16 @@ all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) mi
+ # by make_patchnum.pl.
+ git_version.h: lib/Config_git.pl
+
+-lib/Config_git.pl: $(MINIPERL_EXE) make_patchnum.pl
++lib/Config_git.pl: make_patchnum.pl
+ $(MINIPERL) make_patchnum.pl
+
+ # make sure that we recompile perl.c if the git version changes
+ perl$(OBJ_EXT): git_version.h
+
+-translators: $(MINIPERL_EXE) $(CONFIGPM) $(dynamic_ext) FORCE
++translators: $(CONFIGPM) $(dynamic_ext) FORCE
+ @echo " "; echo " Making x2p stuff"; cd x2p; $(LDLIBPTH) $(MAKE) all
+
+-utilities: $(MINIPERL_EXE) $(CONFIGPM) $(plextract) FORCE
++utilities: $(CONFIGPM) $(plextract) FORCE
+ @echo " "; echo " Making utilities"; cd utils; $(LDLIBPTH) $(MAKE) all
+
+
+@@ -747,7 +747,7 @@ $(LIBPERL): $& $(obj) $(DYNALOADER) $(LI
+ true)
+ $spitshell >>$Makefile <<'!NO!SUBS!'
+ rm -f $@
+- $(LD) -o $@ $(SHRPLDFLAGS) $(obj) $(DYNALOADER) $(libs)
++ $(LD) -o $@ $(SHRPLDFLAGS) $(obj) $(DYNALOADER) $(libs) -Wl,-soname,libperl.so.5
+ !NO!SUBS!
+ case "$osname" in
+ aix)
+@@ -788,7 +788,9 @@ $(MINIPERL_EXE): $& miniperlmain$(OBJ_EX
+ $(CC) -o $(MINIPERL_EXE) $(CLDFLAGS) \
+ $(mini_obj) \
+ miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs)
+- $(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
++ mv -f miniperl miniperl-target
++ ln -s hostperl miniperl
++# $(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
+ !NO!SUBS!
+ ;;
+ next4*)
+@@ -796,7 +798,9 @@ $(MINIPERL_EXE): $& miniperlmain$(OBJ_EX
+ $(MINIPERL_EXE): $& miniperlmain$(OBJ_EXT) $(mini_obj) perlmini$(OBJ_EXT) opmini$(OBJ_EXT)
+ $(CC) -o $(MINIPERL_EXE) $(mini_obj) \
+ miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs)
+- $(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
++ mv -f miniperl miniperl-target
++ ln -s hostperl miniperl
++# $(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
+ !NO!SUBS!
+ ;;
+ darwin*)
+@@ -818,7 +822,9 @@ $(MINIPERL_EXE): $& miniperlmain$(OBJ_EX
+ $(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o $(MINIPERL_EXE) \
+ $(mini_obj) \
+ miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs)
+- $(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
++ mv -f miniperl miniperl-target
++ ln -s hostperl miniperl
++# $(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
+ !NO!SUBS!
+ ;;
+ *)
+@@ -828,7 +834,10 @@ $(MINIPERL_EXE): $& miniperlmain$(OBJ_EX
+ $(LDLIBPTH) $(CC) $(CLDFLAGS) -o $(MINIPERL_EXE) \
+ $(mini_obj) \
+ miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs)
+- $(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
++
++ mv -f miniperl miniperl-target
++ ln -s hostperl miniperl
++# $(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
+ !NO!SUBS!
+ ;;
+ esac
+@@ -950,7 +959,7 @@ case "${osname}" in
+ catamount)
+ $spitshell >>$Makefile <<!GROK!THIS!
+ .PHONY: makeppport
+-makeppport: \$(MINIPERL_EXE) \$(CONFIGPM)
++makeppport: \$(CONFIGPM)
+ -@for f in Makefile.PL PPPort_pm.PL PPPort_xs.PL ppport_h.PL; do \
+ (cd ext/Devel-PPPort && `pwd`/run.sh ../../$(MINIPERL_EXE) -I../../lib \$\$f); \
+ done
+@@ -960,7 +969,7 @@ makeppport: \$(MINIPERL_EXE) \$(CONFIGPM
+ *)
+ $spitshell >>$Makefile <<'!NO!SUBS!'
+ .PHONY: makeppport
+-makeppport: $(MINIPERL_EXE) $(CONFIGPM) $(nonxs_ext)
++makeppport: $(CONFIGPM) $(nonxs_ext)
+ $(MINIPERL) $(Icwd) mkppport
+
+ !NO!SUBS!
+@@ -970,30 +979,30 @@ esac
+ $spitshell >>$Makefile <<'!NO!SUBS!'
+
+ .PHONY: preplibrary
+-preplibrary: $(MINIPERL_EXE) $(CONFIGPM) lib/re.pm $(PREPLIBRARY_LIBPERL)
++preplibrary: $(CONFIGPM) lib/re.pm $(PREPLIBRARY_LIBPERL)
+
+ $(CONFIGPM_FROM_CONFIG_SH): $(CONFIGPOD)
+
+-$(CONFIGPOD): config.sh $(MINIPERL_EXE) configpm Porting/Glossary lib/Config_git.pl
++$(CONFIGPOD): config.sh configpm Porting/Glossary lib/Config_git.pl
+ $(MINIPERL) configpm
+
+-lib/ExtUtils/Miniperl.pm: miniperlmain.c $(MINIPERL_EXE) minimod.pl $(CONFIGPM)
++lib/ExtUtils/Miniperl.pm: miniperlmain.c minimod.pl $(CONFIGPM)
+ $(MINIPERL) minimod.pl > lib/ExtUtils/Miniperl.pm
+
+ lib/re.pm: ext/re/re.pm
+ @-rm -f $@
+ cp ext/re/re.pm lib/re.pm
+
+-$(plextract): $(MINIPERL_EXE) $(CONFIGPM) x2p/s2p $(dynamic_ext)
++$(plextract): $(CONFIGPM) x2p/s2p $(dynamic_ext)
+ @-rm -f $@
+ $(MINIPERL) $@.PL
+
+-x2p/s2p: $(MINIPERL_EXE) $(CONFIGPM) $(dynamic_ext) x2p/s2p.PL
++x2p/s2p: $(CONFIGPM) $(dynamic_ext) x2p/s2p.PL
+ cd x2p; $(LDLIBPTH) $(MAKE) s2p
+
+ unidatafiles $(unidatafiles) pod/perluniprops.pod: uni.data
+
+-uni.data: $(MINIPERL_EXE) $(CONFIGPM) lib/unicore/mktables $(nonxs_ext)
++uni.data: $(CONFIGPM) lib/unicore/mktables $(nonxs_ext)
+ $(MINIPERL) $(Icwd) lib/unicore/mktables -C lib/unicore -P pod -maketest -makelist -p
+ # Commented out so always runs, mktables looks at far more files than we
+ # can in this makefile to decide if needs to run or not
+@@ -1002,21 +1011,21 @@ uni.data: $(MINIPERL_EXE) $(CONFIGPM) li
+ # $(PERL_EXE) and ext because buildtoc uses Text::Wrap uses re
+ # But also this ensures that all extensions are built before we try to scan
+ # them, which picks up Devel::PPPort's documentation.
+-pod/perltoc.pod: $(perltoc_pod_prereqs) $(PERL_EXE) $(ext) pod/buildtoc
+- $(RUN_PERL) -f -Ilib pod/buildtoc --build-toc -q
++pod/perltoc.pod: $(perltoc_pod_prereqs) $(ext) pod/buildtoc
++ $(MINIPERL) -f -Ilib pod/buildtoc --build-toc -q
+
+ pod/perlapi.pod: pod/perlintern.pod
+
+-pod/perlintern.pod: $(MINIPERL_EXE) autodoc.pl embed.fnc
++pod/perlintern.pod: autodoc.pl embed.fnc
+ $(MINIPERL) autodoc.pl
+
+-pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST
++pod/perlmodlib.pod: pod/perlmodlib.PL MANIFEST
+ $(MINIPERL) $(Icwd) pod/perlmodlib.PL -q
+
+ pod/perldelta.pod: pod/perl5122delta.pod
+ $(LNS) perl5122delta.pod pod/perldelta.pod
+
+-extra.pods: $(MINIPERL_EXE)
++extra.pods:
+ -@test ! -f extra.pods || rm -f `cat extra.pods`
+ -@rm -f extra.pods
+ -@for x in `grep -l '^=[a-z]' README.* | grep -v README.vms` ; do \
+@@ -1059,11 +1068,7 @@ no-install:
+ INSTALL_DEPENDENCE = all
+
+ install.perl: $(INSTALL_DEPENDENCE) installperl
+- $(RUN_PERL) installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
+- -@test ! -s extras.lst || $(MAKE) extras.install
+-
+-install.man: all installman
+- $(RUN_PERL) installman --destdir=$(DESTDIR) $(INSTALLFLAGS)
++ ./hostperl -Ifake_config_library -Ilib -MConfig installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
+
+ # XXX Experimental. Hardwired values, but useful for testing.
+ # Eventually Configure could ask for some of these values.
+@@ -1160,16 +1165,16 @@ manicheck: FORCE
+ #
+ # DynaLoader may be needed for extensions that use Makefile.PL.
+
+-$(DYNALOADER): $(MINIPERL_EXE) preplibrary FORCE $(nonxs_ext)
++$(DYNALOADER): preplibrary FORCE $(nonxs_ext)
+ $(MINIPERL) make_ext.pl $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) LINKTYPE=static $(STATIC_LDFLAGS)
+
+-d_dummy $(dynamic_ext): $(MINIPERL_EXE) preplibrary makeppport $(DYNALOADER) FORCE $(PERLEXPORT)
++d_dummy $(dynamic_ext): preplibrary makeppport $(DYNALOADER) FORCE $(PERLEXPORT)
+ $(MINIPERL) make_ext.pl $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) LINKTYPE=dynamic
+
+-s_dummy $(static_ext): $(MINIPERL_EXE) preplibrary makeppport $(DYNALOADER) FORCE
++s_dummy $(static_ext): preplibrary makeppport $(DYNALOADER) FORCE
+ $(MINIPERL) make_ext.pl $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) LINKTYPE=static $(STATIC_LDFLAGS)
+
+-n_dummy $(nonxs_ext): $(MINIPERL_EXE) preplibrary FORCE
++n_dummy $(nonxs_ext): preplibrary FORCE
+ $(MINIPERL) make_ext.pl $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+ !NO!SUBS!
+
+@@ -1367,10 +1372,10 @@ _test:
+
+ test_prep_pre: preplibrary utilities $(nonxs_ext)
+
+-test_prep: test_prep_pre $(MINIPERL_EXE) $(unidatafiles) $(PERL_EXE) $(dynamic_ext) $(TEST_PERL_DLL) runtests
++test_prep: test_prep_pre $(unidatafiles) $(PERL_EXE) $(dynamic_ext) $(TEST_PERL_DLL) runtests
+ cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE))
+
+-test_prep_reonly: $(MINIPERL_EXE) $(PERL_EXE) $(dynamic_ext_re) $(TEST_PERL_DLL)
++test_prep_reonly: $(PERL_EXE) $(dynamic_ext_re) $(TEST_PERL_DLL)
+ $(MINIPERL) make_ext.pl $(dynamic_ext_re) MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) LINKTYPE=dynamic
+ cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE))
+
+@@ -1461,7 +1466,7 @@ minitest.prep:
+
+ # Can't depend on lib/Config.pm because that might be where miniperl
+ # is crashing.
+-minitest: $(MINIPERL_EXE) lib/re.pm minitest.prep
++minitest: lib/re.pm minitest.prep
+ - cd t && (rm -f $(PERL_EXE); $(LNS) ../$(MINIPERL_EXE) $(PERL_EXE)) \
+ && $(RUN_PERL) TEST -minitest base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t op/*.t uni/*.t </dev/tty
+
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/Makefile.patch b/meta/recipes-devtools/perl/perl-5.12.2/Makefile.patch
index ed494b328..e7226ff70 100644
--- a/meta/recipes-devtools/perl/perl-5.8.8/Makefile.patch
+++ b/meta/recipes-devtools/perl/perl-5.12.2/Makefile.patch
@@ -1,10 +1,10 @@
-Index: perl-5.8.8/Cross/Makefile
+Index: perl-5.12.2/Cross/Makefile
===================================================================
---- perl-5.8.8.orig/Cross/Makefile 2004-01-12 21:44:01.000000000 +0100
-+++ perl-5.8.8/Cross/Makefile 2007-08-15 00:15:18.000000000 +0200
+--- perl-5.12.2.orig/Cross/Makefile
++++ perl-5.12.2/Cross/Makefile
@@ -2,7 +2,8 @@
#
- ## $Id: Makefile,v 1.7 2004/01/12 15:41:02 red Exp red $
+ ## $Id: Makefile,v 1.5 2003/12/12 00:48:19 red Exp red $
-export TOPDIR=${shell pwd}
+override TOPDIR=${shell pwd}
@@ -12,7 +12,7 @@ Index: perl-5.8.8/Cross/Makefile
include $(TOPDIR)/config
export CFLAGS
export SYS=$(ARCH)-$(OS)
-@@ -12,7 +13,7 @@
+@@ -12,7 +13,7 @@ export OPTIMIZATION = -O2
export CC = $(CROSS)gcc
export CXX = $(CROSS)g++
@@ -21,7 +21,7 @@ Index: perl-5.8.8/Cross/Makefile
export STRIP = $(CROSS)strip
export AR = $(CROSS)ar
export RANLIB = $(CROSS)ranlib
-@@ -34,21 +35,6 @@
+@@ -34,17 +35,6 @@ CFLAGS+=$(FULL_OPTIMIZATION)
all:
@echo Please read the README file before doing anything else.
@@ -36,17 +36,13 @@ Index: perl-5.8.8/Cross/Makefile
- sed -e 's/XXSTRIPXX/$(SYS)/' installperl-patched > installperl; \
- touch CROSS_PATCHED ; fi
-
--dry_patch:
-- cd .. ; patch --dry-run -p1 < Cross/Makefile.SH.patch; \
-- patch --dry-run -p1 < Cross/installperl.patch; \
--
perl:
@echo Perl cross-build directory is $(TOPDIR)
@echo Target arch is $(SYS)
-@@ -58,11 +44,11 @@
+@@ -54,11 +44,11 @@ perl:
$(TOPDIR)/generate_config_sh config.sh-$(SYS) > $(TOPDIR)/../config.sh
cd $(TOPDIR)/.. ; ./Configure -S ; make depend ; make ; make more
- cd $(TOPDIR)/.. ; mkdir -p fake_config_library ; cp lib/Config.pm fake_config_library
+ cd $(TOPDIR)/.. ; mkdir -p fake_config_library ; cp lib/Config.pm lib/Config_heavy.pl fake_config_library
- cd $(TOPDIR)/.. ; $(MAKE) more2 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
- cd $(TOPDIR)/.. ; $(MAKE) more3 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
- cd $(TOPDIR)/.. ; $(MAKE) more4 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/asm-pageh-fix.patch b/meta/recipes-devtools/perl/perl-5.12.2/asm-pageh-fix.patch
index 41f3b1d23..c97210824 100644
--- a/meta/recipes-devtools/perl/perl-5.8.8/asm-pageh-fix.patch
+++ b/meta/recipes-devtools/perl/perl-5.12.2/asm-pageh-fix.patch
@@ -3,10 +3,10 @@ has been definied in unistd.h since glibc 2.1. Some recent version of linux
libc headers removed the asm/page.h resulting in failures here for some
people.
-Index: perl-5.8.8/ext/IPC/SysV/SysV.xs
+Index: perl-5.12.2/cpan/IPC-SysV/SysV.xs
===================================================================
---- perl-5.8.8.orig/ext/IPC/SysV/SysV.xs 2001-07-01 04:46:07.000000000 +1000
-+++ perl-5.8.8/ext/IPC/SysV/SysV.xs 2007-07-06 11:40:21.000000000 +1000
+--- perl-5.12.2.orig/cpan/IPC-SysV/SysV.xs 2001-07-01 04:46:07.000000000 +1000
++++ perl-5.12.2/cpan/IPC-SysV/SysV.xs 2001-07-01 04:46:07.000000000 +1000
@@ -3,9 +3,6 @@
#include "XSUB.h"
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/config.sh b/meta/recipes-devtools/perl/perl-5.12.2/config.sh
index 3d4c193a3..12d44a838 100644
--- a/meta/recipes-devtools/perl/perl-5.8.8/config.sh
+++ b/meta/recipes-devtools/perl/perl-5.12.2/config.sh
@@ -8,9 +8,42 @@
# Package name : perl5
# Source directory : .
-# Configuration time: Thu Apr 5 19:20:23 EST 2007
+# Configuration time: Thu Dec 23 03:57:51 UTC 2010
# Configured by : Open Embedded
-# Target system : linux birgitte 2.6.21-rc5 #63 tue mar 27 14:41:54 est 2007 i686 gnulinux
+# Target system : linux qemux86 2.6.37-rc5-yocto-standard+ #1 preempt mon dec 20 14:21:27 pst 2010 i686 gnulinux
+
+: Configure command line arguments.
+config_arg0='Configure'
+config_args='-des -Doptimize=-O2 -Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Open Embedded -Dinstallprefix=@DESTDIR@ -Dprefix=/usr -Dvendorprefix=/usr -Dsiteprefix=/usr -Dotherlibdirs=/usr/lib/perl5/5.12.2 -Duseshrplib -Dusethreads -Duseithreads -Duselargefiles -Ud_dosuid -Dd_semctl_semun -Ui_db -Ui_ndbm -Ui_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr'
+config_argc=28
+config_arg1='-des'
+config_arg2='-Doptimize=-O2'
+config_arg3='-Dmyhostname=localhost'
+config_arg4='-Dperladmin=root@localhost'
+config_arg5='-Dcc=gcc'
+config_arg6='-Dcf_by=Open Embedded'
+config_arg7='-Dinstallprefix=@DESTDIR@'
+config_arg8='-Dprefix=/usr'
+config_arg9='-Dvendorprefix=/usr'
+config_arg10='-Dsiteprefix=/usr'
+config_arg11='-Dotherlibdirs=/usr/lib/perl5/5.12.2'
+config_arg12='-Duseshrplib'
+config_arg13='-Dusethreads'
+config_arg14='-Duseithreads'
+config_arg15='-Duselargefiles'
+config_arg16='-Ud_dosuid'
+config_arg17='-Dd_semctl_semun'
+config_arg18='-Ui_db'
+config_arg19='-Ui_ndbm'
+config_arg20='-Ui_gdbm'
+config_arg21='-Di_shadow'
+config_arg22='-Di_syslog'
+config_arg23='-Dman3ext=3pm'
+config_arg24='-Duseperlio'
+config_arg25='-Dinstallusrbinperl'
+config_arg26='-Ubincompat5005'
+config_arg27='-Uversiononly'
+config_arg28='-Dpager=/usr/bin/less -isr'
Author=''
Date='$Date'
@@ -18,7 +51,6 @@ Header=''
Id='$Id'
Locker=''
Log='$Log'
-Mcc='Mcc'
RCSfile='$RCSfile'
Revision='$Revision'
Source=''
@@ -32,11 +64,11 @@ ansi2knr=''
aphostname=''
api_revision='5'
api_subversion='0'
-api_version='8'
-api_versionstring='5.8.0'
+api_version='12'
+api_versionstring='5.12.0'
ar='ar'
-archlib='/usr/lib/perl/5.8'
-archlibexp='/usr/lib/perl/5.8'
+archlib='/usr/lib/perl5/5.12.2/@ARCH@-thread-multi'
+archlibexp='/usr/lib/perl5/5.12.2/@ARCH@-thread-multi'
archname64=''
archname='@ARCH@-thread-multi'
archobjs=''
@@ -45,6 +77,7 @@ awk='awk'
baserev='5.0'
bash=''
bin='/usr/bin'
+bin_ELF='define'
binexp='/usr/bin'
bison='bison'
byacc='byacc'
@@ -53,12 +86,15 @@ castflags='0'
cat='cat'
cc='gcc'
cccdlflags='-fPIC'
-ccdlflags='-Wl,-E'
+ccdlflags='-Wl,-E -Wl,-rpath,/usr/lib/perl5/5.12.2/@ARCH@-thread-multi/CORE'
+ccflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
ccname='gcc'
+ccsymbols=''
ccversion=''
cf_by='Open Embedded'
cf_email='Open Embedded@localhost.localdomain'
-cf_time='Thu Apr 5 23:06:39 EST 2007'
+charbits='8'
charsize='1'
chgrp=''
chmod='chmod'
@@ -71,6 +107,8 @@ cp='cp'
cpio=''
cpp='cpp'
cpp_stuff='42'
+cppccsymbols=''
+cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector'
cpplast='-'
cppminus='-'
cpprun='gcc -E'
@@ -100,25 +138,30 @@ d_accessx='undef'
d_aintl='undef'
d_alarm='define'
d_archlib='define'
+d_asctime64='undef'
d_asctime_r='define'
d_atolf='undef'
d_atoll='define'
+d_attribute_deprecated='define'
d_attribute_format='define'
d_attribute_malloc='define'
d_attribute_nonnull='define'
d_attribute_noreturn='define'
d_attribute_pure='define'
d_attribute_unused='define'
-d_attribute_warn_unused_result='undef'
+d_attribute_warn_unused_result='define'
d_bcmp='define'
d_bcopy='define'
d_bsd='undef'
d_bsdgetpgrp='undef'
d_bsdsetpgrp='undef'
+d_builtin_choose_expr='define'
+d_builtin_expect='define'
d_bzero='define'
+d_c99_variadic_macros='define'
d_casti32='undef'
d_castneg='define'
-d_charvspr='define'
+d_charvspr='undef'
d_chown='define'
d_chroot='define'
d_chsize='undef'
@@ -128,15 +171,20 @@ d_closedir='define'
d_cmsghdr_s='define'
d_const='define'
d_copysignl='define'
+d_cplusplus='undef'
d_crypt='define'
d_crypt_r='define'
d_csh='undef'
+d_ctermid='define'
d_ctermid_r='undef'
+d_ctime64='undef'
d_ctime_r='define'
d_cuserid='define'
d_dbl_dig='define'
d_dbminitproto='undef'
+d_difftime64='undef'
d_difftime='define'
+d_dir_dd_fd='undef'
d_dirfd='define'
d_dirnamlen='undef'
d_dlerror='define'
@@ -146,7 +194,7 @@ d_dosuid='undef'
d_drand48_r='define'
d_drand48proto='define'
d_dup2='define'
-d_eaccess='undef'
+d_eaccess='define'
d_endgrent='define'
d_endgrent_r='undef'
d_endhent='define'
@@ -161,7 +209,7 @@ d_endsent='define'
d_endservent_r='undef'
d_eofnblk='define'
d_eunice='undef'
-d_faststdio='undef'
+d_faststdio='define'
d_fchdir='define'
d_fchmod='define'
d_fchown='define'
@@ -193,6 +241,9 @@ d_fsync='define'
d_ftello='define'
d_ftime='undef'
d_futimes='define'
+d_gdbm_ndbm_h_uses_prototypes='undef'
+d_gdbmndbm_h_uses_prototypes='undef'
+d_getaddrinfo='define'
d_getcwd='define'
d_getespwnam='undef'
d_getfsstat='undef'
@@ -214,6 +265,7 @@ d_getlogin='define'
d_getlogin_r='define'
d_getmnt='undef'
d_getmntent='define'
+d_getnameinfo='define'
d_getnbyaddr='define'
d_getnbyname='define'
d_getnent='define'
@@ -247,16 +299,20 @@ d_getservbyport_r='define'
d_getservent_r='define'
d_getservprotos='define'
d_getspnam='define'
-d_getspnam_r='undef'
+d_getspnam_r='define'
d_gettimeod='define'
+d_gmtime64='undef'
d_gmtime_r='define'
d_gnulibc='define'
d_grpasswd='define'
d_hasmntopt='define'
d_htonl='define'
d_ilogbl='define'
+d_inc_version_list='undef'
d_index='undef'
d_inetaton='define'
+d_inetntop='define'
+d_inetpton='define'
d_int64_t='define'
d_isascii='define'
d_isfinite='undef'
@@ -268,7 +324,9 @@ d_lchown='define'
d_ldbl_dig='define'
d_libm_lib_version='define'
d_link='define'
+d_localtime64='undef'
d_localtime_r='define'
+d_localtime_r_needs_tzset='define'
d_locconv='define'
d_lockf='define'
d_longdbl='define'
@@ -290,7 +348,8 @@ d_mkdir='define'
d_mkdtemp='define'
d_mkfifo='define'
d_mkstemp='define'
-d_mkstemps='undef'
+d_mkstemps='define'
+d_mktime64='undef'
d_mktime='define'
d_mmap='define'
d_modfl='define'
@@ -311,6 +370,8 @@ d_msgsnd='define'
d_msync='define'
d_munmap='define'
d_mymalloc='undef'
+d_ndbm='undef'
+d_ndbm_h_uses_prototypes='undef'
d_nice='define'
d_nl_langinfo='define'
d_nv_zero_is_allbits_zero='define'
@@ -327,6 +388,7 @@ d_pipe='define'
d_poll='define'
d_portable='define'
d_procselfexe='define'
+d_pseudofork='undef'
d_pthread_atfork='define'
d_pthread_attr_setscope='define'
d_pthread_yield='define'
@@ -406,8 +468,11 @@ d_shmctl='define'
d_shmdt='define'
d_shmget='define'
d_sigaction='define'
+d_signbit='define'
d_sigprocmask='define'
d_sigsetjmp='define'
+d_sitearch='define'
+d_snprintf='define'
d_sockatmark='define'
d_sockatmarkproto='define'
d_socket='define'
@@ -425,12 +490,12 @@ d_statfs_f_flags='undef'
d_statfs_s='define'
d_statvfs='define'
d_stdio_cnt_lval='undef'
-d_stdio_ptr_lval='undef'
+d_stdio_ptr_lval='define'
d_stdio_ptr_lval_nochange_cnt='undef'
-d_stdio_ptr_lval_sets_cnt='undef'
+d_stdio_ptr_lval_sets_cnt='define'
d_stdio_stream_array='undef'
-d_stdiobase='undef'
-d_stdstdio='undef'
+d_stdiobase='define'
+d_stdstdio='define'
d_strchr='define'
d_strcoll='define'
d_strctcpy='define'
@@ -462,6 +527,7 @@ d_tcsetpgrp='define'
d_telldir='define'
d_telldirproto='define'
d_time='define'
+d_timegm='define'
d_times='define'
d_tm_tm_gmtoff='define'
d_tm_tm_zone='define'
@@ -488,6 +554,7 @@ d_voidsig='define'
d_voidtty=''
d_volatile='define'
d_vprintf='define'
+d_vsnprintf='define'
d_wait4='define'
d_waitpid='define'
d_wcstombs='define'
@@ -507,7 +574,8 @@ dlsrc='dl_dlopen.xs'
doublesize='8'
drand01='drand48()'
drand48_r_proto='REENTRANT_PROTO_I_ST'
-dynamic_ext='attrs B ByteLoader Cwd Data/Dumper Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re GDBM_File SDBM_File Socket Storable Sys/Hostname Sys/Syslog threads Time/HiRes Unicode/Normalize XS/APItest XS/Typemap threads/shared'
+dtrace=''
+dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via GDBM_File SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Time/HiRes Time/Piece Unicode/Normalize XS/APItest XS/APItest/KeywordRPN XS/Typemap attributes mro re threads threads/shared'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
@@ -522,7 +590,8 @@ endservent_r_proto='0'
eunicefix=':'
exe_ext=''
expr='expr'
-extensions='attrs B ByteLoader Cwd Data/Dumper Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog threads Time/HiRes Unicode/Normalize XS/APItest XS/Typemap threads/shared Errno'
+extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via GDBM_File SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Time/HiRes Time/Piece Unicode/Normalize XS/APItest XS/APItest/KeywordRPN XS/Typemap attributes mro re threads threads/shared Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B/Debug B/Deparse B/Lint CGI CPAN CPANPLUS CPANPLUS/Dist/Build Class/ISA Devel/SelfStubber Digest Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS File/Fetch File/Path File/Temp FileCache Filter/Simple Getopt/Long I18N/LangTags IO/Compress IO/Zlib IPC/Cmd IPC/Open2 IPC/Open3 Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Pluggable NEXT Net/Ping Object/Accessor Package/Constants Params/Check Parse/CPAN/Meta PerlIO/via/QuotedPrint Pod/Escapes Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Plainer Pod/Simple Safe SelfLoader Shell Switch Term/ANSIColor Term/Cap Term/UI Test Test/Harness Test/Simple Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local Unicode/Collate XSLoader autodie autouse base bignum constant encoding/warnings if lib libnet parent podlators'
+extern_C='extern'
extras=''
fflushNULL='define'
fflushall='undef'
@@ -534,10 +603,11 @@ fpostype='fpos_t'
freetype='void'
from=':'
full_ar='/usr/bin/ar'
-full_csh='/bin/csh'
+full_csh='csh'
full_sed='/bin/sed'
gccansipedantic=''
gccosandvers=''
+gccversion='4.5.1'
getgrent_r_proto='REENTRANT_PROTO_I_SBWR'
getgrgid_r_proto='REENTRANT_PROTO_I_TSBWR'
getgrnam_r_proto='REENTRANT_PROTO_I_CSBWR'
@@ -557,12 +627,14 @@ getpwuid_r_proto='REENTRANT_PROTO_I_TSBWR'
getservbyname_r_proto='REENTRANT_PROTO_I_CCSBWR'
getservbyport_r_proto='REENTRANT_PROTO_I_ICSBWR'
getservent_r_proto='REENTRANT_PROTO_I_SBWR'
+getspnam_r_proto='REENTRANT_PROTO_I_CSBWR'
gidsign='1'
gidsize='4'
gidtype='gid_t'
glibpth='/usr/shlib /lib /usr/lib /usr/lib/386 /lib/386 /usr/ccs/lib /usr/ucblib /usr/local/lib '
gmake='gmake'
gmtime_r_proto='REENTRANT_PROTO_S_TS'
+gnulibc_version='2.12.1'
grep='grep'
groupcat='cat /etc/group'
groupstype='gid_t'
@@ -580,8 +652,9 @@ i16type='short'
i32size='4'
i64size='8'
i8size='1'
-i8type='char'
+i8type='signed char'
i_arpainet='define'
+i_assert='define'
i_bsdioctl=''
i_crypt='define'
i_db='undef'
@@ -593,7 +666,9 @@ i_fcntl='undef'
i_float='define'
i_fp='undef'
i_fp_class='undef'
-i_gdbm='define'
+i_gdbm='undef'
+i_gdbm_ndbm='undef'
+i_gdbmndbm='undef'
i_grp='define'
i_ieeefp='undef'
i_inttypes='define'
@@ -603,6 +678,7 @@ i_limits='define'
i_locale='define'
i_machcthr='undef'
i_malloc='define'
+i_mallocmalloc='undef'
i_math='define'
i_memory='undef'
i_mntent='define'
@@ -637,6 +713,7 @@ i_sysmode='undef'
i_sysmount='define'
i_sysndir='undef'
i_sysparam='define'
+i_syspoll='define'
i_sysresrc='define'
i_syssecrt='undef'
i_sysselct='define'
@@ -668,49 +745,58 @@ inc_version_list=' '
inc_version_list_init='0'
incpath=''
inews=''
-installarchlib='@LIBDIR@/perl/5.8'
-installbin='@BINDIR@'
+initialinstalllocation='/usr/bin'
+installarchlib='@DESTDIR@/lib/perl5/5.12.2/@ARCH@-thread-multi'
+installbin='@DESTDIR@/bin'
installhtml1dir=''
installhtml3dir=''
-installman1dir='@MANDIR@/man1'
-installman3dir='@MANDIR@/man3'
-installprefix='@PREFIX@'
-installprefixexp='@PREFIX@/usr'
-installprivlib='@DATADIR@/perl/5.8'
-installscript='@BINDIR@'
-installsitearch='@PREFIX@/local/lib/perl/5.8.8'
-installsitebin='@PREFIX@/local/bin'
+installman1dir=''
+installman3dir=''
+installprefix='@DESTDIR@'
+installprefixexp='@DESTDIR@'
+installprivlib='@DESTDIR@/lib/perl5/5.12.2'
+installscript='@DESTDIR@/bin'
+installsitearch='@DESTDIR@/lib/perl5/site_perl/5.12.2/@ARCH@-thread-multi'
+installsitebin='@DESTDIR@/bin'
installsitehtml1dir=''
installsitehtml3dir=''
-installsitelib='@PREFIX@/local/share/perl/5.8.8'
-installsiteman1dir='@PREFIX@/local/man/man1'
-installsiteman3dir='@PREFIX@/local/man/man3'
-installsitescript='@PREFIX@/local/bin'
+installsitelib='@DESTDIR@/lib/perl5/site_perl/5.12.2'
+installsiteman1dir=''
+installsiteman3dir=''
+installsitescript='@DESTDIR@/bin'
installstyle='lib/perl5'
installusrbinperl='define'
-installvendorarch='@LIBDIR@/perl5'
-installvendorbin='@BINDIR@'
+installvendorarch='@DESTDIR@/lib/perl5/vendor_perl/5.12.2/@ARCH@-thread-multi'
+installvendorbin='@DESTDIR@/bin'
installvendorhtml1dir=''
installvendorhtml3dir=''
-installvendorlib='@DATADIR@/perl5'
-installvendorman1dir='@MANDIR@/man1'
-installvendorman3dir='@MANDIR@/man3'
-installvendorscript='@BINDIR@'
+installvendorlib='@DESTDIR@/lib/perl5/vendor_perl/5.12.2'
+installvendorman1dir=''
+installvendorman3dir=''
+installvendorscript='@DESTDIR@/bin'
intsize='4'
issymlink='test -h'
ivdformat='"ld"'
ivtype='long'
-known_extensions='attrs B ByteLoader Cwd Data/Dumper DB_File Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call GDBM_File I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog Thread threads Time/HiRes Unicode/Normalize XS/APItest XS/Typemap threads/shared'
+known_extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Time/HiRes Time/Piece Unicode/Normalize VMS/DCLsym VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/APItest/KeywordRPN XS/Typemap attributes mro re threads threads/shared '
ksh=''
ld='gcc'
-lddlflags='-shared -L/usr/local/lib'
-ldflags=' -L/usr/local/lib'
+lddlflags='-shared -O2 -fstack-protector'
+ldflags=' -fstack-protector'
ldflags_uselargefiles=''
ldlibpthname='LD_LIBRARY_PATH'
less='less'
lib_ext='.a'
+libc='/lib/libc-2.12.1.so'
libperl='libperl.so'
-libpth='/usr/local/lib /lib /usr/lib'
+libpth='/lib /usr/lib'
+libs='-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc'
+libsdirs=' /usr/lib'
+libsfiles=' libnsl.so libgdbm.so libdb.so libdl.so libm.so libcrypt.so libutil.so libpthread.so libc.so'
+libsfound=' /usr/lib/libnsl.so /usr/lib/libgdbm.so /usr/lib/libdb.so /usr/lib/libdl.so /usr/lib/libm.so /usr/lib/libcrypt.so /usr/lib/libutil.so /usr/lib/libpthread.so /usr/lib/libc.so'
+libspath=' /lib /usr/lib'
+libswanted='sfio socket inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun m crypt sec util pthread c cposix posix ucb BSD gdbm_compat'
+libswanted_uselargefiles=''
line=''
lint=''
lkflags=''
@@ -725,6 +811,10 @@ lpr=''
ls='ls'
lseeksize='8'
lseektype='off_t'
+mad='undef'
+madlyh=''
+madlyobj=''
+madlysrc=''
mail=''
mailx=''
make='make'
@@ -732,12 +822,12 @@ make_set_make='#'
mallocobj=''
mallocsrc=''
malloctype='void *'
-man1dir='/usr/share/man/man1'
-man1direxp='/usr/share/man/man1'
-man1ext='1'
-man3dir='/usr/share/man/man3'
-man3direxp='/usr/share/man/man3'
-man3ext='3pm'
+man1dir=' '
+man1direxp=''
+man1ext='0'
+man3dir=' '
+man3direxp=''
+man3ext='0'
mips_type=''
mistrustnm=''
mkdir='mkdir'
@@ -750,19 +840,18 @@ myarchname='@ARCH@'
mydomain='.localdomain'
myhostname='localhost'
n='-n'
-need_va_copy='undef'
netdb_hlen_type='size_t'
-netdb_host_type='const void *'
netdb_name_type='const char *'
netdb_net_type='in_addr_t'
nm='nm'
nm_opt=''
nm_so_opt='--dynamic'
-nonxs_ext='Errno'
+nonxs_ext='Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B/Debug B/Deparse B/Lint CGI CPAN CPANPLUS CPANPLUS/Dist/Build Class/ISA Devel/SelfStubber Digest Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS File/Fetch File/Path File/Temp FileCache Filter/Simple Getopt/Long I18N/LangTags IO/Compress IO/Zlib IPC/Cmd IPC/Open2 IPC/Open3 Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Pluggable NEXT Net/Ping Object/Accessor Package/Constants Params/Check Parse/CPAN/Meta PerlIO/via/QuotedPrint Pod/Escapes Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Plainer Pod/Simple Safe SelfLoader Shell Switch Term/ANSIColor Term/Cap Term/UI Test Test/Harness Test/Simple Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local Unicode/Collate XSLoader autodie autouse base bignum constant encoding/warnings if lib libnet parent podlators'
nroff='nroff'
nvEUformat='"E"'
nvFUformat='"F"'
nvGUformat='"G"'
+nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
nveformat='"e"'
nvfformat='"f"'
nvgformat='"g"'
@@ -774,18 +863,19 @@ old_pthread_create_joinable=''
optimize='-O2'
orderlib='false'
osname='linux'
-otherlibdirs=' '
+osvers='2.6.37-rc5-yocto-standard+'
+otherlibdirs='/usr/lib/perl5/5.12.2'
package='perl5'
pager='/usr/bin/less -isr'
passcat='cat /etc/passwd'
-patchlevel='8'
+patchlevel='12'
path_sep=':'
-perl5='hostperl'
+perl5='/usr/bin/perl'
perl=''
perl_patchlevel=''
perladmin='root@localhost'
perllibs='-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc'
-perlpath='hostperl'
+perlpath='/usr/bin/perl'
pg='pg'
phostname=''
pidtype='pid_t'
@@ -794,8 +884,8 @@ pmake=''
pr=''
prefix='/usr'
prefixexp='/usr'
-privlib='/usr/share/perl/5.8'
-privlibexp='/usr/share/perl/5.8'
+privlib='/usr/lib/perl5/5.12.2'
+privlibexp='/usr/lib/perl5/5.12.2'
procselfexe='"/proc/self/exe"'
prototype='define'
randbits='48'
@@ -808,6 +898,7 @@ readdir64_r_proto='REENTRANT_PROTO_I_TSR'
readdir_r_proto='REENTRANT_PROTO_I_TSR'
revision='5'
rm='rm'
+rm_try='/bin/rm -f try try a.out .out try.[cho] try..o core core.try* try.core*'
rmail=''
run=''
runnm='false'
@@ -840,31 +931,31 @@ shortsize='2'
shrpenv=''
shsharp='true'
sig_count='65'
+sig_name='ZERO HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS NUM32 NUM33 RTMIN NUM35 NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 NUM63 RTMAX IOT CLD POLL UNUSED '
+sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "BUS", "FPE", "KILL", "USR1", "SEGV", "USR2", "PIPE", "ALRM", "TERM", "STKFLT", "CHLD", "CONT", "STOP", "TSTP", "TTIN", "TTOU", "URG", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "IO", "PWR", "SYS", "NUM32", "NUM33", "RTMIN", "NUM35", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "RTMAX", "IOT", "CLD", "POLL", "UNUSED", 0'
sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 6 17 29 31 '
sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 6, 17, 29, 31, 0'
sig_size='69'
-sig_name='ZERO HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS NUM32 NUM33 RTMIN NUM35 NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 NUM63 RTMAX IOT CLD POLL UNUSED '
-sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "BUS", "FPE", "KILL", "USR1", "SEGV", "USR2", "PIPE", "ALRM", "TERM", "STKFLT", "CHLD", "CONT", "STOP", "TSTP", "TTIN", "TTOU", "URG", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "IO", "PWR", "SYS", "NUM32", "NUM33", "RTMIN", "NUM35", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "RTMAX", "IOT", "CLD", "POLL", "UNUSED", 0'
signal_t='void'
-sitearch='/usr/local/lib/perl/5.8.8'
-sitearchexp='/usr/local/lib/perl/5.8.8'
-sitebin='/usr/local/bin'
-sitebinexp='/usr/local/bin'
+sitearch='/usr/lib/perl5/site_perl/5.12.2/@ARCH@-thread-multi'
+sitearchexp='/usr/lib/perl5/site_perl/5.12.2/@ARCH@-thread-multi'
+sitebin='/usr/bin'
+sitebinexp='/usr/bin'
sitehtml1dir=''
sitehtml1direxp=''
sitehtml3dir=''
sitehtml3direxp=''
-sitelib='/usr/local/share/perl/5.8.8'
-sitelib_stem=''
-sitelibexp='/usr/local/share/perl/5.8.8'
-siteman1dir='/usr/local/man/man1'
-siteman1direxp='/usr/local/man/man1'
-siteman3dir='/usr/local/man/man3'
-siteman3direxp='/usr/local/man/man3'
-siteprefix='/usr/local'
-siteprefixexp='/usr/local'
-sitescript='/usr/local/bin'
-sitescriptexp='/usr/local/bin'
+sitelib='/usr/lib/perl5/site_perl/5.12.2'
+sitelib_stem='/usr/lib/perl5/site_perl'
+sitelibexp='/usr/lib/perl5/site_perl/5.12.2'
+siteman1dir=''
+siteman1direxp=''
+siteman3dir=''
+siteman3direxp=''
+siteprefix='/usr'
+siteprefixexp='/usr'
+sitescript='/usr/bin'
+sitescriptexp='/usr/bin'
sizetype='size_t'
sleep=''
smail=''
@@ -892,7 +983,7 @@ stdio_stream_array=''
strerror_r_proto='REENTRANT_PROTO_B_IBW'
strings='/usr/include/string.h'
submit=''
-subversion='8'
+subversion='2'
sysman='/usr/share/man/man1'
tail=''
tar=''
@@ -922,8 +1013,10 @@ uname='uname'
uniq='uniq'
use5005threads='undef'
usecrosscompile='undef'
+usedevel='undef'
usedl='define'
-usefaststdio='define'
+usedtrace='undef'
+usefaststdio='undef'
useithreads='define'
uselargefiles='define'
uselongdouble='undef'
@@ -936,6 +1029,7 @@ useopcode='true'
useperlio='define'
useposix='true'
usereentrant='undef'
+userelocatableinc='undef'
usesfio='false'
useshrplib='true'
usesitecustomize='undef'
@@ -950,27 +1044,28 @@ uvoformat='"lo"'
uvtype='unsigned long'
uvuformat='"lu"'
uvxformat='"lx"'
-vendorarch='/usr/lib/perl5'
-vendorarchexp='/usr/lib/perl5'
+vaproto='define'
+vendorarch='/usr/lib/perl5/vendor_perl/5.12.2/@ARCH@-thread-multi'
+vendorarchexp='/usr/lib/perl5/vendor_perl/5.12.2/@ARCH@-thread-multi'
vendorbin='/usr/bin'
vendorbinexp='/usr/bin'
vendorhtml1dir=' '
vendorhtml1direxp=''
vendorhtml3dir=' '
vendorhtml3direxp=''
-vendorlib='/usr/share/perl5'
-vendorlib_stem=''
-vendorlibexp='/usr/share/perl5'
-vendorman1dir='/usr/share/man/man1'
-vendorman1direxp='/usr/share/man/man1'
-vendorman3dir='/usr/share/man/man3'
-vendorman3direxp='/usr/share/man/man3'
+vendorlib='/usr/lib/perl5/vendor_perl/5.12.2'
+vendorlib_stem='/usr/lib/perl5/vendor_perl'
+vendorlibexp='/usr/lib/perl5/vendor_perl/5.12.2'
+vendorman1dir=' '
+vendorman1direxp=''
+vendorman3dir=' '
+vendorman3direxp=''
vendorprefix='/usr'
vendorprefixexp='/usr'
vendorscript='/usr/bin'
vendorscriptexp='/usr/bin'
-version='5.8.8'
-version_patchlevel_string='version 8 subversion 8'
+version='5.12.2'
+version_patchlevel_string='version 12 subversion 2'
versiononly='undef'
vi=''
voidflags='15'
@@ -979,42 +1074,13 @@ yacc='yacc'
yaccflags=''
zcat=''
zip='zip'
-# Configure command line arguments.
-config_arg0='Configure'
-config_args='-des -Doptimize=-O2 -Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Open Embedded -Dprefix=/usr -Dvendorprefix=/usr -Dsiteprefix=/usr -Dotherlibdirs=/usr/lib/perl5/5.8.8 -Duseshrplib -Dusethreads -Duseithreads -Duselargefiles -Ud_dosuid -Dd_semctl_semun -Ui_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr'
-config_argc=27
-config_arg1='-des'
-config_arg2='-Doptimize=-O2'
-config_arg3='-Dmyhostname=localhost'
-config_arg4='-Dperladmin=root@localhost'
-config_arg5='-Dcc=gcc'
-config_arg6='-Dcf_by=Open Embedded'
-config_arg7='-Dprefix=/usr'
-config_arg8='-Dvendorprefix=/usr'
-config_arg9='-Dsiteprefix=/usr'
-config_arg10='-Dotherlibdirs=/usr/lib/perl5/5.8.8'
-config_arg11='-Duseshrplib'
-config_arg12='-Dusethreads'
-config_arg13='-Duseithreads'
-config_arg14='-Duselargefiles'
-config_arg15='-Ud_dosuid'
-config_arg16='-Dd_semctl_semun'
-config_arg17='-Ui_db'
-config_arg18='-Ui_ndbm'
-config_arg19='-Di_gdbm'
-config_arg20='-Di_shadow'
-config_arg21='-Di_syslog'
-config_arg22='-Dman3ext=3pm'
-config_arg23='-Duseperlio'
-config_arg24='-Dinstallusrbinperl'
-config_arg25='-Ubincompat5005'
-config_arg26='-Uversiononly'
-config_arg27='-Dpager=/usr/bin/less -isr'
PERL_REVISION=5
-PERL_VERSION=8
-PERL_SUBVERSION=8
+PERL_VERSION=12
+PERL_SUBVERSION=2
PERL_API_REVISION=5
-PERL_API_VERSION=8
+PERL_API_VERSION=12
PERL_API_SUBVERSION=0
-PERL_PATCHLEVEL=
+PERL_PATCHLEVEL=''
PERL_CONFIG_SH=true
+: Variables propagated from previous config.sh file.
+libdb_needs_pthread='N'
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/config.sh-32 b/meta/recipes-devtools/perl/perl-5.12.2/config.sh-32
new file mode 100644
index 000000000..7259a0c6a
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/config.sh-32
@@ -0,0 +1,38 @@
+alignbytes='4'
+cf_time='Thu Dec 23 03:57:51 UTC 2010'
+cppsymbols='_FILE_OFFSET_BITS=64 _GNU_SOURCE=1 _LARGEFILE64_SOURCE=1 _LARGEFILE_SOURCE=1 _POSIX_C_SOURCE=200809L _POSIX_SOURCE=1 _REENTRANT=1 _XOPEN_SOURCE=700 _XOPEN_SOURCE_EXTENDED=1 __BIGGEST_ALIGNMENT__=16 __CHAR16_TYPE__=short\ unsigned\ int __CHAR32_TYPE__=unsigned\ int __CHAR_BIT__=8 __DBL_DENORM_MIN__=((double)4.94065645841246544177e-324L) __DBL_DIG__=15 __DBL_EPSILON__=((double)2.22044604925031308085e-16L) __DBL_HAS_DENORM__=1 __DBL_HAS_INFINITY__=1 __DBL_HAS_QUIET_NAN__=1 __DBL_MANT_DIG__=53 __DBL_MAX_10_EXP__=308 __DBL_MAX_EXP__=1024 __DBL_MAX__=((double)1.79769313486231570815e+308L) __DBL_MIN_10_EXP__=(-307) __DBL_MIN_EXP__=(-1021) __DBL_MIN__=((double)2.22507385850720138309e-308L) __DEC128_EPSILON__=1E-33DL __DEC128_MANT_DIG__=34 __DEC128_MAX_EXP__=6145 __DEC128_MAX__=9.999999999999999999999999999999999E6144DL __DEC128_MIN_EXP__=(-6142) __DEC128_MIN__=1E-6143DL __DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL __DEC32_EPSILON__=1E-6DF __DEC32_MANT_DIG__=7 __DEC32_MAX_EXP__=97 __DEC32_MAX__=9.999999E96DF __DEC32_MIN_EXP__=(-94) __DEC32_MIN__=1E-95DF __DEC32_SUBNORMAL_MIN__=0.000001E-95DF __DEC64_EPSILON__=1E-15DD __DEC64_MANT_DIG__=16 __DEC64_MAX_EXP__=385 __DEC64_MAX__=9.999999999999999E384DD __DEC64_MIN_EXP__=(-382) __DEC64_MIN__=1E-383DD __DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD __DECIMAL_BID_FORMAT__=1 __DECIMAL_DIG__=21 __DEC_EVAL_METHOD__=2 __ELF__=1 __FINITE_MATH_ONLY__=0 __FLT_DENORM_MIN__=1.40129846432481707092e-45F __FLT_DIG__=6 __FLT_EPSILON__=1.19209289550781250000e-7F __FLT_EVAL_METHOD__=2 __FLT_HAS_DENORM__=1 __FLT_HAS_INFINITY__=1 __FLT_HAS_QUIET_NAN__=1 __FLT_MANT_DIG__=24 __FLT_MAX_10_EXP__=38 __FLT_MAX_EXP__=128 __FLT_MAX__=3.40282346638528859812e+38F __FLT_MIN_10_EXP__=(-37) __FLT_MIN_EXP__=(-125) __FLT_MIN__=1.17549435082228750797e-38F __FLT_RADIX__=2 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8=1 __GLIBC_MINOR__=12 __GLIBC__=2 __GNUC_GNU_INLINE__=1 __GNUC_MINOR__=5 __GNUC_PATCHLEVEL__=1 __GNUC__=4 __GNU_LIBRARY__=6 __GXX_ABI_VERSION=1002 __INT16_C(c)=c __INT16_MAX__=32767 __INT16_TYPE__=short\ int __INT32_C(c)=c __INT32_MAX__=2147483647 __INT32_TYPE__=int __INT64_C(c)=cLL __INT64_MAX__=9223372036854775807LL __INT64_TYPE__=long\ long\ int __INT8_C(c)=c __INT8_MAX__=127 __INT8_TYPE__=signed\ char __INTMAX_C(c)=cLL __INTMAX_MAX__=9223372036854775807LL __INTMAX_TYPE__=long\ long\ int __INTPTR_MAX__=2147483647 __INTPTR_TYPE__=int __INT_FAST16_MAX__=2147483647 __INT_FAST16_TYPE__=int __INT_FAST32_MAX__=2147483647 __INT_FAST32_TYPE__=int __INT_FAST64_MAX__=9223372036854775807LL __INT_FAST64_TYPE__=long\ long\ int __INT_FAST8_MAX__=127 __INT_FAST8_TYPE__=signed\ char __INT_LEAST16_MAX__=32767 __INT_LEAST16_TYPE__=short\ int __INT_LEAST32_MAX__=2147483647 __INT_LEAST32_TYPE__=int __INT_LEAST64_MAX__=9223372036854775807LL __INT_LEAST64_TYPE__=long\ long\ int __INT_LEAST8_MAX__=127 __INT_LEAST8_TYPE__=signed\ char __INT_MAX__=2147483647 __LDBL_DENORM_MIN__=3.64519953188247460253e-4951L __LDBL_DIG__=18 __LDBL_EPSILON__=1.08420217248550443401e-19L __LDBL_HAS_DENORM__=1 __LDBL_HAS_INFINITY__=1 __LDBL_HAS_QUIET_NAN__=1 __LDBL_MANT_DIG__=64 __LDBL_MAX_10_EXP__=4932 __LDBL_MAX_EXP__=16384 __LDBL_MAX__=1.18973149535723176502e+4932L __LDBL_MIN_10_EXP__=(-4931) __LDBL_MIN_EXP__=(-16381) __LDBL_MIN__=3.36210314311209350626e-4932L __LONG_LONG_MAX__=9223372036854775807LL __LONG_MAX__=2147483647L __PRAGMA_REDEFINE_EXTNAME=1 __PTRDIFF_MAX__=2147483647 __PTRDIFF_TYPE__=int __REGISTER_PREFIX__= __SCHAR_MAX__=127 __SHRT_MAX__=32767 __SIG_ATOMIC_MAX__=2147483647 __SIG_ATOMIC_MIN__=(-2147483647\ -\ 1) __SIG_ATOMIC_TYPE__=int __SIZEOF_DOUBLE__=8 __SIZEOF_FLOAT__=4 __SIZEOF_INT__=4 __SIZEOF_LONG_DOUBLE__=12 __SIZEOF_LONG_LONG__=8 __SIZEOF_LONG__=4 __SIZEOF_POINTER__=4 __SIZEOF_PTRDIFF_T__=4 __SIZEOF_SHORT__=2 __SIZEOF_SIZE_T__=4 __SIZEOF_WCHAR_T__=4 __SIZEOF_WINT_T__=4 __SIZE_MAX__=4294967295U __SIZE_TYPE__=unsigned\ int __STDC_HOSTED__=1 __STDC__=1 __UINT16_C(c)=c __UINT16_MAX__=65535 __UINT16_TYPE__=short\ unsigned\ int __UINT32_C(c)=cU __UINT32_MAX__=4294967295U __UINT32_TYPE__=unsigned\ int __UINT64_C(c)=cULL __UINT64_MAX__=18446744073709551615ULL __UINT64_TYPE__=long\ long\ unsigned\ int __UINT8_C(c)=c __UINT8_MAX__=255 __UINT8_TYPE__=unsigned\ char __UINTMAX_C(c)=cULL __UINTMAX_MAX__=18446744073709551615ULL __UINTMAX_TYPE__=long\ long\ unsigned\ int __UINTPTR_MAX__=4294967295U __UINTPTR_TYPE__=unsigned\ int __UINT_FAST16_MAX__=4294967295U __UINT_FAST16_TYPE__=unsigned\ int __UINT_FAST32_MAX__=4294967295U __UINT_FAST32_TYPE__=unsigned\ int __UINT_FAST64_MAX__=18446744073709551615ULL __UINT_FAST64_TYPE__=long\ long\ unsigned\ int __UINT_FAST8_MAX__=255 __UINT_FAST8_TYPE__=unsigned\ char __UINT_LEAST16_MAX__=65535 __UINT_LEAST16_TYPE__=short\ unsigned\ int __UINT_LEAST32_MAX__=4294967295U __UINT_LEAST32_TYPE__=unsigned\ int __UINT_LEAST64_MAX__=18446744073709551615ULL __UINT_LEAST64_TYPE__=long\ long\ unsigned\ int __UINT_LEAST8_MAX__=255 __UINT_LEAST8_TYPE__=unsigned\ char __USER_LABEL_PREFIX__= __USE_BSD=1 __USE_FILE_OFFSET64=1 __USE_GNU=1 __USE_LARGEFILE64=1 __USE_LARGEFILE=1 __USE_MISC=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __USE_POSIX=1 __USE_REENTRANT=1 __USE_SVID=1 __USE_UNIX98=1 __USE_XOPEN=1 __USE_XOPEN_EXTENDED=1 __VERSION__="4.5.1" __WCHAR_MAX__=2147483647L __WCHAR_MIN__=(-2147483647L\ -\ 1) __WCHAR_TYPE__=long\ int __WINT_MAX__=4294967295U __WINT_MIN__=0U __WINT_TYPE__=unsigned\ int __gnu_linux__=1 __i386=1 __i386__=1 __i586=1 __i586__=1 __linux=1 __linux__=1 __pentium=1 __pentium__=1 __tune_i586__=1 __tune_pentium__=1 __unix=1 __unix__=1 i386=1 linux=1 unix=1'
+d_nv_preserves_uv='define'
+d_printf_format_null='define'
+d_u32align='undef'
+gidformat='"lu"'
+i32type='long'
+i64type='long long'
+ivsize='4'
+longdblsize='12'
+longsize='4'
+myuname='linux qemux86 2.6.37-rc5-yocto-standard+ #1 preempt mon dec 20 14:21:27 pst 2010 i686 gnulinux '
+need_va_copy='undef'
+netdb_host_type='const void *'
+nv_preserves_uv_bits='32'
+ptrsize='4'
+quadkind='3'
+quadtype='long long'
+sGMTIME_max='2147483647'
+sGMTIME_min='-2147483648'
+sLOCALTIME_max='2147483647'
+sLOCALTIME_min='-2147483648'
+sPRIXU64='"LX"'
+sPRId64='"Ld"'
+sPRIi64='"Li"'
+sPRIo64='"Lo"'
+sPRIu64='"Lu"'
+sPRIx64='"Lx"'
+selectminbits='32'
+sizesize='4'
+u32type='unsigned long'
+u64type='unsigned long long'
+uidformat='"lu"'
+uquadtype='unsigned long long'
+use64bitall='undef'
+use64bitint='undef'
+uvsize='4'
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/config.sh-32-be b/meta/recipes-devtools/perl/perl-5.12.2/config.sh-32-be
index a59a9abb5..a59a9abb5 100644
--- a/meta/recipes-devtools/perl/perl-5.8.8/config.sh-32-be
+++ b/meta/recipes-devtools/perl/perl-5.12.2/config.sh-32-be
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/config.sh-32-le b/meta/recipes-devtools/perl/perl-5.12.2/config.sh-32-le
index 10e422656..10e422656 100644
--- a/meta/recipes-devtools/perl/perl-5.8.8/config.sh-32-le
+++ b/meta/recipes-devtools/perl/perl-5.12.2/config.sh-32-le
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/config.sh-64 b/meta/recipes-devtools/perl/perl-5.12.2/config.sh-64
new file mode 100644
index 000000000..6929d3a09
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/config.sh-64
@@ -0,0 +1,38 @@
+alignbytes='8'
+cf_time='Thu Dec 23 02:06:42 UTC 2010'
+cppsymbols='_FILE_OFFSET_BITS=64 _GNU_SOURCE=1 _LARGEFILE64_SOURCE=1 _LARGEFILE_SOURCE=1 _LP64=1 _POSIX_C_SOURCE=200809L _POSIX_SOURCE=1 _REENTRANT=1 _XOPEN_SOURCE=700 _XOPEN_SOURCE_EXTENDED=1 __BIGGEST_ALIGNMENT__=16 __CHAR16_TYPE__=short\ unsigned\ int __CHAR32_TYPE__=unsigned\ int __CHAR_BIT__=8 __DBL_DENORM_MIN__=((double)4.94065645841246544177e-324L) __DBL_DIG__=15 __DBL_EPSILON__=((double)2.22044604925031308085e-16L) __DBL_HAS_DENORM__=1 __DBL_HAS_INFINITY__=1 __DBL_HAS_QUIET_NAN__=1 __DBL_MANT_DIG__=53 __DBL_MAX_10_EXP__=308 __DBL_MAX_EXP__=1024 __DBL_MAX__=((double)1.79769313486231570815e+308L) __DBL_MIN_10_EXP__=(-307) __DBL_MIN_EXP__=(-1021) __DBL_MIN__=((double)2.22507385850720138309e-308L) __DEC128_EPSILON__=1E-33DL __DEC128_MANT_DIG__=34 __DEC128_MAX_EXP__=6145 __DEC128_MAX__=9.999999999999999999999999999999999E6144DL __DEC128_MIN_EXP__=(-6142) __DEC128_MIN__=1E-6143DL __DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL __DEC32_EPSILON__=1E-6DF __DEC32_MANT_DIG__=7 __DEC32_MAX_EXP__=97 __DEC32_MAX__=9.999999E96DF __DEC32_MIN_EXP__=(-94) __DEC32_MIN__=1E-95DF __DEC32_SUBNORMAL_MIN__=0.000001E-95DF __DEC64_EPSILON__=1E-15DD __DEC64_MANT_DIG__=16 __DEC64_MAX_EXP__=385 __DEC64_MAX__=9.999999999999999E384DD __DEC64_MIN_EXP__=(-382) __DEC64_MIN__=1E-383DD __DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD __DECIMAL_BID_FORMAT__=1 __DECIMAL_DIG__=21 __DEC_EVAL_METHOD__=2 __ELF__=1 __FINITE_MATH_ONLY__=0 __FLT_DENORM_MIN__=1.40129846432481707092e-45F __FLT_DIG__=6 __FLT_EPSILON__=1.19209289550781250000e-7F __FLT_EVAL_METHOD__=0 __FLT_HAS_DENORM__=1 __FLT_HAS_INFINITY__=1 __FLT_HAS_QUIET_NAN__=1 __FLT_MANT_DIG__=24 __FLT_MAX_10_EXP__=38 __FLT_MAX_EXP__=128 __FLT_MAX__=3.40282346638528859812e+38F __FLT_MIN_10_EXP__=(-37) __FLT_MIN_EXP__=(-125) __FLT_MIN__=1.17549435082228750797e-38F __FLT_RADIX__=2 __GCC_HAVE_DWARF2_CFI_ASM=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8=1 __GLIBC_MINOR__=12 __GLIBC__=2 __GNUC_GNU_INLINE__=1 __GNUC_MINOR__=5 __GNUC_PATCHLEVEL__=1 __GNUC__=4 __GNU_LIBRARY__=6 __GXX_ABI_VERSION=1002 __INT16_C(c)=c __INT16_MAX__=32767 __INT16_TYPE__=short\ int __INT32_C(c)=c __INT32_MAX__=2147483647 __INT32_TYPE__=int __INT64_C(c)=cL __INT64_MAX__=9223372036854775807L __INT64_TYPE__=long\ int __INT8_C(c)=c __INT8_MAX__=127 __INT8_TYPE__=signed\ char __INTMAX_C(c)=cL __INTMAX_MAX__=9223372036854775807L __INTMAX_TYPE__=long\ int __INTPTR_MAX__=9223372036854775807L __INTPTR_TYPE__=long\ int __INT_FAST16_MAX__=9223372036854775807L __INT_FAST16_TYPE__=long\ int __INT_FAST32_MAX__=9223372036854775807L __INT_FAST32_TYPE__=long\ int __INT_FAST64_MAX__=9223372036854775807L __INT_FAST64_TYPE__=long\ int __INT_FAST8_MAX__=127 __INT_FAST8_TYPE__=signed\ char __INT_LEAST16_MAX__=32767 __INT_LEAST16_TYPE__=short\ int __INT_LEAST32_MAX__=2147483647 __INT_LEAST32_TYPE__=int __INT_LEAST64_MAX__=9223372036854775807L __INT_LEAST64_TYPE__=long\ int __INT_LEAST8_MAX__=127 __INT_LEAST8_TYPE__=signed\ char __INT_MAX__=2147483647 __LDBL_DENORM_MIN__=3.64519953188247460253e-4951L __LDBL_DIG__=18 __LDBL_EPSILON__=1.08420217248550443401e-19L __LDBL_HAS_DENORM__=1 __LDBL_HAS_INFINITY__=1 __LDBL_HAS_QUIET_NAN__=1 __LDBL_MANT_DIG__=64 __LDBL_MAX_10_EXP__=4932 __LDBL_MAX_EXP__=16384 __LDBL_MAX__=1.18973149535723176502e+4932L __LDBL_MIN_10_EXP__=(-4931) __LDBL_MIN_EXP__=(-16381) __LDBL_MIN__=3.36210314311209350626e-4932L __LONG_LONG_MAX__=9223372036854775807LL __LONG_MAX__=9223372036854775807L __LP64__=1 __MMX__=1 __PRAGMA_REDEFINE_EXTNAME=1 __PTRDIFF_MAX__=9223372036854775807L __PTRDIFF_TYPE__=long\ int __REGISTER_PREFIX__= __SCHAR_MAX__=127 __SHRT_MAX__=32767 __SIG_ATOMIC_MAX__=2147483647 __SIG_ATOMIC_MIN__=(-2147483647\ -\ 1) __SIG_ATOMIC_TYPE__=int __SIZEOF_DOUBLE__=8 __SIZEOF_FLOAT__=4 __SIZEOF_INT__=4 __SIZEOF_LONG_DOUBLE__=16 __SIZEOF_LONG_LONG__=8 __SIZEOF_LONG__=8 __SIZEOF_POINTER__=8 __SIZEOF_PTRDIFF_T__=8 __SIZEOF_SHORT__=2 __SIZEOF_SIZE_T__=8 __SIZEOF_WCHAR_T__=4 __SIZEOF_WINT_T__=4 __SIZE_MAX__=18446744073709551615UL __SIZE_TYPE__=long\ unsigned\ int __SSE2_MATH__=1 __SSE2__=1 __SSE_MATH__=1 __SSE__=1 __STDC_HOSTED__=1 __STDC__=1 __UINT16_C(c)=c __UINT16_MAX__=65535 __UINT16_TYPE__=short\ unsigned\ int __UINT32_C(c)=cU __UINT32_MAX__=4294967295U __UINT32_TYPE__=unsigned\ int __UINT64_C(c)=cUL __UINT64_MAX__=18446744073709551615UL __UINT64_TYPE__=long\ unsigned\ int __UINT8_C(c)=c __UINT8_MAX__=255 __UINT8_TYPE__=unsigned\ char __UINTMAX_C(c)=cUL __UINTMAX_MAX__=18446744073709551615UL __UINTMAX_TYPE__=long\ unsigned\ int __UINTPTR_MAX__=18446744073709551615UL __UINTPTR_TYPE__=long\ unsigned\ int __UINT_FAST16_MAX__=18446744073709551615UL __UINT_FAST16_TYPE__=long\ unsigned\ int __UINT_FAST32_MAX__=18446744073709551615UL __UINT_FAST32_TYPE__=long\ unsigned\ int __UINT_FAST64_MAX__=18446744073709551615UL __UINT_FAST64_TYPE__=long\ unsigned\ int __UINT_FAST8_MAX__=255 __UINT_FAST8_TYPE__=unsigned\ char __UINT_LEAST16_MAX__=65535 __UINT_LEAST16_TYPE__=short\ unsigned\ int __UINT_LEAST32_MAX__=4294967295U __UINT_LEAST32_TYPE__=unsigned\ int __UINT_LEAST64_MAX__=18446744073709551615UL __UINT_LEAST64_TYPE__=long\ unsigned\ int __UINT_LEAST8_MAX__=255 __UINT_LEAST8_TYPE__=unsigned\ char __USER_LABEL_PREFIX__= __USE_BSD=1 __USE_FILE_OFFSET64=1 __USE_GNU=1 __USE_LARGEFILE64=1 __USE_LARGEFILE=1 __USE_MISC=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __USE_POSIX=1 __USE_REENTRANT=1 __USE_SVID=1 __USE_UNIX98=1 __USE_XOPEN=1 __USE_XOPEN_EXTENDED=1 __VERSION__="4.5.1" __WCHAR_MAX__=2147483647 __WCHAR_MIN__=(-2147483647\ -\ 1) __WCHAR_TYPE__=int __WINT_MAX__=4294967295U __WINT_MIN__=0U __WINT_TYPE__=unsigned\ int __amd64=1 __amd64__=1 __gnu_linux__=1 __k8=1 __k8__=1 __linux=1 __linux__=1 __unix=1 __unix__=1 __x86_64=1 __x86_64__=1 linux=1 unix=1'
+d_nv_preserves_uv='undef'
+d_printf_format_null='undef'
+d_u32align='define'
+gidformat='"u"'
+i32type='int'
+i64type='long'
+ivsize='8'
+longdblsize='16'
+longsize='8'
+myuname='linux qemux86-64 2.6.37-rc5-yocto-standard+ #1 smp preempt mon dec 20 17:19:50 pst 2010 x86_64 gnulinux '
+need_va_copy='define'
+netdb_host_type='char *'
+nv_preserves_uv_bits='53'
+ptrsize='8'
+quadkind='2'
+quadtype='long'
+sGMTIME_max='67768036191676799'
+sGMTIME_min='-62167219200'
+sLOCALTIME_max='67768036191676799'
+sLOCALTIME_min='-62167219200'
+sPRIXU64='"lX"'
+sPRId64='"ld"'
+sPRIi64='"li"'
+sPRIo64='"lo"'
+sPRIu64='"lu"'
+sPRIx64='"lx"'
+selectminbits='64'
+sizesize='8'
+u32type='unsigned int'
+u64type='unsigned long'
+uidformat='"u"'
+uquadtype='unsigned long'
+use64bitall='define'
+use64bitint='define'
+uvsize='8'
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/config.sh-64-be b/meta/recipes-devtools/perl/perl-5.12.2/config.sh-64-be
index c08ce3c43..c08ce3c43 100644
--- a/meta/recipes-devtools/perl/perl-5.8.8/config.sh-64-be
+++ b/meta/recipes-devtools/perl/perl-5.12.2/config.sh-64-be
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/config.sh-64-le b/meta/recipes-devtools/perl/perl-5.12.2/config.sh-64-le
index 277d2a9be..277d2a9be 100644
--- a/meta/recipes-devtools/perl/perl-5.8.8/config.sh-64-le
+++ b/meta/recipes-devtools/perl/perl-5.12.2/config.sh-64-le
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/cross-generate_uudmap.patch b/meta/recipes-devtools/perl/perl-5.12.2/cross-generate_uudmap.patch
new file mode 100644
index 000000000..f6218c1bb
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/cross-generate_uudmap.patch
@@ -0,0 +1,13 @@
+Index: perl-5.10.1/Makefile.SH
+===================================================================
+--- perl-5.10.1.orig/Makefile.SH 2010-02-12 19:06:17.000000000 +0300
++++ perl-5.10.1/Makefile.SH 2010-02-12 19:10:13.000000000 +0300
+@@ -596,7 +596,7 @@
+ \$(RUN) ./generate_uudmap\$(HOST_EXE_EXT) >uudmap.h
+
+ generate_uudmap\$(HOST_EXE_EXT): generate_uudmap\$(OBJ_EXT)
+- \$(CC) -o generate_uudmap\$(EXE_EXT) \$(LDFLAGS) generate_uudmap\$(OBJ_EXT) \$(libs)
++ \$(BUILD_CC) -o generate_uudmap\$(EXE_EXT) generate_uudmap.c
+
+ !GROK!THIS!
+ $spitshell >>$Makefile <<'!NO!SUBS!'
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/arm_optim.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/arm_optim.diff
new file mode 100644
index 000000000..383df6b35
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/arm_optim.diff
@@ -0,0 +1,32 @@
+From: Niko Tyni <ntyni@debian.org>
+Description: Downgrade the optimization of sv.c on arm due to a gcc-4.4 bug
+Bug-Debian: http://bugs.debian.org/580334
+
+Regression from gcc-4.3, not reported yet.
+
+ perl -e '"-2" =~ /(.+)/; @foo=(); push @foo, $_ for $1..undef; print @foo ? "ok\n" : "not ok\n"'
+
+
+---
+ cflags.SH | 6 +++++-
+ 1 files changed, 5 insertions(+), 1 deletions(-)
+
+diff --git a/cflags.SH b/cflags.SH
+index a5d71b9..6914ba6 100755
+--- a/cflags.SH
++++ b/cflags.SH
+@@ -312,7 +312,11 @@ for file do
+ regexec) ;;
+ run) ;;
+ scope) ;;
+- sv) ;;
++ sv)
++ case $archname in
++ arm-*|armeb-*)
++ optimize=-O0;;
++ esac;;
+ taint) ;;
+ toke) ;;
+ universal) ;;
+--
+tg: (c823880..) debian/arm_optim (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/arm_thread_stress_timeout.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/arm_thread_stress_timeout.diff
new file mode 100644
index 000000000..34b8a2c1a
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/arm_thread_stress_timeout.diff
@@ -0,0 +1,23 @@
+Subject: Raise the timeout of ext/threads/shared/t/stress.t to accommodate slower build hosts
+Bug-Debian: http://bugs.debian.org/501970
+
+
+---
+ dist/threads-shared/t/stress.t | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/dist/threads-shared/t/stress.t b/dist/threads-shared/t/stress.t
+index adfd1ed..652a3e6 100755
+--- a/dist/threads-shared/t/stress.t
++++ b/dist/threads-shared/t/stress.t
+@@ -34,7 +34,7 @@ use threads::shared;
+ {
+ my $cnt = 50;
+
+- my $TIMEOUT = 60;
++ my $TIMEOUT = 150;
+
+ my $mutex = 1;
+ share($mutex);
+--
+tg: (c823880..) debian/arm_thread_stress_timeout (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/cpan_config_path.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/cpan_config_path.diff
new file mode 100644
index 000000000..799d15e5d
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/cpan_config_path.diff
@@ -0,0 +1,22 @@
+Subject: Set location of CPAN::Config to /etc/perl as /usr may not be writable.
+
+
+---
+ cpan/CPAN/lib/CPAN/HandleConfig.pm | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/cpan/CPAN/lib/CPAN/HandleConfig.pm b/cpan/CPAN/lib/CPAN/HandleConfig.pm
+index 76cd81e..65a3b27 100644
+--- a/cpan/CPAN/lib/CPAN/HandleConfig.pm
++++ b/cpan/CPAN/lib/CPAN/HandleConfig.pm
+@@ -543,7 +543,7 @@ sub load {
+ $configpm = $INC{"CPAN/MyConfig.pm"};
+ $redo++;
+ } else {
+- my($path_to_cpan) = File::Basename::dirname($INC{"CPAN.pm"});
++ my($path_to_cpan) = '/etc/perl';
+ my($configpmdir) = File::Spec->catdir($path_to_cpan,"CPAN");
+ my($configpmtest) = File::Spec->catfile($configpmdir,"Config.pm");
+ my $inc_key;
+--
+tg: (c823880..) debian/cpan_config_path (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/cpan_definstalldirs.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/cpan_definstalldirs.diff
new file mode 100644
index 000000000..f64af15ee
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/cpan_definstalldirs.diff
@@ -0,0 +1,35 @@
+Subject: Provide a sensible INSTALLDIRS default for modules installed from CPAN.
+
+Some modules which are included in core set INSTALLDIRS => 'perl'
+explicitly in Makefile.PL or Build.PL. This makes sense for the normal @INC
+ordering, but not ours.
+
+
+---
+ cpan/CPAN/lib/CPAN/FirstTime.pm | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cpan/CPAN/lib/CPAN/FirstTime.pm b/cpan/CPAN/lib/CPAN/FirstTime.pm
+index 53ffbf1..53976ff 100644
+--- a/cpan/CPAN/lib/CPAN/FirstTime.pm
++++ b/cpan/CPAN/lib/CPAN/FirstTime.pm
+@@ -947,7 +947,7 @@ sub init {
+ my_prompt_loop(prefer_installer => 'MB', $matcher, 'MB|EUMM|RAND');
+
+ if (!$matcher or 'makepl_arg make_arg' =~ /$matcher/) {
+- my_dflt_prompt(makepl_arg => "", $matcher);
++ my_dflt_prompt(makepl_arg => "INSTALLDIRS=site", $matcher);
+ my_dflt_prompt(make_arg => "", $matcher);
+ if ( $CPAN::Config->{makepl_arg} =~ /LIBS=|INC=/ ) {
+ $CPAN::Frontend->mywarn(
+@@ -969,7 +969,7 @@ sub init {
+ my_dflt_prompt(make_install_arg => $CPAN::Config->{make_arg} || "",
+ $matcher);
+
+- my_dflt_prompt(mbuildpl_arg => "", $matcher);
++ my_dflt_prompt(mbuildpl_arg => "--installdirs site", $matcher);
+ my_dflt_prompt(mbuild_arg => "", $matcher);
+
+ if (exists $CPAN::HandleConfig::keys{mbuild_install_build_command}
+--
+tg: (c823880..) debian/cpan_definstalldirs (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/cpanplus_config_path.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/cpanplus_config_path.diff
new file mode 100644
index 000000000..6956218f8
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/cpanplus_config_path.diff
@@ -0,0 +1,43 @@
+From: Niko Tyni <ntyni@debian.org>
+Subject: Save local versions of CPANPLUS::Config::System into /etc/perl.
+
+This is a configuration file and needs to go in /etc by policy.
+Besides, /usr may not even be writable.
+
+This mirrors the Debian setup of CPAN.pm in debian/cpan_config_path.
+
+See #533707.
+
+---
+ cpan/CPANPLUS/lib/CPANPLUS/Configure.pm | 1 +
+ cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm | 3 +++
+ 2 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm b/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm
+index baac91d..a3794de 100644
+--- a/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm
++++ b/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm
+@@ -276,6 +276,7 @@ Saves the configuration to the package name you provided.
+ If this package is not C<CPANPLUS::Config::System>, it will
+ be saved in your C<.cpanplus> directory, otherwise it will
+ be attempted to be saved in the system wide directory.
++(On Debian systems, this system wide directory is /etc/perl.)
+
+ If no argument is provided, it will default to your personal
+ config.
+diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm
+index 1a38200..6ee0d82 100644
+--- a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm
++++ b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm
+@@ -199,6 +199,9 @@ use constant CONFIG_USER_FILE => sub {
+ ) . '.pm';
+ };
+ use constant CONFIG_SYSTEM_FILE => sub {
++ # Debian-specific shortcut
++ return '/etc/perl/CPANPLUS/Config/System.pm';
++
+ require CPANPLUS::Internals;
+ require File::Basename;
+ my $dir = File::Basename::dirname(
+--
+tg: (c823880..) debian/cpanplus_config_path (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/cpanplus_definstalldirs.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/cpanplus_definstalldirs.diff
new file mode 100644
index 000000000..3a1e20994
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/cpanplus_definstalldirs.diff
@@ -0,0 +1,52 @@
+From: Niko Tyni <ntyni@debian.org>
+Subject: Configure CPANPLUS to use the site directories by default.
+Closes: 533707
+
+The core modules usually default to INSTALLDIRS=perl (ExtUtils::MakeMaker)
+or installdirs=core (Module::Build), so we need to explicitly ask for
+the site destination to get upgraded versions into /usr/local.
+
+See also the sister patch, debian/cpan_definstalldirs .
+
+---
+ cpan/CPANPLUS/lib/CPANPLUS/Config/System.pm | 30 +++++++++++++++++++++++++++
+ 1 files changed, 30 insertions(+), 0 deletions(-)
+
+diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Config/System.pm b/cpan/CPANPLUS/lib/CPANPLUS/Config/System.pm
+new file mode 100644
+index 0000000..5e6e11e
+--- /dev/null
++++ b/cpan/CPANPLUS/lib/CPANPLUS/Config/System.pm
+@@ -0,0 +1,30 @@
++### minimal pod, so you can find it with perldoc -l, etc
++=pod
++
++=head1 NAME
++
++CPANPLUS::Config::System
++
++=head1 DESCRIPTION
++
++This is a CPANPLUS configuration file that sets appropriate default
++settings on Debian systems.
++
++The only preconfigured settings are C<makemakerflags> (set to
++C<INSTALLDIRS=site>) and C<buildflags> (set to C<--installdirs site>).
++
++These settings will not have any effect if
++C</etc/perl/CPANPLUS/Config/System.pm> is present.
++
++=cut
++
++
++package CPANPLUS::Config::System;
++
++sub setup {
++ my $conf = shift;
++ $conf->set_conf( makemakerflags => 'INSTALLDIRS=site' );
++ $conf->set_conf( buildflags => '--installdirs site' );
++}
++
++1;
+--
+tg: (c823880..) debian/cpanplus_definstalldirs (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/db_file_ver.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/db_file_ver.diff
new file mode 100644
index 000000000..8d0e61b1d
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/db_file_ver.diff
@@ -0,0 +1,32 @@
+Subject: Remove overly restrictive DB_File version check.
+Bug-Debian: http://bugs.debian.org/340047
+
+Package dependencies ensure the correct library is linked at run-time.
+
+
+---
+ cpan/DB_File/version.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/cpan/DB_File/version.c b/cpan/DB_File/version.c
+index 47158d3..67ccdff 100644
+--- a/cpan/DB_File/version.c
++++ b/cpan/DB_File/version.c
+@@ -48,6 +48,7 @@ __getBerkeleyDBInfo()
+
+ (void)db_version(&Major, &Minor, &Patch) ;
+
++#ifndef DEBIAN
+ /* Check that the versions of db.h and libdb.a are the same */
+ if (Major != DB_VERSION_MAJOR || Minor != DB_VERSION_MINOR )
+ /* || Patch != DB_VERSION_PATCH) */
+@@ -55,6 +56,7 @@ __getBerkeleyDBInfo()
+ croak("\nDB_File was build with libdb version %d.%d.%d,\nbut you are attempting to run it with libdb version %d.%d.%d\n",
+ DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH,
+ Major, Minor, Patch) ;
++#endif /* DEBIAN */
+
+ /* check that libdb is recent enough -- we need 2.3.4 or greater */
+ if (Major == 2 && (Minor < 3 || (Minor == 3 && Patch < 4)))
+--
+tg: (c823880..) debian/db_file_ver (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/deprecate-with-apt.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/deprecate-with-apt.diff
new file mode 100644
index 000000000..a515035d9
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/deprecate-with-apt.diff
@@ -0,0 +1,59 @@
+From: Niko Tyni <ntyni@debian.org>
+Subject: Point users to Debian packages of deprecated core modules
+Bug-Debian: http://bugs.debian.org/580034
+
+Class::ISA, Switch, Pod::Plainer, and (partially) Shell were
+deprecated from the Perl core in 5.12.0.
+
+To get a clean transition, perl-modules is going to recommend the separate
+Debian packages of these for one release cycle so that they will be
+pulled in by default on upgrades.
+
+However, on systems configured to ignore recommendations the deprecation
+warnings will still be useful, so modify them slightly to point to the
+separate packages instead.
+
+---
+ lib/deprecate.pm | 18 +++++++++++++++++-
+ 1 files changed, 17 insertions(+), 1 deletions(-)
+
+diff --git a/lib/deprecate.pm b/lib/deprecate.pm
+index 7b92e0b..9db7330 100644
+--- a/lib/deprecate.pm
++++ b/lib/deprecate.pm
+@@ -7,6 +7,16 @@ our $VERSION = 0.01;
+ our %Config;
+ unless (%Config) { require Config; *Config = \%Config::Config; }
+
++# Debian-specific change: recommend the separate Debian packages of
++# deprecated modules where available
++
++my %DEBIAN_PACKAGES = (
++ "Class::ISA" => "libclass-isa-perl",
++ "Pod::Plainer" => "libpod-plainer-perl",
++ "Switch" => "libswitch-perl",
++ "Shell" => "libshell-perl",
++);
++
+ sub import {
+ my ($package, $file, $line) = caller;
+ my $expect_leaf = "$package.pm";
+@@ -44,9 +54,15 @@ EOM
+ if (defined $callers_bitmask
+ && (vec($callers_bitmask, $warnings::Offsets{deprecated}, 1)
+ || vec($callers_bitmask, $warnings::Offsets{all}, 1))) {
+- warn <<"EOM";
++ if (my $deb = $DEBIAN_PACKAGES{$package}) {
++ warn <<"EOM";
++$package will be removed from the Perl core distribution in the next major release. Please install the separate $deb package. It is being used at $call_file, line $call_line.
++EOM
++ } else {
++ warn <<"EOM";
+ $package will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at $call_file, line $call_line.
+ EOM
++ }
+ }
+ return;
+ }
+--
+tg: (c823880..) debian/deprecate-with-apt (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/devel-ppport-ia64-optim.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/devel-ppport-ia64-optim.diff
new file mode 100644
index 000000000..9e4d9cfdf
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/devel-ppport-ia64-optim.diff
@@ -0,0 +1,32 @@
+From: Niko Tyni <ntyni@debian.org>
+Subject: Work around an ICE on ia64
+Closes: 548943
+
+Temporarily work around an internal compiler error in Devel::PPPort
+on ia64+gcc-4.3.
+
+
+---
+ cpan/Devel-PPPort/Makefile.PL | 7 +++++++
+ 1 files changed, 7 insertions(+), 0 deletions(-)
+
+diff --git a/cpan/Devel-PPPort/Makefile.PL b/cpan/Devel-PPPort/Makefile.PL
+index 67eebc1..f1ef7a2 100644
+--- a/cpan/Devel-PPPort/Makefile.PL
++++ b/cpan/Devel-PPPort/Makefile.PL
+@@ -75,6 +75,13 @@ sub configure
+ push @moreopts, INSTALLDIRS => ($] >= 5.007003 ? 'perl' : 'site');
+ }
+
++
++ # temporary Debian hack, see http://bugs.debian.org/548943
++ require Config;
++ if ($Config::Config{archname} =~ /^ia64/) {
++ push @moreopts, OPTIMIZE => '-g -O0';
++ }
++
+ if ($opt{'apicheck'}) {
+ $PL_FILES{'apicheck_c.PL'} = 'apicheck.c';
+ push @C_FILES, qw{ apicheck.c };
+--
+tg: (c823880..) debian/devel-ppport-ia64-optim (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/disable-zlib-bundling.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/disable-zlib-bundling.diff
new file mode 100644
index 000000000..f54006721
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/disable-zlib-bundling.diff
@@ -0,0 +1,29 @@
+From: Niko Tyni <ntyni@debian.org>
+Subject: Disable zlib bundling in Compress::Raw::Zlib
+
+Compress::Raw::Zlib statically links its bundled version of zlib
+by default, but we use the system library instead.
+
+---
+ cpan/Compress-Raw-Zlib/config.in | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/cpan/Compress-Raw-Zlib/config.in b/cpan/Compress-Raw-Zlib/config.in
+index c56cc03..2c6659b 100644
+--- a/cpan/Compress-Raw-Zlib/config.in
++++ b/cpan/Compress-Raw-Zlib/config.in
+@@ -16,9 +16,9 @@
+ # Setting the Gzip OS Code
+ #
+
+-BUILD_ZLIB = True
+-INCLUDE = ./zlib-src
+-LIB = ./zlib-src
++BUILD_ZLIB = False
++INCLUDE = /usr/include
++LIB = /usr/lib
+
+ OLD_ZLIB = False
+ GZIP_OS_CODE = AUTO_DETECT
+--
+tg: (c823880..) debian/disable-zlib-bundling (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/doc_info.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/doc_info.diff
new file mode 100644
index 000000000..ec7eba98f
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/doc_info.diff
@@ -0,0 +1,34 @@
+Subject: Replace generic man(1) instructions with Debian-specific information.
+
+Indicate that the user needs to install the perl-doc package.
+
+
+---
+ pod/perl.pod | 12 ++++++++++--
+ 1 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/pod/perl.pod b/pod/perl.pod
+index e48e526..3b0bbf6 100644
+--- a/pod/perl.pod
++++ b/pod/perl.pod
+@@ -241,8 +241,16 @@ For ease of access, the Perl manual has been split up into several sections.
+ perlwin32 Perl notes for Windows
+
+
+-On a Unix-like system, these documentation files will usually also be
+-available as manpages for use with the F<man> program.
++On Debian systems, you need to install the B<perl-doc> package which
++contains the majority of the standard Perl documentation and the
++F<perldoc> program.
++
++Extensive additional documentation for Perl modules is available, both
++those distributed with Perl and third-party modules which are packaged
++or locally installed.
++
++You should be able to view Perl's documentation with your man(1)
++program or perldoc(1).
+
+ In general, if something strange has gone wrong with your program and you're
+ not sure where you should look for help, try the B<-w> switch first. It will
+--
+tg: (c823880..) debian/doc_info (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/enc2xs_inc.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/enc2xs_inc.diff
new file mode 100644
index 000000000..227dc1058
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/enc2xs_inc.diff
@@ -0,0 +1,49 @@
+Subject: Tweak enc2xs to follow symlinks and ignore missing @INC directories.
+Bug-Debian: http://bugs.debian.org/290336
+
+- ignore missing directories,
+- follow symlinks (/usr/share/perl/5.8 -> 5.8.4).
+
+
+---
+ cpan/Encode/bin/enc2xs | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/cpan/Encode/bin/enc2xs b/cpan/Encode/bin/enc2xs
+index 773c0a0..049ecf9 100644
+--- a/cpan/Encode/bin/enc2xs
++++ b/cpan/Encode/bin/enc2xs
+@@ -924,11 +924,11 @@ use vars qw(
+ sub find_e2x{
+ eval { require File::Find; };
+ my (@inc, %e2x_dir);
+- for my $inc (@INC){
++ for my $inc (grep -d, @INC){
+ push @inc, $inc unless $inc eq '.'; #skip current dir
+ }
+ File::Find::find(
+- sub {
++ { wanted => sub {
+ my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
+ $atime,$mtime,$ctime,$blksize,$blocks)
+ = lstat($_) or return;
+@@ -938,7 +938,7 @@ sub find_e2x{
+ $e2x_dir{$File::Find::dir} ||= $mtime;
+ }
+ return;
+- }, @inc);
++ }, follow => 1}, @inc);
+ warn join("\n", keys %e2x_dir), "\n";
+ for my $d (sort {$e2x_dir{$a} <=> $e2x_dir{$b}} keys %e2x_dir){
+ $_E2X = $d;
+@@ -1005,7 +1005,7 @@ sub make_configlocal_pm {
+ $LocalMod{$enc} ||= $mod;
+ }
+ };
+- File::Find::find({wanted => $wanted}, @INC);
++ File::Find::find({wanted => $wanted, follow => 1}, grep -d, @INC);
+ $_ModLines = "";
+ for my $enc ( sort keys %LocalMod ) {
+ $_ModLines .=
+--
+tg: (c823880..) debian/enc2xs_inc (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/errno_ver.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/errno_ver.diff
new file mode 100644
index 000000000..f4370086b
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/errno_ver.diff
@@ -0,0 +1,32 @@
+Subject: Remove Errno version check due to upgrade problems with long-running processes.
+Bug-Debian: http://bugs.debian.org/343351
+
+Remove version check which can cause problems for long running
+processes embedding perl when upgrading to a newer version,
+compatible, but built on a different machine.
+
+
+---
+ ext/Errno/Errno_pm.PL | 5 -----
+ 1 files changed, 0 insertions(+), 5 deletions(-)
+
+diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
+index 124b8fc..b554cd4 100644
+--- a/ext/Errno/Errno_pm.PL
++++ b/ext/Errno/Errno_pm.PL
+@@ -341,13 +341,8 @@ EOF
+ package Errno;
+ our (\@EXPORT_OK,\%EXPORT_TAGS,\@ISA,\$VERSION,\%errno,\$AUTOLOAD);
+ use Exporter ();
+-use Config;
+ use strict;
+
+-"\$Config{'archname'}-\$Config{'osvers'}" eq
+-"$Config{'archname'}-$Config{'osvers'}" or
+- die "Errno architecture ($Config{'archname'}-$Config{'osvers'}) does not match executable architecture (\$Config{'archname'}-\$Config{'osvers'})";
+-
+ \$VERSION = "$VERSION";
+ \$VERSION = eval \$VERSION;
+ \@ISA = qw(Exporter);
+--
+tg: (c823880..) debian/errno_ver (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/52_debian_extutils_hacks.patch b/meta/recipes-devtools/perl/perl-5.12.2/debian/extutils_hacks.diff
index 8a964f933..9134cac9f 100644
--- a/meta/recipes-devtools/perl/perl-5.8.8/52_debian_extutils_hacks.patch
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/extutils_hacks.diff
@@ -1,4 +1,4 @@
-Various debian-specific ExtUtils changes:
+Subject: Various debian-specific ExtUtils changes
* Respect umask during installation, and set as appropriate for each of
perl, vendor and site (policy requires group writable site dirs).
@@ -11,38 +11,23 @@ Various debian-specific ExtUtils changes:
* Set location of libperl.a to /usr/lib.
* Note that libperl-dev package is required for embedded linking.
+ * Change install target dependencies to facilitate parallel makes.
-diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/Embed.pm perl-5.8.8/lib/ExtUtils/Embed.pm
---- perl-5.8.8.orig/lib/ExtUtils/Embed.pm 2004-08-03 20:41:49.000000000 +1000
-+++ perl-5.8.8/lib/ExtUtils/Embed.pm 2006-02-05 10:42:11.000000000 +1100
-@@ -300,6 +300,9 @@
- Typically, an application B<Makefile> will invoke ExtUtils::Embed
- functions while building your application.
-
-+Note that on Debian systems the B<libperl-dev> package is required for
-+compiling applications which embed an interpreter.
-+
- =head1 @EXPORT
-
- ExtUtils::Embed exports the following functions:
-diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/Install.pm perl-5.8.8/lib/ExtUtils/Install.pm
---- perl-5.8.8.orig/lib/ExtUtils/Install.pm 2005-10-21 22:00:01.000000000 +1000
-+++ perl-5.8.8/lib/ExtUtils/Install.pm 2006-02-05 10:42:11.000000000 +1100
-@@ -173,8 +173,8 @@
- if (-f $targetfile){
- forceunlink($targetfile) unless $nonono;
- } else {
-- mkpath($targetdir,0,0755) unless $nonono;
-- print "mkpath($targetdir,0,0755)\n" if $verbose>1;
-+ mkpath($targetdir) unless $nonono;
-+ print "mkpath($targetdir)\n" if $verbose>1;
- }
- copy($sourcefile, $targetfile) unless $nonono;
- print "Installing $targetfile\n";
-diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/MM_Any.pm perl-5.8.8/lib/ExtUtils/MM_Any.pm
---- perl-5.8.8.orig/lib/ExtUtils/MM_Any.pm 2005-04-13 17:49:53.000000000 +1000
-+++ perl-5.8.8/lib/ExtUtils/MM_Any.pm 2006-02-05 11:17:52.000000000 +1100
-@@ -645,8 +645,6 @@
+
+---
+ cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm | 12 +++---
+ cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 44 +++++-----------------
+ cpan/ExtUtils-MakeMaker/t/INST.t | 4 +--
+ cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t | 10 +++---
+ dist/ExtUtils-Install/lib/ExtUtils/Install.pm | 18 +++++-----
+ lib/ExtUtils/Embed.pm | 3 ++
+ 6 files changed, 34 insertions(+), 57 deletions(-)
+
+diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
+index 4905aeb..a80ac20 100644
+--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
+@@ -701,8 +701,6 @@ all POD files in MAN1PODS and MAN3PODS.
sub manifypods_target {
my($self) = shift;
@@ -51,7 +36,7 @@ diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/MM_Any.pm perl-5.8.8/li
my $dependencies = '';
# populate manXpods & dependencies:
-@@ -666,7 +664,7 @@
+@@ -718,7 +716,7 @@ END
foreach my $section (qw(1 3)) {
my $pods = $self->{"MAN${section}PODS"};
push @man_cmds, $self->split_command(<<CMD, %$pods);
@@ -60,7 +45,7 @@ diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/MM_Any.pm perl-5.8.8/li
CMD
}
-@@ -1080,9 +1078,11 @@
+@@ -1428,9 +1426,11 @@ sub init_INSTALL_from_PREFIX {
$self->{SITEPREFIX} ||= $sprefix;
$self->{VENDORPREFIX} ||= $vprefix;
@@ -75,13 +60,14 @@ diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/MM_Any.pm perl-5.8.8/li
}
my $arch = $Config{archname};
-diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm perl-5.8.8/lib/ExtUtils/MM_Unix.pm
---- perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm 2005-05-21 19:42:56.000000000 +1000
-+++ perl-5.8.8/lib/ExtUtils/MM_Unix.pm 2006-02-05 17:40:19.000000000 +1100
-@@ -2054,9 +2054,7 @@
+diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+index 239d6df..940de38 100644
+--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+@@ -2046,9 +2046,7 @@ doc__install : doc_site_install
$(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
- pure_perl_install ::
+ pure_perl_install :: all
- $(NOECHO) $(MOD_INSTALL) \
- read }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
- write }.$self->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
@@ -89,19 +75,19 @@ diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm perl-5.8.8/l
$(INST_LIB) $(DESTINSTALLPRIVLIB) \
$(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \
$(INST_BIN) $(DESTINSTALLBIN) \
-@@ -2068,7 +2066,7 @@
+@@ -2060,7 +2058,7 @@ pure_perl_install :: all
- pure_site_install ::
+ pure_site_install :: all
- $(NOECHO) $(MOD_INSTALL) \
+ $(NOECHO) umask 02; $(MOD_INSTALL) \
read }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
write }.$self->catfile('$(DESTINSTALLSITEARCH)','auto','$(FULLEXT)','.packlist').q{ \
$(INST_LIB) $(DESTINSTALLSITELIB) \
-@@ -2081,9 +2079,7 @@
+@@ -2073,9 +2071,7 @@ pure_site_install :: all
}.$self->catdir('$(PERL_ARCHLIB)','auto','$(FULLEXT)').q{
- pure_vendor_install ::
+ pure_vendor_install :: all
- $(NOECHO) $(MOD_INSTALL) \
- read }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
- write }.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{ \
@@ -109,10 +95,10 @@ diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm perl-5.8.8/l
$(INST_LIB) $(DESTINSTALLVENDORLIB) \
$(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \
$(INST_BIN) $(DESTINSTALLVENDORBIN) \
-@@ -2092,37 +2088,19 @@
+@@ -2084,37 +2080,19 @@ pure_vendor_install :: all
$(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR)
- doc_perl_install ::
+ doc_perl_install :: all
- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
- -$(NOECHO) $(DOC_INSTALL) \
@@ -123,7 +109,7 @@ diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm perl-5.8.8/l
- EXE_FILES "$(EXE_FILES)" \
- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
- doc_site_install ::
+ doc_site_install :: all
- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
- -$(NOECHO) $(DOC_INSTALL) \
@@ -138,7 +124,7 @@ diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm perl-5.8.8/l
- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
+ >> }.$self->catfile('$(DESTINSTALLSITEARCH)','perllocal.pod').q{
- doc_vendor_install ::
+ doc_vendor_install :: all
- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
- -$(NOECHO) $(DOC_INSTALL) \
@@ -151,7 +137,7 @@ diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm perl-5.8.8/l
};
-@@ -2131,13 +2109,12 @@
+@@ -2123,13 +2101,12 @@ uninstall :: uninstall_from_$(INSTALLDIRS)dirs
$(NOECHO) $(NOOP)
uninstall_from_perldirs ::
@@ -166,7 +152,7 @@ diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm perl-5.8.8/l
};
join("",@m);
-@@ -2415,7 +2392,7 @@
+@@ -2402,7 +2379,7 @@ MAP_PRELIBS = $Config{perllibs} $Config{cryptlib}
($lperl = $libperl) =~ s/\$\(A\)/$self->{LIB_EXT}/;
}
unless ($libperl && -f $lperl) { # Ilya's code...
@@ -175,20 +161,21 @@ diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm perl-5.8.8/l
$dir = "$self->{PERL_ARCHLIB}/.." if $self->{UNINSTALLED_PERL};
$libperl ||= "libperl$self->{LIB_EXT}";
$libperl = "$dir/$libperl";
-@@ -3007,8 +2984,7 @@
+@@ -2998,8 +2975,7 @@ sub prefixify {
print STDERR " prefixify $var => $path\n" if $Verbose >= 2;
print STDERR " from $sprefix to $rprefix\n" if $Verbose >= 2;
-- if( $self->{ARGS}{PREFIX} && $self->file_name_is_absolute($path) &&
+- if( $self->{ARGS}{PREFIX} &&
- $path !~ s{^\Q$sprefix\E\b}{$rprefix}s )
+ if( $path !~ s{^\Q$sprefix\E\b}{$rprefix}s && $self->{ARGS}{PREFIX} )
{
print STDERR " cannot prefix, using default.\n" if $Verbose >= 2;
-diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/t/INST.t perl-5.8.8/lib/ExtUtils/t/INST.t
---- perl-5.8.8.orig/lib/ExtUtils/t/INST.t 2005-10-21 19:12:39.000000000 +1000
-+++ perl-5.8.8/lib/ExtUtils/t/INST.t 2006-02-05 17:48:56.000000000 +1100
-@@ -65,9 +65,7 @@
+diff --git a/cpan/ExtUtils-MakeMaker/t/INST.t b/cpan/ExtUtils-MakeMaker/t/INST.t
+index 8a140eb..cf1410e 100755
+--- a/cpan/ExtUtils-MakeMaker/t/INST.t
++++ b/cpan/ExtUtils-MakeMaker/t/INST.t
+@@ -59,9 +59,7 @@ isa_ok( $mm, 'ExtUtils::MakeMaker' );
is( $mm->{NAME}, 'Big::Dummy', 'NAME' );
is( $mm->{VERSION}, 0.01, 'VERSION' );
@@ -199,10 +186,11 @@ diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/t/INST.t perl-5.8.8/lib
is( !!$mm->{PERL_CORE}, !!$ENV{PERL_CORE}, 'PERL_CORE' );
-diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/t/INST_PREFIX.t perl-5.8.8/lib/ExtUtils/t/INST_PREFIX.t
---- perl-5.8.8.orig/lib/ExtUtils/t/INST_PREFIX.t 2005-10-21 22:00:19.000000000 +1000
-+++ perl-5.8.8/lib/ExtUtils/t/INST_PREFIX.t 2006-02-05 17:48:06.000000000 +1100
-@@ -16,7 +16,7 @@
+diff --git a/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t b/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
+index 8bb9db8..316546d 100755
+--- a/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
++++ b/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
+@@ -10,7 +10,7 @@ BEGIN {
}
use strict;
@@ -211,7 +199,7 @@ diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/t/INST_PREFIX.t perl-5.
use MakeMaker::Test::Utils;
use MakeMaker::Test::Setup::BFD;
use ExtUtils::MakeMaker;
-@@ -62,16 +62,16 @@
+@@ -56,16 +56,16 @@ like( $stdout->read, qr{
Writing\ $Makefile\ for\ Big::Dummy\n
}x );
@@ -232,3 +220,94 @@ diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/t/INST_PREFIX.t perl-5.
my $PREFIX = File::Spec->catdir('foo', 'bar');
+diff --git a/dist/ExtUtils-Install/lib/ExtUtils/Install.pm b/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
+index da58365..d6d5c11 100644
+--- a/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
++++ b/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
+@@ -468,7 +468,7 @@ sub _can_write_dir {
+
+ =pod
+
+-=item _mkpath($dir,$show,$mode,$verbose,$dry_run)
++=item _mkpath($dir,$show,$verbose,$dry_run)
+
+ Wrapper around File::Path::mkpath() to handle errors.
+
+@@ -485,13 +485,13 @@ writable.
+ =cut
+
+ sub _mkpath {
+- my ($dir,$show,$mode,$verbose,$dry_run)=@_;
++ my ($dir,$show,$verbose,$dry_run)=@_;
+ if ( $verbose && $verbose > 1 && ! -d $dir) {
+ $show= 1;
+- printf "mkpath(%s,%d,%#o)\n", $dir, $show, $mode;
++ printf "mkpath(%s,%d)\n", $dir, $show;
+ }
+ if (!$dry_run) {
+- if ( ! eval { File::Path::mkpath($dir,$show,$mode); 1 } ) {
++ if ( ! eval { File::Path::mkpath($dir,$show); 1 } ) {
+ _choke("Can't create '$dir'","$@");
+ }
+
+@@ -796,7 +796,7 @@ sub install { #XXX OS-SPECIFIC
+ _chdir($cwd);
+ }
+ foreach my $targetdir (sort keys %check_dirs) {
+- _mkpath( $targetdir, 0, 0755, $verbose, $dry_run );
++ _mkpath( $targetdir, 0, $verbose, $dry_run );
+ }
+ foreach my $found (@found_files) {
+ my ($diff, $ffd, $origfile, $mode, $size, $atime, $mtime,
+@@ -810,7 +810,7 @@ sub install { #XXX OS-SPECIFIC
+ $targetfile= _unlink_or_rename( $targetfile, 'tryhard', 'install' )
+ unless $dry_run;
+ } elsif ( ! -d $targetdir ) {
+- _mkpath( $targetdir, 0, 0755, $verbose, $dry_run );
++ _mkpath( $targetdir, 0, $verbose, $dry_run );
+ }
+ print "Installing $targetfile\n";
+
+@@ -850,7 +850,7 @@ sub install { #XXX OS-SPECIFIC
+
+ if ($pack{'write'}) {
+ $dir = install_rooted_dir(dirname($pack{'write'}));
+- _mkpath( $dir, 0, 0755, $verbose, $dry_run );
++ _mkpath( $dir, 0, $verbose, $dry_run );
+ print "Writing $pack{'write'}\n" if $verbose;
+ $packlist->write(install_rooted_file($pack{'write'})) unless $dry_run;
+ }
+@@ -1190,7 +1190,7 @@ be prepended as a directory to each installed file (and directory).
+ sub pm_to_blib {
+ my($fromto,$autodir,$pm_filter) = @_;
+
+- _mkpath($autodir,0,0755);
++ _mkpath($autodir,0);
+ while(my($from, $to) = each %$fromto) {
+ if( -f $to && -s $from == -s $to && -M $to < -M $from ) {
+ print "Skip $to (unchanged)\n";
+@@ -1213,7 +1213,7 @@ sub pm_to_blib {
+ # we wont try hard here. its too likely to mess things up.
+ forceunlink($to);
+ } else {
+- _mkpath(dirname($to),0,0755);
++ _mkpath(dirname($to),0);
+ }
+ if ($need_filtering) {
+ run_filter($pm_filter, $from, $to);
+diff --git a/lib/ExtUtils/Embed.pm b/lib/ExtUtils/Embed.pm
+index 24ae909..12d421d 100644
+--- a/lib/ExtUtils/Embed.pm
++++ b/lib/ExtUtils/Embed.pm
+@@ -305,6 +305,9 @@ and extensions in your C/C++ applications.
+ Typically, an application B<Makefile> will invoke ExtUtils::Embed
+ functions while building your application.
+
++Note that on Debian systems the B<libperl-dev> package is required for
++compiling applications which embed an interpreter.
++
+ =head1 @EXPORT
+
+ ExtUtils::Embed exports the following functions:
+--
+tg: (c823880..) debian/extutils_hacks (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/fakeroot.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/fakeroot.diff
new file mode 100644
index 000000000..e3430ce2b
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/fakeroot.diff
@@ -0,0 +1,43 @@
+Subject: Postpone LD_LIBRARY_PATH evaluation to the binary targets.
+
+Modify the setting of LD_LIBRARY_PATH to append pre-existing values at the
+time the rule is evaluated rather than when the Makefile is created.
+
+This is required when building packages with dpkg-buildpackage and fakeroot,
+since fakeroot (which now sets LD_LIBRARY_PATH) is not used for the "build"
+rule where the Makefile is created, but is for the clean/binary* targets.
+
+
+---
+ Makefile.SH | 9 ++-------
+ 1 files changed, 2 insertions(+), 7 deletions(-)
+
+diff --git a/Makefile.SH b/Makefile.SH
+index c039938..15184d8 100755
+--- a/Makefile.SH
++++ b/Makefile.SH
+@@ -50,12 +50,7 @@ case "$useshrplib" in
+ true)
+ # Prefix all runs of 'miniperl' and 'perl' with
+ # $ldlibpth so that ./perl finds *this* shared libperl.
+- case "$LD_LIBRARY_PATH" in
+- '')
+- ldlibpth="LD_LIBRARY_PATH=`pwd`";;
+- *)
+- ldlibpth="LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}";;
+- esac
++ ldlibpth=LD_LIBRARY_PATH=`pwd`'$${LD_LIBRARY_PATH:+:}$$LD_LIBRARY_PATH'
+
+ pldlflags="$cccdlflags"
+ static_ldflags=''
+@@ -126,7 +121,7 @@ true)
+ ;;
+ esac
+ case "$ldlibpthname" in
+- '') ;;
++ ''|LD_LIBRARY_PATH) ;;
+ *)
+ case "$osname" in
+ os2)
+--
+tg: (c823880..) debian/fakeroot (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/autodie-flock.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/autodie-flock.diff
new file mode 100644
index 000000000..f8908ac87
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/autodie-flock.diff
@@ -0,0 +1,98 @@
+From: Niko Tyni <ntyni@debian.org>
+Subject: Allow for flock returning EAGAIN instead of EWOULDBLOCK on linux/parisc
+Bug-Debian: http://bugs.debian.org/543731
+Origin: upstream, http://github.com/pfenwick/autodie/commit/037738e11a6097734b0e1dabdd77b92e5fe35219
+
+
+---
+ cpan/autodie/lib/Fatal.pm | 14 +++++++++++++-
+ cpan/autodie/t/flock.t | 12 ++++++++++--
+ 2 files changed, 23 insertions(+), 3 deletions(-)
+
+diff --git a/cpan/autodie/lib/Fatal.pm b/cpan/autodie/lib/Fatal.pm
+old mode 100644
+new mode 100755
+index 18e71ed..c17a257
+--- a/cpan/autodie/lib/Fatal.pm
++++ b/cpan/autodie/lib/Fatal.pm
+@@ -5,6 +5,7 @@ use Carp;
+ use strict;
+ use warnings;
+ use Tie::RefHash; # To cache subroutine refs
++use Config;
+
+ use constant PERL510 => ( $] >= 5.010 );
+
+@@ -52,6 +53,10 @@ our %_EWOULDBLOCK = (
+ MSWin32 => 33,
+ );
+
++# the linux parisc port has separate EAGAIN and EWOULDBLOCK,
++# and the kernel returns EAGAIN
++my $try_EAGAIN = ($^O eq 'linux' and $Config{archname} =~ /hppa|parisc/) ? 1 : 0;
++
+ # We have some tags that can be passed in for use with import.
+ # These are all assumed to be CORE::
+
+@@ -720,6 +725,11 @@ sub _one_invocation {
+ my $EWOULDBLOCK = eval { POSIX::EWOULDBLOCK(); }
+ || $_EWOULDBLOCK{$^O}
+ || _autocroak("Internal error - can't overload flock - EWOULDBLOCK not defined on this system.");
++ my $EAGAIN = $EWOULDBLOCK;
++ if ($try_EAGAIN) {
++ $EAGAIN = eval { POSIX::EAGAIN(); }
++ || _autocroak("Internal error - can't overload flock - EAGAIN not defined on this system.");
++ }
+
+ require Fcntl; # For Fcntl::LOCK_NB
+
+@@ -735,7 +745,9 @@ sub _one_invocation {
+ # If we failed, but we're using LOCK_NB and
+ # returned EWOULDBLOCK, it's not a real error.
+
+- if (\$_[1] & Fcntl::LOCK_NB() and \$! == $EWOULDBLOCK ) {
++ if (\$_[1] & Fcntl::LOCK_NB() and
++ (\$! == $EWOULDBLOCK or
++ ($try_EAGAIN and \$! == $EAGAIN ))) {
+ return \$retval;
+ }
+
+diff --git a/cpan/autodie/t/flock.t b/cpan/autodie/t/flock.t
+index a7550ba..6421a56 100755
+--- a/cpan/autodie/t/flock.t
++++ b/cpan/autodie/t/flock.t
+@@ -2,7 +2,8 @@
+ use strict;
+ use Test::More;
+ use Fcntl qw(:flock);
+-use POSIX qw(EWOULDBLOCK);
++use POSIX qw(EWOULDBLOCK EAGAIN);
++use Config;
+
+ require Fatal;
+
+@@ -10,6 +11,9 @@ my $EWOULDBLOCK = eval { EWOULDBLOCK() }
+ || $Fatal::_EWOULDBLOCK{$^O}
+ || plan skip_all => "EWOULDBLOCK not defined on this system";
+
++my $try_EAGAIN = ($^O eq 'linux' and $Config{archname} =~ /hppa|parisc/) ? 1 : 0;
++my $EAGAIN = eval { EAGAIN() };
++
+ my ($self_fh, $self_fh2);
+
+ eval {
+@@ -55,7 +59,11 @@ eval {
+ $return = flock($self_fh2, LOCK_EX | LOCK_NB);
+ };
+
+-is($!+0, $EWOULDBLOCK, "Double-flocking should be EWOULDBLOCK");
++if (!$try_EAGAIN) {
++ is($!+0, $EWOULDBLOCK, "Double-flocking should be EWOULDBLOCK");
++} else {
++ ok($!+0 == $EWOULDBLOCK || $!+0 == $EAGAIN, "Double-flocking should be EWOULDBLOCK or EAGAIN");
++}
+ ok(!$return, "flocking a file twice should fail");
+ is($@, "", "Non-blocking flock should not fail on EWOULDBLOCK");
+
+--
+tg: (c823880..) fixes/autodie-flock (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/concat-stack-corruption.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/concat-stack-corruption.diff
new file mode 100644
index 000000000..6feb8401f
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/concat-stack-corruption.diff
@@ -0,0 +1,37 @@
+From: Niko Tyni <ntyni@debian.org>
+Subject: Fix stack pointer corruption in pp_concat() with 'use encoding'
+Bug-Debian: http://bugs.debian.org/596105
+Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=78674
+Origin: upstream, http://perl5.git.perl.org/perl.git/commit/e3393f51d48d8b790e26324eb0336fac9689fa46
+
+If the stack is reallocated during pp_concat() and 'use encoding' in
+effect, the stack pointer gets corrupted, causing memory allocation bugs
+and the like.
+
+---
+ pp_hot.c | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/pp_hot.c b/pp_hot.c
+index 3371e88..e9cccf3 100644
+--- a/pp_hot.c
++++ b/pp_hot.c
+@@ -271,6 +271,8 @@ PP(pp_concat)
+ rbyte = !DO_UTF8(right);
+ }
+ if (lbyte != rbyte) {
++ /* sv_utf8_upgrade_nomg() may reallocate the stack */
++ PUTBACK;
+ if (lbyte)
+ sv_utf8_upgrade_nomg(TARG);
+ else {
+@@ -279,6 +281,7 @@ PP(pp_concat)
+ sv_utf8_upgrade_nomg(right);
+ rpv = SvPV_const(right, rlen);
+ }
++ SPAGAIN;
+ }
+ sv_catpvn_nomg(TARG, rpv, rlen);
+
+--
+tg: (c823880..) fixes/concat-stack-corruption (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/cpanplus-without-home.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/cpanplus-without-home.diff
new file mode 100644
index 000000000..5f85894a9
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/cpanplus-without-home.diff
@@ -0,0 +1,30 @@
+From: Niko Tyni <ntyni@debian.org>
+Subject: Fix CPANPLUS test failures when HOME doesn't exist
+Bug: http://rt.cpan.org/Public/Bug/Display.html?id=52988
+Bug-Debian: http://bugs.debian.org/577011
+Origin: upstream
+
+The Debian autobuilders are configured with a non-existing $ENV{HOME},
+triggering a bug in CPANPLUS that causes test failures.
+
+Fix from CPANPLUS-0.9001.
+
+---
+ cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm
+index 27d2abc..8475c36 100644
+--- a/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm
++++ b/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm
+@@ -5,7 +5,7 @@ use strict;
+ use CPANPLUS::Error;
+ use CPANPLUS::Internals::Constants;
+
+-use Cwd qw[chdir];
++use Cwd qw[chdir cwd];
+ use File::Copy;
+ use Params::Check qw[check];
+ use Module::Load::Conditional qw[can_load];
+--
+tg: (c823880..) fixes/cpanplus-without-home (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/h2ph-gcc-4.5.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/h2ph-gcc-4.5.diff
new file mode 100644
index 000000000..c2baf2fa7
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/h2ph-gcc-4.5.diff
@@ -0,0 +1,106 @@
+Author: Robin Barker <rmbarker@cpan.org>
+Subject: h2ph fix for gcc 4.5
+Bug-Debian: http://bugs.debian.org/599933
+Origin: upstream, http://perl5.git.perl.org/perl.git/commit/8d66b3f930dc6d88b524d103e304308ae73a46e7
+
+Fix h2ph and test. Needed to build with GCC 4.5.
+
+
+---
+ lib/h2ph.t | 12 ++++++++++--
+ utils/h2ph.PL | 28 +++++++++++++++++++++++-----
+ 2 files changed, 33 insertions(+), 7 deletions(-)
+
+diff --git a/lib/h2ph.t b/lib/h2ph.t
+index 27dd7b9..8d62d46 100755
+--- a/lib/h2ph.t
++++ b/lib/h2ph.t
+@@ -18,7 +18,7 @@ if (!(-e $extracted_program)) {
+ exit 0;
+ }
+
+-plan(4);
++plan(5);
+
+ # quickly compare two text files
+ sub txt_compare {
+@@ -41,8 +41,16 @@ $result = runperl( progfile => 'lib/h2ph.pht',
+ stderr => 1 );
+ like( $result, qr/syntax OK$/, "output compiles");
+
++$result = runperl( progfile => '_h2ph_pre.ph',
++ switches => ['-c'],
++ stderr => 1 );
++like( $result, qr/syntax OK$/, "preamble compiles");
++
+ $result = runperl( switches => ["-w"],
+- prog => '$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);');
++ stderr => 1,
++ prog => <<'PROG' );
++$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);
++PROG
+ is( $result, '', "output free of warnings" );
+
+ # cleanup
+diff --git a/utils/h2ph.PL b/utils/h2ph.PL
+index 8f56db4..1255807 100644
+--- a/utils/h2ph.PL
++++ b/utils/h2ph.PL
+@@ -401,7 +401,10 @@ if ($opt_e && (scalar(keys %bad_file) > 0)) {
+ exit $Exit;
+
+ sub expr {
+- $new = '"(assembly code)"' and return if /\b__asm__\b/; # freak out.
++ if (/\b__asm__\b/) { # freak out
++ $new = '"(assembly code)"';
++ return
++ }
+ my $joined_args;
+ if(keys(%curargs)) {
+ $joined_args = join('|', keys(%curargs));
+@@ -770,7 +773,7 @@ sub inc_dirs
+ sub build_preamble_if_necessary
+ {
+ # Increment $VERSION every time this function is modified:
+- my $VERSION = 2;
++ my $VERSION = 3;
+ my $preamble = "$Dest_dir/_h2ph_pre.ph";
+
+ # Can we skip building the preamble file?
+@@ -798,7 +801,16 @@ sub build_preamble_if_necessary
+ # parenthesized value: d=(v)
+ $define{$_} = $1;
+ }
+- if ($define{$_} =~ /^([+-]?(\d+)?\.\d+([eE][+-]?\d+)?)[FL]?$/) {
++ if (/^(\w+)\((\w)\)$/) {
++ my($macro, $arg) = ($1, $2);
++ my $def = $define{$_};
++ $def =~ s/$arg/\$\{$arg\}/g;
++ print PREAMBLE <<DEFINE;
++unless (defined &$macro) { sub $macro(\$) { my (\$$arg) = \@_; \"$def\" } }
++
++DEFINE
++ } elsif
++ ($define{$_} =~ /^([+-]?(\d+)?\.\d+([eE][+-]?\d+)?)[FL]?$/) {
+ # float:
+ print PREAMBLE
+ "unless (defined &$_) { sub $_() { $1 } }\n\n";
+@@ -807,8 +819,14 @@ sub build_preamble_if_necessary
+ print PREAMBLE
+ "unless (defined &$_) { sub $_() { $1 } }\n\n";
+ } elsif ($define{$_} =~ /^\w+$/) {
+- print PREAMBLE
+- "unless (defined &$_) { sub $_() { &$define{$_} } }\n\n";
++ my $def = $define{$_};
++ if ($isatype{$def}) {
++ print PREAMBLE
++ "unless (defined &$_) { sub $_() { \"$def\" } }\n\n";
++ } else {
++ print PREAMBLE
++ "unless (defined &$_) { sub $_() { &$def } }\n\n";
++ }
+ } else {
+ print PREAMBLE
+ "unless (defined &$_) { sub $_() { \"",
+--
+tg: (c823880..) fixes/h2ph-gcc-4.5 (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/hurd-ccflags.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/hurd-ccflags.diff
new file mode 100644
index 000000000..b9ea6770f
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/hurd-ccflags.diff
@@ -0,0 +1,26 @@
+Author: Samuel Thibault <sthibault@debian.org>
+Subject: Make hints/gnu.sh append to $ccflags rather than overriding them
+Bug-Debian: http://bugs.debian.org/587901
+
+Don't override possible extra $ccflags values given to Configure
+on GNU/Hurd.
+
+---
+ hints/gnu.sh | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/hints/gnu.sh b/hints/gnu.sh
+index 2cfce54..c1ba2db 100644
+--- a/hints/gnu.sh
++++ b/hints/gnu.sh
+@@ -19,7 +19,7 @@ lddlflags='-shared'
+ ccdlflags='-Wl,-E'
+
+ # Debian bug #258618
+-ccflags='-D_GNU_SOURCE'
++ccflags="-D_GNU_SOURCE $ccflags"
+
+ # The following routines are only available as stubs in GNU libc.
+ # XXX remove this once metaconf detects the GNU libc stubs.
+--
+tg: (c823880..) fixes/hurd-ccflags (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/lc-numeric-docs.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/lc-numeric-docs.diff
new file mode 100644
index 000000000..bb5c0e8c1
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/lc-numeric-docs.diff
@@ -0,0 +1,95 @@
+From: Niko Tyni <ntyni@debian.org>
+Subject: LC_NUMERIC documentation fixes
+Bug-Debian: http://bugs.debian.org/379329
+Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=78452
+Origin: upstream, http://perl5.git.perl.org/perl.git/commit/903eb63f7d8d47a38971a8e9af7201b9927882cf
+
+LC_NUMERIC documentation updates fixing two errors:
+
+ - the early parts of perllocale.pod still say printf() uses LC_NUMERIC
+ with just 'use locale' when actually a POSIX::setlocale() call is
+ also needed
+
+ - format() hasn't used LC_NUMERIC unconditionally since 5.005_03
+ (commit 097ee67dff1c60f201bc09435bc6eaeeafcd8123).
+
+Test cases from the upstream commit dropped for the sake of simplicity.
+
+---
+ pod/perlform.pod | 20 ++++++++------------
+ pod/perllocale.pod | 15 ++++++---------
+ 2 files changed, 14 insertions(+), 21 deletions(-)
+
+diff --git a/pod/perlform.pod b/pod/perlform.pod
+index 3cfa1b7..df0f0a1 100644
+--- a/pod/perlform.pod
++++ b/pod/perlform.pod
+@@ -166,9 +166,9 @@ token on the first line. If an expression evaluates to a number with a
+ decimal part, and if the corresponding picture specifies that the decimal
+ part should appear in the output (that is, any picture except multiple "#"
+ characters B<without> an embedded "."), the character used for the decimal
+-point is B<always> determined by the current LC_NUMERIC locale. This
+-means that, if, for example, the run-time environment happens to specify a
+-German locale, "," will be used instead of the default ".". See
++point is determined by the current LC_NUMERIC locale if C<use locale> is in
++effect. This means that, if, for example, the run-time environment happens
++to specify a German locale, "," will be used instead of the default ".". See
+ L<perllocale> and L<"WARNINGS"> for more information.
+
+
+@@ -442,15 +442,11 @@ Lexical variables (declared with "my") are not visible within a
+ format unless the format is declared within the scope of the lexical
+ variable. (They weren't visible at all before version 5.001.)
+
+-Formats are the only part of Perl that unconditionally use information
+-from a program's locale; if a program's environment specifies an
+-LC_NUMERIC locale, it is always used to specify the decimal point
+-character in formatted output. Perl ignores all other aspects of locale
+-handling unless the C<use locale> pragma is in effect. Formatted output
+-cannot be controlled by C<use locale> because the pragma is tied to the
+-block structure of the program, and, for historical reasons, formats
+-exist outside that block structure. See L<perllocale> for further
+-discussion of locale handling.
++If a program's environment specifies an LC_NUMERIC locale and C<use
++locale> is in effect when the format is declared, the locale is used
++to specify the decimal point character in formatted output. Formatted
++output cannot be controlled by C<use locale> at the time when write()
++is called. See L<perllocale> for further discussion of locale handling.
+
+ Within strings that are to be displayed in a fixed length text field,
+ each control character is substituted by a space. (But remember the
+diff --git a/pod/perllocale.pod b/pod/perllocale.pod
+index 0dbabe7..0bec423 100644
+--- a/pod/perllocale.pod
++++ b/pod/perllocale.pod
+@@ -115,8 +115,7 @@ ucfirst(), and lcfirst()) use C<LC_CTYPE>
+
+ =item *
+
+-B<The formatting functions> (printf(), sprintf() and write()) use
+-C<LC_NUMERIC>
++B<Format declarations> (format()) use C<LC_NUMERIC>
+
+ =item *
+
+@@ -967,13 +966,11 @@ system's implementation of the locale system than by Perl.
+
+ =head2 write() and LC_NUMERIC
+
+-Formats are the only part of Perl that unconditionally use information
+-from a program's locale; if a program's environment specifies an
+-LC_NUMERIC locale, it is always used to specify the decimal point
+-character in formatted output. Formatted output cannot be controlled by
+-C<use locale> because the pragma is tied to the block structure of the
+-program, and, for historical reasons, formats exist outside that block
+-structure.
++If a program's environment specifies an LC_NUMERIC locale and C<use
++locale> is in effect when the format is declared, the locale is used
++to specify the decimal point character in formatted output. Formatted
++output cannot be controlled by C<use locale> at the time when write()
++is called.
+
+ =head2 Freely available locale definitions
+
+--
+tg: (c823880..) fixes/lc-numeric-docs (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/lc-numeric-sprintf.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/lc-numeric-sprintf.diff
new file mode 100644
index 000000000..6a3982001
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/lc-numeric-sprintf.diff
@@ -0,0 +1,29 @@
+From: Niko Tyni <ntyni@debian.org>
+Subject: Fix sprintf not to ignore LC_NUMERIC with constants
+Bug-Debian: http://bugs.debian.org/601549
+Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=78632
+Origin: upstream, http://perl5.git.perl.org/perl.git/commit/b3fd61496ebc585b1115807e3195f17714662a09
+
+Don't fold constants in sprintf() if locales are used
+
+An upstream regression in 5.10.1 made sprintf() ignore LC_NUMERIC for
+numeric constants.
+
+---
+ op.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/op.c b/op.c
+index e94f158..3c6badb 100644
+--- a/op.c
++++ b/op.c
+@@ -2503,6 +2503,7 @@ S_fold_constants(pTHX_ register OP *o)
+ case OP_SLE:
+ case OP_SGE:
+ case OP_SCMP:
++ case OP_SPRINTF:
+ /* XXX what about the numeric ops? */
+ if (PL_hints & HINT_LOCALE)
+ goto nope;
+--
+tg: (c823880..) fixes/lc-numeric-sprintf (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/net_smtp_docs.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/net_smtp_docs.diff
new file mode 100644
index 000000000..6dc97129b
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/net_smtp_docs.diff
@@ -0,0 +1,23 @@
+Subject: Document the Net::SMTP 'Port' option
+Bug-Debian: http://bugs.debian.org/100195
+Bug: http://rt.cpan.org/Public/Bug/Display.html?id=36038
+
+
+---
+ cpan/libnet/Net/SMTP.pm | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/cpan/libnet/Net/SMTP.pm b/cpan/libnet/Net/SMTP.pm
+index a28496d..07b2498 100644
+--- a/cpan/libnet/Net/SMTP.pm
++++ b/cpan/libnet/Net/SMTP.pm
+@@ -625,6 +625,7 @@ Net::SMTP will attempt to extract the address from the value passed.
+
+ B<Debug> - Enable debugging information
+
++B<Port> - Select a port on the remote host to connect to (default is 25)
+
+ Example:
+
+--
+tg: (c823880..) fixes/net_smtp_docs (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/processPL.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/processPL.diff
new file mode 100644
index 000000000..5a444e3f6
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/fixes/processPL.diff
@@ -0,0 +1,43 @@
+Subject: Always use PERLRUNINST when building perl modules.
+Bug-Debian: http://bugs.debian.org/357264
+Bug: http://rt.cpan.org/Public/Bug/Display.html?id=17224
+
+Revert part of upstream change 24524 to always use PERLRUNINST when
+building perl modules: Some PDL demos expect blib to be implicitly
+searched.
+
+
+---
+ cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 5 +----
+ 1 files changed, 1 insertions(+), 4 deletions(-)
+
+diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+index 239d6df..294d266 100644
+--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+@@ -3043,14 +3043,11 @@ sub processPL {
+ # pm_to_blib depends on then it can't depend on pm_to_blib
+ # else we have a dependency loop.
+ my $pm_dep;
+- my $perlrun;
+ if( defined $self->{PM}{$target} ) {
+ $pm_dep = '';
+- $perlrun = 'PERLRUN';
+ }
+ else {
+ $pm_dep = 'pm_to_blib';
+- $perlrun = 'PERLRUNINST';
+ }
+
+ $m .= <<MAKE_FRAG;
+@@ -3059,7 +3056,7 @@ all :: $target
+ \$(NOECHO) \$(NOOP)
+
+ $target :: $plfile $pm_dep
+- \$($perlrun) $plfile $target
++ \$(PERLRUNINST) $plfile $target
+ MAKE_FRAG
+
+ }
+--
+tg: (c823880..) fixes/processPL (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/instmodsh_doc.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/instmodsh_doc.diff
new file mode 100644
index 000000000..5670863ac
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/instmodsh_doc.diff
@@ -0,0 +1,26 @@
+Subject: Debian policy doesn't install .packlist files for core or vendor.
+
+
+---
+ cpan/ExtUtils-MakeMaker/bin/instmodsh | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/cpan/ExtUtils-MakeMaker/bin/instmodsh b/cpan/ExtUtils-MakeMaker/bin/instmodsh
+index 5874aa6..6a2f03e 100644
+--- a/cpan/ExtUtils-MakeMaker/bin/instmodsh
++++ b/cpan/ExtUtils-MakeMaker/bin/instmodsh
+@@ -18,9 +18,11 @@ instmodsh - A shell to examine installed modules
+
+ =head1 DESCRIPTION
+
+-A little interface to ExtUtils::Installed to examine installed modules,
++A little interface to ExtUtils::Installed to examine locally* installed modules,
+ validate your packlists and even create a tarball from an installed module.
+
++*On Debian system, B<core> and B<vendor> modules are managed by C<dpkg>.
++
+ =head1 SEE ALSO
+
+ ExtUtils::Installed
+--
+tg: (c823880..) debian/instmodsh_doc (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/ld_run_path.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/ld_run_path.diff
new file mode 100644
index 000000000..ffcfab9d5
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/ld_run_path.diff
@@ -0,0 +1,23 @@
+Subject: Remove standard libs from LD_RUN_PATH as per Debian policy.
+
+
+---
+ .../ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
+index b807e97..6c955d7 100644
+--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
+@@ -53,6 +53,9 @@ sub _unix_os2_ext {
+ my($pwd) = cwd(); # from Cwd.pm
+ my($found) = 0;
+
++ # Debian-specific: don't use LD_RUN_PATH for standard dirs
++ $ld_run_path_seen{$_}++ for qw(/lib /usr/lib /usr/X11R6/lib);
++
+ foreach my $thislib (split ' ', $potential_libs) {
+
+ # Handle possible linker path arguments.
+--
+tg: (c823880..) debian/ld_run_path (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/libnet_config_path.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/libnet_config_path.diff
new file mode 100644
index 000000000..41bca9702
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/libnet_config_path.diff
@@ -0,0 +1,35 @@
+Subject: Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable.
+
+
+---
+ cpan/libnet/Net/Config.pm | 7 +++----
+ 1 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/cpan/libnet/Net/Config.pm b/cpan/libnet/Net/Config.pm
+index db51c1f..8404593 100644
+--- a/cpan/libnet/Net/Config.pm
++++ b/cpan/libnet/Net/Config.pm
+@@ -57,9 +57,8 @@ my %nc = (
+ }
+ TRY_INTERNET_CONFIG
+
+-my $file = __FILE__;
++my $file = '/etc/perl/Net/libnet.cfg';
+ my $ref;
+-$file =~ s/Config.pm/libnet.cfg/;
+ if (-f $file) {
+ $ref = eval { local $SIG{__DIE__}; do $file };
+ if (ref($ref) eq 'HASH') {
+@@ -132,8 +131,8 @@ Net::Config - Local configuration data for libnet
+ C<Net::Config> holds configuration data for the modules in the libnet
+ distribution. During installation you will be asked for these values.
+
+-The configuration data is held globally in a file in the perl installation
+-tree, but a user may override any of these values by providing their own. This
++The configuration data is held globally in C</etc/perl/Net/libnet.cfg>,
++but a user may override any of these values by providing their own. This
+ can be done by having a C<.libnetrc> file in their home directory. This file
+ should return a reference to a HASH containing the keys described below.
+ For example
+--
+tg: (c823880..) debian/libnet_config_path (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/m68k_thread_stress.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/m68k_thread_stress.diff
new file mode 100644
index 000000000..cda6089a0
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/m68k_thread_stress.diff
@@ -0,0 +1,43 @@
+Subject: Disable some threads tests on m68k for now due to missing TLS.
+Closes: #495826, #517938
+
+
+---
+ dist/threads-shared/t/stress.t | 4 ++++
+ dist/threads-shared/t/waithires.t | 6 ++++++
+ 2 files changed, 10 insertions(+), 0 deletions(-)
+
+diff --git a/dist/threads-shared/t/stress.t b/dist/threads-shared/t/stress.t
+index adfd1ed..8573f1a 100755
+--- a/dist/threads-shared/t/stress.t
++++ b/dist/threads-shared/t/stress.t
+@@ -11,6 +11,10 @@ BEGIN {
+ print("1..0 # SKIP Broken under HP-UX 10.20\n");
+ exit(0);
+ }
++ if ($^O eq 'linux' && $Config{archname} =~ /^m68k/) {
++ print("1..0 # Skip: no TLS on m68k yet <http://bugs.debian.org/495826>\n");
++ exit(0);
++ }
+ }
+
+ use ExtUtils::testlib;
+diff --git a/dist/threads-shared/t/waithires.t b/dist/threads-shared/t/waithires.t
+index e3a1086..633374e 100755
+--- a/dist/threads-shared/t/waithires.t
++++ b/dist/threads-shared/t/waithires.t
+@@ -16,6 +16,12 @@ BEGIN {
+ if (! eval 'use Time::HiRes "time"; 1') {
+ Test::skip_all('Time::HiRes not available');
+ }
++
++ if ($^O eq 'linux' && $Config{archname} =~ /^m68k/) {
++ print("1..0 # Skip: no TLS on m68k yet <http://bugs.debian.org/495826>\n");
++ exit(0);
++ }
++
+ }
+
+ use ExtUtils::testlib;
+--
+tg: (c823880..) debian/m68k_thread_stress (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/53_debian_mod_paths.patch b/meta/recipes-devtools/perl/perl-5.12.2/debian/mod_paths.diff
index df74bc598..bfa4721c4 100644
--- a/meta/recipes-devtools/perl/perl-5.8.8/53_debian_mod_paths.patch
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/mod_paths.diff
@@ -1,4 +1,6 @@
-Tweak @INC so that the ordering is:
+Subject: Tweak @INC ordering for Debian
+
+Our order is:
etc (for config files)
site (5.8.1)
@@ -11,49 +13,36 @@ The rationale being that an admin (via site), or module packager
(vendor) can chose to shadow core modules when there is a newer
version than is included in core.
-diff -Naur --exclude=debian perl-5.8.8.orig/perl.c perl-5.8.8/perl.c
---- perl-5.8.8.orig/perl.c 2006-01-31 23:34:47.000000000 +1100
-+++ perl-5.8.8/perl.c 2006-02-02 23:36:38.000000000 +1100
-@@ -4776,9 +4776,14 @@
- incpush(APPLLIB_EXP, TRUE, TRUE, TRUE);
+
+---
+ perl.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 58 insertions(+), 0 deletions(-)
+
+diff --git a/perl.c b/perl.c
+index 05cea40..023d6a0 100644
+--- a/perl.c
++++ b/perl.c
+@@ -4125,6 +4125,11 @@ S_init_perllib(pTHX)
+ INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE);
#endif
-+#if 1
++#ifdef DEBIAN
+ /* for configuration where /usr is mounted ro (CPAN::Config, Net::Config) */
-+ incpush("/etc/perl", FALSE, FALSE, FALSE);
-+#else
- #ifdef ARCHLIB_EXP
- incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
- #endif
++ S_incpush_use_sep(aTHX_ STR_WITH_LEN("/etc/perl"), 0x0);
+#endif
- #ifdef MACOS_TRADITIONAL
- {
- Stat_t tmpstatbuf;
-@@ -4803,11 +4808,13 @@
- #ifndef PRIVLIB_EXP
- # define PRIVLIB_EXP "/usr/local/lib/perl5:/usr/local/lib/perl"
- #endif
-+#if 0
- #if defined(WIN32)
- incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE);
- #else
- incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
- #endif
-+#endif
-
++
#ifdef SITEARCH_EXP
/* sitearch is always relative to sitelib on Windows for
-@@ -4850,6 +4857,61 @@
- incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE);
+ * DLL-based path intuition to work correctly */
+@@ -4242,6 +4247,59 @@ S_init_perllib(pTHX)
+ INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE);
#endif
-+#if 1
-+ incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
-+ incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
-+
++#ifdef DEBIAN
+ /* Non-versioned site directory for local modules and for
+ compatability with the previous packages' site dirs */
-+ incpush("/usr/local/lib/site_perl", TRUE, FALSE, FALSE);
++ S_incpush_use_sep(aTHX_ STR_WITH_LEN("/usr/local/lib/site_perl"),
++ INCPUSH_ADD_SUB_DIRS);
+
+#ifdef PERL_INC_VERSION_LIST
+ {
@@ -88,14 +77,14 @@ diff -Naur --exclude=debian perl-5.8.8.orig/perl.c perl-5.8.8/perl.c
+ {
+ strcpy(arch_vers, *p);
+ if (PerlLIO_stat(sitearch, &s) >= 0 && S_ISDIR(s.st_mode))
-+ incpush(sitearch, FALSE, FALSE, FALSE);
++ S_incpush_use_sep(aTHX_ sitearch, strlen(sitearch), 0x0);
+ }
+
+ if (lib_vers)
+ {
+ strcpy(lib_vers, *p);
+ if (PerlLIO_stat(sitelib, &s) >= 0 && S_ISDIR(s.st_mode))
-+ incpush(sitelib, FALSE, FALSE, FALSE);
++ S_incpush_use_sep(aTHX_ sitelib, strlen(sitelib), 0x0);
+ }
+ }
+ }
@@ -103,5 +92,7 @@ diff -Naur --exclude=debian perl-5.8.8.orig/perl.c perl-5.8.8/perl.c
+#endif
+
#ifdef PERL_OTHERLIBDIRS
- incpush(PERL_OTHERLIBDIRS, TRUE, TRUE, TRUE);
- #endif
+ S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS),
+ INCPUSH_ADD_OLD_VERS|INCPUSH_ADD_ARCHONLY_SUB_DIRS
+--
+tg: (c823880..) debian/mod_paths (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/module_build_man_extensions.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/module_build_man_extensions.diff
new file mode 100644
index 000000000..320a90d84
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/module_build_man_extensions.diff
@@ -0,0 +1,31 @@
+Subject: Adjust Module::Build manual page extensions for the Debian Perl policy
+Bug-Debian: http://bugs.debian.org/479460
+
+---
+ cpan/Module-Build/lib/Module/Build/Base.pm | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cpan/Module-Build/lib/Module/Build/Base.pm b/cpan/Module-Build/lib/Module/Build/Base.pm
+index 5bd8ec7..b4e606a 100644
+--- a/cpan/Module-Build/lib/Module/Build/Base.pm
++++ b/cpan/Module-Build/lib/Module/Build/Base.pm
+@@ -3071,7 +3071,7 @@ sub manify_bin_pods {
+ foreach my $file (keys %$files) {
+ # Pod::Simple based parsers only support one document per instance.
+ # This is expected to change in a future version (Pod::Simple > 3.03).
+- my $parser = Pod::Man->new( section => 1 ); # binaries go in section 1
++ my $parser = Pod::Man->new( section => '1p' ); # binaries go in section 1p
+ my $manpage = $self->man1page_name( $file ) . '.' .
+ $self->config( 'man1ext' );
+ my $outfile = File::Spec->catfile($mandir, $manpage);
+@@ -3096,7 +3096,7 @@ sub manify_lib_pods {
+ while (my ($file, $relfile) = each %$files) {
+ # Pod::Simple based parsers only support one document per instance.
+ # This is expected to change in a future version (Pod::Simple > 3.03).
+- my $parser = Pod::Man->new( section => 3 ); # libraries go in section 3
++ my $parser = Pod::Man->new( section => '3pm' ); # libraries go in section 3pm
+ my $manpage = $self->man3page_name( $relfile ) . '.' .
+ $self->config( 'man3ext' );
+ my $outfile = File::Spec->catfile( $mandir, $manpage);
+--
+tg: (c823880..) debian/module_build_man_extensions (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/perlivp.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/perlivp.diff
new file mode 100644
index 000000000..c63c1e81b
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/perlivp.diff
@@ -0,0 +1,38 @@
+From: Niko Tyni <ntyni@debian.org>
+Subject: Make perlivp skip include directories in /usr/local
+Closes: 510895
+
+On Sat, Jan 10, 2009 at 12:37:18AM +1100, Brendan O'Dea wrote:
+> On Wed, Jan 7, 2009 at 12:21 AM, Niko Tyni <ntyni@debian.org> wrote:
+
+> > We could create the directories in a postinst script, but I'm not sure
+> > I see the point. They will be created automatically when installing
+> > CPAN modules.
+>
+> The directories are intentionally not created, as this way they are
+> excluded from the search path at start-up, saving a bunch of wasted
+> stats at use/require time in the common case that the user has not
+> installed any local packages. As Niko points out, they will be
+> created as required.
+
+
+Signed-off-by: Niko Tyni <ntyni@debian.org>
+
+---
+ utils/perlivp.PL | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/utils/perlivp.PL b/utils/perlivp.PL
+index 9783261..156146f 100644
+--- a/utils/perlivp.PL
++++ b/utils/perlivp.PL
+@@ -142,6 +142,7 @@ my $INC_total = 0;
+ my $INC_there = 0;
+ foreach (@INC) {
+ next if $_ eq '.'; # skip -d test here
++ next if m|/usr/local|; # not shipped on Debian
+ if ($^O eq 'MacOS') {
+ next if $_ eq ':'; # skip -d test here
+ next if $_ eq 'Dev:Pseudo:'; # why is this in @INC?
+--
+tg: (c823880..) debian/perlivp (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/prune_libs.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/prune_libs.diff
new file mode 100644
index 000000000..4d73717db
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/prune_libs.diff
@@ -0,0 +1,36 @@
+Subject: Prune the list of libraries wanted to what we actually need.
+Bug-Debian: http://bugs.debian.org/128355
+
+We want to keep the dependencies on perl-base as small as possible,
+and some of the original list may be present on buildds (see Bug#128355).
+
+
+---
+ Configure | 5 ++---
+ 1 files changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/Configure b/Configure
+index 3a8732b..6013c86 100755
+--- a/Configure
++++ b/Configure
+@@ -1363,8 +1363,7 @@ libswanted_uselargefiles=''
+ : set usesocks on the Configure command line to enable socks.
+ : List of libraries we want.
+ : If anyone needs extra -lxxx, put those in a hint file.
+-libswanted="sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun"
+-libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD"
++libswanted='gdbm gdbm_compat db dl m c crypt'
+ : We probably want to search /usr/shlib before most other libraries.
+ : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
+ glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
+@@ -22179,7 +22178,7 @@ sunos*X4*)
+ ;;
+ *) case "$usedl" in
+ $define|true|[yY]*)
+- set X `echo " $libs " | sed -e 's@ -lndbm @ @' -e 's@ -lgdbm @ @' -e 's@ -lgdbm_compat @ @' -e 's@ -ldbm @ @' -e 's@ -ldb @ @'`
++ set X `echo " $libs " | sed -e 's@ -lgdbm @ @' -e 's@ -lgdbm_compat @ @' -e 's@ -ldb @ @'`
+ shift
+ perllibs="$*"
+ ;;
+--
+tg: (c823880..) debian/prune_libs (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.12.2/debian/squelch-locale-warnings.diff b/meta/recipes-devtools/perl/perl-5.12.2/debian/squelch-locale-warnings.diff
new file mode 100644
index 000000000..091dec45c
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.12.2/debian/squelch-locale-warnings.diff
@@ -0,0 +1,53 @@
+From: Niko Tyni <ntyni@debian.org>
+Subject: Squelch locale warnings in Debian package maintainer scripts
+Bug-Debian: http://bugs.debian.org/508764
+
+The system locales are rather frequently out of sync with the C library
+during package upgrades, causing a huge amount of useless Perl locale
+warnings. Squelch them when running package maintainer scripts, detected
+by the DPKG_RUNNING_VERSION environment variable.
+
+Any real locale problem will show up after the system upgrade too, and
+the warning will be triggered normally again at that point.
+
+---
+ locale.c | 4 ++++
+ pod/perllocale.pod | 8 ++++++++
+ 2 files changed, 12 insertions(+), 0 deletions(-)
+
+diff --git a/locale.c b/locale.c
+index 16ccce8..2592b3c 100644
+--- a/locale.c
++++ b/locale.c
+@@ -359,6 +359,10 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
+ char *p;
+ const bool locwarn = (printwarn > 1 ||
+ (printwarn &&
++
++ /* Debian specific change - see http://bugs.debian.org/508764 */
++ (!PerlEnv_getenv("DPKG_RUNNING_VERSION")) &&
++
+ (!(p = PerlEnv_getenv("PERL_BADLANG")) || atoi(p))));
+
+ if (locwarn) {
+diff --git a/pod/perllocale.pod b/pod/perllocale.pod
+index 0dbabe7..60b7bab 100644
+--- a/pod/perllocale.pod
++++ b/pod/perllocale.pod
+@@ -844,6 +844,14 @@ B<NOTE>: PERL_BADLANG only gives you a way to hide the warning message.
+ The message tells about some problem in your system's locale support,
+ and you should investigate what the problem is.
+
++=item DPKG_RUNNING_VERSION
++
++On Debian systems, if the DPKG_RUNNING_VERSION environment variable is
++set (to any value), the locale failure warnings will be suppressed just
++like with a zero PERL_BADLANG setting. This is done to avoid floods
++of spurious warnings during system upgrades.
++See L<http://bugs.debian.org/508764>.
++
+ =back
+
+ The following environment variables are not specific to Perl: They are
+--
+tg: (c823880..) debian/squelch-locale-warnings (depends on: upstream)
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/generate-sh.patch b/meta/recipes-devtools/perl/perl-5.12.2/generate-sh.patch
index ceb74196d..ceb74196d 100644
--- a/meta/recipes-devtools/perl/perl-5.8.8/generate-sh.patch
+++ b/meta/recipes-devtools/perl/perl-5.12.2/generate-sh.patch
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/installperl.patch b/meta/recipes-devtools/perl/perl-5.12.2/installperl.patch
index ff52bc3a9..d20961c4f 100644
--- a/meta/recipes-devtools/perl/perl-5.8.8/installperl.patch
+++ b/meta/recipes-devtools/perl/perl-5.12.2/installperl.patch
@@ -1,7 +1,7 @@
-Index: perl-5.8.8/installperl
+Index: perl-5.12.2/installperl
===================================================================
---- perl-5.8.8.orig/installperl 2007-06-14 12:36:23.000000000 +1000
-+++ perl-5.8.8/installperl 2007-06-14 12:38:39.000000000 +1000
+--- perl-5.12.2.orig/installperl
++++ perl-5.12.2/installperl
@@ -3,8 +3,8 @@
BEGIN {
require 5.004;
@@ -10,6 +10,6 @@ Index: perl-5.8.8/installperl
- $ENV{PERL5LIB} = 'lib';
+# @INC = 'lib';
+# $ENV{PERL5LIB} = 'lib';
- }
- use strict;
+ # This needs to be at BEGIN time, before any use of Config
+ require './install_lib.pl';
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/native-nopacklist.patch b/meta/recipes-devtools/perl/perl-5.12.2/native-nopacklist.patch
index a0ba269e0..92b02d4af 100644
--- a/meta/recipes-devtools/perl/perl-5.8.8/native-nopacklist.patch
+++ b/meta/recipes-devtools/perl/perl-5.12.2/native-nopacklist.patch
@@ -1,34 +1,31 @@
Part of 52_debian_extutils_hacks.patch just to exclude the installation of .packlist files
-diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm perl-5.8.8/lib/ExtUtils/MM_Unix.pm
---- perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm 2005-05-21 19:42:56.000000000 +1000
-+++ perl-5.8.8/lib/ExtUtils/MM_Unix.pm 2006-02-05 17:40:19.000000000 +1100
-@@ -2054,9 +2054,7 @@
- $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
+Index: perl-5.12.2/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+===================================================================
+--- perl-5.12.2.orig/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
++++ perl-5.12.2/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+@@ -2047,8 +2047,6 @@ doc__install : doc_site_install
- pure_perl_install ::
-- $(NOECHO) $(MOD_INSTALL) \
+ pure_perl_install :: all
+ $(NOECHO) $(MOD_INSTALL) \
- read }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
- write }.$self->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
-+ $(NOECHO) $(MOD_INSTALL) \
$(INST_LIB) $(DESTINSTALLPRIVLIB) \
$(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \
$(INST_BIN) $(DESTINSTALLBIN) \
-@@ -2081,9 +2079,7 @@
- }.$self->catdir('$(PERL_ARCHLIB)','auto','$(FULLEXT)').q{
+@@ -2074,8 +2072,6 @@ pure_site_install :: all
- pure_vendor_install ::
-- $(NOECHO) $(MOD_INSTALL) \
+ pure_vendor_install :: all
+ $(NOECHO) $(MOD_INSTALL) \
- read }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
- write }.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{ \
-+ $(NOECHO) $(MOD_INSTALL) \
$(INST_LIB) $(DESTINSTALLVENDORLIB) \
$(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \
$(INST_BIN) $(DESTINSTALLVENDORBIN) \
-@@ -2092,37 +2088,19 @@
+@@ -2084,37 +2080,19 @@ pure_vendor_install :: all
$(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR)
- doc_perl_install ::
+ doc_perl_install :: all
- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
- -$(NOECHO) $(DOC_INSTALL) \
@@ -39,13 +36,12 @@ diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm perl-5.8.8/l
- EXE_FILES "$(EXE_FILES)" \
- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
- doc_site_install ::
+ doc_site_install :: all
- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
-- -$(NOECHO) $(DOC_INSTALL) \
+ $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLSITEARCH)/perllocal.pod
+ -$(NOECHO) $(MKPATH) $(DESTINSTALLSITEARCH)
-+ -$(NOECHO) $(DOC_INSTALL) \
+ -$(NOECHO) $(DOC_INSTALL) \
"Module" "$(NAME)" \
"installed into" "$(INSTALLSITELIB)" \
LINKTYPE "$(LINKTYPE)" \
@@ -54,7 +50,7 @@ diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm perl-5.8.8/l
- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
+ >> }.$self->catfile('$(DESTINSTALLSITEARCH)','perllocal.pod').q{
- doc_vendor_install ::
+ doc_vendor_install :: all
- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
- -$(NOECHO) $(DOC_INSTALL) \
@@ -67,7 +63,7 @@ diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm perl-5.8.8/l
};
-@@ -2131,13 +2109,12 @@
+@@ -2123,13 +2101,12 @@ uninstall :: uninstall_from_$(INSTALLDIR
$(NOECHO) $(NOOP)
uninstall_from_perldirs ::
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/native-perlinc.patch b/meta/recipes-devtools/perl/perl-5.12.2/native-perlinc.patch
index 6dc4b9538..bf145ba6b 100644
--- a/meta/recipes-devtools/perl/perl-5.8.8/native-perlinc.patch
+++ b/meta/recipes-devtools/perl/perl-5.12.2/native-perlinc.patch
@@ -1,7 +1,7 @@
Index: perl-5.8.8/lib/ExtUtils/MM_Unix.pm
===================================================================
---- perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm 2008-10-31 22:01:35.000000000 +0000
-+++ perl-5.8.8/lib/ExtUtils/MM_Unix.pm 2008-11-08 16:01:12.000000000 +0000
+--- perl-5.12.2.orig/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 2008-10-31 22:01:35.000000000 +0000
++++ perl-5.12.2/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 2008-10-31 22:01:35.000000000 +0000
@@ -1597,6 +1597,19 @@
$self->{PERL_LIB} ||= $Config{privlibexp};
$self->{PERL_ARCHLIB} ||= $Config{archlibexp};
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/native-ssp.patch b/meta/recipes-devtools/perl/perl-5.12.2/native-ssp.patch
index 1c825f50d..1c825f50d 100644
--- a/meta/recipes-devtools/perl/perl-5.8.8/native-ssp.patch
+++ b/meta/recipes-devtools/perl/perl-5.12.2/native-ssp.patch
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/perl-configpm-switch.patch b/meta/recipes-devtools/perl/perl-5.12.2/perl-configpm-switch.patch
index ac519a027..ac519a027 100644
--- a/meta/recipes-devtools/perl/perl-5.8.8/perl-configpm-switch.patch
+++ b/meta/recipes-devtools/perl/perl-5.12.2/perl-configpm-switch.patch
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/perl-configure.sh b/meta/recipes-devtools/perl/perl-5.12.2/perl-configure.sh
index 9800394b6..c29e966c0 100755
--- a/meta/recipes-devtools/perl/perl-5.8.8/perl-configure.sh
+++ b/meta/recipes-devtools/perl/perl-5.12.2/perl-configure.sh
@@ -1,4 +1,4 @@
-ls#! /bin/sh
+#! /bin/sh
#
# Generate the common perl configuration
@@ -15,7 +15,7 @@ echo sh Configure -des \
-Dprefix=/usr \
-Dvendorprefix=/usr \
-Dsiteprefix=/usr \
- -Dotherlibdirs=/usr/lib/perl5/5.8.8 \
+ -Dotherlibdirs=/usr/lib/perl5/5.12.2 \
-Duseshrplib \
-Dusethreads \
-Duseithreads \
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/perl-dynloader.patch b/meta/recipes-devtools/perl/perl-5.12.2/perl-dynloader.patch
index e2dc774d5..061a8236f 100644
--- a/meta/recipes-devtools/perl/perl-5.8.8/perl-dynloader.patch
+++ b/meta/recipes-devtools/perl/perl-5.12.2/perl-dynloader.patch
@@ -3,8 +3,8 @@ loading to be changed via an environment variable. This is to allow
us to load .so's from the host system while building for the target
system.
---- perl-5.8.8/ext/DynaLoader/XSLoader_pm.PL 2007/04/20 09:03:08 1.1
-+++ perl-5.8.8/ext/DynaLoader/XSLoader_pm.PL 2007/04/20 09:41:28
+--- perl-5.12.2/dist/XSLoader/XSLoader_pm.PL 2007/04/20 09:03:08 1.1
++++ perl-5.12.2/dist/XSLoader/XSLoader_pm.PL 2007/04/20 09:03:08
@@ -65,6 +65,15 @@
print OUT <<'EOT';
my $modpname = join('/',@modparts);
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/perl-enable-gdbm.patch b/meta/recipes-devtools/perl/perl-5.12.2/perl-enable-gdbm.patch
index c0874c372..c0874c372 100644
--- a/meta/recipes-devtools/perl/perl-5.8.8/perl-enable-gdbm.patch
+++ b/meta/recipes-devtools/perl/perl-5.12.2/perl-enable-gdbm.patch
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/perl-moreconfig.patch b/meta/recipes-devtools/perl/perl-5.12.2/perl-moreconfig.patch
index 590c72536..590c72536 100644
--- a/meta/recipes-devtools/perl/perl-5.8.8/perl-moreconfig.patch
+++ b/meta/recipes-devtools/perl/perl-5.12.2/perl-moreconfig.patch
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/09_fix_installperl.patch b/meta/recipes-devtools/perl/perl-5.8.8/09_fix_installperl.patch
deleted file mode 100644
index f550537d0..000000000
--- a/meta/recipes-devtools/perl/perl-5.8.8/09_fix_installperl.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Correctly identify arch-specific modules in ext/ where the .pm files
-are under lib.
-
-Ensure that POSIX/SigAction is kept with the rest of the POSIX module
-under archlib.
-
-diff --exclude=debian -Naur perl-5.8.8.orig/installperl perl-5.8.8/installperl
---- perl-5.8.8.orig/installperl 2006-01-29 02:35:28.000000000 +1100
-+++ perl-5.8.8/installperl 2006-05-31 22:54:41.000000000 +1000
-@@ -156,11 +156,8 @@
- if ("$File::Find::dir/$_" =~ m{^ext\b(.*)/([^/]+)\.pm$}) {
- my($path, $modname) = ($1,$2);
-
-- # strip trailing component first
-- $path =~ s{/[^/]*$}{};
--
-- # strip optional "/lib";
-- $path =~ s{/lib\b}{};
-+ # strip to optional "/lib", or remove trailing component
-+ $path =~ s{.*/lib\b}{} or $path =~ s{/[^/]*$}{};
-
- # strip any leading /
- $path =~ s{^/}{};
-@@ -851,7 +848,7 @@
- }
-
- if (-f $_) {
-- if (/\.(?:al|ix)$/ && !($dir =~ m[^auto/(.*)$] && $archpms{$1})) {
-+ if (/\.(?:al|ix)$/ && !($dir =~ m[^auto/(.*)$])) {
- $installlib = $installprivlib;
- #We're installing *.al and *.ix files into $installprivlib,
- #but we have to delete old *.al and *.ix files from the 5.000
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/54_debian_perldoc-r.patch b/meta/recipes-devtools/perl/perl-5.8.8/54_debian_perldoc-r.patch
deleted file mode 100644
index 432cd857a..000000000
--- a/meta/recipes-devtools/perl/perl-5.8.8/54_debian_perldoc-r.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-In a Debian installation, not all directories in @INC need exist (the
-site directories for example are created on demand).
-
-Suggested by Joey Hess <joeyh@debian.org>.
-
-diff -Naur --exclude=debian perl-5.8.8.orig/lib/Pod/Perldoc.pm perl-5.8.8/lib/Pod/Perldoc.pm
---- perl-5.8.8.orig/lib/Pod/Perldoc.pm 2004-12-29 23:15:33.000000000 +1100
-+++ perl-5.8.8/lib/Pod/Perldoc.pm 2006-02-02 23:38:49.000000000 +1100
-@@ -1533,6 +1533,7 @@
- $self->{'target'} = (splitdir $s)[-1]; # XXX: why not use File::Basename?
- for ($i=0; $i<@dirs; $i++) {
- $dir = $dirs[$i];
-+ next unless -d $dir; # some dirs in @INC are optional
- ($dir = VMS::Filespec::unixpath($dir)) =~ s!/\z!! if IS_VMS;
- if ( (! $self->opt_m && ( $ret = $self->check_file($dir,"$s.pod")))
- or ( $ret = $self->check_file($dir,"$s.pm"))
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/58_debian_cpan_config_path.patch b/meta/recipes-devtools/perl/perl-5.8.8/58_debian_cpan_config_path.patch
deleted file mode 100644
index b38c70c51..000000000
--- a/meta/recipes-devtools/perl/perl-5.8.8/58_debian_cpan_config_path.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Set location of CPAN::Config to /etc/perl as /usr may not be writable.
-
-diff -Naur --exclude=debian perl-5.8.8.orig/lib/CPAN.pm perl-5.8.8/lib/CPAN.pm
---- perl-5.8.8.orig/lib/CPAN.pm 2006-02-01 01:11:22.000000000 +1100
-+++ perl-5.8.8/lib/CPAN.pm 2006-02-02 23:49:26.000000000 +1100
-@@ -1246,7 +1246,7 @@
- $configpm = $INC{"CPAN/MyConfig.pm"};
- $redo++;
- } else {
-- my($path_to_cpan) = File::Basename::dirname($INC{"CPAN.pm"});
-+ my($path_to_cpan) = '/etc/perl';
- my($configpmdir) = File::Spec->catdir($path_to_cpan,"CPAN");
- my($configpmtest) = File::Spec->catfile($configpmdir,"Config.pm");
- if (-d $configpmdir or File::Path::mkpath($configpmdir)) {
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/60_debian_libnet_config_path.patch b/meta/recipes-devtools/perl/perl-5.8.8/60_debian_libnet_config_path.patch
deleted file mode 100644
index 7842ce115..000000000
--- a/meta/recipes-devtools/perl/perl-5.8.8/60_debian_libnet_config_path.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable.
-
-diff -Naur --exclude=debian perl-5.8.8.orig/lib/Net/Config.pm perl-5.8.8/lib/Net/Config.pm
---- perl-5.8.8.orig/lib/Net/Config.pm 2002-03-01 01:04:31.000000000 +1100
-+++ perl-5.8.8/lib/Net/Config.pm 2006-02-03 00:00:55.000000000 +1100
-@@ -57,9 +57,8 @@
- }
- TRY_INTERNET_CONFIG
-
--my $file = __FILE__;
-+my $file = '/etc/perl/Net/libnet.cfg';
- my $ref;
--$file =~ s/Config.pm/libnet.cfg/;
- if ( -f $file ) {
- $ref = eval { local $SIG{__DIE__}; do $file };
- if (ref($ref) eq 'HASH') {
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/62_debian_cpan_definstalldirs.patch b/meta/recipes-devtools/perl/perl-5.8.8/62_debian_cpan_definstalldirs.patch
deleted file mode 100644
index 682061dd8..000000000
--- a/meta/recipes-devtools/perl/perl-5.8.8/62_debian_cpan_definstalldirs.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Some modules which are included in core set INSTALLDIRS => 'perl'
-explicitly in Makefile.PL. This makes sense for the normal @INC
-ordering, but not ours. Provide a sensible default.
-
-diff -Naur --exclude=debian perl-5.8.8.orig/lib/CPAN/FirstTime.pm perl-5.8.8/lib/CPAN/FirstTime.pm
---- perl-5.8.8.orig/lib/CPAN/FirstTime.pm 2006-01-31 08:08:57.000000000 +1100
-+++ perl-5.8.8/lib/CPAN/FirstTime.pm 2006-02-03 00:05:24.000000000 +1100
-@@ -358,7 +358,7 @@
-
- };
-
-- $default = $CPAN::Config->{makepl_arg} || "";
-+ $default = $CPAN::Config->{makepl_arg} || "INSTALLDIRS=site";
- $CPAN::Config->{makepl_arg} =
- prompt("Parameters for the 'perl Makefile.PL' command?
- Typical frequently used settings:
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/64_debian_enc2xs_inc.patch b/meta/recipes-devtools/perl/perl-5.8.8/64_debian_enc2xs_inc.patch
deleted file mode 100644
index c207a9380..000000000
--- a/meta/recipes-devtools/perl/perl-5.8.8/64_debian_enc2xs_inc.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Tweak enc2xs to handle Debian @INC: ignore missing directories,
-follow symlinks (/usr/share/perl/5.8 -> 5.8.4).
-
-diff -Naur --exclude=debian perl-5.8.8.orig/ext/Encode/bin/enc2xs perl-5.8.8/ext/Encode/bin/enc2xs
---- perl-5.8.8.orig/ext/Encode/bin/enc2xs 2004-09-03 01:53:51.000000000 +1000
-+++ perl-5.8.8/ext/Encode/bin/enc2xs 2006-02-03 00:21:32.000000000 +1100
-@@ -909,10 +909,11 @@
- eval { require File::Find; };
- my (@inc, %e2x_dir);
- for my $inc (@INC){
-+ next unless -d $inc; # skip non-existent directories
- push @inc, $inc unless $inc eq '.'; #skip current dir
- }
- File::Find::find(
-- sub {
-+ { wanted => sub {
- my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
- $atime,$mtime,$ctime,$blksize,$blocks)
- = lstat($_) or return;
-@@ -922,7 +923,7 @@
- $e2x_dir{$File::Find::dir} ||= $mtime;
- }
- return;
-- }, @inc);
-+ }, follow => 1}, @inc);
- warn join("\n", keys %e2x_dir), "\n";
- for my $d (sort {$e2x_dir{$a} <=> $e2x_dir{$b}} keys %e2x_dir){
- $_E2X = $d;
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/Makefile.SH.patch b/meta/recipes-devtools/perl/perl-5.8.8/Makefile.SH.patch
deleted file mode 100644
index ab9c4b7d6..000000000
--- a/meta/recipes-devtools/perl/perl-5.8.8/Makefile.SH.patch
+++ /dev/null
@@ -1,253 +0,0 @@
-Index: perl-5.8.8/Makefile.SH
-===================================================================
---- perl-5.8.8.orig/Makefile.SH 2006-01-24 23:49:44.000000000 +1100
-+++ perl-5.8.8/Makefile.SH 2007-06-14 13:29:37.000000000 +1000
-@@ -43,12 +43,12 @@
- true)
- # Prefix all runs of 'miniperl' and 'perl' with
- # $ldlibpth so that ./perl finds *this* shared libperl.
-- case "$LD_LIBRARY_PATH" in
-- '')
-- ldlibpth="LD_LIBRARY_PATH=`pwd`";;
-- *)
-- ldlibpth="LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}";;
-- esac
-+# case "$LD_LIBRARY_PATH" in
-+# '')
-+# ldlibpth="LD_LIBRARY_PATH=`pwd`";;
-+# *)
-+# ldlibpth="LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}";;
-+# esac
-
- pldlflags="$cccdlflags"
- static_target='static_pic'
-@@ -108,7 +108,8 @@
- ldlibpth=''
- ;;
- *)
-- eval "ldlibpth=\"$ldlibpthname=`pwd`:\$$ldlibpthname\""
-+# We compile in the library path in OE from cross-compile, so lets not do this
-+# eval "ldlibpth=\"$ldlibpthname=`pwd`:\$$ldlibpthname\""
- ;;
- esac
- # Strip off any trailing :'s
-@@ -129,18 +130,7 @@
- # INSTALL file, under "Building a shared perl library".
- # If there is no pre-existing $libperl, we don't need
- # to do anything further.
-- if test -f $archlib/CORE/$libperl; then
-- rm -f preload
-- cat <<'EOT' > preload
--#! /bin/sh
--lib=$1
--shift
--test -r $lib && export LD_PRELOAD="$lib $LD_PRELOAD"
--exec "$@"
--EOT
-- chmod 755 preload
-- ldlibpth="$ldlibpth `pwd`/preload `pwd`/$libperl"
-- fi
-+ echo linux libraries overwritten by cross-compile patches
- ;;
- os390) test -f /bin/env && ldlibpth="/bin/env $ldlibpth"
- ;;
-@@ -401,9 +391,19 @@
- .c.s:
- $(CCCMDSRC) -S $*.c
-
--all: $(FIRSTMAKEFILE) miniperl$(EXE_EXT) extra.pods $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make
-- @echo " ";
-- @echo " Everything is up to date. Type '$(MAKE) test' to run test suite."
-+#all: $(FIRSTMAKEFILE) miniperl$(EXE_EXT) extra.pods $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make
-+# @echo " ";
-+# @echo " Everything is up to date. Type '$(MAKE) test' to run test suite."
-+
-+all: $(FIRSTMAKEFILE) miniperl$(EXE_EXT) $(unidatafiles)
-+
-+more: extra.pods $(private) $(public)
-+
-+more2: $(dynamic_ext)
-+
-+more3: $(nonxs_ext)
-+
-+more4: extras.make
-
- .PHONY: all compile translators utilities
-
-@@ -413,10 +413,10 @@
- cd x2p; $(MAKE) compile;
- cd pod; $(MAKE) compile;
-
--translators: miniperl$(EXE_EXT) $(CONFIGPM) FORCE
-+translators: $(CONFIGPM) FORCE
- @echo " "; echo " Making x2p stuff"; cd x2p; $(LDLIBPTH) $(MAKE) all
-
--utilities: miniperl$(EXE_EXT) $(CONFIGPM) $(plextract) lib/lib.pm FORCE
-+utilities: $(CONFIGPM) $(plextract) lib/lib.pm FORCE
- @echo " "; echo " Making utilities"; cd utils; $(LDLIBPTH) $(MAKE) all
-
-
-@@ -550,7 +550,7 @@
- case "$useshrplib" in
- true)
- $spitshell >>Makefile <<'!NO!SUBS!'
-- $(LD) -o $@ $(SHRPLDFLAGS) perl$(OBJ_EXT) $(obj) $(libs)
-+ $(LD) -o $@ $(SHRPLDFLAGS) perl$(OBJ_EXT) $(obj) $(libs) -Wl,-soname,libperl.so.5
- !NO!SUBS!
- case "$osname" in
- aix)
-@@ -591,7 +591,9 @@
- $(CC) -o miniperl $(CLDFLAGS) \
- `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \
- miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perl$(OBJ_EXT) $(libs)
-- $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
-+ mv -f miniperl miniperl-target
-+ ln -s hostperl miniperl
-+# $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
- !NO!SUBS!
- ;;
- next4*)
-@@ -599,7 +601,9 @@
- miniperl: $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT)
- $(CC) -o miniperl `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \
- miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perl$(OBJ_EXT) $(libs)
-- $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
-+ mv -f miniperl miniperl-target
-+ ln -s hostperl miniperl
-+# $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
- !NO!SUBS!
- ;;
- darwin*)
-@@ -620,7 +624,9 @@
- -@rm -f miniperl.xok
- $(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o miniperl \
- miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) $(LLIBPERL) $(libs)
-- $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
-+ mv -f miniperl miniperl-target
-+ ln -s hostperl miniperl
-+# $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
- !NO!SUBS!
- ;;
- *)
-@@ -629,7 +635,9 @@
- -@rm -f miniperl.xok
- $(LDLIBPTH) $(CC) $(CLDFLAGS) -o miniperl \
- miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) $(LLIBPERL) $(libs)
-- $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
-+ mv -f miniperl miniperl-target
-+ ln -s hostperl miniperl
-+# $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
- !NO!SUBS!
- ;;
- esac
-@@ -766,7 +774,7 @@
- # We need to autosplit in two steps because VOS can't handle so many args
- #
- .PHONY: preplibrary
--preplibrary: miniperl$(EXE_EXT) $(CONFIGPM) lib/lib.pm $(PREPLIBRARY_LIBPERL)
-+preplibrary: $(CONFIGPM) lib/lib.pm $(PREPLIBRARY_LIBPERL)
- @sh ./makedir lib/auto
- @echo " AutoSplitting perl library"
- $(LDLIBPTH) ./miniperl -Ilib -e 'use AutoSplit; \
-@@ -775,35 +783,35 @@
- autosplit_lib_modules(@ARGV)' lib/*/*.pm
- $(MAKE) lib/re.pm
-
--lib/Config.pod: config.sh miniperl$(EXE_EXT) configpm Porting/Glossary
-+lib/Config.pod: config.sh configpm Porting/Glossary
- $(LDLIBPTH) ./miniperl -Ilib configpm --heavy=lib/Config_heavy.pl lib/Config.pm
-
- $(CONFIGPM): lib/Config.pod
-
--lib/ExtUtils/Miniperl.pm: miniperlmain.c miniperl$(EXE_EXT) minimod.pl $(CONFIGPM)
-+lib/ExtUtils/Miniperl.pm: miniperlmain.c minimod.pl $(CONFIGPM)
- $(LDLIBPTH) ./miniperl minimod.pl > lib/ExtUtils/Miniperl.pm
-
- lib/re.pm: ext/re/re.pm
- cp ext/re/re.pm lib/re.pm
-
--$(plextract): miniperl$(EXE_EXT) $(CONFIGPM) x2p/s2p
-+$(plextract): $(CONFIGPM) x2p/s2p
- @-rm -f $@
- $(LDLIBPTH) ./miniperl -I`pwd`/lib $@.PL
-
--x2p/s2p: miniperl$(EXE_EXT) $(CONFIGPM) x2p/s2p.PL
-+x2p/s2p: $(CONFIGPM) x2p/s2p.PL
- cd x2p; $(LDLIBPTH) $(MAKE) s2p
-
--lib/lib.pm: miniperl$(EXE_EXT) $(CONFIGPM)
-+lib/lib.pm: $(CONFIGPM)
- @-rm -f $@
- $(LDLIBPTH) ./miniperl -Ilib lib/lib_pm.PL
-
- unidatafiles $(unidatafiles): uni.data
-
--uni.data: miniperl$(EXE_EXT) $(CONFIGPM) lib/unicore/mktables
-+uni.data: $(CONFIGPM) lib/unicore/mktables
- cd lib/unicore && $(LDLIBPTH) ../../miniperl -I../../lib mktables -w
- touch uni.data
-
--extra.pods: miniperl$(EXE_EXT)
-+extra.pods:
- -@test -f extra.pods && rm -f `cat extra.pods`
- -@rm -f extra.pods
- -@for x in `grep -l '^=[a-z]' README.* | grep -v README.vms` ; do \
-@@ -850,18 +858,7 @@
- INSTALL_DEPENDENCE = all
-
- install.perl: $(INSTALL_DEPENDENCE) installperl
-- if [ -n "$(COMPILE)" ]; \
-- then \
-- cd utils; $(MAKE) compile; \
-- cd ../x2p; $(MAKE) compile; \
-- cd ../pod; $(MAKE) compile; \
-- else :; \
-- fi
-- $(LDLIBPTH) ./perl installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
-- $(MAKE) extras.install
--
--install.man: all installman
-- $(LDLIBPTH) ./perl installman --destdir=$(DESTDIR) $(INSTALLFLAGS)
-+ ./hostperl -Ifake_config_library -Ilib -MConfig installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
-
- # XXX Experimental. Hardwired values, but useful for testing.
- # Eventually Configure could ask for some of these values.
-@@ -978,16 +975,16 @@
- #
- # DynaLoader may be needed for extensions that use Makefile.PL.
-
--$(DYNALOADER): miniperl$(EXE_EXT) preplibrary FORCE
-+$(DYNALOADER): preplibrary FORCE
- @$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
-
--d_dummy $(dynamic_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
-+d_dummy $(dynamic_ext): preplibrary $(DYNALOADER) FORCE
- @$(LDLIBPTH) sh ext/util/make_ext dynamic $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
-
--s_dummy $(static_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
-+s_dummy $(static_ext): preplibrary $(DYNALOADER) FORCE
- @$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
-
--n_dummy $(nonxs_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
-+n_dummy $(nonxs_ext): preplibrary $(DYNALOADER) FORCE
- @$(LDLIBPTH) sh ext/util/make_ext nonxs $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
-
- .PHONY: clean _tidy _mopup _cleaner1 _cleaner2 \
-@@ -1125,7 +1122,7 @@
-
- test_prep_pre: preplibrary utilities $(nonxs_ext)
-
--test_prep: test_prep_pre miniperl$(EXE_EXT) $(unidatafiles) perl$(EXE_EXT) $(dynamic_ext) $(TEST_PERL_DLL)
-+test_prep: test_prep_pre $(unidatafiles) perl$(EXE_EXT) $(dynamic_ext) $(TEST_PERL_DLL)
- PERL=./perl $(MAKE) _test_prep
-
- _test_tty:
-@@ -1238,7 +1235,7 @@
-
- # Can't depend on lib/Config.pm because that might be where miniperl
- # is crashing.
--minitest: miniperl$(EXE_EXT) lib/re.pm minitest.prep
-+minitest: lib/re.pm minitest.prep
- - cd t && (rm -f perl$(EXE_EXT); $(LNS) ../miniperl$(EXE_EXT) perl$(EXE_EXT)) \
- && $(LDLIBPTH) ./perl TEST -minitest base/*.t comp/*.t cmd/*.t run/*.t io/*.t op/*.t uni/*.t </dev/tty
-
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/config.sh-32 b/meta/recipes-devtools/perl/perl-5.8.8/config.sh-32
deleted file mode 100644
index e22d71d8e..000000000
--- a/meta/recipes-devtools/perl/perl-5.8.8/config.sh-32
+++ /dev/null
@@ -1,58 +0,0 @@
-alignbytes='4'
-ccflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
-ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
-yaccflags=''
-ccsymbols='__GNUC_PATCHLEVEL__=5'
-cppccsymbols='__GNUC__=3 __GNUC_MINOR__=3'
-cppccsymbols='__GNUC__=3 __GNUC_MINOR__=3'
-cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -I/usr/local/include'
-cppsymbols='__ELF__=1 _FILE_OFFSET_BITS=64 __GLIBC__=2 __GLIBC_MINOR__=3 __GNU_LIBRARY__=6 _GNU_SOURCE=1 i386=1 __i386=1 __i386__=1 __i486=1 __i486__=1 _LARGEFILE64_SOURCE=1 _LARGEFILE_SOURCE=1 linux=1 __linux=1 __linux__=1 _POSIX_C_SOURCE=199506L _POSIX_SOURCE=1 _REENTRANT=1 __STDC__=1 unix=1 __unix=1 __unix__=1 __USE_BSD=1 __USE_FILE_OFFSET64=1 __USE_GNU=1 __USE_LARGEFILE=1 __USE_LARGEFILE64=1 __USE_MISC=1 __USE_POSIX=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __USE_REENTRANT=1 __USE_SVID=1 __USE_UNIX98=1 __USE_XOPEN=1 __USE_XOPEN_EXTENDED=1 _XOPEN_SOURCE=600 _XOPEN_SOURCE_EXTENDED=1'
-d_nv_preserves_uv='define'
-d_u32align='undef'
-gccversion='3.3.5 (Debian 1:3.3.5-13)'
-getspnam_r_proto='0'
-gidformat='"lu"'
-gnulibc_version='2.3.2'
-i32type='long'
-i64type='long long'
-ivsize='4'
-gnulibc_version='2.3.2'
-libc='/lib/libc-2.3.2.so'
-libsfiles=' libnsl.so libdl.so libm.so libcrypt.so libutil.so libpthread.so libc.so'
-libsfound=' /usr/lib/libnsl.so /usr/lib/libdl.so /usr/lib/libm.so /usr/lib/libcrypt.so /usr/lib/libutil.so /usr/lib/libpthread.so /usr/lib/libc.so'
-ignore_versioned_solibs='y'
-libs='-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc'
-libsdirs=' /usr/lib'
-libsfiles=' libnsl.so libdl.so libm.so libcrypt.so libutil.so libpthread.so libc.so'
-libsfound=' /usr/lib/libnsl.so /usr/lib/libdl.so /usr/lib/libm.so /usr/lib/libcrypt.so /usr/lib/libutil.so /usr/lib/libpthread.so /usr/lib/libc.so'
-libspath=' /usr/local/lib /lib /usr/lib'
-libswanted='sfio socket inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun m crypt sec util pthread c cposix posix ucb BSD'
-libswanted_uselargefiles=''
-perllibs='-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc'
-libsfiles=' libnsl.so libdl.so libm.so libcrypt.so libutil.so libpthread.so libc.so'
-libsfound=' /usr/lib/libnsl.so /usr/lib/libdl.so /usr/lib/libm.so /usr/lib/libcrypt.so /usr/lib/libutil.so /usr/lib/libpthread.so /usr/lib/libc.so'
-longdblsize='12'
-longlongsize='8'
-longsize='4'
-myuname='linux birgitte 2.6.21-rc5 #63 tue mar 27 14:41:54 est 2007 i686 gnulinux '
-nv_preserves_uv_bits='32'
-osvers='2.6.21-rc5'
-ptrsize='4'
-quadkind='3'
-quadtype='long long'
-uquadtype='unsigned long long'
-sPRIXU64='"LX"'
-sPRId64='"Ld"'
-sPRIi64='"Li"'
-sPRIo64='"Lo"'
-sPRIu64='"Lu"'
-sPRIx64='"Lx"'
-selectminbits='32'
-sizesize='4'
-u32type='unsigned long'
-u64type='unsigned long long'
-uidformat='"lu"'
-uquadtype='unsigned long long'
-use64bitall='undef'
-use64bitint='undef'
-uvsize='4'
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/config.sh-64 b/meta/recipes-devtools/perl/perl-5.8.8/config.sh-64
deleted file mode 100644
index 6e58fa71a..000000000
--- a/meta/recipes-devtools/perl/perl-5.8.8/config.sh-64
+++ /dev/null
@@ -1,58 +0,0 @@
-alignbytes='8'
-ccflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
-ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
-yaccflags=''
-ccsymbols=''
-cppccsymbols=''
-cppccsymbols=''
-cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -Wdeclaration-after-statement'
-cppsymbols='__amd64=1 __amd64__=1 __ELF__=1 _FILE_OFFSET_BITS=64 __GLIBC__=2 __GLIBC_MINOR__=4 __GNUC__=4 __GNUC_MINOR__=1 __GNU_LIBRARY__=6 _GNU_SOURCE=1 _LARGEFILE64_SOURCE=1 _LARGEFILE_SOURCE=1 linux=1 __linux=1 __linux__=1 _LP64=1 __LP64__=1 _POSIX_C_SOURCE=199506L _POSIX_SOURCE=1 _REENTRANT=1 __STDC__=1 unix=1 __unix=1 __unix__=1 __USE_BSD=1 __USE_FILE_OFFSET64=1 __USE_GNU=1 __USE_LARGEFILE=1 __USE_LARGEFILE64=1 __USE_MISC=1 __USE_POSIX=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __USE_REENTRANT=1 __USE_SVID=1 __USE_UNIX98=1 __USE_XOPEN=1 __USE_XOPEN_EXTENDED=1 __x86_64=1 __x86_64__=1 _XOPEN_SOURCE=600 _XOPEN_SOURCE_EXTENDED=1'
-d_nv_preserves_uv='undef'
-d_u32align='define'
-gccversion='4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)'
-getspnam_r_proto='REENTRANT_PROTO_I_CSBWR'
-gidformat='"u"'
-gnulibc_version='2.4'
-i32type='int'
-i64type='long'
-ivsize='8'
-gnulibc_version='2.4'
-libc='/lib/libc-2.4.so'
-libsfiles=' libnsl.so libdb.so libdl.so libm.so libcrypt.so libutil.so libpthread.so libc.so'
-libsfound=' /usr/lib/libnsl.so /usr/lib/libdb.so /usr/lib/libdl.so /usr/lib/libm.so /usr/lib/libcrypt.so /usr/lib/libutil.so /usr/lib/libpthread.so /usr/lib/libc.so'
-ignore_versioned_solibs='y'
-libs='-lnsl -ldb -ldl -lm -lcrypt -lutil -lpthread -lc'
-libsdirs=' /usr/lib'
-libsfiles=' libnsl.so libdb.so libdl.so libm.so libcrypt.so libutil.so libpthread.so libc.so'
-libsfound=' /usr/lib/libnsl.so /usr/lib/libdb.so /usr/lib/libdl.so /usr/lib/libm.so /usr/lib/libcrypt.so /usr/lib/libutil.so /usr/lib/libpthread.so /usr/lib/libc.so'
-libspath=' /usr/local/lib /lib /usr/lib'
-libswanted='sfio socket inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun m crypt sec util pthread c cposix posix ucb BSD'
-libswanted_uselargefiles=''
-perllibs='-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc'
-libsfiles=' libnsl.so libdb.so libdl.so libm.so libcrypt.so libutil.so libpthread.so libc.so'
-libsfound=' /usr/lib/libnsl.so /usr/lib/libdb.so /usr/lib/libdl.so /usr/lib/libm.so /usr/lib/libcrypt.so /usr/lib/libutil.so /usr/lib/libpthread.so /usr/lib/libc.so'
-longdblsize='16'
-longlongsize='8'
-longsize='8'
-myuname='linux nynaeve 2.6.20.4 #29 smp thu mar 29 15:35:30 est 2007 x86_64 gnulinux '
-nv_preserves_uv_bits='53'
-osvers='2.6.20.4'
-ptrsize='8'
-quadkind='2'
-quadtype='long'
-uquadtype='unsigned long'
-sPRIXU64='"lX"'
-sPRId64='"ld"'
-sPRIi64='"li"'
-sPRIo64='"lo"'
-sPRIu64='"lu"'
-sPRIx64='"lx"'
-selectminbits='64'
-sizesize='8'
-u32type='unsigned int'
-u64type='unsigned long'
-uidformat='"u"'
-uquadtype='unsigned long'
-use64bitall='define'
-use64bitint='define'
-uvsize='8'
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/makedepend-dash.patch b/meta/recipes-devtools/perl/perl-5.8.8/makedepend-dash.patch
deleted file mode 100644
index 1f1547437..000000000
--- a/meta/recipes-devtools/perl/perl-5.8.8/makedepend-dash.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: perl-5.8.8/makedepend.SH
-===================================================================
---- perl-5.8.8.orig/makedepend.SH 2007-05-24 12:06:52.000000000 +1000
-+++ perl-5.8.8/makedepend.SH 2007-05-24 12:27:33.000000000 +1000
-@@ -128,7 +128,7 @@
- *.y) filebase=`basename $file .y` ;;
- esac
- case "$file" in
-- */*) finc="-I`echo $file | sed 's#/[^/]*$##`" ;;
-+ */*) finc="-I`echo $file | sed 's#/[^/]*$##'`" ;;
- *) finc= ;;
- esac
- $echo "Finding dependencies for $filebase$_o."
diff --git a/meta/recipes-devtools/perl/perl-5.8.8/native-no-gdbminc.patch b/meta/recipes-devtools/perl/perl-5.8.8/native-no-gdbminc.patch
deleted file mode 100644
index f00fa2cc1..000000000
--- a/meta/recipes-devtools/perl/perl-5.8.8/native-no-gdbminc.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-If you have a /usr/include/gdbm/ndbm.h host on the header then the configure
-script adds -I/usr/include/gdbm to the ccflags even though gdbm support is
-disabled. Prevent perl from doing this so we don't get cross compile badness
-errors while building perl.
-
---- perl-5.8.8/Configure 2007/05/06 23:42:18 1.1
-+++ perl-5.8.8/Configure 2007/05/06 23:42:48
-@@ -20033,8 +20033,8 @@
- # ndbm.h header in /usr/include/gdbm/ndbm.h.
- if $test -f /usr/include/gdbm/ndbm.h; then
- echo '<gdbm/ndbm.h> found.'
-- ccflags="$ccflags -I/usr/include/gdbm"
-- cppflags="$cppflags -I/usr/include/gdbm"
-+# ccflags="$ccflags -I/usr/include/gdbm"
-+# cppflags="$cppflags -I/usr/include/gdbm"
- t_ndbm=$define
- fi
- ;;
diff --git a/meta/recipes-devtools/perl/perl-native_5.8.8.bb b/meta/recipes-devtools/perl/perl-native_5.12.2.bb
index 63215256a..fe8dbaaff 100644
--- a/meta/recipes-devtools/perl/perl-native_5.8.8.bb
+++ b/meta/recipes-devtools/perl/perl-native_5.12.2.bb
@@ -2,21 +2,21 @@ DESCRIPTION = "Perl is a popular scripting language."
HOMEPAGE = "http://www.perl.org/"
SECTION = "libs"
LICENSE = "Artistic|GPL"
-DEPENDS = "virtual/db-native gdbm-native"
-PR = "r14"
+LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
+ file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8"
+PR = "r4"
+
+LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
+ file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8"
SRC_URI = "http://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \
- file://perl-5.8.8-gcc-4.2.patch;patch=1 \
file://Configure-multilib.patch;patch=1 \
file://perl-configpm-switch.patch;patch=1 \
file://native-nopacklist.patch;patch=1 \
- file://native-no-gdbminc.patch;patch=1 \
- file://native-perlinc.patch;patch=1 \
- file://makedepend-dash.patch;patch=1 \
- file://asm-pageh-fix.patch;patch=1"
+ file://native-perlinc.patch;patch=1"
-SRC_URI[md5sum] = "b8c118d4360846829beb30b02a6b91a7"
-SRC_URI[sha256sum] = "e15d499321e003d12ed183601e37ee7ba5f64b278d1de30149ce01bd4a3f234d"
+SRC_URI[md5sum] = "af2df531d46b77fdf0d97eecb03eddb2"
+SRC_URI[sha256sum] = "cf888340021d5a2d1238bbd9b8b55aaf420a848d46e4d317cb8567f86ceb1022"
S = "${WORKDIR}/perl-${PV}"
@@ -65,13 +65,15 @@ do_install () {
# We need a hostperl link for building perl
ln -sf perl${PV} ${D}${bindir}/hostperl
+ ln -sf perl ${D}${libdir}/perl5
+
install -d ${D}${libdir}/perl/${PV}/CORE \
${D}${datadir}/perl/${PV}/ExtUtils
# Save native config
install config.sh ${D}${libdir}/perl
install lib/Config.pm ${D}${libdir}/perl/${PV}/
- install lib/ExtUtils/typemap ${D}${datadir}/perl/${PV}/ExtUtils/
+ install lib/ExtUtils/typemap ${D}${libdir}/perl/${PV}/ExtUtils/
# perl shared library headers
for i in av.h embed.h gv.h keywords.h op.h perlio.h pp.h regexp.h \
@@ -80,11 +82,13 @@ do_install () {
hv.h malloc_ctl.h pad.h perlsdio.h proto.h scope.h utf8.h \
cop.h fakesdio.h INTERN.h mg.h patchlevel.h perlsfio.h \
reentr.h sv.h utfebcdic.h cv.h fakethr.h intrpvar.h \
- nostdio.h perlapi.h perlvars.h reentr.inc thrdvar.h util.h \
+ nostdio.h perlapi.h perlvars.h util.h \
dosish.h form.h iperlsys.h opcode.h perl.h perly.h regcomp.h \
thread.h warnings.h; do
install $i ${D}${libdir}/perl/${PV}/CORE
done
+
+ create_wrapper ${D}${bindir}/perl PERL5LIB='$PERL5LIB:${STAGING_LIBDIR}/perl/5.12.2:${STAGING_LIBDIR}/perl/'
}
do_install_append_nylon() {
# get rid of definitions not supported by the gcc version we use for nylon...
diff --git a/meta/recipes-devtools/perl/perl-rdepends_5.12.2.inc b/meta/recipes-devtools/perl/perl-rdepends_5.12.2.inc
new file mode 100644
index 000000000..309bd1741
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-rdepends_5.12.2.inc
@@ -0,0 +1,210 @@
+# To create/update the perl-rdepends_${PV}.inc use this piece of ugly script (modified for your arch/paths etc):
+
+#[nitin@buildbox packages-split]$ pwd
+#/home/nitin/build/build3/tmp/work/i586-poky-linux/perl-5.8.8-r21/packages-split
+#/home/nitin/poky.git/build/tmp/work/x86_64-poky-linux/perl-5.12.2-r0/packages-split
+
+#egrep -r "use|require" perl-module-* | grep ";" | egrep "\.pm:require | \.pm:use" | sed "s-/.*\.pm: *- += -g" | sed "s/[\"\']//g" | sed "s/;.*/\"/g" | sed "s/require */\"perl-module-/g" | sed "s/CPANPLUS::.*/cpanplus/g" | sed "s/CPAN::.*/cpan/g" | tr [:upper:] [:lower:] | sed "s/::/-/g" | grep -v perl-module-5 | sed "s/ [^+\"].*//g" | grep -v "\\$" | sed "s/_/-/g" | sed "s/\.pl\"$/\"/" | grep -v "\-vms\-" | sort -u > /tmp/1
+#find . -type f | sed "s-\./--" | sed "s-/.*--" | sort -u > /tmp/2
+#cat /tmp/1 | cut -f3 -d" " | sed "s/[\"\']//g" | sort -u > /tmp/3
+## these dependancies do not exist
+#diff -u /tmp/2 /tmp/3 | grep ^+perl-module
+
+
+# Some additional dependencies that the above doesn't manage to figure out
+RDEPENDS_perl-module-math-bigint += "perl-module-math-bigint-calc "
+RDEPENDS_perl-module-math-bigint-calc += "perl-module-integer "
+
+# Depends list
+# copy contents of /tmp/1 in this file
+RDEPENDS_perl-module-archive-tar += "perl-module-exporter"
+RDEPENDS_perl-module-archive-tar-file += "perl-module-archive-tar"
+RDEPENDS_perl-module-attributes += "perl-module-xsloader"
+RDEPENDS_perl-module-b += "perl-module-exporter"
+RDEPENDS_perl-module-b-debug += "perl-module-b"
+RDEPENDS_perl-module-bignum += "perl-module-bigint"
+RDEPENDS_perl-module-bigrat += "perl-module-bigint"
+RDEPENDS_perl-module-bigrat += "perl-module-exporter"
+RDEPENDS_perl-module-carp += "perl-module-exporter"
+RDEPENDS_perl-module-cgi-util += "perl-module-exporter"
+RDEPENDS_perl-module-class-struct += "perl-module-exporter"
+RDEPENDS_perl-module-compress-raw-bzip2 += "perl-module-exporter"
+RDEPENDS_perl-module-compress-raw-zlib += "perl-module-exporter"
+RDEPENDS_perl-module-compress-zlib += "perl-module-exporter"
+RDEPENDS_perl-module-config-extensions += "perl-module-exporter"
+RDEPENDS_perl-module-cpanplus += "perl-module-base"
+RDEPENDS_perl-module-cpanplus += "perl-module-exporter"
+RDEPENDS_perl-module-cpanplus += "perl-module-tie-hash"
+RDEPENDS_perl-module-data-dumper += "perl-module-exporter"
+RDEPENDS_perl-module-data-dumper += "perl-module-overload"
+RDEPENDS_perl-module-devel-peek += "perl-module-exporter"
+RDEPENDS_perl-module-devel-selfstubber += "perl-module-selfloader"
+RDEPENDS_perl-module-digest-md5 += "perl-module-exporter"
+RDEPENDS_perl-module-digest-sha += "perl-module-dynaloader"
+RDEPENDS_perl-module-digest-sha += "perl-module-exporter"
+RDEPENDS_perl-module-dynaloader += "perl-module-autoloader"
+RDEPENDS_perl-module-encode += "perl-module-encode-config"
+RDEPENDS_perl-module-encode += "perl-module-exporter"
+RDEPENDS_perl-module-encode-cjkconstants += "perl-module-exporter"
+RDEPENDS_perl-module-encode-encoder += "perl-module-exporter"
+RDEPENDS_perl-module-encode-encoding += "perl-module-encode"
+RDEPENDS_perl-module-encode-unicode += "perl-module-encode"
+RDEPENDS_perl-module-english += "perl-module-exporter"
+RDEPENDS_perl-module-exporter-heavy += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-command += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-command-mm += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-constant-proxysubs += "perl-module-extutils-constant-xs"
+RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-base"
+RDEPENDS_perl-module-extutils-embed += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-embed += "perl-module-filehandle"
+RDEPENDS_perl-module-extutils-liblist += "perl-module-extutils-liblist-kid"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-mm"
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-extutils-my"
+RDEPENDS_perl-module-extutils-manifest += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-miniperl += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-liblist"
+RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-makemaker"
+RDEPENDS_perl-module-extutils-mm-aix += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-any"
+RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-mm-win32"
+RDEPENDS_perl-module-extutils-mm-dos += "perl-module-extutils-mm-any"
+RDEPENDS_perl-module-extutils-mm-dos += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-mm-win32"
+RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-any"
+RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-qnx += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-mm-any"
+RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-exporter"
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-mm-any"
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-vos += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-mm-any"
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-mm-unix"
+RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-extutils-mm-win32"
+RDEPENDS_perl-module-extutils-my += "perl-module-extutils-mm"
+RDEPENDS_perl-module-extutils-parsexs += "perl-module-exporter"
+RDEPENDS_perl-module-fcntl += "perl-module-exporter"
+RDEPENDS_perl-module-file-basename += "perl-module-exporter"
+RDEPENDS_perl-module-file-compare += "perl-module-exporter"
+RDEPENDS_perl-module-file-copy += "perl-module-exporter"
+RDEPENDS_perl-module-file-find += "perl-module-cwd"
+RDEPENDS_perl-module-file-find += "perl-module-exporter"
+RDEPENDS_perl-module-file-find += "perl-module-file-basename"
+RDEPENDS_perl-module-file-find += "perl-module-file-spec"
+RDEPENDS_perl-module-file-spec-cygwin += "perl-module-file-spec-unix"
+RDEPENDS_perl-module-file-spec-epoc += "perl-module-file-spec-unix"
+RDEPENDS_perl-module-file-spec-functions += "perl-module-exporter"
+RDEPENDS_perl-module-file-spec-mac += "perl-module-file-spec-unix"
+RDEPENDS_perl-module-file-spec-os2 += "perl-module-file-spec-unix"
+RDEPENDS_perl-module-file-spec-vms += "perl-module-file-spec-unix"
+RDEPENDS_perl-module-file-spec-win32 += "perl-module-file-spec-unix"
+RDEPENDS_perl-module-file-temp += "perl-module-symbol"
+RDEPENDS_perl-module-filehandle += "perl-module-io-file"
+RDEPENDS_perl-module-filter-util-call += "perl-module-dynaloader"
+RDEPENDS_perl-module-filter-util-call += "perl-module-exporter"
+RDEPENDS_perl-module-findbin += "perl-module-exporter"
+RDEPENDS_perl-module-getopt-std += "perl-module-exporter"
+RDEPENDS_perl-module-hash-util += "perl-module-dynaloader"
+RDEPENDS_perl-module-hash-util += "perl-module-exporter"
+RDEPENDS_perl-module-hash-util-fieldhash += "perl-module-exporter"
+RDEPENDS_perl-module-i18n-collate += "perl-module-exporter"
+RDEPENDS_perl-module-i18n-langinfo += "perl-module-dynaloader"
+RDEPENDS_perl-module-i18n-langinfo += "perl-module-exporter"
+RDEPENDS_perl-module-i18n-langtags += "perl-module-exporter"
+RDEPENDS_perl-module-inc-latest += "perl-module-inc-latest-private"
+RDEPENDS_perl-module-io-compress-base-common += "perl-module-exporter"
+RDEPENDS_perl-module-io-compress-bzip2 += "perl-module-exporter "
+RDEPENDS_perl-module-io-compress-deflate += "perl-module-exporter "
+RDEPENDS_perl-module-io-compress-gzip += "perl-module-exporter "
+RDEPENDS_perl-module-io-compress-gzip-constants += "perl-module-exporter"
+RDEPENDS_perl-module-io-compress-rawdeflate += "perl-module-exporter "
+RDEPENDS_perl-module-io-compress-zip += "perl-module-exporter "
+RDEPENDS_perl-module-io-compress-zip-constants += "perl-module-exporter"
+RDEPENDS_perl-module-io-compress-zlib-constants += "perl-module-exporter"
+RDEPENDS_perl-module-io-file += "perl-module-exporter"
+RDEPENDS_perl-module-io-handle += "perl-module-exporter"
+RDEPENDS_perl-module-io-seekable += "perl-module-exporter"
+RDEPENDS_perl-module-io-select += "perl-module-exporter"
+RDEPENDS_perl-module-io-socket += "perl-module-io-socket-inet"
+RDEPENDS_perl-module-io-socket += "perl-module-io-socket-unix"
+RDEPENDS_perl-module-io-uncompress-anyinflate += "perl-module-exporter "
+RDEPENDS_perl-module-io-uncompress-anyuncompress += "perl-module-exporter "
+RDEPENDS_perl-module-io-uncompress-bunzip2 += "perl-module-exporter "
+RDEPENDS_perl-module-io-uncompress-gunzip += "perl-module-exporter "
+RDEPENDS_perl-module-io-uncompress-inflate += "perl-module-exporter "
+RDEPENDS_perl-module-io-uncompress-rawinflate += "perl-module-exporter "
+RDEPENDS_perl-module-io-uncompress-unzip += "perl-module-exporter "
+RDEPENDS_perl-module-ipc-cmd += "perl-module-carp"
+RDEPENDS_perl-module-ipc-open2 += "perl-module-exporter"
+RDEPENDS_perl-module-ipc-open2 += "perl-module-ipc-open3"
+RDEPENDS_perl-module-ipc-open3 += "perl-module-exporter"
+RDEPENDS_perl-module-ipc-sysv += "perl-module-exporter"
+RDEPENDS_perl-module-list-util += "perl-module-exporter"
+RDEPENDS_perl-module-list-util-pp += "perl-module-exporter"
+RDEPENDS_perl-module-locale-constants += "perl-module-exporter"
+RDEPENDS_perl-module-locale-country += "perl-module-exporter"
+RDEPENDS_perl-module-locale-currency += "perl-module-exporter"
+RDEPENDS_perl-module-locale-language += "perl-module-exporter"
+RDEPENDS_perl-module-locale-script += "perl-module-exporter"
+RDEPENDS_perl-module-math-bigfloat += "perl-module-exporter"
+RDEPENDS_perl-module-math-complex += "perl-module-exporter"
+RDEPENDS_perl-module-math-trig += "perl-module-exporter"
+RDEPENDS_perl-module-mime-base64 += "perl-module-exporter"
+RDEPENDS_perl-module-mime-base64 += "perl-module-xsloader"
+RDEPENDS_perl-module-mime-quotedprint += "perl-module-exporter"
+RDEPENDS_perl-module-mro += "perl-module-xsloader"
+RDEPENDS_perl-module-net-cmd += "perl-module-exporter"
+RDEPENDS_perl-module-net-config += "perl-module-exporter"
+RDEPENDS_perl-module-net-domain += "perl-module-exporter"
+RDEPENDS_perl-module-net-ftp-a += "perl-module-net-ftp-dataconn"
+RDEPENDS_perl-module-net-ftp-e += "perl-module-net-ftp-i"
+RDEPENDS_perl-module-net-ftp-i += "perl-module-net-ftp-dataconn"
+RDEPENDS_perl-module-net-ftp-l += "perl-module-net-ftp-i"
+RDEPENDS_perl-module-net-ping += "perl-module-exporter"
+RDEPENDS_perl-module-net-time += "perl-module-exporter"
+RDEPENDS_perl-module-object-accessor += "perl-module-overload"
+RDEPENDS_perl-module-pod-escapes += "perl-module-exporter"
+RDEPENDS_perl-module-pod-functions += "perl-module-exporter"
+RDEPENDS_perl-module-pod-html += "perl-module-exporter"
+RDEPENDS_perl-module-pod-latex += "perl-module-pod-parseutils"
+RDEPENDS_perl-module-pod-simple-transcodesmart += "perl-module-encode"
+RDEPENDS_perl-module-pod-usage += "perl-module-pod-select"
+RDEPENDS_perl-module-posix += "perl-module-exporter"
+RDEPENDS_perl-module-safe += "perl-module-utf8"
+RDEPENDS_perl-module-scalar-util += "perl-module-exporter"
+RDEPENDS_perl-module-scalar-util += "perl-module-list-util"
+RDEPENDS_perl-module-scalar-util-pp += "perl-module-exporter"
+RDEPENDS_perl-module-sdbm-file += "perl-module-tie-hash"
+RDEPENDS_perl-module-search-dict += "perl-module-exporter"
+RDEPENDS_perl-module-socket += "perl-module-exporter"
+RDEPENDS_perl-module-storable += "perl-module-carp"
+RDEPENDS_perl-module-storable += "perl-module-dynaloader"
+RDEPENDS_perl-module-storable += "perl-module-exporter"
+RDEPENDS_perl-module-symbol += "perl-module-exporter"
+RDEPENDS_perl-module-sys-hostname += "perl-module-autoloader"
+RDEPENDS_perl-module-sys-hostname += "perl-module-exporter"
+RDEPENDS_perl-module-term-complete += "perl-module-exporter"
+RDEPENDS_perl-module-test += "perl-module-exporter"
+RDEPENDS_perl-module-test-builder-module += "perl-module-exporter"
+RDEPENDS_perl-module-test-builder-tester-color += "perl-module-test-builder-tester"
+RDEPENDS_perl-module-text-abbrev += "perl-module-exporter"
+RDEPENDS_perl-module-text-tabs += "perl-module-exporter"
+RDEPENDS_perl-module-text-wrap += "perl-module-exporter"
+RDEPENDS_perl-module-thread += "perl-module-exporter"
+RDEPENDS_perl-module-threads += "perl-module-config"
+RDEPENDS_perl-module-threads += "perl-module-xsloader"
+RDEPENDS_perl-module-time-hires += "perl-module-dynaloader"
+RDEPENDS_perl-module-time-hires += "perl-module-exporter"
+RDEPENDS_perl-module-time-local += "perl-module-exporter"
+RDEPENDS_perl-module-time-piece += "perl-module-dynaloader"
+RDEPENDS_perl-module-time-piece += "perl-module-exporter"
+RDEPENDS_perl-module-unicode-normalize += "perl-module-dynaloader"
+RDEPENDS_perl-module-unicode-normalize += "perl-module-exporter"
+RDEPENDS_perl-module-unicode-ucd += "perl-module-exporter"
+RDEPENDS_perl-module-universal += "perl-module-exporter"
+RDEPENDS_perl-module-warnings-register += "perl-module-warnings"
diff --git a/meta/recipes-devtools/perl/perl-rdepends_5.8.8.inc b/meta/recipes-devtools/perl/perl-rdepends_5.8.8.inc
deleted file mode 100644
index 1ce5ad037..000000000
--- a/meta/recipes-devtools/perl/perl-rdepends_5.8.8.inc
+++ /dev/null
@@ -1,1145 +0,0 @@
-# To create/update the perl-rdepends_${PV}.inc use this piece of ugly script (modified for your arch/paths etc):
-# daka@DaKa2:/home/slug/slugos/tmp/work/perl-5.8.7-r14/install$ egrep -r "use|require" * | grep ";$" | egrep ".pm:use |.pm:require " | grep -v v5.6.0 | grep -v 5.00 | grep -v \$module | sed -e "s, \+, ,g" | cut -f1,2 -d" " | sed -e "s,;, ,g" | sed -e "s,(), ,g" | sed -e "s,::,-,g" | sort | uniq | tr [:upper:] [:lower:] | sed -e "s,/[^ ]\+ , += \"perl-module-,g" | sed -e "s, \?$, \",g" | sed -e "s,_,-,g" | sed -e "s,^,RDEPENDS_,g" | sed -e "s,armeb-linux,\$\{TARGET_ARCH\}-\$\{TARGET_OS\},g" | egrep -v "perl-module-5|perl-module-tk|perl-module-mac-internetconfig|perl-module-ndbm-file|perl-module-html-treebuilder|perl-module-lwp-simple|perl-module-vms-filespec|perl-module-fcgi|perl-module-vms-stdio|perl-module-mac-buildtools" > /home/slug/openembedded/packages/perl/rdepends.tmp
-
-# Some additional dependencies that the above doesn't manage to figure out
-RDEPENDS_perl-module-math-bigint += "perl-module-math-bigint-calc "
-RDEPENDS_perl-module-math-bigint-calc += "perl-module-integer "
-
-# Depends list
-RDEPENDS_perl-misc += "perl-module-exporter "
-RDEPENDS_perl-misc += "perl-module-strict "
-RDEPENDS_perl-misc += "perl-module-warnings "
-RDEPENDS_perl-module-attribute-handlers-demo-demo += "perl-module-attribute-handlers "
-RDEPENDS_perl-module-attribute-handlers-demo-descriptions += "perl-module-attribute-handlers "
-RDEPENDS_perl-module-attribute-handlers-demo-myclass += "perl-module-base "
-RDEPENDS_perl-module-attribute-handlers += "perl-module-carp "
-RDEPENDS_perl-module-attribute-handlers += "perl-module-warnings "
-RDEPENDS_perl-module-attributes += "perl-module-strict "
-RDEPENDS_perl-module-attrs += "perl-module-xsloader "
-RDEPENDS_perl-module-autoloader += "perl-module-strict "
-RDEPENDS_perl-module-autosplit += "perl-module-carp "
-RDEPENDS_perl-module-autosplit += "perl-module-config "
-RDEPENDS_perl-module-autosplit += "perl-module-exporter "
-RDEPENDS_perl-module-autosplit += "perl-module-file-basename "
-RDEPENDS_perl-module-autosplit += "perl-module-file-path "
-RDEPENDS_perl-module-autosplit += "perl-module-file-spec-functions "
-RDEPENDS_perl-module-autosplit += "perl-module-strict "
-RDEPENDS_perl-module-base += "perl-module-strict "
-RDEPENDS_perl-module-base += "perl-module-vars "
-RDEPENDS_perl-module-b-asmdata += "perl-module-exporter "
-RDEPENDS_perl-module-b-assembler += "perl-module-b "
-RDEPENDS_perl-module-b-assembler += "perl-module-b-asmdata "
-RDEPENDS_perl-module-b-assembler += "perl-module-config "
-RDEPENDS_perl-module-b-assembler += "perl-module-exporter "
-RDEPENDS_perl-module-b-assembler += "perl-module-strict "
-RDEPENDS_perl-module-b-bblock += "perl-module-b-concise "
-RDEPENDS_perl-module-b-bblock += "perl-module-exporter "
-RDEPENDS_perl-module-b-bblock += "perl-module-strict "
-RDEPENDS_perl-module-b-bytecode += "perl-module-b-asmdata "
-RDEPENDS_perl-module-b-bytecode += "perl-module-b-assembler "
-RDEPENDS_perl-module-b-bytecode += "perl-module-config "
-RDEPENDS_perl-module-b-bytecode += "perl-module-strict "
-RDEPENDS_perl-module-b-cc += "perl-module-b-bblock "
-RDEPENDS_perl-module-b-cc += "perl-module-b-stackobj "
-RDEPENDS_perl-module-b-cc += "perl-module-config "
-RDEPENDS_perl-module-b-cc += "perl-module-strict "
-RDEPENDS_perl-module-b-c += "perl-module-b "
-RDEPENDS_perl-module-b-c += "perl-module-base "
-RDEPENDS_perl-module-b-c += "perl-module-b-asmdata "
-RDEPENDS_perl-module-b-c += "perl-module-carp "
-RDEPENDS_perl-module-b-c += "perl-module-config "
-RDEPENDS_perl-module-b-c += "perl-module-exporter "
-RDEPENDS_perl-module-b-c += "perl-module-filehandle "
-RDEPENDS_perl-module-b-c += "perl-module-strict "
-RDEPENDS_perl-module-b-debug += "perl-module-b-asmdata "
-RDEPENDS_perl-module-b-debug += "perl-module-strict "
-RDEPENDS_perl-module-b-deparse += "perl-module-bytes "
-RDEPENDS_perl-module-b-deparse += "perl-module-carp "
-RDEPENDS_perl-module-b-deparse += "perl-module-integer "
-RDEPENDS_perl-module-b-deparse += "perl-module-re "
-RDEPENDS_perl-module-b-deparse += "perl-module-strict "
-RDEPENDS_perl-module-b-deparse += "perl-module-utf8 "
-RDEPENDS_perl-module-b-deparse += "perl-module-warnings "
-RDEPENDS_perl-module-b-deparse += "perl-module-warnings "
-RDEPENDS_perl-module-b-deparse += "perl-module-vars "
-RDEPENDS_perl-module-b-disassembler += "perl-module-b "
-RDEPENDS_perl-module-b-disassembler += "perl-module-b-asmdata "
-RDEPENDS_perl-module-b-disassembler += "perl-module-carp "
-RDEPENDS_perl-module-b-disassembler += "perl-module-config "
-RDEPENDS_perl-module-b-disassembler += "perl-module-exporter "
-RDEPENDS_perl-module-b-disassembler += "perl-module-filehandle "
-RDEPENDS_perl-module-b-disassembler += "perl-module-strict "
-RDEPENDS_perl-module-benchmark += "perl-module-carp "
-RDEPENDS_perl-module-benchmark += "perl-module-exporter "
-RDEPENDS_perl-module-benchmark += "perl-module-strict "
-RDEPENDS_perl-module-bigint += "perl-module-exporter "
-RDEPENDS_perl-module-bigint += "perl-module-overload "
-RDEPENDS_perl-module-bigint += "perl-module-strict "
-RDEPENDS_perl-module-bignum += "perl-module-exporter "
-RDEPENDS_perl-module-bignum += "perl-module-strict "
-RDEPENDS_perl-module-bigrat += "perl-module-exporter "
-RDEPENDS_perl-module-bigrat += "perl-module-strict "
-RDEPENDS_perl-module-blib += "perl-module-cwd "
-RDEPENDS_perl-module-blib += "perl-module-file-spec "
-RDEPENDS_perl-module-blib += "perl-module-vars "
-RDEPENDS_perl-module-b-lint += "perl-module-strict "
-RDEPENDS_perl-module-b-showlex += "perl-module-b "
-RDEPENDS_perl-module-b-showlex += "perl-module-b-concise "
-RDEPENDS_perl-module-b-showlex += "perl-module-b-terse "
-RDEPENDS_perl-module-b-showlex += "perl-module-strict "
-RDEPENDS_perl-module-b-stackobj += "perl-module-b "
-RDEPENDS_perl-module-b-stackobj += "perl-module-carp "
-RDEPENDS_perl-module-b-stackobj += "perl-module-exporter "
-RDEPENDS_perl-module-b-stackobj += "perl-module-strict "
-RDEPENDS_perl-module-b-terse += "perl-module-b "
-RDEPENDS_perl-module-b-terse += "perl-module-b-asmdata "
-RDEPENDS_perl-module-b-terse += "perl-module-b-concise "
-RDEPENDS_perl-module-b-terse += "perl-module-carp "
-RDEPENDS_perl-module-b-terse += "perl-module-strict "
-RDEPENDS_perl-module-b += "perl-module-exporter "
-RDEPENDS_perl-module-b += "perl-module-strict "
-RDEPENDS_perl-module-b += "perl-module-xsloader "
-RDEPENDS_perl-module-b-xref += "perl-module-config "
-RDEPENDS_perl-module-b-xref += "perl-module-strict "
-RDEPENDS_perl-module-byteloader += "perl-module-xsloader "
-RDEPENDS_perl-module-carp-heavy += "perl-module-carp "
-RDEPENDS_perl-module-carp += "perl-module-exporter "
-RDEPENDS_perl-module-cgi-apache += "perl-module-cgi "
-RDEPENDS_perl-module-cgi-carp += "perl-module-exporter "
-RDEPENDS_perl-module-cgi-carp += "perl-module-file-spec "
-RDEPENDS_perl-module-cgi-cookie += "perl-module-cgi-util "
-RDEPENDS_perl-module-cgi-fast += "perl-module-cgi "
-RDEPENDS_perl-module-cgi-fast += "perl-module-vars "
-RDEPENDS_perl-module-cgi-pretty += "perl-module-cgi "
-RDEPENDS_perl-module-cgi-pretty += "perl-module-strict "
-RDEPENDS_perl-module-cgi-push += "perl-module-cgi "
-RDEPENDS_perl-module-cgi-push += "perl-module-cgi-util "
-RDEPENDS_perl-module-cgi-switch += "perl-module-cgi "
-RDEPENDS_perl-module-cgi += "perl-module-carp "
-RDEPENDS_perl-module-cgi += "perl-module-cgi-util "
-RDEPENDS_perl-module-cgi += "perl-module-constant "
-RDEPENDS_perl-module-cgi-util += "perl-module-exporter "
-RDEPENDS_perl-module-cgi-util += "perl-module-strict "
-RDEPENDS_perl-module-cgi-util += "perl-module-vars "
-RDEPENDS_perl-module-charnames += "perl-module-carp "
-RDEPENDS_perl-module-charnames += "perl-module-file-spec "
-RDEPENDS_perl-module-charnames += "perl-module-strict "
-RDEPENDS_perl-module-charnames += "perl-module-warnings "
-RDEPENDS_perl-module-class-isa += "perl-module-strict "
-RDEPENDS_perl-module-class-isa += "perl-module-vars "
-RDEPENDS_perl-module-class-struct += "perl-module-exporter "
-RDEPENDS_perl-module-class-struct += "perl-module-carp "
-RDEPENDS_perl-module-class-struct += "perl-module-strict "
-RDEPENDS_perl-module-class-struct += "perl-module-warnings-register "
-RDEPENDS_perl-module-config += "perl-module-strict "
-RDEPENDS_perl-module-constant += "perl-module-strict "
-RDEPENDS_perl-module-constant += "perl-module-warnings-register "
-RDEPENDS_perl-module-cpan-firsttime += "perl-module-extutils-makemaker "
-RDEPENDS_perl-module-cpan-firsttime += "perl-module-file-basename "
-RDEPENDS_perl-module-cpan-firsttime += "perl-module-filehandle "
-RDEPENDS_perl-module-cpan-firsttime += "perl-module-file-path "
-RDEPENDS_perl-module-cpan-firsttime += "perl-module-file-spec "
-RDEPENDS_perl-module-cpan-firsttime += "perl-module-strict "
-RDEPENDS_perl-module-cpan-firsttime += "perl-module-vars "
-RDEPENDS_perl-module-cpan-nox += "perl-module-base "
-RDEPENDS_perl-module-cpan-nox += "perl-module-cpan "
-RDEPENDS_perl-module-cpan-nox += "perl-module-strict "
-RDEPENDS_perl-module-cpan-nox += "perl-module-vars "
-RDEPENDS_perl-module-cpan += "perl-module-carp "
-RDEPENDS_perl-module-cpan += "perl-module-config "
-RDEPENDS_perl-module-cpan += "perl-module-cwd "
-RDEPENDS_perl-module-cpan += "perl-module-dirhandle "
-RDEPENDS_perl-module-cpan += "perl-module-exporter "
-RDEPENDS_perl-module-cpan += "perl-module-extutils-makemaker "
-RDEPENDS_perl-module-cpan += "perl-module-extutils-makemaker "
-RDEPENDS_perl-module-cpan += "perl-module-file-basename "
-RDEPENDS_perl-module-cpan += "perl-module-file-copy "
-RDEPENDS_perl-module-cpan += "perl-module-file-find "
-RDEPENDS_perl-module-cpan += "perl-module-filehandle "
-RDEPENDS_perl-module-cpan += "perl-module-file-path "
-RDEPENDS_perl-module-cpan += "perl-module-file-spec "
-RDEPENDS_perl-module-cpan += "perl-module-overload "
-RDEPENDS_perl-module-cpan += "perl-module-safe "
-RDEPENDS_perl-module-cpan += "perl-module-strict "
-RDEPENDS_perl-module-cpan += "perl-module-sys-hostname "
-RDEPENDS_perl-module-cpan += "perl-module-text-parsewords "
-RDEPENDS_perl-module-cpan += "perl-module-text-wrap "
-RDEPENDS_perl-module-cpan += "perl-module-vars "
-RDEPENDS_perl-module-cwd += "perl-module-exporter "
-RDEPENDS_perl-module-cwd += "perl-module-strict "
-RDEPENDS_perl-module-cwd += "perl-module-vars "
-RDEPENDS_perl-module-data-dumper += "perl-module-exporter "
-RDEPENDS_perl-module-data-dumper += "perl-module-overload "
-RDEPENDS_perl-module-data-dumper += "perl-module-carp "
-RDEPENDS_perl-module-dbm-filter-compress += "perl-module-carp "
-RDEPENDS_perl-module-dbm-filter-compress += "perl-module-strict "
-RDEPENDS_perl-module-dbm-filter-compress += "perl-module-warnings "
-RDEPENDS_perl-module-dbm-filter-encode += "perl-module-carp "
-RDEPENDS_perl-module-dbm-filter-encode += "perl-module-strict "
-RDEPENDS_perl-module-dbm-filter-encode += "perl-module-warnings "
-RDEPENDS_perl-module-dbm-filter-int32 += "perl-module-strict "
-RDEPENDS_perl-module-dbm-filter-int32 += "perl-module-warnings "
-RDEPENDS_perl-module-dbm-filter-null += "perl-module-strict "
-RDEPENDS_perl-module-dbm-filter-null += "perl-module-warnings "
-RDEPENDS_perl-module-dbm-filter += "perl-module-carp "
-RDEPENDS_perl-module-dbm-filter += "perl-module-strict "
-RDEPENDS_perl-module-dbm-filter += "perl-module-warnings "
-RDEPENDS_perl-module-dbm-filter-utf8 += "perl-module-carp "
-RDEPENDS_perl-module-dbm-filter-utf8 += "perl-module-strict "
-RDEPENDS_perl-module-dbm-filter-utf8 += "perl-module-warnings "
-RDEPENDS_perl-module-devel-dprof += "perl-module-xsloader "
-RDEPENDS_perl-module-devel-peek += "perl-module-exporter "
-RDEPENDS_perl-module-devel-peek += "perl-module-xsloader "
-RDEPENDS_perl-module-devel-ppport += "perl-module-dynaloader "
-RDEPENDS_perl-module-devel-ppport += "perl-module-strict "
-RDEPENDS_perl-module-devel-ppport += "perl-module-vars "
-RDEPENDS_perl-module-devel-selfstubber += "perl-module-selfloader "
-RDEPENDS_perl-module-devel-selfstubber += "perl-module-file-spec "
-RDEPENDS_perl-module-diagnostics += "perl-module-carp "
-RDEPENDS_perl-module-diagnostics += "perl-module-config "
-RDEPENDS_perl-module-diagnostics += "perl-module-strict "
-RDEPENDS_perl-module-digest-base += "perl-module-strict "
-RDEPENDS_perl-module-digest-base += "perl-module-vars "
-RDEPENDS_perl-module-digest-file += "perl-module-carp "
-RDEPENDS_perl-module-digest-file += "perl-module-digest "
-RDEPENDS_perl-module-digest-file += "perl-module-exporter "
-RDEPENDS_perl-module-digest-file += "perl-module-strict "
-RDEPENDS_perl-module-digest-file += "perl-module-vars "
-RDEPENDS_perl-module-digest-md5 += "perl-module-dynaloader "
-RDEPENDS_perl-module-digest-md5 += "perl-module-exporter "
-RDEPENDS_perl-module-digest-md5 += "perl-module-strict "
-RDEPENDS_perl-module-digest-md5 += "perl-module-vars "
-RDEPENDS_perl-module-digest += "perl-module-strict "
-RDEPENDS_perl-module-digest += "perl-module-vars "
-RDEPENDS_perl-module-dirhandle += "perl-module-carp "
-RDEPENDS_perl-module-dirhandle += "perl-module-symbol "
-RDEPENDS_perl-module-dumpvalue += "perl-module-strict "
-RDEPENDS_perl-module-dynaloader += "perl-module-autoloader "
-RDEPENDS_perl-module-dynaloader += "perl-module-config "
-RDEPENDS_perl-module-dynaloader += "perl-module-vars "
-RDEPENDS_perl-module-encode-alias += "perl-module-base "
-RDEPENDS_perl-module-encode-alias += "perl-module-encode "
-RDEPENDS_perl-module-encode-alias += "perl-module-strict "
-RDEPENDS_perl-module-encode-byte += "perl-module-encode "
-RDEPENDS_perl-module-encode-byte += "perl-module-xsloader "
-RDEPENDS_perl-module-encode-cjkconstants += "perl-module-exporter "
-RDEPENDS_perl-module-encode-cjkconstants += "perl-module-carp "
-RDEPENDS_perl-module-encode-cjkconstants += "perl-module-strict "
-RDEPENDS_perl-module-encode-cn-hz += "perl-module-base "
-RDEPENDS_perl-module-encode-cn-hz += "perl-module-encode "
-RDEPENDS_perl-module-encode-cn-hz += "perl-module-strict "
-RDEPENDS_perl-module-encode-cn-hz += "perl-module-vars "
-RDEPENDS_perl-module-encode-cn += "perl-module-encode "
-RDEPENDS_perl-module-encode-cn += "perl-module-encode-cn-hz "
-RDEPENDS_perl-module-encode-cn += "perl-module-xsloader "
-RDEPENDS_perl-module-encode-config += "perl-module-strict "
-RDEPENDS_perl-module-encode-ebcdic += "perl-module-encode "
-RDEPENDS_perl-module-encode-ebcdic += "perl-module-xsloader "
-RDEPENDS_perl-module-encode-encoder += "perl-module-exporter "
-RDEPENDS_perl-module-encode-encoder += "perl-module-carp "
-RDEPENDS_perl-module-encode-encoder += "perl-module-encode "
-RDEPENDS_perl-module-encode-encoder += "perl-module-strict "
-RDEPENDS_perl-module-encode-encoder += "perl-module-warnings "
-RDEPENDS_perl-module-encode-encoding += "perl-module-encode "
-RDEPENDS_perl-module-encode-encoding += "perl-module-strict "
-RDEPENDS_perl-module-encode-guess += "perl-module-base "
-RDEPENDS_perl-module-encode-guess += "perl-module-encode "
-RDEPENDS_perl-module-encode-guess += "perl-module-strict "
-RDEPENDS_perl-module-encode-jp-h2z += "perl-module-encode-cjkconstants "
-RDEPENDS_perl-module-encode-jp-h2z += "perl-module-strict "
-RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-base "
-RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode "
-RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode-cjkconstants "
-RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-strict "
-RDEPENDS_perl-module-encode-jp += "perl-module-encode "
-RDEPENDS_perl-module-encode-jp += "perl-module-encode-jp-jis7 "
-RDEPENDS_perl-module-encode-jp += "perl-module-xsloader "
-RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-base "
-RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-encode "
-RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-encode-cjkconstants "
-RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-strict "
-RDEPENDS_perl-module-encode-kr += "perl-module-encode "
-RDEPENDS_perl-module-encode-kr += "perl-module-encode-kr-2022-kr "
-RDEPENDS_perl-module-encode-kr += "perl-module-xsloader "
-RDEPENDS_perl-module-encode-mime-header += "perl-module-base "
-RDEPENDS_perl-module-encode-mime-header += "perl-module-carp "
-RDEPENDS_perl-module-encode-mime-header += "perl-module-constant "
-RDEPENDS_perl-module-encode-mime-header += "perl-module-encode "
-RDEPENDS_perl-module-encode-mime-header += "perl-module-mime-base64 "
-RDEPENDS_perl-module-encode-mime-header += "perl-module-strict "
-RDEPENDS_perl-module-encode-symbol += "perl-module-encode "
-RDEPENDS_perl-module-encode-symbol += "perl-module-xsloader "
-RDEPENDS_perl-module-encode-tw += "perl-module-encode "
-RDEPENDS_perl-module-encode-tw += "perl-module-xsloader "
-RDEPENDS_perl-module-encode-unicode += "perl-module-encode "
-RDEPENDS_perl-module-encode-unicode += "perl-module-base "
-RDEPENDS_perl-module-encode-unicode += "perl-module-strict "
-RDEPENDS_perl-module-encode-unicode += "perl-module-warnings "
-RDEPENDS_perl-module-encode-unicode += "perl-module-xsloader "
-RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-base "
-RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-encode "
-RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-mime-base64 "
-RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-strict "
-RDEPENDS_perl-module-encode += "perl-module-encode-config "
-RDEPENDS_perl-module-encode += "perl-module-exporter "
-RDEPENDS_perl-module-encode += "perl-module-base "
-RDEPENDS_perl-module-encode += "perl-module-encode-alias "
-RDEPENDS_perl-module-encode += "perl-module-strict "
-RDEPENDS_perl-module-encode += "perl-module-xsloader "
-RDEPENDS_perl-module-encoding += "perl-module-encode "
-RDEPENDS_perl-module-encoding += "perl-module-strict "
-RDEPENDS_perl-module-english += "perl-module-exporter "
-RDEPENDS_perl-module-env += "perl-module-config "
-RDEPENDS_perl-module-env += "perl-module-tie-array "
-RDEPENDS_perl-module-errno += "perl-module-config "
-RDEPENDS_perl-module-errno += "perl-module-exporter "
-RDEPENDS_perl-module-errno += "perl-module-strict "
-RDEPENDS_perl-module-exporter-heavy += "perl-module-exporter "
-RDEPENDS_perl-module-exporter-heavy += "perl-module-strict "
-RDEPENDS_perl-module-extutils-command-mm += "perl-module-exporter "
-RDEPENDS_perl-module-extutils-command-mm += "perl-module-strict "
-RDEPENDS_perl-module-extutils-command-mm += "perl-module-vars "
-RDEPENDS_perl-module-extutils-command += "perl-module-exporter "
-RDEPENDS_perl-module-extutils-command += "perl-module-carp "
-RDEPENDS_perl-module-extutils-command += "perl-module-file-basename "
-RDEPENDS_perl-module-extutils-command += "perl-module-file-compare "
-RDEPENDS_perl-module-extutils-command += "perl-module-file-copy "
-RDEPENDS_perl-module-extutils-command += "perl-module-file-path "
-RDEPENDS_perl-module-extutils-command += "perl-module-strict "
-RDEPENDS_perl-module-extutils-command += "perl-module-vars "
-RDEPENDS_perl-module-extutils-constant-base += "perl-module-carp "
-RDEPENDS_perl-module-extutils-constant-base += "perl-module-extutils-constant-utils "
-RDEPENDS_perl-module-extutils-constant-base += "perl-module-strict "
-RDEPENDS_perl-module-extutils-constant-base += "perl-module-text-wrap "
-RDEPENDS_perl-module-extutils-constant-base += "perl-module-vars "
-RDEPENDS_perl-module-extutils-constant += "perl-module-carp "
-RDEPENDS_perl-module-extutils-constant += "perl-module-exporter "
-RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-utils "
-RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-xs "
-RDEPENDS_perl-module-extutils-constant += "perl-module-strict "
-RDEPENDS_perl-module-extutils-constant += "perl-module-vars "
-RDEPENDS_perl-module-extutils-constant-utils += "perl-module-carp "
-RDEPENDS_perl-module-extutils-constant-utils += "perl-module-strict "
-RDEPENDS_perl-module-extutils-constant-utils += "perl-module-vars "
-RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-base "
-RDEPENDS_perl-module-extutils-constant-xs += "perl-module-carp "
-RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant "
-RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-utils "
-RDEPENDS_perl-module-extutils-constant-xs += "perl-module-strict "
-RDEPENDS_perl-module-extutils-constant-xs += "perl-module-vars "
-RDEPENDS_perl-module-extutils-embed += "perl-module-exporter "
-RDEPENDS_perl-module-extutils-embed += "perl-module-filehandle "
-RDEPENDS_perl-module-extutils-embed += "perl-module-config "
-RDEPENDS_perl-module-extutils-embed += "perl-module-file-spec "
-RDEPENDS_perl-module-extutils-embed += "perl-module-getopt-std "
-RDEPENDS_perl-module-extutils-embed += "perl-module-strict "
-RDEPENDS_perl-module-extutils-installed += "perl-module-carp "
-RDEPENDS_perl-module-extutils-installed += "perl-module-config "
-RDEPENDS_perl-module-extutils-installed += "perl-module-extutils-makemaker "
-RDEPENDS_perl-module-extutils-installed += "perl-module-extutils-packlist "
-RDEPENDS_perl-module-extutils-installed += "perl-module-file-basename "
-RDEPENDS_perl-module-extutils-installed += "perl-module-file-find "
-RDEPENDS_perl-module-extutils-installed += "perl-module-file-spec "
-RDEPENDS_perl-module-extutils-installed += "perl-module-strict "
-RDEPENDS_perl-module-extutils-installed += "perl-module-vars "
-RDEPENDS_perl-module-extutils-install += "perl-module-carp "
-RDEPENDS_perl-module-extutils-install += "perl-module-config "
-RDEPENDS_perl-module-extutils-install += "perl-module-exporter "
-RDEPENDS_perl-module-extutils-install += "perl-module-file-spec "
-RDEPENDS_perl-module-extutils-install += "perl-module-vars "
-RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-config "
-RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-cwd "
-RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-file-basename "
-RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-file-spec "
-RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-strict "
-RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-vars "
-RDEPENDS_perl-module-extutils-liblist += "perl-module-extutils-liblist-kid "
-RDEPENDS_perl-module-extutils-liblist += "perl-module-file-spec "
-RDEPENDS_perl-module-extutils-liblist += "perl-module-vars "
-RDEPENDS_perl-module-extutils-makemaker-bytes += "perl-module-vars "
-RDEPENDS_perl-module-extutils-makemaker += "perl-module-exporter "
-RDEPENDS_perl-module-extutils-makemaker += "perl-module-carp "
-RDEPENDS_perl-module-extutils-makemaker += "perl-module-config "
-RDEPENDS_perl-module-extutils-makemaker += "perl-module-file-path "
-RDEPENDS_perl-module-extutils-makemaker += "perl-module-strict "
-RDEPENDS_perl-module-extutils-makemaker-vmsish += "perl-module-vmsish "
-RDEPENDS_perl-module-extutils-makemaker-vmsish += "perl-module-vars "
-RDEPENDS_perl-module-extutils-manifest += "perl-module-exporter "
-RDEPENDS_perl-module-extutils-manifest += "perl-module-carp "
-RDEPENDS_perl-module-extutils-manifest += "perl-module-config "
-RDEPENDS_perl-module-extutils-manifest += "perl-module-file-copy "
-RDEPENDS_perl-module-extutils-manifest += "perl-module-file-find "
-RDEPENDS_perl-module-extutils-manifest += "perl-module-file-spec "
-RDEPENDS_perl-module-extutils-manifest += "perl-module-strict "
-RDEPENDS_perl-module-extutils-miniperl += "perl-module-exporter "
-RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-config "
-RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-exporter "
-RDEPENDS_perl-module-extutils-mksymlists += "perl-module-carp "
-RDEPENDS_perl-module-extutils-mksymlists += "perl-module-config "
-RDEPENDS_perl-module-extutils-mksymlists += "perl-module-exporter "
-RDEPENDS_perl-module-extutils-mksymlists += "perl-module-strict "
-RDEPENDS_perl-module-extutils-mksymlists += "perl-module-vars "
-RDEPENDS_perl-module-extutils-mm-any += "perl-module-config "
-RDEPENDS_perl-module-extutils-mm-any += "perl-module-file-spec "
-RDEPENDS_perl-module-extutils-mm-any += "perl-module-strict "
-RDEPENDS_perl-module-extutils-mm-any += "perl-module-vars "
-RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-any "
-RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-unix "
-RDEPENDS_perl-module-extutils-mm-beos += "perl-module-config "
-RDEPENDS_perl-module-extutils-mm-beos += "perl-module-file-spec "
-RDEPENDS_perl-module-extutils-mm-beos += "perl-module-vars "
-RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-mm-any "
-RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-mm-unix "
-RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-config "
-RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-file-spec "
-RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-strict "
-RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-vars "
-RDEPENDS_perl-module-extutils-mm-dos += "perl-module-extutils-mm-any "
-RDEPENDS_perl-module-extutils-mm-dos += "perl-module-extutils-mm-unix "
-RDEPENDS_perl-module-extutils-mm-dos += "perl-module-strict "
-RDEPENDS_perl-module-extutils-mm-dos += "perl-module-vars "
-RDEPENDS_perl-module-extutils-mm-macos += "perl-module-exporter "
-RDEPENDS_perl-module-extutils-mm-macos += "perl-module-extutils-mm-any "
-RDEPENDS_perl-module-extutils-mm-macos += "perl-module-extutils-mm-unix "
-RDEPENDS_perl-module-extutils-mm-macos += "perl-module-config "
-RDEPENDS_perl-module-extutils-mm-macos += "perl-module-cwd "
-RDEPENDS_perl-module-extutils-mm-macos += "perl-module-extutils-makemaker "
-RDEPENDS_perl-module-extutils-mm-macos += "perl-module-file-basename "
-RDEPENDS_perl-module-extutils-mm-macos += "perl-module-vars "
-RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-mm-win32 "
-RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-config "
-RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-makemaker "
-RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-file-basename "
-RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-strict "
-RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-vars "
-RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-any "
-RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-unix "
-RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-makemaker "
-RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-file-spec "
-RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-strict "
-RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-vars "
-RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-mm-any "
-RDEPENDS_perl-module-extutils-mm-unix += "perl-module-carp "
-RDEPENDS_perl-module-extutils-mm-unix += "perl-module-config "
-RDEPENDS_perl-module-extutils-mm-unix += "perl-module-dirhandle "
-RDEPENDS_perl-module-extutils-mm-unix += "perl-module-exporter "
-RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-makemaker "
-RDEPENDS_perl-module-extutils-mm-unix += "perl-module-file-basename "
-RDEPENDS_perl-module-extutils-mm-unix += "perl-module-strict "
-RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-liblist "
-RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-makemaker "
-RDEPENDS_perl-module-extutils-mm += "perl-module-config "
-RDEPENDS_perl-module-extutils-mm += "perl-module-strict "
-RDEPENDS_perl-module-extutils-mm += "perl-module-vars "
-RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-extutils-mm-unix "
-RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-strict "
-RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-vars "
-RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-mm-any "
-RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-mm-unix "
-RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-config "
-RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-makemaker "
-RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-file-basename "
-RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-file-spec "
-RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-strict "
-RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-vars "
-RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-extutils-mm-win32 "
-RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-config "
-RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-vars "
-RDEPENDS_perl-module-extutils-mm-vms += "perl-module-exporter "
-RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-mm-any "
-RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-mm-unix "
-RDEPENDS_perl-module-extutils-mm-vms += "perl-module-config "
-RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-makemaker "
-RDEPENDS_perl-module-extutils-mm-vms += "perl-module-file-basename "
-RDEPENDS_perl-module-extutils-mm-vms += "perl-module-strict "
-RDEPENDS_perl-module-extutils-mm-vms += "perl-module-vars "
-RDEPENDS_perl-module-extutils-my += "perl-module-extutils-mm "
-RDEPENDS_perl-module-extutils-my += "perl-module-strict "
-RDEPENDS_perl-module-extutils-my += "perl-module-vars "
-RDEPENDS_perl-module-extutils-packlist += "perl-module-carp "
-RDEPENDS_perl-module-extutils-packlist += "perl-module-strict "
-RDEPENDS_perl-module-extutils-packlist += "perl-module-vars "
-RDEPENDS_perl-module-extutils-testlib += "perl-module-cwd "
-RDEPENDS_perl-module-extutils-testlib += "perl-module-file-spec "
-RDEPENDS_perl-module-extutils-testlib += "perl-module-lib "
-RDEPENDS_perl-module-fatal += "perl-module-carp "
-RDEPENDS_perl-module-fatal += "perl-module-strict "
-RDEPENDS_perl-module-fcntl += "perl-module-exporter "
-RDEPENDS_perl-module-fcntl += "perl-module-xsloader "
-RDEPENDS_perl-module-fields += "perl-module-strict "
-RDEPENDS_perl-module-fields += "perl-module-vars "
-RDEPENDS_perl-module-file-basename += "perl-module-exporter "
-RDEPENDS_perl-module-file-basename += "perl-module-warnings "
-RDEPENDS_perl-module-filecache += "perl-module-base "
-RDEPENDS_perl-module-filecache += "perl-module-carp "
-RDEPENDS_perl-module-filecache += "perl-module-config "
-RDEPENDS_perl-module-filecache += "perl-module-strict "
-RDEPENDS_perl-module-filecache += "perl-module-vars "
-RDEPENDS_perl-module-file-checktree += "perl-module-cwd "
-RDEPENDS_perl-module-file-checktree += "perl-module-exporter "
-RDEPENDS_perl-module-file-checktree += "perl-module-file-spec "
-RDEPENDS_perl-module-file-checktree += "perl-module-strict "
-RDEPENDS_perl-module-file-checktree += "perl-module-warnings "
-RDEPENDS_perl-module-file-compare += "perl-module-exporter "
-RDEPENDS_perl-module-file-compare += "perl-module-carp "
-RDEPENDS_perl-module-file-compare += "perl-module-strict "
-RDEPENDS_perl-module-file-compare += "perl-module-warnings "
-RDEPENDS_perl-module-file-copy += "perl-module-exporter "
-RDEPENDS_perl-module-file-copy += "perl-module-carp "
-RDEPENDS_perl-module-file-copy += "perl-module-config "
-RDEPENDS_perl-module-file-copy += "perl-module-file-spec "
-RDEPENDS_perl-module-file-copy += "perl-module-strict "
-RDEPENDS_perl-module-file-copy += "perl-module-warnings "
-RDEPENDS_perl-module-file-dosglob += "perl-module-strict "
-RDEPENDS_perl-module-file-dosglob += "perl-module-warnings "
-RDEPENDS_perl-module-file-find += "perl-module-cwd "
-RDEPENDS_perl-module-file-find += "perl-module-exporter "
-RDEPENDS_perl-module-file-find += "perl-module-file-basename "
-RDEPENDS_perl-module-file-find += "perl-module-file-spec "
-RDEPENDS_perl-module-file-find += "perl-module-strict "
-RDEPENDS_perl-module-file-find += "perl-module-warnings "
-RDEPENDS_perl-module-file-find += "perl-module-warnings-register "
-RDEPENDS_perl-module-file-glob += "perl-module-strict "
-RDEPENDS_perl-module-file-glob += "perl-module-xsloader "
-RDEPENDS_perl-module-filehandle += "perl-module-io-file "
-RDEPENDS_perl-module-filehandle += "perl-module-strict "
-RDEPENDS_perl-module-file-path += "perl-module-carp "
-RDEPENDS_perl-module-file-path += "perl-module-exporter "
-RDEPENDS_perl-module-file-path += "perl-module-file-basename "
-RDEPENDS_perl-module-file-path += "perl-module-strict "
-RDEPENDS_perl-module-file-path += "perl-module-warnings "
-RDEPENDS_perl-module-file-spec-cygwin += "perl-module-file-spec-unix "
-RDEPENDS_perl-module-file-spec-cygwin += "perl-module-strict "
-RDEPENDS_perl-module-file-spec-cygwin += "perl-module-vars "
-RDEPENDS_perl-module-file-spec-epoc += "perl-module-file-spec-unix "
-RDEPENDS_perl-module-file-spec-epoc += "perl-module-strict "
-RDEPENDS_perl-module-file-spec-epoc += "perl-module-vars "
-RDEPENDS_perl-module-file-spec-functions += "perl-module-exporter "
-RDEPENDS_perl-module-file-spec-functions += "perl-module-file-spec "
-RDEPENDS_perl-module-file-spec-functions += "perl-module-strict "
-RDEPENDS_perl-module-file-spec-functions += "perl-module-vars "
-RDEPENDS_perl-module-file-spec-mac += "perl-module-file-spec-unix "
-RDEPENDS_perl-module-file-spec-mac += "perl-module-strict "
-RDEPENDS_perl-module-file-spec-mac += "perl-module-vars "
-RDEPENDS_perl-module-file-spec-os2 += "perl-module-file-spec-unix "
-RDEPENDS_perl-module-file-spec-os2 += "perl-module-strict "
-RDEPENDS_perl-module-file-spec-os2 += "perl-module-vars "
-RDEPENDS_perl-module-file-spec-unix += "perl-module-strict "
-RDEPENDS_perl-module-file-spec-unix += "perl-module-vars "
-RDEPENDS_perl-module-file-spec += "perl-module-strict "
-RDEPENDS_perl-module-file-spec += "perl-module-vars "
-RDEPENDS_perl-module-file-spec-win32 += "perl-module-file-spec-unix "
-RDEPENDS_perl-module-file-spec-win32 += "perl-module-strict "
-RDEPENDS_perl-module-file-spec-win32 += "perl-module-vars "
-RDEPENDS_perl-module-file-spec-vms += "perl-module-file-spec-unix "
-RDEPENDS_perl-module-file-spec-vms += "perl-module-file-basename "
-RDEPENDS_perl-module-file-spec-vms += "perl-module-strict "
-RDEPENDS_perl-module-file-spec-vms += "perl-module-vars "
-RDEPENDS_perl-module-file-stat += "perl-module-class-struct "
-RDEPENDS_perl-module-file-stat += "perl-module-strict "
-RDEPENDS_perl-module-file-stat += "perl-module-warnings "
-RDEPENDS_perl-module-file-stat += "perl-module-vars "
-RDEPENDS_perl-module-file-temp += "perl-module-base "
-RDEPENDS_perl-module-file-temp += "perl-module-carp "
-RDEPENDS_perl-module-file-temp += "perl-module-constant "
-RDEPENDS_perl-module-file-temp += "perl-module-errno "
-RDEPENDS_perl-module-file-temp += "perl-module-fcntl "
-RDEPENDS_perl-module-file-temp += "perl-module-file-path "
-RDEPENDS_perl-module-file-temp += "perl-module-file-spec "
-RDEPENDS_perl-module-file-temp += "perl-module-overload "
-RDEPENDS_perl-module-file-temp += "perl-module-strict "
-RDEPENDS_perl-module-file-temp += "perl-module-vars "
-RDEPENDS_perl-module-filter-simple += "perl-module-carp "
-RDEPENDS_perl-module-filter-simple += "perl-module-filter-util-call "
-RDEPENDS_perl-module-filter-simple += "perl-module-text-balanced "
-RDEPENDS_perl-module-filter-simple += "perl-module-vars "
-RDEPENDS_perl-module-filter-util-call += "perl-module-dynaloader "
-RDEPENDS_perl-module-filter-util-call += "perl-module-exporter "
-RDEPENDS_perl-module-filter-util-call += "perl-module-carp "
-RDEPENDS_perl-module-filter-util-call += "perl-module-strict "
-RDEPENDS_perl-module-filter-util-call += "perl-module-warnings "
-RDEPENDS_perl-module-filter-util-call += "perl-module-vars "
-RDEPENDS_perl-module-findbin += "perl-module-exporter "
-RDEPENDS_perl-module-findbin += "perl-module-carp "
-RDEPENDS_perl-module-findbin += "perl-module-config "
-RDEPENDS_perl-module-findbin += "perl-module-cwd "
-RDEPENDS_perl-module-findbin += "perl-module-file-basename "
-RDEPENDS_perl-module-findbin += "perl-module-file-spec "
-RDEPENDS_perl-module-getopt-long += "perl-module-constant "
-RDEPENDS_perl-module-getopt-long += "perl-module-exporter "
-RDEPENDS_perl-module-getopt-long += "perl-module-strict "
-RDEPENDS_perl-module-getopt-long += "perl-module-vars "
-RDEPENDS_perl-module-getopt-std += "perl-module-exporter "
-RDEPENDS_perl-module-hash-util += "perl-module-exporter "
-RDEPENDS_perl-module-hash-util += "perl-module-carp "
-RDEPENDS_perl-module-hash-util += "perl-module-strict "
-RDEPENDS_perl-module-i18n-collate += "perl-module-exporter "
-RDEPENDS_perl-module-i18n-collate += "perl-module-posix "
-RDEPENDS_perl-module-i18n-collate += "perl-module-strict "
-RDEPENDS_perl-module-i18n-collate += "perl-module-warnings-register "
-RDEPENDS_perl-module-i18n-langinfo += "perl-module-dynaloader "
-RDEPENDS_perl-module-i18n-langinfo += "perl-module-exporter "
-RDEPENDS_perl-module-i18n-langinfo += "perl-module-autoloader "
-RDEPENDS_perl-module-i18n-langinfo += "perl-module-carp "
-RDEPENDS_perl-module-i18n-langinfo += "perl-module-strict "
-RDEPENDS_perl-module-i18n-langinfo += "perl-module-warnings "
-RDEPENDS_perl-module-i18n-langtags-detect += "perl-module-i18n-langtags "
-RDEPENDS_perl-module-i18n-langtags-detect += "perl-module-strict "
-RDEPENDS_perl-module-i18n-langtags-list += "perl-module-strict "
-RDEPENDS_perl-module-i18n-langtags-list += "perl-module-vars "
-RDEPENDS_perl-module-i18n-langtags += "perl-module-exporter "
-RDEPENDS_perl-module-i18n-langtags += "perl-module-strict "
-RDEPENDS_perl-module-i18n-langtags += "perl-module-vars "
-RDEPENDS_perl-module-io-dir += "perl-module-carp "
-RDEPENDS_perl-module-io-dir += "perl-module-exporter "
-RDEPENDS_perl-module-io-dir += "perl-module-file-spec "
-RDEPENDS_perl-module-io-dir += "perl-module-file-stat "
-RDEPENDS_perl-module-io-dir += "perl-module-io-file "
-RDEPENDS_perl-module-io-dir += "perl-module-strict "
-RDEPENDS_perl-module-io-dir += "perl-module-symbol "
-RDEPENDS_perl-module-io-dir += "perl-module-tie-hash "
-RDEPENDS_perl-module-io-file += "perl-module-exporter "
-RDEPENDS_perl-module-io-file += "perl-module-carp "
-RDEPENDS_perl-module-io-file += "perl-module-file-spec "
-RDEPENDS_perl-module-io-file += "perl-module-io-seekable "
-RDEPENDS_perl-module-io-file += "perl-module-selectsaver "
-RDEPENDS_perl-module-io-file += "perl-module-strict "
-RDEPENDS_perl-module-io-file += "perl-module-symbol "
-RDEPENDS_perl-module-io-handle += "perl-module-exporter "
-RDEPENDS_perl-module-io-handle += "perl-module-carp "
-RDEPENDS_perl-module-io-handle += "perl-module-selectsaver "
-RDEPENDS_perl-module-io-handle += "perl-module-strict "
-RDEPENDS_perl-module-io-handle += "perl-module-symbol "
-RDEPENDS_perl-module-io-pipe += "perl-module-carp "
-RDEPENDS_perl-module-io-pipe += "perl-module-io-handle "
-RDEPENDS_perl-module-io-pipe += "perl-module-strict "
-RDEPENDS_perl-module-io-pipe += "perl-module-symbol "
-RDEPENDS_perl-module-io-poll += "perl-module-exporter "
-RDEPENDS_perl-module-io-poll += "perl-module-io-handle "
-RDEPENDS_perl-module-io-poll += "perl-module-strict "
-RDEPENDS_perl-module-io-seekable += "perl-module-exporter "
-RDEPENDS_perl-module-io-seekable += "perl-module-carp "
-RDEPENDS_perl-module-io-seekable += "perl-module-fcntl "
-RDEPENDS_perl-module-io-seekable += "perl-module-io-handle "
-RDEPENDS_perl-module-io-seekable += "perl-module-strict "
-RDEPENDS_perl-module-io-select += "perl-module-exporter "
-RDEPENDS_perl-module-io-select += "perl-module-strict "
-RDEPENDS_perl-module-io-select += "perl-module-warnings-register "
-RDEPENDS_perl-module-io-select += "perl-module-vars "
-RDEPENDS_perl-module-io-socket-inet += "perl-module-carp "
-RDEPENDS_perl-module-io-socket-inet += "perl-module-errno "
-RDEPENDS_perl-module-io-socket-inet += "perl-module-exporter "
-RDEPENDS_perl-module-io-socket-inet += "perl-module-io-socket "
-RDEPENDS_perl-module-io-socket-inet += "perl-module-socket "
-RDEPENDS_perl-module-io-socket-inet += "perl-module-strict "
-RDEPENDS_perl-module-io-socket-unix += "perl-module-carp "
-RDEPENDS_perl-module-io-socket-unix += "perl-module-io-socket "
-RDEPENDS_perl-module-io-socket-unix += "perl-module-socket "
-RDEPENDS_perl-module-io-socket-unix += "perl-module-strict "
-RDEPENDS_perl-module-io-socket += "perl-module-io-socket-inet "
-RDEPENDS_perl-module-io-socket += "perl-module-io-socket-unix "
-RDEPENDS_perl-module-io-socket += "perl-module-carp "
-RDEPENDS_perl-module-io-socket += "perl-module-errno "
-RDEPENDS_perl-module-io-socket += "perl-module-exporter "
-RDEPENDS_perl-module-io-socket += "perl-module-io-handle "
-RDEPENDS_perl-module-io-socket += "perl-module-socket "
-RDEPENDS_perl-module-io-socket += "perl-module-strict "
-RDEPENDS_perl-module-io += "perl-module-carp "
-RDEPENDS_perl-module-io += "perl-module-strict "
-RDEPENDS_perl-module-io += "perl-module-warnings "
-RDEPENDS_perl-module-io += "perl-module-xsloader "
-RDEPENDS_perl-module-ipc-msg += "perl-module-carp "
-RDEPENDS_perl-module-ipc-msg += "perl-module-ipc-sysv "
-RDEPENDS_perl-module-ipc-msg += "perl-module-strict "
-RDEPENDS_perl-module-ipc-msg += "perl-module-vars "
-RDEPENDS_perl-module-ipc-open2 += "perl-module-exporter "
-RDEPENDS_perl-module-ipc-open2 += "perl-module-ipc-open3 "
-RDEPENDS_perl-module-ipc-open2 += "perl-module-strict "
-RDEPENDS_perl-module-ipc-open3 += "perl-module-exporter "
-RDEPENDS_perl-module-ipc-open3 += "perl-module-carp "
-RDEPENDS_perl-module-ipc-open3 += "perl-module-strict "
-RDEPENDS_perl-module-ipc-open3 += "perl-module-symbol "
-RDEPENDS_perl-module-ipc-semaphore += "perl-module-carp "
-RDEPENDS_perl-module-ipc-semaphore += "perl-module-strict "
-RDEPENDS_perl-module-ipc-semaphore += "perl-module-vars "
-RDEPENDS_perl-module-ipc-sysv += "perl-module-exporter "
-RDEPENDS_perl-module-ipc-sysv += "perl-module-carp "
-RDEPENDS_perl-module-ipc-sysv += "perl-module-config "
-RDEPENDS_perl-module-ipc-sysv += "perl-module-strict "
-RDEPENDS_perl-module-ipc-sysv += "perl-module-vars "
-RDEPENDS_perl-module-lib += "perl-module-config "
-RDEPENDS_perl-module-lib += "perl-module-strict "
-RDEPENDS_perl-module-list-util += "perl-module-exporter "
-RDEPENDS_perl-module-list-util += "perl-module-vars "
-RDEPENDS_perl-module-locale-constants += "perl-module-exporter "
-RDEPENDS_perl-module-locale-constants += "perl-module-constant "
-RDEPENDS_perl-module-locale-constants += "perl-module-strict "
-RDEPENDS_perl-module-locale-constants += "perl-module-vars "
-RDEPENDS_perl-module-locale-country += "perl-module-exporter "
-RDEPENDS_perl-module-locale-country += "perl-module-carp "
-RDEPENDS_perl-module-locale-country += "perl-module-locale-constants "
-RDEPENDS_perl-module-locale-country += "perl-module-strict "
-RDEPENDS_perl-module-locale-country += "perl-module-vars "
-RDEPENDS_perl-module-locale-currency += "perl-module-exporter "
-RDEPENDS_perl-module-locale-currency += "perl-module-strict "
-RDEPENDS_perl-module-locale-currency += "perl-module-vars "
-RDEPENDS_perl-module-locale-language += "perl-module-exporter "
-RDEPENDS_perl-module-locale-language += "perl-module-strict "
-RDEPENDS_perl-module-locale-language += "perl-module-vars "
-RDEPENDS_perl-module-locale-maketext-gutsloader += "perl-module-strict "
-RDEPENDS_perl-module-locale-maketext-guts += "perl-module-strict "
-RDEPENDS_perl-module-locale-maketext-guts += "perl-module-utf8 "
-RDEPENDS_perl-module-locale-maketext-guts += "perl-module-vars "
-RDEPENDS_perl-module-locale-maketext += "perl-module-carp "
-RDEPENDS_perl-module-locale-maketext += "perl-module-i18n-langtags "
-RDEPENDS_perl-module-locale-maketext += "perl-module-locale-maketext-gutsloader "
-RDEPENDS_perl-module-locale-maketext += "perl-module-strict "
-RDEPENDS_perl-module-locale-script += "perl-module-exporter "
-RDEPENDS_perl-module-locale-script += "perl-module-carp "
-RDEPENDS_perl-module-locale-script += "perl-module-locale-constants "
-RDEPENDS_perl-module-locale-script += "perl-module-strict "
-RDEPENDS_perl-module-locale-script += "perl-module-vars "
-RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-exporter "
-RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-math-bigfloat "
-RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-strict "
-RDEPENDS_perl-module-math-bigfloat += "perl-module-exporter "
-RDEPENDS_perl-module-math-bigfloat += "perl-module-strict "
-RDEPENDS_perl-module-math-bigint-calcemu += "perl-module-strict "
-RDEPENDS_perl-module-math-bigint-calcemu += "perl-module-vars "
-RDEPENDS_perl-module-math-bigint-calc += "perl-module-strict "
-RDEPENDS_perl-module-math-bigint-calc += "perl-module-vars "
-RDEPENDS_perl-module-math-bigint-trace += "perl-module-exporter "
-RDEPENDS_perl-module-math-bigint-trace += "perl-module-math-bigint "
-RDEPENDS_perl-module-math-bigint-trace += "perl-module-strict "
-RDEPENDS_perl-module-math-bigint += "perl-module-strict "
-RDEPENDS_perl-module-math-bigrat += "perl-module-math-bigfloat "
-RDEPENDS_perl-module-math-bigrat += "perl-module-strict "
-RDEPENDS_perl-module-math-complex += "perl-module-exporter "
-RDEPENDS_perl-module-math-complex += "perl-module-strict "
-RDEPENDS_perl-module-math-trig += "perl-module-exporter "
-RDEPENDS_perl-module-math-trig += "perl-module-math-complex "
-RDEPENDS_perl-module-math-trig += "perl-module-strict "
-RDEPENDS_perl-module-memoize-anydbm-file += "perl-module-vars "
-RDEPENDS_perl-module-memoize-expirefile += "perl-module-carp "
-RDEPENDS_perl-module-memoize-expire += "perl-module-carp "
-RDEPENDS_perl-module-memoize-sdbm-file += "perl-module-sdbm-file "
-RDEPENDS_perl-module-memoize-storable += "perl-module-storable "
-RDEPENDS_perl-module-memoize += "perl-module-carp "
-RDEPENDS_perl-module-memoize += "perl-module-exporter "
-RDEPENDS_perl-module-memoize += "perl-module-strict "
-RDEPENDS_perl-module-memoize += "perl-module-vars "
-RDEPENDS_perl-module-mime-base64 += "perl-module-dynaloader "
-RDEPENDS_perl-module-mime-base64 += "perl-module-exporter "
-RDEPENDS_perl-module-mime-base64 += "perl-module-strict "
-RDEPENDS_perl-module-mime-base64 += "perl-module-vars "
-RDEPENDS_perl-module-mime-quotedprint += "perl-module-exporter "
-RDEPENDS_perl-module-mime-quotedprint += "perl-module-strict "
-RDEPENDS_perl-module-mime-quotedprint += "perl-module-vars "
-RDEPENDS_perl-module-net-cmd += "perl-module-exporter "
-RDEPENDS_perl-module-net-cmd += "perl-module-carp "
-RDEPENDS_perl-module-net-cmd += "perl-module-strict "
-RDEPENDS_perl-module-net-cmd += "perl-module-symbol "
-RDEPENDS_perl-module-net-cmd += "perl-module-vars "
-RDEPENDS_perl-module-net-config += "perl-module-exporter "
-RDEPENDS_perl-module-net-config += "perl-module-socket "
-RDEPENDS_perl-module-net-config += "perl-module-strict "
-RDEPENDS_perl-module-net-config += "perl-module-vars "
-RDEPENDS_perl-module-net-domain += "perl-module-exporter "
-RDEPENDS_perl-module-net-domain += "perl-module-carp "
-RDEPENDS_perl-module-net-domain += "perl-module-net-config "
-RDEPENDS_perl-module-net-domain += "perl-module-strict "
-RDEPENDS_perl-module-net-domain += "perl-module-vars "
-RDEPENDS_perl-module-net-ftp-a += "perl-module-net-ftp-dataconn "
-RDEPENDS_perl-module-net-ftp-a += "perl-module-carp "
-RDEPENDS_perl-module-net-ftp-a += "perl-module-strict "
-RDEPENDS_perl-module-net-ftp-a += "perl-module-vars "
-RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-carp "
-RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-errno "
-RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-net-cmd "
-RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-vars "
-RDEPENDS_perl-module-net-ftp-e += "perl-module-net-ftp-i "
-RDEPENDS_perl-module-net-ftp-i += "perl-module-net-ftp-dataconn "
-RDEPENDS_perl-module-net-ftp-i += "perl-module-carp "
-RDEPENDS_perl-module-net-ftp-i += "perl-module-vars "
-RDEPENDS_perl-module-net-ftp-l += "perl-module-net-ftp-i "
-RDEPENDS_perl-module-net-ftp += "perl-module-carp "
-RDEPENDS_perl-module-net-ftp += "perl-module-fcntl "
-RDEPENDS_perl-module-net-ftp += "perl-module-io-socket "
-RDEPENDS_perl-module-net-ftp += "perl-module-net-cmd "
-RDEPENDS_perl-module-net-ftp += "perl-module-net-config "
-RDEPENDS_perl-module-net-ftp += "perl-module-socket "
-RDEPENDS_perl-module-net-ftp += "perl-module-strict "
-RDEPENDS_perl-module-net-ftp += "perl-module-time-local "
-RDEPENDS_perl-module-net-ftp += "perl-module-vars "
-RDEPENDS_perl-module-net-hostent += "perl-module-class-struct "
-RDEPENDS_perl-module-net-hostent += "perl-module-strict "
-RDEPENDS_perl-module-net-hostent += "perl-module-vars "
-RDEPENDS_perl-module-net-netent += "perl-module-class-struct "
-RDEPENDS_perl-module-net-netent += "perl-module-strict "
-RDEPENDS_perl-module-net-netent += "perl-module-vars "
-RDEPENDS_perl-module-net-netrc += "perl-module-carp "
-RDEPENDS_perl-module-net-netrc += "perl-module-filehandle "
-RDEPENDS_perl-module-net-netrc += "perl-module-strict "
-RDEPENDS_perl-module-net-netrc += "perl-module-vars "
-RDEPENDS_perl-module-net-nntp += "perl-module-carp "
-RDEPENDS_perl-module-net-nntp += "perl-module-io-socket "
-RDEPENDS_perl-module-net-nntp += "perl-module-net-cmd "
-RDEPENDS_perl-module-net-nntp += "perl-module-net-config "
-RDEPENDS_perl-module-net-nntp += "perl-module-strict "
-RDEPENDS_perl-module-net-nntp += "perl-module-time-local "
-RDEPENDS_perl-module-net-nntp += "perl-module-vars "
-RDEPENDS_perl-module-net-ping += "perl-module-exporter "
-RDEPENDS_perl-module-net-ping += "perl-module-carp "
-RDEPENDS_perl-module-net-ping += "perl-module-constant "
-RDEPENDS_perl-module-net-ping += "perl-module-fcntl "
-RDEPENDS_perl-module-net-ping += "perl-module-filehandle "
-RDEPENDS_perl-module-net-ping += "perl-module-posix "
-RDEPENDS_perl-module-net-ping += "perl-module-strict "
-RDEPENDS_perl-module-net-pop3 += "perl-module-carp "
-RDEPENDS_perl-module-net-pop3 += "perl-module-io-socket "
-RDEPENDS_perl-module-net-pop3 += "perl-module-net-cmd "
-RDEPENDS_perl-module-net-pop3 += "perl-module-net-config "
-RDEPENDS_perl-module-net-pop3 += "perl-module-strict "
-RDEPENDS_perl-module-net-pop3 += "perl-module-vars "
-RDEPENDS_perl-module-net-protoent += "perl-module-class-struct "
-RDEPENDS_perl-module-net-protoent += "perl-module-strict "
-RDEPENDS_perl-module-net-protoent += "perl-module-vars "
-RDEPENDS_perl-module-net-servent += "perl-module-class-struct "
-RDEPENDS_perl-module-net-servent += "perl-module-strict "
-RDEPENDS_perl-module-net-servent += "perl-module-vars "
-RDEPENDS_perl-module-net-smtp += "perl-module-carp "
-RDEPENDS_perl-module-net-smtp += "perl-module-io-socket "
-RDEPENDS_perl-module-net-smtp += "perl-module-net-cmd "
-RDEPENDS_perl-module-net-smtp += "perl-module-net-config "
-RDEPENDS_perl-module-net-smtp += "perl-module-socket "
-RDEPENDS_perl-module-net-smtp += "perl-module-strict "
-RDEPENDS_perl-module-net-smtp += "perl-module-vars "
-RDEPENDS_perl-module-net-time += "perl-module-exporter "
-RDEPENDS_perl-module-net-time += "perl-module-carp "
-RDEPENDS_perl-module-net-time += "perl-module-io-select "
-RDEPENDS_perl-module-net-time += "perl-module-io-socket "
-RDEPENDS_perl-module-net-time += "perl-module-net-config "
-RDEPENDS_perl-module-net-time += "perl-module-strict "
-RDEPENDS_perl-module-net-time += "perl-module-vars "
-RDEPENDS_perl-module-next += "perl-module-carp "
-RDEPENDS_perl-module-next += "perl-module-strict "
-RDEPENDS_perl-module-opcode += "perl-module-carp "
-RDEPENDS_perl-module-opcode += "perl-module-exporter "
-RDEPENDS_perl-module-opcode += "perl-module-strict "
-RDEPENDS_perl-module-opcode += "perl-module-subs "
-RDEPENDS_perl-module-opcode += "perl-module-xsloader "
-RDEPENDS_perl-module-open += "perl-module-carp "
-RDEPENDS_perl-module-open += "perl-module-warnings "
-RDEPENDS_perl-module-ops += "perl-module-opcode "
-RDEPENDS_perl-module-o += "perl-module-b "
-RDEPENDS_perl-module-o += "perl-module-carp "
-RDEPENDS_perl-module-overload += "perl-module-warnings-register "
-RDEPENDS_perl-module-perlio-encoding += "perl-module-strict "
-RDEPENDS_perl-module-perlio-encoding += "perl-module-xsloader "
-RDEPENDS_perl-module-perlio-scalar += "perl-module-xsloader "
-RDEPENDS_perl-module-perlio-via-quotedprint += "perl-module-strict "
-RDEPENDS_perl-module-perlio-via += "perl-module-xsloader "
-RDEPENDS_perl-module-pod-checker += "perl-module-carp "
-RDEPENDS_perl-module-pod-checker += "perl-module-exporter "
-RDEPENDS_perl-module-pod-checker += "perl-module-pod-parser "
-RDEPENDS_perl-module-pod-checker += "perl-module-strict "
-RDEPENDS_perl-module-pod-checker += "perl-module-vars "
-RDEPENDS_perl-module-pod-find += "perl-module-carp "
-RDEPENDS_perl-module-pod-find += "perl-module-cwd "
-RDEPENDS_perl-module-pod-find += "perl-module-exporter "
-RDEPENDS_perl-module-pod-find += "perl-module-file-find "
-RDEPENDS_perl-module-pod-find += "perl-module-file-spec "
-RDEPENDS_perl-module-pod-find += "perl-module-strict "
-RDEPENDS_perl-module-pod-find += "perl-module-vars "
-RDEPENDS_perl-module-pod-functions += "perl-module-exporter "
-RDEPENDS_perl-module-pod-functions += "perl-module-strict "
-RDEPENDS_perl-module-pod-html += "perl-module-exporter "
-RDEPENDS_perl-module-pod-html += "perl-module-carp "
-RDEPENDS_perl-module-pod-html += "perl-module-config "
-RDEPENDS_perl-module-pod-html += "perl-module-cwd "
-RDEPENDS_perl-module-pod-html += "perl-module-file-spec "
-RDEPENDS_perl-module-pod-html += "perl-module-file-spec-unix "
-RDEPENDS_perl-module-pod-html += "perl-module-getopt-long "
-RDEPENDS_perl-module-pod-html += "perl-module-strict "
-RDEPENDS_perl-module-pod-html += "perl-module-vars "
-RDEPENDS_perl-module-pod-inputobjects += "perl-module-strict "
-RDEPENDS_perl-module-pod-inputobjects += "perl-module-vars "
-RDEPENDS_perl-module-pod-latex += "perl-module-pod-parseutils "
-RDEPENDS_perl-module-pod-latex += "perl-module-base "
-RDEPENDS_perl-module-pod-latex += "perl-module-carp "
-RDEPENDS_perl-module-pod-latex += "perl-module-strict "
-RDEPENDS_perl-module-pod-latex += "perl-module-vars "
-RDEPENDS_perl-module-pod-man += "perl-module-carp "
-RDEPENDS_perl-module-pod-man += "perl-module-pod-parselink "
-RDEPENDS_perl-module-pod-man += "perl-module-pod-parser "
-RDEPENDS_perl-module-pod-man += "perl-module-strict "
-RDEPENDS_perl-module-pod-man += "perl-module-subs "
-RDEPENDS_perl-module-pod-man += "perl-module-vars "
-RDEPENDS_perl-module-pod-parselink += "perl-module-exporter "
-RDEPENDS_perl-module-pod-parselink += "perl-module-strict "
-RDEPENDS_perl-module-pod-parselink += "perl-module-vars "
-RDEPENDS_perl-module-pod-parser += "perl-module-carp "
-RDEPENDS_perl-module-pod-parser += "perl-module-exporter "
-RDEPENDS_perl-module-pod-parser += "perl-module-pod-inputobjects "
-RDEPENDS_perl-module-pod-parser += "perl-module-strict "
-RDEPENDS_perl-module-pod-parser += "perl-module-vars "
-RDEPENDS_perl-module-pod-parseutils += "perl-module-carp "
-RDEPENDS_perl-module-pod-parseutils += "perl-module-vars "
-RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-strict "
-RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-warnings "
-RDEPENDS_perl-module-pod-perldoc-getoptsoo += "perl-module-strict "
-RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-strict "
-RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-warnings "
-RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-vars "
-RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-base "
-RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-file-spec-functions "
-RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-strict "
-RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-warnings "
-RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-base "
-RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-pod-man "
-RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-strict "
-RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-warnings "
-RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-base "
-RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-strict "
-RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-warnings "
-RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-base "
-RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-strict "
-RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-warnings "
-RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-vars "
-RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-base "
-RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-pod-text "
-RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-strict "
-RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-warnings "
-RDEPENDS_perl-module-pod-perldoc-totk += "perl-module-base "
-RDEPENDS_perl-module-pod-perldoc-totk += "perl-module-file-spec-functions "
-RDEPENDS_perl-module-pod-perldoc-totk += "perl-module-pod-perldoc "
-RDEPENDS_perl-module-pod-perldoc-totk += "perl-module-strict "
-RDEPENDS_perl-module-pod-perldoc-totk += "perl-module-warnings "
-RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-base "
-RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-strict "
-RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-warnings "
-RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-vars "
-RDEPENDS_perl-module-pod-perldoc += "perl-module-config "
-RDEPENDS_perl-module-pod-perldoc += "perl-module-file-spec-functions "
-RDEPENDS_perl-module-pod-perldoc += "perl-module-strict "
-RDEPENDS_perl-module-pod-perldoc += "perl-module-warnings "
-RDEPENDS_perl-module-pod-plainer += "perl-module-pod-parser "
-RDEPENDS_perl-module-pod-plainer += "perl-module-strict "
-RDEPENDS_perl-module-pod-plaintext += "perl-module-carp "
-RDEPENDS_perl-module-pod-plaintext += "perl-module-pod-select "
-RDEPENDS_perl-module-pod-plaintext += "perl-module-strict "
-RDEPENDS_perl-module-pod-plaintext += "perl-module-vars "
-RDEPENDS_perl-module-pod-select += "perl-module-carp "
-RDEPENDS_perl-module-pod-select += "perl-module-pod-parser "
-RDEPENDS_perl-module-pod-select += "perl-module-strict "
-RDEPENDS_perl-module-pod-select += "perl-module-vars "
-RDEPENDS_perl-module-pod-text-color += "perl-module-pod-text "
-RDEPENDS_perl-module-pod-text-color += "perl-module-strict "
-RDEPENDS_perl-module-pod-text-color += "perl-module-term-ansicolor "
-RDEPENDS_perl-module-pod-text-color += "perl-module-vars "
-RDEPENDS_perl-module-pod-text-overstrike += "perl-module-pod-text "
-RDEPENDS_perl-module-pod-text-overstrike += "perl-module-strict "
-RDEPENDS_perl-module-pod-text-overstrike += "perl-module-vars "
-RDEPENDS_perl-module-pod-text-termcap += "perl-module-pod-text "
-RDEPENDS_perl-module-pod-text-termcap += "perl-module-posix "
-RDEPENDS_perl-module-pod-text-termcap += "perl-module-strict "
-RDEPENDS_perl-module-pod-text-termcap += "perl-module-term-cap "
-RDEPENDS_perl-module-pod-text-termcap += "perl-module-vars "
-RDEPENDS_perl-module-pod-text += "perl-module-carp "
-RDEPENDS_perl-module-pod-text += "perl-module-exporter "
-RDEPENDS_perl-module-pod-text += "perl-module-pod-parselink "
-RDEPENDS_perl-module-pod-text += "perl-module-pod-select "
-RDEPENDS_perl-module-pod-text += "perl-module-strict "
-RDEPENDS_perl-module-pod-text += "perl-module-vars "
-RDEPENDS_perl-module-pod-usage += "perl-module-carp "
-RDEPENDS_perl-module-pod-usage += "perl-module-config "
-RDEPENDS_perl-module-pod-usage += "perl-module-exporter "
-RDEPENDS_perl-module-pod-usage += "perl-module-file-spec "
-RDEPENDS_perl-module-pod-usage += "perl-module-strict "
-RDEPENDS_perl-module-pod-usage += "perl-module-vars "
-RDEPENDS_perl-module-posix += "perl-module-exporter "
-RDEPENDS_perl-module-posix += "perl-module-autoloader "
-RDEPENDS_perl-module-posix += "perl-module-autoloader "
-RDEPENDS_perl-module-posix += "perl-module-xsloader "
-RDEPENDS_perl-module-safe += "perl-module-carp "
-RDEPENDS_perl-module-safe += "perl-module-carp-heavy "
-RDEPENDS_perl-module-safe += "perl-module-strict "
-RDEPENDS_perl-module-scalar-util += "perl-module-exporter "
-RDEPENDS_perl-module-sdbm-file += "perl-module-tie-hash "
-RDEPENDS_perl-module-sdbm-file += "perl-module-strict "
-RDEPENDS_perl-module-sdbm-file += "perl-module-warnings "
-RDEPENDS_perl-module-sdbm-file += "perl-module-xsloader "
-RDEPENDS_perl-module-search-dict += "perl-module-exporter "
-RDEPENDS_perl-module-search-dict += "perl-module-strict "
-RDEPENDS_perl-module-selectsaver += "perl-module-carp "
-RDEPENDS_perl-module-selectsaver += "perl-module-symbol "
-RDEPENDS_perl-module-selfloader += "perl-module-exporter "
-RDEPENDS_perl-module-shell += "perl-module-file-spec-functions "
-RDEPENDS_perl-module-shell += "perl-module-strict "
-RDEPENDS_perl-module-shell += "perl-module-warnings "
-RDEPENDS_perl-module-sigtrap += "perl-module-carp "
-RDEPENDS_perl-module-socket += "perl-module-exporter "
-RDEPENDS_perl-module-socket += "perl-module-carp "
-RDEPENDS_perl-module-socket += "perl-module-warnings-register "
-RDEPENDS_perl-module-socket += "perl-module-xsloader "
-RDEPENDS_perl-module-sort += "perl-module-strict "
-RDEPENDS_perl-module-storable += "perl-module-carp "
-RDEPENDS_perl-module-storable += "perl-module-dynaloader "
-RDEPENDS_perl-module-storable += "perl-module-exporter "
-RDEPENDS_perl-module-storable += "perl-module-autoloader "
-RDEPENDS_perl-module-storable += "perl-module-vars "
-RDEPENDS_perl-module-switch += "perl-module-carp "
-RDEPENDS_perl-module-switch += "perl-module-filter-util-call "
-RDEPENDS_perl-module-switch += "perl-module-strict "
-RDEPENDS_perl-module-switch += "perl-module-text-balanced "
-RDEPENDS_perl-module-switch += "perl-module-vars "
-RDEPENDS_perl-module-symbol += "perl-module-exporter "
-RDEPENDS_perl-module-sys-hostname += "perl-module-autoloader "
-RDEPENDS_perl-module-sys-hostname += "perl-module-exporter "
-RDEPENDS_perl-module-sys-hostname += "perl-module-carp "
-RDEPENDS_perl-module-sys-hostname += "perl-module-strict "
-RDEPENDS_perl-module-sys-syslog += "perl-module-dynaloader "
-RDEPENDS_perl-module-sys-syslog += "perl-module-exporter "
-RDEPENDS_perl-module-sys-syslog += "perl-module-carp "
-RDEPENDS_perl-module-sys-syslog += "perl-module-socket "
-RDEPENDS_perl-module-sys-syslog += "perl-module-strict "
-RDEPENDS_perl-module-sys-syslog += "perl-module-sys-hostname "
-RDEPENDS_perl-module-term-ansicolor += "perl-module-exporter "
-RDEPENDS_perl-module-term-ansicolor += "perl-module-strict "
-RDEPENDS_perl-module-term-cap += "perl-module-strict "
-RDEPENDS_perl-module-term-cap += "perl-module-vars "
-RDEPENDS_perl-module-term-complete += "perl-module-exporter "
-RDEPENDS_perl-module-term-complete += "perl-module-strict "
-RDEPENDS_perl-module-term-readline += "perl-module-strict "
-RDEPENDS_perl-module-test-builder += "perl-module-strict "
-RDEPENDS_perl-module-test-builder += "perl-module-vars "
-RDEPENDS_perl-module-test-harness-assert += "perl-module-exporter "
-RDEPENDS_perl-module-test-harness-assert += "perl-module-strict "
-RDEPENDS_perl-module-test-harness-assert += "perl-module-vars "
-RDEPENDS_perl-module-test-harness-iterator += "perl-module-strict "
-RDEPENDS_perl-module-test-harness-iterator += "perl-module-vars "
-RDEPENDS_perl-module-test-harness-point += "perl-module-strict "
-RDEPENDS_perl-module-test-harness-point += "perl-module-vars "
-RDEPENDS_perl-module-test-harness-straps += "perl-module-config "
-RDEPENDS_perl-module-test-harness-straps += "perl-module-strict "
-RDEPENDS_perl-module-test-harness-straps += "perl-module-test-harness-assert "
-RDEPENDS_perl-module-test-harness-straps += "perl-module-test-harness-iterator "
-RDEPENDS_perl-module-test-harness-straps += "perl-module-test-harness-point "
-RDEPENDS_perl-module-test-harness-straps += "perl-module-vars "
-RDEPENDS_perl-module-test-harness += "perl-module-benchmark "
-RDEPENDS_perl-module-test-harness += "perl-module-config "
-RDEPENDS_perl-module-test-harness += "perl-module-exporter "
-RDEPENDS_perl-module-test-harness += "perl-module-strict "
-RDEPENDS_perl-module-test-harness += "perl-module-test-harness-assert "
-RDEPENDS_perl-module-test-harness += "perl-module-test-harness-straps "
-RDEPENDS_perl-module-test-more += "perl-module-exporter "
-RDEPENDS_perl-module-test-more += "perl-module-strict "
-RDEPENDS_perl-module-test-more += "perl-module-test-builder "
-RDEPENDS_perl-module-test-more += "perl-module-vars "
-RDEPENDS_perl-module-test-simple += "perl-module-strict "
-RDEPENDS_perl-module-test-simple += "perl-module-test-builder "
-RDEPENDS_perl-module-test-simple += "perl-module-vars "
-RDEPENDS_perl-module-test += "perl-module-exporter "
-RDEPENDS_perl-module-test += "perl-module-carp "
-RDEPENDS_perl-module-test += "perl-module-strict "
-RDEPENDS_perl-module-text-abbrev += "perl-module-exporter "
-RDEPENDS_perl-module-text-balanced += "perl-module-exporter "
-RDEPENDS_perl-module-text-balanced += "perl-module-overload "
-RDEPENDS_perl-module-text-balanced += "perl-module-selfloader "
-RDEPENDS_perl-module-text-balanced += "perl-module-strict "
-RDEPENDS_perl-module-text-balanced += "perl-module-vars "
-RDEPENDS_perl-module-text-parsewords += "perl-module-exporter "
-RDEPENDS_perl-module-text-parsewords += "perl-module-vars "
-RDEPENDS_perl-module-text-soundex += "perl-module-exporter "
-RDEPENDS_perl-module-text-tabs += "perl-module-exporter "
-RDEPENDS_perl-module-text-tabs += "perl-module-strict "
-RDEPENDS_perl-module-text-tabs += "perl-module-vars "
-RDEPENDS_perl-module-text-wrap += "perl-module-exporter "
-RDEPENDS_perl-module-text-wrap += "perl-module-strict "
-RDEPENDS_perl-module-text-wrap += "perl-module-text-tabs "
-RDEPENDS_perl-module-thread-queue += "perl-module-strict "
-RDEPENDS_perl-module-thread-queue += "perl-module-threads-shared "
-RDEPENDS_perl-module-thread-semaphore += "perl-module-threads-shared "
-RDEPENDS_perl-module-threads-shared += "perl-module-strict "
-RDEPENDS_perl-module-threads-shared += "perl-module-warnings "
-RDEPENDS_perl-module-threads += "perl-module-dynaloader "
-RDEPENDS_perl-module-threads += "perl-module-exporter "
-RDEPENDS_perl-module-threads += "perl-module-config "
-RDEPENDS_perl-module-threads += "perl-module-strict "
-RDEPENDS_perl-module-threads += "perl-module-warnings "
-RDEPENDS_perl-module-thread += "perl-module-exporter "
-RDEPENDS_perl-module-thread += "perl-module-strict "
-RDEPENDS_perl-module-thread += "perl-module-xsloader "
-RDEPENDS_perl-module-tie-array += "perl-module-carp "
-RDEPENDS_perl-module-tie-array += "perl-module-strict "
-RDEPENDS_perl-module-tie-array += "perl-module-vars "
-RDEPENDS_perl-module-tie-file += "perl-module-carp "
-RDEPENDS_perl-module-tie-file += "perl-module-fcntl "
-RDEPENDS_perl-module-tie-file += "perl-module-posix "
-RDEPENDS_perl-module-tie-file += "perl-module-strict "
-RDEPENDS_perl-module-tie-handle += "perl-module-carp "
-RDEPENDS_perl-module-tie-handle += "perl-module-warnings-register "
-RDEPENDS_perl-module-tie-hash += "perl-module-carp "
-RDEPENDS_perl-module-tie-hash += "perl-module-warnings-register "
-RDEPENDS_perl-module-tie-memoize += "perl-module-strict "
-RDEPENDS_perl-module-tie-memoize += "perl-module-tie-hash "
-RDEPENDS_perl-module-tie-refhash += "perl-module-strict "
-RDEPENDS_perl-module-tie-refhash += "perl-module-tie-hash "
-RDEPENDS_perl-module-tie-refhash += "perl-module-vars "
-RDEPENDS_perl-module-tie-scalar += "perl-module-carp "
-RDEPENDS_perl-module-tie-scalar += "perl-module-warnings-register "
-RDEPENDS_perl-module-tie-substrhash += "perl-module-carp "
-RDEPENDS_perl-module-time-gmtime += "perl-module-strict "
-RDEPENDS_perl-module-time-gmtime += "perl-module-time-tm "
-RDEPENDS_perl-module-time-gmtime += "perl-module-vars "
-RDEPENDS_perl-module-time-hires += "perl-module-dynaloader "
-RDEPENDS_perl-module-time-hires += "perl-module-exporter "
-RDEPENDS_perl-module-time-hires += "perl-module-strict "
-RDEPENDS_perl-module-time-hires += "perl-module-vars "
-RDEPENDS_perl-module-time-localtime += "perl-module-strict "
-RDEPENDS_perl-module-time-localtime += "perl-module-time-tm "
-RDEPENDS_perl-module-time-localtime += "perl-module-vars "
-RDEPENDS_perl-module-time-local += "perl-module-exporter "
-RDEPENDS_perl-module-time-local += "perl-module-carp "
-RDEPENDS_perl-module-time-local += "perl-module-config "
-RDEPENDS_perl-module-time-local += "perl-module-integer "
-RDEPENDS_perl-module-time-local += "perl-module-strict "
-RDEPENDS_perl-module-time-local += "perl-module-vars "
-RDEPENDS_perl-module-time-tm += "perl-module-class-struct "
-RDEPENDS_perl-module-time-tm += "perl-module-strict "
-RDEPENDS_perl-module-unicode-collate += "perl-module-carp "
-RDEPENDS_perl-module-unicode-collate += "perl-module-constant "
-RDEPENDS_perl-module-unicode-collate += "perl-module-file-spec "
-RDEPENDS_perl-module-unicode-collate += "perl-module-strict "
-RDEPENDS_perl-module-unicode-collate += "perl-module-warnings "
-RDEPENDS_perl-module-unicode-normalize += "perl-module-dynaloader "
-RDEPENDS_perl-module-unicode-normalize += "perl-module-exporter "
-RDEPENDS_perl-module-unicode-normalize += "perl-module-carp "
-RDEPENDS_perl-module-unicode-normalize += "perl-module-constant "
-RDEPENDS_perl-module-unicode-normalize += "perl-module-strict "
-RDEPENDS_perl-module-unicode-normalize += "perl-module-warnings "
-RDEPENDS_perl-module-unicode-ucd += "perl-module-exporter "
-RDEPENDS_perl-module-unicode-ucd += "perl-module-carp "
-RDEPENDS_perl-module-unicode-ucd += "perl-module-storable "
-RDEPENDS_perl-module-unicode-ucd += "perl-module-strict "
-RDEPENDS_perl-module-unicode-ucd += "perl-module-warnings "
-RDEPENDS_perl-module-universal += "perl-module-exporter "
-RDEPENDS_perl-module-user-grent += "perl-module-class-struct "
-RDEPENDS_perl-module-user-grent += "perl-module-strict "
-RDEPENDS_perl-module-user-grent += "perl-module-vars "
-RDEPENDS_perl-module-user-pwent += "perl-module-carp "
-RDEPENDS_perl-module-user-pwent += "perl-module-class-struct "
-RDEPENDS_perl-module-user-pwent += "perl-module-config "
-RDEPENDS_perl-module-user-pwent += "perl-module-strict "
-RDEPENDS_perl-module-user-pwent += "perl-module-warnings "
-RDEPENDS_perl-module-user-pwent += "perl-module-vars "
-RDEPENDS_perl-module-warnings-register += "perl-module-warnings "
-RDEPENDS_perl-module-warnings += "perl-module-carp "
-RDEPENDS_perl-module-vars += "perl-module-strict "
-RDEPENDS_perl-module-vars += "perl-module-warnings-register "
-RDEPENDS_perl-module-xs-apitest += "perl-module-base "
-RDEPENDS_perl-module-xs-apitest += "perl-module-carp "
-RDEPENDS_perl-module-xs-apitest += "perl-module-strict "
-RDEPENDS_perl-module-xs-apitest += "perl-module-warnings "
-RDEPENDS_perl-module-xs-typemap += "perl-module-base "
-RDEPENDS_perl-module-xs-typemap += "perl-module-vars "
diff --git a/meta/recipes-devtools/perl/perl-rprovides_5.12.2.inc b/meta/recipes-devtools/perl/perl-rprovides_5.12.2.inc
new file mode 100644
index 000000000..9a648dbf2
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-rprovides_5.12.2.inc
@@ -0,0 +1 @@
+RPROVIDES_perl-module-module-build += "libmodule-build-perl"
diff --git a/meta/recipes-devtools/perl/perl_5.12.2.bb b/meta/recipes-devtools/perl/perl_5.12.2.bb
new file mode 100644
index 000000000..82801e869
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl_5.12.2.bb
@@ -0,0 +1,276 @@
+DESCRIPTION = "Perl is a popular scripting language."
+HOMEPAGE = "http://www.perl.org/"
+SECTION = "devel"
+LICENSE = "Artistic|GPL"
+LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
+ file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8"
+PRIORITY = "optional"
+# We need gnugrep (for -I)
+DEPENDS = "virtual/db perl-native-${PV} grep-native"
+DEPENDS += "gdbm zlib"
+PR = "r0"
+
+# 5.10.1 has Module::Build built-in
+PROVIDES += "libmodule-build-perl"
+
+# Major part of version
+#PVM = "5.12"
+
+SRC_URI = "ftp://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \
+ file://Makefile.patch;patch=1 \
+ file://Makefile.SH.patch;patch=1 \
+ file://installperl.patch;patch=1 \
+ file://perl-dynloader.patch;patch=1 \
+ file://perl-moreconfig.patch;patch=1 \
+ file://letgcc-find-errno.patch;patch=1 \
+ file://generate-sh.patch;patch=1 \
+ file://09_fix_installperl.patch;patch=1 \
+ file://native-perlinc.patch \
+ file://perl-enable-gdbm.patch \
+ file://cross-generate_uudmap.patch \
+ file://debian/arm_thread_stress_timeout.diff \
+ file://debian/cpan_config_path.diff \
+ file://debian/cpan_definstalldirs.diff \
+ file://debian/db_file_ver.diff \
+ file://debian/doc_info.diff \
+ file://debian/enc2xs_inc.diff \
+ file://debian/errno_ver.diff \
+ file://debian/extutils_hacks.diff \
+# file://debian/fakeroot.diff \
+ file://debian/instmodsh_doc.diff \
+ file://debian/ld_run_path.diff \
+ file://debian/libnet_config_path.diff \
+ file://debian/m68k_thread_stress.diff \
+ file://debian/mod_paths.diff \
+ file://debian/module_build_man_extensions.diff \
+ file://debian/prune_libs.diff \
+ file://debian/fixes/net_smtp_docs.diff \
+ file://debian/fixes/processPL.diff \
+ file://debian/perlivp.diff \
+ file://debian/disable-zlib-bundling.diff \
+ file://debian/cpanplus_definstalldirs.diff \
+ file://debian/cpanplus_config_path.diff \
+ file://debian/fixes/autodie-flock.diff \
+ file://debian/devel-ppport-ia64-optim.diff \
+ file://debian/fixes/cpanplus-without-home.diff \
+ file://debian/arm_optim.diff \
+ file://debian/deprecate-with-apt.diff \
+ file://debian/fixes/hurd-ccflags.diff \
+ file://debian/squelch-locale-warnings.diff \
+ file://debian/fixes/lc-numeric-docs.diff \
+ file://debian/fixes/lc-numeric-sprintf.diff \
+ file://debian/fixes/concat-stack-corruption.diff \
+ file://debian/fixes/h2ph-gcc-4.5.diff \
+ file://config.sh \
+ file://config.sh-32 \
+ file://config.sh-32-le \
+ file://config.sh-32-be \
+ file://config.sh-64 \
+ file://config.sh-64-le \
+ file://config.sh-64-be"
+
+SRC_URI[md5sum] = "af2df531d46b77fdf0d97eecb03eddb2"
+SRC_URI[sha256sum] = "cf888340021d5a2d1238bbd9b8b55aaf420a848d46e4d317cb8567f86ceb1022"
+
+inherit siteinfo
+
+# Where to find the native perl
+HOSTPERL = "${STAGING_BINDIR_NATIVE}/perl${PV}"
+
+# Where to find .so files - use the -native versions not those from the target build
+export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl/${PV}/"
+
+# LDFLAGS for shared libraries
+export LDDLFLAGS = "${LDFLAGS} -shared"
+
+# We're almost Debian, aren't we?
+CFLAGS += "-DDEBIAN"
+
+do_nolargefile() {
+ sed -i -e "s,\(uselargefiles=\)'define',\1'undef',g" \
+ -e "s,\(d_readdir64_r=\)'define',\1'undef',g" \
+ -e "s,\(readdir64_r_proto=\)'\w+',\1'0',g" \
+ -e "/ccflags_uselargefiles/d" \
+ -e "s/-Duselargefiles//" \
+ -e "s/-D_FILE_OFFSET_BITS=64//" \
+ -e "s/-D_LARGEFILE_SOURCE//" \
+ ${S}/Cross/config.sh-${TARGET_ARCH}-${TARGET_OS}
+}
+
+do_configure() {
+ # Make hostperl in build directory be the native perl
+ ln -sf ${HOSTPERL} hostperl
+
+ # Do our work in the cross subdir
+ cd Cross
+
+ # Generate configuration
+ rm -f config.sh-${TARGET_ARCH}-${TARGET_OS}
+ for i in ${WORKDIR}/config.sh \
+ ${WORKDIR}/config.sh-${@siteinfo_get_bits(d)} \
+ ${WORKDIR}/config.sh-${@siteinfo_get_bits(d)}-${@siteinfo_get_endianess(d)}; do
+ cat $i >> config.sh-${TARGET_ARCH}-${TARGET_OS}
+ done
+
+ # Fixups for uclibc
+ if [ "${TARGET_OS}" = "linux-uclibc" -o "${TARGET_OS}" = "linux-uclibceabi" ]; then
+ sed -i -e "s,\(d_crypt_r=\)'define',\1'undef',g" \
+ -e "s,\(d_futimes=\)'define',\1'undef',g" \
+ -e "s,\(crypt_r_proto=\)'\w+',\1'0',g" \
+ -e "s,\(d_getnetbyname_r=\)'define',\1'undef',g" \
+ -e "s,\(getnetbyname_r_proto=\)'\w+',\1'0',g" \
+ -e "s,\(d_getnetbyaddr_r=\)'define',\1'undef',g" \
+ -e "s,\(getnetbyaddr_r_proto=\)'\w+',\1'0',g" \
+ -e "s,\(d_getnetent_r=\)'define',\1'undef',g" \
+ -e "s,\(getnetent_r_proto=\)'\w+',\1'0',g" \
+ -e "s,\(d_sockatmark=\)'define',\1'undef',g" \
+ -e "s,\(d_sockatmarkproto=\)'\w+',\1'0',g" \
+ config.sh-${TARGET_ARCH}-${TARGET_OS}
+ fi
+
+ ${@base_contains('DISTRO_FEATURES', 'largefile', '', 'do_nolargefile', d)}
+
+ # Update some paths in the configuration
+ sed -i -e 's,@DESTDIR@,${prefix},g' \
+ -e 's,@ARCH@-thread-multi,,g' \
+ -e 's,@ARCH@,${TARGET_ARCH}-${TARGET_OS},g' \
+ -e "s%/usr/include%${STAGING_INCDIR}%g" \
+ -e 's,/usr/,${exec_prefix}/,g' \
+ -e 's,/perl5,/perl,g' \
+ config.sh-${TARGET_ARCH}-${TARGET_OS}
+
+ # These are strewn all over the source tree
+ for foo in `grep -I -m1 \/usr\/include\/.*\\.h ${WORKDIR}/* -r | cut -f 1 -d ":"` ; do
+ echo Fixing: $foo
+ sed -e "s%/usr/include/%${STAGING_INCDIR}/%g" -i $foo
+ done
+
+ rm -f config
+ echo "ARCH = ${TARGET_ARCH}" > config
+ echo "OS = ${TARGET_OS}" >> config
+}
+
+do_compile() {
+ sed -i -e 's|/usr/include|${STAGING_INCDIR}|g' ext/Errno/Errno_pm.PL
+ sed -i -e 's|/usr/include|${STAGING_INCDIR}|g' cpan/Compress-Raw-Zlib/config.in
+ sed -i -e 's|/usr/lib|${STAGING_LIBDIR}|g' cpan/Compress-Raw-Zlib/config.in
+
+ cd Cross
+ oe_runmake perl LD="${CCLD}"
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+ # Add perl pointing at current version
+ ln -sf perl${PV} ${D}${bindir}/perl
+
+ ln -sf perl ${D}/${libdir}/perl5
+
+ # Remove unwanted file
+ rm -f ${D}/${libdir}/perl/${PV}/.packlist
+
+ # Fix up shared library
+ mv ${D}/${libdir}/perl/${PV}/CORE/libperl.so ${D}/${libdir}/libperl.so.${PV}
+ ln -sf libperl.so.${PV} ${D}/${libdir}/libperl.so.5
+
+ # target config, used by cpan.bbclass to extract version information
+ install config.sh ${D}${libdir}/perl
+
+ ln -s Config_heavy.pl ${D}${libdir}/perl/${PV}/Config_heavy-target.pl
+
+}
+
+PACKAGE_PREPROCESS_FUNCS += "perl_package_preprocess"
+
+perl_package_preprocess () {
+ # Fix up installed configuration
+ sed -i -e "s,${D},,g" \
+ -e "s,-isystem${STAGING_INCDIR} ,,g" \
+ -e "s,${STAGING_LIBDIR},${libdir},g" \
+ -e "s,${STAGING_BINDIR},${bindir},g" \
+ -e "s,${STAGING_INCDIR},${includedir},g" \
+ -e "s,${STAGING_BINDIR_NATIVE}/,,g" \
+ ${PKGD}${bindir}/h2xs \
+ ${PKGD}${bindir}/h2ph \
+ ${PKGD}${libdir}/perl/${PV}/pod/*.pod \
+ ${PKGD}${libdir}/perl/${PV}/cacheout.pl \
+ ${PKGD}${libdir}/perl/${PV}/FileCache.pm \
+ ${PKGD}${libdir}/perl/config.sh \
+ ${PKGD}${libdir}/perl/${PV}/Config.pm \
+ ${PKGD}${libdir}/perl/${PV}/Config_heavy.pl \
+ ${PKGD}${libdir}/perl/${PV}/CORE/perl.h \
+ ${PKGD}${libdir}/perl/${PV}/CORE/pp.h
+}
+
+PACKAGES = "perl-dbg perl perl-misc perl-dev perl-pod perl-doc perl-lib \
+ perl-module-cpan perl-module-cpanplus perl-module-unicore"
+FILES_${PN} = "${bindir}/perl ${bindir}/perl${PV}"
+FILES_${PN}-dev = "${libdir}/perl/${PV}/CORE"
+FILES_${PN}-lib = "${libdir}/libperl.so* \
+ ${libdir}/perl5 \
+ ${libdir}/perl/config.sh \
+ ${libdir}/perl/${PV}/Config_heavy.pl \
+ ${libdir}/perl/${PV}/Config_heavy-target.pl"
+FILES_${PN}-pod = "${libdir}/perl/${PV}/pod \
+ ${libdir}/perl/${PV}/*.pod \
+ ${libdir}/perl/${PV}/*/*.pod \
+ ${libdir}/perl/${PV}/*/*/*.pod "
+FILES_perl-misc = "${bindir}/*"
+FILES_${PN}-dbg += "${libdir}/perl/${PV}/auto/*/.debug \
+ ${libdir}/perl/${PV}/auto/*/*/.debug \
+ ${libdir}/perl/${PV}/auto/*/*/*/.debug \
+ ${libdir}/perl/${PV}/CORE/.debug \
+ ${libdir}/perl/${PV}/*/.debug \
+ ${libdir}/perl/${PV}/*/*/.debug \
+ ${libdir}/perl/${PV}/*/*/*/.debug "
+FILES_${PN}-doc = "${libdir}/perl/${PV}/*/*.txt \
+ ${libdir}/perl/${PV}/*/*/*.txt \
+ ${libdir}/perl/${PV}/B/assemble \
+ ${libdir}/perl/${PV}/B/cc_harness \
+ ${libdir}/perl/${PV}/B/disassemble \
+ ${libdir}/perl/${PV}/B/makeliblinks \
+ ${libdir}/perl/${PV}/CGI/eg \
+ ${libdir}/perl/${PV}/CPAN/PAUSE2003.pub \
+ ${libdir}/perl/${PV}/CPAN/SIGNATURE \
+ ${libdir}/perl/${PV}/CPANPLUS/Shell/Default/Plugins/HOWTO.pod \
+ ${libdir}/perl/${PV}/Encode/encode.h \
+ ${libdir}/perl/${PV}/ExtUtils/MANIFEST.SKIP \
+ ${libdir}/perl/${PV}/ExtUtils/NOTES \
+ ${libdir}/perl/${PV}/ExtUtils/PATCHING \
+ ${libdir}/perl/${PV}/ExtUtils/typemap \
+ ${libdir}/perl/${PV}/ExtUtils/xsubpp \
+ ${libdir}/perl/${PV}/ExtUtils/Changes_EU-Install \
+ ${libdir}/perl/${PV}/Net/*.eg \
+ ${libdir}/perl/${PV}/unicore/mktables \
+ ${libdir}/perl/${PV}/unicore/mktables.lst \
+ ${libdir}/perl/${PV}/unicore/version "
+
+FILES_perl-module-cpan += "${libdir}/perl/${PV}/CPAN \
+ ${libdir}/perl/${PV}/CPAN.pm"
+FILES_perl-module-cpanplus += "${libdir}/perl/${PV}/CPANPLUS \
+ ${libdir}/perl/${PV}/CPANPLUS.pm"
+FILES_perl-module-unicore += "${libdir}/perl/${PV}/unicore"
+
+# Create a perl-modules package recommending all the other perl
+# packages (actually the non modules packages and not created too)
+ALLOW_EMPTY_perl-modules = "1"
+PACKAGES_append = " perl-modules "
+RRECOMMENDS_perl-modules = "${@bb.data.getVar('PACKAGES', d, 1).replace('perl-modules ', '').replace('perl-dbg ', '').replace('perl-misc ', '').replace('perl-dev ', '').replace('perl-pod ', '').replace('perl-doc ', '')}"
+
+python populate_packages_prepend () {
+ libdir = bb.data.expand('${libdir}/perl/${PV}', d)
+ do_split_packages(d, libdir, 'auto/(Encode/.[^/]*)/.*', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
+ do_split_packages(d, libdir, 'auto/([^/]*)/.*', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
+ do_split_packages(d, libdir, 'Module/([^\/]*).*', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
+ do_split_packages(d, libdir, '(^(?!(CPAN\/|CPANPLUS\/|Module\/|unicore\/|auto\/)[^\/]).*)\.(pm|pl|e2x)', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
+}
+
+PACKAGES_DYNAMIC = "perl-module-*"
+
+RPROVIDES_perl-lib = "perl-lib"
+
+require perl-rdepends_${PV}.inc
+require perl-rprovides.inc
+require perl-rprovides_${PV}.inc
+
+PARALLEL_MAKE = ""
diff --git a/meta/recipes-devtools/perl/perl_5.8.8.bb b/meta/recipes-devtools/perl/perl_5.8.8.bb
deleted file mode 100644
index 8e2f0c0af..000000000
--- a/meta/recipes-devtools/perl/perl_5.8.8.bb
+++ /dev/null
@@ -1,228 +0,0 @@
-SUMMARY = "Perl (Pathologically Eclectic Rubbish Lister)"
-DESCRIPTION = "Perl is a high-level, general-purpose, interpreted, dynamic programming language. It was \
-originally written as a general-purpose scripting language to make report processing easier. This makes perl \
-especially good at handling text."
-HOMEPAGE = "http://www.perl.org/"
-SECTION = "devel"
-LICENSE = "Artistic|GPL"
-LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
- file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8"
-PRIORITY = "optional"
-# We need gnugrep (for -I)
-DEPENDS = "virtual/db perl-native grep-native"
-DEPENDS += "gdbm"
-PR = "r21"
-
-# Major part of version
-PVM = "5.8"
-
-SRC_URI = "ftp://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \
- file://Makefile.patch;patch=1 \
- file://Makefile.SH.patch;patch=1 \
- file://makedepend-dash.patch;patch=1 \
- file://installperl.patch;patch=1 \
- file://perl-dynloader.patch;patch=1 \
- file://perl-moreconfig.patch;patch=1 \
- file://letgcc-find-errno.patch;patch=1 \
- file://generate-sh.patch;patch=1 \
- file://perl-5.8.8-gcc-4.2.patch;patch=1 \
- file://09_fix_installperl.patch;patch=1 \
- file://52_debian_extutils_hacks.patch;patch=1 \
- file://53_debian_mod_paths.patch;patch=1 \
- file://54_debian_perldoc-r.patch;patch=1 \
- file://58_debian_cpan_config_path.patch;patch=1 \
- file://60_debian_libnet_config_path.patch;patch=1 \
- file://62_debian_cpan_definstalldirs.patch;patch=1 \
- file://64_debian_enc2xs_inc.patch;patch=1 \
- file://asm-pageh-fix.patch;patch=1 \
- file://native-perlinc.patch;patch=1 \
- file://perl-enable-gdbm.patch;patch=1 \
- file://config.sh \
- file://config.sh-32 \
- file://config.sh-32-le \
- file://config.sh-32-be \
- file://config.sh-64 \
- file://config.sh-64-le \
- file://config.sh-64-be"
-
-SRC_URI[md5sum] = "b8c118d4360846829beb30b02a6b91a7"
-SRC_URI[sha256sum] = "e15d499321e003d12ed183601e37ee7ba5f64b278d1de30149ce01bd4a3f234d"
-
-inherit siteinfo
-
-# Where to find the native perl
-HOSTPERL = "${STAGING_BINDIR_NATIVE}/perl${PV}"
-
-# Where to find .so files - use the -native versions not those from the target build
-export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl/${PV}/"
-
-do_configure() {
- # Make hostperl in build directory be the native perl
- ln -s ${HOSTPERL} hostperl
-
- # Do our work in the cross subdir
- cd Cross
-
- # Generate configuration
- rm -f config.sh-${TARGET_ARCH}-${TARGET_OS}
- for i in ${WORKDIR}/config.sh \
- ${WORKDIR}/config.sh-${@siteinfo_get_bits(d)} \
- ${WORKDIR}/config.sh-${@siteinfo_get_bits(d)}-${@siteinfo_get_endianess(d)}; do
- cat $i >> config.sh-${TARGET_ARCH}-${TARGET_OS}
- done
-
- # Fixups for uclibc
- if [ "${TARGET_OS}" = "linux-uclibc" -o "${TARGET_OS}" = "linux-uclibcgnueabi" ]; then
- sed -i -e "s,\(d_crypt_r=\)'define',\1'undef',g" \
- -e "s,\(crypt_r_proto=\)'\w+',\1'0',g" \
- -e "s,\(d_getnetbyname_r=\)'define',\1'undef',g" \
- -e "s,\(getnetbyname_r_proto=\)'\w+',\1'0',g" \
- -e "s,\(d_getnetbyaddr_r=\)'define',\1'undef',g" \
- -e "s,\(getnetbyaddr_r_proto=\)'\w+',\1'0',g" \
- -e "s,\(d_getnetent_r=\)'define',\1'undef',g" \
- -e "s,\(getnetent_r_proto=\)'\w+',\1'0',g" \
- -e "s,\(d_sockatmark=\)'define',\1'undef',g" \
- -e "s,\(d_sockatmarkproto=\)'\w+',\1'0',g" \
- config.sh-${TARGET_ARCH}-${TARGET_OS}
- fi
-
- # Update some paths in the configuration
- sed -i -e 's,@LIBDIR@,${libdir},g' \
- -e 's,@BINDIR@,${bindir},g' \
- -e 's,@MANDIR@,${mandir},g' \
- -e 's,@PREFIX@,${prefix},g' \
- -e 's,@DATADIR@,${datadir},g' \
- -e 's,@ARCH@,${TARGET_ARCH}-${TARGET_OS},g' \
- -e "s%/usr/include/%${STAGING_INCDIR}/%g" \
- -e 's,/usr/,${exec_prefix}/,g' \
- config.sh-${TARGET_ARCH}-${TARGET_OS}
-
-
- # These are strewn all over the source tree
- for foo in `grep -I -m1 \/usr\/include\/.*\\.h ${WORKDIR}/* -r | cut -f 1 -d ":"` ; do
- echo Fixing: $foo
- sed -e "s%/usr/include/%${STAGING_INCDIR}/%g" -i $foo
- done
-
- rm -f config
- echo "ARCH = ${TARGET_ARCH}" > config
- echo "OS = ${TARGET_OS}" >> config
-}
-
-do_compile() {
- if test "${MACHINE}" != "native"; then
- sed -i -e 's|/usr/include|${STAGING_INCDIR}|g' ext/Errno/Errno_pm.PL
- fi
- cd Cross
- oe_runmake perl LD="${TARGET_SYS}-gcc"
-}
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' install
-
- # Add perl pointing at current version
- ln -sf perl${PV} ${D}${bindir}/perl
-
- # Fix up versioned directories
- mv ${D}/${libdir}/perl/${PVM} ${D}/${libdir}/perl/${PV}
- mv ${D}/${datadir}/perl/${PVM} ${D}/${datadir}/perl/${PV}
- ln -sf ${PV} ${D}/${libdir}/perl/${PVM}
- ln -sf ${PV} ${D}/${datadir}/perl/${PVM}
-
- # Remove unwanted file
- rm -f ${D}/${libdir}/perl/${PV}/.packlist
-
- # Fix up shared library
- mv -f ${D}/${libdir}/perl/${PV}/CORE/libperl.so ${D}/${libdir}/libperl.so.${PV}
- ln -sf libperl.so.${PV} ${D}/${libdir}/libperl.so.5
-
- # target config, used by cpan.bbclass to extract version information
- install config.sh ${D}${libdir}/perl/
-
- install -d ${D}${datadir}/perl/${PV}/ExtUtils
- install lib/ExtUtils/typemap ${D}${datadir}/perl/${PV}/ExtUtils/
-
- ln -s Config_heavy.pl ${D}${libdir}/perl/${PV}/Config_heavy-target.pl
-}
-
-PACKAGE_PREPROCESS_FUNCS += "perl_package_preprocess"
-
-perl_package_preprocess () {
- # Fix up installed configuration
- sed -i -e "s,${D},,g" \
- -e "s,-isystem${STAGING_INCDIR} ,,g" \
- -e "s,${STAGING_LIBDIR},${libdir},g" \
- -e "s,${STAGING_BINDIR},${bindir},g" \
- -e "s,${STAGING_INCDIR},${includedir},g" \
- -e "s,${STAGING_BINDIR_NATIVE}/,,g" \
- ${PKGD}${bindir}/h2xs \
- ${PKGD}${bindir}/h2ph \
- ${PKGD}${datadir}/perl/${PV}/pod/*.pod \
- ${PKGD}${datadir}/perl/${PV}/cacheout.pl \
- ${PKGD}${datadir}/perl/${PV}/FileCache.pm \
- ${PKGD}${libdir}/perl/config.sh \
- ${PKGD}${libdir}/perl/${PV}/Config.pm \
- ${PKGD}${libdir}/perl/${PV}/Config_heavy.pl \
- ${PKGD}${libdir}/perl/${PV}/CORE/perl.h \
- ${PKGD}${libdir}/perl/${PV}/CORE/pp.h
-}
-
-PACKAGES = "perl-dbg perl perl-misc perl-lib perl-dev perl-pod perl-doc"
-FILES_${PN} = "${bindir}/perl ${bindir}/perl${PV}"
-FILES_${PN}-lib = "${libdir}/libperl.so* ${libdir}/perl/${PVM} ${datadir}/perl/${PVM}"
-FILES_${PN}-dev = "${libdir}/perl/${PV}/CORE"
-FILES_${PN}-pod = "${datadir}/perl/${PV}/pod \
- ${datadir}/perl/${PV}/*/*.pod \
- ${datadir}/perl/${PV}/*/*/*.pod \
- ${libdir}/perl/${PV}/*.pod"
-FILES_perl-misc = "${bindir}/*"
-FILES_${PN}-dbg += "${libdir}/perl/${PV}/auto/*/.debug \
- ${libdir}/perl/${PV}/auto/*/*/.debug \
- ${libdir}/perl/${PV}/auto/*/*/*/.debug \
- ${datadir}/perl/${PV}/auto/*/.debug \
- ${datadir}/perl/${PV}/auto/*/*/.debug \
- ${datadir}/perl/${PV}/auto/*/*/*/.debug \
- ${libdir}/perl/${PV}/CORE/.debug"
-FILES_${PN}-doc = "${datadir}/perl/${PV}/*/*.txt \
- ${datadir}/perl/${PV}/*/*/*.txt \
- ${datadir}/perl/${PV}/Net/*.eg \
- ${datadir}/perl/${PV}/CGI/eg \
- ${datadir}/perl/${PV}/ExtUtils/PATCHING \
- ${datadir}/perl/${PV}/ExtUtils/NOTES \
- ${datadir}/perl/${PV}/ExtUtils/typemap \
- ${datadir}/perl/${PV}/ExtUtils/MANIFEST.SKIP \
- ${datadir}/perl/${PV}/CPAN/SIGNATURE \
- ${datadir}/perl/${PV}/CPAN/PAUSE2003.pub \
- ${datadir}/perl/${PV}/B/assemble \
- ${datadir}/perl/${PV}/B/makeliblinks \
- ${datadir}/perl/${PV}/B/disassemble \
- ${datadir}/perl/${PV}/B/cc_harness \
- ${datadir}/perl/${PV}/ExtUtils/xsubpp \
- ${datadir}/perl/${PV}/Encode/encode.h \
- ${datadir}/perl/${PV}/unicore/mktables \
- ${datadir}/perl/${PV}/unicore/mktables.lst \
- ${datadir}/perl/${PV}/unicore/version"
-
-RPROVIDES_perl-lib = "perl-lib"
-
-# Create a perl-modules package recommending all the other perl
-# packages (actually the non modules packages and not created too)
-ALLOW_EMPTY_perl-modules = "1"
-PACKAGES_append = " perl-modules "
-RRECOMMENDS_perl-modules = "${@bb.data.getVar('PACKAGES', d, 1).replace('perl-modules ', '').replace('perl-dbg ', '').replace('perl-misc ', '').replace('perl-dev ', '').replace('perl-pod ', '').replace('perl-doc ', '')}"
-
-python populate_packages_prepend () {
- libdir = bb.data.expand('${libdir}/perl/${PV}', d)
- do_split_packages(d, libdir, 'auto/(.*)(?!\.debug)/', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True)
- do_split_packages(d, libdir, '(.*)\.(pm|pl|e2x)', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True)
- datadir = bb.data.expand('${datadir}/perl/${PV}', d)
- do_split_packages(d, datadir, 'auto/(.*)(?!\.debug)/', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True)
- do_split_packages(d, datadir, '(.*)\.(pm|pl|e2x)', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True)
-}
-
-PACKAGES_DYNAMIC = "perl-module-*"
-
-require perl-rdepends_${PV}.inc
-require perl-rprovides.inc
-
-PARALLEL_MAKE = ""
diff --git a/meta/recipes-devtools/prelink/prelink_git.bb b/meta/recipes-devtools/prelink/prelink_git.bb
index 1601443e3..86205130f 100644
--- a/meta/recipes-devtools/prelink/prelink_git.bb
+++ b/meta/recipes-devtools/prelink/prelink_git.bb
@@ -27,6 +27,11 @@ BBCLASSEXTEND = "native"
EXTRA_OECONF = "--disable-selinux --with-pkgversion=${PV}-${PR} \
--with-bugurl=http://bugzilla.pokylinux.org/"
+do_configure_prepend () {
+ # Disable documentation!
+ echo "all:" > ${S}/doc/Makefile.am
+}
+
do_install_append () {
install -d ${D}${sysconfdir}/cron.daily ${D}${sysconfdir}/default
install -m 0644 ${WORKDIR}/prelink.conf ${D}${sysconfdir}/prelink.conf
diff --git a/meta/recipes-devtools/pseudo/pseudo/895fa7e359e8026a608fba052c2994e42901e45f.patch b/meta/recipes-devtools/pseudo/pseudo/895fa7e359e8026a608fba052c2994e42901e45f.patch
deleted file mode 100644
index d8c229541..000000000
--- a/meta/recipes-devtools/pseudo/pseudo/895fa7e359e8026a608fba052c2994e42901e45f.patch
+++ /dev/null
@@ -1,235 +0,0 @@
-From 895fa7e359e8026a608fba052c2994e42901e45f Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@windriver.com>
-Date: Fri, 17 Dec 2010 01:23:47 +0000
-Subject: Revert "Add a cache of the last object found in pseudo_op"
-
-This reverts commit 49d4d35918d457b0e9206679ecad3b9c84f11e66.
-
-Conflicts:
-
- ChangeLog.txt
----
-diff --git a/ChangeLog.txt b/ChangeLog.txt
-index 1db8c7d..200b32e 100644
---- a/ChangeLog.txt
-+++ b/ChangeLog.txt
-@@ -9,7 +9,6 @@
- * (mhatle) as a result of profiling, optimize inode search
- * (mhatle) rearrange the pseudo_op file data operations to reduce
- the number of selects.
-- * (mhatle) add the ability to cache the last select result
- * (mhatle) change the indexing in pseudo_db.c
-
- 2010-12-14:
-diff --git a/pseudo.c b/pseudo.c
-index 3979fd8..6b965be 100644
---- a/pseudo.c
-+++ b/pseudo.c
-@@ -425,9 +425,6 @@ pseudo_op(pseudo_msg_t *msg, const char *program, const char *tag) {
- int found_path = 0, found_ino = 0;
- int prefer_ino = 0;
-
-- static pseudo_msg_t cache_msg = { .op = 0 };
-- static char * cache_path = NULL;
--
- if (!msg)
- return 1;
-
-@@ -471,59 +468,7 @@ pseudo_op(pseudo_msg_t *msg, const char *program, const char *tag) {
-
- /* Lookup the full path, with inode and dev if available */
- if (msg->pathlen && msg->dev && msg->ino) {
-- if (cache_msg.pathlen == msg->pathlen &&
-- cache_msg.dev == msg->dev &&
-- cache_msg.ino == msg->ino &&
-- !strcmp(cache_path, msg->path)) {
-- /* Found it in the cache! */
--#ifdef NPROFILE
-- pseudo_diag("cache hit -- by_file_exact\n");
--#endif
-- /* Change the cache to match the msg */
-- cache_msg.type = msg->type;
-- cache_msg.op = msg->op;
-- cache_msg.result = msg->result;
-- cache_msg.access = msg->access;
-- cache_msg.fd = msg->fd;
--#ifdef NVALIDATE
-- if (!pdb_find_file_exact(msg)) {
-- if (cache_msg.pathlen != msg->pathlen ||
-- cache_msg.dev != msg->dev ||
-- cache_msg.ino != msg->ino ||
-- cache_msg.uid != msg->uid ||
-- cache_msg.gid != msg->gid ||
-- cache_msg.mode != msg->mode ||
-- cache_msg.rdev != msg->rdev ||
-- cache_msg.nlink != msg->nlink ||
-- cache_msg.deleting != msg->deleting) {
-- pseudo_diag("Cache mismatch [%s]: Database differs from cache\n"
-- " cache vs result:\n"
-- " dev (%llu,%llu) ino (%llu,%llu)\n"
-- " uid (%d,%d) gid (%d,%d) mode (0%o,0%o)\n"
-- " rdev (%llu,%llu) nlink (%d,%d) deleting (%d,%d)\n",
-- msg->pathlen ? msg->path : "no path",
-- (unsigned long long) cache_msg.dev, (unsigned long long) msg->dev,
-- (unsigned long long) cache_msg.ino, (unsigned long long) msg->ino,
-- (unsigned long long) cache_msg.uid, (unsigned int) msg->uid,
-- (unsigned long long) cache_msg.gid, (unsigned int) msg->gid,
-- cache_msg.mode, msg->mode,
-- (unsigned long long) cache_msg.rdev, (unsigned int) msg->rdev,
-- cache_msg.nlink, msg->nlink,
-- cache_msg.deleting, msg->deleting);
-- }
-- } else {
-- pseudo_diag("Cache mismatch [%s]: Not found in DB\n",
-- msg->pathlen ? msg->path : "no path");
-- }
--#endif
--
-- by_path = cache_msg;
-- by_ino = cache_msg;
-- /* no need to restore msg */
-- found_path = 1;
-- found_ino = 1;
-- path_by_ino = msg->path;
-- } else if (!pdb_find_file_exact(msg)) {
-+ if (!pdb_find_file_exact(msg)) {
- /* restore header contents */
- by_path = *msg;
- by_ino = *msg;
-@@ -539,51 +484,7 @@ pseudo_op(pseudo_msg_t *msg, const char *program, const char *tag) {
- if (msg->pathlen) {
- /* for now, don't canonicalize paths anymore */
- /* used to do it here, but now doing it in client */
-- if (cache_msg.pathlen == msg->pathlen &&
-- !strcmp(cache_path, msg->path)) {
--#ifdef NPROFILE
-- pseudo_diag("cache hit -- by_path\n");
--#endif
-- /* Change the cache to match the msg */
-- cache_msg.type = msg->type;
-- cache_msg.op = msg->op;
-- cache_msg.result = msg->result;
-- cache_msg.access = msg->access;
-- cache_msg.fd = msg->fd;
--#ifdef NVALIDATE
-- if (!pdb_find_file_exact(msg)) {
-- if (cache_msg.pathlen != msg->pathlen ||
-- cache_msg.dev != msg->dev ||
-- cache_msg.ino != msg->ino ||
-- cache_msg.uid != msg->uid ||
-- cache_msg.gid != msg->gid ||
-- cache_msg.mode != msg->mode ||
-- cache_msg.rdev != msg->rdev ||
-- cache_msg.nlink != msg->nlink ||
-- cache_msg.deleting != msg->deleting) {
-- pseudo_diag("Cache mismatch [%s]: Database differs from cache\n"
-- " cache vs result:\n"
-- " dev (%llu,%llu) ino (%llu,%llu)\n"
-- " uid (%d,%d) gid (%d,%d) mode (0%o,0%o)\n"
-- " rdev (%llu,%llu) nlink (%d,%d) deleting (%d,%d)\n",
-- msg->pathlen ? msg->path : "no path",
-- (unsigned long long) cache_msg.dev, (unsigned long long) msg->dev,
-- (unsigned long long) cache_msg.ino, (unsigned long long) msg->ino,
-- (unsigned long long) cache_msg.uid, (unsigned int) msg->uid,
-- (unsigned long long) cache_msg.gid, (unsigned int) msg->gid,
-- cache_msg.mode, msg->mode,
-- (unsigned long long) cache_msg.rdev, (unsigned int) msg->rdev,
-- cache_msg.nlink, msg->nlink,
-- cache_msg.deleting, msg->deleting);
-- }
-- } else {
-- pseudo_diag("Cache mismatch [%s]: Not found in DB\n",
-- msg->pathlen ? msg->path : "no path");
-- }
--#endif
-- by_path = cache_msg;
-- found_path = 1;
-- } else if (!pdb_find_file_path(msg)) {
-+ if (!pdb_find_file_path(msg)) {
- by_path = *msg;
- found_path = 1;
- } else {
-@@ -594,51 +495,7 @@ pseudo_op(pseudo_msg_t *msg, const char *program, const char *tag) {
- }
- /* search on original inode -- in case of mismatch */
- if (msg->dev && msg->ino) {
-- if (cache_msg.dev == msg->dev &&
-- cache_msg.ino == msg->ino) {
--#ifdef NPROFILE
-- pseudo_diag("cache hit -- by_ino\n");
--#endif
-- /* Change the cache to match the msg */
-- cache_msg.type = msg->type;
-- cache_msg.op = msg->op;
-- cache_msg.result = msg->result;
-- cache_msg.access = msg->access;
-- cache_msg.fd = msg->fd;
--#ifdef NVALIDATE
-- if (!pdb_find_file_exact(msg)) {
-- if (cache_msg.pathlen != msg->pathlen ||
-- cache_msg.dev != msg->dev ||
-- cache_msg.ino != msg->ino ||
-- cache_msg.uid != msg->uid ||
-- cache_msg.gid != msg->gid ||
-- cache_msg.mode != msg->mode ||
-- cache_msg.rdev != msg->rdev ||
-- cache_msg.nlink != msg->nlink ||
-- cache_msg.deleting != msg->deleting) {
-- pseudo_diag("Cache mismatch [%s]: Database differs from cache\n"
-- " cache vs result:\n"
-- " dev (%llu,%llu) ino (%llu,%llu)\n"
-- " uid (%d,%d) gid (%d,%d) mode (0%o,0%o)\n"
-- " rdev (%llu,%llu) nlink (%d,%d) deleting (%d,%d)\n",
-- msg->pathlen ? msg->path : "no path",
-- (unsigned long long) cache_msg.dev, (unsigned long long) msg->dev,
-- (unsigned long long) cache_msg.ino, (unsigned long long) msg->ino,
-- (unsigned long long) cache_msg.uid, (unsigned int) msg->uid,
-- (unsigned long long) cache_msg.gid, (unsigned int) msg->gid,
-- cache_msg.mode, msg->mode,
-- (unsigned long long) cache_msg.rdev, (unsigned int) msg->rdev,
-- cache_msg.nlink, msg->nlink,
-- cache_msg.deleting, msg->deleting);
-- }
-- } else {
-- pseudo_diag("Cache mismatch [%s]: Not found in DB\n",
-- msg->pathlen ? msg->path : "no path");
-- }
--#endif
-- found_ino = 1;
-- path_by_ino = cache_path;
-- } else if (!pdb_find_file_dev(&by_ino)) {
-+ if (!pdb_find_file_dev(&by_ino)) {
- found_ino = 1;
- path_by_ino = pdb_get_file_path(&by_ino);
- }
-@@ -1016,28 +873,6 @@ pseudo_op(pseudo_msg_t *msg, const char *program, const char *tag) {
- break;
- }
-
-- /* Cache previous values... */
-- if (msg->op != OP_MAY_UNLINK &&
-- msg->op != OP_DID_UNLINK &&
-- msg->op != OP_CANCEL_UNLINK &&
-- msg->op != OP_UNLINK) {
--
-- cache_msg = *msg;
--
-- free(cache_path);
--
-- if (path_by_ino)
-- cache_path = strdup(path_by_ino);
-- else
-- cache_path = strdup(msg->path);
-- } else {
-- cache_msg.pathlen = 0;
-- cache_msg.dev = 0;
-- cache_msg.ino = 0;
-- free(cache_path);
-- cache_path = NULL;
-- }
--
- /* in the case of an exact match, we just used the pointer
- * rather than allocating space
- */
---
-cgit v0.8.3.3-89-gbf82
diff --git a/meta/recipes-devtools/pseudo/pseudo/static_sqlite.patch b/meta/recipes-devtools/pseudo/pseudo/static_sqlite.patch
index 0a2fa28d7..6faa7a2a4 100644
--- a/meta/recipes-devtools/pseudo/pseudo/static_sqlite.patch
+++ b/meta/recipes-devtools/pseudo/pseudo/static_sqlite.patch
@@ -2,14 +2,14 @@ Due to disabling the LD_LIBRARY_PATH handling, we need to use a static
libsqlite.
diff -ur git.orig/Makefile.in git/Makefile.in
---- git.orig/Makefile.in 2010-07-20 17:13:56.000000000 -0700
-+++ git/Makefile.in 2010-07-20 17:12:14.000000000 -0700
-@@ -45,7 +45,7 @@
- GLOB_PATTERN=guts/*.c
- GUTS=$(filter-out "$(GLOB_PATTERN)",$(wildcard $(GLOB_PATTERN)))
+--- git.orig/Makefile.in
++++ git/Makefile.in
+@@ -55,7 +55,7 @@
--DBLDFLAGS=-lsqlite3
-+DBLDFLAGS=$(SQLITE)/lib/libsqlite3.a
- USE_64=wrapfuncs64.in
+ # needed for anything that links with pseduo_client.o, pretty much
+ CLIENT_LDFLAGS=-ldl -lpthread
+-DB_LDFLAGS=-lsqlite3 -lpthread
++DB_LDFLAGS=$(SQLITE)/lib/libsqlite3.a -lpthread
- SHOBJS=pseudo_table.o pseudo_util.o
+ PSEUDO=$(BIN)/pseudo
+ PSEUDODB=$(BIN)/pseudodb
diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb b/meta/recipes-devtools/pseudo/pseudo_git.bb
index f9b10f0d3..244fabe1e 100644
--- a/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -6,11 +6,11 @@ LICENSE = "LGPL2.1"
DEPENDS = "sqlite3"
PV = "0.0+git${SRCPV}"
-PR = "r16"
+PR = "r18"
SRC_URI = "git://github.com/wrpseudo/pseudo.git;protocol=git \
file://static_sqlite.patch \
- file://895fa7e359e8026a608fba052c2994e42901e45f.patch"
+ "
FILES_${PN} = "${libdir}/libpseudo.so ${bindir}/* ${localstatedir}/pseudo"
PROVIDES += "virtual/fakeroot"
@@ -25,7 +25,26 @@ do_configure () {
NO32LIBS ??= "0"
+# Compile for the local machine arch...
do_compile () {
+ ${S}/configure --prefix=${prefix} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=${SITEINFO_BITS}
+ oe_runmake 'LIB=lib/pseudo/lib$(MARK64)'
+}
+
+# Two below are the same
+# If necessary compile for the alternative machine arch. This is only
+# necessary in a native build.
+do_compile_prepend_virtclass-native () {
+ if [ "${SITEINFO_BITS}" == "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" == "pseudo-native" -a "${NO32LIBS}" != "1" ]; then
+ # We need the 32-bit libpseudo on a 64-bit machine...
+ ./configure --prefix=${prefix} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32
+ oe_runmake 'CFLAGS=-m32' 'LIB=lib/pseudo/lib' libpseudo
+ # prevent it from removing the lib, but remove everything else
+ make 'LIB=foo' distclean
+ fi
+}
+
+do_compile_prepend_virtclass-nativesdk () {
if [ "${SITEINFO_BITS}" == "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" == "pseudo-native" -a "${NO32LIBS}" != "1" ]; then
# We need the 32-bit libpseudo on a 64-bit machine...
./configure --prefix=${prefix} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32
@@ -33,18 +52,27 @@ do_compile () {
# prevent it from removing the lib, but remove everything else
make 'LIB=foo' distclean
fi
- ${S}/configure --prefix=${prefix} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=${SITEINFO_BITS}
- oe_runmake 'LIB=lib/pseudo/lib$(MARK64)'
}
do_install () {
oe_runmake 'DESTDIR=${D}' 'LIB=lib/pseudo/lib$(MARK64)' install
+}
+
+# Two below are the same
+# If necessary install for the alternative machine arch. This is only
+# necessary in a native build.
+do_install_append_virtclass-native () {
if [ "${SITEINFO_BITS}" == "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" == "pseudo-native" -a "${NO32LIBS}" != "1" ]; then
mkdir -p ${D}${prefix}/lib/pseudo/lib
cp lib/pseudo/lib/libpseudo.so ${D}${prefix}/lib/pseudo/lib/.
fi
}
-BBCLASSEXTEND = "native nativesdk"
-
+do_install_append_virtclass-nativesdk () {
+ if [ "${SITEINFO_BITS}" == "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" == "pseudo-native" -a "${NO32LIBS}" != "1" ]; then
+ mkdir -p ${D}${prefix}/lib/pseudo/lib
+ cp lib/pseudo/lib/libpseudo.so ${D}${prefix}/lib/pseudo/lib/.
+ fi
+}
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/python/python-dbus_0.83.1.bb b/meta/recipes-devtools/python/python-dbus_0.83.2.bb
index d405ffa8c..323dae50e 100644
--- a/meta/recipes-devtools/python/python-dbus_0.83.1.bb
+++ b/meta/recipes-devtools/python/python-dbus_0.83.2.bb
@@ -4,12 +4,12 @@ HOMEPAGE = "http://www.freedesktop.org/Software/dbus"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=f5612614133e9a2f2dad527d97554670"
DEPENDS = "expat dbus dbus-glib virtual/libintl python-pyrex-native"
-PR = "ml0"
+PR = "r0"
SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.gz"
-SRC_URI[md5sum] = "5fdf3970aa0c00020289de7ba8f3be18"
-SRC_URI[sha256sum] = "ce283806f1af4f2322e183a276528a880b503c74972932bd09f06bdb7fcc1b99"
+SRC_URI[md5sum] = "4ebcaa905bdcb4132b915196b0a3691b"
+SRC_URI[sha256sum] = "883729c98f40790021e3be0f7028ae863ee1c4a7b922a5578c1342592adfff64"
S = "${WORKDIR}/dbus-python-${PV}"
inherit distutils-base autotools pkgconfig
@@ -20,6 +20,6 @@ export HOST_SYS
export STAGING_LIBDIR
export STAGING_INCDIR
-RDEPENDS = "python-io python-logging python-stringold python-threading python-xml"
+RDEPENDS_${PN} = "python-io python-logging python-stringold python-threading python-xml"
FILES_${PN}-dev += "${libdir}/pkgconfig
diff --git a/meta/recipes-devtools/python/python-gst_0.10.19.bb b/meta/recipes-devtools/python/python-gst_0.10.19.bb
index 16852d1a1..22d63393b 100644
--- a/meta/recipes-devtools/python/python-gst_0.10.19.bb
+++ b/meta/recipes-devtools/python/python-gst_0.10.19.bb
@@ -2,8 +2,8 @@ DESCRIPTION = "Python Gstreamer bindings"
SECTION = "devel/python"
LICENSE = "LGPLv2.1"
DEPENDS = "gstreamer gst-plugins-base python-pygobject"
-RDEPENDS += "python-pygtk"
-PR = "r0"
+RDEPENDS_${PN} += "python-pygtk"
+PR = "r1"
SRC_URI = "http://gstreamer.freedesktop.org/src/gst-python/gst-python-${PV}.tar.bz2 \
file://python-path.patch"
diff --git a/meta/recipes-devtools/python/python-imaging_1.1.7.bb b/meta/recipes-devtools/python/python-imaging_1.1.7.bb
index bd6fe1d22..ce3b97711 100644
--- a/meta/recipes-devtools/python/python-imaging_1.1.7.bb
+++ b/meta/recipes-devtools/python/python-imaging_1.1.7.bb
@@ -4,9 +4,9 @@ PRIORITY = "optional"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://README;beginline=92;endline=120;md5=c4371af4579f1e489cf881c1443dd4ec"
DEPENDS = "freetype jpeg tiff"
-RDEPENDS = "python-lang python-stringold"
+RDEPENDS_${PN} = "python-lang python-stringold"
SRCNAME = "Imaging"
-PR = "ml0"
+PR = "ml1"
SRC_URI = "http://effbot.org/downloads/Imaging-${PV}.tar.gz \
file://path.patch"
diff --git a/meta/recipes-devtools/python/python-native_2.6.6.bb b/meta/recipes-devtools/python/python-native_2.6.6.bb
index 148dc587e..2ad10c919 100644
--- a/meta/recipes-devtools/python/python-native_2.6.6.bb
+++ b/meta/recipes-devtools/python/python-native_2.6.6.bb
@@ -2,6 +2,7 @@ require python.inc
DEPENDS = "openssl-native bzip2-full-native zlib-native readline-native sqlite3-native"
PR = "${INC_PR}.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=38fdd546420fab09ac6bd3d8a1c83eb6"
SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.bz2 \
file://04-default-is-optimized.patch \
diff --git a/meta/recipes-devtools/python/python-pycurl_7.19.0.bb b/meta/recipes-devtools/python/python-pycurl_7.19.0.bb
index c8841f440..b868ad8cd 100644
--- a/meta/recipes-devtools/python/python-pycurl_7.19.0.bb
+++ b/meta/recipes-devtools/python/python-pycurl_7.19.0.bb
@@ -8,9 +8,9 @@ LIC_FILES_CHKSUM = "file://README;endline=13;md5=fbfe545b1869617123a08c0983ef17b
file://COPYING2;md5=ffaa1e283b7f9bf5aafd8d45db6f7518"
DEPENDS = "curl python"
-RDEPENDS = "python-core curl"
+RDEPENDS_${PN} = "python-core curl"
SRCNAME = "pycurl"
-PR = "r0"
+PR = "r1"
SRC_URI = "\
http://${SRCNAME}.sourceforge.net/download/${SRCNAME}-${PV}.tar.gz;name=archive \
diff --git a/meta/recipes-devtools/python/python-pygobject-native_2.27.0.bb b/meta/recipes-devtools/python/python-pygobject-native_2.27.0.bb
deleted file mode 100644
index d3602277a..000000000
--- a/meta/recipes-devtools/python/python-pygobject-native_2.27.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require python-pygobject_${PV}.bb
-
-DEPENDS = "python-native glib-2.0-native"
-PR = "r0"
-
-PARALLEL_MAKE = ""
-
-inherit native
-
-SRC_URI = "ftp://ftp.gnome.org/pub/GNOME/sources/pygobject/${MAJ_VER}/pygobject-${PV}.tar.bz2"
-
-do_install_append() {
- install -d ${D}${bindir}
- install -m 0755 gobject/generate-constants ${D}${bindir}/gobject-generate-constants
-}
diff --git a/meta/recipes-devtools/python/python-pygobject_2.27.0.bb b/meta/recipes-devtools/python/python-pygobject_2.27.0.bb
index 43561088a..876e8a4bc 100644
--- a/meta/recipes-devtools/python/python-pygobject_2.27.0.bb
+++ b/meta/recipes-devtools/python/python-pygobject_2.27.0.bb
@@ -3,18 +3,20 @@ SECTION = "devel/python"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
DEPENDS = "python-pygobject-native-${PV} glib-2.0"
-PR = "r0"
+DEPENDS_virtclass-native = "glib-2.0-native"
+RDEPENDS_virtclass-native = ""
+PR = "r2"
MAJ_VER = "${@bb.data.getVar('PV',d,1).split('.')[0]}.${@bb.data.getVar('PV',d,1).split('.')[1]}"
-SRC_URI = "ftp://ftp.gnome.org/pub/GNOME/sources/pygobject/${MAJ_VER}/pygobject-${PV}.tar.bz2 \
- file://generate-constants.patch"
+SRC_URI = "ftp://ftp.gnome.org/pub/GNOME/sources/pygobject/${MAJ_VER}/pygobject-${PV}.tar.bz2"
-SRC_URI[md5sum] = "c12eef0cd6725dc7245c3db78ef85d2d"
-SRC_URI[sha256sum] = "e6ae6c70966899d2040c82ae4e1590cf941ebf121a3ec61e80bf517ce8d9be0a"
+SRC_URI[md5sum] = "9e2496ffa4e55911f94232e29ee9f146"
+SRC_URI[sha256sum] = "7594bd86c5b92a4ba1f26927800f1b29e1ec5c246cad67aa085c279d6425b8a2"
S = "${WORKDIR}/pygobject-${PV}"
FILESPATH = "${FILE_DIRNAME}/python-pygobject:${FILE_DIRNAME}/files"
+EXTRA_OECONF += "--disable-introspection"
inherit autotools distutils-base pkgconfig
@@ -32,3 +34,5 @@ FILES_${PN} = "${libdir}/python*"
FILES_${PN}-lib = "${libdir}/lib*.so.*"
FILES_${PN}-dev += "${bindir} ${datadir}"
FILES_${PN}-dbg += "${libdir}/.debug"
+
+BBCLASSEXTEND = "native"
diff --git a/meta/recipes-devtools/python/python-pygtk_2.17.0.bb b/meta/recipes-devtools/python/python-pygtk_2.17.0.bb
index c32d9987a..f56e1fec8 100644
--- a/meta/recipes-devtools/python/python-pygtk_2.17.0.bb
+++ b/meta/recipes-devtools/python/python-pygtk_2.17.0.bb
@@ -2,12 +2,12 @@ DESCRIPTION = "Python GTK+ 2.17.x Bindings"
SECTION = "devel/python"
# needs gtk+ 2.17.x
DEPENDS = "gtk+ libglade python-pycairo python-pygobject"
-RDEPENDS = "python-shell python-pycairo python-pygobject"
+RDEPENDS_${PN} = "python-shell python-pycairo python-pygobject"
PROVIDES = "python-pygtk2"
SRCNAME = "pygtk"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
-PR = "ml8.3"
+PR = "ml9"
SRC_URI = "ftp://ftp.gnome.org/pub/gnome/sources/pygtk/2.17/${SRCNAME}-${PV}.tar.bz2 \
file://fix-gtkunixprint.patch \
diff --git a/meta/recipes-devtools/python/python-pyrex-native_0.9.9.bb b/meta/recipes-devtools/python/python-pyrex-native_0.9.9.bb
index 90b6b1683..827635425 100644
--- a/meta/recipes-devtools/python/python-pyrex-native_0.9.9.bb
+++ b/meta/recipes-devtools/python/python-pyrex-native_0.9.9.bb
@@ -1,5 +1,5 @@
require python-pyrex_${PV}.bb
inherit native
DEPENDS = "python-native"
-RDEPENDS = ""
-PR = "r0"
+RDEPENDS_${PN} = ""
+PR = "r1"
diff --git a/meta/recipes-devtools/python/python-scons-native_2.0.1.bb b/meta/recipes-devtools/python/python-scons-native_2.0.1.bb
index a4bcd4258..f7646a258 100644
--- a/meta/recipes-devtools/python/python-scons-native_2.0.1.bb
+++ b/meta/recipes-devtools/python/python-scons-native_2.0.1.bb
@@ -1,6 +1,6 @@
require python-scons_${PV}.bb
inherit native
DEPENDS = "python-native"
-RDEPENDS = ""
-PR = "r0"
+RDEPENDS_${PN} = ""
+PR = "r1"
diff --git a/meta/recipes-devtools/python/python.inc b/meta/recipes-devtools/python/python.inc
index 62a6ba158..f78250769 100644
--- a/meta/recipes-devtools/python/python.inc
+++ b/meta/recipes-devtools/python/python.inc
@@ -22,4 +22,14 @@ EXTRA_OECONF = "\
--enable-shared \
"
+EXTRA_OECONF_poky-lsb = "\
+ --with-threads \
+ --with-pymalloc \
+ --with-cyclic-gc \
+ --without-cxx \
+ --with-signal-module \
+ --enable-shared \
+ ac_cv_sizeof_off_t=8 \
+"
+
PARALLEL_MAKE = ""
diff --git a/meta/recipes-devtools/python/python_2.6.6.bb b/meta/recipes-devtools/python/python_2.6.6.bb
index b33e0a9e8..ad0d7a956 100644
--- a/meta/recipes-devtools/python/python_2.6.6.bb
+++ b/meta/recipes-devtools/python/python_2.6.6.bb
@@ -1,8 +1,11 @@
require python.inc
DEPENDS = "python-native db gdbm openssl readline sqlite3 zlib"
DEPENDS_sharprom = "python-native db readline zlib gdbm openssl"
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
LIC_FILES_CHKSUM = "file://LICENSE;md5=38fdd546420fab09ac6bd3d8a1c83eb6"
+
+DISTRO_SRC_URI ?= "file://sitecustomize.py"
+DISTRO_SRC_URI_poky-lsb = ""
SRC_URI = "\
http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.bz2 \
file://01-use-proper-tools-for-cross-build.patch \
@@ -12,7 +15,7 @@ SRC_URI = "\
file://05-enable-ctypes-cross-build.patch \
file://06-avoid_usr_lib_termcap_path_in_linking.patch \
file://99-ignore-optimization-flag.patch \
- file://sitecustomize.py \
+ ${DISTRO_SRC_URI} \
"
SRC_URI[md5sum] = "cf4e6881bb84a7ce6089e4a307f71f14"
@@ -74,7 +77,9 @@ do_install() {
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
DESTDIR=${D} LIBDIR=${libdir} install
- install -m 0644 ${WORKDIR}/sitecustomize.py ${D}/${libdir}/python${PYTHON_MAJMIN}
+ if [ -e ${WORKDIR}/sitecustomize.py ]; then
+ install -m 0644 ${WORKDIR}/sitecustomize.py ${D}/${libdir}/python${PYTHON_MAJMIN}
+ fi
# remove hardcoded ccache, see http://bugs.openembedded.net/show_bug.cgi?id=4144
sed -i -e s,ccache,'$(CCACHE)', ${D}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile
diff --git a/meta/recipes-devtools/qemu/qemu-0.12.4/arm-cp15-fix.patch b/meta/recipes-devtools/qemu/qemu-0.12.4/arm-cp15-fix.patch
deleted file mode 100644
index 1e0ea4308..000000000
--- a/meta/recipes-devtools/qemu/qemu-0.12.4/arm-cp15-fix.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-From: Riku Voipio <riku.voipio@nokia.com>
-
-Access the cp15.c13 TLS registers directly with TCG ops instead of with
-a slow helper. If the the cp15 read/write was not TLS register access,
-fall back to the cp15 helper.
-
-This makes accessing __thread variables in linux-user when apps are compiled
-with -mtp=cp15 possible. legal cp15 register to acces from linux-user are
-already checked in cp15_user_ok.
-
-While at it, make the cp15.c13 Thread ID registers available only on
-ARMv6K and newer.
-
-Signed-off-by: Riku Voipio <riku.voipio@nokia.com>
-Acked-by: Laurent Desnogues <laurent.desnogues@gmail.com>
-
-diff --git a/target-arm/helper.c b/target-arm/helper.c
-index b3aec99..27001e8 100644
---- a/target-arm/helper.c
-+++ b/target-arm/helper.c
-@@ -511,7 +511,6 @@ void HELPER(set_cp15)(CPUState *env, uint32_t insn, uint32_t val)
- uint32_t HELPER(get_cp15)(CPUState *env, uint32_t insn)
- {
- cpu_abort(env, "cp15 insn %08x\n", insn);
-- return 0;
- }
-
- /* These should probably raise undefined insn exceptions. */
-@@ -1491,15 +1490,6 @@ void HELPER(set_cp15)(CPUState *env, uint32_t insn, uint32_t val)
- tlb_flush(env, 0);
- env->cp15.c13_context = val;
- break;
-- case 2:
-- env->cp15.c13_tls1 = val;
-- break;
-- case 3:
-- env->cp15.c13_tls2 = val;
-- break;
-- case 4:
-- env->cp15.c13_tls3 = val;
-- break;
- default:
- goto bad_reg;
- }
-@@ -1779,12 +1769,6 @@ uint32_t HELPER(get_cp15)(CPUState *env, uint32_t insn)
- return env->cp15.c13_fcse;
- case 1:
- return env->cp15.c13_context;
-- case 2:
-- return env->cp15.c13_tls1;
-- case 3:
-- return env->cp15.c13_tls2;
-- case 4:
-- return env->cp15.c13_tls3;
- default:
- goto bad_reg;
- }
-diff --git a/target-arm/translate.c b/target-arm/translate.c
-index 5cf3e06..786c329 100644
---- a/target-arm/translate.c
-+++ b/target-arm/translate.c
-@@ -2455,6 +2455,57 @@ static int cp15_user_ok(uint32_t insn)
- return 0;
- }
-
-+static int cp15_tls_load_store(CPUState *env, DisasContext *s, uint32_t insn, uint32_t rd)
-+{
-+ TCGv tmp;
-+ int cpn = (insn >> 16) & 0xf;
-+ int cpm = insn & 0xf;
-+ int op = ((insn >> 5) & 7) | ((insn >> 18) & 0x38);
-+
-+ if (!arm_feature(env, ARM_FEATURE_V6K))
-+ return 0;
-+
-+ if (!(cpn == 13 && cpm == 0))
-+ return 0;
-+
-+ if (insn & ARM_CP_RW_BIT) {
-+ tmp = new_tmp();
-+ switch (op) {
-+ case 2:
-+ tcg_gen_ld_i32(tmp, cpu_env, offsetof(CPUARMState, cp15.c13_tls1));
-+ break;
-+ case 3:
-+ tcg_gen_ld_i32(tmp, cpu_env, offsetof(CPUARMState, cp15.c13_tls2));
-+ break;
-+ case 4:
-+ tcg_gen_ld_i32(tmp, cpu_env, offsetof(CPUARMState, cp15.c13_tls3));
-+ break;
-+ default:
-+ dead_tmp(tmp);
-+ return 0;
-+ }
-+ store_reg(s, rd, tmp);
-+
-+ } else {
-+ tmp = load_reg(s, rd);
-+ switch (op) {
-+ case 2:
-+ tcg_gen_st_i32(tmp, cpu_env, offsetof(CPUARMState, cp15.c13_tls1));
-+ break;
-+ case 3:
-+ tcg_gen_st_i32(tmp, cpu_env, offsetof(CPUARMState, cp15.c13_tls2));
-+ break;
-+ case 4:
-+ tcg_gen_st_i32(tmp, cpu_env, offsetof(CPUARMState, cp15.c13_tls3));
-+ break;
-+ default:
-+ return 0;
-+ }
-+ dead_tmp(tmp);
-+ }
-+ return 1;
-+}
-+
- /* Disassemble system coprocessor (cp15) instruction. Return nonzero if
- instruction is not defined. */
- static int disas_cp15_insn(CPUState *env, DisasContext *s, uint32_t insn)
-@@ -2489,6 +2540,10 @@ static int disas_cp15_insn(CPUState *env, DisasContext *s, uint32_t insn)
- return 0;
- }
- rd = (insn >> 12) & 0xf;
-+
-+ if (cp15_tls_load_store(env, s, insn, rd))
-+ return 0;
-+
- tmp2 = tcg_const_i32(insn);
- if (insn & ARM_CP_RW_BIT) {
- tmp = new_tmp();
-
diff --git a/meta/recipes-devtools/qemu/qemu-0.12.4/arm_timer-fix-oneshot-mode.patch b/meta/recipes-devtools/qemu/qemu-0.12.4/arm_timer-fix-oneshot-mode.patch
deleted file mode 100644
index 530736c4c..000000000
--- a/meta/recipes-devtools/qemu/qemu-0.12.4/arm_timer-fix-oneshot-mode.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From a9cf98d939c4f6539fad7e7d812ea16d96ba3dc9 Mon Sep 17 00:00:00 2001
-From: Rabin Vincent <rabin@rab.in>
-Date: Sun, 2 May 2010 15:20:52 +0530
-Subject: [PATCH] arm_timer: fix oneshot mode
-
-commit id: a9cf98d939c4f6539fad7e7d812ea16d96ba3dc9 in git://git.sv.gnu.org/qemu.git
-
-In oneshot mode, the delta needs to come from the TimerLoad register,
-not the maximum limit.
-
-Signed-off-by: Rabin Vincent <rabin@rab.in>
-Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
----
- hw/arm_timer.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/hw/arm_timer.c b/hw/arm_timer.c
-index 5b6947a..9073ffc 100644
---- a/hw/arm_timer.c
-+++ b/hw/arm_timer.c
-@@ -71,7 +71,7 @@ static void arm_timer_recalibrate(arm_timer_state *s, int reload)
- {
- uint32_t limit;
-
-- if ((s->control & TIMER_CTRL_PERIODIC) == 0) {
-+ if ((s->control & (TIMER_CTRL_PERIODIC | TIMER_CTRL_ONESHOT)) == 0) {
- /* Free running. */
- if (s->control & TIMER_CTRL_32BIT)
- limit = 0xffffffff;
---
-1.6.5.2
-
diff --git a/meta/recipes-devtools/qemu/qemu-0.12.4/arm_timer-reload-timer-when-enabled.patch b/meta/recipes-devtools/qemu/qemu-0.12.4/arm_timer-reload-timer-when-enabled.patch
deleted file mode 100644
index 1890e21e6..000000000
--- a/meta/recipes-devtools/qemu/qemu-0.12.4/arm_timer-reload-timer-when-enabled.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From d6759902cb467c002086853d2eb38fb969c29f7f Mon Sep 17 00:00:00 2001
-From: Rabin Vincent <rabin@rab.in>
-Date: Sun, 2 May 2010 15:20:51 +0530
-Subject: [PATCH] arm_timer: reload timer when enabled
-
-commit id: d6759902cb467c002086853d2eb38fb969c29f7f in git://git.sv.gnu.org/qemu.git
-
-Reload the timer when TimerControl is written, if the timer is to be
-enabled. Otherwise, if an earlier write to TimerLoad was done while
-periodic mode was not set, s->delta may incorrectly still have the value
-of the maximum limit instead of the value written to TimerLoad.
-
-This problem is evident on versatileap on current linux-next, which
-enables TIMER_CTRL_32BIT before writing to TimerLoad and then enabling
-periodic mode and starting the timer. This causes the first periodic
-tick to be scheduled to occur after 0xffffffff periods, leading to a
-perceived hang while the kernel waits for the first timer tick.
-
-Signed-off-by: Rabin Vincent <rabin@rab.in>
-Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
----
- hw/arm_timer.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/hw/arm_timer.c b/hw/arm_timer.c
-index 9fef191..5b6947a 100644
---- a/hw/arm_timer.c
-+++ b/hw/arm_timer.c
-@@ -113,7 +113,7 @@ static void arm_timer_write(void *opaque, target_phys_addr_t offset,
- case 1: freq >>= 4; break;
- case 2: freq >>= 8; break;
- }
-- arm_timer_recalibrate(s, 0);
-+ arm_timer_recalibrate(s, s->control & TIMER_CTRL_ENABLE);
- ptimer_set_freq(s->timer, freq);
- if (s->control & TIMER_CTRL_ENABLE) {
- /* Restart the timer if still enabled. */
---
-1.6.5.2
-
diff --git a/meta/recipes-devtools/qemu/qemu-0.12.4/cursor-shadow-fix.patch b/meta/recipes-devtools/qemu/qemu-0.12.4/cursor-shadow-fix.patch
deleted file mode 100644
index 6600c4303..000000000
--- a/meta/recipes-devtools/qemu/qemu-0.12.4/cursor-shadow-fix.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Fix the mouse shadow in qemu
-
-the root cause is that the qemu cursor array is hardcoded to 256 bytes, while the sato use cursor of the size 64*64=4096, thus lead buffer overflow and abnormal mouse.
-
-This issue has been fixed in upstream starting from v0.13.0-rc0. v0.12.5 still has this issue. So when qemu is upgraded to 0.13.0 or above, this patch can be safely removed.
-
-Signed-off-by: Yu Ke <ke.yu@intel.com>
-
-diff --git a/sdl.c b/sdl.c
-index 7912c91..2f33cd2 100644
---- a/sdl.c
-+++ b/sdl.c
-@@ -775,12 +775,12 @@ static void sdl_mouse_define(int width, int height, int bpp,
- int hot_x, int hot_y,
- uint8_t *image, uint8_t *mask)
- {
-- uint8_t sprite[256], *line;
-+ uint8_t *sprite, *line;
- int x, y, dst, bypl, src = 0;
- if (guest_sprite)
- SDL_FreeCursor(guest_sprite);
-
-- memset(sprite, 0, 256);
-+ sprite = (uint8_t*)qemu_mallocz(width * height);
- bypl = ((width * bpp + 31) >> 5) << 2;
- for (y = 0, dst = 0; y < height; y ++, image += bypl) {
- line = image;
-@@ -818,6 +818,7 @@ static void sdl_mouse_define(int width, int height, int bpp,
- if (guest_cursor &&
- (gui_grab || kbd_mouse_is_absolute() || absolute_enabled))
- SDL_SetCursor(guest_sprite);
-+ qemu_free(sprite);
- }
-
- static void sdl_cleanup(void)
diff --git a/meta/recipes-devtools/qemu/qemu-0.12.4/qemu-ppc-hack.patch b/meta/recipes-devtools/qemu/qemu-0.12.4/qemu-ppc-hack.patch
deleted file mode 100644
index 3ed227ec3..000000000
--- a/meta/recipes-devtools/qemu/qemu-0.12.4/qemu-ppc-hack.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-Quick fixes to get the ppc system model to boot a 603e based
-kernel.
-
-diff --git a/hw/m48t59.c b/hw/m48t59.c
-index ce38f8b..d99054f 100644
---- a/hw/m48t59.c
-+++ b/hw/m48t59.c
-@@ -50,6 +50,7 @@
- */
-
- struct m48t59_t {
-+ SysBusDevice busdev;
- /* Model parameters */
- uint32_t type; // 2 = m48t02, 8 = m48t08, 59 = m48t59
- /* Hardware parameters */
-@@ -74,11 +75,6 @@ typedef struct M48t59ISAState {
- m48t59_t state;
- } M48t59ISAState;
-
--typedef struct M48t59SysBusState {
-- SysBusDevice busdev;
-- m48t59_t state;
--} M48t59SysBusState;
--
- /* Fake timer functions */
-
- /* Alarm management */
-@@ -629,8 +625,7 @@ static void m48t59_reset_isa(DeviceState *d)
-
- static void m48t59_reset_sysbus(DeviceState *d)
- {
-- M48t59SysBusState *sys = container_of(d, M48t59SysBusState, busdev.qdev);
-- m48t59_t *NVRAM = &sys->state;
-+ m48t59_t *NVRAM = container_of(d, m48t59_t, busdev.qdev);
-
- m48t59_reset_common(NVRAM);
- }
-@@ -642,7 +637,7 @@ m48t59_t *m48t59_init (qemu_irq IRQ, target_phys_addr_t mem_base,
- {
- DeviceState *dev;
- SysBusDevice *s;
-- M48t59SysBusState *d;
-+ m48t59_t *d;
-
- dev = qdev_create(NULL, "m48t59");
- qdev_prop_set_uint32(dev, "type", type);
-@@ -659,9 +654,9 @@ m48t59_t *m48t59_init (qemu_irq IRQ, target_phys_addr_t mem_base,
- sysbus_mmio_map(s, 0, mem_base);
- }
-
-- d = FROM_SYSBUS(M48t59SysBusState, s);
-+ d = FROM_SYSBUS(m48t59_t, s);
-
-- return &d->state;
-+ return d;
- }
-
- m48t59_t *m48t59_init_isa(uint32_t io_base, uint16_t size, int type)
-@@ -711,8 +706,7 @@ static int m48t59_init_isa1(ISADevice *dev)
-
- static int m48t59_init1(SysBusDevice *dev)
- {
-- M48t59SysBusState *d = FROM_SYSBUS(M48t59SysBusState, dev);
-- m48t59_t *s = &d->state;
-+ m48t59_t *s = FROM_SYSBUS(m48t59_t, dev);
- int mem_index;
-
- sysbus_init_irq(dev, &s->IRQ);
-@@ -741,12 +735,12 @@ static ISADeviceInfo m48t59_isa_info = {
- static SysBusDeviceInfo m48t59_info = {
- .init = m48t59_init1,
- .qdev.name = "m48t59",
-- .qdev.size = sizeof(M48t59SysBusState),
-+ .qdev.size = sizeof(m48t59_t),
- .qdev.reset = m48t59_reset_sysbus,
- .qdev.props = (Property[]) {
-- DEFINE_PROP_UINT32("size", M48t59SysBusState, state.size, -1),
-- DEFINE_PROP_UINT32("type", M48t59SysBusState, state.type, -1),
-- DEFINE_PROP_HEX32( "io_base", M48t59SysBusState, state.io_base, 0),
-+ DEFINE_PROP_UINT32("size", m48t59_t, size, -1),
-+ DEFINE_PROP_UINT32("type", m48t59_t, type, -1),
-+ DEFINE_PROP_HEX32( "io_base", m48t59_t, io_base, 0),
- DEFINE_PROP_END_OF_LIST(),
- }
- };
-diff --git a/hw/ppc_prep.c b/hw/ppc_prep.c
-index eb758f2..08db51b 100644
---- a/hw/ppc_prep.c
-+++ b/hw/ppc_prep.c
-@@ -73,7 +73,7 @@ qemu_log_mask(CPU_LOG_IOPORT, fmt, ## __VA_ARGS__)
- /* Constants for devices init */
- static const int ide_iobase[2] = { 0x1f0, 0x170 };
- static const int ide_iobase2[2] = { 0x3f6, 0x376 };
--static const int ide_irq[2] = { 13, 13 };
-+static const int ide_irq[2] = { 13, 14 };
-
- #define NE2000_NB_MAX 6
-
-@@ -620,9 +620,6 @@ static void ppc_prep_init (ram_addr_t ram_size,
- if (filename) {
- qemu_free(filename);
- }
-- if (env->nip < 0xFFF80000 && bios_size < 0x00100000) {
-- hw_error("PowerPC 601 / 620 / 970 need a 1MB BIOS\n");
-- }
-
- if (linux_boot) {
- kernel_base = KERNEL_LOAD_ADDR;
-diff --git a/target-ppc/op_helper.c b/target-ppc/op_helper.c
-index e3bd29c..1cb2e07 100644
---- a/target-ppc/op_helper.c
-+++ b/target-ppc/op_helper.c
-@@ -1646,20 +1646,20 @@ static inline void do_rfi(target_ulong nip, target_ulong msr,
- void helper_rfi (void)
- {
- do_rfi(env->spr[SPR_SRR0], env->spr[SPR_SRR1],
-- ~((target_ulong)0x0), 1);
-+ ~((target_ulong)0xFFFF0000), 1);
- }
-
- #if defined(TARGET_PPC64)
- void helper_rfid (void)
- {
- do_rfi(env->spr[SPR_SRR0], env->spr[SPR_SRR1],
-- ~((target_ulong)0x0), 0);
-+ ~((target_ulong)0xFFFF0000), 0);
- }
-
- void helper_hrfid (void)
- {
- do_rfi(env->spr[SPR_HSRR0], env->spr[SPR_HSRR1],
-- ~((target_ulong)0x0), 0);
-+ ~((target_ulong)0xFFFF0000), 0);
- }
- #endif
- #endif
diff --git a/meta/recipes-devtools/qemu/qemu-0.12.4/enable-i386-linux-user.patch b/meta/recipes-devtools/qemu/qemu-0.13.0/enable-i386-linux-user.patch
index 550d48b13..95420ef99 100644
--- a/meta/recipes-devtools/qemu/qemu-0.12.4/enable-i386-linux-user.patch
+++ b/meta/recipes-devtools/qemu/qemu-0.13.0/enable-i386-linux-user.patch
@@ -2,13 +2,13 @@ Enable i386-linux-user
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
-Index: qemu-0.12.4/Makefile.target
+Index: qemu-0.13.0/Makefile.target
===================================================================
---- qemu-0.12.4.orig/Makefile.target 2010-08-31 13:57:01.000000000 +0800
-+++ qemu-0.12.4/Makefile.target 2010-08-31 14:03:06.000000000 +0800
-@@ -46,8 +46,13 @@
- libobj-$(CONFIG_NOSOFTFLOAT) += fpu/softfloat-native.o
- libobj-y += op_helper.o helper.o
+--- qemu-0.13.0.orig/Makefile.target 2011-01-17 16:50:39.000000000 +0800
++++ qemu-0.13.0/Makefile.target 2011-01-17 16:50:41.000000000 +0800
+@@ -54,8 +54,13 @@
+ libobj-y += cpuid.o
+ endif
libobj-$(CONFIG_NEED_MMU) += mmu.o
+ifndef CONFIG_LINUX_USER
libobj-$(TARGET_I386) += helper_opengl.o opengl_exec.o
@@ -20,10 +20,10 @@ Index: qemu-0.12.4/Makefile.target
libobj-$(TARGET_ARM) += dummygl.o
libobj-$(TARGET_MIPS) += dummygl.o
libobj-$(TARGET_PPC) += dummygl.o
-Index: qemu-0.12.4/target-i386/dummygl.c
+Index: qemu-0.13.0/target-i386/dummygl.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ qemu-0.12.4/target-i386/dummygl.c 2010-08-31 15:25:25.000000000 +0800
++++ qemu-0.13.0/target-i386/dummygl.c 2011-01-17 16:50:41.000000000 +0800
@@ -0,0 +1,26 @@
+#include <string.h>
+#include <stdlib.h>
diff --git a/meta/recipes-devtools/qemu/qemu-0.12.4/fix-configure-checks.patch b/meta/recipes-devtools/qemu/qemu-0.13.0/fix-configure-checks.patch
index 28ca2b364..46ddc6e20 100644
--- a/meta/recipes-devtools/qemu/qemu-0.12.4/fix-configure-checks.patch
+++ b/meta/recipes-devtools/qemu/qemu-0.13.0/fix-configure-checks.patch
@@ -6,15 +6,15 @@ added and files in the sysroot can be found.
Patch from Paul Eggleton, Comments by RP 28/11/10
-Index: qemu-0.12.4/configure
+Index: qemu-0.13.0/configure
===================================================================
---- qemu-0.12.4.orig/configure
-+++ qemu-0.12.4/configure
-@@ -99,6 +99,7 @@ QEMU_CFLAGS="-Wstrict-prototypes -Wredun
+--- qemu-0.13.0.orig/configure 2010-10-16 04:56:09.000000000 +0800
++++ qemu-0.13.0/configure 2011-01-15 18:19:41.000000000 +0800
+@@ -134,6 +134,7 @@
QEMU_CFLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE $QEMU_CFLAGS"
- QEMU_CFLAGS="-U_FORTIFY_SOURCE $QEMU_CFLAGS"
+ QEMU_CFLAGS="-D_FORTIFY_SOURCE=2 $QEMU_CFLAGS"
QEMU_CFLAGS="-I. -I\$(SRC_PATH) $QEMU_CFLAGS"
+QEMU_CFLAGS="$QEMU_CFLAGS $CFLAGS"
LDFLAGS="-g $LDFLAGS"
- gcc_flags="-Wold-style-declaration -Wold-style-definition"
+ gcc_flags="-Wold-style-declaration -Wold-style-definition -fstack-protector-all"
diff --git a/meta/recipes-devtools/qemu/qemu-0.12.4/fix-dirent.patch b/meta/recipes-devtools/qemu/qemu-0.13.0/fix-dirent.patch
index 8bbfa0e88..8bbfa0e88 100644
--- a/meta/recipes-devtools/qemu/qemu-0.12.4/fix-dirent.patch
+++ b/meta/recipes-devtools/qemu/qemu-0.13.0/fix-dirent.patch
diff --git a/meta/recipes-devtools/qemu/qemu-0.12.4/fix-nogl.patch b/meta/recipes-devtools/qemu/qemu-0.13.0/fix-nogl.patch
index 528b6f0d1..fa518abbf 100644
--- a/meta/recipes-devtools/qemu/qemu-0.12.4/fix-nogl.patch
+++ b/meta/recipes-devtools/qemu/qemu-0.13.0/fix-nogl.patch
@@ -1,9 +1,9 @@
-Index: qemu-0.12.4/Makefile.target
+Index: qemu-0.13.0/Makefile.target
===================================================================
---- qemu-0.12.4.orig/Makefile.target 2010-06-24 07:59:15.669394205 +0100
-+++ qemu-0.12.4/Makefile.target 2010-06-24 08:07:38.739399512 +0100
-@@ -47,6 +47,10 @@
- libobj-y += op_helper.o helper.o
+--- qemu-0.13.0.orig/Makefile.target 2011-01-17 16:53:08.000000000 +0800
++++ qemu-0.13.0/Makefile.target 2011-01-17 16:53:11.000000000 +0800
+@@ -55,6 +55,10 @@
+ endif
libobj-$(CONFIG_NEED_MMU) += mmu.o
libobj-$(TARGET_I386) += helper_opengl.o opengl_exec.o
+libobj-$(TARGET_X86_64) += helper_opengl.o opengl_exec.o
@@ -11,12 +11,12 @@ Index: qemu-0.12.4/Makefile.target
+libobj-$(TARGET_MIPS) += dummygl.o
+libobj-$(TARGET_PPC) += dummygl.o
libobj-$(TARGET_ARM) += neon_helper.o iwmmxt_helper.o
- libobj-$(TARGET_ALPHA) += alpha_palcode.o
-Index: qemu-0.12.4/target-arm/dummygl.c
+ libobj-y += disas.o
+Index: qemu-0.13.0/target-arm/dummygl.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ qemu-0.12.4/target-arm/dummygl.c 2010-06-24 07:59:15.899401748 +0100
++++ qemu-0.13.0/target-arm/dummygl.c 2011-01-17 16:53:11.000000000 +0800
@@ -0,0 +1,22 @@
+#include <string.h>
+#include <stdlib.h>
@@ -40,10 +40,10 @@ Index: qemu-0.12.4/target-arm/dummygl.c
+{
+
+}
-Index: qemu-0.12.4/target-mips/dummygl.c
+Index: qemu-0.13.0/target-mips/dummygl.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ qemu-0.12.4/target-mips/dummygl.c 2010-06-24 07:59:15.899401748 +0100
++++ qemu-0.13.0/target-mips/dummygl.c 2011-01-17 16:53:11.000000000 +0800
@@ -0,0 +1,22 @@
+#include <string.h>
+#include <stdlib.h>
@@ -67,10 +67,10 @@ Index: qemu-0.12.4/target-mips/dummygl.c
+{
+
+}
-Index: qemu-0.12.4/target-ppc/dummygl.c
+Index: qemu-0.13.0/target-ppc/dummygl.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ qemu-0.12.4/target-ppc/dummygl.c 2010-06-24 08:07:59.070712946 +0100
++++ qemu-0.13.0/target-ppc/dummygl.c 2011-01-17 16:53:11.000000000 +0800
@@ -0,0 +1,22 @@
+#include <string.h>
+#include <stdlib.h>
diff --git a/meta/recipes-devtools/qemu/qemu-0.12.4/glflags.patch b/meta/recipes-devtools/qemu/qemu-0.13.0/glflags.patch
index 0a27c2dee..0a27c2dee 100644
--- a/meta/recipes-devtools/qemu/qemu-0.12.4/glflags.patch
+++ b/meta/recipes-devtools/qemu/qemu-0.13.0/glflags.patch
diff --git a/meta/recipes-devtools/qemu/qemu-0.12.4/init-info.patch b/meta/recipes-devtools/qemu/qemu-0.13.0/init-info.patch
index 8ba7d8ff4..77022ae54 100644
--- a/meta/recipes-devtools/qemu/qemu-0.12.4/init-info.patch
+++ b/meta/recipes-devtools/qemu/qemu-0.13.0/init-info.patch
@@ -2,11 +2,11 @@
# makes info.info.x11.display zero and avoids the calls to
# opengl_exec_set_parent_window, one of which is crashing.
-Index: qemu-0.12.4/sdl.c
+Index: qemu-0.13.0/ui/sdl.c
===================================================================
---- qemu-0.12.4.orig/sdl.c
-+++ qemu-0.12.4/sdl.c
-@@ -871,6 +871,7 @@ void sdl_display_init(DisplayState *ds,
+--- qemu-0.13.0.orig/ui/sdl.c 2011-01-15 17:40:59.000000000 +0800
++++ qemu-0.13.0/ui/sdl.c 2011-01-15 17:41:04.000000000 +0800
+@@ -857,6 +857,7 @@
vi = SDL_GetVideoInfo();
host_format = *(vi->vfmt);
diff --git a/meta/recipes-devtools/qemu/qemu-0.12.4/linker-flags.patch b/meta/recipes-devtools/qemu/qemu-0.13.0/linker-flags.patch
index 7b33aa484..54c480f94 100644
--- a/meta/recipes-devtools/qemu/qemu-0.12.4/linker-flags.patch
+++ b/meta/recipes-devtools/qemu/qemu-0.13.0/linker-flags.patch
@@ -7,16 +7,16 @@ More information is available on the Fedora Wiki:
https://fedoraproject.org/wiki/UnderstandingDSOLinkChange
JL - 15/06/10
-Index: qemu-0.12.4/Makefile.target
+Index: qemu-0.13.0/Makefile.target
===================================================================
---- qemu-0.12.4.orig/Makefile.target 2010-06-15 11:21:52.000000000 +0100
-+++ qemu-0.12.4/Makefile.target 2010-06-15 11:25:27.212852910 +0100
-@@ -178,7 +178,7 @@
- obj-y += virtio-blk.o virtio-balloon.o virtio-net.o virtio-console.o virtio-pci.o
+--- qemu-0.13.0.orig/Makefile.target 2011-01-15 17:30:45.000000000 +0800
++++ qemu-0.13.0/Makefile.target 2011-01-15 17:33:22.000000000 +0800
+@@ -193,7 +193,7 @@
+ obj-y += rwhandler.o
obj-$(CONFIG_KVM) += kvm.o kvm-all.o
- obj-$(CONFIG_ISA_MMIO) += isa_mmio.o
+ obj-$(CONFIG_NO_KVM) += kvm-stub.o
-LIBS+=-lz
+LIBS+=-lz -lX11 -ldl
- sound-obj-y =
- sound-obj-$(CONFIG_SB16) += sb16.o
+ QEMU_CFLAGS += $(VNC_TLS_CFLAGS)
+ QEMU_CFLAGS += $(VNC_SASL_CFLAGS)
diff --git a/meta/recipes-devtools/qemu/qemu-0.12.4/no-strip.patch b/meta/recipes-devtools/qemu/qemu-0.13.0/no-strip.patch
index 8a95a688b..62cdec610 100644
--- a/meta/recipes-devtools/qemu/qemu-0.12.4/no-strip.patch
+++ b/meta/recipes-devtools/qemu/qemu-0.13.0/no-strip.patch
@@ -1,9 +1,9 @@
-Index: qemu/Makefile
+Index: qemu-0.13.0/Makefile
===================================================================
---- qemu.orig/Makefile 2010-05-11 17:17:06.416912704 -0400
-+++ qemu/Makefile 2010-05-11 17:17:17.051812402 -0400
-@@ -300,7 +300,7 @@ endif
- install: all $(if $(BUILD_DOCS),install-doc)
+--- qemu-0.13.0.orig/Makefile 2011-01-17 16:41:59.000000000 +0800
++++ qemu-0.13.0/Makefile 2011-01-17 16:44:57.000000000 +0800
+@@ -185,7 +185,7 @@
+ install: all $(if $(BUILD_DOCS),install-doc) install-sysconfig
$(INSTALL_DIR) "$(DESTDIR)$(bindir)"
ifneq ($(TOOLS),)
- $(INSTALL_PROG) $(STRIP_OPT) $(TOOLS) "$(DESTDIR)$(bindir)"
@@ -11,11 +11,11 @@ Index: qemu/Makefile
endif
ifneq ($(BLOBS),)
$(INSTALL_DIR) "$(DESTDIR)$(datadir)"
-Index: qemu/Makefile.target
+Index: qemu-0.13.0/Makefile.target
===================================================================
---- qemu.orig/Makefile.target 2010-05-11 17:17:12.188784092 -0400
-+++ qemu/Makefile.target 2010-05-11 17:17:17.052808122 -0400
-@@ -351,7 +351,7 @@ clean:
+--- qemu-0.13.0.orig/Makefile.target 2011-01-17 16:42:36.000000000 +0800
++++ qemu-0.13.0/Makefile.target 2011-01-17 16:44:57.000000000 +0800
+@@ -351,7 +351,7 @@
install: all
ifneq ($(PROGS),)
diff --git a/meta/recipes-devtools/qemu/qemu-0.13.0/parallel_make.patch b/meta/recipes-devtools/qemu/qemu-0.13.0/parallel_make.patch
new file mode 100644
index 000000000..278b1a759
--- /dev/null
+++ b/meta/recipes-devtools/qemu/qemu-0.13.0/parallel_make.patch
@@ -0,0 +1,34 @@
+Make -j(>=6) always fail as some job depends on config-host.h. Added following
+patch in upstream to resolve it.
+
+Could remove it in next upgrade if necessary.
+
+Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
+
+commit f0acb38015409024683911380daa94cc974e4e0e
+Author: Paul Brook <paul@codesourcery.com>
+Date: Fri Nov 26 18:46:03 2010 +0000
+
+ Add missing dependency.
+
+ Teach Makefile that cmd.o depends on a generated header (specifically
+ config-host.h).
+
+ Signed-off-by: Paul Brook <paul@codesourcery.com>
+ (cherry picked from commit 6e14404aab26f74a448747d1e793ac16bde8a92b)
+
+ Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+
+Index: qemu-0.13.0/Makefile
+===================================================================
+--- qemu-0.13.0.orig/Makefile 2011-01-18 09:45:45.000000000 +0800
++++ qemu-0.13.0/Makefile 2011-01-18 09:45:45.000000000 +0800
+@@ -107,7 +107,7 @@
+ ######################################################################
+
+ qemu-img.o: qemu-img-cmds.h
+-qemu-img.o qemu-tool.o qemu-nbd.o qemu-io.o: $(GENERATED_HEADERS)
++qemu-img.o qemu-tool.o qemu-nbd.o qemu-io.o cmd.o: $(GENERATED_HEADERS)
+
+ qemu-img$(EXESUF): qemu-img.o qemu-tool.o qemu-error.o $(block-obj-y) $(qobject-obj-y)
+
diff --git a/meta/recipes-devtools/qemu/qemu-0.13.0/port92_fix.patch b/meta/recipes-devtools/qemu/qemu-0.13.0/port92_fix.patch
new file mode 100644
index 000000000..e101c687c
--- /dev/null
+++ b/meta/recipes-devtools/qemu/qemu-0.13.0/port92_fix.patch
@@ -0,0 +1,196 @@
+With qemu 0.13.0, poky failed to start on ppc arch because both ppc_prep_init
+and i8042_initfn try to register to port 0x92 then cause conflict. Introduce
+this patch from upstream to fix it.
+
+Could remove it in future if necessary.
+
+Signed-off-by: Zhai, Edwin <edwin.zhai@intel.com>
+
+commit 4b78a802ffaabb325a0f7b773031da92d173bde1
+Author: Blue Swirl <blauwirbel@gmail.com>
+Date: Thu Jan 6 18:24:35 2011 +0000
+
+ pc: move port 92 stuff back to pc.c from pckbd.c
+
+ 956a3e6bb7386de48b642d4fee11f7f86a2fcf9a introduced a bug concerning
+ reset bit for port 92.
+
+ Since the keyboard output port and port 92 are not compatible anyway,
+ let's separate them.
+
+ Reported-by: Peter Lieven <pl@dlh.net>
+ Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
+ --
+ v2: added reset handler and VMState
+
+Index: qemu-0.13.0/hw/pc.c
+===================================================================
+--- qemu-0.13.0.orig/hw/pc.c 2010-10-16 04:56:09.000000000 +0800
++++ qemu-0.13.0/hw/pc.c 2011-01-20 20:37:37.000000000 +0800
+@@ -409,11 +409,91 @@
+ qemu_register_reset(pc_cmos_init_late, &arg);
+ }
+
++/* port 92 stuff: could be split off */
++typedef struct Port92State {
++ ISADevice dev;
++ uint8_t outport;
++ qemu_irq *a20_out;
++} Port92State;
++
++static void port92_write(void *opaque, uint32_t addr, uint32_t val)
++{
++ Port92State *s = opaque;
++
++ DPRINTF("port92: write 0x%02x\n", val);
++ s->outport = val;
++ qemu_set_irq(*s->a20_out, (val >> 1) & 1);
++ if (val & 1) {
++ qemu_system_reset_request();
++ }
++}
++
++static uint32_t port92_read(void *opaque, uint32_t addr)
++{
++ Port92State *s = opaque;
++ uint32_t ret;
++
++ ret = s->outport;
++ DPRINTF("port92: read 0x%02x\n", ret);
++ return ret;
++}
++
++static void port92_init(ISADevice *dev, qemu_irq *a20_out)
++{
++ Port92State *s = DO_UPCAST(Port92State, dev, dev);
++
++ s->a20_out = a20_out;
++}
++
++static const VMStateDescription vmstate_port92_isa = {
++ .name = "port92",
++ .version_id = 1,
++ .minimum_version_id = 1,
++ .minimum_version_id_old = 1,
++ .fields = (VMStateField []) {
++ VMSTATE_UINT8(outport, Port92State),
++ VMSTATE_END_OF_LIST()
++ }
++};
++
++static void port92_reset(DeviceState *d)
++{
++ Port92State *s = container_of(d, Port92State, dev.qdev);
++
++ s->outport &= ~1;
++}
++
++static int port92_initfn(ISADevice *dev)
++{
++ Port92State *s = DO_UPCAST(Port92State, dev, dev);
++
++ register_ioport_read(0x92, 1, 1, port92_read, s);
++ register_ioport_write(0x92, 1, 1, port92_write, s);
++ s->outport = 0;
++ return 0;
++}
++
++static ISADeviceInfo port92_info = {
++ .qdev.name = "port92",
++ .qdev.size = sizeof(Port92State),
++ .qdev.vmsd = &vmstate_port92_isa,
++ .qdev.no_user = 1,
++ .qdev.reset = port92_reset,
++ .init = port92_initfn,
++};
++
++static void port92_register(void)
++{
++ isa_qdev_register(&port92_info);
++}
++device_init(port92_register)
++
+ static void handle_a20_line_change(void *opaque, int irq, int level)
+ {
+ CPUState *cpu = opaque;
+
+ /* XXX: send to all CPUs ? */
++ /* XXX: add logic to handle multiple A20 line sources */
+ cpu_x86_set_a20(cpu, level);
+ }
+
+@@ -1017,7 +1097,7 @@
+ PITState *pit;
+ qemu_irq rtc_irq = NULL;
+ qemu_irq *a20_line;
+- ISADevice *i8042;
++ ISADevice *i8042, *port92;
+ qemu_irq *cpu_exit_irq;
+
+ register_ioport_write(0x80, 1, 1, ioport80_write, NULL);
+@@ -1051,10 +1131,12 @@
+ }
+ }
+
+- a20_line = qemu_allocate_irqs(handle_a20_line_change, first_cpu, 1);
++ a20_line = qemu_allocate_irqs(handle_a20_line_change, first_cpu, 2);
+ i8042 = isa_create_simple("i8042");
+- i8042_setup_a20_line(i8042, a20_line);
++ i8042_setup_a20_line(i8042, &a20_line[0]);
+ vmmouse_init(i8042);
++ port92 = isa_create_simple("port92");
++ port92_init(port92, &a20_line[1]);
+
+ cpu_exit_irq = qemu_allocate_irqs(cpu_request_exit, NULL, 1);
+ DMA_init(0, cpu_exit_irq);
+Index: qemu-0.13.0/hw/pckbd.c
+===================================================================
+--- qemu-0.13.0.orig/hw/pckbd.c 2010-10-16 04:56:09.000000000 +0800
++++ qemu-0.13.0/hw/pckbd.c 2011-01-20 20:33:44.000000000 +0800
+@@ -209,10 +209,8 @@
+ ps2_queue(s->kbd, b);
+ }
+
+-static void ioport92_write(void *opaque, uint32_t addr, uint32_t val)
++static void outport_write(KBDState *s, uint32_t val)
+ {
+- KBDState *s = opaque;
+-
+ DPRINTF("kbd: write outport=0x%02x\n", val);
+ s->outport = val;
+ if (s->a20_out) {
+@@ -223,16 +221,6 @@
+ }
+ }
+
+-static uint32_t ioport92_read(void *opaque, uint32_t addr)
+-{
+- KBDState *s = opaque;
+- uint32_t ret;
+-
+- ret = s->outport;
+- DPRINTF("kbd: read outport=0x%02x\n", ret);
+- return ret;
+-}
+-
+ static void kbd_write_command(void *opaque, uint32_t addr, uint32_t val)
+ {
+ KBDState *s = opaque;
+@@ -340,7 +328,7 @@
+ kbd_queue(s, val, 1);
+ break;
+ case KBD_CCMD_WRITE_OUTPORT:
+- ioport92_write(s, 0, val);
++ outport_write(s, val);
+ break;
+ case KBD_CCMD_WRITE_MOUSE:
+ ps2_write_mouse(s->mouse, val);
+@@ -469,8 +457,6 @@
+ register_ioport_write(0x60, 1, 1, kbd_write_data, s);
+ register_ioport_read(0x64, 1, 1, kbd_read_status, s);
+ register_ioport_write(0x64, 1, 1, kbd_write_command, s);
+- register_ioport_read(0x92, 1, 1, ioport92_read, s);
+- register_ioport_write(0x92, 1, 1, ioport92_write, s);
+
+ s->kbd = ps2_kbd_init(kbd_update_kbd_irq, s);
+ s->mouse = ps2_mouse_init(kbd_update_aux_irq, s);
diff --git a/meta/recipes-devtools/qemu/qemu-0.12.4/powerpc_rom.bin b/meta/recipes-devtools/qemu/qemu-0.13.0/powerpc_rom.bin
index c4044296c..c4044296c 100644
--- a/meta/recipes-devtools/qemu/qemu-0.12.4/powerpc_rom.bin
+++ b/meta/recipes-devtools/qemu/qemu-0.13.0/powerpc_rom.bin
Binary files differ
diff --git a/meta/recipes-devtools/qemu/qemu-0.12.4/qemu-git-qemugl-host.patch b/meta/recipes-devtools/qemu/qemu-0.13.0/qemu-git-qemugl-host.patch
index ab3147621..085477c57 100644
--- a/meta/recipes-devtools/qemu/qemu-0.12.4/qemu-git-qemugl-host.patch
+++ b/meta/recipes-devtools/qemu/qemu-0.13.0/qemu-git-qemugl-host.patch
@@ -1,16 +1,16 @@
-Index: qemu-0.12.4/Makefile.target
+Index: qemu-0.13.0/Makefile.target
===================================================================
---- qemu-0.12.4.orig/Makefile.target
-+++ qemu-0.12.4/Makefile.target
-@@ -46,6 +46,7 @@ libobj-$(CONFIG_SOFTFLOAT) += fpu/softfl
- libobj-$(CONFIG_NOSOFTFLOAT) += fpu/softfloat-native.o
- libobj-y += op_helper.o helper.o
+--- qemu-0.13.0.orig/Makefile.target 2011-01-17 16:41:59.000000000 +0800
++++ qemu-0.13.0/Makefile.target 2011-01-17 16:42:36.000000000 +0800
+@@ -54,6 +54,7 @@
+ libobj-y += cpuid.o
+ endif
libobj-$(CONFIG_NEED_MMU) += mmu.o
+libobj-$(TARGET_I386) += helper_opengl.o opengl_exec.o
libobj-$(TARGET_ARM) += neon_helper.o iwmmxt_helper.o
- libobj-$(TARGET_ALPHA) += alpha_palcode.o
-@@ -82,6 +83,21 @@ op_helper.o cpu-exec.o: QEMU_CFLAGS += $
+ libobj-y += disas.o
+@@ -76,6 +77,21 @@
# cpu_signal_handler() in cpu-exec.c.
signal.o: QEMU_CFLAGS += $(HELPER_CFLAGS)
@@ -32,31 +32,31 @@ Index: qemu-0.12.4/Makefile.target
#########################################################
# Linux user emulator target
-@@ -196,6 +212,10 @@ obj-i386-y += usb-uhci.o vmmouse.o vmpor
- obj-i386-y += device-hotplug.o pci-hotplug.o smbios.o wdt_ib700.o
- obj-i386-y += ne2000-isa.o
+@@ -202,6 +218,10 @@
+ obj-i386-y += debugcon.o multiboot.o
+ obj-i386-y += pc_piix.o
+ifeq ($(TARGET_BASE_ARCH), i386)
+QEMU_CFLAGS += -DTARGET_OPENGL_OK
+endif
+
# shared objects
- obj-ppc-y = ppc.o ide/core.o ide/qdev.o ide/isa.o ide/pci.o ide/macio.o
- obj-ppc-y += ide/cmd646.o
-@@ -303,6 +323,8 @@ vl.o: qemu-options.h
+ obj-ppc-y = ppc.o
+ obj-ppc-y += vga.o
+@@ -301,6 +321,8 @@
monitor.o: qemu-monitor.h
+LIBS += -lGL -lGLU
+
- ARLIBS=../libqemu_common.a libqemu.a $(HWLIB)
+ $(obj-y) $(obj-$(TARGET_BASE_ARCH)-y): $(GENERATED_HEADERS)
- endif # CONFIG_SOFTMMU
-Index: qemu-0.12.4/hw/pixel_ops.h
+ obj-y += $(addprefix ../, $(common-obj-y))
+Index: qemu-0.13.0/hw/pixel_ops.h
===================================================================
---- qemu-0.12.4.orig/hw/pixel_ops.h
-+++ qemu-0.12.4/hw/pixel_ops.h
-@@ -4,6 +4,12 @@ static inline unsigned int rgb_to_pixel8
+--- qemu-0.13.0.orig/hw/pixel_ops.h 2011-01-17 16:41:59.000000000 +0800
++++ qemu-0.13.0/hw/pixel_ops.h 2011-01-17 16:42:36.000000000 +0800
+@@ -4,6 +4,12 @@
return ((r >> 5) << 5) | ((g >> 5) << 2) | (b >> 6);
}
@@ -69,11 +69,11 @@ Index: qemu-0.12.4/hw/pixel_ops.h
static inline unsigned int rgb_to_pixel15(unsigned int r, unsigned int g,
unsigned int b)
{
-Index: qemu-0.12.4/hw/vmware_vga.c
+Index: qemu-0.13.0/hw/vmware_vga.c
===================================================================
---- qemu-0.12.4.orig/hw/vmware_vga.c
-+++ qemu-0.12.4/hw/vmware_vga.c
-@@ -489,6 +489,8 @@ static inline void vmsvga_cursor_define(
+--- qemu-0.13.0.orig/hw/vmware_vga.c 2011-01-17 16:41:59.000000000 +0800
++++ qemu-0.13.0/hw/vmware_vga.c 2011-01-17 16:42:36.000000000 +0800
+@@ -519,6 +519,8 @@
#define CMD(f) le32_to_cpu(s->cmd->f)
@@ -82,7 +82,7 @@ Index: qemu-0.12.4/hw/vmware_vga.c
static inline int vmsvga_fifo_empty(struct vmsvga_state_s *s)
{
if (!s->config || !s->enable)
-@@ -498,11 +500,18 @@ static inline int vmsvga_fifo_empty(stru
+@@ -528,11 +530,18 @@
static inline uint32_t vmsvga_fifo_read_raw(struct vmsvga_state_s *s)
{
@@ -105,7 +105,7 @@ Index: qemu-0.12.4/hw/vmware_vga.c
}
static inline uint32_t vmsvga_fifo_read(struct vmsvga_state_s *s)
-@@ -512,12 +521,12 @@ static inline uint32_t vmsvga_fifo_read(
+@@ -542,12 +551,12 @@
static void vmsvga_fifo_run(struct vmsvga_state_s *s)
{
@@ -120,7 +120,7 @@ Index: qemu-0.12.4/hw/vmware_vga.c
case SVGA_CMD_UPDATE:
case SVGA_CMD_UPDATE_VERBOSE:
x = vmsvga_fifo_read(s);
-@@ -624,7 +633,7 @@ static void vmsvga_fifo_run(struct vmsvg
+@@ -654,7 +663,7 @@
while (args --)
vmsvga_fifo_read(s);
printf("%s: Unknown command 0x%02x in SVGA command FIFO\n",
@@ -129,7 +129,7 @@ Index: qemu-0.12.4/hw/vmware_vga.c
break;
}
-@@ -1143,6 +1152,12 @@ static void vmsvga_init(struct vmsvga_st
+@@ -1173,6 +1182,12 @@
vga_init_vbe(&s->vga);
@@ -142,11 +142,11 @@ Index: qemu-0.12.4/hw/vmware_vga.c
rom_add_vga(VGABIOS_FILENAME);
vmsvga_reset(s);
-Index: qemu-0.12.4/qemu-char.c
+Index: qemu-0.13.0/qemu-char.c
===================================================================
---- qemu-0.12.4.orig/qemu-char.c
-+++ qemu-0.12.4/qemu-char.c
-@@ -2235,6 +2235,69 @@ static CharDriverState *qemu_chr_open_so
+--- qemu-0.13.0.orig/qemu-char.c 2011-01-17 16:41:59.000000000 +0800
++++ qemu-0.13.0/qemu-char.c 2011-01-17 16:42:36.000000000 +0800
+@@ -2278,6 +2278,69 @@
return NULL;
}
@@ -216,7 +216,7 @@ Index: qemu-0.12.4/qemu-char.c
QemuOpts *qemu_chr_parse_compat(const char *label, const char *filename)
{
char host[65], port[33], width[8], height[8];
-@@ -2353,6 +2416,10 @@ QemuOpts *qemu_chr_parse_compat(const ch
+@@ -2396,6 +2459,10 @@
qemu_opt_set(opts, "path", filename);
return opts;
}
@@ -227,7 +227,7 @@ Index: qemu-0.12.4/qemu-char.c
fail:
qemu_opts_del(opts);
-@@ -2368,6 +2435,7 @@ static const struct {
+@@ -2411,6 +2478,7 @@
{ .name = "udp", .open = qemu_chr_open_udp },
{ .name = "msmouse", .open = qemu_chr_open_msmouse },
{ .name = "vc", .open = text_console_init },
@@ -235,136 +235,19 @@ Index: qemu-0.12.4/qemu-char.c
#ifdef _WIN32
{ .name = "file", .open = qemu_chr_open_win_file_out },
{ .name = "pipe", .open = qemu_chr_open_win_pipe },
-Index: qemu-0.12.4/sdl.c
+Index: qemu-0.13.0/slirp/udp.c
===================================================================
---- qemu-0.12.4.orig/sdl.c
-+++ qemu-0.12.4/sdl.c
-@@ -58,6 +58,8 @@ static uint8_t allocator;
- static SDL_PixelFormat host_format;
- static int scaling_active = 0;
-
-+extern void opengl_exec_set_parent_window(Display* _dpy, Window _parent_window);
-+
- static void sdl_update(DisplayState *ds, int x, int y, int w, int h)
- {
- // printf("updating x=%d y=%d w=%d h=%d\n", x, y, w, h);
-@@ -119,12 +121,22 @@ static void do_sdl_resize(int new_width,
-
- static void sdl_resize(DisplayState *ds)
- {
-- if (!allocator) {
-+ SDL_SysWMinfo info;
-+ static Display *dpy;
-+
-+ if (!allocator) {
- if (!scaling_active)
- do_sdl_resize(ds_get_width(ds), ds_get_height(ds), 0);
- else if (real_screen->format->BitsPerPixel != ds_get_bits_per_pixel(ds))
- do_sdl_resize(real_screen->w, real_screen->h, ds_get_bits_per_pixel(ds));
- sdl_setdata(ds);
-+
-+ SDL_GetWMInfo(&info);
-+ if (info.subsystem == SDL_SYSWM_X11 && info.info.x11.display &&
-+ (!dpy || dpy == info.info.x11.display)) {
-+ dpy = info.info.x11.display;
-+ opengl_exec_set_parent_window(dpy, info.info.x11.window);
-+ }
- } else {
- if (guest_screen != NULL) {
- SDL_FreeSurface(guest_screen);
-@@ -453,7 +465,7 @@ static void sdl_show_cursor(void)
-
- if (!kbd_mouse_is_absolute()) {
- SDL_ShowCursor(1);
-- if (guest_cursor &&
-+ if (guest_cursor && !force_pointer &&
- (gui_grab || kbd_mouse_is_absolute() || absolute_enabled))
- SDL_SetCursor(guest_sprite);
- else
-@@ -464,7 +476,8 @@ static void sdl_show_cursor(void)
- static void sdl_grab_start(void)
- {
- if (guest_cursor) {
-- SDL_SetCursor(guest_sprite);
-+ if (!force_pointer)
-+ SDL_SetCursor(guest_sprite);
- if (!kbd_mouse_is_absolute() && !absolute_enabled)
- SDL_WarpMouse(guest_x, guest_y);
- } else
-@@ -505,8 +518,8 @@ static void sdl_send_mouse_event(int dx,
- absolute_enabled = 1;
- }
-
-- dx = x * 0x7FFF / (width - 1);
-- dy = y * 0x7FFF / (height - 1);
-+ dx = x * 0x7FFF / (width - 1);
-+ dy = y * 0x7FFF / (height - 1);
- } else if (absolute_enabled) {
- sdl_show_cursor();
- absolute_enabled = 0;
-@@ -761,7 +774,8 @@ static void sdl_mouse_warp(int x, int y,
- if (!guest_cursor)
- sdl_show_cursor();
- if (gui_grab || kbd_mouse_is_absolute() || absolute_enabled) {
-- SDL_SetCursor(guest_sprite);
-+ if (!force_pointer)
-+ SDL_SetCursor(guest_sprite);
- if (!kbd_mouse_is_absolute() && !absolute_enabled)
- SDL_WarpMouse(x, y);
- }
-@@ -815,7 +829,7 @@ static void sdl_mouse_define(int width,
- }
- guest_sprite = SDL_CreateCursor(sprite, mask, width, height, hot_x, hot_y);
-
-- if (guest_cursor &&
-+ if (guest_cursor && !force_pointer &&
- (gui_grab || kbd_mouse_is_absolute() || absolute_enabled))
- SDL_SetCursor(guest_sprite);
- }
-@@ -832,6 +846,7 @@ void sdl_display_init(DisplayState *ds,
- int flags;
- uint8_t data = 0;
- DisplayAllocator *da;
-+ SDL_SysWMinfo info;
- const SDL_VideoInfo *vi;
-
- #if defined(__APPLE__)
-@@ -856,6 +871,12 @@ void sdl_display_init(DisplayState *ds,
- vi = SDL_GetVideoInfo();
- host_format = *(vi->vfmt);
-
-+ SDL_GetWMInfo(&info);
-+ if (info.subsystem == SDL_SYSWM_X11 && info.info.x11.display)
-+ opengl_exec_set_parent_window(info.info.x11.display,
-+ RootWindow(info.info.x11.display,
-+ DefaultScreen(info.info.x11.display)));
-+
- dcl = qemu_mallocz(sizeof(DisplayChangeListener));
- dcl->dpy_update = sdl_update;
- dcl->dpy_resize = sdl_resize;
-@@ -891,4 +912,9 @@ void sdl_display_init(DisplayState *ds,
- gui_fullscreen_initial_grab = 1;
- sdl_grab_start();
- }
-+
-+ SDL_GetWMInfo(&info);
-+ if (info.subsystem == SDL_SYSWM_X11 && info.info.x11.display)
-+ opengl_exec_set_parent_window(info.info.x11.display,
-+ info.info.x11.window);
- }
-Index: qemu-0.12.4/slirp/udp.c
-===================================================================
---- qemu-0.12.4.orig/slirp/udp.c
-+++ qemu-0.12.4/slirp/udp.c
+--- qemu-0.13.0.orig/slirp/udp.c 2011-01-17 16:41:59.000000000 +0800
++++ qemu-0.13.0/slirp/udp.c 2011-01-17 16:42:36.000000000 +0800
@@ -40,6 +40,7 @@
#include <slirp.h>
#include "ip_icmp.h"
+#include "bswap.h"
- static u_int8_t udp_tos(struct socket *so);
+ static uint8_t udp_tos(struct socket *so);
-@@ -125,6 +126,11 @@ udp_input(register struct mbuf *m, int i
+@@ -125,6 +126,11 @@
goto bad;
}
@@ -376,11 +259,11 @@ Index: qemu-0.12.4/slirp/udp.c
if (slirp->restricted) {
goto bad;
}
-Index: qemu-0.12.4/sysemu.h
+Index: qemu-0.13.0/sysemu.h
===================================================================
---- qemu-0.12.4.orig/sysemu.h
-+++ qemu-0.12.4/sysemu.h
-@@ -141,6 +141,7 @@ extern int semihosting_enabled;
+--- qemu-0.13.0.orig/sysemu.h 2011-01-17 16:41:59.000000000 +0800
++++ qemu-0.13.0/sysemu.h 2011-01-17 16:42:36.000000000 +0800
+@@ -133,6 +133,7 @@
extern int old_param;
extern int boot_menu;
extern QEMUClock *rtc_clock;
@@ -388,10 +271,10 @@ Index: qemu-0.12.4/sysemu.h
#define MAX_NODES 64
extern int nb_numa_nodes;
-Index: qemu-0.12.4/target-i386/beginend_funcs.sh
+Index: qemu-0.13.0/target-i386/beginend_funcs.sh
===================================================================
---- /dev/null
-+++ qemu-0.12.4/target-i386/beginend_funcs.sh
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ qemu-0.13.0/target-i386/beginend_funcs.sh 2011-01-17 16:42:36.000000000 +0800
@@ -0,0 +1,23 @@
+#! /bin/sh
+# Copyright 2008 (C) Intel Corporation
@@ -416,10 +299,10 @@ Index: qemu-0.12.4/target-i386/beginend_funcs.sh
+echo -e MAGIC_MACRO\(glCallList\)\\n
+echo -e MAGIC_MACRO\(glCallLists\)\\n
+echo -e MAGIC_MACRO\(glEdgeFlag{,v}\)\\n
-Index: qemu-0.12.4/target-i386/ghash.c
+Index: qemu-0.13.0/target-i386/ghash.c
===================================================================
---- /dev/null
-+++ qemu-0.12.4/target-i386/ghash.c
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ qemu-0.13.0/target-i386/ghash.c 2011-01-17 16:42:36.000000000 +0800
@@ -0,0 +1,347 @@
+/* This is a modified and simplified version of original ghash.c */
+
@@ -768,10 +651,10 @@ Index: qemu-0.12.4/target-i386/ghash.c
+ hash_node = next;
+ }
+}
-Index: qemu-0.12.4/target-i386/ghash.h
+Index: qemu-0.13.0/target-i386/ghash.h
===================================================================
---- /dev/null
-+++ qemu-0.12.4/target-i386/ghash.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ qemu-0.13.0/target-i386/ghash.h 2011-01-17 16:42:36.000000000 +0800
@@ -0,0 +1,59 @@
+/* This is a modified and simplified version of original ghash.h */
+
@@ -832,10 +715,10 @@ Index: qemu-0.12.4/target-i386/ghash.h
+
+#endif /* __SIMPLE_HASH_H__ */
+
-Index: qemu-0.12.4/target-i386/gl_func_perso.h
+Index: qemu-0.13.0/target-i386/gl_func_perso.h
===================================================================
---- /dev/null
-+++ qemu-0.12.4/target-i386/gl_func_perso.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ qemu-0.13.0/target-i386/gl_func_perso.h 2011-01-17 16:42:36.000000000 +0800
@@ -0,0 +1,135 @@
+/*
+ * Hand-implemented GL/GLX API
@@ -972,11 +855,11 @@ Index: qemu-0.12.4/target-i386/gl_func_perso.h
+MAGIC_MACRO(_glGetSelectBuffer_fake),
+MAGIC_MACRO(_glFeedbackBuffer_fake),
+MAGIC_MACRO(_glGetFeedbackBuffer_fake),
-Index: qemu-0.12.4/target-i386/helper.c
+Index: qemu-0.13.0/target-i386/helper.c
===================================================================
---- qemu-0.12.4.orig/target-i386/helper.c
-+++ qemu-0.12.4/target-i386/helper.c
-@@ -1435,7 +1435,7 @@ target_phys_addr_t cpu_get_phys_page_deb
+--- qemu-0.13.0.orig/target-i386/helper.c 2011-01-17 16:41:59.000000000 +0800
++++ qemu-0.13.0/target-i386/helper.c 2011-01-17 16:42:36.000000000 +0800
+@@ -914,7 +914,7 @@
}
page_offset = (addr & TARGET_PAGE_MASK) & (page_size - 1);
@@ -985,21 +868,21 @@ Index: qemu-0.12.4/target-i386/helper.c
return paddr;
}
-Index: qemu-0.12.4/target-i386/helper.h
+Index: qemu-0.13.0/target-i386/helper.h
===================================================================
---- qemu-0.12.4.orig/target-i386/helper.h
-+++ qemu-0.12.4/target-i386/helper.h
-@@ -217,4 +217,6 @@ DEF_HELPER_2(rclq, tl, tl, tl)
+--- qemu-0.13.0.orig/target-i386/helper.h 2011-01-17 16:41:59.000000000 +0800
++++ qemu-0.13.0/target-i386/helper.h 2011-01-17 16:42:36.000000000 +0800
+@@ -217,4 +217,6 @@
DEF_HELPER_2(rcrq, tl, tl, tl)
#endif
+DEF_HELPER_0(opengl, void)
+
#include "def-helper.h"
-Index: qemu-0.12.4/target-i386/helper_opengl.c
+Index: qemu-0.13.0/target-i386/helper_opengl.c
===================================================================
---- /dev/null
-+++ qemu-0.12.4/target-i386/helper_opengl.c
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ qemu-0.13.0/target-i386/helper_opengl.c 2011-01-17 16:44:27.000000000 +0800
@@ -0,0 +1,1207 @@
+/*
+ * Host-side implementation of GL/GLX API
@@ -1086,7 +969,7 @@ Index: qemu-0.12.4/target-i386/helper_opengl.c
+ cpu_x86_handle_mmu_fault((CPUState *) env, addr, 0, 1, 1));
+ return NULL;
+ } else {
-+ if (ret + TARGET_PAGE_SIZE <= last_ram_offset) {
++ if (ret + TARGET_PAGE_SIZE <= ram_bytes_total()) {
+ return qemu_get_ram_ptr(ret +
+ (((target_ulong) addr) & (TARGET_PAGE_SIZE - 1)));
+ } else {
@@ -1095,7 +978,7 @@ Index: qemu-0.12.4/target-i386/helper_opengl.c
+ TARGET_FMT_lx "\n", addr, ret);
+ fprintf(stderr,
+ "ret=" TARGET_FMT_lx " last_ram_offset= " TARGET_FMT_lx
-+ "\n", ret, (target_ulong) last_ram_offset);
++ "\n", ret, (target_ulong) ram_bytes_total());
+ return NULL;
+ }
+ }
@@ -2201,19 +2084,19 @@ Index: qemu-0.12.4/target-i386/helper_opengl.c
+
+ allow_kernel = 0;
+ if (kvm_enabled())
-+ kvm_arch_put_registers(env);
++ kvm_arch_put_registers(env, KVM_PUT_RUNTIME_STATE);
+
+ printf("Granted OpenGL access to process '%s'\n", name);
+
+ io_register();
+}
+#endif
-Index: qemu-0.12.4/target-i386/kvm.c
+Index: qemu-0.13.0/target-i386/kvm.c
===================================================================
---- qemu-0.12.4.orig/target-i386/kvm.c
-+++ qemu-0.12.4/target-i386/kvm.c
-@@ -529,7 +529,7 @@ static int kvm_get_fpu(CPUState *env)
- return 0;
+--- qemu-0.13.0.orig/target-i386/kvm.c 2011-01-17 16:41:59.000000000 +0800
++++ qemu-0.13.0/target-i386/kvm.c 2011-01-17 16:42:36.000000000 +0800
+@@ -746,7 +746,7 @@
+ #endif
}
-static int kvm_get_sregs(CPUState *env)
@@ -2221,10 +2104,10 @@ Index: qemu-0.12.4/target-i386/kvm.c
{
struct kvm_sregs sregs;
uint32_t hflags;
-Index: qemu-0.12.4/target-i386/mesa_enums.c
+Index: qemu-0.13.0/target-i386/mesa_enums.c
===================================================================
---- /dev/null
-+++ qemu-0.12.4/target-i386/mesa_enums.c
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ qemu-0.13.0/target-i386/mesa_enums.c 2011-01-17 16:42:36.000000000 +0800
@@ -0,0 +1,4890 @@
+/* DO NOT EDIT - This file generated automatically by gl_enums.py (from Mesa) script */
+
@@ -7116,10 +6999,10 @@ Index: qemu-0.12.4/target-i386/mesa_enums.c
+}
+
+
-Index: qemu-0.12.4/target-i386/mesa_get.c
+Index: qemu-0.13.0/target-i386/mesa_get.c
===================================================================
---- /dev/null
-+++ qemu-0.12.4/target-i386/mesa_get.c
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ qemu-0.13.0/target-i386/mesa_get.c 2011-01-17 16:42:36.000000000 +0800
@@ -0,0 +1,5563 @@
+
+/***
@@ -12684,10 +12567,10 @@ Index: qemu-0.12.4/target-i386/mesa_get.c
+ params[i] = (GLdouble) values[i];
+}
+
-Index: qemu-0.12.4/target-i386/mesa_gl.h
+Index: qemu-0.13.0/target-i386/mesa_gl.h
===================================================================
---- /dev/null
-+++ qemu-0.12.4/target-i386/mesa_gl.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ qemu-0.13.0/target-i386/mesa_gl.h 2011-01-17 16:42:36.000000000 +0800
@@ -0,0 +1,2251 @@
+/*
+ * Mesa 3-D graphics library
@@ -14940,10 +14823,10 @@ Index: qemu-0.12.4/target-i386/mesa_gl.h
+#endif
+
+#endif /* __gl_h_ */
-Index: qemu-0.12.4/target-i386/mesa_glext.h
+Index: qemu-0.13.0/target-i386/mesa_glext.h
===================================================================
---- /dev/null
-+++ qemu-0.12.4/target-i386/mesa_glext.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ qemu-0.13.0/target-i386/mesa_glext.h 2011-01-17 16:42:36.000000000 +0800
@@ -0,0 +1,7279 @@
+#ifndef __glext_h_
+#define __glext_h_
@@ -22224,10 +22107,10 @@ Index: qemu-0.12.4/target-i386/mesa_glext.h
+
+/* ERO */
+GLAPI void GLAPIENTRY fake_gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *data);
-Index: qemu-0.12.4/target-i386/mesa_glu.h
+Index: qemu-0.13.0/target-i386/mesa_glu.h
===================================================================
---- /dev/null
-+++ qemu-0.12.4/target-i386/mesa_glu.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ qemu-0.13.0/target-i386/mesa_glu.h 2011-01-17 16:42:36.000000000 +0800
@@ -0,0 +1,354 @@
+/*
+** License Applicability. Except to the extent portions of this file are
@@ -22583,10 +22466,10 @@ Index: qemu-0.12.4/target-i386/mesa_glu.h
+#endif
+
+#endif /* __glu_h__ */
-Index: qemu-0.12.4/target-i386/mesa_glx.h
+Index: qemu-0.13.0/target-i386/mesa_glx.h
===================================================================
---- /dev/null
-+++ qemu-0.12.4/target-i386/mesa_glx.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ qemu-0.13.0/target-i386/mesa_glx.h 2011-01-17 16:42:36.000000000 +0800
@@ -0,0 +1,510 @@
+/*
+ * Mesa 3-D graphics library
@@ -23098,10 +22981,10 @@ Index: qemu-0.12.4/target-i386/mesa_glx.h
+#endif
+
+#endif
-Index: qemu-0.12.4/target-i386/mesa_glxext.h
+Index: qemu-0.13.0/target-i386/mesa_glxext.h
===================================================================
---- /dev/null
-+++ qemu-0.12.4/target-i386/mesa_glxext.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ qemu-0.13.0/target-i386/mesa_glxext.h 2011-01-17 16:42:36.000000000 +0800
@@ -0,0 +1,785 @@
+#ifndef __glxext_h_
+#define __glxext_h_
@@ -23888,10 +23771,10 @@ Index: qemu-0.12.4/target-i386/mesa_glxext.h
+#endif
+
+#endif
-Index: qemu-0.12.4/target-i386/mesa_mipmap.c
+Index: qemu-0.13.0/target-i386/mesa_mipmap.c
===================================================================
---- /dev/null
-+++ qemu-0.12.4/target-i386/mesa_mipmap.c
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ qemu-0.13.0/target-i386/mesa_mipmap.c 2011-01-17 16:42:36.000000000 +0800
@@ -0,0 +1,824 @@
+
+/*
@@ -24717,10 +24600,10 @@ Index: qemu-0.12.4/target-i386/mesa_mipmap.c
+
+ return retval;
+}
-Index: qemu-0.12.4/target-i386/opengl_exec.c
+Index: qemu-0.13.0/target-i386/opengl_exec.c
===================================================================
---- /dev/null
-+++ qemu-0.12.4/target-i386/opengl_exec.c
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ qemu-0.13.0/target-i386/opengl_exec.c 2011-01-17 16:42:36.000000000 +0800
@@ -0,0 +1,3931 @@
+/*
+ * Host-side implementation of GL/GLX API
@@ -28653,10 +28536,10 @@ Index: qemu-0.12.4/target-i386/opengl_exec.c
+
+ return ret_int;
+}
-Index: qemu-0.12.4/target-i386/opengl_func.h
+Index: qemu-0.13.0/target-i386/opengl_func.h
===================================================================
---- /dev/null
-+++ qemu-0.12.4/target-i386/opengl_func.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ qemu-0.13.0/target-i386/opengl_func.h 2011-01-17 16:42:36.000000000 +0800
@@ -0,0 +1,1108 @@
+/*
+ * Main header for both host and guest sides
@@ -29766,10 +29649,10 @@ Index: qemu-0.12.4/target-i386/opengl_func.h
+#error Unsupported ABI
+#endif
+#endif
-Index: qemu-0.12.4/target-i386/opengl_player.c
+Index: qemu-0.13.0/target-i386/opengl_player.c
===================================================================
---- /dev/null
-+++ qemu-0.12.4/target-i386/opengl_player.c
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ qemu-0.13.0/target-i386/opengl_player.c 2011-01-17 16:42:36.000000000 +0800
@@ -0,0 +1,1461 @@
+/*
+ * Plays a sequence of OpenGL calls recorded either under qemu or with opengl_server
@@ -31232,10 +31115,10 @@ Index: qemu-0.12.4/target-i386/opengl_player.c
+ }
+ return 0;
+}
-Index: qemu-0.12.4/target-i386/opengl_server.c
+Index: qemu-0.13.0/target-i386/opengl_server.c
===================================================================
---- /dev/null
-+++ qemu-0.12.4/target-i386/opengl_server.c
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ qemu-0.13.0/target-i386/opengl_server.c 2011-01-17 16:42:36.000000000 +0800
@@ -0,0 +1,826 @@
+/*
+ * TCP/IP OpenGL server
@@ -32063,10 +31946,10 @@ Index: qemu-0.12.4/target-i386/opengl_server.c
+
+ return 0;
+}
-Index: qemu-0.12.4/target-i386/opengl_utils.h
+Index: qemu-0.13.0/target-i386/opengl_utils.h
===================================================================
---- /dev/null
-+++ qemu-0.12.4/target-i386/opengl_utils.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ qemu-0.13.0/target-i386/opengl_utils.h 2011-01-17 16:42:36.000000000 +0800
@@ -0,0 +1,453 @@
+/*
+ * Functions used by host & client sides
@@ -32521,10 +32404,10 @@ Index: qemu-0.12.4/target-i386/opengl_utils.h
+}
+
+#endif
-Index: qemu-0.12.4/target-i386/parse_gl_h.c
+Index: qemu-0.13.0/target-i386/parse_gl_h.c
===================================================================
---- /dev/null
-+++ qemu-0.12.4/target-i386/parse_gl_h.c
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ qemu-0.13.0/target-i386/parse_gl_h.c 2011-01-17 16:42:36.000000000 +0800
@@ -0,0 +1,1496 @@
+/*
+ * Parse gl.h et glx.h to auto-generate source code
@@ -34022,10 +33905,10 @@ Index: qemu-0.12.4/target-i386/parse_gl_h.c
+
+ return 0;
+}
-Index: qemu-0.12.4/target-i386/parse_mesa_get_c.c
+Index: qemu-0.13.0/target-i386/parse_mesa_get_c.c
===================================================================
---- /dev/null
-+++ qemu-0.12.4/target-i386/parse_mesa_get_c.c
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ qemu-0.13.0/target-i386/parse_mesa_get_c.c 2011-01-17 16:42:36.000000000 +0800
@@ -0,0 +1,225 @@
+/*
+ * Parse the "get.c" from mesa source tree to generate "glgetv_cst.h"
@@ -34252,11 +34135,11 @@ Index: qemu-0.12.4/target-i386/parse_mesa_get_c.c
+ fclose(outf);
+ return 0;
+}
-Index: qemu-0.12.4/target-i386/translate.c
+Index: qemu-0.13.0/target-i386/translate.c
===================================================================
---- qemu-0.12.4.orig/target-i386/translate.c
-+++ qemu-0.12.4/target-i386/translate.c
-@@ -743,6 +743,8 @@ static void gen_check_io(DisasContext *s
+--- qemu-0.13.0.orig/target-i386/translate.c 2011-01-17 16:41:59.000000000 +0800
++++ qemu-0.13.0/target-i386/translate.c 2011-01-17 16:42:36.000000000 +0800
+@@ -745,6 +745,8 @@
int state_saved;
target_ulong next_eip;
@@ -34265,8 +34148,8 @@ Index: qemu-0.12.4/target-i386/translate.c
state_saved = 0;
if (s->pe && (s->cpl > s->iopl || s->vm86)) {
if (s->cc_op != CC_OP_DYNAMIC)
-@@ -2676,11 +2678,18 @@ static void gen_exception(DisasContext *
- s->is_jmp = 3;
+@@ -2672,11 +2674,18 @@
+ s->is_jmp = DISAS_TB_JUMP;
}
+int enable_gl = 0;
@@ -34284,27 +34167,26 @@ Index: qemu-0.12.4/target-i386/translate.c
if (s->cc_op != CC_OP_DYNAMIC)
gen_op_set_cc_op(s->cc_op);
gen_jmp_im(cur_eip);
-Index: qemu-0.12.4/vl.c
+Index: qemu-0.13.0/vl.c
===================================================================
---- qemu-0.12.4.orig/vl.c
-+++ qemu-0.12.4/vl.c
-@@ -238,6 +238,7 @@ int semihosting_enabled = 0;
- #ifdef TARGET_ARM
+--- qemu-0.13.0.orig/vl.c 2011-01-17 16:41:59.000000000 +0800
++++ qemu-0.13.0/vl.c 2011-01-17 16:42:36.000000000 +0800
+@@ -217,12 +217,14 @@
+ int nb_option_roms;
+ int semihosting_enabled = 0;
int old_param = 0;
- #endif
+int force_pointer = 0;
const char *qemu_name;
int alt_grab = 0;
int ctrl_grab = 0;
-@@ -246,6 +247,7 @@ unsigned int nb_prom_envs = 0;
+ unsigned int nb_prom_envs = 0;
const char *prom_envs[MAX_PROM_ENVS];
- #endif
int boot_menu;
+extern int enable_gl;
int nb_numa_nodes;
uint64_t node_mem[MAX_NODES];
-@@ -4432,6 +4434,8 @@ static void select_vgahw (const char *p)
+@@ -1433,6 +1435,8 @@
} else if (strstart(p, "xenfb", &opts)) {
vga_interface_type = VGA_XENFB;
} else if (!strstart(p, "none", &opts)) {
@@ -34313,17 +34195,17 @@ Index: qemu-0.12.4/vl.c
invalid_vga:
fprintf(stderr, "Unknown vga type: %s\n", p);
exit(1);
-@@ -5563,6 +5567,9 @@ int main(int argc, char **argv, char **e
+@@ -2535,6 +2539,9 @@
+ case QEMU_OPTION_old_param:
old_param = 1;
break;
- #endif
+ case QEMU_OPTION_force_pointer:
+ force_pointer = 1;
+ break;
case QEMU_OPTION_clock:
configure_alarms(optarg);
break;
-@@ -5577,6 +5584,12 @@ int main(int argc, char **argv, char **e
+@@ -2548,6 +2555,12 @@
}
configure_rtc(opts);
break;
@@ -34336,9 +34218,9 @@ Index: qemu-0.12.4/vl.c
case QEMU_OPTION_tb_size:
tb_size = strtol(optarg, NULL, 0);
if (tb_size < 0)
-@@ -5933,6 +5946,14 @@ int main(int argc, char **argv, char **e
- }
- }
+@@ -2887,6 +2900,14 @@
+ if (foreach_device_config(DEV_USB, usb_parse) < 0)
+ exit(1);
}
+#ifdef TARGET_OPENGL_OK
+ if (enable_gl) {
@@ -34349,24 +34231,24 @@ Index: qemu-0.12.4/vl.c
+ }
+#endif
- if (foreach_device_config(DEV_SERIAL, serial_parse) < 0)
- exit(1);
-Index: qemu-0.12.4/qemu-options.hx
+ /* init generic devices */
+ if (qemu_opts_foreach(&qemu_device_opts, device_init_func, NULL, 1) != 0)
+Index: qemu-0.13.0/qemu-options.hx
===================================================================
---- qemu-0.12.4.orig/qemu-options.hx
-+++ qemu-0.12.4/qemu-options.hx
-@@ -1789,6 +1789,18 @@ many timer interrupts were not processed
+--- qemu-0.13.0.orig/qemu-options.hx 2011-01-17 16:41:59.000000000 +0800
++++ qemu-0.13.0/qemu-options.hx 2011-01-17 16:44:27.000000000 +0800
+@@ -2024,6 +2024,18 @@
re-inject them.
ETEXI
+DEF("enable-gl", 0, QEMU_OPTION_enable_gl, \
-+ "-enable-gl\n")
++ "-enable-gl\n", QEMU_ARCH_I386)
+STEXI
+@item -enable-gl
+ETEXI
+
+DEF("force-pointer", 0, QEMU_OPTION_force_pointer, \
-+ "-force-pointer\n")
++ "-force-pointer\n", QEMU_ARCH_ALL)
+STEXI
+@item -force-pointer
+ETEXI
@@ -34374,3 +34256,109 @@ Index: qemu-0.12.4/qemu-options.hx
DEF("icount", HAS_ARG, QEMU_OPTION_icount, \
"-icount [N|auto]\n" \
" enable virtual instruction counter with 2^N clock ticks per\n" \
+Index: qemu-0.13.0/ui/sdl.c
+===================================================================
+--- qemu-0.13.0.orig/ui/sdl.c 2011-01-17 16:41:59.000000000 +0800
++++ qemu-0.13.0/ui/sdl.c 2011-01-17 16:42:36.000000000 +0800
+@@ -59,6 +59,8 @@
+ static int scaling_active = 0;
+ static Notifier mouse_mode_notifier;
+
++extern void opengl_exec_set_parent_window(Display* _dpy, Window _parent_window);
++
+ static void sdl_update(DisplayState *ds, int x, int y, int w, int h)
+ {
+ // printf("updating x=%d y=%d w=%d h=%d\n", x, y, w, h);
+@@ -121,12 +123,22 @@
+
+ static void sdl_resize(DisplayState *ds)
+ {
+- if (!allocator) {
++ SDL_SysWMinfo info;
++ static Display *dpy;
++
++ if (!allocator) {
+ if (!scaling_active)
+ do_sdl_resize(ds_get_width(ds), ds_get_height(ds), 0);
+ else if (real_screen->format->BitsPerPixel != ds_get_bits_per_pixel(ds))
+ do_sdl_resize(real_screen->w, real_screen->h, ds_get_bits_per_pixel(ds));
+ sdl_setdata(ds);
++
++ SDL_GetWMInfo(&info);
++ if (info.subsystem == SDL_SYSWM_X11 && info.info.x11.display &&
++ (!dpy || dpy == info.info.x11.display)) {
++ dpy = info.info.x11.display;
++ opengl_exec_set_parent_window(dpy, info.info.x11.window);
++ }
+ } else {
+ if (guest_screen != NULL) {
+ SDL_FreeSurface(guest_screen);
+@@ -455,7 +467,7 @@
+
+ if (!kbd_mouse_is_absolute()) {
+ SDL_ShowCursor(1);
+- if (guest_cursor &&
++ if (guest_cursor && !force_pointer &&
+ (gui_grab || kbd_mouse_is_absolute() || absolute_enabled))
+ SDL_SetCursor(guest_sprite);
+ else
+@@ -466,7 +478,8 @@
+ static void sdl_grab_start(void)
+ {
+ if (guest_cursor) {
+- SDL_SetCursor(guest_sprite);
++ if (!force_pointer)
++ SDL_SetCursor(guest_sprite);
+ if (!kbd_mouse_is_absolute() && !absolute_enabled)
+ SDL_WarpMouse(guest_x, guest_y);
+ } else
+@@ -768,7 +781,8 @@
+ if (!guest_cursor)
+ sdl_show_cursor();
+ if (gui_grab || kbd_mouse_is_absolute() || absolute_enabled) {
+- SDL_SetCursor(guest_sprite);
++ if (!force_pointer)
++ SDL_SetCursor(guest_sprite);
+ if (!kbd_mouse_is_absolute() && !absolute_enabled)
+ SDL_WarpMouse(x, y);
+ }
+@@ -796,7 +810,7 @@
+ qemu_free(image);
+ qemu_free(mask);
+
+- if (guest_cursor &&
++ if (guest_cursor && !force_pointer &&
+ (gui_grab || kbd_mouse_is_absolute() || absolute_enabled))
+ SDL_SetCursor(guest_sprite);
+ }
+@@ -813,6 +827,7 @@
+ int flags;
+ uint8_t data = 0;
+ DisplayAllocator *da;
++ SDL_SysWMinfo info;
+ const SDL_VideoInfo *vi;
+
+ #if defined(__APPLE__)
+@@ -842,6 +857,12 @@
+ vi = SDL_GetVideoInfo();
+ host_format = *(vi->vfmt);
+
++ SDL_GetWMInfo(&info);
++ if (info.subsystem == SDL_SYSWM_X11 && info.info.x11.display)
++ opengl_exec_set_parent_window(info.info.x11.display,
++ RootWindow(info.info.x11.display,
++ DefaultScreen(info.info.x11.display)));
++
+ dcl = qemu_mallocz(sizeof(DisplayChangeListener));
+ dcl->dpy_update = sdl_update;
+ dcl->dpy_resize = sdl_resize;
+@@ -876,4 +897,9 @@
+ gui_fullscreen_initial_grab = 1;
+ sdl_grab_start();
+ }
++
++ SDL_GetWMInfo(&info);
++ if (info.subsystem == SDL_SYSWM_X11 && info.info.x11.display)
++ opengl_exec_set_parent_window(info.info.x11.display,
++ info.info.x11.window);
+ }
diff --git a/meta/recipes-devtools/qemu/qemu-0.13.0/qemu-ppc-hack.patch b/meta/recipes-devtools/qemu/qemu-0.13.0/qemu-ppc-hack.patch
new file mode 100644
index 000000000..6f4578818
--- /dev/null
+++ b/meta/recipes-devtools/qemu/qemu-0.13.0/qemu-ppc-hack.patch
@@ -0,0 +1,108 @@
+Quick fixes to get the ppc system model to boot a 603e based
+kernel.
+
+Index: qemu-0.13.0/hw/m48t59.c
+===================================================================
+--- qemu-0.13.0.orig/hw/m48t59.c 2010-10-16 04:56:09.000000000 +0800
++++ qemu-0.13.0/hw/m48t59.c 2011-01-17 16:40:09.000000000 +0800
+@@ -50,6 +50,7 @@
+ */
+
+ struct M48t59State {
++ SysBusDevice busdev;
+ /* Model parameters */
+ uint32_t type; // 2 = m48t02, 8 = m48t08, 59 = m48t59
+ /* Hardware parameters */
+@@ -74,11 +75,6 @@
+ M48t59State state;
+ } M48t59ISAState;
+
+-typedef struct M48t59SysBusState {
+- SysBusDevice busdev;
+- M48t59State state;
+-} M48t59SysBusState;
+-
+ /* Fake timer functions */
+
+ /* Alarm management */
+@@ -629,8 +625,7 @@
+
+ static void m48t59_reset_sysbus(DeviceState *d)
+ {
+- M48t59SysBusState *sys = container_of(d, M48t59SysBusState, busdev.qdev);
+- M48t59State *NVRAM = &sys->state;
++ M48t59State *NVRAM = container_of(d, M48t59State, busdev.qdev);
+
+ m48t59_reset_common(NVRAM);
+ }
+@@ -641,7 +636,7 @@
+ {
+ DeviceState *dev;
+ SysBusDevice *s;
+- M48t59SysBusState *d;
++ M48t59State *d;
+
+ dev = qdev_create(NULL, "m48t59");
+ qdev_prop_set_uint32(dev, "type", type);
+@@ -658,9 +653,9 @@
+ sysbus_mmio_map(s, 0, mem_base);
+ }
+
+- d = FROM_SYSBUS(M48t59SysBusState, s);
++ d = FROM_SYSBUS(M48t59State, s);
+
+- return &d->state;
++ return d;
+ }
+
+ M48t59State *m48t59_init_isa(uint32_t io_base, uint16_t size, int type)
+@@ -710,8 +705,7 @@
+
+ static int m48t59_init1(SysBusDevice *dev)
+ {
+- M48t59SysBusState *d = FROM_SYSBUS(M48t59SysBusState, dev);
+- M48t59State *s = &d->state;
++ M48t59State *s = FROM_SYSBUS(M48t59State, dev);
+ int mem_index;
+
+ sysbus_init_irq(dev, &s->IRQ);
+@@ -740,12 +734,12 @@
+ static SysBusDeviceInfo m48t59_info = {
+ .init = m48t59_init1,
+ .qdev.name = "m48t59",
+- .qdev.size = sizeof(M48t59SysBusState),
++ .qdev.size = sizeof(M48t59State),
+ .qdev.reset = m48t59_reset_sysbus,
+ .qdev.props = (Property[]) {
+- DEFINE_PROP_UINT32("size", M48t59SysBusState, state.size, -1),
+- DEFINE_PROP_UINT32("type", M48t59SysBusState, state.type, -1),
+- DEFINE_PROP_HEX32( "io_base", M48t59SysBusState, state.io_base, 0),
++ DEFINE_PROP_UINT32("size", M48t59State, size, -1),
++ DEFINE_PROP_UINT32("type", M48t59State, type, -1),
++ DEFINE_PROP_HEX32( "io_base", M48t59State, io_base, 0),
+ DEFINE_PROP_END_OF_LIST(),
+ }
+ };
+Index: qemu-0.13.0/hw/ppc_prep.c
+===================================================================
+--- qemu-0.13.0.orig/hw/ppc_prep.c 2010-10-16 04:56:09.000000000 +0800
++++ qemu-0.13.0/hw/ppc_prep.c 2011-01-15 18:29:25.000000000 +0800
+@@ -74,7 +74,7 @@
+ /* Constants for devices init */
+ static const int ide_iobase[2] = { 0x1f0, 0x170 };
+ static const int ide_iobase2[2] = { 0x3f6, 0x376 };
+-static const int ide_irq[2] = { 13, 13 };
++static const int ide_irq[2] = { 13, 14 };
+
+ #define NE2000_NB_MAX 6
+
+@@ -631,9 +631,6 @@
+ if (filename) {
+ qemu_free(filename);
+ }
+- if (env->nip < 0xFFF80000 && bios_size < 0x00100000) {
+- hw_error("PowerPC 601 / 620 / 970 need a 1MB BIOS\n");
+- }
+
+ if (linux_boot) {
+ kernel_base = KERNEL_LOAD_ADDR;
diff --git a/meta/recipes-devtools/qemu/qemu-0.12.4/qemu-vmware-vga-depth.patch b/meta/recipes-devtools/qemu/qemu-0.13.0/qemu-vmware-vga-depth.patch
index 43071868f..5bdbaf393 100644
--- a/meta/recipes-devtools/qemu/qemu-0.12.4/qemu-vmware-vga-depth.patch
+++ b/meta/recipes-devtools/qemu/qemu-0.13.0/qemu-vmware-vga-depth.patch
@@ -1,11 +1,11 @@
# fix VMware VGA driver depth calculation error, which may cause segmentation fault
#
# ktian1, 06/29/2010
-diff --git a/console.h b/console.h
-index dfc8ae4..05fbf17 100644
---- a/console.h
-+++ b/console.h
-@@ -122,6 +122,12 @@ struct DisplayAllocator {
+Index: qemu-0.13.0/console.h
+===================================================================
+--- qemu-0.13.0.orig/console.h 2011-01-17 16:41:58.000000000 +0800
++++ qemu-0.13.0/console.h 2011-01-17 16:48:00.000000000 +0800
+@@ -171,6 +171,12 @@
void (*free_displaysurface)(DisplaySurface *surface);
};
@@ -18,15 +18,15 @@ index dfc8ae4..05fbf17 100644
struct DisplayState {
struct DisplaySurface *surface;
void *opaque;
-@@ -129,6 +135,7 @@ struct DisplayState {
+@@ -178,6 +184,7 @@
struct DisplayAllocator* allocator;
struct DisplayChangeListener* listeners;
+ struct DisplayPostCallback* postcalls;
void (*mouse_set)(int x, int y, int on);
- void (*cursor_define)(int width, int height, int bpp, int hot_x, int hot_y,
-@@ -185,6 +192,12 @@ static inline void register_displaychangelistener(DisplayState *ds, DisplayChang
+ void (*cursor_define)(QEMUCursor *cursor);
+@@ -229,6 +236,12 @@
ds->listeners = dcl;
}
@@ -39,11 +39,11 @@ index dfc8ae4..05fbf17 100644
static inline void dpy_update(DisplayState *s, int x, int y, int w, int h)
{
struct DisplayChangeListener *dcl = s->listeners;
-diff --git a/hw/vmware_vga.c b/hw/vmware_vga.c
-index 01bb85b..d73cca6 100644
---- a/hw/vmware_vga.c
-+++ b/hw/vmware_vga.c
-@@ -927,8 +927,9 @@ static void vmsvga_update_display(void *opaque)
+Index: qemu-0.13.0/hw/vmware_vga.c
+===================================================================
+--- qemu-0.13.0.orig/hw/vmware_vga.c 2011-01-17 16:42:36.000000000 +0800
++++ qemu-0.13.0/hw/vmware_vga.c 2011-01-17 16:48:00.000000000 +0800
+@@ -957,8 +957,9 @@
}
}
@@ -54,7 +54,7 @@ index 01bb85b..d73cca6 100644
s->index = 0;
s->enable = 0;
s->config = 0;
-@@ -1133,6 +1134,8 @@ static const VMStateDescription vmstate_vmware_vga = {
+@@ -1163,6 +1164,8 @@
static void vmsvga_init(struct vmsvga_state_s *s, int vga_ram_size)
{
@@ -63,7 +63,7 @@ index 01bb85b..d73cca6 100644
s->scratch_size = SVGA_SCRATCH_SIZE;
s->scratch = qemu_malloc(s->scratch_size * 4);
-@@ -1160,7 +1163,10 @@ static void vmsvga_init(struct vmsvga_state_s *s, int vga_ram_size)
+@@ -1190,7 +1193,10 @@
rom_add_vga(VGABIOS_FILENAME);
@@ -75,11 +75,11 @@ index 01bb85b..d73cca6 100644
}
static void pci_vmsvga_map_ioport(PCIDevice *pci_dev, int region_num,
-diff --git a/qemu-common.h b/qemu-common.h
-index a23afbc..19f107a 100644
---- a/qemu-common.h
-+++ b/qemu-common.h
-@@ -198,6 +198,7 @@ typedef struct DisplayState DisplayState;
+Index: qemu-0.13.0/qemu-common.h
+===================================================================
+--- qemu-0.13.0.orig/qemu-common.h 2011-01-17 16:41:58.000000000 +0800
++++ qemu-0.13.0/qemu-common.h 2011-01-17 16:48:00.000000000 +0800
+@@ -205,6 +205,7 @@
typedef struct DisplayChangeListener DisplayChangeListener;
typedef struct DisplaySurface DisplaySurface;
typedef struct DisplayAllocator DisplayAllocator;
@@ -87,11 +87,11 @@ index a23afbc..19f107a 100644
typedef struct PixelFormat PixelFormat;
typedef struct TextConsole TextConsole;
typedef TextConsole QEMUConsole;
-diff --git a/vl.c b/vl.c
-index 39182ea..9a3e9fd 100644
---- a/vl.c
-+++ b/vl.c
-@@ -4863,6 +4863,7 @@ int main(int argc, char **argv, char **envp)
+Index: qemu-0.13.0/vl.c
+===================================================================
+--- qemu-0.13.0.orig/vl.c 2011-01-17 16:42:36.000000000 +0800
++++ qemu-0.13.0/vl.c 2011-01-17 16:48:00.000000000 +0800
+@@ -1814,6 +1814,7 @@
char boot_devices[33] = "cad"; /* default to HD->floppy->CD-ROM */
DisplayState *ds;
DisplayChangeListener *dcl;
@@ -99,7 +99,7 @@ index 39182ea..9a3e9fd 100644
int cyls, heads, secs, translation;
QemuOpts *hda_opts = NULL, *opts;
int optind;
-@@ -6053,6 +6053,13 @@ int main(int argc, char **argv, char **envp)
+@@ -2960,6 +2961,13 @@
}
dpy_resize(ds);
diff --git a/meta/recipes-devtools/qemu/qemu-0.12.4/qemugl-allow-glxcontext-release.patch b/meta/recipes-devtools/qemu/qemu-0.13.0/qemugl-allow-glxcontext-release.patch
index 43acc361a..43acc361a 100644
--- a/meta/recipes-devtools/qemu/qemu-0.12.4/qemugl-allow-glxcontext-release.patch
+++ b/meta/recipes-devtools/qemu/qemu-0.13.0/qemugl-allow-glxcontext-release.patch
diff --git a/meta/recipes-devtools/qemu/qemu-0.12.4/vmware-vga-fifo-rewind.patch b/meta/recipes-devtools/qemu/qemu-0.13.0/vmware-vga-fifo-rewind.patch
index ef92f54c8..867e54ba1 100644
--- a/meta/recipes-devtools/qemu/qemu-0.12.4/vmware-vga-fifo-rewind.patch
+++ b/meta/recipes-devtools/qemu/qemu-0.13.0/vmware-vga-fifo-rewind.patch
@@ -14,11 +14,11 @@ Date: Fri Sep 10 02:23:31 2010 +0200
this should be relatively rare but it is suspected to have been the
cause of the occasional FIFO overrun that killed the display.
-Index: qemu-0.12.4/hw/vmware_vga.c
+Index: qemu-0.13.0/hw/vmware_vga.c
===================================================================
---- qemu-0.12.4.orig/hw/vmware_vga.c 2010-09-30 23:04:34.000000000 +0800
-+++ qemu-0.12.4/hw/vmware_vga.c 2010-10-01 01:17:02.000000000 +0800
-@@ -491,27 +491,37 @@
+--- qemu-0.13.0.orig/hw/vmware_vga.c 2011-01-15 18:06:06.000000000 +0800
++++ qemu-0.13.0/hw/vmware_vga.c 2011-01-15 18:17:04.000000000 +0800
+@@ -521,27 +521,37 @@
static uint32_t last_cmd;
@@ -64,7 +64,7 @@ Index: qemu-0.12.4/hw/vmware_vga.c
}
static inline uint32_t vmsvga_fifo_read(struct vmsvga_state_s *s)
-@@ -522,13 +532,23 @@
+@@ -552,13 +562,23 @@
static void vmsvga_fifo_run(struct vmsvga_state_s *s)
{
uint32_t colour;
@@ -90,7 +90,7 @@ Index: qemu-0.12.4/hw/vmware_vga.c
x = vmsvga_fifo_read(s);
y = vmsvga_fifo_read(s);
width = vmsvga_fifo_read(s);
-@@ -537,6 +557,10 @@
+@@ -567,6 +587,10 @@
break;
case SVGA_CMD_RECT_FILL:
@@ -101,7 +101,7 @@ Index: qemu-0.12.4/hw/vmware_vga.c
colour = vmsvga_fifo_read(s);
x = vmsvga_fifo_read(s);
y = vmsvga_fifo_read(s);
-@@ -546,10 +570,15 @@
+@@ -576,10 +600,15 @@
vmsvga_fill_rect(s, colour, x, y, width, height);
break;
#else
@@ -117,7 +117,7 @@ Index: qemu-0.12.4/hw/vmware_vga.c
x = vmsvga_fifo_read(s);
y = vmsvga_fifo_read(s);
dx = vmsvga_fifo_read(s);
-@@ -560,10 +589,15 @@
+@@ -590,10 +619,15 @@
vmsvga_copy_rect(s, x, y, dx, dy, width, height);
break;
#else
@@ -133,7 +133,7 @@ Index: qemu-0.12.4/hw/vmware_vga.c
cursor.id = vmsvga_fifo_read(s);
cursor.hot_x = vmsvga_fifo_read(s);
cursor.hot_y = vmsvga_fifo_read(s);
-@@ -572,11 +606,14 @@
+@@ -602,11 +636,14 @@
vmsvga_fifo_read(s);
cursor.bpp = vmsvga_fifo_read(s);
@@ -151,7 +151,7 @@ Index: qemu-0.12.4/hw/vmware_vga.c
for (args = 0; args < SVGA_BITMAP_SIZE(x, y); args ++)
cursor.mask[args] = vmsvga_fifo_read_raw(s);
-@@ -595,6 +632,10 @@
+@@ -625,6 +662,10 @@
* for so we can avoid FIFO desync if driver uses them illegally.
*/
case SVGA_CMD_DEFINE_ALPHA_CURSOR:
@@ -162,7 +162,7 @@ Index: qemu-0.12.4/hw/vmware_vga.c
vmsvga_fifo_read(s);
vmsvga_fifo_read(s);
vmsvga_fifo_read(s);
-@@ -609,6 +650,10 @@
+@@ -639,6 +680,10 @@
args = 7;
goto badcmd;
case SVGA_CMD_DRAW_GLYPH_CLIPPED:
@@ -173,7 +173,7 @@ Index: qemu-0.12.4/hw/vmware_vga.c
vmsvga_fifo_read(s);
vmsvga_fifo_read(s);
args = 7 + (vmsvga_fifo_read(s) >> 2);
-@@ -629,14 +674,22 @@
+@@ -659,14 +704,22 @@
break; /* Nop */
default:
diff --git a/meta/recipes-devtools/qemu/qemu-0.13.0/wacom-tablet-fix.patch b/meta/recipes-devtools/qemu/qemu-0.13.0/wacom-tablet-fix.patch
new file mode 100644
index 000000000..b8210db2b
--- /dev/null
+++ b/meta/recipes-devtools/qemu/qemu-0.13.0/wacom-tablet-fix.patch
@@ -0,0 +1,65 @@
+qemu 0.13.0 cause seg fault in qemu_remove_mouse_event_handler, this patch from
+upstream can fix it.
+
+Should remove it in next upgrade if necessary.
+
+Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
+
+commit b2d4d8329963b13c5cebe5944dcc99f0e9d1b5c7
+Author: Gerd Hoffmann <kraxel@redhat.com>
+Date: Fri Oct 8 12:30:14 2010 +0200
+
+ wacom tablet: activate event handlers.
+
+ Add qemu_activate_mouse_event_handler() calls to the usb wavom tablet so
+ it actually receives events. Also make sure we only remove the handler
+ if we registered it before.
+
+ Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+ Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
+
+Index: qemu-0.13.0/hw/usb-wacom.c
+===================================================================
+--- qemu-0.13.0.orig/hw/usb-wacom.c 2010-10-16 04:56:09.000000000 +0800
++++ qemu-0.13.0/hw/usb-wacom.c 2011-01-18 16:58:44.000000000 +0800
+@@ -160,6 +160,7 @@
+ if (!s->mouse_grabbed) {
+ s->eh_entry = qemu_add_mouse_event_handler(usb_mouse_event, s, 0,
+ "QEMU PenPartner tablet");
++ qemu_activate_mouse_event_handler(s->eh_entry);
+ s->mouse_grabbed = 1;
+ }
+
+@@ -197,6 +198,7 @@
+ if (!s->mouse_grabbed) {
+ s->eh_entry = qemu_add_mouse_event_handler(usb_wacom_event, s, 1,
+ "QEMU PenPartner tablet");
++ qemu_activate_mouse_event_handler(s->eh_entry);
+ s->mouse_grabbed = 1;
+ }
+
+@@ -334,8 +336,10 @@
+ ret = 0;
+ break;
+ case WACOM_SET_REPORT:
+- qemu_remove_mouse_event_handler(s->eh_entry);
+- s->mouse_grabbed = 0;
++ if (s->mouse_grabbed) {
++ qemu_remove_mouse_event_handler(s->eh_entry);
++ s->mouse_grabbed = 0;
++ }
+ s->mode = data[0];
+ ret = 0;
+ break;
+@@ -397,7 +401,10 @@
+ {
+ USBWacomState *s = (USBWacomState *) dev;
+
+- qemu_remove_mouse_event_handler(s->eh_entry);
++ if (s->mouse_grabbed) {
++ qemu_remove_mouse_event_handler(s->eh_entry);
++ s->mouse_grabbed = 0;
++ }
+ }
+
+ static int usb_wacom_initfn(USBDevice *dev)
diff --git a/meta/recipes-devtools/qemu/qemu-0.12.4/workaround_bad_futex_headers.patch b/meta/recipes-devtools/qemu/qemu-0.13.0/workaround_bad_futex_headers.patch
index 7727a39f3..a08e2d9ac 100644
--- a/meta/recipes-devtools/qemu/qemu-0.12.4/workaround_bad_futex_headers.patch
+++ b/meta/recipes-devtools/qemu/qemu-0.13.0/workaround_bad_futex_headers.patch
@@ -2,11 +2,11 @@
linux-user/syscall.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
-Index: qemu/linux-user/syscall.c
+Index: qemu-0.13.0/linux-user/syscall.c
===================================================================
---- qemu.orig/linux-user/syscall.c 2010-05-11 16:52:16.929785275 -0400
-+++ qemu/linux-user/syscall.c 2010-05-11 16:52:25.174783517 -0400
-@@ -94,6 +94,15 @@
+--- qemu-0.13.0.orig/linux-user/syscall.c 2011-01-17 16:52:18.000000000 +0800
++++ qemu-0.13.0/linux-user/syscall.c 2011-01-17 16:52:20.000000000 +0800
+@@ -99,6 +99,15 @@
#define CLONE_NPTL_FLAGS2 0
#endif
diff --git a/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb b/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb
index 19fb6f4ff..23771acf2 100644
--- a/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb
+++ b/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb
@@ -1,7 +1,9 @@
DESCRIPTION = "Qemu helper utilities from Poky"
LICENSE = "GPLv2"
-RDEPENDS = "qemu-native"
-PR = "r0"
+RDEPENDS_${PN} = "qemu-native"
+PR = "r1"
+
+LIC_FILES_CHKSUM = "file://${WORKDIR}/tunctl.c;endline=4;md5=ff3a09996bc5fff6bc5d4e0b4c28f999"
FILESPATH = "${FILE_DIRNAME}/qemu-helper"
diff --git a/meta/recipes-devtools/qemu/qemu-helper-nativesdk_1.0.bb b/meta/recipes-devtools/qemu/qemu-helper-nativesdk_1.0.bb
index 791465694..18d278db7 100644
--- a/meta/recipes-devtools/qemu/qemu-helper-nativesdk_1.0.bb
+++ b/meta/recipes-devtools/qemu/qemu-helper-nativesdk_1.0.bb
@@ -1,10 +1,14 @@
DESCRIPTION = "Qemu helper scripts from Poky"
-LICENSE = "GPL"
-RDEPENDS = "qemu-nativesdk"
-PR = "r8"
+LICENSE = "GPLv2"
+RDEPENDS_${PN} = "qemu-nativesdk"
+PR = "r9"
FILESPATH = "${FILE_DIRNAME}/qemu-helper"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/tunctl.c;endline=4;md5=ff3a09996bc5fff6bc5d4e0b4c28f999 \
+ file://${POKYBASE}/scripts/poky-qemu;endline=18;md5=ce52af3dd295e20ad1d849611b83690b"
+
+
SRC_URI = "file://${POKYBASE}/scripts/poky-qemu \
file://${POKYBASE}/scripts/poky-qemu-internal \
file://${POKYBASE}/scripts/poky-addptable2image \
diff --git a/meta/recipes-devtools/qemu/qemu_0.12.4.bb b/meta/recipes-devtools/qemu/qemu_0.13.0.bb
index 6125bca0d..945c570f7 100644
--- a/meta/recipes-devtools/qemu/qemu_0.12.4.bb
+++ b/meta/recipes-devtools/qemu/qemu_0.13.0.bb
@@ -3,7 +3,7 @@ require qemu.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913"
-PR = "r23"
+PR = "r0"
FILESPATH = "${FILE_DIRNAME}/qemu-${PV}"
FILESDIR = "${WORKDIR}"
@@ -21,16 +21,15 @@ SRC_URI = "\
file://qemu-vmware-vga-depth.patch \
file://qemu-ppc-hack.patch \
file://enable-i386-linux-user.patch \
- file://arm-cp15-fix.patch \
- file://cursor-shadow-fix.patch \
file://vmware-vga-fifo-rewind.patch \
file://fix-configure-checks.patch \
- file://powerpc_rom.bin \
- file://arm_timer-fix-oneshot-mode.patch \
- file://arm_timer-reload-timer-when-enabled.patch"
+ file://parallel_make.patch \
+ file://wacom-tablet-fix.patch \
+ file://port92_fix.patch \
+ file://powerpc_rom.bin"
-SRC_URI[md5sum] = "93e6b134dff89b2799f57b7d9e0e0fc5"
-SRC_URI[sha256sum] = "1a29a5b5151162d1de035c4926d1a1dbffee4a145ef61ee865d6b82aaea0602e"
+SRC_URI[md5sum] = "397a0d665da8ba9d3b9583629f3d6421"
+SRC_URI[sha256sum] = "1e6f5851b05cea6e377c835f4668408d4124cfb845f9948d922808743c5fd877"
do_install_append () {
install -d ${D}${datadir}/qemu
diff --git a/meta/recipes-devtools/rpm/rpm/header-include-fix.patch b/meta/recipes-devtools/rpm/rpm/header-include-fix.patch
new file mode 100644
index 000000000..92c534e58
--- /dev/null
+++ b/meta/recipes-devtools/rpm/rpm/header-include-fix.patch
@@ -0,0 +1,24 @@
+diff --git a/rpmdb/rpmdb.h b/rpmdb/rpmdb.h
+index 0e1bdd7..8b522bb 100644
+--- a/rpmdb/rpmdb.h
++++ b/rpmdb/rpmdb.h
+@@ -9,6 +9,7 @@
+
+ #include <assert.h>
+ #include <mire.h>
++#include <errno.h>
+
+ #include <rpmtypes.h>
+ #include <rpmtag.h> /* XXX Header typedef */
+diff --git a/rpmdb/rpmtag.h b/rpmdb/rpmtag.h
+index 8af6480..2166b4c 100644
+--- a/rpmdb/rpmtag.h
++++ b/rpmdb/rpmtag.h
+@@ -7,6 +7,7 @@
+
+ #include <rpmiotypes.h>
+ #include <rpmsw.h>
++#include <stdint.h>
+
+ #ifdef __cplusplus
+ extern "C" {
diff --git a/meta/recipes-devtools/rpm/rpm/rpm-autogen.patch b/meta/recipes-devtools/rpm/rpm/rpm-autogen.patch
new file mode 100644
index 000000000..323bb7151
--- /dev/null
+++ b/meta/recipes-devtools/rpm/rpm/rpm-autogen.patch
@@ -0,0 +1,54 @@
+Remove the sanity checking from the rpm autogen.sh. This is required because
+we may have slightly different, but yet compatible versions. If we do end
+up breaking things, we'll deal with it at that time.
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+diff -ur rpm-5.4.0.orig/autogen.sh rpm-5.4.0/autogen.sh
+--- rpm-5.4.0.orig/autogen.sh 2010-11-02 11:55:53.000000000 -0500
++++ rpm-5.4.0/autogen.sh 2011-01-06 00:15:05.158946295 -0600
+@@ -34,12 +34,6 @@
+ eval $_libtoolize $_libtoolize_args
+ }
+
+-# requirements sanity check
+-[ "`automake --version | head -1`" != "$AMV" ] && echo "$USAGE" # && exit 1
+-[ "`autoconf --version | head -1`" != "$ACV" ] && echo "$USAGE" # && exit 1
+-[ "`libtoolize --version | head -1`" != "$LTV" ] && echo "$USAGE" # && exit 1
+-[ "`gettextize --version | head -1 | sed -e 's;^.*/\\(gettextize\\);\\1;'`" != "$GTT" ] && echo "$USAGE" # && exit 1
+-
+ for dir in bash beecrypt file neon pcre popt rc syck xar xz; do
+
+ if [ -d $dir ]; then
+diff -ur rpm-5.4.0.orig/neon/autogen.sh rpm-5.4.0/neon/autogen.sh
+--- rpm-5.4.0.orig/neon/autogen.sh 2010-10-30 19:11:33.000000000 -0500
++++ rpm-5.4.0/neon/autogen.sh 2011-01-06 00:15:17.863962139 -0600
+@@ -34,12 +34,6 @@
+ eval $_libtoolize $_libtoolize_args
+ }
+
+-# requirements sanity check
+-[ "`automake --version | head -1`" != "$AMV" ] && echo "$USAGE" # && exit 1
+-[ "`autoconf --version | head -1`" != "$ACV" ] && echo "$USAGE" # && exit 1
+-[ "`libtoolize --version | head -1`" != "$LTV" ] && echo "$USAGE" # && exit 1
+-[ "`gettextize --version | head -1 | sed -e 's;^.*/\\(gettextize\\);\\1;'`" != "$GTT" ] && echo "$USAGE" # && exit 1
+-
+ echo "---> generate files via GNU libtool (libtoolize)"
+ libtoolize --quiet --copy --force --install
+ echo "---> generate files via GNU autoconf (aclocal, autoheader)"
+diff -ur rpm-5.4.0.orig/syck/autogen.sh rpm-5.4.0/syck/autogen.sh
+--- rpm-5.4.0.orig/syck/autogen.sh 2010-11-02 11:55:56.000000000 -0500
++++ rpm-5.4.0/syck/autogen.sh 2011-01-06 00:15:27.103949601 -0600
+@@ -34,12 +34,6 @@
+ eval $_libtoolize $_libtoolize_args
+ }
+
+-# requirements sanity check
+-[ "`automake --version | head -1`" != "$AMV" ] && echo "$USAGE" # && exit 1
+-[ "`autoconf --version | head -1`" != "$ACV" ] && echo "$USAGE" # && exit 1
+-[ "`libtoolize --version | head -1`" != "$LTV" ] && echo "$USAGE" # && exit 1
+-[ "`gettextize --version | head -1 | sed -e 's;^.*/\\(gettextize\\);\\1;'`" != "$GTT" ] && echo "$USAGE" # && exit 1
+-
+ echo "---> generate files via GNU libtool (libtoolize)"
+ libtoolize --quiet --copy --force --install
+ echo "---> generate files via GNU autoconf (aclocal, autoheader)"
diff --git a/meta/recipes-devtools/rpm/rpm/rpm-libsql-fix.patch b/meta/recipes-devtools/rpm/rpm/rpm-libsql-fix.patch
new file mode 100644
index 000000000..829399c95
--- /dev/null
+++ b/meta/recipes-devtools/rpm/rpm/rpm-libsql-fix.patch
@@ -0,0 +1,18 @@
+During installation, the libtool relink attempts to link to -lrpm...
+The problem is that it hasn't been installed yet! So small change causes
+the libtool to instead use the build version.
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+--- rpm-5.4.0/lib/Makefile.am.orig
++++ rpm-5.4.0/lib/Makefile.am
+@@ -90,6 +90,9 @@
+ libsql_la_SOURCES = libsql.c
+ libsql_la_LIBADD = librpm.la $(RPMDB_LDADD_COMMON)
+
++# pkglib libraries needs to have usrlib libraries already installed!
++install-pkglibLTLIBRARIES: install-usrlibLTLIBRARIES
++
+ install-data-hook:
+ if !ENABLE_BUILD_LAFILES
+ -for l in $(usrlib_LTLIBRARIES); do \
diff --git a/meta/recipes-devtools/rpm/rpm/rpm2cpio b/meta/recipes-devtools/rpm/rpm/rpm2cpio
new file mode 100755
index 000000000..00c4ec549
--- /dev/null
+++ b/meta/recipes-devtools/rpm/rpm/rpm2cpio
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+pkg=$1
+if [ "$pkg" = "" -o ! -e "$pkg" ]; then
+ echo "no package supplied" 1>&2
+ exit 1
+fi
+
+leadsize=96
+o=`expr $leadsize + 8`
+set `od -j $o -N 8 -t u1 $pkg`
+il=`expr 256 \* \( 256 \* \( 256 \* $2 + $3 \) + $4 \) + $5`
+dl=`expr 256 \* \( 256 \* \( 256 \* $6 + $7 \) + $8 \) + $9`
+# echo "sig il: $il dl: $dl"
+
+sigsize=`expr 8 + 16 \* $il + $dl`
+o=`expr $o + $sigsize + \( 8 - \( $sigsize \% 8 \) \) \% 8 + 8`
+set `od -j $o -N 8 -t u1 $pkg`
+il=`expr 256 \* \( 256 \* \( 256 \* $2 + $3 \) + $4 \) + $5`
+dl=`expr 256 \* \( 256 \* \( 256 \* $6 + $7 \) + $8 \) + $9`
+# echo "hdr il: $il dl: $dl"
+
+hdrsize=`expr 8 + 16 \* $il + $dl`
+o=`expr $o + $hdrsize`
+EXTRACTOR="dd if=$pkg ibs=$o skip=1"
+
+COMPRESSION=`($EXTRACTOR |file -) 2>/dev/null`
+if echo $COMPRESSION |grep -q gzip; then
+ DECOMPRESSOR=gunzip
+elif echo $COMPRESSION |grep -q bzip2; then
+ DECOMPRESSOR=bunzip2
+elif echo $COMPRESSION |grep -q xz; then
+ DECOMPRESSOR=unxz
+elif echo $COMPRESSION |grep -q cpio; then
+ DECOMPRESSOR=cat
+else
+ # Most versions of file don't support LZMA, therefore we assume
+ # anything not detected is LZMA
+ DECOMPRESSOR=`which unlzma 2>/dev/null`
+ case "$DECOMPRESSOR" in
+ /* ) ;;
+ * ) DECOMPRESSOR=`which lzmash 2>/dev/null`
+ case "$DECOMPRESSOR" in
+ /* ) DECOMPRESSOR="lzmash -d -c" ;;
+ * ) DECOMPRESSOR=cat ;;
+ esac
+ ;;
+ esac
+fi
+
+$EXTRACTOR 2>/dev/null | $DECOMPRESSOR
diff --git a/meta/recipes-devtools/rpm/rpm_5.1.10.bb b/meta/recipes-devtools/rpm/rpm_5.1.10.bb
deleted file mode 100644
index efb4eae89..000000000
--- a/meta/recipes-devtools/rpm/rpm_5.1.10.bb
+++ /dev/null
@@ -1,168 +0,0 @@
-DESCRIPTION = "The RPM Package Manager - relaunched"
-DESCRIPTION_rpm-build = "The RPM Package Manager rpmbuild and related commands."
-HOMEPAGE = "http://rpm5.org/"
-LICENSE = "LGPL 2.1"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1"
-
-DEPENDS = "zlib perl popt beecrypt python libpcre elfutils"
-PR = "r7"
-
-SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.1/POKY/${BPN}-${PV}.tar.gz \
- file://hdraddorappend.patch \
- file://export-rpmbag-h.patch \
- file://rpm-nrescan.patch \
- file://rpm-autoconf.patch \
- file://remove-compiled-tests.patch;apply=no \
- file://perfile_rpmdeps.sh \
- file://rpm-no-loop.patch \
- "
-
-SRC_URI[md5sum] = "a5deb83b451f11c04461c630937b1189"
-SRC_URI[sha256sum] = "701726a6ae8283fcabc308dae523ad9599388296a562db1b3d7d7c871641af7e"
-inherit autotools gettext
-
-acpaths = "-I ${S}/db/dist/aclocal -I ${S}/db/dist/aclocal_java"
-
-# Specify the default rpm macros in terms of adjustable variables
-rpm_macros = "%{_usrlibrpm}/macros:%{_usrlibrpm}/poky/macros:%{_usrlibrpm}/poky/%{_target}/macros:~/.oerpmmacros"
-
-EXTRA_OECONF = "--with-python=${PYTHON_BASEVERSION} \
- --with-python-inc-dir=${STAGING_INCDIR}/python${PYTHON_BASEVERSION} \
- --with-python-lib-dir=${libdir}/python${PYTHON_BASEVERSION} \
- --with-db=internal \
- --with-db-tools-integrated \
- --with-libelf \
- --with-file=internal \
- --without-apidocs \
- --without-selinux \
- --without-lua \
- --without-dmalloc \
- --without-efence \
- --without-neon \
- --with-pcre=internal \
- --with-path-macros=${rpm_macros} \
- --with-bugreport=http://bugzilla.pokylinux.org"
-
-CFLAGS_append = " -DRPM_VENDOR_WINDRIVER"
-
-PACKAGES =+ "rpm-build python-rpm python-rpm-dbg"
-
-SOLIBS = "5.0.so"
-
-FILES_rpm-build = "${bindir}/*-rpmbuild \
- ${bindir}/*-gendiff \
- ${bindir}/*-rpmspecdump \
- ${libdir}/rpm/helpers/* \
- ${libdir}/rpm/*brp* \
- ${libdir}/rpm/*check-files \
- ${libdir}/rpm/*cross-build \
- ${libdir}/rpm/*debugedit \
- ${libdir}/rpm/*dep* \
- ${libdir}/rpm/*prov* \
- ${libdir}/rpm/*req* \
- ${libdir}/rpm/*find* \
- ${libdir}/rpm/qf/* \
- "
-
-FILES_python-rpm = "${libdir}/python*/rpm/_*"
-FILES_python-rpm-dbg = "${libdir}/python*/rpm/.debug/_*"
-
-# The mutex needs to be POSIX/pthreads/library or we can't
-# share a database between host and target environments
-# (there is a minor performance penalty, but not one great enough
-# to justify the pain of a more optimized approach!)
-EXTRA_OECONF += "--with-mutex=POSIX/pthreads/library"
-
-do_configure() {
- # Manually run through the steps of the autogen.sh
- ( cd pcre
- libtoolize --quiet --copy --force --install
- aclocal
- autoheader
- automake -Wall -Wno-override -a -c
- autoconf
- )
-
- ( cd xz
- autopoint -f
- rm -f \
- codeset.m4 \
- glibc2.m4 \
- glibc21.m4 \
- intdiv0.m4 \
- intl.m4 \
- intldir.m4 \
- intmax.m4 \
- inttypes-pri.m4 \
- inttypes_h.m4 \
- lcmessage.m4 \
- lock.m4 \
- longdouble.m4 \
- longlong.m4 \
- printf-posix.m4 \
- size_max.m4 \
- stdint_h.m4 \
- uintmax_t.m4 \
- ulonglong.m4 \
- visibility.m4 \
- wchar_t.m4 \
- wint_t.m4 \
- xsize.m4
- libtoolize -c -f || glibtoolize -c -f
- aclocal -I m4
- autoconf
- autoheader
- automake -acf --foreign
- )
-
- ( cd file
- libtoolize --quiet --copy --force --install
- aclocal
- autoheader
- automake -Wall -Wno-override -a -c
- autoconf
- )
-
- (cd syck
- libtoolize --quiet --copy --force --install
- aclocal
- autoheader
- automake -Wall -Wno-override -a -c
- autoconf
- )
-
- (cd xar
- libtoolize --quiet --copy --force --install
- aclocal
- autoheader
- automake -Wall -Wno-override -a -c
- autoconf
- )
-
- rm -rf autom4te.cache || true
- libtoolize --quiet --copy --force --install
- autopoint --force
- rm -f aclocal.m4
- aclocal -I m4
- autoheader -I m4
- automake -Wall -Wno-override -a -c
- autoconf -I m4
- # end of autogen.sh steps
-
- export ac_cv_va_copy=C99
- oe_runconf
-}
-
-do_install_append() {
- sed -i -e 's,%__check_files,#%%__check_files,' ${D}/${libdir}/rpm/macros
- sed -i -e 's,%__scriptlet_requires,#%%__scriptlet_requires,' ${D}/${libdir}/rpm/macros
- sed -i -e 's,%__perl_provides,#%%__perl_provides,' ${D}/${libdir}/rpm/macros
- sed -i -e 's,%__perl_requires,#%%__perl_requires,' ${D}/${libdir}/rpm/macros
-
- # Enable Debian style arbitrary tags...
- sed -i -e 's,%_arbitrary_tags[^_].*,%_arbitrary_tags %{_arbitrary_tags_debian},' ${D}/${libdir}/rpm/macros
-
- install -m 0755 ${WORKDIR}/perfile_rpmdeps.sh ${D}/${libdir}/rpm/perfile_rpmdeps.sh
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta/recipes-devtools/rpm/rpm_5.4.0.bb b/meta/recipes-devtools/rpm/rpm_5.4.0.bb
new file mode 100644
index 000000000..566325ea4
--- /dev/null
+++ b/meta/recipes-devtools/rpm/rpm_5.4.0.bb
@@ -0,0 +1,417 @@
+SUMMARY = "The RPM package management system"
+DESCRIPTION = "The RPM Package Manager (RPM) is a powerful command line driven \
+package management system capable of installing, uninstalling, \
+verifying, querying, and updating software packages. Each software \
+package consists of an archive of files along with information about \
+the package like its version, a description, etc."
+
+SUMMARY_${PN}-libs = "Libraries for manipulating RPM packages."
+DESCRIPTION_${PN}-libs = "This package contains the RPM shared libraries."
+
+SUMMARY_${PN}-dev = "Development files for manipulating RPM packages."
+DESCRIPTION_${PN}-dev = "This package contains the RPM C library and header files. These \
+development files will simplify the process of writing programs that \
+manipulate RPM packages and databases. These files are intended to \
+simplify the process of creating graphical package managers or any \
+other tools that need an intimate knowledge of RPM packages in order \
+to function."
+
+SUMMARY_${PN}-common = "Common RPM paths, scripts, documentation and configuration."
+DESCRIPTION_${PN}-common = "The rpm-common package contains paths, scripts, documentation \
+and configuration common between RPM Package Manager."
+
+SUMMARY_${PN}-build = "Scripts and executable programs used to build packages."
+DESCRIPTION_${PN}-build = "The rpm-build packagec ontains the scripts and executable programs \
+that are used to build packages using the RPM Package Manager."
+
+SUMMARY_python-rpm = "Python bindings for apps which will manupulate RPM packages."
+DESCRIPTION_python-rpm = "The rpm-python package contains a module that permits applications \
+written in the Python programming language to use the interface \
+supplied by the RPM Package Manager libraries."
+
+SUMMARY_perl-module-rpm = "Perl bindings for apps which will manipulate RPM packages."
+DESCRIPTION_perl-modules-rpm = "The perl-modules-rpm package contains a module that permits applications \
+written in the Perl programming language to use the interface \
+supplied by the RPM Package Manager libraries."
+
+SUMMARY_perl-module-rpm-dev = "Development components for perl bindings"
+DESCRIPTION_perl-modules-rpm-dev = "Development items such as man pages for use with the Perl \
+language bindings."
+
+HOMEPAGE = "http://rpm5.org/"
+LICENSE = "LGPL 2.1"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+DEPENDS = "bzip2 zlib python perl db openssl elfutils expat libpcre attr acl popt"
+PR = "r11"
+
+# rpm2cpio is a shell script, which is part of the rpm src.rpm. It is needed
+# in order to extract the distribution SRPM into a format we can extract...
+SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.0-0.20101229.src.rpm;unpack=rpm-5.4.0.tar.gz \
+ file://perfile_rpmdeps.sh \
+ file://rpm-autogen.patch \
+ file://rpm-libsql-fix.patch \
+ file://header-include-fix.patch \
+ "
+
+# file://hdraddorappend.patch \
+# file://export-rpmbag-h.patch \
+# file://rpm-nrescan.patch \
+# file://rpm-autoconf.patch \
+# file://remove-compiled-tests.patch;apply=no \
+# file://rpm-no-loop.patch \
+# "
+
+SRC_URI[md5sum] = "19c1a7f68d7765eeb7615c9c4e54e380"
+SRC_URI[sha256sum] = "887e76218308b570c33c8c2fb10b5298b3afd5d602860d281befc85357b3b923"
+
+inherit autotools gettext
+
+acpaths = "-I ${S}/db/dist/aclocal -I ${S}/db/dist/aclocal_java"
+
+# Specify the default rpm macros in terms of adjustable variables
+rpm_macros = "%{_usrlibrpm}/macros:%{_usrlibrpm}/poky/macros:%{_usrlibrpm}/poky/%{_target}/macros:~/.oerpmmacros"
+
+# Configure values taken from rpm.spec
+WITH_BZIP2 = "--with-bzip2"
+
+WITH_XZ = "--without-xz"
+
+WITH_Z = "--with-zlib $WITH_BZIP2 $WITH_XZ"
+
+WITH_PYTHON = " --with-python=${PYTHON_BASEVERSION} \
+ --with-python-inc-dir=${STAGING_INCDIR}/python${PYTHON_BASEVERSION} \
+ --with-python-lib-dir=${libdir}/python${PYTHON_BASEVERSION} \
+ --without-pythonembed \
+ "
+
+WITH_PYTHON_native = " --without-python"
+
+# Perl modules are not built, but they could be enabled fairly easily
+# the perl module creation and installation would need to be patched.
+# (currently has host perl contamination issues)
+#WITH_PERL = " --with-perl --without-perlembed"
+WITH_PERL = " --without-perl"
+
+WITH_PERL_native = " --without-perl"
+
+WITH_DB = "--with-db --with-dbsql --without-db-tools-integrated --without-sqlite"
+
+WITH_CRYPTO = "--with-beecrypt=internal --with-openssl --without-nss --without-gcrypt"
+
+WITH_KEYUTILS = "--without-keyutils"
+WITH_LIBELF = "--with-libelf"
+WITH_SELINUX = "--without-selinux --without-sepol --without-semanage"
+#WITH_NEON = "--with-neon=internal --without-libproxy --with-expat --without-gssapi"
+WITH_NEON = "--without-neon --without-libproxy --without-expat --without-gssapi"
+
+EXTRA_OECONF = "--verbose \
+ --sysconfdir=/etc \
+ ${WITH_DB} \
+ ${WITH_Z} \
+ --with-file \
+ --with-path-magic=/usr/share/misc/magic \
+ --without-lua \
+ --without-tcl \
+ --with-syck=internal \
+ --without-readline \
+ --without-augeas \
+ ${WITH_CRYPTO} \
+ --without-libtasn1 \
+ --without-pakchois \
+ --without-gnutls \
+ ${WITH_NEON} \
+ --with-pcre \
+ --enable-utf8 \
+ --without-uuid \
+ --with-attr \
+ --with-acl \
+ --without-xar \
+ --with-popt=external \
+ ${WITH_KEYUTILS} \
+ --with-pthreads \
+ ${WITH_LIBELF} \
+ --without-cudf \
+ --without-ficl \
+ --without-aterm \
+ --without-nix \
+ --without-bash \
+ --without-rc \
+ --without-js \
+ --without-gpsee \
+ ${WITH_PYTHON} \
+ ${WITH_PERL} \
+ --without-ruby \
+ --without-squirrel \
+ --with-build-extlibdep \
+ --with-build-maxextlibdep \
+ --without-valgrind \
+ --disable-openmp \
+ --enable-build-pic \
+ --enable-build-versionscript \
+ --enable-build-warnings \
+ --enable-build-debug \
+ --enable-maintainer-mode \
+ --with-path-macros=${rpm_macros} \
+ --with-bugreport=http://bugzilla.pokylinux.org"
+
+CFLAGS_append = " -DRPM_VENDOR_WINDRIVER"
+
+PACKAGES = "${PN}-dbg ${PN} ${PN}-doc ${PN}-libs ${PN}-dev ${PN}-common ${PN}-build python-rpm-dbg python-rpm perl-module-rpm perl-module-rpm-dev ${PN}-locale"
+
+SOLIBS = "5.4.so"
+
+# Based on %files section in the rpm.spec
+
+FILES_${PN} = "${bindir}/rpm \
+ ${bindir}/rpmconstant \
+ ${libdir}/rpm/rpm.* \
+ ${libdir}/rpm/tgpg \
+ ${libdir}/rpm/macros \
+ ${libdir}/rpm/rpmpopt \
+ ${libdir}/rpm/rpmdb_loadcvt \
+ ${libdir}/rpm/rpm2cpio \
+ ${libdir}/rpm/vcheck \
+ ${libdir}/rpm/helpers \
+ ${libdir}/rpm/qf \
+ ${libdir}/rpm/cpuinfo.yaml \
+ ${libdir}/rpm/bin/mtree \
+ ${libdir}/rpm/bin/rpmkey \
+ ${libdir}/rpm/bin/rpmrepo \
+ ${libdir}/rpm/bin/rpmspecdump \
+ ${libdir}/rpm/bin/wget \
+ "
+
+# ${libdir}/rpm/magic \
+# ${libdir}/rpm/magic.mgc \
+# ${libdir}/rpm/magic.mime \
+# ${libdir}/rpm/magic.mime.mgc \
+# ${libdir}/rpm/bin/db_* \
+# ${libdir}/rpm/bin/grep \
+
+FILES_${PN}-dbg = "${bindir}/.debug \
+ ${libdir}/.debug \
+ ${libdir}/rpm/.debug \
+ ${libdir}/rpm/bin/.debug \
+ "
+
+FILES_${PN}-common = "${bindir}/rpm2cpio \
+ ${bindir}/gendiff \
+ /etc/rpm \
+ /var/lib/rpm \
+ /var/spool/repackage \
+ "
+
+FILES_${PN}-libs = "${libdir}/librpm-*.so \
+ ${libdir}/librpmconstant-*.so \
+ ${libdir}/librpmdb-*.so \
+ ${libdir}/librpmio-*.so \
+ ${libdir}/librpmmisc-*.so \
+ ${libdir}/librpmbuild-*.so \
+ "
+
+###%{_rpmhome}/lib/libxar.so.*
+###%{_rpmhome}/lib/libjs.so.*
+###%{_rpmhome}/lib/librpmjsm.so.*
+###%{_rpmhome}/lib/rpmjsm.so
+
+
+FILES_${PN}-build = "${prefix}/src/rpm \
+ ${bindir}/rpmbuild \
+ ${libdir}/rpm/brp-* \
+ ${libdir}/rpm/check-files \
+ ${libdir}/rpm/cross-build \
+ ${libdir}/rpm/find-debuginfo.sh \
+ ${libdir}/rpm/find-lang.sh \
+ ${libdir}/rpm/find-prov.pl \
+ ${libdir}/rpm/find-provides.perl \
+ ${libdir}/rpm/find-req.pl \
+ ${libdir}/rpm/find-requires.perl \
+ ${libdir}/rpm/getpo.sh \
+ ${libdir}/rpm/http.req \
+ ${libdir}/rpm/javadeps.sh \
+ ${libdir}/rpm/mono-find-provides \
+ ${libdir}/rpm/mono-find-requires \
+ ${libdir}/rpm/executabledeps.sh \
+ ${libdir}/rpm/libtooldeps.sh \
+ ${libdir}/rpm/osgideps.pl \
+ ${libdir}/rpm/perldeps.pl \
+ ${libdir}/rpm/perl.prov \
+ ${libdir}/rpm/perl.req \
+ ${libdir}/rpm/php.prov \
+ ${libdir}/rpm/php.req \
+ ${libdir}/rpm/pkgconfigdeps.sh \
+ ${libdir}/rpm/pythondeps.sh \
+ ${libdir}/rpm/bin/debugedit \
+ ${libdir}/rpm/bin/rpmcache \
+ ${libdir}/rpm/bin/rpmcmp \
+ ${libdir}/rpm/bin/rpmdeps \
+ ${libdir}/rpm/bin/rpmdigest \
+ ${libdir}/rpm/bin/abi-compliance-checker.pl \
+ ${libdir}/rpm/bin/api-sanity-autotest.pl \
+ ${libdir}/rpm/bin/chroot \
+ ${libdir}/rpm/bin/cp \
+ ${libdir}/rpm/bin/dbsql \
+ ${libdir}/rpm/bin/find \
+ ${libdir}/rpm/bin/install-sh \
+ ${libdir}/rpm/bin/lua \
+ ${libdir}/rpm/bin/luac \
+ ${libdir}/rpm/bin/mkinstalldirs \
+ ${libdir}/rpm/bin/rpmlua \
+ ${libdir}/rpm/bin/rpmluac \
+ ${libdir}/rpm/bin/sqlite3 \
+ ${libdir}/rpm/lib/liblua.a \
+ ${libdir}/rpm/lib/liblua.la \
+ ${libdir}/rpm/macros.d/cmake \
+ ${libdir}/rpm/macros.d/java \
+ ${libdir}/rpm/macros.d/libtool \
+ ${libdir}/rpm/macros.d/mandriva \
+ ${libdir}/rpm/macros.d/mono \
+ ${libdir}/rpm/macros.d/perl \
+ ${libdir}/rpm/macros.d/php \
+ ${libdir}/rpm/macros.d/pkgconfig \
+ ${libdir}/rpm/macros.d/python \
+ ${libdir}/rpm/macros.d/ruby \
+ ${libdir}/rpm/macros.d/selinux \
+ ${libdir}/rpm/macros.d/tcl \
+ ${libdir}/rpm/macros.rpmbuild \
+ ${libdir}/rpm/u_pkg.sh \
+ ${libdir}/rpm/vpkg-provides.sh \
+ ${libdir}/rpm/vpkg-provides2.sh \
+ ${libdir}/rpm/perfile_rpmdeps.sh \
+ "
+
+#%rpmattr %{_rpmhome}/gem_helper.rb
+#%rpmattr %{_rpmhome}/symclash.*
+
+FILES_python-rpm-dbg = "${libdir}/python*/rpm/.debug/_*"
+FILES_python-rpm = "${libdir}/python*/rpm"
+
+FILES_perl-module-rpm = "${libdir}/perl/*/* \
+ "
+
+FILES_perl-module-rpm-dev = "${prefix}/share/man/man3/RPM* \
+ "
+
+FILE_${PN}-dev = "${includedir}/rpm \
+ ${libdir}/librpm.a \
+ ${libdir}/librpm.la \
+ ${libdir}/librpm.so \
+ ${libdir}/librpmconstant.a \
+ ${libdir}/librpmconstant.la \
+ ${libdir}/librpmconstant.so \
+ ${libdir}/librpmdb.a \
+ ${libdir}/librpmdb.la \
+ ${libdir}/librpmdb.so \
+ ${libdir}/librpmio.a \
+ ${libdir}/librpmio.la \
+ ${libdir}/librpmio.so \
+ ${libdir}/librpmmisc.a \
+ ${libdir}/librpmmisc.la \
+ ${libdir}/librpmmisc.so \
+ ${libdir}/librpmbuild.a \
+ ${libdir}/librpmbuild.la \
+ ${libdir}/librpmbuild.so \
+ ${libdir}/pkgconfig/rpm.pc \
+ "
+
+###%{_rpmhome}/lib/libxar.a
+###%{_rpmhome}/lib/libxar.la
+###%{_rpmhome}/lib/libxar.so
+###%{_rpmhome}/lib/libjs.a
+###%{_rpmhome}/lib/libjs.la
+###%{_rpmhome}/lib/libjs.so
+###%{_rpmhome}/lib/librpmjsm.a
+###%{_rpmhome}/lib/librpmjsm.la
+###%{_rpmhome}/lib/librpmjsm.so
+
+do_configure() {
+ # Disable tests!
+ echo "all:" > tests/Makefile.am
+
+ ./autogen.sh
+
+ oe_runconf
+}
+
+do_install_append() {
+ sed -i -e 's,%__check_files,#%%__check_files,' ${D}/${libdir}/rpm/macros
+ sed -i -e 's,%__scriptlet_requires,#%%__scriptlet_requires,' ${D}/${libdir}/rpm/macros
+ sed -i -e 's,%__perl_provides,#%%__perl_provides,' ${D}/${libdir}/rpm/macros
+ sed -i -e 's,%__perl_requires,#%%__perl_requires,' ${D}/${libdir}/rpm/macros
+
+ # Enable Debian style arbitrary tags...
+ sed -i -e 's,%_arbitrary_tags[^_].*,%_arbitrary_tags %{_arbitrary_tags_debian},' ${D}/${libdir}/rpm/macros
+
+ install -m 0755 ${WORKDIR}/perfile_rpmdeps.sh ${D}/${libdir}/rpm/perfile_rpmdeps.sh
+
+ # Remove unpackaged files (based on list in rpm.spec)
+ rm -f ${D}/${libdir}/rpm/{Specfile.pm,cpanflute,cpanflute2,rpmdiff,rpmdiff.cgi,sql.prov,sql.req,tcl.req,trpm}
+
+ rm -f ${D}/${mandir}/man8/rpmcache.8*
+ rm -f ${D}/${mandir}/man8/rpmgraph.8*
+ rm -f ${D}/${mandir}/*/man8/rpmcache.8*
+ rm -f ${D}/${mandir}/*/man8/rpmgraph.8*
+ rm -rf ${D}/${mandir}/{fr,ko}
+
+ rm -f ${D}/${includedir}/popt.h
+ rm -f ${D}/${libdir}/libpopt.*
+ rm -f ${D}/${libdir}/pkgconfig/popt.pc
+ rm -f ${D}/${datadir}/locale/*/LC_MESSAGES/popt.mo
+ rm -f ${D}/${mandir}/man3/popt.3
+
+ rm -f ${D}/${mandir}/man1/xar.1*
+ rm -f ${D}/${bindir}/xar
+ rm -rf ${D}/${includedir}/xar
+ rm -f ${D}/${libdir}/libxar*
+
+ rm -f ${D}/${bindir}/lz*
+ rm -f ${D}/${bindir}/unlzma
+ rm -f ${D}/${bindir}/unxz
+ rm -f ${D}/${bindir}/xz*
+ rm -rf ${D}/${includedir}/lzma*
+ rm -f ${D}/${mandir}/man1/lz*.1
+ rm -f ${D}/${libdir}/pkgconfig/liblzma*
+
+ rm -f ${D}/${libdir}/python%{with_python_version}/site-packages/*.{a,la}
+ rm -f ${D}/${libdir}/python%{with_python_version}/site-packages/rpm/*.{a,la}
+
+ #find ${D}/${libdir}/perl5 -type f -a \( -name perllocal.pod -o -name .packlist \
+ # -o \( -name '*.bs' -a -empty \) \) -exec rm -f {} ';'
+ #find ${D}/${libdir}/perl5 -type d -depth -exec rmdir {} 2>/dev/null ';'
+
+ # We don't want the default macro set
+ rm -rf ${D}/${libdir}/rpm/{i[3456]86*,athlon*,pentium*,x86_64*,alpha*,sparc*,ia64*,ppc*,s390*,armv[34][lb]*,armv[345]*,mips*,noarch*}
+
+ rm -f ${D}/${libdir}/rpm/dbconvert.sh
+
+ rm -f ${D}/${libdir}/rpm/libsqldb.*
+}
+
+do_install_append_virtclass-native() {
+ create_wrapper ${D}/${bindir}/rpm \
+ RPM_USRLIBRPM=${STAGING_LIBDIR_NATIVE}/rpm \
+ RPM_ETCRPM=${STAGING_ETCDIR_NATIVE}/rpm \
+ RPM_LOCALEDIRRPM=${STAGING_DATADIR_NATIVE}/locale
+
+ create_wrapper ${D}/${bindir}/rpm2cpio \
+ RPM_USRLIBRPM=${STAGING_LIBDIR_NATIVE}/rpm \
+ RPM_ETCRPM=${STAGING_ETCDIR_NATIVE}/rpm \
+ RPM_LOCALEDIRRPM=${STAGING_DATADIR_NATIVE}/locale
+
+ create_wrapper ${D}/${bindir}/rpmbuild \
+ RPM_USRLIBRPM=${STAGING_LIBDIR_NATIVE}/rpm \
+ RPM_ETCRPM=${STAGING_ETCDIR_NATIVE}/rpm \
+ RPM_LOCALEDIRRPM=${STAGING_DATADIR_NATIVE}/locale
+
+ create_wrapper ${D}/${bindir}/rpmconstant \
+ RPM_USRLIBRPM=${STAGING_LIBDIR_NATIVE}/rpm \
+ RPM_ETCRPM=${STAGING_ETCDIR_NATIVE}/rpm \
+ RPM_LOCALEDIRRPM=${STAGING_DATADIR_NATIVE}/locale
+
+ # Adjust popt macros to match...
+ cat ${D}/${libdir}/rpm/rpmpopt | sed -e "s,^\(rpm[^ ]*\)\([ ]\),\1.real\2," > ${D}/${libdir}/rpm/rpmpopt.new
+ mv ${D}/${libdir}/rpm/rpmpopt.new ${D}/${libdir}/rpm/rpmpopt
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta/recipes-devtools/sgml-common/sgml-common-0.6.3/autohell.patch b/meta/recipes-devtools/sgml-common/sgml-common-0.6.3/autohell.patch
new file mode 100644
index 000000000..1366adabd
--- /dev/null
+++ b/meta/recipes-devtools/sgml-common/sgml-common-0.6.3/autohell.patch
@@ -0,0 +1,58 @@
+Patch obtained from OpenEmbedded.
+
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+--- sgml-common-0.6.3/bin/Makefile.am~autohell.patch 2001-01-30 15:42:21.000000000 +0100
++++ sgml-common-0.6.3/bin/Makefile.am 2004-06-17 11:51:11.000000000 +0200
+@@ -1,6 +1,5 @@
+ primitive_scripts = sgmlwhich
+
+-bindir = $(prefix)/bin
+ bin_SCRIPTS = install-catalog $(primitive_scripts)
+
+ EXTRA_DIST = install-catalog.in $(primitive_scripts)
+--- /dev/null 2003-09-23 19:59:22.000000000 +0200
++++ sgml-common-0.6.3/bin/sgmlwhich.in 2004-06-17 11:51:11.000000000 +0200
+@@ -0,0 +1,7 @@
++#!/bin/sh
++# Location of the main configuration file for consistency with non-LSB platforms
++# Send any comments to Eric Bischoff <eric@caldera.de>
++# This program is under GPL license. See LICENSE file for details.
++
++echo "@sysconfdir@/sgml/sgml.conf"
++# Simple, isn't it? ;-)
+--- /dev/null 2003-09-23 19:59:22.000000000 +0200
++++ sgml-common-0.6.3/config/sgml.conf.in 2004-06-17 11:51:11.000000000 +0200
+@@ -0,0 +1,2 @@
++SGML_BASE_DIR=@datadir@/sgml
++SGML_CATALOGS_DIR=@sysconfdir@/sgml
+--- sgml-common-0.6.3/configure.in~autohell.patch 2001-05-25 18:40:54.000000000 +0200
++++ sgml-common-0.6.3/configure.in 2004-06-17 11:53:22.000000000 +0200
+@@ -3,11 +3,6 @@
+
+ AM_INIT_AUTOMAKE(sgml-common, 0.6.3)
+
+-docdir='$(prefix)/doc'
+-AC_SUBST(docdir)
+-
+-dnl Checks for programs.
+-
+ dnl Checks for libraries.
+
+ dnl Checks for header files.
+@@ -18,6 +13,5 @@
+
+ AC_OUTPUT(Makefile \
+ bin/Makefile bin/install-catalog \
+- config/Makefile \
+- doc/Makefile doc/HTML/Makefile doc/man/Makefile doc/refentry/Makefile \
++ config/Makefile config/sgml.conf bin/sgmlwhich \
+ sgml-iso-entities/Makefile xml-iso-entities/Makefile)
+
+--- sgml-common-0.6.3/Makefile.am~no-docs 2001-05-25 18:22:01.000000000 +0200
++++ sgml-common-0.6.3/Makefile.am 2004-06-17 11:49:09.000000000 +0200
+@@ -1,4 +1,4 @@
+-SUBDIRS = bin config doc sgml-iso-entities xml-iso-entities
++SUBDIRS = bin config sgml-iso-entities xml-iso-entities
+
+ sgmlcodir = $(prefix)/share/sgml
+ sgmlco_DATA = xml.dcl
diff --git a/meta/recipes-devtools/sgml-common/sgml-common-0.6.3/license.patch b/meta/recipes-devtools/sgml-common/sgml-common-0.6.3/license.patch
new file mode 100644
index 000000000..ec66aaefa
--- /dev/null
+++ b/meta/recipes-devtools/sgml-common/sgml-common-0.6.3/license.patch
@@ -0,0 +1,26 @@
+The COPYING file sgml-common ships with is just a symlink to
+/usr/share/automake/COPYING, which means we can't verify it
+using our normal means. We workaround this by using this patch
+to create our own license file.
+
+Upstream was notified about this on 2011-01-24. When upgrading
+this recipe, this should be fixed and you should remove this
+patch.
+
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+diff -urN sgml-common-0.6.3.orig/LICENSE-GPLv2 sgml-common-0.6.3/LICENSE-GPLv2
+--- sgml-common-0.6.3.orig/LICENSE-GPLv2 1969-12-31 16:00:00.000000000 -0800
++++ sgml-common-0.6.3/LICENSE-GPLv2 2011-01-28 17:05:17.299528001 -0800
+@@ -0,0 +1,12 @@
++Copyright (C) 1997 Christian Schwarz <schwarz@debian.org>.
++Copyright (C) 2001-2004 Ardo van Rangelrooij <ardo@debian.org>
++
++This is free software; you may 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, or (at your option) any later
++version.
++
++This 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.
diff --git a/meta/recipes-devtools/sgml-common/sgml-common-native_0.6.3.bb b/meta/recipes-devtools/sgml-common/sgml-common-native_0.6.3.bb
new file mode 100644
index 000000000..7e9b92362
--- /dev/null
+++ b/meta/recipes-devtools/sgml-common/sgml-common-native_0.6.3.bb
@@ -0,0 +1,50 @@
+SUMMARY = "Base utilities for working with SGML and XML"
+DESCRIPTION = "The sgml-common package gathers very basic \
+stuff necessary to work with SGML and XML, such as xml.dcl, \
+a SGML declaration of XML; iso-entities, a list of the basic \
+SGML ISO entities; and install-catalog, a script used to \
+add entries to (or remove entries from) centralized catalogs \
+whose entries are pointers to SGML open catalogs, \
+as defined by OASIS."
+HOMEPAGE = "http://sources.redhat.com/docbook-tools/"
+LICENSE = "GPLv2"
+# The COPYING file sgml-common ships with is just a symlink to
+# /usr/share/automake/COPYING, which means we can't verify it
+# using our normal means. :( Hash the README file instead as
+# LIC_FILES_CHKSUM is still required.
+LIC_FILES_CHKSUM = "file://README;md5=197bd940bf13548ac2198e4f77d3da92"
+SECTION = "base"
+
+PR = "r0"
+
+require sgml-common_${PV}.bb
+inherit native
+
+S = "${WORKDIR}/sgml-common-${PV}"
+
+SYSROOT_PREPROCESS_FUNCS += "sgml_common_native_mangle"
+
+do_install_append() {
+ # install-catalog script contains hard-coded references to
+ # {sysconfdir}. Change it to ${D}${sysconfdir}.
+ sed -i -e "s|${sysconfdir}/sgml|${D}${sysconfdir}/sgml|g" ${D}${bindir}/install-catalog
+
+ ${D}${bindir}/install-catalog \
+ --add ${D}${sysconfdir}/sgml/sgml-ent.cat \
+ ${D}${datadir}/sgml/sgml-iso-entities-8879.1986/catalog
+
+ ${D}${bindir}/install-catalog \
+ --add ${D}${sysconfdir}/sgml/sgml-docbook.cat \
+ ${D}${sysconfdir}/sgml/sgml-ent.cat
+}
+
+sgml_common_native_mangle () {
+ # Revert back to ${sysconfdir} path in install-catalog
+ sed -i -e "s|${D}${sysconfdir}/sgml|${sysconfdir}/sgml|g" ${SYSROOT_DESTDIR}${STAGING_BINDIR}/install-catalog
+ # Change path from ${D}${datadir}/sgml/sgml-iso-entities-8879.1986/catalog to ${datadir}/sgml/sgml-iso-entities-8879.1986/catalog in sgml-ent.cat
+ sed -i -e "s|${D}${datadir}/sgml/sgml-iso-entities-8879.1986/catalog|${datadir}/sgml/sgml-iso-entities-8879.1986/catalog|g" ${SYSROOT_DESTDIR}${sysconfdir}/sgml/sgml-ent.cat
+ # Change path from ${D}${sysconfdir}/sgml/sgml-ent.cat|${sysconfdir}/sgml/sgml-ent.cat to ${sysconfdir}/sgml/sgml-ent.cat in sgml-ent.cat
+ sed -i -e "s|${D}${sysconfdir}/sgml/sgml-ent.cat|${sysconfdir}/sgml/sgml-ent.cat|g" ${SYSROOT_DESTDIR}${sysconfdir}/sgml/sgml-docbook.cat
+ # Remove ${D} path from catalog file created by install-catalog script
+ sed -i -e "s|${D}||g" ${SYSROOT_DESTDIR}${sysconfdir}/sgml/catalog
+}
diff --git a/meta/recipes-devtools/sgml-common/sgml-common_0.6.3.bb b/meta/recipes-devtools/sgml-common/sgml-common_0.6.3.bb
new file mode 100644
index 000000000..92014a80e
--- /dev/null
+++ b/meta/recipes-devtools/sgml-common/sgml-common_0.6.3.bb
@@ -0,0 +1,52 @@
+SUMMARY = "Base utilities for working with SGML and XML"
+DESCRIPTION = "The sgml-common package gathers very basic \
+stuff necessary to work with SGML and XML, such as xml.dcl, \
+a SGML declaration of XML; iso-entities, a list of the basic \
+SGML ISO entities; and install-catalog, a script used to \
+add entries to (or remove entries from) centralized catalogs \
+whose entries are pointers to SGML open catalogs, \
+as defined by OASIS."
+HOMEPAGE = "http://sources.redhat.com/docbook-tools/"
+LICENSE = "GPLv2+"
+# See the comments in license.patch when upgrading this recipe.
+# This is inteded to be a temporary workaround.
+LIC_FILES_CHKSUM = "file://LICENSE-GPLv2;md5=ab8a50abe86dfc859e148baae043c89b"
+SECTION = "base"
+
+PR = "r0"
+
+SRC_URI = "ftp://sources.redhat.com/pub/docbook-tools/new-trials/SOURCES/sgml-common-${PV}.tgz \
+ file://autohell.patch \
+ file://license.patch"
+
+SRC_URI[md5sum] = "103c9828f24820df86e55e7862e28974"
+SRC_URI[sha256sum] = "7dc418c1d361123ffc5e45d61f1b97257940a8eb35d0bfbbc493381cc5b1f959"
+
+inherit autotools
+
+do_compile_append() {
+ # install-catalog script contains hardcoded references to /etc/sgml
+ sed -i -e "s|/etc/sgml|${sysconfdir}/sgml|g" bin/install-catalog
+}
+
+FILES_sgml-common_append = " ${datadir}/sgml"
+
+pkg_postinst() {
+ install-catalog \
+ --add ${sysconfdir}/sgml/sgml-ent.cat \
+ ${datadir}/sgml/sgml-iso-entities-8879.1986/catalog
+
+ install-catalog \
+ --add ${sysconfdir}/sgml/sgml-docbook.cat \
+ ${sysconfdir}/sgml/sgml-ent.cat
+}
+
+pkg_postrm() {
+ install-catalog \
+ --remove ${sysconfdir}/sgml/sgml-ent.cat \
+ ${datadir}/sgml/sgml-iso-entities-8879.1986/catalog
+
+ install-catalog \
+ --remove ${sysconfdir}/sgml/sgml-docbook.cat \
+ ${sysconfdir}/sgml/sgml-ent.cat
+}
diff --git a/meta/recipes-devtools/sgmlspl/files/combined.patch b/meta/recipes-devtools/sgmlspl/files/combined.patch
new file mode 100644
index 000000000..31536f53e
--- /dev/null
+++ b/meta/recipes-devtools/sgmlspl/files/combined.patch
@@ -0,0 +1,457 @@
+Patch obtained from OpenEmbedded.
+
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+--- libsgmls-perl-1.03ii.orig/Makefile
++++ libsgmls-perl-1.03ii/Makefile
+@@ -94,5 +94,5 @@
+ mv /tmp/${DIST} SGMLSpm
+
+ clean:
+- cd DOC; make clean
++ #cd DOC; make clean
+ rm -f *~ core *.tar *.tar.gz
+--- libsgmls-perl-1.03ii.orig/Makefile.PL
++++ libsgmls-perl-1.03ii/Makefile.PL
+@@ -0,0 +1,17 @@
++use ExtUtils::MakeMaker;
++# See lib/ExtUtils/MakeMaker.pm for details of how to influence
++# the contents of the Makefile that is written.
++WriteMakefile(
++ 'NAME' => 'SGMLS',
++ 'VERSION' => '1.03ii',
++ 'PM' => { 'SGMLS.pm' => '$(INST_LIBDIR)/SGMLS.pm',
++ 'Output.pm' => '$(INST_LIBDIR)/SGMLS/Output.pm',
++ 'Refs.pm' => '$(INST_LIBDIR)/SGMLS/Refs.pm',
++ 'skel.pl' => '$(INST_LIBDIR)/sgmlspl-specs/skel.pl',
++ },
++ 'MAN3PODS'=> { 'SGMLS.pm' => '$(INST_MAN3DIR)/SGMLS.3pm',
++ 'Output.pm' => '$(INST_MAN3DIR)/SGMLS::Output.3pm',
++ 'Refs.pm' => '$(INST_MAN3DIR)/SGMLS::Refs.3pm',
++ },
++ 'EXE_FILES' => [ 'sgmlspl', ],
++);
+--- libsgmls-perl-1.03ii.orig/Output.pm
++++ libsgmls-perl-1.03ii/Output.pm
+@@ -5,7 +5,7 @@
+ @ISA = Exporter;
+ @EXPORT = qw(output push_output pop_output);
+
+-$version = '$Id: Output.pm,v 1.6 1995/12/05 12:21:51 david Exp $';
++$version = '$Id: Output.pm,v 1.1 1999/10/26 19:30:45 ardo Exp $';
+
+ =head1 NAME
+
+--- libsgmls-perl-1.03ii.orig/Refs.pm
++++ libsgmls-perl-1.03ii/Refs.pm
+@@ -2,11 +2,11 @@
+
+ use Carp;
+
+-$version = '$Id: Refs.pm,v 1.5 1995/12/03 21:28:36 david Exp $';
++$version = '$Id: Refs.pm,v 1.1 1999/10/26 19:30:45 ardo Exp $';
+
+ =head1 NAME
+
+-SGMLS::Refs
++SGMLS::Refs - Forward refeence handling
+
+ =head1 SYNOPSIS
+
+--- libsgmls-perl-1.03ii.orig/sgmlspl.1
++++ libsgmls-perl-1.03ii/sgmlspl.1
+@@ -0,0 +1,47 @@
++.\" -*- nroff -*-
++.\" ----------------------------------------------------------------------
++.TH SGMLSPL 1 "October 26, 1999" "SGMLSPL" "SGMLSPL"
++.\"
++.\" ----------------------------------------------------------------------
++.SH "NAME"
++sgmlspl \- a simple post-processor for nsgmls
++.\"
++.\" ----------------------------------------------------------------------
++.SH "SYNOPSIS"
++.B sgmlspl
++.I "spec file"
++.\"
++.\" ----------------------------------------------------------------------
++.SH "DESCRIPTION"
++sgmlspl is a sample application to convert SGML documents to other
++formats by providing a specification file detailing exactly how to
++handle each element, external data entity, subdocument entity, CDATA
++string, record end, SDATA string, and processing instruction.
++
++To use sgmlspl, prepare a specification file containing regular perl5
++code. If the SGML document were named doc.sgml, the sgmlspl
++specification file were named, spec.pl, and the name of the new file
++were doc.latex, then use the following command in a Unix shell to
++convert the SGML document:
++
++nsgmls doc.sgml | sgmlspl spec.pl > doc.latex
++
++sgmlspl will pass any additional arguments on to the specification
++file, which can then process them in the regular perl5 fashion.
++.\"
++.\" ----------------------------------------------------------------------
++.SH "SEE ALSO"
++.TP
++.BR /usr/share/doc/sgmls-doc/sgmlspl/sgmlspl.html
++sgmlspl documentation in HTML format
++.TP
++.BR /usr/share/doc/sgmls-doc/SGMLSpm/sgmls.html
++SGMLS documentation in HTML format
++.TP
++.BR nsgmls (1)
++.\"
++.\" ----------------------------------------------------------------------
++.SH "AUTHOR"
++Ardo van Rangelrooij <ardo@debian.org>
++.\"
++.\" ----------------------------------------------------------------------
+--- libsgmls-perl-1.03ii.orig/sgmlspl
++++ libsgmls-perl-1.03ii/sgmlspl
+@@ -0,0 +1,323 @@
++#!/usr/bin/perl
++########################################################################
++# sgmlspl: a simple SGML postprocesser for the SGMLS and NSGMLS
++# parsers (requires SGMLS.pm library).
++#
++# Copyright (c) 1995 by David Megginson <dmeggins@aix1.uottawa.ca>
++#
++# 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., 675 Mass Ave, Cambridge, MA 02139, USA.
++#
++# $Log: sgmlspl,v $
++# Revision 1.1 2004/02/23 01:23:07 ardo
++# Added debian changes for version 1.03ii-27.
++#
++# Revision 1.1 2001/04/15 14:42:01 ardo
++# *** empty log message ***
++#
++# Revision 1.8 1995/12/03 21:46:31 david
++# Eliminated all use of the SGMLS_Event::key method.
++#
++# Revision 1.7 1995/11/15 20:22:24 david
++# Changed "use Output" to "use SGMLS::Output". Qualified the STDIN
++# filehandle for the SGMLS object with the main:: package name.
++#
++# Revision 1.6 1995/08/12 16:15:14 david
++# Revised version for 1.01 distribution.
++#
++# Revision 1.5 1995/04/27 11:52:25 david
++# Changed 'print' to 'main::output' for re handler; empty string
++# translates into an empty sub {} rather than a sub printing an empty
++# string; instead of evaluating every argument as a perl script, take
++# only the first as a perl script and the rest as its arguments; allow
++# empty scripts or scripts which do not end with '1;'; pass the event
++# itself as the second argument to each handler, after the event data.
++#
++# Revision 1.4 1995/04/23 14:44:58 david
++# Use the Output package. Fixed the $version variable.
++#
++# Revision 1.3 1995/04/22 21:02:49 david
++# Added some missing 'last SWITCH;' statements in the sgmls function.
++#
++# Revision 1.2 1995/04/22 20:58:48 david
++# Added $SGMLS_PL::version variable and changed SDATA notation from
++# [SDATA] to |SDATA|.
++#
++# Revision 1.1 1995/04/22 14:40:50 david
++# Initial revision
++#
++########################################################################
++
++use SGMLS::Output;
++
++package SGMLS_PL;
++use SGMLS;
++
++$version = '$Id: sgmlspl,v 1.1 2004/02/23 01:23:07 ardo Exp $';
++
++#
++# Set up handler defaults.
++#
++$start_document_handler = sub {};
++$end_document_handler = sub {};
++$start_element_handlers = { '' => sub {} };
++$end_element_handlers = { '' => sub {} };
++$cdata_handler = sub { main::output($_[0]); };
++$sdata_handlers = { '' => sub { main::output($_[0]);} };
++$re_handler = sub { main::output("\n"); };
++$pi_handler = sub { '' => sub {} };
++$entity_handlers = { '' => sub {} };
++$start_subdoc_handlers = { '' => sub {} };
++$end_subdoc_handlers = { '' => sub {} };
++$conforming_handler = sub {};
++
++#
++# Main access point: declare handlers for different SGML events.
++#
++# Usage: sgml(event, handler);
++#
++# The event may be one of the following strings, or a special pattern.
++# The generic events are as follow:
++#
++# 'start' The beginning of the document.
++# 'end' The end of the document.
++# 'start_element' The beginning of an element.
++# 'end_element' The end of an element.
++# 'cdata' Regular character data.
++# 'sdata' Special system-specific data.
++# 're' A record-end.
++# 'pi' A processing instruction.
++# 'entity' An external-entity reference.
++# 'start_subdoc' The beginning of a subdocument entity.
++# 'end_subdoc' The end of a subdocument entity.
++# 'conforming' The document is conforming.
++#
++# In addition to these generic events, it is possible to handlers
++# for certain specific, named events, as follow:
++#
++# '<GI>' The beginning of element GI.
++# '</GI>' The end of element GI.
++# '[SDATA]' The system-specific data SDATA.
++# '&ENAME;' A reference to the external entity ENAME.
++# '{ENAME}' The beginning of the subdocument-entity ENAME.
++# '{/ENAME}' The end of the subdocument-entity ENAME.
++#
++#
++# The handler may be a string, which will simply be printed when the
++# event occurs (this is usually useful only for the specific, named
++# events), or a reference to an anonymous subroutine, which will
++# receive two arguments: the event data and the event itself. For
++# example,
++#
++# sgml('<FOO>', "\n\\begin{foo}\n");
++#
++# and
++#
++# sgml('<FOO>', sub { output("\n\\begin{foo}\n"); });
++#
++# will have identical results.
++#
++sub main::sgml {
++ my ($spec,$handler) = (@_);
++ if (ref($handler) ne 'CODE') {
++ $handler =~ s/\\/\\\\/g;
++ $handler =~ s/'/\\'/g;
++ if ($handler eq '') {
++ $handler = sub {};
++ } else {
++ $handler = eval "sub { main::output('$handler'); };";
++ }
++ }
++ SWITCH: {
++ # start-document handler
++ $spec eq 'start' && do {
++ $start_document_handler = $handler;
++ last SWITCH;
++ };
++ # end-document handler
++ $spec eq 'end' && do {
++ $end_document_handler = $handler;
++ last SWITCH;
++ };
++ # start-element handler
++ $spec =~ /^<([^\/].*|)>$/ && do {
++ $start_element_handlers->{$1} = $handler;
++ last SWITCH;
++ };
++ # generic start-element handler
++ $spec eq 'start_element' && do {
++ $start_element_handlers->{''} = $handler;
++ last SWITCH;
++ };
++ # end-element handler
++ $spec =~ /^<\/(.*)>$/ && do {
++ $end_element_handlers->{$1} = $handler;
++ last SWITCH;
++ };
++ # generic end-element handler
++ $spec =~ 'end_element' && do {
++ $end_element_handlers->{''} = $handler;
++ last SWITCH;
++ };
++ # cdata handler
++ $spec eq 'cdata' && do {
++ $cdata_handler = $handler;
++ last SWITCH;
++ };
++ # sdata handler
++ $spec =~ /^\|(.*)\|$/ && do {
++ $sdata_handlers->{$1} = $handler;
++ last SWITCH;
++ };
++ # generic sdata handler
++ $spec eq 'sdata' && do {
++ $sdata_handlers->{''} = $handler;
++ last SWITCH;
++ };
++ # record-end handler
++ $spec eq 're' && do {
++ $re_handler = $handler;
++ last SWITCH;
++ };
++ # processing-instruction handler
++ $spec eq 'pi' && do {
++ $pi_handler = $handler;
++ last SWITCH;
++ };
++ # entity-reference handler
++ $spec =~ /^\&(.*);$/ && do {
++ $entity_handlers->{$1} = $handler;
++ last SWITCH;
++ };
++ # generic entity-reference handler
++ $spec eq 'entity' && do {
++ $entity_handlers->{''} = $handler;
++ last SWITCH;
++ };
++ # start-subdoc handler
++ $spec =~ /^\{([^\/].*|)\}$/ && do {
++ $start_subdoc_handlers->{$1} = $handler;
++ last SWITCH;
++ };
++ # generic start-subdoc handler
++ $spec eq 'start_subdoc' && do {
++ $start_subdoc_handlers->{''} = $handler;
++ last SWITCH;
++ };
++ # end-subdoc handler
++ $spec =~ /^\{\/(.*)\}$/ && do {
++ $end_subdoc_handlers->{$1} = $handler;
++ last SWITCH;
++ };
++ # generic end-subdoc handler
++ $spec eq 'end_subdoc' && do {
++ $end_subdoc_handlers->{''} = $handler;
++ last SWITCH;
++ };
++ # conforming handler
++ $spec eq 'conforming' && do {
++ $conforming_handler = $handler;
++ last SWITCH;
++ };
++
++ die "Bad SGML handler pattern: $spec\n";
++ }
++}
++
++
++#
++# The first argument on the command line is a perl module which will be
++# read here and evaluated in the 'main' package -- everything else will
++# be an argument to it.
++#
++package main;
++
++$ARGV = shift;
++unless ($ARGV eq '' || do 'sgmlspl-specs/' . $ARGV || do $ARGV) {
++ if (!-e $ARGV) {
++ die "FATAL: $ARGV does not exist.\n";
++ } elsif (!-r $ARGV) {
++ die "FATAL: $ARGV exists but is read-protected.\n";
++ } elsif ($@) {
++ die "FATAL: $@\n";
++ }
++}
++
++
++#
++# Do the actual work, using the SGMLS package.
++#
++package SGMLS_PL;
++
++$parse = new SGMLS(main::STDIN); # a new parse object
++
++&{$start_document_handler}(); # run the start handler.
++
++ # run the appropriate handler for each
++ # event
++while ($event = $parse->next_event) {
++ my $type = $event->type;
++ SWITCH: {
++ $type eq 'start_element' && do {
++ &{($start_element_handlers->{$event->data->name}||
++ $start_element_handlers->{''} || sub {})}($event->data,$event);
++ last SWITCH;
++ };
++ $type eq 'end_element' && do {
++ &{($end_element_handlers->{$event->data->name}||
++ $end_element_handlers->{''} || sub {})}($event->data,$event);
++ last SWITCH;
++ };
++ $type eq 'cdata' && do {
++ &{$cdata_handler}($event->data,$event);
++ last SWITCH;
++ };
++ $type eq 'sdata' && do {
++ &{($sdata_handlers->{$event->data}||
++ $sdata_handlers->{''} || sub {})}($event->data,$event);
++ last SWITCH;
++ };
++ $type eq 're' && do {
++ &{$re_handler}($event->data,$event);
++ last SWITCH;
++ };
++ $type eq 'pi' && do {
++ &{$pi_handler}($event->data,$event);
++ last SWITCH;
++ };
++ $type eq 'entity' && do {
++ &{($entity_handlers->{$event->data->name}||
++ $entity_handlers->{''} || sub {})}($event->data,$event);
++ last SWITCH;
++ };
++ $type eq 'start_subdoc' && do {
++ &{($start_subdoc_handlers->{$event->data->name}||
++ $start_subdoc_handlers->{''} || sub {})}($event->data,$event);
++ last SWITCH;
++ };
++ $type eq 'end_subdoc' && do {
++ &{($end_subdoc_handlers->{$event->data->name}||
++ $end_subdoc_handlers->{''} || sub {})}($event->data,$event);
++ last SWITCH;
++ };
++ $type eq 'conforming' && do {
++ &{$conforming_handler}($event->data,$event);
++ last SWITCH;
++ };
++
++ die "Unknown SGML event type: $type\n";
++ }
++}
++
++&{$end_document_handler}(); # run the end handler
+--- libsgmls-perl-1.03ii.orig/sgmlspl.pl
++++ libsgmls-perl-1.03ii/sgmlspl.pl
+@@ -238,7 +238,7 @@
+ package main;
+
+ $ARGV = shift;
+-unless ($ARGV eq '' || do $ARGV) {
++unless ($ARGV eq '' || do 'sgmlspl-specs/' . $ARGV || do $ARGV) {
+ if (!-e $ARGV) {
+ die "FATAL: $ARGV does not exist.\n";
+ } elsif (!-r $ARGV) {
+--- libsgmls-perl-1.03ii.orig/SGMLS.pm
++++ libsgmls-perl-1.03ii/SGMLS.pm
+@@ -1,7 +1,7 @@
+ package SGMLS;
+ use Carp;
+
+-$version = '$Revision: 1.14 $';
++$version = '$Revision: 1.1 $';
+
+ =head1 NAME
+
diff --git a/meta/recipes-devtools/sgmlspl/sgmlspl-native_1.03ii.bb b/meta/recipes-devtools/sgmlspl/sgmlspl-native_1.03ii.bb
new file mode 100644
index 000000000..1fab417f9
--- /dev/null
+++ b/meta/recipes-devtools/sgmlspl/sgmlspl-native_1.03ii.bb
@@ -0,0 +1,17 @@
+SUMMARY = "A simple post-processor for SGMLS and NSGMLS"
+DESCRIPTION = "A simple post-processor for SGMLS and NSGMLS"
+HOMEPAGE = "http://search.cpan.org/src/DMEGG/SGMLSpm-1.03ii/DOC/HTML/SGMLSpm/sgmlspm.html"
+SECTION = "libs"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760"
+PR = "r0"
+
+SRC_URI = "http://www.cpan.org/authors/id/D/DM/DMEGG/SGMLSpm-${PV}.tar.gz \
+ file://combined.patch"
+
+SRC_URI[md5sum] = "5bcb197fd42e67d51c739b1414d514a7"
+SRC_URI[sha256sum] = "f06895c0206dada9f9e7f07ecaeb6a3651fd648f4820f49c1f76bfeaec2f2913"
+
+S = "${WORKDIR}/SGMLSpm"
+
+inherit native cpan
diff --git a/meta/recipes-devtools/subversion/subversion/disable-revision-install.patch b/meta/recipes-devtools/subversion/subversion/disable-revision-install.patch
index a1c60654c..ad716d05f 100644
--- a/meta/recipes-devtools/subversion/subversion/disable-revision-install.patch
+++ b/meta/recipes-devtools/subversion/subversion/disable-revision-install.patch
@@ -1,6 +1,8 @@
---- subversion-1.2.0-r0/Makefile.in.old 2005-07-17 22:28:21.898728312 +0200
-+++ subversion-1.2.0-r0/Makefile.in 2005-07-17 22:30:05.361999504 +0200
-@@ -260,7 +260,7 @@
+Index: subversion-1.6.15/Makefile.in
+===================================================================
+--- subversion-1.6.15.orig/Makefile.in 2010-11-17 06:47:23.000000000 -0800
++++ subversion-1.6.15/Makefile.in 2011-01-31 10:11:07.358779686 -0800
+@@ -305,7 +305,7 @@
clean: external-clean local-clean
distclean: external-distclean local-distclean
extraclean: external-extraclean local-extraclean
@@ -9,14 +11,24 @@
@INCLUDE_OUTPUTS@
-@@ -320,8 +320,8 @@
+@@ -363,13 +363,13 @@
local-install: @INSTALL_RULES@
### HACK!! Find a better way to do this
-revision-install:
-- subversion/svnversion/svnversion $(top_srcdir) /repos/svn/trunk > $(DESTDIR)$(includedir)/subversion-1/svn-revision.txt
+- test -d $(DESTDIR)$(includedir)/subversion-1 || \
+- $(MKDIR) $(DESTDIR)$(includedir)/subversion-1
+- (subversion/svnversion/svnversion $(top_srcdir) || \
+- svnversion $(top_srcdir) || \
+- echo "unknown"; \
+- ) > $(DESTDIR)$(includedir)/subversion-1/svn-revision.txt
+#revision-install:
-+# subversion/svnversion/svnversion $(top_srcdir) /repos/svn/trunk > $(DESTDIR)$(includedir)/subversion-1/svn-revision.txt
++# test -d $(DESTDIR)$(includedir)/subversion-1 || \
++# $(MKDIR) $(DESTDIR)$(includedir)/subversion-1
++# (subversion/svnversion/svnversion $(top_srcdir) || \
++# svnversion $(top_srcdir) || \
++# echo "unknown"; \
++# ) > $(DESTDIR)$(includedir)/subversion-1/svn-revision.txt
install-static: @INSTALL_STATIC_RULES@
diff --git a/meta/recipes-devtools/subversion/subversion_1.6.13.bb b/meta/recipes-devtools/subversion/subversion_1.6.15.bb
index bcdb6c22e..de40863cf 100644
--- a/meta/recipes-devtools/subversion/subversion_1.6.13.bb
+++ b/meta/recipes-devtools/subversion/subversion_1.6.15.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "The Subversion (svn) client"
SECTION = "console/network"
DEPENDS = "apr-util neon"
-RDEPENDS = "neon"
+RDEPENDS_${PN} = "neon"
LICENSE = "Apache BSD"
HOMEPAGE = "http://subversion.tigris.org"
@@ -12,8 +12,8 @@ SRC_URI = "http://subversion.tigris.org/downloads/${P}.tar.bz2 \
file://neon-detection.patch;patch=1 \
file://libtool2.patch;patch=1"
-SRC_URI[md5sum] = "7ae1c827689f21cf975804005be30aeb"
-SRC_URI[sha256sum] = "3a30327bdb04109f369586196ee4a6993cdab2cfa85c3134549f02c229bf0d15"
+SRC_URI[md5sum] = "113fca1d9e4aa389d7dc2b210010fa69"
+SRC_URI[sha256sum] = "b2919d603a5f3c19f42e3265c4b930e2376c43b3969b90ef9c42b2f72d5aaa45"
LIC_FILES_CHKSUM = "file://COPYING;md5=2a69fef414e2cb907b4544298569300b"
diff --git a/meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb b/meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb
index b4c70ec8b..6f06a9c54 100644
--- a/meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb
+++ b/meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb
@@ -6,7 +6,7 @@ LICENSE = "EPLv1.0 | EDLv1.0"
LIC_FILES_CHKSUM = "file://../epl-v10.html;md5=7aa4215a330a0a4f6a1cbf8da1a0879f \
file://../agent/edl-v10.html;md5=522a390a83dc186513f0500543ad3679"
-PV = "0.3.0+svnr${SRCREV}"
+PV = "0.3.0+svnr${SRCPV}"
PR = "r0"
SRC_URI = "svn://dev.eclipse.org/svnroot/dsdp/org.eclipse.tm.tcf/;module=tags/0.3.0/;proto=http \
diff --git a/meta/recipes-devtools/ubootchart/ubootchart_svn.bb b/meta/recipes-devtools/ubootchart/ubootchart_svn.bb
index 6897f1815..c16be822d 100644
--- a/meta/recipes-devtools/ubootchart/ubootchart_svn.bb
+++ b/meta/recipes-devtools/ubootchart/ubootchart_svn.bb
@@ -2,10 +2,10 @@ DESCRIPTION = "A boot profiling tool"
HOMEPAGE = "http://code.google.com/p/ubootchart/"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
-PV = "0.0+r${SRCREV}"
-PR = "r4"
+PV = "0.0+r${SRCPV}"
+PR = "r5"
-#RRECOMMENDS = "acct"
+#RRECOMMENDS_${PN} = "acct"
SRC_URI = "svn://ubootchart.googlecode.com/svn/;proto=http;module=trunk \
file://sysvinit.patch;patch=1;pnum=0 \
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/001-2.2b47-2.2b51.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/001-2.2b47-2.2b51.patch
index 886ce92b3..886ce92b3 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/001-2.2b47-2.2b51.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/001-2.2b47-2.2b51.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/002-destdir.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/002-destdir.patch
index 938833267..938833267 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/002-destdir.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/002-destdir.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/003-manpages.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/003-manpages.patch
index a17a8dcf5..a17a8dcf5 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/003-manpages.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/003-manpages.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/004-strsignal.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/004-strsignal.patch
index 3ac4ed740..3ac4ed740 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/004-strsignal.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/004-strsignal.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/005-sys-time.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/005-sys-time.patch
index c21fb05e8..c21fb05e8 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/005-sys-time.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/005-sys-time.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/006-reiserfs.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/006-reiserfs.patch
index abdc67476..abdc67476 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/006-reiserfs.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/006-reiserfs.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/007-map.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/007-map.patch
index 89baabe1c..89baabe1c 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/007-map.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/007-map.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/008-configure.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/008-configure.patch
index a6d45993e..a6d45993e 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/008-configure.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/008-configure.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/009-multirw.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/009-multirw.patch
index 65b0b9eee..65b0b9eee 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/009-multirw.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/009-multirw.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/010-realpath.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/010-realpath.patch
index c3b5d5815..c3b5d5815 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/010-realpath.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/010-realpath.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/011-fno-strict-aliasing.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/011-fno-strict-aliasing.patch
index 695b8c7d1..695b8c7d1 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/011-fno-strict-aliasing.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/011-fno-strict-aliasing.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/012-nostrip.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/012-nostrip.patch
index a815ee437..a815ee437 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/012-nostrip.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/012-nostrip.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/013-mntpathlen.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/013-mntpathlen.patch
index 1f10d3c94..1f10d3c94 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/013-mntpathlen.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/013-mntpathlen.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/014-uninitialized.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/014-uninitialized.patch
index 233c08a2f..233c08a2f 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/014-uninitialized.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/014-uninitialized.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/015-setattr.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/015-setattr.patch
index cbfb8e821..cbfb8e821 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/015-setattr.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/015-setattr.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/016-makefile.in.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/016-makefile.in.patch
index 634ce4609..634ce4609 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/016-makefile.in.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/016-makefile.in.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/017-wrs-dynamic-rpc.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/017-wrs-dynamic-rpc.patch
index 18e12de78..18e12de78 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/017-wrs-dynamic-rpc.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/017-wrs-dynamic-rpc.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/018-remove-tcp-wrappers.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/018-remove-tcp-wrappers.patch
index 95ecdee61..95ecdee61 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/018-remove-tcp-wrappers.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/018-remove-tcp-wrappers.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/019-pid-before-fork.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/019-pid-before-fork.patch
index 960ca8e47..960ca8e47 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/019-pid-before-fork.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/019-pid-before-fork.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/020-undefined-chmod-fix.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/020-undefined-chmod-fix.patch
index 0f1108c21..0f1108c21 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/020-undefined-chmod-fix.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/020-undefined-chmod-fix.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/021-nolibwrap.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/021-nolibwrap.patch
index c0901fadc..c0901fadc 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/021-nolibwrap.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/021-nolibwrap.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/022-add-close-on-exec-descriptors.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/022-add-close-on-exec-descriptors.patch
index 011ae74cd..011ae74cd 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server-2.2beta47/022-add-close-on-exec-descriptors.patch
+++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/022-add-close-on-exec-descriptors.patch
diff --git a/meta/recipes-devtools/unfs-server/unfs-server_2.2beta47.bb b/meta/recipes-devtools/unfs-server/unfs-server_2.1+2.2beta47.bb
index 89313d697..8ed2e33f9 100644
--- a/meta/recipes-devtools/unfs-server/unfs-server_2.2beta47.bb
+++ b/meta/recipes-devtools/unfs-server/unfs-server_2.1+2.2beta47.bb
@@ -3,12 +3,13 @@ SECTION = "console/network"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-RDEPENDS = "pseudo"
-RDEPENDS_virtclass-native = "pseudo-native"
-RDEPENDS_virtclass-nativesdk = "pseudo-nativesdk"
-PR = "r1"
+RDEPENDS_${PN} = "pseudo"
+RDEPENDS_${PN}_virtclass-native = "pseudo-native"
+RDEPENDS_${PN}_virtclass-nativesdk = "pseudo-nativesdk"
+BASEPV = "2.2beta47"
+PR = "r0"
-SRC_URI = "ftp://linux.mathematik.tu-darmstadt.de/pub/linux/oldstuff/people/okir/nfs-server-${PV}.tar.gz \
+SRC_URI = "ftp://linux.mathematik.tu-darmstadt.de/pub/linux/oldstuff/people/okir/nfs-server-${BASEPV}.tar.gz \
file://001-2.2b47-2.2b51.patch \
file://002-destdir.patch \
file://003-manpages.patch \
@@ -36,7 +37,7 @@ SRC_URI = "ftp://linux.mathematik.tu-darmstadt.de/pub/linux/oldstuff/people/okir
SRC_URI[md5sum] = "79a29fe9f79b2f3241d4915767b8c511"
SRC_URI[sha256sum] = "7eeaf3cf0b9d96167a5ba03bf1046e39b4585de1339a55b285e673c06ba415cb"
-S = "${WORKDIR}/nfs-server-${PV}/"
+S = "${WORKDIR}/nfs-server-${BASEPV}/"
inherit autotools
diff --git a/meta/recipes-devtools/unifdef/unifdef-native_2.6.18+git.bb b/meta/recipes-devtools/unifdef/unifdef-native_2.6.18+git.bb
index d879782b2..1b9381646 100644
--- a/meta/recipes-devtools/unifdef/unifdef-native_2.6.18+git.bb
+++ b/meta/recipes-devtools/unifdef/unifdef-native_2.6.18+git.bb
@@ -2,6 +2,8 @@ DESCRIPTION = "Kernel header preprocessor"
SECTION = "devel"
LICENSE = "GPL"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/unifdef.c;endline=32;md5=1a33f5c39aa718a89058721df61979bd"
+
SRC_URI = "file://unifdef.c"
inherit native
diff --git a/meta/recipes-extended/at/at_3.1.12.bb b/meta/recipes-extended/at/at_3.1.12.bb
index c010b3946..3a9449773 100644
--- a/meta/recipes-extended/at/at_3.1.12.bb
+++ b/meta/recipes-extended/at/at_3.1.12.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
DEPENDS = "flex libpam initscripts"
RCONFLICTS_${PN} = "atd"
RREPLACES_${PN} = "atd"
-PR = "r3"
+PR = "r4"
SRC_URI = "${DEBIAN_MIRROR}/main/a/at/at_${PV}.orig.tar.gz \
file://configure.patch \
@@ -25,8 +25,8 @@ SRC_URI[sha256sum] = "7c55c6ab4fbe8add9e68f31b2b0ebf3fe805c9a4e7cfb2623a3d8a4789
EXTRA_OECONF += "ac_cv_path_SENDMAIL=/bin/true \
--with-daemon_username=root \
--with-daemon_groupname=root \
- --with-jobdir=/var/spool/cron/atjobs \
- --with-atspool=/var/spool/cron/atspool"
+ --with-jobdir=/var/spool/at/jobs \
+ --with-atspool=/var/spool/at/spool"
inherit autotools
@@ -39,8 +39,27 @@ do_install () {
install -d ${D}${sysconfdir}/init.d
install -d ${D}${sysconfdir}/rcS.d
- install -m 0755 ${WORKDIR}/S99at ${D}${sysconfdir}/init.d/at
- ln -sf ../init.d/at ${D}${sysconfdir}/rcS.d/S99at
+ install -m 0755 ${WORKDIR}/S99at ${D}${sysconfdir}/init.d/atd
+ ln -sf ../init.d/atd ${D}${sysconfdir}/rcS.d/S99at
+}
+
+pkg_postinst_${PN} () {
+ if [ "x$D" != "x" ] ; then
+ exit 1
+ fi
+
+ # below is necessary to allow at usable to normal users
+ # now at is has its own /var/spool/at instead of under /var/spool/cron
+ # this way is better to allow setgid on both sides
+ grep "^daemon" /etc/group || groupadd daemon
+ chown root:daemon /usr/bin/at
+ chmod 2755 /usr/bin/at
+
+ chown root:daemon -R /var/spool/at
+ chmod 770 -R /var/spool/at
+
+ chown root:daemon /etc/at.deny
+ chmod 640 /etc/at.deny
}
PARALLEL_MAKE = ""
diff --git a/meta/recipes-extended/augeas/augeas_0.7.3.bb b/meta/recipes-extended/augeas/augeas_0.7.3.bb
deleted file mode 100644
index 2549f6c89..000000000
--- a/meta/recipes-extended/augeas/augeas_0.7.3.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require augeas.inc
-
-PR = "r0"
-
-SRC_URI[md5sum] = "d907943fc21c2d1db5dc8d97ec02a9e5"
-SRC_URI[sha256sum] = "10be72446699fdcaad66e800bd83a74b4af4da40348eaca04effd8677c11514a"
diff --git a/meta/recipes-extended/augeas/augeas_0.7.4.bb b/meta/recipes-extended/augeas/augeas_0.7.4.bb
new file mode 100644
index 000000000..eada58f10
--- /dev/null
+++ b/meta/recipes-extended/augeas/augeas_0.7.4.bb
@@ -0,0 +1,6 @@
+require augeas.inc
+
+PR = "r0"
+
+SRC_URI[md5sum] = "e3ddce5305a15bdb876ef7feec9214d1"
+SRC_URI[sha256sum] = "02ba7b4f1d0796dff6ea5f8cc5f4949e4ba30b7fa2f36a0c8a5079f9975060d1"
diff --git a/meta/recipes-extended/bash/bash.inc b/meta/recipes-extended/bash/bash.inc
index aa8cac822..a87b87ff4 100644
--- a/meta/recipes-extended/bash/bash.inc
+++ b/meta/recipes-extended/bash/bash.inc
@@ -17,6 +17,11 @@ sbindir = "/sbin"
EXTRA_OECONF = "--enable-job-control"
export CC_FOR_BUILD = "${BUILD_CC}"
+ALTERNATIVE_NAME = "sh"
+ALTERNATIVE_PATH = "${base_bindir}/bash"
+ALTERNATIVE_LINK = "${base_bindir}/sh"
+ALTERNATIVE_PRIORITY = "100"
+
do_configure () {
gnu-configize
oe_runconf
diff --git a/meta/recipes-extended/bash/bash_3.2.48.bb b/meta/recipes-extended/bash/bash_3.2.48.bb
index ee563d626..e5a3e3643 100644
--- a/meta/recipes-extended/bash/bash_3.2.48.bb
+++ b/meta/recipes-extended/bash/bash_3.2.48.bb
@@ -6,7 +6,7 @@ LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=fd5d9bcabd8ed5a54a01ce8d183d592a"
DEPENDS = "ncurses"
-PR = "r6"
+PR = "r7"
SRC_URI = "${GNU_MIRROR}/bash/bash-${PV}.tar.gz \
http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-049;apply=yes;striplevel=0 \
diff --git a/meta/recipes-extended/bash/bash_4.1.bb b/meta/recipes-extended/bash/bash_4.1.bb
index 6a558ed2c..cea40420c 100644
--- a/meta/recipes-extended/bash/bash_4.1.bb
+++ b/meta/recipes-extended/bash/bash_4.1.bb
@@ -1,6 +1,6 @@
require bash.inc
-PR = "r0"
+PR = "r1"
SRC_URI = "${GNU_MIRROR}/bash/${BPN}-${PV}.tar.gz;name=tarball \
http://ftp.gnu.org/gnu/bash/bash-4.1-patches/bash41-001;apply=yes;striplevel=0;name=patch001 \
diff --git a/meta/recipes-extended/blktool/blktool_4-6.bb b/meta/recipes-extended/blktool/blktool_4-6.bb
index 1e4ca9dc1..86d2d0d3a 100644
--- a/meta/recipes-extended/blktool/blktool_4-6.bb
+++ b/meta/recipes-extended/blktool/blktool_4-6.bb
@@ -1,10 +1,14 @@
-SUMMARY = "tune low-level block device parameters"
-DESCRIPTION = "blktool is used for querying and/or changing settings of a block device. It is like hdparm but a more general tool, as it works on SCSI, IDE and SATA devices"
+SUMMARY = "Tune low-level block device parameters"
+DESCRIPTION = "blktool is used for querying and/or changing settings \
+of a block device. It is like hdparm but a more general tool, as it \
+works on SCSI, IDE and SATA devices."
HOMEPAGE = "http://packages.debian.org/unstable/admin/blktool"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://blktool.c;beginline=7;endline=8;md5=a5e798ea98fd50972088968a15e5f373"
+
DEPENDS = "glib-2.0"
+PR = "r0"
SRC_URI = "${DEBIAN_MIRROR}/main/b/blktool/blktool_4.orig.tar.gz;name=tarball \
${DEBIAN_MIRROR}/main/b/blktool/blktool_4-6.diff.gz;apply=yes;name=patch"
@@ -15,7 +19,6 @@ SRC_URI[tarball.sha256sum] = "b1e6d5912546d2a4b704ec65c2b9664aa3b4663e7d800e0680
SRC_URI[patch.md5sum] = "2d1bc2f2c38b65d47e27da7c7508d17f"
SRC_URI[patch.sha256sum] = "999f2062203e389327d997724621be37bea9c98fa226238f9f4eb4a6ea25bd4b"
-PR = "r0"
S = "${WORKDIR}/${PN}-4.orig"
inherit autotools
diff --git a/meta/recipes-extended/byacc/byacc_20100610.bb b/meta/recipes-extended/byacc/byacc_20100610.bb
deleted file mode 100644
index f02a11ba4..000000000
--- a/meta/recipes-extended/byacc/byacc_20100610.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-PR = "r0"
-LICENSE="other-BSD"
-LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=4dc4c30f840a7203fb6edf20b3db849e"
-require byacc.inc
-
-SRC_URI[md5sum] = "3063667be3bfcd844bdac9afd560954b"
-SRC_URI[sha256sum] = "02bcfb9262127fe23abe2c42f02de12c3ea51a9fffc9fb82ffa3bda7289d72c1"
diff --git a/meta/recipes-extended/byacc/byacc_20101127.bb b/meta/recipes-extended/byacc/byacc_20101127.bb
new file mode 100644
index 000000000..b6b7b7058
--- /dev/null
+++ b/meta/recipes-extended/byacc/byacc_20101127.bb
@@ -0,0 +1,7 @@
+PR = "r0"
+LICENSE="other-BSD"
+LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=4dc4c30f840a7203fb6edf20b3db849e"
+require byacc.inc
+
+SRC_URI[md5sum] = "5931a27e43102dc868745bf4dce91fb4"
+SRC_URI[sha256sum] = "c172c7ed2ee2130510d4d6e134bcac791b217e4883051137690613ac011aca47"
diff --git a/meta/recipes-extended/cronie/cronie/crontab b/meta/recipes-extended/cronie/cronie/crontab
new file mode 100644
index 000000000..cc9169eda
--- /dev/null
+++ b/meta/recipes-extended/cronie/cronie/crontab
@@ -0,0 +1,10 @@
+# /etc/crontab: system-wide crontab
+# Unlike any other crontab you don't have to run the `crontab'
+# command to install the new version when you edit this file
+# and files in /etc/cron.d. These files also have username fields,
+# that none of the other crontabs do.
+
+SHELL=/bin/sh
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+
+# m h dom mon dow user command
diff --git a/meta/recipes-extended/cronie/cronie_1.4.6.bb b/meta/recipes-extended/cronie/cronie_1.4.6.bb
index 6b4c64e3b..09714c7f7 100644
--- a/meta/recipes-extended/cronie/cronie_1.4.6.bb
+++ b/meta/recipes-extended/cronie/cronie_1.4.6.bb
@@ -14,10 +14,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=963ea0772a2adbdcd607a9b2ec320c11 \
SECTION = "utils"
-PR = "r0"
+PR = "r1"
SRC_URI = "https://fedorahosted.org/releases/c/r/cronie/cronie-${PV}.tar.gz \
- file://crond.init"
+ file://crond.init \
+ file://crontab"
SRC_URI[md5sum] = "968e3d3e7c8e1d0588d533883482d3fa"
SRC_URI[sha256sum] = "4435484c28a4452ee37db27182675660cdebf16d8956771b28c8a6f2e9c8048b"
@@ -32,4 +33,32 @@ do_install_append () {
install -d ${D}${sysconfdir}/init.d/
install -m 0644 ${S}/crond.sysconfig ${D}${sysconfdir}/sysconfig/crond
install -m 0755 ${WORKDIR}/crond.init ${D}${sysconfdir}/init.d/crond
+
+ # below are necessary for a complete cron environment
+ install -d ${D}${localstatedir}/spool/cron
+ install -m 0755 ${WORKDIR}/crontab ${D}${sysconfdir}/
+ mkdir -p ${D}${sysconfdir}/cron.d
+ mkdir -p ${D}${sysconfdir}/cron.hourly
+ mkdir -p ${D}${sysconfdir}/cron.daily
+ mkdir -p ${D}${sysconfdir}/cron.weekly
+ mkdir -p ${D}${sysconfdir}/cron.monthly
+}
+
+pkg_postinst_${PN} () {
+ if [ "x$D" != "x" ] ; then
+ exit 1
+ fi
+
+ # below setting is necessary to allow normal user using crontab
+
+ # add 'crontab' group and setgid for crontab binary
+ grep crontab /etc/group || addgroup crontab
+ chown root:crontab /usr/bin/crontab
+ chmod 2755 /usr/bin/crontab
+
+ # allow 'crontab' group write to /var/spool/cron
+ chown root:crontab /var/spool/cron
+ chmod 770 /var/spool/cron
+
+ chmod 600 /etc/crontab
}
diff --git a/meta/recipes-extended/cups/cups-1.4.6/0001-don-t-try-to-run-generated-binaries.patch b/meta/recipes-extended/cups/cups-1.4.6/0001-don-t-try-to-run-generated-binaries.patch
new file mode 100644
index 000000000..7b544ca0e
--- /dev/null
+++ b/meta/recipes-extended/cups/cups-1.4.6/0001-don-t-try-to-run-generated-binaries.patch
@@ -0,0 +1,68 @@
+From 90069586167b930befce7303aea57078f04b4ed8 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Sun, 30 Jan 2011 16:37:27 +0100
+Subject: [PATCH] don't try to run generated binaries
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ ppdc/Makefile | 30 +++++++++++++++---------------
+ 1 files changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/ppdc/Makefile b/ppdc/Makefile
+index 0288d47..fc87f1b 100644
+--- a/ppdc/Makefile
++++ b/ppdc/Makefile
+@@ -243,8 +243,8 @@ genstrings: genstrings.o libcupsppdc.a ../cups/libcups.a \
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o genstrings genstrings.o \
+ libcupsppdc.a ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) \
+ $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
+- echo Generating localization strings...
+- ./genstrings >sample.c
++# echo Generating localization strings...
++# ./genstrings >sample.c
+
+
+ #
+@@ -261,9 +261,9 @@ ppdc-static: ppdc.o libcupsppdc.a ../cups/libcups.a foo.drv foo-fr.po
+ $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o ppdc-static ppdc.o libcupsppdc.a \
+ ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
+ $(COMMONLIBS) $(LIBZ)
+- echo Testing PPD compiler...
+- ./ppdc-static -l en,fr -I ../data foo.drv
+- ./ppdc-static -l en,fr -z -I ../data foo.drv
++# echo Testing PPD compiler...
++# ./ppdc-static -l en,fr -I ../data foo.drv
++# ./ppdc-static -l en,fr -z -I ../data foo.drv
+
+
+ #
+@@ -290,16 +290,16 @@ ppdi-static: ppdc-static ppdi.o libcupsppdc.a ../cups/libcups.a
+ ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
+ $(COMMONLIBS) $(LIBZ)
+ echo Testing PPD importer...
+- $(RM) -r ppd ppd2 sample-import.drv
+- ./ppdc-static -I ../data sample.drv
+- ./ppdi-static -I ../data -o sample-import.drv ppd/*
+- ./ppdc-static -I ../data -d ppd2 sample-import.drv
+- if diff -r ppd ppd2 >/dev/null; then \
+- echo PPD import OK; \
+- else \
+- echo PPD import FAILED; \
+- exit 1; \
+- fi
++# $(RM) -r ppd ppd2 sample-import.drv
++# ./ppdc-static -I ../data sample.drv
++# ./ppdi-static -I ../data -o sample-import.drv ppd/*
++# ./ppdc-static -I ../data -d ppd2 sample-import.drv
++# if diff -r ppd ppd2 >/dev/null; then \
++# echo PPD import OK; \
++# else \
++# echo PPD import FAILED; \
++# exit 1; \
++# fi
+
+
+ #
+--
+1.6.6.1
+
diff --git a/meta/recipes-extended/cups/cups-1.4.6/use_echo_only_in_init.patch b/meta/recipes-extended/cups/cups-1.4.6/use_echo_only_in_init.patch
new file mode 100644
index 000000000..21ff0e535
--- /dev/null
+++ b/meta/recipes-extended/cups/cups-1.4.6/use_echo_only_in_init.patch
@@ -0,0 +1,11 @@
+--- a/init/cups.sh.in.orig 2008-10-04 16:50:46.000000000 -0300
++++ b/init/cups.sh.in 2008-10-04 16:51:39.000000000 -0300
+@@ -68,7 +68,7 @@
+ ECHO_ERROR=:
+ ;;
+
+- Linux*)
++ DISABLELinux*)
+ IS_ON=/bin/true
+ if test -f /etc/init.d/functions; then
+ . /etc/init.d/functions
diff --git a/meta/recipes-extended/cups/cups14.inc b/meta/recipes-extended/cups/cups14.inc
new file mode 100644
index 000000000..e64f239a6
--- /dev/null
+++ b/meta/recipes-extended/cups/cups14.inc
@@ -0,0 +1,85 @@
+SUMMARY = "An Internet printing system for Unix"
+DESCRIPTION = "An Internet printing system for Unix."
+SECTION = "console/utils"
+LICENSE = "GPLv2 LGPLv2"
+DEPENDS = "gnutls libpng jpeg dbus dbus-glib zlib"
+PROVIDES = "cups14"
+
+SRC_URI = "ftp://ftp.easysw.com/pub/cups/${PV}/cups-${PV}-source.tar.bz2"
+
+LEAD_SONAME = "libcupsdriver.so"
+
+inherit autotools binconfig
+
+EXTRA_OECONF = " \
+ --enable-gnutls \
+ --enable-dbus \
+ --enable-browsing \
+ --disable-openssl \
+ --disable-tiff \
+ --without-php \
+ --without-perl \
+ --without-python \
+ --without-java \
+ "
+
+
+do_configure() {
+ gnu-configize
+ libtoolize --force
+ DSOFLAGS="${LDFLAGS}" oe_runconf
+}
+
+do_compile () {
+ sed -i s:STRIP:NOSTRIP: Makedefs
+ sed -i s:serial:: backend/Makefile
+
+ echo "all:" > man/Makefile
+ echo "libs:" >> man/Makefile
+ echo "install:" >> man/Makefile
+ echo "install-data:" >> man/Makefile
+ echo "install-exec:" >> man/Makefile
+ echo "install-headers:" >> man/Makefile
+ echo "install-libs:" >> man/Makefile
+
+ oe_runmake "SSLLIBS=-lgnutls -L${STAGING_LIBDIR}" \
+ "LIBPNG=-lpng -lm -L${STAGING_LIBDIR}" \
+ "LIBJPEG=-ljpeg -L${STAGING_LIBDIR}" \
+ "LIBZ=-lz -L${STAGING_LIBDIR}" \
+ "-I."
+}
+
+fakeroot do_install () {
+ oe_runmake "DSTROOT=${D}" install
+
+ # This directory gets installed with perms 511, which makes packaging fail
+ chmod 0711 "${D}/${localstatedir}/run/cups/certs"
+}
+
+python do_package_append() {
+ # Change permissions back the way they were, they probably had a reason...
+ workdir = bb.data.getVar('WORKDIR', d, 1)
+ os.system('chmod 0511 %s/install/cups/var/run/cups/certs' % workdir)
+}
+
+PACKAGES =+ "${PN}-lib ${PN}-libimage"
+
+FILES_${PN}-lib = "${libdir}/libcups.so.*"
+
+FILES_${PN}-libimage = "${libdir}/libcupsimage.so.*"
+
+FILES_${PN}-dbg += "${libdir}/cups/backend/.debug \
+ ${libdir}/cups/cgi-bin/.debug \
+ ${libdir}/cups/filter/.debug \
+ ${libdir}/cups/monitor/.debug \
+ ${libdir}/cups/notifier/.debug \
+ ${libdir}/cups/daemon/.debug \
+ "
+
+#package the html for the webgui inside the main packages (~1MB uncompressed)
+
+FILES_${PN} += "${datadir}/doc/cups/images \
+ ${datadir}/doc/cups/*html \
+ ${datadir}/doc/cups/*.css \
+ ${datadir}/icons/ \
+ "
diff --git a/meta/recipes-extended/cups/cups_1.4.6.bb b/meta/recipes-extended/cups/cups_1.4.6.bb
new file mode 100644
index 000000000..86b53403e
--- /dev/null
+++ b/meta/recipes-extended/cups/cups_1.4.6.bb
@@ -0,0 +1,17 @@
+require cups14.inc
+
+PR = "r0"
+DEPENDS += "libusb"
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=956e7600195e6139f12de8c2a5bbefa9"
+SRC_URI += " \
+ file://use_echo_only_in_init.patch \
+ file://0001-don-t-try-to-run-generated-binaries.patch \
+ "
+
+SRC_URI[md5sum] = "de8fb5a29c36554925c0c6a6e2c0dae1"
+SRC_URI[sha256sum] = "f08711702a77b52c7150f96fe1f45482f6151cb95ef601268c528607fe6ad514"
+
+EXTRA_OECONF += " --disable-gssapi --enable-debug --disable-relro --enable-libusb"
+
+CONFFILES_${PN} += "${sysconfdir}/cups/cupsd.conf"
diff --git a/meta/recipes-extended/images/poky-image-lsb-dev.bb b/meta/recipes-extended/images/poky-image-lsb-dev.bb
new file mode 100644
index 000000000..d490ee527
--- /dev/null
+++ b/meta/recipes-extended/images/poky-image-lsb-dev.bb
@@ -0,0 +1,9 @@
+IMAGE_FEATURES += "apps-console-core dev-pkgs "
+
+IMAGE_INSTALL = "\
+ ${POKY_BASE_INSTALL} \
+ task-poky-basic \
+ task-poky-lsb \
+ "
+
+inherit poky-image
diff --git a/meta/recipes-extended/iputils/files/debian/CVE-2010-2529.diff b/meta/recipes-extended/iputils/files/debian/CVE-2010-2529.diff
deleted file mode 100644
index 98aae0d45..000000000
--- a/meta/recipes-extended/iputils/files/debian/CVE-2010-2529.diff
+++ /dev/null
@@ -1,22 +0,0 @@
-Index: trunk/ping.c
-===================================================================
---- trunk.orig/ping.c 2010-07-23 21:26:53.000000000 -0700
-+++ trunk/ping.c 2010-07-23 21:28:27.000000000 -0700
-@@ -1059,7 +1059,7 @@
- i = j;
- i -= IPOPT_MINOFF;
- if (i <= 0)
-- continue;
-+ break;
- if (i == old_rrlen
- && !strncmp((char *)cp, old_rr, i)
- && !(options & F_FLOOD)) {
-@@ -1096,7 +1096,7 @@
- i = j;
- i -= 5;
- if (i <= 0)
-- continue;
-+ break;
- flags = *++cp;
- printf("\nTS: ");
- cp++;
diff --git a/meta/recipes-extended/iputils/iputils_s20100418.bb b/meta/recipes-extended/iputils/iputils_s20101006.bb
index 2b2d76a51..0a4201787 100644
--- a/meta/recipes-extended/iputils/iputils_s20100418.bb
+++ b/meta/recipes-extended/iputils/iputils_s20101006.bb
@@ -21,11 +21,10 @@ SRC_URI = "http://www.skbuff.net/iputils/${PN}-${PV}.tar.bz2 \
file://debian/use_gethostbyname2.diff \
file://debian/targets.diff \
file://debian/fix-arping-timeouts.diff \
- file://debian/CVE-2010-2529.diff \
"
-SRC_URI[md5sum] = "df6b0062118cdc5c62e3c810f831e976"
-SRC_URI[sha256sum] = "d0e8cbe6ce6a484ffb81697425b3b933746882f6f1521ac71c5c88971cee7684"
+SRC_URI[md5sum] = "a36c25e9ec17e48be514dc0485e7376c"
+SRC_URI[sha256sum] = "fd3af46c80ebb99607c2ca1f2a3608b6fe828e25bbec6e54f2afd25f6ddb6ee7"
# man is not compiled here, since it requires docbook-utils-native
# which is not available in poky
diff --git a/meta/recipes-extended/libuser/libuser-0.56.18/disable-sgml-doc.patch b/meta/recipes-extended/libuser/libuser-0.57.1/disable-sgml-doc.patch
index a2017c572..a2017c572 100644
--- a/meta/recipes-extended/libuser/libuser-0.56.18/disable-sgml-doc.patch
+++ b/meta/recipes-extended/libuser/libuser-0.57.1/disable-sgml-doc.patch
diff --git a/meta/recipes-extended/libuser/libuser_0.56.18.bb b/meta/recipes-extended/libuser/libuser_0.57.1.bb
index 4a10d8059..d2e7c3aa2 100644
--- a/meta/recipes-extended/libuser/libuser_0.56.18.bb
+++ b/meta/recipes-extended/libuser/libuser_0.57.1.bb
@@ -14,8 +14,8 @@ SECTION = "base"
SRC_URI = "https://fedorahosted.org/releases/l/i/libuser/libuser-${PV}.tar.xz \
file://disable-sgml-doc.patch;patch=1"
-SRC_URI[md5sum] = "de074409153f690821d9340cb33ee435"
-SRC_URI[sha256sum] = "fc23d744f6853c213adb619cfb5b22c49a9ea8a5a75a1e4121f71b28cffa3a74"
+SRC_URI[md5sum] = "be82c6941264d0b4bd04f95fb342ec7d"
+SRC_URI[sha256sum] = "a61289867581fa715354a3fafe09c3e481173ce0a2dcb33b04588b6ac13cead5"
PR = "r0"
DEPENDS = "gettext libpam glib-2.0 xz-native"
diff --git a/meta/recipes-extended/libzypp/libzypp/rpm5-no-rpmdbinit.patch b/meta/recipes-extended/libzypp/libzypp/rpm5-no-rpmdbinit.patch
new file mode 100644
index 000000000..f15bb68d5
--- /dev/null
+++ b/meta/recipes-extended/libzypp/libzypp/rpm5-no-rpmdbinit.patch
@@ -0,0 +1,25 @@
+diff --git a/zypp/target/rpm/librpmDb.cc b/zypp/target/rpm/librpmDb.cc
+index 1689fbb..4999cd9 100644
+--- a/zypp/target/rpm/librpmDb.cc
++++ b/zypp/target/rpm/librpmDb.cc
+@@ -60,20 +60,6 @@ public:
+ const char * root = ( _root == "/" ? NULL : _root.asString().c_str() );
+ int perms = 0644;
+
+- // check whether to create a new db
+- PathInfo master( _root + _dbPath + "Packages" );
+- if ( ! master.isFile() )
+- {
+- // init database
+- int res = ::rpmdbInit( root, perms );
+- if ( res )
+- {
+- ERR << "rpmdbInit error(" << res << "): " << *this << endl;
+- _error = shared_ptr<RpmInitException>(new RpmInitException(_root, _dbPath));
+- ZYPP_THROW(*_error);
+- }
+- }
+-
+ // open database
+ int res = ::rpmdbOpen( root, &_db, (readonly_r ? O_RDONLY : O_RDWR ), perms );
+ if ( res || !_db )
diff --git a/meta/recipes-extended/libzypp/libzypp_git.bb b/meta/recipes-extended/libzypp/libzypp_git.bb
index e29556925..b9110eb09 100644
--- a/meta/recipes-extended/libzypp/libzypp_git.bb
+++ b/meta/recipes-extended/libzypp/libzypp_git.bb
@@ -9,15 +9,17 @@ inherit cmake
DEPENDS = "rpm boost gettext curl libxml2 zlib sat-solver expat openssl udev"
# rpmdb2solv from sat-solver is run from libzypp
-RDEPENDS = "sat-solver"
+RDEPENDS_${PN} = "sat-solver"
S = "${WORKDIR}/git"
PV = "0.0-git${SRCPV}"
-PR = "r3"
+PR = "r6"
SRC_URI = "git://gitorious.org/opensuse/libzypp.git;protocol=git \
file://no-doc.patch \
- file://rpm5.patch"
+ file://rpm5.patch \
+ file://rpm5-no-rpmdbinit.patch \
+ "
SRC_URI_append_mips = " file://mips-workaround-gcc-tribool-error.patch"
diff --git a/meta/recipes-extended/mailx/mailx_12.4.bb b/meta/recipes-extended/mailx/mailx_12.4.bb
new file mode 100644
index 000000000..7abce7a31
--- /dev/null
+++ b/meta/recipes-extended/mailx/mailx_12.4.bb
@@ -0,0 +1,28 @@
+SUMMARY = "mailx is the traditional command-line-mode mail user agent."
+
+DESCRIPTION = "Mailx is derived from Berkeley Mail and is intended provide the \
+functionality of the POSIX mailx command with additional support \
+for MIME, IMAP, POP3, SMTP, and S/MIME."
+
+HOMEPAGE = "http://heirloom.sourceforge.net/mailx.html"
+SECTION = "console/network"
+PRIORITY = "required"
+PR = "r0"
+LICENSE = "GPL"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4202a0a62910cf94f7af8a3436a2a2dd"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/h/heirloom-mailx/heirloom-mailx_${PV}.orig.tar.gz;name=archive \
+ ${DEBIAN_MIRROR}/main/h/heirloom-mailx/heirloom-mailx_${PV}-2.diff.gz;name=patch \
+ "
+SRC_URI[archive.md5sum] = "17b8ff86795a118b199e041b66b7d1aa"
+SRC_URI[archive.sha256sum] = "946d822cbff70df2ecf5b78c8347fdd01fdc5873f7a7cf55932b3e07030fa370"
+SRC_URI[patch.md5sum] = "3233d1a85fcb4dcde689132a1bba7fc9"
+SRC_URI[patch.sha256sum] = "b15fac77973b7d787469e51bbbeae7ddbe922b02a0c23208b9779ce837eba861"
+
+S = "${WORKDIR}/mailx-${PV}"
+
+inherit autotools
+
+CFLAGS_append = " -D_BSD_SOURCE -DDEBIAN -I${S}/EXT"
+
+PARALLEL_MAKE = ""
diff --git a/meta/recipes-extended/man-pages/man-pages_3.25.bb b/meta/recipes-extended/man-pages/man-pages_3.32.bb
index b5b200c98..daf22bc3c 100644
--- a/meta/recipes-extended/man-pages/man-pages_3.25.bb
+++ b/meta/recipes-extended/man-pages/man-pages_3.32.bb
@@ -4,15 +4,15 @@ SECTION = "console/utils"
PRIORITY = "required"
HOMEPAGE = "http://www.kernel.org/pub/linux/docs/man-pages"
LICENSE = "GPL"
-PR = "r0"
+PR = "r1"
-LIC_FILES_CHKSUM = "file://README;md5=9dab010c5baa416669e5d17381799dd5"
+LIC_FILES_CHKSUM = "file://README;md5=0422377a748010b2b738342e24f141c1"
SRC_URI = "http://www.kernel.org/pub/linux/docs/man-pages/Archive/${PN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "98ec2324abea77d7a992470dd44d140c"
-SRC_URI[sha256sum] = "474242842a78dc2121687b7db6c32b6c78af5458f2bd809e23563dd185e2b169"
+SRC_URI[md5sum] = "cc6c2d4d4eb364fd8da718c412db09d4"
+SRC_URI[sha256sum] = "61ef2fc36421e72eb92d1f533576a439a2fcdae20269393f740dd98abd8be519"
-RDEPENDS = "man"
+RDEPENDS_${PN} = "man"
do_configure_prepend() {
rm -rf not_installed
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.6e-lzma+xz-support.patch b/meta/recipes-extended/man/man-1.6e/man-1.6e-lzma+xz-support.patch
deleted file mode 100644
index 9aa5260b7..000000000
--- a/meta/recipes-extended/man/man-1.6e/man-1.6e-lzma+xz-support.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-diff -Naurp man-1.6e/configure man-1.6e.oden/configure
---- man-1.6e/configure 2008-12-21 19:20:51.000000000 +0100
-+++ man-1.6e.oden/configure 2008-12-21 19:20:32.000000000 +0100
-@@ -1027,7 +1027,7 @@ then
- then
- DO_COMPRESSION=true
- compress=
-- for i in bzip2 gzip bzip tzip pack compress freeze yabba
-+ for i in xz lzma bzip2 gzip bzip tzip pack compress freeze yabba
- do
- eval F$i=missing
- for j in $DEFPATH
-@@ -1080,6 +1080,8 @@ then
- fi
-
- case $compress in
-+ *xz*) ext=".xz" ;;
-+ *lzma*) ext=".lzma" ;;
- *bzip2*) ext=".bz2" ;;
- *gzip*) ext=".gz" ;;
- *bzip*) ext=".bz" ;;
-@@ -1122,7 +1124,7 @@ then
- fi
-
- # unconditionally handle uncompression
--UNCOMPRESSORS="gunzip bzip2 pcat zcat fcat unyabba"
-+UNCOMPRESSORS="unxz unlzma gunzip bzip2 pcat zcat fcat unyabba"
- for i in $UNCOMPRESSORS
- do
- eval F$i=missing
-@@ -1143,6 +1146,14 @@ bzip2=missing
- if [ $Fbzip2 != missing ]; then
- bzip2="$Fbzip2 -c -d"
- fi
-+unxz=missing
-+if [ $Funxz != missing ]; then
-+ unxz="$Funxz -c -d"
-+fi
-+unlzma=missing
-+if [ $Funlzma != missing ]; then
-+ unlzma="$Funlzma -c -d"
-+fi
- pcat="$Fpcat"
- zcat="$Fzcat"
- fcat="$Ffcat"
-@@ -1171,6 +1181,12 @@ if [ x$default = x ]; then
- bzip2)
- echo "Command to use for .bz2 files (standard bzip2)"
- echo $n "[`eval echo \\$$filter`] $c" ;;
-+ xz)
-+ echo "Command to use for .xz files (standard xz)"
-+ echo $n "[`eval echo \\$$filter`] $c" ;;
-+ lzma)
-+ echo "Command to use for .lzma files (standard lzma)"
-+ echo $n "[`eval echo \\$$filter`] $c" ;;
- pcat)
- echo "Command to use for .z files (pack/unpack)"
- echo $n "[`eval echo \\$$filter`] $c" ;;
-@@ -1232,6 +1248,8 @@ fi
- case $compress_ext in
- .gz) decompress=$gunzip ;;
- .bz2) decompress=$bzip2 ;;
-+ .xz) decompress=$unlzma ;;
-+ .lzma) decompress=$unlzma ;;
- .z) decompress=$pcat ;;
- .Z) decompress=$zcat ;;
- .F) decompress=$fcat ;;
-@@ -1319,6 +1337,8 @@ s,@pcat@,$pcat,
- s,@zcat@,$zcat,
- s,@gunzip@,$gunzip,
- s,@bzip2@,$bzip2,
-+s,@unlzma@,$unlzma,
-+s,@unxz@,$unxz,
- s,@unyabba@,$unyabba,
- s,@compress@,$compress,
- s,@compress_ext@,$compress_ext,
-diff -Naurp man-1.6e/src/makewhatis.sh man-1.6e.oden/src/makewhatis.sh
---- man-1.6e/src/makewhatis.sh 2008-12-21 19:20:51.000000000 +0100
-+++ man-1.6e.oden/src/makewhatis.sh 2008-12-21 19:20:32.000000000 +0100
-@@ -220,7 +220,7 @@ do
- find $mandir/${pages}$i/. -name '*' $findarg0 $findarg -print | LC_ALL=C $AWK -v MAN_NAME="$MAN_NAME" -v MAN_DESCRIPTION="$MAN_DESCRIPTION" '
-
- function readline() {
-- if (use_zcat || use_bzcat) {
-+ if (use_zcat || use_bzcat || use_lzcat || use_xzcat) {
- result = (pipe_cmd | getline);
- if (result < 0) {
- print "Pipe error: " pipe_cmd " " ERRNO > "/dev/stderr";
-@@ -235,7 +235,7 @@ do
- }
-
- function closeline() {
-- if (use_zcat || use_bzcat) {
-+ if (use_zcat || use_bzcat || use_lzcat || use_xzcat) {
- return close(pipe_cmd);
- } else {
- return close(filename);
-@@ -254,7 +254,11 @@ do
- match(filename,"\\.z$") || match(filename,"\\.gz$");
- if (!use_zcat)
- use_bzcat = match(filename,"\\.bz2");
-- if (use_zcat || use_bzcat) {
-+ if(!use_bzcat)
-+ use_lzcat = match(filename,"\\.lzma");
-+ if(!use_lzcat)
-+ use_xzcat = match(filename,"\\.xz");
-+ if (use_zcat || use_bzcat || use_lzcat || use_xz_cat) {
- filename_no_gz = substr(filename, 0, RSTART - 1);
- } else {
- filename_no_gz = filename;
-@@ -267,12 +271,16 @@ do
- actual_section = section;
- }
- sub(/\..*/, "", progname);
-- if (use_zcat || use_bzcat) {
-+ if (use_zcat || use_bzcat || use_lzcat || use_xz_cat) {
- if (use_zcat) {
- pipe_cmd = "zcat \"" filename "\"";
-- } else {
-+ } else if (use_bzcat) {
- pipe_cmd = "bzcat \"" filename "\"";
-- }
-+ } else if (use_lzcat) {
-+ pipe_cmd = "lzcat \"" filename "\"";
-+ } else {
-+ pipe_cmd = "xzcat \"" filename "\"";
-+ }
- # try to avoid suspicious stuff
- if (filename ~ /[;&|`$(]/) {
- print "ignored strange file name " filename " in " curdir > "/dev/stderr";
-diff -Naurp man-1.6e/src/man.conf.in man-1.6e.oden/src/man.conf.in
---- man-1.6e/src/man.conf.in 2008-12-21 19:20:51.000000000 +0100
-+++ man-1.6e.oden/src/man.conf.in 2008-12-21 19:20:32.000000000 +0100
-@@ -139,6 +139,8 @@ MANSECT @sections@
- #
- .gz @gunzip@
- .bz2 @bzip2@
-+.lzma @unlzma@
-+.xz @unxz@
- .z @pcat@
- .Z @zcat@
- .F @fcat@
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.6e-ro_usr.patch b/meta/recipes-extended/man/man-1.6e/man-1.6e-ro_usr.patch
deleted file mode 100644
index 054054b52..000000000
--- a/meta/recipes-extended/man/man-1.6e/man-1.6e-ro_usr.patch
+++ /dev/null
@@ -1,67 +0,0 @@
---- man-1.6e.orig/src/makewhatis.sh 2006-07-19 01:58:08.000000000 -0300
-+++ man-1.6e/src/makewhatis.sh 2007-05-18 10:54:57.000000000 -0300
-@@ -124,7 +124,7 @@
- continue;;
- -s) setsections=1
- continue;;
-- -u) findarg="-ctime 0"
-+ -u) findarg="-newer /var/cache/man/whatis"
- update=1
- continue;;
- -v) verbose=1
-@@ -165,14 +165,7 @@
- # first truncate all the whatis files that will be created new,
- # then only update - we might visit the same directory twice
- if [ x$update = x ]; then
-- for pages in man cat
-- do
-- eval path="\$$pages"path
-- for mandir in $path
-- do
-- cp /dev/null $mandir/whatis
-- done
-- done
-+ cp /dev/null /var/cache/man/whatis
- fi
-
- for pages in man cat
-@@ -184,11 +177,6 @@
- if [ x$verbose != x ]; then
- echo "about to enter $mandir" > /dev/stderr
- fi
-- if [ -s ${mandir}/whatis -a $pages = man -a x$update = x ]; then
-- if [ x$verbose != x ]; then
-- echo skipping $mandir - we did it already > /dev/stderr
-- fi
-- else
- here=`pwd`
- cd $mandir
- for i in $sections
-@@ -407,23 +395,14 @@
-
- cd $here
-
-- # kludge for Slackware's /usr/man/preformat
-- if [ $mandir = /usr/man/preformat ]
-- then
-- mandir1=/usr/man
-- else
-- mandir1=$mandir
-- fi
--
-- if [ -f ${mandir1}/whatis ]
-+ if [ -f /var/cache/man/whatis ]
- then
-- cat ${mandir1}/whatis >> $TMPFILE
-+ cat /var/cache/man/whatis >> $TMPFILE
- fi
-- tr -s '\n' < $TMPFILE | sort -u > ${mandir1}/whatis
-+ tr -s '\n' < $TMPFILE | sort -u > /var/cache/man/whatis
-
-- chmod 644 ${mandir1}/whatis
-+ chmod 644 /var/cache/man/whatis
- rm $TMPFILE
-- fi
- done
- done
-
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.6e-whatis2.patch b/meta/recipes-extended/man/man-1.6e/man-1.6e-whatis2.patch
deleted file mode 100644
index 180d4a317..000000000
--- a/meta/recipes-extended/man/man-1.6e/man-1.6e-whatis2.patch
+++ /dev/null
@@ -1,37 +0,0 @@
---- man-1.6e-ro_usr/src/makewhatis.sh 2007-05-18 11:41:50.000000000 -0300
-+++ man-1.6e/src/makewhatis.sh 2007-05-18 13:27:16.000000000 -0300
-@@ -162,10 +162,15 @@
- fi
- catpath=`echo ${catpath} | tr : ' '`
-
-+#WHATIS_DIR=$DESTDIR/var/cache/man/`echo $here|sed -e 's!.*/man/!!g'`
-+WHATIS_DIR=$DESTDIR/var/cache/man/$LANG
-+[[ -d $WHATIS_DIR ]] || mkdir -p $WHATIS_DIR/
-+
- # first truncate all the whatis files that will be created new,
- # then only update - we might visit the same directory twice
- if [ x$update = x ]; then
-- cp /dev/null /var/cache/man/whatis
-+ mkdir -p $WHATIS_DIR/
-+ /bin/echo -n > $WHATIS_DIR/whatis
- fi
-
- for pages in man cat
-@@ -395,13 +400,13 @@
-
- cd $here
-
-- if [ -f /var/cache/man/whatis ]
-+ if [ -f $WHATIS_DIR/whatis ]
- then
-- cat /var/cache/man/whatis >> $TMPFILE
-+ cat $WHATIS_DIR/whatis >> $TMPFILE
- fi
-- tr -s '\n' < $TMPFILE | sort -u > /var/cache/man/whatis
-+ tr -s '\n' < $TMPFILE | sort -u > $WHATIS_DIR/whatis
-
-- chmod 644 /var/cache/man/whatis
-+ chmod 644 $WHATIS_DIR/whatis
- rm $TMPFILE
- done
- done
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5g-nonrootbuild.patch b/meta/recipes-extended/man/man-1.6f/man-1.5g-nonrootbuild.patch
index ae2bc4d17..ae2bc4d17 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.5g-nonrootbuild.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.5g-nonrootbuild.patch
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5h1-gencat.patch b/meta/recipes-extended/man/man-1.6f/man-1.5h1-gencat.patch
index 6409dfce5..6409dfce5 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.5h1-gencat.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.5h1-gencat.patch
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5h1-make.patch b/meta/recipes-extended/man/man-1.6f/man-1.5h1-make.patch
index f9f91e4d0..f9f91e4d0 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.5h1-make.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.5h1-make.patch
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5i2-initial.patch b/meta/recipes-extended/man/man-1.6f/man-1.5i2-initial.patch
index 1b1442385..1b1442385 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.5i2-initial.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.5i2-initial.patch
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5i2-newline.patch b/meta/recipes-extended/man/man-1.6f/man-1.5i2-newline.patch
index da95d5ad1..da95d5ad1 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.5i2-newline.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.5i2-newline.patch
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5i2-overflow.patch b/meta/recipes-extended/man/man-1.6f/man-1.5i2-overflow.patch
index f1ef06bab..f1ef06bab 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.5i2-overflow.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.5i2-overflow.patch
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5j-i18n.patch b/meta/recipes-extended/man/man-1.6f/man-1.5j-i18n.patch
index 7645542e1..7645542e1 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.5j-i18n.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.5j-i18n.patch
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5j-nocache.patch b/meta/recipes-extended/man/man-1.6f/man-1.5j-nocache.patch
index 267b34b93..267b34b93 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.5j-nocache.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.5j-nocache.patch
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5j-utf8.patch b/meta/recipes-extended/man/man-1.6f/man-1.5j-utf8.patch
index c81776367..c81776367 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.5j-utf8.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.5j-utf8.patch
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5k-confpath.patch b/meta/recipes-extended/man/man-1.6f/man-1.5k-confpath.patch
index 71ac9fcfc..71ac9fcfc 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.5k-confpath.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.5k-confpath.patch
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5k-nonascii.patch b/meta/recipes-extended/man/man-1.6f/man-1.5k-nonascii.patch
index 465d839ea..465d839ea 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.5k-nonascii.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.5k-nonascii.patch
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5k-sofix.patch b/meta/recipes-extended/man/man-1.6f/man-1.5k-sofix.patch
index d4522ea97..d4522ea97 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.5k-sofix.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.5k-sofix.patch
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5m2-bug11621.patch b/meta/recipes-extended/man/man-1.6f/man-1.5m2-bug11621.patch
index 9c06c4c10..9c06c4c10 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.5m2-bug11621.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.5m2-bug11621.patch
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5m2-buildroot.patch b/meta/recipes-extended/man/man-1.6f/man-1.5m2-buildroot.patch
index d84208390..d84208390 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.5m2-buildroot.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.5m2-buildroot.patch
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5m2-multiple.patch b/meta/recipes-extended/man/man-1.6f/man-1.5m2-multiple.patch
index cc5bffde6..cc5bffde6 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.5m2-multiple.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.5m2-multiple.patch
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5m2-no-color-for-printing.patch b/meta/recipes-extended/man/man-1.6f/man-1.5m2-no-color-for-printing.patch
index d1f810a44..d1f810a44 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.5m2-no-color-for-printing.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.5m2-no-color-for-printing.patch
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5m2-sigpipe.patch b/meta/recipes-extended/man/man-1.6f/man-1.5m2-sigpipe.patch
index 81fb2d702..81fb2d702 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.5m2-sigpipe.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.5m2-sigpipe.patch
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.5m2-tv_fhs.patch b/meta/recipes-extended/man/man-1.6f/man-1.5m2-tv_fhs.patch
index 20389d9c0..20389d9c0 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.5m2-tv_fhs.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.5m2-tv_fhs.patch
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.6e-i18n_whatis.patch b/meta/recipes-extended/man/man-1.6f/man-1.6e-i18n_whatis.patch
index ad62a6016..ad62a6016 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.6e-i18n_whatis.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.6e-i18n_whatis.patch
diff --git a/meta/recipes-extended/man/man-1.6f/man-1.6e-lzma+xz-support.patch b/meta/recipes-extended/man/man-1.6f/man-1.6e-lzma+xz-support.patch
new file mode 100644
index 000000000..f8ade4fc5
--- /dev/null
+++ b/meta/recipes-extended/man/man-1.6f/man-1.6e-lzma+xz-support.patch
@@ -0,0 +1,120 @@
+Index: man-1.6f/configure
+===================================================================
+--- man-1.6f.orig/configure 2010-12-29 14:00:35.000000000 -0800
++++ man-1.6f/configure 2010-12-29 14:27:57.584431711 -0800
+@@ -1027,7 +1027,7 @@
+ then
+ DO_COMPRESSION=true
+ compress=
+- for i in lzma bzip2 gzip bzip tzip pack compress freeze yabba
++ for i in xz lzma bzip2 gzip bzip tzip pack compress freeze yabba
+ do
+ eval F$i=missing
+ for j in $DEFPATH
+@@ -1080,6 +1080,7 @@
+ fi
+
+ case $compress in
++ *xz*) ext=".xz" ;;
+ *lzma*) ext=".lzma" ;;
+ *bzip2*) ext=".bz2" ;;
+ *gzip*) ext=".gz" ;;
+@@ -1123,7 +1124,7 @@
+ fi
+
+ # unconditionally handle uncompression
+-UNCOMPRESSORS="unlzma gunzip bzip2 pcat zcat fcat unyabba"
++UNCOMPRESSORS="unxz unlzma gunzip bzip2 pcat zcat fcat unyabba"
+ for i in $UNCOMPRESSORS
+ do
+ eval F$i=missing
+@@ -1144,6 +1145,10 @@
+ if [ $Fbzip2 != missing ]; then
+ bzip2="$Fbzip2 -c -d"
+ fi
++unxz=missing
++if [ $Funxz != missing ]; then
++ unxz="$Funxz -c -d"
++fi
+ unlzma=missing
+ if [ $Funlzma != missing ]; then
+ unlzma="$Funlzma -c -d"
+@@ -1176,6 +1181,9 @@
+ bzip2)
+ echo "Command to use for .bz2 files (standard bzip2)"
+ echo $n "[`eval echo \\$$filter`] $c" ;;
++ xz)
++ echo "Command to use for .xz files (standard xz)"
++ echo $n "[`eval echo \\$$filter`] $c" ;;
+ lzma)
+ echo "Command to use for .lzma files (standard lzma)"
+ echo $n "[`eval echo \\$$filter`] $c" ;;
+@@ -1240,6 +1248,7 @@
+ case $compress_ext in
+ .gz) decompress=$gunzip ;;
+ .bz2) decompress=$bzip2 ;;
++ .xz) decompress=$unxz ;;
+ .lzma) decompress=$unlzma ;;
+ .z) decompress=$pcat ;;
+ .Z) decompress=$zcat ;;
+@@ -1333,6 +1342,7 @@
+ s,@zcat@,$zcat,
+ s,@gunzip@,$gunzip,
+ s,@bzip2@,$bzip2,
++s,@unxz@,$unxz,
+ s,@unlzma@,$unlzma,
+ s,@unyabba@,$unyabba,
+ s,@compress@,$compress,
+Index: man-1.6f/src/makewhatis.sh
+===================================================================
+--- man-1.6f.orig/src/makewhatis.sh 2010-12-29 14:00:35.000000000 -0800
++++ man-1.6f/src/makewhatis.sh 2010-12-29 14:16:18.821555314 -0800
+@@ -242,7 +242,7 @@
+ find $mandir/${pages}$i/. -name '*' $findarg0 $findarg -print | LC_ALL=C $AWK -v MAN_NAME="$MAN_NAME" -v MAN_DESCRIPTION="$MAN_DESCRIPTION" '
+
+ function readline() {
+- if (use_zcat || use_bzcat || use_lzcat) {
++ if (use_zcat || use_bzcat || use_lzcat || use_xzcat) {
+ result = (pipe_cmd | getline);
+ if (result < 0) {
+ print "Pipe error: " pipe_cmd " " ERRNO > "/dev/stderr";
+@@ -257,7 +257,7 @@
+ }
+
+ function closeline() {
+- if (use_zcat || use_bzcat || use_lzcat) {
++ if (use_zcat || use_bzcat || use_lzcat || use_xzcat) {
+ return close(pipe_cmd);
+ } else {
+ return close(filename);
+@@ -278,7 +278,9 @@
+ use_bzcat = match(filename,"\\.bz2");
+ if(!use_bzcat)
+ use_lzcat = match(filename,"\\.lzma");
+- if (use_zcat || use_bzcat || use_lzcat ) {
++ if(!use_xzcat)
++ use_xzcat = match(filename,"\\.xz");
++ if (use_zcat || use_bzcat || use_lzcat || use_xzcat ) {
+ filename_no_gz = substr(filename, 0, RSTART - 1);
+ } else {
+ filename_no_gz = filename;
+@@ -291,14 +293,16 @@
+ actual_section = section;
+ }
+ sub(/\..*/, "", progname);
+- if (use_zcat || use_bzcat || use_lzcat) {
++ if (use_zcat || use_bzcat || use_lzcat || use_xzcat) {
+ if (use_zcat) {
+ pipe_cmd = "zcat \"" filename "\"";
+ } else if (use_bzcat) {
+ pipe_cmd = "bzcat \"" filename "\"";
+- } else {
++ } else if (use_lzcat) {
+ pipe_cmd = "lzcat \"" filename "\"";
+- }
++ } else {
++ pipe_cmd = "xzcat \"" filename "\"";
++ }
+ # try to avoid suspicious stuff
+ if (filename ~ /[;&|`$(]/) {
+ print "ignored strange file name " filename " in " curdir > "/dev/stderr";
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.6e-mandirs.patch b/meta/recipes-extended/man/man-1.6f/man-1.6e-mandirs.patch
index 06e986975..06e986975 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.6e-mandirs.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.6e-mandirs.patch
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.6e-new_sections.patch b/meta/recipes-extended/man/man-1.6f/man-1.6e-new_sections.patch
index 51727588f..51727588f 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.6e-new_sections.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.6e-new_sections.patch
diff --git a/meta/recipes-extended/man/man-1.6f/man-1.6e-ro_usr.patch b/meta/recipes-extended/man/man-1.6f/man-1.6e-ro_usr.patch
new file mode 100644
index 000000000..d330e62b0
--- /dev/null
+++ b/meta/recipes-extended/man/man-1.6f/man-1.6e-ro_usr.patch
@@ -0,0 +1,29 @@
+Index: man-1.6f/src/makewhatis.sh
+===================================================================
+--- man-1.6f.orig/src/makewhatis.sh 2010-12-29 13:42:34.000000000 -0800
++++ man-1.6f/src/makewhatis.sh 2010-12-29 13:42:35.667428347 -0800
+@@ -124,7 +124,7 @@
+ continue;;
+ -s) setsections=1
+ continue;;
+- -u) findarg="-ctime 0"
++ -u) findarg="-newer /var/cache/man/whatis"
+ update=1
+ continue;;
+ -v) verbose=1
+@@ -165,14 +165,7 @@
+ # first truncate all the whatis files that will be created new,
+ # then only update - we might visit the same directory twice
+ if [ x$update = x ]; then
+- for pages in man cat
+- do
+- eval path="\$$pages"path
+- for mandir in $path
+- do
+- cp /dev/null $mandir/whatis
+- done
+- done
++ cp /dev/null /var/cache/man/whatis
+ fi
+
+ for pages in man cat
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.6e-security.patch b/meta/recipes-extended/man/man-1.6f/man-1.6e-security.patch
index 85fdf4e5f..85fdf4e5f 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.6e-security.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.6e-security.patch
diff --git a/meta/recipes-extended/man/man-1.6e/man-1.6e-use_i18n_vars_in_a_std_way.patch b/meta/recipes-extended/man/man-1.6f/man-1.6e-use_i18n_vars_in_a_std_way.patch
index a448da54d..a448da54d 100644
--- a/meta/recipes-extended/man/man-1.6e/man-1.6e-use_i18n_vars_in_a_std_way.patch
+++ b/meta/recipes-extended/man/man-1.6f/man-1.6e-use_i18n_vars_in_a_std_way.patch
diff --git a/meta/recipes-extended/man/man-1.6f/man-1.6e-whatis2.patch b/meta/recipes-extended/man/man-1.6f/man-1.6e-whatis2.patch
new file mode 100644
index 000000000..1a10be361
--- /dev/null
+++ b/meta/recipes-extended/man/man-1.6f/man-1.6e-whatis2.patch
@@ -0,0 +1,48 @@
+Index: man-1.6f/src/makewhatis.sh
+===================================================================
+--- man-1.6f.orig/src/makewhatis.sh 2010-12-29 13:51:45.000000000 -0800
++++ man-1.6f/src/makewhatis.sh 2010-12-29 13:59:35.399799412 -0800
+@@ -164,10 +164,15 @@
+ fi
+ catpath=`echo ${catpath} | tr : ' '`
+
++#WHATIS_DIR=$DESTDIR/var/cache/man/`echo $here|sed -e 's!.*/man/!!g'`
++WHATIS_DIR=$DESTDIR/var/cache/man/$LANG
++[[ -d $WHATIS_DIR ]] || mkdir -p $WHATIS_DIR/
++
+ # first truncate all the whatis files that will be created new,
+ # then only update - we might visit the same directory twice
+ if [ x$update = x ]; then
+- cp /dev/null /var/cache/man/whatis
++ mkdir -p $WHATIS_DIR/
++ /bin/echo -n > $WHATIS_DIR/whatis
+ fi
+
+ for pages in man cat
+@@ -180,13 +185,7 @@
+ echo "about to enter $mandir" > /dev/stderr
+ fi
+
+- # kludge for Slackware's /usr/man/preformat
+- if [ $mandir = /usr/man/preformat ]
+- then
+- mandir1=/usr/man
+- else
+- mandir1=$mandir
+- fi
++ mandir1=$WHATIS_DIR
+
+ # if $mandir is on a readonly partition, and the whatis file
+ # is not a symlink, then let's skip trying to update it
+@@ -207,11 +206,6 @@
+ fi
+ fi
+
+- if [ -s ${mandir}/whatis -a $pages = man -a x$update = x ]; then
+- if [ x$verbose != x ]; then
+- echo skipping $mandir - we did it already > /dev/stderr
+- fi
+- else
+ here=`pwd`
+ cd $mandir
+ for i in $sections
diff --git a/meta/recipes-extended/man/man-1.6e/man.1.gz b/meta/recipes-extended/man/man-1.6f/man.1.gz
index c36804515..c36804515 100644
--- a/meta/recipes-extended/man/man-1.6e/man.1.gz
+++ b/meta/recipes-extended/man/man-1.6f/man.1.gz
Binary files differ
diff --git a/meta/recipes-extended/man/man-1.6e/man.7.gz b/meta/recipes-extended/man/man-1.6f/man.7.gz
index e85af8242..e85af8242 100644
--- a/meta/recipes-extended/man/man-1.6e/man.7.gz
+++ b/meta/recipes-extended/man/man-1.6f/man.7.gz
Binary files differ
diff --git a/meta/recipes-extended/man/man-1.6e/manpath.5.gz b/meta/recipes-extended/man/man-1.6f/manpath.5.gz
index c012ff897..c012ff897 100644
--- a/meta/recipes-extended/man/man-1.6e/manpath.5.gz
+++ b/meta/recipes-extended/man/man-1.6f/manpath.5.gz
Binary files differ
diff --git a/meta/recipes-extended/man/man_1.6e.bb b/meta/recipes-extended/man/man_1.6f.bb
index 930cca90c..f1c975443 100644
--- a/meta/recipes-extended/man/man_1.6e.bb
+++ b/meta/recipes-extended/man/man_1.6f.bb
@@ -10,7 +10,7 @@ DEPENDS = "groff less"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-SRC_URI = "http://primates.ximian.com/~flucifredi/man/man-1.6e.tar.gz \
+SRC_URI = "http://primates.ximian.com/~flucifredi/${PN}/${PN}-${PV}.tar.gz \
file://man-1.5k-confpath.patch;striplevel=0 \
file://man-1.5h1-make.patch;striplevel=1 \
file://man-1.5k-nonascii.patch;striplevel=1 \
@@ -38,8 +38,8 @@ SRC_URI = "http://primates.ximian.com/~flucifredi/man/man-1.6e.tar.gz \
file://man-1.6e-lzma+xz-support.patch;striplevel=1 \
file://man*"
-SRC_URI[md5sum] = "d8187cd756398baefc48ba7d60ff6a8a"
-SRC_URI[sha256sum] = "022faf23844eabb3662eabb105836925dd83bedda10271e2450a5bc5b61a5b5f"
+SRC_URI[md5sum] = "67aaaa6df35215e812fd7d89472c44b6"
+SRC_URI[sha256sum] = "9f208c7e1981371ad4481d6e6c2c566bc726a15778723f94136d220fb9375f6c"
do_configure () {
diff --git a/meta/recipes-extended/mc/mc_4.7.3.bb b/meta/recipes-extended/mc/mc_4.7.5.bb
index 22a1a9397..2898f2cd8 100644
--- a/meta/recipes-extended/mc/mc_4.7.3.bb
+++ b/meta/recipes-extended/mc/mc_4.7.5.bb
@@ -4,12 +4,16 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
SECTION = "console/utils"
DEPENDS = "ncurses glib-2.0"
-RDEPENDS = "ncurses-terminfo"
+RDEPENDS_${PN} = "ncurses-terminfo"
+
+PR = "r1"
+
+PR = "r0"
SRC_URI = "http://www.midnight-commander.org/downloads/${PN}-${PV}.tar.bz2"
-SRC_URI[md5sum] = "42eb806d733b11d0d13ff7ee5fd1a03c"
-SRC_URI[sha256sum] = "4815184f28218a43080e4a425b5cd4e159277a10c56ff06d29bf441828fe5927"
+SRC_URI[md5sum] = "4eb2438b168fb0f93b748889a9294f54"
+SRC_URI[sha256sum] = "0d2b4e87b8a4158edf54380df9402b4a1a19f7494ef06dd0a0a3e3ff6a2b50f1"
inherit autotools gettext
diff --git a/meta/recipes-extended/msmtp/msmtp_1.4.23.bb b/meta/recipes-extended/msmtp/msmtp_1.4.23.bb
new file mode 100644
index 000000000..d72677cad
--- /dev/null
+++ b/meta/recipes-extended/msmtp/msmtp_1.4.23.bb
@@ -0,0 +1,21 @@
+SUMMARY = "msmtp is an SMTP client."
+DESCRIPTION = "A sendmail replacement for use in MTAs like mutt"
+HOMEPAGE = "http://msmtp.sourceforge.net/"
+SECTION = "console/network"
+
+PRIORITY = "required"
+LICENSE = "GPLv3"
+DEPENDS = "zlib gnutls"
+PR = "r0"
+
+
+#COPYING or Licence
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "http://sourceforge.net/projects/msmtp/files/msmtp/${PV}/${PN}-${PV}.tar.bz2 \
+ "
+
+SRC_URI[md5sum] = "5fb7ae88186624cdb125d3efad3fdc16"
+SRC_URI[sha256sum] = "269cd30eeb867167c6a599e23399f4fc24196fcdef3bac5b120d806b3b421810"
+
+inherit gettext autotools
diff --git a/meta/recipes-extended/parted/parted-1.9.0/no_check.patch b/meta/recipes-extended/parted/parted-2.3/no_check.patch
index 24a328cee..24a328cee 100644
--- a/meta/recipes-extended/parted/parted-1.9.0/no_check.patch
+++ b/meta/recipes-extended/parted/parted-2.3/no_check.patch
diff --git a/meta/recipes-extended/parted/parted-1.9.0/syscalls.patch b/meta/recipes-extended/parted/parted-2.3/syscalls.patch
index 6be49968f..6be49968f 100644
--- a/meta/recipes-extended/parted/parted-1.9.0/syscalls.patch
+++ b/meta/recipes-extended/parted/parted-2.3/syscalls.patch
diff --git a/meta/recipes-extended/parted/parted_1.9.0.bb b/meta/recipes-extended/parted/parted_2.3.bb
index 3601fb100..14c9c256e 100644
--- a/meta/recipes-extended/parted/parted_1.9.0.bb
+++ b/meta/recipes-extended/parted/parted_2.3.bb
@@ -1,17 +1,17 @@
DESCRIPTION = "parted, the GNU partition resizing program"
HOMEPAGE = "http://www.gnu.org/software/parted/parted.html"
LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4c61b8950dc1aab4d2aa7c2ae6b1cfb3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2f31b266d3440dd7ee50f92cf67d8e6c"
SECTION = "console/tools"
DEPENDS = "readline e2fsprogs"
-PR = "r3"
+PR = "r0"
SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.gz \
- file://no_check.patch;patch=1 \
- file://syscalls.patch;patch=1 "
+ file://no_check.patch \
+ file://syscalls.patch "
-SRC_URI[md5sum] = "055305bc7bcf472ce38f9abf69a9d94d"
-SRC_URI[sha256sum] = "53231241ba24c104c207bd2920d70d31fda86df86a69c90e11f35144ffc55509"
+SRC_URI[md5sum] = "30ceb6df7e8681891e865e2fe5a7903d"
+SRC_URI[sha256sum] = "e81fa140805b5cd029ff6dda5cfa94d223e83ac182ebcae94f841d62ce468829"
EXTRA_OECONF = "--disable-Werror --disable-device-mapper"
diff --git a/meta/recipes-extended/perl/libconvert-asn1-perl_0.21.bb b/meta/recipes-extended/perl/libconvert-asn1-perl_0.22.bb
index 660beecfb..e3edc1893 100644
--- a/meta/recipes-extended/perl/libconvert-asn1-perl_0.21.bb
+++ b/meta/recipes-extended/perl/libconvert-asn1-perl_0.22.bb
@@ -6,13 +6,15 @@ PR = "r0"
SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/Convert-ASN1-${PV}.tar.gz"
-SRC_URI[md5sum] = "6f5c45724db1b09911e489275d19d0f5"
-SRC_URI[sha256sum] = "94e37fcb52148355cf9a0e96518c82bbb80b0b97adcce88bdb87766ca1cf9e45"
+SRC_URI[md5sum] = "64a555e44adc79d92072b9fc7a6779c4"
+SRC_URI[sha256sum] = "be63d5cc715d7306e54b41d3c68c3617ca306289cff619a2ca43505e35f2f6ee"
S = "${WORKDIR}/Convert-ASN1-${PV}"
inherit cpan
+EXTRA_PERLFLAGS = "-I ${STAGING_LIBDIR_NATIVE}/perl/${@get_perl_version(d)}"
+
BBCLASSEXTEND="native"
PACKAGE_ARCH = "all"
diff --git a/meta/recipes-extended/polkit/polkit_0.99.bb b/meta/recipes-extended/polkit/polkit_0.99.bb
index f578ccad6..7f969792e 100644
--- a/meta/recipes-extended/polkit/polkit_0.99.bb
+++ b/meta/recipes-extended/polkit/polkit_0.99.bb
@@ -7,9 +7,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb \
file://docs/polkit/html/license.html;md5=54750ec6ece444c50b823234d445dd99"
SRC_URI = "http://hal.freedesktop.org/releases/polkit-${PV}.tar.gz"
-PR = "r0"
+PR = "r1"
DEPENDS = "libpam expat dbus-glib eggdbus intltool"
-RDEPENDS = "libpam"
+RDEPENDS_${PN} = "libpam"
EXTRA_OECONF = "--with-authfw=pam --with-os-type=moblin --disable-man-pages --disable-gtk-doc --disable-introspection"
inherit autotools pkgconfig
diff --git a/meta/recipes-extended/sat-solver/sat-solver/cmake.patch b/meta/recipes-extended/sat-solver/sat-solver/cmake.patch
index a69d82590..d7b80b084 100644
--- a/meta/recipes-extended/sat-solver/sat-solver/cmake.patch
+++ b/meta/recipes-extended/sat-solver/sat-solver/cmake.patch
@@ -2,23 +2,56 @@ check rpm
not building docs (need oxygen)
8/19/2010 - created by Qing He <qing.he@intel.com>
+1/24/2011 - Disable Fedora/Debian checking/settings by Mark Hatle <mark.hatle@windriver.com>
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 24234db..69413e4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -50,6 +50,10 @@ MESSAGE(STATUS "Enabling multi dist support")
+@@ -35,22 +35,15 @@
+ FIND_PACKAGE(Check REQUIRED)
+ FIND_PACKAGE(ZLIB REQUIRED)
+
+-IF ( FEDORA )
+-MESSAGE(STATUS "Building for Fedora")
+-ADD_DEFINITIONS( -DFEDORA )
+-ENDIF ( FEDORA)
+-
+-IF ( DEBIAN )
+-MESSAGE(STATUS "Building for Debian")
+-ADD_DEFINITIONS( -DDEBIAN -DDEBIAN_SEMANTICS)
+-ENDIF ( DEBIAN )
+-
+ IF ( MULTI_SEMANTICS )
+ MESSAGE(STATUS "Enabling multi dist support")
ADD_DEFINITIONS( -DMULTI_SEMANTICS)
ENDIF ( MULTI_SEMANTICS )
+-IF ( NOT DEBIAN )
+FIND_PACKAGE(PkgConfig REQUIRED)
+PKG_CHECK_MODULES(RPM REQUIRED rpm)
+INCLUDE_DIRECTORIES( ${RPM_INCLUDE_DIRS} )
+
- IF ( NOT DEBIAN )
FIND_LIBRARY(RPMDB_LIBRARY NAMES rpmdb)
IF ( NOT RPMDB_LIBRARY )
-@@ -159,22 +163,7 @@ ADD_SUBDIRECTORY(tools)
+ FIND_LIBRARY(RPMDB_LIBRARY NAMES rpm)
+@@ -59,13 +52,14 @@
+ IF ( RPMIO_LIBRARY )
+ SET( RPMDB_LIBRARY ${RPMIO_LIBRARY} ${RPMDB_LIBRARY} )
+ ENDIF ( RPMIO_LIBRARY )
+-IF ( FEDORA )
++FIND_LIBRARY(RPMMISC_LIBRARY NAMES rpmmisc)
++IF ( RPMMISC_LIBRARY )
++SET( RPMDB_LIBRARY ${RPMMISC_LIBRARY} ${RPMDB_LIBRARY} )
++ENDIF ( RPMMISC_LIBRARY )
+ FIND_LIBRARY(DB_LIBRARY NAMES db)
+ IF ( DB_LIBRARY )
+ SET( RPMDB_LIBRARY ${DB_LIBRARY} ${RPMDB_LIBRARY} )
+ ENDIF ( DB_LIBRARY )
+-ENDIF ( FEDORA )
+-ENDIF ( NOT DEBIAN )
+
+ SET( PACKAGE "satsolver" )
+ SET( VERSION "${LIBSATSOLVER_MAJOR}.${LIBSATSOLVER_MINOR}.${LIBSATSOLVER_PATCH}" )
+@@ -159,22 +153,7 @@
ADD_SUBDIRECTORY(applayer)
ADD_SUBDIRECTORY(tests)
ADD_SUBDIRECTORY(examples)
diff --git a/meta/recipes-extended/sat-solver/sat-solver/db5.patch b/meta/recipes-extended/sat-solver/sat-solver/db5.patch
new file mode 100644
index 000000000..98f322ffb
--- /dev/null
+++ b/meta/recipes-extended/sat-solver/sat-solver/db5.patch
@@ -0,0 +1,24 @@
+RPM no longer includes an internal version of db, it now relies on the system
+version. The system version in Poky is available at /usr/include/db51
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+rebased to sat-solver commit 9e1f2a097965debebc69cebf8ed73c6ff31a5220
+
+Signed-off-by: Qing He <qing.he@intel.com>
+
+--- git/ext/repo_rpmdb.c.orig 2011-01-06 10:46:37.369900542 -0600
++++ git/ext/repo_rpmdb.c 2011-01-06 10:48:35.482919434 -0600
+@@ -29,11 +29,7 @@
+ #include <rpm/rpmdb.h>
+
+ #ifndef DB_CREATE
+-# ifdef FEDORA
+-# include <db.h>
+-# else
+-# include <rpm/db.h>
+-# endif
++# include <db.h>
+ #endif
+
+ #include "pool.h"
diff --git a/meta/recipes-extended/sat-solver/sat-solver/rpm5.patch b/meta/recipes-extended/sat-solver/sat-solver/rpm5.patch
index a44a07dee..5ab632155 100644
--- a/meta/recipes-extended/sat-solver/sat-solver/rpm5.patch
+++ b/meta/recipes-extended/sat-solver/sat-solver/rpm5.patch
@@ -2,6 +2,11 @@ fix rpm5 build
8/19/2010 - created by Qing He <qing.he@intel.com>
+
+pgpDigNew/pgpDigFree has changed in RPM 5.4.0
+
+Signed-off-by: Qing He <qing.he@intel.com>
+
diff --git a/ext/repo_rpmdb.c b/ext/repo_rpmdb.c
index 34f2b65..3c6ab9a 100644
--- a/ext/repo_rpmdb.c
@@ -33,7 +38,7 @@ index 34f2b65..3c6ab9a 100644
/* only rpm knows how to do the release calculation, we don't dare
* to recreate all the bugs */
- dig = pgpNewDig();
-+ dig = pgpDigNew(0);
++ dig = pgpDigNew(RPMVSF_DEFAULT, 0);
(void) pgpPrtPkts(pkts, pktsl, dig, 0);
btime = dig->pubkey.time[0] << 24 | dig->pubkey.time[1] << 16 | dig->pubkey.time[2] << 8 | dig->pubkey.signid[3];
sprintf(evrbuf, "%02x%02x%02x%02x-%02x%02x%02x%02x", dig->pubkey.signid[4], dig->pubkey.signid[5], dig->pubkey.signid[6], dig->pubkey.signid[7], dig->pubkey.time[0], dig->pubkey.time[1], dig->pubkey.time[2], dig->pubkey.time[3]);
@@ -42,7 +47,7 @@ index 34f2b65..3c6ab9a 100644
if (dig->pubkey.userid)
setutf8string(data, s - s->repo->pool->solvables, SOLVABLE_SUMMARY, dig->pubkey.userid);
- pgpFreeDig(dig);
-+ (void) pgpDigFree(dig, "");
++ (void) pgpDigFree(dig);
sat_free((void *)pkts);
return 1;
}
diff --git a/meta/recipes-extended/sat-solver/sat-solver_git.bb b/meta/recipes-extended/sat-solver/sat-solver_git.bb
index db368b1e1..02b6c7550 100644
--- a/meta/recipes-extended/sat-solver/sat-solver_git.bb
+++ b/meta/recipes-extended/sat-solver/sat-solver_git.bb
@@ -4,14 +4,15 @@ HOMEPAGE = "http://en.opensue.org/Portal:Libzypp"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8"
-DEPENDS = "libcheck rpm zlib expat"
+DEPENDS = "libcheck rpm zlib expat db"
PV = "0.0-git${SRCPV}"
-PR = "r1"
+PR = "r3"
SRC_URI = "git://gitorious.org/opensuse/sat-solver.git;protocol=git \
file://cmake.patch \
- file://rpm5.patch"
+ file://rpm5.patch \
+ file://db5.patch"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-extended/shadow/shadow.inc b/meta/recipes-extended/shadow/shadow.inc
index fcbcb3eb7..42f92a7f4 100644
--- a/meta/recipes-extended/shadow/shadow.inc
+++ b/meta/recipes-extended/shadow/shadow.inc
@@ -20,7 +20,7 @@ PAM_PLUGINS = " libpam-runtime \
pam-plugin-rootok"
DEPENDS = "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-RDEPENDS = "${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_PLUGINS}', '', d)}"
+RDEPENDS_${PN} = "${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_PLUGINS}', '', d)}"
# since we deduce from ${SERIAL_CONSOLE}
PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta/recipes-extended/shadow/shadow_4.1.4.2.bb b/meta/recipes-extended/shadow/shadow_4.1.4.2.bb
index ca5f533f9..224ae5e38 100644
--- a/meta/recipes-extended/shadow/shadow_4.1.4.2.bb
+++ b/meta/recipes-extended/shadow/shadow_4.1.4.2.bb
@@ -1,6 +1,6 @@
require shadow.inc
-PR = "r0"
+PR = "r1"
SRC_URI += "file://shadow.automake-1.11.patch \
file://shadow-4.1.3-dots-in-usernames.patch \
diff --git a/meta/recipes-extended/sudo/sudo_1.7.4p4.bb b/meta/recipes-extended/sudo/sudo_1.7.4p6.bb
index ee81b650f..edc9a0e8b 100644
--- a/meta/recipes-extended/sudo/sudo_1.7.4p4.bb
+++ b/meta/recipes-extended/sudo/sudo_1.7.4p6.bb
@@ -5,7 +5,7 @@ PR = "r0"
SRC_URI = "http://ftp.sudo.ws/sudo/dist/sudo-${PV}.tar.gz \
file://libtool.patch"
-SRC_URI[md5sum] = "55d9906535d70a1de347cd3d3550ee87"
-SRC_URI[sha256sum] = "38de3c3e08346b2b8dcb3cf7ed0813300d1a1d5696d0f338ea8a4ef232aacf97"
+SRC_URI[md5sum] = "1ae12d3d22e7ffedbf2db26f957676f0"
+SRC_URI[sha256sum] = "20091ef71018698c674c779f4b57178b2ecb4275fa34909b06219d2688ad14d5"
EXTRA_OECONF += " --with-pam=no"
diff --git a/meta/recipes-extended/tzcode/tzcode-native_2009r.bb b/meta/recipes-extended/tzcode/tzcode-native_2009r.bb
index 7fe1326ef..dee81139a 100644
--- a/meta/recipes-extended/tzcode/tzcode-native_2009r.bb
+++ b/meta/recipes-extended/tzcode/tzcode-native_2009r.bb
@@ -2,6 +2,8 @@ DESCRIPTION = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect"
LICENSE = "Public Domain"
PR = "r0"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/README;md5=3ae8198f82258417ce29066d3b034035"
+
SRC_URI = "ftp://elsie.nci.nih.gov/pub/tzcode${PV}.tar.gz \
ftp://elsie.nci.nih.gov/pub/tzdata2009s.tar.gz"
diff --git a/meta/recipes-extended/zypper/zypper/dso_linking_change_build_fix.patch b/meta/recipes-extended/zypper/zypper/dso_linking_change_build_fix.patch
new file mode 100644
index 000000000..a7d3fbe50
--- /dev/null
+++ b/meta/recipes-extended/zypper/zypper/dso_linking_change_build_fix.patch
@@ -0,0 +1,58 @@
+after gcc linking has changed, all the libraries must be explicitely specified
+This patch avoids these linking errors:
+
+| Linking CXX executable zypp-refresh
+| cd /build_disk/poky_build/build0/tmp/work/i586-poky-linux/zypper-1.4.7-git0+9eb0e248e06c8d20ad054be2439149d9ede37531-r2/git/src && /build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/bin/cmake -E cmake_link_script CMakeFiles/zypp-refresh.dir/link.txt --verbose=1
+| /build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/bin/i586-poky-linux/i586-poky-linux-g++ -march=i586 --sysroot=/build_disk/poky_build/build0/tmp/sysroots/i586-poky-linux -fpermissive -g -O2 -Wall -Woverloaded-virtual -fstack-protector -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed CMakeFiles/zypp-refresh.dir/zypp-refresh.cc.o -o zypp-refresh -rdynamic -lzypp
+| /build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: �: invalid DSO for symbol `pthread_cancel@@GLIBC_2.0' definition
+| /build_disk/poky_build/build0/tmp/sysroots/i586-poky-linux/lib/libpthread.so.0: could not read symbols: Bad value
+| collect2: ld returned 1 exit status
+| make[2]: *** [src/zypp-refresh] Error 1
+| make[2]: Leaving directory `/build_disk/poky_build/build0/tmp/work/i586-poky-linux/zypper-1.4.7-git0+9eb0e248e06c8d20ad054be2439149d9ede37531-r2/git'
+| make[1]: *** [src/CMakeFiles/zypp-refresh.dir/all] Error 2
+
+
+| Linking CXX executable zypper
+| cd /build_disk/poky_build/build0/tmp/work/i586-poky-linux/zypper-1.4.7-git0+9eb0e248e06c8d20ad054be2439149d9ede37531-r3/git/src && /build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/bin/cmake -E cmake_link_script CMakeFiles/zypper.dir/link.txt --verbose=1
+| /build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/bin/i586-poky-linux/i586-poky-linux-g++ -march=i586 --sysroot=/build_disk/poky_build/build0/tmp/sysroots/i586-poky-linux -fpermissive -g -O2 -Wall -Woverloaded-virtual -fstack-protector -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed CMakeFiles/zypper.dir/main.cc.o -o zypper -rdynamic libzypper_lib.a -lzypp -lreadline -laugeas -laugeas
+| /build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: �: invalid DSO for symbol `pthread_cancel@@GLIBC_2.0' definition
+| /build_disk/poky_build/build0/tmp/sysroots/i586-poky-linux/lib/libpthread.so.0: could not read symbols: Bad value
+| collect2: ld returned 1 exit status
+| make[2]: *** [src/zypper] Error 1
+
+
+| Linking CXX executable zypper
+| cd /build_disk/poky_build/build0/tmp/work/i586-poky-linux/zypper-1.4.7-git0+9eb0e248e06c8d20ad054be2439149d9ede37531-r3/git/src && /build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/bin/cmake -E cmake_link_script CMakeFiles/zypper.dir/link.txt --verbose=1
+| /build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/bin/i586-poky-linux/i586-poky-linux-g++ -march=i586 --sysroot=/build_disk/poky_build/build0/tmp/sysroots/i586-poky-linux -fpermissive -g -O2 -Wall -Woverloaded-virtual -fstack-protector -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed CMakeFiles/zypper.dir/main.cc.o -o zypper -rdynamic libzypper_lib.a -lzypp -lreadline -laugeas -laugeas -lpthread
+| /build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: �: invalid DSO for symbol `clock_gettime@@GLIBC_2.2' definition
+| /build_disk/poky_build/build0/tmp/sysroots/i586-poky-linux/lib/librt.so.1: could not read symbols: Bad value
+| collect2: ld returned 1 exit status
+| make[2]: *** [src/zypper] Error 1
+
+
+Nitin A Kamble <nitin.a.kamble@intel.com>
+Date: 2011/01/19
+
+
+Index: git/src/CMakeLists.txt
+===================================================================
+--- git.orig/src/CMakeLists.txt 2010-12-20 00:02:02.000000000 -0800
++++ git/src/CMakeLists.txt 2011-01-19 09:23:13.432758255 -0800
+@@ -93,7 +93,7 @@
+ TARGET_LINK_LIBRARIES( zypper_lib ${ZYPP_LIBRARY} ${READLINE_LIBRARY} -laugeas ${AUGEAS_LIBRARY} )
+
+ ADD_EXECUTABLE( zypper main.cc )
+-TARGET_LINK_LIBRARIES( zypper zypper_lib ${ZYPP_LIBRARY} ${READLINE_LIBRARY} -laugeas ${AUGEAS_LIBRARY} -lrt )
++TARGET_LINK_LIBRARIES( zypper zypper_lib ${ZYPP_LIBRARY} ${READLINE_LIBRARY} -laugeas ${AUGEAS_LIBRARY} -lrt -lpthread )
+
+
+ INSTALL(
+@@ -115,7 +115,7 @@
+
+ # zypp-refresh utility
+ ADD_EXECUTABLE( zypp-refresh zypp-refresh.cc )
+-TARGET_LINK_LIBRARIES( zypp-refresh ${ZYPP_LIBRARY} )
++TARGET_LINK_LIBRARIES( zypp-refresh ${ZYPP_LIBRARY} -lpthread )
+ INSTALL(
+ TARGETS zypp-refresh
+ RUNTIME DESTINATION ${INSTALL_PREFIX}/sbin
diff --git a/meta/recipes-extended/zypper/zypper/rpm5-flag.patch b/meta/recipes-extended/zypper/zypper/rpm5-flag.patch
new file mode 100644
index 000000000..4403869cd
--- /dev/null
+++ b/meta/recipes-extended/zypper/zypper/rpm5-flag.patch
@@ -0,0 +1,16 @@
+It's required by libzypp headers
+
+Signed-off-by: Qing He <qing.he@intel.com>
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6b040a6..84431c8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -15,6 +15,7 @@ INCLUDE( ${ZYPPER_SOURCE_DIR}/VERSION.cmake )
+ SET( VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" )
+ ADD_DEFINITIONS( -D_FILE_OFFSET_BITS=64 )
+ ADD_DEFINITIONS( -DVERSION="${VERSION}" )
++ADD_DEFINITIONS( -D_RPM_5 )
+
+ SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O2 -Wall -Woverloaded-virtual -fstack-protector" )
+ SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O2 -Wall -fstack-protector" )
diff --git a/meta/recipes-extended/zypper/zypper_git.bb b/meta/recipes-extended/zypper/zypper_git.bb
index 8caf4db39..729eabdaa 100644
--- a/meta/recipes-extended/zypper/zypper_git.bb
+++ b/meta/recipes-extended/zypper/zypper_git.bb
@@ -5,14 +5,16 @@ LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=3201406e350b39e05a82e28b5020f413"
DEPENDS = "libzypp augeas"
-RRECOMMENDS = "procps"
-PR = "r1"
+RRECOMMENDS_${PN} = "procps"
+PR = "r3"
inherit cmake
SRC_URI = "git://gitorious.org/opensuse/zypper.git;protocol=git \
file://cmake.patch \
+ file://dso_linking_change_build_fix.patch \
+ file://rpm5-flag.patch \
"
S = "${WORKDIR}/git"
-PV = "1.4.7-git${SRCPV}"
+PV = "1.5.3-git${SRCPV}"
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.22.1/configure_fix.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.22.1/configure_fix.patch
new file mode 100644
index 000000000..bbf239c8d
--- /dev/null
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.22.1/configure_fix.patch
@@ -0,0 +1,19 @@
+can sniff check buillds and runs an C binary, which breaks configure in
+cross-compile environ.
+This patch simple disables it.
+
+Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
+
+Index: gdk-pixbuf-2.22.1/configure.ac
+===================================================================
+--- gdk-pixbuf-2.22.1.orig/configure.ac 2010-11-25 16:26:41.000000000 +0800
++++ gdk-pixbuf-2.22.1/configure.ac 2010-11-25 16:29:22.000000000 +0800
+@@ -99,6 +99,8 @@
+ AC_MSG_CHECKING([for native Win32])
+ LIB_EXE_MACHINE_FLAG=X86
+ EXE_MANIFEST_ARCHITECTURE=X86
++dnl disable can sniff check in cross compile
++gio_can_sniff=no
+ case "$host" in
+ *-*-mingw*)
+ os_win32=yes
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.20.1/hardcoded_libtool.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.22.1/hardcoded_libtool.patch
index 66be74475..ae16927e7 100644
--- a/meta/recipes-gnome/gtk+/gtk+-2.20.1/hardcoded_libtool.patch
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.22.1/hardcoded_libtool.patch
@@ -1,31 +1,31 @@
-Index: gtk+-2.21.2/configure.in
+Index: gdk-pixbuf-2.22.1/configure.ac
===================================================================
---- gtk+-2.21.2.orig/configure.in 2010-06-22 17:21:41.000000000 +0800
-+++ gtk+-2.21.2/configure.in 2010-06-22 17:28:59.000000000 +0800
-@@ -425,7 +425,7 @@
+--- gdk-pixbuf-2.22.1.orig/configure.ac 2010-11-26 09:06:34.000000000 +0800
++++ gdk-pixbuf-2.22.1/configure.ac 2010-11-26 09:07:33.000000000 +0800
+@@ -287,7 +287,7 @@
case $enable_explicit_deps in
auto)
export SED
- deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
+ deplibs_check_method=`(./$host_alias-libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
- enable_explicit_deps=yes
+ enable_explicit_deps=yes
else
-@@ -804,7 +804,7 @@
+@@ -484,7 +484,7 @@
dnl Now we check to see if our libtool supports shared lib deps
dnl (in a rather ugly way even)
if $dynworks; then
- pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
-+ pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} $host_alias-libtool --config"
++ pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./$host_alias-libtool --config"
pixbuf_deplibs_check=`$pixbuf_libtool_config | \
grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
-@@ -1974,7 +1974,7 @@
+@@ -957,7 +957,7 @@
# We are using gmodule-no-export now, but I'm leaving the stripping
# code in place for now, since pango and atk still require gmodule.
export SED
-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
-+export_dynamic=`($host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
++export_dynamic=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
if test -n "$export_dynamic"; then
GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
- GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
+ fi
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.22.1.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.22.1.bb
new file mode 100644
index 000000000..78f108a0a
--- /dev/null
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.22.1.bb
@@ -0,0 +1,70 @@
+DESCRIPTION = "Image loading library for GTK+"
+HOMEPAGE = "http://www.gtk.org/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
+ file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=5066b71daefeff678494fffa3040aba9"
+
+SECTION = "libs"
+PRIORITY = "optional"
+
+DEPENDS = "libpng gettext glib-2.0 jpeg"
+PR = "r0"
+
+SRC_URI = "http://ftp.acc.umu.se/pub/GNOME/sources/gdk-pixbuf/2.22/gdk-pixbuf-${PV}.tar.gz \
+ file://hardcoded_libtool.patch;patch=1 \
+ file://configure_fix.patch;patch=1 \
+ "
+
+SRC_URI[md5sum] = "fcfc854e9aec7dbb2bb3059484d44556"
+SRC_URI[sha256sum] = "bbb57364ffba70d64f5fcfe6eda1d67249b3d58844edb06dc0f94d1ad599b4ec"
+
+inherit autotools pkgconfig
+
+LIBV = "2.10.0"
+
+EXTRA_OECONF = "\
+ --without-libtiff \
+ --with-libpng \
+"
+
+FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
+ ${libdir}/lib*.so.*"
+
+FILES_${PN}-dev += " \
+ ${bindir}/gdk-pixbuf-csource \
+ ${includedir}/*"
+
+FILES_${PN}-dbg += " \
+ ${libdir}/.debug/* \
+ ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/.debug/*"
+
+postinst_pixbufloader () {
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+GDK_PIXBUF_MODULEDIR=${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders gdk-pixbuf-query-loaders --update-cache
+
+test -x ${bindir}/gtk-update-icon-cache && gtk-update-icon-cache -q ${datadir}/icons/hicolor
+}
+
+PACKAGES_DYNAMIC += "gdk-pixbuf-loader-*"
+PACKAGES_DYNAMIC_virtclass-native = ""
+
+python populate_packages_prepend () {
+ postinst_pixbufloader = bb.data.getVar("postinst_pixbufloader", d, 1)
+
+ loaders_root = bb.data.expand('${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders', d)
+
+ do_split_packages(d, loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s', postinst_pixbufloader)
+}
+
+do_install_append_virtclass-native() {
+#Use wrapper script rather than binary as required libtool library is not installed now
+ GDK_PIXBUF_MODULEDIR=${D}${libdir}/gdk-pixbuf-2.0/2.10.0/loaders ${S}/gdk-pixbuf/gdk-pixbuf-query-loaders > ${D}${libdir}/gdk-pixbuf-2.0/2.10.0/loaders.cache
+ sed -i -e 's#${D}##g' ${D}${libdir}/gdk-pixbuf-2.0/2.10.0/loaders.cache
+ find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \;
+}
+BBCLASSEXTEND = "native"
diff --git a/meta/recipes-gnome/gnome/gconf-dbus_svn.bb b/meta/recipes-gnome/gnome/gconf-dbus_svn.bb
index 879a0bb55..9fdd82c96 100644
--- a/meta/recipes-gnome/gnome/gconf-dbus_svn.bb
+++ b/meta/recipes-gnome/gnome/gconf-dbus_svn.bb
@@ -8,7 +8,7 @@ PROVIDES = "gconf"
RPROVIDES_${PN} = "gconf"
RPROVIDES_${PN}-dev = "gconf-dev"
-PV = "2.16.0+svnr${SRCREV}"
+PV = "2.16.0+svnr${SRCPV}"
SRC_URI = "svn://developer.imendio.com/svn/gconf-dbus;module=trunk;proto=http"
S = "${WORKDIR}/trunk"
diff --git a/meta/recipes-gnome/gnome/gnome-common_2.28.0.bb b/meta/recipes-gnome/gnome/gnome-common_2.28.0.bb
index b4adfe412..c2e1c8279 100644
--- a/meta/recipes-gnome/gnome/gnome-common_2.28.0.bb
+++ b/meta/recipes-gnome/gnome/gnome-common_2.28.0.bb
@@ -25,3 +25,5 @@ DEPENDS = ""
FILES_${PN} += "${datadir}/aclocal"
FILES_${PN}-dev = ""
+
+BBCLASSEXTEND = "native"
diff --git a/meta/recipes-gnome/gnome/gnome-doc-utils.inc b/meta/recipes-gnome/gnome/gnome-doc-utils.inc
index 00a64e258..30cff36dd 100644
--- a/meta/recipes-gnome/gnome/gnome-doc-utils.inc
+++ b/meta/recipes-gnome/gnome/gnome-doc-utils.inc
@@ -1,9 +1,8 @@
LICENSE = "GPL LGPL"
-DEPENDS = "libxml2 libxslt libxslt-native"
+DEPENDS = "libxml2 libxslt libxslt-native gnome-doc-utils-native"
+DEPENDS_virtclass-native = "libxml2-native libxslt-native"
-PR = "r1"
-
-inherit gnome
+inherit gnome gettext
EXTRA_OECONF = "--disable-scrollkeeper"
@@ -13,3 +12,5 @@ do_install_append() {
}
FILES_${PN} += "${datadir}/xml*"
+
+BBCLASSEXTEND = "native"
diff --git a/meta/recipes-gnome/gnome/gnome-doc-utils_0.20.2.bb b/meta/recipes-gnome/gnome/gnome-doc-utils_0.20.2.bb
deleted file mode 100644
index 9bdcceda7..000000000
--- a/meta/recipes-gnome/gnome/gnome-doc-utils_0.20.2.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require gnome-doc-utils.inc
-LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=eb723b61539feef013de476e68b5c50a \
- file://COPYING.LGPL;md5=a6f89e2100d9b6cdffcea4f398e37343 "
-PR = "r1"
-
-SRC_URI[archive.md5sum] = "920914c13c57e67616c6ff8594579786"
-SRC_URI[archive.sha256sum] = "f6c0124f61b9400c63da630dd3a9ac1b738eac0058da245661ff699fad267aca"
diff --git a/meta/recipes-gnome/gnome/gnome-doc-utils_0.20.4.bb b/meta/recipes-gnome/gnome/gnome-doc-utils_0.20.4.bb
new file mode 100644
index 000000000..a8cbcf0fe
--- /dev/null
+++ b/meta/recipes-gnome/gnome/gnome-doc-utils_0.20.4.bb
@@ -0,0 +1,7 @@
+require gnome-doc-utils.inc
+LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=eb723b61539feef013de476e68b5c50a \
+ file://COPYING.LGPL;md5=a6f89e2100d9b6cdffcea4f398e37343"
+PR = "r0"
+
+SRC_URI[archive.md5sum] = "6872b68dd081fc033e07d5877b4c0645"
+SRC_URI[archive.sha256sum] = "97c6465ffb15969a9fe1761f16f30c1028977fb24ecda89a0b479170f6412e4d"
diff --git a/meta/recipes-gnome/gnome/gnome-icon-theme_2.31.0.bb b/meta/recipes-gnome/gnome/gnome-icon-theme_2.31.0.bb
index 989842897..17fff1c53 100644
--- a/meta/recipes-gnome/gnome/gnome-icon-theme_2.31.0.bb
+++ b/meta/recipes-gnome/gnome/gnome-icon-theme_2.31.0.bb
@@ -7,9 +7,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e7e289d90fc8bdceed5e3f142f98229e"
SECTION = "x11/gnome"
DEPENDS = "icon-naming-utils-native glib-2.0 intltool-native"
-RDEPENDS = "hicolor-icon-theme"
-RRECOMMENDS = "librsvg-gtk"
-PR = "r0"
+RDEPENDS_${PN} = "hicolor-icon-theme"
+RRECOMMENDS_${PN} = "librsvg-gtk"
+PR = "r1"
FILES_${PN} += "${datadir}/*"
diff --git a/meta/recipes-gnome/gnome/gnome-keyring_2.32.1.bb b/meta/recipes-gnome/gnome/gnome-keyring_2.32.1.bb
index 153979e36..5932ddd8c 100644
--- a/meta/recipes-gnome/gnome/gnome-keyring_2.32.1.bb
+++ b/meta/recipes-gnome/gnome/gnome-keyring_2.32.1.bb
@@ -11,12 +11,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
SECTION = "x11/gnome"
-PR = "r0"
+PR = "r1"
inherit autotools gnome pkgconfig
DEPENDS = "gtk+ libgcrypt libtasn1 libtasn1-native gconf"
-RDEPENDS = "libgnome-keyring"
+RDEPENDS_${PN} = "libgnome-keyring"
EXTRA_OECONF = "--disable-gtk-doc"
diff --git a/meta/recipes-gnome/gnome/gnome-mime-data_2.18.0.bb b/meta/recipes-gnome/gnome/gnome-mime-data_2.18.0.bb
index 3bb50d1af..b730daed3 100644
--- a/meta/recipes-gnome/gnome/gnome-mime-data_2.18.0.bb
+++ b/meta/recipes-gnome/gnome/gnome-mime-data_2.18.0.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
inherit gnome
inherit autotools
-PR = "r3"
+PR = "r4"
SRC_URI += "file://pkgconfig.patch;patch=1"
@@ -16,4 +16,4 @@ SRC_URI[archive.md5sum] = "541858188f80090d12a33b5a7c34d42c"
SRC_URI[archive.sha256sum] = "37196b5b37085bbcd45c338c36e26898fe35dd5975295f69f48028b1e8436fd7"
DEPENDS += "shared-mime-info intltool-native"
-RDEPENDS = "shared-mime-info"
+RDEPENDS_${PN} = "shared-mime-info"
diff --git a/meta/recipes-gnome/gnome/gobject-introspection_git.bb b/meta/recipes-gnome/gnome/gobject-introspection_git.bb
index 81d279ac7..17a42a9a5 100644
--- a/meta/recipes-gnome/gnome/gobject-introspection_git.bb
+++ b/meta/recipes-gnome/gnome/gobject-introspection_git.bb
@@ -8,13 +8,13 @@ SRC_URI_virtclass-native = "git://git.gnome.org/gobject-introspection;protocol=g
LICENSE = "GPLv2+ & LGPLv2+"
LIC_FILES_CHKSUM = "file://COPYING.tools;md5=94d55d512a9ba36caa9b7df079bae19f \
file://COPYING.lib;md5=3bf50002aefd002f49e7bb854063f7e7"
-PV = "0.0+git${SRCREV}"
+PV = "0.0+git${SRCPV}"
PR = "r3"
S = "${WORKDIR}/git"
DEPENDS = "libffi python-native gobject-introspection-native"
-DEPENDS_virtclass-native = "libffi-native python-native"
+DEPENDS_virtclass-native = "libffi-native python-native bison-native flex-native"
inherit autotools
diff --git a/meta/recipes-gnome/gnome/libgdata_0.6.5.bb b/meta/recipes-gnome/gnome/libgdata_0.7.1.bb
index b5e6ee3a6..c3329945a 100644
--- a/meta/recipes-gnome/gnome/libgdata_0.6.5.bb
+++ b/meta/recipes-gnome/gnome/libgdata_0.7.1.bb
@@ -7,9 +7,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \
file://gdata/gdata.h;endline=20;md5=079a554efcf65d46f96a515806e7e99a \
file://gdata/gdata-types.h;endline=20;md5=7399b111aac8718da13888fc634be6ef"
-DEPENDS = "libxml2 glib-2.0 libsoup-2.4"
+DEPENDS = "gettext libxml2 glib-2.0 libsoup-2.4"
inherit gnome pkgconfig autotools
-SRC_URI[archive.md5sum] = "e12f52a3d25c25016856c64ca0331221"
-SRC_URI[archive.sha256sum] = "dcb82f7162d69549512444376da2cdea65650ee4dae4d00eed7fbbd3387ddf2c"
+SRC_URI[archive.md5sum] = "ec5262cbcb07b63b58d45aa3ac636096"
+SRC_URI[archive.sha256sum] = "fb244138276a5ce98510b0e2408bbf6f9ce0fd8cdcf86f07cd4be38afbb7c2bc"
diff --git a/meta/recipes-gnome/gnome/metacity/crosscompile.patch b/meta/recipes-gnome/gnome/metacity/crosscompile.patch
new file mode 100644
index 000000000..8d86134fa
--- /dev/null
+++ b/meta/recipes-gnome/gnome/metacity/crosscompile.patch
@@ -0,0 +1,60 @@
+This patch is revised version from openembed. It build host native binary
+rather than target binary in cross-compile environment.
+
+Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
+
+Index: metacity-2.30.3/src/Makefile.am
+===================================================================
+--- metacity-2.30.3.orig/src/Makefile.am 2010-09-05 00:09:52.000000000 +0800
++++ metacity-2.30.3/src/Makefile.am 2010-12-31 11:15:31.000000000 +0800
+@@ -134,11 +134,9 @@
+ metacity_theme_viewer_SOURCES= \
+ ui/theme-viewer.c
+
+-schema_bindings_SOURCES = \
+- core/schema-bindings.c \
+- metacity.schemas.in.in
++schema_bindings:
++ @CC_FOR_BUILD@ core/schema-bindings.c -I./include -I../ @CFLAGS_FOR_BUILD@ @LDFLAGS_FOR_BUILD@ -o schema_bindings
+
+-schema_bindings_LDADD = @METACITY_LIBS@
+ metacity.schemas.in: schema_bindings ${srcdir}/metacity.schemas.in.in
+ @echo Generating keybinding schemas... ${srcdir}/metacity.schemas.in.in
+ ${builddir}/schema_bindings ${srcdir}/metacity.schemas.in.in ${builddir}/metacity.schemas.in
+Index: metacity-2.30.3/configure.in
+===================================================================
+--- metacity-2.30.3.orig/configure.in 2010-09-22 22:14:06.000000000 +0800
++++ metacity-2.30.3/configure.in 2010-12-31 11:15:31.000000000 +0800
+@@ -31,6 +31,32 @@
+ AC_LIBTOOL_WIN32_DLL
+ AM_PROG_LIBTOOL
+
++if test x"$CC_FOR_BUILD" = x; then
++ if test x"$cross_compiling" = xyes; then
++ AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)
++ else
++ CC_FOR_BUILD="$CC"
++ fi
++fi
++AC_SUBST([CC_FOR_BUILD])
++if test x"$CFLAGS_FOR_BUILD" = x; then
++ if test x"$cross_compiling" = xyes; then
++ echo boo!
++ else
++ CFLAGS_FOR_BUILD="$CFLAGS"
++ fi
++fi
++AC_SUBST([CFLAGS_FOR_BUILD])
++if test x"$LDFLAGS_FOR_BUILD" = x; then
++ if test x"$cross_compiling" = xyes; then
++ echo boo!
++ else
++ LDFLAGS_FOR_BUILD="$LDFLAGS"
++ fi
++fi
++AC_SUBST([LDFLAGS_FOR_BUILD])
++
++
+ #### Integer sizes
+
+ AC_CHECK_SIZEOF(char)
diff --git a/meta/recipes-gnome/gnome/metacity_2.22.0.bb b/meta/recipes-gnome/gnome/metacity_2.22.0.bb
deleted file mode 100644
index e698ec439..000000000
--- a/meta/recipes-gnome/gnome/metacity_2.22.0.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SECTION = "x11/wm"
-DESCRIPTION = "Metacity is the boring window manager for the adult in you."
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://src/include/main.h;endline=24;md5=c2242df552c880280315989bab626b90"
-
-DEPENDS = "startup-notification gtk+ gconf gdk-pixbuf-csource-native"
-PR = "r3"
-
-inherit gnome update-alternatives
-
-ALTERNATIVE_NAME = "x-window-manager"
-ALTERNATIVE_LINK = "${bindir}/x-window-manager"
-ALTERNATIVE_PATH = "${bindir}/metacity"
-ALTERNATIVE_PRIORITY = "10"
-
-EXTRA_OECONF += "--disable-verbose \
- --disable-xinerama"
-
-FILES_${PN} += "${datadir}/themes"
-
-SRC_URI[archive.md5sum] = "8cb6d02cf66a1003532b4f5d2754d696"
-SRC_URI[archive.sha256sum] = "3c670b41a214311006dc05f9a005696b9d3fdcb5c80f1275367416600103b3bf"
diff --git a/meta/recipes-gnome/gnome/metacity_2.30.3.bb b/meta/recipes-gnome/gnome/metacity_2.30.3.bb
new file mode 100644
index 000000000..18105f2d6
--- /dev/null
+++ b/meta/recipes-gnome/gnome/metacity_2.30.3.bb
@@ -0,0 +1,29 @@
+SECTION = "x11/wm"
+DESCRIPTION = "Metacity is the boring window manager for the adult in you."
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://src/include/main.h;endline=24;md5=c2242df552c880280315989bab626b90"
+
+DEPENDS = "startup-notification gtk+ gconf gdk-pixbuf-native libcanberra"
+PR = "r0"
+
+inherit gnome update-alternatives
+
+SRC_URI += "file://crosscompile.patch;patch=1"
+
+ALTERNATIVE_NAME = "x-window-manager"
+ALTERNATIVE_LINK = "${bindir}/x-window-manager"
+ALTERNATIVE_PATH = "${bindir}/metacity"
+ALTERNATIVE_PRIORITY = "10"
+
+EXTRA_OECONF += "--disable-verbose \
+ --disable-xinerama"
+
+FILES_${PN} += "${datadir}/themes"
+
+export CC_FOR_BUILD = "${BUILD_CC}"
+export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS} -I${STAGING_LIBDIR_NATIVE}/glib-2.0/include -I${STAGING_INCDIR_NATIVE}/glib-2.0 -I${STAGING_INCDIR_NATIVE}/glib-2.0/include -I${STAGING_INCDIR_NATIVE}"
+export LDFLAGS_FOR_BUILD = "${BUILD_LDFLAGS} -L${STAGING_LIBDIR_NATIVE} -lglib-2.0"
+
+SRC_URI[archive.md5sum] = "553784f376d96b902e19ff437cd5b339"
+SRC_URI[archive.sha256sum] = "08f887018fa5e447cf184d03bae3fe2c05fdb7583bed6768e3b4d66392fc18dd"
diff --git a/meta/recipes-gnome/gthumb/gthumb_2.12.0.bb b/meta/recipes-gnome/gthumb/gthumb_2.12.1.bb
index 7df9d5107..8a88230ce 100644
--- a/meta/recipes-gnome/gthumb/gthumb_2.12.0.bb
+++ b/meta/recipes-gnome/gthumb/gthumb_2.12.1.bb
@@ -3,7 +3,7 @@ SECTION = "x11/gnome"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
DEPENDS = "glib-2.0 gtk+ libxml2 gnome-doc-utils libunique gconf-dbus libpng gstreamer jpeg tiff"
-PR = "r1"
+PR = "r0"
EXTRA_OECONF = "--disable-gnome-keyring --disable-libsoup --disable-exiv2 --disable-clutter"
@@ -12,5 +12,5 @@ inherit gnome pkgconfig
FILES_${PN} += "${datadir}/icons"
FILES_${PN}-dbg += "${libdir}/gthumb/modules/.debug"
-SRC_URI[archive.md5sum] = "2911cd9b875efdfd554547176c59e309"
-SRC_URI[archive.sha256sum] = "9bb32ee44647f3f934d41344e2c1dbbd1546bf4949824030b3b818545758118c"
+SRC_URI[archive.md5sum] = "a89be18a9e6f7f9d65cef56f34eb3022"
+SRC_URI[archive.sha256sum] = "94d186db48e4527f1ba1dad41b860fc34b8f13da4228319dc742c91f45ddea64"
diff --git a/meta/recipes-gnome/gtk+/gdk-pixbuf-csource-native_2.12.7.bb b/meta/recipes-gnome/gtk+/gdk-pixbuf-csource-native_2.12.7.bb
deleted file mode 100644
index c88a79570..000000000
--- a/meta/recipes-gnome/gtk+/gdk-pixbuf-csource-native_2.12.7.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-require gtk+_${PV}.bb
-inherit native
-DEPENDS = "jpeg-native libpng-native gettext-native glib-2.0-native libx11-native"
-S = "${WORKDIR}/gtk+-${PV}"
-FILESPATH = "${FILE_DIRNAME}/gdk-pixbuf-csource:${FILE_DIRNAME}/gtk+-${PV}:${FILE_DIRNAME}/files"
-SRC_URI += "file://reduce-dependencies.patch;patch=1"
-PR = "r11"
-
-#clear recommends for uclibc builds
-RRECOMMENDS = " "
-RRECOMMENDS_${PN}_linux = " "
-RRECOMMENDS_${PN}_linux-gnueabi = " "
-
-EXTRA_OECONF = "\
- --with-gdktarget=x11 \
- --without-libtiff \
- --with-libjpeg \
- --with-libpng \
- --x-includes=${STAGING_INCDIR} \
- --x-libraries=${STAGING_LIBDIR} \
-"
-
-PACKAGES_DYNAMIC = ""
-
-do_compile() {
- cd gdk-pixbuf && oe_runmake
-}
-
-do_install() {
- cd gdk-pixbuf
- oe_runmake 'DESTDIR=${D}' install
- install -d ${D}${sysconfdir}/gtk-2.0
- GDK_PIXBUF_MODULEDIR=${D}${libdir}/gtk-2.0/2.10.0/loaders ${D}${bindir}/gdk-pixbuf-query-loaders > ${D}${sysconfdir}/gtk-2.0/gdk-pixbuf.loaders
- sed -i -e 's#${D}##g' ${D}${sysconfdir}/gtk-2.0/gdk-pixbuf.loaders
- find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \;
-}
-
diff --git a/meta/recipes-gnome/gtk+/gdk-pixbuf-csource/reduce-dependencies.patch b/meta/recipes-gnome/gtk+/gdk-pixbuf-csource/reduce-dependencies.patch
deleted file mode 100644
index 6b030e8f1..000000000
--- a/meta/recipes-gnome/gtk+/gdk-pixbuf-csource/reduce-dependencies.patch
+++ /dev/null
@@ -1,221 +0,0 @@
-#
-# strip unnecessary stuff out of configure, we just want
-# to build gdk-pixbuf-csource.
-# -- Michael 'Mickey' Lauer <mlauer@vanille-media.de>
-#
----
-# configure.in | 116 ++---------------------------------------------------------
-# 1 file changed, 5 insertions(+), 111 deletions(-)
-#
---- gtk+-2.12.7.orig/configure.in
-+++ gtk+-2.12.7/configure.in
-@@ -30,13 +30,10 @@ m4_define([gtk_api_version], [2.0])
- #GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
- m4_define([gtk_binary_version], [2.10.0])
-
- # required versions of other packages
- m4_define([glib_required_version], [2.13.5])
--m4_define([pango_required_version], [1.17.3])
--m4_define([atk_required_version], [1.9.0])
--m4_define([cairo_required_version], [1.2.0])
-
-
- AC_INIT([gtk+], [gtk_version],
- [http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B],
- [gtk+])
-@@ -347,14 +344,11 @@ ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
- ## Later on we actually use the cflags/libs from separate pkg-config
- ## calls. Oh, also the later pkg-config calls don't include
- ## the version requirements since those make the module lists
- ## annoying to construct
- PKG_CHECK_MODULES(BASE_DEPENDENCIES,
-- [glib-2.0 >= glib_required_version dnl
-- atk >= atk_required_version dnl
-- pango >= pango_required_version dnl
-- cairo >= cairo_required_version])
-+ [glib-2.0 >= glib_required_version])
-
- if test "$os_win32" != yes; then
- # libtool option to control which symbols are exported
- # right now, symbols starting with _ are not exported
- LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
-@@ -1059,27 +1053,19 @@ GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cf
-
- GDK_PIXBUF_XLIB_PACKAGES=
- GDK_PIXBUF_XLIB_EXTRA_CFLAGS=
- GDK_PIXBUF_XLIB_EXTRA_LIBS=
-
--X_PACKAGES=fontconfig
-+X_PACKAGES=
- GDK_EXTRA_LIBS="$GDK_WLIBS"
- GDK_EXTRA_CFLAGS=
-
- # GTK+ uses some X calls, so needs to link against X directly
- GTK_DEP_PACKAGES_FOR_X=
- GTK_DEP_LIBS_FOR_X=
-
- if test "x$gdktarget" = "xx11"; then
-- #
-- # We use fontconfig very peripherally when decoding the default
-- # settings.
-- #
-- if $PKG_CONFIG --exists fontconfig; then : ; else
-- AC_MSG_ERROR([
--*** fontconfig (http://www.fontconfig.org) is required by the X11 backend.])
-- fi
-
- #
- # Check for basic X packages; we use pkg-config if available
- #
- if $PKG_CONFIG --exists x11 xext xrender; then
-@@ -1122,20 +1108,10 @@ if test "x$gdktarget" = "xx11"; then
- CPPFLAGS="$CPPFLAGS $X_CFLAGS"
-
- gtk_save_LIBS=$LIBS
- LIBS="$x_libs_for_checks $LIBS"
-
-- # Sanity check for the X11 and Xext libraries. While everything we need from
-- # Xext is optional, the chances a system has *none* of these things is so
-- # small that we just unconditionally require it.
-- AC_CHECK_FUNC(XOpenDisplay, :,
-- AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]))
-- AC_CHECK_FUNC(XextFindDisplay, :,
-- AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.]))
-- AC_CHECK_FUNC(XRenderQueryExtension, :,
-- AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.]))
--
- # Check for xReply
-
- AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
- AC_TRY_COMPILE([#include <X11/Xlibint.h>],
- [xReply *rep;],
-@@ -1416,104 +1392,33 @@ if test "x$gdktarget" = "xdirectfb"; the
- AM_CONDITIONAL(USE_DIRECTFB, true)
- else
- AM_CONDITIONAL(USE_DIRECTFB, false)
- fi
-
--
--# Check for Pango flags
--
--if test "x$gdktarget" = "xwin32"; then
-- PANGO_PACKAGES="pangowin32 pangocairo"
--else
-- PANGO_PACKAGES="pango pangocairo"
--fi
--
--AC_MSG_CHECKING(Pango flags)
--if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
-- PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
-- PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
--
-- AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
--else
-- AC_MSG_ERROR([
--*** Pango not found. Pango built with Cairo support is required
--*** to build GTK+. See http://www.pango.org for Pango information.
--])
--fi
--
--CFLAGS="$CFLAGS $PANGO_CFLAGS"
--
--if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
-- :
--else
-- gtk_save_LIBS="$LIBS"
-- LIBS="$PANGO_LIBS $LIBS"
-- AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
--*** Can't link to Pango. Pango is required to build
--*** GTK+. For more information see http://www.pango.org]))
-- LIBS="$gtk_save_LIBS"
--fi
--
--CFLAGS="$saved_cflags"
--LDFLAGS="$saved_ldflags"
--
--GDK_PACKAGES="$PANGO_PACKAGES"
--if test "x$gdktarget" = "xx11"; then
-- GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
--fi
- GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
- GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
-
- #
- # If we aren't writing explicit dependencies, then don't put the extra libraries we need
- # into the pkg-config files
- #
- if test $enable_explicit_deps != yes ; then
-- GDK_PACKAGES="$PANGO_PACKAGES"
-+ GDK_PACKAGES=
- GDK_EXTRA_LIBS=
- fi
-
- AC_SUBST(GDK_PACKAGES)
- AC_SUBST(GDK_EXTRA_LIBS)
- AC_SUBST(GDK_EXTRA_CFLAGS)
- AC_SUBST(GDK_DEP_LIBS)
- AC_SUBST(GDK_DEP_CFLAGS)
-
-
--########################################
--# Check for Accessibility Toolkit flags
--########################################
--
--ATK_PACKAGES=atk
--AC_MSG_CHECKING(ATK flags)
--if $PKG_CONFIG --exists $ATK_PACKAGES ; then
-- ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
-- ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
--
-- AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
--else
-- AC_MSG_ERROR([
--*** Accessibility Toolkit not found. Accessibility Toolkit is required
--*** to build GTK+.
--])
--fi
--
--if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
-- :
--else
-- gtk_save_LIBS="$LIBS"
-- LIBS="$ATK_LIBS $LIBS"
-- AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
-- *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
-- *** to build GTK+]))
-- LIBS="$gtk_save_LIBS"
--fi
--
--GTK_PACKAGES="atk cairo"
-+GTK_PACKAGES=
- GTK_EXTRA_LIBS=
- GTK_EXTRA_CFLAGS=
--GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $PANGO_PACKAGES $GTK_PACKAGES_FOR_X $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
-+GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GTK_PACKAGES_FOR_X $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
- GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
-
- if test x"$os_win32" = xyes; then
- GTK_EXTRA_CFLAGS="$msnative_struct"
- fi
-@@ -1567,21 +1472,10 @@ LIBS="$CUPS_LIBS"
- AC_CHECK_FUNCS(httpGetAuthString)
- LIBS="$gtk_save_libs"
-
- gtk_save_cppflags="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS"
--
--AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
--*** Can't find cairo-pdf.h. You must build Cairo with the pdf
--*** backend enabled.]))
--
--if test "$os_win32" != "yes"; then
-- AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
--*** Can't find cairo-ps.h. You must build Cairo with the
--*** postscript backend enabled.]))
--fi
--
- CPPFLAGS="$gtk_save_cppflags"
-
-
- AC_ARG_ENABLE(test-print-backend,
- [AC_HELP_STRING([--enable-test-print-backend],
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.20.1/disable-gio-png-sniff-test.diff b/meta/recipes-gnome/gtk+/gtk+-2.20.1/disable-gio-png-sniff-test.diff
deleted file mode 100644
index 13ae61ef8..000000000
--- a/meta/recipes-gnome/gtk+/gtk+-2.20.1/disable-gio-png-sniff-test.diff
+++ /dev/null
@@ -1,97 +0,0 @@
-Index: gtk+-2.21.2/configure.in
-===================================================================
---- gtk+-2.21.2.orig/configure.in 2010-06-22 18:14:40.000000000 +0800
-+++ gtk+-2.21.2/configure.in 2010-06-22 18:14:58.000000000 +0800
-@@ -1072,48 +1072,50 @@
- # check one of the variables here
- AM_CONDITIONAL(INCLUDE_GDIPLUS, [test x"$INCLUDE_gdip_ico" = xyes])
-
--if test x$gio_can_sniff = x; then
-- AC_MSG_CHECKING([if gio can sniff png])
-- gtk_save_LIBS="$LIBS"
-- gtk_save_CFLAGS="$CFLAGS"
-- LIBS="`$PKG_CONFIG --libs gio-2.0`"
-- CFLAGS="`$PKG_CONFIG --cflags gio-2.0`"
-- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-- #include <gio/gio.h>
-- static const gsize data_size = 159;
-- static const guint8 data[] =
-- {
-- 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
-- 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
-- 0x08, 0x02, 0x00, 0x00, 0x00, 0x90, 0x77, 0x53, 0xde, 0x00, 0x00, 0x00,
-- 0x01, 0x73, 0x52, 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00,
-- 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00,
-- 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74,
-- 0x49, 0x4d, 0x45, 0x07, 0xd8, 0x07, 0x0f, 0x10, 0x08, 0x15, 0x61, 0xd8,
-- 0x35, 0x37, 0x00, 0x00, 0x00, 0x19, 0x74, 0x45, 0x58, 0x74, 0x43, 0x6f,
-- 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x00, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
-- 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x47, 0x49, 0x4d, 0x50, 0x57,
-- 0x81, 0x0e, 0x17, 0x00, 0x00, 0x00, 0x0c, 0x49, 0x44, 0x41, 0x54, 0x08,
-- 0xd7, 0x63, 0xf8, 0xff, 0xff, 0x3f, 0x00, 0x05, 0xfe, 0x02, 0xfe, 0xdc,
-- 0xcc, 0x59, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae,
-- 0x42, 0x60, 0x82
-- };
-- int
-- main (int argc, char **argv)
-- {
-- char *content_type;
-- char *image_png;
-- content_type = g_content_type_guess (NULL, data, data_size, NULL);
-- image_png = g_content_type_from_mime_type ("image/png");
-- return !!strcmp (content_type, image_png);
-- }]])],
-- [gio_can_sniff=yes
-- AC_DEFINE(GDK_PIXBUF_USE_GIO_MIME, 1, [Define if gio can sniff image data])],
-- [gio_can_sniff=no])
-- AC_MSG_RESULT($gio_can_sniff)
-- LIBS="$gtk_save_LIBS"
-- CFLAGS="$gtk_save_CFLAGS"
--fi
-+# Disabled due to cross-compile
-+#if test x$gio_can_sniff = x; then
-+# AC_MSG_CHECKING([if gio can sniff png])
-+# gtk_save_LIBS="$LIBS"
-+# gtk_save_CFLAGS="$CFLAGS"
-+# LIBS="`$PKG_CONFIG --libs gio-2.0`"
-+# CFLAGS="`$PKG_CONFIG --cflags gio-2.0`"
-+# AC_RUN_IFELSE([AC_LANG_SOURCE([[
-+# #include <gio/gio.h>
-+# static const gsize data_size = 159;
-+# static const guint8 data[] =
-+# {
-+# 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
-+# 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
-+# 0x08, 0x02, 0x00, 0x00, 0x00, 0x90, 0x77, 0x53, 0xde, 0x00, 0x00, 0x00,
-+# 0x01, 0x73, 0x52, 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00,
-+# 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00,
-+# 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74,
-+# 0x49, 0x4d, 0x45, 0x07, 0xd8, 0x07, 0x0f, 0x10, 0x08, 0x15, 0x61, 0xd8,
-+# 0x35, 0x37, 0x00, 0x00, 0x00, 0x19, 0x74, 0x45, 0x58, 0x74, 0x43, 0x6f,
-+# 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x00, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
-+# 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x47, 0x49, 0x4d, 0x50, 0x57,
-+# 0x81, 0x0e, 0x17, 0x00, 0x00, 0x00, 0x0c, 0x49, 0x44, 0x41, 0x54, 0x08,
-+# 0xd7, 0x63, 0xf8, 0xff, 0xff, 0x3f, 0x00, 0x05, 0xfe, 0x02, 0xfe, 0xdc,
-+# 0xcc, 0x59, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae,
-+# 0x42, 0x60, 0x82
-+# };
-+# int
-+# main (int argc, char **argv)
-+# {
-+# char *content_type;
-+# char *image_png;
-+# content_type = g_content_type_guess (NULL, data, data_size, NULL);
-+# image_png = g_content_type_from_mime_type ("image/png");
-+# return !!strcmp (content_type, image_png);
-+# }]])],
-+# [gio_can_sniff=yes
-+# [gio_can_sniff=no])
-+# AC_MSG_RESULT($gio_can_sniff)
-+# LIBS="$gtk_save_LIBS"
-+# CFLAGS="$gtk_save_CFLAGS"
-+#fi
-+
-+AC_DEFINE(GDK_PIXBUF_USE_GIO_MIME, 1, [Define if gio can sniff image data])],
-
- #
- # Allow building some or all immodules included
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.20.1/no-demos.patch b/meta/recipes-gnome/gtk+/gtk+-2.20.1/no-demos.patch
deleted file mode 100644
index 0fc4c48d1..000000000
--- a/meta/recipes-gnome/gtk+/gtk+-2.20.1/no-demos.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- gtk+-2.10.1/Makefile.am.orig 2006-08-08 12:37:30.000000000 +0100
-+++ gtk+-2.10.1/Makefile.am 2006-08-08 12:37:48.000000000 +0100
-@@ -1,6 +1,6 @@
- ## Makefile.am for GTK+
-
--SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests perf contrib
-+SRC_SUBDIRS = gdk-pixbuf gdk gtk modules tests perf contrib
- SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros
-
- # require automake 1.4
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.20.1/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch b/meta/recipes-gnome/gtk+/gtk+-2.22.1/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch
index ee55f9cc3..ee55f9cc3 100644
--- a/meta/recipes-gnome/gtk+/gtk+-2.20.1/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch
+++ b/meta/recipes-gnome/gtk+/gtk+-2.22.1/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.20.1/cellrenderer-cairo.patch b/meta/recipes-gnome/gtk+/gtk+-2.22.1/cellrenderer-cairo.patch
index 92ce64312..92ce64312 100644
--- a/meta/recipes-gnome/gtk+/gtk+-2.20.1/cellrenderer-cairo.patch
+++ b/meta/recipes-gnome/gtk+/gtk+-2.22.1/cellrenderer-cairo.patch
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.20.1/configurefix.patch b/meta/recipes-gnome/gtk+/gtk+-2.22.1/configurefix.patch
index 7f6c73be4..7f6c73be4 100644
--- a/meta/recipes-gnome/gtk+/gtk+-2.20.1/configurefix.patch
+++ b/meta/recipes-gnome/gtk+/gtk+-2.22.1/configurefix.patch
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.20.1/entry-cairo.patch b/meta/recipes-gnome/gtk+/gtk+-2.22.1/entry-cairo.patch
index 3313e7f13..3313e7f13 100644
--- a/meta/recipes-gnome/gtk+/gtk+-2.20.1/entry-cairo.patch
+++ b/meta/recipes-gnome/gtk+/gtk+-2.22.1/entry-cairo.patch
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.22.1/hardcoded_libtool.patch b/meta/recipes-gnome/gtk+/gtk+-2.22.1/hardcoded_libtool.patch
new file mode 100644
index 000000000..7937ef2d0
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.22.1/hardcoded_libtool.patch
@@ -0,0 +1,31 @@
+Index: gtk+-2.23.2/configure.in
+===================================================================
+--- gtk+-2.23.2.orig/configure.in 2010-11-10 22:22:47.000000000 +0800
++++ gtk+-2.23.2/configure.in 2010-11-25 13:32:40.000000000 +0800
+@@ -414,7 +414,7 @@
+ case $enable_explicit_deps in
+ auto)
+ export SED
+- deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
++ deplibs_check_method=`(./$host_alias-libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
+ if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
+ enable_explicit_deps=yes
+ else
+@@ -773,7 +773,7 @@
+ dnl Now we check to see if our libtool supports shared lib deps
+ dnl (in a rather ugly way even)
+ if $dynworks; then
+- module_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
++ module_libtool_config="${CONFIG_SHELL-/bin/sh} $host_alias-libtool --config"
+ module_deplibs_check=`$module_libtool_config | \
+ grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
+ sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
+@@ -1555,7 +1555,7 @@
+ # We are using gmodule-no-export now, but I'm leaving the stripping
+ # code in place for now, since pango and atk still require gmodule.
+ export SED
+-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
++export_dynamic=`($host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
+ if test -n "$export_dynamic"; then
+ GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
+ GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.22.1/no-demos.patch b/meta/recipes-gnome/gtk+/gtk+-2.22.1/no-demos.patch
new file mode 100644
index 000000000..21700161e
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.22.1/no-demos.patch
@@ -0,0 +1,13 @@
+Index: gtk+-2.23.2/Makefile.am
+===================================================================
+--- gtk+-2.23.2.orig/Makefile.am 2010-11-10 20:34:42.000000000 +0800
++++ gtk+-2.23.2/Makefile.am 2010-11-25 13:39:22.000000000 +0800
+@@ -1,7 +1,7 @@
+ ## Makefile.am for GTK+
+ include $(top_srcdir)/Makefile.decl
+
+-SRC_SUBDIRS = gdk gtk modules demos tests perf
++SRC_SUBDIRS = gdk gtk modules tests perf
+ SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros build
+
+ # require automake 1.4
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.20.1/run-iconcache.patch b/meta/recipes-gnome/gtk+/gtk+-2.22.1/run-iconcache.patch
index 518875e6f..518875e6f 100644
--- a/meta/recipes-gnome/gtk+/gtk+-2.20.1/run-iconcache.patch
+++ b/meta/recipes-gnome/gtk+/gtk+-2.22.1/run-iconcache.patch
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.20.1/toggle-font.diff b/meta/recipes-gnome/gtk+/gtk+-2.22.1/toggle-font.diff
index 4853628c8..4853628c8 100644
--- a/meta/recipes-gnome/gtk+/gtk+-2.20.1/toggle-font.diff
+++ b/meta/recipes-gnome/gtk+/gtk+-2.22.1/toggle-font.diff
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.20.1/xsettings.patch b/meta/recipes-gnome/gtk+/gtk+-2.22.1/xsettings.patch
index 84231e9b9..84231e9b9 100644
--- a/meta/recipes-gnome/gtk+/gtk+-2.20.1/xsettings.patch
+++ b/meta/recipes-gnome/gtk+/gtk+-2.22.1/xsettings.patch
diff --git a/meta/recipes-gnome/gtk+/gtk+.inc b/meta/recipes-gnome/gtk+/gtk+.inc
index c34283eb8..94a8fe618 100644
--- a/meta/recipes-gnome/gtk+/gtk+.inc
+++ b/meta/recipes-gnome/gtk+/gtk+.inc
@@ -6,15 +6,16 @@ BUGTRACKER = "https://bugzilla.gnome.org/"
LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
+
SECTION = "libs"
PRIORITY = "optional"
DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc-native libxrandr \
- libgcrypt libxdamage libxrender libxcomposite cairo"
+ libgcrypt libxdamage libxrender libxcomposite cairo gdk-pixbuf"
inherit autotools pkgconfig
-FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
- ${bindir}/gtk-update-icon-cache \
+FILES_${PN} = "${bindir}/gtk-update-icon-cache \
${bindir}/gtk-query-immodules-2.0 \
${libdir}/lib*${SOLIBS} \
${datadir}/themes ${sysconfdir} \
@@ -26,7 +27,6 @@ FILES_${PN}-dev += " \
${libdir}/gtk-2.0/${LIBV}/loaders/*.la \
${libdir}/gtk-2.0/${LIBV}/immodules/*.la \
${libdir}/gtk-2.0/${LIBV}/engines/*.la \
- ${bindir}/gdk-pixbuf-csource \
${bindir}/gtk-builder-convert"
FILES_${PN}-dbg += " \
@@ -38,7 +38,6 @@ FILES_${PN}-dbg += " \
BASE_RRECOMMENDS = "ttf-dejavu-sans"
BASE_RRECOMMENDS_angstrom = "ttf-dejavu-sans gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-gif gdk-pixbuf-loader-xpm"
BASE_RRECOMMENDS_poky = "gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-gif gdk-pixbuf-loader-xpm shared-mime-info"
-BASE_RRECOMMENDS_moblin = "gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg gdk-pixbuf-loader-gif gdk-pixbuf-loader-xpm shared-mime-info"
GLIBC_RRECOMMENDS= "${BASE_RRECOMMENDS} glibc-gconv-iso8859-1"
@@ -63,8 +62,8 @@ SYSROOT_PREPROCESS_FUNCS += "gtk_sysroot_preprocess"
gtk_sysroot_preprocess () {
if [ -e ${D}${bindir}/gtk-builder-convert ]; then
- install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/
- install -m 755 ${D}${bindir}/gtk-builder-convert ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/
+ install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+ install -m 755 ${D}${bindir}/gtk-builder-convert ${SYSROOT_DESTDIR}${bindir_crossscripts}/
fi
}
@@ -74,13 +73,3 @@ if [ "x$D" != "x" ]; then
fi
}
-
-postinst_pixbufloader() {
-if [ "x$D" != "x" ]; then
- exit 1
-fi
-
-gdk-pixbuf-query-loaders > ${sysconfdir}/gtk-2.0/gdk-pixbuf.loaders
-
-test -x ${bindir}/gtk-update-icon-cache && gtk-update-icon-cache -q ${datadir}/icons/hicolor
-}
diff --git a/meta/recipes-gnome/gtk+/gtk+_2.12.7.bb b/meta/recipes-gnome/gtk+/gtk+_2.12.7.bb
index d82930851..12193f9b9 100644
--- a/meta/recipes-gnome/gtk+/gtk+_2.12.7.bb
+++ b/meta/recipes-gnome/gtk+/gtk+_2.12.7.bb
@@ -1,6 +1,6 @@
require gtk+.inc
-PR = "r9"
+PR = "r10"
SRC_URI = "http://download.gnome.org/sources/gtk+/2.12/gtk+-${PV}.tar.bz2 \
file://xsettings.patch;patch=1 \
diff --git a/meta/recipes-gnome/gtk+/gtk+_2.16.6.bb b/meta/recipes-gnome/gtk+/gtk+_2.16.6.bb
index becd2bc29..1864d1ba0 100644
--- a/meta/recipes-gnome/gtk+/gtk+_2.16.6.bb
+++ b/meta/recipes-gnome/gtk+/gtk+_2.16.6.bb
@@ -1,6 +1,6 @@
require gtk+.inc
-PR = "r5"
+PR = "r6"
SRC_URI = "http://download.gnome.org/sources/gtk+/2.16/gtk+-${PV}.tar.bz2 \
file://xsettings.patch;patch=1 \
diff --git a/meta/recipes-gnome/gtk+/gtk+_2.20.1.bb b/meta/recipes-gnome/gtk+/gtk+_2.22.1.bb
index dec518746..35aa88325 100644
--- a/meta/recipes-gnome/gtk+/gtk+_2.20.1.bb
+++ b/meta/recipes-gnome/gtk+/gtk+_2.22.1.bb
@@ -4,9 +4,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
file://gtk/gtk.h;endline=27;md5=c59e0b4490dd135a5726ebf851f9b17f \
file://gdk/gdk.h;endline=27;md5=07db285ec208fb3e0bf7d861b0614202 \
file://tests/testgtk.c;endline=27;md5=262db5db5f776f9863e56df31423e24c"
-PR = "r1"
+PR = "r0"
-SRC_URI = "http://download.gnome.org/sources/gtk+/2.20/gtk+-${PV}.tar.bz2 \
+SRC_URI = "http://download.gnome.org/sources/gtk+/2.22/gtk+-${PV}.tar.bz2 \
file://xsettings.patch;patch=1 \
file://run-iconcache.patch;patch=1 \
file://hardcoded_libtool.patch;patch=1 \
@@ -24,18 +24,17 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.20/gtk+-${PV}.tar.bz2 \
# file://gtklabel-resize-patch;patch=1 \
# file://menu-deactivate.patch;patch=1 \
# file://combo-arrow-size.patch;patch=1;pnum=0 \
- file://disable-gio-png-sniff-test.diff;patch=1 \
- file://configurefix.patch;patch=1 \
+# file://configurefix.patch;patch=1 \
"
-SRC_URI[md5sum] = "53e6f3a93bd22934878fc4a4a34c68aa"
-SRC_URI[sha256sum] = "0e081731d21e34ff45c82199490c2889504fa8b3c7e117c043e82ababaec0f65"
+SRC_URI[md5sum] = "fdce46ba354c155230b7d4090b17f7d9"
+SRC_URI[sha256sum] = "965bc124f0d25087c4cb2a64cbfd7e4f896e05be8d560fbba68dd8685ba24d07"
-EXTRA_OECONF = "--without-libtiff --without-libjasper --disable-xkb --disable-glibtest --disable-cups"
+EXTRA_OECONF = "--without-libtiff --without-libjasper --enable-xkb --disable-glibtest --disable-cups"
LIBV = "2.10.0"
-PACKAGES_DYNAMIC += "gdk-pixbuf-loader-* gtk-immodule-* gtk-printbackend-*"
+PACKAGES_DYNAMIC += "gtk-immodule-* gtk-printbackend-*"
#-fomit-frame-pointer in default FULL_OPTIMIZATION will cause matchbox-panel segfault on atom-pc & emenlow
FULL_OPTIMIZATION_emenlow = "-fexpensive-optimizations -frename-registers -O2 -ggdb -feliminate-unused-debug-types"
@@ -45,14 +44,11 @@ python populate_packages_prepend () {
import os.path
prologue = bb.data.getVar("postinst_prologue", d, 1)
- postinst_pixbufloader = bb.data.getVar("postinst_pixbufloader", d, 1)
gtk_libdir = bb.data.expand('${libdir}/gtk-2.0/${LIBV}', d)
- loaders_root = os.path.join(gtk_libdir, 'loaders')
immodules_root = os.path.join(gtk_libdir, 'immodules')
printmodules_root = os.path.join(gtk_libdir, 'printbackends');
- do_split_packages(d, loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s', postinst_pixbufloader)
do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s', prologue + 'gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules')
do_split_packages(d, printmodules_root, '^libprintbackend-(.*)\.so$', 'gtk-printbackend-%s', 'GTK printbackend module for %s')
diff --git a/meta/recipes-gnome/gtk-theme-darkilouche/gtk-theme-darkilouche.bb b/meta/recipes-gnome/gtk-theme-darkilouche/gtk-theme-darkilouche.bb
deleted file mode 100644
index 6bf1eedaf..000000000
--- a/meta/recipes-gnome/gtk-theme-darkilouche/gtk-theme-darkilouche.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "Dark GTK+ theme"
-LICENSE = "GPL"
-DEPENDS = "gtk-engines"
-RDEPENDS = "gtk-engine-clearlooks gnome-icon-theme"
-SECTION = "x11/base"
-PACKAGE_ARCH = "all"
-
-PR = "r1"
-
-#SRC_URI = "http://art.gnome.org/download/themes/gtk2/1285/GTK2-Darkilouche.tar.bz2"
-SRC_URI = "git://people.freedesktop.org/~jimmac/Darkilouche.git;protocol=git \
- file://change-colours.diff;patch=1"
-
-S = "${WORKDIR}/git"
-PACKAGES = ${PN}
-
-do_install () {
- install -d ${D}${datadir}/themes/Darkilouche/gtk-2.0
- install -m 0644 ${S}/index.theme ${D}${datadir}/themes/Darkilouche
- install -m 0644 ${S}/gtk-2.0/gtkrc ${D}${datadir}/themes/Darkilouche/gtk-2.0
-}
-
-FILES_${PN} = "${datadir}/themes/Darkilouche/"
diff --git a/meta/recipes-gnome/gtk-theme-darkilouche/gtk-theme-darkilouche/change-colours.diff b/meta/recipes-gnome/gtk-theme-darkilouche/gtk-theme-darkilouche/change-colours.diff
deleted file mode 100644
index c9fb7bd73..000000000
--- a/meta/recipes-gnome/gtk-theme-darkilouche/gtk-theme-darkilouche/change-colours.diff
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: git/index.theme
-===================================================================
---- git.orig/index.theme 2008-09-22 18:54:50.000000000 +0100
-+++ git/index.theme 2008-09-22 18:55:02.000000000 +0100
-@@ -6,6 +6,6 @@
-
- [X-GNOME-Metatheme]
- GtkTheme=Darkilouche
--GtkColorScheme=
--MetacityTheme=Gilouche
-+GtkColorScheme=fg_color:#f5f5f5f5f5f5,bg_color:#88888a8a8585,text_color:#000000000000,base_color:#bababdbdb6b6,selected_fg_color:#ffffffffffff,selected_bg_color:#686890904343,tooltip_fg_color:#000000000000,tooltip_bg_color:#e5e5e5e5e5e5
-+MetacityTheme=Clearlooks
- IconTheme=gnome
diff --git a/meta/recipes-gnome/gtkhtml2/gtkhtml2_svn.bb b/meta/recipes-gnome/gtkhtml2/gtkhtml2_svn.bb
index a21777517..ac921bf48 100644
--- a/meta/recipes-gnome/gtkhtml2/gtkhtml2_svn.bb
+++ b/meta/recipes-gnome/gtkhtml2/gtkhtml2_svn.bb
@@ -3,7 +3,7 @@ DEPENDS = "gtk+ glib-2.0 libxml2"
DESCRIPTION = "A GTK+ HTML rendering library."
LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605"
-PV = "2.11.0+svnr${SRCREV}"
+PV = "2.11.0+svnr${SRCPV}"
PR = "r1"
SRC_URI = "svn://anonymous@svn.gnome.org/svn/gtkhtml2/;module=trunk \
diff --git a/meta/recipes-gnome/librsvg/librsvg-2.32.0/doc_Makefile.patch b/meta/recipes-gnome/librsvg/librsvg-2.32.1/doc_Makefile.patch
index 217573bd2..217573bd2 100644
--- a/meta/recipes-gnome/librsvg/librsvg-2.32.0/doc_Makefile.patch
+++ b/meta/recipes-gnome/librsvg/librsvg-2.32.1/doc_Makefile.patch
diff --git a/meta/recipes-gnome/librsvg/librsvg_2.32.0.bb b/meta/recipes-gnome/librsvg/librsvg_2.32.1.bb
index 35cf5a4fc..ea9456dff 100644
--- a/meta/recipes-gnome/librsvg/librsvg_2.32.0.bb
+++ b/meta/recipes-gnome/librsvg/librsvg_2.32.1.bb
@@ -8,7 +8,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
SECTION = "x11/utils"
DEPENDS = "gtk+ libcroco cairo libxml2 popt"
-PR = "r2"
+
+PR = "r0"
inherit autotools pkgconfig gnome
@@ -16,8 +17,8 @@ EXTRA_OECONF = "--disable-mozilla-plugin --without-svgz --without-croco --disabl
SRC_URI += "file://doc_Makefile.patch"
-SRC_URI[archive.md5sum] = "b015a9bd80143ec876af489d882dc28b"
-SRC_URI[archive.sha256sum] = "e0f6f936dab583de317cc0c36a48f80bdb9c93775225ee84140c7e5e3f841068"
+SRC_URI[archive.md5sum] = "4b00d0fee130c936644892c152f42db7"
+SRC_URI[archive.sha256sum] = "91b98051f352fab8a6257688d6b2fd665b4648ed66144861f2f853ccf876d334"
do_configure_prepend () {
export GDK_PIXBUF_QUERYLOADERS="${libdir}/gtk-2.0/version/loaders"
@@ -42,6 +43,6 @@ if [ "x$D" != "x" ]; then
exit 1
fi
-test -x ${bindir}/gdk-pixbuf-query-loaders && { gdk-pixbuf-query-loaders > ${sysconfdir}/gtk-2.0/gdk-pixbuf.loaders ; }
+test -x ${bindir}/gdk-pixbuf-query-loaders && { GDK_PIXBUF_MODULEDIR=${libdir}/gdk-pixbuf-2.0/2.10.0/loaders gdk-pixbuf-query-loaders --update-cache ; }
test -x ${bindir}/gtk-update-icon-cache && gtk-update-icon-cache -q ${datadir}/icons/hicolor
}
diff --git a/meta/recipes-gnome/libunique/libunique_1.1.6.bb b/meta/recipes-gnome/libunique/libunique_1.1.6.bb
index 7eb64e0ea..dcc65559a 100644
--- a/meta/recipes-gnome/libunique/libunique_1.1.6.bb
+++ b/meta/recipes-gnome/libunique/libunique_1.1.6.bb
@@ -1,8 +1,13 @@
+DESCRIPTION = "Unique is a library for writing single instance application. If you launch a single instance application twice, the second instance will either just quit or will send a message to the running instance."
+HOMEPAGE = "http://live.gnome.org/LibUnique"
+BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=libunique"
+
SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libunique/1.1/libunique-${PV}.tar.bz2"
SRC_URI[md5sum] = "7955769ef31f1bc4f83446dbb3625e6d"
SRC_URI[sha256sum] = "e5c8041cef8e33c55732f06a292381cb345db946cf792a4ae18aa5c66cdd4fbb"
-PR = "r1"
+
+PR = "r2"
DEPENDS = "glib-2.0 gtk+ dbus"
diff --git a/meta/recipes-gnome/tasks/task-poky-sdk-gmae.bb b/meta/recipes-gnome/tasks/task-poky-sdk-gmae.bb
index b3b5ebbc1..d009e4ebe 100644
--- a/meta/recipes-gnome/tasks/task-poky-sdk-gmae.bb
+++ b/meta/recipes-gnome/tasks/task-poky-sdk-gmae.bb
@@ -6,7 +6,7 @@ DESCRIPTION = "Gnome Mobile And Embedded Software Development Kit for OpenedHand
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${POKYBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-PR = "r9"
+PR = "r10"
ALLOW_EMPTY = "1"
@@ -14,7 +14,7 @@ require task-sdk-gmae.inc
PACKAGES = "${PN}"
-RDEPENDS = "\
+RDEPENDS_${PN} = "\
task-poky-sdk \
libglade-dev \
${SDK-GMAE} \
diff --git a/meta/recipes-gnome/tasks/task-poky-standalone-gmae-sdk-target.bb b/meta/recipes-gnome/tasks/task-poky-standalone-gmae-sdk-target.bb
index cf81bf387..7dcad6194 100644
--- a/meta/recipes-gnome/tasks/task-poky-standalone-gmae-sdk-target.bb
+++ b/meta/recipes-gnome/tasks/task-poky-standalone-gmae-sdk-target.bb
@@ -6,7 +6,7 @@ DESCRIPTION = "Gnome Mobile And Embedded Software Development Kit for OpenedHand
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${POKYBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-PR = "r11"
+PR = "r12"
ALLOW_EMPTY = "1"
@@ -14,7 +14,7 @@ require task-sdk-gmae.inc
PACKAGES = "${PN} ${PN}-dbg"
-RDEPENDS = "\
+RDEPENDS_${PN} = "\
task-poky-standalone-sdk-target \
libglade-dev \
${SDK-GMAE} \
diff --git a/meta/recipes-graphics/cairo/cairo.inc b/meta/recipes-graphics/cairo/cairo.inc
index e750d6e99..e5b6e1851 100644
--- a/meta/recipes-graphics/cairo/cairo.inc
+++ b/meta/recipes-graphics/cairo/cairo.inc
@@ -1,7 +1,11 @@
-SUMMARY = "A 2D graphics library"
-DESCRIPTION = "Cairo is a 2D graphics library designed to provide high-quality display \
-and print output. Cairo is designed to produce consistent output on all output media while \
-taking advantage of display hardware acceleration when available."
+SUMMARY = "The Cairo 2D vector graphics library"
+DESCRIPTION = "Cairo is a multi-platform library providing anti-aliased \
+vector-based rendering for multiple target backends. Paths consist \
+of line segments and cubic splines and can be rendered at any width \
+with various join and cap styles. All colors may be specified with \
+optional translucence (opacity/alpha) and combined using the \
+extended Porter/Duff compositing algebra as found in the X Render \
+Extension."
HOMEPAGE = "http://cairographics.org"
BUGTRACKER = "http://bugs.freedesktop.org"
SECTION = "libs"
diff --git a/meta/recipes-graphics/cairo/cairo_1.10.0.bb b/meta/recipes-graphics/cairo/cairo_1.10.0.bb
deleted file mode 100644
index d4d070324..000000000
--- a/meta/recipes-graphics/cairo/cairo_1.10.0.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-require cairo.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77"
-
-PR = "r0"
-
-SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "70a2ece66cf473d976e2db0f75bf199e"
-SRC_URI[sha256sum] = "0f2ce4cc4615594088d74eb8b5360bad7c3cc3c3da9b61af9bfd979ed1ed94b2"
-
-RDEPENDS += "libcairo2 libcairo-gobject2 libcairo-script-interpreter2 \
- cairo-perf-utils"
-
-ALLOW_EMPTY = "1"
-
-#
-# Old version (1.8.10 or below) is automatically named as libcairo2 by
-# debian_package_name_hook. To keep backword compatibility,
-# it is necessary to explicitly name the package as libcairo2 here
-#
-PACKAGES =+ "libcairo2 libcairo2-dev libcairo2-dbg \
- libcairo-gobject2 \
- libcairo-script-interpreter2 \
- cairo-perf-utils \
- "
-
-DESCRIPTION_libcairo2 = "The Cairo 2D vector graphics library"
-DESCRIPTION_libcairo-gobject2 = "The Cairo library GObject wrapper library"
-DESCRIPTION_libcairo-script-interpreter2 = "The Cairo library script interpreter"
-DESCRIPTION_cairo-perf-utils = "The Cairo library performance utilities"
-
-FILES_libcairo2 = "${libdir}/libcairo.so*"
-FILES_libcairo2-dev = "${includedir} ${libdir}/*.la ${libdir}/*.a \
- ${libdir}/*.o ${libdir}/pkgconfig"
-FILES_libcairo2-dbg = "${libdir}/.debug ${libdir}/cairo/.debug"
-FILES_libcairo-gobject2 = "${libdir}/libcairo-gobject.so*"
-FILES_libcairo-script-interpreter2 = "${libdir}/libcairo-script-interpreter.so*"
-FILES_cairo-perf-utils = "${bindir}/cairo-trace ${libdir}/cairo/libcairo-trace.*"
diff --git a/meta/recipes-graphics/cairo/cairo_1.10.2.bb b/meta/recipes-graphics/cairo/cairo_1.10.2.bb
new file mode 100644
index 000000000..572e1f675
--- /dev/null
+++ b/meta/recipes-graphics/cairo/cairo_1.10.2.bb
@@ -0,0 +1,53 @@
+require cairo.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77"
+
+PR = "r0"
+
+SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "f101a9e88b783337b20b2e26dfd26d5f"
+SRC_URI[sha256sum] = "32018c7998358eebc2ad578ff8d8559d34fc80252095f110a572ed23d989fc41"
+
+RDEPENDS_${PN} += "libcairo2 libcairo-gobject2 libcairo-script-interpreter2 \
+ cairo-perf-utils"
+
+ALLOW_EMPTY = "1"
+
+#
+# Old version (1.8.10 or below) is automatically named as libcairo2 by
+# debian_package_name_hook. To keep backword compatibility,
+# it is necessary to explicitly name the package as libcairo2 here
+#
+PACKAGES =+ "libcairo2 libcairo2-dev libcairo2-dbg \
+ libcairo-gobject2 \
+ libcairo-script-interpreter2 \
+ cairo-perf-utils \
+ "
+
+SUMMARY_libcairo2 = "The Cairo 2D vector graphics library"
+DESCRIPTION_libcairo2 = "Cairo is a multi-platform library providing anti-aliased \
+vector-based rendering for multiple target backends. Paths consist \
+of line segments and cubic splines and can be rendered at any width \
+with various join and cap styles. All colors may be specified with \
+optional translucence (opacity/alpha) and combined using the \
+extended Porter/Duff compositing algebra as found in the X Render \
+Extension."
+
+SUMMARY_libcairo-gobject2 = "The Cairo library GObject wrapper library"
+DESCRIPTION_libcairo-gobject2 = "A GObject wrapper library for the Cairo API."
+
+SUMMARY_libcairo-script-interpreter2 = "The Cairo library script interpreter"
+DESCRIPTION_libcairo-script-interpreter2 = "The Cairo script interpreter implements \
+CairoScript. CairoScript is used by tracing utilities to enable the ability \
+to replay rendering."
+
+DESCRIPTION_cairo-perf-utils = "The Cairo library performance utilities"
+
+FILES_libcairo2 = "${libdir}/libcairo.so*"
+FILES_libcairo2-dev = "${includedir} ${libdir}/*.la ${libdir}/*.a \
+ ${libdir}/*.o ${libdir}/pkgconfig"
+FILES_libcairo2-dbg = "${libdir}/.debug ${libdir}/cairo/.debug"
+FILES_libcairo-gobject2 = "${libdir}/libcairo-gobject.so*"
+FILES_libcairo-script-interpreter2 = "${libdir}/libcairo-script-interpreter.so*"
+FILES_cairo-perf-utils = "${bindir}/cairo-trace ${libdir}/cairo/libcairo-trace.*"
diff --git a/meta/recipes-graphics/clutter/clutter-1.0_git.bb b/meta/recipes-graphics/clutter/clutter-1.0_git.bb
deleted file mode 100644
index ec50f076b..000000000
--- a/meta/recipes-graphics/clutter/clutter-1.0_git.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-require clutter.inc
-
-PV = "1.0+git${SRCPV}"
-PR = "r3"
-
-PACKAGES =+ "clutter-examples-1.0"
-FILES_clutter-examples-1.0 = "${bindir}/test-* ${pkgdatadir}/redhand.png"
-
-SRC_URI = "git://git.clutter-project.org/clutter.git;protocol=git;branch=clutter-1.0 \
- file://enable_tests-1.0.patch;patch=1 "
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
-S = "${WORKDIR}/git"
-
-BASE_CONF += "--disable-introspection"
-
-
-do_configure_prepend () {
- # Disable DOLT
- sed -i -e 's/^DOLT//' ${S}/configure.ac
-}
diff --git a/meta/recipes-graphics/clutter/clutter-1.4_1.4.2.bb b/meta/recipes-graphics/clutter/clutter-1.4_1.4.2.bb
new file mode 100644
index 000000000..998545ab2
--- /dev/null
+++ b/meta/recipes-graphics/clutter/clutter-1.4_1.4.2.bb
@@ -0,0 +1,25 @@
+require clutter.inc
+
+PR = "r0"
+
+PACKAGES =+ "${PN}-examples"
+FILES_${PN}-examples = "${bindir}/test-* ${pkgdatadir}/redhand.png"
+
+SRC_URI = "http://source.clutter-project.org/sources/clutter/1.4/clutter-${PV}.tar.bz2 \
+ file://enable_tests-1.4.patch;patch=1 \
+ file://test-conformance-fix.patch;patch=1 "
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
+S = "${WORKDIR}/clutter-1.4.2"
+
+BASE_CONF += "--disable-introspection"
+
+EXTRA_OECONF += "--with-json=check"
+
+do_configure_prepend () {
+ # Disable DOLT
+ sed -i -e 's/^DOLT//' ${S}/configure.ac
+}
+
+SRC_URI[md5sum] = "5a3c6d8414d4e286aba0a936f344c9b1"
+SRC_URI[sha256sum] = "92fd67acce5105c933e54ad0c87d0f5ace1202fd0f87949cb49a3759e6e38892"
diff --git a/meta/recipes-graphics/clutter/clutter-box2d.inc b/meta/recipes-graphics/clutter/clutter-box2d.inc
index 7de824495..0249984b1 100644
--- a/meta/recipes-graphics/clutter/clutter-box2d.inc
+++ b/meta/recipes-graphics/clutter/clutter-box2d.inc
@@ -2,7 +2,7 @@ DESCRIPTION = "Clutter Box2D"
HOMEPAGE = "http://www.clutter-project.org/"
LICENSE = "Catto"
-DEPENDS = "clutter-1.0"
+DEPENDS = "clutter-1.4"
# The main clutter lib is machine specific so we need to be too
PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta/recipes-graphics/clutter/clutter-box2d_git.bb b/meta/recipes-graphics/clutter/clutter-box2d_git.bb
index 6f795b9a3..6b718d5be 100644
--- a/meta/recipes-graphics/clutter/clutter-box2d_git.bb
+++ b/meta/recipes-graphics/clutter/clutter-box2d_git.bb
@@ -1,9 +1,9 @@
require clutter-box2d.inc
-LIC_FILES_CHKSUM = "file://box2d/License.txt;md5=d0a73d52dbe6da5d8cc0f28493defb26"
+LIC_FILES_CHKSUM = "file://box2d/License.txt;md5=e5d39ad91f7dc4692dcdb1d85139ec6b"
-PV = "0.0+git${SRCPV}"
-PR = "r3"
+PV = "0.10.1+git${SRCPV}"
+PR = "r0"
SRC_URI = "git://git.clutter-project.org/clutter-box2d.git;protocol=git"
diff --git a/meta/recipes-graphics/clutter/clutter-gst-1.0_git.bb b/meta/recipes-graphics/clutter/clutter-gst-1.4_git.bb
index 46519a019..f8ba3e7fa 100644
--- a/meta/recipes-graphics/clutter/clutter-gst-1.0_git.bb
+++ b/meta/recipes-graphics/clutter/clutter-gst-1.4_git.bb
@@ -1,13 +1,14 @@
require clutter-gst.inc
-PV = "0.11.0+git${SRCPV}"
+PV = "1.3.4+git${SRCPV}"
LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 \
file://clutter-gst/clutter-gst.h;beginline=1;endline=24;md5=95baacba194e814c110ea3bdf25ddbf4"
-DEPENDS += "clutter-1.0"
+DEPENDS += "clutter-1.4"
-SRC_URI = "git://git.clutter-project.org/clutter-gst.git;protocol=git;branch=master"
+SRC_URI = "git://git.clutter-project.org/clutter-gst.git;protocol=git;branch=master \
+ file://enable_tests.patch"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-graphics/clutter/clutter-gst.inc b/meta/recipes-graphics/clutter/clutter-gst.inc
index c46d0f0ae..614c62d52 100644
--- a/meta/recipes-graphics/clutter/clutter-gst.inc
+++ b/meta/recipes-graphics/clutter/clutter-gst.inc
@@ -2,12 +2,12 @@ DESCRIPTION = "Clutter GStreamer"
HOMEPAGE = "http://www.clutter-project.org/"
LICENSE = "LGPLv2+"
-DEPENDS = "clutter-1.0 gstreamer gst-plugins-base"
+DEPENDS = "clutter-1.4 gstreamer gst-plugins-base"
FILESPATH = "${FILE_DIRNAME}/clutter-gst"
PACKAGES =+ "${PN}-examples"
-FILES_${PN}-examples = "${bindir}/video-player ${bindir}/video-sink ${bindir}/audio"
+FILES_${PN}-examples = "${bindir}/video-player ${bindir}/video-sink"
inherit autotools pkgconfig gtk-doc
diff --git a/meta/recipes-graphics/clutter/clutter-gst/enable_tests.patch b/meta/recipes-graphics/clutter/clutter-gst/enable_tests.patch
new file mode 100644
index 000000000..210b9492c
--- /dev/null
+++ b/meta/recipes-graphics/clutter/clutter-gst/enable_tests.patch
@@ -0,0 +1,15 @@
+Install example binary needed for poky-image-clutter
+
+Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
+Index: git/examples/Makefile.am
+===================================================================
+--- git.orig/examples/Makefile.am 2011-01-31 10:14:23.000000000 +0800
++++ git/examples/Makefile.am 2011-01-31 10:14:34.000000000 +0800
+@@ -1,6 +1,6 @@
+ NULL = #
+
+-noinst_PROGRAMS = video-player video-sink
++bin_PROGRAMS = video-player video-sink
+
+ INCLUDES = -I$(top_srcdir) \
+ $(MAINTAINER_CFLAGS) \
diff --git a/meta/recipes-graphics/clutter/clutter-gtk-1.0_git.bb b/meta/recipes-graphics/clutter/clutter-gtk-1.0_git.bb
deleted file mode 100644
index 47667d0ee..000000000
--- a/meta/recipes-graphics/clutter/clutter-gtk-1.0_git.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require clutter-gtk.inc
-
-PV = "0.90.0+git${SRCPV}"
-PR = "r2"
-
-SRC_URI = "git://git.clutter-project.org/clutter-gtk.git;protocol=git;branch=master \
- file://disable_deprecated.patch"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-S = "${WORKDIR}/git"
-
-DEPENDS += "gtk+ clutter-1.0"
-
-EXTRA_OECONF += "--disable-introspection"
diff --git a/meta/recipes-graphics/clutter/clutter-gtk-1.4_git.bb b/meta/recipes-graphics/clutter/clutter-gtk-1.4_git.bb
new file mode 100644
index 000000000..3822b31d5
--- /dev/null
+++ b/meta/recipes-graphics/clutter/clutter-gtk-1.4_git.bb
@@ -0,0 +1,17 @@
+require clutter-gtk.inc
+
+PV = "0.90.0+git${SRCPV}"
+PR = "r0"
+
+SRC_URI = "git://git.clutter-project.org/clutter-gtk.git;protocol=git;branch=master \
+ file://disable_deprecated.patch \
+ file://enable_tests.patch \
+ "
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+S = "${WORKDIR}/git"
+
+DEPENDS += "gtk+ clutter-1.4"
+
+EXTRA_OECONF += "--disable-introspection"
diff --git a/meta/recipes-graphics/clutter/clutter-gtk.inc b/meta/recipes-graphics/clutter/clutter-gtk.inc
index 25b5200ca..8492d9f53 100644
--- a/meta/recipes-graphics/clutter/clutter-gtk.inc
+++ b/meta/recipes-graphics/clutter/clutter-gtk.inc
@@ -7,7 +7,7 @@ DEPENDS = "gtk+"
FILESPATH = "${FILE_DIRNAME}/clutter-gtk"
PACKAGES =+ "${PN}-examples"
-FILES_${PN}-examples = "${bindir}/gtk-clutter-test ${bindir}/gtk-clutter-events ${bindir}/gtk-clutter-multistage"
+FILES_${PN}-examples = "${bindir}/*"
inherit autotools pkgconfig gtk-doc
diff --git a/meta/recipes-graphics/clutter/clutter-gtk/disable_deprecated.patch b/meta/recipes-graphics/clutter/clutter-gtk/disable_deprecated.patch
index fbfaceeef..df0c52c1d 100644
--- a/meta/recipes-graphics/clutter/clutter-gtk/disable_deprecated.patch
+++ b/meta/recipes-graphics/clutter/clutter-gtk/disable_deprecated.patch
@@ -6,12 +6,13 @@ Signed-off-by: Saul Wold <sgw@linux.intel.com>
Index: git/clutter-gtk/Makefile.am
===================================================================
---- git.orig/clutter-gtk/Makefile.am 2010-11-16 11:04:29.000000000 -0800
-+++ git/clutter-gtk/Makefile.am 2010-11-16 11:06:16.278993999 -0800
-@@ -16,7 +16,6 @@
+--- git.orig/clutter-gtk/Makefile.am 2011-01-30 13:10:29.000000000 +0800
++++ git/clutter-gtk/Makefile.am 2011-01-30 13:15:09.000000000 +0800
+@@ -15,8 +15,6 @@
+ -DCLUTTER_GTK_COMPILATION \
-DG_DISABLE_DEPRECATED \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
- -DGDK_DISABLE_DEPRECATED \
+- -DGDK_DISABLE_DEPRECATED \
- -DGTK_DISABLE_DEPRECATED \
-DCLUTTER_DISABLE_DEPRECATED \
$(CLUTTER_GTK_DEBUG_CFLAGS) \
diff --git a/meta/recipes-graphics/clutter/clutter-gtk/enable_tests.patch b/meta/recipes-graphics/clutter/clutter-gtk/enable_tests.patch
new file mode 100644
index 000000000..e91b8272f
--- /dev/null
+++ b/meta/recipes-graphics/clutter/clutter-gtk/enable_tests.patch
@@ -0,0 +1,17 @@
+Install the test binary needed for poky-image-clutter
+
+Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
+
+Index: git/examples/Makefile.am
+===================================================================
+--- git.orig/examples/Makefile.am 2011-01-31 09:58:47.000000000 +0800
++++ git/examples/Makefile.am 2011-01-31 09:59:02.000000000 +0800
+@@ -2,7 +2,7 @@
+
+ NULL =
+
+-noinst_PROGRAMS = \
++bin_PROGRAMS = \
+ animated-notebook \
+ expose-test \
+ gtk-clutter-events \
diff --git a/meta/recipes-graphics/clutter/clutter.inc b/meta/recipes-graphics/clutter/clutter.inc
index a42a6c59d..bdfcb9169 100644
--- a/meta/recipes-graphics/clutter/clutter.inc
+++ b/meta/recipes-graphics/clutter/clutter.inc
@@ -7,7 +7,7 @@ COMPATIBLE_MACHINE = "(zylonite|mx31litekit|omap-3430ldp|omap-3430sdp|mx31ads|qe
STDDEPENDS = "virtual/libx11 gtk-doc-native pango glib-2.0 libxfixes gtk+ libxi"
BASE_CONF = "--disable-gtk-doc ${@get_clutter_fpu_setting(bb, d)}"
-DEPENDS = "${STDDEPENDS} virtual/libgl"
+DEPENDS = "${STDDEPENDS} virtual/libgl gettext"
EXTRA_OECONF = "${BASE_CONF} --with-flavour=glx"
DEPENDS_zylonite = "${STDDEPENDS} libgles-zylonite tslib"
diff --git a/meta/recipes-graphics/clutter/clutter/enable_tests-1.4.patch b/meta/recipes-graphics/clutter/clutter/enable_tests-1.4.patch
new file mode 100644
index 000000000..52fdcb4c1
--- /dev/null
+++ b/meta/recipes-graphics/clutter/clutter/enable_tests-1.4.patch
@@ -0,0 +1,13 @@
+Index: git/tests/interactive/Makefile.am
+===================================================================
+--- git.orig/tests/interactive/Makefile.am 2011-01-28 14:06:29.000000000 +0800
++++ git/tests/interactive/Makefile.am 2011-01-28 14:26:59.000000000 +0800
+@@ -107,7 +107,7 @@
+
+ common_ldadd = $(top_builddir)/clutter/libclutter-@CLUTTER_SONAME_INFIX@-@CLUTTER_API_VERSION@.la
+
+-noinst_PROGRAMS = test-interactive
++bin_PROGRAMS = test-interactive
+
+ test_interactive_SOURCES = test-main.c $(UNIT_TESTS)
+ test_interactive_CFLAGS = $(CLUTTER_CFLAGS) $(MAINTAINER_CFLAGS)
diff --git a/meta/recipes-graphics/clutter/clutter/test-conformance-fix.patch b/meta/recipes-graphics/clutter/clutter/test-conformance-fix.patch
new file mode 100644
index 000000000..ce412ff5a
--- /dev/null
+++ b/meta/recipes-graphics/clutter/clutter/test-conformance-fix.patch
@@ -0,0 +1,66 @@
+Compiling conformance test leads running test-conformance target binary, and
+gets failure in cross-compile environment. Introduce this commit from upstream
+to fix it.
+
+Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
+
+
+commit 7fd6273c25569fe4f37ad371532d93e5170e51f7
+Author: Neil Roberts <neil@linux.intel.com>
+Date: Mon Oct 11 16:16:45 2010 +0100
+
+ tests: Generate the stub scripts using sed
+
+ Instead of trying to run ./test-conformance with the -l option to
+ generate a list of available tests it now runs sed on the
+ test-conform-main.c file instead. Running the generated executable is
+ a pain for cross-compiling so it would be nice to avoid it unless it's
+ absolutely necessary. Although you could tell people who are cross
+ compiling to just disable the conformance tests, this seems a shame
+ because they could still be useful along with the wrappers for example
+ if the cross compile is built to a shared network folder where the
+ tests can be run on the actual device.
+
+ The sed script is a little more ugly than it could be because it tries
+ to avoid using the GNU extensions '\+' and '\|'.
+
+ The script ends up placing restrictions on the format of the C file
+ because the tests must all be listed on one line each. There is now a
+ comment to explain this. Hopefully the trade off is worth it.
+
+ http://bugzilla.clutter-project.org/show_bug.cgi?id=2363
+
+diff --git a/tests/conform/Makefile.am b/tests/conform/Makefile.am
+index 3036639..1e723e7 100644
+--- a/tests/conform/Makefile.am
++++ b/tests/conform/Makefile.am
+@@ -89,9 +89,11 @@ test_conformance_SOURCES = $(common_sources) $(units_sources)
+
+ wrappers: stamp-test-conformance
+ @true
+-stamp-test-conformance: Makefile test-conformance$(EXEEXT)
++stamp-test-conformance: Makefile $(srcdir)/test-conform-main.c
+ @mkdir -p wrappers
+- @( $(abs_builddir)/test-conformance$(EXEEXT) -l -m thorough | $(GREP) '^/' ) > unit-tests
++ @sed -n -e 's/^ \{1,\}TEST_CONFORM_SIMPLE *(.*"\([^",]\{1,\}\)", *\([a-zA-Z0-9_]\{1,\}\).*/\/conform\1\/\2/p' \
++ -e 's/^ \{1,\}TEST_CONFORM_SKIP *(.*"\([^",]\{1,\}\)", *\([a-zA-Z0-9_]\{1,\}\).*/\/conform\1\/\2/p' \
++ $(srcdir)/test-conform-main.c > unit-tests
+ @chmod +x test-launcher.sh
+ @( echo "/stamp-test-conformance" ; \
+ echo "/test-conformance" ; \
+diff --git a/tests/conform/test-conform-main.c b/tests/conform/test-conform-main.c
+index a8b3cf8..2ae7a04 100644
+--- a/tests/conform/test-conform-main.c
++++ b/tests/conform/test-conform-main.c
+@@ -92,6 +92,11 @@ main (int argc, char **argv)
+ {
+ clutter_test_init (&argc, &argv);
+
++ /* This file is run through a sed script during the make step so the
++ lines containing the tests need to be formatted on a single line
++ each. To comment out a test use the SKIP or TODO macros. Using
++ #if 0 would break the script. */
++
+ TEST_CONFORM_SIMPLE ("/timeline", test_timeline);
+ TEST_CONFORM_SKIP (!g_test_slow (), "/timeline", test_timeline_interpolate);
+ TEST_CONFORM_SKIP (!g_test_slow (), "/timeline", test_timeline_rewind);
diff --git a/meta/recipes-graphics/clutter/table.inc b/meta/recipes-graphics/clutter/table.inc
index b64551483..937ad56b9 100644
--- a/meta/recipes-graphics/clutter/table.inc
+++ b/meta/recipes-graphics/clutter/table.inc
@@ -2,7 +2,7 @@ DESCRIPTION = "Table Clutter Demo"
HOMEPAGE = "http://www.clutter-project.org/"
LICENSE = "LGPLv2.1 & GPLv2"
-DEPENDS = "clutter-gst-1.0 gnome-vfs"
+DEPENDS = "clutter-gst-1.4 gnome-vfs"
inherit autotools pkgconfig
diff --git a/meta/recipes-graphics/clutter/tidy.inc b/meta/recipes-graphics/clutter/tidy.inc
index 19685918d..13d6fc768 100644
--- a/meta/recipes-graphics/clutter/tidy.inc
+++ b/meta/recipes-graphics/clutter/tidy.inc
@@ -2,7 +2,7 @@ DESCRIPTION = "Tidy library"
HOMEPAGE = "http://www.clutter-project.org/"
LICENSE = "LGPLv2.1+"
-STDDEPENDS = "clutter-1.0"
+STDDEPENDS = "clutter-1.4"
BASE_CONF = "--disable-gtk-doc"
DEPENDS = "${STDDEPENDS}"
diff --git a/meta/recipes-graphics/directfb/directfb-1.4.6/mkdfiff.patch b/meta/recipes-graphics/directfb/directfb-1.4.6/mkdfiff.patch
new file mode 100644
index 000000000..28bd534f3
--- /dev/null
+++ b/meta/recipes-graphics/directfb/directfb-1.4.6/mkdfiff.patch
@@ -0,0 +1,24 @@
+diff -uNr DirectFB-1.4.6.orig/tools/mkdfiff.c DirectFB-1.4.6/tools/mkdfiff.c
+--- DirectFB-1.4.6.orig/tools/mkdfiff.c 2010-10-15 10:54:57.000000000 +0200
++++ DirectFB-1.4.6/tools/mkdfiff.c 2010-10-15 10:54:15.000000000 +0200
+@@ -50,6 +50,8 @@
+
+ #include <dfiff.h>
+
++#include <unistd.h>
++
+ static DirectFBPixelFormatNames( format_names );
+
+ static const char *filename;
+diff -uNr DirectFB-1.4.6.orig/tools/mkdgifft.cpp DirectFB-1.4.6/tools/mkdgifft.cpp
+--- DirectFB-1.4.6.orig/tools/mkdgifft.cpp 2010-10-08 14:02:57.000000000 +0200
++++ DirectFB-1.4.6/tools/mkdgifft.cpp 2010-10-15 10:56:06.000000000 +0200
+@@ -40,6 +40,8 @@
+ #include <errno.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <sys/stat.h>
++#include <sys/types.h>
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <sys/mman.h>
diff --git a/meta/recipes-graphics/directfb/directfb.inc b/meta/recipes-graphics/directfb/directfb.inc
new file mode 100644
index 000000000..e4cd00626
--- /dev/null
+++ b/meta/recipes-graphics/directfb/directfb.inc
@@ -0,0 +1,69 @@
+SUMMARY = "Graphics abstraction library for the Linux Framebuffer Device"
+DESCRIPTION = "DirectFB is a thin library that provides developers \
+with hardware graphics acceleration, input device handling and \
+abstraction, an integrated windowing system with support for \
+translucent windows and multiple display layers on top of the \
+Linux framebuffer device."
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589"
+
+HOMEPAGE = "http://directfb.org"
+DEPENDS = "jpeg libpng freetype zlib tslib"
+
+SRC_URI = " \
+ http://www.directfb.org/downloads/Old/DirectFB-${PV}.tar.gz \
+ file://fix-pkgconfig-cflags.patch \
+ file://fix-font-missing-char.patch \
+ file://getpagesize.patch \
+ file://mkdfiff.patch \
+ file://dont-use-linux-config.patch \
+ file://ts_lib_autotools.patch \
+"
+S = "${WORKDIR}/DirectFB-${PV}"
+
+LDFLAGS_append =" -lts -lm"
+
+inherit autotools binconfig pkgconfig
+
+EXTRA_OECONF = "\
+ --with-gfxdrivers=none \
+ --enable-libmpeg3=no \
+ --enable-freetype=yes \
+ --enable-sdl=no \
+ --enable-vnc=no \
+ --disable-x11 \
+"
+
+#PACKAGES_DYNAMIC = "directfb-inputdrivers-*"
+#
+#python populate_packages_prepend () {
+# import os.path
+# inputdrivers_libdir = bb.data.expand('${libdir}/directfb-${RV}/inputdrivers', d)
+# do_split_packages(d, inputdrivers_libdir, '*.so$', 'directfb-inputdrivers-%s', 'Directfb plugin for %s')
+#}
+
+# NOTE: monolithic packaging for now, should improve that eventually
+
+
+
+FILES_${PN}-dbg += "\
+ ${libdir}/directfb-${RV}/*/*/.debug/*.so \
+ ${libdir}/directfb-${RV}/*/.debug/*.so \
+"
+
+FILES_${PN}-dev += "\
+ ${bindir}/directfb-config \
+ ${libdir}/directfb-${RV}/systems/*.la \
+ ${libdir}/directfb-${RV}/inputdrivers/*.la \
+ ${libdir}/directfb-${RV}/interfaces/*/*.la \
+ ${libdir}/directfb-${RV}/wm/*.la \
+"
+
+FILES_${PN} += "\
+ ${libdir}/directfb-${RV}/systems/*.so \
+ ${libdir}/directfb-${RV}/inputdrivers/*.so \
+ ${libdir}/directfb-${RV}/interfaces/*/*.so \
+ ${libdir}/directfb-${RV}/wm/*.so \
+ ${datadir}/directfb-${PV} \
+"
diff --git a/meta/recipes-graphics/directfb/directfb_1.4.6.bb b/meta/recipes-graphics/directfb/directfb_1.4.6.bb
new file mode 100644
index 000000000..70c0225bf
--- /dev/null
+++ b/meta/recipes-graphics/directfb/directfb_1.4.6.bb
@@ -0,0 +1,27 @@
+require directfb.inc
+
+RV = "1.4-5"
+PR = "r2"
+
+DEPENDS += "sysfsutils"
+
+SRC_URI = " \
+ http://directfb.org/downloads/Core/DirectFB-1.4/DirectFB-${PV}.tar.gz \
+ file://directfb-1.2.x-fix-pkgconfig-cflags.patch \
+ file://mkdfiff.patch \
+ file://dont-use-linux-config.patch \
+ "
+
+EXTRA_OECONF = "\
+ --enable-freetype=yes \
+ --enable-zlib \
+ --with-gfxdrivers=none \
+ --disable-sdl \
+ --disable-vnc \
+ --disable-x11 \
+"
+
+LEAD_SONAME = "libdirectfb-1.4.so.5"
+
+SRC_URI[md5sum] = "dbe1957932f81790742b58b94c1c7b84"
+SRC_URI[sha256sum] = "b18121e60e9a084ee347037a53a46cfaea1c09505bd99d673c2e65eca285e69b"
diff --git a/meta/recipes-graphics/directfb/files/directfb-1.2.x-fix-pkgconfig-cflags.patch b/meta/recipes-graphics/directfb/files/directfb-1.2.x-fix-pkgconfig-cflags.patch
new file mode 100644
index 000000000..745c561cc
--- /dev/null
+++ b/meta/recipes-graphics/directfb/files/directfb-1.2.x-fix-pkgconfig-cflags.patch
@@ -0,0 +1,47 @@
+Index: DirectFB-1.1.1/directfb-internal.pc.in
+===================================================================
+--- DirectFB-1.1.1.orig/directfb-internal.pc.in 2007-08-07 21:43:00.000000000 +0200
++++ DirectFB-1.1.1/directfb-internal.pc.in 2008-07-17 21:00:47.424654304 +0200
+@@ -2,10 +2,10 @@
+ exec_prefix=@exec_prefix@
+ moduledir=@MODULEDIR@
+ moduledirname=@MODULEDIRNAME@
+-includedir=@INTERNALINCLUDEDIR@
++includedir=@includedir@
+
+ Name: DirectFB-Internal
+ Description: Third party module support package for DirectFB.
+ Version: @VERSION@
+ Requires: directfb = @VERSION@
+-Cflags: @DFB_INTERNAL_CFLAGS@ -I@INTERNALINCLUDEDIR@
++Cflags: @DFB_INTERNAL_CFLAGS@ -I${includedir}/directfb -I${includedir}
+Index: DirectFB-1.1.1/directfb.pc.in
+===================================================================
+--- DirectFB-1.1.1.orig/directfb.pc.in 2007-12-15 16:23:16.000000000 +0100
++++ DirectFB-1.1.1/directfb.pc.in 2008-07-17 20:59:58.044985193 +0200
+@@ -9,4 +9,4 @@
+ Requires: fusion direct
+ Libs: -L${libdir} -ldirectfb @THREADLIB@ @OSX_LIBS@
+ Libs.private: -L${libdir} @DYNLIB@ @ZLIB_LIBS@
+-Cflags: @THREADFLAGS@ -I@INCLUDEDIR@
++Cflags: @THREADFLAGS@ -I${includedir}/directfb
+Index: DirectFB-1.1.1/lib/fusion/fusion.pc.in
+===================================================================
+--- DirectFB-1.1.1.orig/lib/fusion/fusion.pc.in 2007-08-07 21:43:00.000000000 +0200
++++ DirectFB-1.1.1/lib/fusion/fusion.pc.in 2008-07-17 20:58:07.051338866 +0200
+@@ -8,4 +8,4 @@
+ Version: @VERSION@
+ Requires: direct
+ Libs: -L${libdir} -lfusion
+-Cflags: -I@INCLUDEDIR@
++Cflags: -I${includedir}/directfb -I${includedir}
+Index: DirectFB-1.1.1/lib/voodoo/voodoo.pc.in
+===================================================================
+--- DirectFB-1.1.1.orig/lib/voodoo/voodoo.pc.in 2007-08-07 21:43:00.000000000 +0200
++++ DirectFB-1.1.1/lib/voodoo/voodoo.pc.in 2008-07-17 20:58:07.054671842 +0200
+@@ -8,4 +8,4 @@
+ Version: @VERSION@
+ Requires: direct
+ Libs: -L${libdir} -lvoodoo
+-Cflags: -I@INCLUDEDIR@
++Cflags: -I${includedir}/directfb -I${includedir}
diff --git a/meta/recipes-graphics/directfb/files/dont-use-linux-config.patch b/meta/recipes-graphics/directfb/files/dont-use-linux-config.patch
new file mode 100644
index 000000000..f97166095
--- /dev/null
+++ b/meta/recipes-graphics/directfb/files/dont-use-linux-config.patch
@@ -0,0 +1,12 @@
+diff -urN DirectFB-1.1.0.orig/lib/direct/ppcasm_memcpy_cachable.S DirectFB-1.1.0/lib/direct/ppcasm_memcpy_cachable.S
+--- DirectFB-1.1.0.orig/lib/direct/ppcasm_memcpy_cachable.S 2007-08-07 21:43:00.000000000 +0200
++++ DirectFB-1.1.0/lib/direct/ppcasm_memcpy_cachable.S 2008-06-07 04:14:26.000000000 +0200
+@@ -34,8 +34,6 @@
+
+ #define __ASSEMBLY__
+
+-#include <linux/config.h>
+-
+ #if defined(CONFIG_8xx) || defined(CONFIG_403GCX)
+ #define L1_CACHE_LINE_SIZE 16
+ #define LG_L1_CACHE_LINE_SIZE 4
diff --git a/meta/recipes-graphics/drm/libdrm-2.4.22/installtests.patch b/meta/recipes-graphics/drm/libdrm-2.4.23/installtests.patch
index 9d6a168bb..9d6a168bb 100644
--- a/meta/recipes-graphics/drm/libdrm-2.4.22/installtests.patch
+++ b/meta/recipes-graphics/drm/libdrm-2.4.23/installtests.patch
diff --git a/meta/recipes-graphics/drm/libdrm.inc b/meta/recipes-graphics/drm/libdrm.inc
index 54968dbd6..a66afad80 100644
--- a/meta/recipes-graphics/drm/libdrm.inc
+++ b/meta/recipes-graphics/drm/libdrm.inc
@@ -1,5 +1,8 @@
-SUMMARY = "Direct Rendering Manager userspace library"
-DESCRIPTION = "userspace library for accessing the DRM(direct rendering manager)"
+SUMMARY = "Userspace interface to the kernel DRM services"
+DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \
+stands for \"Direct Rendering Manager\", which is the kernel portion of the \
+\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \
+accelerated OpenGL drivers."
HOMEPAGE = "http://dri.freedesktop.org"
SECTION = "x11/base"
LICENSE = "MIT"
diff --git a/meta/recipes-graphics/drm/libdrm_2.4.22.bb b/meta/recipes-graphics/drm/libdrm_2.4.23.bb
index d8e0fffd9..1546ceae6 100644
--- a/meta/recipes-graphics/drm/libdrm_2.4.22.bb
+++ b/meta/recipes-graphics/drm/libdrm_2.4.23.bb
@@ -3,7 +3,7 @@ require libdrm.inc
LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71"
SRC_URI += "file://installtests.patch"
-SRC_URI[md5sum] = "3bdfa33f35d1c902e5115cceb5500c83"
-SRC_URI[sha256sum] = "0bb0e594e4094d9000d80f38e96e8f640b6364f96cfef5b970cf4481443c6b3d"
+SRC_URI[md5sum] = "7577ff36ec364d88fae466d4f7fc5fc6"
+SRC_URI[sha256sum] = "c0f06d68c3edba7a1ad937f5481a8c287efd4cd368cee66cd9e678b06a911c18"
PR = "r0"
diff --git a/meta/recipes-graphics/drm/libdrm_git.bb b/meta/recipes-graphics/drm/libdrm_git.bb
index d80dd5f43..866da5de2 100644
--- a/meta/recipes-graphics/drm/libdrm_git.bb
+++ b/meta/recipes-graphics/drm/libdrm_git.bb
@@ -4,5 +4,5 @@ SRC_URI = "git://anongit.freedesktop.org/git/mesa/drm;protocol=git"
S = ${WORKDIR}/git
-PV = "2.4.15+git${SRCREV}"
+PV = "2.4.15+git${SRCPV}"
PR = "r0"
diff --git a/meta/recipes-graphics/fontconfig/fontconfig_2.8.0.bb b/meta/recipes-graphics/fontconfig/fontconfig_2.8.0.bb
index 8d2d6b57d..3cdfc0407 100644
--- a/meta/recipes-graphics/fontconfig/fontconfig_2.8.0.bb
+++ b/meta/recipes-graphics/fontconfig/fontconfig_2.8.0.bb
@@ -1,5 +1,13 @@
-SUMMARY = "Font configuration and customization library"
-DESCRIPTION = "A library for configuring and customizing font access."
+SUMMARY = "Generic font configuration library"
+DESCRIPTION = "Fontconfig is a font configuration and customization library, which \
+does not depend on the X Window System. It is designed to locate \
+fonts within the system and select them according to requirements \
+specified by applications. \
+Fontconfig is not a rasterization library, nor does it impose a \
+particular rasterization library on the application. The X-specific \
+library 'Xft' uses fontconfig along with freetype to specify and \
+rasterize fonts."
+
HOMEPAGE = "http://www.fontconfig.org"
BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig"
diff --git a/meta/recipes-graphics/freetype/freetype-2.4.3/no-hardcode.patch b/meta/recipes-graphics/freetype/freetype-2.4.4/no-hardcode.patch
index 44ae450a1..44ae450a1 100644
--- a/meta/recipes-graphics/freetype/freetype-2.4.3/no-hardcode.patch
+++ b/meta/recipes-graphics/freetype/freetype-2.4.4/no-hardcode.patch
diff --git a/meta/recipes-graphics/freetype/freetype_2.4.3.bb b/meta/recipes-graphics/freetype/freetype_2.4.4.bb
index 63061fbc1..661650cce 100644
--- a/meta/recipes-graphics/freetype/freetype_2.4.3.bb
+++ b/meta/recipes-graphics/freetype/freetype_2.4.4.bb
@@ -18,8 +18,8 @@ PR = "r0"
SRC_URI = "${SOURCEFORGE_MIRROR}/freetype/freetype-${PV}.tar.bz2 \
file://no-hardcode.patch"
-SRC_URI[md5sum] = "75ac7082bde7b3805dc5d6bc806fa045"
-SRC_URI[sha256sum] = "b4e626db62fd1b4549ff5d57f5eca3a41631fd6066adf8a31c11879b51249afc"
+SRC_URI[md5sum] = "b3e2b6e2f1c3e0dffa1fd2a0f848b671"
+SRC_URI[sha256sum] = "4b8281c7dc4d375c6b65d3c6f4808e488a313fab47d7be82aad2c871c8480fef"
S = "${WORKDIR}/freetype-${PV}"
diff --git a/meta/recipes-graphics/fstests/files/dso_linking_change_build_fix.patch b/meta/recipes-graphics/fstests/files/dso_linking_change_build_fix.patch
new file mode 100644
index 000000000..03645b818
--- /dev/null
+++ b/meta/recipes-graphics/fstests/files/dso_linking_change_build_fix.patch
@@ -0,0 +1,72 @@
+after gcc linking has changed, all the libraries must be explicitely specified
+This patch avoids these linking errors:
+
+
+| make[1]: Entering directory `/disk0/pokybuild/build1/tmp/work/i586-poky-linux/fstests-0.0+svnr426-r0/fstests/tests'^M
+| ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/gtk-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/gtk-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/atk-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/cairo -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pixman-1 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libpng12 -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o test-gtk-layout test_gtk_layout-test-gtk-layout.o -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -pthread -lpangoxft-1.0 -lpangoft2-1.0 -lXft -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0^M
+| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: t^A: invalid DSO for symbol `XSync' definition^M
+| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libX11.so.6: could not read symbols: Bad value^M
+| collect2: ld returned 1 exit status^M
+| make[1]: *** [test-gtk-layout] Error 1
+
+
+|ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o test-pango test_pango-test-pango.o -pthread -lpangoxft-1.0 -lpangoft2-1.0 -lXft -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
+| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: �: invalid DSO for symbol `XOpenDisplay' definition
+| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libX11.so.6: could not read symbols: Bad value
+| collect2: ld returned 1 exit status
+| make[1]: *** [test-pango] Error 1
+
+
+| ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/gtk-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/gtk-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/atk-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/cairo -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pixman-1 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libpng12 -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o test-pango-gdk test_pango_gdk-test-pango-gdk.o -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -pthread -lpangoxft-1.0 -lpangoft2-1.0 -lXft -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
+| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: t: invalid DSO for symbol `XSync' definition
+| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libX11.so.6: could not read symbols: Bad value
+| collect2: ld returned 1 exit status
+| make[1]: *** [test-pango-gdk] Error 1
+
+
+| ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/gtk-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/gtk-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/atk-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/cairo -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pixman-1 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libpng12 -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o test-pango-gtk test_pango_gtk-test-pango-gtk.o -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -pthread -lpangoxft-1.0 -lpangoft2-1.0 -lXft -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
+| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: t: invalid DSO for symbol `XSync' definition
+| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libX11.so.6: could not read symbols: Bad value
+| collect2: ld returned 1 exit status
+| make[1]: *** [test-pango-gtk] Error 1
+
+
+Nitin A Kamble <nitin.a.kamble@intel.com>
+Date: 2011/01/11
+
+Index: tests/Makefile.am
+===================================================================
+--- tests.orig/Makefile.am
++++ tests/Makefile.am
+@@ -48,19 +48,19 @@ test_xft_CFLAGS = @XLIBS_CFLAGS@ @PANGO_
+
+ # draws pango strings with just x
+ test_pango_SOURCES = test-pango.c
+-test_pango_LDADD = @PANGO_LIBS@
++test_pango_LDADD = @PANGO_LIBS@ @XLIBS_LIBS@
+ test_pango_CFLAGS = @PANGO_CFLAGS@
+
+ #below are as above but on
+
+ # Draws a list of Pango glyphs onto a GtkWindow with pango_xft_render
+ test_pango_gdk_SOURCES = test-pango-gdk.c
+-test_pango_gdk_LDADD = @GTK_LIBS@ @PANGO_LIBS@
++test_pango_gdk_LDADD = @GTK_LIBS@ @PANGO_LIBS@ @XLIBS_LIBS@
+ test_pango_gdk_CFLAGS = @GTK_CFLAGS@ @PANGO_CFLAGS@
+
+ # Draws a list of Pango glyphs onto a GtkDrawingArea with pango_xft_render
+ test_pango_gtk_SOURCES = test-pango-gtk.c
+-test_pango_gtk_LDADD = @GTK_LIBS@ @PANGO_LIBS@
++test_pango_gtk_LDADD = @GTK_LIBS@ @PANGO_LIBS@ @XLIBS_LIBS@
+ test_pango_gtk_CFLAGS = @GTK_CFLAGS@ @PANGO_CFLAGS@
+
+ # Draws a list of Pango glyphs onto a GtkWindow with gdk_draw_glyphs
+@@ -76,7 +76,7 @@ test_pango_layout_CFLAGS = @GTK_CFLAGS@
+
+ # As above PangoLayout onto a GtkWindow with gdk_draw_layout XXX TOGO ?
+ test_gtk_layout_SOURCES = test-gtk-layout.c
+-test_gtk_layout_LDADD = @GTK_LIBS@ @PANGO_LIBS@
++test_gtk_layout_LDADD = @GTK_LIBS@ @PANGO_LIBS@ @XLIBS_LIBS@
+ test_gtk_layout_CFLAGS = @GTK_CFLAGS@ @PANGO_CFLAGS@
+
+
diff --git a/meta/recipes-graphics/fstests/fstests_svn.bb b/meta/recipes-graphics/fstests/fstests_svn.bb
index 9d26e0723..3c0d7b0b1 100644
--- a/meta/recipes-graphics/fstests/fstests_svn.bb
+++ b/meta/recipes-graphics/fstests/fstests_svn.bb
@@ -3,12 +3,13 @@ HOMEPAGE = "http://www.o-hand.com"
SECTION = "devel"
LICENSE = "ZLIB"
DEPENDS = "pango libxext libxft virtual/libx11 gtk+"
-PV = "0.0+svnr${SRCREV}"
-PR = "r0"
+PV = "0.0+svnr${SRCPV}"
+PR = "r1"
inherit autotools
-SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=fstests;proto=http"
+SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=fstests;proto=http \
+ file://dso_linking_change_build_fix.patch"
S = "${WORKDIR}/fstests/tests"
diff --git a/meta/recipes-graphics/libfakekey/libfakekey_svn.bb b/meta/recipes-graphics/libfakekey/libfakekey_git.bb
index 719a680a4..8670ad821 100644
--- a/meta/recipes-graphics/libfakekey/libfakekey_svn.bb
+++ b/meta/recipes-graphics/libfakekey/libfakekey_git.bb
@@ -9,11 +9,11 @@ LIC_FILES_CHKSUM = "file://src/libfakekey.c;endline=30;md5=602b5ccd48f6440751086
DEPENDS = "libxtst"
SECTION = "x11/wm"
-PV = "0.0+svnr${SRCREV}"
-PR = "r1"
+PV = "0.0+git${SRCPV}"
+PR = "r0"
-SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http"
+SRC_URI = "git://git.pokylinux.org/${PN};protocol=git"
-S = "${WORKDIR}/${PN}"
+S = "${WORKDIR}/git"
inherit autotools pkgconfig gettext
diff --git a/meta/recipes-graphics/libmatchbox/libmatchbox_svn.bb b/meta/recipes-graphics/libmatchbox/libmatchbox_git.bb
index 98c901f67..f916889cc 100644
--- a/meta/recipes-graphics/libmatchbox/libmatchbox_svn.bb
+++ b/meta/recipes-graphics/libmatchbox/libmatchbox_git.bb
@@ -1,16 +1,16 @@
require libmatchbox.inc
-PV = "1.7+svnr${SRCREV}"
-PR = "r5"
+PV = "1.9+git${SRCPV}"
+PR = "r0"
DEFAULT_PREFERENCE = "-1"
-SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http \
+SRC_URI = "git://git.pokylinux.org/${PN};protocol=git \
file://configure_fixes.patch;patch=1 \
file://check.m4 \
file://16bppfixes.patch;patch=1 \
file://matchbox-start-fix.patch;patch=1"
-S = "${WORKDIR}/libmatchbox"
+S = "${WORKDIR}/git"
do_configure_prepend () {
cp ${WORKDIR}/check.m4 ${S}/
diff --git a/meta/recipes-graphics/libsdl/libsdl-nativesdk_1.2.11.bb b/meta/recipes-graphics/libsdl/libsdl-nativesdk_1.2.11.bb
index 633a4c284..2ef14b83a 100644
--- a/meta/recipes-graphics/libsdl/libsdl-nativesdk_1.2.11.bb
+++ b/meta/recipes-graphics/libsdl/libsdl-nativesdk_1.2.11.bb
@@ -1,10 +1,12 @@
DESCRIPTION = "Simple DirectMedia Layer - native Edition"
HOMEPAGE = "http://www.libsdl.org"
SECTION = "libs"
-LICENSE = "LGPL"
+LICENSE = "LGPLv2.1"
DEPENDS = "libx11-nativesdk libxext-nativesdk libxrandr-nativesdk libxrender-nativesdk"
-RDEPENDS = "libx11-nativesdk libxrandr-nativesdk libxrender-nativesdk libxext-nativesdk"
-PR = "r4"
+RDEPENDS_${PN} = "libx11-nativesdk libxrandr-nativesdk libxrender-nativesdk libxext-nativesdk"
+PR = "r5"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=27818cd7fd83877a8e3ef82b82798ef4"
SRC_URI = "http://www.libsdl.org/release/SDL-${PV}.tar.gz \
file://acinclude.m4 \
diff --git a/meta/recipes-graphics/matchbox-wm-2/matchbox-wm-2_svn.bb b/meta/recipes-graphics/matchbox-wm-2/matchbox-wm-2_svn.bb
index 9c5cd939b..2eb12e14e 100644
--- a/meta/recipes-graphics/matchbox-wm-2/matchbox-wm-2_svn.bb
+++ b/meta/recipes-graphics/matchbox-wm-2/matchbox-wm-2_svn.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://matchbox/core/mb-wm.h;endline=21;md5=1b1d328a52790635
DEPENDS = "virtual/libx11 libxext libxrender startup-notification expat gconf pango libxdamage libxcomposite gtk+"
-PV = "0.0+svnr${SRCREV}"
+PV = "0.0+svnr${SRCPV}"
PR = "r4"
SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=matchbox-window-manager-2;proto=http \
diff --git a/meta/recipes-graphics/matchbox-wm/matchbox-wm_0.9.5.bb b/meta/recipes-graphics/matchbox-wm/matchbox-wm_0.9.5.bb
deleted file mode 100644
index e09eb00ed..000000000
--- a/meta/recipes-graphics/matchbox-wm/matchbox-wm_0.9.5.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SECTION = "x11/wm"
-DESCRIPTION = "Matchbox window manager"
-LICENSE = "GPL"
-DEPENDS = "libmatchbox virtual/libx11 libxext libxcomposite libxfixes xdamage libxrender startup-notification expat gconf"
-PR="r2"
-
-
-SRC_URI = "http://projects.o-hand.com/matchbox/sources/matchbox-window-manager/0.9/matchbox-window-manager-${PV}.tar.gz \
- file://kbdconfig"
-
-S = "${WORKDIR}/matchbox-window-manager-${PV}"
-
-inherit autotools pkgconfig update-alternatives
-
-FILES_${PN} = "${bindir}/* \
- ${datadir}/matchbox \
- ${sysconfdir}/matchbox \
- ${datadir}/themes/blondie/matchbox \
- ${datadir}/themes/Default/matchbox \
- ${datadir}/themes/MBOpus/matchbox"
-
-ALTERNATIVE_NAME = "x-session-manager"
-ALTERNATIVE_LINK = "${bindir}/x-session-manager"
-ALTERNATIVE_PATH = "${bindir}/matchbox-session"
-ALTERNATIVE_PRIORITY = "10"
-
-EXTRA_OECONF = " --enable-startup-notification --disable-xrm"
-
-do_install_prepend() {
- install ${WORKDIR}/kbdconfig ${S}/data/kbdconfig
-}
-
diff --git a/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.1.bb b/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.1.bb
deleted file mode 100644
index ebed31e2a..000000000
--- a/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.1.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SECTION = "x11/wm"
-DESCRIPTION = "Matchbox window manager"
-LICENSE = "GPL"
-DEPENDS = "libmatchbox virtual/libx11 libxext libxcomposite libxfixes xdamage libxrender startup-notification expat"
-PR="r4"
-
-
-SRC_URI = "http://projects.o-hand.com/matchbox/sources/matchbox-window-manager/1.1/matchbox-window-manager-${PV}.tar.gz \
- file://kbdconfig \
- file://gconf-2.m4"
-
-S = "${WORKDIR}/matchbox-window-manager-${PV}"
-
-inherit autotools pkgconfig update-alternatives
-
-FILES_${PN} = "${bindir}/* \
- ${datadir}/matchbox \
- ${sysconfdir}/matchbox \
- ${datadir}/themes/blondie/matchbox \
- ${datadir}/themes/Default/matchbox \
- ${datadir}/themes/MBOpus/matchbox"
-
-ALTERNATIVE_NAME = "x-session-manager"
-ALTERNATIVE_LINK = "${bindir}/x-session-manager"
-ALTERNATIVE_PATH = "${bindir}/matchbox-session"
-ALTERNATIVE_PRIORITY = "10"
-
-EXTRA_OECONF = " --enable-startup-notification --disable-xrm"
-
-do_configure_prepend () {
- cp ${WORKDIR}/gconf-2.m4 ${S}/
-}
-
-do_install_prepend() {
- install ${WORKDIR}/kbdconfig ${S}/data/kbdconfig
-}
-
diff --git a/meta/recipes-graphics/matchbox-wm/matchbox-wm_svn.bb b/meta/recipes-graphics/matchbox-wm/matchbox-wm_git.bb
index 09c0f70f4..086d4853e 100644
--- a/meta/recipes-graphics/matchbox-wm/matchbox-wm_svn.bb
+++ b/meta/recipes-graphics/matchbox-wm/matchbox-wm_git.bb
@@ -10,14 +10,14 @@ LIC_FILES_CHKSUM = "file://src/wm.h;endline=21;md5=a7e844465edbcf79c282369f93caa
SECTION = "x11/wm"
DEPENDS = "libmatchbox virtual/libx11 libxext libxrender startup-notification expat gconf"
-PV = "1.2+svnr${SRCREV}"
-PR = "r4"
+PV = "1.2+git${SRCPV}"
+PR = "r0"
-SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=matchbox-window-manager;proto=http \
+SRC_URI = "git://git.pokylinux.org/matchbox-window-manager;protocol=git \
file://configure_fix.patch;patch=1;maxrev=1818 \
file://kbdconfig"
-S = "${WORKDIR}/matchbox-window-manager"
+S = "${WORKDIR}/git"
inherit autotools pkgconfig update-alternatives
diff --git a/meta/recipes-graphics/mesa/mesa-common.inc b/meta/recipes-graphics/mesa/mesa-common.inc
index f029d3d6e..d8e800ee1 100644
--- a/meta/recipes-graphics/mesa/mesa-common.inc
+++ b/meta/recipes-graphics/mesa/mesa-common.inc
@@ -1,11 +1,18 @@
-DESCRIPTION = "An open source implementation of the OpenGL spec"
+SUMMARY = "A free implementation of the OpenGL API"
+DESCRIPTION = "Mesa is an open-source implementation of the OpenGL specification - \
+a system for rendering interactive 3D graphics. \
+A variety of device drivers allows Mesa to be used in many different environments \
+ranging from software emulation to complete hardware acceleration for modern GPUs. \
+Mesa is used as part of the overall Direct Rendering Infrastructure and X.org \
+environment."
+
HOMEPAGE = "http://mesa3d.org"
BUGTRACKER = "https://bugs.freedesktop.org"
SECTION = "x11"
LICENSE = "MIT"
-SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \
- ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaDemos-${PV}.tar.bz2 "
+SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2;name=mesalib \
+ ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaDemos-${PV}.tar.bz2;name=mesademos "
S = "${WORKDIR}/Mesa-${PV}"
diff --git a/meta/recipes-graphics/mesa/mesa-demos/dso_linking_change_build_fix.patch b/meta/recipes-graphics/mesa/mesa-demos/dso_linking_change_build_fix.patch
new file mode 100644
index 000000000..aa2faf9d1
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa-demos/dso_linking_change_build_fix.patch
@@ -0,0 +1,23 @@
+after gcc linking has changed, all the libraries must be explicitely specified
+This patch avoids these linking errors:
+
+| CCLD xeglgears
+| /build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/libexec/armv5te-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.5.1/ld: xeglthreads.o: undefined reference to symbol 'pthread_join@@GLIBC_2.4'
+| /build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/libexec/armv5te-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.5.1/ld: note: 'pthread_join@@GLIBC_2.4' is defined in DSO /build_disk/poky_build/build0/tmp/sysroots/qemuarm/lib/libpthread.so.0 so try adding it to the linker command line
+| /build_disk/poky_build/build0/tmp/sysroots/qemuarm/lib/libpthread.so.0: could not read symbols: Invalid operation
+| collect2: ld returned 1 exit status
+
+
+Nitin A Kamble <nitin.a.kamble@intel.com>
+Date: 2011/02/03
+
+
+Index: mesa-demos-8.0.1/src/egl/opengl/Makefile.am
+===================================================================
+--- mesa-demos-8.0.1.orig/src/egl/opengl/Makefile.am 2010-07-07 10:57:15.000000000 -0700
++++ mesa-demos-8.0.1/src/egl/opengl/Makefile.am 2011-02-03 14:30:13.928486381 -0800
+@@ -67,3 +67,4 @@
+
+ eglgears_x11_LDADD = ../eglut/libeglut_x11.la
+ egltri_x11_LDADD = ../eglut/libeglut_x11.la
++xeglthreads_LDADD = -lpthread
diff --git a/meta/recipes-graphics/mesa/mesa-demos_8.0.1.bb b/meta/recipes-graphics/mesa/mesa-demos_8.0.1.bb
index fde245319..504a8b700 100644
--- a/meta/recipes-graphics/mesa/mesa-demos_8.0.1.bb
+++ b/meta/recipes-graphics/mesa/mesa-demos_8.0.1.bb
@@ -1,4 +1,6 @@
-DESCRIPTION = "mesa demo applications"
+SUMMARY = "Mesa demo applications"
+DESCRIPTION = "This package includes the demonstration application, such as glxgears. \
+These applications can be used for Mesa validation and benchmarking."
HOMEPAGE = "http://mesa3d.org"
BUGTRACKER = "https://bugs.freedesktop.org"
SECTION = "x11"
@@ -9,9 +11,10 @@ LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=9142
DEPENDS = "virtual/libx11 virtual/libgl glew"
-PR = "r0"
+PR = "r1"
-SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/demos/${PV}/${PN}-${PV}.tar.bz2"
+SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/demos/${PV}/${PN}-${PV}.tar.bz2 \
+ file://dso_linking_change_build_fix.patch"
inherit autotools pkgconfig
diff --git a/meta/recipes-graphics/mesa/mesa-dri-glsl-native_7.8.2.bb b/meta/recipes-graphics/mesa/mesa-dri-glsl-native_7.8.2.bb
new file mode 100644
index 000000000..d6f2c33ea
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa-dri-glsl-native_7.8.2.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "gl shader language specific build from mesa-dri"
+HOMEPAGE = "http://mesa3d.org"
+BUGTRACKER = "https://bugs.freedesktop.org"
+SECTION = "x11"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://apps/compile.c;endline=26;md5=27c2833286ce9566b162bcbe21d5b267"
+PR = "r0"
+
+DEPENDS = "makedepend-native"
+
+SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2"
+SRC_URI[md5sum] = "6be2d343a0089bfd395ce02aaf8adb57"
+SRC_URI[sha256sum] = "505bf418dceba05837f4ea1b1972b9620c35f8cb94bc4d1e6d573c15f562576d"
+
+S = "${WORKDIR}/Mesa-7.8.2/src/glsl/"
+
+inherit native
+
+# use default config for native build
+do_configure_prepend() {
+ ln -s ${S}/../../configs/default ${S}/../../configs/current
+}
+
+do_install() {
+ install -d ${D}/${bindir}
+ install -m 755 ${S}/apps/compile ${D}/${bindir}/glsl-compile
+}
diff --git a/meta/recipes-graphics/mesa/mesa-dri-glsl-native_7.9.bb b/meta/recipes-graphics/mesa/mesa-dri-glsl-native_7.9.bb
deleted file mode 100644
index ffc113bfa..000000000
--- a/meta/recipes-graphics/mesa/mesa-dri-glsl-native_7.9.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION = "gl shader language specific build from mesa-dri"
-HOMEPAGE = "http://mesa3d.org"
-BUGTRACKER = "https://bugs.freedesktop.org"
-SECTION = "x11"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://main.cpp;endline=22;md5=a12a9c0208ee64a07ce314dfed4c81eb"
-PR = "r0"
-
-DEPENDS = "makedepend-native talloc-native"
-
-SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2"
-
-S = "${WORKDIR}/Mesa-${PV}/src/glsl"
-
-inherit native
-
-# use default config for native build
-do_configure_prepend() {
- ln -sf ${S}/../../configs/default ${S}/../../configs/current
-}
-
-do_install() {
- install -d ${D}/${bindir}
- install -m 755 ${S}/glsl_compiler ${D}/${bindir}/
-}
diff --git a/meta/recipes-graphics/mesa/mesa-dri_7.9.bb b/meta/recipes-graphics/mesa/mesa-dri_7.10.bb
index 313b655d2..3031e4b68 100644
--- a/meta/recipes-graphics/mesa/mesa-dri_7.9.bb
+++ b/meta/recipes-graphics/mesa/mesa-dri_7.10.bb
@@ -6,19 +6,19 @@ PROTO_DEPS = "xf86driproto glproto dri2proto"
LIB_DEPS = "libdrm virtual/libx11 libxext libxxf86vm libxdamage libxfixes expat \
libxml2-native talloc"
-DEPENDS = "${PROTO_DEPS} ${LIB_DEPS} mesa-dri-glsl-native"
+DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}"
-PR = "r1"
+PR = "r0"
SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \
file://crossfix.patch"
+SRC_URI[md5sum] = "33fb94eccc02cbb4d8d1365615e38e46"
+SRC_URI[sha256sum] = "bcf28f43f39c28da271c0f5857fb32898d4ade3e035e80a0ceece1c2df6e0aca"
+
# most of our targets do not have DRI so will use mesa-xlib
DEFAULT_PREFERENCE = "-1"
-# Atom PCs have DRI support so use mesa-dri by default
-DEFAULT_PREFERENCE_atom-pc = "1"
-
LEAD_SONAME = "libGL.so.1"
EXTRA_OECONF += "--with-driver=dri --disable-egl --disable-gallium"
diff --git a/meta/recipes-graphics/mesa/mesa-dri_7.8.2.bb b/meta/recipes-graphics/mesa/mesa-dri_7.8.2.bb
new file mode 100644
index 000000000..60edddf64
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa-dri_7.8.2.bb
@@ -0,0 +1,59 @@
+include mesa-common.inc
+
+LIC_FILES_CHKSUM = "file://docs/license.html;md5=7a3373c039b6b925c427755a4f779c1d"
+
+PROTO_DEPS = "xf86driproto glproto dri2proto"
+LIB_DEPS = "libdrm virtual/libx11 libxext libxxf86vm libxdamage libxfixes expat"
+
+DEPENDS = "${PROTO_DEPS} ${LIB_DEPS} mesa-dri-glsl-native"
+
+PR = "r2"
+
+SRC_URI += "file://crossfix.patch"
+
+SRC_URI[mesalib.md5sum] = "6be2d343a0089bfd395ce02aaf8adb57"
+SRC_URI[mesalib.sha256sum] = "505bf418dceba05837f4ea1b1972b9620c35f8cb94bc4d1e6d573c15f562576d"
+
+SRC_URI[mesademos.md5sum] = "757d9e2e06f48b1a52848be9b0307ced"
+SRC_URI[mesademos.sha256sum] = "ea7b9ebfb7a80de2b275c0c9124c8a505382ec48411a2794ab82542f9885ac3c"
+
+# most of our targets do not have DRI so will use mesa-xlib
+DEFAULT_PREFERENCE = "-1"
+
+# Atom PCs have DRI support so use mesa-dri by default
+DEFAULT_PREFERENCE_atom-pc = "1"
+
+LEAD_SONAME = "libGL.so.1"
+
+EXTRA_OECONF += "--with-driver=dri --disable-egl --disable-gallium"
+
+# We need glsl-compile built for buildhost arch instead of target (is provided by mesa-dri-glsl-native)"
+do_configure_prepend() {
+ sed -i "s#^GLSL_CL = .*\$#GLSL_CL = ${STAGING_BINDIR_NATIVE}/glsl-compile#g" ${S}/src/mesa/shader/slang/library/Makefile
+}
+
+do_install_append () {
+ install -d ${D}/usr/bin
+ install -m 0755 ${S}/progs/xdemos/{glxdemo,glxgears,glxheads,glxinfo} ${D}/usr/bin/
+}
+
+python populate_packages_prepend() {
+ import os.path
+
+ dri_drivers_root = os.path.join(bb.data.getVar('libdir', d, 1), "dri")
+
+ do_split_packages(d, dri_drivers_root, '^(.*)_dri\.so$', 'mesa-dri-driver-%s', 'Mesa %s DRI driver', extra_depends='')
+}
+
+COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)'
+
+PACKAGES =+ "${PN}-xprogs"
+PACKAGES_DYNAMIC = "mesa-dri-driver-*"
+
+FILES_${PN}-dbg += "${libdir}/dri/.debug/*"
+FILES_${PN}-xprogs = "${bindir}/glxdemo ${bindir}/glxgears ${bindir}/glxheads ${bindir}/glxinfo"
+
+#
+# Header generated by i586-poky-linux-gcc gen_matypes.c -o gen_matypes -I ../../../include/GL -I ../../../include -I .. -I ../main/ -I ../math -I ../glapi/ -I ../tnl
+# then run gen_matypes > matypes.h on device
+#
diff --git a/meta/recipes-graphics/mutter/mutter.inc b/meta/recipes-graphics/mutter/mutter.inc
index 456348754..a734cdda4 100644
--- a/meta/recipes-graphics/mutter/mutter.inc
+++ b/meta/recipes-graphics/mutter/mutter.inc
@@ -1,7 +1,7 @@
SECTION = "x11/wm"
DESCRIPTION = "Metacity is the boring window manager for the adult in you. Mutter is metacity + clutter."
LICENSE = "GPLv2"
-DEPENDS = "startup-notification gtk+ gconf clutter-1.0 gdk-pixbuf-csource-native intltool glib-2.0-native"
+DEPENDS = "startup-notification gtk+ gconf clutter-1.4 gdk-pixbuf-native intltool glib-2.0-native"
# gobject-introspection
inherit gnome update-alternatives
@@ -10,6 +10,9 @@ ALTERNATIVE_LINK = "${bindir}/x-window-manager"
ALTERNATIVE_PATH = "${bindir}/mutter"
ALTERNATIVE_PRIORITY = "11"
+COMPATIBLE_MACHINE = "(zylonite|mx31litekit|omap-3430ldp|omap-3430sdp|mx31ads|qemuarm|qemux86|ipodtouch|atom-pc|menlow)"
+
+
EXTRA_OECONF += "--disable-verbose \
--disable-xinerama \
--without-introspection \
diff --git a/meta/recipes-graphics/mutter/mutter_git.bb b/meta/recipes-graphics/mutter/mutter_git.bb
index 6f88360fc..37e2361ca 100644
--- a/meta/recipes-graphics/mutter/mutter_git.bb
+++ b/meta/recipes-graphics/mutter/mutter_git.bb
@@ -1,7 +1,7 @@
require mutter.inc
-PV = "2.28.1+git${SRCPV}"
-PR = "r18"
+PV = "2.29.1+git${SRCPV}"
+PR = "r0"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
diff --git a/meta/recipes-graphics/pango/pango.inc b/meta/recipes-graphics/pango/pango.inc
index 38ca3bed5..5a8a5aef7 100644
--- a/meta/recipes-graphics/pango/pango.inc
+++ b/meta/recipes-graphics/pango/pango.inc
@@ -1,7 +1,9 @@
SUMMARY = "Framework for layout and rendering of internationalized text"
-DESCRIPTION = "The goal of the Pango project is to provide an \
-Open Source framework for the layout and rendering of \
-internationalized text."
+DESCRIPTION = "Pango is a library for laying out and rendering of text, \
+with an emphasis on internationalization. Pango can be used anywhere \
+that text layout is needed, though most of the work on Pango so far has \
+been done in the context of the GTK+ widget toolkit. Pango forms the \
+core of text and font handling for GTK+-2.x."
HOMEPAGE = "http://www.pango.org/"
BUGTRACKER = "http://bugzilla.gnome.org"
SECTION = "x11/libs"
diff --git a/meta/recipes-graphics/tasks/task-poky-clutter.bb b/meta/recipes-graphics/tasks/task-poky-clutter.bb
index 5e54f15a7..5fe23b92f 100644
--- a/meta/recipes-graphics/tasks/task-poky-clutter.bb
+++ b/meta/recipes-graphics/tasks/task-poky-clutter.bb
@@ -7,7 +7,7 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${POKYBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-PR = "r3"
+PR = "r4"
PACKAGES = "\
task-poky-clutter-core \
@@ -24,13 +24,13 @@ PACKAGES = "\
ALLOW_EMPTY = "1"
RDEPENDS_task-poky-clutter-core = "\
- clutter-1.0 \
- clutter-gst-1.0 \
- clutter-gtk-1.0"
+ clutter-1.4 \
+ clutter-gst-1.4 \
+ clutter-gtk-1.4"
RDEPENDS_task-poky-clutter-tests = "\
- clutter-gst-1.0-examples \
- clutter-gtk-1.0-examples"
+ clutter-gst-1.4-examples \
+ clutter-gtk-1.4-examples"
-RDEPENDS_task-poky-clutter-apps = "\
- clutter-box2d "
+#RDEPENDS_task-poky-clutter-apps = "\
+# clutter-box2d "
diff --git a/meta/recipes-graphics/tslib/tslib_1.0.bb b/meta/recipes-graphics/tslib/tslib_1.0.bb
index fd75d6064..51529e3f1 100644
--- a/meta/recipes-graphics/tslib/tslib_1.0.bb
+++ b/meta/recipes-graphics/tslib/tslib_1.0.bb
@@ -1,4 +1,8 @@
-DESCRIPTION = "tslib is a plugin-based flexible touchscreen access library."
+SUMMARY = "An abstraction layer for touchscreen panel events."
+DESCRIPTION = "Tslib is an abstraction layer for touchscreen panel \
+events, as well as a filter stack for the manipulation of those events. \
+Tslib is generally used on embedded devices to provide a common user \
+space interface to touchscreen functionality."
HOMEPAGE = "http://tslib.berlios.de/"
AUTHOR = "Russell King w/ plugins by Chris Larson et. al."
diff --git a/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb b/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb
index bba1c246a..12d9d8672 100644
--- a/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb
+++ b/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb
@@ -1,5 +1,7 @@
SUMMARY = "Liberation(tm) Fonts"
-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"
+DESCRIPTION = "The Liberation(tm) Fonts is a font family originally \
+created by Ascender(c) which aims at metric compatibility with \
+Arial, Times New Roman, Courier New."
HOMEPAGE = "https://fedorahosted.org/liberation-fonts/"
BUGTRACKER = "https://bugzilla.redhat.com/"
diff --git a/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.06.bb b/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.06.bb
index 210372be7..887536a4f 100644
--- a/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.06.bb
+++ b/meta/recipes-graphics/ttf-fonts/liberation-fonts_1.06.bb
@@ -1,4 +1,7 @@
-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"
+SUMMARY = "Liberation(tm) Fonts"
+DESCRIPTION = "The Liberation(tm) Fonts is a font family originally \
+created by Ascender(c) which aims at metric compatibility with \
+Arial, Times New Roman, Courier New."
HOMEPAGE = "https://fedorahosted.org/liberation-fonts/"
BUGTRACKER = "https://bugzilla.redhat.com/"
diff --git a/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb b/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb
index ed64b1e05..b9a75a77b 100644
--- a/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb
+++ b/meta/recipes-graphics/ttf-fonts/ttf-bitstream-vera_1.10.bb
@@ -1,4 +1,9 @@
-DESCRIPTION = "The Bitstream Vera fonts - TTF Edition"
+SUMMARY = "The Bitstream Vera fonts - TTF Edition"
+DESCRIPTION = "The Bitstream Vera fonts include four monospace and sans \
+faces (normal, oblique, bold, bold oblique) and two serif faces (normal \
+and bold). In addition Fontconfig/Xft2 can artificially oblique the \
+serif faces for you: this loses hinting and distorts the faces slightly, \
+but is visibly different than normal and bold, and reasonably pleasing."
SECTION = "x11/fonts"
PRIORITY = "optional"
LICENSE = "Bitstream Vera"
diff --git a/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession b/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession
index a87447a87..0b73127ae 100644
--- a/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession
+++ b/meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession
@@ -2,7 +2,7 @@
if [ -x /usr/bin/dbus-launch ]; then
# As this is the X session script, always start a new DBus session.
- eval `dbus-launch --sh-syntax --exit-with-session`
+ eval `dbus-launch --sh-syntax --exit-with-session </dev/null`
echo "D-BUS per-session daemon address is: $DBUS_SESSION_BUS_ADDRESS"
fi
diff --git a/meta/recipes-graphics/x11-common/x11-common_0.1.bb b/meta/recipes-graphics/x11-common/x11-common_0.1.bb
index d15628560..2d4995167 100644
--- a/meta/recipes-graphics/x11-common/x11-common_0.1.bb
+++ b/meta/recipes-graphics/x11-common/x11-common_0.1.bb
@@ -1,9 +1,9 @@
-DESCRIPTION = "Common X11 scripts"
+DESCRIPTION = "Common X11 scripts and configuration files"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
SECTION = "x11"
RDEPENDS_${PN} = "xmodmap xdpyinfo xtscal xinit formfactor"
-PR = "r39"
+PR = "r40"
SRC_URI = "file://etc \
file://gplv2-license.patch"
diff --git a/meta/recipes-graphics/xcb/libxcb.inc b/meta/recipes-graphics/xcb/libxcb.inc
index 37d1f8633..81d4a20c2 100644
--- a/meta/recipes-graphics/xcb/libxcb.inc
+++ b/meta/recipes-graphics/xcb/libxcb.inc
@@ -1,4 +1,7 @@
-DESCRIPTION = "XCB: an X protocol C binding"
+SUMMARY = "XCB: The X protocol C binding library"
+DESCRIPTION = "The X protocol C-language Binding (XCB) is a replacement \
+for Xlib featuring a small footprint, latency hiding, direct access to \
+the protocol, improved threading support, and extensibility."
HOMEPAGE = "http://xcb.freedesktop.org"
BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=XCB"
diff --git a/meta/recipes-graphics/xcb/libxcb_git.bb b/meta/recipes-graphics/xcb/libxcb_git.bb
index b9ac07341..faa52317c 100644
--- a/meta/recipes-graphics/xcb/libxcb_git.bb
+++ b/meta/recipes-graphics/xcb/libxcb_git.bb
@@ -1,7 +1,7 @@
DEFAULT_PREFERENCE = "-1"
include libxcb.inc
-PV = "1.1.90.1+gitr${SRCREV}"
+PV = "1.1.90.1+gitr${SRCPV}"
DEPENDS += "libpthread-stubs xcb-proto-native"
diff --git a/meta/recipes-graphics/xcb/xcb-proto.inc b/meta/recipes-graphics/xcb/xcb-proto.inc
index 2e1810f6f..ae4028298 100644
--- a/meta/recipes-graphics/xcb/xcb-proto.inc
+++ b/meta/recipes-graphics/xcb/xcb-proto.inc
@@ -1,4 +1,8 @@
-DESCRIPTION = "XCB: an X protocol C binding"
+SUMMARY = "XCB: The X protocol C binding headers"
+DESCRIPTION = "Function prototypes for the X protocol C-language Binding \
+(XCB). XCB is a replacement for Xlib featuring a small footprint, \
+latency hiding, direct access to the protocol, improved threading \
+support, and extensibility."
HOMEPAGE = "http://xcb.freedesktop.org"
BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=XCB"
diff --git a/meta/recipes-graphics/xcb/xcb-proto_git.bb b/meta/recipes-graphics/xcb/xcb-proto_git.bb
index b96fc121c..e4c238cfc 100644
--- a/meta/recipes-graphics/xcb/xcb-proto_git.bb
+++ b/meta/recipes-graphics/xcb/xcb-proto_git.bb
@@ -1,7 +1,7 @@
DEFAULT_PREFERENCE = "-1"
include xcb-proto.inc
-PV = "1.2+gitr${SRCREV}"
+PV = "1.2+gitr${SRCPV}"
PR = "r1"
SRC_URI = "git://anongit.freedesktop.org/git/xcb/proto;protocol=git"
diff --git a/meta/recipes-graphics/xcb/xcb-util.inc b/meta/recipes-graphics/xcb/xcb-util.inc
index 6bda3d0bf..cd9923d2f 100644
--- a/meta/recipes-graphics/xcb/xcb-util.inc
+++ b/meta/recipes-graphics/xcb/xcb-util.inc
@@ -1,4 +1,11 @@
-DESCRIPTION = "XCB: an X protocol C binding"
+SUMMARY = "XCB: The X protocol C binding utilities"
+DESCRIPTION = "The xcb-util module provides a number of libraries which \
+sit on top of libxcb, the core X protocol library, and some of the \
+extension libraries. These experimental libraries provide convenience \
+functions and interfaces which make the raw X protocol more usable. Some \
+of the libraries also provide client-side code which is not strictly \
+part of the X protocol but which have traditionally been provided by \
+Xlib."
HOMEPAGE = "http://xcb.freedesktop.org/XcbUtil/"
BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=XCB"
diff --git a/meta/recipes-graphics/xorg-app/mkfontdir_1.0.5.bb b/meta/recipes-graphics/xorg-app/mkfontdir_1.0.5.bb
deleted file mode 100644
index 729c2a5d4..000000000
--- a/meta/recipes-graphics/xorg-app/mkfontdir_1.0.5.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require xorg-app-common.inc
-
-DESCRIPTION = "a program to create an index of X font files in a directory"
-
-PE = "1"
-
-RDEPENDS += "mkfontscale"
-
-BBCLASSEXTEND = "native"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b4fcf2b90cadbfc15009b9e124dc3a3f"
-
-SRC_URI[md5sum] = "9365ac66d19186eaf030482d312fca06"
-SRC_URI[sha256sum] = "a534650cff503619f9101577d816cde283da993bc039273477bd8dfbd01a2d0b"
diff --git a/meta/recipes-graphics/xorg-app/mkfontdir_1.0.6.bb b/meta/recipes-graphics/xorg-app/mkfontdir_1.0.6.bb
new file mode 100644
index 000000000..2657ecf71
--- /dev/null
+++ b/meta/recipes-graphics/xorg-app/mkfontdir_1.0.6.bb
@@ -0,0 +1,21 @@
+require xorg-app-common.inc
+
+SUMMARY = "A program to create an index of X font files in a directory"
+
+DESCRIPTION = "For each directory argument, mkfontdir reads all of the \
+font files in the directory. The font names and related data are written \
+out to the files \"fonts.dir\", \"fonts.scale\", and \"fonts.alias\". \
+The X server and font server use these files to find the available font \
+files."
+
+PE = "1"
+PR = "r0"
+
+RDEPENDS_${PN} += "mkfontscale"
+
+BBCLASSEXTEND = "native"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b4fcf2b90cadbfc15009b9e124dc3a3f"
+
+SRC_URI[md5sum] = "dc342dd8858416254bb5f71a9ddce589"
+SRC_URI[sha256sum] = "55d56c6310f8d2268cb8978e838d01d27c7d70e30282c373c5a935ab3fb8c859"
diff --git a/meta/recipes-graphics/xorg-app/mkfontscale_1.0.7.bb b/meta/recipes-graphics/xorg-app/mkfontscale_1.0.7.bb
deleted file mode 100644
index c1175194a..000000000
--- a/meta/recipes-graphics/xorg-app/mkfontscale_1.0.7.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require xorg-app-common.inc
-
-DESCRIPTION = "a program to create an index of scalable font files for X"
-
-DEPENDS += " zlib libfontenc freetype virtual/libx11"
-
-BBCLASSEXTEND = "native"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ecbbbc1259a329e96ccc4dd86ad2ca2"
-
-SRC_URI[md5sum] = "96ca346f185c0ab48e42bf5bb0375da5"
-SRC_URI[sha256sum] = "8306b229cca233216a6582cb1ff60af78e37c47d6412ac823d7d41c3d7de7127"
diff --git a/meta/recipes-graphics/xorg-app/mkfontscale_1.0.8.bb b/meta/recipes-graphics/xorg-app/mkfontscale_1.0.8.bb
new file mode 100644
index 000000000..3b21c1ee2
--- /dev/null
+++ b/meta/recipes-graphics/xorg-app/mkfontscale_1.0.8.bb
@@ -0,0 +1,18 @@
+require xorg-app-common.inc
+
+SUMMARY = "A program to create an index of scalable font files for X"
+
+DESCRIPTION = "For each directory argument, mkfontscale reads all of the \
+scalable font files in the directory. For every font file found, an X11 \
+font name (XLFD) is generated, and is written together with the file \
+name to a file fonts.scale in the directory. The resulting fonts.scale \
+is used by the mkfontdir program."
+
+DEPENDS += " zlib libfontenc freetype virtual/libx11"
+
+BBCLASSEXTEND = "native"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=2e0d129d05305176d1a790e0ac1acb7f"
+
+SRC_URI[md5sum] = "5210c9385c6cc4a00ce829d8dc9c819b"
+SRC_URI[sha256sum] = "6eb57786cd79eebfbaca386fe24dcfe50689dbf433d052e58291c2925f2050f9"
diff --git a/meta/recipes-graphics/xorg-app/x11perf_1.5.2.bb b/meta/recipes-graphics/xorg-app/x11perf_1.5.2.bb
index 88dec1b78..e10fcf0b5 100644
--- a/meta/recipes-graphics/xorg-app/x11perf_1.5.2.bb
+++ b/meta/recipes-graphics/xorg-app/x11perf_1.5.2.bb
@@ -1,6 +1,11 @@
require xorg-app-common.inc
-DESCRIPTION = "X11 server performance test program"
+SUMMARY = "X11 server performance test program"
+
+DESCRIPTION = "The x11perf program runs one or more performance tests \
+and reports how fast an X server can execute the tests."
+
+
DEPENDS += "libxmu libxrender libxft libxext fontconfig"
LIC_FILES_CHKSUM = "file://COPYING;md5=428ca4d67a41fcd4fc3283dce9bbda7e \
diff --git a/meta/recipes-graphics/xorg-app/xauth_1.0.5.bb b/meta/recipes-graphics/xorg-app/xauth_1.0.5.bb
index 43e51c84d..23986ac1b 100644
--- a/meta/recipes-graphics/xorg-app/xauth_1.0.5.bb
+++ b/meta/recipes-graphics/xorg-app/xauth_1.0.5.bb
@@ -1,7 +1,7 @@
require xorg-app-common.inc
SUMMARY = "X authority utilities"
DESCRIPTION = "X application to edit and display the authorization \
-information used in connecting to the X server"
+information used in connecting to the X server."
LIC_FILES_CHKSUM = "file://COPYING;md5=5ec74dd7ea4d10c4715a7c44f159a40b"
diff --git a/meta/recipes-graphics/xorg-app/xdpyinfo_1.1.0.bb b/meta/recipes-graphics/xorg-app/xdpyinfo_1.1.0.bb
deleted file mode 100644
index ff5a58f6f..000000000
--- a/meta/recipes-graphics/xorg-app/xdpyinfo_1.1.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require xorg-app-common.inc
-
-DESCRIPTION = "X display information utility"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
-DEPENDS += "libxtst libxext libxxf86vm libxxf86dga libxxf86misc libxi libxrender libxinerama libdmx libxp libxau"
-PR = "r0"
-PE = "1"
-
-SRC_URI += "file://disable-xkb.patch"
-
-SRC_URI[md5sum] = "d1d516610316138105cd07064b257c5c"
-SRC_URI[sha256sum] = "780d8dfe65653f42ee26d35928ab7f72f5f27ab08eda692fe4baad05126a0631"
-
-EXTRA_OECONF = "--disable-xkb"
diff --git a/meta/recipes-graphics/xorg-app/xdpyinfo_1.2.0.bb b/meta/recipes-graphics/xorg-app/xdpyinfo_1.2.0.bb
new file mode 100644
index 000000000..d975d8295
--- /dev/null
+++ b/meta/recipes-graphics/xorg-app/xdpyinfo_1.2.0.bb
@@ -0,0 +1,21 @@
+require xorg-app-common.inc
+
+SUMMARY = "Display information utility for X"
+
+DESCRIPTION = "Xdpyinfo is a utility for displaying information about an \
+X server. It is used to examine the capabilities of a server, the \
+predefined values for various parameters used in communicating between \
+clients and the server, and the different types of screens and visuals \
+that are available."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=f3d09e6b9e203a1af489e16c708f4fb3"
+DEPENDS += "libxtst libxext libxxf86vm libxxf86dga libxxf86misc libxi libxrender libxinerama libdmx libxp libxau"
+PR = "r0"
+PE = "1"
+
+SRC_URI += "file://disable-xkb.patch"
+
+SRC_URI[md5sum] = "c52fda7bbc80e74b7839f29298cb1d77"
+SRC_URI[sha256sum] = "fe5bad498ecfbf21f9a2a18eee5ece9de5d52f68878f250db8f575c9b872b5ce"
+
+EXTRA_OECONF = "--disable-xkb"
diff --git a/meta/recipes-graphics/xorg-app/xhost_1.0.3.bb b/meta/recipes-graphics/xorg-app/xhost_1.0.3.bb
deleted file mode 100644
index d39058a1e..000000000
--- a/meta/recipes-graphics/xorg-app/xhost_1.0.3.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require xorg-app-common.inc
-
-DESCRIPTION = "Server access control program for X"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cbe6a2ee97dc38c7265adfec5644689b"
-DEPENDS += "libxmu libxau"
-PR = "r0"
-PE = "1"
-
-SRC_URI[md5sum] = "c7f91b4a750d297f269c2a0a3206a1b2"
-SRC_URI[sha256sum] = "2d63007c65e89fe273a43f3e45b3c0133acbc3ceeda6bfc9671388409134ad17"
diff --git a/meta/recipes-graphics/xorg-app/xhost_1.0.4.bb b/meta/recipes-graphics/xorg-app/xhost_1.0.4.bb
new file mode 100644
index 000000000..9330228a1
--- /dev/null
+++ b/meta/recipes-graphics/xorg-app/xhost_1.0.4.bb
@@ -0,0 +1,18 @@
+require xorg-app-common.inc
+
+SUMMARY = "Server access control program for X"
+
+DESCRIPTION = "The xhost program is used to add and delete host names or \
+user names to the list allowed to make connections to the X server. In \
+the case of hosts, this provides a rudimentary form of privacy control \
+and security. Environments which require more sophisticated measures \
+should implement the user-based mechanism or use the hooks in the \
+protocol for passing other authentication data to the server."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=8fbed71dddf48541818cef8079124199"
+DEPENDS += "libxmu libxau"
+PR = "r0"
+PE = "1"
+
+SRC_URI[md5sum] = "2be663a0afbcc0856c1591477d5bf32a"
+SRC_URI[sha256sum] = "5e02c06caeb7a258f3621bf11459a7820cfeaf9bf269c1f8da86d7071346a594"
diff --git a/meta/recipes-graphics/xorg-app/xinit_1.2.1.bb b/meta/recipes-graphics/xorg-app/xinit_1.2.1.bb
deleted file mode 100644
index 68150ca05..000000000
--- a/meta/recipes-graphics/xorg-app/xinit_1.2.1.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require xorg-app-common.inc
-
-DESCRIPTION = "X Window System initializer"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0d4b5eef75f1584ccbdc5e4a34314407"
-PR = "r0"
-PE = "1"
-
-FILES_${PN} += "${libdir}X11/xinit"
-
-SRC_URI[md5sum] = "56f2d202b3dc10fcd21931a67bb270f7"
-SRC_URI[sha256sum] = "16bcc73ae81b6d80fd1a9419ea757f38870d1043d440b6d56fcaa79d4c6c9b07"
diff --git a/meta/recipes-graphics/xorg-app/xinit_1.3.0.bb b/meta/recipes-graphics/xorg-app/xinit_1.3.0.bb
new file mode 100644
index 000000000..ee7c64d92
--- /dev/null
+++ b/meta/recipes-graphics/xorg-app/xinit_1.3.0.bb
@@ -0,0 +1,18 @@
+require xorg-app-common.inc
+
+SUMMARY = "X Window System initializer"
+
+DESCRIPTION = "The xinit program is used to start the X Window System \
+server and a first client program on systems that cannot start X \
+directly from /etc/init or in environments that use multiple window \
+systems. When this first client exits, xinit will kill the X server and \
+then terminate."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=0d4b5eef75f1584ccbdc5e4a34314407"
+PR = "r0"
+PE = "1"
+
+FILES_${PN} += "${libdir}X11/xinit"
+
+SRC_URI[md5sum] = "bc4e8b7d1919597cc37a0d24aa149dda"
+SRC_URI[sha256sum] = "ba76e36e1a42a7cf76505b7e6fc4777f5d14f45ddff74341abfb7dd10d5fe04c"
diff --git a/meta/recipes-graphics/xorg-app/xkbcomp/cross-compile-fix.patch b/meta/recipes-graphics/xorg-app/xkbcomp/cross-compile-fix.patch
new file mode 100644
index 000000000..ca6534563
--- /dev/null
+++ b/meta/recipes-graphics/xorg-app/xkbcomp/cross-compile-fix.patch
@@ -0,0 +1,35 @@
+commit cc55d8f5ab021861308b071aab9c03016be15187
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date: Sun Oct 31 20:35:24 2010 -0400
+
+ config: replace AC_CHECK_FILE with test -f as it fails to cross-compile
+
+ Testing for the presence of xkbparse.c is legitimate as this is a build
+ file, but the Autoconf macro assumes it is testing on the host system
+ and fails.
+
+ Tested-by: Abdoulaye Walsimou Gaye <awg@embtoolkit.org>
+ Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+diff --git a/configure.ac b/configure.ac
+index c69230b..8e6bd6e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -34,11 +34,14 @@ XORG_DEFAULT_OPTIONS
+
+ AM_CONFIG_HEADER(config.h)
+
++# If both the C file and YACC are missing, the package cannot be build.
+ AC_PROG_YACC
+ AC_PATH_PROG([YACC_INST], $YACC)
+-AC_CHECK_FILE([$srcdir/xkbparse.c], [],
+- [test -z "$YACC_INST" && AC_MSG_ERROR([yacc not found - unable to compile xkbparse.y])])
+-
++if test ! -f "$srcdir/xkbparse.c"; then
++ if test -z "$YACC_INST"; then
++ AC_MSG_ERROR([yacc not found - unable to compile xkbparse.y])
++ fi
++fi
+
+ AC_CHECK_FUNCS([strdup strcasecmp])
+
diff --git a/meta/recipes-graphics/xorg-app/xkbcomp_1.1.1.bb b/meta/recipes-graphics/xorg-app/xkbcomp_1.1.1.bb
deleted file mode 100644
index bd40e4287..000000000
--- a/meta/recipes-graphics/xorg-app/xkbcomp_1.1.1.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require xorg-app-common.inc
-
-SUMMARY = "X Keyboard Extensions"
-
-DESCRIPTION = "The X Keyboard Extension essentially replaces the core protocol definition of keyboard."
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=08436e4f4476964e2e2dd7e7e41e076a"
-
-DEPENDS += "libxkbfile"
-
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "38c387bacdc01038c8ac280588792bcf"
-SRC_URI[sha256sum] = "9775bcfd43d9ffa41e2865e5b2c933f419bf983d7a529b3103656c76fd82e663"
diff --git a/meta/recipes-graphics/xorg-app/xkbcomp_1.2.0.bb b/meta/recipes-graphics/xorg-app/xkbcomp_1.2.0.bb
new file mode 100644
index 000000000..f57469089
--- /dev/null
+++ b/meta/recipes-graphics/xorg-app/xkbcomp_1.2.0.bb
@@ -0,0 +1,19 @@
+require xorg-app-common.inc
+
+SUMMARY = "A program to compile XKB keyboard description"
+
+DESCRIPTION = "The xkbcomp keymap compiler converts a description of an \
+XKB keymap into one of several output formats. The most common use for \
+xkbcomp is to create a compiled keymap file (.xkm extension) which can \
+be read directly by XKB-capable X servers or utilities."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=08436e4f4476964e2e2dd7e7e41e076a"
+
+DEPENDS += "libxkbfile"
+
+SRC_URI += "file://cross-compile-fix.patch"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "0f55995cd8da9b2d88553e1a2e17cd0a"
+SRC_URI[sha256sum] = "2c64aa414755e764ca548ae5c93e95f7b5bbd5e01bca16bf226fd32bfae77ea4"
diff --git a/meta/recipes-graphics/xorg-app/xmodmap_1.0.5.bb b/meta/recipes-graphics/xorg-app/xmodmap_1.0.5.bb
index 2d5ee24bc..e98ed4fdf 100644
--- a/meta/recipes-graphics/xorg-app/xmodmap_1.0.5.bb
+++ b/meta/recipes-graphics/xorg-app/xmodmap_1.0.5.bb
@@ -1,6 +1,13 @@
require xorg-app-common.inc
-DESCRIPTION = "utility for modifying keymaps and pointer button mappings in X"
+SUMMARY = "Utility for modifying keymaps and pointer button mappings in X"
+
+DESCRIPTION = "The xmodmap program is used to edit and display the \
+keyboard modifier map and keymap table that are used by client \
+applications to convert event keycodes into keysyms. It is usually run \
+from the user's session startup script to configure the keyboard \
+according to personal tastes."
+
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=eef098b27f09d0ac39268df0cc2c00b5"
diff --git a/meta/recipes-graphics/xorg-app/xprop_1.1.0.bb b/meta/recipes-graphics/xorg-app/xprop_1.1.0.bb
deleted file mode 100644
index cfa02dd31..000000000
--- a/meta/recipes-graphics/xorg-app/xprop_1.1.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require xorg-app-common.inc
-
-DESCRIPTION = "utility to display window and font properties of an X server"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
-
-DEPENDS += " libxmu virtual/libx11"
-
-PR = "r0"
-PE = "1"
-
-SRC_URI[md5sum] = "f0bacbd30f0dd1c1e9ccafe97687b7a4"
-SRC_URI[sha256sum] = "cc8e07901574895f113baffda19272c54545879e02012314527ebbf2dcc66226"
diff --git a/meta/recipes-graphics/xorg-app/xprop_1.2.0.bb b/meta/recipes-graphics/xorg-app/xprop_1.2.0.bb
new file mode 100644
index 000000000..dc53b987c
--- /dev/null
+++ b/meta/recipes-graphics/xorg-app/xprop_1.2.0.bb
@@ -0,0 +1,19 @@
+require xorg-app-common.inc
+
+SUMMARY = "Utility to display window and font properties of an X server"
+
+DESCRIPTION = "The xprop utility is for displaying window and font \
+properties in an X server. One window or font is selected using the \
+command line arguments or possibly in the case of a window, by clicking \
+on the desired window. A list of properties is then given, possibly with \
+formatting information."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=e226ab8db88ac0bc0391673be40c9f91"
+
+DEPENDS += " libxmu virtual/libx11"
+
+PR = "r0"
+PE = "1"
+
+SRC_URI[md5sum] = "e6d0673a1e1e469f0a6220a6868fb94b"
+SRC_URI[sha256sum] = "53508c082b03dbbfd68489cb21392023f3e62ca9c921e1fb39b92ad10fbe6b9c"
diff --git a/meta/recipes-graphics/xorg-app/xrandr_1.3.4.bb b/meta/recipes-graphics/xorg-app/xrandr_1.3.4.bb
index 9a6e4702b..ab298740a 100644
--- a/meta/recipes-graphics/xorg-app/xrandr_1.3.4.bb
+++ b/meta/recipes-graphics/xorg-app/xrandr_1.3.4.bb
@@ -1,6 +1,11 @@
require xorg-app-common.inc
-DESCRIPTION = "X Resize and Rotate extension command."
+SUMMARY = "XRandR: X Resize, Rotate and Reflect extension command"
+
+DESCRIPTION = "Xrandr is used to set the size, orientation and/or \
+reflection of the outputs for a screen. It can also set the screen \
+size."
+
LICENSE= "BSD-X"
LIC_FILES_CHKSUM = "file://COPYING;md5=fe1608bdb33cf8c62a4438f7d34679b3"
DEPENDS += "libxrandr libxrender"
diff --git a/meta/recipes-graphics/xorg-app/xset_1.2.1.bb b/meta/recipes-graphics/xorg-app/xset_1.2.1.bb
index 5ce0a5bb0..b5d63bcd6 100644
--- a/meta/recipes-graphics/xorg-app/xset_1.2.1.bb
+++ b/meta/recipes-graphics/xorg-app/xset_1.2.1.bb
@@ -1,6 +1,10 @@
require xorg-app-common.inc
-DESCRIPTION = "Utility of setting various user preference options of the display"
+SUMMARY = "Utility for setting various user preference options of the display"
+
+DESCRIPTION = "xset is a utility that is used to set various user \
+preference options of the display."
+
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=bea81cc9827cdf1af0e12c2b8228cf8d"
DEPENDS += "libxext libxxf86misc libxfontcache libxmu libxp libxau"
diff --git a/meta/recipes-graphics/xorg-app/xvinfo_1.0.2.bb b/meta/recipes-graphics/xorg-app/xvinfo_1.0.2.bb
deleted file mode 100644
index 3c6f6678d..000000000
--- a/meta/recipes-graphics/xorg-app/xvinfo_1.0.2.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require xorg-app-common.inc
-
-DESCRIPTION = "Print out X-Video extension adaptor information"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
-DEPENDS += " libxv"
-PE = "1"
-
-SRC_URI[md5sum] = "e1e318436f49e2f0f3764593dadd9ad2"
-SRC_URI[sha256sum] = "126e2a612ac723f9688904fcfa612688d62e520ce55c56eb34eb5390074cf150"
diff --git a/meta/recipes-graphics/xorg-app/xvinfo_1.1.1.bb b/meta/recipes-graphics/xorg-app/xvinfo_1.1.1.bb
new file mode 100644
index 000000000..7a0b822aa
--- /dev/null
+++ b/meta/recipes-graphics/xorg-app/xvinfo_1.1.1.bb
@@ -0,0 +1,14 @@
+require xorg-app-common.inc
+
+SUMMARY = "Print out X-Video extension adaptor information"
+
+DESCRIPTION = "xvinfo prints out the capabilities of any video adaptors \
+associated with the display that are accessible through the X-Video \
+extension."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b664101ad7a1dc758a4c4109bf978e68"
+DEPENDS += " libxv"
+PE = "1"
+
+SRC_URI[md5sum] = "c88feb501083951a8f47a21aaeb1529d"
+SRC_URI[sha256sum] = "60c74aa190bcf1e244f6f1576dc43869018a8ed5ba319703a5c198d3466a3985"
diff --git a/meta/recipes-graphics/xorg-app/xwininfo_1.1.0.bb b/meta/recipes-graphics/xorg-app/xwininfo_1.1.0.bb
deleted file mode 100644
index 8e3729488..000000000
--- a/meta/recipes-graphics/xorg-app/xwininfo_1.1.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require xorg-app-common.inc
-
-DESCRIPTION = "window information utility for X"
-LIC_FILES_CHKSUM = "file://COPYING;md5=78976cd3115f6faf615accc4e094d90e"
-DEPENDS += "libxext libxmu"
-
-PR = "r0"
-PE = "0"
-
-SRC_URI[md5sum] = "932cb1393dee3caaf26f3515f640d783"
-SRC_URI[sha256sum] = "759e03d80b2a8bc843d501d5fd91fe1506da403019b6f165d32aa1b9909f8cf8"
diff --git a/meta/recipes-graphics/xorg-app/xwininfo_1.1.1.bb b/meta/recipes-graphics/xorg-app/xwininfo_1.1.1.bb
new file mode 100644
index 000000000..cabd4663a
--- /dev/null
+++ b/meta/recipes-graphics/xorg-app/xwininfo_1.1.1.bb
@@ -0,0 +1,16 @@
+require xorg-app-common.inc
+
+SUMMARY = "Window information utility for X"
+
+DESCRIPTION = "Xwininfo is a utility for displaying information about \
+windows. Information may include window position, size, color depth, \
+and a number of other items."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=78976cd3115f6faf615accc4e094d90e"
+DEPENDS += "libxext libxmu"
+
+PR = "r0"
+PE = "0"
+
+SRC_URI[md5sum] = "7a7f44b826d877ba39c19cf5913978d7"
+SRC_URI[sha256sum] = "645a57be4870fb6aba459e7dc96f4d8eaafa3b31bbcd42c997ac4cb021a2343d"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.5.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.5.0.bb
deleted file mode 100644
index 1b4470c17..000000000
--- a/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.5.0.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require xf86-input-common.inc
-
-DESCRIPTION = "X.Org X server -- evdev input driver"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=fefe33b1cf0cacba0e72e3b0fa0f0e16"
-
-PR = "r0"
-
-SRC_URI[md5sum] = "eceb6dc517c0649b772f18708a1aade8"
-SRC_URI[sha256sum] = "9dec173ac9d8d09ef5cb2f79e74471f5f3ddd108827f3e95958b623766260333"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.6.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.6.0.bb
new file mode 100644
index 000000000..a37be179a
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-evdev_2.6.0.bb
@@ -0,0 +1,20 @@
+require xf86-input-common.inc
+
+SUMMARY = "X.Org X server -- event devices (evdev) input driver"
+
+DESCRIPTION = "evdev is an Xorg input driver for Linux's generic event \
+devices. It therefore supports all input devices that the kernel knows \
+about, including most mice and keyboards. \
+\
+The evdev driver can serve as both a pointer and a keyboard input \
+device, and may be used as both the core keyboard and the core pointer. \
+Multiple input devices are supported by multiple instances of this \
+driver, with one Load directive for evdev in the Module section of your \
+xorg.conf for each input device that will use this driver. "
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=fefe33b1cf0cacba0e72e3b0fa0f0e16"
+
+PR = "r0"
+
+SRC_URI[md5sum] = "f33fe9413bde68936d8909206a13e8a1"
+SRC_URI[sha256sum] = "b0e7f3991a8183a4743196c3e16d7184d439b80bf43653aa2f45b0756a6753ac"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.4.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.4.0.bb
deleted file mode 100644
index f5e51e022..000000000
--- a/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.4.0.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require xf86-input-common.inc
-
-DESCRIPTION = "X.Org X server -- keyboard input driver"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=eae2c98cbb8c60401893ff9313ff3826"
-
-PR = "r1"
-
-SRC_URI[md5sum] = "fd17158ffeacecc8cc670604460cb98b"
-SRC_URI[sha256sum] = "842d36cfca68ddab4f2c562c73bfd43ba76de2d490d60034f0c5dd524aa6d6a5"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.5.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.5.0.bb
new file mode 100644
index 000000000..aa8be6744
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.5.0.bb
@@ -0,0 +1,15 @@
+require xf86-input-common.inc
+
+SUMMARY = "X.Org X server -- keyboard input driver"
+
+DESCRIPTION = "keyboard is an Xorg input driver for keyboards. The \
+driver supports the standard OS-provided keyboard interface. The driver \
+functions as a keyboard input device, and may be used as the X server's \
+core keyboard."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea2099d24ac9e316a6d4b9f20b3d4e10"
+
+PR = "r0"
+
+SRC_URI[md5sum] = "b74d7162db5ce7899c17927c6cfa9522"
+SRC_URI[sha256sum] = "2303510e905465ebee91f22cdd75706a15afb108258bc220c7500f213de19cb0"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_git.bb b/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_git.bb
index a6744bda6..57c601c12 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_git.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_git.bb
@@ -1,6 +1,11 @@
require xf86-input-common.inc
-DESCRIPTION = "X.Org X server -- keyboard input driver"
+SUMMARY = "X.Org X server -- keyboard input driver"
+
+DESCRIPTION = "keyboard is an Xorg input driver for keyboards. The \
+driver supports the standard OS-provided keyboard interface. The driver \
+functions as a keyboard input device, and may be used as the X server's \
+core keyboard."
PV = "1.3.2+git${SRCPV}"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.6.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.6.0.bb
index d0914cff0..61d73e191 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.6.0.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-mouse_1.6.0.bb
@@ -1,6 +1,12 @@
require xf86-input-common.inc
-DESCRIPTION = "X.Org X server -- mouse input driver"
+SUMMARY = "X.Org X server -- mouse input driver"
+
+DESCRIPTION = "mouse is an Xorg input driver for mice. The driver \
+supports most available mouse types and interfaces. The mouse driver \
+functions as a pointer input device, and may be used as the X server's \
+core pointer. Multiple mice are supported by multiple instances of this \
+driver."
LIC_FILES_CHKSUM = "file://COPYING;md5=237eb1d1a602d29ef2af62d8fba60f19"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-mouse_git.bb b/meta/recipes-graphics/xorg-driver/xf86-input-mouse_git.bb
index 94dedf104..bdf61c115 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-input-mouse_git.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-mouse_git.bb
@@ -1,6 +1,12 @@
require xf86-input-common.inc
-DESCRIPTION = "X.Org X server -- mouse input driver"
+SUMMARY = "X.Org X server -- mouse input driver"
+
+DESCRIPTION = "mouse is an Xorg input driver for mice. The driver \
+supports most available mouse types and interfaces. The mouse driver \
+functions as a pointer input device, and may be used as the X server's \
+core pointer. Multiple mice are supported by multiple instances of this \
+driver."
PV = "1.3.0+git${SRCPV}"
PR = "r2"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.2.1.bb b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.2.1.bb
deleted file mode 100644
index 84adb85ef..000000000
--- a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.2.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require xf86-input-common.inc
-
-DESCRIPTION = "X.Org X server -- keyboard input driver"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=08955125302e95a16628a4bec64ade5f"
-
-DEPENDS += "libxi"
-
-SRC_URI[md5sum] = "29a6f9da5123149e4abc8ff83880ed5c"
-SRC_URI[sha256sum] = "a63b48c5c8eb09416b941dea591a948e111d1b2e14d4620f25377cf47cf877e6"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.3.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.3.0.bb
new file mode 100644
index 000000000..b0953bbe9
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.3.0.bb
@@ -0,0 +1,22 @@
+require xf86-input-common.inc
+
+SUMMARY = "X.Org X server -- synaptics touchpad input driver"
+
+DESCRIPTION = "synaptics is an Xorg input driver for the touchpads from \
+Synaptics Incorporated. Even though these touchpads (by default, \
+operating in a compatibility mode emulating a standard mouse) can be \
+handled by the normal evdev or mouse drivers, this driver allows more \
+advanced features of the touchpad to become available."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=e395e21f3c21d4fc3a243783e85e9ab5"
+
+DEPENDS += "libxi"
+
+#
+# the xorg-synaptics.pc has hardcoded sdkdir=/usr/include/xorg, which is not correct
+# for cross compiling, so pass the correct sdkdir as include path
+#
+EXTRA_OEMAKE += " sdkdir=${STAGING_INCDIR}/xorg "
+
+SRC_URI[md5sum] = "b4e58eba1bdca13f0929a4b03b262135"
+SRC_URI[sha256sum] = "30a33250c4f3d2daa8a61cab847dc7befd3248db0fca139d17fd7b890b5a8fd7"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_git.bb b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_git.bb
index f7dc3b731..70478d520 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_git.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_git.bb
@@ -1,6 +1,12 @@
require xf86-input-common.inc
-DESCRIPTION = "X.Org X server -- keyboard input driver"
+SUMMARY = "X.Org X server -- synaptics touchpad input driver"
+
+DESCRIPTION = "synaptics is an Xorg input driver for the touchpads from \
+Synaptics Incorporated. Even though these touchpads (by default, \
+operating in a compatibility mode emulating a standard mouse) can be \
+handled by the normal evdev or mouse drivers, this driver allows more \
+advanced features of the touchpad to become available."
PV = "0.15.2+git${SRCPV}"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_12.6.10.bb b/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_12.6.10.bb
index 15aeb582d..628850739 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_12.6.10.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-vmmouse_12.6.10.bb
@@ -9,3 +9,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=622841c068a9d7625fbfe7acffb1a8fc"
SRC_URI[md5sum] = "49c6e77851e9f7bc5cb7d85f061992f8"
SRC_URI[sha256sum] = "a6369d5a860627f2a38842d5563045b263a459e534f6ae08df48f330f9a40910"
+
+COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.13.0.bb b/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.13.0.bb
deleted file mode 100644
index 6f0c81c03..000000000
--- a/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.13.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require xf86-video-common.inc
-
-DESCRIPTION = "X.Org X server -- Intel i8xx, i9xx display driver"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=8730ad58d11c7bbad9a7066d69f7808e"
-
-EXTRA_OECONF += "--disable-xvmc"
-
-DEPENDS += "virtual/libx11 libxvmc drm xf86driproto glproto \
- virtual/libgl xineramaproto xf86driproto libpciaccess"
-
-COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
-
-SRC_URI[md5sum] = "de2f8a5836d90c71f3175dcd46d03ec0"
-SRC_URI[sha256sum] = "d8b2fae8d0c4ae372994cb7df8de8aa995b8e89b1bc5766c53ea0751752fc887"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.14.0.bb b/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.14.0.bb
new file mode 100644
index 000000000..017a2e0a2
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.14.0.bb
@@ -0,0 +1,20 @@
+require xf86-video-common.inc
+
+SUMMARY = "X.Org X server -- Intel integrated graphics chipsets driver"
+
+DESCRIPTION = "intel is an Xorg driver for Intel integrated graphics \
+chipsets. The driver supports depths 8, 15, 16 and 24. On some chipsets, \
+the driver supports hardware accelerated 3D via the Direct Rendering \
+Infrastructure (DRI)."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=8730ad58d11c7bbad9a7066d69f7808e"
+
+EXTRA_OECONF += "--disable-xvmc"
+
+DEPENDS += "virtual/libx11 libxvmc drm xf86driproto glproto \
+ virtual/libgl xineramaproto xf86driproto libpciaccess"
+
+COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
+
+SRC_URI[md5sum] = "05f187582aeabda57fcd6f2782cfbf8e"
+SRC_URI[sha256sum] = "e18c37a579a960516e69de5c6f74750ca02208c0e41cf763ae5630c84db507df"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb b/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
index 30791b224..4aac8039f 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
@@ -1,6 +1,12 @@
require xf86-video-common.inc
-DESCRIPTION = "X.Org X server -- Intel i8xx, i9xx display driver"
+SUMMARY = "X.Org X server -- Intel integrated graphics chipsets driver"
+
+DESCRIPTION = "intel is an Xorg driver for Intel integrated graphics \
+chipsets. The driver supports depths 8, 15, 16 and 24. On some chipsets, \
+the driver supports hardware accelerated 3D via the Direct Rendering \
+Infrastructure (DRI)."
+
DEPENDS += "virtual/libx11 libxvmc drm dri2proto glproto \
virtual/libgl xineramaproto libpciaccess"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-blacklist-tv-out.patch b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-blacklist-tv-out.patch
new file mode 100644
index 000000000..506e174cb
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-blacklist-tv-out.patch
@@ -0,0 +1,25 @@
+commit 05efb061f1945425d214ff6b6050883e6d8633bf
+Author: Koen Kooi <koen@dominion.thruhere.net>
+Date: Wed Jan 26 13:21:12 2011 +0100
+
+ blacklist tv out
+
+ The tv-out gets added last and the driver tries to reconfigure dvi to TV resolutions, which fails. so blacklist it
+
+ Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+
+diff --git a/src/omapfb-output-dss.c b/src/omapfb-output-dss.c
+index 6cc52de..83cb711 100644
+--- a/src/omapfb-output-dss.c
++++ b/src/omapfb-output-dss.c
+@@ -205,6 +205,10 @@ OMAPFBDSSOutputDetect (xf86OutputPtr output)
+ if(ofb->timings[idx][0] == '\0')
+ return XF86OutputStatusDisconnected;
+
++ // Hack to disable the tv out
++ if (strncmp(output->name, "tv", 2) == 0)
++ return XF86OutputStatusDisconnected;
++
+ return XF86OutputStatusConnected;
+ }
+
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-force-plain-mode.patch b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-force-plain-mode.patch
new file mode 100644
index 000000000..201a8b958
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-force-plain-mode.patch
@@ -0,0 +1,23 @@
+commit d28a36bbadc360a9409bf9832f1d4171d7c33dad
+Author: Koen Kooi <koen@dominion.thruhere.net>
+Date: Wed Jan 26 13:20:20 2011 +0100
+
+ force 'plain' mode
+
+ The new DSS mode breaks XV, so force plain mode
+
+ Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+
+diff --git a/src/omapfb-driver.c b/src/omapfb-driver.c
+index 018e040..48aa09c 100644
+--- a/src/omapfb-driver.c
++++ b/src/omapfb-driver.c
+@@ -326,7 +326,7 @@ OMAPFBPreInit(ScrnInfoPtr pScrn, int flags)
+ OMAPFBProbeController(ofb->ctrl_name);
+
+ /* Do we have the DSS kernel API? */
+- if (stat(SYSFS_DSS_DIR, &st) == 0) {
++ if (0) { //stat(SYSFS_DSS_DIR, &st) == 0) {
+ ofb->dss = TRUE;
+ } else {
+ ofb->dss = FALSE;
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-revert-set-CRTC-limit.patch b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-revert-set-CRTC-limit.patch
new file mode 100644
index 000000000..6a9e9058b
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-revert-set-CRTC-limit.patch
@@ -0,0 +1,32 @@
+commit 031516123d25a12808ab4e56ea8deda74946cdcd
+Author: Koen Kooi <koen@dominion.thruhere.net>
+Date: Wed Jan 26 12:04:36 2011 +0100
+
+ Revert "Set a large CRTC upper limit to not prune larger resolutions"
+
+ Picture is garbled after switching resolutions, so revert it.
+
+ Virtual size too big, revert the commit 9c4d7592dcb7dc20a48a6f941d9d94bd73d34153.
+
+diff --git a/src/omapfb-crtc.c b/src/omapfb-crtc.c
+index 9aaa52f..cbeff35 100644
+--- a/src/omapfb-crtc.c
++++ b/src/omapfb-crtc.c
+@@ -190,13 +190,13 @@ OMAPFBCRTCInit(ScrnInfoPtr pScrn)
+ * In practise, this doesn't seem to be supported.
+ * (no way to setup the overlay offset/base address)
+ */
+- /* FIXME: figure out what makes sense here. A known max resolution?
+- * framebuffer size?
+- */
+ xf86CrtcSetSizeRange(pScrn,
+- 8, 8, 2048, 2048);
++ 8, 8,
++ ofb->state_info.xres_virtual,
++ ofb->state_info.yres_virtual);
+
+ ofb->crtc = xf86CrtcCreate(pScrn, &OMAPFBCrtcFuncs);
++
+ }
+
+
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-revert-set-virtual-size.patch b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-revert-set-virtual-size.patch
new file mode 100644
index 000000000..a3fd0d5f9
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb/omap-revert-set-virtual-size.patch
@@ -0,0 +1,23 @@
+commit cbae688d7df59938ccb4af534ec2ff75cbbe9221
+Author: Koen Kooi <koen@dominion.thruhere.net>
+Date: Wed Jan 26 13:27:20 2011 +0100
+
+ Revert "Set virtual size when configuring framebuffer"
+
+ Virtual size too big, so revert it.
+
+ This reverts commit 2653ef07883fbd1a5e7025f9300cf89b79ba429a.
+
+diff --git a/src/omapfb-crtc.c b/src/omapfb-crtc.c
+index cbeff35..9655db2 100644
+--- a/src/omapfb-crtc.c
++++ b/src/omapfb-crtc.c
+@@ -98,8 +98,6 @@ OMAPFBCrtcCommitChangeMode (xf86CrtcPtr crtc)
+ v = ofb->state_info;
+ v.xres = mode->HDisplay;
+ v.yres = mode->VDisplay;
+- v.xres_virtual = crtc->scrn->virtualX;
+- v.yres_virtual = crtc->scrn->virtualY;
+ v.activate = FB_ACTIVATE_NOW;
+ v.pixclock = KHZ2PICOS(mode->Clock ? mode->Clock : 56000);
+ v.left_margin = mode->HTotal - mode->HSyncEnd;
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb
index 2d9875e7e..2714786ac 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-omapfb_git.bb
@@ -1,6 +1,10 @@
require xf86-driver-common.inc
-DESCRIPTION = "X.Org X server -- OMAP display driver"
+SUMMARY = "X.Org X server -- Texas Instruments OMAP framebuffer driver"
+
+DESCRIPTION = "omapfb driver supports the basic Texas Instruments OMAP \
+framebuffer."
+
LICENSE = "MIT-X"
LIC_FILES_CHKSUM = "file://src/omapfb-driver.c;beginline=1;endline=30;md5=a44c2a37e04d1c2c5f0313afb493f833"
DEPENDS += "virtual/libx11"
@@ -10,6 +14,10 @@ PR = "r1"
PV = "0.1.1+git${SRCPV}"
SRC_URI = "git://git.pingu.fi/xf86-video-omapfb.git;protocol=http \
+ file://omap-revert-set-CRTC-limit.patch \
+ file://omap-revert-set-virtual-size.patch \
+ file://omap-force-plain-mode.patch \
+ file://omap-blacklist-tv-out.patch \
"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.3.0.bb b/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.3.0.bb
index 75274131a..474c77950 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.3.0.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-vesa_2.3.0.bb
@@ -4,7 +4,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e5418e7a75e21268637984e70265e146"
EXTRA_OECONF += "--disable-xvmc"
-DESCRIPTION = "X.Org X server -- Generic Vesa display driver"
+SUMMARY = "X.Org X server -- Generic Vesa video driver"
+
+DESCRIPTION = "vesa is an Xorg driver for generic VESA video cards. It \
+can drive most VESA-compatible video cards, but only makes use of the \
+basic standard VESA core that is common to these cards. The driver \
+supports depths 8, 15 16 and 24."
+
DEPENDS += "virtual/libx11 libxvmc drm xf86driproto glproto \
virtual/libgl xineramaproto xf86driproto libpciaccess"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-vmware_11.0.3.bb b/meta/recipes-graphics/xorg-driver/xf86-video-vmware_11.0.3.bb
index c76248f6d..a0f604139 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-video-vmware_11.0.3.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-vmware_11.0.3.bb
@@ -1,6 +1,8 @@
require xf86-video-common.inc
-DESCRIPTION = "X.Org X server -- VMware SVGA II display driver"
+SUMMARY = "X.Org X server -- VMware SVGA display driver"
+
+DESCRIPTION = "vmware is an Xorg driver for VMware virtual video cards."
LIC_FILES_CHKSUM = "file://COPYING;md5=5fcd7d437a959a15fbee8707747c6b53"
diff --git a/meta/recipes-graphics/xorg-font/encodings_1.0.4.bb b/meta/recipes-graphics/xorg-font/encodings_1.0.4.bb
index a5d901316..897f0fa11 100644
--- a/meta/recipes-graphics/xorg-font/encodings_1.0.4.bb
+++ b/meta/recipes-graphics/xorg-font/encodings_1.0.4.bb
@@ -1,4 +1,8 @@
-DESCRIPTION = "The XFree86/Xorg encoding files"
+SUMMARY = "The Xorg font encoding files"
+
+DESCRIPTION = "The encodings that map to specific characters for a \
+number of Xorg and common fonts."
+
require xorg-font-common.inc
LICENSE = "Public Domain"
LIC_FILES_CHKSUM = "file://COPYING;md5=9da93f2daf2d5572faa2bfaf0dbd9e76"
diff --git a/meta/recipes-graphics/xorg-font/font-alias_1.0.3.bb b/meta/recipes-graphics/xorg-font/font-alias_1.0.3.bb
index f3b371635..a1c3c63dc 100644
--- a/meta/recipes-graphics/xorg-font/font-alias_1.0.3.bb
+++ b/meta/recipes-graphics/xorg-font/font-alias_1.0.3.bb
@@ -10,11 +10,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=bf0158b89be493d523d69d9f29265038 \
file://100dpi/fonts.alias;md5=85bebd6ca213aa656c301a72eb4397cb"
DEPENDS = "virtual/xserver font-util"
-RDEPENDS = "encodings font-util"
-RDEPENDS_virtclass-native = "font-util"
+RDEPENDS_${PN} = "encodings font-util"
+RDEPENDS_${PN}_virtclass-native = "font-util"
PE = "1"
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
SRC_URI[md5sum] = "6d25f64796fef34b53b439c2e9efa562"
SRC_URI[sha256sum] = "8b453b2aae1cfa8090009ca037037b8c5e333550651d5a158b7264ce1d472c9a"
diff --git a/meta/recipes-graphics/xorg-font/font-util_1.2.0.bb b/meta/recipes-graphics/xorg-font/font-util_1.2.0.bb
index 972e9e3ae..a04bd6d5a 100644
--- a/meta/recipes-graphics/xorg-font/font-util_1.2.0.bb
+++ b/meta/recipes-graphics/xorg-font/font-util_1.2.0.bb
@@ -12,10 +12,10 @@ PACKAGE_ARCH = "${BASE_PACKAGE_ARCH}"
DEPENDS = "encodings util-macros"
DEPENDS_virtclass-native = "util-macros-native"
-RDEPENDS = "mkfontdir mkfontscale encodings"
-RDEPENDS_virtclass-native = "mkfontdir-native mkfontscale-native"
+RDEPENDS_${PN} = "mkfontdir mkfontscale encodings"
+RDEPENDS_${PN}_virtclass-native = "mkfontdir-native mkfontscale-native"
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
do_configure_prepend() {
sed -i "s#MAPFILES_PATH=\`pkg-config#MAPFILES_PATH=\`PKG_CONFIG_PATH=\"${STAGING_LIBDIR_NATIVE}/pkg-config\" pkg-config#g" fontutil.m4.in
diff --git a/meta/recipes-graphics/xorg-font/xorg-font-common.inc b/meta/recipes-graphics/xorg-font/xorg-font-common.inc
index c2175a961..5d19b4c70 100644
--- a/meta/recipes-graphics/xorg-font/xorg-font-common.inc
+++ b/meta/recipes-graphics/xorg-font/xorg-font-common.inc
@@ -5,10 +5,10 @@ SECTION = "x11/fonts"
LICENSE = "MIT-X"
DEPENDS = " encodings font-alias font-util-native mkfontdir-native mkfontscale-native"
-RDEPENDS = "encodings font-util font-alias"
+RDEPENDS_${PN} = "encodings font-util font-alias"
XORG_PN = "${BPN}"
-INC_PR = "r1"
+INC_PR = "r2"
SRC_URI = "${XORG_MIRROR}/individual/font/${XORG_PN}-${PV}.tar.bz2"
S = "${WORKDIR}/${XORG_PN}-${PV}"
diff --git a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb
index 26a64cdd6..86d61944b 100644
--- a/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb
+++ b/meta/recipes-graphics/xorg-font/xorg-minimal-fonts.bb
@@ -1,4 +1,5 @@
-DESCRIPTION = "Xorg minimal fonts data"
+SUMMARY = "Xorg minimal fonts data"
+DESCRIPTION = "Minimal fonts required by X.org."
HOMEPAGE = "http://www.x.org"
BUGTRACKER = "n/a"
diff --git a/meta/recipes-graphics/xorg-lib/libdmx_1.1.0.bb b/meta/recipes-graphics/xorg-lib/libdmx_1.1.0.bb
deleted file mode 100644
index 11845cc6b..000000000
--- a/meta/recipes-graphics/xorg-lib/libdmx_1.1.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require xorg-lib-common.inc
-
-DESCRIPTION = "X11 Distributed Multihead extension library"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94 \
- file://src/dmx.c;endline=33;md5=79ff7aacf716dafea0d490316f998a11"
-
-DEPENDS += "libxext dmxproto"
-PR = "r1"
-PE = "1"
-
-SRC_URI[md5sum] = "a2fcf0382837888d3781b714489a8999"
-SRC_URI[sha256sum] = "1904a8f848cc5d76105cb07707890aca095540a37fb0a63d359f71da51d3e2d5"
diff --git a/meta/recipes-graphics/xorg-lib/libdmx_1.1.1.bb b/meta/recipes-graphics/xorg-lib/libdmx_1.1.1.bb
new file mode 100644
index 000000000..cb4988068
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/libdmx_1.1.1.bb
@@ -0,0 +1,21 @@
+require xorg-lib-common.inc
+
+SUMMARY = "DMX: Distributed Multihead X extension library"
+
+DESCRIPTION = "The DMX extension provides support for communication with \
+and control of Xdmx(1) server. Attributes of the Xdmx(1) server and of \
+the back-end screens attached to the server can be queried and modified \
+via this protocol."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a3c3499231a8035efd0e004cfbd3b72a \
+ file://src/dmx.c;endline=33;md5=c43f19af03c7c8619cadc9724ed9afe1"
+
+DEPENDS += "libxext dmxproto"
+
+PR = "r0"
+PE = "1"
+
+SRC_URI[md5sum] = "75fd328fab3bd4a55cccaa6d5dfff749"
+SRC_URI[sha256sum] = "a6de6e87470bc749de02056fa38758d0e633303789830fdafc56600e75b3de18"
+
diff --git a/meta/recipes-graphics/xorg-lib/libfontenc_1.1.0.bb b/meta/recipes-graphics/xorg-lib/libfontenc_1.1.0.bb
index 2933f930d..3d900428a 100644
--- a/meta/recipes-graphics/xorg-lib/libfontenc_1.1.0.bb
+++ b/meta/recipes-graphics/xorg-lib/libfontenc_1.1.0.bb
@@ -1,4 +1,7 @@
-DESCRIPTION = "X11 font encoding library"
+SUMMARY = "X font encoding library"
+
+DESCRIPTION = "libfontenc is a library which helps font libraries \
+portably determine and deal with different encodings of fonts."
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/libice_1.0.7.bb b/meta/recipes-graphics/xorg-lib/libice_1.0.7.bb
index 7228a0228..0a906d85e 100644
--- a/meta/recipes-graphics/xorg-lib/libice_1.0.7.bb
+++ b/meta/recipes-graphics/xorg-lib/libice_1.0.7.bb
@@ -1,4 +1,10 @@
-DESCRIPTION = "X11 Inter-Client Exchange library"
+SUMMARY = "ICE: Inter-Client Exchange library"
+
+DESCRIPTION = "The Inter-Client Exchange (ICE) protocol provides a \
+generic framework for building protocols on top of reliable, byte-stream \
+transport connections. It provides basic mechanisms for setting up and \
+shutting down connections, for performing authentication, for \
+negotiating versions, and for reporting errors. "
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/libpciaccess_0.12.0.bb b/meta/recipes-graphics/xorg-lib/libpciaccess_0.12.0.bb
index b68f3ad2c..d7417a222 100644
--- a/meta/recipes-graphics/xorg-lib/libpciaccess_0.12.0.bb
+++ b/meta/recipes-graphics/xorg-lib/libpciaccess_0.12.0.bb
@@ -1,4 +1,7 @@
-DESCRIPTION = "Generic PCI access library"
+SUMMARY = "Generic PCI access library for X"
+
+DESCRIPTION = "libpciaccess provides functionality for X to access the \
+PCI bus and devices in a platform-independant way."
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/libsm_1.2.0.bb b/meta/recipes-graphics/xorg-lib/libsm_1.2.0.bb
index 5ce01b7e5..bb384aa2f 100644
--- a/meta/recipes-graphics/xorg-lib/libsm_1.2.0.bb
+++ b/meta/recipes-graphics/xorg-lib/libsm_1.2.0.bb
@@ -1,4 +1,10 @@
-DESCRIPTION = "X11 Session management library"
+SUMMARY = "SM: Session Management library"
+
+DESCRIPTION = "The Session Management Library (SMlib) is a low-level \"C\" \
+language interface to XSMP. The purpose of the X Session Management \
+Protocol (XSMP) is to provide a uniform mechanism for users to save and \
+restore their sessions. A session is a group of clients, each of which \
+has a particular state."
require xorg-lib-common.inc
@@ -7,7 +13,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d98446615b962372d6a46057170043fa"
DEPENDS += "libice xproto xtrans e2fsprogs"
-PR = "r0"
+PR = "r1"
PE = "1"
XORG_PN = "libSM"
diff --git a/meta/recipes-graphics/xorg-lib/libx11-diet_1.3.bb b/meta/recipes-graphics/xorg-lib/libx11-diet_1.3.bb
index a76aba16e..fee44ae8b 100644
--- a/meta/recipes-graphics/xorg-lib/libx11-diet_1.3.bb
+++ b/meta/recipes-graphics/xorg-lib/libx11-diet_1.3.bb
@@ -1,5 +1,8 @@
require libx11.inc
+DESCRIPTION += " Support for XCB, UDC, XCMS and XLOCALE is disabled in \
+this version."
+
PR = "r1"
SRC_URI += "file://x11_disable_makekeys.patch;patch=1 \
diff --git a/meta/recipes-graphics/xorg-lib/libx11-diet_git.bb b/meta/recipes-graphics/xorg-lib/libx11-diet_git.bb
index d1f0a753f..458ba41a3 100644
--- a/meta/recipes-graphics/xorg-lib/libx11-diet_git.bb
+++ b/meta/recipes-graphics/xorg-lib/libx11-diet_git.bb
@@ -1,6 +1,9 @@
require libx11.inc
require libx11_git.inc
+DESCRIPTION += " Support for XCB, UDC, XCMS and XLOCALE is disabled in \
+this version."
+
SRC_URI += "file://X18NCMSstubs.diff;patch=1 \
file://fix-disable-xlocale.diff;patch=1 \
file://fix-utf8-wrong-define.patch;patch=1"
diff --git a/meta/recipes-graphics/xorg-lib/libx11-trim_1.3.4.bb b/meta/recipes-graphics/xorg-lib/libx11-trim_1.3.4.bb
index 190217d38..b0134989a 100644
--- a/meta/recipes-graphics/xorg-lib/libx11-trim_1.3.4.bb
+++ b/meta/recipes-graphics/xorg-lib/libx11-trim_1.3.4.bb
@@ -1,5 +1,7 @@
require libx11.inc
+DESCRIPTION += " Support for XCB, and XCMS is disabled in this version."
+
LICENSE = "MIT & MIT-style & BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=bf75bfe4d05068311b5e6862d4b5f2c5"
diff --git a/meta/recipes-graphics/xorg-lib/libx11-trim_git.bb b/meta/recipes-graphics/xorg-lib/libx11-trim_git.bb
index 99426c3c5..7044a0e3a 100644
--- a/meta/recipes-graphics/xorg-lib/libx11-trim_git.bb
+++ b/meta/recipes-graphics/xorg-lib/libx11-trim_git.bb
@@ -1,6 +1,8 @@
require libx11.inc
require libx11_git.inc
+DESCRIPTION += " Support for XCB, and XCMS is disabled in this version."
+
PR = "r2"
DEPENDS += "libxcb xproto xextproto xtrans libxau kbproto inputproto xf86bigfontproto xproto-native"
diff --git a/meta/recipes-graphics/xorg-lib/libx11.inc b/meta/recipes-graphics/xorg-lib/libx11.inc
index f8c17b1a6..267a03a3b 100644
--- a/meta/recipes-graphics/xorg-lib/libx11.inc
+++ b/meta/recipes-graphics/xorg-lib/libx11.inc
@@ -1,4 +1,8 @@
-DESCRIPTION = "X11 protocol and utility library"
+SUMMARY = "Xlib: C Language X Interface library"
+
+DESCRIPTION = "This package provides a client interface to the X Window \
+System, otherwise known as 'Xlib'. It provides a complete API for the \
+basic functions of the window system."
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/libxau_1.0.6.bb b/meta/recipes-graphics/xorg-lib/libxau_1.0.6.bb
index 98c84e6dd..79078efdd 100644
--- a/meta/recipes-graphics/xorg-lib/libxau_1.0.6.bb
+++ b/meta/recipes-graphics/xorg-lib/libxau_1.0.6.bb
@@ -1,4 +1,8 @@
-DESCRIPTION = "A Sample Authorization Protocol for X"
+SUMMARY = "Xau: X Authority Database library"
+
+DESCRIPTION = "libxau provides the main interfaces to the X11 \
+authorisation handling, which controls authorisation for X connections, \
+both client-side and server-side."
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/libxcalibrate_git.bb b/meta/recipes-graphics/xorg-lib/libxcalibrate_git.bb
index 8ca731b2e..f27c595ec 100644
--- a/meta/recipes-graphics/xorg-lib/libxcalibrate_git.bb
+++ b/meta/recipes-graphics/xorg-lib/libxcalibrate_git.bb
@@ -1,4 +1,7 @@
-DESCRIPTION = "Touchscreen calibration client library"
+SUMMARY = "XCalibrate: Touchscreen calibration library"
+
+DESCRIPTION = "libXCalibrate is a library for performing touchscreen \
+calibration with the kdrive tslib touchscreen driver."
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.3.bb b/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.3.bb
index e6a161178..deaa36624 100644
--- a/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.3.bb
+++ b/meta/recipes-graphics/xorg-lib/libxcomposite_0.4.3.bb
@@ -1,4 +1,13 @@
-DESCRIPTION = "X Composite extension library."
+SUMMARY = "Xcomposite: X Composite extension library"
+
+DESCRIPTION = "The composite extension provides three related \
+mechanisms: per-hierarchy storage, automatic shadow update, and external \
+parent. In per-hierarchy storage, the rendering of an entire hierarchy \
+of windows is redirected to off-screen storage. In automatic shadow \
+update, when a hierarchy is rendered off-screen, the X server provides \
+an automatic mechanism for presenting those contents within the parent \
+window. In external parent, a mechanism for providing redirection of \
+compositing transformations through a client."
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/libxcursor_1.1.11.bb b/meta/recipes-graphics/xorg-lib/libxcursor_1.1.11.bb
index 0506079af..a8dee4c0c 100644
--- a/meta/recipes-graphics/xorg-lib/libxcursor_1.1.11.bb
+++ b/meta/recipes-graphics/xorg-lib/libxcursor_1.1.11.bb
@@ -1,4 +1,10 @@
-DESCRIPTION = "X cursor management library"
+SUMMARY = "Xcursor: X Cursor management library"
+
+DESCRIPTION = "Xcursor is a simple library designed to help locate and \
+load cursors. Cursors can be loaded from files or memory. A library of \
+common cursors exists which map to the standard X cursor names. Cursors \
+can exist in several sizes and the library automatically picks the best \
+size."
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/libxdamage_1.1.3.bb b/meta/recipes-graphics/xorg-lib/libxdamage_1.1.3.bb
index f2ed669e6..81f90ba2d 100644
--- a/meta/recipes-graphics/xorg-lib/libxdamage_1.1.3.bb
+++ b/meta/recipes-graphics/xorg-lib/libxdamage_1.1.3.bb
@@ -1,4 +1,15 @@
-DESCRIPTION = "X11 damaged region extension library"
+SUMMARY = "Xdamage: X Damage extension library"
+
+DESCRIPTION = "'Damage' is a term that describes changes make to pixel \
+contents of windows and pixmaps. Damage accumulates as drawing occurs \
+in the drawable. Each drawing operation 'damages' one or more \
+rectangular areas within the drawable. The rectangles are guaranteed to \
+include the set of pixels modified by each operation, but may include \
+significantly more than just those pixels. The DAMAGE extension allows \
+applications to either receive the raw rectangles as a stream of events, \
+or to have them partially processed within the X server to reduce the \
+amount of data transmitted as well as reduce the processing latency once \
+the repaint operation has started."
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.0.bb b/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.0.bb
index 344bdb1cc..d897dab0f 100644
--- a/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.0.bb
+++ b/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.0.bb
@@ -1,4 +1,10 @@
-DESCRIPTION = "X Display Manager Control Protocol library"
+SUMMARY = "XDMCP: X Display Manager Control Protocol library"
+
+DESCRIPTION = "The purpose of the X Display Manager Control Protocol \
+(XDMCP) is to provide a uniform mechanism for an autonomous display to \
+request login service from a remote host. An X terminal (screen, \
+keyboard, mouse, processor, network interface) is a prime example of an \
+autonomous display."
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/libxext_1.2.0.bb b/meta/recipes-graphics/xorg-lib/libxext_1.2.0.bb
index 75417c299..b907b9f9d 100644
--- a/meta/recipes-graphics/xorg-lib/libxext_1.2.0.bb
+++ b/meta/recipes-graphics/xorg-lib/libxext_1.2.0.bb
@@ -1,4 +1,12 @@
-DESCRIPTION = "X11 miscellaneous extension library"
+SUMMARY = "XExt: X Extension library"
+
+DESCRIPTION = "libXext provides an X Window System client interface to \
+several extensions to the X protocol. The supported protocol extensions \
+are DOUBLE-BUFFER, DPMS, Extended-Visual-Information, LBX, MIT_SHM, \
+MIT_SUNDRY-NONSTANDARD, Multi-Buffering, SECURITY, SHAPE, SYNC, TOG-CUP, \
+XC-APPGROUP, XC-MISC, XTEST. libXext also provides a small set of \
+utility functions to aid authors of client APIs for X protocol \
+extensions."
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/libxext_git.bb b/meta/recipes-graphics/xorg-lib/libxext_git.bb
index d0b3d7fbf..66bbbcb30 100644
--- a/meta/recipes-graphics/xorg-lib/libxext_git.bb
+++ b/meta/recipes-graphics/xorg-lib/libxext_git.bb
@@ -1,6 +1,15 @@
require xorg-lib-common.inc
-DESCRIPTION = "X11 miscellaneous extension library"
+SUMMARY = "XExt: X Extension library"
+
+DESCRIPTION = "libXext provides an X Window System client interface to \
+several extensions to the X protocol. The supported protocol extensions \
+are DOUBLE-BUFFER, DPMS, Extended-Visual-Information, LBX, MIT_SHM, \
+MIT_SUNDRY-NONSTANDARD, Multi-Buffering, SECURITY, SHAPE, SYNC, TOG-CUP, \
+XC-APPGROUP, XC-MISC, XTEST. libXext also provides a small set of \
+utility functions to aid authors of client APIs for X protocol \
+extensions."
+
DEPENDS += "xproto virtual/libx11 xextproto libxau libxdmcp"
PROVIDES = "xext"
PE = "1"
diff --git a/meta/recipes-graphics/xorg-lib/libxfixes_4.0.5.bb b/meta/recipes-graphics/xorg-lib/libxfixes_4.0.5.bb
index 8ecf1f850..a69d5fda9 100644
--- a/meta/recipes-graphics/xorg-lib/libxfixes_4.0.5.bb
+++ b/meta/recipes-graphics/xorg-lib/libxfixes_4.0.5.bb
@@ -1,4 +1,9 @@
-DESCRIPTION = "X Fixes extension library."
+SUMMARY = "XFixes: X Fixes extension library."
+
+DESCRIPTION = "X applications have often needed to work around various \
+shortcomings in the core X window system. This extension is designed to \
+provide the minimal server-side support necessary to eliminate problems \
+caused by these workarounds."
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/libxfont_1.4.3.bb b/meta/recipes-graphics/xorg-lib/libxfont_1.4.3.bb
index 2e19f8ff3..2f9516c2f 100644
--- a/meta/recipes-graphics/xorg-lib/libxfont_1.4.3.bb
+++ b/meta/recipes-graphics/xorg-lib/libxfont_1.4.3.bb
@@ -1,4 +1,8 @@
-DESCRIPTION = "X11 font rasterisation library"
+SUMMARY = "XFont: X Font rasterisation library"
+
+DESCRIPTION = "libXfont provides various services for X servers, most \
+notably font selection and rasterisation (through external libraries \
+such as freetype)."
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/libxfontcache_1.0.5.bb b/meta/recipes-graphics/xorg-lib/libxfontcache_1.0.5.bb
index 5ee42befe..b254eb94b 100644
--- a/meta/recipes-graphics/xorg-lib/libxfontcache_1.0.5.bb
+++ b/meta/recipes-graphics/xorg-lib/libxfontcache_1.0.5.bb
@@ -1,6 +1,10 @@
require xorg-lib-common.inc
-DESCRIPTION = "X-TrueType font cache extension client library"
+SUMMARY = "XFontCache: X Font Cache extension library"
+
+DESCRIPTION = "FontCache is an extension that is used by X-TrueType to cache \
+information about fonts."
+
DEPENDS += "libxext fontcacheproto"
LIC_FILES_CHKSUM = "file://COPYING;md5=62a75d5d3da40f1f6eb1cbe3bcc0a5d0"
PR = "r0"
diff --git a/meta/recipes-graphics/xorg-lib/libxft_2.2.0.bb b/meta/recipes-graphics/xorg-lib/libxft_2.2.0.bb
index fc9c0a7f0..1a56702e5 100644
--- a/meta/recipes-graphics/xorg-lib/libxft_2.2.0.bb
+++ b/meta/recipes-graphics/xorg-lib/libxft_2.2.0.bb
@@ -1,4 +1,14 @@
-DESCRIPTION = "FreeType-based font drawing library for X"
+SUMMARY = "XFt: X FreeType libary"
+
+DESCRIPTION = "Xft was designed to provide good support for scalable \
+fonts, and to do so efficiently. Unlike the core fonts system, it \
+supports features such as anti-aliasing and sub-pixel rasterisation. \
+Perhaps more importantly, it gives applications full control over the \
+way glyphs are rendered, making fine typesetting and WYSIWIG display \
+possible. Finally, it allows applications to use fonts that are not \
+installed system-wide for displaying documents with embedded fonts. Xft \
+is not compatible with the core fonts system: usage of Xft requires \
+fairly extensive changes to toolkits (user-interface libraries)."
require xorg-lib-common.inc
@@ -13,10 +23,9 @@ PE = "1"
XORG_PN = "libXft"
-python do_package() {
+python () {
if bb.data.getVar('DEBIAN_NAMES', d, 1):
bb.data.setVar('PKG_${PN}', 'libxft2', d)
- bb.build.exec_func('package_do_package', d)
}
FILES_${PN} = "${libdir}/lib*${SOLIBS}"
diff --git a/meta/recipes-graphics/xorg-lib/libxi_1.4.0.bb b/meta/recipes-graphics/xorg-lib/libxi_1.4.0.bb
index 782065348..c7fb9d5ac 100644
--- a/meta/recipes-graphics/xorg-lib/libxi_1.4.0.bb
+++ b/meta/recipes-graphics/xorg-lib/libxi_1.4.0.bb
@@ -1,6 +1,11 @@
require xorg-lib-common.inc
-DESCRIPTION = "X11 Input extension library"
+SUMMARY = "XI: X Input extension library"
+
+DESCRIPTION = "libxi is an extension to the X11 protocol to support \
+input devices other than the core X keyboard and pointer. It allows \
+client programs to select input from these devices independently from \
+each other and independently from the core devices."
LICENSE = "MIT & MIT-style"
LIC_FILES_CHKSUM = "file://COPYING;md5=17b064789fab936a1c58c4e13d965b0f \
diff --git a/meta/recipes-graphics/xorg-lib/libxi_git.bb b/meta/recipes-graphics/xorg-lib/libxi_git.bb
index 30c1778c3..fac32365e 100644
--- a/meta/recipes-graphics/xorg-lib/libxi_git.bb
+++ b/meta/recipes-graphics/xorg-lib/libxi_git.bb
@@ -1,6 +1,12 @@
require xorg-lib-common.inc
-DESCRIPTION = "X11 Input extension library"
+SUMMARY = "XI: X Input extension library"
+
+DESCRIPTION = "libxi is an extension to the X11 protocol to support \
+input devices other than the core X keyboard and pointer. It allows \
+client programs to select input from these devices independently from \
+each other and independently from the core devices."
+
DEPENDS += "libxext inputproto"
PE = "1"
PV = "1.2.99.5+gitr${SRCPV}"
diff --git a/meta/recipes-graphics/xorg-lib/libxinerama_1.1.1.bb b/meta/recipes-graphics/xorg-lib/libxinerama_1.1.1.bb
index a4048b742..cbd7d4c34 100644
--- a/meta/recipes-graphics/xorg-lib/libxinerama_1.1.1.bb
+++ b/meta/recipes-graphics/xorg-lib/libxinerama_1.1.1.bb
@@ -1,6 +1,10 @@
require xorg-lib-common.inc
-DESCRIPTION = "X11 Xinerama extension library"
+SUMMARY = "Xinerama: Xinerama extension library"
+
+DESCRIPTION = "Xinerama is a simple library designed to interface the \
+Xinerama Extension for retrieving information about physical output \
+devices which may be combined into a single logical X screen."
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=6f4f634d1643a2e638bba3fcd19c2536 \
diff --git a/meta/recipes-graphics/xorg-lib/libxkbfile_1.0.7.bb b/meta/recipes-graphics/xorg-lib/libxkbfile_1.0.7.bb
index 17bbca0de..ff2f90f4e 100644
--- a/meta/recipes-graphics/xorg-lib/libxkbfile_1.0.7.bb
+++ b/meta/recipes-graphics/xorg-lib/libxkbfile_1.0.7.bb
@@ -1,4 +1,7 @@
-DESCRIPTION = "X11 keyboard file manipulation library"
+SUMMARY = "XKB: X Keyboard File manipulation library"
+
+DESCRIPTION = "libxkbfile provides an interface to read and manipulate \
+description files for XKB, the X11 keyboard configuration extension."
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/libxmu_1.1.0.bb b/meta/recipes-graphics/xorg-lib/libxmu_1.1.0.bb
index bea21791d..59f2c2804 100644
--- a/meta/recipes-graphics/xorg-lib/libxmu_1.1.0.bb
+++ b/meta/recipes-graphics/xorg-lib/libxmu_1.1.0.bb
@@ -1,4 +1,12 @@
-DESCRIPTION = "X11 miscellaneous utility library"
+SUMMARY = "Xmu and Xmuu: X Miscellaneous Utility libraries"
+
+DESCRIPTION = "The Xmu Library is a collection of miscellaneous (some \
+might say random) utility functions that have been useful in building \
+various applications and widgets. This library is required by the Athena \
+Widgets. A subset of the functions that do not rely on the Athena \
+Widgets (libXaw) or X Toolkit Instrinsics (libXt) are provided in a \
+second library, libXmuu."
+
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/libxp_1.0.0.bb b/meta/recipes-graphics/xorg-lib/libxp_1.0.0.bb
deleted file mode 100644
index 5b412eced..000000000
--- a/meta/recipes-graphics/xorg-lib/libxp_1.0.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-require xorg-lib-common.inc
-
-DESCRIPTION = "X Printing Extension (Xprint) client library"
-
-LICENSE = "MIT & MIT-style"
-LIC_FILES_CHKSUM = "file://COPYING;md5=329e54eb6793b3d4830a4f6f1ca16e3f \
- file://src/XpPage.c;beginline=2;endline=37;md5=886b68ac3721003d54abfbd82bafc5ad"
-
-DEPENDS += "libxext libxau printproto"
-PR = "r1"
-PE = "1"
-
-XORG_PN = "libXp"
-
-CFLAGS_append += " -I ${S}/include/X11/XprintUtil -I ${S}/include/X11/extensions"
-
-SRC_URI[md5sum] = "0f4ac39108c1ae8c443cdfac259b58fa"
-SRC_URI[sha256sum] = "7e64b1550ce85b05762e960459ac676a0406c786756b200ff29c57f84bce9cae"
diff --git a/meta/recipes-graphics/xorg-lib/libxp_1.0.1.bb b/meta/recipes-graphics/xorg-lib/libxp_1.0.1.bb
new file mode 100644
index 000000000..a19f561fa
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/libxp_1.0.1.bb
@@ -0,0 +1,21 @@
+require xorg-lib-common.inc
+
+SUMMARY = "XP: X Printing extension library"
+
+DESCRIPTION = "libXp provides public APIs to allow client applications \
+to render to non-display devices, making use of the X Print Service."
+
+LICENSE = "MIT & MIT-style"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9504a1264f5ddd4949254a57c0f8d6bb \
+ file://src/XpPage.c;beginline=2;endline=35;md5=2b7d3d2ba5505b19271cf31b6918997e"
+
+DEPENDS += "libxext libxau printproto"
+PR = "r0"
+PE = "1"
+
+XORG_PN = "libXp"
+
+CFLAGS_append += " -I ${S}/include/X11/XprintUtil -I ${S}/include/X11/extensions"
+
+SRC_URI[md5sum] = "7ae1d63748e79086bd51a633da1ff1a9"
+SRC_URI[sha256sum] = "71d1f260005616d646b8c8788365f2b7d93911dac57bb53b65753d9f9e6443d2"
diff --git a/meta/recipes-graphics/xorg-lib/libxpm_3.5.9.bb b/meta/recipes-graphics/xorg-lib/libxpm_3.5.9.bb
index ecb8ad71d..1a548fa57 100644
--- a/meta/recipes-graphics/xorg-lib/libxpm_3.5.9.bb
+++ b/meta/recipes-graphics/xorg-lib/libxpm_3.5.9.bb
@@ -1,6 +1,12 @@
require xorg-lib-common.inc
-DESCRIPTION = "X11 Pixmap library"
+SUMMARY = "Xpm: X Pixmap extension library"
+
+DESCRIPTION = "libXpm provides support and common operation for the XPM \
+pixmap format, which is commonly used in legacy X applications. XPM is \
+an extension of the monochrome XBM bitmap specificied in the X \
+protocol."
+
LICENSE = "X-BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=3e07763d16963c3af12db271a31abaa5"
DEPENDS += "libxext libsm libxt"
diff --git a/meta/recipes-graphics/xorg-lib/libxprintapputil_1.0.1.bb b/meta/recipes-graphics/xorg-lib/libxprintapputil_1.0.1.bb
index cc547909a..0f3892cf6 100644
--- a/meta/recipes-graphics/xorg-lib/libxprintapputil_1.0.1.bb
+++ b/meta/recipes-graphics/xorg-lib/libxprintapputil_1.0.1.bb
@@ -1,6 +1,11 @@
require xorg-lib-common.inc
-DESCRIPTION = "Xprint job utility client library"
+SUMMARY = "Xprint: Xprint job utility library"
+
+DESCRIPTION = "libxprintapputil provides utility Xpau APIs allowing \
+client applications to access information about and control Xprint jobs \
+from an Xprint server."
+
DEPENDS += "libxp libxt libxprintutil"
PR = "r1"
LIC_FILES_CHKSUM = "file://src/xpapputil.c;beginline=2;endline=27;md5=be811cca90200613a672dc96206a767b"
diff --git a/meta/recipes-graphics/xorg-lib/libxprintutil_1.0.1.bb b/meta/recipes-graphics/xorg-lib/libxprintutil_1.0.1.bb
index a499fe294..8e3507c38 100644
--- a/meta/recipes-graphics/xorg-lib/libxprintutil_1.0.1.bb
+++ b/meta/recipes-graphics/xorg-lib/libxprintutil_1.0.1.bb
@@ -1,7 +1,12 @@
require xorg-lib-common.inc
LIC_FILES_CHKSUM = "file://src/xprintutil.c;endline=29;md5=22d5a98494dd356a2c6c9c355886f3af"
-DESCRIPTION = "Xprint printer utility client library"
+SUMMARY = "Xprint: Xprint printer utility library"
+
+DESCRIPTION = "libxprintutil provides utility Xpu APIs allowing client \
+applications to access and manipulate information about printer \
+capabilities from an Xprint server."
+
DEPENDS += "libxp libxt"
PR = "r1"
PE = "1"
diff --git a/meta/recipes-graphics/xorg-lib/libxrandr_1.3.1.bb b/meta/recipes-graphics/xorg-lib/libxrandr_1.3.1.bb
index 789d39401..917fe2067 100644
--- a/meta/recipes-graphics/xorg-lib/libxrandr_1.3.1.bb
+++ b/meta/recipes-graphics/xorg-lib/libxrandr_1.3.1.bb
@@ -1,4 +1,10 @@
-DESCRIPTION = "X11 Resize and Rotate extension library"
+SUMMARY = "XRandR: X Resize, Rotate and Reflect extension library"
+
+DESCRIPTION = "The X Resize, Rotate and Reflect Extension, called RandR \
+for short, brings the ability to resize, rotate and reflect the root \
+window of a screen. It is based on the X Resize and Rotate Extension as \
+specified in the Proceedings of the 2001 Usenix Technical Conference \
+[RANDR]."
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/libxrender_0.9.6.bb b/meta/recipes-graphics/xorg-lib/libxrender_0.9.6.bb
index 22418e3f8..a5c5ead27 100644
--- a/meta/recipes-graphics/xorg-lib/libxrender_0.9.6.bb
+++ b/meta/recipes-graphics/xorg-lib/libxrender_0.9.6.bb
@@ -1,4 +1,10 @@
-DESCRIPTION = "X11 Rendering Extension client library"
+SUMMARY = "XRender: X Rendering Extension library"
+
+DESCRIPTION = "The X Rendering Extension (Render) introduces digital \
+image composition as the foundation of a new rendering model within the \
+X Window System. Rendering geometric figures is accomplished by \
+client-side tessellation into either triangles or trapezoids. Text is \
+drawn by loading glyphs into the server and rendering sets of them."
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/libxres_1.0.5.bb b/meta/recipes-graphics/xorg-lib/libxres_1.0.5.bb
index 5d8f946e8..3d9e8fc55 100644
--- a/meta/recipes-graphics/xorg-lib/libxres_1.0.5.bb
+++ b/meta/recipes-graphics/xorg-lib/libxres_1.0.5.bb
@@ -1,4 +1,9 @@
-DESCRIPTION = "X11 Resource extension library"
+SUMMARY = "XRes: X Resource extension library"
+
+DESCRIPTION = "libXRes provides an X Window System client interface to \
+the Resource extension to the X protocol. The Resource extension allows \
+for X clients to see and monitor the X resource usage of various clients \
+(pixmaps, et al)."
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.1.bb b/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.1.bb
index 3df0aca85..453c68f48 100644
--- a/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.1.bb
+++ b/meta/recipes-graphics/xorg-lib/libxscrnsaver_1.2.1.bb
@@ -1,6 +1,14 @@
require xorg-lib-common.inc
-DESCRIPTION = "X Screen Saver extension library"
+SUMMARY = "Xscrnsaver: X Screen Saver extension library"
+
+DESCRIPTION = "The X Window System provides support for changing the \
+image on a display screen after a user-settable period of inactivity to \
+avoid burning the cathode ray tube phosphors. However, no interfaces are \
+provided for the user to control the image that is drawn. This extension \
+allows an external \"screen saver\" client to detect when the alternate \
+image is to be displayed and to provide the graphics."
+
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=21fd154ee757813632ada871a34113fb"
diff --git a/meta/recipes-graphics/xorg-lib/libxt_1.0.9.bb b/meta/recipes-graphics/xorg-lib/libxt_1.0.9.bb
index 7a62e7ba2..63119ae1c 100644
--- a/meta/recipes-graphics/xorg-lib/libxt_1.0.9.bb
+++ b/meta/recipes-graphics/xorg-lib/libxt_1.0.9.bb
@@ -1,4 +1,14 @@
-DESCRIPTION = "X11 toolkit intrinsics library"
+SUMMARY = "Xt: X Toolkit Intrinsics library"
+
+DESCRIPTION = "The Intrinsics are a programming library tailored to the \
+special requirements of user interface construction within a network \
+window system, specifically the X Window System. The Intrinsics and a \
+widget set make up an X Toolkit. The Intrinsics provide the base \
+mechanism necessary to build a wide variety of interoperating widget \
+sets and application environments. The Intrinsics are a layer on top of \
+Xlib, the C Library X Interface. They extend the fundamental \
+abstractions provided by the X Window System while still remaining \
+independent of any particular user interface policy or style."
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/libxtrap_1.0.0.bb b/meta/recipes-graphics/xorg-lib/libxtrap_1.0.0.bb
index 19b1c3676..4d1f791ac 100644
--- a/meta/recipes-graphics/xorg-lib/libxtrap_1.0.0.bb
+++ b/meta/recipes-graphics/xorg-lib/libxtrap_1.0.0.bb
@@ -1,6 +1,10 @@
+SUMMARY = "XTrap: X event trapping extension library"
+
+DESCRIPTION = "libXTrap provides an interface to the DEC-XTRAP \
+extension, which allows for capture and synthesis of core input events."
+
require xorg-lib-common.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=fe7cbb8cc97683303f7814685cc47305"
-DESCRIPTION = "X11 event trapping extension library"
DEPENDS += "libxt trapproto libxext"
PR = "r1"
PE = "1"
diff --git a/meta/recipes-graphics/xorg-lib/libxtst_1.2.0.bb b/meta/recipes-graphics/xorg-lib/libxtst_1.2.0.bb
index 811a190fd..2081f0ca9 100644
--- a/meta/recipes-graphics/xorg-lib/libxtst_1.2.0.bb
+++ b/meta/recipes-graphics/xorg-lib/libxtst_1.2.0.bb
@@ -1,6 +1,10 @@
require xorg-lib-common.inc
-DESCRIPTION = "X Test Extension: client side library"
+SUMMARY = "XTest: X Test extension library"
+
+DESCRIPTION = "This extension is a minimal set of client and server \
+extensions required to completely test the X11 server with no user \
+intervention."
LICENSE = "MIT-style"
LIC_FILES_CHKSUM = "file://COPYING;md5=cba677ca25c42ad29ee8ff351b50ece8 \
diff --git a/meta/recipes-graphics/xorg-lib/libxv_1.0.6.bb b/meta/recipes-graphics/xorg-lib/libxv_1.0.6.bb
index 0feecb436..f3d8d27c5 100644
--- a/meta/recipes-graphics/xorg-lib/libxv_1.0.6.bb
+++ b/meta/recipes-graphics/xorg-lib/libxv_1.0.6.bb
@@ -1,4 +1,9 @@
-DESCRIPTION = "X11 Video extension library"
+SUMMARY = "Xv: X Video extension library"
+
+DESCRIPTION = "libXv provides an X Window System client interface to the \
+X Video extension to the X protocol. The X Video extension allows for \
+accelerated drawing of videos. Hardware adaptors are exposed to \
+clients, which may draw in a number of colourspaces, including YUV."
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/libxvmc_1.0.6.bb b/meta/recipes-graphics/xorg-lib/libxvmc_1.0.6.bb
index 6f87f72ce..1f690b8c4 100644
--- a/meta/recipes-graphics/xorg-lib/libxvmc_1.0.6.bb
+++ b/meta/recipes-graphics/xorg-lib/libxvmc_1.0.6.bb
@@ -1,4 +1,7 @@
-DESCRIPTION = "X Video Motion Compensation extension library"
+SUMMARY = "XvMC: X Video Motion Compensation extension library"
+
+DESCRIPTION = "XvMC extends the X Video extension (Xv) and enables \
+hardware rendered motion compensation support."
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.2.bb b/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.2.bb
index cc76861ec..8e777c3db 100644
--- a/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.2.bb
+++ b/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.2.bb
@@ -1,6 +1,12 @@
require xorg-lib-common.inc
-DESCRIPTION = "X11 Direct Graphics Access extension library"
+SUMMARY = "XFree86-DGA: XFree86 Direct Graphics Access extension library"
+
+DESCRIPTION = "libXxf86dga provides the XFree86-DGA extension, which \
+allows direct graphics access to a framebuffer-like region, and also \
+allows relative mouse reporting, et al. It is mainly used by games and \
+emulators for games."
+
DEPENDS += "libxext xf86dgaproto"
PR = "r1"
PE = "1"
diff --git a/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.2.bb b/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.2.bb
deleted file mode 100644
index 12a1ad7ff..000000000
--- a/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.2.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "X11 XFree86 miscellaneous extension library"
-
-require xorg-lib-common.inc
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=27c91ecc435bd3d2bfad868914c94b45"
-
-DEPENDS += "libxext xf86miscproto"
-PROVIDES = "xxf86misc"
-
-PR = "r0"
-PE = "1"
-
-XORG_PN = "libXxf86misc"
-
-SRC_URI[md5sum] = "51fed53e8de067d4b8666f75a0212400"
-SRC_URI[sha256sum] = "8e64b6b1bf34fcd112b1fd866d77e110b47794e825a996e4492c0ee408957cb3"
diff --git a/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.3.bb b/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.3.bb
new file mode 100644
index 000000000..bda6da2aa
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.3.bb
@@ -0,0 +1,21 @@
+SUMMARY = "XFree86-Misc: XFree86 miscellaneous extension library"
+
+DESCRIPTION = "The XFree86-Misc extension, provides a means to access \
+input device configuration settings specific to the XFree86/Xorg DDX."
+
+require xorg-lib-common.inc
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=27c91ecc435bd3d2bfad868914c94b45"
+
+DEPENDS += "libxext xf86miscproto"
+PROVIDES = "xxf86misc"
+
+PR = "r0"
+PE = "1"
+
+XORG_PN = "libXxf86misc"
+
+SRC_URI[md5sum] = "6bc0bf78909fd71021c466c793d4385c"
+SRC_URI[sha256sum] = "563f4200862efd3334c33a669e0a0aae5bab31f3998db75b87a99a697cc26b5b"
+
diff --git a/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.1.bb b/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.1.bb
index 0e4e95b1e..4066f0891 100644
--- a/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.1.bb
+++ b/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.1.bb
@@ -1,4 +1,9 @@
-DESCRIPTION = "X11 XFree86 video mode extension library"
+SUMMARY = "XFree86-VM: XFree86 video mode extension library"
+
+DESCRIPTION = "libXxf86vm provides an interface to the \
+XFree86-VidModeExtension extension, which allows client applications to \
+get and set video mode timings in extensive detail. It is used by the \
+xvidtune program in particular."
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-lib/pixman_0.20.0.bb b/meta/recipes-graphics/xorg-lib/pixman_0.20.2.bb
index 0ccadcd91..9a97c3d60 100644
--- a/meta/recipes-graphics/xorg-lib/pixman_0.20.0.bb
+++ b/meta/recipes-graphics/xorg-lib/pixman_0.20.2.bb
@@ -1,4 +1,9 @@
-DESCRIPTION = "Library for lowlevel pixel operations"
+SUMMARY = "Pixman: Pixel Manipulation library"
+
+DESCRIPTION = "Pixman provides a library for manipulating pixel regions \
+-- a set of Y-X banded rectangles, image compositing using the \
+Porter/Duff model and implicit mask generation for geometric primitives \
+including trapezoids, triangles, and rectangles."
require xorg-lib-common.inc
@@ -10,9 +15,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fea989a44fb012b5e79584972a863d22 \
DEPENDS = "virtual/libx11"
-PR="r0"
+PE = "1"
+PR = "r0"
EXTRA_OECONF="--disable-gtk"
-SRC_URI[md5sum] = "512ec766a911142b901157ba581f6e75"
-SRC_URI[sha256sum] = "4798a9961bf38a1b25cabef0a8a73fd7dcc6b98da187ce55b1420894360188b5"
+SRC_URI[md5sum] = "7ed10a0f0fde6853613105a99735e7e7"
+SRC_URI[sha256sum] = "30316f269a6b84c32b47545ca7fc428fd16875849fea644dc6910b3f8c33f4a9"
+
diff --git a/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.0.bb b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.1.bb
index 358bf8495..e0aa7994c 100644
--- a/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.0.bb
+++ b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.1.bb
@@ -1,4 +1,11 @@
-DESCRIPTION = "Keyboard configuration database for X Window"
+SUMMARY = "Keyboard configuration database for X Window"
+
+DESCRIPTION = "The non-arch keyboard configuration database for X \
+Window. The goal is to provide the consistent, well-structured, \
+frequently released open source of X keyboard configuration data for X \
+Window System implementations. The project is targeted to XKB-based \
+systems."
+
HOMEPAGE = "http://freedesktop.org/wiki/Software/XKeyboardConfig"
BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xkeyboard-config"
@@ -6,9 +13,9 @@ LICENSE = "MIT & MIT-style"
LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9"
SRC_URI = "http://people.freedesktop.org/~svu/xkeyboard-config-${PV}.tar.bz2"
+SRC_URI[md5sum] = "6ce65480445fb2d9c071ad1f002a7675"
+SRC_URI[sha256sum] = "e293aa4b0dd259dbb4f0e7f56fdd95db5047d052c7b3b80922fe5663923a805d"
-SRC_URI[md5sum] = "bb8a98ee61cdc4bd835fdfd2b5cee3e6"
-SRC_URI[sha256sum] = "175f275f5a041edda41fe0f27e59061d1d9c6615959475e4d68ad773b6a2e376"
SECTION = "x11/libs"
DEPENDS = "intltool xkbcomp-native glib-2.0"
diff --git a/meta/recipes-graphics/xorg-lib/xtrans_1.2.6.bb b/meta/recipes-graphics/xorg-lib/xtrans_1.2.6.bb
index f2d939443..335f020a2 100644
--- a/meta/recipes-graphics/xorg-lib/xtrans_1.2.6.bb
+++ b/meta/recipes-graphics/xorg-lib/xtrans_1.2.6.bb
@@ -1,7 +1,11 @@
-SUMMARY = "X transport library"
+SUMMARY = "XTrans: X Transport library"
-DESCRIPTION = "network API translation layer to insulate X applications and \
-libraries from OS network vageries."
+DESCRIPTION = "The X Transport Interface is intended to combine all \
+system and transport specific code into a single place. This API should \
+be used by all libraries, clients and servers of the X Window System. \
+Use of this API should allow the addition of new types of transports and \
+support for new platforms without making any changes to the source \
+except in the X Transport Interface code."
require xorg-lib-common.inc
diff --git a/meta/recipes-graphics/xorg-proto/bigreqsproto_1.1.0.bb b/meta/recipes-graphics/xorg-proto/bigreqsproto_1.1.0.bb
deleted file mode 100644
index 894c141f1..000000000
--- a/meta/recipes-graphics/xorg-proto/bigreqsproto_1.1.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require xorg-proto-common.inc
-
-PR = "r2"
-PE = "1"
-
-DEPENDS += "gettext"
-
-DESCRIPTION = "X.Org BigReqs extension headers"
-
-BBCLASSEXTEND = "native nativesdk"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b12715630da6f268d0d3712ee1a504f4"
-
-SRC_URI[md5sum] = "d30c5dbf19ca6dffcd9788227ecff8c5"
-SRC_URI[sha256sum] = "4864e12d3c5a99b0a9ee4704822455299345e6c65b23c688a4e4bf11481107bd"
diff --git a/meta/recipes-graphics/xorg-proto/bigreqsproto_1.1.1.bb b/meta/recipes-graphics/xorg-proto/bigreqsproto_1.1.1.bb
new file mode 100644
index 000000000..19fe3286c
--- /dev/null
+++ b/meta/recipes-graphics/xorg-proto/bigreqsproto_1.1.1.bb
@@ -0,0 +1,19 @@
+require xorg-proto-common.inc
+
+PR = "r0"
+PE = "1"
+
+DEPENDS += "gettext"
+
+SUMMARY = "BigReqs: X Big Requests extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the \
+BIG-REQUESTS extension, used to send larger requests that usual in order \
+to avoid fragmentation."
+
+BBCLASSEXTEND = "native nativesdk"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b12715630da6f268d0d3712ee1a504f4"
+
+SRC_URI[md5sum] = "6f6c24436c2b3ab235eb14a85b9aaacf"
+SRC_URI[sha256sum] = "1c3b85872b58d215e8fbfdc7c36bb397d10053324a5df8722227d35254fff09a"
diff --git a/meta/recipes-graphics/xorg-proto/calibrateproto_git.bb b/meta/recipes-graphics/xorg-proto/calibrateproto_git.bb
index 9fd5c3fe0..f86ea4a7d 100644
--- a/meta/recipes-graphics/xorg-proto/calibrateproto_git.bb
+++ b/meta/recipes-graphics/xorg-proto/calibrateproto_git.bb
@@ -1,6 +1,9 @@
require xorg-proto-common.inc
-DESCRIPTION = "Touchscreen calibration protocol"
+SUMMARY = "XCalibrate: Touchscreen calibration headers"
+
+DESCRIPTION = "This package provides the wire protocol for the \
+Touchscreen calibration extension."
LICENSE = "MIT-style"
LIC_FILES_CHKSUM = "file://xcalibratewire.h;endline=23;md5=7f86ef7b03cce6c4c9ebd59d20ca485f \
diff --git a/meta/recipes-graphics/xorg-proto/compositeproto_0.4.2.bb b/meta/recipes-graphics/xorg-proto/compositeproto_0.4.2.bb
new file mode 100644
index 000000000..5917f20be
--- /dev/null
+++ b/meta/recipes-graphics/xorg-proto/compositeproto_0.4.2.bb
@@ -0,0 +1,20 @@
+require xorg-proto-common.inc
+
+SUMMARY = "Xcomposite: X composite extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the X \
+composite extension. The X composite extension provides three related \
+mechanisms for compositing and off-screen storage."
+
+LICENSE = "MIT & MIT-style"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2c4bfe136f4a4418ea2f2a96b7c8f3c5 \
+ file://composite.h;endline=43;md5=cbd44d4079053aa75930ed2f02b92926"
+
+CONFLICTS = "compositeext"
+
+PR = "r0"
+PE = "1"
+
+SRC_URI[md5sum] = "98482f65ba1e74a08bf5b056a4031ef0"
+SRC_URI[sha256sum] = "049359f0be0b2b984a8149c966dd04e8c58e6eade2a4a309cf1126635ccd0cfc"
+
diff --git a/meta/recipes-graphics/xorg-proto/compositeproto_0.4.bb b/meta/recipes-graphics/xorg-proto/compositeproto_0.4.bb
deleted file mode 100644
index 37bbe31ef..000000000
--- a/meta/recipes-graphics/xorg-proto/compositeproto_0.4.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require xorg-proto-common.inc
-
-LICENSE = "MIT-style"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f8cdfa47489609f305b91521f3a8803f \
- file://composite.h;endline=43;md5=11420a347713de702a1fe60949085464"
-
-CONFLICTS = "compositeext"
-PE = "1"
-
-SRC_URI[md5sum] = "6281344d656d4e0c8e9db4918efe3d1d"
-SRC_URI[sha256sum] = "6013d1ca63b2b7540f6f99977090812b899852acfbd9df123b5ebaa911e30003"
diff --git a/meta/recipes-graphics/xorg-proto/damageproto_1.2.1.bb b/meta/recipes-graphics/xorg-proto/damageproto_1.2.1.bb
index 1f2c55589..6bfa1b2b1 100644
--- a/meta/recipes-graphics/xorg-proto/damageproto_1.2.1.bb
+++ b/meta/recipes-graphics/xorg-proto/damageproto_1.2.1.bb
@@ -1,5 +1,12 @@
require xorg-proto-common.inc
+SUMMARY = "Xdamage: X Damage extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the DAMAGE \
+extension. The DAMAGE extension allows applications to receive \
+information about changes made to pixel contents of windows and \
+pixmaps."
+
LICENSE = "MIT-style"
LIC_FILES_CHKSUM = "file://COPYING;md5=d5f5a2de65c3a84cbde769f07a769608 \
file://damagewire.h;endline=23;md5=4a4501a592dbc7de5ce89255e50d0296"
diff --git a/meta/recipes-graphics/xorg-proto/dmxproto_2.3.1.bb b/meta/recipes-graphics/xorg-proto/dmxproto_2.3.1.bb
new file mode 100644
index 000000000..c52107109
--- /dev/null
+++ b/meta/recipes-graphics/xorg-proto/dmxproto_2.3.1.bb
@@ -0,0 +1,19 @@
+require xorg-proto-common.inc
+
+SUMMARY = "DMX: Distributed Multihead extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the DMX \
+extension. The DMX extension provides support for communication with \
+and control of Xdmx server. Attributes of the Xdmx server and of the \
+back-end screens attached to the server can be queried and modified via \
+this protocol."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a3c3499231a8035efd0e004cfbd3b72a \
+ file://dmxproto.h;endline=32;md5=ab8509955c3dd4c65fac728e1b367bc4"
+
+PR = "r0"
+PE = "1"
+
+SRC_URI[md5sum] = "4ee175bbd44d05c34d43bb129be5098a"
+SRC_URI[sha256sum] = "e72051e6a3e06b236d19eed56368117b745ca1e1a27bdc50fd51aa375bea6509"
diff --git a/meta/recipes-graphics/xorg-proto/dmxproto_2.3.bb b/meta/recipes-graphics/xorg-proto/dmxproto_2.3.bb
deleted file mode 100644
index da6262969..000000000
--- a/meta/recipes-graphics/xorg-proto/dmxproto_2.3.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require xorg-proto-common.inc
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a3c3499231a8035efd0e004cfbd3b72a \
- file://dmxproto.h;endline=32;md5=ab8509955c3dd4c65fac728e1b367bc4"
-
-PR = "r1"
-PE = "1"
-
-SRC_URI[md5sum] = "880a41720b2937e2660dcdc0d34a8791"
-SRC_URI[sha256sum] = "3a882ca43a1f359e3489468e6c407fd7d56d559f8895cf096a2ec877d6c403b0"
diff --git a/meta/recipes-graphics/xorg-proto/dri2proto_2.3.bb b/meta/recipes-graphics/xorg-proto/dri2proto_2.3.bb
index 849dc00dd..79f7dbc1a 100644
--- a/meta/recipes-graphics/xorg-proto/dri2proto_2.3.bb
+++ b/meta/recipes-graphics/xorg-proto/dri2proto_2.3.bb
@@ -1,7 +1,11 @@
-DESCRIPTION = "DRI2 extension headers"
-
require xorg-proto-common.inc
+SUMMARY = "DRI2: Direct Rendering Infrastructure 2 headers"
+
+DESCRIPTION = "This package provides the wire protocol for the Direct \
+Rendering Ifnrastructure 2. DIR is required for may hardware \
+accelerated OpenGL drivers."
+
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=2e396fa91834f8786032cad2da5638f3 \
file://dri2proto.h;endline=31;md5=22f28bf68d01b533f26195e94b3ed8ca"
diff --git a/meta/recipes-graphics/xorg-proto/dri2proto_git.bb b/meta/recipes-graphics/xorg-proto/dri2proto_git.bb
index a5ad7d091..c1aa35ff2 100644
--- a/meta/recipes-graphics/xorg-proto/dri2proto_git.bb
+++ b/meta/recipes-graphics/xorg-proto/dri2proto_git.bb
@@ -1,7 +1,11 @@
-DESCRIPTION = "DRI2 extension headers"
-
require xorg-proto-common.inc
+SUMMARY = "DRI2: Direct Rendering Infrastructure 2 headers"
+
+DESCRIPTION = "This package provides the wire protocol for the Direct \
+Rendering Ifnrastructure 2. DIR is required for may hardware \
+accelerated OpenGL drivers."
+
PV = "1.99.3+git${SRCPV}"
PR = "r2"
diff --git a/meta/recipes-graphics/xorg-proto/evieext_1.1.0.bb b/meta/recipes-graphics/xorg-proto/evieext_1.1.0.bb
index 9e283041c..5800af10d 100644
--- a/meta/recipes-graphics/xorg-proto/evieext_1.1.0.bb
+++ b/meta/recipes-graphics/xorg-proto/evieext_1.1.0.bb
@@ -1,6 +1,10 @@
require xorg-proto-common.inc
-DESCRIPTION = "X EVIE extension headers"
+SUMMARY = "EvIE: X Event Interception Extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the X Event \
+Interception Extension. This extension allows the interception of \
+keyboard and mouse events."
PR = "r1"
PE = "1"
diff --git a/meta/recipes-graphics/xorg-proto/fixesproto_4.1.2.bb b/meta/recipes-graphics/xorg-proto/fixesproto_4.1.2.bb
index 567f1fe53..853ffa88a 100644
--- a/meta/recipes-graphics/xorg-proto/fixesproto_4.1.2.bb
+++ b/meta/recipes-graphics/xorg-proto/fixesproto_4.1.2.bb
@@ -1,5 +1,13 @@
require xorg-proto-common.inc
+SUMMARY = "XFixes: X Fixes extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the X Fixes \
+extension. This extension is designed to provide server-side support \
+for application work arounds to shortcomings in the core X window \
+system."
+
+
LICENSE = "MIT & MIT-style"
LIC_FILES_CHKSUM = "file://COPYING;md5=3bd0f26ecf86d0f24922125195d5b70a \
file://xfixesproto.h;endline=43;md5=27614675897bb1cdc611ba7de506cddc"
diff --git a/meta/recipes-graphics/xorg-proto/fontcacheproto_0.1.3.bb b/meta/recipes-graphics/xorg-proto/fontcacheproto_0.1.3.bb
index d4594b32a..42c95882b 100644
--- a/meta/recipes-graphics/xorg-proto/fontcacheproto_0.1.3.bb
+++ b/meta/recipes-graphics/xorg-proto/fontcacheproto_0.1.3.bb
@@ -1,5 +1,11 @@
require xorg-proto-common.inc
+SUMMARY = "XFontCache: X Font Cache extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the X Font \
+Cache extension. This extension is used by X-TrueType to cache \
+information about fonts."
+
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=ba9fcd8fe6d09af9f733daccc1a21857 \
file://fontcacheP.h;endline=28;md5=85c80bfa96c802ee85a570862ee60214"
diff --git a/meta/recipes-graphics/xorg-proto/fontsproto_2.1.1.bb b/meta/recipes-graphics/xorg-proto/fontsproto_2.1.1.bb
index 1ed81007b..af59240fd 100644
--- a/meta/recipes-graphics/xorg-proto/fontsproto_2.1.1.bb
+++ b/meta/recipes-graphics/xorg-proto/fontsproto_2.1.1.bb
@@ -1,5 +1,11 @@
require xorg-proto-common.inc
+SUMMARY = "XFont: X Font rasterisation headers"
+
+DESCRIPTION = "This package provides the wire protocol for the X Font \
+rasterisation extensions. These extensions are used to control \
+server-side font configurations."
+
LICENSE = "MIT-style"
LIC_FILES_CHKSUM = "file://COPYING;md5=c3e48aa9ce868c8e90f0401db41c11a2 \
file://FSproto.h;endline=44;md5=d2e58e27095e5ea7d4ad456ccb91986c"
diff --git a/meta/recipes-graphics/xorg-proto/glproto_1.4.12.bb b/meta/recipes-graphics/xorg-proto/glproto_1.4.12.bb
index 9c8e7030d..7b32e70da 100644
--- a/meta/recipes-graphics/xorg-proto/glproto_1.4.12.bb
+++ b/meta/recipes-graphics/xorg-proto/glproto_1.4.12.bb
@@ -1,5 +1,11 @@
require xorg-proto-common.inc
+SUMMARY = "OpenGL: X OpenGL extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the \
+OpenGL-related extensions, used to enable the rendering of applications \
+using OpenGL."
+
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=d44ed0146997856304dfbb512a59a8de \
file://glxproto.h;beginline=4;endline=32;md5=6b79c570f644363b356456e7d44471d9"
diff --git a/meta/recipes-graphics/xorg-proto/inputproto_2.0.1.bb b/meta/recipes-graphics/xorg-proto/inputproto_2.0.1.bb
new file mode 100644
index 000000000..7103d0d17
--- /dev/null
+++ b/meta/recipes-graphics/xorg-proto/inputproto_2.0.1.bb
@@ -0,0 +1,22 @@
+require xorg-proto-common.inc
+
+SUMMARY = "XI: X Input extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the X Input \
+extension. The extension supports input devices other then the core X \
+keyboard and pointer."
+
+LICENSE = "MIT & MIT-style"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e562cc0f6587b961f032211d8160f31e \
+ file://XI2proto.h;endline=48;md5=1ac1581e61188da2885cc14ff49b20be"
+
+PR = "r0"
+PE = "1"
+
+inherit gettext
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI[md5sum] = "da9bf9e5d174163f597d2d72757d9038"
+SRC_URI[sha256sum] = "63663dd88df812738e0efdc52a18868c0756128f09748cbe89c8ec6d17124a44"
+
diff --git a/meta/recipes-graphics/xorg-proto/inputproto_2.0.bb b/meta/recipes-graphics/xorg-proto/inputproto_2.0.bb
deleted file mode 100644
index 1b63be58a..000000000
--- a/meta/recipes-graphics/xorg-proto/inputproto_2.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require xorg-proto-common.inc
-
-LICENSE = "MIT & MIT-style"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b9f79c119df756aeffcb89ec96716a9e \
- file://XI2proto.h;endline=48;md5=1ac1581e61188da2885cc14ff49b20be"
-
-PR = "r2"
-PE = "1"
-
-inherit gettext
-
-BBCLASSEXTEND = "native nativesdk"
-
-SRC_URI[md5sum] = "0f7acbc14a082f9ae03744396527d23d"
-SRC_URI[sha256sum] = "472f57f7928ab20a1303a25982c4091db9674c2729bbd692c9a7204e23ea1af4"
diff --git a/meta/recipes-graphics/xorg-proto/inputproto_git.bb b/meta/recipes-graphics/xorg-proto/inputproto_git.bb
index a97fb0bfa..f1cbbb86f 100644
--- a/meta/recipes-graphics/xorg-proto/inputproto_git.bb
+++ b/meta/recipes-graphics/xorg-proto/inputproto_git.bb
@@ -1,5 +1,11 @@
require xorg-proto-common.inc
+SUMMARY = "XI: X Input extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the X Input \
+extension. The extension supports input devices other then the core X \
+keyboard and pointer."
+
PR = "r1"
PE = "1"
PV = "1.9.99.12+git${SRCPV}"
diff --git a/meta/recipes-graphics/xorg-proto/kbproto_1.0.5.bb b/meta/recipes-graphics/xorg-proto/kbproto_1.0.5.bb
index affd62777..cd62534fa 100644
--- a/meta/recipes-graphics/xorg-proto/kbproto_1.0.5.bb
+++ b/meta/recipes-graphics/xorg-proto/kbproto_1.0.5.bb
@@ -1,5 +1,11 @@
require xorg-proto-common.inc
+SUMMARY = "XKB: X Keyboard extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the X \
+Keyboard extension. This extension is used to control options related \
+to keyboard handling and layout."
+
LICENSE = "MIT-style"
LIC_FILES_CHKSUM = "file://COPYING;md5=7dd6ea99e2a83a552c02c80963623c38 \
file://XKBproto.h;beginline=2;endline=26;md5=5744eeff407aeb6e7a1346eebab486a2"
diff --git a/meta/recipes-graphics/xorg-proto/printproto_1.0.4.bb b/meta/recipes-graphics/xorg-proto/printproto_1.0.4.bb
deleted file mode 100644
index 6f8e2058e..000000000
--- a/meta/recipes-graphics/xorg-proto/printproto_1.0.4.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require xorg-proto-common.inc
-
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a2363c155fd3749a8cf436ef56c3070f \
- file://Print.h;beginline=2;endline=59;md5=1a2ee3cbfe3e38e136ff1b8477b51f4a"
-
-PR = "r1"
-PE = "1"
-
-SRC_URI[md5sum] = "7321847a60748b4d2f1fa16db4b6ede8"
-SRC_URI[sha256sum] = "f059a93188e7143dbb6cc55e31ccf81b976776aa3023bfa57f47501fd1bfd3be"
diff --git a/meta/recipes-graphics/xorg-proto/printproto_1.0.5.bb b/meta/recipes-graphics/xorg-proto/printproto_1.0.5.bb
new file mode 100644
index 000000000..2c8afbd7e
--- /dev/null
+++ b/meta/recipes-graphics/xorg-proto/printproto_1.0.5.bb
@@ -0,0 +1,17 @@
+require xorg-proto-common.inc
+
+SUMMARY = "XP: X Printing extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the X \
+Printing extension. This extension provides a way for client \
+applications to render to non-display devices."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=658463213f19b48b81f8672d2696069f \
+ file://Print.h;beginline=2;endline=59;md5=db19e065445b3755c09432864dcd8a9b"
+
+PR = "r0"
+PE = "1"
+
+SRC_URI[md5sum] = "99d0e25feea2fead7d8325b7000b41c3"
+SRC_URI[sha256sum] = "1298316cf43b987365ab7764d61b022a3d7f180b67b423eed3456862d155911a"
diff --git a/meta/recipes-graphics/xorg-proto/randrproto_1.3.2.bb b/meta/recipes-graphics/xorg-proto/randrproto_1.3.2.bb
index c027bfaf8..f0f81bc64 100644
--- a/meta/recipes-graphics/xorg-proto/randrproto_1.3.2.bb
+++ b/meta/recipes-graphics/xorg-proto/randrproto_1.3.2.bb
@@ -1,5 +1,11 @@
require xorg-proto-common.inc
+SUMMARY = "XRandR: X Resize, Rotate and Reflect extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the X Resize, \
+Rotate and Reflect extension. This extension provides the ability to \
+resize, rotate and reflect the root window of a screen."
+
LICENSE = "MIT-style"
LIC_FILES_CHKSUM = "file://COPYING;md5=5fa3f85d9eefaa3a945071485be11343 \
file://randrproto.h;endline=30;md5=3885957c6048fdf3310ac8ba54ca2c3f"
diff --git a/meta/recipes-graphics/xorg-proto/recordproto_1.14.1.bb b/meta/recipes-graphics/xorg-proto/recordproto_1.14.1.bb
index b5f68d330..8ee201788 100644
--- a/meta/recipes-graphics/xorg-proto/recordproto_1.14.1.bb
+++ b/meta/recipes-graphics/xorg-proto/recordproto_1.14.1.bb
@@ -1,5 +1,11 @@
require xorg-proto-common.inc
+SUMMARY = "XRecord: X Record extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the X Record \
+extension. This extension is used to record and play back event \
+sequences."
+
LICENSE = "MIT-style"
LIC_FILES_CHKSUM = "file://COPYING;md5=575827a0f554bbed332542976d5f3d40 \
file://recordproto.h;endline=19;md5=1cbb0dd45a0b060ff833901620a3e738"
diff --git a/meta/recipes-graphics/xorg-proto/renderproto_0.11.1.bb b/meta/recipes-graphics/xorg-proto/renderproto_0.11.1.bb
new file mode 100644
index 000000000..a352b1ed0
--- /dev/null
+++ b/meta/recipes-graphics/xorg-proto/renderproto_0.11.1.bb
@@ -0,0 +1,21 @@
+require xorg-proto-common.inc
+
+SUMMARY = "XRender: X rendering Extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the X \
+Rendering extension. This is the basis the image composition within the \
+X window system."
+
+LICENSE = "MIT-style"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f826d99765196352e6122a406cf0d024 \
+ file://renderproto.h;beginline=4;endline=24;md5=3e5e2851dad240b0a3a27c4776b4fd1f"
+
+CONFLICTS = "renderext"
+PR = "r0"
+PE = "1"
+
+BBCLASSEXTEND = "nativesdk"
+
+SRC_URI[md5sum] = "a914ccc1de66ddeb4b611c6b0686e274"
+SRC_URI[sha256sum] = "06735a5b92b20759204e4751ecd6064a2ad8a6246bb65b3078b862a00def2537"
+
diff --git a/meta/recipes-graphics/xorg-proto/renderproto_0.11.bb b/meta/recipes-graphics/xorg-proto/renderproto_0.11.bb
deleted file mode 100644
index 50854f9d6..000000000
--- a/meta/recipes-graphics/xorg-proto/renderproto_0.11.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require xorg-proto-common.inc
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f826d99765196352e6122a406cf0d024 \
- file://renderproto.h;beginline=4;endline=24;md5=3e5e2851dad240b0a3a27c4776b4fd1f"
-
-CONFLICTS = "renderext"
-PR = "r1"
-PE = "1"
-
-BBCLASSEXTEND = "nativesdk"
-
-SRC_URI[md5sum] = "b160a9733fe91b666e74fca284333148"
-SRC_URI[sha256sum] = "c4d1d6d9b0b6ed9a328a94890c171d534f62708f0982d071ccd443322bedffc2"
diff --git a/meta/recipes-graphics/xorg-proto/resourceproto_1.1.0.bb b/meta/recipes-graphics/xorg-proto/resourceproto_1.1.0.bb
deleted file mode 100644
index 23afed782..000000000
--- a/meta/recipes-graphics/xorg-proto/resourceproto_1.1.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require xorg-proto-common.inc
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e01e66e4b317088cf869bc98e6af4fb6"
-
-CONFLICTS = "resourceext"
-PR = "r1"
-PE = "1"
-
-SRC_URI[md5sum] = "84795594b3ebd2ee2570cf93340d152c"
-SRC_URI[sha256sum] = "408d9ab067e4141d1bb844d2d0d7d26ad177567384190c32a913131cf549b36b"
diff --git a/meta/recipes-graphics/xorg-proto/resourceproto_1.1.1.bb b/meta/recipes-graphics/xorg-proto/resourceproto_1.1.1.bb
new file mode 100644
index 000000000..fa13970cf
--- /dev/null
+++ b/meta/recipes-graphics/xorg-proto/resourceproto_1.1.1.bb
@@ -0,0 +1,19 @@
+require xorg-proto-common.inc
+
+SUMMARY = "XRes: X Resource extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the X \
+Resource extension. XRes provides an interface that allows X clients to \
+see and monitor X resource usage of various clients."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e01e66e4b317088cf869bc98e6af4fb6"
+
+CONFLICTS = "resourceext"
+
+PR = "r0"
+PE = "1"
+
+SRC_URI[md5sum] = "8ff0525ae7502b48597b78d00bc22284"
+SRC_URI[sha256sum] = "8579818e99aa881c00c04eb5f96fcbeec463816ca8e3cda9d3d25562f7a4b8c6"
+
diff --git a/meta/recipes-graphics/xorg-proto/scrnsaverproto_1.2.0.bb b/meta/recipes-graphics/xorg-proto/scrnsaverproto_1.2.0.bb
deleted file mode 100644
index 0000a6b6b..000000000
--- a/meta/recipes-graphics/xorg-proto/scrnsaverproto_1.2.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require xorg-proto-common.inc
-
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=eed49b78b15b436c933b6b8b054e3901 \
- file://saverproto.h;endline=26;md5=a84c0637305159f3c0ab173aaeede48d"
-
-PR = "r1"
-PE = "1"
-
-SRC_URI[md5sum] = "9040c991a56ee9b5976936f8c65d5c8a"
-SRC_URI[sha256sum] = "deaf0a3212617e0dab353a3c3a66e0a1f2398306eca0fd882ac15996b0e44d99"
diff --git a/meta/recipes-graphics/xorg-proto/scrnsaverproto_1.2.1.bb b/meta/recipes-graphics/xorg-proto/scrnsaverproto_1.2.1.bb
new file mode 100644
index 000000000..fe937eb6e
--- /dev/null
+++ b/meta/recipes-graphics/xorg-proto/scrnsaverproto_1.2.1.bb
@@ -0,0 +1,21 @@
+require xorg-proto-common.inc
+
+SUMMARY = "Xscrnsaver: X Screen Saver extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the X Screen \
+Saver extension. This extension allows an external \"screen saver\" \
+client to detect when the alternative image is to be displayed and to \
+provide the graphics."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=eed49b78b15b436c933b6b8b054e3901 \
+ file://saverproto.h;endline=26;md5=a84c0637305159f3c0ab173aaeede48d"
+
+PR = "r0"
+PE = "1"
+
+EXTRA_OECONF_append = " --enable-specs=no"
+
+SRC_URI[md5sum] = "6af0f2e3369f5f74e69345e214f5fd0d"
+SRC_URI[sha256sum] = "fad2f73cac136fcddd311d27a14ac7e519a9bec6ab272490d9c9b363556024f1"
+
diff --git a/meta/recipes-graphics/xorg-proto/trapproto_3.4.3.bb b/meta/recipes-graphics/xorg-proto/trapproto_3.4.3.bb
index c4a0780bd..54d962e53 100644
--- a/meta/recipes-graphics/xorg-proto/trapproto_3.4.3.bb
+++ b/meta/recipes-graphics/xorg-proto/trapproto_3.4.3.bb
@@ -1,5 +1,11 @@
require xorg-proto-common.inc
+SUMMARY = "XTrap: X event trapping extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the X event \
+trapping extension. This extension provides the interface which allows \
+for capture and synthesis of core input events."
+
LICENSE = "MIT-style"
LIC_FILES_CHKSUM = "file://COPYING;md5=0a984c8e242256a12f3b8dac085893db"
diff --git a/meta/recipes-graphics/xorg-proto/videoproto_2.3.1.bb b/meta/recipes-graphics/xorg-proto/videoproto_2.3.1.bb
index 827aa27ab..51132433e 100644
--- a/meta/recipes-graphics/xorg-proto/videoproto_2.3.1.bb
+++ b/meta/recipes-graphics/xorg-proto/videoproto_2.3.1.bb
@@ -1,5 +1,10 @@
require xorg-proto-common.inc
+SUMMARY = "Xv: X Video extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the X Video \
+extension. This extension alows for accerlated drawing of videos."
+
LICENSE = "MIT & MIT-style"
LIC_FILES_CHKSUM = "file://COPYING;md5=59d089e37bf57b5206602da38f58ca5d"
diff --git a/meta/recipes-graphics/xorg-proto/xcmiscproto_1.2.1.bb b/meta/recipes-graphics/xorg-proto/xcmiscproto_1.2.1.bb
index 9b677e6de..1b34a5d87 100644
--- a/meta/recipes-graphics/xorg-proto/xcmiscproto_1.2.1.bb
+++ b/meta/recipes-graphics/xorg-proto/xcmiscproto_1.2.1.bb
@@ -1,5 +1,11 @@
require xorg-proto-common.inc
+SUMMARY = "XC-MISC: X XC-Miscellaneous extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the XC-MISC \
+extension, which is used to get details of XID allocations within the \
+server."
+
LICENSE = "MIT-style"
LIC_FILES_CHKSUM = "file://COPYING;md5=09d83047c15994e05db29b423ed6662e"
diff --git a/meta/recipes-graphics/xorg-proto/xextproto_7.1.2.bb b/meta/recipes-graphics/xorg-proto/xextproto_7.1.2.bb
index 22897442a..b07973662 100644
--- a/meta/recipes-graphics/xorg-proto/xextproto_7.1.2.bb
+++ b/meta/recipes-graphics/xorg-proto/xextproto_7.1.2.bb
@@ -1,5 +1,14 @@
require xorg-proto-common.inc
+SUMMARY = "XExt: X Extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for several X \
+extensions. These protocol extensions include DOUBLE-BUFFER, DPMS, \
+Extended-Visual-Information, LBX, MIT_SHM, MIT_SUNDRY-NONSTANDARD, \
+Multi-Buffering, SECURITY, SHAPE, SYNC, TOG-CUP, XC-APPGROUP, XC-MISC, \
+XTEST. In addition a small set of utility functions are also \
+available."
+
LICENSE = "MIT & MIT-style"
LIC_FILES_CHKSUM = "file://COPYING;md5=86f273291759d0ba2a22585cd1c06c53"
diff --git a/meta/recipes-graphics/xorg-proto/xf86bigfontproto_1.2.0.bb b/meta/recipes-graphics/xorg-proto/xf86bigfontproto_1.2.0.bb
index 4bf6b5317..d80c0f18c 100644
--- a/meta/recipes-graphics/xorg-proto/xf86bigfontproto_1.2.0.bb
+++ b/meta/recipes-graphics/xorg-proto/xf86bigfontproto_1.2.0.bb
@@ -1,5 +1,11 @@
require xorg-proto-common.inc
+SUMMARY = "XFree86-BIGFONT: XFree86 Big Font extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the XFree86 \
+Big Font extension. This extension makes larger font requests \
+possible."
+
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=e01e66e4b317088cf869bc98e6af4fb6"
diff --git a/meta/recipes-graphics/xorg-proto/xf86dgaproto_2.1.bb b/meta/recipes-graphics/xorg-proto/xf86dgaproto_2.1.bb
index 99f1f0ea6..f70d79dae 100644
--- a/meta/recipes-graphics/xorg-proto/xf86dgaproto_2.1.bb
+++ b/meta/recipes-graphics/xorg-proto/xf86dgaproto_2.1.bb
@@ -1,5 +1,12 @@
require xorg-proto-common.inc
+SUMMARY = "XFree86-DGA: XFree86 Direct Graphics Access extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the XFree86 \
+Direct Graphics Access extension. This extension allows direct graphics \
+access to a framebuffer-like region, as well as relative mouse \
+reporting."
+
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=e01e66e4b317088cf869bc98e6af4fb6"
diff --git a/meta/recipes-graphics/xorg-proto/xf86driproto_2.1.0.bb b/meta/recipes-graphics/xorg-proto/xf86driproto_2.1.0.bb
deleted file mode 100644
index 9f76ddd83..000000000
--- a/meta/recipes-graphics/xorg-proto/xf86driproto_2.1.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require xorg-proto-common.inc
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94 \
- file://xf86driproto.h;endline=35;md5=42be3d8e6d429ab79172572bb0cff544"
-
-PR = "r1"
-PE = "1"
-
-SRC_URI[md5sum] = "309d552732666c3333d7dc63e80d042f"
-SRC_URI[sha256sum] = "d23f12deffd03e582e897ed6a7df3ea7f66ee8577f0f61374dcdf2ebffdce1be"
diff --git a/meta/recipes-graphics/xorg-proto/xf86driproto_2.1.1.bb b/meta/recipes-graphics/xorg-proto/xf86driproto_2.1.1.bb
new file mode 100644
index 000000000..5b38117ec
--- /dev/null
+++ b/meta/recipes-graphics/xorg-proto/xf86driproto_2.1.1.bb
@@ -0,0 +1,18 @@
+require xorg-proto-common.inc
+
+SUMMARY = "XFree86-DRI: XFree86 Direct Rendering Infrastructure extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the XFree86 \
+Direct Rendering Infrastructure extension. The XFree86-DRI extension is \
+used to organize direct rendering support or 3D clients and help \
+arbitrate requests."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ef103b9d951e39ff7e23d386e2011fa3 \
+ file://xf86driproto.h;endline=35;md5=42be3d8e6d429ab79172572bb0cff544"
+
+PR = "r0"
+PE = "1"
+
+SRC_URI[md5sum] = "1d716d0dac3b664e5ee20c69d34bc10e"
+SRC_URI[sha256sum] = "9c4b8d7221cb6dc4309269ccc008a22753698ae9245a398a59df35f1404d661f"
diff --git a/meta/recipes-graphics/xorg-proto/xf86miscproto_0.9.3.bb b/meta/recipes-graphics/xorg-proto/xf86miscproto_0.9.3.bb
index 6046c7e3e..d4663ea88 100644
--- a/meta/recipes-graphics/xorg-proto/xf86miscproto_0.9.3.bb
+++ b/meta/recipes-graphics/xorg-proto/xf86miscproto_0.9.3.bb
@@ -1,5 +1,12 @@
require xorg-proto-common.inc
+SUMMARY = "XFree86-Misc: XFree86 miscellaneous extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the XFree \
+miscellaneous extension. The XFree86-Misc extension provides a means to \
+access input device configuration settings specific to the XFree86/Xorg \
+DDX."
+
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=e01e66e4b317088cf869bc98e6af4fb6"
diff --git a/meta/recipes-graphics/xorg-proto/xf86rushproto_1.1.2.bb b/meta/recipes-graphics/xorg-proto/xf86rushproto_1.1.2.bb
index 6f090d4a2..1548bd07f 100644
--- a/meta/recipes-graphics/xorg-proto/xf86rushproto_1.1.2.bb
+++ b/meta/recipes-graphics/xorg-proto/xf86rushproto_1.1.2.bb
@@ -1,5 +1,11 @@
require xorg-proto-common.inc
+SUMMARY = "XFree86-Rush: XFree86 Rush extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the XFree86 \
+Rush extension. This extension is there to allow Glide applications to \
+run."
+
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=e01e66e4b317088cf869bc98e6af4fb6"
diff --git a/meta/recipes-graphics/xorg-proto/xf86vidmodeproto_2.3.1.bb b/meta/recipes-graphics/xorg-proto/xf86vidmodeproto_2.3.1.bb
new file mode 100644
index 000000000..721e7b0e1
--- /dev/null
+++ b/meta/recipes-graphics/xorg-proto/xf86vidmodeproto_2.3.1.bb
@@ -0,0 +1,18 @@
+require xorg-proto-common.inc
+
+SUMMARY = "XFree86-VM: XFree86 video mode extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the XFree86 \
+video mode extension. This extension allows client applications to get \
+and set video mode timings."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=499be2ff387a42f84628c35f311f1502"
+
+CONFLICTS = "xxf86vmext"
+
+PR = "r0"
+PE = "1"
+
+SRC_URI[md5sum] = "e793ecefeaecfeabd1aed6a01095174e"
+SRC_URI[sha256sum] = "45d9499aa7b73203fd6b3505b0259624afed5c16b941bd04fcf123e5de698770"
diff --git a/meta/recipes-graphics/xorg-proto/xf86vidmodeproto_2.3.bb b/meta/recipes-graphics/xorg-proto/xf86vidmodeproto_2.3.bb
deleted file mode 100644
index 49f8c5c96..000000000
--- a/meta/recipes-graphics/xorg-proto/xf86vidmodeproto_2.3.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require xorg-proto-common.inc
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=499be2ff387a42f84628c35f311f1502"
-
-CONFLICTS = "xxf86vmext"
-
-PR = "r0"
-PE = "1"
-
-SRC_URI[md5sum] = "4434894fc7d4eeb4a22e6b876d56fdaa"
-SRC_URI[sha256sum] = "8f704613a5407b31c594d05cf8e053f2b05777172a44e7cd2abd8090bd2ac247"
diff --git a/meta/recipes-graphics/xorg-proto/xineramaproto_1.2.1.bb b/meta/recipes-graphics/xorg-proto/xineramaproto_1.2.1.bb
new file mode 100644
index 000000000..a68e4f593
--- /dev/null
+++ b/meta/recipes-graphics/xorg-proto/xineramaproto_1.2.1.bb
@@ -0,0 +1,18 @@
+require xorg-proto-common.inc
+
+SUMMARY = "Xinerama: Xinerama extension headers"
+
+DESCRIPTION = "This package provides the wire protocol for the Xinerama \
+extension. This extension is used for retrieving information about \
+physical output devices which may be combined into a single logical X \
+screen."
+
+LICENSE = "MIT & MIT-style"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3e397a5326c83d5d0ebf5b3f87163ac6 \
+ file://panoramiXproto.h;endline=24;md5=098e0bc089368a988092b3cbda617a57"
+
+PR = "r0"
+PE = "1"
+
+SRC_URI[md5sum] = "9959fe0bfb22a0e7260433b8d199590a"
+SRC_URI[sha256sum] = "977574bb3dc192ecd9c55f59f991ec1dff340be3e31392c95deff423da52485b"
diff --git a/meta/recipes-graphics/xorg-proto/xineramaproto_1.2.bb b/meta/recipes-graphics/xorg-proto/xineramaproto_1.2.bb
deleted file mode 100644
index 6b14b8f2f..000000000
--- a/meta/recipes-graphics/xorg-proto/xineramaproto_1.2.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require xorg-proto-common.inc
-
-LICENSE = "MIT & MIT-style"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3e397a5326c83d5d0ebf5b3f87163ac6 \
- file://panoramiXproto.h;endline=24;md5=098e0bc089368a988092b3cbda617a57"
-
-PR = "r1"
-PE = "1"
-
-SRC_URI[md5sum] = "a8aadcb281b9c11a91303e24cdea45f5"
-SRC_URI[sha256sum] = "58e88087ceec7201d918f94d6b1247325adca2a9903fed11291b412427a7ba64"
diff --git a/meta/recipes-graphics/xorg-proto/xproto_7.0.19.bb b/meta/recipes-graphics/xorg-proto/xproto_7.0.19.bb
deleted file mode 100644
index 1e968c53d..000000000
--- a/meta/recipes-graphics/xorg-proto/xproto_7.0.19.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require xorg-proto-common.inc
-
-LICENSE = "MIT & MIT-style"
-LIC_FILES_CHKSUM = "file://COPYING;md5=70c104816b85de375ba1fc09199d0e69"
-
-PR = "r1"
-PE = "1"
-
-EXTRA_OECONF_append = "--enable-specs=no"
-BBCLASSEXTEND = "native nativesdk"
-
-SRC_URI[md5sum] = "700f8663c23713c2a81a6038a7d358f0"
-SRC_URI[sha256sum] = "47b14f6da8c57a726ef1cfa5964a4a6cf9505bc6d78f69d3ae89f4b19956fc2a"
diff --git a/meta/recipes-graphics/xorg-proto/xproto_7.0.20.bb b/meta/recipes-graphics/xorg-proto/xproto_7.0.20.bb
new file mode 100644
index 000000000..58520d976
--- /dev/null
+++ b/meta/recipes-graphics/xorg-proto/xproto_7.0.20.bb
@@ -0,0 +1,19 @@
+require xorg-proto-common.inc
+
+SUMMARY = "Xlib: C Language X interface headers"
+
+DESCRIPTION = "This package provides the basic headers for the X Window \
+System."
+
+LICENSE = "MIT & MIT-style"
+LIC_FILES_CHKSUM = "file://COPYING;md5=93ae8952e7d02d855516fbf2efb9a0d2"
+
+PR = "r0"
+PE = "1"
+
+EXTRA_OECONF_append = "--enable-specs=no"
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI[md5sum] = "65633168e5315c19defb4652cd3d83c1"
+SRC_URI[sha256sum] = "3fe87fe47d9b795e60ba3715d71f90f9929d57e9048f1d2a6ebb558e5aee9e2a"
+
diff --git a/meta/recipes-graphics/xorg-util/gccmakedep_1.0.2.bb b/meta/recipes-graphics/xorg-util/gccmakedep_1.0.2.bb
index 9b89400bd..23cef63ea 100644
--- a/meta/recipes-graphics/xorg-util/gccmakedep_1.0.2.bb
+++ b/meta/recipes-graphics/xorg-util/gccmakedep_1.0.2.bb
@@ -1,10 +1,16 @@
+SUMMARY = "Program to create dependencies in makefiles"
+
+DESCRIPTION = "The gccmakedep program calls 'gcc -M' to output makefile \
+rules describing the dependencies of each sourcefile, so that make knows \
+which object files must be recompiled when a dependency has changed."
+
require xorg-util-common.inc
LIC_FILES_CHKSUM = "file://Makefile.am;endline=20;md5=23c277396d690413245ebb89b18c5d4d"
DESCRIPTION = "create dependencies in makefiles using 'gcc -M'"
DEPENDS = "util-macros"
-RDEPENDS = "gcc"
+RDEPENDS_${PN} = "gcc"
-PR = "r2"
+PR = "r3"
PE = "1"
SRC_URI[md5sum] = "fc49f45251c1336fe1dad5dba1c83fcd"
diff --git a/meta/recipes-graphics/xorg-util/imake_1.0.4.bb b/meta/recipes-graphics/xorg-util/imake_1.0.4.bb
index 8943c2dd4..9202317e1 100644
--- a/meta/recipes-graphics/xorg-util/imake_1.0.4.bb
+++ b/meta/recipes-graphics/xorg-util/imake_1.0.4.bb
@@ -1,12 +1,19 @@
require xorg-util-common.inc
-DESCRIPTION = "C preprocessor interface to the make utility"
+SUMMARY = "C preprocessor interface to the make utility"
+
+DESCRIPTION = "Imake is used to generate Makefiles from a template, a \
+set of cpp macro functions, and a per-directory input file called an \
+Imakefile. This allows machine dependencies (such as compiler options, \
+alternate command names, and special make rules) to be kept separate \
+from the descriptions of the various items to be built."
+
DEPENDS = "util-macros"
-RDEPENDS = "perl xproto"
+RDEPENDS_${PN} = "perl xproto"
LIC_FILES_CHKSUM = "file://COPYING;md5=b9c6cfb044c6d0ff899eaafe4c729367"
-PR = "r0"
+PR = "r1"
PE = "1"
SRC_URI[md5sum] = "0fd1e53d94142ddee5340f87de0b9561"
diff --git a/meta/recipes-graphics/xorg-util/makedepend_1.0.3.bb b/meta/recipes-graphics/xorg-util/makedepend_1.0.3.bb
index a103700d8..342d1b844 100644
--- a/meta/recipes-graphics/xorg-util/makedepend_1.0.3.bb
+++ b/meta/recipes-graphics/xorg-util/makedepend_1.0.3.bb
@@ -1,6 +1,14 @@
require xorg-util-common.inc
-DESCRIPTION = "create dependencies in makefiles"
+SUMMARY = "create dependencies in makefiles"
+
+DESCRIPTION = "The makedepend program reads each sourcefile in sequence \
+and parses it like a C-preprocessor, processing all #include, #define, \
+#undef, #ifdef, #ifndef, #endif, #if, #elif and #else directives so that \
+it can correctly tell which #include, directives would be used in a \
+compilation. Any #include, directives can reference files having other \
+#include directives, and parsing will occur in these files as well."
+
DEPENDS = "xproto util-macros"
PR = "r0"
PE = "1"
diff --git a/meta/recipes-graphics/xorg-util/util-macros_1.11.0.bb b/meta/recipes-graphics/xorg-util/util-macros_1.11.0.bb
index 7130ea2b7..82423266f 100644
--- a/meta/recipes-graphics/xorg-util/util-macros_1.11.0.bb
+++ b/meta/recipes-graphics/xorg-util/util-macros_1.11.0.bb
@@ -1,4 +1,6 @@
-DESCRIPTION = "X autotools macros"
+SUMMARY = "X autotools macros"
+
+DESCRIPTION = "M4 autotools macros used by various X.org programs."
require xorg-util-common.inc
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive.inc b/meta/recipes-graphics/xorg-xserver/xserver-kdrive.inc
index 8c9312765..920c03285 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive.inc
+++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive.inc
@@ -1,6 +1,10 @@
LICENSE = "MIT"
-DEPENDS = "compositeproto damageproto fixesproto recordproto resourceproto scrnsaverproto xineramaproto videoproto xextproto xproto \
- libxau libxext libxdmcp libxfont libxrandr tslib virtual/libx11 xtrans bigreqsproto xcmiscproto"
+DEPENDS = "compositeproto damageproto fixesproto recordproto resourceproto \
+ scrnsaverproto xineramaproto videoproto xextproto xproto libxau libxext \
+ libxdmcp libxfont libxrandr tslib virtual/libx11 xtrans bigreqsproto \
+ xcmiscproto libdrm"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=3dd2bbe3563837f80ed8926b06c1c353"
PROVIDES = "virtual/xserver"
PACKAGES =+ "xserver-kdrive-fbdev \
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb b/meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb
index 7ca88e64e..ea3268e78 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb
+++ b/meta/recipes-graphics/xorg-xserver/xserver-kdrive_1.7.99.2.bb
@@ -1,6 +1,6 @@
require xserver-kdrive.inc
-DEPENDS += "libxkbfile libxcalibrate font-util"
+DEPENDS += "libxkbfile libxcalibrate font-util pixman"
RDEPENDS_${PN} += "xkeyboard-config"
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xf86-common.inc b/meta/recipes-graphics/xorg-xserver/xserver-xf86-common.inc
index cf69a1e15..f9ea0e412 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xf86-common.inc
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xf86-common.inc
@@ -3,6 +3,8 @@ HOMEPAGE = "http://www.x.org"
SECTION = "x11/base"
LICENSE = "MIT-X"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3dd2bbe3563837f80ed8926b06c1c353"
+
# xf86-*-* packages depend on an X server built with the xfree86 DDX
# so we have a virtual to represent that:
PROVIDES = "virtual/xserver-xf86"
@@ -31,3 +33,4 @@ FILES_${PN}-dbg += "${libdir}/xorg/modules/.debug \
"
SRC_URI += "file://macro_tweak.patch"
+
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xf86-dri-lite_1.9.2.bb b/meta/recipes-graphics/xorg-xserver/xserver-xf86-dri-lite_1.9.3.bb
index 0433fe33b..9ff85de6c 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xf86-dri-lite_1.9.2.bb
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xf86-dri-lite_1.9.3.bb
@@ -1,6 +1,5 @@
require xserver-xf86-dri-lite.inc
-LIC_FILES_CHKSUM = "file://COPYING;md5=3dd2bbe3563837f80ed8926b06c1c353"
PROTO_DEPS += "xf86driproto dri2proto"
@@ -17,7 +16,7 @@ SRC_URI += "file://nodolt.patch \
# Misc build failure for master HEAD
SRC_URI += "file://fix_open_max_preprocessor_error.patch"
-SRC_URI[md5sum] = "5c8773499a6a8c1ddaedf33577ec9634"
-SRC_URI[sha256sum] = "8b30800004c98fc7a8e6ff31a339f28451be5132e774443be22bf226e1791e34"
+SRC_URI[md5sum] = "5bef6839a76d029204ab31aa2fcb5201"
+SRC_URI[sha256sum] = "864831f51e841ff37f2445d1c85b86b559c8860a435fb496aead4f256a2b141d"
EXTRA_OECONF += "--enable-dri --enable-dri2"
diff --git a/meta/recipes-graphics/xrestop/xrestop_0.4.bb b/meta/recipes-graphics/xrestop/xrestop_0.4.bb
index 915a375c1..bd4c25c46 100644
--- a/meta/recipes-graphics/xrestop/xrestop_0.4.bb
+++ b/meta/recipes-graphics/xrestop/xrestop_0.4.bb
@@ -1,4 +1,7 @@
+SUMMARY = "XRes: A top-like resource usage tool for X"
+
DESCRIPTION = "top-like statistics of X11 server resource usage by clients"
+
HOMEPAGE = "http://www.freedesktop.org/wiki/Software/xrestop"
BUGTRACKER = "https://bugs.freedesktop.org/"
diff --git a/meta/recipes-graphics/xtscal/xtscal/dso_linking_change_build_fix.patch b/meta/recipes-graphics/xtscal/xtscal/dso_linking_change_build_fix.patch
new file mode 100644
index 000000000..3ca14d7f4
--- /dev/null
+++ b/meta/recipes-graphics/xtscal/xtscal/dso_linking_change_build_fix.patch
@@ -0,0 +1,25 @@
+after gcc linking has changed, all the libraries must be explicitely specified
+This patch avoids this linking error:
+
+| ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o xtscal main.o calibrate.o -lX11 -lXft -lXext -lXcalibrate^M
+| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: ^?: invalid DSO for symbol `XRenderChangePicture' definition^M
+| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libXrender.so.1: could not read symbols: Bad value^M
+| collect2: ld returned 1 exit status^M
+| make: *** [xtscal] Error 1
+
+Nitin A Kamble <nitin.a.kamble@intel.com>
+Date: 2011/01/11
+
+Index: xtscal-0.6.3/configure.ac
+===================================================================
+--- xtscal-0.6.3.orig/configure.ac
++++ xtscal-0.6.3/configure.ac
+@@ -9,7 +9,7 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2])
+ # Checks for programs.
+ AC_PROG_CC
+
+-PKG_CHECK_MODULES(XTSCAL, x11 xft xext xcalibrate)
++PKG_CHECK_MODULES(XTSCAL, x11 xft xext xcalibrate xrender)
+
+ AC_CONFIG_FILES([Makefile])
+ AC_OUTPUT
diff --git a/meta/recipes-graphics/xtscal/xtscal_0.6.3.bb b/meta/recipes-graphics/xtscal/xtscal_0.6.3.bb
index 2136f340e..75013a26c 100644
--- a/meta/recipes-graphics/xtscal/xtscal_0.6.3.bb
+++ b/meta/recipes-graphics/xtscal/xtscal_0.6.3.bb
@@ -1,4 +1,7 @@
-DESCRIPTION = "Touchscreen calibration utility"
+SUMMARY = "Touchscreen calibration utility"
+
+DESCRIPTION = "Basic touchscreen calibration utility"
+
HOMEPAGE = "http://gpe.linuxtogo.org"
BUGTRACKER = "http://bugs.linuxtogo.org"
LICENSE = "GPLv2 & GPLv2+"
@@ -9,11 +12,12 @@ SECTION = "x11/base"
DEPENDS = "virtual/libx11 libxft libxcalibrate"
-PR = "r12"
+PR = "r13"
SRC_URI = "${GPE_MIRROR}/xtscal-${PV}.tar.bz2 \
file://change-cross.patch;patch=1 \
file://cleanup.patch;patch=1 \
+ file://dso_linking_change_build_fix.patch \
file://30xTs_Calibrate.sh"
SRC_URI[md5sum] = "9bcab80b474d5454477d1ca166a68c34"
diff --git a/meta/recipes-graphics/xvideo-tests/xvideo-tests_svn.bb b/meta/recipes-graphics/xvideo-tests/xvideo-tests_svn.bb
index 0aa861f68..a5ac25124 100644
--- a/meta/recipes-graphics/xvideo-tests/xvideo-tests_svn.bb
+++ b/meta/recipes-graphics/xvideo-tests/xvideo-tests_svn.bb
@@ -3,7 +3,7 @@ LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
file://src/test-xvideo.c;beginline=1;endline=20;md5=6ae3b4c3c2ff9e51dbbc35bb237afa00"
DEPENDS = "libxv"
-PV = "0.0+svnr${SRCREV}"
+PV = "0.0+svnr${SRCPV}"
PR = "r0"
SRC_URI="svn://svn.o-hand.com/repos/misc/trunk;module=test-xvideo;proto=http"
diff --git a/meta/recipes-kernel/blktrace/blktrace/blktrace-makefile.patch b/meta/recipes-kernel/blktrace/blktrace/blktrace-makefile.patch
index 87ee24ea3..c6a06ed34 100644
--- a/meta/recipes-kernel/blktrace/blktrace/blktrace-makefile.patch
+++ b/meta/recipes-kernel/blktrace/blktrace/blktrace-makefile.patch
@@ -17,11 +17,11 @@ Index: git/Makefile
btreplay/btrecord:
- $(MAKE) -C btreplay
-+ CC="${CC}" CFLAGS="${CFLAGS}" $(MAKE) -C btreplay CC="${CC}" CFLAGS="${CFLAGS}"
++ CC="${CC}" CFLAGS="${CFLAGS}" $(MAKE) -C btreplay CC="${CC}" CFLAGS="${CFLAGS}" btrecord
btreplay/btreplay:
- $(MAKE) -C btreplay
-+ CC="${CC}" CFLAGS="${CFLAGS}" $(MAKE) -C btreplay CC="${CC}" CFLAGS="${CFLAGS}"
++ CC="${CC}" CFLAGS="${CFLAGS}" $(MAKE) -C btreplay CC="${CC}" CFLAGS="${CFLAGS}" btreplay
%.o: %.c
$(CC) -o $*.o -c $(ALL_CFLAGS) $<
diff --git a/meta/recipes-kernel/blktrace/blktrace/dso_linking_change_build_fix.patch b/meta/recipes-kernel/blktrace/blktrace/dso_linking_change_build_fix.patch
new file mode 100644
index 000000000..5b7433900
--- /dev/null
+++ b/meta/recipes-kernel/blktrace/blktrace/dso_linking_change_build_fix.patch
@@ -0,0 +1,26 @@
+after gcc linking has changed, all the libraries must be explicitely specified
+This patch avoids this linking error:
+
+| make[1]: Entering directory `/disk0/pokybuild/build1/tmp/work/i586-poky-linux/blktrace-1.0.1+git0+1e09f6e9012826fca69fa07222b7bc53c3e629ee-r1/git/btreplay'^M
+| ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -I. -I.. -I../btt -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -UCOUNT_IOS -UDEBUG -DNDEBUG -o btreplay btreplay.o -laio -lrt^M
+| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: >: invalid DSO for symbol `pthread_join@@GLIBC_2.0' definition^M
+| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/lib/libpthread.so.0: could not read symbols: Bad value^M
+| collect2: ld returned 1 exit status^M
+| make[1]: *** [btreplay] Error 1
+
+Nitin A Kamble <nitin.a.kamble@intel.com>
+Date: 2011/01/11
+
+Index: git/btreplay/Makefile
+===================================================================
+--- git.orig/btreplay/Makefile
++++ git/btreplay/Makefile
+@@ -11,7 +11,7 @@ XCFLAGS = -D_GNU_SOURCE -D_LARGEFILE_SOU
+ override CFLAGS += $(INCS) $(XCFLAGS) $(OCFLAGS)
+
+ PROGS = btrecord btreplay
+-LIBS = -laio -lrt
++LIBS = -laio -lrt -lpthread
+
+ all: depend $(PROGS)
+
diff --git a/meta/recipes-kernel/blktrace/blktrace_git.bb b/meta/recipes-kernel/blktrace/blktrace_git.bb
index 5690f1463..7cd8127e8 100644
--- a/meta/recipes-kernel/blktrace/blktrace_git.bb
+++ b/meta/recipes-kernel/blktrace/blktrace_git.bb
@@ -4,11 +4,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
DEPENDS = "libaio"
-PR = r0
+PR = r2
PV = "1.0.1+git${SRCPV}"
SRC_URI = "git://git.kernel.dk/blktrace.git;protocol=git \
- file://blktrace-makefile.patch"
+ file://blktrace-makefile.patch \
+ file://dso_linking_change_build_fix.patch"
SRC_URI[md5sum] = "588aa9ab8a14d1766ab3f061d728ed89"
SRC_URI[sha256sum] = "f3cb6a3df1b3dc67369c7c4da3444a7897aa8a18e55937b368e0a6aa2f64b3aa"
diff --git a/meta/recipes-kernel/dtc/dtc-native_git.bb b/meta/recipes-kernel/dtc/dtc-native_git.bb
index 2d6f09217..fd5bde576 100644
--- a/meta/recipes-kernel/dtc/dtc-native_git.bb
+++ b/meta/recipes-kernel/dtc/dtc-native_git.bb
@@ -1,2 +1,5 @@
+LIC_FILES_CHKSUM = "file://GPL;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://libfdt/libfdt.h;beginline=3;endline=52;md5=fb360963151f8ec2d6c06b055bcbb68c"
+
require dtc-native.inc
require dtc_git.inc
diff --git a/meta/recipes-kernel/dtc/dtc/remove_space_opt.patch b/meta/recipes-kernel/dtc/dtc/remove_space_opt.patch
new file mode 100644
index 000000000..805bf5879
--- /dev/null
+++ b/meta/recipes-kernel/dtc/dtc/remove_space_opt.patch
@@ -0,0 +1,16 @@
+Remove the -Os flag
+
+Signed-off-by: Saul Wold <sgw@linux.intel.com>
+Index: git/Makefile
+===================================================================
+--- git.orig/Makefile
++++ git/Makefile
+@@ -18,7 +18,7 @@ CONFIG_LOCALVERSION =
+ CPPFLAGS = -I libfdt
+ WARNINGS = -Werror -Wall -Wpointer-arith -Wcast-qual -Wnested-externs \
+ -Wstrict-prototypes -Wmissing-prototypes
+-CFLAGS = -g -Os -fPIC -Werror $(WARNINGS)
++CFLAGS = -g -fPIC -Werror $(WARNINGS)
+
+ BISON = bison
+ LEX = flex
diff --git a/meta/recipes-kernel/dtc/dtc_git.bb b/meta/recipes-kernel/dtc/dtc_git.bb
index 21f71e6e6..1cca32ced 100644
--- a/meta/recipes-kernel/dtc/dtc_git.bb
+++ b/meta/recipes-kernel/dtc/dtc_git.bb
@@ -4,3 +4,4 @@ LICENSE="GPLv2|BSD"
LIC_FILES_CHKSUM = "file://GPL;md5=94d55d512a9ba36caa9b7df079bae19f \
file://libfdt/libfdt.h;beginline=3;endline=52;md5=fb360963151f8ec2d6c06b055bcbb68c"
+SRC_URI += " file://remove_space_opt.patch"
diff --git a/meta/recipes-kernel/dtc/dtc_git.inc b/meta/recipes-kernel/dtc/dtc_git.inc
index 9bcd63684..96542f999 100644
--- a/meta/recipes-kernel/dtc/dtc_git.inc
+++ b/meta/recipes-kernel/dtc/dtc_git.inc
@@ -1,5 +1,5 @@
SRC_URI = "git://www.jdl.com/software/dtc.git;protocol=git"
PV = "1.2.0+git${SRCPV}"
-PR = "r1"
+PR = "r2"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb b/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
index 7350746b8..de5628cd0 100644
--- a/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
+++ b/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
@@ -1,15 +1,15 @@
-DESCRIPTION = "Scripts and utilities for managing Wind River kernels."
+DESCRIPTION = "Scripts and utilities for managing Yocto branched kernels."
LICENSE = "GPL"
LIC_FILES_CHKSUM = "file://git/tools/kgit;beginline=5;endline=9;md5=e2bf4415f3d843f43d2e22b0d91a6fee"
DEPENDS = "git-native guilt-native"
-PR = r8
+PR = r10
PV = "0.1+git${SRCPV}"
inherit native
-SRC_URI = "git://git.pokylinux.org/wr-kernel-tools.git;protocol=git"
+SRC_URI = "git://git.pokylinux.org/yocto-kernel-tools.git;protocol=git"
S = "${WORKDIR}"
kern_tools_LIST = kgit kgit-init kgit-meta \
diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
index a912c45e1..3d3c579fa 100644
--- a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
+++ b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
@@ -18,7 +18,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.radeon_rlc;md5=4c243f7854d2884b483abda991adef
PROVIDES += "linux-firmware-sd8686"
-PV = "0.0+git${SRCREV}"
+PV = "0.0+git${SRCPV}"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git;protocol=git"
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers-yocto_git.bb b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers-yocto_git.bb
index 051523395..0d5835401 100644
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers-yocto_git.bb
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers-yocto_git.bb
@@ -6,14 +6,11 @@ B = "${S}"
INHIBIT_DEFAULT_DEPS = "1"
DEPENDS += "unifdef-native"
PROVIDES = "linux-libc-headers"
-PV = "2.6.34+git-${SRCPV}"
-PR = "r1"
-
-SRC_URI = "git://git.pokylinux.org/linux-2.6-windriver.git;fullclone=1"
+PV = "2.6.37+git-${SRCPV}"
+PR = "r2"
SRCREV_FORMAT = "meta_machine"
-SRC_URI = "git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;fullclone=1;branch=${KBRANCH};name=machine \
- git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;noclone=1;branch=wrs_meta;name=meta"
+SRC_URI = "git://git.pokylinux.org/linux-yocto-2.6.37;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
set_arch() {
case ${TARGET_ARCH} in
diff --git a/meta/recipes-kernel/linux/linux-dtb.inc b/meta/recipes-kernel/linux/linux-dtb.inc
new file mode 100644
index 000000000..0b27d18de
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-dtb.inc
@@ -0,0 +1,27 @@
+# Support for device tree generation
+FILES_kernel_devicetree = "/boot/devicetree*"
+KERNEL_DEVICETREE_FLAGS = "-R 8 -p 0x3000"
+
+python __anonymous () {
+ import bb
+
+ devicetree = bb.data.getVar("KERNEL_DEVICETREE", d, 1) or ''
+ if devicetree:
+ depends = bb.data.getVar("DEPENDS", d, 1)
+ bb.data.setVar("DEPENDS", "%s dtc-native" % depends, d)
+ packages = bb.data.getVar("PACKAGES", d, 1)
+ bb.data.setVar("PACKAGES", "%s kernel-devicetree" % packages, d)
+}
+
+do_install_append() {
+ if test -n "${KERNEL_DEVICETREE}"; then
+ dtc -I dts -O dtb ${KERNEL_DEVICETREE_FLAGS} -o devicetree ${KERNEL_DEVICETREE}
+ install -m 0644 devicetree ${D}/boot/devicetree-${KERNEL_VERSION}
+ install -d ${DEPLOY_DIR_IMAGE}
+ install -m 0644 devicetree ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.dtb
+ cd ${DEPLOY_DIR_IMAGE}
+ rm -f ${KERNEL_IMAGE_SYMLINK_NAME}.dtb
+ ln -sf ${KERNEL_IMAGE_BASE_NAME}.dtb ${KERNEL_IMAGE_SYMLINK_NAME}.dtb
+ fi
+}
+
diff --git a/meta/recipes-kernel/linux/linux-dummy.bb b/meta/recipes-kernel/linux/linux-dummy.bb
index 3ea80b537..518c74b31 100644
--- a/meta/recipes-kernel/linux/linux-dummy.bb
+++ b/meta/recipes-kernel/linux/linux-dummy.bb
@@ -2,6 +2,8 @@ SECTION = "kernel"
DESCRIPTION = "Dummy Linux kernel"
LICENSE = "GPL"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe"
+
PROVIDES += "virtual/kernel"
PACKAGES_DYNAMIC += "kernel-module-*"
@@ -11,7 +13,8 @@ PACKAGES_DYNAMIC += "kernel-image-*"
PR = "r1"
-SRC_URI = ""
+SRC_URI = "file://COPYING.GPL"
+S = "${WORKDIR}"
do_configure() {
:
diff --git a/meta/recipes-kernel/linux/linux-dummy/COPYING.GPL b/meta/recipes-kernel/linux/linux-dummy/COPYING.GPL
new file mode 100644
index 000000000..d511905c1
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-dummy/COPYING.GPL
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ 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.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/meta/recipes-kernel/linux/linux-igep_2.6.33.5.bb b/meta/recipes-kernel/linux/linux-igep_2.6.33.5.bb
index 6e961b7ef..4cb7f4089 100644
--- a/meta/recipes-kernel/linux/linux-igep_2.6.33.5.bb
+++ b/meta/recipes-kernel/linux/linux-igep_2.6.33.5.bb
@@ -1,6 +1,7 @@
DESCRIPTION = "2.6 Linux Kernel for IGEP based platforms"
SECTION = "kernel"
LICENSE = "GPL"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7 "
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_igep0020 = "1"
diff --git a/meta/recipes-kernel/linux/linux-omap2_git.bb b/meta/recipes-kernel/linux/linux-omap2_git.bb
index 39d08b714..c29396f1e 100644
--- a/meta/recipes-kernel/linux/linux-omap2_git.bb
+++ b/meta/recipes-kernel/linux/linux-omap2_git.bb
@@ -3,7 +3,7 @@ require linux-omap2.inc
FILESPATH = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/linux-omap2-git/${MACHINE}:${@os.path.dirname(bb.data.getVar('FILE',d,1))}/linux-omap2-git"
PV = "2.6.26"
-#PV = "2.6.26+2.6.27-rc1+${PR}+git${SRCREV}"
+#PV = "2.6.26+2.6.27-rc1+${PR}+git${SRCPV}"
PR = "r53"
SRC_URI = "git://source.mvista.com/git/linux-omap-2.6.git;protocol=git \
diff --git a/meta/recipes-kernel/linux/linux-omap3-pm_git.bb b/meta/recipes-kernel/linux/linux-omap3-pm_git.bb
index 4acf7934a..d65ca5041 100644
--- a/meta/recipes-kernel/linux/linux-omap3-pm_git.bb
+++ b/meta/recipes-kernel/linux/linux-omap3-pm_git.bb
@@ -6,7 +6,7 @@ inherit kernel
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/${PN}-git/${MACHINE}"
-PV = "2.6.31-rc7+pm+${PR}+git${SRCREV}"
+PV = "2.6.31-rc7+pm+${PR}+git${SRCPV}"
PR = "r3"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm.git;branch=pm;protocol=git"
diff --git a/meta/recipes-kernel/linux/linux-omap3_git.bb b/meta/recipes-kernel/linux/linux-omap3_git.bb
index f25c2c72f..3d38ef262 100644
--- a/meta/recipes-kernel/linux/linux-omap3_git.bb
+++ b/meta/recipes-kernel/linux/linux-omap3_git.bb
@@ -2,7 +2,7 @@ require linux-omap2.inc
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/linux-omap3-git/${MACHINE}"
-PV = "2.6.27-rc6+${PR}+git${SRCREV}"
+PV = "2.6.27-rc6+${PR}+git${SRCPV}"
PR = "r30"
SRC_URI = "git://source.mvista.com/git/linux-omap-2.6.git;branch=master;protocol=git \
diff --git a/meta/recipes-kernel/linux/linux-rp-2.6.23/defconfig-bootcdx86 b/meta/recipes-kernel/linux/linux-rp-2.6.23/defconfig-bootcdx86
deleted file mode 100644
index 244df733a..000000000
--- a/meta/recipes-kernel/linux/linux-rp-2.6.23/defconfig-bootcdx86
+++ /dev/null
@@ -1,1579 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.23
-# Wed Feb 6 18:24:38 2008
-#
-CONFIG_X86_32=y
-CONFIG_GENERIC_TIME=y
-CONFIG_GENERIC_CMOS_UPDATE=y
-CONFIG_CLOCKSOURCE_WATCHDOG=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_SEMAPHORE_SLEEPERS=y
-CONFIG_X86=y
-CONFIG_MMU=y
-CONFIG_ZONE_DMA=y
-CONFIG_QUICKLIST=y
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_GENERIC_IOMAP=y
-CONFIG_GENERIC_BUG=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-CONFIG_DMI=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_LOCK_KERNEL=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_TASKSTATS is not set
-# CONFIG_USER_NS is not set
-CONFIG_AUDIT=y
-CONFIG_AUDITSYSCALL=y
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=15
-# CONFIG_CPUSETS is not set
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_EMBEDDED=y
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=y
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_ANON_INODES=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_SLAB=y
-# CONFIG_SLUB is not set
-# CONFIG_SLOB is not set
-CONFIG_RT_MUTEXES=y
-# CONFIG_TINY_SHMEM is not set
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-# CONFIG_MODULE_UNLOAD is not set
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_KMOD=y
-CONFIG_STOP_MACHINE=y
-CONFIG_BLOCK=y
-# CONFIG_LBD is not set
-# CONFIG_BLK_DEV_IO_TRACE is not set
-# CONFIG_LSF is not set
-# CONFIG_BLK_DEV_BSG is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-# CONFIG_IOSCHED_AS is not set
-# CONFIG_IOSCHED_DEADLINE is not set
-CONFIG_IOSCHED_CFQ=y
-# CONFIG_DEFAULT_AS is not set
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
-
-#
-# Processor type and features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_SMP=y
-CONFIG_X86_PC=y
-# CONFIG_X86_ELAN is not set
-# CONFIG_X86_VOYAGER is not set
-# CONFIG_X86_NUMAQ is not set
-# CONFIG_X86_SUMMIT is not set
-# CONFIG_X86_BIGSMP is not set
-# CONFIG_X86_VISWS is not set
-# CONFIG_X86_GENERICARCH is not set
-# CONFIG_X86_ES7000 is not set
-# CONFIG_PARAVIRT is not set
-# CONFIG_M386 is not set
-# CONFIG_M486 is not set
-# CONFIG_M586 is not set
-# CONFIG_M586TSC is not set
-# CONFIG_M586MMX is not set
-# CONFIG_M686 is not set
-CONFIG_MPENTIUMII=y
-# CONFIG_MPENTIUMIII is not set
-# CONFIG_MPENTIUMM is not set
-# CONFIG_MCORE2 is not set
-# CONFIG_MPENTIUM4 is not set
-# CONFIG_MK6 is not set
-# CONFIG_MK7 is not set
-# CONFIG_MK8 is not set
-# CONFIG_MCRUSOE is not set
-# CONFIG_MEFFICEON is not set
-# CONFIG_MWINCHIPC6 is not set
-# CONFIG_MWINCHIP2 is not set
-# CONFIG_MWINCHIP3D is not set
-# CONFIG_MGEODEGX1 is not set
-# CONFIG_MGEODE_LX is not set
-# CONFIG_MCYRIXIII is not set
-# CONFIG_MVIAC3_2 is not set
-# CONFIG_MVIAC7 is not set
-CONFIG_X86_GENERIC=y
-CONFIG_X86_CMPXCHG=y
-CONFIG_X86_L1_CACHE_SHIFT=7
-CONFIG_X86_XADD=y
-CONFIG_RWSEM_XCHGADD_ALGORITHM=y
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_X86_WP_WORKS_OK=y
-CONFIG_X86_INVLPG=y
-CONFIG_X86_BSWAP=y
-CONFIG_X86_POPAD_OK=y
-CONFIG_X86_GOOD_APIC=y
-CONFIG_X86_INTEL_USERCOPY=y
-CONFIG_X86_USE_PPRO_CHECKSUM=y
-CONFIG_X86_TSC=y
-CONFIG_X86_CMOV=y
-CONFIG_X86_MINIMUM_CPU_FAMILY=4
-CONFIG_HPET_TIMER=y
-CONFIG_NR_CPUS=8
-CONFIG_SCHED_SMT=y
-CONFIG_SCHED_MC=y
-CONFIG_PREEMPT_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_PREEMPT_BKL=y
-CONFIG_X86_LOCAL_APIC=y
-CONFIG_X86_IO_APIC=y
-CONFIG_X86_MCE=y
-CONFIG_X86_MCE_NONFATAL=y
-CONFIG_X86_MCE_P4THERMAL=y
-CONFIG_VM86=y
-# CONFIG_TOSHIBA is not set
-# CONFIG_I8K is not set
-# CONFIG_X86_REBOOTFIXUPS is not set
-# CONFIG_MICROCODE is not set
-# CONFIG_X86_MSR is not set
-# CONFIG_X86_CPUID is not set
-
-#
-# Firmware Drivers
-#
-# CONFIG_EDD is not set
-# CONFIG_DELL_RBU is not set
-# CONFIG_DCDBAS is not set
-CONFIG_DMIID=y
-CONFIG_NOHIGHMEM=y
-# CONFIG_HIGHMEM4G is not set
-# CONFIG_HIGHMEM64G is not set
-CONFIG_VMSPLIT_3G=y
-# CONFIG_VMSPLIT_3G_OPT is not set
-# CONFIG_VMSPLIT_2G is not set
-# CONFIG_VMSPLIT_2G_OPT is not set
-# CONFIG_VMSPLIT_1G is not set
-CONFIG_PAGE_OFFSET=0xC0000000
-# CONFIG_X86_PAE is not set
-CONFIG_ARCH_FLATMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_ARCH_POPULATES_NODE_MAP=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_SPARSEMEM_STATIC=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_RESOURCES_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
-CONFIG_NR_QUICK=1
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_MATH_EMULATION is not set
-CONFIG_MTRR=y
-# CONFIG_EFI is not set
-CONFIG_IRQBALANCE=y
-CONFIG_SECCOMP=y
-# CONFIG_HZ_100 is not set
-CONFIG_HZ_250=y
-# CONFIG_HZ_300 is not set
-# CONFIG_HZ_1000 is not set
-CONFIG_HZ=250
-CONFIG_KEXEC=y
-CONFIG_PHYSICAL_START=0x100000
-# CONFIG_RELOCATABLE is not set
-CONFIG_PHYSICAL_ALIGN=0x100000
-CONFIG_HOTPLUG_CPU=y
-# CONFIG_COMPAT_VDSO is not set
-
-#
-# Power management options (ACPI, APM)
-#
-CONFIG_PM=y
-CONFIG_PM_LEGACY=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP_SMP=y
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_SMP_POSSIBLE=y
-CONFIG_SUSPEND=y
-CONFIG_HIBERNATION_SMP_POSSIBLE=y
-# CONFIG_HIBERNATION is not set
-CONFIG_ACPI=y
-CONFIG_ACPI_SLEEP=y
-CONFIG_ACPI_PROCFS=y
-CONFIG_ACPI_PROC_EVENT=y
-CONFIG_ACPI_AC=y
-CONFIG_ACPI_BATTERY=y
-CONFIG_ACPI_BUTTON=y
-CONFIG_ACPI_FAN=y
-# CONFIG_ACPI_DOCK is not set
-CONFIG_ACPI_PROCESSOR=y
-CONFIG_ACPI_HOTPLUG_CPU=y
-CONFIG_ACPI_THERMAL=y
-# CONFIG_ACPI_ASUS is not set
-# CONFIG_ACPI_TOSHIBA is not set
-CONFIG_ACPI_BLACKLIST_YEAR=0
-# CONFIG_ACPI_DEBUG is not set
-CONFIG_ACPI_EC=y
-CONFIG_ACPI_POWER=y
-CONFIG_ACPI_SYSTEM=y
-CONFIG_X86_PM_TIMER=y
-CONFIG_ACPI_CONTAINER=y
-# CONFIG_ACPI_SBS is not set
-# CONFIG_APM is not set
-
-#
-# CPU Frequency scaling
-#
-# CONFIG_CPU_FREQ is not set
-
-#
-# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
-#
-CONFIG_PCI=y
-# CONFIG_PCI_GOBIOS is not set
-# CONFIG_PCI_GOMMCONFIG is not set
-# CONFIG_PCI_GODIRECT is not set
-CONFIG_PCI_GOANY=y
-CONFIG_PCI_BIOS=y
-CONFIG_PCI_DIRECT=y
-CONFIG_PCI_MMCONFIG=y
-CONFIG_PCIEPORTBUS=y
-CONFIG_PCIEAER=y
-CONFIG_ARCH_SUPPORTS_MSI=y
-CONFIG_PCI_MSI=y
-CONFIG_HT_IRQ=y
-CONFIG_ISA_DMA_API=y
-CONFIG_ISA=y
-# CONFIG_EISA is not set
-# CONFIG_MCA is not set
-# CONFIG_SCx200 is not set
-CONFIG_K8_NB=y
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
-# CONFIG_PCCARD is not set
-# CONFIG_HOTPLUG_PCI is not set
-
-#
-# Executable file formats
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Networking
-#
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=m
-# CONFIG_PACKET_MMAP is not set
-CONFIG_UNIX=y
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_FIB_HASH=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 is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_IP_MROUTE is not set
-# 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_INET_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-CONFIG_INET_DIAG=y
-CONFIG_INET_TCP_DIAG=y
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-# CONFIG_IP_VS is not set
-# CONFIG_IPV6 is not set
-# CONFIG_INET6_XFRM_TUNNEL is not set
-# CONFIG_INET6_TUNNEL is not set
-# CONFIG_NETWORK_SECMARK is not set
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-
-#
-# Core Netfilter Configuration
-#
-# CONFIG_NETFILTER_NETLINK is not set
-# CONFIG_NF_CONNTRACK_ENABLED is not set
-# CONFIG_NF_CONNTRACK is not set
-CONFIG_NETFILTER_XTABLES=m
-# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
-# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
-# CONFIG_NETFILTER_XT_TARGET_MARK is not set
-# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
-# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
-# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
-# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
-# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
-# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
-# CONFIG_NETFILTER_XT_MATCH_ESP is not set
-# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
-# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
-# CONFIG_NETFILTER_XT_MATCH_MAC is not set
-# CONFIG_NETFILTER_XT_MATCH_MARK is not set
-# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
-# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
-# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
-# CONFIG_NETFILTER_XT_MATCH_REALM is not set
-# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
-# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
-# CONFIG_NETFILTER_XT_MATCH_STRING is not set
-# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
-# CONFIG_NETFILTER_XT_MATCH_U32 is not set
-# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_IP_NF_QUEUE=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_IPRANGE=m
-CONFIG_IP_NF_MATCH_TOS=m
-CONFIG_IP_NF_MATCH_RECENT=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_MATCH_OWNER=m
-CONFIG_IP_NF_MATCH_ADDRTYPE=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_LOG=m
-CONFIG_IP_NF_TARGET_ULOG=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_TOS=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_NF_RAW=m
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-# CONFIG_IP_DCCP is not set
-# CONFIG_IP_SCTP is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_BRIDGE 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
-
-#
-# QoS and/or fair queueing
-#
-# CONFIG_NET_SCHED is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
-# CONFIG_AF_RXRPC is not set
-
-#
-# Wireless
-#
-# CONFIG_CFG80211 is not set
-# CONFIG_WIRELESS_EXT is not set
-# CONFIG_MAC80211 is not set
-# CONFIG_IEEE80211 is not set
-# CONFIG_RFKILL is not set
-# CONFIG_NET_9P is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=m
-# CONFIG_SYS_HYPERVISOR is not set
-CONFIG_CONNECTOR=y
-CONFIG_PROC_EVENTS=y
-# CONFIG_MTD is not set
-# CONFIG_PARPORT is not set
-CONFIG_PNP=y
-# CONFIG_PNP_DEBUG is not set
-
-#
-# Protocols
-#
-# CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
-CONFIG_PNPACPI=y
-CONFIG_BLK_DEV=y
-# CONFIG_BLK_DEV_FD is not set
-# CONFIG_BLK_DEV_XD is not set
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_COW_COMMON is not set
-# CONFIG_BLK_DEV_LOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_SX8 is not set
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=1
-CONFIG_BLK_DEV_RAM_SIZE=81920
-CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-CONFIG_MISC_DEVICES=y
-# CONFIG_IBM_ASM is not set
-# CONFIG_PHANTOM is not set
-# CONFIG_EEPROM_93CX6 is not set
-# CONFIG_SGI_IOC4 is not set
-# CONFIG_TIFM_CORE is not set
-# CONFIG_SONY_LAPTOP is not set
-# CONFIG_THINKPAD_ACPI is not set
-# 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=y
-# CONFIG_CHR_DEV_SCH is not set
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-CONFIG_SCSI_MULTI_LUN=y
-# 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_LOWLEVEL=y
-# CONFIG_ISCSI_TCP is not set
-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_SCSI_3W_9XXX is not set
-# CONFIG_SCSI_7000FASST is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_AHA152X is not set
-# CONFIG_SCSI_AHA1542 is not set
-# CONFIG_SCSI_AACRAID is not set
-# CONFIG_SCSI_AIC7XXX is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_AIC94XX is not set
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_SCSI_ADVANSYS is not set
-# CONFIG_SCSI_IN2000 is not set
-# CONFIG_SCSI_ARCMSR is not set
-# CONFIG_MEGARAID_NEWGEN is not set
-# CONFIG_MEGARAID_LEGACY is not set
-# CONFIG_MEGARAID_SAS is not set
-# CONFIG_SCSI_HPTIOP is not set
-# CONFIG_SCSI_BUSLOGIC is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_DTC3280 is not set
-# CONFIG_SCSI_EATA is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_GDTH is not set
-# CONFIG_SCSI_GENERIC_NCR5380 is not set
-# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
-# CONFIG_SCSI_IPS is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_NCR53C406A is not set
-# CONFIG_SCSI_STEX is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_PAS16 is not set
-# CONFIG_SCSI_PSI240I is not set
-# CONFIG_SCSI_QLOGIC_FAS is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-# CONFIG_SCSI_QLA_FC is not set
-# CONFIG_SCSI_QLA_ISCSI is not set
-# CONFIG_SCSI_LPFC is not set
-# CONFIG_SCSI_SEAGATE is not set
-# CONFIG_SCSI_SYM53C416 is not set
-# CONFIG_SCSI_DC395x is not set
-# CONFIG_SCSI_DC390T is not set
-# CONFIG_SCSI_T128 is not set
-# CONFIG_SCSI_U14_34F is not set
-# CONFIG_SCSI_ULTRASTOR is not set
-# CONFIG_SCSI_NSP32 is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_SRP is not set
-# CONFIG_ATA is not set
-# CONFIG_MD is not set
-
-#
-# Fusion MPT device support
-#
-# CONFIG_FUSION is not set
-# CONFIG_FUSION_SPI is not set
-# CONFIG_FUSION_FC is not set
-# CONFIG_FUSION_SAS is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-# CONFIG_FIREWIRE is not set
-# CONFIG_IEEE1394 is not set
-# CONFIG_I2O is not set
-# CONFIG_MACINTOSH_DRIVERS is not set
-CONFIG_NETDEVICES=y
-# CONFIG_NETDEVICES_MULTIQUEUE is not set
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_MACVLAN is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-# CONFIG_NET_SB1000 is not set
-# CONFIG_ARCNET is not set
-# CONFIG_PHYLIB is not set
-CONFIG_NET_ETHERNET=y
-CONFIG_MII=y
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_CASSINI is not set
-CONFIG_NET_VENDOR_3COM=y
-# CONFIG_EL1 is not set
-# CONFIG_EL2 is not set
-# CONFIG_ELPLUS is not set
-# CONFIG_EL16 is not set
-# CONFIG_EL3 is not set
-# CONFIG_3C515 is not set
-CONFIG_VORTEX=m
-CONFIG_TYPHOON=m
-CONFIG_LANCE=m
-CONFIG_NET_VENDOR_SMC=y
-CONFIG_WD80x3=m
-CONFIG_ULTRA=m
-CONFIG_SMC9194=m
-# CONFIG_NET_VENDOR_RACAL is not set
-CONFIG_NET_TULIP=y
-# CONFIG_DE2104X is not set
-CONFIG_TULIP=m
-CONFIG_TULIP_MWI=y
-CONFIG_TULIP_MMIO=y
-CONFIG_TULIP_NAPI=y
-CONFIG_TULIP_NAPI_HW_MITIGATION=y
-CONFIG_DE4X5=m
-CONFIG_WINBOND_840=m
-CONFIG_DM9102=m
-CONFIG_ULI526X=m
-CONFIG_AT1700=m
-CONFIG_DEPCA=m
-CONFIG_HP100=m
-CONFIG_NET_ISA=y
-# CONFIG_E2100 is not set
-# CONFIG_EWRK3 is not set
-# CONFIG_EEXPRESS is not set
-# CONFIG_EEXPRESS_PRO is not set
-# CONFIG_HPLAN_PLUS is not set
-# CONFIG_HPLAN is not set
-# CONFIG_LP486E is not set
-# CONFIG_ETH16I is not set
-CONFIG_NE2000=y
-# CONFIG_ZNET is not set
-# CONFIG_SEEQ8005 is not set
-CONFIG_NET_PCI=y
-CONFIG_PCNET32=m
-CONFIG_PCNET32_NAPI=y
-CONFIG_AMD8111_ETH=m
-CONFIG_AMD8111E_NAPI=y
-CONFIG_ADAPTEC_STARFIRE=m
-CONFIG_ADAPTEC_STARFIRE_NAPI=y
-CONFIG_AC3200=m
-CONFIG_APRICOT=m
-CONFIG_B44=m
-CONFIG_FORCEDETH=m
-CONFIG_FORCEDETH_NAPI=y
-CONFIG_CS89x0=m
-CONFIG_DGRS=m
-CONFIG_EEPRO100=m
-CONFIG_E100=m
-CONFIG_FEALNX=m
-CONFIG_NATSEMI=m
-CONFIG_NE2K_PCI=y
-CONFIG_8139CP=m
-CONFIG_8139TOO=m
-CONFIG_8139TOO_PIO=y
-CONFIG_8139TOO_TUNE_TWISTER=y
-CONFIG_8139TOO_8129=y
-# CONFIG_8139_OLD_RX_RESET is not set
-CONFIG_SIS900=m
-CONFIG_EPIC100=m
-CONFIG_SUNDANCE=m
-CONFIG_SUNDANCE_MMIO=y
-CONFIG_TLAN=m
-CONFIG_VIA_RHINE=m
-CONFIG_VIA_RHINE_MMIO=y
-CONFIG_VIA_RHINE_NAPI=y
-CONFIG_SC92031=m
-CONFIG_NETDEV_1000=y
-CONFIG_ACENIC=m
-CONFIG_ACENIC_OMIT_TIGON_I=y
-CONFIG_DL2K=m
-CONFIG_E1000=m
-CONFIG_E1000_NAPI=y
-# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
-CONFIG_NS83820=m
-CONFIG_HAMACHI=m
-CONFIG_YELLOWFIN=m
-CONFIG_R8169=m
-CONFIG_R8169_NAPI=y
-CONFIG_SIS190=m
-CONFIG_SKGE=m
-CONFIG_SKY2=m
-CONFIG_SK98LIN=m
-CONFIG_VIA_VELOCITY=m
-CONFIG_TIGON3=m
-CONFIG_BNX2=m
-CONFIG_QLA3XXX=m
-CONFIG_ATL1=m
-CONFIG_NETDEV_10000=y
-# CONFIG_CHELSIO_T1 is not set
-# CONFIG_CHELSIO_T3 is not set
-# CONFIG_IXGB is not set
-# CONFIG_S2IO is not set
-# CONFIG_MYRI10GE is not set
-# CONFIG_NETXEN_NIC is not set
-# CONFIG_MLX4_CORE is not set
-# CONFIG_TR is not set
-
-#
-# Wireless LAN
-#
-# CONFIG_WLAN_PRE80211 is not set
-# CONFIG_WLAN_80211 is not set
-
-#
-# USB Network Adapters
-#
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_USBNET_MII is not set
-# CONFIG_USB_USBNET is not set
-# CONFIG_WAN is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-# CONFIG_NET_FC is not set
-# CONFIG_SHAPER is not set
-# 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_POLLDEV is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=m
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_TSDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-# CONFIG_INPUT_POWER is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-CONFIG_KEYBOARD_ATKBD=y
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_STOWAWAY 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_TOUCHKIT is not set
-# CONFIG_MOUSE_SERIAL is not set
-# CONFIG_MOUSE_APPLETOUCH is not set
-# CONFIG_MOUSE_INPORT is not set
-# CONFIG_MOUSE_LOGIBM is not set
-# CONFIG_MOUSE_PC110PAD is not set
-# CONFIG_MOUSE_VSXXXAA 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
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_I8042=y
-# CONFIG_SERIO_SERPORT is not set
-# CONFIG_SERIO_CT82C710 is not set
-# CONFIG_SERIO_PCIPS2 is not set
-CONFIG_SERIO_LIBPS2=y
-# CONFIG_SERIO_RAW is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-# CONFIG_SERIAL_8250_CONSOLE is not set
-CONFIG_FIX_EARLYCON_MEM=y
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_PNP=y
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-# CONFIG_SERIAL_8250_EXTENDED is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_CORE=y
-# CONFIG_SERIAL_JSM is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_IPMI_HANDLER is not set
-# CONFIG_WATCHDOG is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_NVRAM is not set
-# CONFIG_RTC is not set
-# CONFIG_GEN_RTC is not set
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
-CONFIG_AGP=m
-CONFIG_AGP_ALI=m
-CONFIG_AGP_ATI=m
-CONFIG_AGP_AMD=m
-CONFIG_AGP_AMD64=m
-CONFIG_AGP_INTEL=m
-CONFIG_AGP_NVIDIA=m
-CONFIG_AGP_SIS=m
-CONFIG_AGP_SWORKS=m
-CONFIG_AGP_VIA=m
-CONFIG_AGP_EFFICEON=m
-# CONFIG_DRM is not set
-# CONFIG_MWAVE is not set
-# CONFIG_PC8736x_GPIO is not set
-# CONFIG_NSC_GPIO is not set
-# CONFIG_CS5535_GPIO is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_HPET is not set
-# CONFIG_HANGCHECK_TIMER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_TELCLOCK is not set
-CONFIG_DEVPORT=y
-# CONFIG_I2C is not set
-
-#
-# SPI support
-#
-# CONFIG_SPI is not set
-# CONFIG_SPI_MASTER is not set
-# CONFIG_W1 is not set
-# CONFIG_POWER_SUPPLY is not set
-# CONFIG_HWMON is not set
-
-#
-# Multifunction device drivers
-#
-# CONFIG_MFD_SM501 is not set
-# CONFIG_HTC_ASIC3 is not set
-# CONFIG_HTC_ASIC3_DS1WM is not set
-
-#
-# Multi-Function Devices
-#
-
-#
-# Multimedia devices
-#
-CONFIG_VIDEO_DEV=m
-CONFIG_VIDEO_V4L1=y
-CONFIG_VIDEO_V4L1_COMPAT=y
-CONFIG_VIDEO_V4L2=y
-CONFIG_VIDEO_CAPTURE_DRIVERS=y
-# CONFIG_VIDEO_ADV_DEBUG is not set
-CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
-# CONFIG_VIDEO_VIVI is not set
-# CONFIG_VIDEO_PMS is not set
-# CONFIG_VIDEO_CPIA is not set
-# CONFIG_VIDEO_CPIA2 is not set
-# CONFIG_VIDEO_STRADIS is not set
-CONFIG_V4L_USB_DRIVERS=y
-# CONFIG_USB_VICAM is not set
-# CONFIG_USB_IBMCAM is not set
-# CONFIG_USB_KONICAWC is not set
-# CONFIG_USB_QUICKCAM_MESSENGER is not set
-# CONFIG_USB_ET61X251 is not set
-# CONFIG_USB_OV511 is not set
-# CONFIG_USB_SE401 is not set
-# CONFIG_USB_SN9C102 is not set
-# CONFIG_USB_STV680 is not set
-# CONFIG_USB_ZC0301 is not set
-# CONFIG_USB_PWC is not set
-# CONFIG_USB_ZR364XX is not set
-CONFIG_RADIO_ADAPTERS=y
-# CONFIG_RADIO_CADET is not set
-# CONFIG_RADIO_RTRACK is not set
-# CONFIG_RADIO_RTRACK2 is not set
-# CONFIG_RADIO_AZTECH is not set
-# CONFIG_RADIO_GEMTEK is not set
-# CONFIG_RADIO_GEMTEK_PCI is not set
-# CONFIG_RADIO_MAXIRADIO is not set
-# CONFIG_RADIO_MAESTRO is not set
-# CONFIG_RADIO_SF16FMI is not set
-# CONFIG_RADIO_SF16FMR2 is not set
-# CONFIG_RADIO_TERRATEC is not set
-# CONFIG_RADIO_TRUST is not set
-# CONFIG_RADIO_TYPHOON is not set
-# CONFIG_RADIO_ZOLTRIX is not set
-# CONFIG_USB_DSBR is not set
-# CONFIG_DVB_CORE is not set
-CONFIG_DAB=y
-# CONFIG_USB_DABUSB is not set
-
-#
-# Graphics support
-#
-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-CONFIG_VGASTATE=y
-CONFIG_VIDEO_OUTPUT_CONTROL=m
-CONFIG_FB=y
-CONFIG_FIRMWARE_EDID=y
-# CONFIG_FB_DDC is not set
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# CONFIG_FB_SYS_FILLRECT is not set
-# CONFIG_FB_SYS_COPYAREA is not set
-# CONFIG_FB_SYS_IMAGEBLIT is not set
-# CONFIG_FB_SYS_FOPS is not set
-CONFIG_FB_DEFERRED_IO=y
-# 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=y
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_CIRRUS is not set
-# CONFIG_FB_PM2 is not set
-# CONFIG_FB_CYBER2000 is not set
-# CONFIG_FB_ARC is not set
-# CONFIG_FB_ASILIANT is not set
-# CONFIG_FB_IMSTT is not set
-# CONFIG_FB_VGA16 is not set
-CONFIG_FB_UVESA=m
-# CONFIG_FB_VESA is not set
-# CONFIG_FB_HECUBA is not set
-# CONFIG_FB_HGA is not set
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_NVIDIA is not set
-# CONFIG_FB_RIVA is not set
-# CONFIG_FB_I810 is not set
-# CONFIG_FB_LE80578 is not set
-# CONFIG_FB_INTEL is not set
-# CONFIG_FB_MATROX is not set
-# CONFIG_FB_RADEON is not set
-# CONFIG_FB_ATY128 is not set
-# CONFIG_FB_ATY is not set
-# CONFIG_FB_S3 is not set
-# CONFIG_FB_SAVAGE is not set
-# CONFIG_FB_SIS is not set
-# CONFIG_FB_NEOMAGIC is not set
-# CONFIG_FB_KYRO is not set
-# CONFIG_FB_3DFX is not set
-# CONFIG_FB_VOODOO1 is not set
-# CONFIG_FB_VT8623 is not set
-# CONFIG_FB_CYBLA is not set
-# CONFIG_FB_TRIDENT is not set
-# CONFIG_FB_ARK is not set
-# CONFIG_FB_PM3 is not set
-# CONFIG_FB_GEODE is not set
-# CONFIG_FB_VIRTUAL is not set
-
-#
-# Console display driver support
-#
-CONFIG_VGA_CONSOLE=y
-# CONFIG_VGACON_SOFT_SCROLLBACK is not set
-CONFIG_VIDEO_SELECT=y
-# CONFIG_MDA_CONSOLE is not set
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-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 is not set
-CONFIG_LOGO_OHAND_CLUT224=y
-
-#
-# Sound
-#
-CONFIG_SOUND=y
-
-#
-# Advanced Linux Sound Architecture
-#
-CONFIG_SND=y
-CONFIG_SND_TIMER=y
-CONFIG_SND_PCM=y
-CONFIG_SND_SEQUENCER=y
-# 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_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
-
-#
-# Generic devices
-#
-CONFIG_SND_AC97_CODEC=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
-
-#
-# ISA devices
-#
-# CONFIG_SND_ADLIB is not set
-# CONFIG_SND_AD1816A is not set
-# CONFIG_SND_AD1848 is not set
-# CONFIG_SND_ALS100 is not set
-# CONFIG_SND_AZT2320 is not set
-# CONFIG_SND_CMI8330 is not set
-# CONFIG_SND_CS4231 is not set
-# CONFIG_SND_CS4232 is not set
-# CONFIG_SND_CS4236 is not set
-# CONFIG_SND_DT019X is not set
-# CONFIG_SND_ES968 is not set
-# CONFIG_SND_ES1688 is not set
-# CONFIG_SND_ES18XX is not set
-# CONFIG_SND_GUSCLASSIC is not set
-# CONFIG_SND_GUSEXTREME is not set
-# CONFIG_SND_GUSMAX is not set
-# CONFIG_SND_INTERWAVE is not set
-# CONFIG_SND_INTERWAVE_STB is not set
-# CONFIG_SND_OPL3SA2 is not set
-# CONFIG_SND_OPTI92X_AD1848 is not set
-# CONFIG_SND_OPTI92X_CS4231 is not set
-# CONFIG_SND_OPTI93X is not set
-# CONFIG_SND_MIRO is not set
-# CONFIG_SND_SB8 is not set
-# CONFIG_SND_SB16 is not set
-# CONFIG_SND_SBAWE is not set
-# CONFIG_SND_SGALAXY is not set
-# CONFIG_SND_SSCAPE is not set
-# CONFIG_SND_WAVEFRONT is not set
-
-#
-# PCI devices
-#
-# CONFIG_SND_AD1889 is not set
-# CONFIG_SND_ALS300 is not set
-# CONFIG_SND_ALS4000 is not set
-# CONFIG_SND_ALI5451 is not set
-# CONFIG_SND_ATIIXP is not set
-# CONFIG_SND_ATIIXP_MODEM is not set
-# CONFIG_SND_AU8810 is not set
-# CONFIG_SND_AU8820 is not set
-# CONFIG_SND_AU8830 is not set
-# CONFIG_SND_AZT3328 is not set
-# CONFIG_SND_BT87X is not set
-# CONFIG_SND_CA0106 is not set
-# CONFIG_SND_CMIPCI is not set
-# CONFIG_SND_CS4281 is not set
-# CONFIG_SND_CS46XX is not set
-# CONFIG_SND_CS5530 is not set
-# CONFIG_SND_CS5535AUDIO is not set
-# CONFIG_SND_DARLA20 is not set
-# CONFIG_SND_GINA20 is not set
-# CONFIG_SND_LAYLA20 is not set
-# CONFIG_SND_DARLA24 is not set
-# CONFIG_SND_GINA24 is not set
-# CONFIG_SND_LAYLA24 is not set
-# CONFIG_SND_MONA is not set
-# CONFIG_SND_MIA is not set
-# CONFIG_SND_ECHO3G is not set
-# CONFIG_SND_INDIGO is not set
-# CONFIG_SND_INDIGOIO is not set
-# CONFIG_SND_INDIGODJ is not set
-# CONFIG_SND_EMU10K1 is not set
-# CONFIG_SND_EMU10K1X is not set
-# CONFIG_SND_ENS1370 is not set
-# CONFIG_SND_ENS1371 is not set
-# CONFIG_SND_ES1938 is not set
-# CONFIG_SND_ES1968 is not set
-# CONFIG_SND_FM801 is not set
-# CONFIG_SND_HDA_INTEL is not set
-# CONFIG_SND_HDSP is not set
-# CONFIG_SND_HDSPM is not set
-# CONFIG_SND_ICE1712 is not set
-# CONFIG_SND_ICE1724 is not set
-CONFIG_SND_INTEL8X0=y
-# CONFIG_SND_INTEL8X0M is not set
-# CONFIG_SND_KORG1212 is not set
-# CONFIG_SND_MAESTRO3 is not set
-# CONFIG_SND_MIXART is not set
-# CONFIG_SND_NM256 is not set
-# CONFIG_SND_PCXHR is not set
-# CONFIG_SND_RIPTIDE is not set
-# CONFIG_SND_RME32 is not set
-# CONFIG_SND_RME96 is not set
-# CONFIG_SND_RME9652 is not set
-# CONFIG_SND_SONICVIBES is not set
-# CONFIG_SND_TRIDENT is not set
-# CONFIG_SND_VIA82XX is not set
-# CONFIG_SND_VIA82XX_MODEM is not set
-# CONFIG_SND_VX222 is not set
-# CONFIG_SND_YMFPCI is not set
-CONFIG_SND_AC97_POWER_SAVE=y
-
-#
-# USB devices
-#
-# CONFIG_SND_USB_AUDIO is not set
-# CONFIG_SND_USB_USX2Y is not set
-# CONFIG_SND_USB_CAIAQ is not set
-
-#
-# System on Chip audio support
-#
-# CONFIG_SND_SOC is not set
-
-#
-# SoC Audio support for SuperH
-#
-
-#
-# Open Sound System
-#
-# CONFIG_SOUND_PRIME is not set
-CONFIG_AC97_BUS=y
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=y
-# CONFIG_HID_DEBUG is not set
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=y
-# CONFIG_USB_HIDINPUT_POWERBOOK is not set
-# CONFIG_HID_FF is not set
-# CONFIG_USB_HIDDEV 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
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-CONFIG_USB_DEVICE_CLASS=y
-# CONFIG_USB_DYNAMIC_MINORS is not set
-CONFIG_USB_SUSPEND=y
-# CONFIG_USB_PERSIST is not set
-# CONFIG_USB_OTG is not set
-
-#
-# USB Host Controller Drivers
-#
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_SPLIT_ISO=y
-# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
-# CONFIG_USB_EHCI_TT_NEWSCHED is not set
-# CONFIG_USB_ISP116X_HCD is not set
-CONFIG_USB_OHCI_HCD=y
-# 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_UHCI_HCD=y
-# CONFIG_USB_SL811_HCD is not set
-# CONFIG_USB_R8A66597_HCD is not set
-
-#
-# USB Device Class drivers
-#
-# CONFIG_USB_ACM is not set
-# CONFIG_USB_PRINTER is not set
-
-#
-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-#
-
-#
-# may also be needed; see USB_STORAGE Help for more information
-#
-# CONFIG_USB_STORAGE is not set
-# CONFIG_USB_LIBUSUAL is not set
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
-# CONFIG_USB_MON is not set
-
-#
-# USB port drivers
-#
-
-#
-# USB Serial Converter support
-#
-# CONFIG_USB_SERIAL 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_AUERSWALD 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_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_IOWARRIOR is not set
-# CONFIG_USB_TEST is not set
-
-#
-# USB DSL modem support
-#
-
-#
-# USB Gadget Support
-#
-# CONFIG_USB_GADGET is not set
-# CONFIG_MMC is not set
-# CONFIG_NEW_LEDS is not set
-# CONFIG_INFINIBAND is not set
-# CONFIG_EDAC is not set
-# CONFIG_RTC_CLASS is not set
-
-#
-# DMA Engine support
-#
-# CONFIG_DMA_ENGINE is not set
-
-#
-# DMA Clients
-#
-
-#
-# DMA Devices
-#
-CONFIG_VIRTUALIZATION=y
-# CONFIG_KVM is not set
-
-#
-# Userspace I/O
-#
-# CONFIG_UIO is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=m
-CONFIG_EXT3_FS_XATTR=y
-# CONFIG_EXT3_FS_POSIX_ACL is not set
-# CONFIG_EXT3_FS_SECURITY is not set
-# CONFIG_EXT4DEV_FS is not set
-CONFIG_JBD=m
-# CONFIG_JBD_DEBUG is not set
-CONFIG_FS_MBCACHE=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_FS_POSIX_ACL is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_GFS2_FS is not set
-# CONFIG_OCFS2_FS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_INOTIFY=y
-CONFIG_INOTIFY_USER=y
-# CONFIG_QUOTA is not set
-CONFIG_DNOTIFY=y
-# CONFIG_AUTOFS_FS is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=y
-CONFIG_JOLIET=y
-# CONFIG_ZISOFS is not set
-# CONFIG_UDF_FS is not set
-
-#
-# DOS/FAT/NT Filesystems
-#
-# CONFIG_MSDOS_FS is not set
-# CONFIG_VFAT_FS is not set
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-# CONFIG_TMPFS_POSIX_ACL is not set
-# CONFIG_HUGETLBFS is not set
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_RAMFS=y
-# CONFIG_CONFIGFS_FS is not set
-
-#
-# Miscellaneous filesystems
-#
-# 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_CRAMFS is not set
-# CONFIG_SQUASHFS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-
-#
-# Network File Systems
-#
-CONFIG_NFS_FS=y
-# CONFIG_NFS_V3 is not set
-# CONFIG_NFS_V4 is not set
-# CONFIG_NFS_DIRECTIO is not set
-# CONFIG_NFSD is not set
-# CONFIG_ROOT_NFS is not set
-CONFIG_LOCKD=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-# CONFIG_SUNRPC_BIND34 is not set
-# 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_NCP_FS is not set
-# CONFIG_CODA_FS is not set
-# CONFIG_AFS_FS is not set
-
-#
-# Partition Types
-#
-# CONFIG_PARTITION_ADVANCED is not set
-CONFIG_MSDOS_PARTITION=y
-
-#
-# Native Language Support
-#
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="utf-8"
-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=y
-
-#
-# Distributed Lock Manager
-#
-# CONFIG_DLM is not set
-CONFIG_INSTRUMENTATION=y
-CONFIG_PROFILING=y
-CONFIG_OPROFILE=y
-# CONFIG_KPROBES is not set
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-# CONFIG_PRINTK_TIME is not set
-CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_KERNEL is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-CONFIG_EARLY_PRINTK=y
-CONFIG_X86_FIND_SMP_CONFIG=y
-CONFIG_X86_MPPARSE=y
-CONFIG_DOUBLEFAULT=y
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-CONFIG_CRYPTO=y
-CONFIG_CRYPTO_ALGAPI=m
-CONFIG_CRYPTO_BLKCIPHER=m
-CONFIG_CRYPTO_MANAGER=m
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-CONFIG_CRYPTO_SHA1=m
-CONFIG_CRYPTO_SHA256=m
-# CONFIG_CRYPTO_SHA512 is not set
-# CONFIG_CRYPTO_WP512 is not set
-# CONFIG_CRYPTO_TGR192 is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-CONFIG_CRYPTO_ECB=m
-CONFIG_CRYPTO_CBC=m
-CONFIG_CRYPTO_PCBC=m
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_DES is not set
-# CONFIG_CRYPTO_FCRYPT is not set
-# CONFIG_CRYPTO_BLOWFISH is not set
-# CONFIG_CRYPTO_TWOFISH is not set
-# CONFIG_CRYPTO_TWOFISH_586 is not set
-# CONFIG_CRYPTO_SERPENT is not set
-# CONFIG_CRYPTO_AES is not set
-# CONFIG_CRYPTO_AES_586 is not set
-# CONFIG_CRYPTO_CAST5 is not set
-# CONFIG_CRYPTO_CAST6 is not set
-# CONFIG_CRYPTO_TEA is not set
-# CONFIG_CRYPTO_ARC4 is not set
-# CONFIG_CRYPTO_KHAZAD is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-# CONFIG_CRYPTO_DEFLATE is not set
-# CONFIG_CRYPTO_LZO is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_CAMELLIA is not set
-# CONFIG_CRYPTO_TEST is not set
-CONFIG_CRYPTO_HW=y
-CONFIG_CRYPTO_DEV_PADLOCK=m
-CONFIG_CRYPTO_DEV_PADLOCK_AES=m
-CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
-CONFIG_CRYPTO_DEV_GEODE=m
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_CRC_CCITT=m
-# CONFIG_CRC16 is not set
-# CONFIG_CRC_ITU_T is not set
-CONFIG_CRC32=y
-# CONFIG_CRC7 is not set
-CONFIG_LIBCRC32C=m
-CONFIG_AUDIT_GENERIC=y
-CONFIG_ZLIB_INFLATE=m
-CONFIG_PLIST=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_PENDING_IRQ=y
-CONFIG_X86_SMP=y
-CONFIG_X86_HT=y
-CONFIG_X86_BIOS_REBOOT=y
-CONFIG_X86_TRAMPOLINE=y
-CONFIG_KTIME_SCALAR=y
diff --git a/meta/recipes-kernel/linux/linux-rp-2.6.24/defconfig-bootcdx86 b/meta/recipes-kernel/linux/linux-rp-2.6.24/defconfig-bootcdx86
deleted file mode 100644
index 397468a36..000000000
--- a/meta/recipes-kernel/linux/linux-rp-2.6.24/defconfig-bootcdx86
+++ /dev/null
@@ -1,1994 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.24-rc8
-# Sun Jan 20 18:34:58 2008
-#
-# CONFIG_64BIT is not set
-CONFIG_X86_32=y
-# CONFIG_X86_64 is not set
-CONFIG_X86=y
-CONFIG_GENERIC_TIME=y
-CONFIG_GENERIC_CMOS_UPDATE=y
-CONFIG_CLOCKSOURCE_WATCHDOG=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_SEMAPHORE_SLEEPERS=y
-CONFIG_MMU=y
-CONFIG_ZONE_DMA=y
-CONFIG_QUICKLIST=y
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_GENERIC_IOMAP=y
-CONFIG_GENERIC_BUG=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-CONFIG_DMI=y
-# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
-CONFIG_RWSEM_XCHGADD_ALGORITHM=y
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-# CONFIG_GENERIC_TIME_VSYSCALL is not set
-CONFIG_ARCH_SUPPORTS_OPROFILE=y
-# CONFIG_ZONE_DMA32 is not set
-CONFIG_ARCH_POPULATES_NODE_MAP=y
-# CONFIG_AUDIT_ARCH is not set
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_PENDING_IRQ=y
-CONFIG_X86_SMP=y
-CONFIG_X86_HT=y
-CONFIG_X86_BIOS_REBOOT=y
-CONFIG_X86_TRAMPOLINE=y
-CONFIG_KTIME_SCALAR=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_LOCK_KERNEL=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_TASKSTATS is not set
-# CONFIG_USER_NS is not set
-# CONFIG_PID_NS is not set
-CONFIG_AUDIT=y
-CONFIG_AUDITSYSCALL=y
-CONFIG_AUDIT_TREE=y
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=15
-# CONFIG_CGROUPS is not set
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_FAIR_USER_SCHED=y
-# CONFIG_FAIR_CGROUP_SCHED is not set
-CONFIG_SYSFS_DEPRECATED=y
-# CONFIG_RELAY is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_EMBEDDED=y
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=y
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_ANON_INODES=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_SLAB=y
-# CONFIG_SLUB is not set
-# CONFIG_SLOB is not set
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-# CONFIG_TINY_SHMEM is not set
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_KMOD=y
-CONFIG_STOP_MACHINE=y
-CONFIG_BLOCK=y
-CONFIG_LBD=y
-# CONFIG_BLK_DEV_IO_TRACE is not set
-# CONFIG_LSF is not set
-# CONFIG_BLK_DEV_BSG is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=m
-CONFIG_IOSCHED_CFQ=m
-CONFIG_DEFAULT_AS=y
-# CONFIG_DEFAULT_DEADLINE is not set
-# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
-
-#
-# Processor type and features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_SMP=y
-CONFIG_X86_PC=y
-# CONFIG_X86_ELAN is not set
-# CONFIG_X86_VOYAGER is not set
-# CONFIG_X86_NUMAQ is not set
-# CONFIG_X86_SUMMIT is not set
-# CONFIG_X86_BIGSMP is not set
-# CONFIG_X86_VISWS is not set
-# CONFIG_X86_GENERICARCH is not set
-# CONFIG_X86_ES7000 is not set
-# CONFIG_X86_VSMP is not set
-CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
-# CONFIG_PARAVIRT_GUEST is not set
-# CONFIG_M386 is not set
-# CONFIG_M486 is not set
-# CONFIG_M586 is not set
-# CONFIG_M586TSC is not set
-# CONFIG_M586MMX is not set
-CONFIG_M686=y
-# CONFIG_MPENTIUMII is not set
-# CONFIG_MPENTIUMIII is not set
-# CONFIG_MPENTIUMM is not set
-# CONFIG_MPENTIUM4 is not set
-# CONFIG_MK6 is not set
-# CONFIG_MK7 is not set
-# CONFIG_MK8 is not set
-# CONFIG_MCRUSOE is not set
-# CONFIG_MEFFICEON is not set
-# CONFIG_MWINCHIPC6 is not set
-# CONFIG_MWINCHIP2 is not set
-# CONFIG_MWINCHIP3D is not set
-# CONFIG_MGEODEGX1 is not set
-# CONFIG_MGEODE_LX is not set
-# CONFIG_MCYRIXIII is not set
-# CONFIG_MVIAC3_2 is not set
-# CONFIG_MVIAC7 is not set
-# CONFIG_MPSC is not set
-# CONFIG_MCORE2 is not set
-# CONFIG_GENERIC_CPU is not set
-CONFIG_X86_GENERIC=y
-CONFIG_X86_CMPXCHG=y
-CONFIG_X86_L1_CACHE_SHIFT=7
-CONFIG_X86_XADD=y
-CONFIG_X86_PPRO_FENCE=y
-CONFIG_X86_WP_WORKS_OK=y
-CONFIG_X86_INVLPG=y
-CONFIG_X86_BSWAP=y
-CONFIG_X86_POPAD_OK=y
-CONFIG_X86_GOOD_APIC=y
-CONFIG_X86_INTEL_USERCOPY=y
-CONFIG_X86_USE_PPRO_CHECKSUM=y
-CONFIG_X86_TSC=y
-CONFIG_X86_CMOV=y
-CONFIG_X86_MINIMUM_CPU_FAMILY=4
-CONFIG_HPET_TIMER=y
-CONFIG_NR_CPUS=8
-CONFIG_SCHED_SMT=y
-CONFIG_SCHED_MC=y
-CONFIG_PREEMPT_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_PREEMPT_BKL=y
-CONFIG_X86_LOCAL_APIC=y
-CONFIG_X86_IO_APIC=y
-CONFIG_X86_MCE=y
-CONFIG_X86_MCE_NONFATAL=y
-CONFIG_X86_MCE_P4THERMAL=y
-CONFIG_VM86=y
-# CONFIG_TOSHIBA is not set
-# CONFIG_I8K is not set
-# CONFIG_X86_REBOOTFIXUPS is not set
-# CONFIG_MICROCODE is not set
-# CONFIG_X86_MSR is not set
-# CONFIG_X86_CPUID is not set
-CONFIG_NOHIGHMEM=y
-# CONFIG_HIGHMEM4G is not set
-# CONFIG_HIGHMEM64G is not set
-CONFIG_VMSPLIT_3G=y
-# CONFIG_VMSPLIT_3G_OPT is not set
-# CONFIG_VMSPLIT_2G is not set
-# CONFIG_VMSPLIT_2G_OPT is not set
-# CONFIG_VMSPLIT_1G is not set
-CONFIG_PAGE_OFFSET=0xC0000000
-# CONFIG_X86_PAE is not set
-CONFIG_ARCH_FLATMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=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_SPARSEMEM_STATIC=y
-# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
-CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_RESOURCES_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
-CONFIG_NR_QUICK=1
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_MATH_EMULATION is not set
-CONFIG_MTRR=y
-# CONFIG_EFI is not set
-CONFIG_IRQBALANCE=y
-CONFIG_SECCOMP=y
-# CONFIG_HZ_100 is not set
-CONFIG_HZ_250=y
-# CONFIG_HZ_300 is not set
-# CONFIG_HZ_1000 is not set
-CONFIG_HZ=250
-CONFIG_KEXEC=y
-CONFIG_PHYSICAL_START=0x100000
-# CONFIG_RELOCATABLE is not set
-CONFIG_PHYSICAL_ALIGN=0x100000
-CONFIG_HOTPLUG_CPU=y
-CONFIG_COMPAT_VDSO=y
-
-#
-# Power management options
-#
-CONFIG_PM=y
-CONFIG_PM_LEGACY=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP_SMP=y
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_SMP_POSSIBLE=y
-CONFIG_SUSPEND=y
-CONFIG_HIBERNATION_SMP_POSSIBLE=y
-# CONFIG_HIBERNATION is not set
-CONFIG_ACPI=y
-CONFIG_ACPI_SLEEP=y
-# CONFIG_ACPI_PROCFS is not set
-CONFIG_ACPI_PROCFS_POWER=y
-CONFIG_ACPI_SYSFS_POWER=y
-CONFIG_ACPI_PROC_EVENT=y
-CONFIG_ACPI_AC=y
-CONFIG_ACPI_BATTERY=y
-CONFIG_ACPI_BUTTON=y
-# CONFIG_ACPI_VIDEO is not set
-CONFIG_ACPI_FAN=y
-# CONFIG_ACPI_DOCK is not set
-CONFIG_ACPI_PROCESSOR=y
-CONFIG_ACPI_HOTPLUG_CPU=y
-CONFIG_ACPI_THERMAL=y
-# CONFIG_ACPI_ASUS is not set
-# CONFIG_ACPI_TOSHIBA is not set
-CONFIG_ACPI_BLACKLIST_YEAR=0
-# CONFIG_ACPI_DEBUG is not set
-CONFIG_ACPI_EC=y
-CONFIG_ACPI_POWER=y
-CONFIG_ACPI_SYSTEM=y
-CONFIG_X86_PM_TIMER=y
-CONFIG_ACPI_CONTAINER=y
-# CONFIG_ACPI_SBS is not set
-# CONFIG_APM is not set
-
-#
-# CPU Frequency scaling
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Bus options (PCI etc.)
-#
-CONFIG_PCI=y
-# CONFIG_PCI_GOBIOS is not set
-# CONFIG_PCI_GOMMCONFIG is not set
-# CONFIG_PCI_GODIRECT is not set
-CONFIG_PCI_GOANY=y
-CONFIG_PCI_BIOS=y
-CONFIG_PCI_DIRECT=y
-CONFIG_PCI_MMCONFIG=y
-CONFIG_PCI_DOMAINS=y
-CONFIG_PCIEPORTBUS=y
-CONFIG_PCIEAER=y
-CONFIG_ARCH_SUPPORTS_MSI=y
-CONFIG_PCI_MSI=y
-CONFIG_PCI_LEGACY=y
-CONFIG_HT_IRQ=y
-CONFIG_ISA_DMA_API=y
-CONFIG_ISA=y
-# CONFIG_EISA is not set
-# CONFIG_MCA is not set
-# CONFIG_SCx200 is not set
-CONFIG_K8_NB=y
-# CONFIG_PCCARD is not set
-# CONFIG_HOTPLUG_PCI is not set
-
-#
-# Executable file formats / Emulations
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_BINFMT_AOUT=m
-CONFIG_BINFMT_MISC=m
-
-#
-# Networking
-#
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=m
-CONFIG_PACKET_MMAP=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-# CONFIG_XFRM_USER is not set
-# CONFIG_XFRM_SUB_POLICY is not set
-# CONFIG_XFRM_MIGRATE is not set
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_FIB_HASH=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 is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_ARPD is not set
-CONFIG_SYN_COOKIES=y
-# 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_INET_TUNNEL=m
-CONFIG_INET_XFRM_MODE_TRANSPORT=m
-CONFIG_INET_XFRM_MODE_TUNNEL=m
-CONFIG_INET_XFRM_MODE_BEET=m
-# CONFIG_INET_LRO is not set
-CONFIG_INET_DIAG=m
-CONFIG_INET_TCP_DIAG=m
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-# CONFIG_IP_VS is not set
-CONFIG_IPV6=m
-# CONFIG_IPV6_PRIVACY is not set
-# 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_TUNNEL=m
-# CONFIG_IPV6_MULTIPLE_TABLES is not set
-# CONFIG_NETWORK_SECMARK is not set
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-
-#
-# Core Netfilter Configuration
-#
-# CONFIG_NETFILTER_NETLINK is not set
-# CONFIG_NF_CONNTRACK_ENABLED is not set
-# CONFIG_NF_CONNTRACK is not set
-CONFIG_NETFILTER_XTABLES=m
-# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
-# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
-# CONFIG_NETFILTER_XT_TARGET_MARK is not set
-# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
-# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
-# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
-# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
-# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
-# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
-# CONFIG_NETFILTER_XT_MATCH_ESP is not set
-# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
-# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
-# CONFIG_NETFILTER_XT_MATCH_MAC is not set
-# CONFIG_NETFILTER_XT_MATCH_MARK is not set
-# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
-# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
-# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
-# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
-# CONFIG_NETFILTER_XT_MATCH_REALM is not set
-# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
-# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
-# CONFIG_NETFILTER_XT_MATCH_STRING is not set
-# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
-# CONFIG_NETFILTER_XT_MATCH_TIME is not set
-# CONFIG_NETFILTER_XT_MATCH_U32 is not set
-# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_IP_NF_QUEUE=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_IPRANGE=m
-CONFIG_IP_NF_MATCH_TOS=m
-CONFIG_IP_NF_MATCH_RECENT=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_MATCH_OWNER=m
-CONFIG_IP_NF_MATCH_ADDRTYPE=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_LOG=m
-CONFIG_IP_NF_TARGET_ULOG=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_TOS=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_NF_RAW=m
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-
-#
-# IPv6: Netfilter Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP6_NF_QUEUE is not set
-# CONFIG_IP6_NF_IPTABLES is not set
-# CONFIG_IP_DCCP is not set
-# CONFIG_IP_SCTP is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_BRIDGE 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_NET_SCHED is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-CONFIG_IRDA=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRNET=m
-CONFIG_IRCOMM=m
-# CONFIG_IRDA_ULTRA is not set
-
-#
-# IrDA options
-#
-# CONFIG_IRDA_CACHE_LAST_LSAP is not set
-# CONFIG_IRDA_FAST_RR is not set
-# CONFIG_IRDA_DEBUG is not set
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-# CONFIG_IRTTY_SIR is not set
-
-#
-# Dongle support
-#
-# CONFIG_KINGSUN_DONGLE is not set
-# CONFIG_KSDAZZLE_DONGLE is not set
-# CONFIG_KS959_DONGLE is not set
-
-#
-# Old SIR device drivers
-#
-
-#
-# Old Serial dongle support
-#
-
-#
-# FIR device drivers
-#
-# CONFIG_USB_IRDA is not set
-# CONFIG_SIGMATEL_FIR is not set
-# CONFIG_NSC_FIR is not set
-# CONFIG_WINBOND_FIR is not set
-# CONFIG_TOSHIBA_FIR is not set
-# CONFIG_SMC_IRCC_FIR is not set
-# CONFIG_ALI_FIR is not set
-# CONFIG_VLSI_FIR is not set
-# CONFIG_VIA_FIR is not set
-# CONFIG_MCS_FIR 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_HCIUSB=m
-# CONFIG_BT_HCIUSB_SCO is not set
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-# CONFIG_BT_HCIUART_LL is not set
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIVHCI=m
-# CONFIG_AF_RXRPC is not set
-
-#
-# Wireless
-#
-# CONFIG_CFG80211 is not set
-CONFIG_WIRELESS_EXT=y
-# CONFIG_MAC80211 is not set
-CONFIG_IEEE80211=m
-# CONFIG_IEEE80211_DEBUG is not set
-CONFIG_IEEE80211_CRYPT_WEP=m
-CONFIG_IEEE80211_CRYPT_CCMP=m
-CONFIG_IEEE80211_CRYPT_TKIP=m
-CONFIG_IEEE80211_SOFTMAC=m
-# CONFIG_IEEE80211_SOFTMAC_DEBUG 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_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-# CONFIG_SYS_HYPERVISOR is not set
-CONFIG_CONNECTOR=y
-CONFIG_PROC_EVENTS=y
-# CONFIG_MTD is not set
-CONFIG_PARPORT=y
-CONFIG_PARPORT_PC=y
-# CONFIG_PARPORT_SERIAL is not set
-# CONFIG_PARPORT_PC_FIFO is not set
-# CONFIG_PARPORT_PC_SUPERIO is not set
-# CONFIG_PARPORT_GSC is not set
-# CONFIG_PARPORT_AX88796 is not set
-# CONFIG_PARPORT_1284 is not set
-CONFIG_PNP=y
-# CONFIG_PNP_DEBUG is not set
-
-#
-# Protocols
-#
-# CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
-CONFIG_PNPACPI=y
-CONFIG_BLK_DEV=y
-CONFIG_BLK_DEV_FD=y
-# CONFIG_BLK_DEV_XD is not set
-# CONFIG_PARIDE is not set
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=y
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_SX8 is not set
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=65536
-CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-CONFIG_MISC_DEVICES=y
-# CONFIG_IBM_ASM is not set
-# CONFIG_PHANTOM is not set
-# CONFIG_EEPROM_93CX6 is not set
-# CONFIG_SGI_IOC4 is not set
-# CONFIG_TIFM_CORE is not set
-# CONFIG_ASUS_LAPTOP is not set
-# CONFIG_FUJITSU_LAPTOP is not set
-# CONFIG_MSI_LAPTOP is not set
-# CONFIG_SONY_LAPTOP is not set
-# CONFIG_THINKPAD_ACPI is not set
-CONFIG_IDE=y
-CONFIG_IDE_MAX_HWIFS=4
-CONFIG_BLK_DEV_IDE=y
-
-#
-# Please see Documentation/ide.txt for help/info on IDE drives
-#
-# CONFIG_BLK_DEV_IDE_SATA is not set
-# CONFIG_BLK_DEV_HD_IDE is not set
-CONFIG_BLK_DEV_IDEDISK=y
-CONFIG_IDEDISK_MULTI_MODE=y
-CONFIG_BLK_DEV_IDECD=y
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_BLK_DEV_IDEFLOPPY is not set
-# CONFIG_BLK_DEV_IDESCSI is not set
-# CONFIG_BLK_DEV_IDEACPI is not set
-# CONFIG_IDE_TASK_IOCTL is not set
-CONFIG_IDE_PROC_FS=y
-
-#
-# IDE chipset support/bugfixes
-#
-CONFIG_IDE_GENERIC=y
-# CONFIG_BLK_DEV_PLATFORM is not set
-CONFIG_BLK_DEV_CMD640=y
-# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
-# CONFIG_BLK_DEV_IDEPNP is not set
-
-#
-# PCI IDE chipsets support
-#
-CONFIG_BLK_DEV_IDEPCI=y
-CONFIG_IDEPCI_SHARE_IRQ=y
-CONFIG_IDEPCI_PCIBUS_ORDER=y
-# CONFIG_BLK_DEV_OFFBOARD is not set
-CONFIG_BLK_DEV_GENERIC=y
-# CONFIG_BLK_DEV_OPTI621 is not set
-CONFIG_BLK_DEV_RZ1000=y
-CONFIG_BLK_DEV_IDEDMA_PCI=y
-# CONFIG_BLK_DEV_AEC62XX is not set
-# CONFIG_BLK_DEV_ALI15X3 is not set
-# CONFIG_BLK_DEV_AMD74XX is not set
-# CONFIG_BLK_DEV_ATIIXP is not set
-# CONFIG_BLK_DEV_CMD64X is not set
-# CONFIG_BLK_DEV_TRIFLEX is not set
-# CONFIG_BLK_DEV_CY82C693 is not set
-# CONFIG_BLK_DEV_CS5520 is not set
-# CONFIG_BLK_DEV_CS5530 is not set
-# CONFIG_BLK_DEV_CS5535 is not set
-# CONFIG_BLK_DEV_HPT34X is not set
-# CONFIG_BLK_DEV_HPT366 is not set
-# CONFIG_BLK_DEV_JMICRON is not set
-# CONFIG_BLK_DEV_SC1200 is not set
-CONFIG_BLK_DEV_PIIX=y
-# CONFIG_BLK_DEV_IT8213 is not set
-# CONFIG_BLK_DEV_IT821X is not set
-# CONFIG_BLK_DEV_NS87415 is not set
-# CONFIG_BLK_DEV_PDC202XX_OLD is not set
-# CONFIG_BLK_DEV_PDC202XX_NEW is not set
-# CONFIG_BLK_DEV_SVWKS is not set
-# CONFIG_BLK_DEV_SIIMAGE is not set
-# CONFIG_BLK_DEV_SIS5513 is not set
-# CONFIG_BLK_DEV_SLC90E66 is not set
-# CONFIG_BLK_DEV_TRM290 is not set
-# CONFIG_BLK_DEV_VIA82CXXX is not set
-# CONFIG_BLK_DEV_TC86C001 is not set
-# CONFIG_IDE_ARM is not set
-
-#
-# Other IDE chipsets support
-#
-
-#
-# Note: most of these also require special kernel boot parameters
-#
-# CONFIG_BLK_DEV_4DRIVES is not set
-# CONFIG_BLK_DEV_ALI14XX is not set
-# CONFIG_BLK_DEV_DTC2278 is not set
-# CONFIG_BLK_DEV_HT6560B is not set
-# CONFIG_BLK_DEV_QD65XX is not set
-# CONFIG_BLK_DEV_UMC8672 is not set
-CONFIG_BLK_DEV_IDEDMA=y
-CONFIG_IDE_ARCH_OBSOLETE_INIT=y
-# CONFIG_BLK_DEV_HD 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=y
-# CONFIG_CHR_DEV_SCH is not set
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-CONFIG_SCSI_MULTI_LUN=y
-# 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=y
-# 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_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_SCSI_3W_9XXX is not set
-# CONFIG_SCSI_7000FASST is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_AHA152X is not set
-# CONFIG_SCSI_AHA1542 is not set
-# CONFIG_SCSI_AACRAID is not set
-# CONFIG_SCSI_AIC7XXX is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_AIC94XX is not set
-CONFIG_SCSI_DPT_I2O=m
-# CONFIG_SCSI_ADVANSYS is not set
-# CONFIG_SCSI_IN2000 is not set
-# CONFIG_SCSI_ARCMSR is not set
-# CONFIG_MEGARAID_NEWGEN is not set
-# CONFIG_MEGARAID_LEGACY is not set
-# CONFIG_MEGARAID_SAS is not set
-# CONFIG_SCSI_HPTIOP is not set
-# CONFIG_SCSI_BUSLOGIC is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_DTC3280 is not set
-# CONFIG_SCSI_EATA is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_GDTH is not set
-# CONFIG_SCSI_GENERIC_NCR5380 is not set
-# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
-# CONFIG_SCSI_IPS is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_PPA is not set
-# CONFIG_SCSI_IMM is not set
-# CONFIG_SCSI_NCR53C406A is not set
-# CONFIG_SCSI_STEX is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_PAS16 is not set
-# CONFIG_SCSI_PSI240I is not set
-# CONFIG_SCSI_QLOGIC_FAS is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-# CONFIG_SCSI_QLA_FC is not set
-# CONFIG_SCSI_QLA_ISCSI is not set
-# CONFIG_SCSI_LPFC is not set
-# CONFIG_SCSI_SEAGATE is not set
-# CONFIG_SCSI_SYM53C416 is not set
-# CONFIG_SCSI_DC395x is not set
-# CONFIG_SCSI_DC390T is not set
-# CONFIG_SCSI_T128 is not set
-# CONFIG_SCSI_U14_34F is not set
-# CONFIG_SCSI_ULTRASTOR is not set
-# CONFIG_SCSI_NSP32 is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_SRP is not set
-# CONFIG_ATA is not set
-CONFIG_MD=y
-# CONFIG_BLK_DEV_MD is not set
-CONFIG_BLK_DEV_DM=m
-# CONFIG_DM_DEBUG is not set
-CONFIG_DM_CRYPT=m
-CONFIG_DM_SNAPSHOT=m
-CONFIG_DM_MIRROR=m
-CONFIG_DM_ZERO=m
-CONFIG_DM_MULTIPATH=m
-CONFIG_DM_MULTIPATH_EMC=m
-# CONFIG_DM_MULTIPATH_RDAC is not set
-# CONFIG_DM_MULTIPATH_HP is not set
-# CONFIG_DM_DELAY is not set
-# CONFIG_DM_UEVENT is not set
-# CONFIG_FUSION is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-# CONFIG_FIREWIRE is not set
-# CONFIG_IEEE1394 is not set
-# CONFIG_I2O is not set
-# CONFIG_MACINTOSH_DRIVERS is not set
-CONFIG_NETDEVICES=y
-# CONFIG_NETDEVICES_MULTIQUEUE is not set
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_MACVLAN is not set
-# CONFIG_EQUALIZER is not set
-CONFIG_TUN=m
-# CONFIG_VETH is not set
-# CONFIG_NET_SB1000 is not set
-# CONFIG_ARCNET is not set
-# CONFIG_PHYLIB is not set
-CONFIG_NET_ETHERNET=y
-CONFIG_MII=y
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_CASSINI is not set
-CONFIG_NET_VENDOR_3COM=y
-# CONFIG_EL1 is not set
-# CONFIG_EL2 is not set
-# CONFIG_ELPLUS is not set
-# CONFIG_EL16 is not set
-# CONFIG_EL3 is not set
-# CONFIG_3C515 is not set
-CONFIG_VORTEX=m
-CONFIG_TYPHOON=m
-CONFIG_LANCE=m
-CONFIG_NET_VENDOR_SMC=y
-CONFIG_WD80x3=m
-CONFIG_ULTRA=m
-CONFIG_SMC9194=m
-# CONFIG_NET_VENDOR_RACAL is not set
-CONFIG_NET_TULIP=y
-# CONFIG_DE2104X is not set
-CONFIG_TULIP=m
-CONFIG_TULIP_MWI=y
-CONFIG_TULIP_MMIO=y
-CONFIG_TULIP_NAPI=y
-CONFIG_TULIP_NAPI_HW_MITIGATION=y
-CONFIG_DE4X5=m
-CONFIG_WINBOND_840=m
-CONFIG_DM9102=m
-CONFIG_ULI526X=m
-CONFIG_AT1700=m
-CONFIG_DEPCA=m
-CONFIG_HP100=m
-CONFIG_NET_ISA=y
-# CONFIG_E2100 is not set
-# CONFIG_EWRK3 is not set
-# CONFIG_EEXPRESS is not set
-# CONFIG_EEXPRESS_PRO is not set
-# CONFIG_HPLAN_PLUS is not set
-# CONFIG_HPLAN is not set
-# CONFIG_LP486E is not set
-# CONFIG_ETH16I is not set
-CONFIG_NE2000=y
-# CONFIG_ZNET is not set
-# CONFIG_SEEQ8005 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_NET_PCI=y
-CONFIG_PCNET32=m
-CONFIG_PCNET32_NAPI=y
-CONFIG_AMD8111_ETH=m
-CONFIG_AMD8111E_NAPI=y
-CONFIG_ADAPTEC_STARFIRE=m
-CONFIG_ADAPTEC_STARFIRE_NAPI=y
-CONFIG_AC3200=m
-CONFIG_APRICOT=m
-CONFIG_B44=m
-CONFIG_B44_PCI_AUTOSELECT=y
-CONFIG_B44_PCICORE_AUTOSELECT=y
-CONFIG_B44_PCI=y
-CONFIG_FORCEDETH=m
-CONFIG_FORCEDETH_NAPI=y
-CONFIG_CS89x0=m
-CONFIG_EEPRO100=m
-CONFIG_E100=m
-CONFIG_FEALNX=m
-CONFIG_NATSEMI=m
-CONFIG_NE2K_PCI=y
-CONFIG_8139CP=m
-CONFIG_8139TOO=m
-CONFIG_8139TOO_PIO=y
-CONFIG_8139TOO_TUNE_TWISTER=y
-CONFIG_8139TOO_8129=y
-# CONFIG_8139_OLD_RX_RESET is not set
-CONFIG_SIS900=m
-CONFIG_EPIC100=m
-CONFIG_SUNDANCE=m
-CONFIG_SUNDANCE_MMIO=y
-CONFIG_TLAN=m
-CONFIG_VIA_RHINE=m
-CONFIG_VIA_RHINE_MMIO=y
-CONFIG_VIA_RHINE_NAPI=y
-CONFIG_SC92031=m
-# CONFIG_NET_POCKET is not set
-CONFIG_NETDEV_1000=y
-CONFIG_ACENIC=m
-CONFIG_ACENIC_OMIT_TIGON_I=y
-CONFIG_DL2K=m
-CONFIG_E1000=m
-CONFIG_E1000_NAPI=y
-# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
-# CONFIG_E1000E is not set
-# CONFIG_IP1000 is not set
-CONFIG_NS83820=m
-CONFIG_HAMACHI=m
-CONFIG_YELLOWFIN=m
-CONFIG_R8169=m
-CONFIG_R8169_NAPI=y
-CONFIG_SIS190=m
-CONFIG_SKGE=m
-CONFIG_SKY2=m
-CONFIG_SK98LIN=m
-CONFIG_VIA_VELOCITY=m
-CONFIG_TIGON3=m
-CONFIG_BNX2=m
-CONFIG_QLA3XXX=m
-CONFIG_ATL1=m
-CONFIG_NETDEV_10000=y
-# CONFIG_CHELSIO_T1 is not set
-# CONFIG_CHELSIO_T3 is not set
-# CONFIG_IXGBE is not set
-# CONFIG_IXGB is not set
-CONFIG_S2IO=m
-# CONFIG_S2IO_NAPI is not set
-# CONFIG_MYRI10GE is not set
-# CONFIG_NETXEN_NIC is not set
-# CONFIG_NIU is not set
-# CONFIG_MLX4_CORE is not set
-# CONFIG_TEHUTI is not set
-# CONFIG_TR is not set
-
-#
-# Wireless LAN
-#
-# CONFIG_WLAN_PRE80211 is not set
-CONFIG_WLAN_80211=y
-# CONFIG_IPW2100 is not set
-# CONFIG_IPW2200 is not set
-# CONFIG_LIBERTAS is not set
-# CONFIG_AIRO is not set
-CONFIG_HERMES=m
-# CONFIG_PLX_HERMES is not set
-# CONFIG_TMD_HERMES is not set
-# CONFIG_NORTEL_HERMES is not set
-# CONFIG_PCI_HERMES is not set
-# CONFIG_ATMEL is not set
-# CONFIG_PRISM54 is not set
-# CONFIG_USB_ZD1201 is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
-# CONFIG_HOSTAP_PLX is not set
-# CONFIG_HOSTAP_PCI is not set
-# CONFIG_BCM43XX is not set
-# CONFIG_ZD1211RW is not set
-
-#
-# USB Network Adapters
-#
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_USBNET is not set
-# CONFIG_WAN is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-# CONFIG_PLIP is not set
-CONFIG_PPP=m
-# CONFIG_PPP_MULTILINK is not set
-# CONFIG_PPP_FILTER is not set
-CONFIG_PPP_ASYNC=m
-# CONFIG_PPP_SYNC_TTY is not set
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-# CONFIG_PPP_MPPE is not set
-# CONFIG_PPPOE is not set
-# CONFIG_PPPOL2TP is not set
-# CONFIG_SLIP is not set
-CONFIG_SLHC=m
-# CONFIG_NET_FC is not set
-# CONFIG_SHAPER is not set
-# 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_POLLDEV is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=m
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-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_ATKBD=y
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_STOWAWAY 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_TOUCHKIT is not set
-# CONFIG_MOUSE_SERIAL is not set
-# CONFIG_MOUSE_APPLETOUCH is not set
-# CONFIG_MOUSE_INPORT is not set
-# CONFIG_MOUSE_LOGIBM is not set
-# CONFIG_MOUSE_PC110PAD is not set
-# CONFIG_MOUSE_VSXXXAA is not set
-# CONFIG_INPUT_JOYSTICK is not set
-CONFIG_INPUT_TABLET=y
-# CONFIG_TABLET_USB_ACECAD is not set
-# CONFIG_TABLET_USB_AIPTEK is not set
-# CONFIG_TABLET_USB_GTCO is not set
-# CONFIG_TABLET_USB_KBTAB is not set
-CONFIG_TABLET_USB_WACOM=y
-# CONFIG_INPUT_TOUCHSCREEN is not set
-CONFIG_INPUT_MISC=y
-# CONFIG_INPUT_PCSPKR is not set
-# CONFIG_INPUT_WISTRON_BTNS is not set
-# CONFIG_INPUT_ATLAS_BTNS is not set
-# CONFIG_INPUT_ATI_REMOTE is not set
-# CONFIG_INPUT_ATI_REMOTE2 is not set
-# CONFIG_INPUT_KEYSPAN_REMOTE is not set
-# CONFIG_INPUT_POWERMATE is not set
-# CONFIG_INPUT_YEALINK is not set
-CONFIG_INPUT_UINPUT=m
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_I8042=y
-# CONFIG_SERIO_SERPORT is not set
-# CONFIG_SERIO_CT82C710 is not set
-# CONFIG_SERIO_PARKBD is not set
-# CONFIG_SERIO_PCIPS2 is not set
-CONFIG_SERIO_LIBPS2=y
-# CONFIG_SERIO_RAW is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-# CONFIG_SERIAL_8250_CONSOLE is not set
-CONFIG_FIX_EARLYCON_MEM=y
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_PNP=y
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-# CONFIG_SERIAL_8250_EXTENDED is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_CORE=y
-# CONFIG_SERIAL_JSM is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_PRINTER=y
-# CONFIG_LP_CONSOLE is not set
-# CONFIG_PPDEV is not set
-# CONFIG_IPMI_HANDLER is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_NVRAM is not set
-# CONFIG_RTC is not set
-# CONFIG_GEN_RTC is not set
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
-# CONFIG_MWAVE is not set
-# CONFIG_PC8736x_GPIO is not set
-# CONFIG_NSC_GPIO is not set
-# CONFIG_CS5535_GPIO is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_HPET is not set
-# CONFIG_HANGCHECK_TIMER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_TELCLOCK is not set
-CONFIG_DEVPORT=y
-# CONFIG_I2C is not set
-
-#
-# SPI support
-#
-# CONFIG_SPI is not set
-# CONFIG_SPI_MASTER is not set
-# 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_HWMON is not set
-# CONFIG_WATCHDOG is not set
-
-#
-# Sonics Silicon Backplane
-#
-CONFIG_SSB_POSSIBLE=y
-CONFIG_SSB=m
-CONFIG_SSB_PCIHOST_POSSIBLE=y
-CONFIG_SSB_PCIHOST=y
-# CONFIG_SSB_SILENT is not set
-# CONFIG_SSB_DEBUG is not set
-CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
-CONFIG_SSB_DRIVER_PCICORE=y
-
-#
-# Multifunction device drivers
-#
-# CONFIG_MFD_SM501 is not set
-# CONFIG_HTC_ASIC3 is not set
-# CONFIG_HTC_ASIC3_DS1WM is not set
-
-#
-# Multimedia devices
-#
-CONFIG_VIDEO_DEV=m
-CONFIG_VIDEO_V4L1=y
-CONFIG_VIDEO_V4L1_COMPAT=y
-CONFIG_VIDEO_V4L2=y
-CONFIG_VIDEO_CAPTURE_DRIVERS=y
-# CONFIG_VIDEO_ADV_DEBUG is not set
-CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
-# CONFIG_VIDEO_VIVI is not set
-# CONFIG_VIDEO_PMS is not set
-# CONFIG_VIDEO_BWQCAM is not set
-# CONFIG_VIDEO_CQCAM is not set
-# CONFIG_VIDEO_CPIA is not set
-# CONFIG_VIDEO_CPIA2 is not set
-# CONFIG_VIDEO_STRADIS is not set
-CONFIG_V4L_USB_DRIVERS=y
-# CONFIG_USB_VICAM is not set
-# CONFIG_USB_IBMCAM is not set
-# CONFIG_USB_KONICAWC is not set
-# CONFIG_USB_QUICKCAM_MESSENGER is not set
-# CONFIG_USB_ET61X251 is not set
-CONFIG_USB_OV511=m
-CONFIG_USB_SE401=m
-CONFIG_USB_SN9C102=m
-CONFIG_USB_STV680=m
-# CONFIG_USB_ZC0301 is not set
-# CONFIG_USB_PWC is not set
-# CONFIG_USB_ZR364XX is not set
-CONFIG_RADIO_ADAPTERS=y
-# CONFIG_RADIO_CADET is not set
-# CONFIG_RADIO_RTRACK is not set
-# CONFIG_RADIO_RTRACK2 is not set
-# CONFIG_RADIO_AZTECH is not set
-# CONFIG_RADIO_GEMTEK is not set
-# CONFIG_RADIO_GEMTEK_PCI is not set
-# CONFIG_RADIO_MAXIRADIO is not set
-# CONFIG_RADIO_MAESTRO is not set
-# CONFIG_RADIO_SF16FMI is not set
-# CONFIG_RADIO_SF16FMR2 is not set
-# CONFIG_RADIO_TERRATEC is not set
-# CONFIG_RADIO_TRUST is not set
-# CONFIG_RADIO_TYPHOON is not set
-# CONFIG_RADIO_ZOLTRIX is not set
-CONFIG_USB_DSBR=m
-# CONFIG_DVB_CORE is not set
-CONFIG_DAB=y
-# CONFIG_USB_DABUSB is not set
-
-#
-# Graphics support
-#
-CONFIG_AGP=m
-CONFIG_AGP_ALI=m
-CONFIG_AGP_ATI=m
-CONFIG_AGP_AMD=m
-CONFIG_AGP_AMD64=m
-CONFIG_AGP_INTEL=m
-CONFIG_AGP_NVIDIA=m
-CONFIG_AGP_SIS=m
-CONFIG_AGP_SWORKS=m
-CONFIG_AGP_VIA=m
-CONFIG_AGP_EFFICEON=m
-CONFIG_DRM=m
-# CONFIG_DRM_TDFX is not set
-# CONFIG_DRM_R128 is not set
-# CONFIG_DRM_RADEON is not set
-# CONFIG_DRM_I810 is not set
-# CONFIG_DRM_I830 is not set
-# CONFIG_DRM_I915 is not set
-# CONFIG_DRM_MGA is not set
-# CONFIG_DRM_SIS is not set
-# CONFIG_DRM_VIA is not set
-# CONFIG_DRM_SAVAGE is not set
-# CONFIG_VGASTATE is not set
-CONFIG_VIDEO_OUTPUT_CONTROL=m
-CONFIG_FB=y
-# CONFIG_FIRMWARE_EDID is not set
-# CONFIG_FB_DDC is not set
-CONFIG_FB_CFB_FILLRECT=m
-CONFIG_FB_CFB_COPYAREA=m
-CONFIG_FB_CFB_IMAGEBLIT=m
-# 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_SYS_FOPS is not set
-# CONFIG_FB_DEFERRED_IO 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_CIRRUS is not set
-# CONFIG_FB_PM2 is not set
-# CONFIG_FB_CYBER2000 is not set
-# CONFIG_FB_ARC is not set
-# CONFIG_FB_ASILIANT is not set
-# CONFIG_FB_IMSTT is not set
-# CONFIG_FB_VGA16 is not set
-CONFIG_FB_UVESA=m
-# CONFIG_FB_VESA is not set
-# CONFIG_FB_EFI is not set
-# CONFIG_FB_HECUBA is not set
-# CONFIG_FB_HGA is not set
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_NVIDIA is not set
-# CONFIG_FB_RIVA is not set
-# CONFIG_FB_I810 is not set
-# CONFIG_FB_LE80578 is not set
-# CONFIG_FB_INTEL is not set
-# CONFIG_FB_MATROX is not set
-# CONFIG_FB_RADEON is not set
-# CONFIG_FB_ATY128 is not set
-# CONFIG_FB_ATY is not set
-# CONFIG_FB_S3 is not set
-# CONFIG_FB_SAVAGE is not set
-# CONFIG_FB_SIS is not set
-# CONFIG_FB_NEOMAGIC is not set
-# CONFIG_FB_KYRO is not set
-# CONFIG_FB_3DFX is not set
-# CONFIG_FB_VOODOO1 is not set
-# CONFIG_FB_VT8623 is not set
-# CONFIG_FB_CYBLA is not set
-# CONFIG_FB_TRIDENT is not set
-# CONFIG_FB_ARK is not set
-# CONFIG_FB_PM3 is not set
-# CONFIG_FB_GEODE is not set
-# CONFIG_FB_VIRTUAL is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=m
-CONFIG_BACKLIGHT_CLASS_DEVICE=m
-CONFIG_BACKLIGHT_CORGI=m
-# CONFIG_BACKLIGHT_PROGEAR is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-CONFIG_VGA_CONSOLE=y
-# CONFIG_VGACON_SOFT_SCROLLBACK is not set
-CONFIG_VIDEO_SELECT=y
-# CONFIG_MDA_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=y
-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=y
-CONFIG_LOGO_LINUX_VGA16=y
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-CONFIG_LOGO_OHAND_CLUT224=y
-
-#
-# Sound
-#
-CONFIG_SOUND=y
-
-#
-# Advanced Linux Sound Architecture
-#
-CONFIG_SND=y
-CONFIG_SND_TIMER=y
-CONFIG_SND_PCM=y
-CONFIG_SND_SEQUENCER=y
-# 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_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
-
-#
-# Generic devices
-#
-CONFIG_SND_AC97_CODEC=y
-# CONFIG_SND_DUMMY is not set
-# CONFIG_SND_VIRMIDI is not set
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_MTS64 is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-# CONFIG_SND_PORTMAN2X4 is not set
-
-#
-# ISA devices
-#
-# CONFIG_SND_ADLIB is not set
-# CONFIG_SND_AD1816A is not set
-# CONFIG_SND_AD1848 is not set
-# CONFIG_SND_ALS100 is not set
-# CONFIG_SND_AZT2320 is not set
-# CONFIG_SND_CMI8330 is not set
-# CONFIG_SND_CS4231 is not set
-# CONFIG_SND_CS4232 is not set
-# CONFIG_SND_CS4236 is not set
-# CONFIG_SND_DT019X is not set
-# CONFIG_SND_ES968 is not set
-# CONFIG_SND_ES1688 is not set
-# CONFIG_SND_ES18XX is not set
-# CONFIG_SND_SC6000 is not set
-# CONFIG_SND_GUSCLASSIC is not set
-# CONFIG_SND_GUSEXTREME is not set
-# CONFIG_SND_GUSMAX is not set
-# CONFIG_SND_INTERWAVE is not set
-# CONFIG_SND_INTERWAVE_STB is not set
-# CONFIG_SND_OPL3SA2 is not set
-# CONFIG_SND_OPTI92X_AD1848 is not set
-# CONFIG_SND_OPTI92X_CS4231 is not set
-# CONFIG_SND_OPTI93X is not set
-# CONFIG_SND_MIRO is not set
-# CONFIG_SND_SB8 is not set
-# CONFIG_SND_SB16 is not set
-# CONFIG_SND_SBAWE is not set
-# CONFIG_SND_SGALAXY is not set
-# CONFIG_SND_SSCAPE is not set
-# CONFIG_SND_WAVEFRONT is not set
-
-#
-# PCI devices
-#
-# CONFIG_SND_AD1889 is not set
-# CONFIG_SND_ALS300 is not set
-# CONFIG_SND_ALS4000 is not set
-# CONFIG_SND_ALI5451 is not set
-# CONFIG_SND_ATIIXP is not set
-# CONFIG_SND_ATIIXP_MODEM is not set
-# CONFIG_SND_AU8810 is not set
-# CONFIG_SND_AU8820 is not set
-# CONFIG_SND_AU8830 is not set
-# CONFIG_SND_AZT3328 is not set
-# CONFIG_SND_BT87X is not set
-# CONFIG_SND_CA0106 is not set
-# CONFIG_SND_CMIPCI is not set
-# CONFIG_SND_CS4281 is not set
-# CONFIG_SND_CS46XX is not set
-# CONFIG_SND_CS5530 is not set
-# CONFIG_SND_CS5535AUDIO is not set
-# CONFIG_SND_DARLA20 is not set
-# CONFIG_SND_GINA20 is not set
-# CONFIG_SND_LAYLA20 is not set
-# CONFIG_SND_DARLA24 is not set
-# CONFIG_SND_GINA24 is not set
-# CONFIG_SND_LAYLA24 is not set
-# CONFIG_SND_MONA is not set
-# CONFIG_SND_MIA is not set
-# CONFIG_SND_ECHO3G is not set
-# CONFIG_SND_INDIGO is not set
-# CONFIG_SND_INDIGOIO is not set
-# CONFIG_SND_INDIGODJ is not set
-# CONFIG_SND_EMU10K1 is not set
-# CONFIG_SND_EMU10K1X is not set
-# CONFIG_SND_ENS1370 is not set
-# CONFIG_SND_ENS1371 is not set
-# CONFIG_SND_ES1938 is not set
-# CONFIG_SND_ES1968 is not set
-# CONFIG_SND_FM801 is not set
-# CONFIG_SND_HDA_INTEL is not set
-# CONFIG_SND_HDSP is not set
-# CONFIG_SND_HDSPM is not set
-# CONFIG_SND_ICE1712 is not set
-# CONFIG_SND_ICE1724 is not set
-CONFIG_SND_INTEL8X0=y
-# CONFIG_SND_INTEL8X0M is not set
-# CONFIG_SND_KORG1212 is not set
-# CONFIG_SND_MAESTRO3 is not set
-# CONFIG_SND_MIXART is not set
-# CONFIG_SND_NM256 is not set
-# CONFIG_SND_PCXHR is not set
-# CONFIG_SND_RIPTIDE is not set
-# CONFIG_SND_RME32 is not set
-# CONFIG_SND_RME96 is not set
-# CONFIG_SND_RME9652 is not set
-# CONFIG_SND_SONICVIBES is not set
-# CONFIG_SND_TRIDENT is not set
-# CONFIG_SND_VIA82XX is not set
-# CONFIG_SND_VIA82XX_MODEM is not set
-# CONFIG_SND_VX222 is not set
-# CONFIG_SND_YMFPCI is not set
-# CONFIG_SND_AC97_POWER_SAVE is not set
-
-#
-# USB devices
-#
-# CONFIG_SND_USB_AUDIO is not set
-# CONFIG_SND_USB_USX2Y is not set
-# CONFIG_SND_USB_CAIAQ is not set
-
-#
-# System on Chip audio support
-#
-# CONFIG_SND_SOC is not set
-
-#
-# SoC Audio support for SuperH
-#
-
-#
-# Open Sound System
-#
-# CONFIG_SOUND_PRIME is not set
-CONFIG_AC97_BUS=y
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=y
-# CONFIG_HID_DEBUG is not set
-# CONFIG_HIDRAW is not set
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=y
-# CONFIG_USB_HIDINPUT_POWERBOOK is not set
-# CONFIG_HID_FF is not set
-# CONFIG_USB_HIDDEV 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
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-CONFIG_USB_DEVICE_CLASS=y
-# CONFIG_USB_DYNAMIC_MINORS is not set
-CONFIG_USB_SUSPEND=y
-# CONFIG_USB_PERSIST is not set
-# CONFIG_USB_OTG is not set
-
-#
-# USB Host Controller Drivers
-#
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_SPLIT_ISO=y
-# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
-# CONFIG_USB_EHCI_TT_NEWSCHED is not set
-# CONFIG_USB_ISP116X_HCD is not set
-CONFIG_USB_OHCI_HCD=y
-# 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_UHCI_HCD=y
-CONFIG_USB_SL811_HCD=m
-# CONFIG_USB_R8A66597_HCD is not set
-
-#
-# USB Device Class drivers
-#
-CONFIG_USB_ACM=m
-CONFIG_USB_PRINTER=m
-
-#
-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-#
-
-#
-# may also be needed; see USB_STORAGE Help for more information
-#
-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
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_STORAGE_ALAUDA is not set
-# CONFIG_USB_STORAGE_KARMA is not set
-# CONFIG_USB_LIBUSUAL is not set
-
-#
-# USB Imaging devices
-#
-CONFIG_USB_MDC800=m
-CONFIG_USB_MICROTEK=m
-CONFIG_USB_MON=y
-
-#
-# USB port drivers
-#
-# CONFIG_USB_USS720 is not set
-
-#
-# USB Serial Converter support
-#
-CONFIG_USB_SERIAL=m
-CONFIG_USB_SERIAL_GENERIC=y
-# CONFIG_USB_SERIAL_AIRCABLE is not set
-# CONFIG_USB_SERIAL_AIRPRIME is not set
-# CONFIG_USB_SERIAL_ARK3116 is not set
-CONFIG_USB_SERIAL_BELKIN=m
-# CONFIG_USB_SERIAL_CH341 is not set
-# CONFIG_USB_SERIAL_WHITEHEAT is not set
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-CONFIG_USB_SERIAL_CP2101=m
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-# CONFIG_USB_SERIAL_FUNSOFT is not set
-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_KEYSPAN_PDA=m
-CONFIG_USB_SERIAL_KEYSPAN=m
-# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-# CONFIG_USB_SERIAL_MOS7720 is not set
-# CONFIG_USB_SERIAL_MOS7840 is not set
-# CONFIG_USB_SERIAL_NAVMAN is not set
-CONFIG_USB_SERIAL_PL2303=m
-# CONFIG_USB_SERIAL_OTI6858 is not set
-# CONFIG_USB_SERIAL_HP4X is not set
-CONFIG_USB_SERIAL_SAFE=m
-# CONFIG_USB_SERIAL_SAFE_PADDED is not set
-# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_XIRCOM=m
-# CONFIG_USB_SERIAL_OPTION is not set
-CONFIG_USB_SERIAL_OMNINET=m
-# CONFIG_USB_SERIAL_DEBUG is not set
-CONFIG_USB_EZUSB=y
-
-#
-# USB Miscellaneous drivers
-#
-CONFIG_USB_EMI62=m
-CONFIG_USB_EMI26=m
-# CONFIG_USB_ADUTUX is not set
-CONFIG_USB_AUERSWALD=m
-CONFIG_USB_RIO500=m
-CONFIG_USB_LEGOTOWER=m
-CONFIG_USB_LCD=m
-# CONFIG_USB_BERRY_CHARGE is not set
-CONFIG_USB_LED=m
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-CONFIG_USB_CYTHERM=m
-# CONFIG_USB_PHIDGET is not set
-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_IOWARRIOR is not set
-# CONFIG_USB_TEST is not set
-
-#
-# USB DSL modem support
-#
-
-#
-# USB Gadget Support
-#
-# CONFIG_USB_GADGET is not set
-# CONFIG_MMC is not set
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
-
-#
-# LED Triggers
-#
-# CONFIG_LEDS_TRIGGERS is not set
-# CONFIG_INFINIBAND is not set
-# CONFIG_EDAC is not set
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY is not set
-CONFIG_VIRTUALIZATION=y
-# CONFIG_KVM is not set
-# CONFIG_LGUEST is not set
-
-#
-# Userspace I/O
-#
-# CONFIG_UIO is not set
-
-#
-# Firmware Drivers
-#
-# CONFIG_EDD is not set
-# CONFIG_DELL_RBU is not set
-# CONFIG_DCDBAS is not set
-CONFIG_DMIID=y
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_FS_XATTR is not set
-# CONFIG_EXT4DEV_FS is not set
-CONFIG_JBD=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_FS_POSIX_ACL is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_GFS2_FS is not set
-# CONFIG_OCFS2_FS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_INOTIFY=y
-CONFIG_INOTIFY_USER=y
-# CONFIG_QUOTA is not set
-CONFIG_DNOTIFY=y
-# CONFIG_AUTOFS_FS is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=y
-CONFIG_JOLIET=y
-# CONFIG_ZISOFS is not set
-CONFIG_UDF_FS=y
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=y
-# CONFIG_MSDOS_FS is not set
-CONFIG_VFAT_FS=y
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-# CONFIG_TMPFS_POSIX_ACL is not set
-# CONFIG_HUGETLBFS is not set
-# CONFIG_HUGETLB_PAGE is not set
-# CONFIG_CONFIGFS_FS is not set
-
-#
-# Miscellaneous filesystems
-#
-# 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_CRAMFS=m
-CONFIG_SQUASHFS=m
-# CONFIG_SQUASHFS_EMBEDDED is not set
-CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
-# CONFIG_VXFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_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 is not set
-# CONFIG_NFS_V4 is not set
-# CONFIG_NFS_DIRECTIO is not set
-CONFIG_NFSD=y
-CONFIG_NFSD_V3=y
-# CONFIG_NFSD_V3_ACL is not set
-# CONFIG_NFSD_V4 is not set
-# CONFIG_NFSD_TCP is not set
-CONFIG_ROOT_NFS=y
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_EXPORTFS=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-# CONFIG_SUNRPC_BIND34 is not set
-# CONFIG_RPCSEC_GSS_KRB5 is not set
-# CONFIG_RPCSEC_GSS_SPKM3 is not set
-CONFIG_SMB_FS=y
-# CONFIG_SMB_NLS_DEFAULT is not set
-CONFIG_CIFS=m
-# CONFIG_CIFS_STATS is not set
-# CONFIG_CIFS_WEAK_PW_HASH is not set
-# CONFIG_CIFS_XATTR is not set
-# CONFIG_CIFS_DEBUG2 is not set
-# 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="cp437"
-CONFIG_NLS_CODEPAGE_437=y
-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=y
-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=y
-# CONFIG_DLM is not set
-CONFIG_INSTRUMENTATION=y
-CONFIG_PROFILING=y
-CONFIG_OPROFILE=m
-# CONFIG_KPROBES is not set
-# CONFIG_MARKERS is not set
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-# CONFIG_PRINTK_TIME is not set
-CONFIG_ENABLE_WARN_DEPRECATED=y
-CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_KERNEL is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_SAMPLES is not set
-CONFIG_EARLY_PRINTK=y
-CONFIG_X86_FIND_SMP_CONFIG=y
-CONFIG_X86_MPPARSE=y
-CONFIG_DOUBLEFAULT=y
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITY_FILE_CAPABILITIES is not set
-CONFIG_CRYPTO=y
-CONFIG_CRYPTO_ALGAPI=m
-CONFIG_CRYPTO_BLKCIPHER=m
-CONFIG_CRYPTO_HASH=m
-CONFIG_CRYPTO_MANAGER=m
-CONFIG_CRYPTO_HMAC=m
-# CONFIG_CRYPTO_XCBC is not set
-CONFIG_CRYPTO_NULL=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=m
-CONFIG_CRYPTO_SHA1=m
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_WP512=m
-# CONFIG_CRYPTO_TGR192 is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-CONFIG_CRYPTO_ECB=m
-CONFIG_CRYPTO_CBC=m
-CONFIG_CRYPTO_PCBC=m
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_XTS is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-CONFIG_CRYPTO_DES=m
-# CONFIG_CRYPTO_FCRYPT is not set
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_TWOFISH_COMMON=m
-# CONFIG_CRYPTO_TWOFISH_586 is not set
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_AES=m
-# CONFIG_CRYPTO_AES_586 is not set
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_ANUBIS=m
-# CONFIG_CRYPTO_SEED is not set
-CONFIG_CRYPTO_DEFLATE=m
-CONFIG_CRYPTO_LZO=m
-CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_CRC32C=m
-CONFIG_CRYPTO_CAMELLIA=m
-CONFIG_CRYPTO_TEST=m
-# CONFIG_CRYPTO_AUTHENC is not set
-# CONFIG_CRYPTO_HW is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_CRC_CCITT=y
-# CONFIG_CRC16 is not set
-# CONFIG_CRC_ITU_T is not set
-CONFIG_CRC32=y
-# CONFIG_CRC7 is not set
-CONFIG_LIBCRC32C=m
-CONFIG_AUDIT_GENERIC=y
-CONFIG_ZLIB_INFLATE=m
-CONFIG_ZLIB_DEFLATE=m
-CONFIG_LZO_COMPRESS=m
-CONFIG_LZO_DECOMPRESS=m
-CONFIG_PLIST=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
diff --git a/meta/recipes-kernel/linux/linux-rp-2.6.26/defconfig-bootcdx86 b/meta/recipes-kernel/linux/linux-rp-2.6.26/defconfig-bootcdx86
deleted file mode 100644
index 35e9b5cd2..000000000
--- a/meta/recipes-kernel/linux/linux-rp-2.6.26/defconfig-bootcdx86
+++ /dev/null
@@ -1,1994 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.24-rc8
-# Sun Jan 20 18:34:58 2008
-#
-# CONFIG_64BIT is not set
-CONFIG_X86_32=y
-# CONFIG_X86_64 is not set
-CONFIG_X86=y
-CONFIG_GENERIC_TIME=y
-CONFIG_GENERIC_CMOS_UPDATE=y
-CONFIG_CLOCKSOURCE_WATCHDOG=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_SEMAPHORE_SLEEPERS=y
-CONFIG_MMU=y
-CONFIG_ZONE_DMA=y
-CONFIG_QUICKLIST=y
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_GENERIC_IOMAP=y
-CONFIG_GENERIC_BUG=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-CONFIG_DMI=y
-# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
-CONFIG_RWSEM_XCHGADD_ALGORITHM=y
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-# CONFIG_GENERIC_TIME_VSYSCALL is not set
-CONFIG_ARCH_SUPPORTS_OPROFILE=y
-# CONFIG_ZONE_DMA32 is not set
-CONFIG_ARCH_POPULATES_NODE_MAP=y
-# CONFIG_AUDIT_ARCH is not set
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_PENDING_IRQ=y
-CONFIG_X86_SMP=y
-CONFIG_X86_HT=y
-CONFIG_X86_BIOS_REBOOT=y
-CONFIG_X86_TRAMPOLINE=y
-CONFIG_KTIME_SCALAR=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_LOCK_KERNEL=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_TASKSTATS is not set
-# CONFIG_USER_NS is not set
-# CONFIG_PID_NS is not set
-CONFIG_AUDIT=y
-CONFIG_AUDITSYSCALL=y
-CONFIG_AUDIT_TREE=y
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=15
-# CONFIG_CGROUPS is not set
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_FAIR_USER_SCHED=y
-# CONFIG_FAIR_CGROUP_SCHED is not set
-CONFIG_SYSFS_DEPRECATED=y
-# CONFIG_RELAY is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_EMBEDDED=y
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=y
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_ANON_INODES=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_SLAB=y
-# CONFIG_SLUB is not set
-# CONFIG_SLOB is not set
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-# CONFIG_TINY_SHMEM is not set
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_KMOD=y
-CONFIG_STOP_MACHINE=y
-CONFIG_BLOCK=y
-CONFIG_LBD=y
-# CONFIG_BLK_DEV_IO_TRACE is not set
-# CONFIG_LSF is not set
-# CONFIG_BLK_DEV_BSG is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=m
-CONFIG_IOSCHED_CFQ=m
-CONFIG_DEFAULT_AS=y
-# CONFIG_DEFAULT_DEADLINE is not set
-# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
-
-#
-# Processor type and features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_SMP=y
-CONFIG_X86_PC=y
-# CONFIG_X86_ELAN is not set
-# CONFIG_X86_VOYAGER is not set
-# CONFIG_X86_NUMAQ is not set
-# CONFIG_X86_SUMMIT is not set
-# CONFIG_X86_BIGSMP is not set
-# CONFIG_X86_VISWS is not set
-# CONFIG_X86_GENERICARCH is not set
-# CONFIG_X86_ES7000 is not set
-# CONFIG_X86_VSMP is not set
-CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
-# CONFIG_PARAVIRT_GUEST is not set
-# CONFIG_M386 is not set
-# CONFIG_M486 is not set
-# CONFIG_M586 is not set
-# CONFIG_M586TSC is not set
-# CONFIG_M586MMX is not set
-CONFIG_M686=y
-# CONFIG_MPENTIUMII is not set
-# CONFIG_MPENTIUMIII is not set
-# CONFIG_MPENTIUMM is not set
-# CONFIG_MPENTIUM4 is not set
-# CONFIG_MK6 is not set
-# CONFIG_MK7 is not set
-# CONFIG_MK8 is not set
-# CONFIG_MCRUSOE is not set
-# CONFIG_MEFFICEON is not set
-# CONFIG_MWINCHIPC6 is not set
-# CONFIG_MWINCHIP2 is not set
-# CONFIG_MWINCHIP3D is not set
-# CONFIG_MGEODEGX1 is not set
-# CONFIG_MGEODE_LX is not set
-# CONFIG_MCYRIXIII is not set
-# CONFIG_MVIAC3_2 is not set
-# CONFIG_MVIAC7 is not set
-# CONFIG_MPSC is not set
-# CONFIG_MCORE2 is not set
-# CONFIG_GENERIC_CPU is not set
-CONFIG_X86_GENERIC=y
-CONFIG_X86_CMPXCHG=y
-CONFIG_X86_L1_CACHE_SHIFT=7
-CONFIG_X86_XADD=y
-CONFIG_X86_PPRO_FENCE=y
-CONFIG_X86_WP_WORKS_OK=y
-CONFIG_X86_INVLPG=y
-CONFIG_X86_BSWAP=y
-CONFIG_X86_POPAD_OK=y
-CONFIG_X86_GOOD_APIC=y
-CONFIG_X86_INTEL_USERCOPY=y
-CONFIG_X86_USE_PPRO_CHECKSUM=y
-CONFIG_X86_TSC=y
-CONFIG_X86_CMOV=y
-CONFIG_X86_MINIMUM_CPU_FAMILY=4
-CONFIG_HPET_TIMER=y
-CONFIG_NR_CPUS=8
-CONFIG_SCHED_SMT=y
-CONFIG_SCHED_MC=y
-CONFIG_PREEMPT_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_PREEMPT_BKL=y
-CONFIG_X86_LOCAL_APIC=y
-CONFIG_X86_IO_APIC=y
-CONFIG_X86_MCE=y
-CONFIG_X86_MCE_NONFATAL=y
-CONFIG_X86_MCE_P4THERMAL=y
-CONFIG_VM86=y
-# CONFIG_TOSHIBA is not set
-# CONFIG_I8K is not set
-# CONFIG_X86_REBOOTFIXUPS is not set
-# CONFIG_MICROCODE is not set
-# CONFIG_X86_MSR is not set
-# CONFIG_X86_CPUID is not set
-CONFIG_NOHIGHMEM=y
-# CONFIG_HIGHMEM4G is not set
-# CONFIG_HIGHMEM64G is not set
-CONFIG_VMSPLIT_3G=y
-# CONFIG_VMSPLIT_3G_OPT is not set
-# CONFIG_VMSPLIT_2G is not set
-# CONFIG_VMSPLIT_2G_OPT is not set
-# CONFIG_VMSPLIT_1G is not set
-CONFIG_PAGE_OFFSET=0xC0000000
-# CONFIG_X86_PAE is not set
-CONFIG_ARCH_FLATMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=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_SPARSEMEM_STATIC=y
-# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
-CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_RESOURCES_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
-CONFIG_NR_QUICK=1
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_MATH_EMULATION is not set
-CONFIG_MTRR=y
-# CONFIG_EFI is not set
-CONFIG_IRQBALANCE=y
-CONFIG_SECCOMP=y
-# CONFIG_HZ_100 is not set
-CONFIG_HZ_250=y
-# CONFIG_HZ_300 is not set
-# CONFIG_HZ_1000 is not set
-CONFIG_HZ=250
-CONFIG_KEXEC=y
-CONFIG_PHYSICAL_START=0x100000
-# CONFIG_RELOCATABLE is not set
-CONFIG_PHYSICAL_ALIGN=0x100000
-CONFIG_HOTPLUG_CPU=y
-CONFIG_COMPAT_VDSO=y
-
-#
-# Power management options
-#
-CONFIG_PM=y
-CONFIG_PM_LEGACY=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP_SMP=y
-CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_SMP_POSSIBLE=y
-CONFIG_SUSPEND=y
-CONFIG_HIBERNATION_SMP_POSSIBLE=y
-# CONFIG_HIBERNATION is not set
-CONFIG_ACPI=y
-CONFIG_ACPI_SLEEP=y
-# CONFIG_ACPI_PROCFS is not set
-CONFIG_ACPI_PROCFS_POWER=y
-CONFIG_ACPI_SYSFS_POWER=y
-CONFIG_ACPI_PROC_EVENT=y
-CONFIG_ACPI_AC=y
-CONFIG_ACPI_BATTERY=y
-CONFIG_ACPI_BUTTON=y
-# CONFIG_ACPI_VIDEO is not set
-CONFIG_ACPI_FAN=y
-# CONFIG_ACPI_DOCK is not set
-CONFIG_ACPI_PROCESSOR=y
-CONFIG_ACPI_HOTPLUG_CPU=y
-CONFIG_ACPI_THERMAL=y
-# CONFIG_ACPI_ASUS is not set
-# CONFIG_ACPI_TOSHIBA is not set
-CONFIG_ACPI_BLACKLIST_YEAR=0
-# CONFIG_ACPI_DEBUG is not set
-CONFIG_ACPI_EC=y
-CONFIG_ACPI_POWER=y
-CONFIG_ACPI_SYSTEM=y
-CONFIG_X86_PM_TIMER=y
-CONFIG_ACPI_CONTAINER=y
-# CONFIG_ACPI_SBS is not set
-# CONFIG_APM is not set
-
-#
-# CPU Frequency scaling
-#
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-
-#
-# Bus options (PCI etc.)
-#
-CONFIG_PCI=y
-# CONFIG_PCI_GOBIOS is not set
-# CONFIG_PCI_GOMMCONFIG is not set
-# CONFIG_PCI_GODIRECT is not set
-CONFIG_PCI_GOANY=y
-CONFIG_PCI_BIOS=y
-CONFIG_PCI_DIRECT=y
-CONFIG_PCI_MMCONFIG=y
-CONFIG_PCI_DOMAINS=y
-CONFIG_PCIEPORTBUS=y
-CONFIG_PCIEAER=y
-CONFIG_ARCH_SUPPORTS_MSI=y
-CONFIG_PCI_MSI=y
-CONFIG_PCI_LEGACY=y
-CONFIG_HT_IRQ=y
-CONFIG_ISA_DMA_API=y
-CONFIG_ISA=y
-# CONFIG_EISA is not set
-# CONFIG_MCA is not set
-# CONFIG_SCx200 is not set
-CONFIG_K8_NB=y
-# CONFIG_PCCARD is not set
-# CONFIG_HOTPLUG_PCI is not set
-
-#
-# Executable file formats / Emulations
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_BINFMT_AOUT=m
-CONFIG_BINFMT_MISC=m
-
-#
-# Networking
-#
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=m
-CONFIG_PACKET_MMAP=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-# CONFIG_XFRM_USER is not set
-# CONFIG_XFRM_SUB_POLICY is not set
-# CONFIG_XFRM_MIGRATE is not set
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_FIB_HASH=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 is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_ARPD is not set
-CONFIG_SYN_COOKIES=y
-# 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_INET_TUNNEL=m
-CONFIG_INET_XFRM_MODE_TRANSPORT=m
-CONFIG_INET_XFRM_MODE_TUNNEL=m
-CONFIG_INET_XFRM_MODE_BEET=m
-# CONFIG_INET_LRO is not set
-CONFIG_INET_DIAG=m
-CONFIG_INET_TCP_DIAG=m
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-# CONFIG_IP_VS is not set
-CONFIG_IPV6=m
-# CONFIG_IPV6_PRIVACY is not set
-# 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_TUNNEL=m
-# CONFIG_IPV6_MULTIPLE_TABLES is not set
-# CONFIG_NETWORK_SECMARK is not set
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-
-#
-# Core Netfilter Configuration
-#
-# CONFIG_NETFILTER_NETLINK is not set
-# CONFIG_NF_CONNTRACK_ENABLED is not set
-# CONFIG_NF_CONNTRACK is not set
-CONFIG_NETFILTER_XTABLES=m
-# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
-# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
-# CONFIG_NETFILTER_XT_TARGET_MARK is not set
-# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
-# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
-# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
-# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
-# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
-# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
-# CONFIG_NETFILTER_XT_MATCH_ESP is not set
-# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
-# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
-# CONFIG_NETFILTER_XT_MATCH_MAC is not set
-# CONFIG_NETFILTER_XT_MATCH_MARK is not set
-# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
-# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
-# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
-# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
-# CONFIG_NETFILTER_XT_MATCH_REALM is not set
-# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
-# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
-# CONFIG_NETFILTER_XT_MATCH_STRING is not set
-# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
-# CONFIG_NETFILTER_XT_MATCH_TIME is not set
-# CONFIG_NETFILTER_XT_MATCH_U32 is not set
-# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_IP_NF_QUEUE=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_IPRANGE=m
-CONFIG_IP_NF_MATCH_TOS=m
-CONFIG_IP_NF_MATCH_RECENT=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_MATCH_OWNER=m
-CONFIG_IP_NF_MATCH_ADDRTYPE=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_LOG=m
-CONFIG_IP_NF_TARGET_ULOG=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_TOS=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_NF_RAW=m
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-
-#
-# IPv6: Netfilter Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP6_NF_QUEUE is not set
-# CONFIG_IP6_NF_IPTABLES is not set
-# CONFIG_IP_DCCP is not set
-# CONFIG_IP_SCTP is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_BRIDGE 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_NET_SCHED is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-CONFIG_IRDA=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRNET=m
-CONFIG_IRCOMM=m
-# CONFIG_IRDA_ULTRA is not set
-
-#
-# IrDA options
-#
-# CONFIG_IRDA_CACHE_LAST_LSAP is not set
-# CONFIG_IRDA_FAST_RR is not set
-# CONFIG_IRDA_DEBUG is not set
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-# CONFIG_IRTTY_SIR is not set
-
-#
-# Dongle support
-#
-# CONFIG_KINGSUN_DONGLE is not set
-# CONFIG_KSDAZZLE_DONGLE is not set
-# CONFIG_KS959_DONGLE is not set
-
-#
-# Old SIR device drivers
-#
-
-#
-# Old Serial dongle support
-#
-
-#
-# FIR device drivers
-#
-# CONFIG_USB_IRDA is not set
-# CONFIG_SIGMATEL_FIR is not set
-# CONFIG_NSC_FIR is not set
-# CONFIG_WINBOND_FIR is not set
-# CONFIG_TOSHIBA_FIR is not set
-# CONFIG_SMC_IRCC_FIR is not set
-# CONFIG_ALI_FIR is not set
-# CONFIG_VLSI_FIR is not set
-# CONFIG_VIA_FIR is not set
-# CONFIG_MCS_FIR 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_HCIUSB=m
-# CONFIG_BT_HCIUSB_SCO is not set
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-# CONFIG_BT_HCIUART_LL is not set
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIVHCI=m
-# CONFIG_AF_RXRPC is not set
-
-#
-# Wireless
-#
-# CONFIG_CFG80211 is not set
-CONFIG_WIRELESS_EXT=y
-# CONFIG_MAC80211 is not set
-CONFIG_IEEE80211=m
-# CONFIG_IEEE80211_DEBUG is not set
-CONFIG_IEEE80211_CRYPT_WEP=m
-CONFIG_IEEE80211_CRYPT_CCMP=m
-CONFIG_IEEE80211_CRYPT_TKIP=m
-CONFIG_IEEE80211_SOFTMAC=m
-# CONFIG_IEEE80211_SOFTMAC_DEBUG 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_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-# CONFIG_SYS_HYPERVISOR is not set
-CONFIG_CONNECTOR=y
-CONFIG_PROC_EVENTS=y
-# CONFIG_MTD is not set
-CONFIG_PARPORT=y
-CONFIG_PARPORT_PC=y
-# CONFIG_PARPORT_SERIAL is not set
-# CONFIG_PARPORT_PC_FIFO is not set
-# CONFIG_PARPORT_PC_SUPERIO is not set
-# CONFIG_PARPORT_GSC is not set
-# CONFIG_PARPORT_AX88796 is not set
-# CONFIG_PARPORT_1284 is not set
-CONFIG_PNP=y
-# CONFIG_PNP_DEBUG is not set
-
-#
-# Protocols
-#
-# CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
-CONFIG_PNPACPI=y
-CONFIG_BLK_DEV=y
-CONFIG_BLK_DEV_FD=y
-# CONFIG_BLK_DEV_XD is not set
-# CONFIG_PARIDE is not set
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=y
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_SX8 is not set
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=65536
-CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-CONFIG_MISC_DEVICES=y
-# CONFIG_IBM_ASM is not set
-# CONFIG_PHANTOM is not set
-# CONFIG_EEPROM_93CX6 is not set
-# CONFIG_SGI_IOC4 is not set
-# CONFIG_TIFM_CORE is not set
-# CONFIG_ASUS_LAPTOP is not set
-# CONFIG_FUJITSU_LAPTOP is not set
-# CONFIG_MSI_LAPTOP is not set
-# CONFIG_SONY_LAPTOP is not set
-# CONFIG_THINKPAD_ACPI is not set
-CONFIG_IDE=y
-CONFIG_IDE_MAX_HWIFS=4
-CONFIG_BLK_DEV_IDE=y
-
-#
-# Please see Documentation/ide.txt for help/info on IDE drives
-#
-# CONFIG_BLK_DEV_IDE_SATA is not set
-# CONFIG_BLK_DEV_HD_IDE is not set
-CONFIG_BLK_DEV_IDEDISK=y
-CONFIG_IDEDISK_MULTI_MODE=y
-CONFIG_BLK_DEV_IDECD=y
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_BLK_DEV_IDEFLOPPY is not set
-# CONFIG_BLK_DEV_IDESCSI is not set
-# CONFIG_BLK_DEV_IDEACPI is not set
-# CONFIG_IDE_TASK_IOCTL is not set
-CONFIG_IDE_PROC_FS=y
-
-#
-# IDE chipset support/bugfixes
-#
-CONFIG_IDE_GENERIC=y
-# CONFIG_BLK_DEV_PLATFORM is not set
-CONFIG_BLK_DEV_CMD640=y
-# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
-# CONFIG_BLK_DEV_IDEPNP is not set
-
-#
-# PCI IDE chipsets support
-#
-CONFIG_BLK_DEV_IDEPCI=y
-CONFIG_IDEPCI_SHARE_IRQ=y
-CONFIG_IDEPCI_PCIBUS_ORDER=y
-# CONFIG_BLK_DEV_OFFBOARD is not set
-CONFIG_BLK_DEV_GENERIC=y
-# CONFIG_BLK_DEV_OPTI621 is not set
-CONFIG_BLK_DEV_RZ1000=y
-CONFIG_BLK_DEV_IDEDMA_PCI=y
-# CONFIG_BLK_DEV_AEC62XX is not set
-# CONFIG_BLK_DEV_ALI15X3 is not set
-# CONFIG_BLK_DEV_AMD74XX is not set
-# CONFIG_BLK_DEV_ATIIXP is not set
-# CONFIG_BLK_DEV_CMD64X is not set
-# CONFIG_BLK_DEV_TRIFLEX is not set
-# CONFIG_BLK_DEV_CY82C693 is not set
-# CONFIG_BLK_DEV_CS5520 is not set
-# CONFIG_BLK_DEV_CS5530 is not set
-# CONFIG_BLK_DEV_CS5535 is not set
-# CONFIG_BLK_DEV_HPT34X is not set
-# CONFIG_BLK_DEV_HPT366 is not set
-# CONFIG_BLK_DEV_JMICRON is not set
-# CONFIG_BLK_DEV_SC1200 is not set
-CONFIG_BLK_DEV_PIIX=y
-# CONFIG_BLK_DEV_IT8213 is not set
-# CONFIG_BLK_DEV_IT821X is not set
-# CONFIG_BLK_DEV_NS87415 is not set
-# CONFIG_BLK_DEV_PDC202XX_OLD is not set
-# CONFIG_BLK_DEV_PDC202XX_NEW is not set
-# CONFIG_BLK_DEV_SVWKS is not set
-# CONFIG_BLK_DEV_SIIMAGE is not set
-# CONFIG_BLK_DEV_SIS5513 is not set
-# CONFIG_BLK_DEV_SLC90E66 is not set
-# CONFIG_BLK_DEV_TRM290 is not set
-# CONFIG_BLK_DEV_VIA82CXXX is not set
-# CONFIG_BLK_DEV_TC86C001 is not set
-# CONFIG_IDE_ARM is not set
-
-#
-# Other IDE chipsets support
-#
-
-#
-# Note: most of these also require special kernel boot parameters
-#
-# CONFIG_BLK_DEV_4DRIVES is not set
-# CONFIG_BLK_DEV_ALI14XX is not set
-# CONFIG_BLK_DEV_DTC2278 is not set
-# CONFIG_BLK_DEV_HT6560B is not set
-# CONFIG_BLK_DEV_QD65XX is not set
-# CONFIG_BLK_DEV_UMC8672 is not set
-CONFIG_BLK_DEV_IDEDMA=y
-CONFIG_IDE_ARCH_OBSOLETE_INIT=y
-# CONFIG_BLK_DEV_HD 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=y
-# CONFIG_CHR_DEV_SCH is not set
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-CONFIG_SCSI_MULTI_LUN=y
-# 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=y
-# 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_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_SCSI_3W_9XXX is not set
-# CONFIG_SCSI_7000FASST is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_AHA152X is not set
-# CONFIG_SCSI_AHA1542 is not set
-# CONFIG_SCSI_AACRAID is not set
-# CONFIG_SCSI_AIC7XXX is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_AIC94XX is not set
-CONFIG_SCSI_DPT_I2O=m
-# CONFIG_SCSI_ADVANSYS is not set
-# CONFIG_SCSI_IN2000 is not set
-# CONFIG_SCSI_ARCMSR is not set
-# CONFIG_MEGARAID_NEWGEN is not set
-# CONFIG_MEGARAID_LEGACY is not set
-# CONFIG_MEGARAID_SAS is not set
-# CONFIG_SCSI_HPTIOP is not set
-# CONFIG_SCSI_BUSLOGIC is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_DTC3280 is not set
-# CONFIG_SCSI_EATA is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_GDTH is not set
-# CONFIG_SCSI_GENERIC_NCR5380 is not set
-# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
-# CONFIG_SCSI_IPS is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_PPA is not set
-# CONFIG_SCSI_IMM is not set
-# CONFIG_SCSI_NCR53C406A is not set
-# CONFIG_SCSI_STEX is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_PAS16 is not set
-# CONFIG_SCSI_PSI240I is not set
-# CONFIG_SCSI_QLOGIC_FAS is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-# CONFIG_SCSI_QLA_FC is not set
-# CONFIG_SCSI_QLA_ISCSI is not set
-# CONFIG_SCSI_LPFC is not set
-# CONFIG_SCSI_SEAGATE is not set
-# CONFIG_SCSI_SYM53C416 is not set
-# CONFIG_SCSI_DC395x is not set
-# CONFIG_SCSI_DC390T is not set
-# CONFIG_SCSI_T128 is not set
-# CONFIG_SCSI_U14_34F is not set
-# CONFIG_SCSI_ULTRASTOR is not set
-# CONFIG_SCSI_NSP32 is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_SRP is not set
-# CONFIG_ATA is not set
-CONFIG_MD=y
-# CONFIG_BLK_DEV_MD is not set
-CONFIG_BLK_DEV_DM=m
-# CONFIG_DM_DEBUG is not set
-CONFIG_DM_CRYPT=m
-CONFIG_DM_SNAPSHOT=m
-CONFIG_DM_MIRROR=m
-CONFIG_DM_ZERO=m
-CONFIG_DM_MULTIPATH=m
-CONFIG_DM_MULTIPATH_EMC=m
-# CONFIG_DM_MULTIPATH_RDAC is not set
-# CONFIG_DM_MULTIPATH_HP is not set
-# CONFIG_DM_DELAY is not set
-# CONFIG_DM_UEVENT is not set
-# CONFIG_FUSION is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-# CONFIG_FIREWIRE is not set
-# CONFIG_IEEE1394 is not set
-# CONFIG_I2O is not set
-# CONFIG_MACINTOSH_DRIVERS is not set
-CONFIG_NETDEVICES=y
-# CONFIG_NETDEVICES_MULTIQUEUE is not set
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_MACVLAN is not set
-# CONFIG_EQUALIZER is not set
-CONFIG_TUN=m
-# CONFIG_VETH is not set
-# CONFIG_NET_SB1000 is not set
-# CONFIG_ARCNET is not set
-# CONFIG_PHYLIB is not set
-CONFIG_NET_ETHERNET=y
-CONFIG_MII=y
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_CASSINI is not set
-CONFIG_NET_VENDOR_3COM=y
-# CONFIG_EL1 is not set
-# CONFIG_EL2 is not set
-# CONFIG_ELPLUS is not set
-# CONFIG_EL16 is not set
-# CONFIG_EL3 is not set
-# CONFIG_3C515 is not set
-CONFIG_VORTEX=m
-CONFIG_TYPHOON=m
-CONFIG_LANCE=m
-CONFIG_NET_VENDOR_SMC=y
-CONFIG_WD80x3=m
-CONFIG_ULTRA=m
-CONFIG_SMC9194=m
-# CONFIG_NET_VENDOR_RACAL is not set
-CONFIG_NET_TULIP=y
-# CONFIG_DE2104X is not set
-CONFIG_TULIP=m
-CONFIG_TULIP_MWI=y
-CONFIG_TULIP_MMIO=y
-CONFIG_TULIP_NAPI=y
-CONFIG_TULIP_NAPI_HW_MITIGATION=y
-CONFIG_DE4X5=m
-CONFIG_WINBOND_840=m
-CONFIG_DM9102=m
-CONFIG_ULI526X=m
-CONFIG_AT1700=m
-CONFIG_DEPCA=m
-CONFIG_HP100=m
-CONFIG_NET_ISA=y
-# CONFIG_E2100 is not set
-# CONFIG_EWRK3 is not set
-# CONFIG_EEXPRESS is not set
-# CONFIG_EEXPRESS_PRO is not set
-# CONFIG_HPLAN_PLUS is not set
-# CONFIG_HPLAN is not set
-# CONFIG_LP486E is not set
-# CONFIG_ETH16I is not set
-CONFIG_NE2000=y
-# CONFIG_ZNET is not set
-# CONFIG_SEEQ8005 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_NET_PCI=y
-CONFIG_PCNET32=m
-CONFIG_PCNET32_NAPI=y
-CONFIG_AMD8111_ETH=m
-CONFIG_AMD8111E_NAPI=y
-CONFIG_ADAPTEC_STARFIRE=m
-CONFIG_ADAPTEC_STARFIRE_NAPI=y
-CONFIG_AC3200=m
-CONFIG_APRICOT=m
-CONFIG_B44=m
-CONFIG_B44_PCI_AUTOSELECT=y
-CONFIG_B44_PCICORE_AUTOSELECT=y
-CONFIG_B44_PCI=y
-CONFIG_FORCEDETH=m
-CONFIG_FORCEDETH_NAPI=y
-CONFIG_CS89x0=m
-CONFIG_EEPRO100=m
-CONFIG_E100=m
-CONFIG_FEALNX=m
-CONFIG_NATSEMI=m
-CONFIG_NE2K_PCI=y
-CONFIG_8139CP=m
-CONFIG_8139TOO=m
-CONFIG_8139TOO_PIO=y
-CONFIG_8139TOO_TUNE_TWISTER=y
-CONFIG_8139TOO_8129=y
-# CONFIG_8139_OLD_RX_RESET is not set
-CONFIG_SIS900=m
-CONFIG_EPIC100=m
-CONFIG_SUNDANCE=m
-CONFIG_SUNDANCE_MMIO=y
-CONFIG_TLAN=m
-CONFIG_VIA_RHINE=m
-CONFIG_VIA_RHINE_MMIO=y
-CONFIG_VIA_RHINE_NAPI=y
-CONFIG_SC92031=m
-# CONFIG_NET_POCKET is not set
-CONFIG_NETDEV_1000=y
-CONFIG_ACENIC=m
-CONFIG_ACENIC_OMIT_TIGON_I=y
-CONFIG_DL2K=m
-CONFIG_E1000=m
-CONFIG_E1000_NAPI=y
-# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
-# CONFIG_E1000E is not set
-# CONFIG_IP1000 is not set
-CONFIG_NS83820=m
-CONFIG_HAMACHI=m
-CONFIG_YELLOWFIN=m
-CONFIG_R8169=m
-CONFIG_R8169_NAPI=y
-CONFIG_SIS190=m
-CONFIG_SKGE=m
-CONFIG_SKY2=m
-CONFIG_SK98LIN=m
-CONFIG_VIA_VELOCITY=m
-CONFIG_TIGON3=m
-CONFIG_BNX2=m
-CONFIG_QLA3XXX=m
-CONFIG_ATL1=m
-CONFIG_NETDEV_10000=y
-# CONFIG_CHELSIO_T1 is not set
-# CONFIG_CHELSIO_T3 is not set
-# CONFIG_IXGBE is not set
-# CONFIG_IXGB is not set
-CONFIG_S2IO=m
-# CONFIG_S2IO_NAPI is not set
-# CONFIG_MYRI10GE is not set
-# CONFIG_NETXEN_NIC is not set
-# CONFIG_NIU is not set
-# CONFIG_MLX4_CORE is not set
-# CONFIG_TEHUTI is not set
-# CONFIG_TR is not set
-
-#
-# Wireless LAN
-#
-# CONFIG_WLAN_PRE80211 is not set
-CONFIG_WLAN_80211=y
-# CONFIG_IPW2100 is not set
-# CONFIG_IPW2200 is not set
-# CONFIG_LIBERTAS is not set
-# CONFIG_AIRO is not set
-CONFIG_HERMES=m
-# CONFIG_PLX_HERMES is not set
-# CONFIG_TMD_HERMES is not set
-# CONFIG_NORTEL_HERMES is not set
-# CONFIG_PCI_HERMES is not set
-# CONFIG_ATMEL is not set
-# CONFIG_PRISM54 is not set
-# CONFIG_USB_ZD1201 is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
-# CONFIG_HOSTAP_PLX is not set
-# CONFIG_HOSTAP_PCI is not set
-# CONFIG_BCM43XX is not set
-# CONFIG_ZD1211RW is not set
-
-#
-# USB Network Adapters
-#
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_USBNET is not set
-# CONFIG_WAN is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-# CONFIG_PLIP is not set
-CONFIG_PPP=m
-# CONFIG_PPP_MULTILINK is not set
-# CONFIG_PPP_FILTER is not set
-CONFIG_PPP_ASYNC=m
-# CONFIG_PPP_SYNC_TTY is not set
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-# CONFIG_PPP_MPPE is not set
-# CONFIG_PPPOE is not set
-# CONFIG_PPPOL2TP is not set
-# CONFIG_SLIP is not set
-CONFIG_SLHC=m
-# CONFIG_NET_FC is not set
-# CONFIG_SHAPER is not set
-# 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_POLLDEV is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=m
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-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_ATKBD=y
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_STOWAWAY 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_TOUCHKIT is not set
-# CONFIG_MOUSE_SERIAL is not set
-# CONFIG_MOUSE_APPLETOUCH is not set
-# CONFIG_MOUSE_INPORT is not set
-# CONFIG_MOUSE_LOGIBM is not set
-# CONFIG_MOUSE_PC110PAD is not set
-# CONFIG_MOUSE_VSXXXAA is not set
-# CONFIG_INPUT_JOYSTICK is not set
-CONFIG_INPUT_TABLET=y
-# CONFIG_TABLET_USB_ACECAD is not set
-# CONFIG_TABLET_USB_AIPTEK is not set
-# CONFIG_TABLET_USB_GTCO is not set
-# CONFIG_TABLET_USB_KBTAB is not set
-CONFIG_TABLET_USB_WACOM=y
-# CONFIG_INPUT_TOUCHSCREEN is not set
-CONFIG_INPUT_MISC=y
-# CONFIG_INPUT_PCSPKR is not set
-# CONFIG_INPUT_WISTRON_BTNS is not set
-# CONFIG_INPUT_ATLAS_BTNS is not set
-# CONFIG_INPUT_ATI_REMOTE is not set
-# CONFIG_INPUT_ATI_REMOTE2 is not set
-# CONFIG_INPUT_KEYSPAN_REMOTE is not set
-# CONFIG_INPUT_POWERMATE is not set
-# CONFIG_INPUT_YEALINK is not set
-CONFIG_INPUT_UINPUT=m
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_I8042=y
-# CONFIG_SERIO_SERPORT is not set
-# CONFIG_SERIO_CT82C710 is not set
-# CONFIG_SERIO_PARKBD is not set
-# CONFIG_SERIO_PCIPS2 is not set
-CONFIG_SERIO_LIBPS2=y
-# CONFIG_SERIO_RAW is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-# CONFIG_SERIAL_8250_CONSOLE is not set
-CONFIG_FIX_EARLYCON_MEM=y
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_PNP=y
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-# CONFIG_SERIAL_8250_EXTENDED is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_CORE=y
-# CONFIG_SERIAL_JSM is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_PRINTER=y
-# CONFIG_LP_CONSOLE is not set
-# CONFIG_PPDEV is not set
-# CONFIG_IPMI_HANDLER is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_NVRAM is not set
-# CONFIG_RTC is not set
-# CONFIG_GEN_RTC is not set
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
-# CONFIG_MWAVE is not set
-# CONFIG_PC8736x_GPIO is not set
-# CONFIG_NSC_GPIO is not set
-# CONFIG_CS5535_GPIO is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_HPET is not set
-# CONFIG_HANGCHECK_TIMER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_TELCLOCK is not set
-CONFIG_DEVPORT=y
-# CONFIG_I2C is not set
-
-#
-# SPI support
-#
-# CONFIG_SPI is not set
-# CONFIG_SPI_MASTER is not set
-# 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_HWMON is not set
-# CONFIG_WATCHDOG is not set
-
-#
-# Sonics Silicon Backplane
-#
-CONFIG_SSB_POSSIBLE=y
-CONFIG_SSB=m
-CONFIG_SSB_PCIHOST_POSSIBLE=y
-CONFIG_SSB_PCIHOST=y
-# CONFIG_SSB_SILENT is not set
-# CONFIG_SSB_DEBUG is not set
-CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
-CONFIG_SSB_DRIVER_PCICORE=y
-
-#
-# Multifunction device drivers
-#
-# CONFIG_MFD_SM501 is not set
-# CONFIG_HTC_ASIC3 is not set
-# CONFIG_HTC_ASIC3_DS1WM is not set
-
-#
-# Multimedia devices
-#
-CONFIG_VIDEO_DEV=m
-CONFIG_VIDEO_V4L1=y
-CONFIG_VIDEO_V4L1_COMPAT=y
-CONFIG_VIDEO_V4L2=y
-CONFIG_VIDEO_CAPTURE_DRIVERS=y
-# CONFIG_VIDEO_ADV_DEBUG is not set
-CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
-# CONFIG_VIDEO_VIVI is not set
-# CONFIG_VIDEO_PMS is not set
-# CONFIG_VIDEO_BWQCAM is not set
-# CONFIG_VIDEO_CQCAM is not set
-# CONFIG_VIDEO_CPIA is not set
-# CONFIG_VIDEO_CPIA2 is not set
-# CONFIG_VIDEO_STRADIS is not set
-CONFIG_V4L_USB_DRIVERS=y
-# CONFIG_USB_VICAM is not set
-# CONFIG_USB_IBMCAM is not set
-# CONFIG_USB_KONICAWC is not set
-# CONFIG_USB_QUICKCAM_MESSENGER is not set
-# CONFIG_USB_ET61X251 is not set
-CONFIG_USB_OV511=m
-CONFIG_USB_SE401=m
-CONFIG_USB_SN9C102=m
-CONFIG_USB_STV680=m
-# CONFIG_USB_ZC0301 is not set
-# CONFIG_USB_PWC is not set
-# CONFIG_USB_ZR364XX is not set
-CONFIG_RADIO_ADAPTERS=y
-# CONFIG_RADIO_CADET is not set
-# CONFIG_RADIO_RTRACK is not set
-# CONFIG_RADIO_RTRACK2 is not set
-# CONFIG_RADIO_AZTECH is not set
-# CONFIG_RADIO_GEMTEK is not set
-# CONFIG_RADIO_GEMTEK_PCI is not set
-# CONFIG_RADIO_MAXIRADIO is not set
-# CONFIG_RADIO_MAESTRO is not set
-# CONFIG_RADIO_SF16FMI is not set
-# CONFIG_RADIO_SF16FMR2 is not set
-# CONFIG_RADIO_TERRATEC is not set
-# CONFIG_RADIO_TRUST is not set
-# CONFIG_RADIO_TYPHOON is not set
-# CONFIG_RADIO_ZOLTRIX is not set
-CONFIG_USB_DSBR=m
-# CONFIG_DVB_CORE is not set
-CONFIG_DAB=y
-# CONFIG_USB_DABUSB is not set
-
-#
-# Graphics support
-#
-CONFIG_AGP=m
-CONFIG_AGP_ALI=m
-CONFIG_AGP_ATI=m
-CONFIG_AGP_AMD=m
-CONFIG_AGP_AMD64=m
-CONFIG_AGP_INTEL=m
-CONFIG_AGP_NVIDIA=m
-CONFIG_AGP_SIS=m
-CONFIG_AGP_SWORKS=m
-CONFIG_AGP_VIA=m
-CONFIG_AGP_EFFICEON=m
-CONFIG_DRM=m
-# CONFIG_DRM_TDFX is not set
-# CONFIG_DRM_R128 is not set
-# CONFIG_DRM_RADEON is not set
-# CONFIG_DRM_I810 is not set
-# CONFIG_DRM_I830 is not set
-# CONFIG_DRM_I915 is not set
-# CONFIG_DRM_MGA is not set
-# CONFIG_DRM_SIS is not set
-# CONFIG_DRM_VIA is not set
-# CONFIG_DRM_SAVAGE is not set
-# CONFIG_VGASTATE is not set
-CONFIG_VIDEO_OUTPUT_CONTROL=m
-CONFIG_FB=y
-# CONFIG_FIRMWARE_EDID is not set
-# CONFIG_FB_DDC is not set
-CONFIG_FB_CFB_FILLRECT=m
-CONFIG_FB_CFB_COPYAREA=m
-CONFIG_FB_CFB_IMAGEBLIT=m
-# 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_SYS_FOPS is not set
-# CONFIG_FB_DEFERRED_IO 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_CIRRUS is not set
-# CONFIG_FB_PM2 is not set
-# CONFIG_FB_CYBER2000 is not set
-# CONFIG_FB_ARC is not set
-# CONFIG_FB_ASILIANT is not set
-# CONFIG_FB_IMSTT is not set
-# CONFIG_FB_VGA16 is not set
-CONFIG_FB_UVESA=m
-# CONFIG_FB_VESA is not set
-# CONFIG_FB_EFI is not set
-# CONFIG_FB_HECUBA is not set
-# CONFIG_FB_HGA is not set
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_NVIDIA is not set
-# CONFIG_FB_RIVA is not set
-# CONFIG_FB_I810 is not set
-# CONFIG_FB_LE80578 is not set
-# CONFIG_FB_INTEL is not set
-# CONFIG_FB_MATROX is not set
-# CONFIG_FB_RADEON is not set
-# CONFIG_FB_ATY128 is not set
-# CONFIG_FB_ATY is not set
-# CONFIG_FB_S3 is not set
-# CONFIG_FB_SAVAGE is not set
-# CONFIG_FB_SIS is not set
-# CONFIG_FB_NEOMAGIC is not set
-# CONFIG_FB_KYRO is not set
-# CONFIG_FB_3DFX is not set
-# CONFIG_FB_VOODOO1 is not set
-# CONFIG_FB_VT8623 is not set
-# CONFIG_FB_CYBLA is not set
-# CONFIG_FB_TRIDENT is not set
-# CONFIG_FB_ARK is not set
-# CONFIG_FB_PM3 is not set
-# CONFIG_FB_GEODE is not set
-# CONFIG_FB_VIRTUAL is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=m
-CONFIG_BACKLIGHT_CLASS_DEVICE=m
-CONFIG_BACKLIGHT_CORGI=m
-# CONFIG_BACKLIGHT_PROGEAR is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-CONFIG_VGA_CONSOLE=y
-# CONFIG_VGACON_SOFT_SCROLLBACK is not set
-CONFIG_VIDEO_SELECT=y
-# CONFIG_MDA_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=y
-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=y
-CONFIG_LOGO_LINUX_VGA16=y
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-CONFIG_LOGO_OHAND_CLUT224=y
-
-#
-# Sound
-#
-CONFIG_SOUND=y
-
-#
-# Advanced Linux Sound Architecture
-#
-CONFIG_SND=y
-CONFIG_SND_TIMER=y
-CONFIG_SND_PCM=y
-CONFIG_SND_SEQUENCER=y
-# 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_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
-
-#
-# Generic devices
-#
-CONFIG_SND_AC97_CODEC=y
-# CONFIG_SND_DUMMY is not set
-# CONFIG_SND_VIRMIDI is not set
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_MTS64 is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-# CONFIG_SND_PORTMAN2X4 is not set
-
-#
-# ISA devices
-#
-# CONFIG_SND_ADLIB is not set
-# CONFIG_SND_AD1816A is not set
-# CONFIG_SND_AD1848 is not set
-# CONFIG_SND_ALS100 is not set
-# CONFIG_SND_AZT2320 is not set
-# CONFIG_SND_CMI8330 is not set
-# CONFIG_SND_CS4231 is not set
-# CONFIG_SND_CS4232 is not set
-# CONFIG_SND_CS4236 is not set
-# CONFIG_SND_DT019X is not set
-# CONFIG_SND_ES968 is not set
-# CONFIG_SND_ES1688 is not set
-# CONFIG_SND_ES18XX is not set
-# CONFIG_SND_SC6000 is not set
-# CONFIG_SND_GUSCLASSIC is not set
-# CONFIG_SND_GUSEXTREME is not set
-# CONFIG_SND_GUSMAX is not set
-# CONFIG_SND_INTERWAVE is not set
-# CONFIG_SND_INTERWAVE_STB is not set
-# CONFIG_SND_OPL3SA2 is not set
-# CONFIG_SND_OPTI92X_AD1848 is not set
-# CONFIG_SND_OPTI92X_CS4231 is not set
-# CONFIG_SND_OPTI93X is not set
-# CONFIG_SND_MIRO is not set
-# CONFIG_SND_SB8 is not set
-# CONFIG_SND_SB16 is not set
-# CONFIG_SND_SBAWE is not set
-# CONFIG_SND_SGALAXY is not set
-# CONFIG_SND_SSCAPE is not set
-# CONFIG_SND_WAVEFRONT is not set
-
-#
-# PCI devices
-#
-# CONFIG_SND_AD1889 is not set
-# CONFIG_SND_ALS300 is not set
-# CONFIG_SND_ALS4000 is not set
-# CONFIG_SND_ALI5451 is not set
-# CONFIG_SND_ATIIXP is not set
-# CONFIG_SND_ATIIXP_MODEM is not set
-# CONFIG_SND_AU8810 is not set
-# CONFIG_SND_AU8820 is not set
-# CONFIG_SND_AU8830 is not set
-# CONFIG_SND_AZT3328 is not set
-# CONFIG_SND_BT87X is not set
-# CONFIG_SND_CA0106 is not set
-# CONFIG_SND_CMIPCI is not set
-# CONFIG_SND_CS4281 is not set
-# CONFIG_SND_CS46XX is not set
-# CONFIG_SND_CS5530 is not set
-# CONFIG_SND_CS5535AUDIO is not set
-# CONFIG_SND_DARLA20 is not set
-# CONFIG_SND_GINA20 is not set
-# CONFIG_SND_LAYLA20 is not set
-# CONFIG_SND_DARLA24 is not set
-# CONFIG_SND_GINA24 is not set
-# CONFIG_SND_LAYLA24 is not set
-# CONFIG_SND_MONA is not set
-# CONFIG_SND_MIA is not set
-# CONFIG_SND_ECHO3G is not set
-# CONFIG_SND_INDIGO is not set
-# CONFIG_SND_INDIGOIO is not set
-# CONFIG_SND_INDIGODJ is not set
-# CONFIG_SND_EMU10K1 is not set
-# CONFIG_SND_EMU10K1X is not set
-# CONFIG_SND_ENS1370 is not set
-# CONFIG_SND_ENS1371 is not set
-# CONFIG_SND_ES1938 is not set
-# CONFIG_SND_ES1968 is not set
-# CONFIG_SND_FM801 is not set
-# CONFIG_SND_HDA_INTEL is not set
-# CONFIG_SND_HDSP is not set
-# CONFIG_SND_HDSPM is not set
-# CONFIG_SND_ICE1712 is not set
-# CONFIG_SND_ICE1724 is not set
-CONFIG_SND_INTEL8X0=y
-# CONFIG_SND_INTEL8X0M is not set
-# CONFIG_SND_KORG1212 is not set
-# CONFIG_SND_MAESTRO3 is not set
-# CONFIG_SND_MIXART is not set
-# CONFIG_SND_NM256 is not set
-# CONFIG_SND_PCXHR is not set
-# CONFIG_SND_RIPTIDE is not set
-# CONFIG_SND_RME32 is not set
-# CONFIG_SND_RME96 is not set
-# CONFIG_SND_RME9652 is not set
-# CONFIG_SND_SONICVIBES is not set
-# CONFIG_SND_TRIDENT is not set
-# CONFIG_SND_VIA82XX is not set
-# CONFIG_SND_VIA82XX_MODEM is not set
-# CONFIG_SND_VX222 is not set
-# CONFIG_SND_YMFPCI is not set
-# CONFIG_SND_AC97_POWER_SAVE is not set
-
-#
-# USB devices
-#
-# CONFIG_SND_USB_AUDIO is not set
-# CONFIG_SND_USB_USX2Y is not set
-# CONFIG_SND_USB_CAIAQ is not set
-
-#
-# System on Chip audio support
-#
-# CONFIG_SND_SOC is not set
-
-#
-# SoC Audio support for SuperH
-#
-
-#
-# Open Sound System
-#
-# CONFIG_SOUND_PRIME is not set
-CONFIG_AC97_BUS=y
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=y
-# CONFIG_HID_DEBUG is not set
-# CONFIG_HIDRAW is not set
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=y
-# CONFIG_USB_HIDINPUT_POWERBOOK is not set
-# CONFIG_HID_FF is not set
-# CONFIG_USB_HIDDEV 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
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-CONFIG_USB_DEVICE_CLASS=y
-# CONFIG_USB_DYNAMIC_MINORS is not set
-CONFIG_USB_SUSPEND=y
-# CONFIG_USB_PERSIST is not set
-# CONFIG_USB_OTG is not set
-
-#
-# USB Host Controller Drivers
-#
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_SPLIT_ISO=y
-# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
-# CONFIG_USB_EHCI_TT_NEWSCHED is not set
-# CONFIG_USB_ISP116X_HCD is not set
-CONFIG_USB_OHCI_HCD=y
-# 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_UHCI_HCD=y
-CONFIG_USB_SL811_HCD=m
-# CONFIG_USB_R8A66597_HCD is not set
-
-#
-# USB Device Class drivers
-#
-CONFIG_USB_ACM=m
-CONFIG_USB_PRINTER=m
-
-#
-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-#
-
-#
-# may also be needed; see USB_STORAGE Help for more information
-#
-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
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_STORAGE_ALAUDA is not set
-# CONFIG_USB_STORAGE_KARMA is not set
-# CONFIG_USB_LIBUSUAL is not set
-
-#
-# USB Imaging devices
-#
-CONFIG_USB_MDC800=m
-CONFIG_USB_MICROTEK=m
-CONFIG_USB_MON=y
-
-#
-# USB port drivers
-#
-# CONFIG_USB_USS720 is not set
-
-#
-# USB Serial Converter support
-#
-CONFIG_USB_SERIAL=m
-CONFIG_USB_SERIAL_GENERIC=y
-# CONFIG_USB_SERIAL_AIRCABLE is not set
-# CONFIG_USB_SERIAL_AIRPRIME is not set
-# CONFIG_USB_SERIAL_ARK3116 is not set
-CONFIG_USB_SERIAL_BELKIN=m
-# CONFIG_USB_SERIAL_CH341 is not set
-# CONFIG_USB_SERIAL_WHITEHEAT is not set
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-# CONFIG_USB_SERIAL_CP2101 is not set
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-# CONFIG_USB_SERIAL_FUNSOFT is not set
-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_KEYSPAN_PDA=m
-CONFIG_USB_SERIAL_KEYSPAN=m
-# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
-# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-# CONFIG_USB_SERIAL_MOS7720 is not set
-# CONFIG_USB_SERIAL_MOS7840 is not set
-# CONFIG_USB_SERIAL_NAVMAN is not set
-CONFIG_USB_SERIAL_PL2303=m
-# CONFIG_USB_SERIAL_OTI6858 is not set
-# CONFIG_USB_SERIAL_HP4X is not set
-CONFIG_USB_SERIAL_SAFE=m
-# CONFIG_USB_SERIAL_SAFE_PADDED is not set
-# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_XIRCOM=m
-# CONFIG_USB_SERIAL_OPTION is not set
-CONFIG_USB_SERIAL_OMNINET=m
-# CONFIG_USB_SERIAL_DEBUG is not set
-CONFIG_USB_EZUSB=y
-
-#
-# USB Miscellaneous drivers
-#
-CONFIG_USB_EMI62=m
-CONFIG_USB_EMI26=m
-# CONFIG_USB_ADUTUX is not set
-CONFIG_USB_AUERSWALD=m
-CONFIG_USB_RIO500=m
-CONFIG_USB_LEGOTOWER=m
-CONFIG_USB_LCD=m
-# CONFIG_USB_BERRY_CHARGE is not set
-CONFIG_USB_LED=m
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-CONFIG_USB_CYTHERM=m
-# CONFIG_USB_PHIDGET is not set
-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_IOWARRIOR is not set
-# CONFIG_USB_TEST is not set
-
-#
-# USB DSL modem support
-#
-
-#
-# USB Gadget Support
-#
-# CONFIG_USB_GADGET is not set
-# CONFIG_MMC is not set
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
-
-#
-# LED Triggers
-#
-# CONFIG_LEDS_TRIGGERS is not set
-# CONFIG_INFINIBAND is not set
-# CONFIG_EDAC is not set
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY is not set
-CONFIG_VIRTUALIZATION=y
-# CONFIG_KVM is not set
-# CONFIG_LGUEST is not set
-
-#
-# Userspace I/O
-#
-# CONFIG_UIO is not set
-
-#
-# Firmware Drivers
-#
-# CONFIG_EDD is not set
-# CONFIG_DELL_RBU is not set
-# CONFIG_DCDBAS is not set
-CONFIG_DMIID=y
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_FS_XATTR is not set
-# CONFIG_EXT4DEV_FS is not set
-CONFIG_JBD=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_FS_POSIX_ACL is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_GFS2_FS is not set
-# CONFIG_OCFS2_FS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_INOTIFY=y
-CONFIG_INOTIFY_USER=y
-# CONFIG_QUOTA is not set
-CONFIG_DNOTIFY=y
-# CONFIG_AUTOFS_FS is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=y
-CONFIG_JOLIET=y
-# CONFIG_ZISOFS is not set
-CONFIG_UDF_FS=y
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=y
-# CONFIG_MSDOS_FS is not set
-CONFIG_VFAT_FS=y
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-# CONFIG_TMPFS_POSIX_ACL is not set
-# CONFIG_HUGETLBFS is not set
-# CONFIG_HUGETLB_PAGE is not set
-# CONFIG_CONFIGFS_FS is not set
-
-#
-# Miscellaneous filesystems
-#
-# 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_CRAMFS=m
-CONFIG_SQUASHFS=m
-# CONFIG_SQUASHFS_EMBEDDED is not set
-CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
-# CONFIG_VXFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_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 is not set
-# CONFIG_NFS_V4 is not set
-# CONFIG_NFS_DIRECTIO is not set
-CONFIG_NFSD=y
-CONFIG_NFSD_V3=y
-# CONFIG_NFSD_V3_ACL is not set
-# CONFIG_NFSD_V4 is not set
-# CONFIG_NFSD_TCP is not set
-CONFIG_ROOT_NFS=y
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_EXPORTFS=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-# CONFIG_SUNRPC_BIND34 is not set
-# CONFIG_RPCSEC_GSS_KRB5 is not set
-# CONFIG_RPCSEC_GSS_SPKM3 is not set
-CONFIG_SMB_FS=y
-# CONFIG_SMB_NLS_DEFAULT is not set
-CONFIG_CIFS=m
-# CONFIG_CIFS_STATS is not set
-# CONFIG_CIFS_WEAK_PW_HASH is not set
-# CONFIG_CIFS_XATTR is not set
-# CONFIG_CIFS_DEBUG2 is not set
-# 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="cp437"
-CONFIG_NLS_CODEPAGE_437=y
-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=y
-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=y
-# CONFIG_DLM is not set
-CONFIG_INSTRUMENTATION=y
-CONFIG_PROFILING=y
-CONFIG_OPROFILE=m
-# CONFIG_KPROBES is not set
-# CONFIG_MARKERS is not set
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-# CONFIG_PRINTK_TIME is not set
-CONFIG_ENABLE_WARN_DEPRECATED=y
-CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_KERNEL is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_SAMPLES is not set
-CONFIG_EARLY_PRINTK=y
-CONFIG_X86_FIND_SMP_CONFIG=y
-CONFIG_X86_MPPARSE=y
-CONFIG_DOUBLEFAULT=y
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITY_FILE_CAPABILITIES is not set
-CONFIG_CRYPTO=y
-CONFIG_CRYPTO_ALGAPI=m
-CONFIG_CRYPTO_BLKCIPHER=m
-CONFIG_CRYPTO_HASH=m
-CONFIG_CRYPTO_MANAGER=m
-CONFIG_CRYPTO_HMAC=m
-# CONFIG_CRYPTO_XCBC is not set
-CONFIG_CRYPTO_NULL=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=m
-CONFIG_CRYPTO_SHA1=m
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_WP512=m
-# CONFIG_CRYPTO_TGR192 is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-CONFIG_CRYPTO_ECB=m
-CONFIG_CRYPTO_CBC=m
-CONFIG_CRYPTO_PCBC=m
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_XTS is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-CONFIG_CRYPTO_DES=m
-# CONFIG_CRYPTO_FCRYPT is not set
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_TWOFISH_COMMON=m
-# CONFIG_CRYPTO_TWOFISH_586 is not set
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_AES=m
-# CONFIG_CRYPTO_AES_586 is not set
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_ANUBIS=m
-# CONFIG_CRYPTO_SEED is not set
-CONFIG_CRYPTO_DEFLATE=m
-CONFIG_CRYPTO_LZO=m
-CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_CRC32C=m
-CONFIG_CRYPTO_CAMELLIA=m
-CONFIG_CRYPTO_TEST=m
-# CONFIG_CRYPTO_AUTHENC is not set
-# CONFIG_CRYPTO_HW is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_CRC_CCITT=y
-# CONFIG_CRC16 is not set
-# CONFIG_CRC_ITU_T is not set
-CONFIG_CRC32=y
-# CONFIG_CRC7 is not set
-CONFIG_LIBCRC32C=m
-CONFIG_AUDIT_GENERIC=y
-CONFIG_ZLIB_INFLATE=m
-CONFIG_ZLIB_DEFLATE=m
-CONFIG_LZO_COMPRESS=m
-CONFIG_LZO_DECOMPRESS=m
-CONFIG_PLIST=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
diff --git a/meta/recipes-kernel/linux/linux-rp.inc b/meta/recipes-kernel/linux/linux-rp.inc
index 8b86bdee1..400b1128c 100644
--- a/meta/recipes-kernel/linux/linux-rp.inc
+++ b/meta/recipes-kernel/linux/linux-rp.inc
@@ -15,7 +15,7 @@ CHSRC = "http://oz.drigon.com/patches"
TKSRC = "http://www.informatik.hu-berlin.de/~tkunze/zaurus/patches"
COMPATIBLE_HOST = "(arm|i.86|mips).*-linux"
-COMPATIBLE_MACHINE = '(collie|poodle|c7x0|akita|spitz|tosa|hx2000|qemuarm|qemux86|qemumips|bootcdx86|htcuniversal|zylonite)'
+COMPATIBLE_MACHINE = '(collie|poodle|c7x0|akita|spitz|tosa|hx2000|qemuarm|qemux86|qemumips|htcuniversal|zylonite)'
KERNEL_CUSTOM_NAME ?= ""
KERNEL_DEPLOY_NAME ?= "${KERNEL_IMAGETYPE}-${PV}-${KERNEL_CUSTOM_NAME}${MACHINE}-${DATETIME}.bin"
diff --git a/meta/recipes-kernel/linux/linux-rp_2.6.23.bb b/meta/recipes-kernel/linux/linux-rp_2.6.23.bb
index 0c67fd4ea..3392ca854 100644
--- a/meta/recipes-kernel/linux/linux-rp_2.6.23.bb
+++ b/meta/recipes-kernel/linux/linux-rp_2.6.23.bb
@@ -69,7 +69,6 @@ SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2 \
file://defconfig-spitz \
file://defconfig-qemuarm \
file://defconfig-qemux86 \
- file://defconfig-bootcdx86 \
file://defconfig-htcuniversal \
file://defconfig-zylonite \
file://defconfig-tosa "
diff --git a/meta/recipes-kernel/linux/linux-rp_2.6.24.bb b/meta/recipes-kernel/linux/linux-rp_2.6.24.bb
index 1d927e3ff..bfa3ecfe7 100644
--- a/meta/recipes-kernel/linux/linux-rp_2.6.24.bb
+++ b/meta/recipes-kernel/linux/linux-rp_2.6.24.bb
@@ -73,7 +73,6 @@ SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2 \
file://defconfig-spitz \
file://defconfig-qemuarm \
file://defconfig-qemux86 \
- file://defconfig-bootcdx86 \
file://defconfig-htcuniversal \
file://defconfig-tosa \
file://defconfig-zylonite"
diff --git a/meta/recipes-kernel/linux/linux-rp_2.6.26.bb b/meta/recipes-kernel/linux/linux-rp_2.6.26.bb
index 67d674b7b..1af90529a 100644
--- a/meta/recipes-kernel/linux/linux-rp_2.6.26.bb
+++ b/meta/recipes-kernel/linux/linux-rp_2.6.26.bb
@@ -64,7 +64,6 @@ SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.26.tar.bz2 \
file://defconfig-qemuarmv6 \
file://defconfig-qemuarmv7 \
file://defconfig-qemux86 \
- file://defconfig-bootcdx86 \
file://defconfig-htcuniversal \
file://defconfig-zylonite"
# Disabled until the patchset is updated:
diff --git a/meta/recipes-kernel/linux/linux-tools.inc b/meta/recipes-kernel/linux/linux-tools.inc
index 714207f86..e42c8e3be 100644
--- a/meta/recipes-kernel/linux/linux-tools.inc
+++ b/meta/recipes-kernel/linux/linux-tools.inc
@@ -2,11 +2,11 @@
# perf functionality from their tree.
do_compile_perf() {
- oe_runmake -C ${S}/tools/perf CC="${KERNEL_CC}" LD="${KERNEL_LD}" prefix=${prefix}
+ oe_runmake -C ${S}/tools/perf CC="${CC}" LD="${LD}" prefix=${prefix}
}
do_install_perf() {
- oe_runmake -C ${S}/tools/perf CC="${KERNEL_CC}" LD="${KERNEL_LD}" prefix=${prefix} DESTDIR=${D} install
+ oe_runmake -C ${S}/tools/perf CC="${CC}" LD="${LD}" prefix=${prefix} DESTDIR=${D} install
}
diff --git a/meta/recipes-kernel/linux/linux-yocto-stable_git.bb b/meta/recipes-kernel/linux/linux-yocto-stable_git.bb
index dd4d176ac..3c1e66973 100644
--- a/meta/recipes-kernel/linux/linux-yocto-stable_git.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-stable_git.bb
@@ -1,7 +1,8 @@
inherit kernel
require linux-yocto.inc
-KMACHINE_qemux86 = "common_pc/base"
+KMACHINE = "common_pc"
+KMACHINE_qemux86 = "common_pc"
KMACHINE_qemux86-64 = "common_pc_64"
KMACHINE_qemuppc = "qemu_ppc32"
KMACHINE_qemumips = "mti_malta32_be"
@@ -12,25 +13,26 @@ KMACHINE_mpc8315e-rdb = "fsl-mpc8315e-rdb"
KMACHINE_beagleboard = "beagleboard"
LINUX_VERSION ?= "2.6.34"
-LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE}"
-PR = "r0"
+LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE_EXTENSION}"
+
+KMETA = wrs_meta
+KBRANCH = ${KMACHINE}-${LINUX_KERNEL_TYPE_EXTENSION}
+
+PR = "r1"
PV = "${LINUX_VERSION}+git${SRCPV}"
SRCREV_FORMAT = "meta_machine"
COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64|atom-pc|routerstationpro|mpc8315e-rdb|beagleboard)"
-# this performs a fixup on the SRCREV for new/undefined BSPs
+# this performs a fixup on historical kernel types with embedded _'s
python __anonymous () {
- import bb, re
+ import bb, re, string
- rev = bb.data.getVar("SRCREV_machine", d, 1)
- if rev == "standard":
- bb.data.setVar("SRCREV_machine", "${SRCREV_meta}", d)
+ kerntype = string.replace(bb.data.expand("${LINUX_KERNEL_TYPE}", d), "_", "-")
+ bb.data.setVar("LINUX_KERNEL_TYPE_EXTENSION", kerntype, d)
}
-SRC_URI = "git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;fullclone=1;branch=${KBRANCH};name=machine \
- git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;noclone=1;branch=wrs_meta;name=meta"
-
+SRC_URI = "git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;nocheckout=1;branch=${KBRANCH},wrs_meta;name=machine,meta"
# Functionality flags
KERNEL_REVISION_CHECKING ?= "t"
diff --git a/meta/recipes-kernel/linux/linux-yocto.inc b/meta/recipes-kernel/linux/linux-yocto.inc
index 2a77f4a9c..0812144d4 100644
--- a/meta/recipes-kernel/linux/linux-yocto.inc
+++ b/meta/recipes-kernel/linux/linux-yocto.inc
@@ -2,10 +2,12 @@ DESCRIPTION = "Yocto Kernel"
SECTION = "kernel"
LICENSE = "GPL"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+
# A KMACHINE is the mapping of a yocto $MACHINE to what is built
# by the kernel. This is typically the branch that should be built,
# and it can be specific to the machine or shared
-KMACHINE = "UNDEFINED"
+# KMACHINE = "UNDEFINED"
# Set this to 'preempt_rt' in the local.conf if you want a real time kernel
LINUX_KERNEL_TYPE ?= standard
@@ -13,9 +15,9 @@ LINUX_KERNEL_TYPE ?= standard
do_patch[depends] = "kern-tools-native:do_populate_sysroot"
addtask kernel_configme before do_configure after do_patch
-addtask kernel_configcheck after do_configure before do_compile
# Pick up shared functions
inherit kernel-yocto
+require linux-dtb.inc
-B = "${WORKDIR}/linux-${KMACHINE}-${LINUX_KERNEL_TYPE}-build"
+B = "${WORKDIR}/linux-${MACHINE}-${LINUX_KERNEL_TYPE}-build"
diff --git a/meta/recipes-kernel/linux/linux-yocto/tools-perf-no-scripting.patch b/meta/recipes-kernel/linux/linux-yocto/tools-perf-no-scripting.patch
new file mode 100644
index 000000000..e0ad9997f
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto/tools-perf-no-scripting.patch
@@ -0,0 +1,49 @@
+Index: tools/perf/Makefile
+===================================================================
+--- a/tools/perf/Makefile 2011-01-14 14:17:33.127008554 -0600
++++ b/tools/perf/Makefile 2011-01-14 14:18:14.227008548 -0600
+@@ -588,42 +588,8 @@
+ endif
+ endif
+
+-ifdef NO_LIBPERL
+- BASIC_CFLAGS += -DNO_LIBPERL
+-else
+- PERL_EMBED_LDOPTS = $(shell perl -MExtUtils::Embed -e ldopts 2>/dev/null)
+- PERL_EMBED_LDFLAGS = $(call strip-libs,$(PERL_EMBED_LDOPTS))
+- PERL_EMBED_LIBADD = $(call grep-libs,$(PERL_EMBED_LDOPTS))
+- PERL_EMBED_CCOPTS = `perl -MExtUtils::Embed -e ccopts 2>/dev/null`
+- FLAGS_PERL_EMBED=$(PERL_EMBED_CCOPTS) $(PERL_EMBED_LDOPTS)
+-
+- ifneq ($(call try-cc,$(SOURCE_PERL_EMBED),$(FLAGS_PERL_EMBED)),y)
+- BASIC_CFLAGS += -DNO_LIBPERL
+- else
+- ALL_LDFLAGS += $(PERL_EMBED_LDFLAGS)
+- EXTLIBS += $(PERL_EMBED_LIBADD)
+- LIB_OBJS += $(OUTPUT)util/scripting-engines/trace-event-perl.o
+- LIB_OBJS += $(OUTPUT)scripts/perl/Perf-Trace-Util/Context.o
+- endif
+-endif
+-
+-ifdef NO_LIBPYTHON
+- BASIC_CFLAGS += -DNO_LIBPYTHON
+-else
+- PYTHON_EMBED_LDOPTS = $(shell python-config --ldflags 2>/dev/null)
+- PYTHON_EMBED_LDFLAGS = $(call strip-libs,$(PYTHON_EMBED_LDOPTS))
+- PYTHON_EMBED_LIBADD = $(call grep-libs,$(PYTHON_EMBED_LDOPTS))
+- PYTHON_EMBED_CCOPTS = `python-config --cflags 2>/dev/null`
+- FLAGS_PYTHON_EMBED=$(PYTHON_EMBED_CCOPTS) $(PYTHON_EMBED_LDOPTS)
+- ifneq ($(call try-cc,$(SOURCE_PYTHON_EMBED),$(FLAGS_PYTHON_EMBED)),y)
+- BASIC_CFLAGS += -DNO_LIBPYTHON
+- else
+- ALL_LDFLAGS += $(PYTHON_EMBED_LDFLAGS)
+- EXTLIBS += $(PYTHON_EMBED_LIBADD)
+- LIB_OBJS += $(OUTPUT)util/scripting-engines/trace-event-python.o
+- LIB_OBJS += $(OUTPUT)scripts/python/Perf-Trace-Util/Context.o
+- endif
+-endif
++BASIC_CFLAGS += -DNO_LIBPERL
++BASIC_CFLAGS += -DNO_LIBPYTHON
+
+ ifdef NO_DEMANGLE
+ BASIC_CFLAGS += -DNO_DEMANGLE
diff --git a/meta/recipes-kernel/linux/linux-yocto_git.bb b/meta/recipes-kernel/linux/linux-yocto_git.bb
index f40fe38fc..75c6fb165 100644
--- a/meta/recipes-kernel/linux/linux-yocto_git.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_git.bb
@@ -1,26 +1,30 @@
inherit kernel
require linux-yocto.inc
-KMACHINE_qemux86 = "common_pc/base"
-KMACHINE_qemux86-64 = "common_pc_64"
-KMACHINE_qemuppc = "qemu_ppc32"
-KMACHINE_qemumips = "mti_malta32_be"
-KMACHINE_qemuarm = "arm_versatile_926ejs"
-KMACHINE_atom-pc = "atom-pc"
-KMACHINE_routerstationpro = "routerstationpro"
-KMACHINE_mpc8315e-rdb = "fsl-mpc8315e-rdb"
-KMACHINE_beagleboard = "beagleboard"
+KMACHINE = "yocto/standard/base"
+KMACHINE_qemux86 = "yocto/standard/common-pc/base"
+KMACHINE_qemux86-64 = "yocto/standard/common-pc-64/base"
+KMACHINE_qemuppc = "yocto/standard/qemu-ppc32"
+KMACHINE_qemumips = "yocto/standard/mti-malta32-be"
+KMACHINE_qemuarm = "yocto/standard/arm-versatile-926ejs"
+KMACHINE_atom-pc = "yocto/standard/common-pc/atom-pc"
+KMACHINE_routerstationpro = "yocto/standard/routerstationpro"
+KMACHINE_mpc8315e-rdb = "yocto/standard/fsl-mpc8315e-rdb"
+KMACHINE_beagleboard = "yocto/standard/beagleboard"
+
+KBRANCH = ${KMACHINE}
+KMETA = meta
LINUX_VERSION ?= "2.6.37"
LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE}"
-PR = "r14"
+PR = "r15"
PV = "${LINUX_VERSION}+git${SRCPV}"
SRCREV_FORMAT = "meta_machine"
-SRC_URI = "git://git.pokylinux.org/linux-yocto-2.6.37;protocol=git;fullclone=1;branch=${KBRANCH};name=machine \
- git://git.pokylinux.org/linux-yocto-2.6.37;protocol=git;noclone=1;branch=meta;name=meta"
+SRC_URI = "git://git.pokylinux.org/linux-yocto-2.6.37;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta \
+ file://tools-perf-no-scripting.patch"
-COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64)"
+COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64|mpc8315e-rdb|routerstationpro|beagleboard)"
# Functionality flags
KERNEL_REVISION_CHECKING ?= "t"
@@ -29,5 +33,6 @@ KERNEL_FEATURES=features/netfilter
# extra tasks
addtask kernel_link_vmlinux after do_compile before do_install
addtask validate_branches before do_patch after do_kernel_checkout
+addtask kernel_configcheck after do_configure before do_compile
require linux-tools.inc
diff --git a/meta/recipes-kernel/linux/linux.inc b/meta/recipes-kernel/linux/linux.inc
index 93859bb5a..726d3d690 100644
--- a/meta/recipes-kernel/linux/linux.inc
+++ b/meta/recipes-kernel/linux/linux.inc
@@ -3,6 +3,7 @@ SECTION = "kernel"
LICENSE = "GPL"
inherit kernel
+require linux-dtb.inc
DEPENDS_append_em-x270 = " mtd-utils "
@@ -15,21 +16,6 @@ CMDLINE_at91sam9263ek = "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p1 rootfs
#boot from nfs
#CMDLINE_at91sam9263ek = "mem=64M console=ttyS0,115200 root=301 root=/dev/nfs nfsroot=172.20.3.1:/data/at91 ip=172.20.0.5:::255.255.0.0"
-# Support for device tree generation
-FILES_kernel_devicetree = "/boot/devicetree*"
-KERNEL_DEVICETREE_FLAGS = "-R 8 -p 0x3000"
-
-python __anonymous () {
- import bb
-
- devicetree = bb.data.getVar("KERNEL_DEVICETREE", d, 1) or ''
- if devicetree:
- depends = bb.data.getVar("DEPENDS", d, 1)
- bb.data.setVar("DEPENDS", "%s dtc-native" % depends, d)
- packages = bb.data.getVar("PACKAGES", d, 1)
- bb.data.setVar("PACKAGES", "%s kernel-devicetree" % packages, d)
-}
-
do_configure_prepend() {
echo "" > ${S}/.config
@@ -105,14 +91,3 @@ do_install_prepend() {
fi
}
-do_install_append() {
- if test -n "${KERNEL_DEVICETREE}"; then
- dtc -I dts -O dtb ${KERNEL_DEVICETREE_FLAGS} -o devicetree ${KERNEL_DEVICETREE}
- install -m 0644 devicetree ${D}/boot/devicetree-${KERNEL_VERSION}
- install -d ${DEPLOY_DIR_IMAGE}
- install -m 0644 devicetree ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.dtb
- cd ${DEPLOY_DIR_IMAGE}
- rm -f ${KERNEL_IMAGE_SYMLINK_NAME}.dtb
- ln -sf ${KERNEL_IMAGE_BASE_NAME}.dtb ${KERNEL_IMAGE_SYMLINK_NAME}.dtb
- fi
-}
diff --git a/meta/recipes-kernel/linux/linux_2.6.33.2.bb b/meta/recipes-kernel/linux/linux_2.6.33.2.bb
index 0f1a9f4e0..2c9817f29 100644
--- a/meta/recipes-kernel/linux/linux_2.6.33.2.bb
+++ b/meta/recipes-kernel/linux/linux_2.6.33.2.bb
@@ -1,5 +1,8 @@
require linux.inc
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+
+
# Mark archs/machines that this kernel supports
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_mpc8313erdb = "1"
diff --git a/meta/recipes-kernel/lttng/lttng-ust_0.8.bb b/meta/recipes-kernel/lttng/lttng-ust_0.11.bb
index 507ee501e..575e35ac9 100644
--- a/meta/recipes-kernel/lttng/lttng-ust_0.8.bb
+++ b/meta/recipes-kernel/lttng/lttng-ust_0.11.bb
@@ -3,10 +3,7 @@ DESCRIPTION = "The LTTng Userspace Tracer (UST) is a library accompanied by a se
HOMEPAGE = "http://lttng.org/ust"
BUGTRACKER = "n/a"
-# In the source directory, doc/manual/ust.html says ustctl/libustcmd/ustd are
-# licensed as GPL v2, but the source codes of ustctl/libustcmd/ustd have a
-# LGPLv2.1+ header; the files in snprintf/ have a BSD header.
-LICENSE = "LGPV2.1+ & BSD"
+LICENSE = "LGPLv2.1+ & BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=e647752e045a8c45b6f583771bd561ef \
file://ustctl/ustctl.c;endline=16;md5=eceeaab8a5574f24d62f7950b9d1adf4 \
file://snprintf/various.h;endline=31;md5=89f2509b6b4682c4fc95255eec4abe44"
@@ -17,10 +14,17 @@ PR = "r0"
SRC_URI = "http://lttng.org/files/ust/releases/ust-${PV}.tar.gz"
-SRC_URI[md5sum] = "333ff7c8fef92b31dff85789865bb791"
-SRC_URI[sha256sum] = "802398bc2c3ad5c80bd236d1ee24968f4da8a1401695e8dc15cb396ac836abb4"
+SRC_URI[md5sum] = "0a23fa60df4da3fb5188e314001eb49c"
+SRC_URI[sha256sum] = "af8f699019ae260103bb401b6738d5e417e79732a509859b42a52e9a0f5edb35"
S = "${WORKDIR}/ust-${PV}"
inherit autotools
+# Due to liburcu not building on ARM or MIPS currently this recipe needs to
+# be limited also.
+# So here let us first suppport x86/powerpc platforms now.
+COMPATIBLE_HOST = '(x86_64.*|i.86.*|powerpc.*)-linux'
+
+
+
diff --git a/meta/recipes-kernel/lttng/lttng-viewer_0.12.35.bb b/meta/recipes-kernel/lttng/lttng-viewer_0.12.36.bb
index 94c615502..e3054957d 100644
--- a/meta/recipes-kernel/lttng/lttng-viewer_0.12.35.bb
+++ b/meta/recipes-kernel/lttng/lttng-viewer_0.12.36.bb
@@ -14,12 +14,12 @@ DEPENDS = "gtk+ pango popt"
SECTION = "devel"
-ALTNAME = "lttv-${PV}-20082010"
+ALTNAME = "lttv-${PV}-18112010"
SRC_URI = "http://lttng.org/files/packages/${ALTNAME}.tar.gz"
-SRC_URI[md5sum] = "ebcbc4e21184b4b0dcb0611b4977dad8"
-SRC_URI[sha256sum] = "d258b13cd76c37e4f8395c06159986dd45517bef312895ffa59722087a2879e7"
+SRC_URI[md5sum] = "967f7c9c843a43e2ec2ef9216edabc70"
+SRC_URI[sha256sum] = "a7d14ae84f9bb123298840922730d3121fa073dc036dccac63083d9686adeacd"
S = "${WORKDIR}/${ALTNAME}"
inherit autotools
diff --git a/meta/recipes-kernel/modutils/files/gcc4.patch b/meta/recipes-kernel/modutils/files/gcc4.patch
index e204898f0..53750bc61 100644
--- a/meta/recipes-kernel/modutils/files/gcc4.patch
+++ b/meta/recipes-kernel/modutils/files/gcc4.patch
@@ -1,6 +1,8 @@
---- modutils-2.4.27/depmod/depmod.c.old 2005-06-05 23:25:28.000000000 +0100
-+++ modutils-2.4.27/depmod/depmod.c 2005-06-05 23:25:38.000000000 +0100
-@@ -1133,7 +1133,7 @@
+Index: modutils-2.4.27/depmod/depmod.c
+===================================================================
+--- modutils-2.4.27.orig/depmod/depmod.c
++++ modutils-2.4.27/depmod/depmod.c
+@@ -1133,7 +1133,7 @@ static int addksyms(char *file_syms)
for (ksym = ksyms; so_far < nksyms; ++so_far, ksym++) {
if (strncmp((char *)ksym->name, "GPLONLY_", 8) == 0)
@@ -9,9 +11,11 @@
assert(n_syms < MAX_MAP_SYM);
symtab[n_syms++] = addsym((char *)ksym->name, mod, SYM_DEFINED, 0);
}
---- modutils-2.4.27/genksyms/genksyms.c.old 2005-06-05 23:24:16.000000000 +0100
-+++ modutils-2.4.27/genksyms/genksyms.c 2005-06-05 23:24:35.000000000 +0100
-@@ -45,7 +45,7 @@
+Index: modutils-2.4.27/genksyms/genksyms.c
+===================================================================
+--- modutils-2.4.27.orig/genksyms/genksyms.c
++++ modutils-2.4.27/genksyms/genksyms.c
+@@ -45,7 +45,7 @@ char *cur_filename, *output_directory;
int flag_debug, flag_dump_defs, flag_warnings;
int checksum_version = 1, kernel_version = version(2,0,0);
@@ -20,9 +24,11 @@
static int nsyms;
static struct symbol *expansion_trail;
---- modutils-2.4.27/insmod/insmod.c.old 2005-06-05 23:21:47.000000000 +0100
-+++ modutils-2.4.27/insmod/insmod.c 2005-06-05 23:22:34.000000000 +0100
-@@ -275,7 +275,7 @@
+Index: modutils-2.4.27/insmod/insmod.c
+===================================================================
+--- modutils-2.4.27.orig/insmod/insmod.c
++++ modutils-2.4.27/insmod/insmod.c
+@@ -275,7 +275,7 @@ static int add_symbols_from(struct obj_f
if (strncmp((char *)s->name, "GPLONLY_", 8) == 0) {
gplonly_seen = 1;
if (gpl)
@@ -31,9 +37,11 @@
else
continue;
}
---- modutils-2.4.27/obj/obj_kallsyms.c.old 2005-06-05 23:20:08.000000000 +0100
-+++ modutils-2.4.27/obj/obj_kallsyms.c 2005-06-05 23:20:24.000000000 +0100
-@@ -200,7 +200,7 @@
+Index: modutils-2.4.27/obj/obj_kallsyms.c
+===================================================================
+--- modutils-2.4.27.orig/obj/obj_kallsyms.c
++++ modutils-2.4.27/obj/obj_kallsyms.c
+@@ -200,7 +200,7 @@ obj_kallsyms (struct obj_file *fin, stru
/* Initial contents, header + one entry per input section. No strings. */
osec->header.sh_size = sizeof(*a_hdr) + loaded*sizeof(*a_sec);
@@ -42,7 +50,7 @@
xmalloc(osec->header.sh_size);
memset(osec->contents, 0, osec->header.sh_size);
a_hdr->size = sizeof(*a_hdr);
-@@ -275,7 +275,7 @@
+@@ -275,7 +275,7 @@ obj_kallsyms (struct obj_file *fin, stru
a_hdr->symbol_off +
a_hdr->symbols*a_hdr->symbol_size +
strings_size - strings_left;
@@ -51,9 +59,11 @@
xrealloc(a_hdr, a_hdr->total_size);
p = (char *)a_hdr + a_hdr->symbol_off;
memcpy(p, symbols, a_hdr->symbols*a_hdr->symbol_size);
---- modutils-2.4.27/obj/obj_mips.c.orig 2003-04-05 00:47:17.000000000 +0200
-+++ modutils-2.4.27/obj/obj_mips.c 2005-07-21 12:51:48.000000000 +0200
-@@ -244,7 +244,9 @@
+Index: modutils-2.4.27/obj/obj_mips.c
+===================================================================
+--- modutils-2.4.27.orig/obj/obj_mips.c
++++ modutils-2.4.27/obj/obj_mips.c
+@@ -244,7 +244,9 @@ arch_archdata (struct obj_file *f, struc
archdata_sec->header.sh_size = 0;
sec = obj_find_section(f, "__dbe_table");
if (sec) {
@@ -64,3 +74,18 @@
memset(ad, 0, sizeof(*ad));
archdata_sec->header.sh_size = sizeof(*ad);
ad->__start___dbe_table = sec->header.sh_addr;
+Index: modutils-2.4.27/obj/obj_ppc.c
+===================================================================
+--- modutils-2.4.27.orig/obj/obj_ppc.c
++++ modutils-2.4.27/obj/obj_ppc.c
+@@ -255,7 +255,9 @@ arch_archdata (struct obj_file *f, struc
+ archdata_sec->header.sh_size = 0;
+ sec = obj_find_section(f, "__ftr_fixup");
+ if (sec) {
+- ad = (struct archdata *) (archdata_sec->contents) = xmalloc(sizeof(*ad));
++ /* ad = (struct archdata *) (archdata_sec->contents) = xmalloc(sizeof(*ad)); */
++ archdata_sec->contents = xmalloc(sizeof(*ad));
++ ad = (struct archdata *) (archdata_sec->contents);
+ memset(ad, 0, sizeof(*ad));
+ archdata_sec->header.sh_size = sizeof(*ad);
+ ad->__start___ftr_fixup = sec->header.sh_addr;
diff --git a/meta/recipes-kernel/oprofile/oprofile_0.9.6.bb b/meta/recipes-kernel/oprofile/oprofile_0.9.6.bb
index 85e065f99..eb707e06d 100644
--- a/meta/recipes-kernel/oprofile/oprofile_0.9.6.bb
+++ b/meta/recipes-kernel/oprofile/oprofile_0.9.6.bb
@@ -12,10 +12,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
SECTION = "devel"
DEPENDS = "popt binutils"
-RDEPENDS = "binutils-symlinks"
-RRECOMMENDS = "kernel-vmlinux"
+RDEPENDS_${PN} = "binutils-symlinks"
+RRECOMMENDS_${PN} = "kernel-vmlinux"
-PR = "r0"
+PR = "r1"
SRC_URI = "${SOURCEFORGE_MIRROR}/oprofile/oprofile-${PV}.tar.gz \
file://opstart.patch \
diff --git a/meta/recipes-kernel/oprofile/oprofile_cvs.bb b/meta/recipes-kernel/oprofile/oprofile_cvs.bb
index f2ff5adfc..f2b5520f6 100644
--- a/meta/recipes-kernel/oprofile/oprofile_cvs.bb
+++ b/meta/recipes-kernel/oprofile/oprofile_cvs.bb
@@ -1,13 +1,13 @@
PV = "0.9.4+cvs${SRCDATE}"
-PR = "r0"
+PR = "r1"
SECTION = "devel"
SUMMARY = "System-Wide Profiler"
DESCRIPTION = "OProfile is a system-wide profiler for Linux systems, capable \
of profiling all running code at low overhead."
LICENSE = "GPL"
DEPENDS = "popt binutils"
-RDEPENDS = "binutils-symlinks"
-RRECOMMENDS = "kernel-vmlinux"
+RDEPENDS_${PN} = "binutils-symlinks"
+RRECOMMENDS_${PN} = "kernel-vmlinux"
DEFAULT_PREFERENCE = "-1"
diff --git a/meta/recipes-kernel/oprofile/oprofileui-svn.inc b/meta/recipes-kernel/oprofile/oprofileui-svn.inc
index 4c9211cc0..5d4091473 100644
--- a/meta/recipes-kernel/oprofile/oprofileui-svn.inc
+++ b/meta/recipes-kernel/oprofile/oprofileui-svn.inc
@@ -1,8 +1,9 @@
require oprofileui.inc
-PV = "0.0+svnr${SRCREV}"
-PR = "r0"
+PV = "0.0+svnr${SRCPV}"
+PR = "r1"
S = "${WORKDIR}/trunk"
-SRC_URI = "svn://svn.o-hand.com/repos/oprofileui;module=trunk;proto=http"
+SRC_URI = "svn://svn.o-hand.com/repos/oprofileui;module=trunk;proto=http \
+ file://dso_linking_change_build_fix.patch "
diff --git a/meta/recipes-kernel/oprofile/oprofileui/dso_linking_change_build_fix.patch b/meta/recipes-kernel/oprofile/oprofileui/dso_linking_change_build_fix.patch
new file mode 100644
index 000000000..4b44c69bc
--- /dev/null
+++ b/meta/recipes-kernel/oprofile/oprofileui/dso_linking_change_build_fix.patch
@@ -0,0 +1,25 @@
+With dso linking change in gcc, all the libraries are needed to be explicitely specified to linker now. It breaks this package in following way. The libm library needs to be specified explicitely.
+
+| make[2]: Entering directory `/disk0/pokybuild/build1/tmp/work/i586-poky-linux/oprofileui-0.0+svnr197-r0/trunk/src'^M
+| ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -Wall -g -std=gnu99 -DPKG_DATA_DIR=\""/usr/share/oprofileui"\" -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o oprofile-viewer main.o client.o archive.o archive_window.o archive_save_window.o view.o report.o parser.o image.o symbol.o module.o symbol_instance.o module_instance.o callee_symbol_instance.o caller_symbol_instance.o state-util.o -pthread -lglade-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lxml2 -lgnomevfs-2 -lgmodule-2.0 -lgconf-2 -ldbus-glib-1 -ldbus-1 -lpthread -lgobject-2.0 -lgthread-2.0 -lrt -lglib-2.0 -pthread -lavahi-ui -lgtk-x11-2.0 -lavahi-common -lavahi-client -lavahi-glib -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 ../protocol/libop.a^M
+| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: ^X^B: invalid DSO for symbol `log@@GLIBC_2.0' definition^M
+| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/lib/libm.so.6: could not read symbols: Bad value^M
+| collect2: ld returned 1 exit status^M
+| make[2]: *** [oprofile-viewer] Error 1^M
+
+Nitin A Kamble <nitin.a.kamble@intel.com>
+Date: 2011/01/11
+
+Index: trunk/src/Makefile.am
+===================================================================
+--- trunk.orig/src/Makefile.am
++++ trunk/src/Makefile.am
+@@ -56,7 +56,7 @@ oprofile_viewer_SOURCES = \
+
+ oprofile_viewer_LDFLAGS =
+
+-oprofile_viewer_LDADD = $(OPROFILEUI_LIBS) $(AVAHI_LIBS) $(top_builddir)/protocol/libop.a
++oprofile_viewer_LDADD = $(OPROFILEUI_LIBS) -lm $(AVAHI_LIBS) $(top_builddir)/protocol/libop.a
+
+ testparser_SOURCES = \
+ parser.c \
diff --git a/meta/recipes-kernel/systemtap/systemtap_git.bb b/meta/recipes-kernel/systemtap/systemtap_git.bb
new file mode 100644
index 000000000..f28c946a1
--- /dev/null
+++ b/meta/recipes-kernel/systemtap/systemtap_git.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "SystemTap - script-directed dynamic tracing and performance analysis tool for Linux"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+DEPENDS = "elfutils"
+
+PR = r0
+PV = "1.4+git${SRCPV}"
+
+SRC_URI = "git://sources.redhat.com/git/systemtap.git;protocol=git \
+ "
+
+EXTRA_OECONF = "--prefix=${D} --with-libelf=${STAGING_DIR_TARGET} --without-rpm \
+ ac_cv_file__usr_include_nss=no \
+ ac_cv_file__usr_include_nss3=no \
+ ac_cv_file__usr_include_nspr=no \
+ ac_cv_file__usr_include_nspr4=no \
+ ac_cv_file__usr_include_avahi_client=no \
+ ac_cv_file__usr_include_avahi_common=no "
+
+SRC_URI[md5sum] = "cb202866ed704c44a876d041f788bdee"
+SRC_URI[sha256sum] = "8ffe35caec0d937bd23fd78a3a8d94b58907cc0de0330b35e38f9f764815c459"
+
+COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuppc|emenlow|crownbay|atom-pc|n450)"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
diff --git a/meta/recipes-kernel/trace-cmd/kernelshark_git.bb b/meta/recipes-kernel/trace-cmd/kernelshark_git.bb
new file mode 100644
index 000000000..bfe7d997f
--- /dev/null
+++ b/meta/recipes-kernel/trace-cmd/kernelshark_git.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Graphical trace viewer for Ftrace"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
+ file://kernel-shark.c;beginline=6;endline=8;md5=2c22c965a649ddd7973d7913c5634a5e"
+
+PR = r0
+PV = "1.0.5+git${SRCPV}"
+
+DEPENDS = "gtk+"
+RDEPENDS_${PN} = "trace-cmd"
+
+inherit pkgconfig
+
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git;protocol=git"
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "'CC=${CC}' 'AR=${AR}' 'prefix=${prefix}' gui"
+
+do_install() {
+ oe_runmake CC="${CC}" AR="${AR}" prefix="${prefix}" DESTDIR="${D}" install_gui
+}
diff --git a/meta/recipes-kernel/trace-cmd/trace-cmd_git.bb b/meta/recipes-kernel/trace-cmd/trace-cmd_git.bb
index e375afcad..8fe62d4f3 100644
--- a/meta/recipes-kernel/trace-cmd/trace-cmd_git.bb
+++ b/meta/recipes-kernel/trace-cmd/trace-cmd_git.bb
@@ -1,19 +1,18 @@
DESCRIPTION = "User interface to Ftrace"
-LICENSE = "GPL"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
+ file://trace-cmd.c;beginline=6;endline=8;md5=2c22c965a649ddd7973d7913c5634a5e"
-PR = r1
-PV = "1.0.4+git${SRCPV}"
+PR = r0
+PV = "1.0.5+git${SRCPV}"
+
+inherit pkgconfig
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git;protocol=git"
S = "${WORKDIR}/git"
-
-do_compile() {
- oe_runmake ARCH="${ARCH}" CC="${CC}" LD="${LD}" prefix=${prefix}
-}
+EXTRA_OEMAKE = "'prefix=${prefix}'"
do_install() {
- oe_runmake ARCH="${ARCH}" CC="${CC}" LD="${LD}" \
- prefix=${prefix} DESTDIR=${D} install
+ oe_runmake prefix="${prefix}" DESTDIR="${D}" install
}
diff --git a/meta/recipes-kernel/update-modules/update-modules_1.0.bb b/meta/recipes-kernel/update-modules/update-modules_1.0.bb
index 93bc1493d..a473bb58c 100644
--- a/meta/recipes-kernel/update-modules/update-modules_1.0.bb
+++ b/meta/recipes-kernel/update-modules/update-modules_1.0.bb
@@ -4,8 +4,8 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${WORKDIR}/COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe"
PACKAGE_ARCH = "all"
-RDEPENDS = "${@base_contains("MACHINE_FEATURES", "kernel26", "module-init-tools-depmod","modutils-depmod",d)} "
-PR = "r7"
+RDEPENDS_${PN} = "${@base_contains("MACHINE_FEATURES", "kernel26", "module-init-tools-depmod","modutils-depmod",d)} "
+PR = "r8"
SRC_URI = "file://update-modules \
file://COPYING.GPL"
@@ -25,7 +25,7 @@ do_install() {
# The Unslung distro uses a 2.4 kernel for a machine (the NSLU2) which
# supports both 2.4 and 2.6 kernels. Rather than forcing OE to have
# to deal with that unique legacy corner case, we just nullify the
-# RDEPENDS here and handle it in the Unslung image recipe. I know this
+# RDEPENDS_${PN} here and handle it in the Unslung image recipe. I know this
# is ugly. Please don't remove it unless you first make the RDEPENDS
# line at the top of this file understand that a machine can be used
# in both a 2.4 kernel distro and a 2.6 kernel distro. Really, it's
diff --git a/meta/recipes-multimedia/gstreamer/gst-openmax_0.10.1.bb b/meta/recipes-multimedia/gstreamer/gst-openmax_0.10.1.bb
index a4cf81533..5eb7e425c 100644
--- a/meta/recipes-multimedia/gstreamer/gst-openmax_0.10.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gst-openmax_0.10.1.bb
@@ -1,5 +1,5 @@
DEPENDS = "gstreamer"
-RDEPENDS = "libomxil"
+RDEPENDS_${PN} = "libomxil"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \
file://util/sem.h;beginline=1;endline=20;md5=accce5550d5583b839b441a0623f09fc"
@@ -10,7 +10,7 @@ inherit autotools
EXTRA_OECONF += "--disable-valgrind"
-PR = "r0"
+PR = "r1"
FILES_${PN} += "${libdir}/gstreamer-0.10/libgstomx.so"
FILES_${PN}-dev += "${libdir}/gstreamer-0.10/libgstomx.*a"
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-base-0.10.30/gst-plugins-base-tremor.patch b/meta/recipes-multimedia/gstreamer/gst-plugins-base-0.10.31/gst-plugins-base-tremor.patch
index a6494fd4a..a6494fd4a 100644
--- a/meta/recipes-multimedia/gstreamer/gst-plugins-base-0.10.30/gst-plugins-base-tremor.patch
+++ b/meta/recipes-multimedia/gstreamer/gst-plugins-base-0.10.31/gst-plugins-base-tremor.patch
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.30.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.31.bb
index aac630291..8bf243ed6 100644
--- a/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.30.bb
+++ b/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.31.bb
@@ -6,14 +6,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \
file://gst/ffmpegcolorspace/utils.c;beginline=1;endline=20;md5=9c83a200b8e597b26ca29df20fc6ecd0"
-DEPENDS += "virtual/libx11 alsa-lib freetype gnome-vfs liboil libogg libvorbis libxv libtheora avahi"
-RDEPENDS += "gnome-vfs-plugin-file gnome-vfs-plugin-http gnome-vfs-plugin-ftp \
+DEPENDS += "virtual/libx11 alsa-lib freetype gnome-vfs liboil libogg libvorbis libxv libtheora avahi util-linux"
+RDEPENDS_${PN} += "gnome-vfs-plugin-file gnome-vfs-plugin-http gnome-vfs-plugin-ftp \
gnome-vfs-plugin-sftp"
SRC_URI += " file://gst-plugins-base-tremor.patch"
-SRC_URI[md5sum] = "3ad90152b58563e1314af26c263f3c4c"
-SRC_URI[sha256sum] = "63938641380be9935c804ae8d55acdcfd93920ed2deb72dcf70f027a78b085d7"
+SRC_URI[md5sum] = "9baa0d87e81c88b2477a3554ab629c46"
+SRC_URI[sha256sum] = "abb006c78222cfb69d31e983268d1d5219e9d4e0da24c6c4cd687968af7a33bd"
PR = "r1"
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.25.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.26.bb
index 83b43b6f9..78b24fe8d 100644
--- a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.25.bb
+++ b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.26.bb
@@ -18,5 +18,5 @@ do_configure_prepend() {
rm ${S}/m4/lib-link.m4 || true
}
-SRC_URI[md5sum] = "d734bc866788d1d6fc74c4ff1318926c"
-SRC_URI[sha256sum] = "b5d5750c12412c47d85ba9391c842f6f02cad9511876695e48b15fb37e4699f6"
+SRC_URI[md5sum] = "e1ed191adbf81edff04f348f8ce8e198"
+SRC_URI[sha256sum] = "ceb3bbea5ce18463b8fe470d34786bc846469e800305c436d799af9fe22bdcc4"
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins.inc b/meta/recipes-multimedia/gstreamer/gst-plugins.inc
index cd3e0a0a9..4edca9561 100644
--- a/meta/recipes-multimedia/gstreamer/gst-plugins.inc
+++ b/meta/recipes-multimedia/gstreamer/gst-plugins.inc
@@ -7,6 +7,8 @@ DEPENDS = "gstreamer"
inherit autotools pkgconfig
+FILESPATH =. "${FILE_DIRNAME}/gst-plugins:"
+
SRC_URI = "http://gstreamer.freedesktop.org/src/${PN}/${PN}-${PV}.tar.bz2"
EXTRA_OECONF = "--disable-valgrind --disable-debug --disable-examples "
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer-0.10.30/make-382.patch b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.30/make-382.patch
deleted file mode 100644
index 1af2a8132..000000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer-0.10.30/make-382.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-The whitespaces instead of tabs here cause the new, stricter, parser in make
-3.82 to barf on the doc makefiles.
-
-This patch should no longer be required in more recent gstreamer version
-
-JL - 14/12/10
-
-Index: gstreamer-0.10.29/common/gtk-doc.mak
-===================================================================
---- gstreamer-0.10.29.orig/common/gtk-doc.mak
-+++ gstreamer-0.10.29/common/gtk-doc.mak
-@@ -232,6 +232,6 @@ dist-hook: dist-check-gtkdoc dist-hook-l
- -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/
- -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/
- cd $(distdir) && rm -f $(DISTCLEANFILES)
-- -gtkdoc-rebase --online --relative --html-dir=$(distdir)/html
-+ -gtkdoc-rebase --online --relative --html-dir=$(distdir)/html
-
- .PHONY : dist-hook-local docs
-Index: gstreamer-0.10.29/common/gtk-doc-plugins.mak
-===================================================================
---- gstreamer-0.10.29.orig/common/gtk-doc-plugins.mak
-+++ gstreamer-0.10.29/common/gtk-doc-plugins.mak
-@@ -352,7 +352,7 @@ dist-hook: dist-check-gtkdoc dist-hook-l
- -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/
- -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/
- cd $(distdir) && rm -f $(DISTCLEANFILES)
-- -gtkdoc-rebase --online --relative --html-dir=$(distdir)/html
-+ -gtkdoc-rebase --online --relative --html-dir=$(distdir)/html
-
- .PHONY : dist-hook-local docs
-
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer-0.10.30/check_fix.patch b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.31/check_fix.patch
index 72c3f6407..72c3f6407 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer-0.10.30/check_fix.patch
+++ b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.31/check_fix.patch
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer-0.10.30/gst-inspect-check-error.patch b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.31/gst-inspect-check-error.patch
index 4ca1dbe6a..4ca1dbe6a 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer-0.10.30/gst-inspect-check-error.patch
+++ b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.31/gst-inspect-check-error.patch
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer-0.10.30/gstregistrybinary.c b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.31/gstregistrybinary.c
index c1f3e71af..c1f3e71af 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer-0.10.30/gstregistrybinary.c
+++ b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.31/gstregistrybinary.c
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer-0.10.30/gstregistrybinary.h b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.31/gstregistrybinary.h
index 2ef24d765..2ef24d765 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer-0.10.30/gstregistrybinary.h
+++ b/meta/recipes-multimedia/gstreamer/gstreamer-0.10.31/gstregistrybinary.h
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer_0.10.30.bb b/meta/recipes-multimedia/gstreamer/gstreamer_0.10.31.bb
index 538884e3d..e7b00adfa 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer_0.10.30.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer_0.10.31.bb
@@ -10,15 +10,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605 \
file://gst/gst.h;beginline=1;endline=21;md5=8e5fe5e87d33a04479fde862e238eaa4"
DEPENDS = "glib-2.0 gettext libxml2 bison-native flex-native"
-PR = "r1"
+PR = "r0"
SRC_URI = "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.bz2 \
file://check_fix.patch \
- file://gst-inspect-check-error.patch \
- file://make-382.patch"
+ file://gst-inspect-check-error.patch"
-SRC_URI[md5sum] = "de01f73f71d97c5854badd363ca06509"
-SRC_URI[sha256sum] = "e8ef301be423797ff36a0bb3615930b112b4175634051d19fd655e0ed974532a"
+SRC_URI[md5sum] = "a21fb08bdb578d972c7c14e77da8fbb6"
+SRC_URI[sha256sum] = "7f737e6d047c1ebeb4e1e0725fc377c5d9f12ee89186de7960be3cbba709ab84"
inherit autotools pkgconfig
diff --git a/meta/recipes-multimedia/libogg/libogg_1.2.1.bb b/meta/recipes-multimedia/libogg/libogg_1.2.2.bb
index 37b6c090b..83454c8d0 100644
--- a/meta/recipes-multimedia/libogg/libogg_1.2.1.bb
+++ b/meta/recipes-multimedia/libogg/libogg_1.2.2.bb
@@ -13,7 +13,7 @@ PR = "r0"
SRC_URI = "http://downloads.xiph.org/releases/ogg/libogg-${PV}.tar.gz"
-SRC_URI[md5sum] = "b998c2420721146df3b3d0e7776c97b9"
-SRC_URI[sha256sum] = "6858848617bca6eab01e7d8526bc0d2a417e95070a255cbf9c881881365e36c0"
+SRC_URI[md5sum] = "5a9fcabc9a1b7c6f1cd75ddc78f36c56"
+SRC_URI[sha256sum] = "ab000574bc26d5f01284f5b0f50e12dc761d035c429f2e9c70cb2a9487d8cfba"
inherit autotools pkgconfig
diff --git a/meta/recipes-multimedia/musicbrainz/libmusicbrainz_3.0.3.bb b/meta/recipes-multimedia/musicbrainz/libmusicbrainz_3.0.3.bb
index 080c1bf36..861e6fc72 100644
--- a/meta/recipes-multimedia/musicbrainz/libmusicbrainz_3.0.3.bb
+++ b/meta/recipes-multimedia/musicbrainz/libmusicbrainz_3.0.3.bb
@@ -6,10 +6,10 @@ LIC_FILES_CHKSUM = "file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24 \
file://include/musicbrainz3/includes.h;beginline=1;endline=21;md5=9ab2846573f560cea7561da472803a72"
DEPENDS = "expat neon"
-PR = "r0"
+PR = "r2"
SRC_URI = "http://ftp.musicbrainz.org/pub/musicbrainz/${PN}-${PV}.tar.gz \
- file://fix_build_issue_for_gcc_4.5.0.patch"
+ file://fix_build_issue_for_gcc_4.5.0.patch "
SRC_URI[md5sum] = "f4824d0a75bdeeef1e45cc88de7bb58a"
SRC_URI[sha256sum] = "7fd459a9fd05be9faec60a9a21caa9a1e9fda03147d58d8c7c95f33582a738c5"
diff --git a/meta/recipes-multimedia/pulseaudio/libcanberra/autoconf_version.patch b/meta/recipes-multimedia/pulseaudio/libcanberra/autoconf_version.patch
deleted file mode 100644
index 73a2ea6e4..000000000
--- a/meta/recipes-multimedia/pulseaudio/libcanberra/autoconf_version.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Allow a slightly older autoconf and disable the inbuild libltdl
-
-RP - 16/4/09
-
-Index: libcanberra-0.10/Makefile.am
-===================================================================
---- libcanberra-0.10.orig/Makefile.am 2009-04-16 14:38:53.000000000 +0100
-+++ libcanberra-0.10/Makefile.am 2009-04-16 14:39:04.000000000 +0100
-@@ -19,7 +19,7 @@
- dist_doc_DATA = README
-
- EXTRA_DIST = bootstrap.sh autogen.sh LGPL libcanberra.schemas
--SUBDIRS = src gtkdoc libltdl doc
-+SUBDIRS = src gtkdoc doc
-
- MAINTAINERCLEANFILES = README
- noinst_DATA = README
-Index: libcanberra-0.10/configure.ac
-===================================================================
---- libcanberra-0.10.orig/configure.ac 2009-04-16 14:32:33.000000000 +0100
-+++ libcanberra-0.10/configure.ac 2009-04-16 14:37:50.000000000 +0100
-@@ -19,7 +19,7 @@
- # License along with libcanberra. If not, see
- # <http://www.gnu.org/licenses/>.
-
--AC_PREREQ(2.62)
-+AC_PREREQ(2.61)
-
- AC_INIT([libcanberra], 0.10, [mzyvopnaoreen (at) 0pointer (dot) de])
- AC_CONFIG_SRCDIR([src/common.c])
-@@ -70,7 +70,6 @@
- AC_PROG_LIBTOOL
- AC_SUBST(LTDLINCL)
- AC_SUBST(LIBLTDL)
--AC_CONFIG_SUBDIRS(libltdl)
-
- #### Determine build environment ####
-
diff --git a/meta/recipes-multimedia/pulseaudio/libcanberra/nofallbackfix.patch b/meta/recipes-multimedia/pulseaudio/libcanberra/nofallbackfix.patch
deleted file mode 100644
index 89a4fbf9f..000000000
--- a/meta/recipes-multimedia/pulseaudio/libcanberra/nofallbackfix.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: libcanberra-0.10/src/sound-theme-spec.c
-===================================================================
---- libcanberra-0.10.orig/src/sound-theme-spec.c 2009-05-22 17:08:23.000000000 +0100
-+++ libcanberra-0.10/src/sound-theme-spec.c 2009-05-22 17:12:50.000000000 +0100
-@@ -398,9 +398,9 @@
- if ((ret = load_theme_dir(t, name)) < 0)
- goto fail;
-
-+ /* The fallback theme may intentionally not exist so ignore failure */
- if (!t->loaded_fallback_theme)
-- if ((ret = load_theme_dir(t, FALLBACK_THEME)) < 0)
-- goto fail;
-+ load_theme_dir(t, FALLBACK_THEME);
-
- if (*_t)
- ca_theme_data_free(*_t);
diff --git a/meta/recipes-multimedia/pulseaudio/libcanberra_0.10.bb b/meta/recipes-multimedia/pulseaudio/libcanberra_0.26.bb
index a94be2076..0daeb0e6c 100644
--- a/meta/recipes-multimedia/pulseaudio/libcanberra_0.10.bb
+++ b/meta/recipes-multimedia/pulseaudio/libcanberra_0.26.bb
@@ -2,19 +2,17 @@ SUMMARY = "Implementation of XDG Sound Theme and Name Specifications"
DESCRIPTION = "Libcanberra is an implementation of the XDG Sound Theme and Name Specifications, for generating event sounds on free desktops."
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
- file://src/canberra.h;endline=24;md5=8dd99ba690687f5816f711d9313c8967"
+ file://src/canberra.h;beginline=7;endline=24;md5=c616c687cf8da540a14f917e0d23ab03"
DEPENDS = "gtk+ pulseaudio alsa-lib libtool"
-PR = "r3"
+PR = "r0"
inherit gconf autotools
-SRC_URI = "http://0pointer.de/lennart/projects/libcanberra/libcanberra-${PV}.tar.gz \
- file://nofallbackfix.patch;patch=1 \
- file://autoconf_version.patch;patch=1"
+SRC_URI = "http://0pointer.de/lennart/projects/libcanberra/libcanberra-${PV}.tar.gz"
-SRC_URI[md5sum] = "2623370bfcecaeecaeb85e5ec445f340"
-SRC_URI[sha256sum] = "b0e3cb59e605412a52352cf9cf36344b165463d4e65916c95deb73fc51838272"
+SRC_URI[md5sum] = "ee2c66ada7c851a4e7b6eb1682285a24"
+SRC_URI[sha256sum] = "4b5d8d2c2835133620adbc53745dd107b6e58b9a2963059e8f457143fee00982"
EXTRA_OECONF = " --disable-oss --disable-ltdl-install"
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/armv4+v5asm.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.22/armv4+v5asm.patch
index f07ee672e..f07ee672e 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/armv4+v5asm.patch
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.22/armv4+v5asm.patch
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/autoconf_version.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.22/autoconf_version.patch
index 80d0003d1..80d0003d1 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/autoconf_version.patch
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.22/autoconf_version.patch
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/buildfix.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.22/buildfix.patch
index ea8d769ab..ea8d769ab 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/buildfix.patch
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.22/buildfix.patch
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/configure_silent_rules.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.22/configure_silent_rules.patch
index fd5abd522..fd5abd522 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/configure_silent_rules.patch
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.22/configure_silent_rules.patch
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/gcc4-compile-fix.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.22/gcc4-compile-fix.patch
index 2969cbaa5..2969cbaa5 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/gcc4-compile-fix.patch
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.22/gcc4-compile-fix.patch
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/tls_m4.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.22/tls_m4.patch
index a8292b2e1..a8292b2e1 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/tls_m4.patch
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.22/tls_m4.patch
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/volatiles.04_pulse b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.22/volatiles.04_pulse
index 5b1998032..5b1998032 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.21/volatiles.04_pulse
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio-0.9.22/volatiles.04_pulse
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio_0.9.21.bb b/meta/recipes-multimedia/pulseaudio/pulseaudio_0.9.22.bb
index d2c21c47b..0d2f3286e 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio_0.9.21.bb
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio_0.9.22.bb
@@ -24,5 +24,5 @@ do_compile_prepend() {
cp ${STAGING_LIBDIR}/libltdl* ${S}/libltdl
}
-SRC_URI[md5sum] = "76e623c4c72e2258bc8bdeb1599bad74"
-SRC_URI[sha256sum] = "94e22356ac70ee95388ae58da90d88c6b3186d1938618d21671627ff56cee254"
+SRC_URI[md5sum] = "ca85ab470669b05e100861654cf5eb3c"
+SRC_URI[sha256sum] = "c6019324395117a258c048a6db5e9734551cc2c61dc35b46403ff00d64be55f0"
diff --git a/meta/recipes-multimedia/tremor/tremor_20101027.bb b/meta/recipes-multimedia/tremor/tremor_20101121.bb
index c0a24645a..157b3025e 100644
--- a/meta/recipes-multimedia/tremor/tremor_20101027.bb
+++ b/meta/recipes-multimedia/tremor/tremor_20101121.bb
@@ -9,7 +9,7 @@ DEPENDS = "libogg"
SRCDATE = "${PV}"
PR = "r0"
-SRC_URI = "svn://svn.xiph.org/trunk;module=Tremor;rev=17572;proto=http"
+SRC_URI = "svn://svn.xiph.org/trunk;module=Tremor;rev=17636;proto=http"
S = "${WORKDIR}/Tremor"
diff --git a/meta/recipes-qt/meta/meta-toolchain-qte.bb b/meta/recipes-qt/meta/meta-toolchain-qte.bb
new file mode 100644
index 000000000..da0dda77c
--- /dev/null
+++ b/meta/recipes-qt/meta/meta-toolchain-qte.bb
@@ -0,0 +1,26 @@
+# Qt Embedded toolchain
+PR = "r5"
+TOOLCHAIN_HOST_TASK = "task-qte-toolchain-host"
+TOOLCHAIN_TARGET_TASK = "task-qte-toolchain-target"
+
+require recipes-core/meta/meta-toolchain.bb
+SDK_SUFFIX = "toolchain-qte"
+
+QT_DIR_NAME = "qtopia"
+
+toolchain_create_sdk_env_script_append() {
+ echo 'export OE_QMAKE_CC=${TARGET_SYS}-gcc' >> $script
+ echo 'export OE_QMAKE_CXX=${TARGET_SYS}-g++' >> $script
+ echo 'export OE_QMAKE_LINK=${TARGET_SYS}-g++' >> $script
+ echo 'export OE_QMAKE_AR=${TARGET_SYS}-ar' >> $script
+ echo 'export OE_QMAKE_LIBDIR_QT=${SDKPATH}/${TARGET_SYS}/${libdir}' >> $script
+ echo 'export OE_QMAKE_INCDIR_QT=${SDKPATH}/${TARGET_SYS}/${includedir}/${QT_DIR_NAME}' >> $script
+ echo 'export OE_QMAKE_MOC=${SDKPATH}/bin/moc4' >> $script
+ echo 'export OE_QMAKE_UIC=${SDKPATH}/bin/uic4' >> $script
+ echo 'export OE_QMAKE_UIC3=${SDKPATH}/bin/uic34' >> $script
+ echo 'export OE_QMAKE_RCC=${SDKPATH}/bin/rcc4' >> $script
+ echo 'export OE_QMAKE_QDBUSCPP2XML=${SDKPATH}/bin/qdbuscpp2xml4' >> $script
+ echo 'export OE_QMAKE_QDBUSXML2CPP=${SDKPATH}/bin/qdbusxml2cpp4' >> $script
+ echo 'export OE_QMAKE_QT_CONFIG=${SDKPATH}/${TARGET_SYS}/${datadir}/${QT_DIR_NAME}/mkspecs/qconfig.pri' >> $script
+ echo 'export QMAKESPEC=${SDKPATH}/${TARGET_SYS}/${datadir}/${QT_DIR_NAME}/mkspecs/linux-g++' >> $script
+}
diff --git a/meta/recipes-qt/qt-apps/fotowall_0.9.bb b/meta/recipes-qt/qt-apps/fotowall_0.9.bb
index 30dca4eeb..c5c751d9a 100644
--- a/meta/recipes-qt/qt-apps/fotowall_0.9.bb
+++ b/meta/recipes-qt/qt-apps/fotowall_0.9.bb
@@ -7,8 +7,10 @@ LIC_FILES_CHKSUM = "file://GPL_V2;md5=79808397c3355f163c012616125c9e26 \
file://main.cpp;beginline=6;endline=11;md5=b569acc2bf8974a3082b58fc53b9d8dc"
SECTION = "x11/apps"
+PR = "r1"
+
DEPENDS = "qt4-x11-free"
-RDEPENDS = "qt4-x11-free"
+RRECOMMENDS_${PN} += "qt4-plugin-imageformat-gif qt4-plugin-imageformat-jpeg qt4-plugin-imageformat-tiff"
SRC_URI = "http://qt-apps.org/CONTENT/content-files/71316-Fotowall-0.9.tar.bz2"
diff --git a/meta/recipes-qt/qt-apps/qmmp_0.4.1.bb b/meta/recipes-qt/qt-apps/qmmp_0.4.1.bb
deleted file mode 100644
index c5afd91ea..000000000
--- a/meta/recipes-qt/qt-apps/qmmp_0.4.1.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-DESCRIPTION = "Qmmp (Qt-based Multimedia Player) is an audio-player, written with help of Qt library"
-HOMEPAGE = "http://qmmp.ylsoftware.com"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
-SECTION = "multimedia"
-
-PR = "r1"
-
-DEPENDS = "qt4-x11-free taglib"
-RDEPENDS = "qt4-x11-free libmad libvorbis libogg taglib alsa-lib curl"
-
-SRC_URI = "http://qmmp.ylsoftware.com/files/qmmp-0.4.1.tar.bz2"
-
-PARALLEL_MAKE = ""
-
-inherit qmake2 pkgconfig
-
-do_configure_prepend() {
- # fix qt4 lrelease name
- sed -i -e 's/lrelease-qt4/lrelease4/' ${S}/qmmp.pro
-
- # disable the unsupported plugin
- for plugin in sndfile wavpack ; do
- sed -i -e "s/$plugin//" ${S}/src/plugins/Input/Input.pro
- done
- sed -i -e 's/mms//' ${S}/src/plugins/Transports/Transports.pro
- sed -i -e 's/srconverter//' ${S}/src/plugins/Effect/Effect.pro
-
- sed -i -e 's/^CONFIG/#CONFIG/' ${S}/qmmp.pri
- sed -i -e 's/CONFIG += WITH_ENCA/#CONFIG += WITH_ENCA/' ${S}/qmmp.pri
-}
-
-do_install() {
- oe_runmake INSTALL_ROOT=${D} install
-}
diff --git a/meta/recipes-qt/qt-apps/qmmp_0.4.3.bb b/meta/recipes-qt/qt-apps/qmmp_0.4.3.bb
new file mode 100644
index 000000000..b01c61660
--- /dev/null
+++ b/meta/recipes-qt/qt-apps/qmmp_0.4.3.bb
@@ -0,0 +1,46 @@
+DESCRIPTION = "Qmmp (Qt-based Multimedia Player) is an audio-player, written with help of Qt library"
+HOMEPAGE = "http://qmmp.ylsoftware.com"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
+SECTION = "multimedia"
+
+PR = "r0"
+
+DEPENDS = "qt4-x11-free taglib libmad libvorbis libogg alsa-lib"
+RDEPENDS_${PN} += "taglib alsa-lib curl"
+
+SRC_URI = "http://qmmp.ylsoftware.com/files/${PN}-${PV}.tar.bz2"
+
+SRC_URI[md5sum] = "b79ce55ed8aca31a29360ff828ce1881"
+SRC_URI[sha256sum] = "a75c2c676515182ecfbe811cba29ba4ca736912e52fde283db4d03eb116457a4"
+
+PARALLEL_MAKE = ""
+
+inherit qmake2 cmake
+
+export EXTRA_OECMAKE = "-DQT_QMAKE_EXECUTABLE=${OE_QMAKE_QMAKE} \
+ -DQT_LRELEASE_EXECUTABLE=${OE_QMAKE_LRELEASE} \
+ -DQT_MOC_EXECUTABLE=${OE_QMAKE_MOC} \
+ -DQT_UIC_EXECUTABLE=${OE_QMAKE_UIC} \
+ -DQT_RCC_EXECUTABLE=${OE_QMAKE_RCC} \
+ -DQT_LIBRARY_DIR=${OE_QMAKE_LIBDIR_QT} \
+ -DQT_HEADERS_DIR=${OE_QMAKE_INCDIR_QT} \
+ -DQT_QTCORE_INCLUDE_DIR=${OE_QMAKE_INCDIR_QT}/QtCore \
+ "
+
+FILES_${PN} = "${bindir}/qmmp ${libdir}/*.so* \
+ ${libdir}/qmmp/PlaylistFormats/*.so \
+ ${libdir}/qmmp/Output/libalsa.so \
+ ${libdir}/qmmp/Transports/libhttp.so \
+ ${libdir}/qmmp/Visual/libanalyzer.so \
+ ${datadir}/icons/* \
+ ${datadir}/qmmp/images/* \
+ ${datadir}/applications/qmmp.desktop \
+ "
+
+PACKAGES += "${PN}-plugin-input-mad ${PN}-plugin-input-vorbis"
+
+FILES_${PN}-plugin-input-mad = "${libdir}/qmmp/Input/libmad.so"
+RDEPENDS_${PN}-plugin-input-mad = "libmad"
+FILES_${PN}-plugin-input-vorbis = "${libdir}/qmmp/Input/libvorbis.so"
+RDEPENDS_${PN}-plugin-input-vorbis = "libvorbis libogg"
diff --git a/meta/recipes-qt/qt-apps/quicky_0.4.bb b/meta/recipes-qt/qt-apps/quicky_0.4.bb
index 004e02940..20c04f8db 100644
--- a/meta/recipes-qt/qt-apps/quicky_0.4.bb
+++ b/meta/recipes-qt/qt-apps/quicky_0.4.bb
@@ -4,8 +4,9 @@ LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://version.h;endline=19;md5=878bdaff438dab86298301fd1a210e14"
SECTION = "x11/apps"
+PR = "r1"
+
DEPENDS = "qt4-x11-free"
-RDEPENDS = "qt4-x11-free"
SRC_URI = "http://qt-apps.org/CONTENT/content-files/80325-quicky-0.4.tar.gz"
diff --git a/meta/recipes-qt/qt4/files/compile.test-lflags.patch b/meta/recipes-qt/qt4/files/compile.test-lflags.patch
new file mode 100644
index 000000000..e4b256b0c
--- /dev/null
+++ b/meta/recipes-qt/qt4/files/compile.test-lflags.patch
@@ -0,0 +1,13 @@
+Index: qt-everywhere-opensource-src-4.6.3/config.tests/unix/compile.test
+===================================================================
+--- qt-everywhere-opensource-src-4.6.3.orig/config.tests/unix/compile.test 2010-06-02 06:03:18.000000000 +0400
++++ qt-everywhere-opensource-src-4.6.3/config.tests/unix/compile.test 2010-10-04 17:35:07.587783460 +0400
+@@ -11,7 +11,7 @@
+ EXE=`basename "$6"`
+ DESCRIPTION=$7
+ shift 7
+-LFLAGS=""
++LFLAGS="$LDFLAGS"
+ INCLUDEPATH=""
+ CXXFLAGS=""
+ MAC_ARCH_CXXFLAGS=""
diff --git a/meta/recipes-qt/qt4/files/configure-lflags.patch b/meta/recipes-qt/qt4/files/configure-lflags.patch
new file mode 100644
index 000000000..df195494e
--- /dev/null
+++ b/meta/recipes-qt/qt4/files/configure-lflags.patch
@@ -0,0 +1,13 @@
+Index: qtopia-core-opensource-src-4.3.3/configure
+===================================================================
+--- qtopia-core-opensource-src-4.3.3.orig/configure 2008-01-14 08:53:51.000000000 +0000
++++ qtopia-core-opensource-src-4.3.3/configure 2008-01-14 08:54:07.000000000 +0000
+@@ -447,7 +447,7 @@
+ # initalize variables
+ #-------------------------------------------------------------------------------
+
+-SYSTEM_VARIABLES="CC CXX CFLAGS CXXFLAGS LDFLAGS"
++SYSTEM_VARIABLES="CC CXX CFLAGS CXXFLAGS LDFLAGS LFLAGS"
+ for varname in $SYSTEM_VARIABLES; do
+ cmd=`echo \
+ 'if [ -n "\$'${varname}'" ]; then
diff --git a/meta/recipes-qt/qt4/files/configure-paths.patch b/meta/recipes-qt/qt4/files/configure-paths.patch
new file mode 100644
index 000000000..c9259a115
--- /dev/null
+++ b/meta/recipes-qt/qt4/files/configure-paths.patch
@@ -0,0 +1,21 @@
+Index: qt-everywhere-opensource-src-4.6.3/configure
+===================================================================
+--- qt-everywhere-opensource-src-4.6.3.orig/configure 2011-01-10 15:47:37.100607001 +0000
++++ qt-everywhere-opensource-src-4.6.3/configure 2011-01-10 15:49:14.576606999 +0000
+@@ -7198,11 +7198,11 @@
+ QMAKE_MOC_SRC = \$\$QT_BUILD_TREE/src/moc
+
+ #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
+-QMAKE_MOC = \$\$QT_BUILD_TREE/bin/moc
+-QMAKE_UIC = \$\$QT_BUILD_TREE/bin/uic
+-QMAKE_UIC3 = \$\$QT_BUILD_TREE/bin/uic3
+-QMAKE_RCC = \$\$QT_BUILD_TREE/bin/rcc
+-QMAKE_QDBUSXML2CPP = \$\$QT_BUILD_TREE/bin/qdbusxml2cpp
++QMAKE_MOC = \${OE_QMAKE_MOC}
++QMAKE_UIC = \${OE_QMAKE_UIC}
++QMAKE_UIC3 = \${OE_QMAKE_UIC3}
++QMAKE_RCC = \${OE_QMAKE_RCC}
++QMAKE_QDBUSXML2CPP = \${OE_QMAKE_QDBUSXML2CPP}
+ QMAKE_INCDIR_QT = \$\$QT_BUILD_TREE/include
+ QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
+
diff --git a/meta/recipes-qt/qt4/files/qmake-exists-check.patch b/meta/recipes-qt/qt4/files/qmake-exists-check.patch
new file mode 100644
index 000000000..cc73837e5
--- /dev/null
+++ b/meta/recipes-qt/qt4/files/qmake-exists-check.patch
@@ -0,0 +1,18 @@
+qt4-tools-nativesdk: avoid rebuilding qmake
+
+qt4-tools-nativesdk patch to avoids building qmake in configure if it already exists
+(as it will, since we symlink it in from the native sysroot in do_configure)
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+
+--- qt-everywhere-opensource-src-4.6.3.orig/configure 2011-01-10 12:01:56.260607001 +0000
++++ qt-everywhere-opensource-src-4.6.3/configure 2011-01-10 12:02:20.584607015 +0000
+@@ -4286,7 +4286,7 @@
+ }
+
+ # build qmake
+-if true; then ###[ '!' -f "$outpath/bin/qmake" ];
++if [ '!' -f "$outpath/bin/qmake" ]; then
+ echo "Creating qmake. Please wait..."
+
+ OLD_QCONFIG_H=
diff --git a/meta/recipes-qt/qt4/files/qte.sh b/meta/recipes-qt/qt4/files/qte.sh
new file mode 100644
index 000000000..21d6ecbd6
--- /dev/null
+++ b/meta/recipes-qt/qt4/files/qte.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+if [ -e /dev/input/touchscreen0 ]
+then
+ QWS_MOUSE_PROTO=Tslib:/dev/input/touchscreen0
+ export QWS_MOUSE_PROTO
+fi
diff --git a/meta/recipes-qt/qt4/files/qthelp-lib-qtclucene.patch b/meta/recipes-qt/qt4/files/qthelp-lib-qtclucene.patch
new file mode 100644
index 000000000..1d250d8a9
--- /dev/null
+++ b/meta/recipes-qt/qt4/files/qthelp-lib-qtclucene.patch
@@ -0,0 +1,86 @@
+qt-embedded: fix linker error in do_compile
+
+This patch ensures that we link to libQtCLucene where required (i.e. when
+linking to libQtHelp) avoiding a linker error.
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+
+Index: qt-everywhere-opensource-src-4.6.3/demos/qtdemo/qtdemo.pro
+===================================================================
+--- qt-everywhere-opensource-src-4.6.3.orig/demos/qtdemo/qtdemo.pro 2011-01-11 16:06:47.382828004 +0000
++++ qt-everywhere-opensource-src-4.6.3/demos/qtdemo/qtdemo.pro 2011-01-11 16:10:06.906828001 +0000
+@@ -76,3 +76,10 @@
+ sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES qtdemo.pro images xml *.ico *.icns *.rc *.plist
+ sources.path = $$[QT_INSTALL_DEMOS]/qtdemo
+
++qclucene = QtCLucene$${QT_LIBINFIX}
++if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
++ mac:qclucene = $${qclucene}_debug
++ win32:qclucene = $${qclucene}d
++}
++linux-lsb-g++:LIBS_PRIVATE += --lsb-shared-libs=$$qclucene
++LIBS_PRIVATE += -l$$qclucene
+Index: qt-everywhere-opensource-src-4.6.3/examples/help/contextsensitivehelp/contextsensitivehelp.pro
+===================================================================
+--- qt-everywhere-opensource-src-4.6.3.orig/examples/help/contextsensitivehelp/contextsensitivehelp.pro 2011-01-11 16:05:56.598828002 +0000
++++ qt-everywhere-opensource-src-4.6.3/examples/help/contextsensitivehelp/contextsensitivehelp.pro 2011-01-11 16:09:57.762828002 +0000
+@@ -18,3 +18,11 @@
+ INSTALLS += target sources
+
+ symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
++
++qclucene = QtCLucene$${QT_LIBINFIX}
++if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
++ mac:qclucene = $${qclucene}_debug
++ win32:qclucene = $${qclucene}d
++}
++linux-lsb-g++:LIBS_PRIVATE += --lsb-shared-libs=$$qclucene
++LIBS_PRIVATE += -l$$qclucene
+Index: qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/assistant/assistant.pro
+===================================================================
+--- qt-everywhere-opensource-src-4.6.3.orig/tools/assistant/tools/assistant/assistant.pro 2011-01-11 14:56:50.902828001 +0000
++++ qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/assistant/assistant.pro 2011-01-11 16:09:39.914828003 +0000
+@@ -85,3 +85,11 @@
+ DEFINES += USE_STATIC_SQLITE_PLUGIN
+ }
+ }
++
++qclucene = QtCLucene$${QT_LIBINFIX}
++if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
++ mac:qclucene = $${qclucene}_debug
++ win32:qclucene = $${qclucene}d
++}
++linux-lsb-g++:LIBS_PRIVATE += --lsb-shared-libs=$$qclucene
++LIBS_PRIVATE += -l$$qclucene
+Index: qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/qcollectiongenerator/qcollectiongenerator.pro
+===================================================================
+--- qt-everywhere-opensource-src-4.6.3.orig/tools/assistant/tools/qcollectiongenerator/qcollectiongenerator.pro 2011-01-11 14:56:50.918828002 +0000
++++ qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/qcollectiongenerator/qcollectiongenerator.pro 2011-01-11 16:09:44.538828001 +0000
+@@ -12,3 +12,11 @@
+ main.cpp
+
+ HEADERS += ../shared/helpgenerator.h
++
++qclucene = QtCLucene$${QT_LIBINFIX}
++if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
++ mac:qclucene = $${qclucene}_debug
++ win32:qclucene = $${qclucene}d
++}
++linux-lsb-g++:LIBS_PRIVATE += --lsb-shared-libs=$$qclucene
++LIBS_PRIVATE += -l$$qclucene
+Index: qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/qhelpgenerator/qhelpgenerator.pro
+===================================================================
+--- qt-everywhere-opensource-src-4.6.3.orig/tools/assistant/tools/qhelpgenerator/qhelpgenerator.pro 2011-01-11 14:56:50.930828002 +0000
++++ qt-everywhere-opensource-src-4.6.3/tools/assistant/tools/qhelpgenerator/qhelpgenerator.pro 2011-01-11 16:09:50.274828003 +0000
+@@ -12,3 +12,11 @@
+ main.cpp
+
+ HEADERS += ../shared/helpgenerator.h
++
++qclucene = QtCLucene$${QT_LIBINFIX}
++if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
++ mac:qclucene = $${qclucene}_debug
++ win32:qclucene = $${qclucene}d
++}
++linux-lsb-g++:LIBS_PRIVATE += --lsb-shared-libs=$$qclucene
++LIBS_PRIVATE += -l$$qclucene
diff --git a/meta/recipes-qt/qt4/qt-4.6.3.inc b/meta/recipes-qt/qt4/qt-4.6.3.inc
index 155af66b8..ec2c9208d 100644
--- a/meta/recipes-qt/qt4/qt-4.6.3.inc
+++ b/meta/recipes-qt/qt4/qt-4.6.3.inc
@@ -19,6 +19,9 @@ SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.
file://mips-relocate.patch \
"
+SRC_URI[md5sum] = "5c69f16d452b0bb3d44bc3c10556c072"
+SRC_URI[sha256sum] = "f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768"
+
S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
do_configure_prepend() {
@@ -40,7 +43,7 @@ do_configure_append() {
}
QT_GLFLAGS ?= ""
-QT_CONFIG_FLAGS += " -no-rpath -qt3support -silent ${QT_GLFLAGS}"
+QT_CONFIG_FLAGS += " -no-rpath -qt3support -reduce-relocations -silent ${QT_GLFLAGS}"
do_compile() {
# Fixup missing wsegl header in some SGX SDKs
@@ -51,16 +54,3 @@ do_compile() {
unset CFLAGS CXXFLAGS
oe_runmake ${EXTRA_ENV}
}
-
-do_install_append() {
- install -d ${D}${bindir}
- for i in rcc uic moc ; do
- install -m 0755 ${S}/bin/$i ${D}${bindir}/
- done
-
- #Append an E to the qtdemo file
- if [ -n "${QT_LIBINFIX}" ] ; then
- mv ${D}${bindir}/qtdemo ${D}${bindir}/qtdemo${QT_LIBINFIX}
- fi
-}
-
diff --git a/meta/recipes-qt/qt4/qt-4.7.1.inc b/meta/recipes-qt/qt4/qt-4.7.1.inc
new file mode 100644
index 000000000..70ee59697
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt-4.7.1.inc
@@ -0,0 +1,58 @@
+LICENSE = "LGPLv2.1 | GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
+ file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
+ file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
+
+FILESPATH =. "${FILE_DIRNAME}/qt-${PV}:"
+
+SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
+ file://0004-no-qmake.patch \
+ file://hack-out-pg2-4.7.0.patch \
+ file://0006-freetype-host-includes.patch \
+ file://0001-Added-Openembedded-crossarch-option.patch \
+ file://g++.conf \
+ file://linux.conf \
+ "
+
+SRC_URI[md5sum] = "6f88d96507c84e9fea5bf3a71ebeb6d7"
+SRC_URI[sha256sum] = "8cb5277c41f824cfc6dcee0e95e0bf23a9ad2c8d18d245105137481d092b124a"
+
+S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
+
+FILES_${QT_BASE_NAME}-tools += "${bindir}/qml"
+
+do_configure_prepend() {
+ for pro in $(find ${S} -name "*.pro") ; do
+ sed -i 's:$$QT_BUILD_TREE/bin/lrelease:${OE_QMAKE_LRELEASE}:g' $pro
+ done
+
+ sed -i s:SEDME:${S}: ${WORKDIR}/linux.conf
+ sed -i \
+ -e /QMAKE_MOC\ /d \
+ -e /QMAKE_UIC\ /d \
+ -e /QMAKE_UIC3\ /d \
+ -e /QMAKE_RCC\ /d \
+ ${S}/configure
+}
+
+do_configure_append() {
+ sed -e '/QMAKE_TARGET /d' -e '/TARGET /d' -i ${S}/translations/Makefile
+}
+
+QT_GLFLAGS ?= ""
+QT_CONFIG_FLAGS += " -xmlpatterns -no-rpath -qt3support -reduce-relocations -silent ${QT_GLFLAGS}"
+
+do_compile() {
+ # Fixup missing wsegl header in some SGX SDKs
+ if ! [ -e ${STAGING_INCDIR}/wsegl.h ] ; then
+ cp src/3rdparty/powervr/wsegl.h src/plugins/gfxdrivers/powervr/QWSWSEGL/
+ fi
+
+ unset CFLAGS CXXFLAGS
+ install -m 0755 ${STAGING_BINDIR_NATIVE}/rcc4 ${S}/bin/rcc
+ install -m 0755 ${STAGING_BINDIR_NATIVE}/moc4 ${S}/bin/moc
+ install -m 0755 ${STAGING_BINDIR_NATIVE}/uic4 ${S}/bin/uic
+ install -m 0755 ${STAGING_BINDIR_NATIVE}/lrelease4 ${S}/bin/lrelease
+
+ oe_runmake ${EXTRA_ENV}
+}
diff --git a/meta/recipes-qt/qt4/qt-4.7.1/0001-Added-Openembedded-crossarch-option.patch b/meta/recipes-qt/qt4/qt-4.7.1/0001-Added-Openembedded-crossarch-option.patch
new file mode 100644
index 000000000..71a04a59d
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt-4.7.1/0001-Added-Openembedded-crossarch-option.patch
@@ -0,0 +1,44 @@
+From b1ba119f6a824dc01bd42ee00dba4a1653867b72 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Matthias=20G=C3=BCnther?= <matgnt@gmail.com>
+Date: Wed, 12 May 2010 16:52:45 +0200
+Subject: [PATCH 1/9] Added Openembedded "-crossarch" option
+
+---
+ configure | 7 ++++++-
+ 1 files changed, 6 insertions(+), 1 deletions(-)
+
+diff --git a/configure b/configure
+index facd192..9d15136 100755
+--- a/configure
++++ b/configure
+@@ -954,7 +954,7 @@ while [ "$#" -gt 0 ]; do
+ shift
+ VAL=$1
+ ;;
+- -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config)
++ -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config|-crossarch)
+ VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
+ shift
+ VAL="$1"
+@@ -1443,6 +1443,9 @@ while [ "$#" -gt 0 ]; do
+ xplatform)
+ XPLATFORM="$VAL"
+ ;;
++ crossarch)
++ CROSSARCH="$VAL"
++ ;;
+ debug-and-release)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+ CFG_DEBUG_RELEASE="$VAL"
+@@ -2918,6 +2921,8 @@ elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
+ CFG_ARCH=$CFG_HOST_ARCH
+ fi
+
++CFG_ARCH="$CROSSARCH"
++
+ if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
+ if [ "$OPT_VERBOSE" = "yes" ]; then
+ echo " '$CFG_ARCH' is supported"
+--
+1.7.0.4
+
diff --git a/meta/recipes-qt/qt4/qt-4.7.1/g++.conf b/meta/recipes-qt/qt4/qt-4.7.1/g++.conf
new file mode 100644
index 000000000..80f925cc5
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt-4.7.1/g++.conf
@@ -0,0 +1,60 @@
+#
+# qmake configuration for common gcc
+#
+
+QMAKE_CC = $(OE_QMAKE_CC)
+QMAKE_CFLAGS += -pipe $(OE_QMAKE_CFLAGS)
+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $(OE_QMAKE_CFLAGS)
+QMAKE_CFLAGS_DEPS += -M
+QMAKE_CFLAGS_WARN_ON += -Wall -W
+QMAKE_CFLAGS_WARN_OFF += -w
+QMAKE_CFLAGS_RELEASE +=
+QMAKE_CFLAGS_DEBUG += -g
+QMAKE_CFLAGS_SHLIB += -fPIC
+QMAKE_CFLAGS_STATIC_LIB += -fPIC
+QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
+QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
+
+QMAKE_CXX = $(OE_QMAKE_CXX)
+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS)
+QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
+QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
+QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+
+QMAKE_LINK = $(OE_QMAKE_LINK)
+QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK)
+QMAKE_LINK_C = $(OE_QMAKE_LINK)
+QMAKE_LINK_C_SHLIB = $(OE_QMAKE_LINK)
+QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS)
+QMAKE_LFLAGS_RELEASE +=
+QMAKE_LFLAGS_DEBUG +=
+QMAKE_LFLAGS_APP +=
+QMAKE_LFLAGS_SHLIB += -shared
+QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME += -Wl,-soname,
+QMAKE_LFLAGS_THREAD +=
+QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
+QMAKE_LFLAGS_RPATH = -Wl,-rpath-link,
+
+QMAKE_PCH_OUTPUT_EXT = .gch
+
+# -Bsymbolic-functions (ld) support
+QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
+QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
+
+# some linking helper...
+CONFIG += rpath_libdirs
+
+# for the SDK
+isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG)
diff --git a/meta/recipes-qt/qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch b/meta/recipes-qt/qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch
new file mode 100644
index 000000000..5c588ff0f
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt-4.7.1/hack-out-pg2-4.7.0.patch
@@ -0,0 +1,19 @@
+Index: qt-everywhere-opensource-src-4.7.0/configure
+===================================================================
+--- qt-everywhere-opensource-src-4.7.0.orig/configure 2010-09-22 15:43:51.191162141 -0400
++++ qt-everywhere-opensource-src-4.7.0/configure 2010-09-22 15:44:35.179981232 -0400
+@@ -4921,10 +4921,10 @@
+ psql)
+ if [ "$CFG_SQL_psql" != "no" ]; then
+ # Be careful not to use native pg_config when cross building.
+- if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
+- QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
+- QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
+- fi
++# if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
++# QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
++# QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
++# fi
+ [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
+ [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
+ # But, respect PSQL_LIBS if set
diff --git a/meta/recipes-qt/qt4/qt-4.7.1/linux.conf b/meta/recipes-qt/qt4/qt-4.7.1/linux.conf
new file mode 100644
index 000000000..a54135513
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt-4.7.1/linux.conf
@@ -0,0 +1,66 @@
+#
+# qmake configuration for common linux
+#
+
+QMAKE_CFLAGS_THREAD += -D_REENTRANT
+QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 =
+QMAKE_LIBDIR_X11 =
+QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT)
+QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT)
+QMAKE_INCDIR_OPENGL =
+QMAKE_LIBDIR_OPENGL =
+QMAKE_INCDIR_OPENGL_ES1 = $$QMAKE_INCDIR_OPENGL
+QMAKE_LIBDIR_OPENGL_ES1 = $$QMAKE_LIBDIR_OPENGL
+QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL
+QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL
+QMAKE_INCDIR_EGL =
+QMAKE_LIBDIR_EGL =
+QMAKE_INCDIR_OPENVG =
+QMAKE_LIBDIR_OPENVG =
+
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11)
+QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM)
+QMAKE_LIBS_NIS = -lnsl
+QMAKE_LIBS_EGL = -lEGL
+QMAKE_LIBS_OPENGL = -lGLU -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_OPENGL_ES1 = -lGLES_CM
+QMAKE_LIBS_OPENGL_ES2 = -lGLESv2
+QMAKE_LIBS_OPENVG = -lOpenVG
+QMAKE_LIBS_THREAD = -lpthread
+
+QMAKE_MOC = $(OE_QMAKE_MOC)
+QMAKE_UIC = $(OE_QMAKE_UIC)
+QMAKE_UIC3 = $(OE_QMAKE_UIC3)
+QMAKE_RCC = $(OE_QMAKE_RCC)
+QMAKE_QDBUSCPP2XML = $(OE_QMAKE_QDBUSCPP2XML)
+QMAKE_QDBUSXML2CPP = $(OE_QMAKE_QDBUSXML2CPP)
+
+QMAKE_AR = $(OE_QMAKE_AR) cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_COPY_FILE = $(COPY)
+QMAKE_COPY_DIR = $(COPY) -r
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_STRIP = $(OE_QMAKE_STRIP)
+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)
diff --git a/meta/recipes-qt/qt4/qt4-embedded.inc b/meta/recipes-qt/qt4/qt4-embedded.inc
new file mode 100644
index 000000000..2ed1819f6
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-embedded.inc
@@ -0,0 +1,34 @@
+DESCRIPTION = "Qt is a versatile cross-platform application framework -- this is the embedded version."
+SECTION = "libs"
+LICENSE = "LGPLv2.1 | GPLv3"
+PRIORITY = "optional"
+HOMEPAGE = "http://qt.nokia.com"
+DEPENDS += "directfb tslib"
+INC_PR = "r26"
+
+QT_BASE_NAME ?= "qt4-embedded"
+QT_BASE_LIB ?= "libqt-embedded"
+
+# Set necessary variables in the profile
+SRC_URI += "file://qte.sh"
+
+QT_CONFIG_FLAGS += " \
+ -embedded ${QT_ARCH} \
+ -qtlibinfix ${QT_LIBINFIX} \
+ -plugin-gfx-transformed -plugin-gfx-qvfb -plugin-gfx-vnc -plugin-gfx-directfb \
+ -plugin-mouse-tslib -qt-mouse-pc -qt-mouse-qvfb -qt-mouse-linuxinput \
+ -qt-kbd-tty \
+ -DQT_KEYPAD_NAVIGATION \
+ "
+
+require qt4.inc
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/profile.d/
+ install -m 0755 ${WORKDIR}/qte.sh ${D}${sysconfdir}/profile.d/
+}
+
+FILES_${PN} += " ${sysconfdir}/profile.d/qte.sh"
+
+inherit qt4e
+
diff --git a/meta/recipes-qt/qt4/qt4-embedded_4.6.3.bb b/meta/recipes-qt/qt4/qt4-embedded_4.6.3.bb
new file mode 100644
index 000000000..dd662aa3d
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-embedded_4.6.3.bb
@@ -0,0 +1,9 @@
+require qt-${PV}.inc
+require qt4-embedded.inc
+
+SRC_URI += "file://qthelp-lib-qtclucene.patch"
+
+PR = "${INC_PR}.1"
+
+QT_CONFIG_FLAGS_append_armv6 = " -no-neon "
+
diff --git a/meta/recipes-qt/qt4/qt4-embedded_4.7.1.bb b/meta/recipes-qt/qt4/qt4-embedded_4.7.1.bb
new file mode 100644
index 000000000..c3f671319
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-embedded_4.7.1.bb
@@ -0,0 +1,10 @@
+require qt-${PV}.inc
+require qt4-embedded.inc
+
+PR = "${INC_PR}.1"
+
+QT_CONFIG_FLAGS_append_armv6 = " -no-neon "
+
+QT_CONFIG_FLAGS += " \
+ -exceptions \
+"
diff --git a/meta/recipes-qt/qt4/qt4-tools-native.inc b/meta/recipes-qt/qt4/qt4-tools-native.inc
index 6dca21857..0c4d2c776 100644
--- a/meta/recipes-qt/qt4/qt4-tools-native.inc
+++ b/meta/recipes-qt/qt4/qt4-tools-native.inc
@@ -1,9 +1,16 @@
DESCRIPTION = "Native tools for Qt/[X11|Mac|Embedded] version 4.x"
-DEPENDS = "zlib-native dbus-native libsm-native"
+DEPENDS = "zlib-native dbus-native"
SECTION = "libs"
HOMEPAGE = "http://qt.nokia.com"
PRIORITY = "optional"
+LICENSE = "LGPLv2.1 | GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
+ file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
+ file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
+
+INC_PR = "r11"
+
inherit native
SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
@@ -16,13 +23,14 @@ EXTRA_OECONF = "-prefix ${prefix} \
-L ${STAGING_LIBDIR_NATIVE} \
-I ${STAGING_INCDIR_NATIVE} \
-qt-libjpeg -qt-gif -system-zlib \
- -no-libjpeg -no-libpng \
+ -no-libjpeg -no-libpng -no-libmng -no-libtiff \
-no-accessibility \
-no-cups \
-no-exceptions \
-no-nas-sound \
- -no-nis \
+ -no-nis -no-openssl \
-verbose -release -static \
+ -embedded -no-freetype -no-glib -no-iconv \
-qt3support"
# yank default -e, otherwise we get the following error:
@@ -59,7 +67,7 @@ do_install() {
for i in moc uic rcc lrelease lupdate; do
install -m 0755 bin/${i} ${D}${bindir}/${i}4
done
-
+
install -d ${D}${datadir}/qt4/
cp -PfR mkspecs ${D}${datadir}/qt4/
ln -sf linux-g++ ${D}${datadir}/qt4/mkspecs/${BUILD_OS}-oe-g++
diff --git a/meta/recipes-qt/qt4/qt4-tools-native_4.6.3.bb b/meta/recipes-qt/qt4/qt4-tools-native_4.6.3.bb
index ac66eb3d5..dae8cd19e 100644
--- a/meta/recipes-qt/qt4/qt4-tools-native_4.6.3.bb
+++ b/meta/recipes-qt/qt4/qt4-tools-native_4.6.3.bb
@@ -1,11 +1,11 @@
require qt4-tools-native.inc
-LICENSE = "LGPLv2.1 | GPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
- file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
- file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
-PR = "r2"
+PR = "${INC_PR}.0"
-EXTRA_OECONF += " -no-fast -silent -no-rpath -no-freetype -no-fontconfig"
+EXTRA_OECONF += " -no-fast -silent -no-rpath"
TOBUILD := "src/tools/bootstrap ${TOBUILD}"
+
+SRC_URI[md5sum] = "5c69f16d452b0bb3d44bc3c10556c072"
+SRC_URI[sha256sum] = "f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768"
+
diff --git a/meta/recipes-qt/qt4/qt4-tools-native_4.7.1.bb b/meta/recipes-qt/qt4/qt4-tools-native_4.7.1.bb
new file mode 100644
index 000000000..e9de510fe
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-tools-native_4.7.1.bb
@@ -0,0 +1,13 @@
+require qt4-tools-native.inc
+
+PR = "${INC_PR}.0"
+
+# Find the g++.conf/linux.conf in the right directory.
+FILESPATHPKG =. "qt-${PV}:"
+
+EXTRA_OECONF += " -no-fast -silent -no-rpath"
+
+TOBUILD := "src/tools/bootstrap ${TOBUILD}"
+
+SRC_URI[md5sum] = "6f88d96507c84e9fea5bf3a71ebeb6d7"
+SRC_URI[sha256sum] = "8cb5277c41f824cfc6dcee0e95e0bf23a9ad2c8d18d245105137481d092b124a"
diff --git a/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc b/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc
new file mode 100644
index 000000000..f273c9fab
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc
@@ -0,0 +1,111 @@
+DESCRIPTION = "SDK tools for Qt/[X11|Mac|Embedded] version 4.x"
+DEPENDS = "zlib-nativesdk dbus-nativesdk libx11-nativesdk qt4-tools-native"
+SECTION = "libs"
+HOMEPAGE = "http://qt.nokia.com"
+PRIORITY = "optional"
+LICENSE = "LGPLv2.1 | GPLv3"
+
+INC_PR = "r3"
+
+FILESPATHPKG =. "qt-${PV}:"
+inherit nativesdk qmake2
+
+SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
+ file://configure-lflags.patch \
+ file://compile.test-lflags.patch \
+ file://qt-config.patch \
+ file://qmake-exists-check.patch \
+ file://configure-paths.patch \
+ file://g++.conf \
+ file://linux.conf"
+
+S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
+
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
+ file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
+ file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
+
+# FIXME: make it work with "${STAGING_BINDIR_NATIVE}/pkg-config --cflags dbus-1"
+EXTRA_OECONF = "-prefix ${prefix} \
+ -qt-libjpeg -qt-gif -system-zlib \
+ -no-libjpeg -no-libpng -no-libmng -no-libtiff \
+ -no-accessibility \
+ -no-cups \
+ -no-exceptions \
+ -no-nas-sound \
+ -no-nis -no-openssl \
+ -verbose -release -fast -static \
+ -platform ${TARGET_OS}-oe-g++ \
+ -xplatform ${TARGET_OS}-oe-g++ \
+ -embedded -no-freetype -no-glib -no-iconv \
+ -qt3support \
+ -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include \
+ -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/freetype2 \
+ -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/dbus-1.0 \
+ -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/lib/dbus-1.0/include \
+ -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/c++ \
+ -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/c++/${TARGET_SYS} \
+ -L${STAGING_DIR_HOST}${SDKPATHNATIVE}/lib \
+ -L${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/lib"
+
+# yank default -e, otherwise we get the following error:
+# moc_qbuffer.cpp: No such file or directory
+EXTRA_OEMAKE = " "
+
+do_configure() {
+ if [ ! -e bin/qmake ]; then
+ ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake
+ fi
+
+ if [ ! -e mkspecs/${TARGET_OS}-oe-g++ ]; then
+ ln -sf linux-g++ mkspecs/${TARGET_OS}-oe-g++
+ fi
+
+ cp ../g++.conf mkspecs/common
+ cp ../linux.conf mkspecs/common
+
+ (echo o; echo yes) | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
+}
+
+TOBUILD = "\
+ src/tools/bootstrap \
+ src/tools/moc \
+ src/corelib \
+ src/sql \
+ src/dbus \
+ src/qt3support \
+ src/xml \
+ src/tools/uic \
+ src/tools/rcc \
+ src/network \
+ src/gui \
+ src/tools/uic3 \
+ tools/linguist/lrelease \
+ tools/linguist/lupdate \
+ tools/qdbus \
+"
+
+do_compile() {
+ for i in ${TOBUILD}; do
+ cd ${S}/$i && oe_runmake CC="${CC}" CXX="${CXX}"
+ done
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 bin/qmake ${D}${bindir}/qmake2
+ for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do
+ install -m 0755 bin/${i} ${D}${bindir}/${i}4
+ done
+
+ (cd ${D}${bindir}; \
+ ln -s qmake2 qmake; \
+ for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do \
+ ln -s ${i}4 ${i}; \
+ done)
+
+ # make a symbolic link to mkspecs for compatibility with Nokia's SDK
+ # and QTCreator
+ (cd ${D}${bindir}/..; ln -s ${TARGET_SYS}/usr/share/qtopia/mkspecs mkspecs;)
+}
+
diff --git a/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb b/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb
new file mode 100644
index 000000000..d64542b5f
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.6.3.bb
@@ -0,0 +1,6 @@
+require qt4-tools-nativesdk.inc
+
+PR = "${INC_PR}.0"
+
+SRC_URI[md5sum] = "5c69f16d452b0bb3d44bc3c10556c072"
+SRC_URI[sha256sum] = "f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768"
diff --git a/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb b/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb
new file mode 100644
index 000000000..091a53927
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.7.1.bb
@@ -0,0 +1,6 @@
+require qt4-tools-nativesdk.inc
+
+PR = "${INC_PR}.0"
+
+SRC_URI[md5sum] = "6f88d96507c84e9fea5bf3a71ebeb6d7"
+SRC_URI[sha256sum] = "8cb5277c41f824cfc6dcee0e95e0bf23a9ad2c8d18d245105137481d092b124a"
diff --git a/meta/recipes-qt/qt4/qt4-x11-free.inc b/meta/recipes-qt/qt4/qt4-x11-free.inc
index 22eef7c0e..057a129ec 100644
--- a/meta/recipes-qt/qt4/qt4-x11-free.inc
+++ b/meta/recipes-qt/qt4/qt4-x11-free.inc
@@ -1,9 +1,13 @@
require qt4.inc
+DESCRIPTION = "Qt is a versatile cross-platform application framework -- this is the X11 version."
+HOMEPAGE = "http://qt.nokia.com"
SECTION = "x11/libs"
PRIORITY = "optional"
DEPENDS += "virtual/libx11 fontconfig libxft libxext libxrender libxrandr libxcursor"
+INC_PR = "r21"
+
QT_GLFLAGS ?= "-no-opengl"
QT_GLFLAGS_qemux86 = "-opengl"
QT_GLFLAGS_emenlow = "-opengl"
@@ -11,7 +15,6 @@ QT_GLFLAGS_atom-pc = "-opengl"
QT_CONFIG_FLAGS += "-no-xinerama -no-xkb ${QT_GLFLAGS}"
QT_BASE_NAME ?= "qt4"
QT_BASE_LIB ?= "libqt"
-QT_DIR_NAME = "qt4"
-QT_LIBINFIX = ""
-inherit qmake2
+inherit qt4x11
+
diff --git a/meta/recipes-qt/qt4/qt4-x11-free_4.6.3.bb b/meta/recipes-qt/qt4/qt4-x11-free_4.6.3.bb
index 0a03e9b5a..8cf544925 100644
--- a/meta/recipes-qt/qt4/qt4-x11-free_4.6.3.bb
+++ b/meta/recipes-qt/qt4/qt4-x11-free_4.6.3.bb
@@ -1,9 +1,6 @@
+require qt-${PV}.inc
require qt4-x11-free.inc
-require qt-4.6.3.inc
-PR = "r1"
+PR = "${INC_PR}.0"
QT_CONFIG_FLAGS += " -xrandr "
-
-SRC_URI[md5sum] = "5c69f16d452b0bb3d44bc3c10556c072"
-SRC_URI[sha256sum] = "f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768"
diff --git a/meta/recipes-qt/qt4/qt4-x11-free_4.7.1.bb b/meta/recipes-qt/qt4/qt4-x11-free_4.7.1.bb
new file mode 100644
index 000000000..75c6314e7
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4-x11-free_4.7.1.bb
@@ -0,0 +1,12 @@
+require qt4-x11-free.inc
+require qt-${PV}.inc
+
+PR = "${INC_PR}.1"
+
+QT_CONFIG_FLAGS_append_armv6 = " -no-neon "
+
+QT_CONFIG_FLAGS += " \
+ -no-embedded \
+ -xrandr \
+ -x11"
+
diff --git a/meta/recipes-qt/qt4/qt4.inc b/meta/recipes-qt/qt4/qt4.inc
index 16d5bebd3..de8cb691e 100644
--- a/meta/recipes-qt/qt4/qt4.inc
+++ b/meta/recipes-qt/qt4/qt4.inc
@@ -1,15 +1,20 @@
-DESCRIPTION = "Qt is a comprehensive cross-platform C++ application framework"
-HOMEPAGE = "http://qt.nokia.com"
+inherit qmake_base
DEPENDS += "qt4-tools-native freetype jpeg libpng zlib dbus openssl glib-2.0 gstreamer gst-plugins-base sqlite3"
-inherit qmake_base
+require qt4_arch.inc
+QT_ARCH := "${@qt_arch(d)}"
+QT_ENDIAN = "${@qt_endian(d)}"
-QT_CONFIG_FLAGS += "-release -no-cups -no-accessibility -reduce-relocations \
- -shared -no-nas-sound -no-sm -no-nis \
+QT_DISTRO_FLAGS ?= "-no-accessibility -no-sm"
+QT_DISTRO_FLAGS_poky-lsb = "-sm"
+
+QT_CONFIG_FLAGS += "-release -no-cups -reduce-relocations \
+ -shared -no-nas-sound -no-nis \
-qt-gif -system-libjpeg -system-libpng -system-zlib \
-no-sql-ibase -no-sql-mysql -no-sql-psql -no-sql-odbc -plugin-sql-sqlite \
- -no-pch -dbus -stl -glib -phonon -webkit"
+ -no-pch -qdbus -stl -glib -phonon -webkit \
+ ${QT_DISTRO_FLAGS} "
EXTRA_OEMAKE = "-e"
@@ -22,7 +27,7 @@ EXTRA_ENV = 'QMAKE="${STAGING_BINDIR_NATIVE}/qmake2 -after \
export QT_CONF_PATH="${WORKDIR}/qt.conf"
# Library packages
-QT_LIB_NAMES = "Qt3Support QtAssistantClient QtCLucene QtCore QtDBus QtDesigner QtDesignerComponents QtGui QtHelp QtNetwork QtOpenGL QtScript QtScriptTools QtSql QtSvg QtTest QtUiTools QtWebKit QtXml QtXmlPatterns phonon QtMultimedia QtOpenVG QtMediaServices"
+QT_LIB_NAMES = "Qt3Support QtAssistantClient QtCLucene QtCore QtDBus QtDesigner QtDesignerComponents QtGui QtHelp QtNetwork QtOpenGL QtScript QtScriptTools QtSql QtSvg QtTest QtUiTools QtWebKit QtXml QtXmlPatterns phonon QtMultimedia QtOpenVG QtMediaServices QtDeclarative"
QT_EXTRA_LIBS = "pvrQWSWSEGL"
@@ -33,7 +38,7 @@ python __anonymous () {
dev_packages = []
dbg_packages = []
for name in bb.data.getVar("QT_LIB_NAMES", d, 1).split():
- pkg = "${QT_BASE_LIB}" + name.lower().replace("qt", "") + "4"
+ pkg = "${QT_BASE_LIB}" + name.lower().replace("qt", "").replace("_", "-") + "4"
# NOTE: the headers for QtAssistantClient are different
incname = name.replace("QtAssistantClient", "QtAssistant")
bb.data.setVar("FILES_%s" % pkg, "${libdir}/lib%(name)s${QT_LIBINFIX}.so.*" % locals(), d)
@@ -51,7 +56,7 @@ python __anonymous () {
dbg_packages.append("%s-dbg" % name)
for name in bb.data.getVar("QT_EXTRA_LIBS", d, 1).split():
- pkg = "${QT_BASE_LIB}" + name.lower().replace("qt", "") + "4"
+ pkg = "${QT_BASE_LIB}" + name.lower().replace("qt", "").replace("_", "-") + "4"
bb.data.setVar("FILES_%s" % pkg, "${libdir}/lib%(name)s.so.*" % locals(), d)
bb.data.setVar("FILES_%s-dev" % pkg, """${libdir}/lib%(name)s.prl
${libdir}/lib%(name)s.a
@@ -87,6 +92,8 @@ OTHER_PACKAGES = "\
${QT_BASE_NAME}-makeqpf \
${QT_BASE_NAME}-mkspecs \
${QT_BASE_NAME}-pixeltool \
+ ${QT_BASE_NAME}-qmlviewer \
+ ${QT_BASE_NAME}-xmlpatterns \
${QT_BASE_NAME}-qt3to4"
PACKAGES += "${LIB_PACKAGES} ${DEV_PACKAGES} ${DBG_PACKAGES} ${OTHER_PACKAGES}"
@@ -106,8 +113,19 @@ RRECOMMENDS_${QT_BASE_NAME}-fonts = " \
${QT_BASE_NAME}-fonts-pfa \
${QT_BASE_NAME}-fonts-pfb \
${QT_BASE_NAME}-fonts-qpf"
+RRECOMMENDS_${QT_BASE_NAME}-demos += " \
+ ${QT_BASE_NAME}-fonts \
+ ${QT_BASE_NAME}-examples \
+ ${QT_BASE_NAME}-plugin-sqldriver-sqlite \
+ ${QT_BASE_NAME}-plugin-imageformat-jpeg \
+ ${QT_BASE_NAME}-assistant \
+ ${PN}-doc"
+RRECOMMENDS_${QT_BASE_NAME}-examples += " \
+ ${QT_BASE_NAME}-plugin-sqldriver-sqlite \
+ ${QT_BASE_NAME}-plugin-imageformat-jpeg"
FILES_${QT_BASE_NAME}-tools = "${bindir}/uic* ${bindir}/moc ${bindir}/rcc ${bindir}/qttracereplay ${bindir}/qdoc*"
+FILES_${QT_BASE_NAME}-tools-dbg = "${bindir}/.debug/uic* ${bindir}/.debug/moc ${bindir}/.debug/rcc ${bindir}/.debug/qttracereplay ${bindir}/.debug/qdoc*"
FILES_${QT_BASE_NAME}-assistant = "${bindir}/*assistant* ${bindir}/qcollectiongenerator ${bindir}/qhelpconverter ${bindir}/qhelpgenerator"
FILES_${QT_BASE_NAME}-assistant-dbg = "${bindir}/.debug/*assistant* ${bindir}/.debug/qcollectiongenerator ${bindir}/.debug/qhelpconverter ${bindir}/.debug/qhelpgenerator"
FILES_${QT_BASE_NAME}-common = "${bindir}/qtconfig"
@@ -119,7 +137,7 @@ FILES_${QT_BASE_NAME}-demos-dbg = "${bindir}/.debug/qtdemo* ${bindir}
FILES_${QT_BASE_NAME}-designer = "${bindir}/*designer*"
FILES_${QT_BASE_NAME}-designer-dbg = "${bindir}/.debug/*designer*"
FILES_${QT_BASE_NAME}-examples = "${bindir}/${QT_DIR_NAME}/examples/*"
-FILES_${QT_BASE_NAME}-examples-dbg = "${bindir}/${QT_DIR_NAME}/examples/.debug ${bindir}/${QT_DIR_NAME}/examples/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/*/*/.debug"
+FILES_${QT_BASE_NAME}-examples-dbg = "${bindir}/${QT_DIR_NAME}/examples/.debug ${bindir}/${QT_DIR_NAME}/examples/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/*/*/*/*/.debug ${bindir}/${QT_DIR_NAME}/examples/declarative/*/*/*/*/*/.debug/* ${bindir}/${QT_DIR_NAME}/examples/declarative/*/*/*/*/.debug/*"
FILES_${QT_BASE_NAME}-fonts-ttf-vera = "${libdir}/fonts/Vera*.ttf"
FILES_${QT_BASE_NAME}-fonts-ttf-dejavu = "${libdir}/fonts/DejaVu*.ttf"
FILES_${QT_BASE_NAME}-fonts-pfa = "${libdir}/fonts/*.pfa"
@@ -131,28 +149,19 @@ FILES_${QT_BASE_NAME}-pixeltool = "${bindir}/pixeltool"
FILES_${QT_BASE_NAME}-pixeltool-dbg = "${bindir}/.debug/pixeltool"
FILES_${QT_BASE_NAME}-qt3to4 = "${bindir}/qt3to4 ${datadir}/${QT_DIR_NAME}/q3porting.xml"
FILES_${QT_BASE_NAME}-qt3to4-dbg = "${bindir}/.debug/qt3to4"
+FILES_${QT_BASE_NAME}-qmlviewer = "${bindir}/qmlviewer"
+FILES_${QT_BASE_NAME}-qmlviewer-dbg = "${bindir}/.debug/qmlviewer"
FILES_${QT_BASE_NAME}-makeqpf = "${bindir}/makeqpf"
FILES_${QT_BASE_NAME}-makeqpf-dbg = "${bindir}/.debug/makeqpf"
FILES_${QT_BASE_NAME}-mkspecs = "${datadir}/${QT_DIR_NAME}/mkspecs/*"
+FILES_${QT_BASE_NAME}-xmlpatterns = "${bindir}/xmlpatterns*"
+FILES_${QT_BASE_NAME}-xmlpatterns-dbg = "${bindir}/.debug/xmlpatterns*"
-ARM_INSTRUCTION_SET = "arm"
-
-set_arch() {
- case ${TARGET_ARCH} in
- arm*) QT_ARCH=arm ;;
- i*86*) QT_ARCH=i386 ;;
- mips*) QT_ARCH=mips ;;
- powerpc*) QT_ARCH=powerpc ;;
- x86_64*) QT_ARCH=x86_64 ;;
- esac
-}
do_configure() {
unset QMAKESPEC
unset QTDIR
- set_arch
-
if [ ! -e bin/qmake ]; then
ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake
fi
@@ -192,30 +201,22 @@ do_configure() {
-demosdir ${bindir}/${QT_DIR_NAME}/demos \
-platform ${TARGET_OS}-oe-g++ \
-xplatform ${TARGET_OS}-oe-g++ \
+ ${QT_ENDIAN} \
-crossarch ${QT_ARCH} \
${QT_CONFIG_FLAGS} -no-fast \
-L${STAGING_LIBDIR} -I${STAGING_INCDIR} \
-I${STAGING_INCDIR}/freetype2
}
-do_compile() {
- unset CFLAGS CXXFLAGS
- install -m 0755 ${STAGING_BINDIR_NATIVE}/rcc4 ${S}/bin/rcc
- install -m 0755 ${STAGING_BINDIR_NATIVE}/moc4 ${S}/bin/moc
- install -m 0755 ${STAGING_BINDIR_NATIVE}/uic4 ${S}/bin/uic
-
- oe_runmake ${EXTRA_ENV}
-}
-
python populate_packages_prepend() {
translation_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/translations/', d)
translation_name = bb.data.expand('${QT_BASE_NAME}-translation-%s', d)
do_split_packages(d, translation_dir, '^(assistant|designer|linguist|qt|qtconfig|qvfb)_(.*)\.qm$', translation_name, '${PN} translation for %s', extra_depends='' )
-
+
phrasebook_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/phrasebooks/', d)
phrasebook_name = bb.data.expand('${QT_BASE_NAME}-phrasebook-%s', d)
do_split_packages(d, phrasebook_dir, '^(.*)\.qph$', phrasebook_name, '${PN} phrasebook for %s', extra_depends='' )
-
+
# Package all the plugins and their -dbg version and create a meta package
import os
def qtopia_split(path, name, glob):
@@ -227,7 +228,7 @@ python populate_packages_prepend() {
if not os.path.exists("%s%s" % (bb.data.expand('${D}',d), plugin_dir)):
bb.note("The path does not exist:", bb.data.expand('${D}', d), plugin_dir)
return
-
+
plugin_name = bb.data.expand('${QT_BASE_NAME}-plugin-%s-%%s' % name, d)
dev_packages = []
dev_hook = lambda file,pkg,b,c,d:dev_packages.append((file,pkg))
@@ -257,6 +258,7 @@ python populate_packages_prepend() {
qtopia_split('script', 'script', '^libqtscript(.*)\.so$')
qtopia_split('styles', 'style', '^libq(.*)\.so$')
qtopia_split('phonon_backend','phonon-backend','^libphonon_(.*)\.so$')
+ qtopia_split('bearer', 'bearer', '^libq(.*)bearer\.so$')
}
do_install() {
@@ -285,7 +287,7 @@ do_install() {
-e s#"uic_location=.*$"#"uic_location=${bindir}/uic4"# \
${D}${libdir}/pkgconfig/*.pc
for name in ${QT_LIB_NAMES}; do
- sed -i -e /Requires/s#"${name}"#"${name}${QT_LIBINFIX}"#g ${D}${libdir}/pkgconfig/*.pc
+ sed -i -e /Requires/s#"${name}"#"${name}${QT_LIBINFIX}"#g ${D}${libdir}/pkgconfig/*.pc
done
# QT abuses $includedir to point to its headers, which breaks pkgconfig sysroot, so manually fix it up here:
@@ -297,4 +299,14 @@ do_install() {
install -d ${D}/${libdir}/fonts
touch ${D}/${libdir}/fonts/fontdir
+
+ install -d ${D}${bindir}
+ for i in rcc uic moc ; do
+ install -m 0755 ${S}/bin/$i ${D}${bindir}/
+ done
+
+ #Append an E to the qtdemo file
+ if [ -n "${QT_LIBINFIX}" ] ; then
+ mv ${D}${bindir}/qtdemo ${D}${bindir}/qtdemo${QT_LIBINFIX}
+ fi
}
diff --git a/meta/recipes-qt/qt4/qt4_arch.inc b/meta/recipes-qt/qt4/qt4_arch.inc
new file mode 100644
index 000000000..7f4be63bc
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt4_arch.inc
@@ -0,0 +1,25 @@
+inherit siteinfo
+
+ARM_INSTRUCTION_SET = "arm"
+
+def qt_arch(d):
+ import bb, re
+ arch = bb.data.getVar('TARGET_ARCH', d, 1)
+ if re.match("^i.86$", arch):
+ arch = "i386"
+ elif re.match("^arm.*", arch):
+ arch = "arm"
+ elif arch == "x86_64":
+ arch = "x86"
+ elif arch == "mipsel":
+ arch = "mips"
+ return arch
+
+def qt_endian(d):
+ import bb
+ if bb.data.getVar('SITEINFO_ENDIANESS', d, True) == "le":
+ return "-little-endian"
+ elif bb.data.getVar('SITEINFO_ENDIANESS', d, True) == "be":
+ return "-big-endian"
+ else:
+ assert False
diff --git a/meta/recipes-qt/tasks/task-poky-qt.bb b/meta/recipes-qt/tasks/task-poky-qt.bb
index e82e27758..da960db5b 100644
--- a/meta/recipes-qt/tasks/task-poky-qt.bb
+++ b/meta/recipes-qt/tasks/task-poky-qt.bb
@@ -6,7 +6,7 @@ DESCRIPTION = "Qt Tasks for Poky"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${POKYBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-PR = "r2"
+PR = "r3"
PACKAGES = "\
task-poky-qt-demos \
@@ -16,7 +16,7 @@ PACKAGES = "\
ALLOW_EMPTY = "1"
-QTDEMOS ?= "quicky ${COMMERCIAL_QT}"
-QTDEMOS_disabled = "fotowall"
+QTDEMOS ?= "quicky ${COMMERCIAL_QT} fotowall"
+#QTDEMOS_disabled = "fotowall"
RDEPENDS_task-poky-qt-demos = "${QTDEMOS}"
diff --git a/meta/recipes-qt/tasks/task-qte-toolchain-host.bb b/meta/recipes-qt/tasks/task-qte-toolchain-host.bb
new file mode 100644
index 000000000..2ab6ccf6b
--- /dev/null
+++ b/meta/recipes-qt/tasks/task-qte-toolchain-host.bb
@@ -0,0 +1,7 @@
+require recipes-core/tasks/task-sdk-host.bb
+
+DESCRIPTION = "Host packages for Qt Embedded SDK"
+LICENSE = "MIT"
+ALLOW_EMPTY = "1"
+
+RDEPENDS_${PN} += "qt4-tools-nativesdk"
diff --git a/meta/recipes-qt/tasks/task-qte-toolchain-target.bb b/meta/recipes-qt/tasks/task-qte-toolchain-target.bb
new file mode 100644
index 000000000..98fe47794
--- /dev/null
+++ b/meta/recipes-qt/tasks/task-qte-toolchain-target.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "Target packages for Qt Embedded SDK"
+LICENSE = "MIT"
+ALLOW_EMPTY = "1"
+
+PR = "r5"
+
+LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
+ file://${POKYBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+RDEPENDS_${PN} += " \
+ task-poky-standalone-sdk-target \
+ qt4-embedded-mkspecs \
+ libqt-embeddedmultimedia4-dev \
+ libqt-embeddedphonon4-dev \
+ libqt-embedded3support4-dev \
+ libqt-embeddedclucene4-dev \
+ libqt-embeddedcore4-dev \
+ libqt-embeddeddbus4-dev \
+ libqt-embeddeddesignercomponents4-dev \
+ libqt-embeddeddesigner4-dev \
+ libqt-embeddeduitools4-dev \
+ libqt-embeddedgui4-dev \
+ libqt-embeddedhelp4-dev \
+ libqt-embeddednetwork4-dev \
+ libqt-embeddedscript4-dev \
+ libqt-embeddedscripttools4-dev \
+ libqt-embeddedsql4-dev \
+ libqt-embeddedsvg4-dev \
+ libqt-embeddedtest4-dev \
+ libqt-embeddedwebkit4-dev \
+ libqt-embeddedxml4-dev \
+ libsqlite3-dev \
+ expat-dev \
+ "
+
diff --git a/meta/recipes-sato/eds/eds-dbus/old-gdk-api.patch b/meta/recipes-sato/eds/eds-dbus/old-gdk-api.patch
new file mode 100644
index 000000000..8b600698b
--- /dev/null
+++ b/meta/recipes-sato/eds/eds-dbus/old-gdk-api.patch
@@ -0,0 +1,17 @@
+Do not disable old API after upgrading gtk+.
+This avoid build error due to defination missing.
+
+Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
+
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac 2010-12-16 10:25:24.000000000 +0800
++++ git/configure.ac 2010-12-16 10:25:58.000000000 +0800
+@@ -147,7 +147,6 @@
+ AS_COMPILER_FLAGS(WARNING_FLAGS,
+ "-DG_DISABLE_DEPRECATED
+ -DPANGO_DISABLE_DEPRECATED
+- -DGDK_DISABLE_DEPRECATED
+ -DGDK_PIXBUF_DISABLE_DEPRECATED
+ -DG_DISABLE_SINGLE_INCLUDES
+ -DGTK_DISABLE_SINGLE_INCLUDES
diff --git a/meta/recipes-sato/eds/eds-dbus_git.bb b/meta/recipes-sato/eds/eds-dbus_git.bb
index e5b7e15f7..5ab96a7ef 100644
--- a/meta/recipes-sato/eds/eds-dbus_git.bb
+++ b/meta/recipes-sato/eds/eds-dbus_git.bb
@@ -18,6 +18,7 @@ SRC_URI = "git://git.gnome.org/evolution-data-server;protocol=git \
file://nossl.patch;patch=1 \
file://optional_imapx_provider.patch;patch=1 \
file://new-contact-fix.patch;patch=1 \
+ file://old-gdk-api.patch;patch=1 \
file://iconv-detect.h"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-sato/eds/eds-tools_bzr.bb b/meta/recipes-sato/eds/eds-tools_bzr.bb
index 0dfcf593c..9cead1651 100644
--- a/meta/recipes-sato/eds/eds-tools_bzr.bb
+++ b/meta/recipes-sato/eds/eds-tools_bzr.bb
@@ -1,10 +1,10 @@
LICENSE = "GPLv2"
SECTION = "x11"
DEPENDS = "dbus-glib eds-dbus"
-RDEPENDS = "libedata-book"
+RDEPENDS_${PN} = "libedata-book"
DESCRIPTION = "Test applications for EDS"
-PR = "r0"
+PR = "r1"
SRC_URI = "bzr://burtonini.com/bzr/eds-tools;proto=http"
diff --git a/meta/recipes-sato/gaku/gaku_svn.bb b/meta/recipes-sato/gaku/gaku_svn.bb
index a70863e6b..594b03736 100644
--- a/meta/recipes-sato/gaku/gaku_svn.bb
+++ b/meta/recipes-sato/gaku/gaku_svn.bb
@@ -4,20 +4,20 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
file://main.c;beginline=1;endline=20;md5=0c02b4ef945956832b37a036b9cc103a"
DEPENDS = "gtk+ gstreamer libowl-av"
-RDEPENDS = "gst-plugins-base-audioconvert \
+RDEPENDS_${PN} = "gst-plugins-base-audioconvert \
gst-plugins-base-audioresample \
gst-plugins-base-typefindfunctions \
gst-plugins-base-playbin"
-RRECOMMENDS = "gst-plugins-good-id3demux \
+RRECOMMENDS_${PN} = "gst-plugins-good-id3demux \
gst-plugins-base-vorbis \
gst-plugins-base-alsa \
gst-plugins-base-ogg \
${COMMERCIAL_AUDIO_PLUGINS}"
-PV = "0.0+svnr${SRCREV}"
+PV = "0.0+svnr${SRCPV}"
-PR = "r3"
+PR = "r4"
SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=${PN};proto=http"
diff --git a/meta/recipes-sato/gtk-engines/gtk-sato-engine_svn.bb b/meta/recipes-sato/gtk-engines/gtk-sato-engine_svn.bb
index a7ee6c6e4..3c7f1b542 100644
--- a/meta/recipes-sato/gtk-engines/gtk-sato-engine_svn.bb
+++ b/meta/recipes-sato/gtk-engines/gtk-sato-engine_svn.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
file://src/sato-utils.h;endline=24;md5=708f28cfe7fe028d497aaf4389b80b62 \
file://src/sato-main.c;endline=24;md5=b5e5dddebca570275becb51b526e4c5a"
-PV = "0.3.2+svnr${SRCREV}"
+PV = "0.3.2+svnr${SRCPV}"
PR = "r0"
SRC_URI = "svn://svn.o-hand.com/repos/sato/trunk;module=gtk-engine;proto=http"
diff --git a/meta/recipes-sato/images/poky-image-sato-dev.bb b/meta/recipes-sato/images/poky-image-sato-dev.bb
new file mode 100644
index 000000000..429095e19
--- /dev/null
+++ b/meta/recipes-sato/images/poky-image-sato-dev.bb
@@ -0,0 +1,9 @@
+#
+# Copyright (C) 2007 OpenedHand Ltd.
+#
+
+IMAGE_FEATURES += "apps-console-core ${SATO_IMAGE_FEATURES} dev-pkgs"
+
+LICENSE = "MIT"
+
+inherit poky-image
diff --git a/meta/recipes-sato/images/poky-image-sato-sdk-directdisk.bb b/meta/recipes-sato/images/poky-image-sato-sdk-directdisk.bb
new file mode 100644
index 000000000..b69780fa0
--- /dev/null
+++ b/meta/recipes-sato/images/poky-image-sato-sdk-directdisk.bb
@@ -0,0 +1,9 @@
+require recipes-core/images/poky-image-directdisk.inc
+
+DESCRIPTION = "Sato SDK Direct Disk Image"
+
+LICENSE = "MIT"
+
+ROOTFS = "${DEPLOY_DIR_IMAGE}/poky-image-sato-sdk-${MACHINE}.ext3"
+
+do_bootdirectdisk[depends] += "poky-image-sato-sdk:do_rootfs"
diff --git a/meta/recipes-sato/images/poky-image-sato-sdk-live.bb b/meta/recipes-sato/images/poky-image-sato-sdk-live.bb
new file mode 100644
index 000000000..b5e786e98
--- /dev/null
+++ b/meta/recipes-sato/images/poky-image-sato-sdk-live.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Bootable Live Sato SDK Image"
+
+require recipes-core/images/poky-image-live.inc
+
+LABELS += "boot install"
+
+ROOTFS = "${DEPLOY_DIR_IMAGE}/poky-image-sato-sdk-${MACHINE}.ext3"
+
+LICENSE = "MIT"
+
+do_bootimg[depends] += "poky-image-sato-sdk:do_rootfs"
diff --git a/meta/recipes-sato/images/poky-image-sdk.bb b/meta/recipes-sato/images/poky-image-sato-sdk.bb
index 9f8eef9a5..9f8eef9a5 100644
--- a/meta/recipes-sato/images/poky-image-sdk.bb
+++ b/meta/recipes-sato/images/poky-image-sato-sdk.bb
diff --git a/meta/recipes-sato/images/poky-image-sdk-directdisk.bb b/meta/recipes-sato/images/poky-image-sdk-directdisk.bb
deleted file mode 100644
index 17dcdc5f0..000000000
--- a/meta/recipes-sato/images/poky-image-sdk-directdisk.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require recipes-core/images/poky-image-directdisk.inc
-
-DESCRIPTION = "SDK Direct Disk Image"
-
-LICENSE = "MIT"
-
-ROOTFS = "${DEPLOY_DIR_IMAGE}/poky-image-sdk-${MACHINE}.ext3"
-
-do_bootdirectdisk[depends] += "poky-image-sdk:do_rootfs"
diff --git a/meta/recipes-sato/images/poky-image-sdk-live.bb b/meta/recipes-sato/images/poky-image-sdk-live.bb
deleted file mode 100644
index b96cd925a..000000000
--- a/meta/recipes-sato/images/poky-image-sdk-live.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-DESCRIPTION = "Bootable Live SDK Image"
-
-require recipes-core/images/poky-image-live.inc
-
-LABELS += "boot install"
-
-ROOTFS = "${DEPLOY_DIR_IMAGE}/poky-image-sdk-${MACHINE}.ext3"
-
-LICENSE = "MIT"
-
-do_bootimg[depends] += "poky-image-sdk:do_rootfs"
diff --git a/meta/recipes-sato/leafpad/leafpad_0.8.17.bb b/meta/recipes-sato/leafpad/leafpad_0.8.18.1.bb
index 6291b95ee..5024e7cf4 100644
--- a/meta/recipes-sato/leafpad/leafpad_0.8.17.bb
+++ b/meta/recipes-sato/leafpad/leafpad_0.8.18.1.bb
@@ -12,8 +12,8 @@ DEPENDS_append_poky = " libowl"
SRC_URI = "http://savannah.nongnu.org/download/${PN}/${PN}-${PV}.tar.gz \
file://leafpad.desktop"
-SRC_URI[md5sum] = "d39acdf4d31de309d484511bdc9f5924"
-SRC_URI[sha256sum] = "8df8de7aaea26148225b6120631b4fe6b89d36d2b52962e7c9cc0ce07bfdbd4c"
+SRC_URI[md5sum] = "254a72fc67505e3aa52884c729cd7b97"
+SRC_URI[sha256sum] = "959d22ae07f22803bc66ff40d373a854532a6e4732680bf8a96a3fbcb9f80a2c"
PR = "r0"
SRC_URI_append_poky += " file://owl-menu.patch;apply=yes "
diff --git a/meta/recipes-sato/libowl/libowl_svn.bb b/meta/recipes-sato/libowl/libowl_svn.bb
index 31a142c93..74d0d7798 100644
--- a/meta/recipes-sato/libowl/libowl_svn.bb
+++ b/meta/recipes-sato/libowl/libowl_svn.bb
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
SECTION = "libs"
DEPENDS = "gtk+"
-PV = "0.0+svnr${SRCREV}"
+PV = "0.0+svnr${SRCPV}"
PR = "r6"
SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=${PN};proto=http"
diff --git a/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_svn.bb b/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_git.bb
index af748f14f..9f4e4d3e0 100644
--- a/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_svn.bb
+++ b/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_git.bb
@@ -7,13 +7,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://appearance/mb-appearance.c;endline=25;md5=ea92333cf8a6802639d62d874c114a28"
DEPENDS = "gconf gtk+"
-RDEPENDS = "settings-daemon"
+RDEPENDS_${PN} = "settings-daemon"
-PV = "0.0+svnr${SRCREV}"
+PV = "0.0+git${SRCPV}"
+PR = "r0"
-S = "${WORKDIR}/${PN}"
+S = "${WORKDIR}/git"
-SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http \
+SRC_URI = "git://git.pokylinux.org/${PN};protocol=git \
file://no-handed.patch;patch=1;pnum=0"
inherit autotools pkgconfig
diff --git a/meta/recipes-sato/matchbox-desktop-sato/matchbox-desktop-sato_svn.bb b/meta/recipes-sato/matchbox-desktop-sato/matchbox-desktop-sato_svn.bb
index bdae33d5a..617fb6dbe 100644
--- a/meta/recipes-sato/matchbox-desktop-sato/matchbox-desktop-sato_svn.bb
+++ b/meta/recipes-sato/matchbox-desktop-sato/matchbox-desktop-sato_svn.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
SECTION = "x11"
DEPENDS = ""
CONFLICTS = "matchbox-common"
-PV = "0.0+svnr${SRCREV}"
+PV = "0.0+svnr${SRCPV}"
PR = "r0"
SRC_URI = "svn://svn.o-hand.com/repos/sato/trunk;module=desktop-folders;proto=http"
diff --git a/meta/recipes-sato/matchbox-desktop/files/dso_linking_change_build_fix.patch b/meta/recipes-sato/matchbox-desktop/files/dso_linking_change_build_fix.patch
new file mode 100644
index 000000000..54f3670e9
--- /dev/null
+++ b/meta/recipes-sato/matchbox-desktop/files/dso_linking_change_build_fix.patch
@@ -0,0 +1,26 @@
+after gcc linking has changed, all the libraries must be explicitely specified to for linking.
+This patch avoids this linking error:
+
+| make[2]: Entering directory `/disk0/pokybuild/build1/tmp/work/i586-poky-linux/matchbox-desktop-2.0+svnr2096-r0/matchbox-desktop-2/src'^M
+| ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -Wall -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o matchbox-desktop main.o taku-category-bar.o desktop.o ../libtaku/libtaku.a -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -ldbus-1 -lpthread -lrt -lstartup-notification-1 ../libtaku/libinotify.a^M
+| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: F^A: invalid DSO for symbol `XFree' definition^M
+| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libX11.so.6: could not read symbols: Bad value^M
+| collect2: ld returned 1 exit status^M
+| make[2]: *** [matchbox-desktop] Error 1
+
+Nitin A Kamble <nitin.a.kamble@intel.com>
+Date: 2011/01/11
+
+Index: matchbox-desktop-2/configure.ac
+===================================================================
+--- matchbox-desktop-2.orig/configure.ac
++++ matchbox-desktop-2/configure.ac
+@@ -14,7 +14,7 @@ if test x$inotify_support = xyes; then
+ AC_DEFINE(WITH_INOTIFY, [1], [If inotify is enabled])
+ fi
+
+-PKG_CHECK_MODULES(GTK, gtk+-2.0)
++PKG_CHECK_MODULES(GTK, [gtk+-2.0 x11])
+
+ AC_ARG_ENABLE(startup_notification,
+ AC_HELP_STRING([--disable-startup-notification], [disable startup notification support]),
diff --git a/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.0.bb b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.0.bb
index 83d4d0b3f..2943e4d0a 100644
--- a/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.0.bb
+++ b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.0.bb
@@ -2,9 +2,10 @@ DESCRIPTION = "Matchbox Window Manager Desktop"
LICENSE = "GPL"
DEPENDS = "gtk+ startup-notification"
SECTION = "x11/wm"
-PR = "r1"
+PR = "r2"
-SRC_URI = "http://projects.o-hand.com/matchbox/sources/matchbox-desktop/2.0/matchbox-desktop-${PV}.tar.bz2"
+SRC_URI = "http://projects.o-hand.com/matchbox/sources/matchbox-desktop/2.0/matchbox-desktop-${PV}.tar.bz2 \
+ file://dso_linking_change_build_fix.patch"
EXTRA_OECONF = "--enable-startup-notification"
diff --git a/meta/recipes-sato/matchbox-desktop/matchbox-desktop_svn.bb b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_git.bb
index 324c81ff2..09f79138c 100644
--- a/meta/recipes-sato/matchbox-desktop/matchbox-desktop_svn.bb
+++ b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_git.bb
@@ -10,13 +10,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
DEPENDS = "gtk+ startup-notification dbus"
SECTION = "x11/wm"
-PV = "2.0+svnr${SRCREV}"
+PV = "2.0+git${SRCPV}"
PR = "r0"
-SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN}-2;proto=http"
+SRC_URI = "git://git.pokylinux.org/${PN}-2;protocol=git \
+ file://dso_linking_change_build_fix.patch"
EXTRA_OECONF = "--enable-startup-notification --with-dbus"
-S = "${WORKDIR}/${PN}-2"
+S = "${WORKDIR}/git"
inherit autotools pkgconfig
diff --git a/meta/recipes-sato/matchbox-keyboard/files/single-instance.patch b/meta/recipes-sato/matchbox-keyboard/files/single-instance.patch
new file mode 100644
index 000000000..d0adc47f7
--- /dev/null
+++ b/meta/recipes-sato/matchbox-keyboard/files/single-instance.patch
@@ -0,0 +1,22 @@
+Multiple matchbox-keyboard instances would occupy whole screen and cause X
+window segfault(Bug 509). Making matchbox-keyboard singleton is one work
+around.
+
+This patch allow only one instance of matchbox-keyboard based on some mechanism
+in matchbox-desktop. In future, an applet and GTK-IM modules in
+matchbox-keyboard can be used to automatically map/unmap the virtual keyboard
+on demand.
+
+Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
+
+
+Index: matchbox-keyboard/matchbox-keyboard.desktop
+===================================================================
+--- matchbox-keyboard.orig/matchbox-keyboard.desktop 2010-12-22 20:41:40.000000000 +0800
++++ matchbox-keyboard/matchbox-keyboard.desktop 2010-12-22 20:42:12.000000000 +0800
+@@ -6,3 +6,5 @@
+ Icon=matchbox-keyboard.png
+ Categories=Panel;Utility;MB
+ X-MB-INPUT-MECHANSIM=True
++X-MB-SingleInstance=true
++StartupNotify=true
diff --git a/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_svn.bb b/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb
index 0425fec78..245f99933 100644
--- a/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_svn.bb
+++ b/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb
@@ -8,16 +8,17 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://applet/applet.c;endline=20;md5=e9201b3efa0a81a160b88d6feb5cf75b"
DEPENDS = "libfakekey expat libxft gtk+ matchbox-panel-2"
-RDEPENDS = "formfactor dbus-wait"
+RDEPENDS_${PN} = "formfactor dbus-wait"
SECTION = "x11"
-PV = "0.0+svnr${SRCREV}"
-PR = "r4"
+PV = "0.0+git${SRCPV}"
+PR = "r0"
-SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http \
+SRC_URI = "git://git.pokylinux.org/${PN};protocol=git \
file://configure_fix.patch;patch=1;maxrev=1819 \
+ file://single-instance.patch;patch=1 \
file://80matchboxkeyboard.shbg"
-S = "${WORKDIR}/${PN}"
+S = "${WORKDIR}/git"
inherit autotools pkgconfig gettext
diff --git a/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_svn.bb b/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_git.bb
index 8f5ccc84f..256b5a22d 100644
--- a/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_svn.bb
+++ b/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_git.bb
@@ -12,21 +12,21 @@ DEPENDS = "gtk+ startup-notification dbus dbus-glib"
DEPENDS += " ${@base_contains("MACHINE_FEATURES", "acpi", "libacpi", "",d)}"
DEPENDS += " ${@base_contains("MACHINE_FEATURES", "apm", "apmd", "",d)}"
-PV = "0.0+svnr${SRCREV}"
-PR = "r7"
+PV = "0.0+git${SRCPV}"
+PR = "r0"
RPROVIDES_${PN} = "matchbox-panel"
RREPLACES_${PN} = "matchbox-panel"
RCONFLICTS_${PN} = "matchbox-panel"
-SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http \
+SRC_URI = "git://git.pokylinux.org/${PN};protocol=git \
file://startup_fix.diff;patch=1"
EXTRA_OECONF = "--enable-startup-notification --enable-dbus"
EXTRA_OECONF += " ${@base_contains("MACHINE_FEATURES", "acpi", "--with-battery=acpi", "",d)}"
EXTRA_OECONF += " ${@base_contains("MACHINE_FEATURES", "apm", "--with-battery=apm", "",d)}"
-S = "${WORKDIR}/${PN}"
+S = "${WORKDIR}/git"
FILES_${PN} += "${libdir}/matchbox-panel/*.so \
${datadir}/matchbox-panel/brightness/*.png \
diff --git a/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb b/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb
index 96d644c3c..a4abea4b8 100644
--- a/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb
+++ b/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb
@@ -6,8 +6,8 @@ LICENSE = "GPL"
LIC_FILES_CHKSUM = "file://session;endline=3;md5=f8a5c5b9c279e52dc094d10e11c2be63"
SECTION = "x11"
-RDEPENDS = "formfactor gtk-sato-engine matchbox-theme-sato gtk-theme-sato matchbox-panel-2 matchbox-desktop-sato initscripts matchbox-session"
-PR = "r27"
+RDEPENDS_${PN} = "formfactor gtk-sato-engine matchbox-theme-sato gtk-theme-sato matchbox-panel-2 matchbox-desktop-sato initscripts matchbox-session"
+PR = "r28"
# This package is architecture specific because the session script is modified
# based on the machine architecture.
diff --git a/meta/recipes-sato/matchbox-stroke/files/dso_linking_change_build_fix.patch b/meta/recipes-sato/matchbox-stroke/files/dso_linking_change_build_fix.patch
new file mode 100644
index 000000000..dd4534119
--- /dev/null
+++ b/meta/recipes-sato/matchbox-stroke/files/dso_linking_change_build_fix.patch
@@ -0,0 +1,36 @@
+after gcc linking has changed, all the libraries must be explicitely specified
+This patch avoids these linking errors:
+
+| make[1]: Entering directory `/disk0/pokybuild/build1/tmp/work/i586-poky-linux/matchbox-stroke-0.0+svnr1820-r0/matchbox-stroke'^M
+| Making all in src^M
+| make[2]: Entering directory `/disk0/pokybuild/build1/tmp/work/i586-poky-linux/matchbox-stroke-0.0+svnr1820-r0/matchbox-stroke/src'^M
+| ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o matchbox-stroke matchbox-stroke.o matchbox-stroke-ui.o matchbox-stroke-recog.o matchbox-stroke-mode.o matchbox-stroke-action.o config-parser.o util-hash.o util.o -lXft -lX11 -lXtst -lfakekey -lexpat -lm^M
+| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: u: invalid DSO for symbol `XRenderFindVisualFormat' definition^M
+| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libXrender.so.1: could not read symbols: Bad value^M
+| collect2: ld returned 1 exit status^M
+| make[2]: *** [matchbox-stroke] Error 1
+
+Nitin A Kamble <nitin.a.kamble@intel.com>
+Date: 2011/01/11
+
+
+Index: matchbox-stroke/configure.ac
+===================================================================
+--- matchbox-stroke.orig/configure.ac
++++ matchbox-stroke/configure.ac
+@@ -38,7 +38,7 @@ AC_ARG_WITH(expat-lib,
+ expat_lib=$withval, expat_lib=yes)
+
+
+-PKG_CHECK_MODULES(MBSTROKE, xft libfakekey,,
++PKG_CHECK_MODULES(MBSTROKE, xft libfakekey xrender,,
+ AC_MSG_ERROR([*** Required Librarys not found ***]))
+
+ dnl ------ Expat ------------------------------------------------------------
+@@ -160,4 +160,4 @@ echo "
+ compiler: ${CC}
+
+ Building with Debug: ${enable_debug}
+-"
+\ No newline at end of file
++"
diff --git a/meta/recipes-sato/matchbox-stroke/files/single-instance.patch b/meta/recipes-sato/matchbox-stroke/files/single-instance.patch
new file mode 100644
index 000000000..f4fec079b
--- /dev/null
+++ b/meta/recipes-sato/matchbox-stroke/files/single-instance.patch
@@ -0,0 +1,19 @@
+Multiple matchbox-stroke instances would occupy whole screen and cause end user
+confusing. Making matchbox-stroke singleton is one work around.
+
+This patch allow only one instance of matchbox-stroke based on some mechanism
+in matchbox-desktop.
+
+Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
+
+
+Index: matchbox-stroke/matchbox-stroke.desktop
+===================================================================
+--- matchbox-stroke.orig/matchbox-stroke.desktop 2010-07-10 10:23:26.000000000 +0800
++++ matchbox-stroke/matchbox-stroke.desktop 2010-12-22 20:59:26.000000000 +0800
+@@ -6,3 +6,5 @@
+ Icon=matchbox-stroke.png
+ Categories=Panel;Utility;MB
+ X-MB-INPUT-MECHANSIM=True
++X-MB-SingleInstance=true
++StartupNotify=true
diff --git a/meta/recipes-sato/matchbox-stroke/matchbox-stroke_svn.bb b/meta/recipes-sato/matchbox-stroke/matchbox-stroke_git.bb
index 1e25369e3..8077a56e1 100644
--- a/meta/recipes-sato/matchbox-stroke/matchbox-stroke_svn.bb
+++ b/meta/recipes-sato/matchbox-stroke/matchbox-stroke_git.bb
@@ -7,12 +7,15 @@ LIC_FILES_CHKSUM = "file://src/matchbox-stroke.h;endline=12;md5=8ed5c5bbec2321fb
DEPENDS = "libfakekey expat libxft"
SECTION = "x11/wm"
-PV = "0.0+svnr${SRCREV}"
+PV = "0.0+git${SRCPV}"
+PR = "r0"
-SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http \
- file://configure_fix.patch;patch=1;maxrev=1819 "
+SRC_URI = "git://git.pokylinux.org/${PN};protocol=git \
+ file://single-instance.patch;patch=1 \
+ file://configure_fix.patch;patch=1;maxrev=1819 \
+ file://dso_linking_change_build_fix.patch "
-S = "${WORKDIR}/${PN}"
+S = "${WORKDIR}/git"
inherit autotools pkgconfig gettext
diff --git a/meta/recipes-sato/matchbox-terminal/matchbox-terminal_svn.bb b/meta/recipes-sato/matchbox-terminal/matchbox-terminal_git.bb
index 169223f84..c26c33861 100644
--- a/meta/recipes-sato/matchbox-terminal/matchbox-terminal_svn.bb
+++ b/meta/recipes-sato/matchbox-terminal/matchbox-terminal_git.bb
@@ -8,11 +8,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
DEPENDS = "gtk+ vte"
SECTION = "x11/utils"
-PV = "0.0+svnr${SRCREV}"
+PV = "0.0+git${SRCPV}"
PR = "r0"
-SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http"
+SRC_URI = "git://git.pokylinux.org/${PN};protocol=git"
-S = "${WORKDIR}/${PN}"
+S = "${WORKDIR}/git"
inherit autotools pkgconfig
diff --git a/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato-2/png_rename.patch b/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato-2/png_rename.patch
new file mode 100644
index 000000000..b12e92000
--- /dev/null
+++ b/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato-2/png_rename.patch
@@ -0,0 +1,14 @@
+Background Image name was changed from background.png to template.png
+
+Signed-off-by: Saul Wold <sgw@linux.intel.com>
+
+Index: matchbox-sato/Sato/matchbox2/Makefile.am
+===================================================================
+--- matchbox-sato.orig/Sato/matchbox2/Makefile.am 2010-12-29 13:08:43.000000000 -0800
++++ matchbox-sato/Sato/matchbox2/Makefile.am 2010-12-29 22:14:45.690428881 -0800
+@@ -1,4 +1,4 @@
+-pngs = background.png
++pngs = template.png
+
+ themesdir = $(datadir)/themes/Sato/matchbox2
+ themes_DATA = theme.xml $(pngs)
diff --git a/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato-2_svn.bb b/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato-2_svn.bb
index 30b632934..36bde38fc 100644
--- a/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato-2_svn.bb
+++ b/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato-2_svn.bb
@@ -1,9 +1,11 @@
require matchbox-theme-sato.inc
DEPENDS = "matchbox-wm-2"
-PV = "0.1+svnr${SRCREV}"
+PV = "0.1+svnr${SRCPV}"
+
+SRC_URI = "svn://svn.o-hand.com/repos/sato/trunk;module=matchbox-sato;proto=http \
+ file://png_rename.patch"
-SRC_URI = "svn://svn.o-hand.com/repos/sato/trunk;module=matchbox-sato;proto=http"
S = "${WORKDIR}/matchbox-sato"
EXTRA_OECONF = "--disable-matchbox-1 --enable-matchbox-2"
diff --git a/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_svn.bb b/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_svn.bb
index 7d492353b..16ea8251b 100644
--- a/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_svn.bb
+++ b/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_svn.bb
@@ -1,6 +1,6 @@
require matchbox-theme-sato.inc
-PV = "0.1+svnr${SRCREV}"
+PV = "0.1+svnr${SRCPV}"
PR = "r0"
SRC_URI = "svn://svn.o-hand.com/repos/sato/trunk;module=matchbox-sato;proto=http"
diff --git a/meta/recipes-sato/owl-video-widget/libowl-av_svn.bb b/meta/recipes-sato/owl-video-widget/libowl-av_svn.bb
index 4eeeed6d2..b9612c074 100644
--- a/meta/recipes-sato/owl-video-widget/libowl-av_svn.bb
+++ b/meta/recipes-sato/owl-video-widget/libowl-av_svn.bb
@@ -9,11 +9,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=ac14b7ca45afea5af040da54db270eb0 \
SECTION = "x11"
DEPENDS = "gtk+ gstreamer gst-plugins-base"
-RDEPENDS = "gst-meta-base"
-RRECOMMENDS = "gst-meta-audio gst-meta-video"
+RDEPENDS_${PN} = "gst-meta-base"
+RRECOMMENDS_${PN} = "gst-meta-audio gst-meta-video"
-PV = "0.0+svnr${SRCREV}"
-PR = "r5"
+PV = "0.0+svnr${SRCPV}"
+PR = "r6"
S = "${WORKDIR}/${PN}"
diff --git a/meta/recipes-sato/owl-video-widget/owl-video_svn.bb b/meta/recipes-sato/owl-video-widget/owl-video_svn.bb
index 5419beaca..f83dbdc5d 100644
--- a/meta/recipes-sato/owl-video-widget/owl-video_svn.bb
+++ b/meta/recipes-sato/owl-video-widget/owl-video_svn.bb
@@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=ac14b7ca45afea5af040da54db270eb0 \
SECTION = "x11"
DEPENDS = "libowl-av"
-PV = "0.0+svnr${SRCREV}"
-PR = "r2"
+PV = "0.0+svnr${SRCPV}"
+PR = "r3"
S = "${WORKDIR}/video"
diff --git a/meta/recipes-sato/pimlico/contacts.inc b/meta/recipes-sato/pimlico/contacts.inc
index a424295ac..ce990d7dd 100644
--- a/meta/recipes-sato/pimlico/contacts.inc
+++ b/meta/recipes-sato/pimlico/contacts.inc
@@ -6,7 +6,7 @@ LICENSE = "GPLv2 & GPLv2+ & GPLv3+ "
SECTION = "x11"
DEPENDS = "glib-2.0 gtk+ eds-dbus"
DEPENDS_append_poky = " libowl"
-RDEPENDS = "libedata-book"
+RDEPENDS_${PN} = "libedata-book"
inherit autotools pkgconfig
diff --git a/meta/recipes-sato/pimlico/contacts_0.9.bb b/meta/recipes-sato/pimlico/contacts_0.9.bb
index 1e4628737..a9e3f15ad 100644
--- a/meta/recipes-sato/pimlico/contacts_0.9.bb
+++ b/meta/recipes-sato/pimlico/contacts_0.9.bb
@@ -1,5 +1,5 @@
require contacts.inc
-PR = "r2"
+PR = "r3"
SRC_URI =+ "http://pimlico-project.org/sources/${PN}/${PN}-${PV}.tar.gz"
diff --git a/meta/recipes-sato/pimlico/contacts_git.bb b/meta/recipes-sato/pimlico/contacts_git.bb
index c37543530..0d2e235e5 100644
--- a/meta/recipes-sato/pimlico/contacts_git.bb
+++ b/meta/recipes-sato/pimlico/contacts_git.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://src/contacts-gtk.c;endline=23;md5=e1ee9b9e72045f2d3aa44cf17313b46e"
PV = "0.12+git${SRCPV}"
-PR = "r1"
+PR = "r2"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-sato/pimlico/dates.inc b/meta/recipes-sato/pimlico/dates.inc
index 6ef7b6061..01ab40962 100644
--- a/meta/recipes-sato/pimlico/dates.inc
+++ b/meta/recipes-sato/pimlico/dates.inc
@@ -6,7 +6,7 @@ LICENSE = "GPLv2 & GPLv2+ & LGPLv2+"
SECTION = "x11"
DEPENDS = "glib-2.0 gtk+ libglade eds-dbus"
-RDEPENDS = "libedata-cal"
+RDEPENDS_${PN} = "libedata-cal"
inherit autotools pkgconfig gtk-icon-cache
diff --git a/meta/recipes-sato/pimlico/dates/dso_linking_change_build_fix.patch b/meta/recipes-sato/pimlico/dates/dso_linking_change_build_fix.patch
new file mode 100644
index 000000000..07a0264c1
--- /dev/null
+++ b/meta/recipes-sato/pimlico/dates/dso_linking_change_build_fix.patch
@@ -0,0 +1,44 @@
+after gcc linking has changed, all the libraries must be explicitely specified
+This patch avoids these linking errors:
+
+
+| make[2]: Entering directory `/disk0/pokybuild/build1/tmp/work/i586-poky-linux/dates-0.4.11+git0+514185dc1f6588085fda41eb59898b93d0487dd4-r2/git/src'^M
+| /bin/sh ../i586-poky-linux-libtool --tag=CC --mode=link ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -std=gnu99 -Wall -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/gtk-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/gtk-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/atk-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/cairo -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pixman-1 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libpng12 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/evolution-data-server-2.30 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/dbus-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libxml2 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/gconf/2 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libsoup-2.4 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/dbus-1.0/include -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libowl -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/gtk-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/gtk-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/atk-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/cairo -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pixman-1 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libpng12 -DUSE_OWL=1 -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o dates dates_gtk.o dates_main.o dates_callbacks.o gconf-bridge.o -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lecal-1.2 -lical -licalss -licalvcal -ledataserver-1.2 -lxml2 -lsoup-2.4 -lgio-2.0 -lgmodule-2.0 -lgconf-2 -ldbus-glib-1 -ldbus-1 -lpthread -lgobject-2.0 -lgthread-2.0 -lrt -lglib-2.0 -pthread -lowl -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 libgtkdatesview.la
+| i586-poky-linux-libtool: link: ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -std=gnu99 -Wall -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/gtk-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/gtk-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/atk-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/cairo -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pixman-1 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libpng12 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/evolution-data-server-2.30 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/dbus-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libxml2 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/gconf/2 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libsoup-2.4 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/dbus-1.0/include -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libowl -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/gtk-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/gtk-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/atk-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/cairo -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pixman-1 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libpng12 -DUSE_OWL=1 -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o .libs/dates dates_gtk.o dates_main.o dates_callbacks.o gconf-bridge.o -pthread -pthread -L/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libecal-1.2.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libicalss.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libicalvcal.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libical.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libedataserver-1.2.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libsoup-2.4.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libxml2.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgnutls.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libtasn1.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgcrypt.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgpg-error.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgconf-2.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libdbus-glib-1.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libdbus-1.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libowl.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgtk-x11-2.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgdk-x11-2.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libatk-1.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgdk_pixbuf-2.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgio-2.0.so -lresolv /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpangocairo-1.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpangoft2-1.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libstdc++.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libcairo.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpixman-1.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpng12.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libXrender.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libX11.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libxcb.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libXau.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libXdmcp.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libz.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpango-1.0.so -lm /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libfontconfig.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libfreetype.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libexpat.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgobject-2.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgmodule-2.0.so -ldl /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgthread-2.0.so -lpthread /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libglib-2.0.so -lrt ./.libs/libgtkdatesview.a -pthread
+|
+| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: e: invalid DSO for symbol `pow@@GLIBC_2.0' definition^M
+| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libm.so: could not read symbols: Bad value^M
+| collect2: ld returned 1 exit status^M
+| make[2]: *** [dates] Error 1
+
+
+
+| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: z: invalid DSO for symbol `pango_layout_get_extents' definition
+| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpango-1.0.so: could not read symbols: Bad value
+| collect2: ld returned 1 exit status
+| make[2]: *** [dates] Error 1
+
+
+Nitin A Kamble <nitin.a.kamble@intel.com>
+Date: 2011/01/11
+
+Update:
+This is identified as a libtool issue. While creating the libgtkdatesview.la
+file, libtool should have added these needed libraries in there.
+ A bug has been created for this issue:
+ http://bugzilla.pokylinux.org/show_bug.cgi?id=664
+Nitin A Kamble <nitin.a.kamble@intel.com>
+Date: 2011/01/19
+
+Index: git/src/Makefile.am
+===================================================================
+--- git.orig/src/Makefile.am
++++ git/src/Makefile.am
+@@ -34,6 +34,6 @@ dates_SOURCES = $(platform) \
+ gconf-bridge.h \
+ gconf-bridge.c
+
+-dates_LDADD = $(DATES_LIBS) $(OWL_LIBS) libgtkdatesview.la
++dates_LDADD = $(DATES_LIBS) $(OWL_LIBS) libgtkdatesview.la -lm -lpango-1.0
+
+ MAINTAINERCLEANFILES = config.h.in Makefile.in
diff --git a/meta/recipes-sato/pimlico/dates_0.4.8.bb b/meta/recipes-sato/pimlico/dates_0.4.8.bb
index 13afc157d..ca88a7301 100644
--- a/meta/recipes-sato/pimlico/dates_0.4.8.bb
+++ b/meta/recipes-sato/pimlico/dates_0.4.8.bb
@@ -1,5 +1,5 @@
require dates.inc
-PR = "r3"
+PR = "r4"
SRC_URI = "http://pimlico-project.org/sources/dates/dates-${PV}.tar.gz"
diff --git a/meta/recipes-sato/pimlico/dates_git.bb b/meta/recipes-sato/pimlico/dates_git.bb
index d09f4e621..973c42d85 100644
--- a/meta/recipes-sato/pimlico/dates_git.bb
+++ b/meta/recipes-sato/pimlico/dates_git.bb
@@ -6,9 +6,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
file://src/gconf-bridge.c;endline=22;md5=ad7626c6daf4aec590474a243f4912fa"
PV = "0.4.11+git${SRCPV}"
-PR = "r1"
+PR = "r3"
S = "${WORKDIR}/git"
SRC_URI = "git://git.gnome.org/${PN};protocol=git \
- file://make-382.patch"
+ file://make-382.patch \
+ file://dso_linking_change_build_fix.patch"
diff --git a/meta/recipes-sato/puzzles/oh-puzzles_svn.bb b/meta/recipes-sato/puzzles/oh-puzzles_svn.bb
index 5fcea24b3..3bee48687 100644
--- a/meta/recipes-sato/puzzles/oh-puzzles_svn.bb
+++ b/meta/recipes-sato/puzzles/oh-puzzles_svn.bb
@@ -11,7 +11,7 @@ SECTION = "x11"
DEPENDS = "gtk+ gconf intltool-native librsvg"
DEPENDS_append_poky = " libowl"
-PV = "0.1+svnr${SRCREV}"
+PV = "0.1+svnr${SRCPV}"
PR = "r10"
bindir = "/usr/games"
diff --git a/meta/recipes-sato/puzzles/puzzles_r9023.bb b/meta/recipes-sato/puzzles/puzzles_r9076.bb
index acf61de6a..fbd0e37d5 100644
--- a/meta/recipes-sato/puzzles/puzzles_r9023.bb
+++ b/meta/recipes-sato/puzzles/puzzles_r9076.bb
@@ -10,8 +10,9 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=9928b60f3b78be315b7ab699c1b03ff5"
SRC_URI = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${PV}.tar.gz"
-SRC_URI[md5sum] = "ce3b8b49a4970cdecbd3c0deb236802c"
-SRC_URI[sha256sum] = "52ac700d8ecb6bc51c8892f12f0212a6f12504eaae4cf95bb6fe084889ac5932"
+# Checksums seem to be changing regularly right now, need to verify with upstream
+#SRC_URI[md5sum] = "e8b4c7e2341264789f3cd6733857bf1c"
+#SRC_URI[sha256sum] = "69f37e497e63b2f7ab44e7bbd50aee078269c16dbc2d78ec1b00257678f2cbd2"
#SRC_URI = "svn://ixion.tartarus.org/main;module=puzzles;rev=${MOD_PV}"
S = "${WORKDIR}/${PN}-${PV}"
diff --git a/meta/recipes-sato/screenshot/files/dso_linking_change_build_fix.patch b/meta/recipes-sato/screenshot/files/dso_linking_change_build_fix.patch
new file mode 100644
index 000000000..d3a9ed1a7
--- /dev/null
+++ b/meta/recipes-sato/screenshot/files/dso_linking_change_build_fix.patch
@@ -0,0 +1,49 @@
+after gcc linking has changed, all the libraries must be explicitely specified
+This patch avoids these linking errors:
+
+
+
+| i586-poky-linux-libtool: link: ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -Wall -g -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/gtk-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/gtk-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/atk-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/cairo -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pixman-1 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libpng12 -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/gtk-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/gtk-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/atk-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/cairo -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pixman-1 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libpng12 -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o .libs/screenshot main.o -pthread /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgtk-x11-2.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgdk-x11-2.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libatk-1.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgdk_pixbuf-2.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgio-2.0.so -lresolv /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpangocairo-1.0.so -L/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpangoft2-1.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libstdc++.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libcairo.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpixman-1.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpng12.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libXrender.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libX11.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libxcb.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libXau.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libXdmcp.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libz.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpango-1.0.so -lm /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libfontconfig.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libfreetype.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libexpat.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgobject-2.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgmodule-2.0.so -ldl /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgthread-2.0.so -lpthread /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libglib-2.0.so -lrt ./.libs/libshot.a -pthread
+| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: L: invalid DSO for symbol `gdk_cursor_unref' definition
+| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgdk-x11-2.0.so: could not read symbols: Bad value
+| collect2: ld returned 1 exit status
+| make[1]: *** [screenshot] Error 1
+
+
+
+
+| i586-poky-linux-libtool: link: ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -Wall -g -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/gtk-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/gtk-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/atk-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/cairo -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pixman-1 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libpng12 -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/gtk-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/gtk-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/atk-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/cairo -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pixman-1 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libpng12 -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o .libs/screenshot main.o -pthread /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgtk-x11-2.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libatk-1.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgdk_pixbuf-2.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgio-2.0.so -lresolv /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpangocairo-1.0.so -L/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpangoft2-1.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libstdc++.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libcairo.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpixman-1.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpng12.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libXrender.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libX11.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libxcb.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libXau.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libXdmcp.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libz.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpango-1.0.so -lm /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libfontconfig.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libfreetype.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libexpat.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgobject-2.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgmodule-2.0.so -ldl /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgthread-2.0.so -lpthread /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libglib-2.0.so -lrt ./.libs/libshot.a /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgdk-x11-2.0.so -pthread
+| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: a: invalid DSO for symbol `gdk_pixbuf_unref' definition
+| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgdk_pixbuf-2.0.so: could not read symbols: Bad value
+| collect2: ld returned 1 exit status
+| make[1]: *** [screenshot] Error 1
+
+
+| i586-poky-linux-libtool: link: ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -Wall -g -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/gtk-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/gtk-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/atk-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/cairo -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pixman-1 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libpng12 -pthread -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/glib-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/glib-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/gtk-2.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/gtk-2.0/include -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/atk-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/cairo -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pango-1.0 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/pixman-1 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/freetype2 -I/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/include/libpng12 -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o .libs/screenshot main.o -pthread /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgtk-x11-2.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libatk-1.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpangocairo-1.0.so -L/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpangoft2-1.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libstdc++.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libcairo.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpixman-1.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpng12.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libXrender.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libX11.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libxcb.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libXau.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libXdmcp.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libpango-1.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libfontconfig.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libfreetype.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libexpat.so ./.libs/libshot.a /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgdk-x11-2.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgdk_pixbuf-2.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgio-2.0.so -lresolv /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libz.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgobject-2.0.so /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgmodule-2.0.so -ldl /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libgthread-2.0.so -lpthread /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libglib-2.0.so -lrt -lm -pthread
+| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: }: invalid DSO for symbol `XUngrabServer' definition
+| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libX11.so: could not read symbols: Bad value
+| collect2: ld returned 1 exit status
+| make[1]: *** [screenshot] Error 1
+
+Nitin A Kamble <nitin.a.kamble@intel.com>
+Date: 2011/01/11
+
+Update:
+This is identified as a libtool issue. While creating the libshot.la
+file, libtool should have added these needed libraries in there.
+ A bug has been created for this issue:
+ http://bugzilla.pokylinux.org/show_bug.cgi?id=664
+Nitin A Kamble <nitin.a.kamble@intel.com>
+Date: 2011/01/19
+
+
+Index: screenshot/Makefile.am
+===================================================================
+--- screenshot.orig/Makefile.am
++++ screenshot/Makefile.am
+@@ -23,4 +23,4 @@ endif
+ # A standalone tool for running from a terminal and scripts
+ bin_PROGRAMS = screenshot
+ screenshot_SOURCES = main.c
+-screenshot_LDADD = $(GTK_LIBS) libshot.la
++screenshot_LDADD = $(GTK_LIBS) libshot.la -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lX11
diff --git a/meta/recipes-sato/screenshot/screenshot_svn.bb b/meta/recipes-sato/screenshot/screenshot_svn.bb
index a95ba2d54..ff2b7c894 100644
--- a/meta/recipes-sato/screenshot/screenshot_svn.bb
+++ b/meta/recipes-sato/screenshot/screenshot_svn.bb
@@ -9,9 +9,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
PRIORITY = "optional"
DEPENDS = "matchbox-panel-2"
-PV = "0.0+svnr${SRCREV}"
+PV = "0.0+svnr${SRCPV}"
+PR = "r1"
-SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=${PN};proto=http"
+SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=${PN};proto=http\
+ file://dso_linking_change_build_fix.patch"
S = ${WORKDIR}/${PN}
diff --git a/meta/recipes-sato/settings-daemon/files/dso_linking_change_build_fix.patch b/meta/recipes-sato/settings-daemon/files/dso_linking_change_build_fix.patch
new file mode 100644
index 000000000..5fd96d464
--- /dev/null
+++ b/meta/recipes-sato/settings-daemon/files/dso_linking_change_build_fix.patch
@@ -0,0 +1,29 @@
+after gcc linking has changed, all the libraries must be explicitely specified to for linking.
+This patch avoids this linking error:
+
+| make all-am^M
+| make[1]: Entering directory `/disk0/pokybuild/build1/tmp/work/i586-poky-linux/settings-daemon-0.0+svnr2059-r3/settings-daemon'^M
+| ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -Wall -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o settings-daemon settings_daemon-xsettings-common.o settings_daemon-xsettings-manager.o settings_daemon-settings-daemon.o -pthread -lgconf-2 -ldbus-glib-1 -ldbus-1 -lpthread -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0^M
+| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: *^A: invalid DSO for symbol `XCreateSimpleWindow' definition^M
+| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libX11.so.6: could not read symbols: Bad value^M
+| collect2: ld returned 1 exit status^M
+| make[1]: *** [settings-daemon] Error 1^M
+| make[1]: Leaving directory `/disk0/pokybuild/build1/tmp/work/i586-poky-linux/settings-daemon-0.0+svnr2059-r3/settings-daemon'^M
+| make: *** [all] Error 2^M
+
+Nitin A Kamble <nitin.a.kamble@intel.com>
+Date: 2011/01/11
+
+Index: settings-daemon/configure.ac
+===================================================================
+--- settings-daemon.orig/configure.ac
++++ settings-daemon/configure.ac
+@@ -14,7 +14,7 @@ AC_PROG_CC
+
+
+ dnl TODO: make gconf optional
+-PKG_CHECK_MODULES(APP, [gconf-2.0 gdk-x11-2.0])
++PKG_CHECK_MODULES(APP, [gconf-2.0 gdk-x11-2.0 x11])
+
+
+ AC_SUBST(APP_CFLAGS)
diff --git a/meta/recipes-sato/settings-daemon/settings-daemon_svn.bb b/meta/recipes-sato/settings-daemon/settings-daemon_git.bb
index 4d1d9baf4..f7dc86fec 100644
--- a/meta/recipes-sato/settings-daemon/settings-daemon_svn.bb
+++ b/meta/recipes-sato/settings-daemon/settings-daemon_git.bb
@@ -6,15 +6,16 @@ LIC_FILES_CHKSUM = "file://xsettings-manager.h;endline=22;md5=7cfac9d2d4dc3694cc
file://xsettings-common.h;endline=22;md5=7cfac9d2d4dc3694cc7eb605cf32a69b"
DEPENDS = "gconf glib-2.0 gtk+"
SECTION = "x11"
-PV = "0.0+svnr${SRCREV}"
+PV = "0.0+git${SRCPV}"
-PR = "r3"
+PR = "r0"
-SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http \
+SRC_URI = "git://git.pokylinux.org/xsettings-daemon;protocol=git \
file://addsoundkeys.patch;apply=yes \
- file://70settings-daemon.sh"
+ file://70settings-daemon.sh \
+ file://dso_linking_change_build_fix.patch"
-S = "${WORKDIR}/${PN}"
+S = "${WORKDIR}/git"
inherit autotools pkgconfig gconf
diff --git a/meta/recipes-sato/web/web-webkit_svn.bb b/meta/recipes-sato/web/web-webkit_svn.bb
index 895d49b27..3df2bd8ba 100644
--- a/meta/recipes-sato/web/web-webkit_svn.bb
+++ b/meta/recipes-sato/web/web-webkit_svn.bb
@@ -2,12 +2,13 @@ DESCRIPTION = "Multi-platform web browsing application."
HOMEPAGE = "http://o-hand.com/"
BUGTRACKER = "http://bugzilla.openedhand.com/"
-LICENSE = "GPLv2"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
SECTION = "x11"
DEPENDS = "libxml2 glib-2.0 gtk+ libglade webkit-gtk curl gconf js libowl"
-PV = "0.0+svnr${SRCREV}"
+PV = "0.0+svnr${SRCPV}"
PR = "r3"
SRC_URI = "svn://svn.o-hand.com/repos/web/branches;module=webkit;proto=http \
diff --git a/meta/recipes-sato/web/web_svn.bb b/meta/recipes-sato/web/web_svn.bb
index 79838cef7..bdcdaba00 100644
--- a/meta/recipes-sato/web/web_svn.bb
+++ b/meta/recipes-sato/web/web_svn.bb
@@ -4,7 +4,7 @@ DEPENDS = "libxml2 glib-2.0 gtk+ libglade gtkhtml2 curl gconf js libowl"
DESCRIPTION = "Web is a multi-platform web browsing application."
PR = "r4"
-PV = "0.0+svnr${SRCREV}"
+PV = "0.0+svnr${SRCPV}"
SRC_URI = "svn://svn.o-hand.com/repos/${PN};module=trunk;proto=http \
file://owl-window-menu.patch \
diff --git a/meta/recipes-sato/webkit/files/GNUmakefile.am b/meta/recipes-sato/webkit/files/GNUmakefile.am
index 39817f1dd..8884fcb6f 100644
--- a/meta/recipes-sato/webkit/files/GNUmakefile.am
+++ b/meta/recipes-sato/webkit/files/GNUmakefile.am
@@ -16,15 +16,11 @@
# webcore_sources, gtk port API and WebCoreSupport parts to webkitgtk_sources,
# etc... The only exceptions are the global variables. See Global Variables
# below.
-#
-# Global Variables
-#
-# global_cppflags = CPPFLAGS that apply to JSC, WebCore, and to any
-# specific port
-# global_cflags = CFLAGS that apply to JSC, WebCore, and to
-# any specific port
-# global_cxxflags = CXXFLAGS that apply to JSC, WebCore, and to any
-# specific port
+
+# Global Variables Reference
+# global_cppflags = CPPFLAGS that apply to all C/C++ files that are built for any project.
+# global_cflags = CFLAGS that apply to all C files that are built for any project.
+# global_cxxflags = CXXFLAGS that apply to all C++ files that are bult for any project.
srcdir = @srcdir@
VPATH = @srcdir@
@@ -35,18 +31,13 @@ DISTCHECK_CONFIGURE_FLAGS = \
# Directory for autogenerated sources
GENSOURCES := $(top_builddir)/DerivedSources
-GENSOURCESWEBKITDOM := $(top_builddir)/DerivedSources/webkit
+GENSOURCES_JAVASCRIPTCORE := $(top_builddir)/DerivedSources/JavaScriptCore
+GENSOURCES_WEBCORE := $(top_builddir)/DerivedSources/WebCore
+GENSOURCES_WEBKIT := $(top_builddir)/DerivedSources/webkit
GENPROGRAMS := $(top_builddir)/Programs
-
-# Script for creating hash tables
-CREATE_HASH_TABLE = $(srcdir)/JavaScriptCore/create_hash_table
-
-# Script for creating regexp tables
-CREATE_REGEXP_TABLES = $(srcdir)/JavaScriptCore/create_regex_tables
-
-# Programs to run the WebKitGtk unit tests
-GTESTER = gtester
-GTESTER_REPORT = gtester-report
+GENSOURCES_INSPECTOR := $(GENPROGRAMS)/resources/inspector
+WebCore := $(srcdir)/WebCore
+WebKit := $(srcdir)/WebKit/gtk
# Libraries and support components
bin_PROGRAMS :=
@@ -63,36 +54,27 @@ javascriptcore_cppflags:=
javascriptcore_sources :=
javascriptcore_built_sources :=
javascriptcore_built_nosources :=
-javascriptcore_dist :=
webcore_cppflags :=
webcore_sources :=
webcore_libadd :=
webcore_built_sources :=
webcore_built_nosources :=
-webcore_dist :=
-webcoregtk_cppflags :=
webcoregtk_sources :=
-IDL_BINDINGS_GDOM :=
-GDOM_AUTO_CLASSES :=
-GDOM_FIXED_CLASSES :=
-GDOM_CLASSES :=
-GDOM_HEADERS_BUILT :=
-GDOM_HEADERS_FIXED :=
-libgdom_h_api :=
-libgdom_cleanfiles :=
+webcoregtk_cppflags :=
+webkitgtk_built_h_api :=
+webkitgtk_static_h_api :=
webkitgtk_h_api :=
webkitgtk_sources :=
webkitgtk_cppflags :=
+webkitgtk_gdom_built_sources :=
webkitgtk_built_sources :=
webkitgtk_built_nosources :=
-webkitgtk_cleanfiles :=
global_cppflags :=
global_cflags :=
global_cxxflags :=
-corekit_cflags :=
-corekit_cppflags :=
JSCORE_GIRSOURCES :=
WEBKIT_GIRSOURCES :=
+FEATURE_DEFINES :=
typelibsdir :=
typelibs_DATA :=
EXTRA_DIST :=
@@ -101,57 +83,15 @@ CLEANFILES :=
DISTCLEANFILES :=
MAINTAINERCLEANFILES :=
-webcoregtk_cppflags += \
- -I$(top_builddir)/DerivedSources/webkit \
- -I$(srcdir)/WebCore/bindings \
- -I$(srcdir)/WebCore/bindings/gobject
-
-# CFLAGS/CXXFLAGS used by WebCore and WebKit
-#
-# gtk+.pc already include glib, cairo, freetype and pango CFLAGS
-# Don't include them for now to reduce the noise when compiling
-# $(GLIB_CFLAGS) $(CAIRO_CFLAGS) $(PANGO_CFLAGS) $(FREETYPE_CFLAGS)
-corekit_cflags += \
- -fno-strict-aliasing \
- $(COVERAGE_CFLAGS) \
- $(ENCHANT_CFLAGS) \
- $(GAIL_CFLAGS) \
- $(GEOCLUE_CFLAGS) \
- $(GLIB_CFLAGS) \
- $(GSTREAMER_CFLAGS) \
- $(GTK_CFLAGS) \
- $(HILDON_CFLAGS) \
- $(LIBSOUP_CFLAGS) \
- $(LIBXML_CFLAGS) \
- $(LIBXSLT_CFLAGS) \
- $(SQLITE3_CFLAGS) \
- $(UNICODE_CFLAGS) \
- $(XT_CFLAGS)
-
-# When building webcore/webkit, we want WebCore/config.h and NOT
-# JavaScriptCore/config.h, hence, it's important that WebCore/ should come first
-# before JavaScriptCore in the include path.
-corekit_cppflags += \
- $(global_cppflags) \
- $(webcore_cppflags) \
- $(webcoregtk_cppflags) \
- $(javascriptcore_cppflags)
-
-# For the Gtk port we want to use XP_UNIX both in X11 and Mac
-if !TARGET_WIN32
-corekit_cppflags += -DXP_UNIX
-endif
-
-# Default compiler flags
-global_cflags += \
+global_cppflags += \
-Wall -W -Wcast-align -Wchar-subscripts -Wreturn-type \
-Wformat -Wformat-security -Wno-format-y2k -Wundef \
-Wmissing-format-attribute -Wpointer-arith -Wwrite-strings \
-Wno-unused-parameter -Wno-parentheses \
- -fno-exceptions
+ -fno-exceptions -DENABLE_GLIB_SUPPORT=1
+
global_cxxflags += \
- $(global_cflags) \
$(SYMBOL_VISIBILITY_INLINES) \
-fno-rtti
@@ -159,30 +99,17 @@ global_cxxflags += \
# It breaks the build on other platforms, so we use it conditionally
if OS_WIN32
no_undefined = -no-undefined
-version_script = -export-symbols-regex "^(webkit_|JS).*"
+version_script = -export-symbols-regex "^(webkit_|k?JS).*"
endif
if OS_GNU
version_script = -Wl,--version-script,$(srcdir)/autotools/symbols.filter
endif
-# Shared libraries
-lib_LTLIBRARIES += \
- libwebkitgtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la
-
# Convenience libraries
noinst_LTLIBRARIES += \
libJavaScriptCore.la
-# JavaScriptCore
-javascriptcore_cppflags += \
- -I$(srcdir)/JavaScriptCore/ForwardingHeaders \
- -I$(srcdir)/JavaScriptCore/parser \
- -I$(srcdir)/JavaScriptCore/wtf \
- -I$(srcdir)/JavaScriptCore/wtf/gtk \
- -I$(srcdir)/JavaScriptCore/wtf/gobject \
- -I$(top_builddir)/DerivedSources
-
nodist_EXTRA_libJavaScriptCore_la_SOURCES = \
$(javascriptcore_built_nosources)
@@ -215,78 +142,6 @@ libJavaScriptCore_la_CPPFLAGS = \
$(global_cppflags) \
$(javascriptcore_cppflags)
-# WebKit
-nodist_EXTRA_libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES = \
- $(webcore_built_nosources)
-
-nodist_libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES = \
- $(webcore_built_sources) \
- $(webkitgtk_built_sources)
-
-libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_ladir = $(prefix)/include/webkit-@WEBKITGTK_API_VERSION@/webkit
-libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_HEADERS = \
- $(webkitgtk_h_api) \
- WebKit/gtk/webkit/webkitenumtypes.h
-
-libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES = \
- $(webcore_sources) \
- $(webcoregtk_sources) \
- $(webkitgtk_sources)
-
-libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CXXFLAGS = \
- $(global_cxxflags) \
- $(corekit_cflags)
-
-libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CFLAGS = \
- $(global_cflags) \
- $(corekit_cflags)
-
-libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CPPFLAGS = \
- $(corekit_cppflags) \
- $(webkitgtk_cppflags) \
- $(HILDON_CPPFLAGS)
-
-libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_LDFLAGS = \
- -version-info @LIBWEBKITGTK_VERSION@ \
- $(version_script) \
- $(no_undefined)
-
-libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_LIBADD = \
- -lpthread \
- libJavaScriptCore.la \
- libWebCoreJS.la \
- libgdom.la \
- $(webcore_ldflags) \
- $(CAIRO_LIBS) \
- $(COVERAGE_LDFLAGS) \
- $(ENCHANT_LIBS) \
- $(FREETYPE_LIBS) \
- $(GAIL_LIBS) \
- $(GEOCLUE_LIBS) \
- $(GLIB_LIBS) \
- $(GSTREAMER_LIBS) \
- $(GTK_LIBS) \
- $(HILDON_LIBS) \
- $(JPEG_LIBS) \
- $(LIBSOUP_LIBS) \
- $(LIBXML_LIBS) \
- $(LIBXSLT_LIBS) \
- $(PANGO_LIBS) \
- $(PNG_LIBS) \
- $(SQLITE3_LIBS) \
- $(UNICODE_LIBS) \
- $(XT_LIBS)
-
-libgdom_ladir = $(prefix)/include/webkit-@WEBKITGTK_API_VERSION@/webkit
-nodist_libgdom_la_HEADERS = \
- $(libgdom_h_api)
-
-libgdom_cleanfiles += \
- $(top_builddir)/WebKit/gtk/webkit/webkitdomenumtypes.h \
- $(top_builddir)/libgdom.la \
- $(top_builddir)/stamp-webkitdomenumtypes.h
-
-#
# Extra checks and flags
global_cppflags += \
-DBUILDING_CAIRO__=1 \
@@ -308,17 +163,29 @@ global_cppflags += \
-DUSE_SYSTEM_MALLOC
endif
+if USE_GSTREAMER
+global_cppflags += \
+ -DWTF_USE_GSTREAMER=1
+endif
+
+# ----
+# GTK+ 2.x/3.x support
+# ----
+if GTK_API_VERSION_2
+global_cppflags += \
+ -DGTK_API_VERSION_2=1
+endif
+
if !ENABLE_DEBUG
global_cppflags += -DNDEBUG
global_cflags += $(SYMBOL_VISIBILITY)
else
-webcoregtk_cppflags += \
+global_cppflags += \
-DG_DISABLE_DEPRECATED \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
-DPANGO_DISABLE_DEPRECATED
-
# Might be useful in the future
# -DGDK_MULTIHEAD_SAFE \
# -DGTK_MULTIHEAD_SAFE
@@ -330,454 +197,19 @@ global_cppflags += \
-DGCC_INSTRUMENT_PROGRAM_FLOW_ARCS
endif
-webkitgtk_h_api += \
- $(srcdir)/WebKit/gtk/webkit/webkit.h \
- $(srcdir)/WebKit/gtk/webkit/webkitdefines.h \
- $(srcdir)/WebKit/gtk/webkit/webkitdownload.h \
- $(srcdir)/WebKit/gtk/webkit/webkiterror.h \
- $(srcdir)/WebKit/gtk/webkit/webkithittestresult.h \
- $(srcdir)/WebKit/gtk/webkit/webkitnetworkrequest.h \
- $(srcdir)/WebKit/gtk/webkit/webkitnetworkresponse.h \
- $(srcdir)/WebKit/gtk/webkit/webkitsoupauthdialog.h \
- $(srcdir)/WebKit/gtk/webkit/webkitwebbackforwardlist.h \
- $(srcdir)/WebKit/gtk/webkit/webkitwebdatasource.h \
- $(srcdir)/WebKit/gtk/webkit/webkitwebframe.h \
- $(srcdir)/WebKit/gtk/webkit/webkitwebhistoryitem.h \
- $(srcdir)/WebKit/gtk/webkit/webkitwebinspector.h \
- $(srcdir)/WebKit/gtk/webkit/webkitwebnavigationaction.h \
- $(srcdir)/WebKit/gtk/webkit/webkitwebpolicydecision.h \
- $(srcdir)/WebKit/gtk/webkit/webkitgeolocationpolicydecision.h \
- $(srcdir)/WebKit/gtk/webkit/webkitwebresource.h \
- $(srcdir)/WebKit/gtk/webkit/webkitwebsettings.h \
- $(srcdir)/WebKit/gtk/webkit/webkitwebwindowfeatures.h \
- $(srcdir)/WebKit/gtk/webkit/webkitwebview.h \
- $(srcdir)/WebKit/gtk/webkit/webkitwebdatabase.h \
- $(srcdir)/WebKit/gtk/webkit/webkitsecurityorigin.h \
- $(top_builddir)/WebKit/gtk/webkit/webkitversion.h
-
-webkitgtk_built_sources += \
- DerivedSources/webkitenumtypes.cpp \
- DerivedSources/webkitdomenumtypes.cpp \
- DerivedSources/webkitmarshal.cpp \
- DerivedSources/webkitmarshal.h \
- WebKit/gtk/webkit/webkitenumtypes.h
-
-webkitgtk_sources += \
- WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp \
- WebKit/gtk/WebCoreSupport/ChromeClientGtk.h \
- WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp \
- WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.h \
- WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.cpp \
- WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.h \
- WebKit/gtk/WebCoreSupport/DragClientGtk.cpp \
- WebKit/gtk/WebCoreSupport/DragClientGtk.h \
- WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp \
- WebKit/gtk/WebCoreSupport/EditorClientGtk.h \
- WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp \
- WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h \
- WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp \
- WebKit/gtk/WebCoreSupport/InspectorClientGtk.h \
- WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp \
- WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h \
- WebKit/gtk/webkit/webkitapplicationcache.cpp \
- WebKit/gtk/webkit/webkitdownload.cpp \
- WebKit/gtk/webkit/webkiterror.cpp \
- WebKit/gtk/webkit/webkithittestresult.cpp \
- WebKit/gtk/webkit/webkitnetworkrequest.cpp \
- WebKit/gtk/webkit/webkitnetworkresponse.cpp \
- WebKit/gtk/webkit/webkitprivate.cpp \
- WebKit/gtk/webkit/webkitprivate.h \
- WebKit/gtk/webkit/webkitsoupauthdialog.c \
- WebKit/gtk/webkit/webkitversion.cpp \
- WebKit/gtk/webkit/webkitwebbackforwardlist.cpp \
- WebKit/gtk/webkit/webkitwebdatasource.cpp \
- WebKit/gtk/webkit/webkitwebframe.cpp \
- WebKit/gtk/webkit/webkitwebhistoryitem.cpp \
- WebKit/gtk/webkit/webkitwebinspector.cpp \
- WebKit/gtk/webkit/webkitwebnavigationaction.cpp \
- WebKit/gtk/webkit/webkitwebpolicydecision.cpp \
- WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp \
- WebKit/gtk/webkit/webkitwebresource.cpp \
- WebKit/gtk/webkit/webkitwebdatabase.cpp \
- WebKit/gtk/webkit/webkitsecurityorigin.cpp \
- WebKit/gtk/webkit/webkitwebsettings.cpp \
- WebKit/gtk/webkit/webkitwebview.cpp \
- WebKit/gtk/webkit/webkitwebwindowfeatures.cpp \
- WebKit/gtk/webkit/webkitworkers.cpp
-
-webkitgtk_cppflags += \
- -DBUILDING_WEBKIT \
- -DPACKAGE_LOCALE_DIR=\"$(localedir)\" \
- -DDATA_DIR=\"${datadir}\" \
- -I$(srcdir)/WebKit/gtk \
- -I$(srcdir)/WebKit/gtk/WebCoreSupport \
- -I$(srcdir)/WebKit/gtk/webkit \
- -I$(top_builddir)/WebKit/gtk \
- -I$(top_builddir)/WebKit/gtk/webkit \
- -I$(GENSOURCESWEBKITDOM)
-
-webkitgtk_cleanfiles += \
- $(top_builddir)/stamp-webkitmarshal.cpp \
- $(top_builddir)/stamp-webkitmarshal.h \
- $(top_builddir)/stamp-webkitenumtypes.cpp \
- $(top_builddir)/stamp-webkitenumtypes.h \
- $(top_builddir)/Programs/GtkLauncher \
- $(top_builddir)/WebKit/gtk/docs/version.xml \
- $(top_builddir)/WebKit/gtk/docs/GNUmakefile \
- $(top_builddir)/WebKit/gtk/@WEBKITGTK_PC_NAME@-@WEBKITGTK_API_VERSION@.pc \
- $(top_builddir)/WebKit/gtk/webkit/webkitenumtypes.h \
- $(top_builddir)/WebKit/gtk/webkit/webkitversion.h
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = WebKit/gtk/@WEBKITGTK_PC_NAME@-@WEBKITGTK_API_VERSION@.pc
-
-if ENABLE_INTROSPECTION
-
-JSCore-@WEBKITGTK_API_VERSION@.gir: $(builddir)/WebKit/gtk/JSCore-@WEBKITGTK_API_VERSION@.gir
- cp $(builddir)/WebKit/gtk/JSCore-@WEBKITGTK_API_VERSION@.gir $(builddir)/
-
-JSCORE_GIRSOURCES += JSCore-@WEBKITGTK_API_VERSION@.gir
-WEBKIT_GIRSOURCES += WebKit-@WEBKITGTK_API_VERSION@.gir
-
-$(WEBKIT_GIRSOURCES): $(G_IR_SCANNER) $(JSCORE_GIRSOURCES) libwebkitgtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la
- $(AM_V_GEN)$(G_IR_SCANNER) -v --namespace WebKit --nsversion=@WEBKITGTK_API_VERSION@ \
- --include=GObject-2.0 \
- --include=Gtk-@GTK_API_VERSION@ \
- --include=JSCore-@WEBKITGTK_API_VERSION@ \
- --include=Soup-2.4 \
- --library=webkitgtk-@WEBKITGTK_API_VERSION@ \
- --libtool="$(LIBTOOL)" \
- --pkg gobject-2.0 \
- --pkg gtk+-@GTK_API_VERSION@ \
- --pkg libsoup-2.4 \
- --output $@ \
- --add-include-path $(top_srcdir)/WebKit/gtk \
- --add-include-path $(builddir) \
- -I$(top_srcdir)/WebKit/gtk \
- -I$(top_builddir)/WebKit/gtk \
- -I$(top_builddir)/DerivedSources \
- -I$(top_srcdir)/JavaScriptCore/ForwardingHeaders \
- -I$(top_srcdir) \
- $(webkitgtk_h_api) \
- $(libgdom_h_api)
-
-girdir = $(datadir)/gir-1.0
-gir_DATA = $(WEBKIT_GIRSOURCES) $(JSCORE_GIRSOURCES)
-
-typelibsdir += $(libdir)/girepository-1.0
-typelibs_DATA += $(JSCORE_GIRSOURCES:.gir=.typelib) $(WEBKIT_GIRSOURCES:.gir=.typelib)
-
-%.typelib: %.gir $(G_IR_COMPILER)
- $(AM_V_GEN)$(G_IR_COMPILER) --includedir $(top_srcdir)/WebKit/gtk --includedir $(builddir) $< -o $@
-
-CLEANFILES += $(JSCORE_GIRSOURCES) $(WEBKIT_GIRSOURCES) $(typelibs_DATA)
-
-endif
-
-EXTRA_DIST += $(builddir)/WebKit/gtk/JSCore-@WEBKITGTK_API_VERSION@.gir
-
-WEBKIT_MARSHAL = $(GENSOURCES)/webkitmarshal
-WEBKIT_MARSHAL_LIST = $(top_srcdir)/WebKit/gtk/webkitmarshal.list
-
-$(WEBKIT_MARSHAL).cpp: stamp-webkitmarshal.cpp
- @true
-
-$(WEBKIT_MARSHAL).h: stamp-webkitmarshal.h
- @true
-
-stamp-webkitmarshal.cpp: $(WEBKIT_MARSHAL_LIST)
- $(AM_V_GEN) echo "extern \"C\" {" > $(WEBKIT_MARSHAL).cpp && \
- $(GLIB_GENMARSHAL) --prefix=webkit_marshal $(WEBKIT_MARSHAL_LIST) --body >> $(WEBKIT_MARSHAL).cpp && echo '}' >> $(WEBKIT_MARSHAL).cpp && \
- echo timestamp > $(@F)
-
-stamp-webkitmarshal.h: $(WEBKIT_MARSHAL_LIST)
- $(AM_V_GEN)$(GLIB_GENMARSHAL) --prefix=webkit_marshal $(WEBKIT_MARSHAL_LIST) --header > $(WEBKIT_MARSHAL).h && \
- echo timestamp > $(@F)
-
-WebKit/gtk/webkit/webkitenumtypes.h: stamp-webkitenumtypes.h
- @true
-stamp-webkitenumtypes.h: $(webkitgtk_h_api) GNUmakefile
- $(AM_V_GEN)glib-mkenums \
- --fhead "#ifndef WEBKIT_ENUM_TYPES_H\n" \
- --fhead "#define WEBKIT_ENUM_TYPES_H\n\n" \
- --fhead "#include <glib-object.h>\n\n" \
- --fhead "#include <webkit/webkitdefines.h>\n\n" \
- --fhead "G_BEGIN_DECLS\n\n" \
- --ftail "G_END_DECLS\n\n" \
- --ftail "#endif\n" \
- --fprod "#include <webkit/@basename@>\n\n" \
- --eprod "#define WEBKIT_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n\n" \
- --eprod "WEBKIT_API GType\n@enum_name@_get_type(void);\n\n" \
- $(webkitgtk_h_api) | \
- sed 's,web_kit,webkit,' | \
- sed 's,WEBKIT_TYPE_KIT,WEBKIT_TYPE,' \
- > xgen-gth \
- && (cmp -s xgen-gth WebKit/gtk/webkit/webkitenumtypes.h || cp xgen-gth WebKit/gtk/webkit/webkitenumtypes.h) \
- && rm -f xgen-gth \
- && echo timestamp > $(@F)
-
-DerivedSources/webkitenumtypes.cpp: $(webkitgtk_h_api) GNUmakefile
- $(AM_V_GEN)glib-mkenums \
- --fhead "#include <config.h>\n" \
- --fhead "#include <glib-object.h>\n" \
- --fhead "#include \"$(top_builddir)/WebKit/gtk/webkit/webkitenumtypes.h\"\n\n" \
- --fhead "extern \"C\" {\n\n" \
- --fprod "\n/* enumerations from \"@filename@\" */" \
- --vhead "static const G@Type@Value _@enum_name@_values[] = {" \
- --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
- --vtail " { 0, NULL, NULL }\n};\n\n" \
- --vtail "GType @enum_name@_get_type(void)\n{\n" \
- --vtail " static GType type = 0;\n\n" \
- --vtail " if (!type)\n" \
- --vtail " type = g_@type@_register_static(\"@EnumName@\", _@enum_name@_values);\n\n" \
- --vtail " return type;\n}\n\n" \
- --ftail "}\n" \
- $(webkitgtk_h_api) | \
- sed 's,web_kit,webkit,' \
- > xgen-gtc \
- && cp xgen-gtc $@ \
- && rm -f xgen-gtc
-
-WebKit/gtk/webkit/webkitdomenumtypes.h: stamp-webkitdomenumtypes.h
- @true
-stamp-webkitdomenumtypes.h: $(libgdom_h_api) GNUmakefile
- $(AM_V_GEN)glib-mkenums \
- --fhead "#ifndef WEBKIT_DOM_ENUM_TYPES_H\n" \
- --fhead "#define WEBKIT_DOM_ENUM_TYPES_H\n\n" \
- --fhead "#include <glib-object.h>\n\n" \
- --fhead "G_BEGIN_DECLS\n\n" \
- --ftail "G_END_DECLS\n\n" \
- --ftail "#endif\n" \
- --fprod "#include <webkit/@basename@>\n\n" \
- --eprod "#define WEBKIT_DOM_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n\n" \
- --eprod "WEBKIT_API GType\n@enum_name@_get_type(void);n\n" \
- $(libgdom_h_api) | \
- sed 's,web_kit,webkit_dom,' | \
- sed 's,WEBKIT_DOM_TYPE_KIT,WEBKIT_DOM_TYPE,' \
- > xgen-cgth \
- && (cmp -s xgen-cgth WebKit/gtk/webkit/webkitdomenumtypes.h || cp xgen-cgth WebKit/gtk/webkit/webkitdomenumtypes.h) \
- && rm -f xgen-cgth \
- && echo timestamp > $(@F)
-
-DerivedSources/webkitdomenumtypes.cpp: $(top_builddir)/WebKit/gtk/webkit/webkitdomenumtypes.h $(libgdom_h_api) GNUmakefile
- $(AM_V_GEN)glib-mkenums \
- --fhead "#include <config.h>\n" \
- --fhead "#include <glib-object.h>\n" \
- --fhead "#include \"$(top_builddir)/WebKit/gtk/webkit/webkitdomenumtypes.h\"\n\n" \
- --fhead "extern \"C\" {\n\n" \
- --fprod "\n/* enumerations from \"@filename@\" */" \
- --vhead "static const G@Type@Value _@enum_name@_values] = {" \
- --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
- --vtail " { 0, NULL, NULL }\n};\n\n" \
- --vtail "GType @enum_name@_get_type(void)\n{\n" \
- --vtail " static GType type = 0;\n\n" \
- --vtail " if (!type)\n" \
- --vtail " type = g_@type@_register_static(\"@EnumName@\", _@enum_name@_values);\n\n" \
- --vtail " return type;\n}\n\n" \
- --ftail "}\n" \
- $(libgdom_h_api) | \
- sed 's,web_kit,webkitdom,' \
- > xgen-cgtc \
- && cp xgen-cgtc $@ \
- && rm -f xgen-cgtc
-
-# Files that will be distributed
EXTRA_DIST += \
- $(srcdir)/gtk-doc.make \
- WebKit/LICENSE \
- $(javascriptcore_dist) \
- $(webcore_dist) \
$(srcdir)/autotools/symbols.filter \
- $(srcdir)/WebKit/gtk/ChangeLog \
- $(srcdir)/WebKit/gtk/NEWS \
- $(srcdir)/WebKit/gtk/webkitmarshal.list \
- $(srcdir)/WebKit/gtk/docs/GNUmakefile.* \
- $(srcdir)/WebKit/gtk/docs/webkitenvironment.xml \
- $(srcdir)/WebKit/gtk/docs/webkitgtk-docs.sgml \
- $(srcdir)/WebKit/gtk/docs/webkitgtk-sections.txt \
- $(srcdir)/WebKit/gtk/docs/version.xml.in \
- $(srcdir)/WebKit/gtk/po/* \
- $(srcdir)/WebKit/gtk/resources/* \
- $(srcdir)/WebKit/gtk/tests/resources/* \
- $(srcdir)/WebKit/gtk/tests/test_utils.h
-
-# extra resource files
-resourcesdir = ${datadir}/webkit-@WEBKITGTK_API_VERSION@/resources
-dist_resources_DATA = \
- $(shell ls $(srcdir)/WebKit/gtk/resources/*.html)
-
-# END WEBKIT GTK+
+ $(srcdir)/gtk-doc.make \
+ $(srcdir)/WebKit/LICENSE
# Include module makefiles
include JavaScriptCore/GNUmakefile.am
include WebCore/GNUmakefile.am
+include WebKit/gtk/GNUmakefile.am
+include WebCore/bindings/gobject/GNUmakefile.am
include WebKitTools/GNUmakefile.am
include WebKit/gtk/po/GNUmakefile.am
-# Build unit tests
-noinst_PROGRAMS += $(TEST_PROGS)
-
-webkit_tests_cflags = \
- -fno-strict-aliasing \
- -I$(srcdir)/JavaScriptCore/ForwardingHeaders \
- -I$(srcdir)/WebKit/gtk \
- -I$(top_builddir)/WebKit/gtk \
- -I$(top_builddir)/DerivedSources \
- -I$(top_srcdir)/WebCore/bindings \
- -I$(top_srcdir)/WebCore/bindings/gobject \
- $(global_cflags) \
- $(GLIB_CFLAGS) \
- $(GTK_CFLAGS) \
- $(LIBSOUP_CFLAGS)
-
-webkit_tests_ldadd = \
- libwebkitgtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
- $(GTK_LIBS) \
- $(GLIB_LIBS) \
- $(LIBSOUP_LIBS)
-
-webkit_tests_ldflags = \
- -no-install \
- -no-fast-install
-
-TEST_PROGS += \
- Programs/unittests/testdomdocument \
- Programs/unittests/testdomdomwindow \
- Programs/unittests/testdomnode \
- Programs/unittests/testhttpbackend \
- Programs/unittests/testloading \
- Programs/unittests/testglobals \
- Programs/unittests/testmimehandling \
- Programs/unittests/testnetworkrequest \
- Programs/unittests/testnetworkresponse \
- Programs/unittests/testwebframe \
- Programs/unittests/testwebbackforwardlist \
- Programs/unittests/testwebhistoryitem \
- Programs/unittests/testwindow \
- Programs/unittests/testdownload \
- Programs/unittests/testatk \
- Programs/unittests/testatkroles \
- Programs/unittests/testhittestresult \
- Programs/unittests/testwebsettings \
- Programs/unittests/testwebresource \
- Programs/unittests/testwebdatasource \
- Programs/unittests/testwebview \
- Programs/unittests/testkeyevents \
- Programs/unittests/testcopyandpaste
-
-# Add additional tests here
-Programs_unittests_testdomdocument_SOURCES = WebKit/gtk/tests/testdomdocument.c
-Programs_unittests_testdomdocument_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testdomdocument_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testdomdocument_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testdomdomwindow_SOURCES = WebKit/gtk/tests/testdomdomwindow.c
-Programs_unittests_testdomdomwindow_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testdomdomwindow_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testdomdomwindow_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testdomnode_SOURCES = WebKit/gtk/tests/testdomnode.c
-Programs_unittests_testdomnode_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testdomnode_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testdomnode_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testhttpbackend_SOURCES = WebKit/gtk/tests/testhttpbackend.c
-Programs_unittests_testhttpbackend_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testhttpbackend_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testhttpbackend_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testglobals_SOURCES = WebKit/gtk/tests/testglobals.c
-Programs_unittests_testglobals_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testglobals_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testglobals_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testloading_SOURCES = WebKit/gtk/tests/testloading.c
-Programs_unittests_testloading_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testloading_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testloading_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testmimehandling_SOURCES = WebKit/gtk/tests/testmimehandling.c WebKit/gtk/tests/test_utils.c
-Programs_unittests_testmimehandling_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testmimehandling_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testmimehandling_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testnetworkrequest_SOURCES = WebKit/gtk/tests/testnetworkrequest.c
-Programs_unittests_testnetworkrequest_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testnetworkrequest_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testnetworkrequest_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testnetworkresponse_SOURCES = WebKit/gtk/tests/testnetworkresponse.c
-Programs_unittests_testnetworkresponse_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testnetworkresponse_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testnetworkresponse_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testwebframe_SOURCES = WebKit/gtk/tests/testwebframe.c
-Programs_unittests_testwebframe_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testwebframe_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testwebframe_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testwebbackforwardlist_SOURCES = WebKit/gtk/tests/testwebbackforwardlist.c
-Programs_unittests_testwebbackforwardlist_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testwebbackforwardlist_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testwebbackforwardlist_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testwebhistoryitem_SOURCES = WebKit/gtk/tests/testwebhistoryitem.c
-Programs_unittests_testwebhistoryitem_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testwebhistoryitem_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testwebhistoryitem_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testwindow_SOURCES = WebKit/gtk/tests/testwindow.c
-Programs_unittests_testwindow_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testwindow_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testwindow_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testdownload_SOURCES = WebKit/gtk/tests/testdownload.c
-Programs_unittests_testdownload_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testdownload_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testdownload_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testatk_SOURCES = WebKit/gtk/tests/testatk.c
-Programs_unittests_testatk_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testatk_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testatk_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testatkroles_SOURCES = WebKit/gtk/tests/testatkroles.c
-Programs_unittests_testatkroles_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testatkroles_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testatkroles_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testwebsettings_SOURCES = WebKit/gtk/tests/testwebsettings.c
-Programs_unittests_testwebsettings_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testwebsettings_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testwebsettings_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testwebresource_SOURCES = WebKit/gtk/tests/testwebresource.c
-Programs_unittests_testwebresource_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testwebresource_LDADD = $(webkit_tests_ldadd)
-
-Programs_unittests_testwebdatasource_SOURCES = WebKit/gtk/tests/testwebdatasource.c
-Programs_unittests_testwebdatasource_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testwebdatasource_LDADD = $(webkit_tests_ldadd)
-
-Programs_unittests_testwebview_SOURCES = WebKit/gtk/tests/testwebview.c WebKit/gtk/tests/test_utils.c
-Programs_unittests_testwebview_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testwebview_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testwebview_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testhittestresult_SOURCES = WebKit/gtk/tests/testhittestresult.c
-Programs_unittests_testhittestresult_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testhittestresult_LDADD = $(webkit_tests_ldadd)
-
-Programs_unittests_testkeyevents_SOURCES = WebKit/gtk/tests/testkeyevents.c
-Programs_unittests_testkeyevents_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testkeyevents_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testkeyevents_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testcopyandpaste_SOURCES = WebKit/gtk/tests/testcopyandpaste.c
-Programs_unittests_testcopyandpaste_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testcopyandpaste_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testcopyandpaste_LDFLAGS = $(webkit_tests_ldflags)
-
# Autogenerated sources
BUILT_SOURCES += \
$(javascriptcore_built_sources) \
@@ -785,21 +217,17 @@ BUILT_SOURCES += \
$(webcore_built_sources) \
$(webcore_built_nosources) \
$(webkitgtk_built_sources) \
- $(webkitgtk_built_nosources) \
- $(gdom_built_nosources)
-
-# Project-wide clean rules
-# Files that will be cleaned
-CLEANFILES += \
- $(BUILT_SOURCES) \
- $(webkitgtk_cleanfiles) \
- $(libgdom_cleanfiles)
+ $(webkitgtk_built_nosources)
DISTCLEANFILES += \
- $(CLEANFILES)
+ $(CLEANFILES) \
+ $(builddir)/doltcompile \
+ $(builddir)/doltlibtool
MAINTAINERCLEANFILES += \
$(CLEANFILES) \
+ $(builddir)/doltcompile \
+ $(builddir)/doltlibtool \
$(srcdir)/aconfig.h.in \
$(srcdir)/autotools/config.* \
$(srcdir)/autotools/compile \
@@ -814,7 +242,7 @@ MAINTAINERCLEANFILES += \
# Older automake versions (1.7) place Plo files in a different place so we need
# to create the output directory manually.
-all-local: stamp-po
+all-local:
$(mkdir_p) $(top_builddir)/$(DEPDIR)/DerivedSources
# remove built sources and program directories
@@ -822,35 +250,5 @@ clean-local:
-rm -rf $(GENPROGRAMS)
maintainer-clean-local: distclean-local
-
distclean-local:
-rm -rf $(GENSOURCES) $(GENPROGRAMS)
-
-dist-hook:
- cp $(srcdir)/WebKit/gtk/NEWS $(distdir)/
-
-install-data-local: po-install-data-local
-
-installdirs-data-local: po-installdirs-data-local
-
-uninstall-local: po-uninstall-local
-
-# Run all tests in cwd
-# FIXME: we should run this under xvfb
-test: $(TEST_PROGS)
- $(GTESTER) --verbose $(TEST_PROGS);
-
-# test-report: run tests in cwd and generate report
-# full-report: run tests in cwd with -m perf and -m slow and generate report
-# perf-report: run tests in cwd with -m perf and generate report
-test-report full-report perf-report: $(TEST_PROGS)
- @ case $@ in \
- test-report) test_options="-k";; \
- full-report) test_options="-k -m=perf";; \
- perf-report) test_options="-k -m=perf -m=slow";; \
- esac ; \
- $(GTESTER) --verbose $$test_options -o test-report.xml $(TEST_PROGS); \
- $(GTESTER_REPORT) test-report.xml > test-report.html ;
-
-.PHONY: test test-report perf-report full-report
-check-local: test
diff --git a/meta/recipes-sato/webkit/files/Makefile b/meta/recipes-sato/webkit/files/Makefile
index 1e50d1d35..cdee9da7a 100644
--- a/meta/recipes-sato/webkit/files/Makefile
+++ b/meta/recipes-sato/webkit/files/Makefile
@@ -1,4 +1,4 @@
-MODULES = JavaScriptCore JavaScriptGlue WebCore WebKit WebKit2 WebKitTools
+MODULES = JavaScriptCore JavaScriptGlue ANGLE WebCore WebKit WebKit2 WebKitTools
all:
@for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \
diff --git a/meta/recipes-sato/webkit/files/autogen.sh b/meta/recipes-sato/webkit/files/autogen.sh
index 97beb209d..60b163d55 100755
--- a/meta/recipes-sato/webkit/files/autogen.sh
+++ b/meta/recipes-sato/webkit/files/autogen.sh
@@ -10,7 +10,7 @@ cd $srcdir
GTKDOCIZE_FLAGS="--copy"
LIBTOOLIZE_FLAGS="--force --automake"
-ACLOCAL_FLAGS="-I autotools"
+ACLOCAL_FLAGS="-I autotools $ACLOCAL_FLAGS"
AUTOMAKE_FLAGS="--foreign --add-missing"
DIE=0
diff --git a/meta/recipes-sato/webkit/files/configure.ac b/meta/recipes-sato/webkit/files/configure.ac
index d4f3e749f..bb703b4bf 100644
--- a/meta/recipes-sato/webkit/files/configure.ac
+++ b/meta/recipes-sato/webkit/files/configure.ac
@@ -2,14 +2,14 @@ AC_PREREQ(2.59)
m4_define([webkit_major_version], [1])
m4_define([webkit_minor_version], [3])
-m4_define([webkit_micro_version], [2])
+m4_define([webkit_micro_version], [7])
# This is the version we'll be using as part of our User-Agent string
# e.g., AppleWebKit/$(webkit_user_agent_version) ...
#
# Sourced from WebCore/Configurations/Version.xcconfig
-m4_define([webkit_user_agent_major_version], [531])
-m4_define([webkit_user_agent_minor_version], [2])
+m4_define([webkit_user_agent_major_version], [534])
+m4_define([webkit_user_agent_minor_version], [7])
AC_INIT([WebKit],[webkit_major_version.webkit_minor_version.webkit_micro_version],[http://bugs.webkit.org/])
@@ -34,8 +34,8 @@ AC_SUBST(WEBKIT_USER_AGENT_MINOR_VERSION)
AC_CONFIG_SRCDIR([WebCore/config.h])
dnl # Libtool library version, not to confuse with API version
-dnl # see http://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html#Libtool-versioning
-LIBWEBKITGTK_VERSION=0:0:0
+dnl # see http://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html
+LIBWEBKITGTK_VERSION=4:0:4
AC_SUBST([LIBWEBKITGTK_VERSION])
AM_INIT_AUTOMAKE([foreign subdir-objects tar-ustar])
@@ -82,6 +82,8 @@ WEBKIT_INIT
AC_DISABLE_STATIC
AC_LIBTOOL_WIN32_DLL
AC_PROG_LIBTOOL
+# use dolt to speedup the build
+DOLT
AC_PATH_PROG(FLEX, flex)
if test -z "$FLEX"; then
@@ -165,6 +167,17 @@ if test "$png_ok" != yes; then
fi
AC_SUBST([PNG_LIBS])
+
+if test "$os_win32" = "yes"; then
+ WINMM_LIBS=-lwinmm
+ SHLWAPI_LIBS=-lshlwapi
+ OLE32_LIBS=-lole32
+fi
+AC_SUBST([WINMM_LIBS])
+AC_SUBST([SHLWAPI_LIBS])
+AC_SUBST([OLE32_LIBS])
+
+
# determine the GTK+ version to use
AC_MSG_CHECKING([the GTK+ version to use])
AC_ARG_WITH([gtk],
@@ -186,7 +199,7 @@ case "$with_gtk" in
GAIL_PC_NAME=gail
GAIL_REQUIRED_VERSION=1.8
;;
- 3.0) GTK_REQUIRED_VERSION=2.90
+ 3.0) GTK_REQUIRED_VERSION=2.91
GTK_API_VERSION=3.0
WEBKITGTK_API_MAJOR_VERSION=3
WEBKITGTK_API_MINOR_VERSION=0
@@ -258,7 +271,17 @@ ENCHANT_REQUIRED_VERSION=0.22
# todo: webcore gtk
WEBKIT_CHECK_DEPENDENCIES([glib unicode])
-GETTEXT_PACKAGE=$PACKAGE
+# Check if we can use GSettings
+PKG_CHECK_MODULES([GSETTINGS],
+ [gio-2.0 >= 2.25.0],
+ [have_gsettings=yes],
+ [have_gsettings=no])
+if test "$have_gsettings" = "yes"; then
+ AC_DEFINE([HAVE_GSETTINGS], 1, [Whether we can use GSettings])
+ GLIB_GSETTINGS
+fi
+
+GETTEXT_PACKAGE=$PACKAGE-$GTK_API_VERSION
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",
[The gettext catalog name])
@@ -430,14 +453,6 @@ AC_ARG_ENABLE(datalist,
[],[enable_datalist="yes"])
AC_MSG_RESULT([$enable_datalist])
-# check whether to enable HTML5 ruby support
-AC_MSG_CHECKING([whether to enable HTML5 ruby support])
-AC_ARG_ENABLE(ruby,
- AC_HELP_STRING([--enable-ruby],
- [enable HTML5 ruby support [default=yes]]),
- [],[enable_ruby="yes"])
-AC_MSG_RESULT([$enable_ruby])
-
# check whether to enable HTML5 sandbox iframe support
AC_MSG_CHECKING([whether to enable HTML5 sandboxed iframe support])
AC_ARG_ENABLE(sandbox,
@@ -526,6 +541,22 @@ AC_ARG_ENABLE(workers,
[],[enable_workers="yes"])
AC_MSG_RESULT([$enable_workers])
+# check whether to enable directory upload support
+AC_MSG_CHECKING([whether to enable directory upload support])
+AC_ARG_ENABLE(directory_upload,
+ AC_HELP_STRING([--enable-directory-upload],
+ [enable support for directory upload [default=no]]),
+ [], [enable_directory_upload="no"])
+AC_MSG_RESULT([$enable_directory_upload])
+
+# check whether to enable HTML5 FileSystem API support
+AC_MSG_CHECKING([whether to enable HTML5 FileSystem API support])
+AC_ARG_ENABLE(file_system,
+ AC_HELP_STRING([--enable-file-system],
+ [enable support for HTML5 FileSystem API [default=no]]),
+ [], [enable_file_system="no"])
+AC_MSG_RESULT([$enable_file_system])
+
# turn off svg features if --disable-svg is requested
if test "$enable_svg" = "no"; then
enable_svg_animation=no
@@ -600,8 +631,8 @@ fi
AC_MSG_CHECKING([whether to enable Web Sockets support])
AC_ARG_ENABLE(web_sockets,
AC_HELP_STRING([--enable-web-sockets],
- [enable support for Web Sockets [default=no]]),
- [],[enable_web_sockets="no"])
+ [enable support for Web Sockets [default=yes]]),
+ [],[enable_web_sockets="yes"])
AC_MSG_RESULT([$enable_web_sockets])
# check whether to enable Web Timing support
@@ -612,13 +643,13 @@ AC_ARG_ENABLE(web_timing,
[],[enable_web_timing="no"])
AC_MSG_RESULT([$enable_web_timing])
-# check whether to enable Blob.slice support
-AC_MSG_CHECKING([whether to enable Blob.slice support])
-AC_ARG_ENABLE(blob_slice,
- AC_HELP_STRING([--enable-blob-slice],
- [enable support for Blob.slice [default=no]]),
- [],[enable_blob_slice="no"])
-AC_MSG_RESULT([$enable_blob_slice])
+# check whether to enable Blob support
+AC_MSG_CHECKING([whether to enable Blob support])
+AC_ARG_ENABLE(blob,
+ AC_HELP_STRING([--enable-blob],
+ [enable support for Blob [default=no]]),
+ [],[enable_blob="no"])
+AC_MSG_RESULT([$enable_blob])
# check whether to enable Fast Mobile Scrolling support
AC_MSG_CHECKING([whether to enable Fast Mobile Scrolling])
@@ -628,22 +659,6 @@ AC_ARG_ENABLE(fast_mobile_scrolling,
[],[enable_fast_mobile_scrolling="no"])
AC_MSG_RESULT([$enable_fast_mobile_scrolling])
-# check whether to enable FileReader support
-AC_MSG_CHECKING([whether to enable FileReader support])
-AC_ARG_ENABLE(file_reader,
- AC_HELP_STRING([--enable-file-reader],
- [enable support for FileReader [default=no]]),
- [],[enable_file_reader="no"])
-AC_MSG_RESULT([$enable_file_reader])
-
-# check whether to enable FileWriter support
-AC_MSG_CHECKING([whether to enable FileWriter support])
-AC_ARG_ENABLE(file_writer,
- AC_HELP_STRING([--enable-file-writer],
- [enable support for FileWriter [default=no]]),
- [],[enable_file_writer="no"])
-AC_MSG_RESULT([$enable_file_writer])
-
# check whether to enable code coverage
AC_MSG_CHECKING([whether to enable code coverage support])
AC_ARG_ENABLE(coverage,
@@ -667,6 +682,11 @@ AC_ARG_ENABLE([jit],
[],[enable_jit="yes"])
if test "$enable_jit" = "yes"; then
case "$host_cpu" in
+ arm*)
+ AC_DEFINE([ENABLE_JIT], [1], [Define to enable JIT])
+ AC_DEFINE([ENABLE_YARR], [1], [Define to enable YARR])
+ AC_DEFINE([ENABLE_YARR_JIT], [1], [Define to enable YARR JIT])
+ ;;
i*86|x86_64)
AC_DEFINE([ENABLE_JIT], [1], [Define to enable JIT])
AC_DEFINE([ENABLE_YARR], [1], [Define to enable YARR])
@@ -688,9 +708,36 @@ if test "$enable_jit" = "yes"; then
enable_jit="no (CPU '$host_cpu' not supported)"
;;
esac
+else
+ AC_DEFINE([ENABLE_JIT], [0], [Define to enable JIT])
fi
AC_MSG_RESULT([$enable_jit])
+# Opcode stats
+AC_MSG_CHECKING([whether to enable opcode stats])
+AC_ARG_ENABLE([opcode-stats],
+ [AS_HELP_STRING([--enable-opcode-stats], [Enable Opcode statistics (default: disabled)])],
+ [], [enable_opcode_stats=no])
+AC_MSG_RESULT([$enable_opcode_stats])
+
+if test "$enable_opcode_stats" = "yes"; then
+ if test "$enable_jit" = "yes"; then
+ AC_MSG_ERROR([JIT must be disabled for Opcode stats to work.])
+ fi
+ AC_DEFINE([ENABLE_OPCODE_STATS], [1], [Define to enable Opcode statistics])
+fi
+
+# Link prefetch
+AC_MSG_CHECKING([whether to enable link prefetch support])
+AC_ARG_ENABLE([link-prefetch],
+ [AS_HELP_STRING([--enable-link-prefetch], [Enable Link prefetch support (default: disabled)])],
+ [],[enable_link_prefetch=no])
+AC_MSG_RESULT([$enable_link_prefetch])
+
+if test "$enable_link_prefetch" = "yes"; then
+ AC_DEFINE([ENABLE_LINK_PREFETCH], [1], [Define to enable link prefetch support])
+fi
+
# GObject Introspection
AC_MSG_CHECKING([whether to enable GObject introspection support])
AC_ARG_ENABLE([introspection],
@@ -705,7 +752,7 @@ GIRDIR=
GIRTYPELIBDIR=
if test "$enable_introspection" = "yes"; then
- GOBJECT_INTROSPECTION_REQUIRED=0.6.15
+ GOBJECT_INTROSPECTION_REQUIRED=0.9.5
PKG_CHECK_MODULES([INTROSPECTION],[gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_REQUIRED])
G_IR_SCANNER="$($PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0)"
@@ -816,9 +863,13 @@ if test "$enable_video" = "yes"; then
[gstreamer-0.10 >= $GSTREAMER_REQUIRED_VERSION
gstreamer-app-0.10
gstreamer-base-0.10
+ gstreamer-interfaces-0.10
gstreamer-pbutils-0.10
gstreamer-plugins-base-0.10 >= $GSTREAMER_PLUGINS_BASE_REQUIRED_VERSION
- gstreamer-video-0.10])
+ gstreamer-video-0.10],
+ [have_gstreamer=yes],
+ [have_gstreamer=no])
+
AC_SUBST([GSTREAMER_CFLAGS])
AC_SUBST([GSTREAMER_LIBS])
fi
@@ -859,18 +910,26 @@ AM_CONDITIONAL([USE_GLIB_UNICODE], [test "$with_unicode_backend" = "glib"])
AM_CONDITIONAL([USE_FREETYPE], [test "$with_font_backend" = "freetype"])
AM_CONDITIONAL([USE_PANGO], [test "$with_font_backend" = "pango"])
+# GLib/GIO feature conditionals
+AM_CONDITIONAL([USE_GSETTINGS], [test "$have_gsettings" = "yes"])
+
+# GStreamer feature conditional
+AM_CONDITIONAL([USE_GSTREAMER], [test "$have_gstreamer" = "yes"])
+
# WebKit feature conditionals
AM_CONDITIONAL([ENABLE_DEBUG],[test "$enable_debug" = "yes"])
AM_CONDITIONAL([ENABLE_3D_TRANSFORMS],[test "$enable_3D_transforms" = "yes"])
-AM_CONDITIONAL([ENABLE_BLOB_SLICE],[test "$enable_blob_slice" = "yes"])
+AM_CONDITIONAL([ENABLE_BLOB],[test "$enable_blob" = "yes"])
AM_CONDITIONAL([ENABLE_CHANNEL_MESSAGING],[test "$enable_channel_messaging" = "yes"])
AM_CONDITIONAL([ENABLE_JAVASCRIPT_DEBUGGER],[test "$enable_javascript_debugger" = "yes"])
AM_CONDITIONAL([ENABLE_OFFLINE_WEB_APPLICATIONS],[test "$enable_offline_web_applications" = "yes"])
+AM_CONDITIONAL([ENABLE_DIRECTORY_UPLOAD],[test "$enable_directory_upload" = "yes"])
AM_CONDITIONAL([ENABLE_DOM_STORAGE],[test "$enable_dom_storage" = "yes"])
AM_CONDITIONAL([ENABLE_DATABASE],[test "$enable_database" = "yes"])
AM_CONDITIONAL([ENABLE_DATALIST],[test "$enable_datalist" = "yes"])
AM_CONDITIONAL([ENABLE_EVENTSOURCE],[test "$enable_eventsource" = "yes"])
AM_CONDITIONAL([ENABLE_FAST_MOBILE_SCROLLING],[test "$enable_fast_mobile_scrolling" = "yes"])
+AM_CONDITIONAL([ENABLE_FILE_SYSTEM],[test "$enable_file_system" = "yes"])
AM_CONDITIONAL([ENABLE_ICONDATABASE],[test "$enable_icon_database" = "yes"])
AM_CONDITIONAL([ENABLE_IMAGE_RESIZER],[test "$enable_image_resizer" = "yes"])
AM_CONDITIONAL([ENABLE_INDEXED_DATABASE],[test "$enable_indexed_database" = "yes"])
@@ -879,12 +938,8 @@ AM_CONDITIONAL([ENABLE_XHTMLMP],[test "$enable_xhtmlmp" = "yes"])
AM_CONDITIONAL([ENABLE_XPATH],[test "$enable_xpath" = "yes"])
AM_CONDITIONAL([ENABLE_XSLT],[test "$enable_xslt" = "yes"])
AM_CONDITIONAL([ENABLE_FILTERS],[test "$enable_filters" = "yes"])
-AM_CONDITIONAL([ENABLE_FILE_READER],[test "$enable_file_reader" = "yes"])
-AM_CONDITIONAL([ENABLE_FILE_WRITER],[test "$enable_file_writer" = "yes"])
AM_CONDITIONAL([ENABLE_GEOLOCATION], [test "$enable_geolocation" = "yes"])
AM_CONDITIONAL([ENABLE_MATHML], [test "$enable_mathml" = "yes"])
-AM_CONDITIONAL([ENABLE_RUBY],[test "$enable_ruby" = "yes"])
-AM_CONDITIONAL([ENABLE_SANDBOX],[test "$enable_sandbox" = "yes"])
AM_CONDITIONAL([ENABLE_VIDEO],[test "$enable_video" = "yes"])
AM_CONDITIONAL([ENABLE_NOTIFICATIONS],[test "$enable_notifications" = "yes"])
AM_CONDITIONAL([ENABLE_ORIENTATION_EVENTS],[test "$enable_orientation_events" = "yes"])
@@ -903,6 +958,7 @@ AM_CONDITIONAL([SVG_FLAGS],[test "$svg_flags" = "yes"])
AM_CONDITIONAL([HTML_FLAGS],[test "$html_flags" = "yes"])
AM_CONDITIONAL([ENABLE_WEB_SOCKETS],[test "$enable_web_sockets" = "yes"])
AM_CONDITIONAL([ENABLE_WEB_TIMING],[test "$enable_web_timing" = "yes"])
+AM_CONDITIONAL([ENABLE_OPCODE_STATS],[test "$enable_opcode_stats" = "yes"])
# Gtk conditionals
AM_CONDITIONAL([ENABLE_INTROSPECTION],[test "$enable_introspection" = "yes"])
@@ -918,7 +974,9 @@ WebKit/gtk/docs/version.xml
AC_CONFIG_FILES([
WebKit/gtk/${WEBKITGTK_PC_NAME}-${WEBKITGTK_API_VERSION}.pc:WebKit/gtk/webkit.pc.in
-WebKit/gtk/JSCore-${WEBKITGTK_API_VERSION}.gir:WebKit/gtk/JSCore.gir.in]
+WebKit/gtk/JSCore-${WEBKITGTK_API_VERSION}.gir:WebKit/gtk/JSCore.gir.in
+WebKit/gtk/org.webkitgtk-${WEBKITGTK_API_VERSION}.gschema.xml:WebKit/gtk/org.webkitgtk.gschema.xml.in
+]
,[WEBKITGTK_API_VERSION=$WEBKITGTK_API_VERSION,WEBKITGTK_PC_NAME=$WEBKITGTK_PC_NAME]
)
@@ -936,12 +994,11 @@ Build configuration:
Optimized memory allocator : $enable_fast_malloc
Features:
3D Transforms : $enable_3D_transforms
- Blob.slice support : $enable_blob_slice
+ Blob support : $enable_blob
+ Directory upload : $enable_directory_upload
Fast Mobile Scrolling : $enable_fast_mobile_scrolling
JIT compilation : $enable_jit
Filters support : $enable_filters
- FileReader support : $enable_file_reader
- FileWriter support : $enable_file_writer
Geolocation support : $enable_geolocation
JavaScript debugger/profiler support : $enable_javascript_debugger
MathML support : $enable_mathml
@@ -949,12 +1006,14 @@ Features:
HTML5 channel messaging support : $enable_channel_messaging
HTML5 client-side session and persistent storage support : $enable_dom_storage
HTML5 client-side database storage support : $enable_database
- HTML5 ruby support : $enable_ruby
+ HTML5 FileSystem API support : $enable_file_system
HTML5 sandboxed iframe support : $enable_sandbox
HTML5 server-sent events support : $enable_eventsource
HTML5 video element support : $enable_video
Icon database support : $enable_icon_database
Image resizer support : $enable_image_resizer
+ Link prefetch support : $enable_link_prefetch
+ Opcode stats : $enable_opcode_stats
SharedWorkers support : $enable_shared_workers
Speech input support : $enable_input_speech
SVG support : $enable_svg
@@ -970,6 +1029,7 @@ Features:
XHTML-MP support : $enable_xhtmlmp
XPATH support : $enable_xpath
XSLT support : $enable_xslt
+
GTK+ configuration:
GTK+ version : $with_gtk
GDK target : $with_target
diff --git a/meta/recipes-sato/webkit/files/nodolt.patch b/meta/recipes-sato/webkit/files/nodolt.patch
new file mode 100644
index 000000000..53313671f
--- /dev/null
+++ b/meta/recipes-sato/webkit/files/nodolt.patch
@@ -0,0 +1,16 @@
+Dolt cause build error on some platform, so disable it.
+
+Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
+Index: webkit-gtk-1.3.7+svnr72836-r72836-r0/configure.ac
+===================================================================
+--- webkit-gtk-1.3.7+svnr72836-r72836-r0.orig/configure.ac 2011-01-21 11:11:07.000000000 +0800
++++ webkit-gtk-1.3.7+svnr72836-r72836-r0/configure.ac 2011-01-21 11:11:15.000000000 +0800
+@@ -82,8 +82,6 @@
+ AC_DISABLE_STATIC
+ AC_LIBTOOL_WIN32_DLL
+ AC_PROG_LIBTOOL
+-# use dolt to speedup the build
+-DOLT
+
+ AC_PATH_PROG(FLEX, flex)
+ if test -z "$FLEX"; then
diff --git a/meta/recipes-sato/webkit/webkit-gtk_svn.bb b/meta/recipes-sato/webkit/webkit-gtk_svn.bb
index fe31b9c24..1b5e27673 100644
--- a/meta/recipes-sato/webkit/webkit-gtk_svn.bb
+++ b/meta/recipes-sato/webkit/webkit-gtk_svn.bb
@@ -12,7 +12,7 @@ DEPENDS_darwin8 = "curl icu libxml2 cairo libxslt libidn gnutls gtk+ gstreamer f
SRCREV_FORMAT = "webcore-rwebkit"
-PV = "1.3.2+svnr${SRCREV}"
+PV = "1.3.7+svnr${SRCPV}"
PR = "r0"
SRC_URI = "\
@@ -29,6 +29,7 @@ SRC_URI = "\
file://configure.ac \
file://GNUmakefile.am \
file://gtk-doc.make \
+ file://nodolt.patch \
"
S = "${WORKDIR}/"
@@ -60,6 +61,11 @@ do_compile_prepend() {
cd ${S}
}
+do_install_prepend() {
+ cp ${S}/Programs/.libs/jsc ${S}/Programs/jsc-1 || true
+}
+
+
PACKAGES =+ "${PN}-webinspector ${PN}launcher-dbg ${PN}launcher libjavascriptcore"
FILES_${PN}launcher = "${bindir}/GtkLauncher"
FILES_${PN}launcher-dbg = "${bindir}/.debug/GtkLauncher"
diff --git a/meta/recipes-support/apr/apr-util_1.3.4.bb b/meta/recipes-support/apr/apr-util_1.3.10.bb
index b2d6cc44f..930f757ff 100644
--- a/meta/recipes-support/apr/apr-util_1.3.4.bb
+++ b/meta/recipes-support/apr/apr-util_1.3.10.bb
@@ -1,18 +1,23 @@
DESCRIPTION = "Apache Portable Runtime (APR) companion library"
+HOMEPAGE = "http://apr.apache.org/"
SECTION = "libs"
DEPENDS = "apr expat gdbm"
+
LICENSE = "Apache License, Version 2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=519e0a18e03f7c023070568c14b077bb"
-PR = "r5"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=519e0a18e03f7c023070568c14b077bb \
+ file://include/apu_version.h;endline=17;md5=806685a84e71f10c80144c48eb35df42"
+
+PR = "r0"
SRC_URI = "${APACHE_MIRROR}/apr/${P}.tar.gz \
file://configfix.patch;patch=1 \
file://configure_fixes.patch;patch=1"
-SRC_URI[md5sum] = "a10e2ca150ff07f484c724c36142211f"
-SRC_URI[sha256sum] = "3f07ffdb18fb853290c9b83e82cd5cae66b8fbc357bd391e846c0afdd24fed7e"
+SRC_URI[md5sum] = "82acd25cf3df8c72eba44eaee8b80c19"
+SRC_URI[sha256sum] = "7c37ac40b2351bfc23000fb6b7b54a67e0872255df315c82eb60c821bcef4b23"
EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
+ --without-odbc \
--with-dbm=gdbm \
--with-gdbm=${STAGING_DIR_HOST}${prefix} \
--without-sqlite2 \
diff --git a/meta/recipes-support/apr/apr/buildconf_fix.patch b/meta/recipes-support/apr/apr/buildconf_fix.patch
new file mode 100644
index 000000000..641340b2a
--- /dev/null
+++ b/meta/recipes-support/apr/apr/buildconf_fix.patch
@@ -0,0 +1,25 @@
+Remove the new libtool detection method to avoid config failure. Poky's libtool
+has different format for "aclocaldir", and there is no elegant parsing method,
+so fall back to old detection.
+
+Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
+
+Index: apr-1.4.2/buildconf
+===================================================================
+--- apr-1.4.2.orig/buildconf 2009-11-13 06:19:49.000000000 +0800
++++ apr-1.4.2/buildconf 2010-11-29 14:39:19.000000000 +0800
+@@ -50,14 +50,6 @@
+
+ if [ -f libtool.m4 ]; then
+ ltfile=`pwd`/libtool.m4
+-elif grep all_pkgmacro_files $libtoolize > /dev/null; then
+- # libtool 2.x
+- aclocal_dir=`sed -n '/^aclocaldir=/{s/.*=//;p;q;}' < $libtoolize`
+- ltfiles=`sed -n '/^all_pkgmacro_files=/{s/.*=//;;s/"//;p;q;}' < $libtoolize`
+- for f in $ltfiles; do
+- test -f "$aclocal_dir/$f" && cp "$aclocal_dir/$f" build
+- done
+- ltfile=$aclocal_dir/libtool.m4
+ else
+ ltfindcmd="`sed -n \"/=[^\\\`]/p;/libtool_m4=/{s/.*=/echo /p;q;}\" \
+ < $libtoolize`"
diff --git a/meta/recipes-support/apr/apr/cleanup.patch b/meta/recipes-support/apr/apr/cleanup.patch
index fd7482648..47f1c42c5 100644
--- a/meta/recipes-support/apr/apr/cleanup.patch
+++ b/meta/recipes-support/apr/apr/cleanup.patch
@@ -1,7 +1,7 @@
-Index: apr-1.3.3/build/buildcheck.sh
+Index: apr-1.4.2/build/buildcheck.sh
===================================================================
---- apr-1.3.3.orig/build/buildcheck.sh 2009-01-15 13:32:33.000000000 +0000
-+++ apr-1.3.3/build/buildcheck.sh 2009-01-15 13:33:06.000000000 +0000
+--- apr-1.4.2.orig/build/buildcheck.sh 2009-11-13 08:27:16.000000000 +0800
++++ apr-1.4.2/build/buildcheck.sh 2010-11-26 15:44:00.000000000 +0800
@@ -32,35 +32,4 @@
echo "buildconf: autoconf version $ac_version (ok)"
fi
@@ -12,7 +12,7 @@ Index: apr-1.3.3/build/buildcheck.sh
-# output is multiline from 1.5 onwards
-
-# Require libtool 1.4 or newer
--libtool=`build/PrintPath glibtool libtool libtool15 libtool14`
+-libtool=`build/PrintPath glibtool1 glibtool libtool libtool15 libtool14`
-lt_pversion=`$libtool --version 2>/dev/null|sed -e 's/([^)]*)//g;s/^[^0-9]*//;s/[- ].*//g;q'`
-if test -z "$lt_pversion"; then
-echo "buildconf: libtool not found."
@@ -39,4 +39,3 @@ Index: apr-1.3.3/build/buildcheck.sh
-
-exit 1
+exit 0
-\ No newline at end of file
diff --git a/meta/recipes-support/apr/apr_1.3.3.bb b/meta/recipes-support/apr/apr_1.4.2.bb
index 26cc01fe7..ce26ef17c 100644
--- a/meta/recipes-support/apr/apr_1.3.3.bb
+++ b/meta/recipes-support/apr/apr_1.4.2.bb
@@ -1,16 +1,21 @@
DESCRIPTION = "Apache Portable Runtime (APR) library"
+HOMEPAGE = "http://apr.apache.org/"
SECTION = "libs"
+
LICENSE = "Apache License, Version 2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0c35ff3c4c83b89d2f076e315caac28b"
-PR = "r5"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0c35ff3c4c83b89d2f076e315caac28b \
+ file://include/apr_lib.h;endline=17;md5=ee42fa7575dc40580a9e01c1b75fae96"
+
+PR = "r0"
SRC_URI = "${APACHE_MIRROR}/apr/${P}.tar.bz2 \
file://configure_fixes.patch;patch=1 \
file://cleanup.patch;patch=1 \
- file://configfix.patch;patch=1"
+ file://configfix.patch;patch=1 \
+ file://buildconf_fix.patch;patch=1"
-SRC_URI[md5sum] = "2090c21dee4f0eb1512604127dcd158f"
-SRC_URI[sha256sum] = "d95f3b78366c86317043304864bb08cb836312c87ea7d142a4c02154e7e0dd37"
+SRC_URI[md5sum] = "4b00e8f70c067893d075577962656b35"
+SRC_URI[sha256sum] = "2017ca700694d09d2b0b21dd7c4d195e43a48735aac88526160c6195ee8f5391"
inherit autotools lib_package binconfig
@@ -21,10 +26,18 @@ do_configure_prepend() {
./buildconf
}
+#for some reason, build/libtool.m4 handled by buildconf still be overwritten
+#when autoconf, so handle it again.
+do_configure_append() {
+ cd ${S}
+ sed -i -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' build/libtool.m4
+ sed -i -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' build/apr_rules.mk
+}
+
SYSROOT_PREPROCESS_FUNCS += "apr_sysroot_preprocess"
apr_sysroot_preprocess () {
- d=${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${datadir}/apr
+ d=${SYSROOT_DESTDIR}${datadir}/apr
install -d $d/
cp ${S}/build/apr_rules.mk $d/
sed -i s,apr_builddir=.*,apr_builddir=,g $d/apr_rules.mk
diff --git a/meta/recipes-support/attr/acl.inc b/meta/recipes-support/attr/acl.inc
index 68745dd72..15a87a5a0 100644
--- a/meta/recipes-support/attr/acl.inc
+++ b/meta/recipes-support/attr/acl.inc
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://doc/COPYING;md5=c781d70ed2b4d48995b790403217a249 \
file://doc/COPYING.LGPL;md5=9e9a206917f8af112da634ce3ab41764"
DEPENDS = "attr"
-SRC_URI = "http://mirror.cinquix.com/pub/savannah/acl/${BP}.src.tar.gz"
+SRC_URI = "http://download.savannah.gnu.org/releases/acl/${BP}.src.tar.gz"
require ea-acl.inc
diff --git a/meta/recipes-support/attr/acl_2.2.49.bb b/meta/recipes-support/attr/acl_2.2.49.bb
index 2e0e0d307..197ac7d8a 100644
--- a/meta/recipes-support/attr/acl_2.2.49.bb
+++ b/meta/recipes-support/attr/acl_2.2.49.bb
@@ -1,6 +1,6 @@
require acl.inc
-PR = "r0"
+PR = "r1"
SRC_URI[md5sum] = "181445894cca986da9ae0099d5ce2d08"
SRC_URI[sha256sum] = "b9c7f4752e4ef4930a62fa5aa0d7efe1cba2b5a3a2d6ee2b45c0a70c72b7e5d5"
diff --git a/meta/recipes-support/attr/attr.inc b/meta/recipes-support/attr/attr.inc
index da7924631..9a8b0f6ab 100644
--- a/meta/recipes-support/attr/attr.inc
+++ b/meta/recipes-support/attr/attr.inc
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://doc/COPYING;md5=2d0aa14b3fce4694e4f615e30186335f \
file://attr/attr.c;endline=17;md5=be0403261f0847e5f43ed5b08d19593c \
file://libattr/libattr.c;endline=17;md5=7970f77049f8fa1199fff62a7ab724fb"
-SRC_URI = "http://nongnu.askapache.com/attr/${BP}.src.tar.gz"
+SRC_URI = "http://download.savannah.gnu.org/attr/${BP}.src.tar.gz"
require ea-acl.inc
diff --git a/meta/recipes-support/attr/attr_2.4.44.bb b/meta/recipes-support/attr/attr_2.4.44.bb
index e22e158c7..4be27d0d6 100644
--- a/meta/recipes-support/attr/attr_2.4.44.bb
+++ b/meta/recipes-support/attr/attr_2.4.44.bb
@@ -1,6 +1,6 @@
require attr.inc
-PR = "r1"
+PR = "r2"
SRC_URI += "file://memory-leak-in-copy.patch \
file://memory-leak2.patch \
diff --git a/meta/recipes-support/beecrypt/beecrypt/disable-icu-check.patch b/meta/recipes-support/beecrypt/beecrypt/disable-icu-check.patch
index 3e18a87c3..4a2f41477 100644
--- a/meta/recipes-support/beecrypt/beecrypt/disable-icu-check.patch
+++ b/meta/recipes-support/beecrypt/beecrypt/disable-icu-check.patch
@@ -2,11 +2,11 @@ We are unable to run code at configure time in a cross environemnt, but as we
control the build we can be fairly certain this dependency is met.
JL 05/07/10
-Index: beecrypt-4.1.2/configure.ac
+Index: beecrypt-4.2.1/configure.ac
===================================================================
---- beecrypt-4.1.2.orig/configure.ac 2004-12-21 11:37:56.000000000 +0000
-+++ beecrypt-4.1.2/configure.ac 2010-07-05 16:09:50.390083494 +0100
-@@ -243,32 +243,6 @@
+--- beecrypt-4.2.1.orig/configure.ac 2010-11-26 17:12:25.000000000 +0800
++++ beecrypt-4.2.1/configure.ac 2010-11-26 17:12:30.000000000 +0800
+@@ -292,32 +292,6 @@
# Predefines and checks for C++ API support
AH_TEMPLATE([CPPGLUE],[Define to 1 if you want to include the C++ code])
@@ -36,6 +36,6 @@ Index: beecrypt-4.1.2/configure.ac
- AC_LANG_POP(C)
-fi
-
+ AM_CONDITIONAL([WITH_CPLUSPLUS],[test "$ac_with_cplusplus" = yes])
+
if test "$ac_with_cplusplus" = yes ; then
- AC_DEFINE([CPPGLUE],1)
- fi
diff --git a/meta/recipes-support/beecrypt/beecrypt/fix-security.patch b/meta/recipes-support/beecrypt/beecrypt/fix-security.patch
index 6103562e0..f28e393ca 100644
--- a/meta/recipes-support/beecrypt/beecrypt/fix-security.patch
+++ b/meta/recipes-support/beecrypt/beecrypt/fix-security.patch
@@ -3,20 +3,38 @@ project:
http://www.mail-archive.com/fink-commits@lists.sourceforge.net/msg75742.html
JL 05/07/10
-Index: beecrypt-4.1.2/c++/security/Security.h
+Index: beecrypt-4.2.1/include/beecrypt/c++/beeyond/BeeCertificate.h
===================================================================
---- beecrypt-4.1.2.orig/c++/security/Security.h 2010-07-05 17:15:34.811273306 +0100
-+++ beecrypt-4.1.2/c++/security/Security.h 2010-07-05 17:15:38.696388531 +0100
-@@ -75,8 +75,6 @@
+--- beecrypt-4.2.1.orig/include/beecrypt/c++/beeyond/BeeCertificate.h 2010-11-26 17:22:57.000000000 +0800
++++ beecrypt-4.2.1/include/beecrypt/c++/beeyond/BeeCertificate.h 2010-11-26 17:23:01.000000000 +0800
+@@ -147,13 +147,13 @@
+ mutable bytearray* enc;
+
+ BeeCertificate();
+- BeeCertificate(InputStream& in) throw (IOException);
+
+ void encodeTBS(DataOutputStream& out) const throw (IOException);
+
+ bytearray* encodeTBS() const throw (CertificateEncodingException);
+
public:
- typedef vector<const Provider*> provider_vector;
- typedef provider_vector::iterator provider_vector_iterator;
--
++ BeeCertificate(InputStream& in) throw (IOException);
+ BeeCertificate(const BeeCertificate&) throw (CloneNotSupportedException);
+ virtual ~BeeCertificate();
+
+Index: beecrypt-4.2.1/include/beecrypt/c++/security/Security.h
+===================================================================
+--- beecrypt-4.2.1.orig/include/beecrypt/c++/security/Security.h 2010-11-26 17:20:55.000000000 +0800
++++ beecrypt-4.2.1/include/beecrypt/c++/security/Security.h 2010-11-26 17:21:36.000000000 +0800
+@@ -61,7 +61,6 @@
+ friend class SecureRandom;
+ friend class Signature;
+
- private:
struct spi
{
Object* cspi;
-@@ -91,6 +89,7 @@
+@@ -76,6 +75,7 @@
static spi* getSpi(const String& algo, const String& type, const Provider&) throw (NoSuchAlgorithmException);
static spi* getFirstSpi(const String& type);
@@ -24,20 +42,3 @@ Index: beecrypt-4.1.2/c++/security/Security.h
static const String& getKeyStoreDefault();
static bool _init;
-Index: beecrypt-4.1.2/c++/beeyond/BeeCertificate.h
-===================================================================
---- beecrypt-4.1.2.orig/c++/beeyond/BeeCertificate.h 2004-11-03 09:37:27.000000000 +0000
-+++ beecrypt-4.1.2/c++/beeyond/BeeCertificate.h 2010-07-05 17:16:25.216332324 +0100
-@@ -150,11 +150,11 @@
- mutable String* str;
-
- BeeCertificate();
-- BeeCertificate(InputStream& in) throw (IOException);
-
- bytearray* encodeTBS() const;
-
- public:
-+ BeeCertificate(InputStream& in) throw (IOException);
- BeeCertificate(const BeeCertificate&);
- virtual ~BeeCertificate();
-
diff --git a/meta/recipes-support/beecrypt/beecrypt/x64fix.patch b/meta/recipes-support/beecrypt/beecrypt/x64fix.patch
deleted file mode 100644
index ac02425d5..000000000
--- a/meta/recipes-support/beecrypt/beecrypt/x64fix.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Don't have 64 appended to the libdir for 64bit platforms.
-
-JL 05/07/10
-Index: beecrypt-4.1.2/configure.ac
-===================================================================
---- beecrypt-4.1.2.orig/configure.ac 2010-07-05 16:39:43.000000000 +0100
-+++ beecrypt-4.1.2/configure.ac 2010-07-05 16:40:27.521082866 +0100
-@@ -585,15 +585,6 @@
-
- # Check where to install the libraries
- bc_libalt=
--case $target_os in
--linux*)
-- case $bc_target_arch in
-- powerpc64 | s390x | x86_64)
-- bc_libalt="64"
-- ;;
-- esac
-- ;;
--esac
- AC_SUBST(LIBALT,$bc_libalt)
-
- # Generate output files.
diff --git a/meta/recipes-support/beecrypt/beecrypt_4.1.2.bb b/meta/recipes-support/beecrypt/beecrypt_4.2.1.bb
index e381a6bfa..d4c797216 100644
--- a/meta/recipes-support/beecrypt/beecrypt_4.1.2.bb
+++ b/meta/recipes-support/beecrypt/beecrypt_4.2.1.bb
@@ -5,15 +5,16 @@
DESCRIPTION="Beecrypt is a general-purpose cryptography library."
HOMEPAGE="http://sourceforge.net/projects/beecrypt"
SRC_URI="${SOURCEFORGE_MIRROR}/beecrypt/beecrypt-${PV}.tar.gz \
- file://x64fix.patch \
file://disable-icu-check.patch \
file://fix-security.patch"
-SRC_URI[md5sum] = "820d26437843ab0a6a8a5151a73a657c"
-SRC_URI[sha256sum] = "f29eb246947677a9e7870521e3d576fd0d91a7072210a4404ed137e40cfc18fd"
-LICENSE = "GPLv2&LGPLv2.1"
+SRC_URI[md5sum] = "8441c014170823f2dff97e33df55af1e"
+SRC_URI[sha256sum] = "286f1f56080d1a6b1d024003a5fa2158f4ff82cae0c6829d3c476a4b5898c55d"
+LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=9894370afd5dfe7d02b8d14319e729a1 \
- file://COPYING.LIB;md5=dcf3c825659e82539645da41a7908589"
+ file://COPYING.LIB;md5=dcf3c825659e82539645da41a7908589 \
+ file://include/beecrypt/beecrypt.h;endline=20;md5=47a93eef539aac237eef86297a4d71c1"
+
DEPENDS = "icu"
PR = "r0"
@@ -21,6 +22,6 @@ PR = "r0"
inherit autotools
acpaths=""
-EXTRA_OECONF="--with-arch=${TARGET_ARCH} --without-python --enable-shared --enable-static"
+EXTRA_OECONF="--without-python --enable-shared --enable-static --disable-openmp"
BBCLASSEXTEND = "native"
diff --git a/meta/recipes-support/boost/boost-jam-native.inc b/meta/recipes-support/boost/boost-jam-native.inc
index fe181ad00..f0fac0936 100644
--- a/meta/recipes-support/boost/boost-jam-native.inc
+++ b/meta/recipes-support/boost/boost-jam-native.inc
@@ -10,6 +10,8 @@ PRIORITY = "optional"
LICENSE = "Boost Software License"
PR = "r0"
+LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+
SRC_URI = "${SOURCEFORGE_MIRROR}/boost/boost-jam-${PV}.tgz"
S = "${WORKDIR}/boost-jam-${PV}"
diff --git a/meta/recipes-support/createrepo/createrepo/fix-native-install.patch b/meta/recipes-support/createrepo/createrepo/fix-native-install.patch
new file mode 100644
index 000000000..2ed2202e7
--- /dev/null
+++ b/meta/recipes-support/createrepo/createrepo/fix-native-install.patch
@@ -0,0 +1,161 @@
+Date: Jan 31, 2011
+
+There are two fixes:
+ 1. -native needs to customize prefix
+ 2. needs to change python reference in binaries
+
+Signed-off-by: Qing He <qing.he@intel.com>
+
+diff --git a/Makefile b/Makefile
+index b2d1a32..3c3639f 100644
+--- a/Makefile
++++ b/Makefile
+@@ -3,22 +3,22 @@ VERSION = 0.4.11
+ SHELL = /bin/sh
+ top_srcdir = .
+ srcdir = .
+-prefix = /usr
+-exec_prefix = ${prefix}
+-
+-bindir = ${exec_prefix}/bin
+-sbindir = ${exec_prefix}/sbin
+-libexecdir = ${exec_prefix}/libexec
+-datadir = ${prefix}/share
+-sysconfdir = ${prefix}/etc
+-sharedstatedir = ${prefix}/com
+-localstatedir = ${prefix}/var
+-libdir = ${exec_prefix}/lib
+-infodir = ${prefix}/info
++prefix ?= /usr
++exec_prefix ?= ${prefix}
++
++bindir ?= ${exec_prefix}/bin
++sbindir ?= ${exec_prefix}/sbin
++libexecdir ?= ${exec_prefix}/libexec
++datadir ?= ${prefix}/share
++sysconfdir ?= ${prefix}/etc
++sharedstatedir ?= ${prefix}/com
++localstatedir ?= ${prefix}/var
++libdir ?= ${exec_prefix}/lib
++infodir ?= ${prefix}/info
+ docdir =
+-includedir = ${prefix}/include
++includedir ?= ${prefix}/include
+ oldincludedir = /usr/include
+-mandir = ${prefix}/share/man
++mandir ?= ${prefix}/share/man
+
+ pkgdatadir = $(datadir)/$(PACKAGE)
+ pkglibdir = $(libdir)/$(PACKAGE)
+diff --git a/bin/Makefile b/bin/Makefile
+index 52c1f50..e30610e 100644
+--- a/bin/Makefile
++++ b/bin/Makefile
+@@ -1,22 +1,22 @@
+ SHELL = /bin/sh
+ top_srcdir = ..
+ srcdir = ../bin
+-prefix = /usr
+-exec_prefix = ${prefix}
+-
+-bindir = ${exec_prefix}/bin
+-sbindir = ${exec_prefix}/sbin
+-libexecdir = ${exec_prefix}/libexec
+-datadir = ${prefix}/share
+-sysconfdir = ${prefix}/etc
+-sharedstatedir = ${prefix}/com
+-localstatedir = ${prefix}/var
+-libdir = ${exec_prefix}/lib
+-infodir = ${prefix}/info
++prefix ?= /usr
++exec_prefix ?= ${prefix}
++
++bindir ?= ${exec_prefix}/bin
++sbindir ?= ${exec_prefix}/sbin
++libexecdir ?= ${exec_prefix}/libexec
++datadir ?= ${prefix}/share
++sysconfdir ?= ${prefix}/etc
++sharedstatedir ?= ${prefix}/com
++localstatedir ?= ${prefix}/var
++libdir ?= ${exec_prefix}/lib
++infodir ?= ${prefix}/info
+ docdir =
+-includedir = ${prefix}/include
++includedir ?= ${prefix}/include
+ oldincludedir = /usr/include
+-mandir = ${prefix}/man
++mandir ?= ${prefix}/man
+
+ pkgdatadir = $(datadir)/$(PACKAGE)
+ pkglibdir = $(libdir)/$(PACKAGE)
+@@ -40,8 +40,11 @@ all: $(srcdir)/$(PACKAGE)
+
+
+ install: all installdirs
+- $(INSTALL_BIN) $(srcdir)/$(PACKAGE) $(DESTDIR)$(bindir)/$(PACKAGE)
+- $(INSTALL_BIN) $(srcdir)/modifyrepo $(DESTDIR)$(bindir)/modifyrepo
++ sed -e "s|@DATADIR@|$(datadir)|" $(srcdir)/$(PACKAGE) > $(srcdir)/$(PACKAGE).tmp
++ sed -e "s|@DATADIR@|$(datadir)|" $(srcdir)/modifyrepo > $(srcdir)/modifyrepo.tmp
++ $(INSTALL_BIN) $(srcdir)/$(PACKAGE).tmp $(DESTDIR)$(bindir)/$(PACKAGE)
++ $(INSTALL_BIN) $(srcdir)/modifyrepo.tmp $(DESTDIR)$(bindir)/modifyrepo
++ rm -f $(srcdir)/$(PACKAGE).tmp $(srcdir)/modifyrepo.tmp
+
+
+ uninstall:
+diff --git a/bin/createrepo b/bin/createrepo
+index b0de515..eaacb39 100755
+--- a/bin/createrepo
++++ b/bin/createrepo
+@@ -1,2 +1,2 @@
+ #!/bin/sh
+-exec /usr/share/createrepo/genpkgmetadata.py "$@"
++exec @DATADIR@/createrepo/genpkgmetadata.py "$@"
+diff --git a/bin/modifyrepo b/bin/modifyrepo
+index c9732d8..6f7c1d4 100755
+--- a/bin/modifyrepo
++++ b/bin/modifyrepo
+@@ -1,2 +1,2 @@
+ #!/bin/sh
+-exec /usr/share/createrepo/modifyrepo.py "$@"
++exec @DATADIR@/createrepo/modifyrepo.py "$@"
+diff --git a/docs/Makefile b/docs/Makefile
+index 0a41179..e128c85 100644
+--- a/docs/Makefile
++++ b/docs/Makefile
+@@ -1,22 +1,22 @@
+ SHELL = /bin/sh
+ top_srcdir = ..
+ srcdir = ../docs
+-prefix = /usr
+-exec_prefix = ${prefix}
+-
+-bindir = ${exec_prefix}/bin
+-sbindir = ${exec_prefix}/sbin
+-libexecdir = ${exec_prefix}/libexec
+-datadir = ${prefix}/share
+-sysconfdir = ${prefix}/etc
+-sharedstatedir = ${prefix}/com
+-localstatedir = ${prefix}/var
+-libdir = ${exec_prefix}/lib
+-infodir = ${prefix}/info
++prefix ?= /usr
++exec_prefix ?= ${prefix}
++
++bindir ?= ${exec_prefix}/bin
++sbindir ?= ${exec_prefix}/sbin
++libexecdir ?= ${exec_prefix}/libexec
++datadir ?= ${prefix}/share
++sysconfdir ?= ${prefix}/etc
++sharedstatedir ?= ${prefix}/com
++localstatedir ?= ${prefix}/var
++libdir ?= ${exec_prefix}/lib
++infodir ?= ${prefix}/info
+ docdir =
+-includedir = ${prefix}/include
++includedir ?= ${prefix}/include
+ oldincludedir = /usr/include
+-mandir = ${datadir}/man
++mandir ?= ${datadir}/man
+
+ pkgdatadir = $(datadir)/$(PACKAGE)
+ pkglibdir = $(libdir)/$(PACKAGE)
diff --git a/meta/recipes-support/createrepo/createrepo_0.4.11.bb b/meta/recipes-support/createrepo/createrepo_0.4.11.bb
new file mode 100644
index 000000000..ba1d04b2b
--- /dev/null
+++ b/meta/recipes-support/createrepo/createrepo_0.4.11.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "createrepo creates rpm-metadata for rpms to build the repository"
+HOMEPAGE = "http://createrepo.baseurl.org/"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760"
+
+PR = "r1"
+
+SRC_URI= "http://createrepo.baseurl.org/download/${BP}.tar.gz \
+ file://fix-native-install.patch \
+ "
+
+SRC_URI[md5sum] = "3e9ccf4abcffe3f49af078c83611eda2"
+SRC_URI[sha256sum] = "a73ae11a0dcde8bde36d900bc3f7f8f1083ba752c70a5c61b72d1e1e7608f21b"
+
+BBCLASSEXTEND = "native"
+
+do_install () {
+ oe_runmake -e 'DESTDIR=${D}' install
+}
diff --git a/meta/recipes-support/db/db/arm-thumb-mutex.patch b/meta/recipes-support/db/db/arm-thumb-mutex.patch
deleted file mode 100644
index acd446fcd..000000000
--- a/meta/recipes-support/db/db/arm-thumb-mutex.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- db-4.3.29-dist/../dbinc/mutex.h 2005-11-15 07:33:27.761042518 -0800
-+++ db-4.3.29-dist/../dbinc/mutex.h 2005-11-15 07:55:24.823920060 -0800
-@@ -470,6 +470,25 @@
- #ifdef LOAD_ACTUAL_MUTEX_CODE
- #define MUTEX_SET_TEST 1 /* gcc/arm: 0 is clear, 1 is set. */
-
-+#if defined __thumb__
-+#define MUTEX_SET(tsl) ({ \
-+ int __r, __p; \
-+ asm volatile( \
-+ ".align 2\n\t" \
-+ "bx pc\n\t" \
-+ "nop\n\t" \
-+ ".arm\n\t" \
-+ "swpb %0, %2, [%3]\n\t" \
-+ "eor %0, %0, #1\n\t" \
-+ "orr %1, pc, #1\n\t" \
-+ "bx %1\n\t" \
-+ ".force_thumb" \
-+ : "=&r" (__r), "=r" (__p) \
-+ : "r" (1), "r" (tsl) \
-+ ); \
-+ __r & 1; \
-+})
-+#else
- #define MUTEX_SET(tsl) ({ \
- int __r; \
- asm volatile( \
-@@ -480,6 +499,7 @@
- ); \
- __r & 1; \
- })
-+#endif
-
- #define MUTEX_UNSET(tsl) (*(volatile tsl_t *)(tsl) = 0)
- #define MUTEX_INIT(tsl) MUTEX_UNSET(tsl)
diff --git a/meta/recipes-support/db/db/arm-thumb-mutex_db5.patch b/meta/recipes-support/db/db/arm-thumb-mutex_db5.patch
new file mode 100644
index 000000000..37d0d93ab
--- /dev/null
+++ b/meta/recipes-support/db/db/arm-thumb-mutex_db5.patch
@@ -0,0 +1,36 @@
+--- db-5.1.19/../src/dbinc/mutex_int.h.orig 2011-01-05 19:21:42.181805366 -0600
++++ db-5.1.19/../src/dbinc/mutex_int.h 2011-01-05 19:24:53.141853117 -0600
+@@ -474,6 +474,25 @@
+
+ #ifdef LOAD_ACTUAL_MUTEX_CODE
+ /* gcc/arm: 0 is clear, 1 is set. */
++#if defined __thumb__
++#define MUTEX_SET(tsl) ({ \
++ int __r, __p; \
++ __asm__ volatile( \
++ ".align 2\n\t" \
++ "bx pc\n\t" \
++ "nop\n\t" \
++ ".arm\n\t" \
++ "swpb %0, %2, [%3]\n\t" \
++ "eor %0, %0, #1\n\t" \
++ "orr %1, pc, #1\n\t" \
++ "bx %1\n\t" \
++ ".force_thumb" \
++ : "=&r" (__r), "=r" (__p) \
++ : "r" (1), "r" (tsl) \
++ ); \
++ __r & 1; \
++})
++#else
+ #define MUTEX_SET(tsl) ({ \
+ int __r; \
+ __asm__ volatile( \
+@@ -484,6 +503,7 @@
+ ); \
+ __r & 1; \
+ })
++#endif
+
+ #define MUTEX_UNSET(tsl) (*(volatile tsl_t *)(tsl) = 0)
+ #define MUTEX_INIT(tsl) (MUTEX_UNSET(tsl), 0)
diff --git a/meta/recipes-support/db/db/configure_fixes.patch b/meta/recipes-support/db/db/configure_fixes.patch
deleted file mode 100644
index 80aa0e7c1..000000000
--- a/meta/recipes-support/db/db/configure_fixes.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-If LD is a binary name + parameters db will fail to work out its GNU ld
-and disable shared libraries. We don't want this.
-
-RP - 22/11/2007
-
-Index: dist/configure
-===================================================================
---- dist.orig/configure 2007-11-23 00:47:27.000000000 +0000
-+++ dist/configure 2007-11-23 00:53:22.000000000 +0000
-@@ -5658,7 +5661,7 @@ if test "${lt_cv_prog_gnu_ld+set}" = set
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- # I'd rather use --version here, but apparently some GNU ld's only accept -v.
--case `"$LD" -v 2>&1 </dev/null` in
-+case `$LD -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
diff --git a/meta/recipes-support/db/db_4.2.52.bb b/meta/recipes-support/db/db_4.2.52.bb
deleted file mode 100644
index bd0511dbe..000000000
--- a/meta/recipes-support/db/db_4.2.52.bb
+++ /dev/null
@@ -1,100 +0,0 @@
-# Version 4 of the Berkeley DB from Sleepycat
-#
-# At present this package only installs the DB code
-# itself (shared libraries, .a in the dev package),
-# documentation and headers.
-#
-# The headers have the same names as those as v3
-# of the DB, only one version can be used *for dev*
-# at once - DB3 and DB4 can both be installed on the
-# same system at the same time if really necessary.
-SECTION = "libs"
-DESCRIPTION = "Berkeley DB v4."
-HOMEPAGE = "http://www.oracle.com/technology/products/berkeley-db/db/index.html"
-LICENSE = "BSD Sleepycat"
-VIRTUAL_NAME = "virtual/db"
-VIRTUAL_NAME_virtclass-native = "virtual/db-native"
-
-CONFLICTS = "db3"
-CONFLICTS_virtclass-native = "db3-native"
-PR = "r8"
-
-SRC_URI = "http://download.oracle.com/berkeley-db/db-${PV}.tar.gz \
- file://configure_fixes.patch;patch=1 "
-
-SRC_URI[md5sum] = "8b5cff6eb83972afdd8e0b821703c33c"
-SRC_URI[sha256sum] = "f4bddd8d1b4cde0daf5e13e3493ed62a25b736b0bf258e1d929e47bc6a82a28c"
-#SRC_URI_MD5 = "http://downloads.sleepycat.com/db-${PV}.tar.gz.md5"
-#TODO SRC_URI += "file://arm-thumb-mutex.patch;patch=1"
-
-inherit autotools
-
-# Put virtual/db in any appropriate provider of a
-# relational database, use it as a dependency in
-# place of a specific db and use:
-#
-# PREFERRED_PROVIDER_virtual/db
-#
-# to select the correct db in the build (distro) .conf
-PROVIDES += "${VIRTUAL_NAME}"
-
-# bitbake isn't quite clever enough to deal with sleepycat,
-# the distribution sits in the expected directory, but all
-# the builds must occur from a sub-directory. The following
-# persuades bitbake to go to the right place
-S = "${WORKDIR}/db-${PV}/dist"
-B = "${WORKDIR}/db-${PV}/build_unix"
-
-# The executables go in a separate package - typically there
-# is no need to install these unless doing real database
-# management on the system.
-PACKAGES += " ${PN}-bin"
-
-# Package contents
-FILES_${PN} = "${libdir}/libdb-4*so*"
-FILES_${PN}-bin = "${bindir}/*"
-# The dev package has the .so link (as in db3) and the .a's -
-# it is therefore incompatible (cannot be installed at the
-# same time) as the db3 package
-FILES_${PN}-dev = "${includedir} ${libdir}/*"
-
-#configuration - set in local.conf to override
-DB4_CONFIG ?= " --disable-cryptography --disable-queue --disable-replication --disable-verify --enable-hash"
-EXTRA_OECONF = "${DB4_CONFIG}"
-
-# Override the MUTEX setting here, the POSIX library is
-# the default - "POSIX/pthreads/library".
-# Don't ignore the nice SWP instruction on the ARM:
-# These enable the ARM assembler mutex code, this won't
-# work with thumb compilation...
-ARM_MUTEX = "--with-mutex=ARM/gcc-assembly"
-MUTEX = ""
-MUTEX_arm = "${ARM_MUTEX}"
-MUTEX_armeb = "${ARM_MUTEX}"
-EXTRA_OECONF += "${MUTEX}"
-
-ARM_INSTRUCTION_SET = "arm"
-
-# Cancel the site stuff - it's set for db3 and destroys the
-# configure.
-CONFIG_SITE = ""
-do_configure() {
- rm -f ${S}/config.sub
- cp ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/config.sub
- oe_runconf
-}
-
-do_install_append() {
- # The docs end up in /usr/docs - not right.
- if test -d "${D}/${prefix}/docs"
- then
- mkdir -p "${D}/${datadir}"
- test ! -d "${D}/${docdir}" || rm -rf "${D}/${docdir}"
- mv "${D}/${prefix}/docs" "${D}/${docdir}"
- fi
-}
-
-# The db package contains symlinks that trip up insane
-INSANE_SKIP_db = "1"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/db/db_4.3.29.bb b/meta/recipes-support/db/db_5.1.19.bb
index 04a6680f0..919e532be 100644
--- a/meta/recipes-support/db/db_4.3.29.bb
+++ b/meta/recipes-support/db/db_5.1.19.bb
@@ -1,7 +1,4 @@
-# Has issues with eds
-DEFAULT_PREFERENCE = "-1"
-
-# Version 4 of the Berkeley DB from Sleepycat
+# Version 5 of the Berkeley DB from Sleepycat
#
# At present this package only installs the DB code
# itself (shared libraries, .a in the dev package),
@@ -9,19 +6,24 @@ DEFAULT_PREFERENCE = "-1"
#
# The headers have the same names as those as v3
# of the DB, only one version can be used *for dev*
-# at once - DB3 and DB4 can both be installed on the
+# at once - DB3 and DB5 can both be installed on the
# same system at the same time if really necessary.
SECTION = "libs"
-DESCRIPTION = "Berkeley DB v4."
+DESCRIPTION = "Berkeley DB v5."
HOMEPAGE = "http://www.oracle.com/technology/products/berkeley-db/db/index.html"
LICENSE = "BSD Sleepycat"
VIRTUAL_NAME ?= "virtual/db"
CONFLICTS = "db3"
-PR = "r8"
+PR = "r1"
SRC_URI = "http://download.oracle.com/berkeley-db/db-${PV}.tar.gz"
#SRC_URI_MD5 = "http://downloads.sleepycat.com/db-${PV}.tar.gz.md5"
-SRC_URI += "file://arm-thumb-mutex.patch;patch=1"
+SRC_URI += "file://arm-thumb-mutex_db5.patch;patch=1"
+
+SRC_URI[md5sum] = "76fcbfeebfcd09ba0b4d96bfdf8d884d"
+SRC_URI[sha256sum] = "0194d4ca9266ba1a1c0bfbc233b18bfd05f63163453c81ebcdfdc7112d5ac850"
+
+LIC_FILES_CHKSUM = "file://../LICENSE;md5=86f9294f39f38ef9e89690bcd2320e7a"
inherit autotools
@@ -47,7 +49,7 @@ B = "${WORKDIR}/db-${PV}/build_unix"
PACKAGES += " ${PN}-bin"
# Package contents
-FILES_${PN} = "${libdir}/libdb-4*so*"
+FILES_${PN} = "${libdir}/libdb-5*so*"
FILES_${PN}-bin = "${bindir}/*"
# The dev package has the .so link (as in db3) and the .a's -
# it is therefore incompatible (cannot be installed at the
@@ -56,9 +58,9 @@ FILES_${PN}-dev = "${includedir} ${libdir}/*"
#configuration - set in local.conf to override
# All the --disable-* options replace --enable-smallbuild, which breaks a bunch of stuff (eg. postfix)
-DB4_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-statistics --disable-verify --enable-compat185"
+DB5_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-statistics --disable-verify --disable-compat185 --disable-sql"
-EXTRA_OECONF = "${DB4_CONFIG}"
+EXTRA_OECONF = "${DB5_CONFIG}"
# Override the MUTEX setting here, the POSIX library is
# the default - "POSIX/pthreads/library".
@@ -79,11 +81,24 @@ do_configure() {
}
do_install_append() {
+ mkdir -p ${D}/${includedir}/db51
+ #mv ${D}/${includedir}/db_185.h ${D}/${includedir}/db51/.
+ mv ${D}/${includedir}/db.h ${D}/${includedir}/db51/.
+ mv ${D}/${includedir}/db_cxx.h ${D}/${includedir}/db51/.
+ #mv ${D}/${includedir}/dbsql.h ${D}/${includedir}/db51/.
+ #ln -s db51/db_185.h ${D}/${includedir}/db_185.h
+ ln -s db51/db.h ${D}/${includedir}/db.h
+ ln -s db51/db_cxx.h ${D}/${includedir}/db_cxx.h
+ #ln -s db51/dbsql.h ${D}/${includedir}/dbsql.h
+
# The docs end up in /usr/docs - not right.
if test -d "${D}/${prefix}/docs"
then
mkdir -p "${D}/${datadir}"
- test ! -d "${D}/${docdir}" || rmdir "${D}/${docdir}"
+ test ! -d "${D}/${docdir}" || rm -rf "${D}/${docdir}"
mv "${D}/${prefix}/docs" "${D}/${docdir}"
fi
}
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/meta/recipes-support/enchant/enchant_1.6.0.bb b/meta/recipes-support/enchant/enchant_1.6.0.bb
index 7df4f9738..a3ef37912 100644
--- a/meta/recipes-support/enchant/enchant_1.6.0.bb
+++ b/meta/recipes-support/enchant/enchant_1.6.0.bb
@@ -6,11 +6,11 @@ LICENSE = "LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=dfcbabf9131dc9a95febef6753a2958b \
file://src/enchant.h;beginline=1;endline=29;md5=8d881caa1d37523567e1d8f726675a18"
DEPENDS = "aspell glib-2.0"
-RDEPENDS = "aspell"
+RDEPENDS_${PN} = "aspell"
inherit autotools pkgconfig
-PR = "r0"
+PR = "r1"
SRC_URI = "http://www.abisource.com/downloads/enchant/${PV}/enchant-${PV}.tar.gz"
diff --git a/meta/recipes-support/gnutls/gnutls-2.8.6/configure-fix.patch b/meta/recipes-support/gnutls/gnutls-2.10.4/configure-fix.patch
index 247e32456..247e32456 100644
--- a/meta/recipes-support/gnutls/gnutls-2.8.6/configure-fix.patch
+++ b/meta/recipes-support/gnutls/gnutls-2.10.4/configure-fix.patch
diff --git a/meta/recipes-support/gnutls/gnutls-2.8.6/gnutls-openssl.patch b/meta/recipes-support/gnutls/gnutls-2.10.4/gnutls-openssl.patch
index 413de0647..413de0647 100644
--- a/meta/recipes-support/gnutls/gnutls-2.8.6/gnutls-openssl.patch
+++ b/meta/recipes-support/gnutls/gnutls-2.10.4/gnutls-openssl.patch
diff --git a/meta/recipes-support/gnutls/gnutls-2.8.6/gnutls-texinfo-euro.patch b/meta/recipes-support/gnutls/gnutls-2.10.4/gnutls-texinfo-euro.patch
index a2d2f0387..a2d2f0387 100644
--- a/meta/recipes-support/gnutls/gnutls-2.8.6/gnutls-texinfo-euro.patch
+++ b/meta/recipes-support/gnutls/gnutls-2.10.4/gnutls-texinfo-euro.patch
diff --git a/meta/recipes-support/gnutls/gnutls_2.8.6.bb b/meta/recipes-support/gnutls/gnutls_2.10.4.bb
index 59fc2266a..3924ecdf9 100644
--- a/meta/recipes-support/gnutls/gnutls_2.8.6.bb
+++ b/meta/recipes-support/gnutls/gnutls_2.10.4.bb
@@ -6,5 +6,5 @@ SRC_URI += "file://gnutls-openssl.patch \
file://gnutls-texinfo-euro.patch \
file://configure-fix.patch"
-SRC_URI[md5sum] = "eb0a6d7d3cb9ac684d971c14f9f6d3ba"
-SRC_URI[sha256sum] = "d6f846a7064af3ee2c9aebd65dcee76953b767170cbcd719e990ed6b9688a356"
+SRC_URI[md5sum] = "4e1517084018a8b1fdc96daabea40528"
+SRC_URI[sha256sum] = "b8bfe36450fe671e99db5ff1e44e6b65fda8a79cacd9e77d550eff7da3745fc8"
diff --git a/meta/recipes-support/gnutls/libtasn1_2.8.bb b/meta/recipes-support/gnutls/libtasn1_2.9.bb
index a10d2ace5..63bb3c85f 100644
--- a/meta/recipes-support/gnutls/libtasn1_2.8.bb
+++ b/meta/recipes-support/gnutls/libtasn1_2.9.bb
@@ -14,8 +14,8 @@ PR = "r0"
SRC_URI = "ftp://ftp.gnutls.org/pub/gnutls/libtasn1/libtasn1-${PV}.tar.gz"
-SRC_URI[md5sum] = "53fd164f8670e55a9964666990fb358f"
-SRC_URI[sha256sum] = "2b7d74f4b10b18ae2f0291fcafabe30e42c9ededdea41add8c622302132d545a"
+SRC_URI[md5sum] = "f4f4035b84550100ffeb8ad4b261dea9"
+SRC_URI[sha256sum] = "fac46855fac8b08cf6f5a1b60cebad8e090bac1f06c335a044e84110d0b412c4"
inherit autotools binconfig lib_package
diff --git a/meta/recipes-support/hal/hal.inc b/meta/recipes-support/hal/hal.inc
index 839dfd065..ee6c7ba15 100644
--- a/meta/recipes-support/hal/hal.inc
+++ b/meta/recipes-support/hal/hal.inc
@@ -7,7 +7,7 @@ LICENSE = "GPLv2+ | AFL"
LIC_FILES_CHKSUM = "file://COPYING;md5=5b5ffd59fbb7c2fff6de76c94177af31"
DEPENDS = "virtual/kernel dbus-glib udev util-linux intltool intltool-native expat libusb gperf-native"
-RDEPENDS += "udev hal-info"
+RDEPENDS_${PN} += "udev hal-info"
SRC_URI = "http://hal.freedesktop.org/releases/hal-${PV}.tar.gz \
file://20hal"
diff --git a/meta/recipes-support/hal/hal_0.5.14.bb b/meta/recipes-support/hal/hal_0.5.14.bb
index f9437f8d6..8b82ca850 100644
--- a/meta/recipes-support/hal/hal_0.5.14.bb
+++ b/meta/recipes-support/hal/hal_0.5.14.bb
@@ -1,6 +1,6 @@
require hal.inc
-PR = "r2"
+PR = "r3"
EXTRA_OECONF += "--with-linux-input-header=${STAGING_INCDIR}/linux/input.h"
EXTRA_OEMAKE += "-e 'udevrulesdir=$(sysconfdir)/udev/rules.d'"
diff --git a/meta/recipes-support/hal/hal_git.bb b/meta/recipes-support/hal/hal_git.bb
index baed47237..483867f26 100644
--- a/meta/recipes-support/hal/hal_git.bb
+++ b/meta/recipes-support/hal/hal_git.bb
@@ -1,7 +1,7 @@
require hal.inc
PV = "0.5.9.1+git${SRCDATE}"
-PR = "r7"
+PR = "r8"
SRC_URI = "git://anongit.freedesktop.org/hal/;protocol=git \
file://20hal \
diff --git a/meta/recipes-support/libfm/libfm-0.1.14/add_missing.patch b/meta/recipes-support/libfm/libfm-0.1.14/add_missing.patch
deleted file mode 100644
index 3739d8056..000000000
--- a/meta/recipes-support/libfm/libfm-0.1.14/add_missing.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-Add missing definitions and declarations for libfm which are
-needed by libfm.
-
-Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
-
-diff -ruN libfm-0.1.12-orig/src/gio/fm-app-lookup.h libfm-0.1.12/src/gio/fm-app-lookup.h
---- libfm-0.1.12-orig/src/gio/fm-app-lookup.h 2010-11-17 22:00:48.000000000 +0800
-+++ libfm-0.1.12/src/gio/fm-app-lookup.h 2010-11-17 22:01:13.000000000 +0800
-@@ -53,6 +53,41 @@
- GType fm_app_lookup_get_type(void);
- void fm_app_lookup_register(GIOModule *module);
-
-+#define G_TYPE_DESKTOP_APP_INFO_LOOKUP (g_desktop_app_info_lookup_get_type ())
-+#define G_DESKTOP_APP_INFO_LOOKUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_DESKTOP_APP_INFO_LOOKUP, GDesktopAppInfoLookup))
-+#define G_IS_DESKTOP_APP_INFO_LOOKUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_DESKTOP_APP_INFO_LOOKUP))
-+#define G_DESKTOP_APP_INFO_LOOKUP_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_DESKTOP_APP_INFO_LOOKUP, GDesktopAppInfoLookupIface))
-+
-+/**
-+ * G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME:
-+ *
-+ * Extension point for default handler to URI association. See
-+ * <link linkend="extending-gio">Extending GIO</link>.
-+ */
-+#define G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME "gio-desktop-app-info-lookup"
-+
-+/**
-+ * GDesktopAppInfoLookup:
-+ *
-+ * Interface that is used by backends to associate default
-+ * handlers with URI schemes.
-+ */
-+typedef struct _GDesktopAppInfoLookup GDesktopAppInfoLookup;
-+typedef struct _GDesktopAppInfoLookupIface GDesktopAppInfoLookupIface;
-+
-+struct _GDesktopAppInfoLookupIface
-+{
-+ GTypeInterface g_iface;
-+
-+ GAppInfo * (* get_default_for_uri_scheme) (GDesktopAppInfoLookup *lookup,
-+ const char *uri_scheme);
-+};
-+
-+GType g_desktop_app_info_lookup_get_type (void) G_GNUC_CONST;
-+
-+GAppInfo *g_desktop_app_info_lookup_get_default_for_uri_scheme (GDesktopAppInfoLookup *lookup,
-+ const char *uri_scheme);
-+
- G_END_DECLS
-
- #endif /* __FM_APP_LOOKUP_H__ */
diff --git a/meta/recipes-support/libfm/libfm_0.1.14.bb b/meta/recipes-support/libfm/libfm_0.1.14.bb
index e8e672cf8..c56ad331c 100644
--- a/meta/recipes-support/libfm/libfm_0.1.14.bb
+++ b/meta/recipes-support/libfm/libfm_0.1.14.bb
@@ -10,10 +10,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
SECTION = "x11/libs"
DEPENDS = "gtk+ menu-cache intltool"
-PR = "r1"
+PR = "r2"
-SRC_URI = "${SOURCEFORGE_MIRROR}/pcmanfm/libfm-${PV}.tar.gz \
- file://add_missing.patch"
+SRC_URI = "${SOURCEFORGE_MIRROR}/pcmanfm/libfm-${PV}.tar.gz"
SRC_URI[md5sum] = "d55e51dced6bb9ef46665243b079761f"
SRC_URI[sha256sum] = "e97bf3f9ed4f33b9f0be73e67d360b89337cccf816361faacd8422722269806b"
diff --git a/meta/recipes-support/libgdbus/libgdbus_git.bb b/meta/recipes-support/libgdbus/libgdbus_git.bb
index c465023d1..40b44de88 100644
--- a/meta/recipes-support/libgdbus/libgdbus_git.bb
+++ b/meta/recipes-support/libgdbus/libgdbus_git.bb
@@ -1,12 +1,18 @@
-HOMEPAGE = "http://www.moblin.org/projects/projects_connman.php"
-SUMMARY = "Moblin Glib D-Bus integration"
-LICENSE = "GPLv2&LGPLv2.1"
+SUMMARY = "Library for simple D-Bus integration with GLib"
+DESCRIPTION = "Library for simple D-Bus integration with GLib"
+HOMEPAGE = "http://www.bluez.org"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPLv2&LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
- file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09"
-DEPENDS = "glib-2.0 dbus"
-PV = "0.0+git${SRCREV}"
-S = "${WORKDIR}/git"
+ file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09"
-SRC_URI = "git://git.kernel.org/pub/scm/bluetooth/libgdbus.git;protocol=git"
+DEPENDS = "glib-2.0 dbus"
+PV = "0.0+git${SRCPV}"
+PR = "r0"
+
+SRC_URI = "git://git.kernel.org/pub/scm/bluetooth/libgdbus.git;protocol=git"
+
+S = "${WORKDIR}/git"
inherit autotools pkgconfig
diff --git a/meta/recipes-support/liburcu/liburcu_0.4.8.bb b/meta/recipes-support/liburcu/liburcu_0.5.2.bb
index 655685a65..fa9ddb361 100644
--- a/meta/recipes-support/liburcu/liburcu_0.4.8.bb
+++ b/meta/recipes-support/liburcu/liburcu_0.5.2.bb
@@ -11,8 +11,8 @@ PR = "r0"
SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2"
-SRC_URI[md5sum] = "408b67506808a1bff2313d83607dbcfe"
-SRC_URI[sha256sum] = "43783a298b5adcfe273878194b28b9dcb95cbe8948a918caaf492c7bcb8c2ff6"
+SRC_URI[md5sum] = "a2978395806eed5d9a2de1e22efe70e0"
+SRC_URI[sha256sum] = "2f22966fe4b00ef547976a31c1c6a7c7bea3449ffa838806d9610e7424e184dd"
S = "${WORKDIR}/userspace-rcu-${PV}"
diff --git a/meta/recipes-support/lzo/lzo-2.03/autofoo.patch b/meta/recipes-support/lzo/lzo-2.03/autofoo.patch
deleted file mode 100644
index 5762f4c6e..000000000
--- a/meta/recipes-support/lzo/lzo-2.03/autofoo.patch
+++ /dev/null
@@ -1,17 +0,0 @@
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: lzo-2.02/configure.ac
-===================================================================
---- lzo-2.02.orig/configure.ac 2007-08-08 15:28:14.000000000 +0100
-+++ lzo-2.02/configure.ac 2007-08-08 15:28:21.000000000 +0100
-@@ -47,7 +47,7 @@ AC_CANONICAL_TARGET
- AM_MAINTAINER_MODE
-
- if test -z "$ac_abs_top_srcdir"; then
-- _AC_SRCPATHS(.)
-+ _AC_SRCDIRS(.)
- fi
- if test -r .Conf.settings1; then
- . ./.Conf.settings1
diff --git a/meta/recipes-support/lzo/lzo-2.03/acinclude.m4 b/meta/recipes-support/lzo/lzo-2.04/acinclude.m4
index c4d2ccd5b..c4d2ccd5b 100644
--- a/meta/recipes-support/lzo/lzo-2.03/acinclude.m4
+++ b/meta/recipes-support/lzo/lzo-2.04/acinclude.m4
diff --git a/meta/recipes-support/lzo/lzo-2.04/autoconf.patch b/meta/recipes-support/lzo/lzo-2.04/autoconf.patch
new file mode 100644
index 000000000..c34238710
--- /dev/null
+++ b/meta/recipes-support/lzo/lzo-2.04/autoconf.patch
@@ -0,0 +1,19 @@
+Date: 12/31/2010
+Didn't find 2.67 specific features, so lower the requirement
+to pass build
+
+Signed-off-by: Qing He <qing.he@intel.com>
+---
+diff --git a/configure.ac b/configure.ac
+index 650749a..2a78845 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -36,7 +36,7 @@ All Rights Reserved.
+ This configure script may be copied, distributed and modified under the
+ terms of the GNU General Public License; see COPYING for more details.])
+
+-AC_PREREQ(2.67)
++AC_PREREQ(2.65)
+ AC_INIT([LZO],[2.04],[markus@oberhumer.com],[lzo],[http://www.oberhumer.com/opensource/lzo/])
+ AC_MSG_NOTICE([Configuring LZO $PACKAGE_VERSION])
+ AC_CONFIG_SRCDIR(src/lzo_init.c)
diff --git a/meta/recipes-support/lzo/lzo_2.03.bb b/meta/recipes-support/lzo/lzo_2.04.bb
index 05b10ee9f..f8c8aba3a 100644
--- a/meta/recipes-support/lzo/lzo_2.03.bb
+++ b/meta/recipes-support/lzo/lzo_2.04.bb
@@ -4,15 +4,16 @@ SECTION = "libs"
PRIORITY = "optional"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=8cad52263e636e25377bc18420118101 \
- file://src/lzo_init.c;beginline=5;endline=33;md5=094776237523b2e93124cf09b9c76aef"
+ file://src/lzo_init.c;beginline=5;endline=36;md5=454f781644dfe945e3634a9b699e91f3"
PR = "r0"
SRC_URI = "http://www.oberhumer.com/opensource/lzo/download/lzo-${PV}.tar.gz \
- file://autofoo.patch \
- file://acinclude.m4"
+ file://autoconf.patch \
+ file://acinclude.m4 \
+ "
-SRC_URI[md5sum] = "0c3d078c2e8ea5a88971089a2f02a726"
-SRC_URI[sha256sum] = "8b1b0da8f757b9ac318e1c15a0eac8bdb56ca902a2dd25beda06c0f265f22591"
+SRC_URI[md5sum] = "a383c7055a310e2a71b9ecd19cfea238"
+SRC_URI[sha256sum] = "4ee3a040facf39561f13e4ef2ab99a886fd68251a35d612486ed0625cc6ab428"
inherit autotools
diff --git a/meta/recipes-tbd/consolekit/consolekit_0.4.3.bb b/meta/recipes-tbd/consolekit/consolekit_0.4.3.bb
deleted file mode 100644
index f1da72bb7..000000000
--- a/meta/recipes-tbd/consolekit/consolekit_0.4.3.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "ConsoleKit is a framework for defining and tracking users, login sessions, and seats."
-HOMEPAGE="http://www.freedesktop.org/wiki/Software/ConsoleKit"
-BUGTRACKER="https://bugs.freedesktop.org/buglist.cgi?query_format=specific&product=ConsoleKit"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
- file://src/main.c;endline=21;md5=0a994e09769780220163255d8f9071c3"
-
-DEPENDS = "dbus"
-
-inherit gnome
-
-SRC_URI = "http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-0.4.3.tar.bz2 \
- file://nopolkit.patch;patch=1"
-S = "${WORKDIR}/ConsoleKit-${PV}"
-
-FILES_${PN} += "${libdir}/ConsoleKit ${datadir}/dbus-1 ${datadir}/PolicyKit"
-
-
-
-
diff --git a/meta/site/mips-common b/meta/site/mips-common
index 85e4696cb..6408baa59 100644
--- a/meta/site/mips-common
+++ b/meta/site/mips-common
@@ -29,3 +29,6 @@ ac_cv_alignof_CORBA_struct=1
# dpkg
dpkg_cv_va_copy=${ac_cv_va_copy=yes}
dpkg_cv___va_copy=${ac_cv___va_copy=yes}
+
+# apr
+apr_cv_tcp_nodelay_with_cork=${apr_cv_tcp_nodelay_with_cork=yes}
diff --git a/meta/site/x86_64-linux b/meta/site/x86_64-linux
index 31acb3443..9c9e0f82a 100644
--- a/meta/site/x86_64-linux
+++ b/meta/site/x86_64-linux
@@ -114,3 +114,11 @@ as_cv_unaligned_access=${as_cv_unaligned_access=yes}
nfsd_cv_broken_setfsuid=${nfsd_cv_broken_setfsuid=0}
nfsd_cv_func_statfs=${nfsd_cv_func_statfs=statfs2_bsize}
nfsd_cv_bsd_signals=${nfsd_cv_bsd_signals=yes}
+
+#apr
+apr_cv_tcp_nodelay_with_cork=${apr_cv_tcp_nodelay_with_cork=yes}
+
+# rpm
+rpm_ac_cv_va_copy=${ac_cv_va_copy=yes}
+rpm_ac_cv___va_copy=${ac_cv___va_copy=yes}
+
diff --git a/poky-init-build-env b/poky-init-build-env
index 075070370..82590f201 100755
--- a/poky-init-build-env
+++ b/poky-init-build-env
@@ -18,12 +18,27 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
+#
+# Normally this is called as '. ./poky-init-buildenv builddir'
+#
+# This works in most shells (not dash), but not all of them pass arg1 when
+# being sourced. To workaround the shell limitation use "set arg1" prior
+# to sourcing this script.
+#
if [ "x$0" = "x./poky-init-build-env" ]; then
echo "Error: This script needs to be sourced. Please run as '. ./poky-init-build-env'"
-elif [ "x$BASH_SOURCE" = "x" ]; then
- echo "Error: You are not running a Bash shell. Please use Bash or add support for your shell to the init scripts"
else
- . `dirname $BASH_SOURCE`/scripts/poky-env-internal
+ if [ -n "$BASH_SOURCE" ]; then
+ OEROOT="`dirname $BASH_SOURCE`"
+ else
+ OEROOT="`pwd`"
+ fi
+ OEROOT=`readlink -f "$OEROOT"`
+ export OEROOT
+ . $OEROOT/scripts/poky-env-internal
+ $OEROOT/scripts/poky-setup-builddir
+ unset OEROOT
+ unset BBPATH
+ [ -n "$BUILDDIR" ] && cd $BUILDDIR
fi
diff --git a/scripts/bitbake b/scripts/bitbake
index 2c03314e0..f40bd2826 100755
--- a/scripts/bitbake
+++ b/scripts/bitbake
@@ -1,9 +1,33 @@
#!/bin/sh
+NO_BUILD_OPTS="--version -h --help -p --parse-only -s --show-versions -e --environment"
+needpseudo="1"
+for opt in $@; do
+for key in $NO_BUILD_OPTS; do
+ if [ $opt = $key ]
+ then
+ needpseudo="0"
+ break
+ fi
+done
+[ $needpseudo = "0" ] && break
+done
+
+buildpseudo="1"
+if [ $needpseudo = "1" ] && [ -e "$BUILDDIR/pseudodone" ]; then
+ PSEUDOBINDIR=`cat $BUILDDIR/pseudodone`
+ if [ -e "$PSEUDOBINDIR/pseudo" ]; then
+ buildpseudo="0"
+ fi
+fi
+if [ $needpseudo = "0" ]; then
+ buildpseudo="0"
+fi
+
OLDPATH=$PATH
export PATH=`echo $PATH | sed s#[^:]*/scripts:##`
-if [ ! -e "$BUILDDIR/pseudodone" ]; then
- echo "Pseudo has not been built, building this first before the main build"
- bitbake pseudo-native
+if [ $buildpseudo = "1" ]; then
+ echo "Pseudo is not present but is required, building this first before the main build"
+ bitbake pseudo-native -c populate_sysroot
ret=$?
if [ "$ret" != "0" ]; then
exit 1
@@ -19,7 +43,11 @@ if [ ! -e "$BUILDDIR/pseudodone" ]; then
fi
BITBAKE=`which bitbake`
export PATH=$OLDPATH
-PSEUDOBINDIR=`cat $BUILDDIR/pseudodone`
-PSEUDO_BINDIR=$PSEUDOBINDIR PSEUDO_LIBDIR=$PSEUDOBINDIR/../lib/pseudo/lib PSEUDO_PREFIX=$PSEUDOBINDIR/../../ PSEUDO_DISABLED=1 $PSEUDOBINDIR/pseudo $BITBAKE $@
+if [ $needpseudo = "1" ]; then
+ PSEUDOBINDIR=`cat $BUILDDIR/pseudodone`
+ PSEUDO_BINDIR=$PSEUDOBINDIR PSEUDO_LIBDIR=$PSEUDOBINDIR/../lib/pseudo/lib PSEUDO_PREFIX=$PSEUDOBINDIR/../../ PSEUDO_DISABLED=1 $PSEUDOBINDIR/pseudo $BITBAKE $@
+else
+ $BITBAKE $@
+fi
ret=$?
exit $ret
diff --git a/scripts/contrib/bbvars.py b/scripts/contrib/bbvars.py
new file mode 100755
index 000000000..0896d6444
--- /dev/null
+++ b/scripts/contrib/bbvars.py
@@ -0,0 +1,186 @@
+#!/usr/bin/env python
+
+# 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.
+#
+# Copyright (C) Darren Hart <dvhart@linux.intel.com>, 2010
+
+
+import sys
+import getopt
+import os
+import os.path
+import re
+
+def usage():
+ print 'Usage: %s -d FILENAME [-d FILENAME]* -m METADIR [-m MATADIR]*' % os.path.basename(sys.argv[0])
+ print ' -d FILENAME documentation file to search'
+ print ' -h, --help display this help and exit'
+ print ' -m METADIR meta directory to search for recipes'
+ print ' -t FILENAME documentation config file (for doc tags)'
+ print ' -T Only display variables with doc tags (requires -t)'
+
+def recipe_bbvars(recipe):
+ ''' Return a unique set of every bbvar encountered in the recipe '''
+ prog = re.compile("[A-Z_]+")
+ vset = set()
+ try:
+ r = open(recipe)
+ except IOError as (errno, strerror):
+ print 'WARNING: Failed to open recipe ', recipe
+ print strerror
+
+ for line in r:
+ # Strip any comments from the line
+ line = line.rsplit('#')[0]
+ vset = vset.union(set(prog.findall(line)))
+ r.close()
+
+ bbvars = {}
+ for v in vset:
+ bbvars[v] = 1
+
+ return bbvars
+
+def collect_bbvars(metadir):
+ ''' Walk the metadir and collect the bbvars from each recipe found '''
+ bbvars = {}
+ for root,dirs,files in os.walk(metadir):
+ for name in files:
+ if name.find(".bb") >= 0:
+ for key in recipe_bbvars(os.path.join(root,name)).iterkeys():
+ if bbvars.has_key(key):
+ bbvars[key] = bbvars[key] + 1
+ else:
+ bbvars[key] = 1
+ return bbvars
+
+def bbvar_is_documented(var, docfiles):
+ prog = re.compile(".*($|[^A-Z_])%s([^A-Z_]|$)" % (var))
+ for doc in docfiles:
+ try:
+ f = open(doc)
+ except IOError as (errno, strerror):
+ print 'WARNING: Failed to open doc ', doc
+ print strerror
+ for line in f:
+ if prog.match(line):
+ return True
+ f.close()
+ return False
+
+def bbvar_doctag(var, docconf):
+ prog = re.compile('^%s\[doc\] *= *"(.*)"' % (var))
+ if docconf == "":
+ return "?"
+
+ try:
+ f = open(docconf)
+ except IOError as (errno, strerror):
+ return strerror
+
+ for line in f:
+ m = prog.search(line)
+ if m:
+ return m.group(1)
+
+ f.close()
+ return ""
+
+def main():
+ docfiles = []
+ metadirs = []
+ bbvars = {}
+ undocumented = []
+ docconf = ""
+ onlydoctags = False
+
+ # Collect and validate input
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], "d:hm:t:T", ["help"])
+ except getopt.GetoptError, err:
+ print '%s' % str(err)
+ usage()
+ sys.exit(2)
+
+ for o, a in opts:
+ if o in ('-h', '--help'):
+ usage()
+ sys.exit(0)
+ elif o == '-d':
+ if os.path.isfile(a):
+ docfiles.append(a)
+ else:
+ print 'ERROR: documentation file %s is not a regular file' % (a)
+ sys.exit(3)
+ elif o == '-m':
+ if os.path.isdir(a):
+ metadirs.append(a)
+ else:
+ print 'ERROR: meta directory %s is not a directory' % (a)
+ sys.exit(4)
+ elif o == "-t":
+ if os.path.isfile(a):
+ docconf = a
+ elif o == "-T":
+ onlydoctags = True
+ else:
+ assert False, "unhandled option"
+
+ if len(docfiles) == 0:
+ print 'ERROR: no docfile specified'
+ usage()
+ sys.exit(5)
+
+ if len(metadirs) == 0:
+ print 'ERROR: no metadir specified'
+ usage()
+ sys.exit(6)
+
+ if onlydoctags and docconf == "":
+ print 'ERROR: no docconf specified'
+ usage()
+ sys.exit(7)
+
+ # Collect all the variable names from the recipes in the metadirs
+ for m in metadirs:
+ for key,cnt in collect_bbvars(m).iteritems():
+ if bbvars.has_key(key):
+ bbvars[key] = bbvars[key] + cnt
+ else:
+ bbvars[key] = cnt
+
+ # Check each var for documentation
+ varlen = 0
+ for v in bbvars.iterkeys():
+ if len(v) > varlen:
+ varlen = len(v)
+ if not bbvar_is_documented(v, docfiles):
+ undocumented.append(v)
+ undocumented.sort()
+ varlen = varlen + 1
+
+ # Report all undocumented variables
+ print 'Found %d undocumented bb variables (out of %d):' % (len(undocumented), len(bbvars))
+ header = '%s%s%s' % (str("VARIABLE").ljust(varlen), str("COUNT").ljust(6), str("DOCTAG").ljust(7))
+ print header
+ print str("").ljust(len(header), '=')
+ for v in undocumented:
+ doctag = bbvar_doctag(v, docconf)
+ if not onlydoctags or not doctag == "":
+ print '%s%s%s' % (v.ljust(varlen), str(bbvars[v]).ljust(6), doctag)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/scripts/poky-env-internal b/scripts/poky-env-internal
index 1557f9ddb..80b7a125d 100755
--- a/scripts/poky-env-internal
+++ b/scripts/poky-env-internal
@@ -18,9 +18,11 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-# scripts/ is a sub-directory of OEROOT, we use readlink to get the full path
-SCRIPTPATH=`readlink -f "$BASH_SOURCE"`
-OEROOT="`dirname $SCRIPTPATH`/../"
+# It is assumed OEROOT is already defined when this is called
+if [ -z "$OEROOT" ]; then
+ echo >&2 "Error: OEROOT is not defined!"
+ return
+fi
if [ "x$BDIR" = "x" ]; then
if [ "x$1" = "x" ]; then
@@ -29,116 +31,28 @@ if [ "x$BDIR" = "x" ]; then
BDIR=`readlink -f "$1"`
fi
fi
-if [[ "$BDIR" = /* ]] ; then
+if expr "$BDIR" : '/.*' > /dev/null ; then
BUILDDIR="$BDIR"
else
BUILDDIR="`pwd`/$BDIR"
fi
unset BDIR
-mkdir -p $BUILDDIR/conf
-if ! (test -w "$BUILDDIR"); then
- echo >&2 "Error: Cannot write to $BUILDDIR, perhaps try sourcing with a writable path? i.e. . poky-init-build-env ~/my-build"
- return
-fi
-
BITBAKEDIR="$OEROOT/bitbake$BBEXTRA/"
-PATH="${OEROOT}/scripts:$BITBAKEDIR/bin/:$PATH"
-
-# Remove any symlinks from paths
BITBAKEDIR=`readlink -f "$BITBAKEDIR"`
BUILDDIR=`readlink -f "$BUILDDIR"`
-OEROOT=`readlink -f "$OEROOT"`
-
-cd "$BUILDDIR"
-if ! (test -d "$BITBAKEDIR" && test -d "$BUILDDIR"); then
- echo >&2 "Error: Not all directories exist! Did you run this script in poky directory?"
+if ! (test -d "$BITBAKEDIR"); then
+ echo >&2 "Error: The bitbake directory ($BITBAKEDIR) does not exist! Did you source the script in the poky directory?"
return
fi
-#
-# $POKYCONF can point to a directory for the template local.conf & bblayers.conf
-#
-if [ "x" != "x$POKYCONF" ]; then
- if ! (test -d "$POKYCONF"); then
- # Allow POKYCONF=meta-xyz/conf as a shortcut
- if [ -d "$OEROOT/$POKYCONF" ]; then
- POKYCONF="$OEROOT/$POKYCONF"
- fi
- if ! (test -d "$POKYCONF"); then
- echo >&2 "Error: '$POKYCONF' must be a directory containing local.conf & bblayers.conf"
- return
- fi
- fi
- POKYLAYERCONF="$POKYCONF/bblayers.conf"
- POKYLOCALCONF="$POKYCONF/local.conf"
-fi
-
-if [ "x" = "x$POKYLOCALCONF" ]; then
- POKYLOCALCONF="$OEROOT/meta/conf/local.conf.sample"
-fi
-if ! (test -r "$BUILDDIR/conf/local.conf"); then
-cat <<EOM
-You had no conf/local.conf file. Poky has created this configuration file for
-you with some default values. You may wish to edit it to use a different MACHINE
-(target hardware) or enable parallel build options to take advantage of multiple
-cores for example. See the file for more information as common configuration
-options are commented.
-
-Also, for more information see the Poky handbook:
-http://pokylinux.org/doc/poky-handbook.html
-
-EOM
- cp -f $POKYLOCALCONF $BUILDDIR/conf/local.conf
-fi
-
-if [ "x" = "x$POKYLAYERCONF" ]; then
- POKYLAYERCONF="$OEROOT/meta/conf/bblayers.conf.sample"
-fi
-if ! (test -r "$BUILDDIR/conf/bblayers.conf"); then
-cat <<EOM
-You had no conf/bblayers.conf file. Poky has created this configuration file for
-you with some default values. To add additional metadata layers into your
-configuration please add entries to this file.
-
-For more information see the Poky handbook:
- http://pokylinux.org/doc/poky-handbook.html
-
-EOM
-
- # Put the abosolute path to the layers in bblayers.conf so we can run
- # bitbake without the init script after the first run
- sed "s|##POKYBASE##|$OEROOT|g" $POKYLAYERCONF > $BUILDDIR/conf/bblayers.conf
-fi
-
-# Prevent disturbing a new GIT clone in same console
-unset POKYLOCALCONF
-unset POKYLAYERCONF
+PATH="${OEROOT}/scripts:$BITBAKEDIR/bin/:$PATH"
unset BITBAKEDIR
-unset OEROOT
# Used by the poky-qemu script
export BUILDDIR
export PATH
-# Stop multi byte characters breaking the patcher stuff - This is for Redhat / Fedora people really
-export LANG=C
-export BB_ENV_EXTRAWHITE="MACHINE DISTRO POKYMODE POKYLIBC http_proxy ftp_proxy https_proxy all_proxy ALL_PROXY no_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE BB_NUMBER_THREADS GIT_PROXY_COMMAND PSEUDO_DISABLED"
-
-cat <<EOM
-
-### Shell environment set up for Poky builds. ###
-
-You can now run 'bitbake <target>'
-
-Common targets are:
- poky-image-minimal
- poky-image-sato
- meta-toolchain
- meta-toolchain-sdk
-
-You can also run generated qemu images with a command like 'poky-qemu qemux86'
-
-EOM
+export BB_ENV_EXTRAWHITE="MACHINE DISTRO POKYMODE POKYLIBC http_proxy ftp_proxy https_proxy all_proxy ALL_PROXY no_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE BB_NUMBER_THREADS GIT_PROXY_COMMAND PSEUDO_DISABLED"
diff --git a/scripts/poky-extract-sdk b/scripts/poky-extract-sdk
index 977adde1a..a36d79d31 100755
--- a/scripts/poky-extract-sdk
+++ b/scripts/poky-extract-sdk
@@ -47,6 +47,11 @@ if [ ! -e "$ROOTFS_TARBALL" ]; then
exit 1
fi
+# Convert SDK_ROOTFS_DIR to a full pathname
+if [[ ${SDK_ROOTFS_DIR:0:1} != "/" ]]; then
+ SDK_ROOTFS_DIR=$(pwd)/$SDK_ROOTFS_DIR
+fi
+
TAR_OPTS=""
if [[ "$ROOTFS_TARBALL" =~ tar\.bz2$ ]]; then
TAR_OPTS="-xjf"
diff --git a/scripts/poky-qemu b/scripts/poky-qemu
index 313248ff4..b19a89dda 100755
--- a/scripts/poky-qemu
+++ b/scripts/poky-qemu
@@ -29,7 +29,7 @@ usage() {
echo " Additional QEMU command-line options can be passed with:"
echo " nographic - disables video console"
echo " serial - enables a serial console on /dev/ttyS0"
- echo " kvm - enables kvm"
+ echo " kvm - enables KVM when running qemux86/qemux86-64, VT capable CPU required"
echo " \"<extra-qemu-options>\" - enables extra qemu options, excluding serial and kvm"
echo ""
echo "Examples:"
@@ -171,10 +171,29 @@ while [ $i -le $# ]; do
i=$((i + 1))
done
+POKY_KVM_WIKI="https://wiki.yoctoproject.org/wiki/How_to_enable_KVM_for_Poky_qemu"
# Detect KVM configuration
-if [[ "x$KVM_ENABLED" == "xyes" && ! -z "$KVM_CAPABLE" ]]; then
- if [[ "x$MACHINE" == "xqemux86" || "x$MACHINE" == "xqemux86-64" ]]; then
+if [[ "x$KVM_ENABLED" == "xyes" ]]; then
+ if [[ -z "$KVM_CAPABLE" ]]; then
+ echo "You are tring to enable KVM on cpu without VT support. Remove kvm from the command-line, or refer";
+ echo "$POKY_KVM_WIKI";
+ exit 1;
+ fi
+ if [[ "x$MACHINE" != "xqemux86" && "x$MACHINE" != "xqemux86-64" ]]; then
+ echo "KVM only support x86 & x86-64. Remove kvm from the command-line";
+ exit 1;
+ fi
+ if [ ! -e /dev/kvm ]; then
+ echo "Missing KVM device. Have you inserted kvm modules? Pls. refer";
+ echo "$POKY_KVM_WIKI";
+ exit 1;
+ fi
+ if 9<>/dev/kvm ; then
SCRIPT_QEMU_OPT="$SCRIPT_QEMU_OPT -enable-kvm"
+ else
+ echo "You have no rights on /dev/kvm. Pls. change the owndership as described at";
+ echo "$POKY_KVM_WIKI";
+ exit 1;
fi
fi
diff --git a/scripts/poky-setup-builddir b/scripts/poky-setup-builddir
new file mode 100755
index 000000000..7a1452f7c
--- /dev/null
+++ b/scripts/poky-setup-builddir
@@ -0,0 +1,113 @@
+#!/bin/sh
+
+# Poky Build Enviroment Setup Script
+#
+# Copyright (C) 2006-2007 OpenedHand Ltd.
+#
+# 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
+
+if [ -z "$BUILDDIR" ]; then
+ echo >&2 "Error: The build directory (BUILDDIR) must be set!"
+ exit 1
+fi
+
+mkdir -p $BUILDDIR/conf
+
+if ! (test -d "$BUILDDIR"); then
+ echo >&2 "Error: The builddir ($BUILDDIR) does not exist!"
+ exit 1
+fi
+
+if ! (test -w "$BUILDDIR"); then
+ echo >&2 "Error: Cannot write to $BUILDDIR, perhaps try sourcing with a writable path? i.e. . poky-init-build-env ~/my-build"
+ exit 1
+fi
+
+cd "$BUILDDIR"
+
+#
+# $POKYCONF can point to a directory for the template local.conf & bblayers.conf
+#
+if [ "x" != "x$POKYCONF" ]; then
+ if ! (test -d "$POKYCONF"); then
+ # Allow POKYCONF=meta-xyz/conf as a shortcut
+ if [ -d "$OEROOT/$POKYCONF" ]; then
+ POKYCONF="$OEROOT/$POKYCONF"
+ fi
+ if ! (test -d "$POKYCONF"); then
+ echo >&2 "Error: '$POKYCONF' must be a directory containing local.conf & bblayers.conf"
+ return
+ fi
+ fi
+ POKYLAYERCONF="$POKYCONF/bblayers.conf"
+ POKYLOCALCONF="$POKYCONF/local.conf"
+fi
+
+if [ "x" = "x$POKYLOCALCONF" ]; then
+ POKYLOCALCONF="$OEROOT/meta/conf/local.conf.sample"
+fi
+if ! (test -r "$BUILDDIR/conf/local.conf"); then
+cat <<EOM
+You had no conf/local.conf file. Poky has created this configuration file for
+you with some default values. You may wish to edit it to use a different MACHINE
+(target hardware) or enable parallel build options to take advantage of multiple
+cores for example. See the file for more information as common configuration
+options are commented.
+
+Also, for more information see the Poky handbook:
+http://pokylinux.org/doc/poky-handbook.html
+
+EOM
+ cp -f $POKYLOCALCONF $BUILDDIR/conf/local.conf
+fi
+
+if [ "x" = "x$POKYLAYERCONF" ]; then
+ POKYLAYERCONF="$OEROOT/meta/conf/bblayers.conf.sample"
+fi
+if ! (test -r "$BUILDDIR/conf/bblayers.conf"); then
+cat <<EOM
+You had no conf/bblayers.conf file. Poky has created this configuration file for
+you with some default values. To add additional metadata layers into your
+configuration please add entries to this file.
+
+For more information see the Poky handbook:
+ http://pokylinux.org/doc/poky-handbook.html
+
+EOM
+
+ # Put the abosolute path to the layers in bblayers.conf so we can run
+ # bitbake without the init script after the first run
+ sed "s|##POKYBASE##|$OEROOT|g" $POKYLAYERCONF > $BUILDDIR/conf/bblayers.conf
+fi
+
+# Prevent disturbing a new GIT clone in same console
+unset POKYLOCALCONF
+unset POKYLAYERCONF
+
+cat <<EOM
+
+### Shell environment set up for Poky builds. ###
+
+You can now run 'bitbake <target>'
+
+Common targets are:
+ poky-image-minimal
+ poky-image-sato
+ meta-toolchain
+ meta-toolchain-sdk
+
+You can also run generated qemu images with a command like 'poky-qemu qemux86'
+
+EOM
diff --git a/scripts/poky-setup-rpmrepo b/scripts/poky-setup-rpmrepo
new file mode 100755
index 000000000..42a9b6aed
--- /dev/null
+++ b/scripts/poky-setup-rpmrepo
@@ -0,0 +1,89 @@
+#!/bin/bash
+#
+# This utility setup the necessary metadata for an rpm repo
+#
+# Copyright (c) 2011 Intel Corp.
+#
+# 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.
+#
+# 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
+
+function usage() {
+ echo "Usage: $0 <rpm-dir>"
+ echo " <rpm-dir>: default is $TPMDIR/deploy/rpm"
+}
+
+if [ $# -gt 1 ]; then
+ usage
+ exit 1
+fi
+
+setup_tmpdir() {
+ if [ -z "$TMPDIR" ]; then
+ if [ "x$BUILDDIR" = "x" -o ! -d "$BUILDDIR/tmp" ]; then
+ # BUILDDIR unset, try and get TMPDIR from bitbake
+ type -P bitbake &>/dev/null || {
+ echo "In order for this script to dynamically infer paths";
+ echo "to kernels or filesystem images, you either need";
+ echo "bitbake in your PATH or to source poky-init-build-env";
+ echo "before running this script" >&2;
+ exit 1; }
+
+ # We have bitbake in PATH, get TMPDIR from bitbake
+ TMPDIR=`bitbake -e | grep TMPDIR=\" | cut -d '=' -f2 | cut -d '"' -f2`
+ else
+ TMPDIR=$BUILDDIR/tmp
+ fi
+ fi
+}
+
+setup_sysroot() {
+ # Toolchain installs set up $POKY_NATIVE_SYSROOT in their
+ # environment script. If that variable isn't set, we're
+ # either in an in-tree poky scenario or the environment
+ # script wasn't source'd.
+ if [ -z "$POKY_NATIVE_SYSROOT" ]; then
+ setup_tmpdir
+ BUILD_ARCH=`uname -m`
+ BUILD_OS=`uname | tr '[A-Z]' '[a-z]'`
+ BUILD_SYS="$BUILD_ARCH-$BUILD_OS"
+
+ POKY_NATIVE_SYSROOT=$TMPDIR/sysroots/$BUILD_SYS
+ fi
+}
+
+setup_tmpdir
+setup_sysroot
+
+
+if [ -n "$1" ]; then
+ RPM_DIR="$1"
+else
+ RPM_DIR="$TMPDIR/deploy/rpm"
+fi
+
+if [ ! -d "$RPM_DIR" ]; then
+ echo "Error: rpm dir $RPM_DIR doesn't exist"
+ exit 1
+fi
+
+CREATEREPO=$POKY_NATIVE_SYSROOT/usr/bin/createrepo
+if [ ! -e "$CREATEREPO" ]; then
+ echo "Error: can't find createrepo binary"
+ echo "please run bitbake createrepo-native first"
+ exit 1
+fi
+
+
+$CREATEREPO "$RPM_DIR"
+
+exit 0
diff --git a/scripts/qemuimage-testlib b/scripts/qemuimage-testlib
index c2c394d5e..823cbfa18 100644
--- a/scripts/qemuimage-testlib
+++ b/scripts/qemuimage-testlib
@@ -39,6 +39,19 @@ Test_Info()
echo -e "\tTest_Info: $*"
}
+# function to update target ip address
+# $1 is the process id of the process, which starts the qemu target
+# $2 is the ip address of the target
+Test_Update_IPSAVE()
+{
+ local pid=$1
+ local ip_addr=$2
+
+ if [ "$TEST_SERIALIZE" -eq 1 ]; then
+ echo "$pid $ip_addr" > $TARGET_IPSAVE
+ fi
+}
+
# function to copy files from host into target
# $1 is the ip address of target
# $2 is the files, which need to be copied into target
@@ -99,6 +112,11 @@ Test_SSH_UP()
local timeout=$2
local interval=0
+ # If TEST_SERIALIZE is set, use existing running qemu for testing
+ if [ ${TEST_SERIALIZE} -eq 1 -a -e ${TARGET_IPSAVE} ]; then
+ timeout=50
+ fi
+
while [ ${interval} -lt ${timeout} ]
do
Test_SSH ${ip_addr} "hostname"
@@ -106,13 +124,13 @@ Test_SSH_UP()
interval=`expr $interval + 10`
sleep 10
else
- Test_Info "We can ssh on ${ip_addr} now"
+ Test_Info "We can ssh on ${ip_addr} within ${interval} seconds"
return 0
fi
done
- Test_Info "We can not ssh on ${ip_addr} in ${timeout}"
+ Test_Info "We can not ssh on ${ip_addr} in ${timeout} seconds"
return 1
}
@@ -162,6 +180,8 @@ Test_Kill_Qemu()
local ret=0
local ppid=0
local i=0
+ local index=0
+ local total=0
declare local pid
# Check if $1 pid exists and is a qemu process
@@ -186,16 +206,39 @@ Test_Kill_Qemu()
ret=$?
done
- # Kill these children pids from the last one
- while [ $i -ne 0 ]
- do
- i=$((i-1))
- kill ${pid[$i]}
- sleep 2
- done
+ # When TEST_SERIALIZE is set, qemu process will not be
+ # killed until all the cases are finished
+ if [ ${TEST_SERIALIZE} -eq 1 -a -e ${TEST_STATUS} ]; then
+ index=`sed -n 2p ${TEST_STATUS} | awk '{print $3}'`
+ total=`sed -n 2p ${TEST_STATUS} | awk '{print $4}'`
+ if [ ${index} != ${total} ]; then
+ Test_Info "Do not kill the qemu process and use it for later testing"
+ Test_Update_IPSAVE $PID $TARGET_IPADDR
+ else
+ # If it is the last case, let's kill it
+ while [ $i -ne 0 ]
+ do
+ i=$((i-1))
+ kill ${pid[$i]}
+ sleep 2
+ done
+
+ # Kill the parent id
+ kill $PID
+ fi
- # Kill the parent id
- kill $PID
+ else
+ # Kill these children pids from the last one
+ while [ $i -ne 0 ]
+ do
+ i=$((i-1))
+ kill ${pid[$i]}
+ sleep 2
+ done
+
+ # Kill the parent id
+ kill $PID
+ fi
fi
return
@@ -204,12 +247,12 @@ Test_Kill_Qemu()
# function to check if there is any qemu process
Test_Check_Qemu_UP()
{
- local count=`ps -ef | grep -c qemu`
- if [ ${count} -lt 2 ]; then
+ local count=`ps -eo command | cut -d " " -f 1 | grep -c "\(^qemu\|.*/qemu\)"`
+ if [ ${count} -lt 1 ]; then
Test_Info "There is no Qemu process"
return 1
else
- Test_Info "There is at least Qemu process running"
+ Test_Info "There is at least one Qemu process running"
return 0
fi
}
@@ -365,27 +408,49 @@ Test_Create_Qemu()
elif [ "$QEMUARCH" = "qemumips" ]; then
KERNEL=$(Test_Find_Image -l ${DEPLOY_DIR}/images -k vmlinux -a ${QEMUARCH})
fi
+
+ # If there is no kernel image found, return failed directly
+ if [ $? -eq 1 ]; then
+ Test_Info "No kernel image file found under ${DEPLOY_DIR}/images for ${QEMUARCH}, pls. have a check"
+ return $ret
+ fi
ROOTFS_IMAGE=$(Test_Find_Image -l ${DEPLOY_DIR}/images -t ${QEMUTARGET} -a ${QEMUARCH})
+
+ # If there is no rootfs image found, return failed directly
+ if [ $? -eq 1 ]; then
+ Test_Info "No ${QEMUTARGET} rootfs image file found under ${DEPLOY_DIR}/images for ${QEMUARCH}, pls. have a check"
+ return $ret
+ fi
+
TEST_ROOTFS_IMAGE="${TEST_TMP}/${QEMUTARGET}-${QEMUARCH}-test.ext3"
CP=`which cp`
- if [ -e "$TEST_ROOTFS_IMAGE" ]; then
- rm -rf $TEST_ROOTFS_IMAGE
- fi
- $CP $ROOTFS_IMAGE $TEST_ROOTFS_IMAGE
-
- export MACHINE=$QEMUARCH
- # Create Qemu in localhost VNC Port 1
- xterm -display ${DISPLAY} -e "${RUNQEMU} ${KERNEL} ${TEST_ROOTFS_IMAGE}" &
+ # When TEST_SERIALIZE is set, we use the existing image under tmp folder
+ if [ ${TEST_SERIALIZE} -eq 1 -a -e "$TARGET_IPSAVE" ]; then
+ # If TARGET_IPSAVE exists, check PID of the qemu process from it
+ PID=`awk '{print $1}' $TARGET_IPSAVE`
+ timeout=50
+ else
+ rm -rf $TEST_ROOTFS_IMAGE
+ $CP $ROOTFS_IMAGE $TEST_ROOTFS_IMAGE
+ if [ $? -ne 0 ]; then
+ Test_Info "Image ${ROOTFS_IMAGE} copy to ${TEST_ROOTFS_IMAGE} failed, return fail"
+ return $ret
+ fi
- # Get the pid of the xterm processor, which will be used in Test_Kill_Qemu
- PID=$!
+ export MACHINE=$QEMUARCH
- sleep 5
+ # Create Qemu in localhost VNC Port 1
+ echo "Running xterm -display ${DISPLAY} -e 'BUILDDIR=${TOPDIR} ${RUNQEMU} ${KERNEL} ${TEST_ROOTFS_IMAGE}' &"
+ xterm -display ${DISPLAY} -e "BUILDDIR=${TOPDIR} ${RUNQEMU} ${KERNEL} ${TEST_ROOTFS_IMAGE}" &
- while [ ${up_time} -lt ${timeout} ]
+ # Get the pid of the xterm processor, which will be used in Test_Kill_Qemu
+ PID=$!
+ fi
+
+ while [ ${up_time} -lt 10 ]
do
Test_Check_Qemu_UP
if [ $? -ne 0 ]; then
@@ -402,13 +467,18 @@ Test_Create_Qemu()
if [ ${up_time} -lt ${timeout} ]; then
sleep 5
TARGET_IPADDR=`Test_Fetch_Target_IP $PID`
+ # If IP address is 0, means there is no qemu process found
+ if [ ${TARGET_IPADDR} == "0" ]; then
+ Test_Info "There is no qemu process or qemu ip address found, return failed"
+ return $ret
+ fi
fi
while [ ${up_time} -lt ${timeout} ]
do
Test_Check_IP_UP ${TARGET_IPADDR}
if [ $? -eq 0 ]; then
- Test_Info "Qemu Network is up, ping with ${TARGET_IPADDR} is OK"
+ Test_Info "Qemu Network is up, ping with ${TARGET_IPADDR} is OK within ${up_time} seconds"
ret=0
break
else
@@ -422,7 +492,8 @@ Test_Create_Qemu()
Test_Info "Qemu and its network is up"
return $ret
else
- Test_Info "Qemu or its network is not up in ${timeout}"
+ Test_Info "Qemu or its network is not up in ${timeout} seconds"
+ Test_Update_IPSAVE $PID $TARGET_IPADDR
return $ret
fi
}
diff --git a/scripts/qemuimage-tests/sanity/compiler b/scripts/qemuimage-tests/sanity/compiler
new file mode 100755
index 000000000..29dbfd9bb
--- /dev/null
+++ b/scripts/qemuimage-tests/sanity/compiler
@@ -0,0 +1,52 @@
+#!/bin/bash
+# Compiler Test Case for Sanity Test
+# The case boot up the Qemu target with `poky-qemu qemuxxx`.
+# Then check if gcc/g++/make command can work in target.
+#
+# Author: Jiajun Xu <jiajun.xu@intel.com>
+#
+# This file is licensed under the GNU General Public License,
+# Version 2.
+#
+
+. $POKYBASE/scripts/qemuimage-testlib
+
+TIMEOUT=400
+RET=1
+
+# Start qemu and check its network
+Test_Create_Qemu ${TIMEOUT}
+
+# If qemu network is up, check ssh service in qemu
+if [ $? -eq 0 ]; then
+ Test_Info "Begin to Test SSH Service in Qemu"
+ Test_SSH_UP ${TARGET_IPADDR} ${TIMEOUT}
+ RET=$?
+else
+ RET=1
+fi
+
+# Check if gcc/g++/make can work in target
+if [ $RET -eq 0 -a -f $TOOLS/compiler_test.sh ]; then
+ # Copy compiler_test.sh into target
+ Test_Target_Pre ${TARGET_IPADDR} $TOOLS/compiler_test.sh
+ if [ $? -eq 0 ]; then
+ # Run compiler_test.sh to check if gcc/g++/make can work in target
+ Test_SSH ${TARGET_IPADDR} "sh $TARGET_TEST_DIR/compiler_test.sh"
+ RET=$?
+ else
+ RET=1
+ fi
+fi
+
+if [ ${RET} -eq 0 ]; then
+ Test_Info "Compiler Test PASS"
+ Test_Kill_Qemu
+ Test_Print_Result "compiler" 0
+ exit 0
+else
+ Test_Info "Compiler FAIL, Pls. check above error log"
+ Test_Kill_Qemu
+ Test_Print_Result "compiler" 1
+ exit 1
+fi
diff --git a/scripts/qemuimage-tests/sanity/connman b/scripts/qemuimage-tests/sanity/connman
new file mode 100755
index 000000000..fca6a2784
--- /dev/null
+++ b/scripts/qemuimage-tests/sanity/connman
@@ -0,0 +1,52 @@
+#!/bin/bash
+# Conmman Check Test Case for Sanity Test
+# The case boot up the Qemu target with `poky-qemu qemuxxx`.
+# Then check if connman can work in target.
+#
+# Author: Jiajun Xu <jiajun.xu@intel.com>
+#
+# This file is licensed under the GNU General Public License,
+# Version 2.
+#
+
+. $POKYBASE/scripts/qemuimage-testlib
+
+TIMEOUT=400
+RET=1
+
+# Start qemu and check its network
+Test_Create_Qemu ${TIMEOUT}
+
+# If qemu network is up, check ssh service in qemu
+if [ $? -eq 0 ]; then
+ Test_Info "Begin to Test SSH Service in Qemu"
+ Test_SSH_UP ${TARGET_IPADDR} ${TIMEOUT}
+ RET=$?
+else
+ RET=1
+fi
+
+# Check if connman can work in target
+if [ $RET -eq 0 -a -f $TOOLS/connman_test.sh ]; then
+ # Copy connman_test.sh into target
+ Test_Target_Pre ${TARGET_IPADDR} $TOOLS/connman_test.sh
+ if [ $? -eq 0 ]; then
+ # Run connman_test.sh to check if connman can work in target
+ Test_SSH ${TARGET_IPADDR} "sh $TARGET_TEST_DIR/connman_test.sh"
+ RET=$?
+ else
+ RET=1
+ fi
+fi
+
+if [ ${RET} -eq 0 ]; then
+ Test_Info "Connman Test PASS"
+ Test_Kill_Qemu
+ Test_Print_Result "connman" 0
+ exit 0
+else
+ Test_Info "Connman Test FAIL, Pls. check above error log"
+ Test_Kill_Qemu
+ Test_Print_Result "connman" 1
+ exit 1
+fi
diff --git a/scripts/qemuimage-tests/sanity/dmesg b/scripts/qemuimage-tests/sanity/dmesg
index 36813dcd4..5ed31b735 100755
--- a/scripts/qemuimage-tests/sanity/dmesg
+++ b/scripts/qemuimage-tests/sanity/dmesg
@@ -11,7 +11,7 @@
. $POKYBASE/scripts/qemuimage-testlib
-TIMEOUT=360
+TIMEOUT=400
RET=1
# Start qemu and check its network
diff --git a/scripts/qemuimage-tests/sanity/rpm_query b/scripts/qemuimage-tests/sanity/rpm_query
new file mode 100755
index 000000000..08017ffbe
--- /dev/null
+++ b/scripts/qemuimage-tests/sanity/rpm_query
@@ -0,0 +1,52 @@
+#!/bin/bash
+# RPM Check Test Case for Sanity Test
+# The case boot up the Qemu target with `poky-qemu qemuxxx`.
+# Then check if rpm command can work in target.
+#
+# Author: Jiajun Xu <jiajun.xu@intel.com>
+#
+# This file is licensed under the GNU General Public License,
+# Version 2.
+#
+
+. $POKYBASE/scripts/qemuimage-testlib
+
+TIMEOUT=400
+RET=1
+
+# Start qemu and check its network
+Test_Create_Qemu ${TIMEOUT}
+
+# If qemu network is up, check ssh service in qemu
+if [ $? -eq 0 ]; then
+ Test_Info "Begin to Test SSH Service in Qemu"
+ Test_SSH_UP ${TARGET_IPADDR} ${TIMEOUT}
+ RET=$?
+else
+ RET=1
+fi
+
+# Check if rpm query can work in target
+if [ $RET -eq 0 -a -f $TOOLS/rpm_test.sh ]; then
+ # Copy rpm_test.sh into target
+ Test_Target_Pre ${TARGET_IPADDR} $TOOLS/rpm_test.sh
+ if [ $? -eq 0 ]; then
+ # Run rpm_test.sh to check if rpm query can work in target
+ Test_SSH ${TARGET_IPADDR} "sh $TARGET_TEST_DIR/rpm_test.sh -qa"
+ RET=$?
+ else
+ RET=1
+ fi
+fi
+
+if [ ${RET} -eq 0 ]; then
+ Test_Info "rpm query Test PASS"
+ Test_Kill_Qemu
+ Test_Print_Result "rpm_query" 0
+ exit 0
+else
+ Test_Info "rpm query FAIL, Pls. check above error log"
+ Test_Kill_Qemu
+ Test_Print_Result "rpm_query" 1
+ exit 1
+fi
diff --git a/scripts/qemuimage-tests/sanity/scp b/scripts/qemuimage-tests/sanity/scp
index ce3489d66..c72cdc9d6 100755
--- a/scripts/qemuimage-tests/sanity/scp
+++ b/scripts/qemuimage-tests/sanity/scp
@@ -11,7 +11,7 @@
. $POKYBASE/scripts/qemuimage-testlib
-TIMEOUT=360
+TIMEOUT=400
RET=1
SPID=0
i=0
diff --git a/scripts/qemuimage-tests/sanity/shutdown b/scripts/qemuimage-tests/sanity/shutdown
index e36b4a983..bc08cf0fd 100755
--- a/scripts/qemuimage-tests/sanity/shutdown
+++ b/scripts/qemuimage-tests/sanity/shutdown
@@ -13,7 +13,8 @@
. $POKYBASE/scripts/qemuimage-testlib
-TIMEOUT=360
+TIMEOUT=400
+
RET=1
i=0
@@ -61,6 +62,11 @@ fi
if [ ${RET} -eq 0 ]; then
Test_Info "Shutdown Test PASS"
Test_Print_Result "shutdown" 0
+
+ # Remove TARGET_IPSAVE since no existing qemu running now
+ if [ -e ${TARGET_IPSAVE} ]; then
+ rm -rf ${TARGET_IPSAVE}
+ fi
exit 0
else
Test_Info "Shutdown Test FAIL"
diff --git a/scripts/qemuimage-tests/sanity/ssh b/scripts/qemuimage-tests/sanity/ssh
index 084530adf..2a0e93439 100755
--- a/scripts/qemuimage-tests/sanity/ssh
+++ b/scripts/qemuimage-tests/sanity/ssh
@@ -11,7 +11,7 @@
. $POKYBASE/scripts/qemuimage-testlib
-TIMEOUT=360
+TIMEOUT=400
RET=1
# Start qemu and check its network
diff --git a/scripts/qemuimage-tests/sanity/zypper_help b/scripts/qemuimage-tests/sanity/zypper_help
new file mode 100755
index 000000000..1ab6d2407
--- /dev/null
+++ b/scripts/qemuimage-tests/sanity/zypper_help
@@ -0,0 +1,52 @@
+#!/bin/bash
+# Zypper Check Test Case for Sanity Test
+# The case boot up the Qemu target with `poky-qemu qemuxxx`.
+# Then check if zypper command can work in target.
+#
+# Author: Jiajun Xu <jiajun.xu@intel.com>
+#
+# This file is licensed under the GNU General Public License,
+# Version 2.
+#
+
+. $POKYBASE/scripts/qemuimage-testlib
+
+TIMEOUT=400
+RET=1
+
+# Start qemu and check its network
+Test_Create_Qemu ${TIMEOUT}
+
+# If qemu network is up, check ssh service in qemu
+if [ $? -eq 0 ]; then
+ Test_Info "Begin to Test SSH Service in Qemu"
+ Test_SSH_UP ${TARGET_IPADDR} ${TIMEOUT}
+ RET=$?
+else
+ RET=1
+fi
+
+# Check if zypper help can work in target
+if [ $RET -eq 0 -a -f $TOOLS/zypper_test.sh ]; then
+ # Copy zypper_test.sh into target
+ Test_Target_Pre ${TARGET_IPADDR} $TOOLS/zypper_test.sh
+ if [ $? -eq 0 ]; then
+ # Run zypper_test.sh to check if zypper help can work in target
+ Test_SSH ${TARGET_IPADDR} "sh $TARGET_TEST_DIR/zypper_test.sh help"
+ RET=$?
+ else
+ RET=1
+ fi
+fi
+
+if [ ${RET} -eq 0 ]; then
+ Test_Info "zypper help Test PASS"
+ Test_Kill_Qemu
+ Test_Print_Result "zypper_help" 0
+ exit 0
+else
+ Test_Info "zypper help FAIL, Pls. check above error log"
+ Test_Kill_Qemu
+ Test_Print_Result "zypper_help" 1
+ exit 1
+fi
diff --git a/scripts/qemuimage-tests/sanity/zypper_search b/scripts/qemuimage-tests/sanity/zypper_search
new file mode 100755
index 000000000..d6bcd27a3
--- /dev/null
+++ b/scripts/qemuimage-tests/sanity/zypper_search
@@ -0,0 +1,52 @@
+#!/bin/bash
+# Zypper Check Test Case for Sanity Test
+# The case boot up the Qemu target with `poky-qemu qemuxxx`.
+# Then check if zypper command can work in target.
+#
+# Author: Jiajun Xu <jiajun.xu@intel.com>
+#
+# This file is licensed under the GNU General Public License,
+# Version 2.
+#
+
+. $POKYBASE/scripts/qemuimage-testlib
+
+TIMEOUT=400
+RET=1
+
+# Start qemu and check its network
+Test_Create_Qemu ${TIMEOUT}
+
+# If qemu network is up, check ssh service in qemu
+if [ $? -eq 0 ]; then
+ Test_Info "Begin to Test SSH Service in Qemu"
+ Test_SSH_UP ${TARGET_IPADDR} ${TIMEOUT}
+ RET=$?
+else
+ RET=1
+fi
+
+# Check if zypper search can work in target
+if [ $RET -eq 0 -a -f $TOOLS/zypper_test.sh ]; then
+ # Copy zypper_test.sh into target
+ Test_Target_Pre ${TARGET_IPADDR} $TOOLS/zypper_test.sh
+ if [ $? -eq 0 ]; then
+ # Run zypper_test.sh to check if zypper search can work in target
+ Test_SSH ${TARGET_IPADDR} "sh $TARGET_TEST_DIR/zypper_test.sh search avahi"
+ RET=$?
+ else
+ RET=1
+ fi
+fi
+
+if [ ${RET} -eq 0 ]; then
+ Test_Info "zypper search package avahi Test PASS"
+ Test_Kill_Qemu
+ Test_Print_Result "zypper_search" 0
+ exit 0
+else
+ Test_Info "zypper search package avahi FAIL, Pls. check above error log"
+ Test_Kill_Qemu
+ Test_Print_Result "zypper_search" 1
+ exit 1
+fi
diff --git a/scripts/qemuimage-tests/scenario/qemuarm/poky-image-lsb b/scripts/qemuimage-tests/scenario/qemuarm/poky-image-lsb
index b8e9847b4..4fa606876 100644
--- a/scripts/qemuimage-tests/scenario/qemuarm/poky-image-lsb
+++ b/scripts/qemuimage-tests/scenario/qemuarm/poky-image-lsb
@@ -1,5 +1,7 @@
-sanity boot
sanity ssh
sanity scp
sanity dmesg
+sanity zypper_help
+sanity zypper_search
+sanity rpm_query
sanity shutdown
diff --git a/scripts/qemuimage-tests/scenario/qemuarm/poky-image-sato b/scripts/qemuimage-tests/scenario/qemuarm/poky-image-sato
index b8e9847b4..7a6353e1a 100644
--- a/scripts/qemuimage-tests/scenario/qemuarm/poky-image-sato
+++ b/scripts/qemuimage-tests/scenario/qemuarm/poky-image-sato
@@ -1,5 +1,8 @@
-sanity boot
sanity ssh
sanity scp
sanity dmesg
+sanity zypper_help
+sanity zypper_search
+sanity rpm_query
+sanity connman
sanity shutdown
diff --git a/scripts/qemuimage-tests/scenario/qemuarm/poky-image-sdk b/scripts/qemuimage-tests/scenario/qemuarm/poky-image-sdk
index b8e9847b4..42b8e1902 100644
--- a/scripts/qemuimage-tests/scenario/qemuarm/poky-image-sdk
+++ b/scripts/qemuimage-tests/scenario/qemuarm/poky-image-sdk
@@ -1,5 +1,9 @@
-sanity boot
sanity ssh
sanity scp
sanity dmesg
+sanity zypper_help
+sanity zypper_search
+sanity rpm_query
+sanity compiler
+sanity connman
sanity shutdown
diff --git a/scripts/qemuimage-tests/scenario/qemumips/poky-image-lsb b/scripts/qemuimage-tests/scenario/qemumips/poky-image-lsb
index b8e9847b4..4fa606876 100644
--- a/scripts/qemuimage-tests/scenario/qemumips/poky-image-lsb
+++ b/scripts/qemuimage-tests/scenario/qemumips/poky-image-lsb
@@ -1,5 +1,7 @@
-sanity boot
sanity ssh
sanity scp
sanity dmesg
+sanity zypper_help
+sanity zypper_search
+sanity rpm_query
sanity shutdown
diff --git a/scripts/qemuimage-tests/scenario/qemumips/poky-image-sato b/scripts/qemuimage-tests/scenario/qemumips/poky-image-sato
index b8e9847b4..7a6353e1a 100644
--- a/scripts/qemuimage-tests/scenario/qemumips/poky-image-sato
+++ b/scripts/qemuimage-tests/scenario/qemumips/poky-image-sato
@@ -1,5 +1,8 @@
-sanity boot
sanity ssh
sanity scp
sanity dmesg
+sanity zypper_help
+sanity zypper_search
+sanity rpm_query
+sanity connman
sanity shutdown
diff --git a/scripts/qemuimage-tests/scenario/qemumips/poky-image-sdk b/scripts/qemuimage-tests/scenario/qemumips/poky-image-sdk
index b8e9847b4..42b8e1902 100644
--- a/scripts/qemuimage-tests/scenario/qemumips/poky-image-sdk
+++ b/scripts/qemuimage-tests/scenario/qemumips/poky-image-sdk
@@ -1,5 +1,9 @@
-sanity boot
sanity ssh
sanity scp
sanity dmesg
+sanity zypper_help
+sanity zypper_search
+sanity rpm_query
+sanity compiler
+sanity connman
sanity shutdown
diff --git a/scripts/qemuimage-tests/scenario/qemuppc/poky-image-lsb b/scripts/qemuimage-tests/scenario/qemuppc/poky-image-lsb
index b8e9847b4..4fa606876 100644
--- a/scripts/qemuimage-tests/scenario/qemuppc/poky-image-lsb
+++ b/scripts/qemuimage-tests/scenario/qemuppc/poky-image-lsb
@@ -1,5 +1,7 @@
-sanity boot
sanity ssh
sanity scp
sanity dmesg
+sanity zypper_help
+sanity zypper_search
+sanity rpm_query
sanity shutdown
diff --git a/scripts/qemuimage-tests/scenario/qemuppc/poky-image-sato b/scripts/qemuimage-tests/scenario/qemuppc/poky-image-sato
index b8e9847b4..7a6353e1a 100644
--- a/scripts/qemuimage-tests/scenario/qemuppc/poky-image-sato
+++ b/scripts/qemuimage-tests/scenario/qemuppc/poky-image-sato
@@ -1,5 +1,8 @@
-sanity boot
sanity ssh
sanity scp
sanity dmesg
+sanity zypper_help
+sanity zypper_search
+sanity rpm_query
+sanity connman
sanity shutdown
diff --git a/scripts/qemuimage-tests/scenario/qemuppc/poky-image-sdk b/scripts/qemuimage-tests/scenario/qemuppc/poky-image-sdk
index b8e9847b4..42b8e1902 100644
--- a/scripts/qemuimage-tests/scenario/qemuppc/poky-image-sdk
+++ b/scripts/qemuimage-tests/scenario/qemuppc/poky-image-sdk
@@ -1,5 +1,9 @@
-sanity boot
sanity ssh
sanity scp
sanity dmesg
+sanity zypper_help
+sanity zypper_search
+sanity rpm_query
+sanity compiler
+sanity connman
sanity shutdown
diff --git a/scripts/qemuimage-tests/scenario/qemux86-64/poky-image-lsb b/scripts/qemuimage-tests/scenario/qemux86-64/poky-image-lsb
index b8e9847b4..4fa606876 100644
--- a/scripts/qemuimage-tests/scenario/qemux86-64/poky-image-lsb
+++ b/scripts/qemuimage-tests/scenario/qemux86-64/poky-image-lsb
@@ -1,5 +1,7 @@
-sanity boot
sanity ssh
sanity scp
sanity dmesg
+sanity zypper_help
+sanity zypper_search
+sanity rpm_query
sanity shutdown
diff --git a/scripts/qemuimage-tests/scenario/qemux86-64/poky-image-sato b/scripts/qemuimage-tests/scenario/qemux86-64/poky-image-sato
index b8e9847b4..7a6353e1a 100644
--- a/scripts/qemuimage-tests/scenario/qemux86-64/poky-image-sato
+++ b/scripts/qemuimage-tests/scenario/qemux86-64/poky-image-sato
@@ -1,5 +1,8 @@
-sanity boot
sanity ssh
sanity scp
sanity dmesg
+sanity zypper_help
+sanity zypper_search
+sanity rpm_query
+sanity connman
sanity shutdown
diff --git a/scripts/qemuimage-tests/scenario/qemux86-64/poky-image-sdk b/scripts/qemuimage-tests/scenario/qemux86-64/poky-image-sdk
index b8e9847b4..42b8e1902 100644
--- a/scripts/qemuimage-tests/scenario/qemux86-64/poky-image-sdk
+++ b/scripts/qemuimage-tests/scenario/qemux86-64/poky-image-sdk
@@ -1,5 +1,9 @@
-sanity boot
sanity ssh
sanity scp
sanity dmesg
+sanity zypper_help
+sanity zypper_search
+sanity rpm_query
+sanity compiler
+sanity connman
sanity shutdown
diff --git a/scripts/qemuimage-tests/scenario/qemux86/poky-image-lsb b/scripts/qemuimage-tests/scenario/qemux86/poky-image-lsb
index b8e9847b4..4fa606876 100644
--- a/scripts/qemuimage-tests/scenario/qemux86/poky-image-lsb
+++ b/scripts/qemuimage-tests/scenario/qemux86/poky-image-lsb
@@ -1,5 +1,7 @@
-sanity boot
sanity ssh
sanity scp
sanity dmesg
+sanity zypper_help
+sanity zypper_search
+sanity rpm_query
sanity shutdown
diff --git a/scripts/qemuimage-tests/scenario/qemux86/poky-image-sato b/scripts/qemuimage-tests/scenario/qemux86/poky-image-sato
index b8e9847b4..7a6353e1a 100644
--- a/scripts/qemuimage-tests/scenario/qemux86/poky-image-sato
+++ b/scripts/qemuimage-tests/scenario/qemux86/poky-image-sato
@@ -1,5 +1,8 @@
-sanity boot
sanity ssh
sanity scp
sanity dmesg
+sanity zypper_help
+sanity zypper_search
+sanity rpm_query
+sanity connman
sanity shutdown
diff --git a/scripts/qemuimage-tests/scenario/qemux86/poky-image-sdk b/scripts/qemuimage-tests/scenario/qemux86/poky-image-sdk
index b8e9847b4..42b8e1902 100644
--- a/scripts/qemuimage-tests/scenario/qemux86/poky-image-sdk
+++ b/scripts/qemuimage-tests/scenario/qemux86/poky-image-sdk
@@ -1,5 +1,9 @@
-sanity boot
sanity ssh
sanity scp
sanity dmesg
+sanity zypper_help
+sanity zypper_search
+sanity rpm_query
+sanity compiler
+sanity connman
sanity shutdown
diff --git a/scripts/qemuimage-tests/tools/compiler_test.sh b/scripts/qemuimage-tests/tools/compiler_test.sh
new file mode 100644
index 000000000..9c30d6d78
--- /dev/null
+++ b/scripts/qemuimage-tests/tools/compiler_test.sh
@@ -0,0 +1,137 @@
+#!/bin/bash
+# compiler test script running in target
+#
+# Author: Jiajun Xu <jiajun.xu@intel.com>
+#
+# This file is licensed under the GNU General Public License,
+# Version 2.
+#
+
+# Prepare test folder for compiler test
+COMPILE_FOLDER="/opt/test/compile_test"
+TEST_FILE="$COMPILE_FOLDER/compile_test.c"
+EXECUTE_FILE="$COMPILE_FOLDER/compile_test"
+TEST_MAKEFILE="$COMPILE_FOLDER/makefile"
+TEST_LIST="gcc g++ make"
+
+if [ ! -d $COMPILE_FOLDER ]; then
+ mkdir -p $COMPILE_FOLDER
+fi
+
+Target_Info()
+{
+ echo -e "\tTARGET: $*"
+}
+
+Target_Err()
+{
+ echo -e "\tTARGET: ##### Error Log #####"
+ $@
+ echo -e "\tTARGET: ##### End #####"
+}
+
+# Function to generate a c test file for compiler testing
+Gen_File()
+{
+ temp=`mktemp`
+
+ # Generate c/c++ test file for compiler testing
+ echo "#include <stdio.h>" >> $temp
+ echo "#include <math.h>" >> $temp
+ echo "" >> $temp
+ echo "double" >> $temp
+ echo "convert(long long l)" >> $temp
+ echo "{" >> $temp
+ echo " return (double)l; // or double(l)" >> $temp
+ echo "}" >> $temp
+ echo "" >> $temp
+ echo "int" >> $temp
+ echo "main(int argc, char * argv[])" >> $temp
+ echo "{" >> $temp
+ echo " long long l = 10;" >> $temp
+ echo " double f;" >> $temp
+ echo "" >> $temp
+ echo " f = convert(l);" >> $temp
+ echo " printf(\"convert: %lld => %f\n\", l, f);" >> $temp
+ echo "" >> $temp
+ echo " f = 1234.67;" >> $temp
+ echo " printf(\"floorf(%f) = %f\n\", f, floorf(f));" >> $temp
+ echo " return 0;" >> $temp
+ echo "}" >> $temp
+ echo $temp
+}
+
+# Function to generate a makefile for compiler testing
+Gen_Makefile()
+{
+ temp=`mktemp`
+ basename=`basename $EXECUTE_FILE`
+
+ echo -e "$basename: $basename.o" >> $temp
+ echo -e "\tgcc -o $basename $basename.o -lm" >> $temp
+ echo -e "$basename.o: $basename.c" >> $temp
+ echo -e "\tgcc -c $basename.c" >> $temp
+
+ echo $temp
+}
+
+# Generate a c test file for compiler testing
+test_file=`Gen_File`
+
+MOVE=`which mv`
+$MOVE $test_file $TEST_FILE
+
+# Begin compiler test in target
+for cmd in $TEST_LIST
+do
+ which $cmd
+ if [ $? -ne 0 ]; then
+ Target_Info "No $cmd command found"
+ exit 1
+ fi
+
+ if [ "$cmd" == "make" ]; then
+ rm -rf $EXECUTE_FILE
+
+ # For makefile test, we need to generate a makefile and run with a c file
+ makefile=`Gen_Makefile`
+ $MOVE $makefile $TEST_MAKEFILE
+
+ cd `dirname $TEST_MAKEFILE`
+ make
+
+ if [ $? -ne 0 ]; then
+ Target_Info "$cmd running with error, Pls. check error in following"
+ Target_Err make
+ exit 1
+ fi
+ else
+ rm -rf $EXECUTE_FILE
+
+ # For gcc/g++, we compile a c test file and check the output
+ $cmd $TEST_FILE -o $EXECUTE_FILE -lm
+
+ if [ $? -ne 0 ]; then
+ Target_Info "$cmd running with error, Pls. check error in following"
+ Target_Err $cmd $TEST_FILE -o $EXECUTE_FILE -lm
+ exit 1
+ fi
+ fi
+
+ # Check if the binary file generated by $cmd can work without error
+ if [ -f $EXECUTE_FILE ]; then
+ $EXECUTE_FILE
+ if [ $? -ne 0 ]; then
+ Target_Info "$EXECUTE_FILE running with error, Pls. check error in following"
+ Target_Err $EXECUTE_FILE
+ exit 1
+ else
+ Target_Info "$cmd can work without problem in target"
+ fi
+ else
+ Target_Info "No executalbe file $EXECUTE_FILE found, Pls. check the error log"
+ exit 1
+ fi
+done
+
+exit 0
diff --git a/scripts/qemuimage-tests/tools/connman_test.sh b/scripts/qemuimage-tests/tools/connman_test.sh
new file mode 100644
index 000000000..d7e63e7db
--- /dev/null
+++ b/scripts/qemuimage-tests/tools/connman_test.sh
@@ -0,0 +1,55 @@
+#!/bin/bash
+# connman test script running in target
+#
+# Author: Jiajun Xu <jiajun.xu@intel.com>
+#
+# This file is licensed under the GNU General Public License,
+# Version 2.
+#
+
+Target_Info()
+{
+ echo -e "\tTARGET: $*"
+}
+
+Target_Err()
+{
+ echo -e "\tTARGET: connman has issue when running, Pls. check the error log"
+ echo -e "\tTARGET: ##### Error Log #####"
+ $1
+ echo -e "\tTARGET: ##### End #####"
+}
+
+# Check if connmand is in target
+if [ ! -f /usr/sbin/connmand ]; then
+ Target_Info "No connmand command found"
+ exit 1
+fi
+
+# Check if connmand is running in background
+count=`ps -eo cmd | cut -d " " -f 1 | grep -c connmand`
+
+if [ $count -ne 1 ]; then
+ Target_Info "connmand has issue when running in background, Pls, check the output of ps"
+ ps -ef cmd | grep connmand
+ exit 1
+fi
+
+# Check if there is always only one connmand running in background
+if [ connmand > /dev/null 2>&1 ]; then
+ Target_Info "connmand command run without problem"
+ count=`ps -eo cmd | cut -d " " -f 1 | grep -c connmand`
+ if [ $count -ne 1 ]; then
+ Target_Info "There are more than one connmand running in background, Pls, check the output of ps"
+ ps -ef cmd | grep connmand
+ exit 1
+ else
+ Target_Info "There is always one connmand running in background, test pass"
+ exit 0
+ fi
+else
+ Target_Err connmand
+ exit 1
+fi
+
+exit 0
diff --git a/scripts/qemuimage-tests/tools/rpm_test.sh b/scripts/qemuimage-tests/tools/rpm_test.sh
new file mode 100644
index 000000000..6e6f9112c
--- /dev/null
+++ b/scripts/qemuimage-tests/tools/rpm_test.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+# rpm test script running in target
+#
+# Author: Jiajun Xu <jiajun.xu@intel.com>
+#
+# This file is licensed under the GNU General Public License,
+# Version 2.
+#
+
+Target_Info()
+{
+ echo -e "\tTARGET: $*"
+}
+
+Target_Err()
+{
+ echo -e "\tTARGET: rpm command has issue when running, Pls. check the error log"
+ echo -e "\tTARGET: ##### Error Log #####"
+ $1
+ echo -e "\tTARGET: ##### End #####"
+}
+
+which rpm
+if [ $? -ne 0 ]; then
+ Target_Info "No rpm command found"
+ exit 1
+fi
+
+if [ rpm > /dev/null 2>&1 ]; then
+ Target_Info "rpm command run without problem"
+else
+ Target_Err rpm
+ exit 1
+fi
+
+# run rpm with specific command parsed to rpm_test.sh
+rpm $* > /dev/null 2>&1
+
+if [ $? -eq 0 ]; then
+ Target_Info "rpm $* work without problem"
+ exit 0
+else
+ Target_Err rpm $*
+ exit 1
+fi
diff --git a/scripts/qemuimage-tests/tools/zypper_test.sh b/scripts/qemuimage-tests/tools/zypper_test.sh
new file mode 100644
index 000000000..5e8e7aaac
--- /dev/null
+++ b/scripts/qemuimage-tests/tools/zypper_test.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+# zypper test script running in target
+#
+# Author: Jiajun Xu <jiajun.xu@intel.com>
+#
+# This file is licensed under the GNU General Public License,
+# Version 2.
+#
+
+Target_Info()
+{
+ echo -e "\tTARGET: $*"
+}
+
+Target_Err()
+{
+ echo -e "\tTARGET: zypper command has issue when running, Pls. check the error log"
+ echo -e "\tTARGET: ##### Error Log #####"
+ $1
+ echo -e "\tTARGET: ##### End #####"
+}
+
+which zypper
+if [ $? -ne 0 ]; then
+ Target_Info "No zypper command found"
+ exit 1
+fi
+
+if [ zypper > /dev/null 2>&1 ]; then
+ Target_Info "zypper command run without problem"
+else
+ Target_Err zypper
+ exit 1
+fi
+
+# run zypper with specific command parsed to zypper_test.sh
+zypper $* > /dev/null 2>&1
+
+if [ $? -eq 0 ]; then
+ Target_Info "zypper $* work without problem"
+ exit 0
+else
+ Target_Err zypper $*
+ exit 1
+fi
diff --git a/scripts/rpm2cpio.sh b/scripts/rpm2cpio.sh
new file mode 100755
index 000000000..426fd77bb
--- /dev/null
+++ b/scripts/rpm2cpio.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# This comes from the RPM5 5.4.0 distribution.
+
+pkg=$1
+if [ "$pkg" = "" -o ! -e "$pkg" ]; then
+ echo "no package supplied" 1>&2
+ exit 1
+fi
+
+leadsize=96
+o=`expr $leadsize + 8`
+set `od -j $o -N 8 -t u1 $pkg`
+il=`expr 256 \* \( 256 \* \( 256 \* $2 + $3 \) + $4 \) + $5`
+dl=`expr 256 \* \( 256 \* \( 256 \* $6 + $7 \) + $8 \) + $9`
+# echo "sig il: $il dl: $dl"
+
+sigsize=`expr 8 + 16 \* $il + $dl`
+o=`expr $o + $sigsize + \( 8 - \( $sigsize \% 8 \) \) \% 8 + 8`
+set `od -j $o -N 8 -t u1 $pkg`
+il=`expr 256 \* \( 256 \* \( 256 \* $2 + $3 \) + $4 \) + $5`
+dl=`expr 256 \* \( 256 \* \( 256 \* $6 + $7 \) + $8 \) + $9`
+# echo "hdr il: $il dl: $dl"
+
+hdrsize=`expr 8 + 16 \* $il + $dl`
+o=`expr $o + $hdrsize`
+EXTRACTOR="dd if=$pkg ibs=$o skip=1"
+
+COMPRESSION=`($EXTRACTOR |file -) 2>/dev/null`
+if echo $COMPRESSION |grep -q gzip; then
+ DECOMPRESSOR=gunzip
+elif echo $COMPRESSION |grep -q bzip2; then
+ DECOMPRESSOR=bunzip2
+elif echo $COMPRESSION |grep -q xz; then
+ DECOMPRESSOR=unxz
+elif echo $COMPRESSION |grep -q cpio; then
+ DECOMPRESSOR=cat
+else
+ # Most versions of file don't support LZMA, therefore we assume
+ # anything not detected is LZMA
+ DECOMPRESSOR=`which unlzma 2>/dev/null`
+ case "$DECOMPRESSOR" in
+ /* ) ;;
+ * ) DECOMPRESSOR=`which lzmash 2>/dev/null`
+ case "$DECOMPRESSOR" in
+ /* ) DECOMPRESSOR="lzmash -d -c" ;;
+ * ) DECOMPRESSOR=cat ;;
+ esac
+ ;;
+ esac
+fi
+
+$EXTRACTOR 2>/dev/null | $DECOMPRESSOR
diff --git a/scripts/send-pull-request b/scripts/send-pull-request
index 0576a5dd4..7f51a1b25 100755
--- a/scripts/send-pull-request
+++ b/scripts/send-pull-request
@@ -1,6 +1,16 @@
#!/bin/bash
AUTO=0
+# Check env for any default settings, command line options will override these.
+if [ -z "$PULL_MTA" ]; then
+ PULL_MTA="sendmail"
+fi
+
+# Prevent environment leakage to these vars.
+unset TO
+unset CC
+# allow the user to set FROM in the environment
+
usage()
{
cat <<EOM
@@ -8,6 +18,10 @@ Usage: $(basename $0) [-h] [-a] [[-t email]...] -p pull-dir
-t email Explicitly add email to the recipients
-a Automatically harvest recipients from "*-by: email" lines
in the patches in the pull-dir
+ -f Specify a FROM address, you can also use the FROM environment
+ variable. If you do not specify one, it will try to use the one
+ from your git config. This is ignored if -g is used.
+ -g Use git-send-email to send mail instead of sendmail
-p pull-dir Directory containing summary and patch files
EOM
}
@@ -35,11 +49,17 @@ harvest_recipients()
# Parse and verify arguments
-while getopts "ahp:t:" OPT; do
+while getopts "af:ghp:t:" OPT; do
case $OPT in
a)
AUTO=1
;;
+ f)
+ FROM="$OPTARG"
+ ;;
+ g)
+ PULL_MTA="git"
+ ;;
h)
usage
exit 0
@@ -95,13 +115,29 @@ if [ -z "$TO" ] && [ -z "$CC" ]; then
exit 1
fi
+case "$PULL_MTA" in
+ git)
+ FROM="$(git config sendemail.from)"
+ ;;
+ sendmail)
+ if [ -z "$FROM" ]; then
+ FROM="$(git config user.name) <$(git config user.email)>"
+ if [ -z "$FROM" ]; then
+ echo "ERROR: unable to determine a FROM address"
+ usage
+ exit 1
+ fi
+ fi
+ ;;
+esac
# Generate report for the user and require confirmation before sending
cat <<EOM
The following patches:
$(for PATCH in $PDIR/*.patch; do echo " $PATCH"; done)
-will be sent to the following recipients:
+will be sent with the following headers:
+ From: $FROM
To: $TO
CC: $CC
@@ -111,21 +147,52 @@ read cont
if [ "$cont" == "y" ] || [ "$cont" == "Y" ]; then
ERROR=0
- for PATCH in $PDIR/*patch; do
- # Insert To and CC headers via formail to keep them separate and
- # appending them to the sendmail command as -- $TO $CC has proven
- # to be an exercise in futility.
- #
- # Use tail to remove the email envelope from git or formail as
- # msmtp (sendmail) would choke on them.
- cat $PATCH | formail -I "To: $TO" -I "CC: $CC" | tail -n +2 | sendmail -t
- if [ $? -eq 1 ]; then
- ERROR=1
- fi
- done
+ case "$PULL_MTA" in
+ git)
+ export IFS=$','
+ GIT_TO=$(for R in $TO; do echo -n "--to='$R' "; done)
+ GIT_CC=$(for R in $CC; do echo -n "--cc='$R' "; done)
+ unset IFS
+ for PATCH in $PDIR/*patch; do
+ # We harvest the emails manually, so force git not to.
+ eval "git send-email $GIT_TO $GIT_CC --no-chain-reply-to --suppress-cc=all $PATCH"
+ if [ $? -eq 1 ]; then
+ ERROR=1
+ fi
+ done
+ ;;
+ sendmail)
+ for PATCH in $PDIR/*patch; do
+ # Insert To and CC headers via formail to keep them separate and
+ # appending them to the sendmail command as -- $TO $CC has
+ # proven to be an exercise in futility.
+ #
+ # Clear the From header, leaving it up to sendmail to insert an
+ # appropriate one. Insert the original sender (per git) into the
+ # body of the message.
+ #
+ # Use tail to remove the email envelope from git or formail as
+ # msmtp (sendmail) would choke on them.
+ #
+ # Modify the patch date for sequential delivery, but retain the
+ # original date as "Old-Date".
+ DATE=$(date +"%a, %d %b %Y %k:%M:%S %z")
+ GIT_FROM=$(cat $PATCH | formail -X "From:")
+ cat $PATCH | formail -I "To: $TO" -I "CC: $CC" -I "From: $FROM" -i "Date: $DATE" | sed "0,/^$/s/^$/\n$GIT_FROM\n/" | tail -n +2 | sendmail -t
+ if [ $? -eq 1 ]; then
+ ERROR=1
+ fi
+ done
+ ;;
+ *)
+ echo "ERROR: unknown MTA: $PULL_MTA"
+ usage
+ exit 1
+ ;;
+ esac
+
if [ $ERROR -eq 1 ]; then
- echo "ERROR: sendmail failed to send one or more messages. Check your"
- echo " sendmail log for details."
+ echo "ERROR: Failed to send one or more messages. Check your MTA log for details."
fi
else
echo "Send aborted."