diff options
760 files changed, 21743 insertions, 13607 deletions
diff --git a/meta-efl/classes/efl.bbclass b/meta-efl/classes/efl.bbclass index fb96ef0362..eb40e4bc3e 100644 --- a/meta-efl/classes/efl.bbclass +++ b/meta-efl/classes/efl.bbclass @@ -1,5 +1,5 @@ SECTION = "e/libs" -LICENSE = "MIT BSD" +LICENSE = "MIT & BSD" DEPENDS += "pkgconfig-native" # revision 0d93ec84b30bc1bee2caaee72d667f87bc468a70 made SRCDATE and hence PV go backwards, so we need to up PE to unbreak builds and feeds :( diff --git a/meta-efl/conf/layer.conf b/meta-efl/conf/layer.conf index 53f4ff47bb..ed132aabba 100644 --- a/meta-efl/conf/layer.conf +++ b/meta-efl/conf/layer.conf @@ -8,6 +8,12 @@ BBFILE_COLLECTIONS += "efl-layer" BBFILE_PATTERN_efl-layer := "^${LAYERDIR}/" BBFILE_PRIORITY_efl-layer = "7" +# This should only be incremented on significant changes that will +# cause compatibility issues with other layers +LAYERVERSION_efl-layer = "1" + +LAYERDEPENDS_efl-layer = "core openembedded-layer" + E_MIRROR = "http://download.enlightenment.org/releases" E_RELEASES = "http://download.enlightenment.org/rel" E_SVN = "svn://svn.enlightenment.org/svn/e" diff --git a/meta-efl/recipes-devtools/python/python-efl.inc b/meta-efl/recipes-devtools/python/python-efl.inc index 9780518898..92a26eddba 100644 --- a/meta-efl/recipes-devtools/python/python-efl.inc +++ b/meta-efl/recipes-devtools/python/python-efl.inc @@ -46,7 +46,7 @@ FILES_${PN}-examples = "${datadir}/${PN}/examples" FILES_python-ecore = " \ ${libdir}/${PYTHON_DIR}/site-packages/ecore/ \ - ${libdir}/${PYTHON_DIR}/site-packages/efl/ecore.so \ + ${libdir}/${PYTHON_DIR}/site-packages/efl/ecore*.so \ ${libdir}/${PYTHON_DIR}/site-packages/efl/ecore \ " FILES_python-eldbus = " \ @@ -55,7 +55,7 @@ FILES_python-eldbus = " \ " FILES_python-edje = " \ ${libdir}/${PYTHON_DIR}/site-packages/edje/ \ - ${libdir}/${PYTHON_DIR}/site-packages/efl/edje*so \ + ${libdir}/${PYTHON_DIR}/site-packages/efl/edje*.so \ " FILES_python-elementary = " \ ${libdir}/${PYTHON_DIR}/site-packages/elementary/ \ diff --git a/meta-efl/recipes-devtools/python/python-efl_1.10.1.bb b/meta-efl/recipes-devtools/python/python-efl_1.10.1.bb deleted file mode 100644 index 2f7d3ed1b2..0000000000 --- a/meta-efl/recipes-devtools/python/python-efl_1.10.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require ${BPN}.inc - -SRC_URI[md5sum] = "1cc68d6cd77d9d20d07c91188d523a9a" -SRC_URI[sha256sum] = "a6c803bdd205e08c2d1e3199abd095552bc7ca4be6faafaf3b3f6db1d78c80ef" diff --git a/meta-efl/recipes-devtools/python/python-efl_1.13.0.bb b/meta-efl/recipes-devtools/python/python-efl_1.13.0.bb new file mode 100644 index 0000000000..ef9f80bcd9 --- /dev/null +++ b/meta-efl/recipes-devtools/python/python-efl_1.13.0.bb @@ -0,0 +1,4 @@ +require ${BPN}.inc + +SRC_URI[md5sum] = "98b1ca3e0feeecf8b993f9c415ff22e5" +SRC_URI[sha256sum] = "16b8234ee763fab27071e7d708accbdb0cd43eecdfdb08775853bf380e558f8d" diff --git a/meta-efl/recipes-devtools/python/python-efl_git.bb b/meta-efl/recipes-devtools/python/python-efl_git.bb index b776f7da37..83a01ac696 100644 --- a/meta-efl/recipes-devtools/python/python-efl_git.bb +++ b/meta-efl/recipes-devtools/python/python-efl_git.bb @@ -1,8 +1,9 @@ require ${BPN}.inc -SRCREV = "c1497e10288589ff9834f3d4da17461b8a3a1c15" -PV = "1.10.0+git${SRCPV}" +SRCREV = "71ed20ebf662a7b72e60913df94ce6933236bf09" +PV = "1.12.0+git${SRCPV}" +DEFAULT_PREFERENCE = "-1" -SRC_URI = "git://git.enlightenment.org/bindings/python/${BPN}.git;branch=python-efl-1.10" +SRC_URI = "git://git.enlightenment.org/bindings/python/${BPN}.git;branch=python-efl-1.12" S = "${WORKDIR}/git" diff --git a/meta-efl/recipes-efl/e17/diskio_svn.bb b/meta-efl/recipes-efl/e17/diskio_svn.bb index 01a65761eb..a26186e44c 100644 --- a/meta-efl/recipes-efl/e17/diskio_svn.bb +++ b/meta-efl/recipes-efl/e17/diskio_svn.bb @@ -5,4 +5,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35 \ PV = "0.0.1+svnr${SRCPV}" PR = "${INC_PR}.0" +PNBLACKLIST[diskio] ?= "broken: switch to https://git.enlightenment.org/enlightenment/modules/diskio.git/ and fix 0.0.1+svnr82070-r0.0/E-MODULES-EXTRA/diskio/e-module-diskio.edc:58. invalid state name: 'off'. "default" state must always be first." + require e-module.inc diff --git a/meta-efl/recipes-efl/e17/e-wm-theme-b-and-w_svn.bb b/meta-efl/recipes-efl/e17/e-wm-theme-b-and-w_svn.bb index af32a355a4..ae1b8a6c69 100644 --- a/meta-efl/recipes-efl/e17/e-wm-theme-b-and-w_svn.bb +++ b/meta-efl/recipes-efl/e17/e-wm-theme-b-and-w_svn.bb @@ -2,7 +2,7 @@ DESCRIPTION = "b-and-w theme was default E17 theme before alpha3 and some people SECTION = "e/utils" DEPENDS = "edje-native" RDEPENDS_${PN} = "e-wm" -LICENSE = "MIT BSD" +LICENSE = "MIT & BSD" # upstream was asked to include license infor in THEME dir LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" diff --git a/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht_svn.bb b/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht_svn.bb index 1bf5f1de09..965e4e995a 100644 --- a/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht_svn.bb +++ b/meta-efl/recipes-efl/e17/e-wm-theme-illume-efenniht_svn.bb @@ -9,7 +9,7 @@ HOMEPAGE = "http://trac.enlightenment.org/e/wiki/Themes#Efenniht" DEPENDS = "edje-native" RDEPENDS_${PN} = "e-wm" RSUGGESTS_${PN} = "elementary-theme-efenniht" -LICENSE = "MIT BSD" +LICENSE = "MIT & BSD" LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2" SRCREV = "${EFL_SRCREV}" diff --git a/meta-efl/recipes-efl/e17/e-wm.inc b/meta-efl/recipes-efl/e17/e-wm.inc index 0ff26ef9cd..45637f366e 100644 --- a/meta-efl/recipes-efl/e17/e-wm.inc +++ b/meta-efl/recipes-efl/e17/e-wm.inc @@ -1,10 +1,10 @@ DESCRIPTION = "The Enlightenment Window Manager Version 17" DEPENDS = "eet evas eina ecore edje efreet edbus eeze eio elementary libxcb xcb-util-keysyms" -LICENSE = "MIT BSD" +LICENSE = "MIT & BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=76de290eb3fdda12121830191c152a7d" SRCNAME = "e" -inherit e update-alternatives gettext +inherit e update-alternatives gettext pkgconfig S = "${WORKDIR}/${SRCNAME}" PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \ diff --git a/meta-efl/recipes-efl/e17/e-wm/0001-configure.ac-add-foreign.patch b/meta-efl/recipes-efl/e17/e-wm/0001-configure.ac-add-foreign.patch deleted file mode 100644 index 14899d5147..0000000000 --- a/meta-efl/recipes-efl/e17/e-wm/0001-configure.ac-add-foreign.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 8526270c418a5dc3d737a8eaff315209433f69d2 Mon Sep 17 00:00:00 2001 -From: Martin Jansa <Martin.Jansa@gmail.com> -Date: Mon, 25 Aug 2014 16:06:03 +0200 -Subject: [PATCH] configure.ac: add foreign - -* fixes: - | configure.ac:312: error: required file './ABOUT-NLS' not found - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 62c0f6d..49b290b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -34,7 +34,7 @@ AH_BOTTOM([ - #endif /* EFL_CONFIG_H__ */ - ]) - --AM_INIT_AUTOMAKE([1.11 dist-bzip2 -Wno-portability]) -+AM_INIT_AUTOMAKE([1.11 dist-bzip2 -Wno-portability foreign]) - AM_SILENT_RULES([yes]) - - AC_USE_SYSTEM_EXTENSIONS --- -2.0.4 - diff --git a/meta-efl/recipes-efl/e17/e-wm_0.19.2.bb b/meta-efl/recipes-efl/e17/e-wm_0.19.2.bb new file mode 100644 index 0000000000..ac33406a47 --- /dev/null +++ b/meta-efl/recipes-efl/e17/e-wm_0.19.2.bb @@ -0,0 +1,19 @@ +require ${BPN}.inc + +SRCNAME = "enlightenment" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +# couple of modules needed for illume2 (mobile) profile were removed in +# http://git.enlightenment.org/core/enlightenment.git/commit/src/modules/Makefile.mk?id=1be76d599ca27f820b58b8186c5f73d9844c67ca +# and replacements aren't included yet, if you want to use e-wm on device with small screen, better stay with 0.18 release +DEFAULT_PREFERENCE = "-1" + +SRC_URI = "\ + ${E_RELEASES}/apps/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ + file://enlightenment_start.oe \ + file://applications.menu \ +" + +SRC_URI[md5sum] = "ca76c640c2a54f89f069176258151334" +SRC_URI[sha256sum] = "9063d3de704a5700468a558f6707f402fe239c0807bc38ed29aaf7c62db1cd02" diff --git a/meta-efl/recipes-efl/e17/e-wm_git.bb b/meta-efl/recipes-efl/e17/e-wm_git.bb index 4bf1b96936..18738781bd 100644 --- a/meta-efl/recipes-efl/e17/e-wm_git.bb +++ b/meta-efl/recipes-efl/e17/e-wm_git.bb @@ -1,14 +1,13 @@ require ${BPN}.inc -PV = "0.18.999+0.19-alpha2+git${SRCPV}" -DEFAULT_PREFERENCE = "-1" +PV = "0.19.2+git${SRCPV}" +DEFAULT_PREFERENCE = "-2" SRC_URI = " \ - git://git.enlightenment.org/core/enlightenment.git \ - file://0001-configure.ac-add-foreign.patch \ + git://git.enlightenment.org/core/enlightenment.git;branch=enlightenment-0.19 \ file://enlightenment_start.oe \ file://applications.menu \ " S = "${WORKDIR}/git" -SRCREV = "525b963133d7168226b8e07ba26730212a8b7e82" +SRCREV = "be0d07877e561edd7242368797a90c36c4e77ee4" diff --git a/meta-efl/recipes-efl/e17/elbow_git.bb b/meta-efl/recipes-efl/e17/elbow_git.bb new file mode 100644 index 0000000000..16664f97a2 --- /dev/null +++ b/meta-efl/recipes-efl/e17/elbow_git.bb @@ -0,0 +1,24 @@ +SUMMARY = "EFL based browser" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6" +DEPENDS = "evas ecore edje eina elementary webkit-efl sqlite3" + +PV = "0.0.1+gitr${SRCPV}" +SRCREV = "b41fd0bc9514ff61bb2a50d957efe4155fa3e6a8" + +# webkit-efl isn't available for < armv7a +COMPATIBLE_MACHINE = "(-)" +COMPATIBLE_MACHINE_i586 = "(.*)" +COMPATIBLE_MACHINE_x86-64 = "(.*)" +COMPATIBLE_MACHINE_armv7a = "(.*)" + +inherit e gettext cmake + +EXTRA_OECMAKE = "-DDATA_INSTALL_DIR=${datadir}" + +SRC_URI = " \ + git://github.com/bunhere/elbow.git;protocol=https \ +" +S = "${WORKDIR}/git" + +FILES_${PN} += "${datadir}/themes" diff --git a/meta-efl/recipes-efl/e17/ephoto_svn.bb b/meta-efl/recipes-efl/e17/ephoto_svn.bb index 3255ab835c..5cecda5889 100644 --- a/meta-efl/recipes-efl/e17/ephoto_svn.bb +++ b/meta-efl/recipes-efl/e17/ephoto_svn.bb @@ -1,4 +1,4 @@ -LICENSE = "MIT GPL-3.0" +LICENSE = "MIT & GPL-3.0" PV = "0.1.0+svnr${SRCREV}" PR = "${INC_PR}.0" diff --git a/meta-efl/recipes-efl/e17/eve/0001-eve-theme-updated-for-Openmoko-Freerunner-screen.patch b/meta-efl/recipes-efl/e17/eve/0001-eve-theme-updated-for-Openmoko-Freerunner-screen.patch deleted file mode 100644 index a3c5cdaaae..0000000000 --- a/meta-efl/recipes-efl/e17/eve/0001-eve-theme-updated-for-Openmoko-Freerunner-screen.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 203aabbb95a98fa455363f78ff07e2ed217b0086 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net> -Date: Wed, 17 Nov 2010 16:38:47 +0100 -Subject: [PATCH 1/2] eve: theme updated for Openmoko Freerunner screen - ---- - data/themes/default.edc | 24 +++++++++++------------- - 1 file changed, 11 insertions(+), 13 deletions(-) - -diff --git a/data/themes/default.edc b/data/themes/default.edc -index feeac4f..848ca5c 100644 ---- a/data/themes/default.edc -+++ b/data/themes/default.edc -@@ -1,8 +1,8 @@ --#define TOP_PANEL_HEIGHT 64 -+#define TOP_PANEL_HEIGHT 80 - #define BOTTOM_PANEL_HEIGHT 85 - #define TOOLBAR_ITEMS 5 - #define TOOLBAR_MIDDLE_ITEM 3 --#define TOOLBAR_ITEM_SIZE 90 -+#define TOOLBAR_ITEM_SIZE 87 - #define URLBAR_ITEM_SIZE 40 - - #define TOOLBAR_POSITION(_item_number) ((_item_number)*(TOOLBAR_ITEM_SIZE)-((TOOLBAR_ITEM_SIZE)*(TOOLBAR_MIDDLE_ITEM))) -@@ -295,7 +295,6 @@ collections { - type: RECT; - description { state: "default" 0.0; - color: 0 0 0 255; -- min: 240 320; - } - } - } -@@ -526,7 +525,6 @@ collections { - type: RECT; - description { state: "default" 0.0; - color: 0 0 0 255; -- min: 240 320; - } - } - part { name: "view"; -@@ -920,17 +918,17 @@ collections { - type: IMAGE; - description { state: "default" 0.0; - visible: 0; -- min: 30 27; -- max: 30 27; -+ min: 80 78; -+ max: 80 78; - fixed: 1 1; - image.normal: "panel-top-triangle.png"; - rel1 { - relative: 1.0 0.0; -- offset: 60 60; -+ offset: 0 0; - } - rel2 { - relative: 1.0 0.0; -- offset: 60 60; -+ offset: 0 0; - } - } - description { state: "visible" 0.0; -@@ -939,11 +937,11 @@ collections { - image.normal: "panel-top-triangle.png"; - rel1 { - relative: 1.0 0.0; -- offset: -15 13; -+ offset: -40 38; - } - rel2 { - relative: 1.0 0.0; -- offset: -15 13; -+ offset: -40 38; - } - } - description { state: "pressed" 0.0; -@@ -1033,11 +1031,11 @@ collections { - rel2 { - to_y: "panel-top"; - relative: 1.0 0.0; -- offset: -1 24; -+ offset: -1 26; - } - text { - font: "Sans,Edje-Vera"; -- size: 8; -+ size: 11; - text: "Untitled"; - min: 0 1; - align: 0.5 0.5; -@@ -1053,7 +1051,7 @@ collections { - rel1 { - to_y: "panel-top"; - relative: 0.0 0.0; -- offset: (URLBAR_ITEM_SIZE+20) 68; -+ offset: (URLBAR_ITEM_SIZE+20) 70; - } - rel2 { - to_y: "panel-top"; --- -1.9.1 - diff --git a/meta-efl/recipes-efl/e17/eve/0002-adapt-to-webkit-efl-changes.patch b/meta-efl/recipes-efl/e17/eve/0002-adapt-to-webkit-efl-changes.patch deleted file mode 100644 index 4b5e64ee57..0000000000 --- a/meta-efl/recipes-efl/e17/eve/0002-adapt-to-webkit-efl-changes.patch +++ /dev/null @@ -1,109 +0,0 @@ -From c1cb2a7b6d8b4661fde442ea4725df6842a94816 Mon Sep 17 00:00:00 2001 -From: Martin Jansa <Martin.Jansa@gmail.com> -Date: Fri, 18 Apr 2014 11:52:18 +0200 -Subject: [PATCH 2/2] adapt to webkit-efl changes - -WIP: just fixes the build, probably doesn't render correctly - -https://trac.webkit.org/changeset/164168 -removed cairo.h from public headers and ewk_view_paint_contents - -https://trac.webkit.org/changeset/162581 -removed ewk_view_pre_render methods (with whole tiled support) - -https://git.enlightenment.org/core/elementary.git/commit/?id=0e465290be2016f12adcbc8c8d74645b3e6a1d9a -ewk_view_tiled_smart_set is gone and ewk_view_single_smart_set is -ewk_view_smart_set - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> ---- - src/bin/chrome.c | 4 +++- - src/bin/view.c | 22 +++++++--------------- - 2 files changed, 10 insertions(+), 16 deletions(-) - -diff --git a/src/bin/chrome.c b/src/bin/chrome.c -index ee8f0c4..b46b29d 100644 ---- a/src/bin/chrome.c -+++ b/src/bin/chrome.c -@@ -5,6 +5,8 @@ - #include <stdio.h> - #include <string.h> - -+#include <cairo.h> -+ - #include <Eina.h> - #include <Elementary.h> - -@@ -1997,7 +1999,7 @@ view_screenshot_add(Evas *evas, const Evas_Object *view) - if (cairo_status(cairo) != CAIRO_STATUS_SUCCESS) - goto error_cairo_create; - -- if (!ewk_view_paint_contents(priv, cairo, &rect)) -+ if (!ewk_view_screenshot_contents_get(priv, &rect, 1)) - { - evas_object_del(img); - img = NULL; -diff --git a/src/bin/view.c b/src/bin/view.c -index 54de6c1..2b07511 100644 ---- a/src/bin/view.c -+++ b/src/bin/view.c -@@ -335,7 +335,7 @@ _view_load_finished(void *data, Evas_Object *view, void *event_info __UNUSED__) - h *= 2; - - INF("load finished, pre-render %d,%d+%dx%d at %0.2f", x, y, w, h, zoom); -- ewk_view_pre_render_region(view, x, y, w, h, zoom); -+ //ewk_view_pre_render_region(view, x, y, w, h, zoom); - } - - /* stop animators, we changed page */ -@@ -435,7 +435,7 @@ _view_pan_pre_render(View_Smart_Data *sd, Evas_Coord dx, Evas_Coord dy) - - INF("pre-render region %d,%d+%dx%d at %0.2f (viewport=%d,%d+%dx%d)", - px, py, pw, ph, zoom, x, y, w, h); -- ewk_view_pre_render_region(sd->base.self, px, py, pw, ph, zoom); -+ //ewk_view_pre_render_region(sd->base.self, px, py, pw, ph, zoom); - } - - static unsigned int -@@ -611,7 +611,7 @@ _view_pan_start(View_Smart_Data *sd, const Evas_Event_Mouse_Down *ev) - - sd->pan.last_move = *p; - -- ewk_view_pre_render_cancel(sd->base.self); -+ //ewk_view_pre_render_cancel(sd->base.self); - - /* register function to collect samples and apply scrolls at fixed interval*/ - if (!sd->animator.pan) -@@ -816,7 +816,7 @@ _view_zoom_start(View_Smart_Data *sd, const Evas_Event_Mouse_Down *ev) - Evas_Coord cw, ch, vw, vh; - float z, zx, zy; - -- ewk_view_pre_render_cancel(sd->base.self); -+ //ewk_view_pre_render_cancel(sd->base.self); - - /* remember starting point so we have a reference */ - sd->zoom.start.zoom = ewk_frame_page_zoom_get(frame); -@@ -1512,17 +1512,9 @@ view_add(Evas_Object *parent, Backing_Store bs) - /* create ewk_view_single subclass, this is done only once! */ - static Ewk_View_Smart_Class api = EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION("EWK_View_Demo"); - -- /* set current and parent apis to vanilla ewk_view_single methods */ -- if (bs == BACKING_STORE_TILED) -- { -- ewk_view_tiled_smart_set(&api); -- ewk_view_tiled_smart_set(&_parent_sc); -- } -- else -- { -- ewk_view_single_smart_set(&api); -- ewk_view_single_smart_set(&_parent_sc); -- } -+ /* set current and parent apis to vanilla ewk_view methods */ -+ ewk_view_smart_set(&api); -+ ewk_view_smart_set(&_parent_sc); - - /* override methods we want custom behavior */ - api.sc.add = _view_smart_add; --- -1.9.1 - diff --git a/meta-efl/recipes-efl/e17/eve_git.bb b/meta-efl/recipes-efl/e17/eve_git.bb deleted file mode 100644 index 7879d6a8fc..0000000000 --- a/meta-efl/recipes-efl/e17/eve_git.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "Enlightenment Web Browser" -LICENSE = "LGPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6" -DEPENDS = "evas ecore edje elementary webkit-efl eldbus" - -PE = "1" -PV = "0.3.0+gitr${SRCPV}" -SRCREV = "7bd6549982f4fc5e26e5d11e6c536601358892e3" - -# webkit-efl isn't available for < armv7a -COMPATIBLE_MACHINE = "(-)" -COMPATIBLE_MACHINE_i586 = "(.*)" -COMPATIBLE_MACHINE_x86-64 = "(.*)" -COMPATIBLE_MACHINE_armv7a = "(.*)" - -inherit e gettext -SRC_URI = " \ - git://git.enlightenment.org/apps/${BPN}.git \ - file://0001-eve-theme-updated-for-Openmoko-Freerunner-screen.patch \ - file://0002-adapt-to-webkit-efl-changes.patch \ -" -S = "${WORKDIR}/git" - -do_configure_prepend() { - autopoint || touch config.rpath -} - -EXTRA_OECONF = "\ - --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \ -" - -FILES_${PN} += "\ - ${datadir}/icons/eve.png \ -" diff --git a/meta-efl/recipes-efl/e17/exquisite-theme-illume.bb b/meta-efl/recipes-efl/e17/exquisite-theme-illume.bb index 5948e20731..aad0646477 100644 --- a/meta-efl/recipes-efl/e17/exquisite-theme-illume.bb +++ b/meta-efl/recipes-efl/e17/exquisite-theme-illume.bb @@ -1,5 +1,5 @@ DDESCRIPTION = "A theme for exquisite" -LICENSE = "MIT BSD" +LICENSE = "MIT & BSD" LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2" SECTION = "x11" DEPENDS = "edje-native" diff --git a/meta-efl/recipes-efl/e17/exquisite_svn.bb b/meta-efl/recipes-efl/e17/exquisite_svn.bb index dc46a94abd..8f2d25d7d6 100644 --- a/meta-efl/recipes-efl/e17/exquisite_svn.bb +++ b/meta-efl/recipes-efl/e17/exquisite_svn.bb @@ -1,5 +1,5 @@ SUMMARY = "A psplash replacement for display" -LICENSE = "MIT BSD" +LICENSE = "MIT & BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=14defa372a91118e755133bc8e6aff83" DEPENDS = "eet evas ecore embryo edje" PV = "0.0.1+svnr${SRCPV}" diff --git a/meta-efl/recipes-efl/e17/illume-keyboards-shr_git.bb b/meta-efl/recipes-efl/e17/illume-keyboards-shr_git.bb index 55f3282b7b..6f81b6b07a 100644 --- a/meta-efl/recipes-efl/e17/illume-keyboards-shr_git.bb +++ b/meta-efl/recipes-efl/e17/illume-keyboards-shr_git.bb @@ -9,7 +9,7 @@ SRCREV = "4064489f359a1addf572089b582f317dff5f50e1" PV = "0.0+gitr${SRCPV}" PE = "1" PR = "r5" -LICENSE = "MIT BSD" +LICENSE = "MIT & BSD" LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2" PACKAGES = "\ diff --git a/meta-efl/recipes-efl/e17/nonworking/emprint_svn.bb b/meta-efl/recipes-efl/e17/nonworking/emprint_svn.bb index 777e30218d..6c2abdc5ba 100644 --- a/meta-efl/recipes-efl/e17/nonworking/emprint_svn.bb +++ b/meta-efl/recipes-efl/e17/nonworking/emprint_svn.bb @@ -1,5 +1,5 @@ DESCRIPTION = "Emprint is a utility for taking screenshots of the entire screen, a specific window, or a specific region." -LICENSE = "MIT BSD" +LICENSE = "MIT & BSD" DEPENDS = "imlib2 virtual/libx11 ecore evas edje eina" PV = "0.0.1+svnr${SRCPV}" LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35" diff --git a/meta-efl/recipes-efl/e17/nonworking/rage_svn.bb b/meta-efl/recipes-efl/e17/nonworking/rage_svn.bb index 3cf576f08f..da51ae6c43 100644 --- a/meta-efl/recipes-efl/e17/nonworking/rage_svn.bb +++ b/meta-efl/recipes-efl/e17/nonworking/rage_svn.bb @@ -1,7 +1,7 @@ SUMMARY = "Rage is a media center application based on EFL" AUTHOR = "Carsten 'The Rasterman' Haitzler" HOMEPAGE = "http://www.rasterman.com" -LICENSE = "MIT BSD" +LICENSE = "MIT & BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35" DEPENDS = "emotion evas ecore edje" SECTION = "x11/multimedia" diff --git a/meta-efl/recipes-efl/e17/terminology.inc b/meta-efl/recipes-efl/e17/terminology.inc index 9dd2264d53..24f789f59f 100644 --- a/meta-efl/recipes-efl/e17/terminology.inc +++ b/meta-efl/recipes-efl/e17/terminology.inc @@ -1,6 +1,6 @@ DESCRIPTION = "Enlightenment Terminal Emulator" -LICENSE = "MIT BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=9a8682b561bdfa219d59483a679ed80a" +LICENSE = "MIT & BSD-2-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=4efac6b05b3256ba7da66301ac1ee6c6" DEPENDS = "evas ecore edje elementary eina eet emotion" inherit e gettext diff --git a/meta-efl/recipes-efl/e17/terminology_0.5.1.bb b/meta-efl/recipes-efl/e17/terminology_0.5.1.bb deleted file mode 100644 index 642b658467..0000000000 --- a/meta-efl/recipes-efl/e17/terminology_0.5.1.bb +++ /dev/null @@ -1,8 +0,0 @@ -require ${BPN}.inc - -SRC_URI = "\ - ${E_RELEASES}/apps/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ -" - -SRC_URI[md5sum] = "d46cda519cf198cb19970146d31a9e8b" -SRC_URI[sha256sum] = "ceef9e5a73f1dfdb412d074df1ead684fd31f630414c65eac8cd89fea13315ad" diff --git a/meta-efl/recipes-efl/e17/terminology_0.8.0.bb b/meta-efl/recipes-efl/e17/terminology_0.8.0.bb new file mode 100644 index 0000000000..6e520ab68f --- /dev/null +++ b/meta-efl/recipes-efl/e17/terminology_0.8.0.bb @@ -0,0 +1,8 @@ +require ${BPN}.inc + +SRC_URI = "\ + ${E_RELEASES}/apps/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ +" + +SRC_URI[md5sum] = "9f664d3205deaad956c253081cebf9fb" +SRC_URI[sha256sum] = "7a10d44b023cf6134c2483304e4ad33bea6df0f11266aec482f54fa67a3ce628" diff --git a/meta-efl/recipes-efl/efl/e-wm-illume-dict-pl_git.bb b/meta-efl/recipes-efl/efl/e-wm-illume-dict-pl_git.bb index 17f668b98f..657adcd92c 100644 --- a/meta-efl/recipes-efl/efl/e-wm-illume-dict-pl_git.bb +++ b/meta-efl/recipes-efl/efl/e-wm-illume-dict-pl_git.bb @@ -3,7 +3,7 @@ SECTION = "x11/data" SRCREV = "38fdd9bb0d8296e984bb6443466801eea6f62f00" PV = "1.0+gitr${SRCPV}" PE = "1" -LICENSE = "MIT BSD" +LICENSE = "MIT & BSD" LIC_FILES_CHKSUM = "file://LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2" SRC_URI = "git://git.shr-project.org/repo/shr-themes.git;protocol=http;branch=master" diff --git a/meta-efl/recipes-efl/efl/edb_svn.bb b/meta-efl/recipes-efl/efl/edb_svn.bb index a895cb31bf..7c6abdaf04 100644 --- a/meta-efl/recipes-efl/efl/edb_svn.bb +++ b/meta-efl/recipes-efl/efl/edb_svn.bb @@ -1,5 +1,5 @@ SUMMARY = "Edb is the Enlightenment database library" -LICENSE = "MIT BSD" +LICENSE = "MIT & BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=d8a7c08df3bc3280208b959be7215c25 \ file://COPYING-PLAIN;md5=f59cacc08235a546b0c34a5422133035" diff --git a/meta-efl/recipes-efl/efl/edbus.inc b/meta-efl/recipes-efl/efl/edbus.inc index 7b11af54bb..03d0ee58d9 100644 --- a/meta-efl/recipes-efl/efl/edbus.inc +++ b/meta-efl/recipes-efl/efl/edbus.inc @@ -1,6 +1,6 @@ DESCRIPTION = "DBus and HAL convenience wrappers for EFL" DEPENDS = "dbus ecore eina" -LICENSE = "MIT BSD" +LICENSE = "MIT & BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=550b8cea13dacc4bf00508a8cce1074c" inherit efl diff --git a/meta-efl/recipes-efl/efl/efl.inc b/meta-efl/recipes-efl/efl/efl.inc index c82780b996..b765bf0d09 100644 --- a/meta-efl/recipes-efl/efl/efl.inc +++ b/meta-efl/recipes-efl/efl/efl.inc @@ -1,9 +1,9 @@ SUMMARY = "EFL" -LICENSE = "MIT BSD LGPL-2.1" +LICENSE = "MIT & BSD & LGPL-2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=a1809a807e39dd48ddcf7be98477d130" DEPENDS_class-native = "freetype-native libxext-native libpng-native jpeg-native tiff-native libfribidi-native glib-2.0-native dbus-native" -DEPENDS = "virtual/libiconv tslib curl glib-2.0 gnutls pkgconfig zlib jpeg openssl libsndfile1 dbus libexif librsvg freetype libpng tiff libxext virtual/libx11 libxrender fontconfig libfribidi giflib udev libxcursor libxcomposite libxinerama libxrandr libxtst libxscrnsaver efl-native" +DEPENDS = "virtual/libiconv tslib curl glib-2.0 gnutls pkgconfig zlib jpeg openssl libsndfile1 dbus libexif librsvg freetype libpng tiff libxext virtual/libx11 libxdamage libxrender fontconfig libfribidi giflib udev libxcursor libxcomposite libxinerama libxrandr libxtst libxscrnsaver efl-native" inherit efl gettext pkgconfig @@ -25,10 +25,14 @@ EXTRA_OECONF_append_class-target = " \ --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \ --with-eolian-gen=${STAGING_BINDIR_NATIVE}/eolian_gen \ --with-eolian-cxx=${STAGING_BINDIR_NATIVE}/eolian_cxx \ + --with-elua=${STAGING_BINDIR_NATIVE}/elua \ " EXTRA_OECONF_append_class-native = " \ --disable-fontconfig \ --disable-audio \ + --disable-physics \ + --disable-multisense \ + --disable-cserve \ --with-x11=none \ --disable-image-loader-bmp \ --disable-image-loader-eet \ @@ -42,6 +46,8 @@ EXTRA_OECONF_append_class-native = " \ --disable-image-loader-wbmp \ --disable-image-loader-webp \ --disable-image-loader-xpm \ + --disable-image-loader-tgv \ + --disable-image-loader-dds \ " PACKAGECONFIG ?= "opengl-es gstreamer1 pulseaudio luajit" @@ -191,6 +197,7 @@ FILES_efreet = " \ FILES_eet = " \ ${bindir}/eet \ ${bindir}/vieet \ + ${bindir}/diffeet \ ${libdir}/libeet${SOLIBS} \ " FILES_emotion = " \ diff --git a/meta-efl/recipes-efl/efl/efl/0001-configure.ac-Don-t-check-for-Xprint-extension.patch b/meta-efl/recipes-efl/efl/efl/0001-configure.ac-Don-t-check-for-Xprint-extension.patch index 012810b1ea..fa85f817e2 100644 --- a/meta-efl/recipes-efl/efl/efl/0001-configure.ac-Don-t-check-for-Xprint-extension.patch +++ b/meta-efl/recipes-efl/efl/efl/0001-configure.ac-Don-t-check-for-Xprint-extension.patch @@ -1,7 +1,7 @@ -From 7097b46383a6ec96662bf1bf0a04190a38d25a20 Mon Sep 17 00:00:00 2001 +From 27aedcdcdafbf079dc022bab72ec309cf7db3172 Mon Sep 17 00:00:00 2001 From: Martin Jansa <Martin.Jansa@gmail.com> Date: Fri, 10 Jan 2014 17:07:13 +0100 -Subject: [PATCH] configure.ac: Don't check for Xprint extension +Subject: [PATCH 1/3] configure.ac: Don't check for Xprint extension * it's long gone @@ -11,10 +11,10 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> 1 file changed, 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 0d8c4cc..0a08330 100644 +index c108b1b..f019bfc 100644 --- a/configure.ac +++ b/configure.ac -@@ -2769,7 +2769,6 @@ if test "x${want_x11_xlib}" = "xyes" ; then +@@ -3474,7 +3474,6 @@ if test "x${want_x11_xlib}" = "xyes" ; then ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension]) ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion]) ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens]) @@ -23,5 +23,5 @@ index 0d8c4cc..0a08330 100644 ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat]) ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent]) -- -1.8.5.2 +2.3.0 diff --git a/meta-efl/recipes-efl/efl/efl/0002-evas_3d-Add-Eet.h-includes.patch b/meta-efl/recipes-efl/efl/efl/0002-evas_3d-Add-Eet.h-includes.patch new file mode 100644 index 0000000000..aa7fd4bf51 --- /dev/null +++ b/meta-efl/recipes-efl/efl/efl/0002-evas_3d-Add-Eet.h-includes.patch @@ -0,0 +1,51 @@ +From b3cbe31c38a088af7b0dade82545475fc9b72492 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Tue, 2 Dec 2014 12:21:10 +0100 +Subject: [PATCH 2/3] evas_3d: Add Eet.h includes + +* with some very restrictive options like we use in efl-native, the build is complaining + about missing symbols from Eet.h, add include where needed + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + src/lib/evas/canvas/evas_3d_eet.c | 1 + + src/modules/evas/model_loaders/eet/evas_model_load_eet.c | 1 + + src/modules/evas/model_savers/eet/evas_model_save_eet.c | 1 + + 3 files changed, 3 insertions(+) + +diff --git a/src/lib/evas/canvas/evas_3d_eet.c b/src/lib/evas/canvas/evas_3d_eet.c +index 1515f5a..a438217 100644 +--- a/src/lib/evas/canvas/evas_3d_eet.c ++++ b/src/lib/evas/canvas/evas_3d_eet.c +@@ -1,3 +1,4 @@ ++#include <Eet.h> + #include <stdio.h> + #include "evas_common_private.h" + #include "evas_private.h" +diff --git a/src/modules/evas/model_loaders/eet/evas_model_load_eet.c b/src/modules/evas/model_loaders/eet/evas_model_load_eet.c +index 815b9f1..bff2cea 100644 +--- a/src/modules/evas/model_loaders/eet/evas_model_load_eet.c ++++ b/src/modules/evas/model_loaders/eet/evas_model_load_eet.c +@@ -3,6 +3,7 @@ + #endif + + #include <Eo.h> ++#include <Eet.h> + #include <stdio.h> + #include "evas_common_private.h" + #include "evas_private.h" +diff --git a/src/modules/evas/model_savers/eet/evas_model_save_eet.c b/src/modules/evas/model_savers/eet/evas_model_save_eet.c +index e445dca..2e1cf4e 100644 +--- a/src/modules/evas/model_savers/eet/evas_model_save_eet.c ++++ b/src/modules/evas/model_savers/eet/evas_model_save_eet.c +@@ -2,6 +2,7 @@ + #include "config.h" + #endif + ++#include <Eet.h> + #include <stdio.h> + #include "evas_common_private.h" + #include "evas_private.h" +-- +2.3.0 + diff --git a/meta-efl/recipes-efl/efl/efl/0003-edje_cc-Avoid-segfault-when-strcmp-NULL-items.patch b/meta-efl/recipes-efl/efl/efl/0003-edje_cc-Avoid-segfault-when-strcmp-NULL-items.patch new file mode 100644 index 0000000000..55d7b543c8 --- /dev/null +++ b/meta-efl/recipes-efl/efl/efl/0003-edje_cc-Avoid-segfault-when-strcmp-NULL-items.patch @@ -0,0 +1,30 @@ +From 84259714c2376fdb919299e8e01af1ccc6fbe2c0 Mon Sep 17 00:00:00 2001 +From: Stefan Schmidt <s.schmidt@samsung.com> +Date: Thu, 12 Feb 2015 15:24:27 +0100 +Subject: [PATCH 3/3] edje_cc: Avoid segfault when strcmp NULL items + +Martin reported a porblem with one of the SHR project edc files after an upgrade +to 1.13. The segfault itself is easy enough to fix here but I think there might +be other problems with the edc after this segfault is gone. We will see. + +Fixes T2106 +--- + src/bin/edje/edje_cc_out.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/bin/edje/edje_cc_out.c b/src/bin/edje/edje_cc_out.c +index 4f582c7..bc85444 100755 +--- a/src/bin/edje/edje_cc_out.c ++++ b/src/bin/edje/edje_cc_out.c +@@ -386,7 +386,7 @@ check_source_links(Edje_Part_Collection *pc, Edje_Part *ep, Eet_File *ef, Eina_L + EINA_LIST_FOREACH(edje_collections, l, pc_source) + { + /* Find sourced group */ +- if (strcmp(ep->source, pc_source->part) == 0) ++ if (ep->source && pc_source->part && strcmp(ep->source, pc_source->part) == 0) + { + /* Go through every part to find parts with type GROUP */ + for (i = 0; i < pc_source->parts_count; ++i) +-- +2.3.0 + diff --git a/meta-efl/recipes-efl/efl/efl_1.11.0.bb b/meta-efl/recipes-efl/efl/efl_1.13.0.bb index 45ee389e70..b243b817e4 100644 --- a/meta-efl/recipes-efl/efl/efl_1.11.0.bb +++ b/meta-efl/recipes-efl/efl/efl_1.13.0.bb @@ -2,10 +2,13 @@ require ${BPN}.inc SRC_URI = "\ ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ + file://0001-configure.ac-Don-t-check-for-Xprint-extension.patch \ + file://0002-evas_3d-Add-Eet.h-includes.patch \ + file://0003-edje_cc-Avoid-segfault-when-strcmp-NULL-items.patch \ " -SRC_URI[md5sum] = "83a1e983d7e9d3efcbba9a7a29cad54d" -SRC_URI[sha256sum] = "0a8ab66e012820cad7dd78de371f8dcbbd79cb316302e1e6c354181de35d727f" +SRC_URI[md5sum] = "c73f00e1e25b3b660e15ef754c76541d" +SRC_URI[sha256sum] = "7ff797d4cd01143edc1258a287be3ddfb11264f0b855878d8f5ad5129dee9357" # Temporary disable until error like the one following are fixed # efl-native/2_1.8.4-r0/efl-1.8.4/src/lib/eet/.libs/libeet.so: file not recognized: File truncated @@ -21,5 +24,3 @@ PARALLEL_MAKE_class-native = "" #Makefile:2163: recipe for target 'all-recursive' failed # autotools-brokensep B = "${S}" - -SRC_URI += "file://0001-configure.ac-Don-t-check-for-Xprint-extension.patch" diff --git a/meta-efl/recipes-efl/efl/elementary-theme-efenniht_svn.bb b/meta-efl/recipes-efl/efl/elementary-theme-efenniht_svn.bb index fa635c0d81..494e743f58 100644 --- a/meta-efl/recipes-efl/efl/elementary-theme-efenniht_svn.bb +++ b/meta-efl/recipes-efl/efl/elementary-theme-efenniht_svn.bb @@ -8,7 +8,7 @@ SECTION = "e/utils" HOMEPAGE = "http://trac.enlightenment.org/e/wiki/Themes#Efenniht" DEPENDS = "edje-native" RSUGGESTS_${PN} = "e-wm-theme-illume-efenniht" -LICENSE = "MIT BSD" +LICENSE = "MIT & BSD" LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=f523ab5986cc79b52a90d2ac3d5454a2" SRCREV_THM_REV ?= "${EFL_SRCREV}" diff --git a/meta-efl/recipes-efl/efl/elementary.inc b/meta-efl/recipes-efl/efl/elementary.inc index c5e75b96c8..f0a92dfe9a 100644 --- a/meta-efl/recipes-efl/efl/elementary.inc +++ b/meta-efl/recipes-efl/efl/elementary.inc @@ -12,6 +12,7 @@ EXTRA_OECONF_append_class-target = "\ --with-elementary-codegen=${STAGING_BINDIR_NATIVE}/elementary_codegen \ --with-elm-prefs-cc=${STAGING_BINDIR_NATIVE}/elm_prefs_cc \ --with-eolian-gen=${STAGING_BINDIR_NATIVE}/eolian_gen \ + --with-eolian-cxx=${STAGING_BINDIR_NATIVE}/eolian_cxx \ " BBCLASSEXTEND = "native" @@ -23,8 +24,8 @@ PACKAGECONFIG[ewebkit] = "--with-elementary-web-backend=ewebkit,--with-elementar PACKAGECONFIG[c++11] = "--enable-cxx-bindings,--disable-cxx-bindings" do_configure_prepend() { - # prefix returned eolian paths with STAGING_DIR_HOST also use $PKG_CONFIG instead of pkg-config directly - sed -i "s^DEPS_EOLIAN_FLAGS=\`pkg-config --variable=eolian_flags eo evas edje ecore\`$^DEPS_EOLIAN_FLAGS=\`\$PKG_CONFIG --variable=eolian_flags eo evas edje ecore | sed 's#-I${prefix}#-I${STAGING_DIR_HOST}${prefix}#g'\`^g" ${S}/configure.ac + # prefix returned eolian paths with STAGING_DIR_HOST + sed -i 's%^\(DEPS_EOLIAN_FLAGS=`.*\)`$%\1 | sed "s#-I\\${prefix}#-I\\${STAGING_DIR_HOST}\\${prefix}#g"`%g' ${S}/configure.ac } do_compile_append_class-target() { diff --git a/meta-efl/recipes-efl/efl/elementary_1.11.0.bb b/meta-efl/recipes-efl/efl/elementary_1.13.0.bb index d188c23765..e7be246c87 100644 --- a/meta-efl/recipes-efl/efl/elementary_1.11.0.bb +++ b/meta-efl/recipes-efl/efl/elementary_1.13.0.bb @@ -8,8 +8,8 @@ SRC_URI = "\ # these paths aren't passed in -native build SRC_URI_append_class-target = " file://0001-Makefile-Use-elementary_codegen-defined-in-configure.patch" -SRC_URI[md5sum] = "cfcf3b0620cbb6e86021286631274d9a" -SRC_URI[sha256sum] = "47ee79f7fc4e355557e6809e2001468bc8e40939562e3a96f689969ab67c17b4" +SRC_URI[md5sum] = "e8464cc2d89585cfe189584c7081845b" +SRC_URI[sha256sum] = "52f1b4304f22156ab53d2d13b8d8f15c58a110a3bc3f31a13fc357eb9527778c" # autotools-brokensep - configure updates Elementary.h correctly in ${B}, but then build is using Elementary.h from ${S} # which includes #define ELM_EMAP (instead of #undef ELM_EMAP) and building fails diff --git a/meta-efl/recipes-efl/efl/emotion-generic-players_1.11.0.bb b/meta-efl/recipes-efl/efl/emotion-generic-players_1.11.0.bb deleted file mode 100644 index 4cb74f5e2d..0000000000 --- a/meta-efl/recipes-efl/efl/emotion-generic-players_1.11.0.bb +++ /dev/null @@ -1,8 +0,0 @@ -require ${BPN}.inc - -SRC_URI = "\ - ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ -" - -SRC_URI[md5sum] = "432febd580ed1a4d7d7b42984ee4c693" -SRC_URI[sha256sum] = "5d2e7923a6e4e909df2f9fc3bf7508086ea04b0146e62015dbc93a8bf58bca74" diff --git a/meta-efl/recipes-efl/efl/emotion-generic-players_1.13.0.bb b/meta-efl/recipes-efl/efl/emotion-generic-players_1.13.0.bb new file mode 100644 index 0000000000..e42c5163b7 --- /dev/null +++ b/meta-efl/recipes-efl/efl/emotion-generic-players_1.13.0.bb @@ -0,0 +1,8 @@ +require ${BPN}.inc + +SRC_URI = "\ + ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ +" + +SRC_URI[md5sum] = "36e5fc6a2bc83b1ab90c5c72b344f00e" +SRC_URI[sha256sum] = "23a3966d38cafece2c39d1e9904f26da11b9b282676f2d1fd8e54807251b363e" diff --git a/meta-efl/recipes-efl/efl/entrance_svn.bb b/meta-efl/recipes-efl/efl/entrance_svn.bb index 198fe03404..337473705d 100644 --- a/meta-efl/recipes-efl/efl/entrance_svn.bb +++ b/meta-efl/recipes-efl/efl/entrance_svn.bb @@ -11,6 +11,8 @@ SRC_URI = "${E_SVN}/trunk/PROTO;module=${SRCNAME};protocol=http;scmdata=keep \ " S = "${WORKDIR}/${SRCNAME}" +PNBLACKLIST[entrance] ?= "broken: switch to https://git.enlightenment.org/misc/entrance.git and fix 0.0.4+svnr82070-r7/entrance/data/themes/old/default.edc:678. invalid state name: 'defaault'. "default" state must always be first." + PACKAGECONFIG ??= "" PACKAGECONFIG[consolekit] = "--enable-consolekit,--disable-consolekit,consolekit" diff --git a/meta-efl/recipes-efl/efl/epdf_svn.bb b/meta-efl/recipes-efl/efl/epdf_svn.bb index 63e8436f69..e91eec5338 100644 --- a/meta-efl/recipes-efl/efl/epdf_svn.bb +++ b/meta-efl/recipes-efl/efl/epdf_svn.bb @@ -6,7 +6,7 @@ SRCREV = "${EFL_SRCREV}" inherit efl -LICENSE = "GPLv2 LGPLv3" +LICENSE = "GPLv2 & LGPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6 \ " diff --git a/meta-efl/recipes-efl/efl/evas-generic-loaders_1.11.0.bb b/meta-efl/recipes-efl/efl/evas-generic-loaders_1.11.0.bb deleted file mode 100644 index 0b98b11553..0000000000 --- a/meta-efl/recipes-efl/efl/evas-generic-loaders_1.11.0.bb +++ /dev/null @@ -1,8 +0,0 @@ -require ${BPN}.inc - -SRC_URI = "\ - ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ -" - -SRC_URI[md5sum] = "b99fd8dc1e79efacd4e212374a4f0668" -SRC_URI[sha256sum] = "4cf55717d75214d22e6c9955bd5b2e74656cc454f011496bac74ae3df6c924e2" diff --git a/meta-efl/recipes-efl/efl/evas-generic-loaders_1.13.0.bb b/meta-efl/recipes-efl/efl/evas-generic-loaders_1.13.0.bb new file mode 100644 index 0000000000..cae8df70f3 --- /dev/null +++ b/meta-efl/recipes-efl/efl/evas-generic-loaders_1.13.0.bb @@ -0,0 +1,8 @@ +require ${BPN}.inc + +SRC_URI = "\ + ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ +" + +SRC_URI[md5sum] = "45df9e4816ceba40219db0167c549e1e" +SRC_URI[sha256sum] = "c3bcb7d418b8cea79bbaf0731d008e527697b44239ff6b69064df785ca94df9b" diff --git a/meta-efl/recipes-efl/efl/expedite.inc b/meta-efl/recipes-efl/efl/expedite.inc index 30ba063069..60e85974cb 100644 --- a/meta-efl/recipes-efl/efl/expedite.inc +++ b/meta-efl/recipes-efl/efl/expedite.inc @@ -1,6 +1,6 @@ DESCRIPTION = "Expedite is a comprehensive benchmarking suite for Evas" DEPENDS = "eet evas libsdl" -LICENSE = "MIT BSD" +LICENSE = "MIT & BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=d70bc65d46237e4ef386beebe7d0fe5b" INC_PR = "r0" diff --git a/meta-efl/recipes-efl/efl/imlib2_git.bb b/meta-efl/recipes-efl/efl/imlib2_git.bb index 8c6ac66192..355b3341f6 100644 --- a/meta-efl/recipes-efl/efl/imlib2_git.bb +++ b/meta-efl/recipes-efl/efl/imlib2_git.bb @@ -1,5 +1,5 @@ SUMMARY = "A graphic library for file loading, saving, rendering, and manipulation" -LICENSE = "MIT BSD" +LICENSE = "MIT & BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35" DEPENDS = "freetype libpng jpeg virtual/libx11 libxext" diff --git a/meta-efl/recipes-efl/webkit/webkit-efl.inc b/meta-efl/recipes-efl/webkit/webkit-efl.inc index 44ef9d48f2..cf919ece93 100644 --- a/meta-efl/recipes-efl/webkit/webkit-efl.inc +++ b/meta-efl/recipes-efl/webkit/webkit-efl.inc @@ -1,8 +1,10 @@ DESCRIPTION = "Webkit browser engine, EFL edition" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://Source/WebKit/LICENSE;md5=4646f90082c40bcf298c285f8bab0b12 \ - file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \ - file://Source/WebKit/efl/ewk/EWebKit.h;endline=20;md5=55ea170b1582797d2c69712de850f2fa \ +LICENSE = "GPLv2+ & LGPL-2.1" +LIC_FILES_CHKSUM = " \ + file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \ + file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \ + file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \ + file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \ " # you need harfbuzz with icu enabled, you can add this to your config: @@ -10,18 +12,15 @@ LIC_FILES_CHKSUM = "file://Source/WebKit/LICENSE;md5=4646f90082c40bcf298c285f8ba DEPENDS = "icu libxslt sqlite3 gperf-native bison-native flex-native jpeg \ libpng libxt fontconfig cairo freetype glib-2.0 libsoup-2.4 \ libxml2 pango eina ecore evas edje eldbus harfbuzz enchant \ - ruby-native" + ruby-native elementary" +PE = "1" + +SRCVER ?= "${PV}" SRC_URI = "\ - ${E_RELEASES}/libs/webkit-efl/webkit-efl-164189.tar.xz \ - file://0001-WebKitHelpers.cmake-Add-Wno-error-cast-align.patch \ - file://0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch \ - file://0003-Fix-linking-issue.patch \ + ${E_RELEASES}/libs/webkit-efl/ewebkit-${SRCVER}.tar.xz \ " -SRC_URI[md5sum] = "731513fc042ec8e03840bc1ab6a66771" -SRC_URI[sha256sum] = "660aefd65c0e5c6494eaec30539cda5f40fbdff17f28e7e83d341b245227cccd" - -S = "${WORKDIR}/efl-webkit" +S = "${WORKDIR}/ewebkit" inherit cmake lib_package pkgconfig perlnative pythonnative @@ -60,8 +59,8 @@ COMPATIBLE_MACHINE_armv7a = "(.*)" LEAD_SONAME = "libewebkit.so" PACKAGES =+ "${PN}launcher-dbg ${PN}launcher ${PN}-inspector" -FILES_${PN} += "${datadir}/webkit-1.0/theme/default.edj ${datadir}/ewebkit-0/themes/default.edj" +FILES_${PN} += "${datadir}/ewebkit2-1/themes/default.edj" FILES_${PN}-dev += "${libdir}/cmake" FILES_${PN}launcher = "${bindir}/EWebLauncher" FILES_${PN}launcher-dbg = "${bindir}/.debug/EWebLauncher" -FILES_${PN}-inspector += "${datadir}/ewebkit-0/inspector" +FILES_${PN}-inspector += "${datadir}/ewebkit2-1/inspector" diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch new file mode 100644 index 0000000000..19b7bb88dc --- /dev/null +++ b/meta-efl/recipes-efl/webkit/webkit-efl/0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch @@ -0,0 +1,46 @@ +From e6caaf6e80b9c80dc2b860b471a8f05e825f6dfa Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Thu, 14 Aug 2014 01:00:21 +0200 +Subject: [PATCH 1/3] OptionsCommon.cmake: don't mix CXX_FLAGS into C_FLAGS + +* it was added in https://bugs.webkit.org/show_bug.cgi?id=130261 +* causes build failures in udis86 which explicitly asks for gcc but then + gets g++ flags from CMAKE_CXX_FLAGS. + +cc1: error: command line option '-fvisibility-inlines-hidden' is valid +for C++/ObjC++ but not for C [-Werror] +cc1: error: command line option '-fpermissive' is valid for C++/ObjC++ +but not for C [-Werror] +cc1: all warnings being treated as errors +Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/build.make:11182: +recipe for target +'Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/udis86/udis86.c.o' +failed +make[2]: *** +[Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/udis86/udis86.c.o] +Error 1 +make[2]: *** Waiting for unfinished jobs.... +make[2]: Leaving directory +'/OE/build/oe-core/tmp-eglibc/work/core2-64-oe-linux/webkit-efl/1_1.10.0+1.11.0-beta1-r0/build' + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + Source/cmake/OptionsCommon.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake +index e304a99..045c614 100644 +--- a/Source/cmake/OptionsCommon.cmake ++++ b/Source/cmake/OptionsCommon.cmake +@@ -25,7 +25,7 @@ endif () + set_property(GLOBAL PROPERTY USE_FOLDERS ON) + + if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") +- set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-strict-aliasing") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-exceptions -fno-strict-aliasing") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-exceptions -fno-strict-aliasing -fno-rtti") + endif () + +-- +2.1.3 + diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0001-WebKitHelpers.cmake-Add-Wno-error-cast-align.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0001-WebKitHelpers.cmake-Add-Wno-error-cast-align.patch deleted file mode 100644 index c769c7fbbf..0000000000 --- a/meta-efl/recipes-efl/webkit/webkit-efl/0001-WebKitHelpers.cmake-Add-Wno-error-cast-align.patch +++ /dev/null @@ -1,30 +0,0 @@ -From b37711ca03ea9410e795f29398069fed9e9c2d30 Mon Sep 17 00:00:00 2001 -From: Martin Jansa <Martin.Jansa@gmail.com> -Date: Mon, 13 Jan 2014 17:21:25 +0100 -Subject: [PATCH 1/3] WebKitHelpers.cmake: Add -Wno-error=cast-align - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> ---- - Source/cmake/WebKitHelpers.cmake | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/Source/cmake/WebKitHelpers.cmake b/Source/cmake/WebKitHelpers.cmake -index 409931c..345b346 100644 ---- a/Source/cmake/WebKitHelpers.cmake -+++ b/Source/cmake/WebKitHelpers.cmake -@@ -44,7 +44,11 @@ macro(WEBKIT_SET_EXTRA_COMPILER_FLAGS _target) - - # Enable errors on warning - if (OPTION_ENABLE_WERROR) -- set(OLD_COMPILE_FLAGS "-Werror -Wno-error=unused-parameter ${OLD_COMPILE_FLAGS}") -+ # FIXME: When we use -fno-tree-dce to support the jsCStack branch merge, build error occurs due to the uninitialization. Temporarily we set -+ # uninitialized as build warning in order to support the jsCStack merge. https://bugs.webkit.org/show_bug.cgi?id=127777. -+ set(OLD_COMPILE_FLAGS "-Werror -Wno-error=unused-parameter -Wno-error=uninitialized ${OLD_COMPILE_FLAGS}") -+ # | /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/webkit-efl/2.3.2+svnr159807-r0/webkit-efl/Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp:161:104: error: cast from 'uint8_t* {aka unsigned char*}' to 'JSC::FloatTypedArrayAdaptor<double, JSC::GenericTypedArrayView<JSC::Float64Adaptor>, JSC::JSGenericTypedArrayView<JSC::Float64Adaptor>, (JSC::TypedArrayType)9u>::Type* {aka double*}' increases required alignment of target type [-Werror=cast-align] -+ set(OLD_COMPILE_FLAGS "-Wno-error=cast-align -Wno-error=array-bounds -Wno-error=deprecated-declarations ${OLD_COMPILE_FLAGS}") - endif () - - set_target_properties(${_target} PROPERTIES --- -1.9.0 - diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch deleted file mode 100644 index 9f005bcd33..0000000000 --- a/meta-efl/recipes-efl/webkit/webkit-efl/0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch +++ /dev/null @@ -1,80 +0,0 @@ -From e284e92da00011e55d8f79383034e0c9c1a8a106 Mon Sep 17 00:00:00 2001 -From: Martin Jansa <Martin.Jansa@gmail.com> -Date: Thu, 27 Feb 2014 13:40:43 +0100 -Subject: [PATCH 2/3] ARMAssembler.h: Don't generate BKPT and BLX for armv4* - -* I haven't tested it in runtime yet, but it's better than to wait for asm failure later: - {standard input}: Assembler messages: - {standard input}:35: Error: selected processor does not support ARM mode `bkpt #0' - {standard input}:62: Error: selected processor does not support ARM mode `blx llint_throw_stack_overflow_error' - ... - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> ---- - Source/JavaScriptCore/assembler/ARMAssembler.h | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -diff --git a/Source/JavaScriptCore/assembler/ARMAssembler.h b/Source/JavaScriptCore/assembler/ARMAssembler.h -index 087d31c..1b40ded 100644 ---- a/Source/JavaScriptCore/assembler/ARMAssembler.h -+++ b/Source/JavaScriptCore/assembler/ARMAssembler.h -@@ -211,7 +211,9 @@ namespace JSC { - LDMIA = 0x08b00000, - B = 0x0a000000, - BL = 0x0b000000, -+#if WTF_ARM_ARCH_AT_LEAST(5) - BX = 0x012fff10, -+#endif - VMOV_VFP64 = 0x0c400a10, - VMOV_ARM64 = 0x0c500a10, - VMOV_VFP32 = 0x0e000a10, -@@ -223,8 +225,10 @@ namespace JSC { - VCVT_F64_F32 = 0x0eb70ac0, - VMRS_APSR = 0x0ef1fa10, - CLZ = 0x016f0f10, -+#if WTF_ARM_ARCH_AT_LEAST(5) - BKPT = 0xe1200070, - BLX = 0x012fff30, -+#endif - #if WTF_ARM_ARCH_AT_LEAST(7) - MOVW = 0x03000000, - MOVT = 0x03400000, -@@ -689,7 +693,11 @@ namespace JSC { - - void bkpt(ARMWord value) - { -+#if WTF_ARM_ARCH_AT_LEAST(5) - m_buffer.putInt(BKPT | ((value & 0xff0) << 4) | (value & 0xf)); -+#else -+ // BKPT is available in ARMv5T and above, skip it here -+#endif - } - - void nop() -@@ -704,12 +712,23 @@ namespace JSC { - - void bx(int rm, Condition cc = AL) - { -+#if WTF_ARM_ARCH_AT_LEAST(5) - emitInstruction(toARMWord(cc) | BX, 0, 0, RM(rm)); -+#else -+ // BX is available in ARMv5T and above. -+ emitInstruction(toARMWord(cc) | MOV, ARMRegisters::pc, ARMRegisters::lr, 0); -+#endif - } - - AssemblerLabel blx(int rm, Condition cc = AL) - { -+#if WTF_ARM_ARCH_AT_LEAST(5) - emitInstruction(toARMWord(cc) | BLX, 0, 0, RM(rm)); -+#else -+ // BLX is available in ARMv5T and above. -+ emitInstruction(toARMWord(cc) | MOV, ARMRegisters::lr, ARMRegisters::pc, 0); -+ emitInstruction(toARMWord(cc) | MOV, ARMRegisters::pc, RM(rm), 0); -+#endif - return m_buffer.label(); - } - --- -1.9.0 - diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch new file mode 100644 index 0000000000..9386e703de --- /dev/null +++ b/meta-efl/recipes-efl/webkit/webkit-efl/0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch @@ -0,0 +1,36 @@ +From de93951f89e851b6689718022eebb4b8b1d14c06 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Mon, 13 Jan 2014 17:21:25 +0100 +Subject: [PATCH 2/3] WebKitHelpers.cmake: Add + -Wno-error=deprecated-declarations -Wno-error=cast-align + -Wno-error=type-limits + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + Source/cmake/WebKitHelpers.cmake | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/Source/cmake/WebKitHelpers.cmake b/Source/cmake/WebKitHelpers.cmake +index 227b9ee..ae52ef6 100644 +--- a/Source/cmake/WebKitHelpers.cmake ++++ b/Source/cmake/WebKitHelpers.cmake +@@ -40,6 +40,16 @@ macro(WEBKIT_SET_EXTRA_COMPILER_FLAGS _target) + # FIXME: When we use -fno-tree-dce to support the jsCStack branch merge, build error occurs due to the uninitialization. Temporarily we set + # uninitialized as build warning in order to support the jsCStack merge. https://bugs.webkit.org/show_bug.cgi?id=127777. + set(OLD_COMPILE_FLAGS "-Werror -Wno-error=unused-parameter -Wno-error=uninitialized -Wno-error=literal-suffix ${OLD_COMPILE_FLAGS}") ++ # libsoup-2.4/libsoup/soup-proxy-uri-resolver.h:13:84: error: 'GType soup_proxy_uri_resolver_get_type()' is deprecated (declared at /OE/build/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/include/libsoup-2.4/libsoup/soup-proxy-uri-resolver.h:48) [-Werror=deprecated-declarations] ++ set(OLD_COMPILE_FLAGS "-Wno-error=deprecated-declarations ${OLD_COMPILE_FLAGS}") ++ # webkit-efl/1_1.10.0+1.11.0-beta1-r0/ewebkit/Source/WTF/wtf/text/StringImpl.h:742:87: error: cast from 'uint8_t* {aka unsigned char*}' to 'WTF::StringImpl**' increases required alignment of target type [-Werror=cast-align] ++ set(OLD_COMPILE_FLAGS "-Wno-error=cast-align ${OLD_COMPILE_FLAGS}") ++ # webkit-efl/1_1.10.0+1.11.0-beta1-r0/ewebkit/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp:70:16: error: comparison is always false due to limited range of data type [-Werror=type-limits] ++ set(OLD_COMPILE_FLAGS "-Wno-error=type-limits ${OLD_COMPILE_FLAGS}") ++ # webkit-efl/1_1.11.0-r0/ewebkit/Source/WebKit2/UIProcess/API/efl/EwkView.cpp:832:5: error: missing initializer for member '_Evas_GL_Config::gles_version' [-Werror=missing-field-initializers] ++ # this one is new with efl-1.12 ++ set(OLD_COMPILE_FLAGS "-Wno-error=missing-field-initializers ${OLD_COMPILE_FLAGS}") ++ + endif () + + set_target_properties(${_target} PROPERTIES +-- +2.1.3 + diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0003-FEBlendNEON.h-fix-missing-semicolon.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0003-FEBlendNEON.h-fix-missing-semicolon.patch new file mode 100644 index 0000000000..e718ee1c12 --- /dev/null +++ b/meta-efl/recipes-efl/webkit/webkit-efl/0003-FEBlendNEON.h-fix-missing-semicolon.patch @@ -0,0 +1,35 @@ +From a076d76b8e8862bd641cd991190e82cfd478cc66 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Wed, 20 Aug 2014 00:52:03 +0200 +Subject: [PATCH 3/3] FEBlendNEON.h: fix missing semicolon + +* Otherwise fails with: +In file included from ewebkit/Source/WebCore/platform/graphics/filters/FEBlend.cpp:29:0: +ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h: In member function 'virtual void WebCore::FEBlend::platformApplySoftware()': +ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h:130:5: error: expected primary-expression before '}' token + } + ^ +ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h:130:5: error: return-statement with a value, in function returning 'void' [-fpermissive] +ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h:130:5: error: expected ';' before '}' token + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h b/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h +index 1c50765..f4b6f46 100644 +--- a/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h ++++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h +@@ -126,7 +126,7 @@ void FEBlend::platformApplySoftware() + + if (pixelArrayLength >= 8) { + platformApplyNEON(srcPixelArrayA->data(), srcPixelArrayB->data(), dstPixelArray->data(), pixelArrayLength); +- return ++ return; + } + // If there is just one pixel we expand it to two. + ASSERT(pixelArrayLength > 0); +-- +2.1.3 + diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0003-Fix-linking-issue.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0003-Fix-linking-issue.patch deleted file mode 100644 index ce1c6872d0..0000000000 --- a/meta-efl/recipes-efl/webkit/webkit-efl/0003-Fix-linking-issue.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 09088da56f3de17ab1cc537627cda6bf808eaf4c Mon Sep 17 00:00:00 2001 -From: Martin Jansa <Martin.Jansa@gmail.com> -Date: Thu, 27 Feb 2014 14:17:29 +0100 -Subject: [PATCH 3/3] Fix linking issue - -* inline function is sometimes not included soon enough - - Partialy taken from: - https://bugs.webkit.org/show_bug.cgi?id=124152 - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> ---- - Source/JavaScriptCore/llint/LLIntEntrypoint.cpp | 3 +++ - Source/JavaScriptCore/runtime/FunctionExecutableDump.cpp | 3 +++ - Source/JavaScriptCore/runtime/SymbolTable.cpp | 4 ++++ - 3 files changed, 10 insertions(+) - -diff --git a/Source/JavaScriptCore/llint/LLIntEntrypoint.cpp b/Source/JavaScriptCore/llint/LLIntEntrypoint.cpp -index 5d91be6..73cba31 100644 ---- a/Source/JavaScriptCore/llint/LLIntEntrypoint.cpp -+++ b/Source/JavaScriptCore/llint/LLIntEntrypoint.cpp -@@ -31,6 +31,9 @@ - #include "CodeBlock.h" - #include "JITCode.h" - #include "JSObject.h" -+#include "JSCellInlines.h" -+#include "JSDestructibleObject.h" -+#include "SlotVisitorInlines.h" - #include "LLIntThunks.h" - #include "LowLevelInterpreter.h" - #include "MaxFrameExtentForSlowPathCall.h" -diff --git a/Source/JavaScriptCore/runtime/FunctionExecutableDump.cpp b/Source/JavaScriptCore/runtime/FunctionExecutableDump.cpp -index d0583fc..4be5ec3 100644 ---- a/Source/JavaScriptCore/runtime/FunctionExecutableDump.cpp -+++ b/Source/JavaScriptCore/runtime/FunctionExecutableDump.cpp -@@ -25,6 +25,9 @@ - - #include "config.h" - #include "FunctionExecutableDump.h" -+#include "JSCellInlines.h" -+#include "JSDestructibleObject.h" -+#include "SlotVisitorInlines.h" - - #include "CodeBlock.h" - -diff --git a/Source/JavaScriptCore/runtime/SymbolTable.cpp b/Source/JavaScriptCore/runtime/SymbolTable.cpp -index 6eb0239..21450df 100644 ---- a/Source/JavaScriptCore/runtime/SymbolTable.cpp -+++ b/Source/JavaScriptCore/runtime/SymbolTable.cpp -@@ -33,6 +33,10 @@ - #include "JSCInlines.h" - #include "SlotVisitorInlines.h" - -+#include "JSCellInlines.h" -+#include "JSDestructibleObject.h" -+#include "SlotVisitorInlines.h" -+ - namespace JSC { - - const ClassInfo SymbolTable::s_info = { "SymbolTable", 0, 0, 0, CREATE_METHOD_TABLE(SymbolTable) }; --- -1.9.0 - diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch new file mode 100644 index 0000000000..bfa3052b1a --- /dev/null +++ b/meta-efl/recipes-efl/webkit/webkit-efl/0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch @@ -0,0 +1,146 @@ +From baebc004111289ef658c78a42f8332f3dceef41e Mon Sep 17 00:00:00 2001 +From: "ryuan.choi@navercorp.com" <ryuan.choi@navercorp.com> +Date: Thu, 13 Nov 2014 07:07:16 +0000 +Subject: [PATCH 4/4] Fix the build with EFL 1.12 + https://bugs.webkit.org/show_bug.cgi?id=138245 + +Reviewed by Gyuyoung Kim. + +Source/WebKit2: + +* UIProcess/API/efl/EwkView.cpp: +First, modified to use Evas_GL raw pointer instead of UniquePtrEfl because +Evas_GL.h can't be included in UniquePtrEfl.h +It should be moved into EvasGLContext because WebKit/EFL use only one Evas_GL. +Second, provided the version of GLES in Evas_GL_Config not to break build with +EFL 1.12 +(EwkView::EwkView): +(EwkView::~EwkView): +(EwkView::displayTimerFired): +(EwkView::createGLSurface): +* UIProcess/API/efl/EwkView.h: + +Source/WTF: + +* wtf/efl/UniquePtrEfl.h: +Removed Evas_GL.h from UniquePtrEfl.h, which is commonly included, because +it should not be included with official GL headers. + +git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176066 268f45cc-cd09-0410-ab3c-d52691b4dbfc +--- + Source/WTF/wtf/efl/UniquePtrEfl.h | 2 -- + Source/WebKit2/UIProcess/API/efl/EwkView.cpp | 24 ++++++++++++++++-------- + Source/WebKit2/UIProcess/API/efl/EwkView.h | 3 ++- + 3 files changed, 18 insertions(+), 11 deletions(-) + +diff --git a/Source/WTF/wtf/efl/UniquePtrEfl.h b/Source/WTF/wtf/efl/UniquePtrEfl.h +index ba0110a..038d3fb 100644 +--- a/Source/WTF/wtf/efl/UniquePtrEfl.h ++++ b/Source/WTF/wtf/efl/UniquePtrEfl.h +@@ -33,7 +33,6 @@ + #include <Ecore_IMF.h> + #include <Eina.h> + #include <Evas.h> +-#include <Evas_GL.h> + + namespace WTF { + +@@ -51,7 +50,6 @@ using EflUniquePtr = std::unique_ptr<T, EflPtrDeleter<T>>; + macro(Eina_Hash, eina_hash_free) \ + macro(Eina_Module, eina_module_free) \ + macro(Evas_Object, evas_object_del) \ +- macro(Evas_GL, evas_gl_free) + + #define WTF_DEFINE_EFLPTR_DELETER(typeName, deleterFunc) \ + template<> struct EflPtrDeleter<typeName> \ +diff --git a/Source/WebKit2/UIProcess/API/efl/EwkView.cpp b/Source/WebKit2/UIProcess/API/efl/EwkView.cpp +index 50d34ed..6ff3394 100755 +--- a/Source/WebKit2/UIProcess/API/efl/EwkView.cpp ++++ b/Source/WebKit2/UIProcess/API/efl/EwkView.cpp +@@ -299,9 +299,11 @@ EwkView::EwkView(WKViewRef view, Evas_Object* evasObject) + + // FIXME: Remove when possible. + static_cast<WebViewEfl*>(webView())->setEwkView(this); +- m_evasGL = EflUniquePtr<Evas_GL>(evas_gl_new(evas_object_evas_get(m_evasObject))); ++ ++ // FIXME: Consider it to move into EvasGLContext. ++ m_evasGL = evas_gl_new(evas_object_evas_get(m_evasObject)); + if (m_evasGL) +- m_evasGLContext = EvasGLContext::create(m_evasGL.get()); ++ m_evasGLContext = EvasGLContext::create(m_evasGL); + + if (!m_evasGLContext) { + WARN("Failed to create Evas_GL, falling back to software mode."); +@@ -333,6 +335,9 @@ EwkView::~EwkView() + { + ASSERT(wkPageToEvasObjectMap().get(wkPage()) == m_evasObject); + wkPageToEvasObjectMap().remove(wkPage()); ++ ++ if (m_evasGL) ++ evas_gl_free(m_evasGL); + } + + EwkView* EwkView::create(WKViewRef webView, Evas* canvas, Evas_Smart* smart) +@@ -587,7 +592,7 @@ void EwkView::displayTimerFired(Timer<EwkView>*) + return; + } + +- evas_gl_make_current(m_evasGL.get(), m_evasGLSurface->surface(), m_evasGLContext->context()); ++ evas_gl_make_current(m_evasGL, m_evasGLSurface->surface(), m_evasGLContext->context()); + + WKViewPaintToCurrentGLContext(wkView()); + +@@ -828,21 +833,24 @@ bool EwkView::createGLSurface() + EVAS_GL_DEPTH_BIT_8, + EVAS_GL_STENCIL_NONE, + EVAS_GL_OPTIONS_NONE, +- EVAS_GL_MULTISAMPLE_NONE ++ EVAS_GL_MULTISAMPLE_NONE, ++#if defined(EVAS_GL_API_VERSION) && EVAS_GL_API_VERSION >= 2 ++ EVAS_GL_GLES_2_X ++#endif + }; + + // Recreate to current size: Replaces if non-null, and frees existing surface after (OwnPtr). +- m_evasGLSurface = EvasGLSurface::create(m_evasGL.get(), &evasGLConfig, deviceSize()); ++ m_evasGLSurface = EvasGLSurface::create(m_evasGL, &evasGLConfig, deviceSize()); + if (!m_evasGLSurface) + return false; + + Evas_Native_Surface nativeSurface; +- evas_gl_native_surface_get(m_evasGL.get(), m_evasGLSurface->surface(), &nativeSurface); ++ evas_gl_native_surface_get(m_evasGL, m_evasGLSurface->surface(), &nativeSurface); + evas_object_image_native_surface_set(smartData()->image, &nativeSurface); + +- evas_gl_make_current(m_evasGL.get(), m_evasGLSurface->surface(), m_evasGLContext->context()); ++ evas_gl_make_current(m_evasGL, m_evasGLSurface->surface(), m_evasGLContext->context()); + +- Evas_GL_API* gl = evas_gl_api_get(m_evasGL.get()); ++ Evas_GL_API* gl = evas_gl_api_get(m_evasGL); + + WKPoint boundsEnd = WKViewUserViewportToScene(wkView(), WKPointMake(deviceSize().width(), deviceSize().height())); + gl->glViewport(0, 0, boundsEnd.x, boundsEnd.y); +diff --git a/Source/WebKit2/UIProcess/API/efl/EwkView.h b/Source/WebKit2/UIProcess/API/efl/EwkView.h +index 1c482cf..68dab87 100644 +--- a/Source/WebKit2/UIProcess/API/efl/EwkView.h ++++ b/Source/WebKit2/UIProcess/API/efl/EwkView.h +@@ -39,6 +39,7 @@ + #endif + + typedef struct _cairo_surface cairo_surface_t; ++typedef struct _Evas_GL Evas_GL; + + namespace WebKit { + class ContextMenuClientEfl; +@@ -241,7 +242,7 @@ private: + Evas_Object* m_evasObject; + RefPtr<EwkContext> m_context; + RefPtr<EwkPageGroup> m_pageGroup; +- EflUniquePtr<Evas_GL> m_evasGL; ++ Evas_GL* m_evasGL; + std::unique_ptr<WebCore::EvasGLContext> m_evasGLContext; + std::unique_ptr<WebCore::EvasGLSurface> m_evasGLSurface; + bool m_pendingSurfaceResize; +-- +2.1.3 + diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/0004-WebMemorySamplerLinux-Fix-type-limits-warning.patch b/meta-efl/recipes-efl/webkit/webkit-efl/0004-WebMemorySamplerLinux-Fix-type-limits-warning.patch deleted file mode 100644 index f30987ba30..0000000000 --- a/meta-efl/recipes-efl/webkit/webkit-efl/0004-WebMemorySamplerLinux-Fix-type-limits-warning.patch +++ /dev/null @@ -1,32 +0,0 @@ -From ed7972510df191d9fabe7aff2f688cbc45f0c955 Mon Sep 17 00:00:00 2001 -From: Martin Jansa <Martin.Jansa@gmail.com> -Date: Sun, 20 Jul 2014 10:52:17 +0200 -Subject: [PATCH] WebMemorySamplerLinux: Fix type-limits warning - -* otherwise it fails with: - webkit-efl/2.3.4+svnr164189-r0/efl-webkit/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp:70:16: - error: comparison is always false due to limited range of data type [-Werror=type-limits] - | if (ch == EOF || (isASCIISpace(ch) && index)) // Break on non-initial ASCII space. - | ^ - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> ---- - Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp b/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp -index 7cb70d4..6bb78d8 100644 ---- a/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp -+++ b/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp -@@ -67,7 +67,7 @@ static inline String nextToken(FILE* file) - unsigned int index = 0; - while (index < maxBuffer) { - char ch = fgetc(file); -- if (ch == EOF || (isASCIISpace(ch) && index)) // Break on non-initial ASCII space. -+ if (isASCIISpace(ch) && index) // Break on non-initial ASCII space. - break; - if (!isASCIISpace(ch)) { - buffer[index] = ch; --- -2.0.0 - diff --git a/meta-efl/recipes-efl/webkit/webkit-efl/CMakeLists.txt b/meta-efl/recipes-efl/webkit/webkit-efl/CMakeLists.txt deleted file mode 100644 index 8071d61f97..0000000000 --- a/meta-efl/recipes-efl/webkit/webkit-efl/CMakeLists.txt +++ /dev/null @@ -1,166 +0,0 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.8) -PROJECT(WebKit) - -# Set a default build type if and only if user did not define one as command -# line options and he did not give custom CFLAGS or CXXFLAGS. Otherwise, flags -# from default build type would overwrite user-defined ones. -IF (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_C_FLAGS AND NOT CMAKE_CXX_FLAGS) - SET(CMAKE_BUILD_TYPE Release) -ENDIF () - -# ----------------------------------------------------------------------------- -# Default library type -# ----------------------------------------------------------------------------- -SET(ENABLE_WEBCORE ON) - -IF (NOT ENABLE_WEBKIT AND NOT ENABLE_WEBKIT2) - SET(ENABLE_WEBKIT ON) -ENDIF () - -SET(ENABLE_TOOLS ON) - -SET(WTF_DIR "${CMAKE_SOURCE_DIR}/Source/WTF") -SET(JAVASCRIPTCORE_DIR "${CMAKE_SOURCE_DIR}/Source/JavaScriptCore") -SET(WEBCORE_DIR "${CMAKE_SOURCE_DIR}/Source/WebCore") -SET(WEBKIT_DIR "${CMAKE_SOURCE_DIR}/Source/WebKit") -SET(WEBKIT2_DIR "${CMAKE_SOURCE_DIR}/Source/WebKit2") -SET(THIRDPARTY_DIR "${CMAKE_SOURCE_DIR}/Source/ThirdParty") - -SET(TOOLS_DIR "${CMAKE_SOURCE_DIR}/Tools") - -SET(DERIVED_SOURCES_DIR "${CMAKE_BINARY_DIR}/DerivedSources") -SET(DERIVED_SOURCES_JAVASCRIPTCORE_DIR "${CMAKE_BINARY_DIR}/DerivedSources/JavaScriptCore") -SET(DERIVED_SOURCES_WEBCORE_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WebCore") -SET(DERIVED_SOURCES_WEBKIT_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WebKit") -SET(DERIVED_SOURCES_WEBKIT2_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WebKit2") - -SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/Source/cmake") - -SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) -SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) -SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) - -INCLUDE(WebKitMacros) -INCLUDE(WebKitFS) -INCLUDE(WebKitHelpers) -INCLUDE(WebKitFeatures) - -# ----------------------------------------------------------------------------- -# Determine which port will be built -# ----------------------------------------------------------------------------- -SET(ALL_PORTS Efl WinCE BlackBerry) -SET(PORT "NOPORT" CACHE STRING "choose which WebKit port to build (one of ${ALL_PORTS})") - -LIST(FIND ALL_PORTS ${PORT} RET) -IF (${RET} EQUAL -1) - MESSAGE(FATAL_ERROR "Please choose which WebKit port to build (one of ${ALL_PORTS})") -ENDIF () - -STRING(TOLOWER ${PORT} WEBKIT_PORT_DIR) - -# ----------------------------------------------------------------------------- -# Find common packages (used by all ports) -# ----------------------------------------------------------------------------- -FIND_PACKAGE(BISON REQUIRED) -FIND_PACKAGE(FLEX REQUIRED) -FIND_PACKAGE(Gperf REQUIRED) -FIND_PACKAGE(Perl REQUIRED) -FIND_PACKAGE(PythonInterp REQUIRED) - -# ----------------------------------------------------------------------------- -# Determine the target processor -# ----------------------------------------------------------------------------- -STRING(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} LOWERCASE_CMAKE_SYSTEM_PROCESSOR) -IF (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^arm") - SET(WTF_CPU_ARM 1) -ELSEIF (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^mips") - SET(WTF_CPU_MIPS 1) -ELSEIF (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|amd64)") - SET(WTF_CPU_X86_64 1) -ELSEIF (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(i[3-6]86|x86)") - SET(WTF_CPU_X86 1) -ELSE () - MESSAGE(FATAL_ERROR "Unknown CPU '${CMAKE_SYSTEM_PROCESSOR}'") -ENDIF () - -# ----------------------------------------------------------------------------- -# Determine the operating system -# ----------------------------------------------------------------------------- -IF (UNIX) - IF (APPLE) - SET(WTF_OS_MAC_OS_X 1) - ELSE () - SET(WTF_OS_UNIX 1) - ENDIF () -ELSEIF (CMAKE_SYSTEM_NAME MATCHES "Windows") - SET(WTF_OS_WINDOWS 1) -ELSEIF (CMAKE_SYSTEM_NAME MATCHES "QNX") - SET(WTF_OS_QNX 1) - SET(WTF_OS_UNIX 1) -ELSE () - MESSAGE(FATAL_ERROR "Unknown OS '${CMAKE_SYSTEM_NAME}'") -ENDIF () - -# ----------------------------------------------------------------------------- -# Default target names (can be overrriden in Options${PORT}.cmake file) -# ----------------------------------------------------------------------------- -SET(JSC_EXECUTABLE_NAME JSC) -SET(WTF_LIBRARY_NAME WTF) -SET(JavaScriptCore_LIBRARY_NAME JavaScriptCore) -SET(WebCore_LIBRARY_NAME WebCore) -SET(WebKit_LIBRARY_NAME WebKit) -SET(WebKit2_LIBRARY_NAME WebKit2) -SET(WebCoreTestSupport_LIBRARY_NAME WebCoreTestSupport) - -# ----------------------------------------------------------------------------- -# Default library types -# ----------------------------------------------------------------------------- -OPTION(SHARED_CORE "build JavaScriptCore and WebCore as shared libraries") - -IF (SHARED_CORE) - SET(JavaScriptCore_LIBRARY_TYPE SHARED) - SET(WebCore_LIBRARY_TYPE SHARED) -ELSE () - SET(JavaScriptCore_LIBRARY_TYPE STATIC) - SET(WebCore_LIBRARY_TYPE STATIC) -ENDIF () - -SET(WebKit_LIBRARY_TYPE SHARED) -SET(WebKit2_LIBRARY_TYPE SHARED) -SET(WebCoreTestSupport_LIBRARY_TYPE STATIC) - -# ----------------------------------------------------------------------------- -# Port-specific options -# ----------------------------------------------------------------------------- -INCLUDE(OptionsCommon) -INCLUDE(Options${PORT}) - -# ----------------------------------------------------------------------------- -# Enable API unit tests and create a target for the test runner -# ----------------------------------------------------------------------------- -IF (ENABLE_API_TESTS) - ENABLE_TESTING() -ENDIF () - -# ----------------------------------------------------------------------------- -# Install JavaScript shell -# ----------------------------------------------------------------------------- -OPTION(SHOULD_INSTALL_JS_SHELL "generate an installation rule to install the built JavaScript shell") - -# ----------------------------------------------------------------------------- -# Define packaging -# ----------------------------------------------------------------------------- -INCLUDE(WebKitPackaging) - -# ----------------------------------------------------------------------------- -# Add module directories -# ----------------------------------------------------------------------------- -ADD_SUBDIRECTORY(Source) - -# ----------------------------------------------------------------------------- -# Add tools -# ----------------------------------------------------------------------------- -IF (ENABLE_TOOLS) - ADD_SUBDIRECTORY(Tools) -ENDIF () - diff --git a/meta-efl/recipes-efl/webkit/webkit-efl_1.11.0.bb b/meta-efl/recipes-efl/webkit/webkit-efl_1.11.0.bb new file mode 100644 index 0000000000..068c0d9778 --- /dev/null +++ b/meta-efl/recipes-efl/webkit/webkit-efl_1.11.0.bb @@ -0,0 +1,10 @@ +require ${BPN}.inc + +SRC_URI += "\ + file://0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch \ + file://0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch \ + file://0003-FEBlendNEON.h-fix-missing-semicolon.patch \ + file://0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch \ +" +SRC_URI[md5sum] = "90fa970ebf8646319d292c2bb5bff5db" +SRC_URI[sha256sum] = "d8d21e27f4a21cd77c41914548c184ddb98693ba23851aa66c8e51c0be4b90b7" diff --git a/meta-efl/recipes-efl/webkit/webkit-efl_2.3.4+svnr164189.bb b/meta-efl/recipes-efl/webkit/webkit-efl_2.3.4+svnr164189.bb deleted file mode 100644 index 748ecea11c..0000000000 --- a/meta-efl/recipes-efl/webkit/webkit-efl_2.3.4+svnr164189.bb +++ /dev/null @@ -1,13 +0,0 @@ -require ${BPN}.inc - -SRC_URI = "\ - ${E_RELEASES}/libs/webkit-efl/webkit-efl-164189.tar.xz \ - file://0001-WebKitHelpers.cmake-Add-Wno-error-cast-align.patch \ - file://0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch \ - file://0003-Fix-linking-issue.patch \ - file://0004-WebMemorySamplerLinux-Fix-type-limits-warning.patch \ -" -SRC_URI[md5sum] = "731513fc042ec8e03840bc1ab6a66771" -SRC_URI[sha256sum] = "660aefd65c0e5c6494eaec30539cda5f40fbdff17f28e7e83d341b245227cccd" - -S = "${WORKDIR}/efl-webkit" diff --git a/meta-efl/recipes-efl/webkit/webkit-efl_svn.bb b/meta-efl/recipes-efl/webkit/webkit-efl_svn.bb deleted file mode 100644 index e50139c8de..0000000000 --- a/meta-efl/recipes-efl/webkit/webkit-efl_svn.bb +++ /dev/null @@ -1,22 +0,0 @@ -require ${BPN}.inc - -SRCREV = "164189" -PV = "2.3.4+svnr${SRCPV}" - -SRCREV_FORMAT = "source" - -SRC_URI = "\ - svn://svn.webkit.org/repository/webkit/trunk;module=Source;name=source;protocol=http;subdir=src \ - svn://svn.webkit.org/repository/webkit/trunk/;module=WebKitLibraries;protocol=http;subdir=src \ - svn://svn.webkit.org/repository/webkit/trunk/;module=Tools;protocol=http;subdir=src \ - file://CMakeLists.txt \ - file://0001-WebKitHelpers.cmake-Add-Wno-error-cast-align.patch \ - file://0002-ARMAssembler.h-Don-t-generate-BKPT-and-BLX-for-armv4.patch \ - file://0003-Fix-linking-issue.patch \ -" - -S = "${WORKDIR}/src" - -do_configure_prepend() { - cp ${WORKDIR}/CMakeLists.txt ${S}; -} diff --git a/meta-filesystems/conf/layer.conf b/meta-filesystems/conf/layer.conf index c0bbd78216..9ed6d1b739 100644 --- a/meta-filesystems/conf/layer.conf +++ b/meta-filesystems/conf/layer.conf @@ -8,3 +8,9 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "filesystems-layer" BBFILE_PATTERN_filesystems-layer = "^${LAYERDIR}/" BBFILE_PRIORITY_filesystems-layer = "6" + +# This should only be incremented on significant changes that will +# cause compatibility issues with other layers +LAYERVERSION_filesystems-layer = "1" + +LAYERDEPENDS_filesystems-layer = "core openembedded-layer" diff --git a/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.0.1.bb b/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.1.0.bb index f984c4bb77..6a83ab25bb 100644 --- a/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.0.1.bb +++ b/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.1.0.bb @@ -1,12 +1,12 @@ SUMMARY = "read and write exFAT driver for FUSE" DESCRIPTION = "fuse-exfat is a read and write driver implementing the \ extended file allocation table as a filesystem in userspace. A mounthelper \ -is provided unter the name mount.exfat-fuse. \ +is provided under the name mount.exfat-fuse. \ " HOMEPAGE = "http://code.google.com/p/exfat/" SECTION = "universe/otherosfs" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "${DEBIAN_MIRROR}/main/f/fuse-exfat/fuse-exfat_${PV}.orig.tar.gz \ " DEPENDS = "fuse virtual/libc" @@ -14,11 +14,11 @@ RRECOMMENDS_${PN} = "util-linux-mount" inherit scons -SRC_URI[md5sum] = "7988a5111841593231f20af22153362d" -SRC_URI[sha256sum] = "12ac1ba1b7d4343bef64e7898176705a41cfe3b5a7a179e28549d242e2854758" +SRC_URI[md5sum] = "b2a23c032661cb1c1da4514e7af33916" +SRC_URI[sha256sum] = "198c520e417e955dc5c08687c278e63eefa56719da4452aa4a605be0327f953e" EXTRA_OESCONS = " \ - DESTDIR=${D}/${base_sbindir} \ + CCFLAGS='${CCFLAGS} -std=c99' DESTDIR=${D}/${base_sbindir} \ " do_install_prepend() { diff --git a/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.2.bb b/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.2.bb index 9a26642bb1..42f4c872bd 100644 --- a/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.2.bb +++ b/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.2.bb @@ -3,7 +3,7 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=6ab17b41640564434dda85c06b7124f7" HOMEPAGE ="http://www.libimobiledevice.org/" -PNBLACKLIST[ifuse] = "depends on blacklisted libimobiledevice" +PNBLACKLIST[ifuse] ?= "depends on blacklisted libimobiledevice" DEPENDS = "fuse libimobiledevice" SRC_URI = " \ diff --git a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb new file mode 100644 index 0000000000..32ebec83d6 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb @@ -0,0 +1,26 @@ +SUMMARY = "LogFS Programs: used to create LogFS file system" +DESCRIPTION = "\ +LogFS is a Linux log-structured and scalable flash file system, intended \ +for use on large devices of flash memory. It is written by Jörn Engel and \ +in part sponsored by the CE Linux Forum. \ +LogFS is included in the mainline Linux kernel and was introduced in \ +version 2.6.34, released on May 16, 2010." +HOMEPAGE = "https://github.com/prasad-joshi/logfsprogs" +SECTION = "base" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://fsck.c;md5=3859dc73da97909ff1d0125e88a27e02" +DEPENDS = "zlib" + +SRC_URI = "git://github.com/prasad-joshi/logfsprogs.git" +SRCREV = "45b72c81ce3c6fa17ca19bafc207ea93e76312f4" + +S = "${WORKDIR}/git" + +EXTRA_OEMAKE = "CC="${CC}" LD="${LD}" AR="${AR}"" + +do_install () { + mkdir -p ${D}${bindir} + install -m 0755 ${S}/mklogfs ${D}${bindir}/mklogfs +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch new file mode 100644 index 0000000000..cf844bf878 --- /dev/null +++ b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch @@ -0,0 +1,32 @@ +From 3b3c6e6376babcd9a0b0db312b0e1e3bb3ab833e Mon Sep 17 00:00:00 2001 +From: Sven Ebenfeld <sven.ebenfeld@vaillant.de> +Date: Wed, 26 Nov 2014 10:36:44 +0100 +Subject: [PATCH] Remove AC_CHECK_FILE for cross compilation + +--- + configure.ac | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 0111e72..8c286d4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -20,14 +20,9 @@ AC_DEFINE([F2FS_MINOR_VERSION], m4_bpatsubst(f2fs_tools_version, + [\([0-9]*\).\([0-9]*\)\(\w\|\W\)*], [\2]), + [Minor version for f2fs-tools]) + +-AC_CHECK_FILE(.git, +- AC_DEFINE([F2FS_TOOLS_DATE], +- "m4_bpatsubst(f2fs_tools_gitdate, +- [\([0-9-]*\)\(\w\|\W\)*], [\1])", +- [f2fs-tools date based on Git commits]), + AC_DEFINE([F2FS_TOOLS_DATE], + "f2fs_tools_date", +- [f2fs-tools date based on Source releases])) ++ [f2fs-tools date based on Source releases]) + + AC_CONFIG_SRCDIR([config.h.in]) + AC_CONFIG_HEADER([config.h]) +-- +1.8.1.rc3 + diff --git a/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.1.0.bb b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.1.0.bb deleted file mode 100644 index 267aef0563..0000000000 --- a/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.1.0.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Tools for Flash-Friendly File System (F2FS)" -HOMEPAGE = "http://sourceforge.net/projects/f2fs-tools/" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=15667d9b3cb737b57471c148b7c50734" - -# to provide libuuid -DEPENDS = "util-linux" - -SRCREV = "da59f6146c37e727bb83ae4922ca56d42958e61c" -SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git" -S = "${WORKDIR}/git" - -inherit autotools - -BBCLASSEXTEND = "native" - -do_configure_prepend() { - # workaround for endless do_configure loop: - # make: Warning: File `Makefile.am' has modification time 5.3e+04 s in the future - touch ${S}/* -} diff --git a/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.4.0.bb b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.4.0.bb new file mode 100644 index 0000000000..1a558e715b --- /dev/null +++ b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.4.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "Tools for Flash-Friendly File System (F2FS)" +HOMEPAGE = "http://sourceforge.net/projects/f2fs-tools/" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=362b4b2594cd362b874a97718faa51d3" + +# to provide libuuid +DEPENDS = "util-linux" + +SRCREV = "baac4b4e6f41ceb02511da49dd3707674f3fea21" +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git \ + file://0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch" +S = "${WORKDIR}/git" + +inherit pkgconfig autotools + +BBCLASSEXTEND = "native" diff --git a/meta-gnome/conf/layer.conf b/meta-gnome/conf/layer.conf index 902ab8f85f..58e12a9cda 100644 --- a/meta-gnome/conf/layer.conf +++ b/meta-gnome/conf/layer.conf @@ -7,3 +7,9 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend" BBFILE_COLLECTIONS += "gnome-layer" BBFILE_PATTERN_gnome-layer := "^${LAYERDIR}/" BBFILE_PRIORITY_gnome-layer = "7" + +# This should only be incremented on significant changes that will +# cause compatibility issues with other layers +LAYERVERSION_gnome-layer = "1" + +LAYERDEPENDS_gnome-layer = "core openembedded-layer" diff --git a/meta-gnome/recipes-apps/gnome-mplayer/gnome-mplayer_1.0.5.bb b/meta-gnome/recipes-apps/gnome-mplayer/gnome-mplayer_1.0.5.bb index c5ac6e23fb..ef460f13df 100644 --- a/meta-gnome/recipes-apps/gnome-mplayer/gnome-mplayer_1.0.5.bb +++ b/meta-gnome/recipes-apps/gnome-mplayer/gnome-mplayer_1.0.5.bb @@ -5,7 +5,7 @@ SECTION = "multimedia" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" -PNBLACKLIST[gnome-mplayer] = "rdepends on blacklisted mplayer" +PNBLACKLIST[gnome-mplayer] ?= "rdepends on blacklisted mplayer" PR = "r2" DEPENDS = "gmtk gtk+ alsa-lib libnotify glib-2.0 dbus-glib virtual/libx11 libxscrnsaver" diff --git a/meta-gnome/recipes-connectivity/network-manager-applet/files/0002-Add-support-for-AP-mode-setting-for-wifi-sharing.patch b/meta-gnome/recipes-connectivity/network-manager-applet/files/0002-Add-support-for-AP-mode-setting-for-wifi-sharing.patch new file mode 100644 index 0000000000..d0506b2e8e --- /dev/null +++ b/meta-gnome/recipes-connectivity/network-manager-applet/files/0002-Add-support-for-AP-mode-setting-for-wifi-sharing.patch @@ -0,0 +1,128 @@ +From d789ef88a8806887bf1160bfa5d3d9eb47b6216c Mon Sep 17 00:00:00 2001 +From: "Marius B. Kotsbak" <marius@kotsbak.com> +Date: Mon, 11 Aug 2014 22:11:52 +0200 +Subject: [PATCH] Add support for AP mode setting for wifi sharing. + +Upstream-Status: Pending [1] + +[1] https://bugzilla.gnome.org/show_bug.cgi?id=734589 +--- + src/connection-editor/ce-page-wifi.ui | 3 +++ + src/connection-editor/page-wifi.c | 46 ++++++++++++++++++++--------------- + 2 files changed, 30 insertions(+), 19 deletions(-) + +diff --git a/src/connection-editor/ce-page-wifi.ui b/src/connection-editor/ce-page-wifi.ui +index e2e544b..b8b27c1 100644 +--- a/src/connection-editor/ce-page-wifi.ui ++++ b/src/connection-editor/ce-page-wifi.ui +@@ -50,6 +50,9 @@ + <row> + <col id="0" translatable="yes">Ad-hoc</col> + </row> ++ <row> ++ <col id="0" translatable="yes">Shared AP</col> ++ </row> + </data> + </object> + <object class="GtkTable" id="WifiPage"> +diff --git a/src/connection-editor/page-wifi.c b/src/connection-editor/page-wifi.c +index d0a5617..17db2fa 100644 +--- a/src/connection-editor/page-wifi.c ++++ b/src/connection-editor/page-wifi.c +@@ -59,6 +59,12 @@ typedef struct { + gboolean disposed; + } CEPageWifiPrivate; + ++enum { ++ WIFI_MODE_INFRASTRUCTURE, ++ WIFI_MODE_ADHOC, ++ WIFI_MODE_AP ++}; ++ + static void + wifi_private_init (CEPageWifi *self) + { +@@ -244,22 +250,16 @@ mode_combo_changed_cb (GtkComboBox *combo, + CEPageWifiPrivate *priv = CE_PAGE_WIFI_GET_PRIVATE (self); + CEPage *parent = CE_PAGE (self); + GtkWidget *widget_band_label, *widget_chan_label, *widget_bssid_label; +- gboolean adhoc; ++ gint wifi_mode; ++ gboolean shared_wifi; + +- switch (gtk_combo_box_get_active (GTK_COMBO_BOX (combo))) { +- case 1: /* adhoc */ +- adhoc = TRUE; +- break; +- default: /* infrastructure */ +- adhoc = FALSE; +- break; +- } ++ wifi_mode = gtk_combo_box_get_active (GTK_COMBO_BOX (combo)); + + widget_band_label = GTK_WIDGET (gtk_builder_get_object (parent->builder, "wifi_band_label")); + widget_chan_label = GTK_WIDGET (gtk_builder_get_object (parent->builder, "wifi_channel_label")); + widget_bssid_label = GTK_WIDGET (gtk_builder_get_object (parent->builder, "wifi_bssid_label")); + +- if (adhoc) { ++ if (WIFI_MODE_ADHOC == wifi_mode || WIFI_MODE_AP == wifi_mode) { + /* For Ad-Hoc show Band and Channel */ + gtk_widget_show (widget_band_label); + gtk_widget_show (GTK_WIDGET (priv->band)); +@@ -283,12 +283,13 @@ mode_combo_changed_cb (GtkComboBox *combo, + gtk_widget_show (GTK_WIDGET (priv->bssid)); + } + +- gtk_widget_set_sensitive (widget_band_label, adhoc); +- gtk_widget_set_sensitive (GTK_WIDGET (priv->band), adhoc); +- gtk_widget_set_sensitive (widget_chan_label, adhoc); +- gtk_widget_set_sensitive (GTK_WIDGET (priv->channel), adhoc); +- gtk_widget_set_sensitive (widget_bssid_label, !adhoc); +- gtk_widget_set_sensitive (GTK_WIDGET (priv->bssid), !adhoc); ++ shared_wifi = wifi_mode != WIFI_MODE_INFRASTRUCTURE; ++ gtk_widget_set_sensitive (widget_band_label, shared_wifi); ++ gtk_widget_set_sensitive (GTK_WIDGET (priv->band), shared_wifi); ++ gtk_widget_set_sensitive (widget_chan_label, shared_wifi); ++ gtk_widget_set_sensitive (GTK_WIDGET (priv->channel), shared_wifi); ++ gtk_widget_set_sensitive (widget_bssid_label, !shared_wifi); ++ gtk_widget_set_sensitive (GTK_WIDGET (priv->bssid), !shared_wifi); + + ce_page_changed (CE_PAGE (self)); + } +@@ -348,9 +349,12 @@ populate_ui (CEPageWifi *self) + g_byte_array_free (ssid, TRUE); + + /* Default to Infrastructure */ +- gtk_combo_box_set_active (priv->mode, 0); ++ gtk_combo_box_set_active (priv->mode, WIFI_MODE_INFRASTRUCTURE); + if (mode && !strcmp (mode, "adhoc")) +- gtk_combo_box_set_active (priv->mode, 1); ++ gtk_combo_box_set_active (priv->mode, WIFI_MODE_ADHOC); ++ else if (mode && !strcmp (mode, "ap")) ++ gtk_combo_box_set_active (priv->mode, WIFI_MODE_AP); ++ + mode_combo_changed_cb (priv->mode, self); + g_signal_connect (priv->mode, "changed", G_CALLBACK (mode_combo_changed_cb), self); + g_free (mode); +@@ -510,14 +514,18 @@ ui_to_setting (CEPageWifi *self) + GByteArray *bssid = NULL; + GByteArray *device_mac = NULL; + GByteArray *cloned_mac = NULL; ++ gint wifi_mode; + const char *mode; + const char *band; + GtkWidget *entry; + + ssid = ce_page_wifi_get_ssid (self); + +- if (gtk_combo_box_get_active (priv->mode) == 1) ++ wifi_mode = gtk_combo_box_get_active (priv->mode); ++ if (WIFI_MODE_ADHOC == wifi_mode) + mode = "adhoc"; ++ else if (WIFI_MODE_AP == wifi_mode) ++ mode = "ap"; + else + mode = "infrastructure"; + +-- +1.9.1 diff --git a/meta-gnome/recipes-connectivity/network-manager-applet/files/0003-Use-AP-mode-for-network-sharing-if-device-supports-it.patch b/meta-gnome/recipes-connectivity/network-manager-applet/files/0003-Use-AP-mode-for-network-sharing-if-device-supports-it.patch new file mode 100644 index 0000000000..e2156463dd --- /dev/null +++ b/meta-gnome/recipes-connectivity/network-manager-applet/files/0003-Use-AP-mode-for-network-sharing-if-device-supports-it.patch @@ -0,0 +1,48 @@ +From 7343b16113e378d04e40012abfe5bd96ca776968 Mon Sep 17 00:00:00 2001 +From: "Marius B. Kotsbak" <marius@kotsbak.com> +Date: Tue, 12 Aug 2014 11:15:20 +0200 +Subject: [PATCH 2/2] Use AP mode for network sharing if device supports it. + +Logic taken from similar functionality in gnome-control-center. + +Upstream-Status: Backport [1] + +[1] https://bug734589.bugzilla-attachments.gnome.org/attachment.cgi?id=283165 +--- + src/libnm-gtk/nm-wifi-dialog.c | 18 +++++++++++++++++- + 1 file changed, 17 insertions(+), 1 deletion(-) + +diff --git a/src/libnm-gtk/nm-wifi-dialog.c b/src/libnm-gtk/nm-wifi-dialog.c +index 3532caa..ca72c96 100644 +--- a/src/libnm-gtk/nm-wifi-dialog.c ++++ b/src/libnm-gtk/nm-wifi-dialog.c +@@ -1226,10 +1226,26 @@ nma_wifi_dialog_get_connection (NMAWifiDialog *self, + s_wireless = (NMSettingWireless *) nm_setting_wireless_new (); + g_object_set (s_wireless, NM_SETTING_WIRELESS_SSID, validate_dialog_ssid (self), NULL); + ++ /* Fill device */ ++ if (device) { ++ combo = GTK_WIDGET (gtk_builder_get_object (priv->builder, "device_combo")); ++ gtk_combo_box_get_active_iter (GTK_COMBO_BOX (combo), &iter); ++ gtk_tree_model_get (priv->device_model, &iter, D_DEV_COLUMN, device, -1); ++ g_object_unref (*device); ++ } ++ + if (priv->adhoc_create) { + NMSettingIP4Config *s_ip4; + +- g_object_set (s_wireless, NM_SETTING_WIRELESS_MODE, "adhoc", NULL); ++ const char *mode; ++ ++ /* Use real AP mode if the device supports it */ ++ if (device && nm_device_wifi_get_capabilities (NM_DEVICE_WIFI (*device)) & NM_WIFI_DEVICE_CAP_AP) ++ mode = NM_SETTING_WIRELESS_MODE_AP; ++ else ++ mode = NM_SETTING_WIRELESS_MODE_ADHOC; ++ ++ g_object_set (s_wireless, NM_SETTING_WIRELESS_MODE, mode, NULL); + + s_ip4 = (NMSettingIP4Config *) nm_setting_ip4_config_new (); + g_object_set (s_ip4, NM_SETTING_IP4_CONFIG_METHOD, NM_SETTING_IP4_CONFIG_METHOD_SHARED, NULL); +-- +1.8.3.1 diff --git a/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_0.9.8.10.bb b/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_0.9.8.10.bb index e3c76638cc..00cea746c0 100644 --- a/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_0.9.8.10.bb +++ b/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_0.9.8.10.bb @@ -2,7 +2,7 @@ SUMMARY = "GTK+ applet for NetworkManager" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" -DEPENDS = "polkit-gnome libnotify libsecret networkmanager dbus-glib gconf gnome-keyring libgnome-keyring iso-codes" +DEPENDS = "libnotify libsecret networkmanager dbus-glib gconf gnome-keyring libgnome-keyring iso-codes" inherit gnomebase gtk-icon-cache @@ -10,6 +10,8 @@ GNOME_COMPRESS_TYPE = "xz" SRC_URI += " \ file://0001-remove-classes-and-properties-which-are-not-supporte.patch \ + file://0002-Add-support-for-AP-mode-setting-for-wifi-sharing.patch \ + file://0003-Use-AP-mode-for-network-sharing-if-device-supports-it.patch \ " SRC_URI[archive.md5sum] = "5148348c139229c6a753f815f3f11e1c" SRC_URI[archive.sha256sum] = "46fee9a1e667d1826e6a94bb6bd2e6bdbde535fc995e534542f5f7e8b8dae0cb" @@ -20,10 +22,10 @@ EXTRA_OECONF += " \ " PACKAGECONFIG[bluetooth] = "--with-bluetooth,--without-bluetooth,gnome-bluetooth,gnome-bluetooth" +PACKAGECONFIG[modemmanager] = "--with-modem-manager-1,--without-modem-manager-1,modemmanager" PACKAGECONFIG ??= "" do_configure_append() { - rm config.log # Sigh... --enable-compile-warnings=no doesn't actually turn off -Werror for i in $(find ${B} -name "Makefile") ; do sed -i -e s:-Werror::g $i diff --git a/meta-gnome/recipes-connectivity/obex/obexd_0.48.bb b/meta-gnome/recipes-connectivity/obex/obexd_0.48.bb index 26869fe110..f28f77b8cb 100644 --- a/meta-gnome/recipes-connectivity/obex/obexd_0.48.bb +++ b/meta-gnome/recipes-connectivity/obex/obexd_0.48.bb @@ -1,5 +1,7 @@ SUMMARY = "OBEX Server and Client" +# obexd was integrated into bluez5 DEPENDS = "glib-2.0 dbus bluez4 libical" +RCONFLICTS_${PN} = "bluez5" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e" diff --git a/meta-gnome/recipe-devtools/glade/glade3_%.bbappend b/meta-gnome/recipes-devtools/glade/glade3_%.bbappend index 3abacfb866..3abacfb866 100644 --- a/meta-gnome/recipe-devtools/glade/glade3_%.bbappend +++ b/meta-gnome/recipes-devtools/glade/glade3_%.bbappend diff --git a/meta-gnome/recipes-extended/gparted/gparted/0001-configure.ac-use-pkg-config-to-check-for-version-of-.patch b/meta-gnome/recipes-extended/gparted/gparted/0001-configure.ac-use-pkg-config-to-check-for-version-of-.patch new file mode 100644 index 0000000000..1c99ff5129 --- /dev/null +++ b/meta-gnome/recipes-extended/gparted/gparted/0001-configure.ac-use-pkg-config-to-check-for-version-of-.patch @@ -0,0 +1,68 @@ +From a39d205ec3c6db6fe98aa2c7f8352db767557f60 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> +Date: Wed, 12 Nov 2014 11:26:19 +0100 +Subject: [PATCH] configure.ac: use pkg-config to check for version of gparted +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +running test programs causes headaches when cross-compiling + +Upstream-Status: submitted [1] + +[1] https://bugzilla.gnome.org/show_bug.cgi?id=740004 + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- + configure.ac | 34 ++++++---------------------------- + 1 file changed, 6 insertions(+), 28 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 37025b0..17bb686 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -48,35 +48,13 @@ LIBPARTED_REQUIRED_VERSION='1.7.1' + AC_MSG_CHECKING([for libparted >= $LIBPARTED_REQUIRED_VERSION]) + LIBPARTED_REQUIRED_INT=`echo "$LIBPARTED_REQUIRED_VERSION" | + $AWK -F. '{print $1 * 10000 + $2 * 100 + $3}'` +-AC_RUN_IFELSE( +- [AC_LANG_SOURCE( +- [[ +-#include <stdio.h> +-#include <stdlib.h> +-#include <parted/parted.h> +- +-int main() +-{ +- const char *version = ped_get_version(); +- if (version == NULL) +- { +- fprintf(stderr, "ERROR: ped_get_version() returned NULL\n"); +- return EXIT_FAILURE; +- } +- printf("%s\n", version); +- return EXIT_SUCCESS; +-} +- ]] +- )], +- dnl Run test program again to cache libparted version. +- [LIBPARTED_FOUND_VERSION=`./conftest$EXEEXT` +- LIBPARTED_FOUND_INT=`echo "$LIBPARTED_FOUND_VERSION" | +- $AWK -F. '{print $1 * 10000 + $2 * 100 + $3}'` +- test "$LIBPARTED_FOUND_INT" -ge "$LIBPARTED_REQUIRED_INT" || ++ ++LIBPARTED_FOUND_VERSION="`pkg-config libparted --modversion`" ++LIBPARTED_FOUND_INT=`echo "$LIBPARTED_FOUND_VERSION" | ++ $AWK -F. '{print $1 * 10000 + $2 * 100 + $3}'` ++ ++test "$LIBPARTED_FOUND_INT" -ge "$LIBPARTED_REQUIRED_INT" || + AC_MSG_ERROR([*** libparted too old. Require libparted >= $LIBPARTED_REQUIRED_VERSION but only found libparted $LIBPARTED_FOUND_VERSION.]) +- ], +- [AC_MSG_ERROR([*** Error querying libparted version. Check config.log for details.])] +-) + + + dnl Check for libparted >= 2.2 for improved informing the kernel to +-- +1.8.3.1 + diff --git a/meta-gnome/recipes-extended/gparted/gparted_0.20.0.bb b/meta-gnome/recipes-extended/gparted/gparted_0.20.0.bb new file mode 100644 index 0000000000..30eac8e55a --- /dev/null +++ b/meta-gnome/recipes-extended/gparted/gparted_0.20.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "A partition editor to graphically manage disk partitions " +HOMEPAGE = "http://gparted.org/index.php" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +inherit autotools pkgconfig + +SRC_URI = " \ + ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.bz2 \ + file://0001-configure.ac-use-pkg-config-to-check-for-version-of-.patch \ +" +SRC_URI[md5sum] = "d9df57f9d4b4dbd148644774f8bbccfb" +SRC_URI[sha256sum] = "9b34d73d4519352a7e7344c8403ef61253be1b4db3ff332c397b0b1eb5c1ddc2" + +DEPENDS = "glib-2.0 gtkmm parted" + +EXTRA_OECONF = "--disable-scrollkeeper --disable-doc" + +FILES_${PN} += "${datadir}/icons ${datadir}/appdata" + +RDEPENDS_${PN} = "dosfstools mtools e2fsprogs" diff --git a/meta-gnome/recipes-gnome/gcr/gcr_3.8.2.bb b/meta-gnome/recipes-gnome/gcr/gcr_3.8.2.bb index f30fcf1e32..e9a837bb95 100644 --- a/meta-gnome/recipes-gnome/gcr/gcr_3.8.2.bb +++ b/meta-gnome/recipes-gnome/gcr/gcr_3.8.2.bb @@ -7,6 +7,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605" DEPENDS = "gtk+3 p11-kit glib-2.0 libgcrypt" +PNBLACKLIST[gcr] ?= "CONFLICT: 4 files conflict with gnome-keyring" +# e.g. sysroots/qemux86-64/usr/share/glib-2.0/schemas/org.gnome.crypto.pgp.gschema.xml +# sysroots/qemux86-64/usr/share/GConf/gsettings/org.gnome.crypto.pgp.convert + inherit autotools gnomebase gtk-icon-cache gtk-doc GNOME_COMPRESS_TYPE="xz" diff --git a/meta-gnome/recipes-gnome/gdm/gdm/gdm b/meta-gnome/recipes-gnome/gdm/gdm/gdm index 43eae95177..bb5b418645 100755 --- a/meta-gnome/recipes-gnome/gdm/gdm/gdm +++ b/meta-gnome/recipes-gnome/gdm/gdm/gdm @@ -4,8 +4,8 @@ # Should-Start: console-screen acpid dbus hal network-manager # Required-Start: $local_fs $remote_fs # Required-Stop: $local_fs $remote_fs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 +# Default-Start: 5 +# Default-Stop: 0 1 2 3 6 # Short-Description: GNOME Display Manager # Description: Debian init script for the GNOME Display Manager ### END INIT INFO diff --git a/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb b/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb index d8f015064a..fcd51ff3aa 100644 --- a/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb +++ b/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb @@ -6,6 +6,8 @@ DEPENDS = "xinput gnome-panel tcp-wrappers libcanberra libxklavier grep consolek PR = "r18" +PNBLACKLIST[gdm] ?= "Depends on broken polkit-gnome" + inherit gnome update-rc.d systemd useradd SRC_URI += " \ @@ -86,7 +88,7 @@ RCONFLICTS_${PN} += "${PN}-systemd" SYSTEMD_SERVICE_${PN} = "gdm.service" INITSCRIPT_NAME = "gdm" -INITSCRIPT_PARAMS = "start 99 5 2 . stop 20 0 1 6 ." +INITSCRIPT_PARAMS = "start 99 5 . stop 20 0 1 2 3 6 ." USERADD_PACKAGES = "${PN}" USERADD_PARAM_${PN} = "--system --no-create-home --home ${localstatedir}/lib/gdm --user-group gdm" diff --git a/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth/0002-bluetooth-client-use-valid-interface-names.patch b/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth/0002-bluetooth-client-use-valid-interface-names.patch new file mode 100644 index 0000000000..99049a0cab --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth/0002-bluetooth-client-use-valid-interface-names.patch @@ -0,0 +1,122 @@ +From 1555f85b222db0d536efe277d31b57b2a8b938f4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> +Date: Thu, 12 Feb 2015 01:19:41 +0100 +Subject: [PATCH] bluetooth-client: use valid interface names +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Inappropriate[version unmaintained upstream] + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- + lib/bluetooth-client.c | 12 ++++++------ + lib/bluetooth-client.xml | 6 +++--- + lib/test-agent.c | 2 +- + 3 files changed, 10 insertions(+), 10 deletions(-) + +diff --git a/lib/bluetooth-client.c b/lib/bluetooth-client.c +index d62d56d..02e194c 100644 +--- a/lib/bluetooth-client.c ++++ b/lib/bluetooth-client.c +@@ -721,7 +721,7 @@ static void add_device(DBusGProxy *adapter, GtkTreeIter *parent, + BLUEZ_DEVICE_INTERFACE, path); + + if (device != NULL) +- device_get_properties(device, &hash, NULL); ++ org_bluez_device_get_properties(device, &hash, NULL); + } else + device = NULL; + +@@ -945,7 +945,7 @@ static void adapter_added(DBusGProxy *manager, + adapter = dbus_g_proxy_new_from_proxy(manager, + BLUEZ_ADAPTER_INTERFACE, path); + +- adapter_get_properties(adapter, &hash, NULL); ++ org_bluez_adapter_get_properties(adapter, &hash, NULL); + if (hash != NULL) { + value = g_hash_table_lookup(hash, "Address"); + address = value ? g_value_get_string(value) : NULL; +@@ -1178,7 +1178,7 @@ static void bluetooth_client_init(BluetoothClient *client) + dbus_g_proxy_connect_signal(priv->manager, "DefaultAdapterChanged", + G_CALLBACK(default_adapter_changed), client, NULL); + +- manager_list_adapters(priv->manager, &array, NULL); ++ org_bluez_manager_list_adapters(priv->manager, &array, NULL); + if (array != NULL) { + int i; + +@@ -1189,7 +1189,7 @@ static void bluetooth_client_init(BluetoothClient *client) + } + } + +- manager_default_adapter(priv->manager, &default_path, NULL); ++ org_bluez_manager_default_adapter(priv->manager, &default_path, NULL); + if (default_path != NULL) { + default_adapter_changed(priv->manager, default_path, client); + g_free(default_path); +@@ -1541,7 +1541,7 @@ gboolean bluetooth_client_start_discovery(BluetoothClient *client) + if (adapter == NULL) + return FALSE; + +- adapter_start_discovery(adapter, NULL); ++ org_bluez_adapter_start_discovery(adapter, NULL); + + g_object_unref(adapter); + +@@ -1568,7 +1568,7 @@ gboolean bluetooth_client_stop_discovery(BluetoothClient *client) + if (adapter == NULL) + return FALSE; + +- adapter_stop_discovery(adapter, NULL); ++ org_bluez_adapter_stop_discovery(adapter, NULL); + + g_object_unref(adapter); + +diff --git a/lib/bluetooth-client.xml b/lib/bluetooth-client.xml +index 2326277..38c7fb0 100644 +--- a/lib/bluetooth-client.xml ++++ b/lib/bluetooth-client.xml +@@ -1,7 +1,7 @@ + <?xml version="1.0" encoding="UTF-8" ?> + + <node name="/"> +- <interface name="manager"> ++ <interface name="org.bluez.manager"> + <method name="DefaultAdapter"> + <arg type="o" direction="out"/> + </method> +@@ -16,7 +16,7 @@ + </method> + </interface> + +- <interface name="adapter"> ++ <interface name="org.bluez.adapter"> + <method name="GetProperties"> + <arg type="a{sv}" direction="out"/> + </method> +@@ -44,7 +44,7 @@ + </method> + </interface> + +- <interface name="device"> ++ <interface name="org.bluez.device"> + <method name="GetProperties"> + <arg type="a{sv}" direction="out"/> + </method> +diff --git a/lib/test-agent.c b/lib/test-agent.c +index 8d60da6..83464eb 100644 +--- a/lib/test-agent.c ++++ b/lib/test-agent.c +@@ -40,7 +40,7 @@ static gboolean agent_pincode(DBusGMethodInvocation *context, + GValue *value; + const gchar *address, *name; + +- device_get_properties(device, &hash, NULL); ++ org_bluez_device_get_properties(device, &hash, NULL); + + if (hash != NULL) { + value = g_hash_table_lookup(hash, "Address"); +-- +1.9.3 + diff --git a/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_2.32.0.bb b/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_2.32.0.bb index 4fd38a0a91..8711b8af0b 100644 --- a/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_2.32.0.bb +++ b/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_2.32.0.bb @@ -11,8 +11,10 @@ DEPENDS = "obexd gnome-doc-utils-native gnome-doc-utils gconf gtk+ dbus-glib lib inherit gnomebase gtk-icon-cache -SRC_URI += "file://0001-bluetooth-input-Fix-compile-errors.patch \ - " +SRC_URI += " \ + file://0001-bluetooth-input-Fix-compile-errors.patch \ + file://0002-bluetooth-client-use-valid-interface-names.patch \ +" SRC_URI[archive.md5sum] = "f129686fe46c4c98eb70a0cc85d59cae" SRC_URI[archive.sha256sum] = "57b1f06c96a1b85e1c19ff919d708cc38e95edae658881ed99968c325839a973" diff --git a/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb b/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb index 87060f3dcc..611499affc 100644 --- a/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb +++ b/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb @@ -4,6 +4,9 @@ LICENSE = "GPLv2 & LGPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2" +PNBLACKLIST[gnome-menus3] ?= "CONFLICT: 24 files are conflicting with gnome-menus" +# e.g. sysroots/qemux86-64/usr/share/desktop-directories/X-GNOME-Other.directory + DEPENDS = "python libxml2 gconf popt gtk+3" inherit gnomebase pkgconfig python-dir pythonnative diff --git a/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb b/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb index 8802dba1be..972a4d4db0 100644 --- a/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb +++ b/meta-gnome/recipes-gnome/gnome-panel/gnome-panel3_3.0.2.bb @@ -4,6 +4,8 @@ LICENSE = "GPLv2 & LGPLv2 & GFDLv1.1" BPN = "gnome-panel" PR = "r1" +PNBLACKLIST[gnome-panel3] ?= "CONFLICT: depends on libgweather3 which conflicts with libgweather" + # conflicts with gnome-panel, because they provide the same package # http://patches.openembedded.org/patch/43105/ EXCLUDE_FROM_WORLD = "1" diff --git a/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb b/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb index 729d750bf5..f45acab17a 100644 --- a/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb +++ b/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_2.32.1.bb @@ -15,6 +15,7 @@ S = "${WORKDIR}/git" PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)" PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio glib-2.0 libcanberra" +PACKAGECONFIG[smartcard] = "--enable-smartcard-support,--disable-smartcard-support,nss" EXTRA_OECONF = " \ --x-includes=${STAGING_INCDIR} \ diff --git a/meta-gnome/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.14.1.bb b/meta-gnome/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.14.1.bb new file mode 100644 index 0000000000..e6d1d1ac0f --- /dev/null +++ b/meta-gnome/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.14.1.bb @@ -0,0 +1,15 @@ +SUMMARY = "GNOME desktop-wide GSettings schemas" +HOMEPAGE = "http://live.gnome.org/gsettings-desktop-schemas" +BUGTRACKER = "https://bugzilla.gnome.org/" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = "glib-2.0 intltool-native gobject-introspection-stub-native" + +inherit gnomebase gsettings gettext + +GNOME_COMPRESS_TYPE = "xz" + +SRC_URI[archive.md5sum] = "92d41934212fc7da48648afa3927f4b0" +SRC_URI[archive.sha256sum] = "217eba09f0fb263dcb8ce6efa21c9afaf0504ac1d937732d1af1c6724c05f065" diff --git a/meta-gnome/recipes-gnome/gvfs/files/0005-client-gdaemonfile.c-replace-g_memmove-by-memmove.patch b/meta-gnome/recipes-gnome/gvfs/files/0005-client-gdaemonfile.c-replace-g_memmove-by-memmove.patch new file mode 100644 index 0000000000..c55a99db4f --- /dev/null +++ b/meta-gnome/recipes-gnome/gvfs/files/0005-client-gdaemonfile.c-replace-g_memmove-by-memmove.patch @@ -0,0 +1,36 @@ +From de7b06dea740900fa63e2e011c9f862fe4b9405c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> +Date: Mon, 27 Oct 2014 10:43:40 +0100 +Subject: [PATCH] client/gdaemonfile.c: replace g_memmove by memmove +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +g_memmove was deprecated in glib 2.40 [1] + +Upstream-Status: pending [2] + +[1] https://developer.gnome.org/glib/stable/glib-Memory-Allocation.html#g-memmove +[2] https://bugzilla.gnome.org/show_bug.cgi?id=739233 + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- + client/gdaemonfile.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/client/gdaemonfile.c b/client/gdaemonfile.c +index 15c368c..593ce7a 100644 +--- a/client/gdaemonfile.c ++++ b/client/gdaemonfile.c +@@ -256,7 +256,7 @@ g_daemon_file_get_parent (GFile *file) + len = (guint) 1 + base - path; + + parent_path = g_new (gchar, len + 1); +- g_memmove (parent_path, path, len); ++ memmove (parent_path, path, len); + parent_path[len] = 0; + + parent = new_file_for_new_path (daemon_file, parent_path); +-- +1.8.3.1 + diff --git a/meta-gnome/recipes-gnome/gvfs/gvfs.inc b/meta-gnome/recipes-gnome/gvfs/gvfs.inc index 288b205da4..c516a40f10 100644 --- a/meta-gnome/recipes-gnome/gvfs/gvfs.inc +++ b/meta-gnome/recipes-gnome/gvfs/gvfs.inc @@ -15,6 +15,7 @@ SRC_URI += " \ file://0002-Adapt-to-GLib-2.31-deprecations-and-thread-API-chang.patch \ file://0003-Adapt-to-glib-mutex-API-changes.patch \ file://0004-Adapt-to-glib-thread-API-changes.patch \ + file://0005-client-gdaemonfile.c-replace-g_memmove-by-memmove.patch \ " EXTRA_OECONF = "--with-archive-includes=${STAGING_INCDIR} \ diff --git a/meta-gnome/recipes-gnome/gweather/libgweather3_3.0.2.bb b/meta-gnome/recipes-gnome/gweather/libgweather3_3.0.2.bb index 5d6467f9aa..6e1997f775 100644 --- a/meta-gnome/recipes-gnome/gweather/libgweather3_3.0.2.bb +++ b/meta-gnome/recipes-gnome/gweather/libgweather3_3.0.2.bb @@ -4,6 +4,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SECTION = "x11/gnome/libs" DEPENDS = "libxml2 gconf libsoup-2.4 gtk+3" +PNBLACKLIST[libgweather3] ?= "CONFLICT: 876 files are conflicting with libgweather" +# e.g. sysroots/qemux86-64/usr/share/libgweather/locations.dtd +# sysroots/qemux86-64/usr/share/libgweather/Locations.zh_TW.xml + BPN = "libgweather" inherit gnome diff --git a/meta-gnome/recipes-gnome/libidl/libidl-native_0.8.13.bb b/meta-gnome/recipes-gnome/libidl/libidl-native_0.8.13.bb deleted file mode 100644 index 834f4af426..0000000000 --- a/meta-gnome/recipes-gnome/libidl/libidl-native_0.8.13.bb +++ /dev/null @@ -1,10 +0,0 @@ -SECTION = "libs" -require libidl_${PV}.bb -inherit native - -PR = "r1" - -DEPENDS = "bison-native glib-2.0-native" - -SRC_URI[md5sum] = "b43b289a859eb38a710f70622c46e571" -SRC_URI[sha256sum] = "bccc7e10dae979518ff012f8464e47ec4b3558a5456a94c8679653aa0b262b71" diff --git a/meta-gnome/recipes-gnome/libidl/libidl-native_0.8.14.bb b/meta-gnome/recipes-gnome/libidl/libidl-native_0.8.14.bb new file mode 100644 index 0000000000..a27da5e8d4 --- /dev/null +++ b/meta-gnome/recipes-gnome/libidl/libidl-native_0.8.14.bb @@ -0,0 +1,10 @@ +SECTION = "libs" +require libidl_${PV}.bb +inherit native + +PR = "r1" + +DEPENDS = "bison-native glib-2.0-native" + +SRC_URI[md5sum] = "bb8e10a218fac793a52d404d14adedcb" +SRC_URI[sha256sum] = "c5d24d8c096546353fbc7cedf208392d5a02afe9d56ebcc1cccb258d7c4d2220" diff --git a/meta-gnome/recipes-gnome/libidl/libidl_0.8.13.bb b/meta-gnome/recipes-gnome/libidl/libidl_0.8.14.bb index d658cf8c71..86dfcf2f09 100644 --- a/meta-gnome/recipes-gnome/libidl/libidl_0.8.13.bb +++ b/meta-gnome/recipes-gnome/libidl/libidl_0.8.14.bb @@ -9,5 +9,5 @@ PR = "r1" BINCONFIG_GLOB = "*-config-2" inherit autotools pkgconfig binconfig -SRC_URI[md5sum] = "b43b289a859eb38a710f70622c46e571" -SRC_URI[sha256sum] = "bccc7e10dae979518ff012f8464e47ec4b3558a5456a94c8679653aa0b262b71" +SRC_URI[md5sum] = "bb8e10a218fac793a52d404d14adedcb" +SRC_URI[sha256sum] = "c5d24d8c096546353fbc7cedf208392d5a02afe9d56ebcc1cccb258d7c4d2220" diff --git a/meta-gnome/recipes-gnome/zenity/zenity_2.32.1.bb b/meta-gnome/recipes-gnome/zenity/zenity_2.32.1.bb index 3ea179e7c7..4e01c5c938 100644 --- a/meta-gnome/recipes-gnome/zenity/zenity_2.32.1.bb +++ b/meta-gnome/recipes-gnome/zenity/zenity_2.32.1.bb @@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" PR = "r2" -PNBLACKLIST[zenity] = "BROKEN: doesn't build with B!=S" +PNBLACKLIST[zenity] ?= "BROKEN: doesn't build with B!=S" DEPENDS = "gtk+ glib-2.0 libnotify gnome-doc-utils" diff --git a/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb b/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb index d41218372a..104e490a3a 100644 --- a/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb +++ b/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Tracker is a tool designed to extract information and metadata about your personal data so that it can be searched easily and quickly." LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=ee31012bf90e7b8c108c69f197f3e3a4" -DEPENDS = "file gstreamer gamin dbus libexif gettext sqlite3 icu gst-plugins-base libgnome-keyring poppler tiff enca libgsf libunistring giflib taglib bzip2 upower gtk+3 libgee" +DEPENDS = "file gstreamer gamin dbus libexif gettext sqlite3 icu gst-plugins-base libgnome-keyring poppler tiff enca libgsf libunistring giflib taglib bzip2 upower gtk+3 libgee networkmanager" RDEPENDS_${PN} += " gvfs gsettings-desktop-schemas" HOMEPAGE = "http://projects.gnome.org/tracker/" diff --git a/meta-gpe/conf/layer.conf b/meta-gpe/conf/layer.conf index 6c018b1e6e..00f3929f8f 100644 --- a/meta-gpe/conf/layer.conf +++ b/meta-gpe/conf/layer.conf @@ -7,3 +7,9 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend" BBFILE_COLLECTIONS += "gpe-layer" BBFILE_PATTERN_gpe-layer := "^${LAYERDIR}/" BBFILE_PRIORITY_gpe-layer = "7" + +# This should only be incremented on significant changes that will +# cause compatibility issues with other layers +LAYERVERSION_gpe-layer = "1" + +LAYERDEPENDS_gpe-layer = "core openembedded-layer" diff --git a/meta-initramfs/recipes-bsp/kexecboot/files/0001-kexecboot-fix-build-when-S-B.patch b/meta-initramfs/recipes-bsp/kexecboot/files/0001-kexecboot-fix-build-when-S-B.patch new file mode 100644 index 0000000000..6d3270f891 --- /dev/null +++ b/meta-initramfs/recipes-bsp/kexecboot/files/0001-kexecboot-fix-build-when-S-B.patch @@ -0,0 +1,61 @@ +From 8519d61a7097498b0ee93fb8dc8262286825f3e5 Mon Sep 17 00:00:00 2001 +From: Andrea Adami <andrea.adami@gmail.com> +Date: Thu, 1 May 2014 23:58:51 +0200 +Subject: [PATCH 1/4] kexecboot: fix build when S != B + +* fatal error: ../config.h: No such file or directory + +Signed-off-by: Andrea Adami <andrea.adami@gmail.com> +--- + machine/zaurus.c | 2 +- + res/theme-gui.h | 2 +- + res/theme-tui.h | 4 ++-- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/machine/zaurus.c b/machine/zaurus.c +index ea21047..83be13b 100644 +--- a/machine/zaurus.c ++++ b/machine/zaurus.c +@@ -25,7 +25,7 @@ + * + */ + +-#include "../config.h" ++#include "config.h" + + #ifdef USE_ZAURUS + +diff --git a/res/theme-gui.h b/res/theme-gui.h +index f8fef7f..79bed39 100644 +--- a/res/theme-gui.h ++++ b/res/theme-gui.h +@@ -15,7 +15,7 @@ + * + */ + +-#include "../config.h" ++#include "config.h" + + #ifdef USE_ICONS + /** Icons **/ +diff --git a/res/theme-tui.h b/res/theme-tui.h +index 94e7693..909be56 100644 +--- a/res/theme-tui.h ++++ b/res/theme-tui.h +@@ -15,11 +15,11 @@ + * + */ + +-#include "../config.h" ++#include "config.h" + + #ifdef USE_TEXTUI + /** TEXT UI colors **/ +-#include "../termseq.h" ++#include "termseq.h" + + /* Background color pair */ + #define TUI_CLR_BG TERM_CSI TERM_BG_BLACK ";" TERM_FG_WHITE TERM_SGR +-- +1.9.1 + diff --git a/meta-initramfs/recipes-bsp/kexecboot/files/0002-kexecboot-fix-configure-warnings.patch b/meta-initramfs/recipes-bsp/kexecboot/files/0002-kexecboot-fix-configure-warnings.patch new file mode 100644 index 0000000000..ecf422b72d --- /dev/null +++ b/meta-initramfs/recipes-bsp/kexecboot/files/0002-kexecboot-fix-configure-warnings.patch @@ -0,0 +1,33 @@ +From b8938acc3f1ab35273fa9a2fa7728050ef72ff65 Mon Sep 17 00:00:00 2001 +From: Andrea Adami <andrea.adami@gmail.com> +Date: Fri, 2 May 2014 00:19:24 +0200 +Subject: [PATCH 2/4] kexecboot: fix configure warnings + +Makefile.am:5: warning: source file 'fstype/fstype.c' is in a subdirectory, +Makefile.am:5: but option 'subdir-objects' is disabled +automake: warning: possible forward-incompatibility. +... +Makefile.am:5: warning: source file 'machine/zaurus.c' is in a subdirectory, +... + +Signed-off-by: Andrea Adami <andrea.adami@gmail.com> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 0ca4b81..66ec54e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1,7 +1,7 @@ + AC_PREREQ(2.53) + AC_INIT([kexecboot], [0.6], [kexecboot-devel@linuxtogo.org]) + AC_CANONICAL_HOST +-AM_INIT_AUTOMAKE([-Wall foreign]) ++AM_INIT_AUTOMAKE([-Wall foreign] [subdir-objects]) + AC_CONFIG_SRCDIR(kexecboot.c) + AC_CONFIG_HEADERS(config.h) + AM_MAINTAINER_MODE +-- +1.9.1 + diff --git a/meta-initramfs/recipes-bsp/kexecboot/files/0003-kexecboot-do-not-hardcode-MOUNTPOINT.patch b/meta-initramfs/recipes-bsp/kexecboot/files/0003-kexecboot-do-not-hardcode-MOUNTPOINT.patch new file mode 100644 index 0000000000..4caa0d5f02 --- /dev/null +++ b/meta-initramfs/recipes-bsp/kexecboot/files/0003-kexecboot-do-not-hardcode-MOUNTPOINT.patch @@ -0,0 +1,97 @@ +From 800dae0d34f8629a34c638a612166b76dda03e27 Mon Sep 17 00:00:00 2001 +From: Andrea Adami <andrea.adami@gmail.com> +Date: Sat, 2 Aug 2014 01:13:08 +0200 +Subject: [PATCH 3/4] kexecboot: do not hardcode MOUNTPOINT + +Avoid to hardcode it: could be requested as a new configure option. + +Signed-off-by: Andrea Adami <andrea.adami@gmail.com> +--- + cfgparser.c | 6 +++--- + kexecboot.c | 18 ++++++++++-------- + 2 files changed, 13 insertions(+), 11 deletions(-) + +diff --git a/cfgparser.c b/cfgparser.c +index 8f6688c..dec27b1 100644 +--- a/cfgparser.c ++++ b/cfgparser.c +@@ -141,7 +141,7 @@ static int set_kernel(struct cfgdata_t *cfgdata, char *value) + return -1; + } + +- strcpy(sc->kernelpath, "/mnt"); ++ strcpy(sc->kernelpath, MOUNTPOINT); + strcat(sc->kernelpath, value); + return 0; + } +@@ -155,7 +155,7 @@ static int set_icon(struct cfgdata_t *cfgdata, char *value) + + dispose(sc->iconpath); + /* Add our mountpoint, since the enduser won't know it */ +- sc->iconpath = malloc(sizeof(MOUNTPOINT)+strlen(value)); ++ sc->iconpath = malloc(strlen(MOUNTPOINT)+strlen(value)+1); + if (NULL == sc->iconpath) { + DPRINTF("Can't allocate memory to store iconpath '%s'", value); + return -1; +@@ -194,7 +194,7 @@ static int set_initrd(struct cfgdata_t *cfgdata, char *value) + return -1; + } + +- strcpy(sc->initrd, "/mnt"); ++ strcpy(sc->initrd, MOUNTPOINT); + strcat(sc->initrd, value); + return 0; + } +diff --git a/kexecboot.c b/kexecboot.c +index d6657a0..7268d6b 100644 +--- a/kexecboot.c ++++ b/kexecboot.c +@@ -57,20 +57,22 @@ + #endif + + #ifdef USE_MACHINE_KERNEL +-/* Machine-dependent kernel patch */ ++/* Machine-dependent kernel path */ + char *machine_kernel = NULL; + #endif + ++#define PREPEND_MOUNTPATH(string) MOUNTPOINT""string ++ + /* NULL-terminated array of kernel search paths + * First item should be filled with machine-dependent path */ + char *default_kernels[] = { + #ifdef USE_ZIMAGE +- "/mnt/boot/zImage", +- "/mnt/zImage", ++ PREPEND_MOUNTPATH("/boot/zImage"), ++ PREPEND_MOUNTPATH("/zImage"), + #endif + #ifdef USE_UIMAGE +- "/mnt/boot/uImage", +- "/mnt/uImage", ++ PREPEND_MOUNTPATH("/boot/uImage"), ++ PREPEND_MOUNTPATH("/uImage"), + #endif + NULL + }; +@@ -149,14 +151,14 @@ char *get_machine_kernelpath() { + ++tmp; + } + +- /* Prepend "/mnt/boot/zImage-" to hw */ +- tmp = malloc(strlen(hw) + 17 + 1); /* strlen("/mnt/boot/zImage-") */ ++ /* Prepend MOUNTPOINT"/boot/zImage-" to hw */ ++ tmp = malloc(strlen(PREPEND_MOUNTPATH("/boot/zImage-")) + strlen(hw) + 1); + if (NULL == tmp) { + DPRINTF("Can't allocate memory for machine-specific kernel path"); + return NULL; + } + +- strcpy(tmp, "/mnt/boot/zImage-"); ++ strcpy(tmp, PREPEND_MOUNTPATH("/boot/zImage-")); + strcat(tmp, hw); + + return tmp; +-- +1.9.1 + diff --git a/meta-initramfs/recipes-bsp/kexecboot/files/0004-kexecboot.c-workaround-for-absolute-kernel-and-initr.patch b/meta-initramfs/recipes-bsp/kexecboot/files/0004-kexecboot.c-workaround-for-absolute-kernel-and-initr.patch new file mode 100644 index 0000000000..6d81d83578 --- /dev/null +++ b/meta-initramfs/recipes-bsp/kexecboot/files/0004-kexecboot.c-workaround-for-absolute-kernel-and-initr.patch @@ -0,0 +1,135 @@ +From de9a6284df8add6ec03e1d9981d0b6d0595bbc69 Mon Sep 17 00:00:00 2001 +From: Andrea Adami <andrea.adami@gmail.com> +Date: Mon, 10 Nov 2014 23:37:23 +0100 +Subject: [PATCH 4/4] kexecboot.c: workaround for absolute kernel and initrd + symlinks + +Add MOUNTPOINT prefix if the kernel/initrd symlinks start with '/'. +Do nothing if the path is a relative symbolic link or not a symlink. + +Fix following situation: + +root@mizar:/var/tmp# ls -al boot/ +total 2076 +drwxr-xr-x 2 root root 4096 lug 5 01:38 . +drwxrwxrwt 4 root root 4096 lug 5 12:26 .. +-rw-r--r-- 1 root root 831 lug 5 01:24 boot.cfg +-rw-r--r-- 1 root root 1322 lug 5 01:24 icon.xpm +lrwxrwxrwx 1 root root 34 lug 5 12:26 zImage -> +/boot/zImage-3.14.5-yocto-standard +-rw-r--r-- 1 root root 2106832 lug 5 01:20 zImage-3.14.5-yocto-standard + +Cannot open `/mnt/boot/zImage': No such file or directory +Nothing has been loaded! + +Signed-off-by: Andrea Adami <andrea.adami@gmail.com> +--- + kexecboot.c | 53 ++++++++++++++++++++++++++++++++++++++++++++--------- + 1 file changed, 44 insertions(+), 9 deletions(-) + +diff --git a/kexecboot.c b/kexecboot.c +index 7268d6b..8a7a7d2 100644 +--- a/kexecboot.c ++++ b/kexecboot.c +@@ -208,11 +208,16 @@ void start_kernel(struct params_t *params, int choice) + const char *load_argv[] = { NULL, "-l", NULL, NULL, NULL, NULL }; + const char *exec_argv[] = { NULL, "-e", NULL, NULL}; + +- char *cmdline_arg = NULL, *initrd_arg = NULL; ++ char *cmdline_arg = NULL, *initrd_arg = NULL, *kernel_arg = NULL; + int n, idx, u; + struct stat sinfo; + struct boot_item_t *item; + ++ /* buffer for readlink (could be truncated) */ ++ char buf[512]; ++ int len; ++ ++ + item = params->bootcfg->list[choice]; + + exec_argv[0] = kexec_path; +@@ -306,10 +311,17 @@ void start_kernel(struct params_t *params, int choice) + } + } + ++ /* Mount boot device */ ++ if ( -1 == mount(mount_dev, mount_point, mount_fstype, ++ MS_RDONLY, NULL) ) { ++ perror("Can't mount boot device"); ++ exit(-1); ++ } ++ + /* fill '--initrd' option */ + if (item->initrd) { + /* allocate space */ +- n = sizeof(str_initrd_start) + strlen(item->initrd); ++ n = sizeof(str_initrd_start) + strlen(item->initrd) + 1 + sizeof(mount_point) + sizeof(buf); + + initrd_arg = (char *)malloc(n); + if (NULL == initrd_arg) { +@@ -317,24 +329,46 @@ void start_kernel(struct params_t *params, int choice) + } else { + strcpy(initrd_arg, str_initrd_start); /* --initrd= */ + strcat(initrd_arg, item->initrd); ++ ++ if ((len = readlink(item->initrd, buf, sizeof(buf)-1)) != -1) { ++ buf[len] = '\0'; ++ /* Fix absolute symlinks: prepend MOUNTPOINT */ ++ if (buf[0] == '/') { ++ strcpy(initrd_arg, str_initrd_start); /* --initrd= */ ++ strcat(initrd_arg, mount_point); ++ strcat(initrd_arg, buf); ++ } ++ } + load_argv[idx] = initrd_arg; + ++idx; + } + } + + /* Append kernelpath as last arg of kexec */ +- load_argv[idx] = item->kernelpath; ++ /* allocate space */ ++ n = strlen(item->kernelpath) + 1 + sizeof(mount_point) + sizeof(buf); ++ ++ kernel_arg = (char *)malloc(n); ++ if (NULL == kernel_arg) { ++ perror("Can't allocate memory for kernel_arg"); ++ } else { ++ strcpy(kernel_arg, item->kernelpath); ++ ++ if ((len = readlink(item->kernelpath, buf, sizeof(buf)-1)) != -1) { ++ buf[len] = '\0'; ++ /* Fix absolute symlinks: prepend MOUNTPOINT */ ++ if (buf[0] == '/') { ++ strcpy(kernel_arg, mount_point); ++ strcat(kernel_arg, buf); ++ } ++ } ++ load_argv[idx] = kernel_arg; ++ } + + DPRINTF("load_argv: %s, %s, %s, %s, %s", load_argv[0], + load_argv[1], load_argv[2], + load_argv[3], load_argv[4]); + +- /* Mount boot device */ +- if ( -1 == mount(mount_dev, mount_point, mount_fstype, +- MS_RDONLY, NULL) ) { +- perror("Can't mount boot device"); +- exit(-1); +- } + + /* Load kernel */ + n = fexecw(kexec_path, (char *const *)load_argv, envp); +@@ -347,6 +381,7 @@ void start_kernel(struct params_t *params, int choice) + + dispose(cmdline_arg); + dispose(initrd_arg); ++ dispose(kernel_arg); + + /* Check /proc/sys/net presence */ + if ( -1 == stat("/proc/sys/net", &sinfo) ) { +-- +1.9.1 + diff --git a/meta-initramfs/recipes-bsp/kexecboot/kexecboot_0.6.bb b/meta-initramfs/recipes-bsp/kexecboot/kexecboot_0.6.bb index 1fb5f0da5f..9061c272fc 100644 --- a/meta-initramfs/recipes-bsp/kexecboot/kexecboot_0.6.bb +++ b/meta-initramfs/recipes-bsp/kexecboot/kexecboot_0.6.bb @@ -42,7 +42,14 @@ SRC_URI = "https://github.com/kexecboot/kexecboot/archive/v${PV}.tar.gz" SRC_URI[md5sum] = "46b7c1a6f20531be56445ebb8669a2b8" SRC_URI[sha256sum] = "6b360b8aa59bc5d68a96705349a0dd416f8ed704e931fa0ac7849298258f0f15" -inherit autotools-brokensep +SRC_URI += "\ + file://0001-kexecboot-fix-build-when-S-B.patch \ + file://0002-kexecboot-fix-configure-warnings.patch \ + file://0003-kexecboot-do-not-hardcode-MOUNTPOINT.patch \ + file://0004-kexecboot.c-workaround-for-absolute-kernel-and-initr.patch \ + " + +inherit autotools EXTRA_OECONF = "--enable-delay=2 --enable-evdev-rate=1000,250" diff --git a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb index ea55a4dfbd..77c137c463 100644 --- a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb +++ b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb @@ -13,8 +13,10 @@ SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git" S = "${WORKDIR}/git" -do_configure() { - ./configure --prefix=${prefix} \ +inherit distro_features_check +REQUIRED_DISTRO_FEATURES = "systemd" + +EXTRA_OECONF = "--prefix=${prefix} \ --libdir=${libdir} \ --datadir=${datadir} \ --sysconfdir=${sysconfdir} \ @@ -23,20 +25,31 @@ do_configure() { --bindir=${bindir} \ --includedir=${includedir} \ --localstatedir=${localstatedir} \ + --systemdsystemunitdir=${systemd_unitdir}/system" + +do_configure() { + ./configure ${EXTRA_OECONF} } do_install() { oe_runmake install DESTDIR=${D} } -FILES_${PN} += "${datadir}/bash-completion \ - ${libdir}/kernel \ +PACKAGES =+ "${PN}-bash-completion" + +FILES_${PN}-bash-completion = "${datadir}/bash-completion" + +FILES_${PN} += " ${libdir}/kernel \ + ${systemd_unitdir} \ " +CONFFILES_${PN} += "${sysconfdir}/dracut.conf" + +RDEPENDS_${PN} = "systemd findutils cpio util-linux-blkid util-linux-getopt bash ldd" +RDEPENDS_${PN}-bash-completion = "bash-completion" -# 'getopt' is in the util-linux main package -RDEPENDS_${PN} = "systemd findutils cpio util-linux-blkid util-linux bash ldd" # This could be optimized a bit, but let's avoid non-booting systems :) RRECOMMENDS_${PN} = " \ kernel-modules \ + busybox \ coreutils \ " diff --git a/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-initramfs/recipes-devtools/klibc/klibc.inc index f3e9972a4f..9f445e1cb2 100644 --- a/meta-initramfs/recipes-devtools/klibc/klibc.inc +++ b/meta-initramfs/recipes-devtools/klibc/klibc.inc @@ -24,6 +24,7 @@ S = "${WORKDIR}/git" EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \ 'CROSS_COMPILE=${TARGET_PREFIX}' \ 'KLIBCKERNELSRC=${STAGING_DIR_TARGET}${exec_prefix}' \ + 'KLIBCLIBGCC=${STAGING_DIR_TARGET}${libdir}/${TARGET_SYS}/*/libgcc.a' \ 'prefix=${exec_prefix}' \ 'INSTALLROOT=${D}' \ 'SHLIBDIR=${libdir}' \ diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0001-Makefile-only-build-ubi-utils.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0001-Makefile-only-build-ubi-utils.patch new file mode 100644 index 0000000000..9d5e4ebf07 --- /dev/null +++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0001-Makefile-only-build-ubi-utils.patch @@ -0,0 +1,87 @@ +From c4e6bd9378645d577e9d9f85da85f1438afe7c50 Mon Sep 17 00:00:00 2001 +From: Andrea Adami <andrea.adami@gmail.com> +Date: Sun, 29 Jun 2014 00:32:29 +0200 +Subject: [PATCH 1/6] Makefile: build ubi-utils only + +We build all the static ubi-utils but actually only ubiattach is needed in +a minimalistic initramfs for the mount of ubi volumes. + +More fixes are needed in order to build the full mtd-utils. +The first issue is: + +| mkfs.jffs2.c:64:20: fatal error: libgen.h: No such file or directory +| #include <libgen.h> + +Removing the include then the second error is: + +| mkfs.jffs2.c:1570:22: error: '_SC_PAGESIZE' undeclared +| (first use in this function) +| page_size = sysconf(_SC_PAGESIZE); + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Andrea Adami <andrea.adami@gmail.com> +--- + Makefile | 24 ++---------------------- + 1 file changed, 2 insertions(+), 22 deletions(-) + +diff --git a/Makefile b/Makefile +index eade234..2275865 100644 +--- a/Makefile ++++ b/Makefile +@@ -16,28 +16,13 @@ endif + + TESTS = tests + +-MTD_BINS = \ +- ftl_format flash_erase nanddump doc_loadbios \ +- ftl_check mkfs.jffs2 flash_lock flash_unlock \ +- flash_otp_info flash_otp_dump flash_otp_lock flash_otp_write \ +- mtd_debug flashcp nandwrite nandtest \ +- jffs2dump \ +- nftldump nftl_format docfdisk \ +- rfddump rfdformat \ +- serve_image recv_image \ +- sumtool jffs2reader + UBI_BINS = \ + ubiupdatevol ubimkvol ubirmvol ubicrc32 ubinfo ubiattach \ + ubidetach ubinize ubiformat ubirename mtdinfo ubirsvol ubiblock + +-BINS = $(MTD_BINS) +-BINS += mkfs.ubifs/mkfs.ubifs +-BINS += $(addprefix ubi-utils/,$(UBI_BINS)) +-SCRIPTS = flash_eraseall ++BINS = $(addprefix ubi-utils/,$(UBI_BINS)) + + TARGETS = $(BINS) +-TARGETS += lib/libmtd.a +-TARGETS += ubi-utils/libubi.a + + OBJDEPS = $(BUILDDIR)/include/version.h + +@@ -61,12 +46,9 @@ endif + rm -f $(BUILDDIR)/include/version.h + $(MAKE) -C $(TESTS) clean + +-install:: $(addprefix $(BUILDDIR)/,${BINS}) ${SCRIPTS} ++install:: $(addprefix $(BUILDDIR)/,${BINS}) + mkdir -p ${DESTDIR}/${SBINDIR} + install -m 0755 $^ ${DESTDIR}/${SBINDIR}/ +- mkdir -p ${DESTDIR}/${MANDIR}/man1 +- install -m 0644 mkfs.jffs2.1 ${DESTDIR}/${MANDIR}/man1/ +- -gzip -9f ${DESTDIR}/${MANDIR}/man1/*.1 + + tests:: + $(MAKE) -C $(TESTS) +@@ -91,8 +73,6 @@ LDLIBS_mkfs.jffs2 = -lz $(LZOLDLIBS) + LDFLAGS_jffs2reader = $(ZLIBLDFLAGS) $(LZOLDFLAGS) + LDLIBS_jffs2reader = -lz $(LZOLDLIBS) + +-$(foreach v,$(MTD_BINS),$(eval $(call mkdep,,$(v)))) +- + # + # Common libmtd + # +-- +1.9.1 + diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0002-common.mk-for-klibc-CC-is-klcc.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0002-common.mk-for-klibc-CC-is-klcc.patch new file mode 100644 index 0000000000..f46824b5cd --- /dev/null +++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0002-common.mk-for-klibc-CC-is-klcc.patch @@ -0,0 +1,27 @@ +From f3609c7c0450b4c31e1d4603fcf2cfb1ba46f994 Mon Sep 17 00:00:00 2001 +From: Andrea Adami <andrea.adami@gmail.com> +Date: Sun, 29 Jun 2014 00:37:28 +0200 +Subject: [PATCH 2/6] common.mk: for klibc $(CC) is klcc + +Do not hardcode: assign the value to the variable if it is not already defined. + +Upstream-Status: Pending + +Signed-off-by: Andrea Adami <andrea.adami@gmail.com> +--- + common.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/common.mk b/common.mk +index ba87377..59c56df 100644 +--- a/common.mk ++++ b/common.mk +@@ -1,4 +1,4 @@ +-CC := $(CROSS)gcc ++CC ?= $(CROSS)gcc + AR := $(CROSS)ar + RANLIB := $(CROSS)ranlib + +-- +1.9.1 + diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0003-libubi.c-add-klibc-specific-fixes.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0003-libubi.c-add-klibc-specific-fixes.patch new file mode 100644 index 0000000000..962b3685f3 --- /dev/null +++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0003-libubi.c-add-klibc-specific-fixes.patch @@ -0,0 +1,76 @@ +From 72a39bb3290a79e76b0dbf59eef83ea2d9b577a1 Mon Sep 17 00:00:00 2001 +From: Andrea Adami <andrea.adami@gmail.com> +Date: Sun, 29 Jun 2014 00:40:15 +0200 +Subject: [PATCH 3/6] libubi.c: add klibc specific fixes for ioctl + +First issue is that ioctl() in klibc doesn't expect a constant as arg3. +Second issue is that arg3 in klibc ioctl() implementation is not optional. + +Fixes: + +| ubi-utils/libubi.c: In function 'do_attach': +| ubi-utils/libubi.c:698:8: warning: passing argument 3 of 'ioctl' discards +| 'const' qualifier from pointer target type +| ret = ioctl(fd, UBI_IOCATT, r); +| ^ +| In file included from ubi-utils/libubi.c:32:0: +| .../lib/klibc/include/sys/ioctl.h:15:14: note: expected 'void *' but argument +| is of type 'const struct ubi_attach_req *' +| __extern int ioctl(int, int, void *); +| ^ + +| ubi-utils/libubi.c: In function 'ubi_vol_block_create': +| ubi-utils/libubi.c:1118:9: error: too few arguments to function 'ioctl' +| return ioctl(fd, UBI_IOCVOLCRBLK); +| ^ +| In file included from ubi-utils/libubi.c:32:0: +| .../lib/klibc/include/sys/ioctl.h:15:14: note: declared here +| __extern int ioctl(int, int, void *); +| ^ +| ubi-utils/libubi.c: In function 'ubi_vol_block_remove': +| ubi-utils/libubi.c:1123:9: error: too few arguments to function 'ioctl' +| return ioctl(fd, UBI_IOCVOLRMBLK); +| ^ +| In file included from ubi-utils/libubi.c:32:0: +| .../usr/lib/klibc/include/sys/ioctl.h:15:14: note: declared here +| __extern int ioctl(int, int, void *); +| ^ + +Upstream-Status: Inappropriate [klibc specific] + +Signed-off-by: Andrea Adami <andrea.adami@gmail.com> +--- + ubi-utils/libubi.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/ubi-utils/libubi.c b/ubi-utils/libubi.c +index 1e08b7d..491e525 100644 +--- a/ubi-utils/libubi.c ++++ b/ubi-utils/libubi.c +@@ -687,7 +687,7 @@ void libubi_close(libubi_t desc) + * success and %-1 in case of failure. @r->ubi_num contains newly created UBI + * device number. + */ +-static int do_attach(const char *node, const struct ubi_attach_req *r) ++static int do_attach(const char *node, struct ubi_attach_req *r) + { + int fd, ret; + +@@ -1115,12 +1115,12 @@ int ubi_rsvol(libubi_t desc, const char *node, int vol_id, long long bytes) + + int ubi_vol_block_create(int fd) + { +- return ioctl(fd, UBI_IOCVOLCRBLK); ++ return ioctl(fd, UBI_IOCVOLCRBLK, NULL); + } + + int ubi_vol_block_remove(int fd) + { +- return ioctl(fd, UBI_IOCVOLRMBLK); ++ return ioctl(fd, UBI_IOCVOLRMBLK, NULL); + } + + int ubi_update_start(libubi_t desc, int fd, long long bytes) +-- +1.9.1 + diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0004-common.h-klibc-fixes-1.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0004-common.h-klibc-fixes-1.patch new file mode 100644 index 0000000000..fee1cbcf90 --- /dev/null +++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0004-common.h-klibc-fixes-1.patch @@ -0,0 +1,84 @@ +From e56767b9caa02e7c41803499c77dc939d5a7f64a Mon Sep 17 00:00:00 2001 +From: Thorsten Glaser <tg@mirbsd.org> +Date: Fri, 20 Jun 2014 10:56:27 +0000 +Subject: [PATCH 4/6] Restore compatibility to dietlibc, klibc, musl libc after commit 4f1b108 + +Each C library has their own way to define off_t, and the <features.h> +header is nonstandard and specific to the GNU libc and those that clone +it (uClibc). Fefe’s dietlibc uses different flags, and klibc always uses +a 64-bit off_t (like the BSDs); musl libc cannot be recognised using cpp +instructions, so we assume 64 bit there (and on unknown C libraries) and +leave it to the user to submit a follow-up fix if we guess wrong. I also +added a static assertion to verify the 64 bit guess is correct. + +It would be really better using a configure script for this instead. + +Fixes: +| CC lib/libmtd.o +| In file included from ubi-utils/ubiutils-common.c:35:0: +| ./include/common.h:29:22: fatal error: features.h: No such file or directory +| #include <features.h> +| ^ +| compilation terminated. + +Upstream-Status: Pending + +Signed-off-by: Thorsten Glaser <tg@mirbsd.org> +Signed-off-by: Andrea Adami <andrea.adami@gmail.com> +--- + include/common.h | 24 ++++++++++++++++++++++++ + 1 file changed, 24 insertions(+) + +diff --git a/include/common.h b/include/common.h +index 6895e5c..77f3f7d 100644 +--- a/include/common.h ++++ b/include/common.h +@@ -26,7 +26,9 @@ + #include <string.h> + #include <fcntl.h> + #include <errno.h> ++#if defined(__GLIBC__) || defined(__UCLIBC__) + #include <features.h> ++#endif + #include <inttypes.h> + #include "version.h" + +@@ -52,6 +54,21 @@ extern "C" { + #endif + + /* define a print format specifier for off_t */ ++#if defined(__KLIBC__) ++/* always 64 bit on klibc */ ++#define PRIxoff_t PRIx64 ++#define PRIdoff_t PRId64 ++#elif defined(__dietlibc__) ++/* depends on compiler flags on dietlibc */ ++#if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64) ++#define PRIxoff_t PRIx64 ++#define PRIdoff_t PRId64 ++#else ++#define PRIxoff_t "l"PRIx32 ++#define PRIdoff_t "l"PRId32 ++#endif ++#elif defined(__GLIBC__) || defined(__UCLIBC__) ++/* depends on compiler flags on glibc and uClibc */ + #ifdef __USE_FILE_OFFSET64 + #define PRIxoff_t PRIx64 + #define PRIdoff_t PRId64 +@@ -59,6 +76,13 @@ extern "C" { + #define PRIxoff_t "l"PRIx32 + #define PRIdoff_t "l"PRId32 + #endif ++#else ++/* unknown libc or musl */ ++#define PRIxoff_t PRIx64 ++#define PRIdoff_t PRId64 ++/* verify our guess of 64 bit is correct */ ++static char __PRIxoff_t_static_assert[sizeof(off_t) == 8 ? 1 : -1]; ++#endif + + /* Verbose messages */ + #define bareverbose(verbose, fmt, ...) do { \ +-- +1.9.1 + diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0005-common.h-klibc-fixes-2.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0005-common.h-klibc-fixes-2.patch new file mode 100644 index 0000000000..2e43d5d974 --- /dev/null +++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0005-common.h-klibc-fixes-2.patch @@ -0,0 +1,61 @@ +From 8318852ef4f768bed31072aa7b57e11adc1f639c Mon Sep 17 00:00:00 2001 +From: Andrea Adami <andrea.adami@gmail.com> +Date: Sun, 29 Jun 2014 00:44:03 +0200 +Subject: [PATCH 5/6] common.h: more workarounds for klibc compatibility + +Patch is addressing two issues: +* First, Klibc doesn't have rpmatch(). +* Second, Klibc lacks getline() + +Fixes: +| LD ubi-utils/ubiformat +| .../git/ubi-utils/ubiformat.o: In function `prompt': +| .../git/./include/common.h:157: undefined reference to `getline' +| .../git/./include/common.h:164: undefined reference to `rpmatch' +| .../git/./include/common.h:157: undefined reference to `getline' +| .../git/./include/common.h:164: undefined reference to `rpmatch' + +Upstream-Status: Pending + +Signed-off-by: Andrea Adami <andrea.adami@gmail.com> +--- + include/common.h | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/include/common.h b/include/common.h +index 77f3f7d..2cbee0f 100644 +--- a/include/common.h ++++ b/include/common.h +@@ -126,7 +126,7 @@ static char __PRIxoff_t_static_assert[sizeof(off_t) == 8 ? 1 : -1]; + fprintf(stderr, "%s: warning!: " fmt "\n", PROGRAM_NAME, ##__VA_ARGS__); \ + } while(0) + +-#if defined(__UCLIBC__) ++#if defined(__UCLIBC__) || defined(__KLIBC__) + /* uClibc versions before 0.9.34 don't have rpmatch() */ + #if __UCLIBC_MAJOR__ == 0 && \ + (__UCLIBC_MINOR__ < 9 || \ +@@ -146,15 +146,17 @@ static inline int __rpmatch(const char *resp) + */ + static inline bool prompt(const char *msg, bool def) + { +- char *line = NULL; +- size_t len; ++ char *line; + bool ret = def; + ++ const int sizeof_line = 2; ++ line = malloc(sizeof_line); ++ + do { + normsg_cont("%s (%c/%c) ", msg, def ? 'Y' : 'y', def ? 'n' : 'N'); + fflush(stdout); + +- while (getline(&line, &len, stdin) == -1) { ++ while (fgets(line, sizeof_line, stdin) == NULL) { + printf("failed to read prompt; assuming '%s'\n", + def ? "yes" : "no"); + break; +-- +1.9.1 + diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0006-libiniparser-remove-unused-function-needing-float.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0006-libiniparser-remove-unused-function-needing-float.patch new file mode 100644 index 0000000000..043a89d67e --- /dev/null +++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/0006-libiniparser-remove-unused-function-needing-float.patch @@ -0,0 +1,85 @@ +From 72a04a9b9ed33c889d2e2b86f306c5be9f6cde35 Mon Sep 17 00:00:00 2001 +From: Andrea Adami <andrea.adami@gmail.com> +Date: Sun, 29 Jun 2014 00:44:57 +0200 +Subject: [PATCH 6/6] libiniparser: remove unused function needing float + +Fixes: +| LD ubi-utils/ubiformat +| .../git/ubi-utils/libiniparser.a(libiniparser.o): In function +| ` LD ubi-utils/ubirename +| iniparser_getdouble': +| .../git/ubi-utils/libiniparser.c:336: undefined reference to `atof' + +Grep doesn't reveal any occurrence of iniparser_getdouble(), using atof() so +remove it: floating-point is not supported in klibc + +Upstream-Status: Pending + +Signed-off-by: Andrea Adami <andrea.adami@gmail.com> +--- + ubi-utils/include/libiniparser.h | 15 --------------- + ubi-utils/libiniparser.c | 22 ---------------------- + 2 files changed, 37 deletions(-) + +diff --git a/ubi-utils/include/libiniparser.h b/ubi-utils/include/libiniparser.h +index be3c667..abd77aa 100644 +--- a/ubi-utils/include/libiniparser.h ++++ b/ubi-utils/include/libiniparser.h +@@ -158,21 +158,6 @@ int iniparser_getint(dictionary * d, const char * key, int notfound); + + /*-------------------------------------------------------------------------*/ + /** +- @brief Get the string associated to a key, convert to a double +- @param d Dictionary to search +- @param key Key string to look for +- @param notfound Value to return in case of error +- @return double +- +- This function queries a dictionary for a key. A key as read from an +- ini file is given as "section:key". If the key cannot be found, +- the notfound value is returned. +- */ +-/*--------------------------------------------------------------------------*/ +-double iniparser_getdouble(dictionary * d, char * key, double notfound); +- +-/*-------------------------------------------------------------------------*/ +-/** + @brief Get the string associated to a key, convert to a boolean + @param d Dictionary to search + @param key Key string to look for +diff --git a/ubi-utils/libiniparser.c b/ubi-utils/libiniparser.c +index 898f57f..ba70c08 100644 +--- a/ubi-utils/libiniparser.c ++++ b/ubi-utils/libiniparser.c +@@ -316,28 +316,6 @@ int iniparser_getint(dictionary * d, const char * key, int notfound) + + /*-------------------------------------------------------------------------*/ + /** +- @brief Get the string associated to a key, convert to a double +- @param d Dictionary to search +- @param key Key string to look for +- @param notfound Value to return in case of error +- @return double +- +- This function queries a dictionary for a key. A key as read from an +- ini file is given as "section:key". If the key cannot be found, +- the notfound value is returned. +- */ +-/*--------------------------------------------------------------------------*/ +-double iniparser_getdouble(dictionary * d, char * key, double notfound) +-{ +- char * str ; +- +- str = iniparser_getstring(d, key, INI_INVALID_KEY); +- if (str==INI_INVALID_KEY) return notfound ; +- return atof(str); +-} +- +-/*-------------------------------------------------------------------------*/ +-/** + @brief Get the string associated to a key, convert to a boolean + @param d Dictionary to search + @param key Key string to look for +-- +1.9.1 + diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/Makefile.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/Makefile.patch deleted file mode 100644 index b7dad878bd..0000000000 --- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/Makefile.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- a/Makefile 2012-05-01 19:46:47.000000000 +0200 -+++ b/Makefile 2012-05-01 19:48:01.000000000 +0200 -@@ -16,27 +16,13 @@ - - TESTS = tests - --MTD_BINS = \ -- ftl_format flash_erase nanddump doc_loadbios \ -- ftl_check mkfs.jffs2 flash_lock flash_unlock \ -- flash_otp_info flash_otp_dump mtd_debug flashcp nandwrite nandtest \ -- jffs2dump \ -- nftldump nftl_format docfdisk \ -- rfddump rfdformat \ -- serve_image recv_image \ -- sumtool jffs2reader - UBI_BINS = \ - ubiupdatevol ubimkvol ubirmvol ubicrc32 ubinfo ubiattach \ - ubidetach ubinize ubiformat ubirename mtdinfo ubirsvol - --BINS = $(MTD_BINS) --BINS += mkfs.ubifs/mkfs.ubifs --BINS += $(addprefix ubi-utils/,$(UBI_BINS)) --SCRIPTS = flash_eraseall -+BINS = $(addprefix ubi-utils/,$(UBI_BINS)) - - TARGETS = $(BINS) --TARGETS += lib/libmtd.a --TARGETS += ubi-utils/libubi.a - - OBJDEPS = $(BUILDDIR)/include/version.h - -@@ -58,12 +44,9 @@ - rm -f $(BUILDDIR)/include/version.h - $(MAKE) -C $(TESTS) clean - --install:: $(addprefix $(BUILDDIR)/,${BINS}) ${SCRIPTS} -+install:: $(addprefix $(BUILDDIR)/,${BINS}) - mkdir -p ${DESTDIR}/${SBINDIR} - install -m 0755 $^ ${DESTDIR}/${SBINDIR}/ -- mkdir -p ${DESTDIR}/${MANDIR}/man1 -- install -m 0644 mkfs.jffs2.1 ${DESTDIR}/${MANDIR}/man1/ -- -gzip -9f ${DESTDIR}/${MANDIR}/man1/*.1 - - tests:: - $(MAKE) -C $(TESTS) -@@ -88,7 +71,6 @@ - LDFLAGS_jffs2reader = $(ZLIBLDFLAGS) $(LZOLDFLAGS) - LDLIBS_jffs2reader = -lz $(LZOLDLIBS) - --$(foreach v,$(MTD_BINS),$(eval $(call mkdep,,$(v)))) - - # - # Common libmtd diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/common.mk.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/common.mk.patch deleted file mode 100644 index 0a48416c06..0000000000 --- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/common.mk.patch +++ /dev/null @@ -1,8 +0,0 @@ ---- a/common.mk 2012-04-29 18:15:30.000000000 +0200 -+++ b/common.mk 2012-04-29 00:51:53.000000000 +0200 -@@ -1,4 +1,4 @@ --CC := $(CROSS)gcc -+CC := $(CROSS)klcc - AR := $(CROSS)ar - RANLIB := $(CROSS)ranlib - diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libiniparser.c.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libiniparser.c.patch deleted file mode 100644 index 45f2439c8a..0000000000 --- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libiniparser.c.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/ubi-utils/libiniparser.c 2012-05-29 23:46:08.000000000 +0200 -+++ b/ubi-utils/libiniparser.c 2012-05-29 23:45:01.000000000 +0200 -@@ -327,6 +327,8 @@ - the notfound value is returned. - */ - /*--------------------------------------------------------------------------*/ -+/* Floating-point is not supported in klibc */ -+/* - double iniparser_getdouble(dictionary * d, char * key, double notfound) - { - char * str ; -@@ -335,6 +337,7 @@ - if (str==INI_INVALID_KEY) return notfound ; - return atof(str); - } -+*/ - - /*-------------------------------------------------------------------------*/ - /** diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libubi.c.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libubi.c.patch deleted file mode 100644 index b52e207898..0000000000 --- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/libubi.c.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- a/ubi-utils/libubi.c 2012-05-01 01:57:51.000000000 +0200 -+++ b/ubi-utils/libubi.c 2012-05-01 01:55:14.000000000 +0200 -@@ -686,7 +706,7 @@ - * success and %-1 in case of failure. @r->ubi_num contains newly created UBI - * device number. - */ --static int do_attach(const char *node, const struct ubi_attach_req *r) -+static int do_attach(const char *node, struct ubi_attach_req *r) - { - int fd, ret; - -@@ -1346,13 +1346,13 @@ - - int ubi_set_property(int fd, uint8_t property, uint64_t value) - { -- struct ubi_set_prop_req r; -+ struct ubi_set_vol_prop_req r; - -- memset(&r, 0, sizeof(struct ubi_set_prop_req)); -+ memset(&r, 0, sizeof(struct ubi_set_vol_prop_req)); - r.property = property; - r.value = value; - -- return ioctl(fd, UBI_IOCSETPROP, &r); -+ return ioctl(fd, UBI_IOCSETVOLPROP, &r); - } - - int ubi_leb_unmap(int fd, int lnum) diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/ubiformat.c.patch b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/ubiformat.c.patch deleted file mode 100644 index d21ed577b1..0000000000 --- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc/ubiformat.c.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/ubi-utils/ubiformat.c 2012-05-03 01:14:39.000000000 +0200 -+++ b/ubi-utils/ubiformat.c 2012-05-20 23:11:57.000000000 +0200 -@@ -246,7 +246,7 @@ - - while (1) { - normsg_cont("continue? (yes/no) "); -- if (scanf("%3s", buf) == EOF) { -+ if (fgets(buf,4,stdin) == NULL) { - sys_errmsg("scanf returned unexpected EOF, assume \"yes\""); - return 1; - } -@@ -262,7 +262,7 @@ - char buf[4]; - - while (1) { -- if (scanf("%3s", buf) == EOF) { -+ if (fgets(buf,4,stdin) == NULL) { - sys_errmsg("scanf returned unexpected EOF, assume \"no\""); - return 0; - } diff --git a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.0.bb b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb index 134dd80f07..8ca1ca727d 100644 --- a/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.0.bb +++ b/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_1.5.1.bb @@ -7,16 +7,16 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ file://include/common.h;beginline=1;endline=17;md5=ba05b07912a44ea2bf81ce409380049c" - inherit klibc -SRC_URI = "git://git.infradead.org/mtd-utils.git;tag=ca39eb1d98e736109c64ff9c1aa2a6ecca222d8f \ - file://Makefile.patch \ - file://common.mk.patch \ - file://libubi.c.patch \ - file://libiniparser.c.patch \ - file://ubiformat.c.patch \ -" +SRC_URI = "git://git.infradead.org/mtd-utils.git;tag=b7455d847ab4f9eeeb6a729efc306bfda7bddc99 \ + file://0001-Makefile-only-build-ubi-utils.patch \ + file://0002-common.mk-for-klibc-CC-is-klcc.patch \ + file://0003-libubi.c-add-klibc-specific-fixes.patch \ + file://0004-common.h-klibc-fixes-1.patch \ + file://0005-common.h-klibc-fixes-2.patch \ + file://0006-libiniparser-remove-unused-function-needing-float.patch \ + " S = "${WORKDIR}/git/" @@ -31,19 +31,20 @@ do_install () { PACKAGES = "ubi-utils-klibc-dbg" -PACKAGES =+ "ubinfo-klibc ubiattach-klibc ubidetach-klibc mtdinfo-klibc ubiupdatevol-klibc \ - ubimkvol-klibc ubirename-klibc ubirmvol-klibc ubirsvol-klibc \ - ubinize-klibc ubiformat-klibc ubicrc32-klibc" +PACKAGES =+ "mtdinfo-klibc ubiattach-klibc ubiblock-klibc ubicrc32-klibc ubidetach-klibc \ + ubiformat-klibc ubimkvol-klibc ubinfo-klibc ubinize-klibc ubirename-klibc \ + ubirmvol-klibc ubirsvol-klibc ubiupdatevol-klibc" -FILES_ubinfo-klibc = "${sbindir}/ubinfo" +FILES_mtdinfo-klibc = "${sbindir}/mtdinfo" FILES_ubiattach-klibc = "${sbindir}/ubiattach" +FILES_ubiblock-klibc = "${sbindir}/ubiblock" +FILES_ubicrc32-klibc = "${sbindir}/ubicrc32" FILES_ubidetach-klibc = "${sbindir}/ubidetach" -FILES_mtdinfo-klibc = "${sbindir}/mtdinfo" -FILES_ubiupdatevol-klibc = "${sbindir}/ubiupdatevol" +FILES_ubiformat-klibc = "${sbindir}/ubiformat" FILES_ubimkvol-klibc = "${sbindir}/ubimkvol" +FILES_ubinfo-klibc = "${sbindir}/ubinfo" +FILES_ubinize-klibc = "${sbindir}/ubinize" FILES_ubirename-klibc = "${sbindir}/ubirename" FILES_ubirmvol-klibc = "${sbindir}/ubirmvol" FILES_ubirsvol-klibc = "${sbindir}/ubirsvol" -FILES_ubinize-klibc = "${sbindir}/ubinize" -FILES_ubiformat-klibc = "${sbindir}/ubiformat" -FILES_ubicrc32-klibc = "${sbindir}/ubicrc32" +FILES_ubiupdatevol-klibc = "${sbindir}/ubiupdatevol" diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/fix-out-of-tree-build.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/fix-out-of-tree-build.patch new file mode 100644 index 0000000000..ccbb24d0db --- /dev/null +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/fix-out-of-tree-build.patch @@ -0,0 +1,54 @@ +From 37737527725e465833be649101c4a6f8352c5d5e Mon Sep 17 00:00:00 2001 +From: Tyler Hall <tylerwhall@gmail.com> +Date: Tue, 7 Feb 2012 18:50:05 -0500 +Subject: Fix out-of-tree build + +Use automatic variables for prerequisites when copying man pages and +include a makefile relative to $(srcdir). + +Backported to 2.0.2-klibc + +Signed-off-by: Tyler Hall <tylerwhall@gmail.com> +Signed-off-by: Simon Horman <horms@verge.net.au> + +diff --git a/kdump/Makefile b/kdump/Makefile +index 1e2b72c..5dfa928 100644 +--- a/kdump/Makefile ++++ b/kdump/Makefile +@@ -22,7 +22,7 @@ $(KDUMP): $(KDUMP_OBJS) + + $(KDUMP_MANPAGE): kdump/kdump.8 + $(MKDIR) -p $(MANDIR)/man8 +- cp kdump/kdump.8 $(KDUMP_MANPAGE) ++ cp $^ $(KDUMP_MANPAGE) + echo:: + @echo "KDUMP_SRCS $(KDUMP_SRCS)" + @echo "KDUMP_DEPS $(KDUMP_DEPS)" +diff --git a/kexec/Makefile b/kexec/Makefile +index 2137cab..8c815b5 100644 +--- a/kexec/Makefile ++++ b/kexec/Makefile +@@ -82,7 +82,7 @@ $(KEXEC): CPPFLAGS+=-I$(srcdir)/kexec/arch/$(ARCH)/include + + $(KEXEC_MANPAGE): kexec/kexec.8 + @$(MKDIR) -p $(MANDIR)/man8 +- cp kexec/kexec.8 $(KEXEC_MANPAGE) ++ cp $^ $(KEXEC_MANPAGE) + echo:: + @echo "KEXEC_SRCS $(KEXEC_SRCS)" + @echo "KEXEC_DEPS $(KEXEC_DEPS)" +diff --git a/kexec/arch/ppc/Makefile b/kexec/arch/ppc/Makefile +index 3dba7cf..41242a5 100644 +--- a/kexec/arch/ppc/Makefile ++++ b/kexec/arch/ppc/Makefile +@@ -1,7 +1,7 @@ + # + # kexec ppc (linux booting linux) + # +-include kexec/arch/ppc/libfdt/Makefile.libfdt ++include $(srcdir)/kexec/arch/ppc/libfdt/Makefile.libfdt + + ppc_KEXEC_SRCS = kexec/arch/ppc/kexec-ppc.c + ppc_KEXEC_SRCS += kexec/arch/ppc/kexec-elf-ppc.c + + diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb index b1b6ffca49..d5b7bbe9c7 100644 --- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb @@ -17,6 +17,7 @@ SRC_URI += " \ file://purgatory_string.patch \ file://sha256.patch \ file://sysconf_nrprocessors.patch \ + file://fix-out-of-tree-build.patch \ " SRC_URI_append_arm = " file://arm_crashdump.patch" diff --git a/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.17.bb b/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.17.bb deleted file mode 100644 index f3296c7e86..0000000000 --- a/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.17.bb +++ /dev/null @@ -1,26 +0,0 @@ -require recipes-kernel/linux/linux-yocto-tiny_3.17.bb -SUMMARY = "Yocto tiny kernel embedding a minimalistic kexecboot initramfs" - -PACKAGES = "" -PROVIDES = "" - -KERNEL_IMAGE_BASE_NAME = "${KERNEL_IMAGETYPE}-yocto-tiny-kexecboot-${PV}-${MACHINE}" -KERNEL_IMAGE_SYMLINK_NAME = "${KERNEL_IMAGETYPE}-yocto-tiny-kexecboot-${MACHINE}" - -INITRAMFS_IMAGE = "initramfs-kexecboot-klibc-image" -INITRAMFS_TASK = "${INITRAMFS_IMAGE}:do_rootfs" - -# disable unneeded tasks -do_install[noexec] = "1" -do_package[noexec] = "1" -do_package_qa[noexec] = "1" -do_packagedata[noexec] = "1" -do_package_deb[noexec] = "1" -do_package_ipk[noexec] = "1" -do_package_rpm[noexec] = "1" -do_package_tar[noexec] = "1" -do_package_write_deb[noexec] = "1" -do_package_write_ipk[noexec] = "1" -do_package_write_rpm[noexec] = "1" -do_package_write_tar[noexec] = "1" -do_populate_sysroot[noexec] = "1" diff --git a/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.10.bb b/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.19.bb index a823e0fb31..f6d2fa02a4 100644 --- a/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.10.bb +++ b/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.19.bb @@ -1,4 +1,4 @@ -require recipes-kernel/linux/linux-yocto-tiny_3.10.bb +require recipes-kernel/linux/linux-yocto-tiny_${PV}.bb SUMMARY = "Yocto tiny kernel embedding a minimalistic kexecboot initramfs" PACKAGES = "" diff --git a/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb b/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb index 9fda51db76..9457abc5c2 100644 --- a/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb +++ b/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb @@ -4,6 +4,6 @@ inherit gtk-doc PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk,gtk+3" -SRC_URI = "http://download.gnome.org/sources/${BPN}/0.14/${BPN}-${PV}.tar.xz" +SRC_URI = "${GNOME_MIRROR}/${BPN}/0.14/${BPN}-${PV}.tar.xz" SRC_URI[md5sum] = "b8658e480d047caf2d92baa4a51b9ae7" SRC_URI[sha256sum] = "4c3ffa01435e84dc31c954e669e1ca0749b962f76a333e74f5c2cb0de5803a13" diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb index b1b793b68e..b8cfa27d4a 100644 --- a/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb +++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb @@ -1,6 +1,6 @@ require gupnp-av.inc -SRC_URI = "http://download.gnome.org/sources/${BPN}/0.12/${BPN}-${PV}.tar.xz" +SRC_URI = "${GNOME_MIRROR}/${BPN}/0.12/${BPN}-${PV}.tar.xz" SRC_URI[md5sum] = "f56cdb269376a9e6cb062eb9960ccf57" SRC_URI[sha256sum] = "e0553d60dd7c7277c65c02a68a270c4dcb9036a4c7075c902fc8111c6a5e6a44" diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp.inc b/meta-multimedia/recipes-connectivity/gupnp/gupnp.inc index b63f2232dd..e23ba684a5 100644 --- a/meta-multimedia/recipes-connectivity/gupnp/gupnp.inc +++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp.inc @@ -13,6 +13,8 @@ inherit autotools pkgconfig FILES_${PN} = "${libdir}/*.so.*" FILES_${PN}-dev += "${bindir}/gupnp-binding-tool" +RRECOMMENDS_${PN}-dev = "python" + SYSROOT_PREPROCESS_FUNCS += "gupnp_sysroot_preprocess" gupnp_sysroot_preprocess () { diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb index bba86a9d11..c8c6164c3b 100644 --- a/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb +++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb @@ -1,6 +1,6 @@ require gupnp.inc -SRC_URI = "http://download.gnome.org/sources/${BPN}/0.20/${BPN}-${PV}.tar.xz" +SRC_URI = "${GNOME_MIRROR}/${BPN}/0.20/${BPN}-${PV}.tar.xz" SRC_URI[md5sum] = "c01aa6d3a78792b3a24591f036dd91f4" SRC_URI[sha256sum] = "205d47b950a1b7190df1115f454cb38a44d71aacfec75d4287299e400e139b69" diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb b/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb index 4b65152db5..17db7b51e8 100644 --- a/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb +++ b/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb @@ -10,7 +10,7 @@ DEPENDS = "libusb1 libcec libplist expat yajl gperf-native libxmu fribidi mpeg2d SRCREV = "82388d55dae79cbb2e486e307e23202e76a43efa" # multiple issues -PNBLACKLIST[xbmc] = "/usr/include/c++/ctime:70:11: error: '::gmtime' has not been declared" +PNBLACKLIST[xbmc] ?= "/usr/include/c++/ctime:70:11: error: '::gmtime' has not been declared" PV = "11.0+gitr${SRCPV}" PR = "r14" diff --git a/meta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb b/meta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb index 81e218f07d..a9f52cadb6 100755 --- a/meta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb +++ b/meta-multimedia/recipes-multimedia/coriander/coriander_2.0.2.bb @@ -5,7 +5,7 @@ LICENSE = "GPL-3.0" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" DEPENDS = "gtk+ libgnomeui libraw1394 libdc1394 libxv tiff" -PNBLACKLIST[coriander] = "BROKEN: fails to use SDL probably because libsdl-config was removed, error: unknown type name 'SDL_Overlay'" +PNBLACKLIST[coriander] ?= "BROKEN: fails to use SDL probably because libsdl-config was removed, error: unknown type name 'SDL_Overlay'" SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/coriander-2/${PV}/${BP}.tar.gz \ file://cross-compile.patch \ diff --git a/meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb b/meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb index f82eae0eb3..68d59faca9 100644 --- a/meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb +++ b/meta-multimedia/recipes-multimedia/dleyna/renderer-service-upnp_0.3.0.bb @@ -5,7 +5,7 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ file://src/renderer-service-upnp.c;beginline=1;endline=21;md5=c25c3082684eb4ca87474b7528c6dc15" -PNBLACKLIST[renderer-service-upnp] = "BROKEN: doesn't build with B!=S (trying to install rendererconsole.py from ${B} instead of ${S})" +PNBLACKLIST[renderer-service-upnp] ?= "BROKEN: doesn't build with B!=S (trying to install rendererconsole.py from ${B} instead of ${S})" DEPENDS = "dbus glib-2.0 gssdp gupnp gupnp-av gupnp-dlna libsoup-2.4" diff --git a/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.19.0.bb b/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.21.0.bb index 9d9dc8429d..4efdeab6ef 100644 --- a/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.19.0.bb +++ b/meta-multimedia/recipes-multimedia/mpg123/mpg123_1.21.0.bb @@ -6,7 +6,7 @@ HOMEPAGE = "http://mpg123.de/" BUGTRACKER = "http://sourceforge.net/p/mpg123/bugs/" SECTION = "multimedia" -DEPENDS = "tslib libsdl jack openal-soft portaudio-v19 audiofile esound" +DEPENDS = "tslib audiofile" # The options should be mutually exclusive for configuration script. # If both alsa and pulseaudio are specified (as in the default distro features) @@ -15,19 +15,35 @@ PACKAGECONFIG_ALSA = "${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d) PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '${PACKAGECONFIG_ALSA}', d)}" PACKAGECONFIG[pulseaudio] = "--with-default-audio=pulse,,pulseaudio" PACKAGECONFIG[alsa] = "--with-default-audio=alsa,,alsa-lib" +PACKAGECONFIG[sdl] = ",,libsdl" +PACKAGECONFIG[openal] = ",,openal-soft" +PACKAGECONFIG[jack] = ",,jack" +PACKAGECONFIG[portaudio] = ",,portaudio-v19" +PACKAGECONFIG[esd] = ",,esound" + +# Following are possible sound output modules +#alsa tinyalsa oss coreaudio sndio sun win32 win32_wasapi os2 esd jack portaudio pulse sdl nas arts openal dummy +AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'alsa', 'alsa', '', d)}" +AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'pulseaudio', 'pulse', '', d)}" +AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'sdl', 'sdl', '', d)}" +AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'openal', 'openal', '', d)}" +AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'jack', 'jack', '', d)}" +AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'portaudio', 'portaudio', '', d)}" +AUDIOMODS += "${@base_contains('PACKAGECONFIG', 'esd', 'esd', '', d)}" LICENSE = "LGPLv2.1" LICENSE_FLAGS = "commercial" LIC_FILES_CHKSUM = "file://COPYING;md5=1e86753638d3cf2512528b99079bc4f3" SRC_URI = "${SOURCEFORGE_MIRROR}/mpg123/mpg123/${PV}/${BP}.tar.bz2" -SRC_URI[md5sum] = "87731f1437cfd8c50537a606d81130e4" -SRC_URI[sha256sum] = "869024e01d7cb4dae1aea2f2a10420d4be7e1ac02a9c434d06d727599169b01b" +SRC_URI[md5sum] = "13a9df5d4e7aa110e4ae27cf30128ce9" +SRC_URI[sha256sum] = "3ad197f77c9ffdf3601e1c3183ae0709ccb3c3de68309527ce9375fcfb15dcba" inherit autotools pkgconfig EXTRA_OECONF = " \ --enable-shared \ + --with-audio='${AUDIOMODS}' \ --with-module-suffix=.so \ ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)} \ ${@bb.utils.contains('TUNE_FEATURES', 'altivec', '--with-cpu=altivec', '', d)} \ diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.18.9.bb b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.1.bb index a2410ce700..feec985560 100644 --- a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.18.9.bb +++ b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.19.1.bb @@ -3,15 +3,14 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" HOMEPAGE ="http://www.musicpd.org" -DEPENDS = "alsa-lib libsamplerate0 libsndfile1 libvorbis libogg faad2 ffmpeg curl sqlite bzip2 pulseaudio tcp-wrappers openal-soft yajl jack faad2 flac libao fluidsynth libcdio wavpack libopus mpg123 libmms libmodplug" +DEPENDS = "alsa-lib libsamplerate0 libsndfile1 libvorbis libogg faad2 ffmpeg curl sqlite bzip2 pulseaudio tcp-wrappers openal-soft yajl jack faad2 flac libao fluidsynth libcdio wavpack libopus mpg123 libmms libmodplug boost icu dbus expat zlib" SRC_URI = " \ - http://www.musicpd.org/download/${BPN}/stable/${BP}.tar.xz \ + http://www.musicpd.org/download/${BPN}/0.19/${BP}.tar.xz \ file://mpd.conf.in \ " - -SRC_URI[md5sum] = "0e5156a831d4302d2032998bcfd5c36f" -SRC_URI[sha256sum] = "0d4d3e6977cb607419abbb14c63d1e2b982acb84cd2be5346f19de5f699a68de" +SRC_URI[md5sum] = "d235f6e53e5442b6926c49946a303f8d" +SRC_URI[sha256sum] = "8b3afcd440181c9bd18b229b5974e529d59648344dd371370d6f7d62ec2847c5" inherit autotools useradd systemd @@ -49,7 +48,7 @@ do_install_append() { RPROVIDES_${PN} += "${PN}-systemd" RREPLACES_${PN} += "${PN}-systemd" RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "mpd.service" +SYSTEMD_SERVICE_${PN} = "mpd.service mpd.socket" USERADD_PACKAGES = "${PN}" USERADD_PARAM_${PN} = " \ diff --git a/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.2.13.bb b/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.3.0.bb index 1a316d3fb7..79e64aebda 100644 --- a/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.2.13.bb +++ b/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.3.0.bb @@ -8,5 +8,5 @@ inherit autotools EXTRA_OECONF = " --disable-doc " -SRC_URI[md5sum] = "53cfc52a60a156763c425572e5179273" -SRC_URI[sha256sum] = "84f1bba6cfef1df87f774fceaefc8e73c4cda32e8f6700b224ad0acb5511ba2c" +SRC_URI[md5sum] = "7f0fdb3ff91d638f5e45ed7536f7eb67" +SRC_URI[sha256sum] = "7c414acd520c4e4dd7267952f72d738ff50321a7869af4d75c65aefad44f1395" diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc.inc b/meta-multimedia/recipes-multimedia/vlc/vlc.inc index 88605dfaa7..0362f3919d 100644 --- a/meta-multimedia/recipes-multimedia/vlc/vlc.inc +++ b/meta-multimedia/recipes-multimedia/vlc/vlc.inc @@ -10,12 +10,14 @@ DEPENDS = "libfribidi libtool libgcrypt libgcrypt-native gst-plugins-bad \ tremor faad2 ffmpeg flac libxpm libxinerama fluidsynth alsa-lib \ libdvdcss libdvdread lua-native lua libidn libnotify gtk+ gnome-vfs \ libdc1394 libraw1394 avahi libjpeg-turbo xz libmodplug mpeg2dec \ - libmtp opencv libopus orc libusb1 schroedinger taglib \ + libmtp libopus orc libusb1 schroedinger taglib \ tiff xcb-util-keysyms samba" SRC_URI = "http://download.videolan.org/pub/videolan/${BPN}/${PV}/${BP}.tar.xz" -inherit autotools gettext pkgconfig +inherit autotools gettext pkgconfig distro_features_check +# depends on libxinerama libxpm xcb-util-keysyms +REQUIRED_DISTRO_FEATURES = "x11" ARM_INSTRUCTION_SET = "arm" @@ -50,6 +52,8 @@ PACKAGECONFIG[live555] = "--enable-live555,--disable-live555,live555" PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass" PACKAGECONFIG[mkv] = "--enable-mkv,--disable-mkv,libmatroska libebml" PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc,libpostproc" +PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv" +PACKAGECONFIG[libva] = "--enable-libva --enable-avcodec,--disable-libva --disable-avcodec,libva libav" do_configure_prepend() { cp ${STAGING_DATADIR}/libtool/config.* ${S}/autotools/ || true diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0006-make-opencv-configurable.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0006-make-opencv-configurable.patch new file mode 100644 index 0000000000..950c09b8ae --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0006-make-opencv-configurable.patch @@ -0,0 +1,29 @@ +Recent opencv API changes break upstream filter and example. +Make opencv explicitly configurable. + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Tim Orling <TicoTimo@gmail.com> + +Index: vlc-2.1.4/configure.ac +=================================================================== +--- vlc-2.1.4.orig/configure.ac ++++ vlc-2.1.4/configure.ac +@@ -1693,7 +1693,16 @@ PKG_ENABLE_MODULES_VLC([BLURAY], [libblu + dnl + dnl OpenCV wrapper and example filters + dnl +-PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv > 2.0], (OpenCV (computer vision) filter), [auto]) ++AC_ARG_ENABLE(opencv, ++ [AS_HELP_STRING([--disable-opencv], ++ [disable OpenCV computer vision filter and example (default auto)])]) ++if test "${enable_opencv}" != "no" ++then ++ PKG_ENABLE_MODULES_VLC([OPENCV], ++ [opencv_example opencv_wrapper], ++ [opencv > 2.0], ++ (OpenCV (computer vision) filter), [auto]) ++fi + + + dnl diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc_2.1.4.bb b/meta-multimedia/recipes-multimedia/vlc/vlc_2.1.4.bb index b4047d3be4..418f77cfcf 100644 --- a/meta-multimedia/recipes-multimedia/vlc/vlc_2.1.4.bb +++ b/meta-multimedia/recipes-multimedia/vlc/vlc_2.1.4.bb @@ -8,6 +8,7 @@ SRC_URI += "file://0001-enable-subdir-objects.patch \ file://0003-use-am-path-libgcrypt.patch \ file://0004-modules-gui-qt4-out-of-tree-build.patch \ file://0005-libpostproc-header-check.patch \ + file://0006-make-opencv-configurable.patch \ " SRC_URI[md5sum] = "7ed67d22f7425011078772bfc62ac222" diff --git a/meta-multimedia/recipes-support/libmediaart/libmediaart_0.7.0.bb b/meta-multimedia/recipes-support/libmediaart/libmediaart_0.7.0.bb new file mode 100644 index 0000000000..ed7f0794c0 --- /dev/null +++ b/meta-multimedia/recipes-support/libmediaart/libmediaart_0.7.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "Library tasked with managing, extracting and handling media art caches" + +LICENSE = "LGPLv2+ & GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c \ + file://libmediaart/extract.c;endline=18;md5=dff2b6328ab067b5baadc135f9876c36 \ + file://tests/mediaarttest.c;endline=18;md5=067106eaa1f7a9d918759a096667f18e" + +DEPENDS = "glib-2.0 gdk-pixbuf" + +GNOME_COMPRESS_TYPE = "xz" +SRC_URI[archive.md5sum] = "1a44933d4cd0064e3c76d8d0ddacddc9" +SRC_URI[archive.sha256sum] = "3a9dffcad862aed7c0921579b93080d694b8a66f3676bfee8037867f653a1cd3" + +inherit gnomebase gtk-doc + +EXTRA_OECONF = "--disable-introspection --disable-qt --enable-gdkpixbuf" diff --git a/meta-networking/MAINTAINERS b/meta-networking/MAINTAINERS index 49ced8fd92..bbb2d1b5b2 100644 --- a/meta-networking/MAINTAINERS +++ b/meta-networking/MAINTAINERS @@ -29,3 +29,7 @@ COMMON M: Joe MacDonald <joe_macdonald@mentor.com> F: conf F: recipes-* + +NETKIT +M: Armin Kuster <akuster808@gmail.com> +F: recipes-netkit diff --git a/meta-networking/conf/layer.conf b/meta-networking/conf/layer.conf index d99d738bee..63bb07d5a8 100644 --- a/meta-networking/conf/layer.conf +++ b/meta-networking/conf/layer.conf @@ -14,7 +14,7 @@ BBFILE_PRIORITY_networking-layer = "5" LAYERVERSION_networking-layer = "1" LAYERDEPENDS_networking-layer = "core" -LAYERDEPENDS_networking-layer = "openembedded-layer" -LAYERDEPENDS_networking-layer = "meta-python" +LAYERDEPENDS_networking-layer += "openembedded-layer" +LAYERDEPENDS_networking-layer += "meta-python" LICENSE_PATH += "${LAYERDIR}/licenses" diff --git a/meta-networking/licenses/copyleft-next-0.3.0 b/meta-networking/licenses/copyleft-next-0.3.0 new file mode 100644 index 0000000000..a66d5bf5ee --- /dev/null +++ b/meta-networking/licenses/copyleft-next-0.3.0 @@ -0,0 +1,219 @@ + copyleft-next 0.3.0 ("this License") + Release date: 2013-05-16 + +1. License Grants; No Trademark License + + Subject to the terms of this License, I grant You: + + a) A non-exclusive, worldwide, perpetual, royalty-free, irrevocable + copyright license, to reproduce, Distribute, prepare derivative works + of, publicly perform and publicly display My Work. + + b) A non-exclusive, worldwide, perpetual, royalty-free, irrevocable + patent license under Licensed Patents to make, have made, use, sell, + offer for sale, and import Covered Works. + + This License does not grant any rights in My name, trademarks, service + marks, or logos. + +2. Distribution: General Conditions + + You may Distribute Covered Works, provided that You (i) inform + recipients how they can obtain a copy of this License; (ii) satisfy the + applicable conditions of sections 3 through 6; and (iii) preserve all + Legal Notices contained in My Work (to the extent they remain + pertinent). "Legal Notices" means copyright notices, license notices, + license texts, and author attributions, but does not include logos, + other graphical images, trademarks or trademark legends. + +3. Conditions for Distributing Derived Works; Outbound GPL Compatibility + + If You Distribute a Derived Work, You must license the entire Derived + Work as a whole under this License, with prominent notice of such + licensing. This condition may not be avoided through such means as + separate Distribution of portions of the Derived Work. You may + additionally license the Derived Work under the GPL, so that the + recipient may further Distribute the Derived Work under either this + License or the GPL. + +4. Condition Against Further Restrictions; Inbound License Compatibility + + When Distributing a Covered Work, You may not impose further + restrictions on the exercise of rights in the Covered Work granted under + this License. This condition is not excused merely because such + restrictions result from Your compliance with conditions or obligations + extrinsic to this License (such as a court order or an agreement with a + third party). + + However, You may Distribute a Covered Work incorporating material + governed by a license that is both OSI-Approved and FSF-Free as of the + release date of this License, provided that Your Distribution complies + with such other license. + +5. Conditions for Distributing Object Code + + You may Distribute an Object Code form of a Covered Work, provided that + you accompany the Object Code with a URL through which the Corresponding + Source is made available, at no charge, by some standard or customary + means of providing network access to source code. + + If you Distribute the Object Code in a physical product or tangible + storage medium ("Product"), the Corresponding Source must be available + through such URL for two years from the date of Your most recent + Distribution of the Object Code in the Product. However, if the Product + itself contains or is accompanied by the Corresponding Source (made + available in a customarily accessible manner), You need not also comply + with the first paragraph of this section. + + Each recipient of the Covered Work from You is an intended third-party + beneficiary of this License solely as to this section 5, with the right + to enforce its terms. + +6. Symmetrical Licensing Condition for Upstream Contributions + + If You Distribute a work to Me specifically for inclusion in or + modification of a Covered Work (a "Patch"), and no explicit licensing + terms apply to the Patch, You license the Patch under this License, to + the extent of Your copyright in the Patch. This condition does not + negate the other conditions of this License, if applicable to the Patch. + +7. Nullification of Copyleft/Proprietary Dual Licensing + + If I offer to license, for a fee, a Covered Work under terms other than + a license that is OSI-Approved or FSF-Free as of the release date of this + License or a numbered version of copyleft-next released by the + Copyleft-Next Project, then the license I grant You under section 1 is no + longer subject to the conditions in sections 2 through 5. + +8. Copyleft Sunset + + The conditions in sections 2 through 5 no longer apply once fifteen + years have elapsed from the date of My first Distribution of My Work + under this License. + +9. Pass-Through + + When You Distribute a Covered Work, the recipient automatically receives + a license to My Work from Me, subject to the terms of this License. + +10. Termination + + Your license grants under section 1 are automatically terminated if You + + a) fail to comply with the conditions of this License, unless You cure + such noncompliance within thirty days after becoming aware of it, or + + b) initiate a patent infringement litigation claim (excluding + declaratory judgment actions, counterclaims, and cross-claims) + alleging that any part of My Work directly or indirectly infringes + any patent. + + Termination of Your license grants extends to all copies of Covered + Works You subsequently obtain. Termination does not terminate the + rights of those who have received copies or rights from You subject to + this License. + + To the extent permission to make copies of a Covered Work is necessary + merely for running it, such permission is not terminable. + +11. Later License Versions + + The Copyleft-Next Project may release new versions of copyleft-next, + designated by a distinguishing version number ("Later Versions"). + Unless I explicitly remove the option of Distributing Covered Works + under Later Versions, You may Distribute Covered Works under any Later + Version. + +** 12. No Warranty ** +** ** +** My Work is provided "as-is", without warranty. You bear the risk ** +** of using it. To the extent permitted by applicable law, each ** +** Distributor of My Work excludes the implied warranties of title, ** +** merchantability, fitness for a particular purpose and ** +** non-infringement. ** + +** 13. Limitation of Liability ** +** ** +** To the extent permitted by applicable law, in no event will any ** +** Distributor of My Work be liable to You for any damages ** +** whatsoever, whether direct, indirect, special, incidental, or ** +** consequential damages, whether arising under contract, tort ** +** (including negligence), or otherwise, even where the Distributor ** +** knew or should have known about the possibility of such damages. ** + +14. Severability + + The invalidity or unenforceability of any provision of this License + does not affect the validity or enforceability of the remainder of + this License. Such provision is to be reformed to the minimum extent + necessary to make it valid and enforceable. + +15. Definitions + + "Copyleft-Next Project" means the project that maintains the source + code repository at <https://gitorious.org/copyleft-next/> as of the + release date of this License. + + "Corresponding Source" of a Covered Work in Object Code form means (i) + the Source Code form of the Covered Work; (ii) all scripts, + instructions and similar information that are reasonably necessary for + a skilled developer to generate such Object Code from the Source Code + provided under (i); and (iii) a list clearly identifying all Separate + Works (other than those provided in compliance with (ii)) that were + specifically used in building and (if applicable) installing the + Covered Work (for example, a specified proprietary compiler including + its version number). Corresponding Source must be machine-readable. + + "Covered Work" means My Work or a Derived Work. + + "Derived Work" means a work of authorship that copies from, modifies, + adapts, is based on, is a derivative work of, transforms, translates or + contains all or part of My Work, such that copyright permission is + required. The following are not Derived Works: (i) Mere Aggregation; + (ii) a mere reproduction of My Work; and (iii) if My Work fails to + explicitly state an expectation otherwise, a work that merely makes + reference to My Work. + + "Distribute" means to distribute, transfer or make a copy available to + someone else, such that copyright permission is required. + + "Distributor" means Me and anyone else who Distributes a Covered Work. + + "FSF-Free" means classified as 'free' by the Free Software Foundation. + + "GPL" means a version of the GNU General Public License or the GNU + Affero General Public License. + + "I"/"Me"/"My" refers to the individual or legal entity that places My + Work under this License. "You"/"Your" refers to the individual or legal + entity exercising rights in My Work under this License. A legal entity + includes each entity that controls, is controlled by, or is under + common control with such legal entity. "Control" means (a) the power to + direct the actions of such legal entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent of the + outstanding shares or beneficial ownership of such legal entity. + + "Licensed Patents" means all patent claims licensable royalty-free by + Me, now or in the future, that are necessarily infringed by making, + using, or selling My Work, and excludes claims that would be infringed + only as a consequence of further modification of My Work. + + "Mere Aggregation" means an aggregation of a Covered Work with a + Separate Work. + + "My Work" means the particular work of authorship I license to You + under this License. + + "Object Code" means any form of a work that is not Source Code. + + "OSI-Approved" means approved as 'Open Source' by the Open Source + Initiative. + + "Separate Work" means a work that is separate from and independent of a + particular Covered Work and is not by its nature an extension or + enhancement of the Covered Work, and/or a runtime library, standard + library or similar component that is used to generate an Object Code + form of a Covered Work. + + "Source Code" means the preferred form of a work for making + modifications to it. diff --git a/meta-networking/licenses/radvd b/meta-networking/licenses/radvd new file mode 100644 index 0000000000..03db0b6ce0 --- /dev/null +++ b/meta-networking/licenses/radvd @@ -0,0 +1,37 @@ +The author(s) grant permission for redistribution and use in source and +binary forms, with or without modification, of the software and documentation +provided that the following conditions are met: + +0. If you receive a version of the software that is specifically labelled + as not being for redistribution (check the version message and/or README), + you are not permitted to redistribute that version of the software in any + way or form. +1. All terms of all other applicable copyrights and licenses must be + followed. +2. Redistributions of source code must retain the authors' copyright + notice(s), this list of conditions, and the following disclaimer. +3. Redistributions in binary form must reproduce the authors' copyright + notice(s), this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. +4. All advertising materials mentioning features or use of this software + must display the following acknowledgement with the name(s) of the + authors as specified in the copyright notice(s) substituted where + indicated: + + This product includes software developed by the authors which are + mentioned at the start of the source files and other contributors. + +5. Neither the name(s) of the author(s) 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 ITS AUTHORS 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 AUTHORS 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-networking/recipes-connectivity/crda/crda-3.13/crda-Add-DESTDIR-support-in-install-libreg-rules-in-.patch b/meta-networking/recipes-connectivity/crda/crda-3.13/crda-Add-DESTDIR-support-in-install-libreg-rules-in-.patch new file mode 100644 index 0000000000..36464004dc --- /dev/null +++ b/meta-networking/recipes-connectivity/crda/crda-3.13/crda-Add-DESTDIR-support-in-install-libreg-rules-in-.patch @@ -0,0 +1,35 @@ +From: "John W. Linville" <linville@tuxdriver.com> +Date: Fri, 14 Feb 2014 13:58:44 -0500 +Subject: [PATCH] crda: Add DESTDIR support in install-libreg* rules in Makefile +Origin: https://git.kernel.org/?p=linux/kernel/git/mcgrof/crda.git/commit?id=2cabb2588da56735369131b709f191453c080be0 + +Upstream-Status: Backport + +Signed-off-by: John W. Linville <linville@tuxdriver.com> +Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com> +--- + Makefile | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index 0b2f0d7..1f25509 100644 +--- a/Makefile ++++ b/Makefile +@@ -120,13 +120,13 @@ $(LIBREG): regdb.h reglib.h reglib.c + + install-libreg-headers: + $(NQ) ' INSTALL libreg-headers' +- $(Q)mkdir -p $(INCLUDE_DIR) +- $(Q)cp *.h $(INCLUDE_DIR)/ ++ $(Q)mkdir -p $(DESTDIR)/$(INCLUDE_DIR) ++ $(Q)cp *.h $(DESTDIR)/$(INCLUDE_DIR)/ + + install-libreg: + $(NQ) ' INSTALL libreg' +- $(Q)mkdir -p $(LIBDIR) +- $(Q)cp $(LIBREG) $(LIBDIR)/ ++ $(Q)mkdir -p $(DESTDIR)/$(LIBDIR) ++ $(Q)cp $(LIBREG) $(DESTDIR)/$(LIBDIR)/ + $(Q)ldconfig + + %.o: %.c regdb.h $(LIBREG) diff --git a/meta-networking/recipes-connectivity/crda/crda-3.13/crda-Fix-the-linking-order-to-avoid-compilation-erro.patch b/meta-networking/recipes-connectivity/crda/crda-3.13/crda-Fix-the-linking-order-to-avoid-compilation-erro.patch new file mode 100644 index 0000000000..68b4b13e90 --- /dev/null +++ b/meta-networking/recipes-connectivity/crda/crda-3.13/crda-Fix-the-linking-order-to-avoid-compilation-erro.patch @@ -0,0 +1,51 @@ +From: Krishna Chaitanya <chaitanya.mgit@gmail.com> +Date: Mon, 16 Dec 2013 21:57:39 +0530 +Subject: [PATCH] crda: Fix the linking order to avoid compilation error +Origin: https://git.kernel.org/?p=linux/kernel/git/mcgrof/crda.git/commit?id=fefefdb2c52c8fbedbb339b4badb8226cad7e7e0 + +While linking the crda.o and libreg.so, first put crda.o +and then -lreg. This fixed the below error: + + GEN keys-gcrypt.c + Trusted pubkeys: pubkeys/linville.key.pub.pem + CC libreg.so + CC crda.o + LD crda +crda.o: In function `main': +crda/crda.c:196: undefined reference to `reglib_get_rd_alpha2' +collect2: ld returned 1 exit status +make: *** [crda] Error 1 + +Note: This still doesn't fix the below error (will send another mail) + + CHK /usr/lib/crda/regulatory.bin +Database signature verification failed. +Invalid or empty regulatory file, note: a binary regulatory file should be used. +make: *** [verify] Error 234 + +Upstream-Status: Backport + +Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com> +Signed-off-by: Chaitanya T K <chaitanya.mgit@gmail.com> +--- + Makefile | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 4a351c6..0b2f0d7 100644 +--- a/Makefile ++++ b/Makefile +@@ -28,10 +28,11 @@ RUNTIME_PUBKEY_DIR?=/etc/wireless-regdb/pubkeys + CFLAGS += -O2 -fpic + CFLAGS += -std=gnu99 -Wall -Werror -pedantic + CFLAGS += -Wall -g +-LDLIBS += -lm + LDLIBREG += -lreg ++LDLIBS += $(LDLIBREG) ++LDLIBS += -lm + LIBREG += libreg.so +-LDFLAGS += -L ./ $(LDLIBREG) ++LDFLAGS += -L ./ + + all: all_noverify verify + diff --git a/meta-networking/recipes-connectivity/crda/crda-3.13/do-not-run-ldconfig-if-destdir-is-set.patch b/meta-networking/recipes-connectivity/crda/crda-3.13/do-not-run-ldconfig-if-destdir-is-set.patch new file mode 100644 index 0000000000..3ef35ee549 --- /dev/null +++ b/meta-networking/recipes-connectivity/crda/crda-3.13/do-not-run-ldconfig-if-destdir-is-set.patch @@ -0,0 +1,21 @@ +From: Ben Hutchings <ben@decadent.org.uk> +Date: Sat, 23 Aug 2014 12:27:34 -0700 +Subject: crda: Do not run ldconfig if DESTDIR is set + +Upstream-Status: Backport [http://www.spinics.net/lists/linux-wireless/msg126028.html] + +Signed-off-by: Ben Hutchings <ben@decadent.org.uk> +Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com> + +--- a/Makefile ++++ b/Makefile +@@ -132,7 +132,9 @@ install-libreg: + $(NQ) ' INSTALL libreg' + $(Q)mkdir -p $(DESTDIR)/$(LIBDIR) + $(Q)cp $(LIBREG) $(DESTDIR)/$(LIBDIR)/ ++ifndef DESTDIR + $(Q)ldconfig ++endif + + %.o: %.c regdb.h $(LIBREG) + $(NQ) ' CC ' $@ diff --git a/meta-networking/recipes-connectivity/crda/crda-3.13/fix-linking-of-libraries-used-by-reglib.patch b/meta-networking/recipes-connectivity/crda/crda-3.13/fix-linking-of-libraries-used-by-reglib.patch new file mode 100644 index 0000000000..aceb56df74 --- /dev/null +++ b/meta-networking/recipes-connectivity/crda/crda-3.13/fix-linking-of-libraries-used-by-reglib.patch @@ -0,0 +1,50 @@ +From: Ben Hutchings <ben@decadent.org.uk> +Date: Sat, 23 Aug 2014 12:26:37 -0700 +Subject: Fix linking of libraries used by libreg + +The math and crypto libraries are called by and need to be linked to +libreg.so, not to the executables. + +Upstream-Status: Backport [http://www.spinics.net/lists/linux-wireless/msg126027.html] + +Signed-off-by: Ben Hutchings <ben@decadent.org.uk> +Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com> + +--- a/Makefile ++++ b/Makefile +@@ -30,7 +30,7 @@ CFLAGS += -std=gnu99 -Wall -Werror -peda + CFLAGS += -Wall -g + LDLIBREG += -lreg + LDLIBS += $(LDLIBREG) +-LDLIBS += -lm ++LIBREGLDLIBS += -lm + LIBREG += libreg.so + LDFLAGS += -L ./ + +@@ -40,7 +40,7 @@ all_noverify: $(LIBREG) crda intersect r + + ifeq ($(USE_OPENSSL),1) + CFLAGS += -DUSE_OPENSSL -DPUBKEY_DIR=\"$(RUNTIME_PUBKEY_DIR)\" `pkg-config --cflags openssl` +-LDLIBS += `pkg-config --libs openssl` ++LIBREGLDLIBS += `pkg-config --libs openssl` + + ifeq ($(RUNTIME_PUBKEY_ONLY),1) + CFLAGS += -DRUNTIME_PUBKEY_ONLY +@@ -51,7 +51,7 @@ endif + + else + CFLAGS += -DUSE_GCRYPT +-LDLIBS += -lgcrypt ++LIBREGLDLIBS += -lgcrypt + + $(LIBREG): keys-gcrypt.c + +@@ -121,7 +121,7 @@ keys-%.c: utils/key2pub.py $(wildcard $( + + $(LIBREG): regdb.h reglib.h reglib.c + $(NQ) ' CC ' $@ +- $(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -shared -Wl,-soname,$(LIBREG) $^ ++ $(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -shared -Wl,-soname,$(LIBREG) $^ $(LIBREGLDLIBS) + + install-libreg-headers: + $(NQ) ' INSTALL libreg-headers' diff --git a/meta-networking/recipes-connectivity/crda/crda_1.1.3.bb b/meta-networking/recipes-connectivity/crda/crda_1.1.3.bb deleted file mode 100644 index 0bb899860b..0000000000 --- a/meta-networking/recipes-connectivity/crda/crda_1.1.3.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "Wireless Central Regulatory Domain Agent" -HOMEPAGE = "http://wireless.kernel.org/en/developers/Regulatory/CRDA" - -LICENSE = "ISC" -LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c" - - -DEPENDS = "python-m2crypto-native python-native libgcrypt libnl" - -SRC_URI = "http://wireless.kernel.org/download/crda/${BP}.tar.bz2;name=crda \ - http://wireless.kernel.org/download/wireless-regdb/regulatory.bins/2013.01.11-regulatory.bin;name=bin \ -" -SRC_URI[crda.md5sum] = "29579185e06a75675507527243d28e5c" -SRC_URI[crda.sha256sum] = "aa8a7fe92f0765986c421a5b6768a185375ac210393df0605ee132f6754825f0" -SRC_URI[bin.md5sum] = "e0c8a5ca63fb8bf803213f9a0c90b50b" -SRC_URI[bin.sha256sum] = "b1ee0b20c123c612dfdb6851ab42c01666f66fb583e0e590942f19bb54cf84be" - -inherit python-dir pythonnative -# Recursive make problem -EXTRA_OEMAKE = "MAKEFLAGS= DESTDIR=${D}" - -do_compile() { - oe_runmake all_noverify -} - -do_install() { - oe_runmake SBINDIR=${sbindir}/ install - - install -d ${D}${libdir}/crda/ - - install -m 0644 ${WORKDIR}/2013.01.11-regulatory.bin ${D}${libdir}/crda/regulatory.bin -} - - -RDEPENDS_${PN} = "udev" -FILES_${PN} += "${libdir}crda/regulatory.bin \ - ${base_libdir}/udev/rules.d/85-regulatory.rules \ -" diff --git a/meta-networking/recipes-connectivity/crda/crda_3.13.bb b/meta-networking/recipes-connectivity/crda/crda_3.13.bb new file mode 100644 index 0000000000..2ccced42e6 --- /dev/null +++ b/meta-networking/recipes-connectivity/crda/crda_3.13.bb @@ -0,0 +1,43 @@ +SUMMARY = "Wireless Central Regulatory Domain Agent" +HOMEPAGE = "http://wireless.kernel.org/en/developers/Regulatory/CRDA" + +LICENSE = "copyleft-next-0.3.0 & ISC" +LIC_FILES_CHKSUM = "file://copyleft-next-0.3.0;md5=8743a2c359037d4d329a31e79eabeffe \ + file://${WORKDIR}/wireless-regdb-2014.11.18/LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c" + +DEPENDS = "python-m2crypto-native python-native" + +SRC_URI = "https://www.kernel.org/pub/software/network/crda/${BP}.tar.xz;name=crda \ + https://www.kernel.org/pub/software/network/wireless-regdb/wireless-regdb-2014.11.18.tar.xz;name=bin \ + file://crda-Fix-the-linking-order-to-avoid-compilation-erro.patch \ + file://crda-Add-DESTDIR-support-in-install-libreg-rules-in-.patch \ + file://do-not-run-ldconfig-if-destdir-is-set.patch \ + file://fix-linking-of-libraries-used-by-reglib.patch \ +" +SRC_URI[crda.md5sum] = "66b1b0417c1ad19f0009a5c0c0c1aebc" +SRC_URI[crda.sha256sum] = "2f85da7ab0170b140d6ed62596c8f268d4a7dedecf84cac7182ada979742ff59" + +SRC_URI[bin.md5sum] = "d750c402c5510add7380edcb1d9b75b2" +SRC_URI[bin.sha256sum] = "eab6b50f30748a8b0065ba38cf3df05aac161a5861ae0a6c3cfd01d38a71c9dd" + +inherit python-dir pythonnative +# Recursive make problem +EXTRA_OEMAKE = "MAKEFLAGS= DESTDIR=${D} LIBDIR=${libdir}/crda LDLIBREG='-Wl,-rpath,${libdir}/crda -lreg'" + +do_compile() { + oe_runmake all_noverify +} + +do_install() { + oe_runmake SBINDIR=${sbindir}/ install + + install -d ${D}${libdir}/crda/ + + install -m 0644 ${WORKDIR}/wireless-regdb-2014.11.18/regulatory.bin ${D}${libdir}/crda/regulatory.bin +} + + +RDEPENDS_${PN} = "udev libgcrypt libnl" +FILES_${PN} += "${libdir}crda/regulatory.bin \ + ${base_libdir}/udev/rules.d/85-regulatory.rules \ +" diff --git a/meta-networking/recipes-connectivity/cyassl/cyassl_3.1.0.bb b/meta-networking/recipes-connectivity/cyassl/cyassl_3.3.0.bb index e3edab6f1d..b6f852dc2a 100644 --- a/meta-networking/recipes-connectivity/cyassl/cyassl_3.1.0.bb +++ b/meta-networking/recipes-connectivity/cyassl/cyassl_3.3.0.bb @@ -1,4 +1,4 @@ -SUMMARY = "CyaSSL Embedded SSL Library" +SUMMARY = "CyaSSL Lightweight, Embedded SSL Library" DESCRIPTION = "CyaSSL is a lightweight SSL library written in C and \ optimized for embedded and RTOS environments. It can be \ Up to 20 times smaller than OpenSSL while still supporting \ @@ -11,7 +11,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "http://www.yassl.com/${BP}.zip" -SRC_URI[md5sum] = "72477eb50697e759d309c49cb1aef18a" -SRC_URI[sha256sum] = "85a79009d2a7468910dfb1e4b975e0b00a42c695f4f1a2adc16d2507b5d0b03e" +SRC_URI[md5sum] = "0303eb0f2f9065a1207d9104ab0eba7c" +SRC_URI[sha256sum] = "e51583ea1e4d64537553922d67a96360312811dffef58d4c05506aa98a296fe3" inherit autotools + diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.2.bb b/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.2.bb index 2bae3ee8f5..e46133efb2 100644 --- a/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.2.bb +++ b/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.2.bb @@ -23,7 +23,7 @@ SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.gz \ SRC_URI[md5sum] = "aa1a9a132259db83e66c1f3265065ba2" SRC_URI[sha256sum] = "0423ea40a160cd4630f817e247df5c08ecc625378d2bb56a0509117a36a89913" -inherit autotools gettext update-alternatives +inherit autotools gettext update-alternatives texinfo SRC_URI += "${@base_contains('DISTRO_FEATURES', 'ipv6', '', 'file://fix-disable-ipv6.patch', d)}" noipv6="${@base_contains('DISTRO_FEATURES', 'ipv6', '', '--disable-ipv6 gl_cv_socket_ipv6=no', d)}" diff --git a/meta-networking/recipes-connectivity/polarssl/polarssl_1.3.8.bb b/meta-networking/recipes-connectivity/polarssl/polarssl_1.3.8.bb new file mode 100644 index 0000000000..8adc0b1b30 --- /dev/null +++ b/meta-networking/recipes-connectivity/polarssl/polarssl_1.3.8.bb @@ -0,0 +1,35 @@ +SUMMARY = "Lightweight crypto and SSL/TLS library" +DESCRIPTION = "PolarSSL is a lean open source crypto library \ +for providing SSL and TLS support in your programs. It offers \ +an intuitive API and documented header files, so you can actually \ +understand what the code does. It features: \ + \ + - Symmetric algorithms, like AES, Blowfish, Triple-DES, DES, ARC4, \ + Camellia and XTEA \ + - Hash algorithms, like SHA-1, SHA-2, RIPEMD-160 and MD5 \ + - Entropy pool and random generators, like CTR-DRBG and HMAC-DRBG \ + - Public key algorithms, like RSA, Elliptic Curves, Diffie-Hellman, \ + ECDSA and ECDH \ + - SSL v3 and TLS 1.0, 1.1 and 1.2 \ + - Abstraction layers for ciphers, hashes, public key operations, \ + platform abstraction and threading \ +" + +HOMEPAGE = "https://polarssl.org" +BUGTRACKER = "https://github.com/polarssl/polarssl/issues" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" + +SECTION = "net" + +SRC_URI = "https://polarssl.org/download/polarssl-${PV}-gpl.tgz" + +SRC_URI[md5sum] = "d1a2b4f21727e888f143414d2e3144e6" +SRC_URI[sha256sum] = "318171db41335cacbb5b0047c94f1faf91442ab70a223b5223436703c9406ff1" + +DEPENDS = "openssl" +RDEPENDS_${PN} += "libcrypto" +EXTRA_OECMAKE = "-DUSE_SHARED_POLARSSL_LIBRARY=on -DLIB_INSTALL_DIR=${baselib}" + +inherit cmake diff --git a/meta-networking/recipes-connectivity/sethdlc/files/sethdlc-fix-host-contamination.patch b/meta-networking/recipes-connectivity/sethdlc/files/sethdlc-fix-host-contamination.patch new file mode 100644 index 0000000000..f25a02cd88 --- /dev/null +++ b/meta-networking/recipes-connectivity/sethdlc/files/sethdlc-fix-host-contamination.patch @@ -0,0 +1,42 @@ +From 9a9137c3df5309ac359737d6ebd67fb4ff5f3cf2 Mon Sep 17 00:00:00 2001 +From: Wenzong Fan <wenzong.fan@windriver.com> +Date: Mon, 24 Nov 2014 22:05:18 -0500 +Subject: [PATCH] sethdlc: fix host contamination + +Clean INCLUDES to fix the host contamination errors: + + In file included from /usr/src/linux/include/linux/posix_types.h:47:0, + from /usr/src/linux/include/linux/types.h:17, + from /usr/src/linux/include/linux/if.h:22, + from sethdlc.c:23: + /usr/src/linux/include/asm-generic/posix_types.h:91:3: \ + error: conflicting types for '__kernel_fsid_t' + } __kernel_fsid_t; + ^ + .../tmp/sysroots/qemumips/usr/include/asm/posix_types.h:26:3: \ + note: previous declaration of '__kernel_fsid_t' was here + } __kernel_fsid_t; + ^ + +Upstream-Status: Pending + +Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 0492f2b..97dec22 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,6 +1,6 @@ + CC = gcc + CFLAGS = -O2 -Wall -W -Wno-long-long -pipe +-INCLUDES = -I/usr/src/linux/include -I/usr/src/linux-2.6/include ++INCLUDES = + + all: sethdlc + +-- +1.7.9.5 + diff --git a/meta-networking/recipes-connectivity/sethdlc/sethdlc.bb b/meta-networking/recipes-connectivity/sethdlc/sethdlc.bb index cf74827558..5e8d9d9bf9 100644 --- a/meta-networking/recipes-connectivity/sethdlc/sethdlc.bb +++ b/meta-networking/recipes-connectivity/sethdlc/sethdlc.bb @@ -1,10 +1,11 @@ DESCRIPTION = "set Linux HDLC packet radio modem driver port information" HOMEPAGE = "https://www.kernel.org/pub/linux/utils/net/hdlc" LICENSE = "GPLv2 & GPLv2+ " -LIC_FILES_CHKSUM = "file://Makefile;md5=19aada31930b2be84bf7138420d77263" +LIC_FILES_CHKSUM = "file://sethdlc.c;endline=10;md5=90f936879e9f8b755a138aeb348782eb" SRC_URI = "https://www.kernel.org/pub/linux/utils/net/hdlc/${BPN}-1.18.tar.gz \ + file://sethdlc-fix-host-contamination.patch \ " SRC_URI[md5sum] = "9016878156a5eadb06c0bae71cc5c9ab" SRC_URI[sha256sum] = "21b1e2e1cb0e288b0ec8fcfd9fed449914e0f8e6fc273706bd5b3d4f6ab6b04e" diff --git a/meta-networking/recipes-connectivity/snort/snort_2.9.6.0.bb b/meta-networking/recipes-connectivity/snort/snort_2.9.6.0.bb index 8f5175e797..17d6792520 100644 --- a/meta-networking/recipes-connectivity/snort/snort_2.9.6.0.bb +++ b/meta-networking/recipes-connectivity/snort/snort_2.9.6.0.bb @@ -5,6 +5,19 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=78fa8ef966b48fbf9095e13cc92377c5" DEPENDS = "libpcap libpcre daq libdnet util-linux" +# Blacklist: +# +# http://errors.yoctoproject.org/Errors/Details/8936/ +# +# snort failure is again very nasty, because it's m4 which eats all +# available memory and swap before it's killed by OOM killer. +# +# Luckily it always picked m4 +# +# [Wed Feb 18 19:00:51 2015] Out of memory: Kill process 28522 (m4) score 961 or sacrifice child +# [Wed Feb 18 19:10:51 2015] Out of memory: Kill process 45228 (m4) score 958 or sacrifice child +# ... +PNBLACKLIST[snort] ?= "BROKEN: autotools processing causes OOM condition on configure" SRC_URI = " ${GENTOO_MIRROR}/${BP}.tar.gz;name=tarball \ file://snort.init \ diff --git a/meta-networking/recipes-connectivity/ufw/ufw/0001-optimize-boot.patch b/meta-networking/recipes-connectivity/ufw/ufw/0001-optimize-boot.patch new file mode 100644 index 0000000000..a1e56b7cac --- /dev/null +++ b/meta-networking/recipes-connectivity/ufw/ufw/0001-optimize-boot.patch @@ -0,0 +1,25 @@ +Author: Jamie Strandboge <jamie@canonical.com> +Description: to improve boot speed when disabled, don't source all of + ufw-init-functions (which also sources in other files). + +Upstream-Status: Inappropriate [ not author ] + +Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com> + +Index: ufw-0.31/src/ufw-init +=================================================================== +--- ufw-0.31.orig/src/ufw-init 2012-03-09 17:07:11.000000000 -0600 ++++ ufw-0.31/src/ufw-init 2012-03-17 09:37:51.000000000 -0500 +@@ -18,6 +18,12 @@ + # + set -e + ++# Debian/Ubuntu: small boot speed improvement ++. "#CONFIG_PREFIX#/ufw/ufw.conf" ++if [ "$1" = "start" ] && [ "$2" = "quiet" ] && [ "$ENABLED" = "no" ]; then ++ exit 0 ++fi ++ + if [ -s "#STATE_PREFIX#/ufw-init-functions" ]; then + . "#STATE_PREFIX#/ufw-init-functions" + else diff --git a/meta-networking/recipes-connectivity/ufw/ufw/0002-lp1044361.patch b/meta-networking/recipes-connectivity/ufw/ufw/0002-lp1044361.patch new file mode 100644 index 0000000000..804c18bc9e --- /dev/null +++ b/meta-networking/recipes-connectivity/ufw/ufw/0002-lp1044361.patch @@ -0,0 +1,118 @@ +Origin: r795, r796 +Description: move netfilter capabilities checking into initcaps(), and call + initcaps() only when we need it. +Bug-Ubuntu: https://launchpad.net/bugs/1044361 + +Upstream-Status: Inappropriate [ not author ] + +Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com> + +Index: ufw-0.33/src/backend_iptables.py +=================================================================== +--- ufw-0.33.orig/src/backend_iptables.py 2012-09-23 09:58:34.000000000 -0500 ++++ ufw-0.33/src/backend_iptables.py 2012-09-23 09:58:36.000000000 -0500 +@@ -160,6 +160,9 @@ + out += "> " + _("Checking raw ip6tables\n") + return out + ++ # Initialize the capabilities database ++ self.initcaps() ++ + args = ['-n', '-v', '-x', '-L'] + items = [] + items6 = [] +@@ -470,6 +473,9 @@ + if self.dryrun: + return False + ++ # Initialize the capabilities database ++ self.initcaps() ++ + prefix = "ufw" + exe = self.iptables + if v6: +@@ -684,6 +690,9 @@ + except Exception: + raise + ++ # Initialize the capabilities database ++ self.initcaps() ++ + chain_prefix = "ufw" + rules = self.rules + if v6: +@@ -830,6 +839,10 @@ + * updating user rules file + * reloading the user rules file if rule is modified + ''' ++ ++ # Initialize the capabilities database ++ self.initcaps() ++ + rstr = "" + + if rule.v6: +@@ -1073,6 +1086,9 @@ + if self.dryrun: + return + ++ # Initialize the capabilities database ++ self.initcaps() ++ + rules_t = [] + try: + rules_t = self._get_logging_rules(level) +Index: ufw-0.33/src/backend.py +=================================================================== +--- ufw-0.33.orig/src/backend.py 2012-09-23 09:58:34.000000000 -0500 ++++ ufw-0.33/src/backend.py 2012-09-23 09:59:03.000000000 -0500 +@@ -21,7 +21,7 @@ + import stat + import sys + import ufw.util +-from ufw.util import warn, debug ++from ufw.util import error, warn, debug + from ufw.common import UFWError, config_dir, iptables_dir, UFWRule + import ufw.applications + +@@ -68,6 +68,17 @@ + err_msg = _("Couldn't determine iptables version") + raise UFWError(err_msg) + ++ # Initialize via initcaps only when we need it (LP: #1044361) ++ self.caps = None ++ ++ def initcaps(self): ++ '''Initialize the capabilities database. This needs to be called ++ before accessing the database.''' ++ ++ # Only initialize if not initialized already ++ if self.caps != None: ++ return ++ + self.caps = {} + self.caps['limit'] = {} + +@@ -78,14 +89,20 @@ + # Try to get capabilities from the running system if root + if self.do_checks and os.getuid() == 0 and not self.dryrun: + # v4 +- nf_caps = ufw.util.get_netfilter_capabilities(self.iptables) ++ try: ++ nf_caps = ufw.util.get_netfilter_capabilities(self.iptables) ++ except OSError as e: ++ error("initcaps\n%s" % e) + if 'recent-set' in nf_caps and 'recent-update' in nf_caps: + self.caps['limit']['4'] = True + else: + self.caps['limit']['4'] = False + + # v6 +- nf_caps = ufw.util.get_netfilter_capabilities(self.ip6tables) ++ try: ++ nf_caps = ufw.util.get_netfilter_capabilities(self.ip6tables) ++ except OSError as e: ++ error("initcaps\n%s" % e) + if 'recent-set' in nf_caps and 'recent-update' in nf_caps: + self.caps['limit']['6'] = True + else: diff --git a/meta-networking/recipes-connectivity/ufw/ufw/0003-fix-typeerror-on-error.patch b/meta-networking/recipes-connectivity/ufw/ufw/0003-fix-typeerror-on-error.patch new file mode 100644 index 0000000000..b259fdf781 --- /dev/null +++ b/meta-networking/recipes-connectivity/ufw/ufw/0003-fix-typeerror-on-error.patch @@ -0,0 +1,20 @@ +Origin: r797 +Description: src/backend_iptables.py: fix misplaced parenthesis + +Upstream-Status: Inappropriate [ not author ] + +Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com> + +Index: ufw-0.33/src/backend_iptables.py +=================================================================== +--- ufw-0.33.orig/src/backend_iptables.py 2012-09-24 08:51:13.000000000 -0500 ++++ ufw-0.33/src/backend_iptables.py 2012-09-24 08:52:00.000000000 -0500 +@@ -1075,7 +1075,7 @@ + exe = self.ip6tables + (rc, out) = cmd([exe] + args) + if rc != 0: +- err_msg = _("Could not perform '%s'") % (args) ++ err_msg = _("Could not perform '%s'" % (args)) + if fail_ok: + debug("FAILOK: " + err_msg) + else: diff --git a/meta-networking/recipes-connectivity/ufw/ufw/0004-lp1039729.patch b/meta-networking/recipes-connectivity/ufw/ufw/0004-lp1039729.patch new file mode 100644 index 0000000000..695b265671 --- /dev/null +++ b/meta-networking/recipes-connectivity/ufw/ufw/0004-lp1039729.patch @@ -0,0 +1,40 @@ +Origin: r803, r804 +Description: Don't call get_netfilter_capabilities() with ipv6 if ipv6 is + disabled. +Bug-Ubuntu: https://launchpad.net/ufw/bugs/1039729 + +Upstream-Status: Inappropriate [ not author ] + +Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com> + +Index: ufw-0.33/src/backend.py +=================================================================== +--- ufw-0.33.orig/src/backend.py 2012-12-04 09:21:57.000000000 -0600 ++++ ufw-0.33/src/backend.py 2012-12-04 09:22:40.000000000 -0600 +@@ -98,15 +98,17 @@ + else: + self.caps['limit']['4'] = False + +- # v6 +- try: +- nf_caps = ufw.util.get_netfilter_capabilities(self.ip6tables) +- except OSError as e: +- error("initcaps\n%s" % e) +- if 'recent-set' in nf_caps and 'recent-update' in nf_caps: +- self.caps['limit']['6'] = True +- else: +- self.caps['limit']['6'] = False ++ # v6 (skip capabilities check for ipv6 if ipv6 is disabled in ufw ++ # because the system may not have ipv6 support (LP: #1039729) ++ if self.use_ipv6(): ++ try: ++ nf_caps = ufw.util.get_netfilter_capabilities(self.ip6tables) ++ except OSError as e: ++ error("initcaps\n%s" % e) ++ if 'recent-set' in nf_caps and 'recent-update' in nf_caps: ++ self.caps['limit']['6'] = True ++ else: ++ self.caps['limit']['6'] = False + + def is_enabled(self): + '''Is firewall configured as enabled''' diff --git a/meta-networking/recipes-connectivity/ufw/ufw/0005-lp1191197.patch b/meta-networking/recipes-connectivity/ufw/ufw/0005-lp1191197.patch new file mode 100644 index 0000000000..b760d3fd33 --- /dev/null +++ b/meta-networking/recipes-connectivity/ufw/ufw/0005-lp1191197.patch @@ -0,0 +1,32 @@ +Origin: r816 +Description: add check for -m rt --rt-type 0 +Bug-Ubuntu: https://launchpad.net/bugs/1191197 +Forwarded: yes + +Upstream-Status: Inappropriate [ not author ] + +Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com> + +Index: ufw-0.33/tests/check-requirements +=================================================================== +--- ufw-0.33.orig/tests/check-requirements 2012-08-17 16:12:49.000000000 -0500 ++++ ufw-0.33/tests/check-requirements 2013-06-15 07:47:00.000000000 -0500 +@@ -3,7 +3,7 @@ + # check-requirements: verify all the required iptables functionality is + # available + # +-# Copyright 2008-2012 Canonical Ltd. ++# Copyright 2008-2013 Canonical Ltd. + # + # This program is free software: you can redistribute it and/or modify + # it under the terms of the GNU General Public License version 3, +@@ -218,6 +218,9 @@ + echo -n "icmpv6 with hl ($j): " + runcmd $exe -A $c -p icmpv6 --icmpv6-type $j -m hl --hl-eq 255 -j ACCEPT + done ++ ++ echo -n "ipv6 rt: " ++ runcmd $exe -A $c -m rt --rt-type 0 -j ACCEPT + fi + + echo "" diff --git a/meta-networking/recipes-connectivity/ufw/ufw/setup-add-an-option-to-specify-iptables-location.patch b/meta-networking/recipes-connectivity/ufw/ufw/setup-add-an-option-to-specify-iptables-location.patch new file mode 100644 index 0000000000..5117423387 --- /dev/null +++ b/meta-networking/recipes-connectivity/ufw/ufw/setup-add-an-option-to-specify-iptables-location.patch @@ -0,0 +1,107 @@ +From c54d36d0582a60fd281cd9287077cea205fd849d Mon Sep 17 00:00:00 2001 +From: Joe MacDonald <joe_macdonald@mentor.com> +Date: Thu, 27 Nov 2014 15:20:34 -0500 +Subject: [PATCH] setup: add an option to specify iptables location + +When cross-compiling it isn't certain that the location of iptables on the +target will be the same as on the host. It also doesn't make sense the +test the version of the host during setup. We provide an option to +specify an alternate iptables directory. This is assumed to be a +cross-compile environment and therefore no attempt is made to verify the +version of iptables to be used. + +Upstream-Status: Pending + +Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com> +--- + setup.py | 69 ++++++++++++++++++++++++++++++++++++---------------------------- + 1 file changed, 39 insertions(+), 30 deletions(-) + +diff --git a/setup.py b/setup.py +index 6fb3751..b13d11c 100644 +--- a/setup.py ++++ b/setup.py +@@ -225,41 +225,50 @@ shutil.copytree('src', 'staging') + os.unlink(os.path.join('staging', 'ufw-init')) + os.unlink(os.path.join('staging', 'ufw-init-functions')) + ++iptables_set = 0 + iptables_exe = '' + iptables_dir = '' + +-for e in ['iptables']: +- for dir in ['/sbin', '/bin', '/usr/sbin', '/usr/bin', '/usr/local/sbin', \ +- '/usr/local/bin']: +- if e == "iptables": +- if os.path.exists(os.path.join(dir, e)): +- iptables_dir = dir +- iptables_exe = os.path.join(iptables_dir, "iptables") +- print("Found '%s'" % iptables_exe) +- else: +- continue +- +- if iptables_exe != "": +- break +- +- +-if iptables_exe == '': +- print("ERROR: could not find required binary 'iptables'", file=sys.stderr) +- sys.exit(1) +- +-for e in ['ip6tables', 'iptables-restore', 'ip6tables-restore']: +- if not os.path.exists(os.path.join(iptables_dir, e)): +- print("ERROR: could not find required binary '%s'" % (e), file=sys.stderr) ++if "--iptables-dir" in sys.argv: ++ iptables_dir = sys.argv[sys.argv.index("--iptables-dir") + 1] ++ iptables_exe = os.path.join(iptables_dir, "iptables") ++ iptables_set = 1 ++ print("INFO: iptables manually set: '%s'" % (iptables_exe)) ++ sys.argv.remove(iptables_dir) ++ sys.argv.remove("--iptables-dir") ++ ++if not iptables_set: ++ for e in ['iptables']: ++ for dir in ['/sbin', '/bin', '/usr/sbin', '/usr/bin', '/usr/local/sbin', \ ++ '/usr/local/bin']: ++ if e == "iptables": ++ if os.path.exists(os.path.join(dir, e)): ++ iptables_dir = dir ++ iptables_exe = os.path.join(iptables_dir, "iptables") ++ print("Found '%s'" % iptables_exe) ++ else: ++ continue ++ ++ if iptables_exe != "": ++ break ++ ++ if iptables_exe == '': ++ print("ERROR: could not find required binary 'iptables'", file=sys.stderr) + sys.exit(1) + +-(rc, out) = cmd([iptables_exe, '-V']) +-if rc != 0: +- raise OSError(errno.ENOENT, "Could not find version for '%s'" % \ +- (iptables_exe)) +-version = re.sub('^v', '', re.split('\s', str(out))[1]) +-print("Found '%s' version '%s'" % (iptables_exe, version)) +-if version < "1.4": +- print("WARN: version '%s' has limited IPv6 support. See README for details." % (version), file=sys.stderr) ++ for e in ['ip6tables', 'iptables-restore', 'ip6tables-restore']: ++ if not os.path.exists(os.path.join(iptables_dir, e)): ++ print("ERROR: could not find required binary '%s'" % (e), file=sys.stderr) ++ sys.exit(1) ++ ++ (rc, out) = cmd([iptables_exe, '-V']) ++ if rc != 0: ++ raise OSError(errno.ENOENT, "Could not find version for '%s'" % \ ++ (iptables_exe)) ++ version = re.sub('^v', '', re.split('\s', str(out))[1]) ++ print("Found '%s' version '%s'" % (iptables_exe, version)) ++ if version < "1.4": ++ print("WARN: version '%s' has limited IPv6 support. See README for details." % (version), file=sys.stderr) + + setup (name='ufw', + version=ufw_version, +-- +1.9.1 + diff --git a/meta-networking/recipes-connectivity/ufw/ufw/setup-only-make-one-reference-to-env.patch b/meta-networking/recipes-connectivity/ufw/ufw/setup-only-make-one-reference-to-env.patch new file mode 100644 index 0000000000..ff704b5a46 --- /dev/null +++ b/meta-networking/recipes-connectivity/ufw/ufw/setup-only-make-one-reference-to-env.patch @@ -0,0 +1,77 @@ +From be53eea06a5655fdc98f47a73be8277b65bb42ed Mon Sep 17 00:00:00 2001 +From: Joe MacDonald <joe_macdonald@mentor.com> +Date: Tue, 11 Nov 2014 21:41:14 -0500 +Subject: [PATCH] setup: only make one reference to env + +If sys.executable happens to be '/usr/bin/env python' or something +similar, the setup script will result in 'ufw' getting /usr/bin/env +repeated on the top line. This causes an error at runtime. Perform a +quick sanity check on sys.executable before doing the substitution. + +While we're at it, change the default value of 'exe' to the one we either +detected or specified on the build line. + +Upstream-Status: Inappropriate [ embedded specific ] + +Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com> +--- + setup.py | 34 ++++++++++++++++++++++++++++------ + 1 file changed, 28 insertions(+), 6 deletions(-) + +diff --git a/setup.py b/setup.py +index b13d11c..73acdef 100644 +--- a/setup.py ++++ b/setup.py +@@ -64,7 +64,7 @@ class Install(_install, object): + real_sharedir = os.path.join(real_prefix, 'share', 'ufw') + + # Update the modules' paths +- for file in [ 'common.py' ]: ++ for file in [ 'common.py', 'util.py' ]: + print("Updating " + file) + subprocess.call(["sed", + "-i", +@@ -91,6 +91,11 @@ class Install(_install, object): + "s%#SHARE_DIR#%" + real_sharedir + "%g", + os.path.join('staging', file)]) + ++ subprocess.call(["sed", ++ "-i.jjm", ++ "s%/sbin/iptables%" + iptables_exe + "%g", ++ os.path.join('staging', file)]) ++ + # Now byte-compile everything + super(Install, self).run() + +@@ -107,12 +112,23 @@ class Install(_install, object): + for f in [ script, manpage, manpage_f ]: + self.mkpath(os.path.dirname(f)) + ++ # if sys.executable == /usr/bin/env python* the result will be the top ++ # of ufw getting: ++ # ++ # #! /usr/bin/env /usr/bin/env python ++ # ++ # which is not ideal ++ # + # update the interpreter to that of the one the user specified for setup +- print("Updating staging/ufw to use %s" % (sys.executable)) +- subprocess.call(["sed", +- "-i", +- "1s%^#.*python.*%#! /usr/bin/env " + sys.executable + "%g", +- 'staging/ufw']) ++ print("Updating staging/ufw to use (%s)" % (sys.executable)) ++ ++ if re.search("(/usr/bin/env)", sys.executable): ++ print("found 'env' in sys.executable (%s)" % (sys.executable)) ++ subprocess.call(["sed", ++ "-i.jjm", ++ "1s%^#.*python.*%#! " + sys.executable + "%g", ++ 'staging/ufw']) ++ + self.copy_file('staging/ufw', script) + self.copy_file('doc/ufw.8', manpage) + self.copy_file('doc/ufw-framework.8', manpage_f) +-- +1.9.1 + diff --git a/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb b/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb new file mode 100644 index 0000000000..467f2a81fb --- /dev/null +++ b/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb @@ -0,0 +1,45 @@ +SUMMARY = "Uncomplicated Firewall" +DESCRIPTION = "UFW stands for Uncomplicated Firewall, and is program for \ +managing a netfilter firewall. It provides a command line interface and aims \ +to be uncomplicated and easy to use." +HOMEPAGE = "https://launchpad.net/ufw" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" + +SRC_URI = " \ + https://launchpad.net/ufw/0.33/0.33/+download/ufw-0.33.tar.gz \ + file://setup-add-an-option-to-specify-iptables-location.patch \ + file://setup-only-make-one-reference-to-env.patch \ + file://0001-optimize-boot.patch \ + file://0002-lp1044361.patch \ + file://0003-fix-typeerror-on-error.patch \ + file://0004-lp1039729.patch \ + file://0005-lp1191197.patch \ +" +SRC_URI[md5sum] = "3747b453d76709e5a99da209fc0bb5f5" +SRC_URI[sha256sum] = "5f85a8084ad3539b547bec097286948233188c971f498890316dec170bdd1da8" + +inherit setuptools distro_features_check + +RDEPENDS_${PN} = " \ + iptables \ + python \ + python-modules \ + " + +RRECOMMENDS_${PN} = " \ + kernel-module-ipv6 \ +" + +FILES_${PN} += " \ + ${sbindir}/* \ + ${datadir}/ufw/* \ + ${base_libdir}/ufw/* \ + ${sysconfdir}/ufw/* \ + ${sysconfdir}/default/ufw \ +" + +REQUIRED_DISTRO_FEATURES = "ipv6" + +DISTUTILS_BUILD_ARGS_append = " --iptables-dir /usr/sbin" +DISTUTILS_INSTALL_ARGS_append = " --iptables-dir /usr/sbin" diff --git a/meta-networking/recipes-connectivity/vlan/vlan-1.9/no-HOME-includes.patch b/meta-networking/recipes-connectivity/vlan/vlan-1.9/no-HOME-includes.patch new file mode 100644 index 0000000000..b7ab7d97c8 --- /dev/null +++ b/meta-networking/recipes-connectivity/vlan/vlan-1.9/no-HOME-includes.patch @@ -0,0 +1,22 @@ +From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> +Subject: vlan: do not include ${HOME}/linux/include dir + +~/linux/include dir may exist and so will be added to include path +in front of sanitized kernel headers in OE chroot. Drop this include +option. + +Upstream-Status: not-applicable + +Index: vlan/MakeInclude +=================================================================== +--- vlan.orig/MakeInclude ++++ vlan/MakeInclude +@@ -16,7 +16,7 @@ ifeq "${PLATFORM}" "" + endif + + ## You may need to change this linux/include part. +-CCFLAGS = -g -D_GNU_SOURCE -Wall -I${HOME}/linux/include ++CCFLAGS = -g -D_GNU_SOURCE -Wall + LDLIBS = # -lm #-lnsl # -lsocket + + ARM_TC_BIN = ${HOME}/Intrinsyc/bin diff --git a/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb b/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb index 2c4f1577e8..d980a47f23 100644 --- a/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb +++ b/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb @@ -2,7 +2,8 @@ SUMMARY = "VLAN provides vconfig utility" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://vconfig.c;md5=293ef69c4e88434d37a5ee577a5288cb" -SRC_URI = "http://${BPN}.sourcearchive.com/downloads/${PV}-3ubuntu9/${BPN}_${PV}.orig.tar.gz" +SRC_URI = "http://${BPN}.sourcearchive.com/downloads/${PV}-3ubuntu9/${BPN}_${PV}.orig.tar.gz \ + file://no-HOME-includes.patch" SRC_URI[md5sum] = "5f0c6060b33956fb16e11a15467dd394" SRC_URI[sha256sum] = "3b8f0a1bf0d3642764e5f646e1f3bbc8b1eeec474a77392d9aeb4868842b4cca" diff --git a/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb b/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb index 986416ade2..4efc412a04 100644 --- a/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb +++ b/meta-networking/recipes-connectivity/vpnc/vpnc_0.5.3.bb @@ -7,9 +7,16 @@ LICENSE = "GPL-2.0+" LIC_FILES_CHKSUM = "file://COPYING;md5=173b74cb8ac640a9992c03f3bce22a33" DEPENDS = "libgcrypt" +inherit perlnative + CFLAGS_append = ' -DVERSION=\\"${PV}\\"' LDFLAGS_append = " -lgcrypt -lgpg-error" +do_configure_append () { + # Make sure we use our nativeperl wrapper + sed -i "1s:#!.*:#!/usr/bin/env nativeperl:" ${S}/*.pl +} + do_install () { sed -i s:m600:m\ 600:g Makefile oe_runmake 'DESTDIR=${D}' 'PREFIX=/usr' install diff --git a/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl/saslauthd.conf b/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl/saslauthd.conf new file mode 100644 index 0000000000..a91a9d3340 --- /dev/null +++ b/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl/saslauthd.conf @@ -0,0 +1,11 @@ +# Directory in which to place saslauthd's listening socket, pid file, and so +# on. This directory must already exist. +SOCKETDIR=@LOCALSTATEDIR@/run/saslauthd + +# Mechanism to use when checking passwords. Run "saslauthd -v" to get a list +# of which mechanism your installation was compiled with the ablity to use. +MECH=pam + +# Additional flags to pass to saslauthd on the command line. See saslauthd(8) +# for the list of accepted flags. +FLAGS= diff --git a/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl/saslauthd.service b/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl/saslauthd.service new file mode 100644 index 0000000000..96dbae3782 --- /dev/null +++ b/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl/saslauthd.service @@ -0,0 +1,12 @@ +[Unit] +Description=SASL authentication daemon. +After=syslog.target + +[Service] +Type=forking +PIDFile=@LOCALSTATEDIR@/run/saslauthd/saslauthd.pid +EnvironmentFile=@SYSCONFDIR@/default/saslauthd +ExecStart=@SBINDIR@/saslauthd -m $SOCKETDIR -a $MECH $FLAGS + +[Install] +WantedBy=multi-user.target diff --git a/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb b/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb index ea9cd1c240..c235a1b954 100644 --- a/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb +++ b/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.26.bb @@ -10,15 +10,17 @@ SRC_URI = "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-${PV}.tar.gz \ file://debian_patches_0009_sasldb_al.diff \ file://debian_patches_0014_avoid_pic_overwrite.diff \ file://sasl.h-include-stddef.h-for-size_t-on-NetBSD.patch \ + file://saslauthd.service \ + file://saslauthd.conf \ " -inherit autotools-brokensep pkgconfig useradd +inherit autotools-brokensep pkgconfig useradd systemd EXTRA_OECONF += "--with-dblib=berkeley \ --with-bdb-libdir=${STAGING_LIBDIR} \ --with-bdb-incdir=${STAGING_INCDIR} \ --with-bdb=db-5.3 \ - --with-plugindir="${libdir}/sasl2/" \ + --with-plugindir="${libdir}/sasl2" \ andrew_cv_runpath_switch=none" PACKAGECONFIG ??= "ntlm \ @@ -51,17 +53,42 @@ do_compile_prepend () { cd .. } +do_install_append() { + if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/saslauthd.service ${D}${systemd_unitdir}/system + + sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/saslauthd.service + sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${systemd_unitdir}/system/saslauthd.service + sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/saslauthd.service + + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d /run/saslauthd/ - - - -" > ${D}${sysconfdir}/tmpfiles.d/saslauthd.conf + + install -d ${D}${sysconfdir}/default/ + install -m 0644 ${WORKDIR}/saslauthd.conf ${D}${sysconfdir}/default/saslauthd + sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${sysconfdir}/default/saslauthd + fi +} + USERADD_PACKAGES = "${PN}-bin" GROUPADD_PARAM_${PN}-bin = "--system mail" USERADD_PARAM_${PN}-bin = "--system --home=/var/spool/mail -g mail cyrus" +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "saslauthd.service" +SYSTEMD_AUTO_ENABLE = "disable" + SRC_URI[md5sum] = "a7f4e5e559a0e37b3ffc438c9456e425" SRC_URI[sha256sum] = "8fbc5136512b59bb793657f36fadda6359cae3b08f01fd16b3d406f1345b7bc3" PACKAGES =+ "${PN}-bin" FILES_${PN} += "${libdir}/sasl2/*.so*" -FILES_${PN}-bin += "${bindir}" +FILES_${PN}-bin += "${bindir} \ + ${sysconfdir}/default/saslauthd \ + ${systemd_unitdir}/system/saslauthd.service \ + ${sysconfdir}/tmpfiles.d/saslauthd.conf" FILES_${PN}-dev += "${libdir}/sasl2/*.la" FILES_${PN}-dbg += "${libdir}/sasl2/.debug" FILES_${PN}-staticdev += "${libdir}/sasl2/*.a" diff --git a/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample new file mode 100644 index 0000000000..ec0584193d --- /dev/null +++ b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample @@ -0,0 +1,21 @@ +# options to dnrd + +# example: two default dns servers and dns servers for exampledomain.com. The +# latter are load balanced (-b) +# +# + +# DNRD_OPTS=" +# -s XXX.XXX.XX.XXX +# -s XXX.XXX.XX.XXX +# -b +# -s XXX.XXX.XX.XXX:exampledomain.com +# -s XXX.XXX.XX.XXX:exampledomain.com" + +# example: dnrd user +# + +# DNRD_USER="user" +# + + diff --git a/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init new file mode 100644 index 0000000000..2fe583fcf9 --- /dev/null +++ b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init @@ -0,0 +1,94 @@ +#!/bin/sh +# +# Startup script for dnrd +# +# Copyright 2008, Rakesh Pandit <rakesh.pandit@gmail.com> +# +# This source 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, or (at your option) +# any later version. + +# This source 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. +# +# chkconfig: - 85 15 +# description: dnrd is a proxying nameserver. It forwards DNS queries to the +# appropriate nameserver, but can also act as the primary nameserver for +# a subnet behind a firewall. It also has features such as caching DNS +# requests, support for DNS servers, cache poisoning prevention, TCP +# support, etc.. + +# processname: dnrd +# pidfile: /var/run/dnrd.pid +# config: /etc/dnrd/dnrd.conf + +# Provides: dnrd +# Required-Start: +# Should-Start: +# Required-Stop: +# Default-Stop: 0 1 2 6 +# Short-Description: Start dnrd daemon +# Description: Domain Name Relay Daemon +# END INIT INFO + +exe=/usr/sbin/dnrd +pfile=/etc/passwd + +# Source function library. +. /etc/init.d/functions + +# Source conf file +. /etc/dnrd/dnrd.conf + +[ -x $exe ] || exit 1 +[ -r "/etc/dnrd/dnrd.conf" ] || exit 1 +if [ $DNRD_USER ] +then + grep "^${LOGIN}:" $pfile >/dev/null 2>&1 + if [ $? -eq 0 ];then + echo "$DNRD_USER specified in /etc/dnrd/dnrd.conf does not exist!" + fi +else + echo "DNRD_USER not set at /etc/dnrd/dnrd.conf!" + exit 1 +fi + +case "$1" in + start) + echo -n "Starting dnrd: " + daemon dnrd $DNRD_OPTS -u $DNRD_USER + echo + touch /var/lock/subsys/dnrd + ;; + stop) + echo -n "Shutting down dnrd: " + killproc dnrd + echo + rm -f /var/lock/subsys/dnrd + rm -f /var/run/dnrd.pid + ;; + status) + status dnrd + ;; + restart) + $0 stop + $0 start + ;; + reload) + echo -n "Reloading dnrd: " + killproc dnrd -HUP + echo + ;; + *) + echo "Usage: $0 {start|stop|restart|reload|status}" + exit 1 +esac + +exit 0 diff --git a/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service new file mode 100644 index 0000000000..9c9fa66394 --- /dev/null +++ b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service @@ -0,0 +1,12 @@ +[Unit] +Description=Domain Name Relay Daemon +After=network.target + +[Service] +Type=forking +PIDFile=/var/run/dnrd.pid +EnvironmentFile=/etc/dnrd/dnrd.conf +ExecStart=/usr/sbin/dnrd $DNRD_OPTS -u $DNRD_USER + +[Install] +WantedBy=multi-user.target diff --git a/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb b/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb new file mode 100644 index 0000000000..3b8fdc93c6 --- /dev/null +++ b/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb @@ -0,0 +1,39 @@ +SUMMARY = "A caching, forwarding DNS proxy server" +DESCRIPTION = "\ +dnrd is a proxying nameserver. It forwards DNS queries to the appropriate \ +nameserver, but can also act as the primary nameserver for a subnet behind \ +a firewall. It also has features such as caching DNS requests, support for \ +DNS servers, cache poisoning prevention, TCP support, etc.." +HOMEPAGE = "http://dnrd.sourceforge.net/" +SECTION = "System Environment/Daemons" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=0be67017f1c770313ad7b40e18d568f1" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \ + file://dnrd.service \ + file://dnrd.conf.sample \ + file://dnrd.init" +SRC_URI[md5sum] = "41c9b070aae8ed403fc8c2aac7ab157c" +SRC_URI[sha256sum] = "aa46e7f8736b88c1d752cf606b3990041221ce91d014e955c6b02eb2167db015" + +SYSTEMD_SERVICE_${PN} = "dnrd.service" +SYSTEMD_AUTO_ENABLE = "disable" + +inherit autotools +inherit ${@base_contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)} + +do_install() { + oe_runmake install DESTDIR=${D} INSTALL="install -p" + + sed -i -e 's:/etc/rc.d/init.d/functions:/etc/init.d/functions:g' \ + ${WORKDIR}/dnrd.init + install -d -m 0755 ${D}${sysconfdir}/init.d + install -d -m 0755 ${D}${sysconfdir}/dnrd + install -p -m 0644 ${WORKDIR}/dnrd.conf.sample ${D}${sysconfdir}/dnrd/dnrd.conf + install -p -m 0755 ${WORKDIR}/dnrd.init ${D}${sysconfdir}/init.d/dnrd + + if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d -m 0755 ${D}${systemd_unitdir}/system + install -m 644 ${WORKDIR}/dnrd.service ${D}${systemd_unitdir}/system + fi +} diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0-873.bb b/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0-873.bb index d48cf24eb6..f510ce51bf 100644 --- a/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0-873.bb +++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0-873.bb @@ -69,6 +69,8 @@ do_install () { install -p -m 644 ${S}/etc/iscsid.conf ${D}${sysconfdir}/iscsi install -p -m 755 ${WORKDIR}/initd.debian ${D}${sysconfdir}/init.d/iscsid + sed -i -e "s:= /sbin/iscsid:= ${sbindir}/iscsid:" ${D}${sysconfdir}/iscsi/iscsid.conf + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then install -d ${D}${sysconfdir}/tmpfiles.d echo "d /run/${BPN}/lock - - - -" \ diff --git a/meta-networking/recipes-daemons/lldpad/lldpad_0.9.46.bb b/meta-networking/recipes-daemons/lldpad/lldpad_0.9.46.bb new file mode 100644 index 0000000000..4dad80d3e9 --- /dev/null +++ b/meta-networking/recipes-daemons/lldpad/lldpad_0.9.46.bb @@ -0,0 +1,23 @@ +SUMMARY = "Intel LLDP Agent" +DESCRIPTION = "\ +This package contains the Linux user space daemon and configuration tool for \ +Intel LLDP Agent with Enhanced Ethernet support for the Data Center." +SECTION = "System Environment/Daemons" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=8c2bc283e65df398ced5f5b747e78162" +DEPENDS = "libconfig libnl" +SRCREV = "48a5f38778b18d6659a672ccb4640f25c6720827" + +SRC_URI = "git://github.com/jrfastab/lldpad.git;protocol=http" + +S = "${WORKDIR}/git" + +inherit autotools-brokensep pkgconfig systemd + +do_install_append () { + install -m 0755 -d ${D}${systemd_unitdir} + mv ${D}${prefix}${systemd_unitdir}/* ${D}${systemd_unitdir}/ + rmdir ${D}${prefix}${systemd_unitdir} +} + +FILES_${PN} += "${systemd_unitdir}" diff --git a/meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb b/meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb new file mode 100644 index 0000000000..5e63293300 --- /dev/null +++ b/meta-networking/recipes-daemons/ncftp/ncftp_3.2.5.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "A sophisticated console ftp client" +HOMEPAGE = "http://ncftp.com/" +SECTION = "console/network" +LICENSE = "ClArtistic" +LIC_FILES_CHKSUM = "file://ncftp/cmds.c;beginline=3;endline=4;md5=9de76faeaedc4f908082e3f8142715f4" +DEPENDS = "ncurses" + +SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.orig.tar.gz" +SRC_URI[md5sum] = "685e45f60ac11c89442c572c28af4228" +SRC_URI[sha256sum] = "ac111b71112382853b2835c42ebe7bd59acb7f85dd00d44b2c19fbd074a436c4" + +inherit autotools-brokensep pkgconfig + +do_configure() { + oe_runconf +} +do_install () { + install -d ${D}${bindir} ${D}${sysconfdir} ${D}${mandir} + oe_runmake 'prefix=${D}${prefix}' 'BINDIR=${D}${bindir}' \ + 'SYSCONFDIR=${D}${sysconfdir}' 'mandir=${D}${mandir}' \ + install +} diff --git a/meta-networking/recipes-daemons/opensaf/opensaf/install-samples-from-srcdir.patch b/meta-networking/recipes-daemons/opensaf/opensaf/install-samples-from-srcdir.patch new file mode 100644 index 0000000000..016b64f2e9 --- /dev/null +++ b/meta-networking/recipes-daemons/opensaf/opensaf/install-samples-from-srcdir.patch @@ -0,0 +1,11 @@ +--- opensaf-4.5.0.orig/Makefile.am 2014-12-31 14:45:54.088797989 +0800 ++++ opensaf-4.5.0/Makefile.am 2014-12-31 14:45:08.328796688 +0800 +@@ -219,7 +219,7 @@ install-data-local: + $(mkinstalldirs) $(DESTDIR)$(pkgpiddir) + $(mkinstalldirs) $(DESTDIR)$(lockdir) + $(mkinstalldirs) $(DESTDIR)$(pkglocalstatedir) +- cp -R samples/ $(DESTDIR)$(pkgdatadir) ++ cp -R $(srcdir)/samples/ $(DESTDIR)$(pkgdatadir) + + install-data-hook: + @for i in $$(grep -lr -e 'xxLIBDIRxx' -e 'xxLOGDIRxx' -e 'xxCLCCLIDIRxx' $(DESTDIR)$(pkgimmxml_svcdir)/*.xml) ; do \ diff --git a/meta-networking/recipes-daemons/opensaf/opensaf_4.5.0.bb b/meta-networking/recipes-daemons/opensaf/opensaf_4.5.0.bb new file mode 100644 index 0000000000..5b42defb38 --- /dev/null +++ b/meta-networking/recipes-daemons/opensaf/opensaf_4.5.0.bb @@ -0,0 +1,42 @@ +SUMMARY = "OpenSAF is an open source implementation of the SAF AIS specification" +DESCRIPTION = "OpenSAF is an open source project established to develop a base platform \ +middleware consistent with Service Availability Forum (SA Forum) \ +specifications, under the LGPLv2.1 license. The OpenSAF Foundation was \ +established by leading Communications and Enterprise Computing Companies to \ +facilitate the OpenSAF Project and to accelerate the adoption of the OpenSAF \ +code base in commercial products. \ +The OpenSAF project was launched in mid 2007 and has been under development by \ +an informal group of supporters of the OpenSAF initiative. The OpenSAF \ +Foundation was founded on January 22nd 2008 with Emerson Network Power, \ +Ericsson, Nokia Siemens Networks, HP and Sun Microsystems as founding members." +HOMEPAGE = "http://www.opensaf.org" + +inherit autotools useradd systemd pkgconfig + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \ + file://install-samples-from-srcdir.patch" + +SRC_URI[md5sum] = "534c0a99438a62c4c8dda56cfa67300c" +SRC_URI[sha256sum] = "2f5ba57fe67e94099c0df82d0a0dd207b5c583c93030035ba354c97b5471b590" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7" + +DEPENDS = "libxml2 python" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "-f -r opensaf" +USERADD_PARAM_${PN} = "-r -g opensaf -d ${datadir}/opensaf/ -s ${sbindir}/nologin -c \"OpenSAF\" opensaf" + +SYSTEMD_SERVICE_${PN} += "opensafd.service" +SYSTEMD_AUTO_ENABLE = "disable" + +FILES_${PN} += "${localstatedir}/run" + +INSANE_SKIP_${PN} = "dev-so" + +do_install_append() { + rm -fr "${D}${localstatedir}/lock" + rm -fr "${D}${localstatedir}/run" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" +} diff --git a/meta-networking/recipes-daemons/postfix/files/aliasesdb b/meta-networking/recipes-daemons/postfix/files/aliasesdb new file mode 100755 index 0000000000..855a64f705 --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/files/aliasesdb @@ -0,0 +1,20 @@ +#!/bin/sh + +ALIASESDB_STAMP=/var/lib/misc/postfix.aliasesdb-stamp + +make_aliasesdb() { + if [ "$(/usr/sbin/postconf -h alias_database)" = "hash:/etc/aliases" ] + then + # /etc/aliases.db may be used by other MTA, make sure nothing + # has touched it since our last newaliases call + [ /etc/aliases -nt /etc/aliases.db ] || + [ "$ALIASESDB_STAMP" -nt /etc/aliases.db ] || + [ "$ALIASESDB_STAMP" -ot /etc/aliases.db ] || return 0 + /usr/bin/newaliases + touch -r /etc/aliases.db "$ALIASESDB_STAMP" + else + /usr/bin/newaliases + fi +} + +make_aliasesdb diff --git a/meta-networking/recipes-daemons/postfix/files/main.cf_2.0 b/meta-networking/recipes-daemons/postfix/files/main.cf_2.0 index a128faa0a1..9e1077f6b0 100644 --- a/meta-networking/recipes-daemons/postfix/files/main.cf_2.0 +++ b/meta-networking/recipes-daemons/postfix/files/main.cf_2.0 @@ -24,13 +24,13 @@ virtual_gid_maps = static:`grep vmail /etc/passwd | cut -d ":" -f 4` # General stuff here again -config_directory = /etc/postfix +#config_directory = /etc/postfix sample_directory = /etc/postfix queue_directory = /var/spool/postfix mail_spool_directory = /var/spool/mail readme_directory = no command_directory = /usr/sbin -daemon_directory = /usr/libexec/postfix +daemon_directory = /usr/lib/postfix mail_owner = postfix setgid_group = postdrop unknown_local_recipient_reject_code = 450 diff --git a/meta-networking/recipes-daemons/postfix/files/postfix.service b/meta-networking/recipes-daemons/postfix/files/postfix.service index 6ea9214780..02ea640b25 100644 --- a/meta-networking/recipes-daemons/postfix/files/postfix.service +++ b/meta-networking/recipes-daemons/postfix/files/postfix.service @@ -5,10 +5,11 @@ Conflicts=sendmail.service exim.service [Service] Type=forking -PIDFile=/var/spool/postfix/pid/master.pid -ExecStart=/usr/sbin/postfix start -ExecReload=/usr/sbin/postfix reload -ExecStop=/usr/sbin/postfix stop +PIDFile=@LOCALSTATEDIR@/spool/postfix/pid/master.pid +ExecStartPre=-@LIBEXECDIR@/aliasesdb +ExecStart=@SBINDIR@/postfix start +ExecReload=@SBINDIR@/postfix reload +ExecStop=@SBINDIR@/postfix stop [Install] WantedBy=multi-user.target diff --git a/meta-networking/recipes-daemons/postfix/postfix.inc b/meta-networking/recipes-daemons/postfix/postfix.inc index c58787ed65..a6909e9b5b 100644 --- a/meta-networking/recipes-daemons/postfix/postfix.inc +++ b/meta-networking/recipes-daemons/postfix/postfix.inc @@ -7,8 +7,8 @@ has a definite Sendmail-ish flavor, but the inside is completely different." HOMEPAGE= "http://www.postfix.org" SECTION = "console/network" DEPENDS = "virtual/db libpcre openssl postfix-native \ - ${@base_contains('DISTRO_FEATURES', 'ldap', 'openldap', '', d)} \ - ${@base_contains('DISTRO_FEATURES', 'sasl', 'cyrus-sasl', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'ldap', 'openldap', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'sasl', 'cyrus-sasl', '', d)} \ " DEPENDS_virtclass-native = "virtual/db-native openssl-native libpcre-native" @@ -16,13 +16,14 @@ LICENSE = "IPL-1.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=64375f37431336ea1b1b3005fe3fa354" SRC_URI = "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \ - file://makedefs.patch \ - file://install.patch \ - file://main.cf_2.0 \ - file://postfix \ - file://internal_recipient \ - file://postfix.service \ - " + file://makedefs.patch \ + file://install.patch \ + file://main.cf_2.0 \ + file://postfix \ + file://internal_recipient \ + file://postfix.service \ + file://aliasesdb \ +" S = "${WORKDIR}/postfix-${PV}" @@ -48,9 +49,9 @@ export SYSLIBS = "${LDFLAGS}" # ldap support export CCARGS-ldap = "\ - ${@base_contains('DISTRO_FEATURES', 'ldap', '-DHAS_LDAP', '', d)}" + ${@base_contains('DISTRO_FEATURES', 'ldap', '-DHAS_LDAP', '', d)}" export AUXLIBS-ldap = "\ - ${@base_contains('DISTRO_FEATURES', 'ldap', '-lldap -llber', '', d)}" + ${@base_contains('DISTRO_FEATURES', 'ldap', '-lldap -llber', '', d)}" # no native openldap export CCARGS-ldap_virtclass-native = "" @@ -59,9 +60,9 @@ export AUXLIBS-ldap_virtclass-native = "" # SASL support -DUSE_LDAP_SASL -DUSE_SASL_AUTH # current openldap didn't enable SASL export CCARGS-sasl = "\ - ${@base_contains('DISTRO_FEATURES', 'sasl', '-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I=/usr/include/sasl', '', d)}" + ${@base_contains('DISTRO_FEATURES', 'sasl', '-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I=/usr/include/sasl', '', d)}" export AUXLIBS-sasl = "\ - ${@base_contains('DISTRO_FEATURES', 'sasl', '-lsasl2', '', d)}" + ${@base_contains('DISTRO_FEATURES', 'sasl', '-lsasl2', '', d)}" export CCARGS-sasl_virtclass-native = "" export AUXLIBS-sasl_virtclass-native = "" @@ -75,130 +76,138 @@ export POSTCONF = "${STAGING_DIR_NATIVE}${sbindir_native}/postconf" EXTRA_OEMAKE += "OPT= DEBUG= OPTS= " do_compile () { - unset CFLAGS CPPFLAGS CXXFLAGS - local native_build - - native_build="${@['0', '1'][bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d)]}" - - # if not native build, then pass SYSTEM and RELEASE to makedefs - if [ "${native_build}" != "1" ]; then - # uname -s for target - SYSTEM="Linux" - - # uname -r, use 2.6 as bottomline, even target kernel ver > 2.6 - RELEASE="2.6.34" - sed -i -e \ - "s:\$(SHELL) makedefs):\$(SHELL) makedefs $SYSTEM $RELEASE):" \ - ${S}/Makefile.in - export BUILD_SYSROOT="${STAGING_DIR_HOST}" - export BUILD_SYSROOT_NSL_PATH="${STAGING_BASELIBDIR} \ - ${STAGING_LIBDIR}" - else - # native build - export BUILD_SYSROOT="${STAGING_DIR_NATIVE}" - - # ubuntu x86 host: /lib/x86_64-linux-gnu(64) /lib/i386-linux-gnu (32) - # on 64 bits, 32 libs in i386-linux-gnu - # let makedefs finds nsl and resolv libs, host CC will link - # the correct libraries - BUILD_SYSROOT_NSL_PATH="$(${CC} -print-search-dirs 2>/dev/null | \ - sed -n '/^libraries: =/s/libraries: =//p' | \ - sed -e 's/:/\n/g' | xargs -n1 readlink -f | \ - grep -v 'gcc\|/[0-9.]\+$' | sort -u)" - if [ -z "$BUILD_SYSROOT_NSL_PATH" ]; then - BUILD_SYSROOT_NSL_PATH="/usr/lib64 /lib64 \ - /lib/x86_64-linux-gnu \ - /usr/lib /lib \ - /lib/i386-linux-gnu" - fi - export BUILD_SYSROOT_NSL_PATH - fi - - oe_runmake makefiles - oe_runmake + unset CFLAGS CPPFLAGS CXXFLAGS + local native_build + + native_build="${@['0', '1'][bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d)]}" + + # if not native build, then pass SYSTEM and RELEASE to makedefs + if [ "${native_build}" != "1" ]; then + # uname -s for target + SYSTEM="Linux" + + # uname -r, use 2.6 as bottomline, even target kernel ver > 2.6 + RELEASE="2.6.34" + sed -i -e \ + "s:\$(SHELL) makedefs):\$(SHELL) makedefs $SYSTEM $RELEASE):" \ + ${S}/Makefile.in + export BUILD_SYSROOT="${STAGING_DIR_HOST}" + export BUILD_SYSROOT_NSL_PATH="${STAGING_BASELIBDIR} \ + ${STAGING_LIBDIR}" + else + # native build + export BUILD_SYSROOT="${STAGING_DIR_NATIVE}" + + # ubuntu x86 host: /lib/x86_64-linux-gnu(64) /lib/i386-linux-gnu (32) + # on 64 bits, 32 libs in i386-linux-gnu + # let makedefs finds nsl and resolv libs, host CC will link + # the correct libraries + BUILD_SYSROOT_NSL_PATH="$(${CC} -print-search-dirs 2>/dev/null | \ + sed -n '/^libraries: =/s/libraries: =//p' | \ + sed -e 's/:/\n/g' | xargs -n1 readlink -f | \ + grep -v 'gcc\|/[0-9.]\+$' | sort -u)" + if [ -z "$BUILD_SYSROOT_NSL_PATH" ]; then + BUILD_SYSROOT_NSL_PATH="/usr/lib64 /lib64 \ + /lib/x86_64-linux-gnu \ + /usr/lib /lib \ + /lib/i386-linux-gnu" + fi + export BUILD_SYSROOT_NSL_PATH + fi + + oe_runmake makefiles + oe_runmake } do_install_prepend_virtclass-native() { - export POSTCONF="bin/postconf" + export POSTCONF="bin/postconf" } SYSTEMD_SERVICE_${PN} = "postfix.service" -SYSTEMD_AUTO_ENABLE = "disable" do_install () { - sh ./postfix-install 'install_root=${D}' \ - 'config_directory=${sysconfdir}/postfix' \ - 'daemon_directory=${exec_prefix}/libexec/postfix' \ - 'command_directory=${sbindir}' \ - 'queue_directory=${localstatedir}/spool/postfix' \ - 'sendmail_path=${sbindir}/sendmail.postfix' \ - 'newaliases_path=${bindir}/newaliases' \ - 'mailq_path=${bindir}/mailq' \ - 'manpage_directory=${mandir}' \ - 'readme_directory=${datadir}/doc/postfix' \ - 'data_directory=${localstatedir}/lib/postfix' \ - -non-interactive - rm -rf ${D}${localstatedir}/spool/postfix - mv ${D}${sysconfdir}/postfix/main.cf ${D}${sysconfdir}/postfix/sample-main.cf - install -d ${D}${sysconfdir}/init.d - install -m 644 ${WORKDIR}/main.cf_2.0 ${D}${sysconfdir}/postfix/main.cf - install -m 755 ${WORKDIR}/postfix ${D}${sysconfdir}/init.d/postfix - install -m 644 ${WORKDIR}/internal_recipient ${D}${sysconfdir}/postfix/internal_recipient - - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/postfix.service ${D}${systemd_unitdir}/system - sed -i 's,/usr/sbin/,${sbindir}/,g' ${D}${systemd_unitdir}/system/postfix.service - - install -m 770 -d ${D}${localstatedir}/spool/postfix - chown postfix:postfix ${D}${localstatedir}/spool/postfix - chown postfix:postfix ${D}${localstatedir}/lib/postfix - - install -m 2755 -d ${D}${localstatedir}/spool/mail - chown postfix:nogroup ${D}${localstatedir}/spool/mail - install -m 0755 -d ${D}${localstatedir}/lib/postfix - chown postfix:nogroup ${D}${localstatedir}/lib/postfix - install -m 0755 -d ${D}${localstatedir}/spool/postfix - chown root:postfix ${D}${localstatedir}/spool/postfix - install -m 0700 -d ${D}${localstatedir}/spool/postfix/active - chown postfix:root ${D}${localstatedir}/spool/postfix/active - install -m 0700 -d ${D}${localstatedir}/spool/postfix/bounce - chown postfix:root ${D}${localstatedir}/spool/postfix/bounce - install -m 0700 -d ${D}${localstatedir}/spool/postfix/corrupt - chown postfix:root ${D}${localstatedir}/spool/postfix/corrupt - install -m 0700 -d ${D}${localstatedir}/spool/postfix/defer - chown postfix:root ${D}${localstatedir}/spool/postfix/defer - install -m 0700 -d ${D}${localstatedir}/spool/postfix/deferred - chown postfix:root ${D}${localstatedir}/spool/postfix/deferred - install -m 0700 -d ${D}${localstatedir}/spool/postfix/flush - chown postfix:root ${D}${localstatedir}/spool/postfix/flush - install -m 0700 -d ${D}${localstatedir}/spool/postfix/hold - chown postfix:root ${D}${localstatedir}/spool/postfix/hold - install -m 0700 -d ${D}${localstatedir}/spool/postfix/incoming - chown postfix:root ${D}${localstatedir}/spool/postfix/incoming - install -m 0700 -d ${D}${localstatedir}/spool/postfix/saved - chown postfix:root ${D}${localstatedir}/spool/postfix/saved - install -m 0700 -d ${D}${localstatedir}/spool/postfix/trace - chown postfix:root ${D}${localstatedir}/spool/postfix/trace - install -m 0730 -d ${D}${localstatedir}/spool/postfix/maildrop - chown postfix:postdrop ${D}${localstatedir}/spool/postfix/maildrop - install -m 0755 -d ${D}${localstatedir}/spool/postfix/pid - chown root:root ${D}${localstatedir}/spool/postfix/pid - install -m 0700 -d ${D}${localstatedir}/spool/postfix/private - chown postfix:root ${D}${localstatedir}/spool/postfix/private - install -m 0710 -d ${D}${localstatedir}/spool/postfix/public - chown postfix:postdrop ${D}${localstatedir}/spool/postfix/public - install -m 0755 -d ${D}${localstatedir}/spool/vmail - chown vmail:vmail ${D}${localstatedir}/spool/vmail - - chown :postdrop ${D}${sbindir}/postqueue - chown :postdrop ${D}${sbindir}/postdrop - chmod g+s ${D}${sbindir}/postqueue - chmod g+s ${D}${sbindir}/postdrop + sh ./postfix-install 'install_root=${D}' \ + 'config_directory=${sysconfdir}/postfix' \ + 'daemon_directory=${libexecdir}' \ + 'command_directory=${sbindir}' \ + 'queue_directory=${localstatedir}/spool/postfix' \ + 'sendmail_path=${sbindir}/sendmail.postfix' \ + 'newaliases_path=${bindir}/newaliases' \ + 'mailq_path=${bindir}/mailq' \ + 'manpage_directory=${mandir}' \ + 'readme_directory=${datadir}/doc/postfix' \ + 'data_directory=${localstatedir}/lib/postfix' \ + -non-interactive + rm -rf ${D}${localstatedir}/spool/postfix + mv ${D}${sysconfdir}/postfix/main.cf ${D}${sysconfdir}/postfix/sample-main.cf + install -d ${D}${sysconfdir}/init.d + install -m 644 ${WORKDIR}/main.cf_2.0 ${D}${sysconfdir}/postfix/main.cf + install -m 755 ${WORKDIR}/postfix ${D}${sysconfdir}/init.d/postfix + install -m 644 ${WORKDIR}/internal_recipient ${D}${sysconfdir}/postfix/internal_recipient + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/postfix.service ${D}${systemd_unitdir}/system + sed -i -e 's#@LIBEXECDIR@#${libexecdir}#g' ${D}${systemd_unitdir}/system/postfix.service + sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${systemd_unitdir}/system/postfix.service + sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/postfix.service + + install -m 0755 ${WORKDIR}/aliasesdb ${D}${libexecdir} + + install -m 770 -d ${D}${localstatedir}/spool/postfix + chown postfix:postfix ${D}${localstatedir}/spool/postfix + chown postfix:postfix ${D}${localstatedir}/lib/postfix + + install -m 2755 -d ${D}${localstatedir}/spool/mail + chown postfix:nogroup ${D}${localstatedir}/spool/mail + install -m 0755 -d ${D}${localstatedir}/lib/postfix + chown postfix:nogroup ${D}${localstatedir}/lib/postfix + install -m 0755 -d ${D}${localstatedir}/spool/postfix + chown root:postfix ${D}${localstatedir}/spool/postfix + install -m 0700 -d ${D}${localstatedir}/spool/postfix/active + chown postfix:root ${D}${localstatedir}/spool/postfix/active + install -m 0700 -d ${D}${localstatedir}/spool/postfix/bounce + chown postfix:root ${D}${localstatedir}/spool/postfix/bounce + install -m 0700 -d ${D}${localstatedir}/spool/postfix/corrupt + chown postfix:root ${D}${localstatedir}/spool/postfix/corrupt + install -m 0700 -d ${D}${localstatedir}/spool/postfix/defer + chown postfix:root ${D}${localstatedir}/spool/postfix/defer + install -m 0700 -d ${D}${localstatedir}/spool/postfix/deferred + chown postfix:root ${D}${localstatedir}/spool/postfix/deferred + install -m 0700 -d ${D}${localstatedir}/spool/postfix/flush + chown postfix:root ${D}${localstatedir}/spool/postfix/flush + install -m 0700 -d ${D}${localstatedir}/spool/postfix/hold + chown postfix:root ${D}${localstatedir}/spool/postfix/hold + install -m 0700 -d ${D}${localstatedir}/spool/postfix/incoming + chown postfix:root ${D}${localstatedir}/spool/postfix/incoming + install -m 0700 -d ${D}${localstatedir}/spool/postfix/saved + chown postfix:root ${D}${localstatedir}/spool/postfix/saved + install -m 0700 -d ${D}${localstatedir}/spool/postfix/trace + chown postfix:root ${D}${localstatedir}/spool/postfix/trace + install -m 0730 -d ${D}${localstatedir}/spool/postfix/maildrop + chown postfix:postdrop ${D}${localstatedir}/spool/postfix/maildrop + install -m 0755 -d ${D}${localstatedir}/spool/postfix/pid + chown root:root ${D}${localstatedir}/spool/postfix/pid + install -m 0700 -d ${D}${localstatedir}/spool/postfix/private + chown postfix:root ${D}${localstatedir}/spool/postfix/private + install -m 0710 -d ${D}${localstatedir}/spool/postfix/public + chown postfix:postdrop ${D}${localstatedir}/spool/postfix/public + install -m 0755 -d ${D}${localstatedir}/spool/vmail + chown vmail:vmail ${D}${localstatedir}/spool/vmail + + chown :postdrop ${D}${sbindir}/postqueue + chown :postdrop ${D}${sbindir}/postdrop + chmod g+s ${D}${sbindir}/postqueue + chmod g+s ${D}${sbindir}/postdrop } do_install_append_class-native() { - ln -sf ../sbin/sendmail.postfix ${D}${bindir}/newaliases - ln -sf ../sbin/sendmail.postfix ${D}${bindir}/mailq + ln -sf ../sbin/sendmail.postfix ${D}${bindir}/newaliases + ln -sf ../sbin/sendmail.postfix ${D}${bindir}/mailq +} + +do_install_append_class-target() { + # Remove references to buildmachine paths in target makedefs.out + sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' ${D}/etc/postfix/makedefs.out } NATIVE_INSTALL_WORKS = "1" @@ -209,22 +218,22 @@ ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail" ALTERNATIVE_PRIORITY = "120" pkg_postinst_${PN} () { - if [ "x$D" = "x" ]; then - touch /etc/aliases - newaliases - - # generate virtual_alias, default is hash - touch /etc/postfix/virtual_alias - postmap /etc/postfix/virtual_alias - else - touch $D/etc/aliases - newaliases -C $D/etc/postfix/main.cf -oA$D/etc/aliases - touch $D/etc/postfix/virtual_alias - postmap -c $D/etc/postfix $D/etc/postfix/virtual_alias - fi + if [ "x$D" = "x" ]; then + touch /etc/aliases + newaliases + + # generate virtual_alias, default is hash + touch /etc/postfix/virtual_alias + postmap /etc/postfix/virtual_alias + else + touch $D/etc/aliases + newaliases -C $D/etc/postfix/main.cf -oA$D/etc/aliases + touch $D/etc/postfix/virtual_alias + postmap -c $D/etc/postfix $D/etc/postfix/virtual_alias + fi } # Exclude .debug directories from the main package FILES_${PN} = "${sysconfdir} ${localstatedir} ${bindir}/* ${sbindir}/* \ - ${exec_prefix}/libexec/postfix/* ${systemd_unitdir}/*" -FILES_${PN}-dbg += "${exec_prefix}/libexec/postfix/.debug" + ${libexecdir}/* ${systemd_unitdir}/*" +FILES_${PN}-dbg += "${libexecdir}/.debug" diff --git a/meta-networking/recipes-daemons/proftpd/files/build_fixup.patch b/meta-networking/recipes-daemons/proftpd/files/build_fixup.patch new file mode 100644 index 0000000000..19617a6bb7 --- /dev/null +++ b/meta-networking/recipes-daemons/proftpd/files/build_fixup.patch @@ -0,0 +1,112 @@ +Upstream-Status: Inappropriate [configuration] + +combined the following patches into one: +make, move-pidfile-to-var-run, move-runfile-to-var-run + +move pidfile to /var/run +redefine PR_RUN_DIR as ${localstatedir}/run + +Signed-off-By: Armin Kuster <akuster808@gmail.com> + + +Index: proftpd-1.3.5/Make.rules.in +=================================================================== +--- proftpd-1.3.5.orig/Make.rules.in ++++ proftpd-1.3.5/Make.rules.in +@@ -29,9 +29,9 @@ INSTALL=@INSTALL@ + INSTALL_STRIP=@INSTALL_STRIP@ + INSTALL_USER=@install_user@ + INSTALL_GROUP=@install_group@ +-INSTALL_BIN=$(INSTALL) $(INSTALL_STRIP) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 +-INSTALL_SBIN=$(INSTALL) $(INSTALL_STRIP) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 +-INSTALL_MAN=$(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0644 ++INSTALL_BIN=$(INSTALL) -m 0755 ++INSTALL_SBIN=$(INSTALL) -m 0755 ++INSTALL_MAN=$(INSTALL) -m 0644 + + RM=rm -f + SHELL=@CONFIG_SHELL@ +Index: proftpd-1.3.5/Makefile.in +=================================================================== +--- proftpd-1.3.5.orig/Makefile.in ++++ proftpd-1.3.5/Makefile.in +@@ -105,7 +105,6 @@ check: proftpd$(EXEEXT) + $(DESTDIR)$(localedir) $(DESTDIR)$(includedir) $(DESTDIR)$(includedir)/proftpd $(DESTDIR)$(libdir) $(DESTDIR)$(pkgconfigdir) $(DESTDIR)$(libdir)/proftpd $(DESTDIR)$(libexecdir) $(DESTDIR)$(localstatedir) $(DESTDIR)$(sysconfdir) $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) $(DESTDIR)$(mandir) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man8: + @if [ ! -d $@ ]; then \ + mkdir -p $@; \ +- chown $(INSTALL_USER):$(INSTALL_GROUP) $@; \ + chmod 0755 $@; \ + fi + +@@ -115,7 +114,6 @@ install-proftpd: proftpd $(DESTDIR)$(inc + rm -f $(DESTDIR)$(sbindir)/in.proftpd ; \ + fi + ln -s proftpd $(DESTDIR)$(sbindir)/in.proftpd +- -chown -h $(INSTALL_USER):$(INSTALL_GROUP) $(DESTDIR)$(sbindir)/in.proftpd + + install-libs: $(DESTDIR)$(libdir)/proftpd + cd lib/ && $(MAKE) install +@@ -152,11 +150,11 @@ install-utils: $(DESTDIR)$(sbindir) $(DE + $(INSTALL_SBIN) ftpshut $(DESTDIR)$(sbindir)/ftpshut + $(INSTALL_BIN) ftptop $(DESTDIR)$(bindir)/ftptop + $(INSTALL_BIN) ftpwho $(DESTDIR)$(bindir)/ftpwho +- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 src/prxs $(DESTDIR)$(bindir)/prxs ++ $(INSTALL) -m 0755 src/prxs $(DESTDIR)$(bindir)/prxs + + install-conf: $(DESTDIR)$(sysconfdir) + if [ ! -f $(DESTDIR)$(sysconfdir)/proftpd.conf ] ; then \ +- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0644 \ ++ $(INSTALL) -m 0644 \ + $(top_srcdir)/sample-configurations/basic.conf \ + $(DESTDIR)$(sysconfdir)/proftpd.conf ; \ + fi +Index: proftpd-1.3.5/configure +=================================================================== +--- proftpd-1.3.5.orig/configure ++++ proftpd-1.3.5/configure +@@ -38255,7 +38255,7 @@ _ACEOF + + + cat >>confdefs.h <<_ACEOF +-#define PR_RUN_DIR "`eval echo "${localstatedir}"`" ++#define PR_RUN_DIR "`eval echo "${localstatedir}"/run/`" + _ACEOF + + cat >>confdefs.h <<_ACEOF +@@ -38263,7 +38263,7 @@ cat >>confdefs.h <<_ACEOF + _ACEOF + + cat >>confdefs.h <<_ACEOF +-#define PR_PID_FILE_PATH "`eval echo "${localstatedir}/proftpd.pid"`" ++#define PR_PID_FILE_PATH "`eval echo "${localstatedir}/run/proftpd.pid"`" + _ACEOF + + +Index: proftpd-1.3.5/configure.in +=================================================================== +--- proftpd-1.3.5.orig/configure.in ++++ proftpd-1.3.5/configure.in +@@ -2971,8 +2971,8 @@ locale_dir="`eval echo ${locale_dir}`" + AC_DEFINE_UNQUOTED(PR_LOCALE_DIR, "`eval echo "${locale_dir}"`") + + AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}"`") +-AC_DEFINE_UNQUOTED(PR_CONFIG_FILE_PATH, "`eval echo "${sysconfdir}/proftpd.conf"`") +-AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/proftpd.pid"`") ++AC_DEFINE_UNQUOTED(PR_CONFIG_FILE_PATH, "`eval echo "${sysconfdir}/run/proftpd.conf"`") ++AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/run/proftpd.pid"`") + + prefix="$pr_saved_prefix" + exec_prefix="$pr_saved_exec_prefix" +Index: proftpd-1.3.5/lib/libcap/Makefile +=================================================================== +--- proftpd-1.3.5.orig/lib/libcap/Makefile ++++ proftpd-1.3.5/lib/libcap/Makefile +@@ -26,7 +26,7 @@ OBJS=$(addsuffix .o, $(FILES)) + all: $(LIBNAME) + + _makenames: _makenames.c cap_names.sed +- $(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ ++ $(BUILD_CC) $(CFLAGS) $(LDFLAGS) $< -o $@ + + cap_names.h: _makenames + ./_makenames > cap_names.h diff --git a/meta-networking/recipes-daemons/proftpd/files/make.patch b/meta-networking/recipes-daemons/proftpd/files/make.patch deleted file mode 100644 index c5ff0136da..0000000000 --- a/meta-networking/recipes-daemons/proftpd/files/make.patch +++ /dev/null @@ -1,66 +0,0 @@ -Upstream-Status: Inappropriate [configuration] - -Index: proftpd-1.3.2/Makefile.in -=================================================================== ---- proftpd-1.3.2.orig/Makefile.in -+++ proftpd-1.3.2/Makefile.in -@@ -76,7 +76,6 @@ check: proftpd$(EXEEXT) - $(DESTDIR)$(localedir) $(DESTDIR)$(includedir) $(DESTDIR)$(includedir)/proftpd $(DESTDIR)$(libdir) $(DESTDIR)$(pkgconfigdir) $(DESTDIR)$(libdir)/proftpd $(DESTDIR)$(libexecdir) $(DESTDIR)$(localstatedir) $(DESTDIR)$(sysconfdir) $(DESTDIR)$(rundir) $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) $(DESTDIR)$(mandir) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man8: - @if [ ! -d $@ ]; then \ - mkdir -p $@; \ -- chown $(INSTALL_USER):$(INSTALL_GROUP) $@; \ - chmod 0755 $@; \ - fi - -@@ -86,7 +85,6 @@ install-proftpd: proftpd $(DESTDIR)$(inc - rm -f $(DESTDIR)$(sbindir)/in.proftpd ; \ - fi - ln -s proftpd $(DESTDIR)$(sbindir)/in.proftpd -- -chown -h $(INSTALL_USER):$(INSTALL_GROUP) $(DESTDIR)$(sbindir)/in.proftpd - - install-libs: $(DESTDIR)$(libdir)/proftpd - cd lib/ && $(MAKE) install -@@ -121,11 +119,11 @@ install-utils: $(DESTDIR)$(sbindir) $(DE - $(INSTALL_SBIN) ftpshut $(DESTDIR)$(sbindir)/ftpshut - $(INSTALL_BIN) ftptop $(DESTDIR)$(bindir)/ftptop - $(INSTALL_BIN) ftpwho $(DESTDIR)$(bindir)/ftpwho -- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 src/prxs $(DESTDIR)$(bindir)/prxs -+ $(INSTALL) -m 0755 src/prxs $(DESTDIR)$(bindir)/prxs - - install-conf: $(DESTDIR)$(sysconfdir) - if [ ! -f $(DESTDIR)$(sysconfdir)/proftpd.conf ] ; then \ -- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0644 \ -+ $(INSTALL) -m 0644 \ - $(top_srcdir)/sample-configurations/basic.conf \ - $(DESTDIR)$(sysconfdir)/proftpd.conf ; \ - fi -Index: proftpd-1.3.2/Make.rules.in -=================================================================== ---- proftpd-1.3.2.orig/Make.rules.in -+++ proftpd-1.3.2/Make.rules.in -@@ -29,9 +29,9 @@ UTILS_LIBS=@UTILS_LIBS@ @LIBS@ - INSTALL=@INSTALL@ - INSTALL_USER=@install_user@ - INSTALL_GROUP=@install_group@ --INSTALL_BIN=$(INSTALL) @INSTALL_STRIP@ -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 --INSTALL_SBIN=$(INSTALL) @INSTALL_STRIP@ -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 --INSTALL_MAN=$(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0644 -+INSTALL_BIN=$(INSTALL) -m 0755 -+INSTALL_SBIN=$(INSTALL) -m 0755 -+INSTALL_MAN=$(INSTALL) -m 0644 - - RM=rm -f - SHELL=/bin/sh -Index: proftpd-1.3.2/lib/libcap/Makefile -=================================================================== ---- proftpd-1.3.2.orig/lib/libcap/Makefile -+++ proftpd-1.3.2/lib/libcap/Makefile -@@ -26,7 +26,7 @@ OBJS=$(addsuffix .o, $(FILES)) - all: $(LIBNAME) - - _makenames: _makenames.c cap_names.sed -- $(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ -+ $(BUILD_CC) $(CFLAGS) $(LDFLAGS) $< -o $@ - - cap_names.h: _makenames - ./_makenames > cap_names.h diff --git a/meta-networking/recipes-daemons/proftpd/files/move-pidfile-to-var-run.patch b/meta-networking/recipes-daemons/proftpd/files/move-pidfile-to-var-run.patch deleted file mode 100644 index 953bbddef0..0000000000 --- a/meta-networking/recipes-daemons/proftpd/files/move-pidfile-to-var-run.patch +++ /dev/null @@ -1,39 +0,0 @@ -move pidfile to /var/run - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Roy Li <rongqing.li@windriver.com> ---- - configure | 2 +- - configure.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure b/configure -index e6268f5..ebed38e 100755 ---- a/configure -+++ b/configure -@@ -33587,7 +33587,7 @@ cat >>confdefs.h <<_ACEOF - _ACEOF - - cat >>confdefs.h <<_ACEOF --#define PR_PID_FILE_PATH "`eval echo "${localstatedir}/proftpd.pid"`" -+#define PR_PID_FILE_PATH "`eval echo "${localstatedir}/run/proftpd.pid"`" - _ACEOF - - -diff --git a/configure.in b/configure.in -index df9186a..e2ae868 100644 ---- a/configure.in -+++ b/configure.in -@@ -2790,7 +2790,7 @@ AC_DEFINE_UNQUOTED(PR_LOCALE_DIR, "`eval echo "${locale_dir}"`") - - AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}"`") - AC_DEFINE_UNQUOTED(PR_CONFIG_FILE_PATH, "`eval echo "${sysconfdir}/proftpd.conf"`") --AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/proftpd.pid"`") -+AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/run/proftpd.pid"`") - - prefix="$pr_saved_prefix" - exec_prefix="$pr_saved_exec_prefix" --- -1.7.10.4 - diff --git a/meta-networking/recipes-daemons/proftpd/files/move-runfile-to-var-run.patch b/meta-networking/recipes-daemons/proftpd/files/move-runfile-to-var-run.patch deleted file mode 100644 index 1561ed80e3..0000000000 --- a/meta-networking/recipes-daemons/proftpd/files/move-runfile-to-var-run.patch +++ /dev/null @@ -1,39 +0,0 @@ -redefine PR_RUN_DIR as ${localstatedir}/run - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Roy Li <rongqing.li@windriver.com> ---- - configure | 2 +- - configure.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure b/configure -index ebed38e..445d5bc 100755 ---- a/configure -+++ b/configure -@@ -33579,7 +33579,7 @@ _ACEOF - - - cat >>confdefs.h <<_ACEOF --#define PR_RUN_DIR "`eval echo "${localstatedir}"`" -+#define PR_RUN_DIR "`eval echo "${localstatedir}"/run/`" - _ACEOF - - cat >>confdefs.h <<_ACEOF -diff --git a/configure.in b/configure.in -index c17929c..df9186a 100644 ---- a/configure.in -+++ b/configure.in -@@ -2788,7 +2788,7 @@ locale_dir="`eval echo ${localedir}`" - locale_dir="`eval echo ${locale_dir}`" - AC_DEFINE_UNQUOTED(PR_LOCALE_DIR, "`eval echo "${locale_dir}"`") - --AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}"`") -+AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}/run"`") - AC_DEFINE_UNQUOTED(PR_CONFIG_FILE_PATH, "`eval echo "${sysconfdir}/proftpd.conf"`") - AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/run/proftpd.pid"`") - --- -1.7.10.4 - diff --git a/meta-networking/recipes-daemons/proftpd/files/proftpd-sftp.patch b/meta-networking/recipes-daemons/proftpd/files/proftpd-sftp.patch deleted file mode 100644 index 8c71263b05..0000000000 --- a/meta-networking/recipes-daemons/proftpd/files/proftpd-sftp.patch +++ /dev/null @@ -1,142 +0,0 @@ -proftpd/mod_sftp: fix too much memory allocation bug of mod_sftp - -This patch fixes the too much memory allocation bug of the mod_sftp by -ensuring both that a) the received response count matches the number of -challenges sent, and b) that the received response count is not too high -(as an additional sanity check); the upper bound is still set to 500. - -The patch is picked from: http://bugs.proftpd.org/show_bug.cgi?id=3973 - -Upstream-Status: Backport CVE-2013-4359 - -diff --git a/contrib/mod_sftp/kbdint.c b/contrib/mod_sftp/kbdint.c -index 0271fb2..de651fa 100644 ---- a/contrib/mod_sftp/kbdint.c -+++ b/contrib/mod_sftp/kbdint.c -@@ -1,6 +1,6 @@ - /* - * ProFTPD - mod_sftp keyboard-interactive driver mgmt -- * Copyright (c) 2008-2009 TJ Saunders -+ * Copyright (c) 2008-2013 TJ Saunders - * - * 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 -@@ -31,6 +31,8 @@ - #include "utf8.h" - #include "kbdint.h" - -+#define SFTP_KBDINT_MAX_RESPONSES 500 -+ - struct kbdint_driver { - struct kbdint_driver *next, *prev; - -@@ -252,8 +254,8 @@ int sftp_kbdint_send_challenge(const char *user, const char *instruction, - return res; - } - --int sftp_kbdint_recv_response(pool *p, unsigned int *count, -- const char ***responses) { -+int sftp_kbdint_recv_response(pool *p, unsigned int expected_count, -+ unsigned int *rcvd_count, const char ***responses) { - register unsigned int i; - char *buf; - cmd_rec *cmd; -@@ -264,7 +266,7 @@ int sftp_kbdint_recv_response(pool *p, unsigned int *count, - int res; - - if (p == NULL || -- count == NULL || -+ rcvd_count == NULL || - responses == NULL) { - errno = EINVAL; - return -1; -@@ -299,6 +301,29 @@ int sftp_kbdint_recv_response(pool *p, unsigned int *count, - - resp_count = sftp_msg_read_int(pkt->pool, &buf, &buflen); - -+ /* Ensure that the number of responses sent by the client is the same -+ * as the number of challenges sent, lest a malicious client attempt to -+ * trick us into allocating too much memory (Bug#3973). -+ */ -+ if (resp_count != expected_count) { -+ (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION, -+ "sent %lu %s, but received %lu %s", (unsigned long) expected_count, -+ expected_count != 1 ? "challenges" : "challenge", -+ (unsigned long) resp_count, resp_count != 1 ? "responses" : "response"); -+ destroy_pool(pkt->pool); -+ errno = EPERM; -+ return -1; -+ } -+ -+ if (resp_count > SFTP_KBDINT_MAX_RESPONSES) { -+ (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION, -+ "received too many responses (%lu > max %lu), rejecting", -+ (unsigned long) resp_count, (unsigned long) SFTP_KBDINT_MAX_RESPONSES); -+ destroy_pool(pkt->pool); -+ errno = EPERM; -+ return -1; -+ } -+ - list = make_array(p, resp_count, sizeof(char *)); - for (i = 0; i < resp_count; i++) { - char *resp; -@@ -307,7 +332,7 @@ int sftp_kbdint_recv_response(pool *p, unsigned int *count, - *((char **) push_array(list)) = pstrdup(p, sftp_utf8_decode_str(p, resp)); - } - -- *count = (unsigned int) resp_count; -+ *rcvd_count = (unsigned int) resp_count; - *responses = ((const char **) list->elts); - return 0; - } -diff --git a/contrib/mod_sftp/mod_sftp.h.in b/contrib/mod_sftp/mod_sftp.h.in -index 3e91390..c547be0 100644 ---- a/contrib/mod_sftp/mod_sftp.h.in -+++ b/contrib/mod_sftp/mod_sftp.h.in -@@ -1,6 +1,6 @@ - /* - * ProFTPD - mod_sftp -- * Copyright (c) 2008-2011 TJ Saunders -+ * Copyright (c) 2008-2013 TJ Saunders - * - * 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 -@@ -174,7 +174,8 @@ int sftp_kbdint_register_driver(const char *name, sftp_kbdint_driver_t *driver); - int sftp_kbdint_unregister_driver(const char *name); - int sftp_kbdint_send_challenge(const char *, const char *, unsigned int, - sftp_kbdint_challenge_t *); --int sftp_kbdint_recv_response(pool *, unsigned int *, const char ***); -+int sftp_kbdint_recv_response(pool *, unsigned int, unsigned int *, -+ const char ***); - - /* API for modules that which to register keystores, for the - * SFTPAuthorizedHostKeys and SFTPAuthorizedUserKeys directives. -diff --git a/contrib/mod_sftp_pam.c b/contrib/mod_sftp_pam.c -index 6c32df0..81aa113 100644 ---- a/contrib/mod_sftp_pam.c -+++ b/contrib/mod_sftp_pam.c -@@ -179,22 +179,13 @@ static int sftppam_converse(int nmsgs, PR_PAM_CONST struct pam_message **msgs, - return PAM_CONV_ERR; - } - -- if (sftp_kbdint_recv_response(sftppam_driver.driver_pool, &recvd_count, -- &recvd_responses) < 0) { -+ if (sftp_kbdint_recv_response(sftppam_driver.driver_pool, list->nelts, -+ &recvd_count, &recvd_responses) < 0) { - pr_trace_msg(trace_channel, 3, - "error receiving keyboard-interactive responses: %s", strerror(errno)); - return PAM_CONV_ERR; - } - -- /* Make sure that the count of responses matches the challenge count. */ -- if (recvd_count != list->nelts) { -- (void) pr_log_writefile(sftp_logfd, MOD_SFTP_PAM_VERSION, -- "sent %d %s, but received %u %s", nmsgs, -- list->nelts != 1 ? "challenges" : "challenge", recvd_count, -- recvd_count != 1 ? "responses" : "response"); -- return PAM_CONV_ERR; -- } -- - res = calloc(nmsgs, sizeof(struct pam_response)); - if (res == NULL) { - pr_log_pri(PR_LOG_CRIT, "Out of memory!"); diff --git a/meta-networking/recipes-daemons/proftpd/files/proftpd.service b/meta-networking/recipes-daemons/proftpd/files/proftpd.service new file mode 100644 index 0000000000..ba97f8e1ca --- /dev/null +++ b/meta-networking/recipes-daemons/proftpd/files/proftpd.service @@ -0,0 +1,7 @@ +[Unit] +Description=proftpd Daemon + +[Service] +Type=forking +ExecStart=-@SBINDIR@/proftpd -c @SYSCONFDIR@/proftpd.conf +StandardError=syslog diff --git a/meta-networking/recipes-daemons/proftpd/proftpd_1.3.4b.bb b/meta-networking/recipes-daemons/proftpd/proftpd_1.3.4b.bb deleted file mode 100644 index a5e766af5d..0000000000 --- a/meta-networking/recipes-daemons/proftpd/proftpd_1.3.4b.bb +++ /dev/null @@ -1,73 +0,0 @@ -SUMMARY = "Secure and configurable FTP server" -SECTION = "console/network" -HOMEPAGE = "http://www.proftpd.org" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=fb0d1484d11915fa88a6a7702f1dc184" - -PR = "r4" - -SRC_URI = "ftp://ftp.proftpd.org/distrib/source/${BPN}-${PV}.tar.gz \ - file://make.patch \ - file://basic.conf.patch \ - file://contrib.patch \ - file://proftpd-basic.init \ - file://default \ - file://move-pidfile-to-var-run.patch \ - file://close-RequireValidShell-check.patch \ - file://move-runfile-to-var-run.patch \ - file://proftpd-sftp.patch \ -" - -SRC_URI[md5sum] = "0871e0b93c9c3c88ca950b6d9a04aed2" -SRC_URI[sha256sum] = "9f659585cea90fc6af34a0ffae4a90e4ed37abe92dbd9b6c311f95a436c961cb" - -inherit autotools-brokensep useradd update-rc.d - -PACKAGECONFIG ??= "" -PACKAGECONFIG[curses] = "--enable-curses --enable-ncurses,--disable-curses --disable-ncurses,ncurses" - -EXTRA_OECONF = "--disable-cap \ - --disable-auth-pam \ -" - -# proftpd uses libltdl which currently makes configuring using -# autotools.bbclass a pain... -do_configure () { - oe_runconf -} - -FTPUSER = "ftp" -FTPGROUP = "ftp" - -do_install () { - oe_runmake DESTDIR=${D} install - rmdir ${D}${libdir}/proftpd ${D}${datadir}/locale - [ -d ${D}${libexecdir} ] && rmdir ${D}${libexecdir} - sed -i '/ *User[ \t]*/s/ftp/${FTPUSER}/' ${D}${sysconfdir}/proftpd.conf - sed -i '/ *Group[ \t]*/s/ftp/${FTPGROUP}/' ${D}${sysconfdir}/proftpd.conf - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/proftpd-basic.init ${D}${sysconfdir}/init.d/proftpd - sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/proftpd - sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/proftpd - sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/proftpd - sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/proftpd - - install -d ${D}${sysconfdir}/default - install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/proftpd - - # create the pub directory - mkdir -p ${D}/home/${FTPUSER}/pub/ - chown -R ${FTPUSER}:${FTPGROUP} ${D}/home/${FTPUSER}/pub -} - -INITSCRIPT_NAME = "proftpd" -INITSCRIPT_PARAM = "defaults 85 15" - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "--system ${FTPGROUP}" -USERADD_PARAM_${PN} = "--system -g ${FTPGROUP} --home-dir /var/lib/${FTPUSER} --no-create-home \ - --shell /bin/false ${FTPUSER}" - -FILES_${PN} += "/home/${FTPUSER}" - -RDEPENDS_${PN} += "perl" diff --git a/meta-networking/recipes-daemons/proftpd/proftpd_1.3.5.bb b/meta-networking/recipes-daemons/proftpd/proftpd_1.3.5.bb new file mode 100644 index 0000000000..13c9410012 --- /dev/null +++ b/meta-networking/recipes-daemons/proftpd/proftpd_1.3.5.bb @@ -0,0 +1,113 @@ +SUMMARY = "Secure and configurable FTP server" +SECTION = "console/network" +HOMEPAGE = "http://www.proftpd.org" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=fb0d1484d11915fa88a6a7702f1dc184" + +SRC_URI = "ftp://ftp.proftpd.org/distrib/source/${BPN}-${PV}.tar.gz \ + file://basic.conf.patch \ + file://proftpd-basic.init \ + file://default \ + file://close-RequireValidShell-check.patch \ + file://contrib.patch \ + file://build_fixup.patch \ + file://proftpd.service \ + " + +SRC_URI[md5sum] = "aff1bff40e675244d72c4667f203e5bb" +SRC_URI[sha256sum] = "c10316fb003bd25eccbc08c77dd9057e053693e6527ffa2ea2cc4e08ccb87715" + +inherit autotools-brokensep useradd update-rc.d systemd + +PACKAGECONFIG ??= "sia shadow" +PACKAGECONFIG += " ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}" +PACKAGECONFIG += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" + +PACKAGECONFIG[curses] = "--enable-curses --enable-ncurses, --disable-curses --disable-ncurses, ncurses" +PACKAGECONFIG[openssl] = "--enable-openssl, --disable-openssl, openssl, openssl" +PACKAGECONFIG[pam] = "--enable-auth-pam, --disable-auth-pam, libpam, libpam" +PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6" +PACKAGECONFIG[shadow] = "--enable-shadow, --disable-shadow" +PACKAGECONFIG[pcre] = "--enable-pcre, --disable-pcre, libpcre " + +# enable POSIX.1e capabilities +PACKAGECONFIG[cap] = "--enable-cap, --disable-cap, libcap, libcap" + +#enable support for POSIX ACLs +PACKAGECONFIG[acl] = "--enable-facl, --disable-facl" + +#enable proftpd controls via ftpdct +PACKAGECONFIG[ctrls] = "--enable-ctrls, --disable-crtls" + +#prevent proftpd from using its bundled getopt implementation. +PACKAGECONFIG[getopt] = "--with-getopt, --without-getopt" + +#do not strip debugging symbols from installed code +PACKAGECONFIG[strip] = "--enable-strip, --disable-strip" + +#enable SIA authentication support (Tru64) +PACKAGECONFIG[sia] = "--enable-sia, --disable-sia" +PACKAGECONFIG[sendfile] = "-enable-sendfile, --disable-sendfile" + +#enable Native Language Support (NLS) +PACKAGECONFIG[nls] = "--enable-nls, --disable-nls" + +#add mod_dso to core modules +PACKAGECONFIG[dso] = "--enable-dso, --disable-dso" +PACKAGECONFIG[largefile] = "--enable-largefile, --disable-largefile" + +#omit mod_auth_file from core modules +PACKAGECONFIG[auth] = "--enable-auth-file, --disable-auth-file" + + +# proftpd uses libltdl which currently makes configuring using +# autotools.bbclass a pain... +do_configure () { + oe_runconf +} + +FTPUSER = "ftp" +FTPGROUP = "ftp" + +do_install () { + oe_runmake DESTDIR=${D} install + rmdir ${D}${libdir}/proftpd ${D}${datadir}/locale + [ -d ${D}${libexecdir} ] && rmdir ${D}${libexecdir} + sed -i '/ *User[ \t]*/s/ftp/${FTPUSER}/' ${D}${sysconfdir}/proftpd.conf + sed -i '/ *Group[ \t]*/s/ftp/${FTPGROUP}/' ${D}${sysconfdir}/proftpd.conf + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/proftpd-basic.init ${D}${sysconfdir}/init.d/proftpd + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/proftpd + sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/proftpd + sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/proftpd + sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/proftpd + + install -d ${D}${sysconfdir}/default + install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/proftpd + + # create the pub directory + mkdir -p ${D}/home/${FTPUSER}/pub/ + chown -R ${FTPUSER}:${FTPGROUP} ${D}/home/${FTPUSER}/pub + + install -d ${D}/${systemd_unitdir}/system + install -m 644 ${WORKDIR}/proftpd.service ${D}/${systemd_unitdir}/system + sed -e 's,@BASE_SBINDIR@,${base_sbindir},g' \ + -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + -i ${D}${systemd_unitdir}/system/*.service +} + +INITSCRIPT_NAME = "proftpd" +INITSCRIPT_PARAM = "defaults 85 15" + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "proftpd.service" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system ${FTPGROUP}" +USERADD_PARAM_${PN} = "--system -g ${FTPGROUP} --home-dir /var/lib/${FTPUSER} --no-create-home \ + --shell /bin/false ${FTPUSER}" + +FILES_${PN} += "/home/${FTPUSER}" + +RDEPENDS_${PN} += "perl" diff --git a/meta-networking/recipes-daemons/ptpd/ptpd/ptpd-add-dpaa-etsec-support.patch b/meta-networking/recipes-daemons/ptpd/ptpd/ptpd-add-dpaa-etsec-support.patch new file mode 100644 index 0000000000..abb3933106 --- /dev/null +++ b/meta-networking/recipes-daemons/ptpd/ptpd/ptpd-add-dpaa-etsec-support.patch @@ -0,0 +1,621 @@ +Add FSL QorIQ DPAA and eTSEC support + +This patch is for Freescale QorIQ DPAA and eTSEC which support 1588 hardware +assist module, and mainly uses SO_TIMESTAMPING API for HW timestamp and PHC +API. + +Signed-off-by: Lu Yangbo <yangbo.lu@freescale.com> +Upstream-Status: Submitted [http://sourceforge.net/p/ptpd/patches/56/] + +diff --git a/src/bmc.c b/src/bmc.c +index f4c74bd..925daba 100644 +--- a/src/bmc.c ++++ b/src/bmc.c +@@ -249,6 +249,7 @@ void s1(MsgHeader *header,MsgAnnounce *announce,PtpClock *ptpClock, const RunTim + ptpClock->timePropertiesDS.ptpTimescale = IS_SET(header->flagField1, PTPT); + ptpClock->timePropertiesDS.timeSource = announce->timeSource; + ++#ifndef FSL_1588 + #if defined(MOD_TAI) && NTP_API == 4 + /* + * update kernel TAI offset, but only if timescale is +@@ -261,6 +262,7 @@ void s1(MsgHeader *header,MsgAnnounce *announce,PtpClock *ptpClock, const RunTim + INFO("Set kernel UTC offset to %d\n", ptpClock->timePropertiesDS.currentUtcOffset); + } + #endif /* MOD_TAI */ ++#endif + + /* Leap second handling */ + +@@ -280,9 +282,11 @@ void s1(MsgHeader *header,MsgAnnounce *announce,PtpClock *ptpClock, const RunTim + ptpClock->leapSecondPending = FALSE; + ptpClock->leapSecondInProgress = FALSE; + timerStop(LEAP_SECOND_PAUSE_TIMER, ptpClock->itimer); ++#ifndef FSL_1588 + #ifdef HAVE_SYS_TIMEX_H + unsetTimexFlags(STA_INS | STA_DEL,TRUE); + #endif /* HAVE_SYS_TIMEX_H */ ++#endif /* FSL_1588 */ + } + + /* +@@ -295,6 +299,7 @@ void s1(MsgHeader *header,MsgAnnounce *announce,PtpClock *ptpClock, const RunTim + ((!previousLeap59 && ptpClock->timePropertiesDS.leap59) || + (!previousLeap61 && ptpClock->timePropertiesDS.leap61)))) { + #ifdef HAVE_SYS_TIMEX_H ++#ifndef FSL_1588 + WARNING("Leap second pending! Setting kernel to %s " + "one second at midnight\n", + ptpClock->timePropertiesDS.leap61 ? "add" : "delete"); +@@ -304,6 +309,7 @@ void s1(MsgHeader *header,MsgAnnounce *announce,PtpClock *ptpClock, const RunTim + setTimexFlags(ptpClock->timePropertiesDS.leap61 ? STA_INS : STA_DEL, + FALSE); + } ++#endif + #else + WARNING("Leap second pending! No kernel leap second " + "API support - expect a clock jump at " +diff --git a/src/dep/net.c b/src/dep/net.c +index 34d23ad..9075847 100644 +--- a/src/dep/net.c ++++ b/src/dep/net.c +@@ -85,6 +85,9 @@ + #include <linux/ethtool.h> + #endif /* SO_TIMESTAMPING */ + ++#if defined(FSL_1588) ++char fsl_1588_if_name[IFACE_NAME_LENGTH]; ++#endif + /** + * shutdown the IPv4 multicast for specific address + * +@@ -461,6 +464,9 @@ testInterface(char * ifaceName, RunTimeOpts* rtOpts) + if(getInterfaceInfo(ifaceName, &info) != 1) + return FALSE; + ++#if defined(FSL_1588) ++ memcpy(fsl_1588_if_name, ifaceName, IFACE_NAME_LENGTH); ++#endif + switch(rtOpts->transport) { + + case UDP_IPV4: +@@ -666,6 +672,27 @@ end: + } + #endif /* SO_TIMESTAMPING */ + ++#if defined(FSL_1588) ++/* select HWTSTAMP_TX_ON or HWTSTAMP_TX_OFF */ ++void hwtstamp_tx_ctl(NetPath *netPath, Boolean enable) ++{ ++ struct ifreq hwtstamp; ++ struct hwtstamp_config hwconfig; ++ ++ memset(&hwtstamp, 0, sizeof(hwtstamp)); ++ strncpy(hwtstamp.ifr_name, fsl_1588_if_name, sizeof(hwtstamp.ifr_name)); ++ hwtstamp.ifr_data = (void *)&hwconfig; ++ memset(&hwconfig, 0, sizeof(hwconfig)); ++ hwconfig.tx_type = ++ enable ? ++ HWTSTAMP_TX_ON : HWTSTAMP_TX_OFF; ++ hwconfig.rx_filter = HWTSTAMP_FILTER_PTP_V1_L4_SYNC; ++ if (ioctl(netPath->eventSock, SIOCSHWTSTAMP, &hwtstamp) < 0 ++ || ioctl(netPath->generalSock, SIOCSHWTSTAMP, &hwtstamp) < 0) ++ printf("error:hwtstamp_tx_ctl\n"); ++} ++#endif ++ + + /** + * Initialize timestamping of packets +@@ -682,10 +709,17 @@ netInitTimestamping(NetPath * netPath, RunTimeOpts * rtOpts) + Boolean result = TRUE; + #if defined(SO_TIMESTAMPING) && defined(SO_TIMESTAMPNS)/* Linux - current API */ + DBG("netInitTimestamping: trying to use SO_TIMESTAMPING\n"); ++#if defined(FSL_1588) ++ val = SOF_TIMESTAMPING_TX_HARDWARE | ++ SOF_TIMESTAMPING_RX_HARDWARE | ++ SOF_TIMESTAMPING_RAW_HARDWARE; ++#else + val = SOF_TIMESTAMPING_TX_SOFTWARE | + SOF_TIMESTAMPING_RX_SOFTWARE | + SOF_TIMESTAMPING_SOFTWARE; ++#endif + ++#ifndef FSL_1588 + /* unless compiled with PTPD_EXPERIMENTAL, check if we support the desired tstamp capabilities */ + #ifndef PTPD_EXPERIMENTAL + #ifdef ETHTOOL_GET_TS_INFO +@@ -716,6 +750,7 @@ netInitTimestamping(NetPath * netPath, RunTimeOpts * rtOpts) + val = 1; + #endif /* ETHTOOL_GET_TS_INFO */ + #endif /* PTPD_EXPERIMENTAL */ ++#endif /* FSL_1588 */ + + if(val == 1) { + if (setsockopt(netPath->eventSock, SOL_SOCKET, SO_TIMESTAMPNS, &val, sizeof(int)) < 0) { +@@ -902,6 +937,9 @@ netInit(NetPath * netPath, RunTimeOpts * rtOpts, PtpClock * ptpClock) + + DBG("Listening on IP: %s\n",inet_ntoa( + ((struct sockaddr_in*)&(netPath->interfaceInfo.afAddress))->sin_addr)); ++#if defined(FSL_1588) ++ hwtstamp_tx_ctl(&ptpClock->netPath, FALSE);/* HWTSTAMP_TX_OFF */ ++#endif + + #ifdef PTPD_PCAP + if (rtOpts->pcap == TRUE) { +@@ -1319,7 +1357,11 @@ netRecvEvent(Octet * buf, TimeInternal * time, NetPath * netPath, int flags) + #if defined(SO_TIMESTAMPING) && defined(SO_TIMESTAMPNS) + if(cmsg->cmsg_type == SO_TIMESTAMPING || + cmsg->cmsg_type == SO_TIMESTAMPNS) { ++#if defined(FSL_1588) ++ ts = (struct timespec *)CMSG_DATA(cmsg) + 2; ++#else + ts = (struct timespec *)CMSG_DATA(cmsg); ++#endif + time->seconds = ts->tv_sec; + time->nanoseconds = ts->tv_nsec; + timestampValid = TRUE; +@@ -1520,6 +1562,9 @@ netSendEvent(Octet * buf, UInteger16 length, NetPath * netPath, + ssize_t ret; + struct sockaddr_in addr; + ++#if defined(FSL_1588) ++ hwtstamp_tx_ctl(netPath, TRUE);/* HWTSTAMP_TX_ON */ ++#endif + addr.sin_family = AF_INET; + addr.sin_port = htons(PTP_EVENT_PORT); + +@@ -1559,6 +1604,9 @@ netSendEvent(Octet * buf, UInteger16 length, NetPath * netPath, + DBG("Error sending unicast event message\n"); + else + netPath->sentPackets++; ++#if defined(FSL_1588) ++ usleep(100); ++#endif + #ifndef SO_TIMESTAMPING + /* + * Need to forcibly loop back the packet since +@@ -1574,10 +1622,14 @@ netSendEvent(Octet * buf, UInteger16 length, NetPath * netPath, + #else + if(!netPath->txTimestampFailure) { + if(!getTxTimestamp(netPath, tim)) { ++#if defined(FSL_1588) ++ printf("getTxTimestamp: get tx timestamp error\n"); ++#else + netPath->txTimestampFailure = TRUE; + if (tim) { + clearTime(tim); + } ++#endif + } + } + +@@ -1609,9 +1661,15 @@ netSendEvent(Octet * buf, UInteger16 length, NetPath * netPath, + DBG("Error sending multicast event message\n"); + else + netPath->sentPackets++; ++#if defined(FSL_1588) ++ usleep(100); ++#endif + #ifdef SO_TIMESTAMPING + if(!netPath->txTimestampFailure) { + if(!getTxTimestamp(netPath, tim)) { ++#if defined(FSL_1588) ++ printf("getTxTimestamp: get tx timestamp error\n"); ++#else + if (tim) { + clearTime(tim); + } +@@ -1620,6 +1678,7 @@ netSendEvent(Octet * buf, UInteger16 length, NetPath * netPath, + + /* Try re-enabling MULTICAST_LOOP */ + netSetMulticastLoopback(netPath, TRUE); ++#endif + } + } + #endif /* SO_TIMESTAMPING */ +@@ -1638,6 +1697,9 @@ netSendGeneral(Octet * buf, UInteger16 length, NetPath * netPath, + ssize_t ret; + struct sockaddr_in addr; + ++#if defined(FSL_1588) ++ hwtstamp_tx_ctl(netPath, TRUE);/* HWTSTAMP_TX_ON */ ++#endif + addr.sin_family = AF_INET; + addr.sin_port = htons(PTP_GENERAL_PORT); + +@@ -1707,6 +1769,9 @@ netSendPeerGeneral(Octet * buf, UInteger16 length, NetPath * netPath, RunTimeOpt + ssize_t ret; + struct sockaddr_in addr; + ++#if defined(FSL_1588) ++ hwtstamp_tx_ctl(netPath, TRUE);/* HWTSTAMP_TX_ON */ ++#endif + addr.sin_family = AF_INET; + addr.sin_port = htons(PTP_GENERAL_PORT); + +@@ -1762,6 +1827,9 @@ netSendPeerEvent(Octet * buf, UInteger16 length, NetPath * netPath, RunTimeOpts + ssize_t ret; + struct sockaddr_in addr; + ++#if defined(FSL_1588) ++ hwtstamp_tx_ctl(netPath, TRUE);/* HWTSTAMP_TX_ON */ ++#endif + addr.sin_family = AF_INET; + addr.sin_port = htons(PTP_EVENT_PORT); + +@@ -1788,6 +1856,9 @@ netSendPeerEvent(Octet * buf, UInteger16 length, NetPath * netPath, RunTimeOpts + DBG("Error sending unicast peer event message\n"); + else + netPath->sentPackets++; ++#if defined(FSL_1588) ++ usleep(100); ++#endif + + #ifndef SO_TIMESTAMPING + /* +@@ -1804,10 +1875,14 @@ netSendPeerEvent(Octet * buf, UInteger16 length, NetPath * netPath, RunTimeOpts + #else + if(!netPath->txTimestampFailure) { + if(!getTxTimestamp(netPath, tim)) { ++#if defined(FSL_1588) ++ printf("getTxTimestamp: get tx timestamp error\n"); ++#else + netPath->txTimestampFailure = TRUE; + if (tim) { + clearTime(tim); + } ++#endif + } + } + +@@ -1839,9 +1914,15 @@ netSendPeerEvent(Octet * buf, UInteger16 length, NetPath * netPath, RunTimeOpts + DBG("Error sending multicast peer event message\n"); + else + netPath->sentPackets++; ++#if defined(FSL_1588) ++ usleep(100); ++#endif + #ifdef SO_TIMESTAMPING + if(!netPath->txTimestampFailure) { + if(!getTxTimestamp(netPath, tim)) { ++#if defined(FSL_1588) ++ printf("getTxTimestamp: get tx timestamp error\n"); ++#else + if (tim) { + clearTime(tim); + } +@@ -1850,6 +1931,7 @@ netSendPeerEvent(Octet * buf, UInteger16 length, NetPath * netPath, RunTimeOpts + + /* Try re-enabling MULTICAST_LOOP */ + netSetMulticastLoopback(netPath, TRUE); ++#endif + } + } + #endif /* SO_TIMESTAMPING */ +diff --git a/src/dep/ntpengine/ntpdcontrol.c b/src/dep/ntpengine/ntpdcontrol.c +index d773284..e84af9e 100644 +--- a/src/dep/ntpengine/ntpdcontrol.c ++++ b/src/dep/ntpengine/ntpdcontrol.c +@@ -170,6 +170,15 @@ get_systime( + { + double dtemp; + ++#if defined(FSL_1588) ++ struct timespec tp; ++ clock_gettime(clkid, &tp); ++ tv.tv_sec = tp.tv_sec; ++ tv.tv_usec = tp.tv_nsec / 1000; ++ ++ now->l_i = tv.tv_sec + JAN_1970; ++ dtemp = tv.tv_usec / 1e6; ++#else /* FSL_1588 */ + #if defined(HAVE_CLOCK_GETTIME) || defined(HAVE_GETCLOCK) + struct timespec ts; /* seconds and nanoseconds */ + +@@ -195,6 +204,7 @@ get_systime( + dtemp = tv.tv_usec / 1e6; + + #endif /* HAVE_CLOCK_GETTIME || HAVE_GETCLOCK */ ++#endif /* FSL_1588 */ + + /* + * Renormalize to seconds past 1900 and fraction. +diff --git a/src/dep/ptpd_dep.h b/src/dep/ptpd_dep.h +index 8778988..03ae642 100644 +--- a/src/dep/ptpd_dep.h ++++ b/src/dep/ptpd_dep.h +@@ -14,6 +14,7 @@ + #define PTPD_DBGV + #endif + ++#define FSL_1588 1 + /** \name System messages*/ + /**\{*/ + +@@ -280,6 +281,11 @@ UInteger16 msgPackManagementResponse(Octet * buf,MsgHeader*,MsgManagement*,PtpCl + * -Init network stuff, send and receive datas*/ + /**\{*/ + ++#if defined(FSL_1588) ++extern char fsl_1588_if_name[IFACE_NAME_LENGTH]; ++/* select HWTSTAMP_TX_ON or HWTSTAMP_TX_OFF */ ++void hwtstamp_tx_ctl(NetPath *netPath, Boolean enable); ++#endif + Boolean testInterface(char* ifaceName, RunTimeOpts* rtOpts); + Boolean netInit(NetPath*,RunTimeOpts*,PtpClock*); + Boolean netShutdown(NetPath*); +@@ -357,6 +363,10 @@ void restartLogging(RunTimeOpts* rtOpts); + void logStatistics(RunTimeOpts *rtOpts, PtpClock *ptpClock); + void displayStatus(PtpClock *ptpClock, const char *prefixMessage); + void displayPortIdentity(PortIdentity *port, const char *prefixMessage); ++#if defined(FSL_1588) ++clockid_t get_clockid(int fd); ++int clock_adjtime(clockid_t id, struct timex *tx); ++#endif + Boolean nanoSleep(TimeInternal*); + void getTime(TimeInternal*); + void setTime(TimeInternal*); +@@ -378,12 +388,15 @@ void adjTime(Integer32); + void adjFreq_wrapper(RunTimeOpts * rtOpts, PtpClock * ptpClock, double adj); + Boolean adjFreq(double); + double getAdjFreq(void); ++#ifndef FSL_1588 + void informClockSource(PtpClock* ptpClock); ++#endif + + /* Observed drift save / recovery functions */ + void restoreDrift(PtpClock * ptpClock, RunTimeOpts * rtOpts, Boolean quiet); + void saveDrift(PtpClock * ptpClock, RunTimeOpts * rtOpts, Boolean quiet); + ++#ifndef FSL_1588 + /* Helper function to manage ntpadjtime / adjtimex flags */ + void setTimexFlags(int flags, Boolean quiet); + void unsetTimexFlags(int flags, Boolean quiet); +@@ -393,6 +406,7 @@ Boolean checkTimexFlags(int flags); + #if defined(MOD_TAI) && NTP_API == 4 + void setKernelUtcOffset(int utc_offset); + #endif /* MOD_TAI */ ++#endif + + #endif /* HAVE_SYS_TIMEX_H */ + +diff --git a/src/dep/servo.c b/src/dep/servo.c +index 06215e6..6651a20 100644 +--- a/src/dep/servo.c ++++ b/src/dep/servo.c +@@ -1013,10 +1013,12 @@ if(rtOpts->ntpOptions.enableEngine && rtOpts->panicModeNtp) { + /* Adjust the clock first -> the PI controller runs here */ + adjFreq_wrapper(rtOpts, ptpClock, runPIservo(&ptpClock->servo, ptpClock->offsetFromMaster.nanoseconds)); + warn_operator_fast_slewing(rtOpts, ptpClock, ptpClock->servo.observedDrift); ++#ifndef FSL_1588 + /* Unset STA_UNSYNC */ + unsetTimexFlags(STA_UNSYNC, TRUE); + /* "Tell" the clock about maxerror, esterror etc. */ + informClockSource(ptpClock); ++#endif /* FSL_1588 */ + #endif /* HAVE_SYS_TIMEX_H */ + } + +diff --git a/src/dep/sys.c b/src/dep/sys.c +index 52b274c..8551724 100644 +--- a/src/dep/sys.c ++++ b/src/dep/sys.c +@@ -344,7 +344,14 @@ int writeMessage(FILE* destination, int priority, const char * format, va_list a + * it also can cause problems in nested debug statements (which are solved by turning the signal + * handling synchronous, and not calling this function inside asycnhronous signal processing) + */ ++#if defined(FSL_1588) ++ struct timespec tp; ++ clock_gettime(clkid, &tp); ++ now.tv_sec = tp.tv_sec; ++ now.tv_usec = tp.tv_nsec / 1000; ++#else + gettimeofday(&now, 0); ++#endif + strftime(time_str, MAXTIMESTR, "%F %X", localtime((time_t*)&now.tv_sec)); + fprintf(destination, "%s.%06d ", time_str, (int)now.tv_usec ); + fprintf(destination,PTPD_PROGNAME"[%d].%s (%-9s ", +@@ -1174,13 +1181,33 @@ nanoSleep(TimeInternal * t) + return TRUE; + } + ++#if defined(FSL_1588) ++clockid_t get_clockid(int fd) ++{ ++#define CLOCKFD 3 ++#define FD_TO_CLOCKID(fd) ((~(clockid_t) (fd) << 3) | CLOCKFD) ++ return FD_TO_CLOCKID(fd); ++} ++ ++/* When glibc offers the syscall, this will go away. */ ++#include <sys/syscall.h> ++int clock_adjtime(clockid_t id, struct timex *tx) ++{ ++ return syscall(__NR_clock_adjtime, id, tx); ++} ++#endif ++ + void + getTime(TimeInternal * time) + { +-#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0) ++#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0) || defined(FSL_1588) + + struct timespec tp; ++#if defined(FSL_1588) ++ if (clock_gettime(clkid, &tp) < 0) { ++#else + if (clock_gettime(CLOCK_REALTIME, &tp) < 0) { ++#endif + PERROR("clock_gettime() failed, exiting."); + exit(0); + } +@@ -1201,7 +1228,7 @@ void + setTime(TimeInternal * time) + { + +-#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0) ++#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0) || defined(FSL_1588) + + struct timespec tp; + tp.tv_sec = time->seconds; +@@ -1215,9 +1242,13 @@ setTime(TimeInternal * time) + + #endif /* _POSIX_TIMERS */ + +-#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0) + ++#if defined(_POSIX_TIMERS) && (_POSIX_TIMERS > 0) || defined(FSL_1588) ++#if defined(FSL_1588) ++ if (clock_settime(clkid, &tp) < 0) { ++#else + if (clock_settime(CLOCK_REALTIME, &tp) < 0) { ++#endif + PERROR("Could not set system time"); + return; + } +@@ -1595,7 +1626,11 @@ adjFreq(double adj) + #endif /* HAVE_STRUCT_TIMEX_TICK */ + DBG2(" adj is %.09f; t freq is %d (float: %.09f)\n", adj, t.freq, dFreq); + ++#if defined(FSL_1588) ++ return !clock_adjtime(clkid, &t); ++#else + return !adjtimex(&t); ++#endif + } + + +@@ -1609,7 +1644,11 @@ getAdjFreq(void) + + memset(&t, 0, sizeof(t)); + t.modes = 0; ++#if defined(FSL_1588) ++ clock_adjtime(clkid, &t); ++#else + adjtimex(&t); ++#endif + + dFreq = (t.freq + 0.0) / ((1<<16) / 1000.0); + +@@ -1764,6 +1803,7 @@ saveDrift(PtpClock * ptpClock, RunTimeOpts * rtOpts, Boolean quiet) + fclose(driftFP); + } + ++#ifndef FSL_1588 + void + setTimexFlags(int flags, Boolean quiet) + { +@@ -1922,6 +1962,7 @@ setKernelUtcOffset(int utc_offset) { + } + } + #endif /* MOD_TAI */ ++#endif /* FSL_1588 */ + + + #else +diff --git a/src/protocol.c b/src/protocol.c +index c73728b..90554f3 100644 +--- a/src/protocol.c ++++ b/src/protocol.c +@@ -615,6 +615,7 @@ if(!rtOpts->panicModeNtp || !ptpClock->panicMode) + timerStart(STATISTICS_UPDATE_TIMER, rtOpts->statsUpdateInterval, ptpClock->itimer); + #endif /* PTPD_STATISTICS */ + ++#ifndef FSL_1588 + #ifdef HAVE_SYS_TIMEX_H + + /* +@@ -632,6 +633,7 @@ if(!rtOpts->panicModeNtp || !ptpClock->panicMode) + unsetTimexFlags(STA_INS | STA_DEL, TRUE); + } + #endif /* HAVE_SYS_TIMEX_H */ ++#endif /* FSL_1588 */ + break; + default: + DBG("to unrecognized state\n"); +@@ -934,6 +936,7 @@ doState(RunTimeOpts *rtOpts, PtpClock *ptpClock) + WARNING("Leap second event imminent - pausing " + "clock and offset updates\n"); + ptpClock->leapSecondInProgress = TRUE; ++#ifndef FSL_1588 + #ifdef HAVE_SYS_TIMEX_H + if(!checkTimexFlags(ptpClock->timePropertiesDS.leap61 ? + STA_INS : STA_DEL)) { +@@ -944,6 +947,7 @@ doState(RunTimeOpts *rtOpts, PtpClock *ptpClock) + STA_INS : STA_DEL, FALSE); + } + #endif /* HAVE_SYS_TIMEX_H */ ++#endif /* FSL_1588 */ + /* + * start pause timer from now until [pause] after + * midnight, plus an extra second if inserting +@@ -1290,6 +1294,9 @@ handle(RunTimeOpts *rtOpts, PtpClock *ptpClock) + int ret; + ssize_t length = -1; + ++#if defined(FSL_1588) ++ hwtstamp_tx_ctl(&ptpClock->netPath, FALSE);/* HWTSTAMP_TX_OFF */ ++#endif + TimeInternal timeStamp = { 0, 0 }; + fd_set readfds; + +@@ -1437,9 +1444,11 @@ handleAnnounce(MsgHeader *header, ssize_t length, + ptpClock->leapSecondInProgress=FALSE; + ptpClock->timePropertiesDS.leap59 = FALSE; + ptpClock->timePropertiesDS.leap61 = FALSE; ++#ifndef FSL_1588 + #ifdef HAVE_SYS_TIMEX_H + unsetTimexFlags(STA_INS | STA_DEL, TRUE); + #endif /* HAVE_SYS_TIMEX_H */ ++#endif /* FSL_1588 */ + } + } + DBG2("___ Announce: received Announce from current Master, so reset the Announce timer\n"); +diff --git a/src/ptpd.c b/src/ptpd.c +index 3fad379..471b1e9 100644 +--- a/src/ptpd.c ++++ b/src/ptpd.c +@@ -78,6 +78,21 @@ main(int argc, char **argv) + PtpClock *ptpClock; + Integer16 ret; + ++#if defined(FSL_1588) ++ char device[] = "/dev/ptp0"; ++ int fd; ++ ++ fd = open(device, O_RDWR); ++ if (fd < 0) { ++ fprintf(stderr, "opening %s: %s\n", device, strerror(errno)); ++ return -1; ++ } ++ clkid = get_clockid(fd); ++ if (clkid == -1) { ++ fprintf(stderr, "failed to read clock id\n"); ++ return -1; ++ } ++#endif + startupInProgress = TRUE; + + /* Initialize run time options with command line arguments */ +diff --git a/src/ptpd.h b/src/ptpd.h +index 009f51c..6641649 100644 +--- a/src/ptpd.h ++++ b/src/ptpd.h +@@ -172,6 +172,15 @@ + #include <linux/rtc.h> + #endif /* HAVE_LINUX_RTC_H */ + ++#ifdef FSL_1588 ++#ifndef SO_TIMESTAMPING ++#define SO_TIMESTAMPING 37 ++#endif ++#ifndef HAVE_SYS_TIMEX_H ++#define HAVE_SYS_TIMEX_H 1 ++#endif ++clockid_t clkid; ++#endif + /** \name arith.c + * -Timing management and arithmetic*/ + /**\{*/ diff --git a/meta-networking/recipes-daemons/ptpd/ptpd/ptpd-use-pkgconfig.patch b/meta-networking/recipes-daemons/ptpd/ptpd/ptpd-use-pkgconfig.patch new file mode 100644 index 0000000000..e4578dda74 --- /dev/null +++ b/meta-networking/recipes-daemons/ptpd/ptpd/ptpd-use-pkgconfig.patch @@ -0,0 +1,35 @@ +From 4c850b92a1cf8cfa19677c66bcde2edfab1a4490 Mon Sep 17 00:00:00 2001 +From: Joe MacDonald <joe_macdonald@mentor.com> +Date: Tue, 24 Feb 2015 23:02:14 -0500 +Subject: [PATCH] ptpd: use pkgconfig + +Yocto uses pkg-config for libpcap, rather than pcap-config, so use that +instead as the source for libs and cflags. + +Upstream-status: Inappropriate [ embedded specific ] + +Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com> +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index dc9541f..288f547 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -112,10 +112,10 @@ case "$try_pcap" in + yes) + case "$PATH_PCAP_CONFIG" in + /*) +- PCAP_LIBS=`$PATH_PCAP_CONFIG --libs` ++ PCAP_LIBS=`$PATH_PCAP_CONFIG --libs libpcap` + AC_SUBST([PCAP_LIBS]) + # Separate CPPFLAGS and CFLAGS +- foo=`$PATH_PCAP_CONFIG --cflags` ++ foo=`$PATH_PCAP_CONFIG --cflags libpcap` + PCAP_CPPFLAGS= + PCAP_CFLAGS= + for i in $foo; do +-- +1.9.1 + diff --git a/meta-networking/recipes-daemons/ptpd/ptpd/ptpd.conf b/meta-networking/recipes-daemons/ptpd/ptpd/ptpd.conf new file mode 100644 index 0000000000..ddd571036f --- /dev/null +++ b/meta-networking/recipes-daemons/ptpd/ptpd/ptpd.conf @@ -0,0 +1,7 @@ +# +# PTPD Configuration +# +# See man ptpd2 for arguments. +# +# Example arguments +PTPDARGS="-d 1 -i eth0" diff --git a/meta-networking/recipes-daemons/ptpd/ptpd/ptpd.service b/meta-networking/recipes-daemons/ptpd/ptpd/ptpd.service new file mode 100644 index 0000000000..f84799eb5f --- /dev/null +++ b/meta-networking/recipes-daemons/ptpd/ptpd/ptpd.service @@ -0,0 +1,10 @@ +[Unit] +Description=ptpd time precision daemon + +[Service] +Type=forking +EnvironmentFile=-@SYSCONFDIR@/default/ptpd +ExecStart=@BINDIR@/ptpd2 $PTPDARGS + +[Install] +WantedBy=multi-user.target diff --git a/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1-rc2.bb b/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1-rc2.bb index db74e44631..0dcfc1f7d6 100644 --- a/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1-rc2.bb +++ b/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1-rc2.bb @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://README;md5=2452033fe374283f29579898663b1aa8" DEPENDS = "libpcap" -inherit autotools +inherit autotools systemd # return something like '1.2.3' or '1.2.3/rc1' # @@ -21,7 +21,12 @@ def get_sub(d): except: return parts[0] -SRC_URI = "http://downloads.sourceforge.net/project/ptpd/ptpd/${@get_sub(d)}/ptpd-${PV}.tar.gz" +SRC_URI = "http://downloads.sourceforge.net/project/ptpd/ptpd/${@get_sub(d)}/ptpd-${PV}.tar.gz \ + file://ptpd-add-dpaa-etsec-support.patch \ + file://ptpd-use-pkgconfig.patch \ + file://ptpd.service \ + file://ptpd.conf \ +" SRC_URI[md5sum] = "1ef2f1f2825080a865bbce0eb61246d4" SRC_URI[sha256sum] = "2802aab758649bb222859dfcb62a5d282709ccb4d3f1df3f26f739cc091d0c8d" @@ -30,10 +35,25 @@ S = "${WORKDIR}/ptpd-${PV}" EXTRA_OEMAKE = "" -EXTRA_OECONF += "--disable-snmp" +EXTRA_OECONF += "--disable-snmp --with-pcap-config=pkg-config" do_install() { install -d ${D}${bindir} ${D}${mandir}/man8 install -m 0755 ${B}/src/ptpd2 ${D}${bindir} install -m 0644 ${B}/src/ptpd2.8 ${D}${mandir}/man8 + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/ptpd.service ${D}${systemd_unitdir}/system + + sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/ptpd.service + sed -i -e 's#@BINDIR@#${bindir}#g' ${D}${systemd_unitdir}/system/ptpd.service + + install -d ${D}${sysconfdir}/default/ + install -m 0644 ${WORKDIR}/ptpd.conf ${D}${sysconfdir}/default/ptpd + fi } + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "ptpd.service" +SYSTEMD_AUTO_ENABLE = "disable" diff --git a/meta-networking/recipes-daemons/radvd/files/radvd.default b/meta-networking/recipes-daemons/radvd/files/radvd.default new file mode 100644 index 0000000000..7cb73c7716 --- /dev/null +++ b/meta-networking/recipes-daemons/radvd/files/radvd.default @@ -0,0 +1 @@ +OPTIONS="-u radvd" diff --git a/meta-networking/recipes-daemons/radvd/files/radvd.service b/meta-networking/recipes-daemons/radvd/files/radvd.service index 3aac7b27db..e60798a6b3 100644 --- a/meta-networking/recipes-daemons/radvd/files/radvd.service +++ b/meta-networking/recipes-daemons/radvd/files/radvd.service @@ -4,11 +4,8 @@ After=network.target ConditionPathExists=@SYSCONFDIR@/radvd.conf [Service] -Type=forking -PIDFile=/var/run/radvd/radvd.pid EnvironmentFile=-@SYSCONFDIR@/default/radvd -ExecStartPre=@BASE_BINDIR@/mkdir -p /var/run/radvd -ExecStart=@SBINDIR@/radvd $OPTIONS +ExecStart=@SBINDIR@/radvd -n $OPTIONS [Install] WantedBy=multi-user.target diff --git a/meta-networking/recipes-daemons/radvd/radvd.inc b/meta-networking/recipes-daemons/radvd/radvd.inc index 85d1a85b13..6b595b07f3 100644 --- a/meta-networking/recipes-daemons/radvd/radvd.inc +++ b/meta-networking/recipes-daemons/radvd/radvd.inc @@ -17,7 +17,8 @@ LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=73ebbf7182ae996e65e8fadc9a8c45db" SRC_URI = "http://v6web.litech.org/radvd/dist/radvd-${PV}.tar.gz \ file://radvd.init \ file://radvd.service \ - file://volatiles.03_radvd" + file://volatiles.03_radvd \ + file://radvd.default" inherit autotools update-rc.d useradd pkgconfig systemd @@ -44,6 +45,9 @@ do_install_append () { -e 's#@SBINDIR@#${sbindir}#g' \ -e 's#@BASE_BINDIR@#${base_bindir}#g' ${D}${systemd_unitdir}/system/radvd.service + # Install default environment file + install -m 0644 ${WORKDIR}/radvd.default ${D}${sysconfdir}/default/radvd + # Documentation for i in radvd.conf.example README; do \ install -m 0644 ${S}/$i ${D}${docdir}/radvd; \ diff --git a/meta-networking/recipes-daemons/squid/files/Add-default-entry-for-cross-compile.patch b/meta-networking/recipes-daemons/squid/files/Add-default-entry-for-cross-compile.patch new file mode 100644 index 0000000000..5f845bb4cd --- /dev/null +++ b/meta-networking/recipes-daemons/squid/files/Add-default-entry-for-cross-compile.patch @@ -0,0 +1,31 @@ +From faa212a4e0aaf442ff58fca50770a8fadc1038e3 Mon Sep 17 00:00:00 2001 +Message-Id: <faa212a4e0aaf442ff58fca50770a8fadc1038e3.1382041123.git.Jim.Somerville@windriver.com> +From: Jim Somerville <Jim.Somerville@windriver.com> +Date: Thu, 17 Oct 2013 16:17:48 -0400 +Subject: [PATCH 1/1] Add default entry for cross compile + +Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com> +--- + acinclude/krb5.m4 | 6 +++++- + 1 files changed, 5 insertions(+), 1 deletions(-) + +diff --git a/acinclude/krb5.m4 b/acinclude/krb5.m4 +index 5d9ac36..7a072a2 100644 +--- a/acinclude/krb5.m4 ++++ b/acinclude/krb5.m4 +@@ -82,7 +82,11 @@ main(void) + + return 0; + } +-]])], [ squid_cv_broken_heimdal_krb5_h=yes ], [ squid_cv_broken_heimdal_krb5_h=no ]) ++]])], [ squid_cv_broken_heimdal_krb5_h=yes ], [ squid_cv_broken_heimdal_krb5_h=no ], ++[ ++ dnl Can't test in cross compiled env - so assume good ++ squid_cv_broken_heimdal_krb5_h=no ++]) + ], + [ + dnl Can't test in cross compiled env - so assume good +-- +1.7.4.1 + diff --git a/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch b/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch new file mode 100644 index 0000000000..2304c5f1dd --- /dev/null +++ b/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch @@ -0,0 +1,43 @@ +From 0d5b337ff5ef7dd48f970f08bd95d6327917cfd1 Mon Sep 17 00:00:00 2001 +Message-Id: <0d5b337ff5ef7dd48f970f08bd95d6327917cfd1.1382375807.git.Jim.Somerville@windriver.com> +From: Jim Somerville <Jim.Somerville@windriver.com> +Date: Mon, 21 Oct 2013 12:50:44 -0400 +Subject: [PATCH 1/1] Fix flawed dynamic -ldb link test in configure + +The test uses dbopen, but just ignores the fact +that this function may not exist in the db version +used. This leads to the dynamic link test failing +and the configure script just making assumptions +about why and setting the need for -ldb incorrectly. + +Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com> +--- + configure.ac | 12 ++++++++++-- + 1 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 962a748..42e6a93 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3051,8 +3051,16 @@ AC_CHECK_DECL(dbopen,,,[ + #include <db.h> + #endif]) + +-dnl 1.85 +-SQUID_CHECK_DBOPEN_NEEDS_LIBDB ++if test "x$ac_cv_have_decl_dbopen" = "xyes"; then ++ dnl 1.85 ++ SQUID_CHECK_DBOPEN_NEEDS_LIBDB ++else ++ # dbopen isn't there. So instead of running a compile/link test that ++ # uses it and is thus guaranteed to fail, we just assume that we will ++ # need to link in the db library, rather than fabricate some other ++ # dynamic compile/link test. ++ ac_cv_dbopen_libdb="yes" ++fi + if test "x$ac_cv_dbopen_libdb" = "xyes"; then + LIB_DB="-ldb" + fi +-- +1.7.4.1 + diff --git a/meta-networking/recipes-daemons/squid/files/Set-up-for-cross-compilation.patch b/meta-networking/recipes-daemons/squid/files/Set-up-for-cross-compilation.patch new file mode 100644 index 0000000000..4ca27444a4 --- /dev/null +++ b/meta-networking/recipes-daemons/squid/files/Set-up-for-cross-compilation.patch @@ -0,0 +1,29 @@ +From 17e5a28667f667859c48bee25e575a072d39ee1b Mon Sep 17 00:00:00 2001 +Message-Id: <17e5a28667f667859c48bee25e575a072d39ee1b.1381956170.git.Jim.Somerville@windriver.com> +From: Jim Somerville <Jim.Somerville@windriver.com> +Date: Wed, 16 Oct 2013 16:41:03 -0400 +Subject: [PATCH 1/1] Set up for cross compilation + +Set the host compiler to BUILD_CXX so +proper cross compilation can occur. + +Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com> +--- + configure.ac | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/configure.ac b/configure.ac +index c2d3033..dda9ed9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -19,6 +19,7 @@ m4_include([acinclude/lib-checks.m4]) + m4_include([acinclude/ax_cxx_compile_stdcxx_0x.m4]) + m4_include([acinclude/ax_cxx_0x_types.m4]) + ++HOSTCXX="$BUILD_CXX" + PRESET_CFLAGS="$CFLAGS" + PRESET_CXXFLAGS="$CXXFLAGS" + PRESET_LDFLAGS="$LDFLAGS" +-- +1.7.4.1 + diff --git a/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch b/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch new file mode 100644 index 0000000000..7b6dcc820d --- /dev/null +++ b/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch @@ -0,0 +1,64 @@ +Subject: [PATCH] Skip AC_RUN_IFELSE tests + +Upstream-Status: Inappropriate [cross compiling specific] + +Such tests are not supported in a cross compile +environment. Choose sane defaults. + +Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com> +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + acinclude/krb5.m4 | 10 +++++++++- + acinclude/lib-checks.m4 | 8 ++++++-- + 2 files changed, 15 insertions(+), 3 deletions(-) + +diff --git a/acinclude/krb5.m4 b/acinclude/krb5.m4 +index 946bea8..7a072a2 100644 +--- a/acinclude/krb5.m4 ++++ b/acinclude/krb5.m4 +@@ -82,7 +82,15 @@ main(void) + + return 0; + } +-]])], [ squid_cv_broken_heimdal_krb5_h=yes ], [ squid_cv_broken_heimdal_krb5_h=no ]) ++]])], [ squid_cv_broken_heimdal_krb5_h=yes ], [ squid_cv_broken_heimdal_krb5_h=no ], ++[ ++ dnl Can't test in cross compiled env - so assume good ++ squid_cv_broken_heimdal_krb5_h=no ++]) ++ ], ++ [ ++ dnl Can't test in cross compiled env - so assume good ++ squid_cv_broken_heimdal_krb5_h=no + ]) + ]) + ]) dnl SQUID_CHECK_KRB5_HEIMDAL_BROKEN_KRB5_H +diff --git a/acinclude/lib-checks.m4 b/acinclude/lib-checks.m4 +index 2bf98ee..50dba9b 100644 +--- a/acinclude/lib-checks.m4 ++++ b/acinclude/lib-checks.m4 +@@ -128,7 +128,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_GETCERTIFICATE_WORKS],[ + AC_DEFINE(SQUID_SSLGETCERTIFICATE_BUGGY, 1) + AC_MSG_RESULT([yes]) + ], +- []) ++ [ ++ AC_MSG_RESULT([skipped - can't test in cross-compiled env]) ++ ]) + + AC_MSG_CHECKING(whether the workaround for SSL_get_certificate works) + AC_RUN_IFELSE([ +@@ -154,7 +156,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_GETCERTIFICATE_WORKS],[ + [ + AC_MSG_RESULT([no]) + ], +-[]) ++[ ++ AC_MSG_RESULT([skipped - can't test in cross-compiled env]) ++]) + + SQUID_STATE_ROLLBACK(check_SSL_get_certificate) + ]) +-- +1.7.1 + diff --git a/meta-networking/recipes-daemons/squid/files/run-ptest b/meta-networking/recipes-daemons/squid/files/run-ptest new file mode 100644 index 0000000000..de79a293c5 --- /dev/null +++ b/meta-networking/recipes-daemons/squid/files/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh +# +make -C test-suite -k runtest-TESTS diff --git a/meta-networking/recipes-daemons/squid/files/squid-change-ksh-reference-in-krb-ldap-helper-to-sh.patch b/meta-networking/recipes-daemons/squid/files/squid-change-ksh-reference-in-krb-ldap-helper-to-sh.patch new file mode 100644 index 0000000000..8e03860b3c --- /dev/null +++ b/meta-networking/recipes-daemons/squid/files/squid-change-ksh-reference-in-krb-ldap-helper-to-sh.patch @@ -0,0 +1,39 @@ +squid: change ksh reference in krb ldap helper to sh + +Very simple cert_tool script with no ksh specifics. +Change it to use sh so a package dependency doesn't +get created to ksh. + +Upstream-Status: Pending + +Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com> +Signed-off-by: Chong Lu <Chong.Lu@windriver.com> +--- + helpers/external_acl/kerberos_ldap_group/cert_tool | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/helpers/external_acl/kerberos_ldap_group/cert_tool b/helpers/external_acl/kerberos_ldap_group/cert_tool +index 9f14959..8c4ea11 100644 +--- a/helpers/external_acl/kerberos_ldap_group/cert_tool ++++ b/helpers/external_acl/kerberos_ldap_group/cert_tool +@@ -1,4 +1,4 @@ +-#!/bin/ksh ++#!/bin/sh + # + # ----------------------------------------------------------------------------- + # +@@ -64,9 +64,9 @@ QUIT + # Create database for Sun ldap and pem file for Openldap + # + rm ${server}_[0-9]*.pem 2>/dev/null +-let i=0 ++i=0 + ls ${server}_[0-9]*.cert | while read file; do +- let i=i+1 ++ i=`expr $i + 1` + cat $file >> ${server}_$i.pem + CA=`openssl x509 -noout -text -in ${server}_$i.pem | grep -i "CA:.*true"` + if [ -n "$CA" ]; then +-- +1.9.1 + diff --git a/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch b/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch new file mode 100644 index 0000000000..9e2ceab880 --- /dev/null +++ b/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch @@ -0,0 +1,31 @@ +From 2192fdbc90b0ff2d5408e8763df200620870deea Mon Sep 17 00:00:00 2001 +From: Jackie Huang <jackie.huang@windriver.com> +Date: Mon, 13 Oct 2014 01:32:37 -0700 +Subject: [PATCH] squid: use serial-tests config needed by ptest + +ptest needs buildtest-TESTS and runtest-TESTS targets. +serial-tests is required to generate those targets. + +Upstream-Status: Inappropriate [default automake behavior incompatible with ptest] + +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + configure.ac | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 6f7171f..ab9b93e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3,7 +3,7 @@ AC_PREREQ(2.61) + AC_CONFIG_HEADERS([include/autoconf.h]) + AC_CONFIG_AUX_DIR(cfgaux) + AC_CONFIG_SRCDIR([src/main.cc]) +-AM_INIT_AUTOMAKE([tar-ustar nostdinc]) ++AM_INIT_AUTOMAKE([tar-ustar nostdinc serial-tests]) + AC_REVISION($Revision$)dnl + AC_PREFIX_DEFAULT(/usr/local/squid) + AM_MAINTAINER_MODE +-- +1.7.1 + diff --git a/meta-networking/recipes-daemons/squid/files/volatiles.03_squid b/meta-networking/recipes-daemons/squid/files/volatiles.03_squid new file mode 100644 index 0000000000..b96865d731 --- /dev/null +++ b/meta-networking/recipes-daemons/squid/files/volatiles.03_squid @@ -0,0 +1,2 @@ +# <type> <owner> <group> <mode> <path> <linksource> +d squid squid 0755 /var/run/squid none diff --git a/meta-networking/recipes-daemons/squid/squid_3.4.7.bb b/meta-networking/recipes-daemons/squid/squid_3.4.7.bb new file mode 100644 index 0000000000..c5f616dd41 --- /dev/null +++ b/meta-networking/recipes-daemons/squid/squid_3.4.7.bb @@ -0,0 +1,67 @@ +SUMMARY = "A fully-featured http proxy and web-cache daemon for Linux" +DESCRIPTION = "A fully-featured http proxy and web-cache daemon for Linux. \ +Squid offers a rich access control, authorization and logging environment to \ +develop web proxy and content serving applications. \ +Squid offers a rich set of traffic optimization options, most of which are \ +enabled by default for simpler installation and high performance. \ +" +HOMEPAGE = "http://www.squid-cache.org" +SECTION = "network" +LICENSE = "GPLv2+" + +MAJ_VER = "${@oe.utils.trim_version("${PV}", 1)}" +MIN_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "http://www.squid-cache.org/Versions/v${MAJ_VER}/${MIN_VER}/${BPN}-${PV}.tar.bz2 \ + file://Set-up-for-cross-compilation.patch \ + file://Skip-AC_RUN_IFELSE-tests.patch \ + file://Fix-flawed-dynamic-ldb-link-test-in-configure.patch \ + file://squid-change-ksh-reference-in-krb-ldap-helper-to-sh.patch \ + file://squid-use-serial-tests-config-needed-by-ptest.patch \ + file://run-ptest \ + file://volatiles.03_squid \ +" + +LIC_FILES_CHKSUM = "file://COPYING;md5=c492e2d6d32ec5c1aad0e0609a141ce9 \ + file://COPYRIGHT;md5=2900f50789c498be8e9f1eb23b55cbe9 \ + " +SRC_URI[md5sum] = "9951034b10f7ee0f45a95cfae61c57c2" +SRC_URI[sha256sum] = "7b423f3d3495a317503ca559ea535f80445fd7c4e3c3e268cb7a8c97c61af2b6" + +DEPENDS = "libtool krb5 openldap db cyrus-sasl" + +inherit autotools useradd ptest + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --no-create-home --home-dir /var/run/squid --shell /bin/false --user-group squid" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[libnetfilter-conntrack] = "--with-netfilter-conntrack=${includedir}, --without-netfilter-conntrack, libnetfilter-conntrack" +EXTRA_OECONF += "--with-default-user=squid" + +TESTDIR = "test-suite" +do_compile_ptest() { + oe_runmake -C ${TESTDIR} buildtest-TESTS +} + +do_install_ptest() { + cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH} + cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH} + + # do NOT need to rebuild Makefile itself + sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile +} + +do_install_append() { + install -d ${D}${sysconfdir}/default/volatiles + install -m 0644 ${WORKDIR}/volatiles.03_squid ${D}${sysconfdir}/default/volatiles/volatiles.03_squid + rmdir "${D}${localstatedir}/run/${BPN}" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/run" +} + +FILES_${PN} += "${libdir} ${datadir}/errors ${datadir}/icons" +FILES_${PN}-dbg += "/usr/src/debug" +FILES_${PN}-doc += "${datadir}/*.txt" + +RDEPENDS_${PN} += "perl" +RDEPENDS_${PN}-ptest += "make" diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/fix-writing-emtpy-file.patch b/meta-networking/recipes-daemons/tftp-hpa/files/fix-writing-emtpy-file.patch new file mode 100644 index 0000000000..452aa05f81 --- /dev/null +++ b/meta-networking/recipes-daemons/tftp-hpa/files/fix-writing-emtpy-file.patch @@ -0,0 +1,39 @@ +[PATCH] fix the empty file writting + +Upstream-Status: pending + +With the feature that checking the disk filled up, the return +value of function write_behind was checked and used to detect +the disk status. While for empty file, without data being +written, this function will return -1 thus the disk filled up +error was miss-raised. + +make write_behind to return 0 if written file is empty, to fix +the this bug. + +Signed-off-by: Roy.Li <rongqing.li@windriver.com> +--- + common/tftpsubs.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/common/tftpsubs.c b/common/tftpsubs.c +index b4ea3f2..9f6cafc 100644 +--- a/common/tftpsubs.c ++++ b/common/tftpsubs.c +@@ -198,9 +198,12 @@ int write_behind(FILE * file, int convert) + nextone = !nextone; /* incr for next time */ + buf = dp->th_data; + +- if (count <= 0) ++ if (count < 0) + return -1; /* nak logic? */ + ++ if (count == 0) ++ return 0; ++ + if (convert == 0) + return write(fileno(file), buf, count); + +-- +1.9.1 + diff --git a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-bug-fix-on-empty-file-put-error.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-bug-fix-on-empty-file-put-error.patch deleted file mode 100644 index aa29d9ce1c..0000000000 --- a/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-bug-fix-on-empty-file-put-error.patch +++ /dev/null @@ -1,33 +0,0 @@ -tftp-hpa: bug fix on empty file put error - -With the feature that checking the disk filled up, the return value of -function write_behind was checked and used to detect the disk status. -While for empty file, without data being written, this function will -return -1 thus the disk filled up error was miss-raised. Fix it. - -Upstream-Status: pending - -Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com> ---- - tftpd/tftpd.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) ---- a/tftpd/tftpd.c -+++ b/tftpd/tftpd.c -@@ -1692,7 +1692,7 @@ static void tftp_recvfile(const struct f - syslog(LOG_WARNING, "tftpd: write(ack): %m"); - goto abort; - } -- if(write_behind(file, pf->f_convert) < 0) { -+ if(write_behind(file, pf->f_convert) < -1) { - nak(ENOSPACE, NULL); - (void)fclose(file); - goto abort; -@@ -1727,7 +1727,7 @@ static void tftp_recvfile(const struct f - goto abort; - } - } while (size == segsize); -- if(write_behind(file, pf->f_convert) < 0) { -+ if(write_behind(file, pf->f_convert) < -1) { - nak(ENOSPACE, NULL); - (void)fclose(file); - goto abort; diff --git a/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb b/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb index e58a4b1851..3f17fd6fc2 100644 --- a/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb +++ b/meta-networking/recipes-daemons/tftp-hpa/tftp-hpa_5.2.bb @@ -25,7 +25,7 @@ SRC_URI = "http://kernel.org/pub/software/network/tftp/tftp-hpa/tftp-hpa-${PV}.t file://init \ file://add-error-check-for-disk-filled-up.patch \ file://tftp-hpa-bug-fix-on-separated-CR-and-LF.patch \ - file://tftp-hpa-bug-fix-on-empty-file-put-error.patch \ + file://fix-writing-emtpy-file.patch \ " SRC_URI[md5sum] = "46c9bd20bbffa62f79c958c7b99aac21" diff --git a/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.common b/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.common new file mode 100644 index 0000000000..640025dba6 --- /dev/null +++ b/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.common @@ -0,0 +1,163 @@ +#!/bin/sh + +[ -x /sbin/ebtables ] || exit 1 + +EBTABLES_DUMPFILE_STEM=/etc/ebtables/dump + +RETVAL=0 +prog="ebtables" +desc="Ethernet bridge filtering" +umask 0077 + +#default configuration +EBTABLES_MODULES_UNLOAD="yes" +EBTABLES_LOAD_ON_START="no" +EBTABLES_SAVE_ON_STOP="no" +EBTABLES_SAVE_ON_RESTART="no" +EBTABLES_SAVE_COUNTER="no" +EBTABLES_BACKUP_SUFFIX="~" + +config=/etc/default/$prog +[ -f "$config" ] && . "$config" + +function get_supported_tables() { + EBTABLES_SUPPORTED_TABLES= + /sbin/ebtables -t filter -L 2>&1 1>/dev/null | grep -q permission + if [ $? -eq 0 ]; then + echo "Error: insufficient privileges to access the ebtables rulesets." + exit 1 + fi + for table in filter nat broute; do + /sbin/ebtables -t $table -L &> /dev/null + if [ $? -eq 0 ]; then + EBTABLES_SUPPORTED_TABLES="${EBTABLES_SUPPORTED_TABLES} $table" + fi + done +} + +function load() { + RETVAL=0 + get_supported_tables + echo -n "Restoring ebtables rulesets: " + for table in $EBTABLES_SUPPORTED_TABLES; do + echo -n "$table " + if [ -s ${EBTABLES_DUMPFILE_STEM}.$table ]; then + /sbin/ebtables -t $table --atomic-file ${EBTABLES_DUMPFILE_STEM}.$table --atomic-commit + RET=$? + if [ $RET -ne 0 ]; then + echo -n "(failed) " + RETVAL=$RET + fi + else + echo -n "(no saved state) " + fi + done + if [ -z "$EBTABLES_SUPPORTED_TABLES" ]; then + echo -n "no kernel support. " + else + echo -n "done. " + fi + if [ $RETVAL -eq 0 ]; then + echo "ok" + else + echo "fail" + fi +} + +function clear() { + RETVAL=0 + get_supported_tables + echo -n "Clearing ebtables rulesets: " + for table in $EBTABLES_SUPPORTED_TABLES; do + echo -n "$table " + /sbin/ebtables -t $table --init-table + done + + if [ "$EBTABLES_MODULES_UNLOAD" = "yes" ]; then + for mod in $(grep -E '^(ebt|ebtable)_' /proc/modules | cut -d' ' -f1) ebtables; do + rmmod $mod 2> /dev/null + done + fi + if [ -z "$EBTABLES_SUPPORTED_TABLES" ]; then + echo -n "no kernel support. " + else + echo -n "done. " + fi + if [ $RETVAL -eq 0 ]; then + echo "ok" + else + echo "fail" + fi +} + +function save() { + RETVAL=0 + get_supported_tables + echo -n "Saving ebtables rulesets: " + for table in $EBTABLES_SUPPORTED_TABLES; do + echo -n "$table " + [ -n "$EBTABLES_BACKUP_SUFFIX" ] && [ -s ${EBTABLES_DUMPFILE_STEM}.$table ] && \ + mv ${EBTABLES_DUMPFILE_STEM}.$table ${EBTABLES_DUMPFILE_STEM}.$table$EBTABLES_BACKUP_SUFFIX + /sbin/ebtables -t $table --atomic-file ${EBTABLES_DUMPFILE_STEM}.$table --atomic-save + RET=$? + if [ $RET -ne 0 ]; then + echo -n "(failed) " + RETVAL=$RET + else + if [ "$EBTABLES_SAVE_COUNTER" = "no" ]; then + /sbin/ebtables -t $table --atomic-file ${EBTABLES_DUMPFILE_STEM}.$table -Z + fi + fi + done + if [ -z "$EBTABLES_SUPPORTED_TABLES" ]; then + echo -n "no kernel support. " + else + echo -n "done. " + fi + if [ $RETVAL -eq 0 ]; then + echo "ok" + else + echo "fail" + fi +} + +case "$1" in + start) + [ "$EBTABLES_LOAD_ON_START" = "yes" ] && load + ;; + stop) + [ "$EBTABLES_SAVE_ON_STOP" = "yes" ] && save + clear + ;; + restart|reload|force-reload) + [ "$EBTABLES_SAVE_ON_RESTART" = "yes" ] && save + clear + [ "$EBTABLES_LOAD_ON_START" = "yes" ] && load + ;; + load) + load + ;; + save) + save + ;; + status) + get_supported_tables + if [ -z "$EBTABLES_SUPPORTED_TABLES" ]; then + echo "No kernel support for ebtables." + RETVAL=1 + else + echo -n "Ebtables support available, number of installed rules: " + for table in $EBTABLES_SUPPORTED_TABLES; do + COUNT=$(( $(/sbin/ebtables -t $table -L | sed -e "/^Bridge chain/! d" -e "s/^.*entries: //" -e "s/,.*$/ +/") 0 )) + echo -n "$table($COUNT) " + done + echo ok + RETVAL=0 + fi + ;; + *) + echo "Usage: $0 {start|stop|restart|reload|force-reload|load|save|status}" >&2 + RETVAL=1 +esac + +exit $RETVAL diff --git a/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.init b/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.init index 0044e9825e..c9a77a29e8 100755 --- a/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.init +++ b/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.init @@ -23,164 +23,4 @@ # Description: Saves and restores the state of the ebtables rulesets. ### END INIT INFO -[ -x /sbin/ebtables ] || exit 1 - -EBTABLES_DUMPFILE_STEM=/etc/ebtables/dump - -RETVAL=0 -prog="ebtables" -desc="Ethernet bridge filtering" -umask 0077 - -#default configuration -EBTABLES_MODULES_UNLOAD="yes" -EBTABLES_LOAD_ON_START="no" -EBTABLES_SAVE_ON_STOP="no" -EBTABLES_SAVE_ON_RESTART="no" -EBTABLES_SAVE_COUNTER="no" -EBTABLES_BACKUP_SUFFIX="~" - -config=/etc/default/$prog -[ -f "$config" ] && . "$config" - -function get_supported_tables() { - EBTABLES_SUPPORTED_TABLES= - /sbin/ebtables -t filter -L 2>&1 1>/dev/null | grep -q permission - if [ $? -eq 0 ]; then - echo "Error: insufficient privileges to access the ebtables rulesets." - exit 1 - fi - for table in filter nat broute; do - /sbin/ebtables -t $table -L &> /dev/null - if [ $? -eq 0 ]; then - EBTABLES_SUPPORTED_TABLES="${EBTABLES_SUPPORTED_TABLES} $table" - fi - done -} - -function load() { - RETVAL=0 - get_supported_tables - echo -n "Restoring ebtables rulesets: " - for table in $EBTABLES_SUPPORTED_TABLES; do - echo -n "$table " - if [ -s ${EBTABLES_DUMPFILE_STEM}.$table ]; then - /sbin/ebtables -t $table --atomic-file ${EBTABLES_DUMPFILE_STEM}.$table --atomic-commit - RET=$? - if [ $RET -ne 0 ]; then - echo -n "(failed) " - RETVAL=$RET - fi - else - echo -n "(no saved state) " - fi - done - if [ -z "$EBTABLES_SUPPORTED_TABLES" ]; then - echo -n "no kernel support. " - else - echo -n "done. " - fi - if [ $RETVAL -eq 0 ]; then - echo "ok" - else - echo "fail" - fi -} - -function clear() { - RETVAL=0 - get_supported_tables - echo -n "Clearing ebtables rulesets: " - for table in $EBTABLES_SUPPORTED_TABLES; do - echo -n "$table " - /sbin/ebtables -t $table --init-table - done - - if [ "$EBTABLES_MODULES_UNLOAD" = "yes" ]; then - for mod in $(grep -E '^(ebt|ebtable)_' /proc/modules | cut -d' ' -f1) ebtables; do - rmmod $mod 2> /dev/null - done - fi - if [ -z "$EBTABLES_SUPPORTED_TABLES" ]; then - echo -n "no kernel support. " - else - echo -n "done. " - fi - if [ $RETVAL -eq 0 ]; then - echo "ok" - else - echo "fail" - fi -} - -function save() { - RETVAL=0 - get_supported_tables - echo -n "Saving ebtables rulesets: " - for table in $EBTABLES_SUPPORTED_TABLES; do - echo -n "$table " - [ -n "$EBTABLES_BACKUP_SUFFIX" ] && [ -s ${EBTABLES_DUMPFILE_STEM}.$table ] && \ - mv ${EBTABLES_DUMPFILE_STEM}.$table ${EBTABLES_DUMPFILE_STEM}.$table$EBTABLES_BACKUP_SUFFIX - /sbin/ebtables -t $table --atomic-file ${EBTABLES_DUMPFILE_STEM}.$table --atomic-save - RET=$? - if [ $RET -ne 0 ]; then - echo -n "(failed) " - RETVAL=$RET - else - if [ "$EBTABLES_SAVE_COUNTER" = "no" ]; then - /sbin/ebtables -t $table --atomic-file ${EBTABLES_DUMPFILE_STEM}.$table -Z - fi - fi - done - if [ -z "$EBTABLES_SUPPORTED_TABLES" ]; then - echo -n "no kernel support. " - else - echo -n "done. " - fi - if [ $RETVAL -eq 0 ]; then - echo "ok" - else - echo "fail" - fi -} - -case "$1" in - start) - [ "$EBTABLES_LOAD_ON_START" = "yes" ] && load - ;; - stop) - [ "$EBTABLES_SAVE_ON_STOP" = "yes" ] && save - clear - ;; - restart|reload|force-reload) - [ "$EBTABLES_SAVE_ON_RESTART" = "yes" ] && save - clear - [ "$EBTABLES_LOAD_ON_START" = "yes" ] && load - ;; - load) - load - ;; - save) - save - ;; - status) - get_supported_tables - if [ -z "$EBTABLES_SUPPORTED_TABLES" ]; then - echo "No kernel support for ebtables." - RETVAL=1 - else - echo -n "Ebtables support available, number of installed rules: " - for table in $EBTABLES_SUPPORTED_TABLES; do - COUNT=$(( $(/sbin/ebtables -t $table -L | sed -e "/^Bridge chain/! d" -e "s/^.*entries: //" -e "s/,.*$/ +/") 0 )) - echo -n "$table($COUNT) " - done - echo ok - RETVAL=0 - fi - ;; - *) - echo "Usage: $0 {start|stop|restart|reload|force-reload|load|save|status}" >&2 - RETVAL=1 -esac - -exit $RETVAL +/usr/sbin/ebtables.common $1 diff --git a/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.service b/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.service new file mode 100644 index 0000000000..3abd1fe3e2 --- /dev/null +++ b/meta-networking/recipes-filter/ebtables/ebtables-2.0.10-4/ebtables.service @@ -0,0 +1,11 @@ +[Unit] +Description=Ethernet Bridge Filtering Tables + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=@SBINDIR@/ebtables.common start +ExecStop=@SBINDIR@/ebtables.common stop + +[Install] +WantedBy=multi-user.target diff --git a/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb b/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb index 9222b2d447..32cfc752b4 100644 --- a/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb +++ b/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb @@ -15,6 +15,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/ebtables/ebtables-v${PV}.tar.gz \ file://installnonroot.patch \ file://01debian_defaultconfig.patch \ file://ebtables.init \ + file://ebtables.common \ + file://ebtables.service \ file://no-as-needed.patch \ " @@ -23,7 +25,7 @@ SRC_URI[sha256sum] = "dc6f7b484f207dc712bfca81645f45120cb6aee3380e77a1771e9c34a9 S = "${WORKDIR}/ebtables-v${PV}" -inherit update-rc.d +inherit update-rc.d systemd EXTRA_OEMAKE = " \ BINDIR=${base_sbindir} \ @@ -39,21 +41,29 @@ EXTRA_OEMAKE = " \ " do_install () { + install -d ${D}${sbindir} + install -m 0755 ${WORKDIR}/ebtables.common ${D}${sbindir}/ebtables.common + # Fix hardcoded paths in scripts + sed -i 's!/sbin/!${base_sbindir}/!g' ${D}${sbindir}/ebtables.common + sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sbindir}/ebtables.common + install -d ${D}${sysconfdir}/init.d install -d ${D}${sysconfdir}/default install -d ${D}${sysconfdir}/ebtables oe_runmake DESTDIR='${D}' install install -m 0755 ${WORKDIR}/ebtables.init ${D}/${sysconfdir}/init.d/ebtables mv ${D}${sysconfdir}/default/ebtables-config ${D}${sysconfdir}/default/ebtables - - # Fix hardcoded paths in scripts - sed -i 's!/sbin/!${base_sbindir}/!g' ${D}/${sysconfdir}/init.d/ebtables - sed -i 's!/etc/!${sysconfdir}/!g' ${D}/${sysconfdir}/init.d/ebtables + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/ebtables # The script ebtables-save refernces perl in exec_prefix, so # move it to sbindir to avoid QA issue install -d ${D}/${sbindir} mv ${D}/${base_sbindir}/ebtables-save ${D}/${sbindir} + + # Install systemd service files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/ebtables.service ${D}${systemd_unitdir}/system + sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/ebtables.service } CONFFILES_${PN} += "${sysconfdir}/default/ebtables" @@ -61,5 +71,7 @@ CONFFILES_${PN} += "${sysconfdir}/default/ebtables" INITSCRIPT_NAME = "ebtables" INITSCRIPT_PARAMS = "start 41 S . stop 41 6 ." +SYSTEMD_SERVICE_${PN} = "ebtables.service" + FILES_${PN}-dbg += "${base_libdir}/ebtables/.debug" FILES_${PN} += "${base_libdir}/ebtables/*.so" diff --git a/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/Add_ARG_MAX_define.patch b/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/Add_ARG_MAX_define.patch new file mode 100644 index 0000000000..5a47fd9175 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/Add_ARG_MAX_define.patch @@ -0,0 +1,28 @@ +This adds ARG_MAX define to be _SC_ARG_MAX + +Upstream-Status: Inappropriate. +Most distros have their own verion for this fix. + +Signed-off-by: Armin Kuster <akuster808@gmail.com> + +Index: netkit-ftp-0.17/ftp/glob.c +=================================================================== +--- netkit-ftp-0.17.orig/ftp/glob.c ++++ netkit-ftp-0.17/ftp/glob.c +@@ -50,6 +50,7 @@ char glob_rcsid[] = + #include <stdio.h> + #include <stdlib.h> + #include <string.h> ++#include <unistd.h> + + #include "ftp_var.h" /* for protos only */ + #include "glob.h" +@@ -57,6 +58,9 @@ char glob_rcsid[] = + #define QUOTE 0200 + #define TRIM 0177 + #define eq(a,b) (strcmp(a, b)==0) ++#ifndef ARG_MAX ++#define ARG_MAX (sysconf(_SC_ARG_MAX)) ++#endif + #define GAVSIZ (ARG_MAX/6) + #define isdir(d) ((d.st_mode & S_IFMT) == S_IFDIR) diff --git a/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb b/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb new file mode 100644 index 0000000000..8bac049768 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb @@ -0,0 +1,46 @@ +DESCRIPTION = "netkit-ft includes the ftp client." +SECTION = "networking" +HOMEPAGE="ftp://ftp.uk.linux.org/pub/linux/Networking/netkit" +LICENSE = "BSD" + +LIC_FILES_CHKSUM = "file://ftp/ftp.c;beginline=2;endline=3;md5=2d40a75a50d83b8f6317b3f53db72bfa" + +SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-ftp/netkit-ftp_${PV}.orig.tar.gz;name=archive \ + ${DEBIAN_MIRROR}/main/n/netkit-ftp/netkit-ftp_${PV}-31.debian.tar.xz;name=patch31 \ + file://Add_ARG_MAX_define.patch \ +" + +SRC_URI[archive.md5sum] = "94441610c9b86ef45c4c6ec609444060" +SRC_URI[archive.sha256sum] = "61c913299b81a4671ff089aac821329f7db9bc111aa812993dd585798b700349" +SRC_URI[patch31.md5sum] = "93d71e28ce70df69e080c7f90da63cac" +SRC_URI[patch31.sha256sum] = "4edd46a32d70daa7ba00f0ebf0118dc5d17dff23d6e46aa21a2722be2e22d1c1" + +inherit autotools-brokensep + +do_configure () { + ./configure --prefix=${prefix} + echo "LDFLAGS=${LDFLAGS}" >> MCONFIG +} + +BINMODE = "0755" +MANMODE = "0644" + +do_install () { + install -d ${D}${bindir} + install -d ${D}${mandir}/man1 + install -d ${D}${mandir}/man5 + + install -m${BINMODE} ${S}/ftp/ftp ${D}${bindir} + ln -sf ${D}${bindir}/ftp ${D}${bindir}/pftp + install -m${MANMODE} ${S}/ftp/ftp.1 ${D}${mandir}/man1 + ln -sf ftp.1 ${D}${mandir}/man1/pftp.1 + install -m${MANMODE} ${S}/ftp/netrc.5 ${D}${mandir}/man5 +} + +PACKAGES = "${PN} ${PN}-doc ${BPN}-dbg" +FILES_${PN} = "${bindir}/*" +FILES_${PN}-doc = "${mandir}" +FILES_${PN}-dbg = "${prefix}/src/debug \ + ${bindir}/.debug" + +RDEPENDS_${PN} = "readline" diff --git a/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/gcc4.patch b/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/gcc4.patch new file mode 100644 index 0000000000..d54cea9fdc --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/gcc4.patch @@ -0,0 +1,39 @@ +This fixes an issue when building with gcc 4.x + +https://github.com/openembedded/openembedded/tree/master/recipes/netkit-rpc/netkit-rpc + +Upstream-status: Backported + +Signed-off-By: Armin Kuster <akuster808@gmail.com> + +--- netkit-rpc-0.17/rpcgen/rpc_cout.c~gcc4 ++++ netkit-rpc-0.17/rpcgen/rpc_cout.c +@@ -101,8 +101,6 @@ + case DEF_TYPEDEF: + emit_typedef(def); + break; +- default: +- /* can't happen */ + } + print_trailer(); + } +@@ -664,9 +662,6 @@ + decl->name,decl->array_max); + emit_single_in_line(decl,flag,REL_VECTOR); + f_print(fout,"\t\t }\n\t\t };\n"); +- +- default: +- /* ?... do nothing I guess */ + } + } + +--- netkit-rpc-0.17/rpcgen/rpc_hout.c~gcc4 ++++ netkit-rpc-0.17/rpcgen/rpc_hout.c +@@ -106,8 +106,6 @@ + f_print(fout, "\n"); + pprogramdef(def); + break; +- default: +- /* ?... shouldn't happen I guess */ + } + } diff --git a/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb b/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb new file mode 100644 index 0000000000..4d8d95ac3f --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb @@ -0,0 +1,38 @@ +DESCRIPTION = "netkit-rpc includes rpcinfo and rpcgen." +HOMEPAGE = "http://ftp.linux.org.uk/pub/linux/Networking/netkit" +SECTION = "networking" +LICENSE = "SPL-1.0" +LIC_FILES_CHKSUM = "file://rpcinfo/rpcinfo.c;beginline=2;endline=3;md5=3e6339e3ce266e1122c5ba293e04bc89" + +SRC_URI = "http://sources.openembedded.org/${BPN}-${PV}.tar.gz \ + file://gcc4.patch" +SRC_URI[md5sum] = "67212720482ea1aea9182a98653a9642" +SRC_URI[sha256sum] = "421d63b414162237a72867061f1bd3e3752a0d962cd5d30b5e933ddad8a14d3b" + +do_configure () { + ./configure --prefix=${prefix} + echo "LDFLAGS=${LDFLAGS}" > MCONFIG + echo "CC=${CC}" >> MCONFIG + echo "LD=${LD}" >> MCONFIG + echo "CFLAGS=${CFLAGS}" >> MCONFIG + echo "LDFLAGS=${LDFLAGS}" >> MCONFIG +} + +do_compile () { + oe_runmake 'CC=${CC}' 'LD=${LD}' 'LDFLAGS=${LDFLAGS}' +} + +do_install () { + install -d ${D}${bindir} + install -d ${D}${mandir}/man1 + install -d ${D}${mandir}/man8 + + # remove strip flag + sed -i 's/install -s/install/' rpcinfo/Makefile + sed -i 's/install -s/install/' rpcgen/Makefile + + oe_runmake 'INSTALLROOT=${D}' 'BINMODE=0755' \ + 'DAEMONMODE=0755' 'MANMODE=0644' \ + 'BINDIR=${bindir}' 'SBINDIR=${sbindir}' \ + 'MANDIR=${mandir}' install +} diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/no_pam_build_fix.patch b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/no_pam_build_fix.patch new file mode 100644 index 0000000000..fdd535be1b --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/no_pam_build_fix.patch @@ -0,0 +1,39 @@ +netkit-rsh: +Allow to build with no PAM enabled. + +Upstream-Status: Inappropriate [ no upstream maintaner ] + +Signed-off-by: Armin Kuster <akuster808@gmail.com> + +Index: netkit-rsh-0.17/rshd/rshd.c +=================================================================== +--- netkit-rsh-0.17.orig/rshd/rshd.c ++++ netkit-rsh-0.17/rshd/rshd.c +@@ -110,9 +110,11 @@ extern char **environ; + static void error(const char *fmt, ...); + static void doit(struct sockaddr *fromp, socklen_t fromlen); + static char *getstr(char *, size_t, const char *); ++#ifdef USE_PAM + static int err_conv( + int, const struct pam_message **, struct pam_response **, void * + ); ++#endif /* USE_PAM */ + + extern int _check_rhosts_file; + +@@ -256,6 +258,7 @@ static void stderr_parent(int sock, int + } + + ++#ifdef USE_PAM + static int err_conv( + int num_msg, const struct pam_message **msg, + struct pam_response **resp, void *appdata_ptr +@@ -266,6 +269,7 @@ static int err_conv( + (void) appdata_ptr; + return PAM_CONV_ERR; + } ++#endif + + static struct passwd *doauth(const char *remuser, + const char *hostname, diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.xinetd.netkit b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.xinetd.netkit new file mode 100644 index 0000000000..80aed36ffb --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.xinetd.netkit @@ -0,0 +1,20 @@ +# default: off +# description: +# Rexecd is the server for the rexec program. The server provides remote +# execution facilities with authentication based on user names and +# passwords. +# +service exec +{ + socket_type = stream + protocol = tcp + flags = NAMEINARGS + wait = no + user = root + group = root + log_on_success += USERID + log_on_failure += USERID + server = /usr/bin/tcpd + server_args = /usr/sbin/in.rexecd + disable = yes +} diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.xinetd.netkit b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.xinetd.netkit new file mode 100644 index 0000000000..00dbf935bb --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.xinetd.netkit @@ -0,0 +1,23 @@ +# default: off +# description: +# Rlogind is a server for the rlogin program. The server provides remote +# execution with authentication based on privileged port numbers from trusted +# host +# +service login +{ + socket_type = stream + protocol = tcp + flags = NAMEINARGS + wait = no + user = root + group = root + log_on_success += USERID + log_on_failure += USERID + server = /usr/bin/tcpd + server_args = /usr/sbin/in.rlogind -a + disable = yes +} + + + diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh-redone_link_order_file.patch b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh-redone_link_order_file.patch new file mode 100644 index 0000000000..c12ee9b465 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh-redone_link_order_file.patch @@ -0,0 +1,77 @@ +This fixes a build issue caused by linking order. + +Upstream-Status: Inappropriate +Most distos have there own verison of this fix. This was derived by +* Fix link order to list libraries after the objects that require them +(LP: #771080). + +-- Colin Watson <cjwatson@ubuntu.com> Tue, 13 Sep 2011 10:07:08 +0100 + + +signed-off-by: Armin Kuster <akuster808@gmail.com> + +Index: netkit-rsh-0.17/rsh/Makefile +=================================================================== +--- netkit-rsh-0.17.orig/rsh/Makefile ++++ netkit-rsh-0.17/rsh/Makefile +@@ -6,7 +6,7 @@ include ../MRULES + OBJS = rsh.o + + rsh: $(OBJS) +- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@ ++ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS) + + install: rsh + install -o root -m$(SUIDMODE) rsh $(INSTALLROOT)$(BINDIR) +Index: netkit-rsh-0.17/rshd/Makefile +=================================================================== +--- netkit-rsh-0.17.orig/rshd/Makefile ++++ netkit-rsh-0.17/rshd/Makefile +@@ -11,7 +11,7 @@ LIBS += -ldl -lpam + endif + + rshd: $(OBJS) +- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@ ++ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS) + + install: rshd + install -m$(DAEMONMODE) rshd $(INSTALLROOT)$(SBINDIR)/in.rshd +Index: netkit-rsh-0.17/rlogin/Makefile +=================================================================== +--- netkit-rsh-0.17.orig/rlogin/Makefile ++++ netkit-rsh-0.17/rlogin/Makefile +@@ -7,7 +7,7 @@ PROG=rlogin + OBJS=rlogin.o + + $(PROG): $(OBJS) +- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@ ++ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS) + + install: $(PROG) + install -o root -m$(SUIDMODE) $(PROG) $(INSTALLROOT)$(BINDIR) +Index: netkit-rsh-0.17/rlogind/Makefile +=================================================================== +--- netkit-rsh-0.17.orig/rlogind/Makefile ++++ netkit-rsh-0.17/rlogind/Makefile +@@ -13,7 +13,7 @@ LIBS += -ldl -lpam -lpam_misc + endif + + rlogind: $(OBJS) +- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@ ++ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS) + + rlogind.o: pathnames.h logwtmp.h rlogind.h ../version.h + logwtmp.o: logwtmp.h +Index: netkit-rsh-0.17/rexecd/Makefile +=================================================================== +--- netkit-rsh-0.17.orig/rexecd/Makefile ++++ netkit-rsh-0.17/rexecd/Makefile +@@ -24,7 +24,7 @@ endif + CFLAGS += -DRESTRICT_FTP=1 + + rexecd: rexecd.o +- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@ ++ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS) + + install: rexecd + install -m$(DAEMONMODE) rexecd $(INSTALLROOT)$(SBINDIR)/in.rexecd diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.xinetd.netkit b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.xinetd.netkit new file mode 100644 index 0000000000..ad59b62076 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.xinetd.netkit @@ -0,0 +1,21 @@ +# default: off +# description: +# The rshd server is a server for the rcmd(3) routine and, +# consequently, for the rsh(1) program. The server provides +# remote execution facilities with authentication based on +# privileged port numbers from trusted hosts. +# +service shell +{ + socket_type = stream + protocol = tcp + flags = NAMEINARGS + wait = no + user = root + group = root + log_on_success += USERID + log_on_failure += USERID + server = /usr/bin/tcpd + server_args = /usr/sbin/in.rshd -aL + disable = yes +} diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb new file mode 100644 index 0000000000..8b42fa7cb6 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb @@ -0,0 +1,91 @@ +DESCRIPTION = "netkit-rsh includes the rsh daemon and client." +SECTION = "networking" +HOMEPAGE="ftp://ftp.uk.linux.org/pub/linux/Networking/netkit" +LICENSE = "BSD-4-Clause" +DEPENDS = "xinetd libgcrypt" + +LIC_FILES_CHKSUM = "file://rsh/rsh.c;beginline=2;endline=3;md5=25737e9d21d9df251dd26b7dcbd8ee29" + +SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-rsh/netkit-rsh_${PV}.orig.tar.gz;name=archive \ + ${DEBIAN_MIRROR}/main/n/netkit-rsh/netkit-rsh_${PV}-15.diff.gz;name=patch15 \ + file://rsh-redone_link_order_file.patch \ + file://no_pam_build_fix.patch \ + file://rexec.xinetd.netkit \ + file://rlogin.xinetd.netkit \ + file://rsh.xinetd.netkit \ +" + +SRC_URI[archive.md5sum] = "65f5f28e2fe22d9ad8b17bb9a10df096" +SRC_URI[archive.sha256sum] = "edcac7fa18015f0bc04e573f3f54ae3b638d71335df1ad7dae692779914ad669" +SRC_URI[patch15.md5sum] = "655efc0d541b03ca5de0ae506c805ea3" +SRC_URI[patch15.sha256sum] = "2bc071c438e8b0ed42a0bd2db2d8b681b27a1e9b1798694d9874733293bc2aa9" + +inherit pkgconfig + +CFLAGS += " -D_GNU_SOURCE -Wno-deprecated-declarations" +LDFLAGS += " -L${STAGING_LIBDIR} -lutil -lcrypt" + +PACKAGECONFIG ??= "" +PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "pam", "pam", "", d)}" +PACKAGECONFIG[pam] = " , --without-pam, libpam, libpam" + +do_configure () { + ./configure --prefix=${prefix} + echo "INSTALLROOT=${D}" > MCONFIG + + if [ "${@base_contains('PACKAGECONFIG', 'pam', 'pam', '', d)}" != "" ]; then + echo "USE_PAM=1" >> MCONFIG + fi + + # didn't want to patch these next changes + sed -i 's/netkit-//' ${S}/rsh/pathnames.h + sed -i 's/netkit-//' ${S}/rcp/pathnames.h +} + +do_install () { + install -d ${D}${bindir} + install -d ${D}${sbindir} + install -d ${D}${mandir}/man1 + install -d ${D}${mandir}/man8 + install -d ${D}${sysconfdir}/xinetd.d + + oe_runmake 'INSTALLROOT=${D}' 'BINMODE=0755' \ + 'DAEMONMODE=0755' 'MANMODE=0644' \ + 'SUIDMODE=4755' \ + 'BINDIR=${bindir}' 'SBINDIR=${sbindir}' \ + 'MANDIR=${mandir}' install + + if [ "${@base_contains('PACKAGECONFIG', 'pam', 'pam', '', d)}" != "" ]; then + install -d ${D}${sysconfdir}/pam.d + install -m 0644 debian/hosts.equiv ${D}/${sysconfdir} + install -m 0644 debian/pam.d/rexec ${D}/${sysconfdir}/pam.d + install -m 0644 debian/pam.d/rlogin ${D}/${sysconfdir}/pam.d + install -m 0644 debian/pam.d/rsh ${D}/${sysconfdir}/pam.d + fi + cp ${WORKDIR}/rexec.xinetd.netkit ${D}/${sysconfdir}/xinetd.d/rexec + cp ${WORKDIR}/rlogin.xinetd.netkit ${D}/${sysconfdir}/xinetd.d/rlogin + cp ${WORKDIR}/rsh.xinetd.netkit ${D}/${sysconfdir}/xinetd.d/rsh +} + +PACKAGES = "${PN}-client ${PN}-server ${PN}-doc ${BPN}-dbg" + +FILES_${PN}-client = "${bindir}/*" +FILES_${PN}-server = "${sbindir}/* ${sysconfdir}" +FILES_${PN}-doc = "${mandir}" +FILES_${PN}-dbg = "${prefix}/src/debug \ + ${sbindir}/.debug ${bindir}/.debug" + +ALTERNATIVE_PRIORITY = "80" +ALTERNATIVE_${PN}-client = "rcp rexec rlogin rsh" +ALTERNATIVE_${PN}-server = "rshd rexecd rlogind" +ALTERNATIVE_LINK_NAME[server] = "${bindir}/rshd" +ALTERNATIVE_TARGET[rshd] = "${sbindir}/in.rshd" +ALTERNATIVE_LINK_NAME[rexecd] = "${bindir}/rexecd" +ALTERNATIVE_TARGET[rexecd] = "${sbindir}/in.rexecd" +ALTERNATIVE_LINK_NAME[rlogind] = "${bindir}/rlogind" +ALTERNATIVE_TARGET[rlogind] = "${sbindir}/in.rlogind" + +RCONFLICTS_${PN}-client += "inetutils-rshd" +RPROVIDES_${PN}-rshd = "rshd" + +RDEPENDS_${PN} = "xinetd" diff --git a/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/rpc.rusersd-Makefile-fix-parallel-build-issue.patch b/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/rpc.rusersd-Makefile-fix-parallel-build-issue.patch new file mode 100644 index 0000000000..d85178d714 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/rpc.rusersd-Makefile-fix-parallel-build-issue.patch @@ -0,0 +1,30 @@ +From c23cc112a480f90950de5cf1de09b1a7e732bf21 Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Mon, 15 Dec 2014 18:31:13 -0800 +Subject: [PATCH] rpc.rusersd/Makefile: fix parallel build issue + +Fixed: +rusers.x: No such file or directory +Makefile:44: recipe for target 'rusers_xdr.c' failed + +Upstream-Status: Pending + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + rpc.rusersd/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/rpc.rusersd/Makefile b/rpc.rusersd/Makefile +index 792f528..65a424a 100644 +--- a/rpc.rusersd/Makefile ++++ b/rpc.rusersd/Makefile +@@ -40,5 +40,5 @@ rusers.x: + rusers.h: $(RUSERSX) rusers.x + $(RPCGEN) -h -o rusers.h rusers.x + +-rusers_xdr.c: $(RUSERSX) ++rusers_xdr.c: $(RUSERSX) rusers.x + $(RPCGEN) -c -C -o rusers_xdr.c rusers.x +-- +1.7.9.5 + diff --git a/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb b/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb new file mode 100644 index 0000000000..c930842eee --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb @@ -0,0 +1,70 @@ +DESCRIPTION = "netkit-rusers includes rusers - Displays who is logged in to machines on local network \ + rusersd - Logged in users server" +HOMEPAGE = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit" +SECTION = "networking" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://rusers/rusers.c;beginline=2;endline=3;md5=f4fc634a4ce8c569911196b72b10770e" +DEPENDS = " tcp-wrappers libtirpc rpcbind" + +SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.orig.tar.gz;name=archive \ + ${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}-8.diff.gz;name=patch8 \ + file://rpc.rusersd-Makefile-fix-parallel-build-issue.patch \ +" + +SRC_URI[archive.md5sum] = "dc99a80b9fde2ab427c874f88f1c1602" +SRC_URI[archive.sha256sum] = "f00138651865ad2dcfec5dedda0cda403cb80c4ab68efcc3bbccafe198c24b6d" +SRC_URI[patch8.md5sum] = "1ff498113e0f920d92088092e5570bdc" +SRC_URI[patch8.sha256sum] = "14882dbdda4e37baa84d55b54b46c7e063a20fc9e04d1be1a2807643cd0f3067" + +inherit autotools-brokensep + +do_configure () { + ./configure --prefix=${prefix} + echo "LDFLAGS=${LDFLAGS}" >> MCONFIG + echo "USE_GLIBC=1" >> MCONFIG +} + +do_install () { + install -d ${D}${bindir} + install -d ${D}${sbindir} + install -d ${D}${mandir}/man1 + install -d ${D}${mandir}/man8 + install -d ${D}${sysconfdir}/xinetd.d + + sed -i 's/install -s/install/' rusers/Makefile + sed -i 's/install -s/install/' rup/Makefile + sed -i 's/install -s/install/' rpc.rusersd/Makefile + + oe_runmake 'INSTALLROOT=${D}' 'BINMODE=0755' \ + 'DAEMONMODE=0755' 'MANMODE=0644' \ + 'BINDIR=${bindir}' 'SBINDIR=${sbindir}' \ + 'MANDIR=${mandir}' install + + # create the xinetd config file + cat >rusersd.conf <<EOF + service rusersd + { + disable = yes + type = RPC + rpc_version = 1-2 + socket_type = dgram + protocol = udp + wait = yes + user = root + server = ${sbindir}/rpc.rusersd + } +EOF + install rusersd.conf ${D}/${sysconfdir}/xinetd.d/rusersd +} + + +INSANE_SKIP_${PN} = "already-stripped" + +PACKAGES = "${PN}-client ${PN}-server ${PN}-doc ${BPN}-dbg" +FILES_${PN}-client = "${bindir}/*" +FILES_${PN}-server = "${sbindir}/* ${sysconfdir}" +FILES_${PN}-doc = "${mandir}" +FILES_${PN}-dbg = "${prefix}/src/debug \ + ${bindir}/.debug ${sbindir}/.debug" + +RDEPENDS_${PN}-server = "tcp-wrappers xinetd rpcbind" diff --git a/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/rwhod b/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/rwhod new file mode 100755 index 0000000000..f6419032e8 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/rwhod @@ -0,0 +1,71 @@ +#!/bin/sh + +### BEGIN INIT INFO +# Provides: rwhod +# Required-Start: $network $remote_fs $syslog +# Required-Stop: $network $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Server for rwho and ruptime services +### END INIT INFO + +PATH=/sbin:/bin:/usr/bin:/usr/sbin + +DAEMON=/usr/sbin/rwhod +PIDFILE=/var/run/rwhod.pid +CONF_FILE="/etc/default/rwhod" +DESC="Who daemon " +# default options. Change them in /etc/default/rwhod +RWHOD_OPTIONS="-b" + +# rwhod init.d script for ntpdc from ntp.isc.org +test -f $DAEMON || exit 0 + +# Source function library. +. /etc/init.d/functions + +[ -r $CONF_FILE ] && . $CONF_FILE + +startdaemon(){ + echo -n "Starting $DESC" " rwhod " + start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON -- $RWHOD_OPTIONS + echo "done" +} +stopdaemon(){ + echo -n "Stopping $DESC" " rwhod " + start-stop-daemon --stop --quiet --oknodo --exec $DAEMON + echo "done" +} + +case "$1" in + start) + startdaemon + ;; + stop) + stopdaemon + ;; + force-reload) + stopdaemon + startdaemon + ;; + restart) + stopdaemon + sleep 1 + startdaemon + ;; + reload) + stopdaemon + sleep 1 + startdaemon + ;; + status) + status /usr/sbin/rwhod; + exit $? + ;; + *) + echo "Usage: rwhod { start | stop | status | restart | reload }" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/rwhod.default b/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/rwhod.default new file mode 100644 index 0000000000..62d3a942d0 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/rwhod.default @@ -0,0 +1,2 @@ +#Options for the rwhod daemon. +RWHOD_OPTIONS="-b" diff --git a/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb b/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb new file mode 100644 index 0000000000..4433dc1613 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb @@ -0,0 +1,83 @@ +DESCRIPTION = "netkit-rwho includes, ruptime rwho and rwhod (Daemon to maintain data for rwho/ruptime)" +HOMEPAGE = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit" +SECTION = "networking" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://rwho/rwho.c;beginline=2;endline=3;md5=5a85f13c0142d72fc378e00f15da5b9e" + +SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-rwho/netkit-rwho_${PV}.orig.tar.gz;name=archive \ + ${DEBIAN_MIRROR}/main/n/netkit-rwho/netkit-rwho_${PV}-13.debian.tar.gz;name=patch13 \ + file://rwhod \ + file://rwhod.default \ +" +SRC_URI[archive.md5sum] = "0f71620d45d472f89134ba0d74242e75" +SRC_URI[archive.sha256sum] = "0409e2ce4bfdb2dacb2c193d0fedfc49bb975cb057c5c6b0ffcca603a1188da7" +SRC_URI[patch13.md5sum] = "82ed5a3c6b0bbf00b36508b9787963b9" +SRC_URI[patch13.sha256sum] = "53aefa27d98b565bf756db57120c03bd224a238e45699d92076420272a6eba8e" + +inherit autotools-brokensep useradd update-rc.d update-alternatives + +CFLAGS += " -D_GNU_SOURCE" + +debian_do_patch() { + cd ${S} + while read line; do patch -p1 < ${WORKDIR}/debian/patches/$line; done < ${WORKDIR}/debian/patches/series +} + +python do_patch() { + bb.build.exec_func('debian_do_patch', d) + bb.build.exec_func('patch_do_patch', d) +} + +do_configure () { + ./configure --prefix=${prefix} + echo "LDFLAGS=${LDFLAGS}" >> MCONFIG +} + +do_install () { + # rwho & ruptime + install -d ${D}${bindir} + install -d ${D}${mandir}/man1 + #rwhod + install -d ${D}${sbindir} + install -d ${D}${mandir}/man8 + install -d ${D}${sysconfdir}/init.d + install -d ${D}${sysconfdir}/default + sed -i 's/install -s/install/' rwho/Makefile + sed -i 's/install -s/install/' ruptime/Makefile + sed -i 's/install -s/install/' rwhod/Makefile + oe_runmake 'INSTALLROOT=${D}' 'BINMODE=0755' \ + 'DAEMONMODE=0755' 'MANMODE=0644' \ + 'BINDIR=${bindir}' 'SBINDIR=${sbindir}' \ + 'MANDIR=${mandir}' install + + install -m 0644 ${WORKDIR}/rwhod.default ${D}${sysconfdir}/default/rwhod + install -m 755 ${WORKDIR}/rwhod ${D}${sysconfdir}/init.d + + mkdir -p -m 755 ${D}${localstatedir}/spool/rwho + chown -R rwhod ${D}${localstatedir}/spool/rwho +} + +pkg_postinst_${PN}-server() { + ${sysconfdir}/init.d/rwhod start +} + +pkg_postrm_${PN}-server() { + ${sysconfdir}/init.d/rwhod stop +} + +INITSCRIPT_NAME = "rwhod" +INITSCRIPT_PARAM = "defaults 85 15" + +USERADD_PACKAGES = "${PN}-server" +GROUPADD_PARAM_${PN}-server = "--system rwhod" +USERADD_PARAM_${PN}-server = "--system -g rwhod --home-dir ${localstatedir}/spool/rwho \ + --no-create-home --shell /bin/false rwhod" + +INSANE_SKIP_${PN} = "already-stripped" + +PACKAGES = "${PN}-client ${PN}-server ${PN}-doc ${BPN}-dbg" +FILES_${PN}-client = "${bindir}/*" +FILES_${PN}-server = "${sbindir}/* ${localstatedir} ${sysconfdir}/default/* ${sysconfdir}/init.d/*" +FILES_${PN}-doc = "${mandir}" +FILES_${PN}-dbg = "${prefix}/src/debug \ + ${bindir}/.debug ${sbindir}/.debug" diff --git a/meta-networking/recipes-netkit/netkit-telnet/files/To-aviod-buffer-overflow-in-telnet.patch b/meta-networking/recipes-netkit/netkit-telnet/files/To-aviod-buffer-overflow-in-telnet.patch new file mode 100644 index 0000000000..7fff8cffc4 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-telnet/files/To-aviod-buffer-overflow-in-telnet.patch @@ -0,0 +1,1217 @@ +From f09a6460a62aacb87bb8683d16aa3ce55848bf7e Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Fri, 28 Nov 2014 07:06:24 +0900 +Subject: [PATCH 1/2] To aviod buffer overflow in telnet + +This patch is from Fedora. + +Upstream-Status: pending + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + telnet/Makefile | 4 +- + telnet/commands.cc | 270 +++++++++++++++++++++++++++++++++++----------------- + telnet/defines.h | 2 + + telnet/externs.h | 7 +- + telnet/main.cc | 65 ++++++++++--- + telnet/netlink.cc | 78 +++++++++------ + telnet/netlink.h | 7 +- + telnet/network.cc | 1 + + telnet/proto.h | 2 +- + telnet/ring.cc | 2 +- + telnet/ring.h | 2 +- + telnet/sys_bsd.cc | 11 +++ + telnet/telnet.1 | 37 +++++-- + telnet/telnet.cc | 45 +++++---- + telnet/terminal.cc | 17 +++- + telnet/utilities.cc | 2 + + 16 files changed, 380 insertions(+), 172 deletions(-) + +diff --git a/telnet/Makefile b/telnet/Makefile +index cef866f..39249e1 100644 +--- a/telnet/Makefile ++++ b/telnet/Makefile +@@ -7,7 +7,7 @@ include ../MRULES + + # -DAUTHENTICATE + CXXFLAGS += -DUSE_TERMIO -DKLUDGELINEMODE +-LIBS += $(LIBTERMCAP) ++LIBS = $(LIBTERMCAP) + + SRCS = commands.cc main.cc network.cc ring.cc sys_bsd.cc telnet.cc \ + terminal.cc tn3270.cc utilities.cc genget.cc environ.cc netlink.cc +@@ -22,7 +22,7 @@ depend: + $(CXX) $(CXXFLAGS) -MM $(SRCS) >depend.mk + + install: telnet +- install -s -m$(BINMODE) telnet $(INSTALLROOT)$(BINDIR) ++ install -m$(BINMODE) telnet $(INSTALLROOT)$(BINDIR) + install -m$(MANMODE) telnet.1 $(INSTALLROOT)$(MANDIR)/man1 + + clean: +diff --git a/telnet/commands.cc b/telnet/commands.cc +index d92bccd..02c593e 100644 +--- a/telnet/commands.cc ++++ b/telnet/commands.cc +@@ -86,10 +86,6 @@ char cmd_rcsid[] = + + #define HELPINDENT ((int) sizeof ("connect")) + +-#ifndef MAXHOSTNAMELEN +-#define MAXHOSTNAMELEN 64 +-#endif MAXHOSTNAMELEN +- + #if defined(HAS_IPPROTO_IP) && defined(IP_TOS) + int tos = -1; + #endif /* defined(HAS_IPPROTO_IP) && defined(IP_TOS) */ +@@ -98,7 +94,7 @@ static unsigned long sourceroute(char *arg, char **cpp, int *lenp); + + + char *hostname; +-static char _hostname[MAXHOSTNAMELEN]; ++static char *_hostname; + + //typedef int (*intrtn_t)(int argc, const char *argv[]); + +@@ -161,7 +157,7 @@ class command_entry { + assert(argc>=1); + if (nargs>=0 && argc!=nargs+1) { + fprintf(stderr, "Wrong number of arguments for command.\n"); +- fprintf(stderr, "Try %s ? for help\n", argv[0]); ++ fprintf(stderr, "Try ? %s for help\n", argv[0]); + return 0; /* is this right? */ + } + if (nargs==-2) { +@@ -480,6 +476,7 @@ static int send_wontcmd(const char *name, const char *) { + int send_tncmd(int (*func)(int, int), const char *cmd, const char *name) { + char **cpp; + extern char *telopts[]; ++ long opt; + + if (isprefix(name, "help") || isprefix(name, "?")) { + register int col, len; +@@ -506,16 +503,23 @@ int send_tncmd(int (*func)(int, int), const char *cmd, const char *name) { + name, cmd); + return 0; + } ++ ++ opt = cpp - telopts; + if (cpp == 0) { +- fprintf(stderr, "'%s': unknown argument ('send %s ?' for help).\n", ++ char *end; ++ ++ opt = strtol(name, &end, 10); ++ if (*end || opt < 0 || opt > 255) { ++ fprintf(stderr, "'%s': unknown argument ('send %s ?' for help).\n", + name, cmd); +- return 0; ++ return 0; ++ } + } + if (!connected) { + printf("?Need to be connected first.\n"); + return 0; + } +- (*func)(cpp - telopts, 1); ++ (*func)(opt, 1); + return 1; + } + +@@ -689,9 +693,9 @@ static struct togglelist Togglelist[] = { + "print encryption debugging information" }, + #endif + +- { "skiprc", "don't read ~/.telnetrc file", ++ { "skiprc", "don't read the telnetrc files", + NULL, &skiprc, +- "read ~/.telnetrc file" }, ++ "read the telnetrc files" }, + { "binary", + "sending and receiving of binary data", + togbinary, NULL, +@@ -1615,15 +1619,20 @@ void ayt_status(int) { + #endif + + int tn(int argc, const char *argv[]) { +- register struct hostent *host = 0; + struct sockaddr_in sn; +- struct servent *sp = 0; + char *srp = NULL; + int srlen; +- +- const char *cmd, *volatile user = 0; ++ int family = 0; ++ const char *cmd, *volatile user = 0, *srchostp = 0; + const char *portp = NULL; + char *hostp = NULL; ++ char *resolv_hostp; ++ struct addrinfo hints; ++ struct addrinfo *hostaddr = 0; ++ int res; ++ char name[NI_MAXHOST]; ++ char service[NI_MAXSERV]; ++ struct addrinfo *tmpaddr; + + /* clear the socket address prior to use */ + memset(&sn, 0, sizeof(sn)); +@@ -1632,6 +1641,10 @@ int tn(int argc, const char *argv[]) { + printf("?Already connected to %s\n", hostname); + return 0; + } ++ if (_hostname) { ++ delete[] _hostname; ++ _hostname = 0; ++ } + if (argc < 2) { + (void) strcpy(line, "open "); + printf("(to) "); +@@ -1657,11 +1670,33 @@ int tn(int argc, const char *argv[]) { + --argc; + continue; + } ++ if (strcmp(*argv, "-b") == 0) { ++ --argc; ++argv; ++ if (argc == 0) ++ goto usage; ++ srchostp = *argv++; ++ --argc; ++ continue; ++ } + if (strcmp(*argv, "-a") == 0) { + --argc; ++argv; + autologin = 1; + continue; + } ++ if (strcmp(*argv, "-6") == 0) { ++ --argc; ++argv; ++#ifdef AF_INET6 ++ family = AF_INET6; ++#else ++ puts("IPv6 unsupported"); ++#endif ++ continue; ++ } ++ if (strcmp(*argv, "-4") == 0) { ++ --argc; ++argv; ++ family = AF_INET; ++ continue; ++ } + if (hostp == 0) { + /* this leaks memory - FIXME */ + hostp = strdup(*argv++); +@@ -1680,6 +1715,8 @@ int tn(int argc, const char *argv[]) { + if (hostp == 0) + goto usage; + ++ resolv_hostp = hostp; ++ + #if defined(IP_OPTIONS) && defined(HAS_IPPROTO_IP) + if (hostp[0] == '@' || hostp[0] == '!') { + if ((hostname = strrchr(hostp, ':')) == NULL) +@@ -1696,78 +1733,122 @@ int tn(int argc, const char *argv[]) { + } else { + sn.sin_addr.s_addr = temp; + sn.sin_family = AF_INET; ++ /* ++ * For source route we just make sure to get the IP given ++ * on the command line when looking up the port. ++ */ ++ resolv_hostp = inet_ntoa(sn.sin_addr); + } + } +- else { +-#endif +- if (inet_aton(hostp, &sn.sin_addr)) { +- sn.sin_family = AF_INET; +- strcpy(_hostname, hostp); +- hostname = _hostname; +- } +- else { +- host = gethostbyname(hostp); +- if (host) { +- sn.sin_family = host->h_addrtype; +- if (host->h_length > (int)sizeof(sn.sin_addr)) { +- host->h_length = sizeof(sn.sin_addr); +- } +-#if defined(h_addr) /* In 4.3, this is a #define */ +- memcpy((caddr_t)&sn.sin_addr, +- host->h_addr_list[0], host->h_length); +-#else /* defined(h_addr) */ +- memcpy((caddr_t)&sn.sin_addr, host->h_addr, host->h_length); +-#endif /* defined(h_addr) */ +- strncpy(_hostname, host->h_name, sizeof(_hostname)); +- _hostname[sizeof(_hostname)-1] = '\0'; +- hostname = _hostname; +- } else { +- herror(hostp); +- return 0; +- } +- } +-#if defined(IP_OPTIONS) && defined(HAS_IPPROTO_IP) +- } + #endif ++ ++ /* User port or the default name of telnet. */ + if (portp) { + if (*portp == '-') { + portp++; + telnetport = 1; +- } else ++ } else { + telnetport = 0; +- sn.sin_port = atoi(portp); +- if (sn.sin_port == 0) { +- sp = getservbyname(portp, "tcp"); +- if (sp) +- sn.sin_port = sp->s_port; +- else { +- printf("%s: bad port number\n", portp); +- return 0; ++ if (*portp >='0' && *portp<='9') { ++ char *end; ++ long int p; ++ ++ p=strtol(portp, &end, 10); ++ if (ERANGE==errno && (LONG_MIN==p || LONG_MAX==p)) { ++ fprintf(stderr, "telnet: port %s overflows\n", portp); ++ return 0; ++ } else if (p<=0 || p>=65536) { ++ fprintf(stderr, "telnet: port %s out of range\n", portp); ++ return 0; ++ } + } +- } +- else { +- sn.sin_port = htons(sn.sin_port); + } +- } ++ } + else { +- if (sp == 0) { +- sp = getservbyname("telnet", "tcp"); +- if (sp == 0) { +- fprintf(stderr, "telnet: tcp/telnet: unknown service\n"); +- return 0; +- } +- sn.sin_port = sp->s_port; +- } ++ portp = "telnet"; + telnetport = 1; + } +- printf("Trying %s...\n", inet_ntoa(sn.sin_addr)); ++ ++ /* We only understand SOCK_STREAM sockets. */ ++ memset(&hints, 0, sizeof(hints)); ++ hints.ai_socktype = SOCK_STREAM; ++ hints.ai_flags = AI_NUMERICHOST; ++ hints.ai_family = family; ++ ++ if (srchostp) { ++ res = getaddrinfo(srchostp, "0", &hints, &hostaddr); ++ if (res) { ++ fprintf(stderr, "telnet: could not resolve %s: %s\n", srchostp, ++ gai_strerror(res)); ++ return 0; ++ } ++ hints.ai_family = hostaddr->ai_family; ++ res = nlink.bind(hostaddr); ++ freeaddrinfo(hostaddr); ++ if (res < 0) ++ return 0; ++ } ++ ++ /* Resolve both the host and service simultaneously. */ ++ res = getaddrinfo(resolv_hostp, portp, &hints, &hostaddr); ++ if (res == EAI_NONAME) { ++ hints.ai_flags = AI_CANONNAME; ++ res = getaddrinfo(resolv_hostp, portp, &hints, &hostaddr); ++ } else if (hostaddr) { ++ hostaddr->ai_canonname = 0; ++ } ++ if (res || !hostaddr) { ++ fprintf(stderr, "telnet: could not resolve %s/%s: %s\n", resolv_hostp, portp, gai_strerror(res)); ++ return 0; ++ } ++ ++ /* Try to connect to every listed round robin IP. */ ++ tmpaddr = hostaddr; ++ errno = 0; + do { +- int x = nlink.connect(debug, host, &sn, srp, srlen, tos); +- if (!x) return 0; +- else if (x==1) continue; ++ int x; ++ ++ if (!tmpaddr) { ++ if (errno) ++ perror("telnet: Unable to connect to remote host"); ++ else ++ fputs("telnet: Unable to connect to remote host: " ++ "Bad port number\n", stderr); ++err: ++ freeaddrinfo(hostaddr); ++ return 0; ++ } ++ ++ if (tmpaddr->ai_family == AF_UNIX) { ++nextaddr: ++ tmpaddr = tmpaddr->ai_next; ++ continue; ++ } ++ ++ getnameinfo(tmpaddr->ai_addr, tmpaddr->ai_addrlen, ++ name, sizeof(name), service, sizeof(service), ++ NI_NUMERICHOST | NI_NUMERICSERV); ++ ++ printf("Trying %s...\n", name); ++ x = nlink.connect(debug, tmpaddr, srp, srlen, tos); ++ if (!x) ++ goto err; ++ else if (x==1) ++ goto nextaddr; ++ + connected++; + } while (connected == 0); +- cmdrc(hostp, hostname); ++ if (tmpaddr->ai_canonname == 0) { ++ hostname = new char[strlen(hostp)+1]; ++ strcpy(hostname, hostp); ++ } ++ else { ++ hostname = new char[strlen(tmpaddr->ai_canonname)+1]; ++ strcpy(hostname, tmpaddr->ai_canonname); ++ } ++ ++ cmdrc(hostp, hostname, portp); ++ freeaddrinfo(hostaddr); + if (autologin && user == NULL) { + struct passwd *pw; + +@@ -2013,30 +2094,21 @@ static int help(command_table *tab, int argc, const char *argv[]) { + return 0; + } + +-static char *rcname = 0; +-static char rcbuf[128]; +- +-void cmdrc(const char *m1, const char *m2) { ++static void readrc(const char *m1, const char *m2, const char *port, ++ const char *rcname) ++{ + FILE *rcfile; + int gotmachine = 0; + int l1 = strlen(m1); + int l2 = strlen(m2); +- char m1save[64]; +- +- if (skiprc) return; ++ int lport = strlen(port); ++ char m1save[l1 + 1]; ++ char portsave[lport + 1]; + + strcpy(m1save, m1); + m1 = m1save; +- +- if (rcname == 0) { +- rcname = getenv("HOME"); +- if (rcname) +- strcpy(rcbuf, rcname); +- else +- rcbuf[0] = '\0'; +- strcat(rcbuf, "/.telnetrc"); +- rcname = rcbuf; +- } ++ strcpy(portsave, port); ++ port = portsave; + + rcfile = fopen(rcname, "r"); + if (!rcfile) return; +@@ -2061,6 +2133,13 @@ void cmdrc(const char *m1, const char *m2) { + strncpy(line, &line[7], sizeof(line) - 7); + else + continue; ++ ++ if (line[0] == ':') { ++ if (!strncasecmp(&line[1], port, lport)) ++ continue; ++ strncpy(line, &line[lport + 1], sizeof(line) - lport - 1); ++ } ++ + if (line[0] != ' ' && line[0] != '\t' && line[0] != '\n') + continue; + gotmachine = 1; +@@ -2073,6 +2152,21 @@ void cmdrc(const char *m1, const char *m2) { + fclose(rcfile); + } + ++void cmdrc(const char *m1, const char *m2, const char *port) { ++ char *rcname = NULL; ++ ++ if (skiprc) return; ++ ++ readrc(m1, m2, port, "/etc/telnetrc"); ++ if (asprintf (&rcname, "%s/.telnetrc", getenv ("HOME")) == -1) ++ { ++ perror ("asprintf"); ++ return; ++ } ++ readrc(m1, m2, port, rcname); ++ free (rcname); ++} ++ + #if defined(IP_OPTIONS) && defined(HAS_IPPROTO_IP) + + /* +diff --git a/telnet/defines.h b/telnet/defines.h +index 2784400..d5edc46 100644 +--- a/telnet/defines.h ++++ b/telnet/defines.h +@@ -50,3 +50,5 @@ + #define MODE_COMMAND_LINE(m) ((m)==-1) + + #define CONTROL(x) ((x)&0x1f) /* CTRL(x) is not portable */ ++ ++#define MODE_OUT8 0x8000 /* binary mode sans -opost */ +diff --git a/telnet/externs.h b/telnet/externs.h +index 955df79..0730e8a 100644 +--- a/telnet/externs.h ++++ b/telnet/externs.h +@@ -48,9 +48,7 @@ + typedef unsigned char cc_t; + #endif + +-#ifdef __linux__ + #include <unistd.h> /* get _POSIX_VDISABLE */ +-#endif + + #ifndef _POSIX_VDISABLE + #error "Please fix externs.h to define _POSIX_VDISABLE" +@@ -60,7 +58,8 @@ typedef unsigned char cc_t; + + extern int autologin; /* Autologin enabled */ + extern int skiprc; /* Don't process the ~/.telnetrc file */ +-extern int eight; /* use eight bit mode (binary in and/or out */ ++extern int eight; /* use eight bit mode (binary in and/or out) */ ++extern int binary; /* use binary option (in and/or out) */ + extern int flushout; /* flush output */ + extern int connected; /* Are we connected to the other side? */ + extern int globalmode; /* Mode tty should be in */ +@@ -225,6 +224,8 @@ cc_t *tcval(int); + + //#if 0 + extern struct termios new_tc; ++extern struct termios old_tc; ++ + + #define termEofChar new_tc.c_cc[VEOF] + #define termEraseChar new_tc.c_cc[VERASE] +diff --git a/telnet/main.cc b/telnet/main.cc +index b67f2ce..b626e54 100644 +--- a/telnet/main.cc ++++ b/telnet/main.cc +@@ -45,7 +45,10 @@ char main_rcsid[] = + + #include <sys/types.h> + #include <getopt.h> ++#include <stdlib.h> + #include <string.h> ++#include <netdb.h> ++#include <errno.h> + + #include "ring.h" + #include "externs.h" +@@ -80,12 +83,13 @@ tninit(void) + void usage(void) { + fprintf(stderr, "Usage: %s %s%s%s%s\n", + prompt, +- " [-8] [-E] [-L] [-a] [-d] [-e char] [-l user] [-n tracefile]", +- "\n\t", ++ "[-4] [-6] [-8] [-E] [-L] [-a] [-d] [-e char] [-l user]", ++ "\n\t[-n tracefile] [ -b addr ]", + #ifdef TN3270 ++ "\n\t" + "[-noasynch] [-noasynctty] [-noasyncnet] [-r] [-t transcom]\n\t", + #else +- "[-r] ", ++ " [-r] ", + #endif + "[host-name [port]]" + ); +@@ -102,7 +106,8 @@ main(int argc, char *argv[]) + extern char *optarg; + extern int optind; + int ch; +- char *user; ++ char *user, *srcaddr; ++ int family; + + tninit(); /* Clear out things */ + #if defined(CRAY) && !defined(__STDC__) +@@ -110,21 +115,38 @@ main(int argc, char *argv[]) + #endif + + TerminalSaveState(); ++ if ((old_tc.c_cflag & (CSIZE|PARENB)) != CS8) ++ eight = 0; + + if ((prompt = strrchr(argv[0], '/'))!=NULL) + ++prompt; + else + prompt = argv[0]; + +- user = NULL; ++ user = srcaddr = NULL; ++ family = 0; + + rlogin = (strncmp(prompt, "rlog", 4) == 0) ? '~' : _POSIX_VDISABLE; + autologin = -1; + +- while ((ch = getopt(argc, argv, "8EKLS:X:ade:k:l:n:rt:x")) != EOF) { ++ while ((ch = getopt(argc, argv, ++ "4678EKLS:X:ab:de:k:l:n:rt:x")) != EOF) { + switch(ch) { ++ case '4': ++ family = AF_INET; ++ break; ++ case '6': ++#ifdef AF_INET6 ++ family = AF_INET6; ++#else ++ fputs("IPv6 unsupported\n", stderr); ++#endif ++ break; ++ case '7': ++ eight = 0; /* 7-bit ouput and input */ ++ break; + case '8': +- eight = 3; /* binary output and input */ ++ binary = 3; /* binary output and input */ + break; + case 'E': + rlogin = escapechar = _POSIX_VDISABLE; +@@ -133,23 +155,26 @@ main(int argc, char *argv[]) + //autologin = 0; + break; + case 'L': +- eight |= 2; /* binary output only */ ++ binary |= 2; /* binary output only */ + break; + case 'S': + { +-#ifdef HAS_GETTOS + extern int tos; ++ int num; + +- if ((tos = parsetos(optarg, "tcp")) < 0) ++#ifdef HAS_GETTOS ++ if ((num = parsetos(optarg, "tcp")) < 0) { ++#else ++ errno = 0; ++ num = strtol(optarg, 0, 0); ++ if (errno) { ++#endif + fprintf(stderr, "%s%s%s%s\n", + prompt, ": Bad TOS argument '", + optarg, + "; will try to use default TOS"); +-#else +- fprintf(stderr, +- "%s: Warning: -S ignored, no parsetos() support.\n", +- prompt); +-#endif ++ } else ++ tos = num; + } + break; + case 'X': +@@ -210,6 +235,9 @@ main(int argc, char *argv[]) + "%s: -x ignored, no encryption support.\n", + prompt); + break; ++ case 'b': ++ srcaddr = optarg; ++ break; + case '?': + default: + usage(); +@@ -233,6 +261,13 @@ main(int argc, char *argv[]) + *argp++ = "-l"; + *argp++ = user; + } ++ if (srcaddr) { ++ *argp++ = "-b"; ++ *argp++ = srcaddr; ++ } ++ if (family) { ++ *argp++ = family == AF_INET ? "-4" : "-6"; ++ } + *argp++ = argv[0]; /* host */ + if (argc > 1) + *argp++ = argv[1]; /* port */ +diff --git a/telnet/netlink.cc b/telnet/netlink.cc +index f439cff..f839747 100644 +--- a/telnet/netlink.cc ++++ b/telnet/netlink.cc +@@ -79,22 +79,61 @@ void netlink::close(int doshutdown) { + shutdown(net, 2); + } + ::close(net); ++ net = -1; + } + +-int netlink::connect(int debug, struct hostent *host, +- struct sockaddr_in *sn, +- char *srcroute, int srlen, int tos) ++int netlink::bind(struct addrinfo *addr) + { +- int on=1; ++ int res; ++ ++ res = socket(addr->ai_family); ++ if (res < 2) { ++ if (res == 1) ++ perror("telnet: socket"); ++ return -1; ++ } ++ ++ if (::bind(net, addr->ai_addr, addr->ai_addrlen) < 0) { ++ perror("telnet: bind"); ++ return -1; ++ } ++ ++ return 0; ++} ++ ++int netlink::socket(int family) ++{ ++ if (this->family != family) ++ close(0); + +- net = socket(AF_INET, SOCK_STREAM, 0); + if (net < 0) { +- perror("telnet: socket"); +- return 0; ++ this->family = family; ++ net = ::socket(family, SOCK_STREAM, 0); ++ if (net < 0) { ++ if (errno == EAFNOSUPPORT) ++ return 1; ++ perror("telnet: socket"); ++ return 0; ++ } + } + ++ return 2; ++} ++ ++int netlink::connect(int debug, struct addrinfo *addr, ++ char *srcroute, int srlen, int tos) ++{ ++ int on=1; ++ int res; ++ ++ res = socket(addr->ai_family); ++ if (res < 2) ++ return res; ++ + #if defined(IP_OPTIONS) && defined(HAS_IPPROTO_IP) + if (srcroute) { ++ if (addr->ai_family != AF_INET) ++ fputs("Source route is only supported for IPv4\n", stderr); + if (setsockopt(net, IPPROTO_IP, IP_OPTIONS, srcroute, srlen) < 0) + perror("setsockopt (IP_OPTIONS)"); + } +@@ -108,7 +147,7 @@ int netlink::connect(int debug, struct hostent *host, + #endif + if (tos < 0) tos = 020; /* Low Delay bit */ + if (tos && (setsockopt(net, IPPROTO_IP, IP_TOS, &tos, sizeof(int)) < 0) +- && (errno != ENOPROTOOPT)) ++ && (errno != ENOPROTOOPT) && (errno != EOPNOTSUPP)) + perror("telnet: setsockopt (IP_TOS) (ignored)"); + #endif /* defined(IPPROTO_IP) && defined(IP_TOS) */ + +@@ -116,27 +155,8 @@ int netlink::connect(int debug, struct hostent *host, + perror("setsockopt (SO_DEBUG)"); + } + +- if (::connect(net, (struct sockaddr *)sn, sizeof(*sn)) < 0) { +-#if defined(h_addr) /* In 4.3, this is a #define */ +- if (host && host->h_addr_list[1]) { +- int oerrno = errno; +- +- fprintf(stderr, "telnet: connect to address %s: ", +- inet_ntoa(sn->sin_addr)); +- errno = oerrno; +- perror(NULL); +- host->h_addr_list++; +- if (host->h_length > (int)sizeof(sn->sin_addr)) { +- host->h_length = sizeof(sn->sin_addr); +- } +- memcpy(&sn->sin_addr, host->h_addr_list[0], host->h_length); +- close(net); +- return 1; +- } +-#endif /* defined(h_addr) */ +- +- perror("telnet: Unable to connect to remote host"); +- return 0; ++ if (::connect(net, addr->ai_addr, addr->ai_addrlen) < 0) { ++ return 1; + } + return 2; + } +diff --git a/telnet/netlink.h b/telnet/netlink.h +index 9852b30..0ac8a08 100644 +--- a/telnet/netlink.h ++++ b/telnet/netlink.h +@@ -1,13 +1,16 @@ + + class netlink { ++ private: ++ int family; + protected: + int net; + public: + netlink(); + ~netlink(); + +- int connect(int debug, struct hostent *host, +- struct sockaddr_in *sin, ++ int bind(struct addrinfo *hostaddr); ++ int socket(int family); ++ int connect(int debug, struct addrinfo *hostaddr, + char *srcroute, int srlen, + int tos); + void close(int doshutdown); +diff --git a/telnet/network.cc b/telnet/network.cc +index 6a2c374..0dcf3e2 100644 +--- a/telnet/network.cc ++++ b/telnet/network.cc +@@ -40,6 +40,7 @@ char net_rcsid[] = + #include <sys/types.h> + #include <sys/socket.h> + #include <sys/time.h> ++#include <stdlib.h> + #include <errno.h> + #include <arpa/telnet.h> + +diff --git a/telnet/proto.h b/telnet/proto.h +index 8be4a39..92f2419 100644 +--- a/telnet/proto.h ++++ b/telnet/proto.h +@@ -13,7 +13,7 @@ int TerminalWindowSize(long *rows, long *cols); + void auth_encrypt_user(char *); + void auth_name(unsigned char *, int); + void auth_printsub(unsigned char *, int, unsigned char *, int); +-void cmdrc(const char *m1, const char *m2); ++void cmdrc(const char *, const char *, const char *); + void env_init(void); + int getconnmode(void); + void init_network(void); +diff --git a/telnet/ring.cc b/telnet/ring.cc +index be57396..772c6c5 100644 +--- a/telnet/ring.cc ++++ b/telnet/ring.cc +@@ -165,7 +165,7 @@ int ringbuf::flush() { + + /////////////////////////////////////////////////// supply ////////////// + +-void ringbuf::printf(const char *format, ...) { ++void ringbuf::xprintf(const char *format, ...) { + char xbuf[256]; + va_list ap; + va_start(ap, format); +diff --git a/telnet/ring.h b/telnet/ring.h +index 15d3f3f..049377e 100644 +--- a/telnet/ring.h ++++ b/telnet/ring.h +@@ -83,7 +83,7 @@ class ringbuf { + // manual supply + void putch(char c) { write(&c, 1); } + void write(const char *buffer, int ct); +- void printf(const char *format, ...); ++ void xprintf(const char *format, ...); + int empty_count() { return size - count; } + + // automatic supply +diff --git a/telnet/sys_bsd.cc b/telnet/sys_bsd.cc +index 93fba7e..a8c9aab 100644 +--- a/telnet/sys_bsd.cc ++++ b/telnet/sys_bsd.cc +@@ -189,18 +189,25 @@ void NetSetPgrp(int fd) { + * Various signal handling routines. + */ + ++#if 0 + static void deadpeer(int /*sig*/) { + setcommandmode(); + siglongjmp(peerdied, -1); + } ++#endif + + static void intr(int /*sig*/) { + if (localchars) { + intp(); + } + else { ++#if 0 + setcommandmode(); + siglongjmp(toplevel, -1); ++#else ++ signal(SIGINT, SIG_DFL); ++ raise(SIGINT); ++#endif + } + } + +@@ -214,6 +221,8 @@ static void intr2(int /*sig*/) { + sendabort(); + return; + } ++ signal(SIGQUIT, SIG_DFL); ++ raise(SIGQUIT); + } + + #ifdef SIGWINCH +@@ -238,7 +247,9 @@ void ayt(int sig) { + void sys_telnet_init(void) { + signal(SIGINT, intr); + signal(SIGQUIT, intr2); ++#if 0 + signal(SIGPIPE, deadpeer); ++#endif + #ifdef SIGWINCH + signal(SIGWINCH, sendwin); + #endif +diff --git a/telnet/telnet.1 b/telnet/telnet.1 +index 54a47fb..8365e42 100644 +--- a/telnet/telnet.1 ++++ b/telnet/telnet.1 +@@ -42,8 +42,9 @@ + protocol + .Sh SYNOPSIS + .Nm telnet +-.Op Fl 8ELadr ++.Op Fl 468ELadr + .Op Fl S Ar tos ++.Op Fl b Ar address + .Op Fl e Ar escapechar + .Op Fl l Ar user + .Op Fl n Ar tracefile +@@ -68,6 +69,10 @@ command implicitly; see the description below. + .Pp + Options: + .Bl -tag -width indent ++.It Fl 4 ++Force IPv4 address resolution. ++.It Fl 6 ++Force IPv6 address resolution. + .It Fl 8 + Request 8-bit operation. This causes an attempt to negotiate the + .Dv TELNET BINARY +@@ -89,6 +94,8 @@ of the + option if supported by the remote system. The username is retrieved + via + .Xr getlogin 3 . ++.It Fl b Ar address ++Use bind(2) on the local socket to bind it to a specific local address. + .It Fl d + Sets the initial value of the + .Ic debug +@@ -474,17 +481,29 @@ protocol without making a mess. Protocol negotiation can be forced by + placing a dash before the port number. + .Pp + After establishing a connection, any commands associated with the +-remote host in the user's ++remote host in ++.Pa /etc/telnetrc ++and the user's + .Pa .telnetrc +-file are executed. ++file are executed, in that order. + .Pp +-The format of the .telnetrc file is as follows: Lines beginning with a ++The format of the telnetrc files is as follows: Lines beginning with a + #, and blank lines, are ignored. The rest of the file should consist + of hostnames and sequences of + .Nm telnet + commands to use with that host. Commands should be one per line, + indented by whitespace; lines beginning without whitespace are +-interpreted as hostnames. Upon connecting to a particular host, the ++interpreted as hostnames. Lines beginning with the special hostname ++.Ql DEFAULT ++will apply to all hosts. Hostnames including ++.Ql DEFAULT ++may be followed immediately by a colon and a port number or string. ++If a port is specified it must match exactly with what is specified ++on the command line. If no port was specified on the command line, ++then the value ++.Ql telnet ++is used. ++Upon connecting to a particular host, the + commands associated with that host are executed. + .It Ic quit + Close any open session and exit +@@ -1184,9 +1203,7 @@ escape sequences are preceded by a '*' to aid in locating them. + When the skiprc toggle is + .Dv TRUE , + .Tn telnet +-does not read the +-.Pa \&.telnetrc +-file. The initial value for this toggle is ++does not read the telnetrc files. The initial value for this toggle is + .Dv FALSE. + .It Ic termdata + Toggles the display of all terminal data (in hexadecimal format). +@@ -1239,7 +1256,9 @@ to the other side via the + .Dv TELNET ENVIRON + option. + .Sh FILES +-.Bl -tag -width ~/.telnetrc -compact ++.Bl -tag -width /etc/telnetrc -compact ++.It Pa /etc/telnetrc ++global telnet startup values + .It Pa ~/.telnetrc + user customized telnet startup values + .El +diff --git a/telnet/telnet.cc b/telnet/telnet.cc +index 4fc3b1f..7eca811 100644 +--- a/telnet/telnet.cc ++++ b/telnet/telnet.cc +@@ -88,7 +88,8 @@ char do_dont_resp[256]; + char will_wont_resp[256]; + + int +-eight = 0, ++ eight = 3, ++ binary = 0, + autologin = 0, /* Autologin anyone? */ + skiprc = 0, + connected, +@@ -639,14 +640,14 @@ static const char *gettermname(void) { + if (resettermname) { + resettermname = 0; + tname = env_getvalue("TERM", 0); +- if (!tname || my_setupterm(tname, 1, &err)) { ++ if (!tname /* || my_setupterm(tname, 1, &err) */) { + termbuf[0] = 0; + tname = "UNKNOWN"; + } + mklist(termbuf, tname, termtypes); + next = 0; + } +- if (next==termtypes.num()) next = 0; ++ if (next==termtypes.num()-1) next = 0; + return termtypes[next++]; + } + /* +@@ -681,7 +682,7 @@ static void suboption(void) { + } + #endif /* TN3270 */ + name = gettermname(); +- netoring.printf("%c%c%c%c%s%c%c", IAC, SB, TELOPT_TTYPE, ++ netoring.xprintf("%c%c%c%c%s%c%c", IAC, SB, TELOPT_TTYPE, + TELQUAL_IS, name, IAC, SE); + } + break; +@@ -693,7 +694,7 @@ static void suboption(void) { + if (SB_GET() == TELQUAL_SEND) { + long oospeed, iispeed; + TerminalSpeeds(&iispeed, &oospeed); +- netoring.printf("%c%c%c%c%ld,%ld%c%c", IAC, SB, TELOPT_TSPEED, ++ netoring.xprintf("%c%c%c%c%ld,%ld%c%c", IAC, SB, TELOPT_TSPEED, + TELQUAL_IS, oospeed, iispeed, IAC, SE); + } + break; +@@ -780,7 +781,7 @@ static void suboption(void) { + send_wont(TELOPT_XDISPLOC, 1); + break; + } +- netoring.printf("%c%c%c%c%s%c%c", IAC, SB, TELOPT_XDISPLOC, ++ netoring.xprintf("%c%c%c%c%s%c%c", IAC, SB, TELOPT_XDISPLOC, + TELQUAL_IS, dp, IAC, SE); + } + break; +@@ -798,7 +799,7 @@ void lm_will(unsigned char *cmd, int len) { + return; + } + +- netoring.printf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, ++ netoring.xprintf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, + DONT, cmd[0], IAC, SE); + } + +@@ -815,7 +816,7 @@ void lm_do(unsigned char *cmd, int len) { + /*@*/ printf("lm_do: no command!!!\n"); /* Should not happen... */ + return; + } +- netoring.printf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, ++ netoring.xprintf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, + WONT, cmd[0], IAC, SE); + } + +@@ -838,7 +839,7 @@ void lm_mode(unsigned char *cmd, int len, int init) { + k |= MODE_ACK; + } + +- netoring.printf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, LM_MODE, ++ netoring.xprintf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, LM_MODE, + k, IAC, SE); + + setconnmode(0); /* set changed mode */ +@@ -933,11 +934,11 @@ void slc_mode_import(int def) { + + void slc_import(int def) { + if (def) { +- netoring.printf("%c%c%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, ++ netoring.xprintf("%c%c%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, + LM_SLC, 0, SLC_DEFAULT, 0, IAC, SE); + } + else { +- netoring.printf("%c%c%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, ++ netoring.xprintf("%c%c%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, + LM_SLC, 0, SLC_VARIABLE, 0, IAC, SE); + } + } +@@ -1050,6 +1051,7 @@ void slc_check(void) { + + + unsigned char slc_reply[128]; ++unsigned char const * const slc_reply_eom = &slc_reply[sizeof(slc_reply)]; + unsigned char *slc_replyp; + + void slc_start_reply(void) { +@@ -1061,6 +1063,14 @@ void slc_start_reply(void) { + } + + void slc_add_reply(int func, int flags, int value) { ++ /* A sequence of up to 6 bytes my be written for this member of the SLC ++ * suboption list by this function. The end of negotiation command, ++ * which is written by slc_end_reply(), will require 2 additional ++ * bytes. Do not proceed unless there is sufficient space for these ++ * items. ++ */ ++ if (&slc_replyp[6+2] > slc_reply_eom) ++ return; + if ((*slc_replyp++ = func) == IAC) + *slc_replyp++ = IAC; + if ((*slc_replyp++ = flags) == IAC) +@@ -1142,6 +1152,7 @@ void env_opt(unsigned char *buf, int len) { + } + } + ++/* OPT_REPLY_SIZE must be a multiple of 2. */ + #define OPT_REPLY_SIZE 256 + unsigned char *opt_reply; + unsigned char *opt_replyp; +@@ -1173,6 +1184,7 @@ void env_opt_start_info(void) { + + void env_opt_add(const char *ep) { + const char *vp; ++ const unsigned char *tp; + unsigned char c; + + if (opt_reply == NULL) /*XXX*/ +@@ -1185,11 +1197,12 @@ void env_opt_add(const char *ep) { + return; + } + vp = env_getvalue(ep, 1); +- if (opt_replyp + (vp ? strlen(vp) : 0) + strlen(ep) + 6 > opt_replyend) ++ tp = opt_replyp + (vp ? strlen(vp) * 2 : 0) + strlen(ep) * 2 + 6; ++ if (tp > opt_replyend) + { + register int len; +- opt_replyend += OPT_REPLY_SIZE; +- len = opt_replyend - opt_reply; ++ len = ((tp - opt_reply) + OPT_REPLY_SIZE - 1) & ~(OPT_REPLY_SIZE - 1); ++ opt_replyend = opt_reply + len; + opt_reply = (unsigned char *)realloc(opt_reply, len); + if (opt_reply == NULL) { + /*@*/ printf("env_opt_add: realloc() failed!!!\n"); +@@ -1740,8 +1753,8 @@ void telnet(const char * /*user*/) { + send_do(TELOPT_STATUS, 1); + if (env_getvalue("DISPLAY", 0)) + send_will(TELOPT_XDISPLOC, 1); +- if (eight) +- tel_enter_binary(eight); ++ if (binary) ++ tel_enter_binary(binary); + } + #endif /* !defined(TN3270) */ + +diff --git a/telnet/terminal.cc b/telnet/terminal.cc +index 9eb47ae..764f18f 100644 +--- a/telnet/terminal.cc ++++ b/telnet/terminal.cc +@@ -45,6 +45,8 @@ char terminal_rcsid[] = + #include <signal.h> + #include <errno.h> + #include <stdio.h> ++#include <string.h> ++#include <stdlib.h> + + #include "ring.h" + #include "defines.h" +@@ -155,9 +157,11 @@ int getconnmode(void) { + if (localflow) + mode |= MODE_FLOW; + +- if (my_want_state_is_will(TELOPT_BINARY)) ++ if ((eight & 1) || my_want_state_is_will(TELOPT_BINARY)) + mode |= MODE_INBIN; + ++ if (eight & 2) ++ mode |= MODE_OUT8; + if (his_want_state_is_will(TELOPT_BINARY)) + mode |= MODE_OUTBIN; + +@@ -449,10 +453,13 @@ void TerminalNewMode(int f) + // breaks SunOS. + tmp_tc.c_iflag |= ISTRIP; + } +- if (f & MODE_OUTBIN) { ++ if (f & (MODE_OUTBIN|MODE_OUT8)) { + tmp_tc.c_cflag &= ~(CSIZE|PARENB); + tmp_tc.c_cflag |= CS8; +- tmp_tc.c_oflag &= ~OPOST; ++ if (f & MODE_OUTBIN) ++ tmp_tc.c_oflag &= ~OPOST; ++ else ++ tmp_tc.c_oflag |= OPOST; + } else { + tmp_tc.c_cflag &= ~(CSIZE|PARENB); + tmp_tc.c_cflag |= old_tc.c_cflag & (CSIZE|PARENB); +@@ -468,7 +475,7 @@ void TerminalNewMode(int f) + + #ifdef SIGINFO + signal(SIGINFO, ayt); +-#endif SIGINFO ++#endif /* SIGINFO */ + + #if defined(NOKERNINFO) + tmp_tc.c_lflag |= NOKERNINFO; +@@ -504,7 +511,7 @@ void TerminalNewMode(int f) + + #ifdef SIGINFO + signal(SIGINFO, ayt_status); +-#endif SIGINFO ++#endif /* SIGINFO */ + + #ifdef SIGTSTP + signal(SIGTSTP, SIG_DFL); +diff --git a/telnet/utilities.cc b/telnet/utilities.cc +index 0448f0a..66839ab 100644 +--- a/telnet/utilities.cc ++++ b/telnet/utilities.cc +@@ -47,6 +47,8 @@ char util_rcsid[] = + #include <sys/socket.h> + #include <unistd.h> + #include <ctype.h> ++#include <string.h> ++#include <stdlib.h> + + #include "ring.h" + #include "defines.h" +-- +1.8.4.2 + diff --git a/meta-networking/recipes-netkit/netkit-telnet/files/Warning-fix-in-the-step-of-install.patch b/meta-networking/recipes-netkit/netkit-telnet/files/Warning-fix-in-the-step-of-install.patch new file mode 100644 index 0000000000..b9a98f1d6f --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-telnet/files/Warning-fix-in-the-step-of-install.patch @@ -0,0 +1,41 @@ +From 31362e4c0d02b4a2b952ad0dd32acfb573c442f3 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Fri, 28 Nov 2014 07:17:40 +0900 +Subject: [PATCH 2/2] WARNING Fix and modify "CFLAGS" + +WARNING: QA Issue: File '/usr/sbin/in.telnetd' from netkit-telnet was +already stripped, this will prevent future debugging! [already-stripped] + +Upstream-Status: pending + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + telnetd/Makefile | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/telnetd/Makefile b/telnetd/Makefile +index 72650b4..a4cf9fa 100644 +--- a/telnetd/Makefile ++++ b/telnetd/Makefile +@@ -9,7 +9,8 @@ include ../MRULES + # take out -DPARANOID_TTYS. + + CFLAGS += '-DISSUE_FILE="/etc/issue.net"' -DPARANOID_TTYS \ +- -DNO_REVOKE -DKLUDGELINEMODE -DDIAGNOSTICS ++ -DNO_REVOKE -DKLUDGELINEMODE -DDIAGNOSTICS \ ++ -DLOGIN_WRAPPER=\"/${libdir}/telnetlogin\" + # LIBS += $(LIBTERMCAP) + + OBJS = telnetd.o state.o termstat.o slc.o sys_term.o utility.o \ +@@ -27,7 +28,7 @@ $(OBJS): defs.h ext.h pathnames.h telnetd.h logwtmp.h logout.h setproctitle.h + telnetd.o: ../version.h + + install: telnetd +- install -s -m$(DAEMONMODE) telnetd $(INSTALLROOT)$(SBINDIR)/in.telnetd ++ install -m$(DAEMONMODE) telnetd $(INSTALLROOT)$(SBINDIR)/in.telnetd + install -m$(MANMODE) issue.net.5 $(INSTALLROOT)$(MANDIR)/man5/ + install -m$(MANMODE) telnetd.8 $(INSTALLROOT)$(MANDIR)/man8/in.telnetd.8 + ln -sf in.telnetd.8 $(INSTALLROOT)$(MANDIR)/man8/telnetd.8 +-- +1.8.4.2 + diff --git a/meta-networking/recipes-netkit/netkit-telnet/files/telnet-xinetd b/meta-networking/recipes-netkit/netkit-telnet/files/telnet-xinetd new file mode 100644 index 0000000000..12204c71b2 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-telnet/files/telnet-xinetd @@ -0,0 +1,14 @@ +# default: on +# description: The telnet server serves telnet sessions; it uses \ +# unencrypted username/password pairs for authentication. +service telnet +{ + flags = REUSE + socket_type = stream + wait = no + user = root + server = /usr/sbin/in.telnetd + log_on_failure += USERID + disable = yes +} + diff --git a/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb b/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb new file mode 100644 index 0000000000..a2dc1c270b --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb @@ -0,0 +1,52 @@ +DESCRIPTION = "netkit-telnet includes the telnet daemon and client." +SECTION = "base" +DEPENDS = "ncurses" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://telnet/telnet.cc;beginline=2;endline=3;md5=780868e7b566313e70cb701560ca95ef" + +SRC_URI = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/${BP}.tar.gz \ + file://To-aviod-buffer-overflow-in-telnet.patch \ + file://Warning-fix-in-the-step-of-install.patch \ + file://telnet-xinetd \ +" + +EXTRA_OEMAKE = "INSTALLROOT=${D} SBINDIR=${sbindir} DAEMONMODE=755 \ + MANMODE=644 MANDIR=${mandir}" + +do_configure () { + ./configure --prefix=${prefix} + echo "LDFLAGS=${LDFLAGS}" > MCONFIG +} + +do_compile () { + oe_runmake 'CC=${CC}' 'LD=${LD}' 'LDFLAGS=${LDFLAGS}' SUB=telnet + oe_runmake 'CC=${CC}' 'LD=${LD}' 'LDFLAGS=${LDFLAGS}' LIBS=-lutil SUB=telnetd +} + +do_install () { + install -d ${D}${bindir} + install -m 0755 telnet/telnet ${D}${bindir}/telnet.${PN} + install -d ${D}${sbindir} + install -d ${D}${mandir}/man1 + install -d ${D}${mandir}/man5 + install -d ${D}${mandir}/man8 + oe_runmake SUB=telnetd install + rm -rf ${D}${mandir}/man1 + # fix up hardcoded paths + sed -i -e 's,/usr/sbin/,${sbindir}/,' ${WORKDIR}/telnet-xinetd + install -d ${D}/etc/xinetd.d/ + install -p -m644 ${WORKDIR}/telnet-xinetd ${D}/etc/xinetd.d/telnet +} + +pkg_postinst_${PN} () { +#!/bin/sh + update-alternatives --install ${bindir}/telnet telnet telnet.${PN} 100 +} + +pkg_prerm_${PN} () { +#!/bin/sh + update-alternatives --remove telnet telnet.${PN} 100 +} + +SRC_URI[md5sum] = "d6beabaaf53fe6e382c42ce3faa05a36" +SRC_URI[sha256sum] = "9c80d5c7838361a328fb6b60016d503def9ce53ad3c589f3b08ff71a2bb88e00" diff --git a/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp/tftp.conf b/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp/tftp.conf new file mode 100644 index 0000000000..7bc6ca96b6 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp/tftp.conf @@ -0,0 +1,11 @@ +service tftp +{ + disable = no + socket_type = dgram + port = 69 + protocol = udp + wait = yes + user = nobody + server = /usr/sbin/in.tftpd + server_args = /tftpboot +} diff --git a/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb b/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb new file mode 100644 index 0000000000..bd54c0a817 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb @@ -0,0 +1,54 @@ +SUMMARY = "tftp - Trivial file transfer protocol client" +SECTION = "networking" +LICENSE = "BSD-4-Clause" +DEPENDS = "tcp-wrappers" + +LIC_FILES_CHKSUM = "file://tftp/tftp.c;beginline=2;endline=3;md5=84d2cfe1e60863a7d82648734ba4d30c" + +SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.orig.tar.gz;name=archive \ + ${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}-18.diff.gz;name=patch18 \ + file://tftp.conf \ +" + +SRC_URI[archive.md5sum] = "b7262c798e2ff50e29c2ff50dfd8d6a8" +SRC_URI[archive.sha256sum] = "3a43c0010d4e61f412563fd83769d4667d8b8e82903526d21cb9205fe55ad14d" +SRC_URI[patch18.md5sum] = "cb29e7a33dd85105ba6e6ec4f971e42c" +SRC_URI[patch18.sha256sum] = "092437d27b4fa88c044ef6290372fee5ce06d223607f0e22a6e527065c8930e7" + +inherit autotools-brokensep + +do_configure () { + ./configure --prefix=${prefix} + echo "CFLAGS=${CFLAGS}" > MCONFIG +} + +do_compile () { + oe_runmake 'CC=${CC}' 'LD=${LD}' 'LDFLAGS=${LDFLAGS}' 'CFLAGS=${CFLAGS}' +} + +do_install () { + install -d ${D}${bindir} + install -d ${D}${sbindir} + install -d ${D}${mandir}/man1 + install -d ${D}${mandir}/man8 + install -d ${D}${sysconfdir}/xinetd.d + + sed -i 's/install -s/install/' tftp/Makefile + sed -i 's/install -s/install/' tftpd/Makefile + + oe_runmake 'INSTALLROOT=${D}' 'BINMODE=0755' \ + 'DAEMONMODE=0755' 'MANMODE=0644' \ + 'BINDIR=${bindir}' 'SBINDIR=${sbindir}' \ + 'MANDIR=${mandir}' install + + install ${WORKDIR}/tftp.conf ${D}/${sysconfdir}/xinetd.d/tftp +} + +PACKAGES = "${PN}-client ${PN}-server ${PN}-doc ${BPN}-dbg" +FILES_${PN}-client = "${bindir}/*" +FILES_${PN}-server = "${sbindir}/* ${sysconfdir}/xinetd.d/*" +FILES_${PN}-doc = "${mandir}" +FILES_${PN}-dbg = "${prefix}/src/debug \ + ${bindir}/.debug ${sbindir}/.debug" + +RDEPENDS_${PN}-server = "tcp-wrappers xinetd" diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Added-checks-for-printing-variables-with-wrong-types.patch b/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Added-checks-for-printing-variables-with-wrong-types.patch new file mode 100644 index 0000000000..30374cfe96 --- /dev/null +++ b/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Added-checks-for-printing-variables-with-wrong-types.patch @@ -0,0 +1,455 @@ +From 7f4a7b891332899cea26e95be0337aae01648742 Mon Sep 17 00:00:00 2001 +From: Jan Safranek <jsafranek@users.sourceforge.net> +Date: Thu, 31 Jul 2014 13:46:49 +0200 +Subject: [PATCH] Added checks for printing variables with wrong types. + +Upstream-Status: Backport + +When -OQ command line argument is used, variable formatter preffers the type +of the varible parsed from a MIB file instead of checking type of the variable +as parsed from SNMP message. + +This can lead to crashes when incoming packets contains a variable with +NULL type, while the MIB says the variable should be non-NULL, like Integer. +The formatter then tries to interpret the NULL (from packet) as Integer (from +MIB file). + +Signed-off-by: Jan Safranek <jsafranek@users.sourceforge.net> +--- + snmplib/mib.c | 270 ++++++++++++++++++++++++++++----------------------------- + 1 file changed, 135 insertions(+), 135 deletions(-) + +diff --git a/snmplib/mib.c b/snmplib/mib.c +index 9d3ca41..c6e0010 100644 +--- a/snmplib/mib.c ++++ b/snmplib/mib.c +@@ -439,17 +439,16 @@ sprint_realloc_octet_string(u_char ** buf, size_t * buf_len, + u_char *cp; + int output_format, cnt; + +- if ((var->type != ASN_OCTET_STR) && +- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) { +- const char str[] = "Wrong Type (should be OCTET STRING): "; +- if (snmp_cstrcat +- (buf, buf_len, out_len, allow_realloc, str)) { +- return sprint_realloc_by_type(buf, buf_len, out_len, ++ if (var->type != ASN_OCTET_STR) { ++ if (!netsnmp_ds_get_boolean( ++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) { ++ const char str[] = "Wrong Type (should be OCTET STRING): "; ++ if (!snmp_cstrcat(buf, buf_len, out_len, allow_realloc, str)) ++ return 0; ++ } ++ return sprint_realloc_by_type(buf, buf_len, out_len, + allow_realloc, var, NULL, NULL, + NULL); +- } else { +- return 0; +- } + } + + +@@ -702,16 +701,16 @@ sprint_realloc_float(u_char ** buf, size_t * buf_len, + const struct enum_list *enums, + const char *hint, const char *units) + { +- if ((var->type != ASN_OPAQUE_FLOAT) && +- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) { +- if (snmp_cstrcat(buf, buf_len, out_len, allow_realloc, +- "Wrong Type (should be Float): ")) { +- return sprint_realloc_by_type(buf, buf_len, out_len, ++ if (var->type != ASN_OPAQUE_FLOAT) { ++ if (!netsnmp_ds_get_boolean( ++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) { ++ u_char str[] = "Wrong Type (should be Float): "; ++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) ++ return 0; ++ } ++ return sprint_realloc_by_type(buf, buf_len, out_len, + allow_realloc, var, NULL, NULL, + NULL); +- } else { +- return 0; +- } + } + + if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) { +@@ -772,17 +771,16 @@ sprint_realloc_double(u_char ** buf, size_t * buf_len, + const struct enum_list *enums, + const char *hint, const char *units) + { +- if ((var->type != ASN_OPAQUE_DOUBLE) && +- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) { +- if (snmp_cstrcat +- (buf, buf_len, out_len, allow_realloc, +- "Wrong Type (should be Double): ")) { +- return sprint_realloc_by_type(buf, buf_len, out_len, ++ if (var->type != ASN_OPAQUE_DOUBLE) { ++ if (!netsnmp_ds_get_boolean( ++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) { ++ u_char str[] = "Wrong Type (should be Double): "; ++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) ++ return 0; ++ } ++ return sprint_realloc_by_type(buf, buf_len, out_len, + allow_realloc, var, NULL, NULL, + NULL); +- } else { +- return 0; +- } + } + + if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) { +@@ -847,20 +845,21 @@ sprint_realloc_counter64(u_char ** buf, size_t * buf_len, size_t * out_len, + { + char a64buf[I64CHARSZ + 1]; + +- if ((var->type != ASN_COUNTER64 ++ if (var->type != ASN_COUNTER64 + #ifdef NETSNMP_WITH_OPAQUE_SPECIAL_TYPES + && var->type != ASN_OPAQUE_COUNTER64 + && var->type != ASN_OPAQUE_I64 && var->type != ASN_OPAQUE_U64 + #endif +- ) && (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) { +- if (snmp_cstrcat(buf, buf_len, out_len, allow_realloc, +- "Wrong Type (should be Counter64): ")) { +- return sprint_realloc_by_type(buf, buf_len, out_len, ++ ) { ++ if (!netsnmp_ds_get_boolean( ++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) { ++ u_char str[] = "Wrong Type (should be Counter64): "; ++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) ++ return 0; ++ } ++ return sprint_realloc_by_type(buf, buf_len, out_len, + allow_realloc, var, NULL, NULL, + NULL); +- } else { +- return 0; +- } + } + + if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) { +@@ -948,23 +947,25 @@ sprint_realloc_opaque(u_char ** buf, size_t * buf_len, + const struct enum_list *enums, + const char *hint, const char *units) + { +- if ((var->type != ASN_OPAQUE ++ if (var->type != ASN_OPAQUE + #ifdef NETSNMP_WITH_OPAQUE_SPECIAL_TYPES + && var->type != ASN_OPAQUE_COUNTER64 + && var->type != ASN_OPAQUE_U64 + && var->type != ASN_OPAQUE_I64 + && var->type != ASN_OPAQUE_FLOAT && var->type != ASN_OPAQUE_DOUBLE + #endif /* NETSNMP_WITH_OPAQUE_SPECIAL_TYPES */ +- ) && (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) { +- if (snmp_cstrcat(buf, buf_len, out_len, allow_realloc, +- "Wrong Type (should be Opaque): ")) { +- return sprint_realloc_by_type(buf, buf_len, out_len, ++ ) { ++ if (!netsnmp_ds_get_boolean( ++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) { ++ u_char str[] = "Wrong Type (should be Opaque): "; ++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) ++ return 0; ++ } ++ return sprint_realloc_by_type(buf, buf_len, out_len, + allow_realloc, var, NULL, NULL, + NULL); +- } else { +- return 0; +- } + } ++ + #ifdef NETSNMP_WITH_OPAQUE_SPECIAL_TYPES + switch (var->type) { + case ASN_OPAQUE_COUNTER64: +@@ -1040,17 +1041,16 @@ sprint_realloc_object_identifier(u_char ** buf, size_t * buf_len, + { + int buf_overflow = 0; + +- if ((var->type != ASN_OBJECT_ID) && +- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) { +- u_char str[] = +- "Wrong Type (should be OBJECT IDENTIFIER): "; +- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) { +- return sprint_realloc_by_type(buf, buf_len, out_len, ++ if (var->type != ASN_OBJECT_ID) { ++ if (!netsnmp_ds_get_boolean( ++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) { ++ u_char str[] = "Wrong Type (should be OBJECT IDENTIFIER): "; ++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) ++ return 0; ++ } ++ return sprint_realloc_by_type(buf, buf_len, out_len, + allow_realloc, var, NULL, NULL, + NULL); +- } else { +- return 0; +- } + } + + if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) { +@@ -1110,16 +1110,16 @@ sprint_realloc_timeticks(u_char ** buf, size_t * buf_len, size_t * out_len, + { + char timebuf[40]; + +- if ((var->type != ASN_TIMETICKS) && +- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) { +- u_char str[] = "Wrong Type (should be Timeticks): "; +- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) { +- return sprint_realloc_by_type(buf, buf_len, out_len, ++ if (var->type != ASN_TIMETICKS) { ++ if (!netsnmp_ds_get_boolean( ++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) { ++ u_char str[] = "Wrong Type (should be Timeticks): "; ++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) ++ return 0; ++ } ++ return sprint_realloc_by_type(buf, buf_len, out_len, + allow_realloc, var, NULL, NULL, + NULL); +- } else { +- return 0; +- } + } + + if (netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_NUMERIC_TIMETICKS)) { +@@ -1277,17 +1277,18 @@ sprint_realloc_integer(u_char ** buf, size_t * buf_len, size_t * out_len, + { + char *enum_string = NULL; + +- if ((var->type != ASN_INTEGER) && +- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) { +- u_char str[] = "Wrong Type (should be INTEGER): "; +- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) { +- return sprint_realloc_by_type(buf, buf_len, out_len, ++ if (var->type != ASN_INTEGER) { ++ if (!netsnmp_ds_get_boolean( ++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) { ++ u_char str[] = "Wrong Type (should be INTEGER): "; ++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) ++ return 0; ++ } ++ return sprint_realloc_by_type(buf, buf_len, out_len, + allow_realloc, var, NULL, NULL, + NULL); +- } else { +- return 0; +- } + } ++ + for (; enums; enums = enums->next) { + if (enums->value == *var->val.integer) { + enum_string = enums->label; +@@ -1380,16 +1381,16 @@ sprint_realloc_uinteger(u_char ** buf, size_t * buf_len, size_t * out_len, + { + char *enum_string = NULL; + +- if ((var->type != ASN_UINTEGER) && +- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) { +- u_char str[] = "Wrong Type (should be UInteger32): "; +- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) { +- return sprint_realloc_by_type(buf, buf_len, out_len, ++ if (var->type != ASN_UINTEGER) { ++ if (!netsnmp_ds_get_boolean( ++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) { ++ u_char str[] = "Wrong Type (should be UInteger32): "; ++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) ++ return 0; ++ } ++ return sprint_realloc_by_type(buf, buf_len, out_len, + allow_realloc, var, NULL, NULL, + NULL); +- } else { +- return 0; +- } + } + + for (; enums; enums = enums->next) { +@@ -1477,17 +1478,16 @@ sprint_realloc_gauge(u_char ** buf, size_t * buf_len, size_t * out_len, + { + char tmp[32]; + +- if ((var->type != ASN_GAUGE) && +- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) { +- u_char str[] = +- "Wrong Type (should be Gauge32 or Unsigned32): "; +- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) { +- return sprint_realloc_by_type(buf, buf_len, out_len, ++ if (var->type != ASN_GAUGE) { ++ if (!netsnmp_ds_get_boolean( ++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) { ++ u_char str[] = "Wrong Type (should be Gauge32 or Unsigned32): "; ++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) ++ return 0; ++ } ++ return sprint_realloc_by_type(buf, buf_len, out_len, + allow_realloc, var, NULL, NULL, + NULL); +- } else { +- return 0; +- } + } + + if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) { +@@ -1550,16 +1550,16 @@ sprint_realloc_counter(u_char ** buf, size_t * buf_len, size_t * out_len, + { + char tmp[32]; + +- if ((var->type != ASN_COUNTER) && +- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) { +- u_char str[] = "Wrong Type (should be Counter32): "; +- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) { +- return sprint_realloc_by_type(buf, buf_len, out_len, ++ if (var->type != ASN_COUNTER) { ++ if (!netsnmp_ds_get_boolean( ++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) { ++ u_char str[] = "Wrong Type (should be Counter32): "; ++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) ++ return 0; ++ } ++ return sprint_realloc_by_type(buf, buf_len, out_len, + allow_realloc, var, NULL, NULL, + NULL); +- } else { +- return 0; +- } + } + + if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) { +@@ -1613,16 +1613,16 @@ sprint_realloc_networkaddress(u_char ** buf, size_t * buf_len, + { + size_t i; + +- if ((var->type != ASN_IPADDRESS) && +- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) { +- u_char str[] = "Wrong Type (should be NetworkAddress): "; +- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) { +- return sprint_realloc_by_type(buf, buf_len, out_len, ++ if (var->type != ASN_IPADDRESS) { ++ if (!netsnmp_ds_get_boolean( ++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) { ++ u_char str[] = "Wrong Type (should be NetworkAddress): "; ++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) ++ return 0; ++ } ++ return sprint_realloc_by_type(buf, buf_len, out_len, + allow_realloc, var, NULL, NULL, + NULL); +- } else { +- return 0; +- } + } + + if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) { +@@ -1679,16 +1679,16 @@ sprint_realloc_ipaddress(u_char ** buf, size_t * buf_len, size_t * out_len, + { + u_char *ip = var->val.string; + +- if ((var->type != ASN_IPADDRESS) && +- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) { +- u_char str[] = "Wrong Type (should be IpAddress): "; +- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) { +- return sprint_realloc_by_type(buf, buf_len, out_len, ++ if (var->type != ASN_IPADDRESS) { ++ if (!netsnmp_ds_get_boolean( ++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) { ++ u_char str[] = "Wrong Type (should be IpAddress): "; ++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) ++ return 0; ++ } ++ return sprint_realloc_by_type(buf, buf_len, out_len, + allow_realloc, var, NULL, NULL, + NULL); +- } else { +- return 0; +- } + } + + if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) { +@@ -1737,20 +1737,20 @@ sprint_realloc_null(u_char ** buf, size_t * buf_len, size_t * out_len, + const struct enum_list *enums, + const char *hint, const char *units) + { +- if ((var->type != ASN_NULL) && +- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) { +- u_char str[] = "Wrong Type (should be NULL): "; +- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) { +- return sprint_realloc_by_type(buf, buf_len, out_len, ++ if (var->type != ASN_NULL) { ++ if (!netsnmp_ds_get_boolean( ++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) { ++ u_char str[] = "Wrong Type (should be NULL): "; ++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) ++ return 0; ++ } ++ return sprint_realloc_by_type(buf, buf_len, out_len, + allow_realloc, var, NULL, NULL, + NULL); +- } else { +- return 0; +- } +- } else { +- u_char str[] = "NULL"; +- return snmp_strcat(buf, buf_len, out_len, allow_realloc, str); + } ++ ++ u_char str[] = "NULL"; ++ return snmp_strcat(buf, buf_len, out_len, allow_realloc, str); + } + + +@@ -1785,16 +1785,16 @@ sprint_realloc_bitstring(u_char ** buf, size_t * buf_len, size_t * out_len, + u_char *cp; + char *enum_string; + +- if ((var->type != ASN_BIT_STR && var->type != ASN_OCTET_STR) && +- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) { +- u_char str[] = "Wrong Type (should be BITS): "; +- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) { +- return sprint_realloc_by_type(buf, buf_len, out_len, ++ if (var->type != ASN_BIT_STR && var->type != ASN_OCTET_STR) { ++ if (!netsnmp_ds_get_boolean( ++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) { ++ u_char str[] = "Wrong Type (should be BITS): "; ++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) ++ return 0; ++ } ++ return sprint_realloc_by_type(buf, buf_len, out_len, + allow_realloc, var, NULL, NULL, + NULL); +- } else { +- return 0; +- } + } + + if (netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) { +@@ -1869,16 +1869,16 @@ sprint_realloc_nsapaddress(u_char ** buf, size_t * buf_len, + const struct enum_list *enums, const char *hint, + const char *units) + { +- if ((var->type != ASN_NSAP) && +- (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) { +- u_char str[] = "Wrong Type (should be NsapAddress): "; +- if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) { +- return sprint_realloc_by_type(buf, buf_len, out_len, ++ if (var->type != ASN_NSAP) { ++ if (!netsnmp_ds_get_boolean( ++ NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) { ++ u_char str[] = "Wrong Type (should be NsapAddress): "; ++ if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) ++ return 0; ++ } ++ return sprint_realloc_by_type(buf, buf_len, out_len, + allow_realloc, var, NULL, NULL, + NULL); +- } else { +- return 0; +- } + } + + if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) { +-- +1.7.10.4 + diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp/snmpd.service b/meta-networking/recipes-protocols/net-snmp/net-snmp/snmpd.service index 10a1eb2128..3b336a0548 100644 --- a/meta-networking/recipes-protocols/net-snmp/net-snmp/snmpd.service +++ b/meta-networking/recipes-protocols/net-snmp/net-snmp/snmpd.service @@ -4,7 +4,7 @@ After=syslog.target network.target [Service] Type=notify -Environment=OPTIONS="-LS0-6d" +Environment=OPTIONS="-Ls0-6d" EnvironmentFile=-/etc/default/snmpd ExecStart=/usr/sbin/snmpd $OPTIONS -f ExecReload=/bin/kill -HUP $MAINPID diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.2.1.bb b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.2.1.bb index eb97748306..a76de0d3b8 100644 --- a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.2.1.bb +++ b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.2.1.bb @@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://README;beginline=3;endline=8;md5=7f7f00ba639ac8e8deb5 DEPENDS = "openssl libnl pciutils" SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.zip \ + file://0001-Added-checks-for-printing-variables-with-wrong-types.patch \ file://init \ file://snmpd.conf \ file://snmptrapd.conf \ @@ -35,6 +36,11 @@ EXTRA_OECONF = "--disable-embedded-perl \ --with-defaults \ ${@base_conditional('SITEINFO_ENDIANNESS', 'le', '--with-endianness=little', '--with-endianness=big', d)}" +CACHED_CONFIGUREVARS = " \ + ac_cv_header_valgrind_valgrind_h=no \ + ac_cv_header_valgrind_memcheck_h=no \ +" + do_configure_prepend() { export PERLPROG="${bindir}/env perl" } diff --git a/meta-networking/recipes-protocols/openl2tp/openl2tp/Makefile-modify-CFLAGS-to-aviod-build-error.patch b/meta-networking/recipes-protocols/openl2tp/openl2tp/Makefile-modify-CFLAGS-to-aviod-build-error.patch new file mode 100644 index 0000000000..96dbc7551d --- /dev/null +++ b/meta-networking/recipes-protocols/openl2tp/openl2tp/Makefile-modify-CFLAGS-to-aviod-build-error.patch @@ -0,0 +1,106 @@ +From 152486fa3c36c3b99d17d5b553cf87ef412fae8e Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Mon, 1 Dec 2014 01:53:41 +0900 +Subject: [PATCH] Makefile:modify CFLAGS to aviod build error. + +Upstream-Status: pending + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + Makefile | 22 +++++++++++----------- + plugins/Makefile | 6 +++--- + 2 files changed, 14 insertions(+), 14 deletions(-) + +diff --git a/Makefile b/Makefile +index 4aaa448..baa7882 100644 +--- a/Makefile ++++ b/Makefile +@@ -152,10 +152,10 @@ LIBS.dmalloc= -ldmalloc + export USE_DMALLOC + endif + +-CPPFLAGS= $(CPPFLAGS.l2tptest) $(CPPFLAGS-y) +-CFLAGS= -I. -Iusl -Icli -isystem include \ +- -MMD -Wall -Werror -Wno-strict-aliasing \ +- $(CPPFLAGS) $(CPPFLAGS.dmalloc) \ ++ADD_CPPFLAGS= $(CPPFLAGS.l2tptest) $(CPPFLAGS-y) ++ADD_CFLAGS= -I. -Iusl -Icli -isystem include \ ++ -MMD -Wall -Wno-strict-aliasing \ ++ $(ADD_CPPFLAGS) $(CPPFLAGS.dmalloc) \ + -DSYS_LIBDIR=$(SYS_LIBDIR) + LDFLAGS.l2tpd= -Wl,-E -L. -Lusl -lusl -ldl $(LIBS.dmalloc) -lc + LDFLAGS.l2tpconfig= -Lcli -lcli -lreadline $(LIBS.dmalloc) $(READLINE_LDFLAGS) -lc +@@ -170,10 +170,10 @@ CFLAGS.optimize= $(OPT_CFLAGS) + endif + export CFLAGS.optimize + +-CFLAGS+= $(CFLAGS.optimize) ++ADD_CFLAGS+= $(CFLAGS.optimize) + + ifeq ($(L2TP_USE_ASYNC_RPC),y) +-CPPFLAGS+= -DL2TP_ASYNC_RPC ++ADD_CPPFLAGS+= -DL2TP_ASYNC_RPC + endif + + ifeq ($(L2TP_FEATURE_RPC_MANAGEMENT),y) +@@ -220,13 +220,13 @@ endif + + # Compile without -Wall because rpcgen-generated code is full of warnings. + %_xdr.o: %_xdr.c +- $(CC) -I. -MMD -w $(CFLAGS.optimize) -c $(CPPFLAGS) $< ++ $(CC) -I. -MMD -w $(CFLAGS.optimize) -c $(ADD_CPPFLAGS) $< + + %_client.o: %_client.c +- $(CC) -I. -MMD -w $(CFLAGS.optimize) -c $(CPPFLAGS) $< ++ $(CC) -I. -MMD -w $(CFLAGS.optimize) -c $(ADD_CPPFLAGS) $< + + %_server.o: %_server.c +- $(CC) -I. -MMD -w $(CFLAGS.optimize) -c $(CPPFLAGS) $< ++ $(CC) -I. -MMD -w $(CFLAGS.optimize) -c $(ADD_CPPFLAGS) $< + + %_xdr.c: %.x + -$(RM) $@ +@@ -272,7 +272,7 @@ l2tpconfig: $(L2TPCONFIG_SRCS.o) + $(CC) -o $@ $^ $(LDFLAGS.l2tpconfig) + + %.o: %.c +- $(CC) -c $(CFLAGS) $< -o $@ ++ $(CC) -c $(CFLAGS) $(ADD_CFLAGS) $< -o $@ + + l2tp_options.h: FORCE + @rm -f $@.tmp +@@ -325,7 +325,7 @@ install: install-all + install-all: all install-daemon install-app + + install-daemon: +- @for d in $(filter-out usl,$(SUBDIRS)); do $(MAKE) -C $$d $(MFLAGS) EXTRA_CFLAGS="$(CPPFLAGS)" install; if [ $$? -ne 0 ]; then exit 1; fi; done ++ @for d in $(filter-out usl,$(SUBDIRS)); do $(MAKE) -C $$d $(MFLAGS) EXTRA_CFLAGS="$(CPPFLAGS) $(ADD_CPPFLAGS)" install; if [ $$? -ne 0 ]; then exit 1; fi; done + $(INSTALL) -d $(DESTDIR)/usr/sbin + $(INSTALL) openl2tpd $(DESTDIR)/usr/sbin + +diff --git a/plugins/Makefile b/plugins/Makefile +index 5be996d..6810236 100644 +--- a/plugins/Makefile ++++ b/plugins/Makefile +@@ -1,7 +1,7 @@ +-CFLAGS := $(CFLAGS.optimize) -MMD -Wall \ ++ADD_CFLAGS := $(CFLAGS.optimize) -MMD -Wall \ + -isystem ../include \ + -I. -I.. -I../usl -fPIC $(EXTRA_CFLAGS) +-LDFLAGS := -shared ++ADD_LDFLAGS := -shared + + PLUGINS.c:= ppp_unix.c ppp_null.c ipsec.c event_sock.c + +@@ -21,7 +21,7 @@ clean: + $(RM) $(PLUGINS.so) $(wildcard *.o) $(wildcard *.d) $(SRC.generated) + + %.so: %.c +- $(CC) -o $@ $(LDFLAGS) $(CFLAGS) $< ++ $(CC) -o $@ $(LDFLAGS) $(ADD_LDFLAGS) $(CFLAGS) $(ADD_CFLAGS) $< + + install: all + $(INSTALL) -d $(DESTDIR)$(SYS_LIBDIR)/openl2tp +-- +1.8.4.2 + diff --git a/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tp-simplify-gcc-warning-hack.patch b/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tp-simplify-gcc-warning-hack.patch new file mode 100644 index 0000000000..c11a127b81 --- /dev/null +++ b/meta-networking/recipes-protocols/openl2tp/openl2tp/openl2tp-simplify-gcc-warning-hack.patch @@ -0,0 +1,41 @@ +From 460549a3de27f8dd8371b6d6fc1f69d8bffa102b Mon Sep 17 00:00:00 2001 +From: Joe MacDonald <joe_macdonald@mentor.com> +Date: Tue, 6 Jan 2015 11:23:21 -0500 +Subject: [PATCH] openl2tp: simplify gcc warning hack + +The hack to work around the gcc warning causes problems with some modern +gcc configurations. Since the redef behaviour is essentially correct +everywhere and since the hack is still required on 32-bit builders, leave +it in place but remove the #if guard since it is only there to ensure that +the l2tp_private.h file is updated if the rpc source file is changed and +the two get out of sync. + +Upstream-status: pending + +Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com> +--- + l2tp_private.h | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/l2tp_private.h b/l2tp_private.h +index f3c1af7..cca6806 100644 +--- a/l2tp_private.h ++++ b/l2tp_private.h +@@ -89,14 +89,8 @@ + * So we redefine the constant with UL suffix to avoid the gcc warning. + * Is there some C preprocessor magic that could avoid having to do this? + */ +-#if L2TP_API_TUNNEL_FLAG_MTU != 2147483648 +-#error Constant L2TP_API_TUNNEL_FLAG_MTU changed. Update local definition here. +-#endif + #undef L2TP_API_TUNNEL_FLAG_MTU + #define L2TP_API_TUNNEL_FLAG_MTU 2147483648UL +-#if L2TP_API_SESSION_FLAG_NO_PPP != 2147483648 +-#error Constant L2TP_API_SESSION_FLAG_NO_PPP changed. Update local definition here. +-#endif + #undef L2TP_API_SESSION_FLAG_NO_PPP + #define L2TP_API_SESSION_FLAG_NO_PPP 2147483648UL + +-- +1.9.1 + diff --git a/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb b/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb new file mode 100644 index 0000000000..5a041073de --- /dev/null +++ b/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb @@ -0,0 +1,36 @@ +SUMMARY = "An L2TP client/server, designed for VPN use." +DESCRIPTION = "OpenL2TP is an open source L2TP client / server, written \ +specifically for Linux. It has been designed for use as an enterprise \ +L2TP VPN server or in commercial, Linux-based, embedded networking \ +products and is able to support hundreds of sessions, each with \ +different configuration. It is used by several ISPs to provide \ +L2TP services and by corporations to implement L2TP VPNs." +HOMEPAGE = "http://www.openl2tp.org/" +SECTION = "console/network" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=e9d9259cbbf00945adc25a470c1d3585" +DEPENDS = "popt flex readline" + +SRC_URI = "http://ftp.jaist.ac.jp/pub/sourceforge/o/op/${PN}/${PN}/${PV}/${BP}.tar.gz \ + file://Makefile-modify-CFLAGS-to-aviod-build-error.patch \ + file://openl2tp-simplify-gcc-warning-hack.patch \ + " +SRC_URI[md5sum] = "e3d08dedfb9e6a9a1e24f6766f6dadd0" +SRC_URI[sha256sum] = "1c97704d4b963a87fbc0e741668d4530933991515ae9ab0dffd11b5444f4860f" + +inherit autotools-brokensep pkgconfig + +PARALLEL_MAKE = "" +EXTRA_OEMAKE = 'CFLAGS="${CFLAGS} -Wno-nused-but-set-variable"' + +do_compile_prepend() { + sed -i -e "s:SYS_LIBDIR=.*:SYS_LIBDIR=${libdir}:g" \ + -e 's:$(CROSS_COMPILE)as:${AS}:g' \ + -e 's:$(CROSS_COMPILE)ld:${LD}:g' \ + -e 's:$(CROSS_COMPILE)gcc:${CC}:g' \ + -e 's:$(CROSS_COMPILE)ar:${AR}:g' \ + -e 's:$(CROSS_COMPILE)nm:${NM}:g' \ + -e 's:$(CROSS_COMPILE)strip:${STRIP}:g' \ + -e 's:$(CROSS_COMPILE)install:install:g' \ + ${S}/Makefile +} diff --git a/meta-networking/recipes-protocols/quagga/files/ripngd.service b/meta-networking/recipes-protocols/quagga/files/ripngd.service index 936b81fb9e..72562d5f7c 100644 --- a/meta-networking/recipes-protocols/quagga/files/ripngd.service +++ b/meta-networking/recipes-protocols/quagga/files/ripngd.service @@ -1,4 +1,4 @@ -i[Unit] +[Unit] Description=RIP routing daemon for IPv6 BindTo=zebra.service After=zebra.service diff --git a/meta-networking/recipes-protocols/quagga/quagga.inc b/meta-networking/recipes-protocols/quagga/quagga.inc index 9bdd4d590a..2c0817b83f 100644 --- a/meta-networking/recipes-protocols/quagga/quagga.inc +++ b/meta-networking/recipes-protocols/quagga/quagga.inc @@ -62,7 +62,7 @@ EXTRA_OECONF = "--sysconfdir=${sysconfdir}/quagga \ --enable-exampledir=${docdir}/quagga/examples/ \ --enable-vtysh \ --enable-isisd \ - --enable-watchquagga \ + ${@base_contains('DISTRO_FEATURES', 'sysvinit', '--enable-watchquagga', '--disable-watchquagga', d)} \ --enable-ospf-te \ --enable-opaque-lsa \ --enable-ipv6 \ @@ -135,6 +135,7 @@ do_install () { # Remove sysinit script if sysvinit is not in DISTRO_FEATURES if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}; then rm -rf ${D}${sysconfdir}/init.d/ + rm -f ${D}${sysconfdir}/default/watchquagga fi install -d ${D}${systemd_unitdir}/system @@ -160,7 +161,7 @@ pkg_postinst_${PN} () { # Split into a main package and separate per-protocol packages PACKAGE_BEFORE_PN = "${PN}-ospfd ${PN}-ospf6d ${PN}-babeld ${PN}-bgpd \ ${PN}-ripd ${PN}-ripngd ${PN}-isisd \ - ${PN}-ospfclient ${PN}-watchquagga" + ${PN}-ospfclient ${@base_contains('DISTRO_FEATURES', 'sysvinit', '${PN}-watchquagga', '', d)}" RDEPENDS_${PN} += "${PN}-babeld ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd" diff --git a/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng/Modify-configure.in-and-etc-Makefile.am.patch b/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng/Modify-configure.in-and-etc-Makefile.am.patch new file mode 100644 index 0000000000..ecc2d74e74 --- /dev/null +++ b/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng/Modify-configure.in-and-etc-Makefile.am.patch @@ -0,0 +1,84 @@ +From 45b97b474ce2d0ad56828db11edde8562bb47a43 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 2 Dec 2014 02:33:53 +0900 +Subject: [PATCH] Modify configure.in and etc/Makefile.am + +this patch is from Fedora to fix error: +"conftest.c:26:9: error: unknown type name 'not'" + +Upstream-Status: pending + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + configure.in | 6 +++++- + etc/Makefile.am | 9 ++++++--- + etc/radiusclient.conf.in | 2 +- + 3 files changed, 12 insertions(+), 5 deletions(-) + +diff --git a/configure.in b/configure.in +index 812f640..3a8af99 100644 +--- a/configure.in ++++ b/configure.in +@@ -29,6 +29,9 @@ AC_SUBST(LIBVERSION) + pkgsysconfdir=${sysconfdir}/$PACKAGE + AC_SUBST(pkgsysconfdir) + ++pkgdatadir=${datadir}/$PACKAGE ++AC_SUBST(pkgdatadir) ++ + AC_PROG_LIBTOOL + + AC_PROG_CC +@@ -118,7 +121,8 @@ then + ], + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_STRUCT_UTSNAME_DOMAINNAME), +- AC_MSG_RESULT(no) ++ AC_MSG_RESULT(no), ++ AC_MSG_RESULT(assume no), + ) + fi + +diff --git a/etc/Makefile.am b/etc/Makefile.am +index 39b6975..a3c403f 100644 +--- a/etc/Makefile.am ++++ b/etc/Makefile.am +@@ -14,9 +14,11 @@ CLEANFILES = *~ radiusclient.conf + + sbindir = @sbindir@ + pkgsysconfdir = @pkgsysconfdir@ +-pkgsysconf_DATA = issue port-id-map radiusclient.conf \ +- dictionary dictionary.ascend dictionary.compat dictionary.merit \ +- dictionary.sip ++pkgsysconf_DATA = issue port-id-map radiusclient.conf ++ ++pkgdatadir = @pkgdatadir@ ++pkgdata_DATA = dictionary dictionary.ascend dictionary.compat \ ++ dictionary.merit dictionary.sip + + EXTRA_DIST = issue port-id-map dictionary dictionary.ascend \ + dictionary.compat dictionary.merit servers radiusclient.conf.in \ +@@ -25,6 +27,7 @@ EXTRA_DIST = issue port-id-map dictionary dictionary.ascend \ + radiusclient.conf: radiusclient.conf.in + sed -e 's|@sbin''dir@|$(sbindir)|g' \ + -e 's|@pkgsysconf''dir@|$(pkgsysconfdir)|g' \ ++ -e 's|@pkgdata''dir@|$(pkgdatadir)|g' \ + <$(srcdir)/radiusclient.conf.in >radiusclient.conf + + install-data-local: servers +diff --git a/etc/radiusclient.conf.in b/etc/radiusclient.conf.in +index 948bc2f..aac9973 100644 +--- a/etc/radiusclient.conf.in ++++ b/etc/radiusclient.conf.in +@@ -47,7 +47,7 @@ servers @pkgsysconfdir@/servers + + # dictionary of allowed attributes and values + # just like in the normal RADIUS distributions +-dictionary @pkgsysconfdir@/dictionary ++dictionary @pkgdatadir@/dictionary + + # program to call for a RADIUS authenticated login + login_radius @sbindir@/login.radius +-- +1.8.4.2 + diff --git a/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng/config-site.radiusclient-ng-0.5.6 b/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng/config-site.radiusclient-ng-0.5.6 new file mode 100644 index 0000000000..a30c144b9d --- /dev/null +++ b/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng/config-site.radiusclient-ng-0.5.6 @@ -0,0 +1 @@ +ac_cv_func_uname=no diff --git a/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng_0.5.6.bb b/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng_0.5.6.bb new file mode 100644 index 0000000000..2350d4f88b --- /dev/null +++ b/meta-networking/recipes-protocols/radiusclient-ng/radiusclient-ng_0.5.6.bb @@ -0,0 +1,36 @@ +SUMMARY = "RADIUS protocol client library" +DESCRIPTION = "Portable, easy-to-use and standard compliant library suitable \ +for developing free and commercial software that need support for a RADIUS \ +protocol (RFCs 2128 and 2139)." +HOMEPAGE = "http://sourceforge.net/projects/radiusclient-ng.berlios/" +SECTION = "Applications/Internet" + +SRC_URI = "${DEBIAN_MIRROR}/main/r/${BPN}/${BPN}_${PV}.orig.tar.gz \ + file://Modify-configure.in-and-etc-Makefile.am.patch \ + file://config-site.radiusclient-ng-${PV}" + +SRC_URI[md5sum] = "6fb7d4d0aefafaee7385831ac46a8e9c" +SRC_URI[sha256sum] = "282a9f1355f190efbb06c0d7c4e062eaa652caf342ed3ad361ac595f72f09f14" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3e47566c9271b786693d8a08792dbf41" + +inherit autotools-brokensep + +EXTRA_OECONF += "--disable-static" + +do_configure_prepend () { + export CONFIG_SITE=./config-site.${P} +} + +do_compile_prepend() { + for m in `find . -name "Makefile"` ; do + sed -i -e 's:^program_transform_name =.*:program_transform_name =:g' ${m} + done +} + +do_install() { + oe_runmake DESTDIR=${D} install + rm -f ${D}${libdir}/*.la + rm -f ${D}${sbindir}/radexample +} diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq_2.71.bb b/meta-networking/recipes-support/dnsmasq/dnsmasq_2.71.bb deleted file mode 100644 index ccc567e7fa..0000000000 --- a/meta-networking/recipes-support/dnsmasq/dnsmasq_2.71.bb +++ /dev/null @@ -1,10 +0,0 @@ -require dnsmasq.inc - -SRC_URI += "\ - file://parallel-make.patch \ - file://lua.patch \ -" - -SRC_URI[dnsmasq-2.71.md5sum] = "15a68f7f6cc0119e843f67d2f79598f1" -SRC_URI[dnsmasq-2.71.sha256sum] = "7d8c64f66a396442e01b639df3ea6b4e02ba88cbe206c80be8de68b6841634c4" - diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq_2.72.bb b/meta-networking/recipes-support/dnsmasq/dnsmasq_2.72.bb new file mode 100644 index 0000000000..bd5919492e --- /dev/null +++ b/meta-networking/recipes-support/dnsmasq/dnsmasq_2.72.bb @@ -0,0 +1,10 @@ +require dnsmasq.inc + +SRC_URI += "\ + file://parallel-make.patch \ + file://lua.patch \ +" + +SRC_URI[dnsmasq-2.72.md5sum] = "cf82f81cf09ad3d47612985012240483" +SRC_URI[dnsmasq-2.72.sha256sum] = "635f1b47417d17cf32e45cfcfd0213ac39fd09918479a25373ba9b2ce4adc05d" + diff --git a/meta-networking/recipes-support/dnssec-conf/dnssec-conf_2.02.bb b/meta-networking/recipes-support/dnssec-conf/dnssec-conf_2.02.bb new file mode 100644 index 0000000000..6a50971e83 --- /dev/null +++ b/meta-networking/recipes-support/dnssec-conf/dnssec-conf_2.02.bb @@ -0,0 +1,35 @@ +SUMMARY = "DNSSEC and DLV configuration and priming tool" +DESCRIPTION = "\ +DNSSEC configuration and priming tool. Keys are required until the root \ +is signed, as well as for local unpublished DNSSEC keys to be preloaded \ +into the recursive nameserver. These DNSSEC configuration files can be \ +directly included in the bind or unbound nameserver configuration files. \ +dnssec-conf includes a commandline configuration client for Bind and \ +Unbound, known DNSSEC keys, URL's to official publication pages of keys, \ +and harvested keys, as well a script to harvest DNSKEY's from DNS. \ +See also: system-config-dnssec" +HOMEPAGE = "https://github.com/xelerance/dnssec-conf" +SECTION = "System Environment/Daemons" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0636e73ff0215e8d672dc4c32c317bb3" +DEPENDS += "xmlto-native docbook-xml-dtd4-native \ + docbook-xsl-stylesheets-native libxslt-native" + +SRC_URI = "git://github.com/xelerance/dnssec-conf.git" +SRCREV = "8e799683736b4a7b5e5e78f98fba0a6f48393537" + +S = "${WORKDIR}/git" + +do_install () { + rm -rf ${D} + make PREFIX=${prefix} DESTDIR=${D} ETCDIR=${D}${sysconfdir} install + # We no longer ship trust anchors. Most of these are in the DLV Registry now. + # and it prevents the problem of shipping outdated trust anchors. + # For DLV, we ship the ISC DLV Registry key + rm -rf ${D}${sysconfdir}/pki/dnssec-keys/harvest/* + rm -rf ${D}${sysconfdir}/pki/dnssec-keys/production/reverse/* + install -d -m 0755 ${D}${sysconfdir}/sysconfig + install -m 0644 packaging/fedora/dnssec.sysconfig ${D}${sysconfdir}/sysconfig/dnssec +} + +RDEPENDS_${PN} = "python" diff --git a/meta-networking/recipes-support/drbd/drbd/drbd.service b/meta-networking/recipes-support/drbd/drbd/drbd.service new file mode 100644 index 0000000000..3543999976 --- /dev/null +++ b/meta-networking/recipes-support/drbd/drbd/drbd.service @@ -0,0 +1,12 @@ +[Unit] +Description=DRBD Service +After=network.target + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=@LIBEXECDIR@/drbd-helper start +ExecStop=@LIBEXECDIR@/drbd-helper stop + +[Install] +WantedBy=multi-user.target diff --git a/meta-networking/recipes-support/drbd/drbd_8.4.4.bb b/meta-networking/recipes-support/drbd/drbd_8.4.4.bb new file mode 100644 index 0000000000..491f05a592 --- /dev/null +++ b/meta-networking/recipes-support/drbd/drbd_8.4.4.bb @@ -0,0 +1,51 @@ +SUMMARY = "Distributed block device driver for Linux" +DESCRIPTION = "DRBD mirrors a block device over the network to another machine.\ +DRBD mirrors a block device over the network to another machine.\ +Think of it as networked raid 1. It is a building block for\ +setting up high availability (HA) clusters." +HOMEPAGE = "http://www.drbd.org/" +SECTION = "kernel/userland" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018" + +SRC_URI = "http://oss.linbit.com/${BPN}/8.4/${BPN}-${PV}.tar.gz \ + file://drbd.service \ + " +SRC_URI[md5sum] = "b51815343c1a9151e2936b3b97520388" +SRC_URI[sha256sum] = "a056219c5c23b079c3354179f7a1b9f55d47e573a4cd3178f2ef4c15604288f0" + +SYSTEMD_SERVICE_${PN} = "drbd.service" +SYSTEMD_AUTO_ENABLE = "disable" + +inherit autotools-brokensep systemd + +EXTRA_OECONF = "--with-utils \ + --without-km \ + --with-initdir=/etc/init.d \ + --without-pacemaker \ + --without-rgmanager \ + --without-bashcompletion \ + --with-distro debian \ + " + +do_configure (){ + oe_runconf +} + +do_install_append() { + if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}/${systemd_unitdir}/system + install -m 644 ${WORKDIR}/drbd.service ${D}/${systemd_unitdir}/system + install -d ${D}/${libexecdir} + install -m 755 ${D}/${sysconfdir}/init.d/drbd ${D}/${libexecdir}/drbd-helper + + sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' \ + ${D}${systemd_unitdir}/system/drbd.service + fi +} + +RDEPENDS_${PN} += "bash perl" + +FILES_${PN} += "/run" +FILES_${PN} += "${base_libdir}/drbd" +FILES_${PN}-dbg += "${base_libdir}/drbd/.debug" diff --git a/meta-networking/recipes-support/esmtp/esmtp_1.2.bb b/meta-networking/recipes-support/esmtp/esmtp_1.2.bb new file mode 100644 index 0000000000..69bdaf9943 --- /dev/null +++ b/meta-networking/recipes-support/esmtp/esmtp_1.2.bb @@ -0,0 +1,40 @@ +SUMMARY = "User configurable send-only Mail Transfer Agent" +DESCRIPTION = "ESMTP is a user-configurable relay-only MTA \ +with a sendmail-compatible syntax, based on libESMTP and \ +supporting the AUTH (including the CRAM-MD5 and NTLM SASL \ +mechanisms) and StartTLS SMTP extensions." +HOMEPAGE = "http://esmtp.sourceforge.net/" +SECTION = "console/network" + +DEPENDS = "libesmtp" + +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${PV}/${BPN}-${PV}.tar.bz2" + +# Have to set this or we get -L/lib in LDFLAGS +EXTRA_OECONF = "--with-libesmtp=${STAGING_EXECPREFIXDIR}" + +inherit autotools update-alternatives + +ALTERNATIVE_${PN} = "sbinsendmail libsendmail" + +ALTERNATIVE_LINK_NAME[sbinsendmail] = "${sbindir}/sendmail" +ALTERNATIVE_TARGET[sbinsendmail] = "${bindir}/esmtp" +ALTERNATIVE_LINK_NAME[libsendmail] = "${libdir}/sendmail" +ALTERNATIVE_TARGET[libsendmail] = "${bindir}/esmtp" +ALTERNATIVE_PRIORITY = "10" + +SRC_URI[md5sum] = "79a9c1f9023d53f35bb82bf446150a72" +SRC_URI[sha256sum] = "a0d26931bf731f97514da266d079d8bc7d73c65b3499ed080576ab606b21c0ce" + +FILES_${PN} += "${libdir}/" + +# The sysroot/${libdir}/sendmail conflicts with lsb's, and it's a +# symlink to ${bindir}/esmtp which is meaningless for sysroot, so +# remove it. +SYSROOT_PREPROCESS_FUNCS += "remove_sysroot_sendmail" +remove_sysroot_sendmail() { + rm -r "${SYSROOT_DESTDIR}${libdir}/sendmail" +} diff --git a/meta-networking/recipes-support/geoip/geoip-perl/run-ptest b/meta-networking/recipes-support/geoip/geoip-perl/run-ptest new file mode 100644 index 0000000000..5404c247bd --- /dev/null +++ b/meta-networking/recipes-support/geoip/geoip-perl/run-ptest @@ -0,0 +1,15 @@ +#!/bin/sh + +# The tests contain hard-coded relative paths and must be +# executed from $pdir. +# +pdir=`dirname $0` +cd ${pdir} +for i in t/*.t ; do + perl ${i} 1>/dev/null 2>&1; + if [ $? == 0 ]; then + echo PASS: $i; + else + echo FAIL: $i; + fi; +done diff --git a/meta-networking/recipes-support/geoip/geoip-perl_1.45.bb b/meta-networking/recipes-support/geoip/geoip-perl_1.45.bb new file mode 100644 index 0000000000..177841298c --- /dev/null +++ b/meta-networking/recipes-support/geoip/geoip-perl_1.45.bb @@ -0,0 +1,40 @@ +# +# Copyright (C) 2014, 2015 Wind River Systems, Inc. +# Released under the MIT license (see COPYING.MIT for the terms) +# +SUMMARY = "GeoIP perl API library to access location database" +DESCRIPTION = "perl library for country/city/organization to IP address or hostname mapping" +HOMEPAGE = "http://www.maxmind.com/app/ip-location" +SECTION = "network" +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://README;md5=b0fa745303912bd2d64430f7ae69487d" + +# Note that we do not want to use the upstream file name locally. +# +SRC_URI = "http://github.com/maxmind/geoip-api-perl/archive/v${PV}.tar.gz;downloadfilename=${BPN}-${PV}.tar.gz \ + file://run-ptest \ + " + +SRC_URI[md5sum] = "0ce57140890bf81958e0cea4fe1885b2" +SRC_URI[sha256sum] = "c56437b1cc8887736cb1e435d0320c1c1ff3754830249516317b99137005fb23" + +S = "${WORKDIR}/geoip-api-perl-${PV}" + +DEPENDS += "geoip" + +inherit cpan ptest + +EXTRA_CPANFLAGS = "LIBS='-L${STAGING_LIBDIR}' INC='-I${STAGING_INCDIR}'" + + +# perl scripts and some special small data files +# +do_install_ptest () { + install -d -m 0755 ${D}${PTEST_PATH}/t/data + + install ${S}/t/*.t* ${D}${PTEST_PATH}/t + install ${S}/t/data/* ${D}${PTEST_PATH}/t/data +} + +FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/Geo/IP/.debug" + diff --git a/meta-networking/recipes-support/geoip/geoip_1.6.0.bb b/meta-networking/recipes-support/geoip/geoip_1.6.0.bb new file mode 100644 index 0000000000..65e8362b7b --- /dev/null +++ b/meta-networking/recipes-support/geoip/geoip_1.6.0.bb @@ -0,0 +1,58 @@ +SUMMARY = "C library for country/city/organization to IP address or hostname mapping" +DESCRIPTION = "GeoIP is a C library that enables the user to find the country that any IP \ +address or hostname originates from. It uses a file based database that is \ +accurate as of March 2003. This database simply contains IP blocks as keys, and \ +countries as values. This database should be more complete and accurate than \ +using reverse DNS lookups." + +HOMEPAGE = "http://dev.maxmind.com/geoip/" +SECTION = "Development/Libraries" + +SRC_URI = "http://www.maxmind.com/download/geoip/api/c/GeoIP-1.6.0.tar.gz;name=tarball \ + http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz;apply=no;name=GeoIP-dat \ + http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz;apply=no;name=GeoIPv6-dat \ + http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz;apply=no;name=GeoLiteCity-dat \ + http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz;apply=no;name=GeoLiteCityv6-dat \ +" + +SRC_URI[tarball.md5sum] = "89f4cdfdab43f1d67364cd7c85bbe8ca" +SRC_URI[tarball.sha256sum] = "075a0c2815cd099e9ec35c9569db716a3fefcdbb6a10dbfa1ce7c6cd48d4a635" + +SRC_URI[GeoIP-dat.md5sum] = "4bc1e8280fe2db0adc3fe48663b8926e" +SRC_URI[GeoIP-dat.sha256sum] = "7fd7e4829aaaae2677a7975eeecd170134195e5b7e6fc7d30bf3caf34db41bcd" + +SRC_URI[GeoIPv6-dat.md5sum] = "aac7e6e9b141de80934ecee52daf7f56" +SRC_URI[GeoIPv6-dat.sha256sum] = "126fd2953eb193e60538e30b4465610530383f7a782745cacdca5ba6825f471c" + +SRC_URI[GeoLiteCity-dat.md5sum] = "15a42c684c53d2309e6632a6d6e02531" +SRC_URI[GeoLiteCity-dat.sha256sum] = "5ec02a6d39d545c77ec12cc30c6a8856883d8f55522fc5cd4f25af80163c6b3c" + +SRC_URI[GeoLiteCityv6-dat.md5sum] = "49d6ec946fa0a2575b5112a68d71f933" +SRC_URI[GeoLiteCityv6-dat.sha256sum] = "7a345e6cf0e59f8ab589ff15020241f0b03342dd04cc584f814c4f4700d49405" + + +LICENSE = "LGPL-2.1" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d5d53d6b948c064f4070183180a4fa89 \ + file://LICENSE;md5=f04db71812ba70aaba8b38da91984cd2 " + +S = "${WORKDIR}/GeoIP-1.6.0" + +inherit autotools + +EXTRA_OECONF = "--disable-static \ + --disable-dependency-tracking " + +do_install() { + make DESTDIR=${D} install + install -d ${D}/${datadir}/GeoIP + install ${WORKDIR}/GeoIP.dat ${D}/${datadir}/GeoIP/ + install ${WORKDIR}/GeoIPv6.dat ${D}/${datadir}/GeoIP/ + install ${WORKDIR}/GeoLiteCity.dat ${D}/${datadir}/GeoIP/ + install ${WORKDIR}/GeoLiteCityv6.dat ${D}/${datadir}/GeoIP/ +} + +PACKAGES =+ "${PN}-database" +FILES_${PN}-database = "" +FILES_${PN}-database += "${datadir}/GeoIP/*" + diff --git a/meta-networking/recipes-support/geoip/geoipupdate-2.1.0/GeoIP.conf b/meta-networking/recipes-support/geoip/geoipupdate-2.1.0/GeoIP.conf new file mode 100644 index 0000000000..134cfed1f5 --- /dev/null +++ b/meta-networking/recipes-support/geoip/geoipupdate-2.1.0/GeoIP.conf @@ -0,0 +1,11 @@ +# The following UserId and LicenseKey are required placeholders: +UserId 999999 +LicenseKey 000000000000 + +# Include one or more of the following ProductIds: +# * GeoLite2-City - GeoLite 2 City +# * GeoLite2-Country - GeoLite2 Country +# * 506 - GeoLite Legacy Country +# * 517 - GeoLite Legacy ASN +# * 533 - GeoLite Legacy City +ProductIds GeoLite2-City GeoLite2-Country 506 517 533 diff --git a/meta-networking/recipes-support/geoip/geoipupdate-2.1.0/geoipupdate.cron b/meta-networking/recipes-support/geoip/geoipupdate-2.1.0/geoipupdate.cron new file mode 100644 index 0000000000..40597a856e --- /dev/null +++ b/meta-networking/recipes-support/geoip/geoipupdate-2.1.0/geoipupdate.cron @@ -0,0 +1,5 @@ +# top of crontab +MAILTO=your@email.com + +32 11 * * 4 /usr/local/bin/geoipupdate +# end of crontab diff --git a/meta-networking/recipes-support/geoip/geoipupdate_2.1.0.bb b/meta-networking/recipes-support/geoip/geoipupdate_2.1.0.bb new file mode 100644 index 0000000000..851ad414d4 --- /dev/null +++ b/meta-networking/recipes-support/geoip/geoipupdate_2.1.0.bb @@ -0,0 +1,30 @@ +SUMMARY = "Crontab entry to provide weekly updates of the GeoIP free databases." +DESCRIPTION = "update databases for GeoIP" + +HOMEPAGE = "http://dev.maxmind.com/geoip/" +SECTION = "Development" + +DEPENDS = "zlib curl" + +SRC_URI = "https://github.com/maxmind/geoipupdate/releases/download/v2.1.0/geoipupdate-2.1.0.tar.gz \ + file://GeoIP.conf \ + file://geoipupdate.cron \ + " + +SRC_URI[md5sum] = "9107d082f15c8e482f4b6f1080e7deaf" +SRC_URI[sha256sum] = "7388c46f6c483ae609e5f5333a2585bc9713d56bb522da5c11b09d41c87aa5fb" + +LICENSE = "GPLv2" + +LIC_FILES_CHKSUM = "\ +file://ChangeLog.md;md5=25f3500fad03ad7e6bf135b29c9c7c2d \ +" + +inherit autotools + +do_install_append() { + install -d ${D}/${sysconfdir} + install -d ${D}/${sysconfdir}/cron.d + install ${WORKDIR}/GeoIP.conf ${D}/${sysconfdir}/ + install ${WORKDIR}/geoipupdate.cron ${D}/${sysconfdir}/cron.d/ +} diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf new file mode 100644 index 0000000000..6b507508b1 --- /dev/null +++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf @@ -0,0 +1,8 @@ +# Defaults for racoon service +# sourced by racoon.service +# installed at /etc/default/racoon by the maintainer scripts +# +# This is a POSIX shell fragment +# +# Arguments to pass to racoon +RACOON_ARGS="" diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf.sample b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf.sample new file mode 100644 index 0000000000..2948a4a35b --- /dev/null +++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.conf.sample @@ -0,0 +1,40 @@ +# +# NOTE: This file will not be used if you use racoon-tool(8) to manage your +# IPsec connections. racoon-tool will process racoon-tool.conf(5) and +# generate a configuration (/var/lib/racoon/racoon.conf) and use it, instead +# of this file. +# +# Simple racoon.conf +# +# +# Please look in /usr/share/doc/racoon/examples for +# examples that come with the source. +# +# Please read racoon.conf(5) for details, and alsoread setkey(8). +# +# +# Also read the Linux IPSEC Howto up at +# http://www.ipsec-howto.org/t1.html +# +log notify; +path pre_shared_key "/etc/racoon/psk.txt"; +path certificate "/etc/racoon/certs"; + +#remote 172.31.1.1 { +# exchange_mode main,aggressive; +# proposal { +# encryption_algorithm 3des; +# hash_algorithm sha1; +# authentication_method pre_shared_key; +# dh_group modp1024; +# } +# generate_policy off; +#} +# +#sainfo address 192.168.203.10[any] any address 192.168.22.0/24[any] any { +# pfs_group modp768; +# encryption_algorithm 3des; +# authentication_algorithm hmac_md5; +# compression_algorithm deflate; +#} + diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.service b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.service new file mode 100644 index 0000000000..a10e770279 --- /dev/null +++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon.service @@ -0,0 +1,11 @@ +[Unit] +Description=Racoon IKEv1 key management daemon for IPSEC +After=syslog.target network.target + +[Service] +Type=forking +EnvironmentFile=-@SYSCONFDIR@/default/racoon +ExecStart=@SBINDIR@/racoon $RACOON_ARGS + +[Install] +WantedBy=multi-user.target diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb b/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb index 8cc55ef8a3..9704b138c7 100644 --- a/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb +++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb @@ -15,11 +15,14 @@ SRC_URI = "ftp://ftp.netbsd.org/pub/NetBSD/misc/ipsec-tools/0.8/ipsec-tools-${PV file://racoon-check-invalid-ivm.patch \ file://glibc-2.20.patch \ file://racoon-Resend-UPDATE-message-when-received-EINTR-message.patch \ + file://racoon.conf.sample \ + file://racoon.conf \ + file://racoon.service \ " SRC_URI[md5sum] = "d53ec14a0a3ece64e09e5e34b3350b41" SRC_URI[sha256sum] = "8eb6b38716e2f3a8a72f1f549c9444c2bc28d52c9536792690564c74fe722f2d" -inherit autotools +inherit autotools systemd # Options: # --enable-adminport enable admin port @@ -54,6 +57,7 @@ EXTRA_OECONF = "--with-kernel-headers=${STAGING_INCDIR} \ --enable-shared \ --enable-dpd \ --enable-natt=yes \ + --sysconfdir=${sysconfdir}/racoon \ ${@base_contains('DISTRO_FEATURES', 'ipv6', '--enable-ipv6=yes', '', d)}" # See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=530527 @@ -62,3 +66,19 @@ CFLAGS += "-fno-strict-aliasing" PACKAGECONFIG ??= "" PACKAGECONFIG[pam] = "--with-libpam,--without-libpam,libpam," PACKAGECONFIG[selinux] = "--enable-security-context,--disable-security-context,libselinux," + +do_install_append() { + install -d ${D}${sysconfdir}/racoon + install -m 0644 ${WORKDIR}/racoon.conf.sample ${D}${sysconfdir}/racoon/racoon.conf + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/racoon.service ${D}${systemd_unitdir}/system + + sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/racoon.service + sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/racoon.service + + install -d ${D}${sysconfdir}/default/ + install -m 0644 ${WORKDIR}/racoon.conf ${D}${sysconfdir}/default/racoon + fi +} diff --git a/meta-networking/recipes-support/libesmtp/libesmtp/include-topdir.patch b/meta-networking/recipes-support/libesmtp/libesmtp/include-topdir.patch new file mode 100644 index 0000000000..90c4ce75e1 --- /dev/null +++ b/meta-networking/recipes-support/libesmtp/libesmtp/include-topdir.patch @@ -0,0 +1,48 @@ +diff -Nurp libesmtp-1.0.6.org/crammd5/Makefile.am libesmtp-1.0.6/crammd5/Makefile.am +--- libesmtp-1.0.6.org/crammd5/Makefile.am 2010-08-08 23:45:57.000000000 +0800 ++++ libesmtp-1.0.6/crammd5/Makefile.am 2014-11-17 11:17:21.663624295 +0800 +@@ -2,7 +2,7 @@ + + libdir = @plugindir@ + +-INCLUDES = -I@srcdir@ ++INCLUDES = -I@srcdir@ -I@srcdir@/../ + AM_CFLAGS = @CFLAGS@ @EXTRA_CFLAGS@ + + lib_LTLIBRARIES = sasl-cram-md5.la +diff -Nurp libesmtp-1.0.6.org/login/Makefile.am libesmtp-1.0.6/login/Makefile.am +--- libesmtp-1.0.6.org/login/Makefile.am 2010-08-08 23:45:56.000000000 +0800 ++++ libesmtp-1.0.6/login/Makefile.am 2014-11-17 11:17:54.339623018 +0800 +@@ -2,7 +2,7 @@ + + libdir = @plugindir@ + +-INCLUDES = -I@srcdir@ ++INCLUDES = -I@srcdir@ -I@srcdir@/../ + + lib_LTLIBRARIES = sasl-login.la + AM_CFLAGS = @CFLAGS@ @EXTRA_CFLAGS@ +diff -Nurp libesmtp-1.0.6.org/ntlm/Makefile.am libesmtp-1.0.6/ntlm/Makefile.am +--- libesmtp-1.0.6.org/ntlm/Makefile.am 2010-08-08 23:45:56.000000000 +0800 ++++ libesmtp-1.0.6/ntlm/Makefile.am 2014-11-17 11:18:10.551622385 +0800 +@@ -2,7 +2,7 @@ + + libdir = @plugindir@ + +-INCLUDES = -I@srcdir@ ++INCLUDES = -I@srcdir@ -I@srcdir@/../ + AM_CFLAGS = @CFLAGS@ @EXTRA_CFLAGS@ + + lib_LTLIBRARIES = sasl-ntlm.la +diff -Nurp libesmtp-1.0.6.org/plain/Makefile.am libesmtp-1.0.6/plain/Makefile.am +--- libesmtp-1.0.6.org/plain/Makefile.am 2010-08-08 23:45:54.000000000 +0800 ++++ libesmtp-1.0.6/plain/Makefile.am 2014-11-17 11:18:33.355621494 +0800 +@@ -2,7 +2,7 @@ + + libdir = @plugindir@ + +-INCLUDES = -I@srcdir@ ++INCLUDES = -I@srcdir@ -I@srcdir@/../ + AM_CFLAGS = @CFLAGS@ @EXTRA_CFLAGS@ + + lib_LTLIBRARIES = sasl-plain.la diff --git a/meta-networking/recipes-support/libesmtp/libesmtp_1.0.6.bb b/meta-networking/recipes-support/libesmtp/libesmtp_1.0.6.bb new file mode 100644 index 0000000000..8b2b99f1fc --- /dev/null +++ b/meta-networking/recipes-support/libesmtp/libesmtp_1.0.6.bb @@ -0,0 +1,36 @@ +SUMMARY = "SMTP client library" +DESCRIPTION = "LibESMTP is a library to manage posting \ +(or submission of) electronic mail using SMTP to a \ +preconfigured Mail Transport Agent (MTA) such as Exim or PostFix." +HOMEPAGE = "http://www.stafford.uklinux.net/libesmtp/" +LICENSE = "LGPLv2+" +SECTION = "libs/network" + +DEPENDS = "openssl" + +SRC_URI = "http://www.stafford.uklinux.net/libesmtp/libesmtp-${PV}.tar.bz2 \ + file://include-topdir.patch" +SRC_URI[md5sum] = "bf3915e627fd8f35524a8fdfeed979c8" +SRC_URI[sha256sum] = "d0a61a5c52d99fa7ce7d00ed0a07e341dbda67101dbed1ab0cdae3f37db4eb0b" + +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06" + +inherit autotools binconfig + +EXTRA_OECONF = " \ + --with-auth-plugin-dir=${libdir}/esmtp-plugins \ + --enable-pthreads \ + --enable-debug \ + --enable-etrn \ + --disable-isoc \ + --disable-more-warnings \ + --disable-static \ +" + +FILES_${PN} = "${libdir}/lib*${SOLIBS} \ + ${libdir}/esmtp-plugins/*${SOLIBSDEV}" + +FILES_${PN}-dev += "${libdir}/esmtp-plugins/*.la" +FILES_${PN}-static += "${libdir}/esmtp-plugins/*.a" +FILES_${PN}-dbg += "${libdir}/esmtp-plugins/.debug/" diff --git a/meta-networking/recipes-support/linux-atm/linux-atm/install-from-buildir.patch b/meta-networking/recipes-support/linux-atm/linux-atm/install-from-buildir.patch new file mode 100644 index 0000000000..d1380eb2aa --- /dev/null +++ b/meta-networking/recipes-support/linux-atm/linux-atm/install-from-buildir.patch @@ -0,0 +1,19 @@ +install binaries from builddir not srcdir. + +Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com> + +--- linux-atm-2.5.2.orig/src/extra/Makefile.am 2010-12-21 05:07:22.000000000 +0800 ++++ linux-atm-2.5.2/src/extra/Makefile.am 2014-12-22 10:56:04.458563269 +0800 +@@ -9,9 +9,9 @@ CLEANFILES = pca200e.bin pca200e_ecd.bin + + install-exec-hook: + $(MKDIR_P) $(DESTDIR)/lib/firmware +- $(INSTALL_DATA) $(srcdir)/pca200e.bin $(DESTDIR)/lib/firmware +- $(INSTALL_DATA) $(srcdir)/pca200e_ecd.bin2 $(DESTDIR)/lib/firmware +- $(INSTALL_DATA) $(srcdir)/sba200e_ecd.bin2 $(DESTDIR)/lib/firmware ++ $(INSTALL_DATA) $(builddir)/pca200e.bin $(DESTDIR)/lib/firmware ++ $(INSTALL_DATA) $(builddir)/pca200e_ecd.bin2 $(DESTDIR)/lib/firmware ++ $(INSTALL_DATA) $(builddir)/sba200e_ecd.bin2 $(DESTDIR)/lib/firmware + + %.bin %.bin2: %.data + objcopy -Iihex $< -Obinary $@.gz diff --git a/meta-networking/recipes-support/linux-atm/linux-atm/link-with-ldflags.patch b/meta-networking/recipes-support/linux-atm/linux-atm/link-with-ldflags.patch new file mode 100644 index 0000000000..62fad2a54a --- /dev/null +++ b/meta-networking/recipes-support/linux-atm/linux-atm/link-with-ldflags.patch @@ -0,0 +1,38 @@ +LDFLAGS_FOR_BUILD should be required when doing link for qgen. + +Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com> + +diff -Nurp linux-atm-2.5.2.orig/configure.in linux-atm-2.5.2/configure.in +--- linux-atm-2.5.2.orig/configure.in 2010-12-28 23:36:07.000000000 +0800 ++++ linux-atm-2.5.2/configure.in 2014-12-22 10:25:23.830510932 +0800 +@@ -66,6 +66,7 @@ else + fi + AC_SUBST(CC_FOR_BUILD) + AC_SUBST(CFLAGS_FOR_BUILD) ++AC_SUBST(LDFLAGS_FOR_BUILD) + dnl Add -d flag to bison/yacc to create intermediate .h files + YACC="$YACC -d" + +diff -Nurp linux-atm-2.5.2.orig/src/qgen/Makefile.am linux-atm-2.5.2/src/qgen/Makefile.am +--- linux-atm-2.5.2.orig/src/qgen/Makefile.am 2010-12-28 22:29:31.000000000 +0800 ++++ linux-atm-2.5.2/src/qgen/Makefile.am 2014-12-22 10:23:51.914508318 +0800 +@@ -5,7 +5,7 @@ qgen_SOURCES = common.c common.h file.c + qgen_LDADD = -lfl + + COMPILE = @CC_FOR_BUILD@ @CFLAGS_FOR_BUILD@ +-LINK = @CC_FOR_BUILD@ @CFLAGS_FOR_BUILD@ -o $@ ++LINK = @CC_FOR_BUILD@ @CFLAGS_FOR_BUILD@ @LDFLAGS_FOR_BUILD@ -o $@ + + #TESTS = $(check_PROGRAMS) + +diff -Nurp linux-atm-2.5.2.orig/src/qgen/Makefile.in linux-atm-2.5.2/src/qgen/Makefile.in +--- linux-atm-2.5.2.orig/src/qgen/Makefile.in 2010-12-29 00:06:11.000000000 +0800 ++++ linux-atm-2.5.2/src/qgen/Makefile.in 2014-12-22 10:23:51.914508318 +0800 +@@ -106,6 +106,7 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ + INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LD = @LD@ + LDFLAGS = @LDFLAGS@ ++LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ + LEX = @LEX@ + LEXLIB = @LEXLIB@ + LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ diff --git a/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb b/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb new file mode 100644 index 0000000000..0a9bd8c72b --- /dev/null +++ b/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb @@ -0,0 +1,22 @@ +SUMMARY = "Drivers and tools to support ATM networking under Linux" +HOMEPAGE = "http://linux-atm.sourceforge.net/" +SECTION = "libs" +LICENSE = "GPL-2.0 & LGPL-2.0" + +DEPENDS = "virtual/kernel flex flex-native" + +SRC_URI = "http://nchc.dl.sourceforge.net/project/${BPN}/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ + file://link-with-ldflags.patch \ + file://install-from-buildir.patch" + +SRC_URI[md5sum] = "d49499368c3cf15f73a05d9bce8824a8" +SRC_URI[sha256sum] = "9645481a2b16476b59220aa2d6bc5bc41043f291326c9b37581018fbd16dd53a" + +LIC_FILES_CHKSUM = "\ +file://COPYING;md5=d928de9537d846935a98af3bbc6e6ee1 \ +file://COPYING.GPL;md5=ac2db169b9309e240555bc77be4f1a33 \ +file://COPYING.LGPL;md5=6e29c688d912da12b66b73e32b03d812" + +inherit autotools pkgconfig + +FILES_${PN} += "${base_libdir}/firmware" diff --git a/meta-networking/recipes-support/lksctp-tools/lksctp-tools/run-ptest b/meta-networking/recipes-support/lksctp-tools/lksctp-tools/run-ptest new file mode 100644 index 0000000000..e67f18e55a --- /dev/null +++ b/meta-networking/recipes-support/lksctp-tools/lksctp-tools/run-ptest @@ -0,0 +1,5 @@ +#!/bin/sh + +sh v4test.sh +sh v6test.sh + diff --git a/meta-networking/recipes-support/lksctp-tools/lksctp-tools/v4test.sh b/meta-networking/recipes-support/lksctp-tools/lksctp-tools/v4test.sh new file mode 100644 index 0000000000..5130856999 --- /dev/null +++ b/meta-networking/recipes-support/lksctp-tools/lksctp-tools/v4test.sh @@ -0,0 +1,11 @@ +#!/bin/sh +echo "v4test starting:" +for t in $(find -maxdepth 1 -type f \! -name test\*_v6 -name test\*); do + echo "$t"; + if $t; then + echo "PASS: $t"; echo ""; + else + echo "FAIL: $t"; echo ""; + fi + sleep 1; +done diff --git a/meta-networking/recipes-support/lksctp-tools/lksctp-tools/v6test.sh b/meta-networking/recipes-support/lksctp-tools/lksctp-tools/v6test.sh new file mode 100644 index 0000000000..3a667df820 --- /dev/null +++ b/meta-networking/recipes-support/lksctp-tools/lksctp-tools/v6test.sh @@ -0,0 +1,11 @@ +#!/bin/sh +echo "v6test starting:" +for t in $(find -maxdepth 1 -name test\*_v6); do + echo "$t"; + if $t; then + echo "PASS: $t"; echo ""; + else + echo "FAIL: $t"; echo ""; + fi + sleep 1; +done diff --git a/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.16.bb b/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.16.bb index e2551e1149..c07b3c6e91 100644 --- a/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.16.bb +++ b/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.16.bb @@ -1,13 +1,18 @@ SUMMARY = "The Linux Kernel Stream Control Transmission Protocol (lksctp) project" +HOMEPAGE = "http://lksctp.org" SECTION = "libs" -LICENSE = "LGPLv2" +LICENSE = "LGPLv2.1 & GPLv2" LIC_FILES_CHKSUM = " \ file://COPYING.lib;md5=0a1b79af951c42a9c8573533fbba9a92 \ file://COPYING;md5=0c56db0143f4f80c369ee3af7425af6e \ " -SRC_URI = "${SOURCEFORGE_MIRROR}/lksctp/${BP}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/lksctp/${BP}.tar.gz \ + file://run-ptest \ + file://v4test.sh \ + file://v6test.sh \ + " SRC_URI[md5sum] = "708bb0b5a6806ad6e8d13c55b067518e" SRC_URI[sha256sum] = "0903dd526b7f30a89d5031aa2c82757612becc38ed7bc6e4f972f8deae351f26" @@ -16,13 +21,21 @@ SRC_URI[sha256sum] = "0903dd526b7f30a89d5031aa2c82757612becc38ed7bc6e4f972f8deae #| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.0/ld: error: symbol sctp_connectx has undefined version #| collect2: error: ld returned 1 exit status #| make[4]: *** [libsctp.la] Error 1 -PNBLACKLIST[lksctp-tools] = "BROKEN: fails to link against sctp_connectx symbol" +PNBLACKLIST[lksctp-tools] ?= "${@base_contains('DISTRO_FEATURES', 'ld-is-gold', "BROKEN: fails to link against sctp_connectx symbol", '', d)}" S = "${WORKDIR}/${BP}" BBCLASSEXTEND = "native" -inherit autotools pkgconfig binconfig +inherit autotools pkgconfig binconfig ptest + +do_install_ptest () { + install -m 0755 ${WORKDIR}/v4test.sh ${D}${PTEST_PATH} + install -m 0755 ${WORKDIR}/v6test.sh ${D}${PTEST_PATH} + for testcase in `find ${B}/src/apps/.libs ${B}/src/func_tests/.libs -maxdepth 1 -type f -executable`; do + install $testcase ${D}${PTEST_PATH} + done +} SOLIBVERSION="${PV}" SOLIBMAJORVERSION="1" @@ -31,16 +44,16 @@ PACKAGES =+ "${PN}-withsctp ${PN}-utils" FILES_${PN} = " \ ${libdir}/libsctp.so.${SOLIBVERSION} \ + ${libdir}/libsctp.so.${SOLIBMAJORVERSION} \ " FILES_${PN}-withsctp = " \ ${libdir}/lksctp-tools/libwithsctp.so.${SOLIBVERSION} \ + ${libdir}/lksctp-tools/libwithsctp.so.${SOLIBMAJORVERSION} \ " FILES_${PN}-dev += " \ - ${libdir}/libsctp.so.${SOLIBMAJORVERSION} \ ${libdir}/libsctp.so \ - ${libdir}/lksctp-tools/libwithsctp.so.${SOLIBMAJORVERSION} \ ${libdir}/lksctp-tools/libwithsctp.so \ ${datadir}/lksctp-tools/*.c \ ${datadir}/lksctp-tools/*.h \ diff --git a/meta-networking/recipes-support/mtr/files/configure.patch b/meta-networking/recipes-support/mtr/files/configure.patch deleted file mode 100644 index c978b879ec..0000000000 --- a/meta-networking/recipes-support/mtr/files/configure.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: mtr-0.82/configure.in -=================================================================== ---- mtr-0.82.orig/configure.in 2014-07-16 19:52:56.306026346 +0000 -+++ mtr-0.82/configure.in 2014-07-17 21:59:03.208587150 +0000 -@@ -1,5 +1,5 @@ --AC_INIT(mtr.c) --AM_INIT_AUTOMAKE(mtr, 0.82) -+AC_INIT(mtr.c, 0.82) -+AM_INIT_AUTOMAKE([foreign]) - - - AC_SUBST(GTK_OBJ) diff --git a/meta-networking/recipes-support/mtr/files/no-gtk.patch b/meta-networking/recipes-support/mtr/files/no-gtk.patch deleted file mode 100644 index 0dbeb7a297..0000000000 --- a/meta-networking/recipes-support/mtr/files/no-gtk.patch +++ /dev/null @@ -1,31 +0,0 @@ -Disable gtk check that breaks with current autotools - -Ideally we would have a proper fix for this and send that upstream instead. - -Upstream-Status: Pending - -Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> - -diff --git a/configure.in b/configure.in -index 8474543..5118565 100644 ---- a/configure.in -+++ b/configure.in -@@ -48,16 +48,8 @@ AC_ARG_ENABLE(ipv6, - [ --disable-ipv6 Do not enable IPv6], - WANTS_IPV6=$enableval, WANTS_IPV6=yes) - --if test "x$WANTS_GTK" = "xyes"; then -- AM_PATH_GTK_2_0(2.6.0, CFLAGS="$CFLAGS $GTK_CFLAGS" -- LIBS="$LIBS $GTK_LIBS -lm", -- AC_MSG_WARN(Building without GTK2 display support) -- AC_DEFINE(NO_GTK, 1, [Define if you don't have the GTK+ libraries available.]) -- GTK_OBJ="") --else -- AC_DEFINE(NO_GTK) -- GTK_OBJ="" --fi -+AC_DEFINE(NO_GTK, 1, [Define if you don't have the GTK+ libraries available.]) -+GTK_OBJ="" - - AC_CHECK_FUNC(socket, , - AC_CHECK_LIB(socket, socket, , AC_MSG_ERROR(No socket library found))) diff --git a/meta-networking/recipes-support/mtr/mtr_0.82.bb b/meta-networking/recipes-support/mtr/mtr_0.86.bb index b9a1ea2863..a60bd347e7 100644 --- a/meta-networking/recipes-support/mtr/mtr_0.82.bb +++ b/meta-networking/recipes-support/mtr/mtr_0.86.bb @@ -5,14 +5,12 @@ DEPENDS = "ncurses" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ - file://mtr.c;beginline=5;endline=16;md5=56e390ced194aff352eefab404883057" + file://mtr.c;beginline=5;endline=16;md5=af1fafbbfa1bfd48af839f4bb3221106" -SRC_URI = "ftp://ftp.bitwizard.nl/mtr/mtr-${PV}.tar.gz \ - file://configure.patch \ - file://no-gtk.patch" +SRC_URI = "ftp://ftp.bitwizard.nl/mtr/mtr-${PV}.tar.gz" -SRC_URI[md5sum] = "10601ea543fda3e51545c4bce195b64c" -SRC_URI[sha256sum] = "f3b457c9623ae03565688a7ffd49d4843a5e2505ccaf3ba8d9fbd86e3ce9b6a0" +SRC_URI[md5sum] = "8d63592c9d4579ef20cf491b41843eb2" +SRC_URI[sha256sum] = "c5d948920b641cc35f8b380fc356ddfe07cce6a9c6474afe242fc58113f28c06" inherit autotools diff --git a/meta-networking/recipes-support/nis/files/libdl.patch b/meta-networking/recipes-support/nis/files/libdl.patch deleted file mode 100644 index 605af319f9..0000000000 --- a/meta-networking/recipes-support/nis/files/libdl.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- pwdutils-2.6/configure.in.orig 2005-04-19 20:22:36.603052192 -0700 -+++ pwdutils-2.6/configure.in 2005-04-19 21:09:45.308023672 -0700 -@@ -178,6 +178,9 @@ - AC_CHECK_LIB(ldap, main, LDAP_LIBS="-lldap $LDAP_LIBS" found_ldap_lib=yes,,$LDAP_LIBS) - fi - -+ dnl this always needs dl -+ AC_CHECK_LIB(dl, dlopen, LDAP_LIBS="$LDAP_LIBS -ldl") -+ - if test -z "$found_ldap_lib" -a \( $with_ldap_lib = auto -o $with_ldap_lib = netscape5 \); then - AC_CHECK_LIB(ldap50, main, LDAP_LIBS="-lldap50 -lssldap50 -lssl3 -lnss3 -lnspr4 -lprldap50 -lplc4 -lplds4" found_ldap_lib=yes need_pthread=true,, -lpthread) - fi diff --git a/meta-networking/recipes-support/nis/files/no-selinux.patch b/meta-networking/recipes-support/nis/files/no-selinux.patch deleted file mode 100644 index 71da3e3931..0000000000 --- a/meta-networking/recipes-support/nis/files/no-selinux.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- pwdutils-2.6/lib/copy_xattr.c.orig 2005-04-16 17:15:52.916660880 -0700 -+++ pwdutils-2.6/lib/copy_xattr.c 2005-04-16 17:18:10.345768480 -0700 -@@ -127,8 +127,11 @@ - - if (lsetxattr (to, name, value, size, 0) != 0) - { -- if (strcmp (name, "security.selinux") == 0 && -- is_selinux_enabled() == 0) -+ if (strcmp (name, "security.selinux") == 0 -+#if defined(WITH_SELINUX) -+ && is_selinux_enabled() == 0 -+#endif -+ ) - fprintf (stderr, - _("SELinux not enabled, ignore attribute %s for `%s'.\n"), - name, to); diff --git a/meta-networking/recipes-support/nis/nis.inc b/meta-networking/recipes-support/nis/nis.inc index 075d2756d9..eaff949615 100644 --- a/meta-networking/recipes-support/nis/nis.inc +++ b/meta-networking/recipes-support/nis/nis.inc @@ -7,7 +7,7 @@ DESCRIPTION = "NIS Server and Tools" HOMEPAGE = "http://www.linux-nis.org/nis/" SECTION = "console/network" LICENSE = "GPL-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" inherit autotools gettext pkgconfig diff --git a/meta-networking/recipes-support/nis/yp-tools_2.12.bb b/meta-networking/recipes-support/nis/yp-tools_2.14.bb index 0017845508..8c6837bac9 100644 --- a/meta-networking/recipes-support/nis/yp-tools_2.12.bb +++ b/meta-networking/recipes-support/nis/yp-tools_2.14.bb @@ -1,29 +1,32 @@ # This package builds tools to manage NIS # The source package is utils/net/NIS/yp-tools # -PR = "r3" -DESCRIPTION="\ +require nis.inc + +SUMMARY = "NIS client programs" +DESCRIPTION = " \ Network Information Service tools. \ This package contains ypcat, ypmatch, ypset, \ ypwhich, yppasswd, domainname, nisdomainname \ -and ypdomainname." +and ypdomainname. \ +\ +This is the final IPv4-only version of yp-tools. \ +" -require nis.inc SRC_URI = "http://www.linux-nis.org/download/yp-tools/${BP}.tar.bz2 \ file://domainname.service \ " - -SRC_URI[md5sum] = "ce1e06d86caa285fa8cd76fdf103f51e" -SRC_URI[sha256sum] = "6ae8321666eea7837da343eea90ea30273fb74943ad111d5a4befd2afb252063" - -CACHED_CONFIGUREVARS += "ac_cv_prog_STRIP=/bin/true" +SRC_URI[md5sum] = "ba1f121c17e3ad65368be173b977cd13" +SRC_URI[sha256sum] = "d01f70fadc643a55107a0edc47c6be99d0306bcc4f66df56f65e74238b0124c9" inherit systemd +SYSTEMD_SERVICE_${PN} = "domainname.service" RPROVIDES_${PN} += "${PN}-systemd" RREPLACES_${PN} += "${PN}-systemd" RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "domainname.service" + +CACHED_CONFIGUREVARS += "ac_cv_prog_STRIP=/bin/true" do_install_append() { install -d ${D}${systemd_unitdir}/system diff --git a/meta-networking/recipes-support/nis/ypbind-mt_1.36.bb b/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb index 35ef16a89a..f7e6b43d93 100644 --- a/meta-networking/recipes-support/nis/ypbind-mt_1.36.bb +++ b/meta-networking/recipes-support/nis/ypbind-mt_1.38.bb @@ -1,8 +1,9 @@ # This package builds the NIS ypbind daemon # The source package is utils/net/NIS/ypbind-mt # -PR = "r3" -DESCRIPTION="\ +require nis.inc + +DESCRIPTION = " \ Multithreaded NIS bind service (ypbind-mt). \ ypbind-mt is a complete new implementation of a NIS \ binding daemon for Linux. It has the following \ @@ -11,23 +12,28 @@ Uses threads for better response. Supports multiple \ domain bindings. Supports /var/yp/binding/* file \ for Linux libc 4/5 and glibc 2.x. Supports a list \ of known secure NIS server (/etc/yp.conf) Binds to \ -the server which answered as first." -HOMEPAGE="http://www.linux-nis.org/nis/ypbind-mt/index.html" - -require nis.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=082c9a0886c7c3db1bc862b5b62ffe08" +the server which answered as first. \ +\ +This is the final IPv4-only version of ypbind-mt. \ +" +HOMEPAGE = "http://www.linux-nis.org/nis/ypbind-mt/index.html" +DEPENDS = "yp-tools" +# ypbind-mt now provides all the functionality of ypbind +# and is used in place of it. +PROVIDES += "ypbind" SRC_URI = "http://www.linux-nis.org/download/ypbind-mt/${BP}.tar.bz2 \ file://ypbind-yocto.init \ file://ypbind.service \ " -SRC_URI[md5sum] = "135834db97d78ff6d79fdee2810b4056" -SRC_URI[sha256sum] = "0eff76c1849f4b38ea1a60280d8397c4240369c641fe5402ce57edf1a90958c7" +SRC_URI[md5sum] = "094088c0e282fa7f3b3dd6cc51d0a4e1" +SRC_URI[sha256sum] = "1930ce19f6ccfe10400f3497b31867f71690d2bcd3f5b575199fa915559b7746" -# ypbind-mt now provides all the functionality of ypbind -# and is used in place of it. -PROVIDES += "ypbind" +inherit systemd update-rc.d + +SYSTEMD_SERVICE_${PN} = "ypbind.service" +INITSCRIPT_NAME = "ypbind" +INITSCRIPT_PARAMS = "start 44 3 5 . stop 70 0 1 2 6 ." CACHED_CONFIGUREVARS = "ac_cv_prog_STRIP=/bin/true" @@ -37,16 +43,11 @@ do_install_append () { install -m 0755 ${WORKDIR}/ypbind-yocto.init ${D}${sysconfdir}/init.d/ypbind - # TODO, use update-rc.d - ln -s ../init.d/ypbind ${D}${sysconfdir}/rcS.d/S44ypbind - install -d ${D}${systemd_unitdir}/system install -m 0644 ${WORKDIR}/ypbind.service ${D}${systemd_unitdir}/system } -inherit systemd RPROVIDES_${PN} += "${PN}-systemd" RREPLACES_${PN} += "${PN}-systemd" RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "ypbind.service" diff --git a/meta-networking/recipes-support/ntp/files/CVE-2013-5211.patch b/meta-networking/recipes-support/ntp/files/CVE-2013-5211.patch deleted file mode 100644 index ddcb044e60..0000000000 --- a/meta-networking/recipes-support/ntp/files/CVE-2013-5211.patch +++ /dev/null @@ -1,112 +0,0 @@ -ntp: fix CVE-2013-5211 - -Upstream-status: Backport - -The monlist feature in ntp_request.c in ntpd in NTP before -4.2.7p26 allows remote attackers to cause a denial of service -(traffic amplification) via forged (1) REQ_MON_GETLIST or -(2) REQ_MON_GETLIST_1 requests, as exploited in the wild -in December 2013. - -Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com> - ---- a/ntpd/ntp_request.c -+++ b/ntpd/ntp_request.c -@@ -1912,44 +1912,11 @@ mon_getlist_0( - struct req_pkt *inpkt - ) - { -- register struct info_monitor *im; -- register struct mon_data *md; -- extern struct mon_data mon_mru_list; -- extern int mon_enabled; -- - #ifdef DEBUG - if (debug > 2) - printf("wants monitor 0 list\n"); - #endif -- if (!mon_enabled) { -- req_ack(srcadr, inter, inpkt, INFO_ERR_NODATA); -- return; -- } -- im = (struct info_monitor *)prepare_pkt(srcadr, inter, inpkt, -- v6sizeof(struct info_monitor)); -- for (md = mon_mru_list.mru_next; md != &mon_mru_list && im != 0; -- md = md->mru_next) { -- im->lasttime = htonl((u_int32)((current_time - -- md->firsttime) / md->count)); -- im->firsttime = htonl((u_int32)(current_time - md->lasttime)); -- im->restr = htonl((u_int32)md->flags); -- im->count = htonl((u_int32)(md->count)); -- if (IS_IPV6(&md->rmtadr)) { -- if (!client_v6_capable) -- continue; -- im->addr6 = SOCK_ADDR6(&md->rmtadr); -- im->v6_flag = 1; -- } else { -- im->addr = NSRCADR(&md->rmtadr); -- if (client_v6_capable) -- im->v6_flag = 0; -- } -- im->port = md->rmtport; -- im->mode = md->mode; -- im->version = md->version; -- im = (struct info_monitor *)more_pkt(); -- } -- flush_pkt(); -+ req_ack(srcadr, inter, inpkt, INFO_ERR_NODATA); - } - - /* -@@ -1962,50 +1929,7 @@ mon_getlist_1( - struct req_pkt *inpkt - ) - { -- register struct info_monitor_1 *im; -- register struct mon_data *md; -- extern struct mon_data mon_mru_list; -- extern int mon_enabled; -- -- if (!mon_enabled) { -- req_ack(srcadr, inter, inpkt, INFO_ERR_NODATA); -- return; -- } -- im = (struct info_monitor_1 *)prepare_pkt(srcadr, inter, inpkt, -- v6sizeof(struct info_monitor_1)); -- for (md = mon_mru_list.mru_next; md != &mon_mru_list && im != 0; -- md = md->mru_next) { -- im->lasttime = htonl((u_int32)((current_time - -- md->firsttime) / md->count)); -- im->firsttime = htonl((u_int32)(current_time - md->lasttime)); -- im->restr = htonl((u_int32)md->flags); -- im->count = htonl((u_int32)md->count); -- if (IS_IPV6(&md->rmtadr)) { -- if (!client_v6_capable) -- continue; -- im->addr6 = SOCK_ADDR6(&md->rmtadr); -- im->v6_flag = 1; -- im->daddr6 = SOCK_ADDR6(&md->interface->sin); -- } else { -- im->addr = NSRCADR(&md->rmtadr); -- if (client_v6_capable) -- im->v6_flag = 0; -- if (MDF_BCAST == md->cast_flags) -- im->daddr = NSRCADR(&md->interface->bcast); -- else if (md->cast_flags) { -- im->daddr = NSRCADR(&md->interface->sin); -- if (!im->daddr) -- im->daddr = NSRCADR(&md->interface->bcast); -- } else -- im->daddr = 4; -- } -- im->flags = htonl(md->cast_flags); -- im->port = md->rmtport; -- im->mode = md->mode; -- im->version = md->version; -- im = (struct info_monitor_1 *)more_pkt(); -- } -- flush_pkt(); -+ req_ack(srcadr, inter, inpkt, INFO_ERR_NODATA); - } - - /* diff --git a/meta-networking/recipes-support/ntp/files/openssl-check.patch b/meta-networking/recipes-support/ntp/files/openssl-check.patch deleted file mode 100644 index 8b4a6733cd..0000000000 --- a/meta-networking/recipes-support/ntp/files/openssl-check.patch +++ /dev/null @@ -1,59 +0,0 @@ -Hack OpenSSL check to work when libssl and libcrypto aren't in same dir - -Upstream-Status: Inappropriate [config] - -Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> ---- - configure | 4 ++-- - m4/ntp_openssl.m4 | 4 ++-- - sntp/configure | 4 ++-- - 3 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/configure b/configure -index aae2c01..6a3c15e 100755 ---- a/configure -+++ b/configure -@@ -22868,8 +22868,8 @@ case "$ans" in - test -f $i/libcrypto.dylib -a -f $i/libssl.dylib && break - ;; - *) -- test -f $i/libcrypto.so -a -f $i/libssl.so && break -- test -f $i/libcrypto.a -a -f $i/libssl.a && break -+ test -f $i/libssl.so && break -+ test -f $i/libssl.a && break - ;; - esac - done -diff --git a/m4/ntp_openssl.m4 b/m4/ntp_openssl.m4 -index 7d9f477..67bdd55 100644 ---- a/m4/ntp_openssl.m4 -+++ b/m4/ntp_openssl.m4 -@@ -41,8 +41,8 @@ case "$ans" in - test -f $i/libcrypto.dylib -a -f $i/libssl.dylib && break - ;; - *) -- test -f $i/libcrypto.so -a -f $i/libssl.so && break -- test -f $i/libcrypto.a -a -f $i/libssl.a && break -+ test -f $i/libssl.so && break -+ test -f $i/libssl.a && break - ;; - esac - done -diff --git a/sntp/configure b/sntp/configure -index 7782c29..55e82d9 100755 ---- a/sntp/configure -+++ b/sntp/configure -@@ -14810,8 +14810,8 @@ case "$ans" in - test -f $i/libcrypto.dylib -a -f $i/libssl.dylib && break - ;; - *) -- test -f $i/libcrypto.so -a -f $i/libssl.so && break -- test -f $i/libcrypto.a -a -f $i/libssl.a && break -+ test -f $i/libssl.so && break -+ test -f $i/libssl.a && break - ;; - esac - done --- -1.7.1 - diff --git a/meta-networking/recipes-support/ntp/files/tickadj.c.patch b/meta-networking/recipes-support/ntp/files/tickadj.c.patch deleted file mode 100644 index 9ef9de9e1f..0000000000 --- a/meta-networking/recipes-support/ntp/files/tickadj.c.patch +++ /dev/null @@ -1,32 +0,0 @@ -Index: ntp-4.2.2p3-r0/ntp-4.2.2p3/util/tickadj.c -=================================================================== ---- ntp-4.2.2p3/util/tickadj.c 2004-02-25 06:58:33.000000000 +0100 -+++ ntp-4.2.2p3/util/tickadj.c 2007-07-07 01:00:54.000000000 +0200 -@@ -21,7 +21,8 @@ - # include <unistd.h> - #endif /* HAVE_UNISTD_H */ - --#ifdef HAVE___ADJTIMEX /* Linux */ -+/* proper handling here has been moved to upstream ntp bugzilla */ -+#ifdef linux - - #include <sys/timex.h> - struct timex txc; -@@ -91,7 +92,7 @@ - } - - if (!errflg) { -- if (__adjtimex(&txc) < 0) -+ if (adjtimex(&txc) < 0) - perror("adjtimex"); - else if (!quiet) - printf("tick = %ld\ntick_adj = %d\n", -@@ -146,7 +147,7 @@ - #endif - } - -- if (__adjtimex(&txc) < 0) -+ if (adjtimex(&txc) < 0) - { - perror("adjtimex"); - } diff --git a/meta-networking/recipes-support/ntp/files/ntp-4.2.4_p6-nano.patch b/meta-networking/recipes-support/ntp/ntp/ntp-4.2.4_p6-nano.patch index cb1e2f7341..cb1e2f7341 100644 --- a/meta-networking/recipes-support/ntp/files/ntp-4.2.4_p6-nano.patch +++ b/meta-networking/recipes-support/ntp/ntp/ntp-4.2.4_p6-nano.patch diff --git a/meta-networking/recipes-support/ntp/ntp/ntp-4.2.8-ntp-keygen-no-openssl.patch b/meta-networking/recipes-support/ntp/ntp/ntp-4.2.8-ntp-keygen-no-openssl.patch new file mode 100644 index 0000000000..9b9af63ca3 --- /dev/null +++ b/meta-networking/recipes-support/ntp/ntp/ntp-4.2.8-ntp-keygen-no-openssl.patch @@ -0,0 +1,168 @@ +Fix ntp-keygen build without OpenSSL + +Patch borrowed from Gentoo, originally from upstream +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> +Upstream-Status: Backport + +Upstream commit: +http://bk1.ntp.org/ntp-stable/?PAGE=patch&REV=5497b345z5MNTuNvJWuqPSje25NQTg +Gentoo bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=533238 + +Signed-off-by: Markos Chandras <hwoarang@gentoo.org> +Index: ntp-4.2.8/Makefile.am +=================================================================== +--- ntp-4.2.8.orig/Makefile.am ++++ ntp-4.2.8/Makefile.am +@@ -2,7 +2,10 @@ ACLOCAL_AMFLAGS = -I sntp/m4 -I sntp/lib + + NULL = + ++# moved sntp first to get libtool and libevent built. ++ + SUBDIRS = \ ++ sntp \ + scripts \ + include \ + libntp \ +@@ -17,7 +20,6 @@ SUBDIRS = \ + clockstuff \ + kernel \ + util \ +- sntp \ + tests \ + $(NULL) + +@@ -64,7 +66,6 @@ BUILT_SOURCES = \ + .gcc-warning \ + 'libtool \ + html/.datecheck \ +- sntp/built-sources-only \ + $(srcdir)/COPYRIGHT \ + $(srcdir)/.checkChangeLog \ + $(NULL) +Index: ntp-4.2.8/configure.ac +=================================================================== +--- ntp-4.2.8.orig/configure.ac ++++ ntp-4.2.8/configure.ac +@@ -102,7 +102,7 @@ esac + enable_nls=no + LIBOPTS_CHECK_NOBUILD([sntp/libopts]) + +-NTP_ENABLE_LOCAL_LIBEVENT ++NTP_LIBEVENT_CHECK_NOBUILD([2], [sntp/libevent]) + + NTP_LIBNTP + +@@ -771,6 +771,10 @@ esac + + #### + ++AC_CHECK_FUNCS([arc4random_buf]) ++ ++#### ++ + saved_LIBS="$LIBS" + LIBS="$LIBS $LDADD_LIBNTP" + AC_CHECK_FUNCS([daemon]) +Index: ntp-4.2.8/libntp/ntp_crypto_rnd.c +=================================================================== +--- ntp-4.2.8.orig/libntp/ntp_crypto_rnd.c ++++ ntp-4.2.8/libntp/ntp_crypto_rnd.c +@@ -24,6 +24,21 @@ + int crypto_rand_init = 0; + #endif + ++#ifndef HAVE_ARC4RANDOM_BUF ++static void ++arc4random_buf(void *buf, size_t nbytes); ++ ++void ++evutil_secure_rng_get_bytes(void *buf, size_t nbytes); ++ ++static void ++arc4random_buf(void *buf, size_t nbytes) ++{ ++ evutil_secure_rng_get_bytes(buf, nbytes); ++ return; ++} ++#endif ++ + /* + * As of late 2014, here's how we plan to provide cryptographic-quality + * random numbers: +Index: ntp-4.2.8/sntp/configure.ac +=================================================================== +--- ntp-4.2.8.orig/sntp/configure.ac ++++ ntp-4.2.8/sntp/configure.ac +@@ -97,11 +97,14 @@ esac + enable_nls=no + LIBOPTS_CHECK + +-AM_COND_IF( +- [BUILD_SNTP], +- [NTP_LIBEVENT_CHECK], +- [NTP_LIBEVENT_CHECK_NOBUILD] +-) ++# From when we only used libevent for sntp: ++#AM_COND_IF( ++# [BUILD_SNTP], ++# [NTP_LIBEVENT_CHECK], ++# [NTP_LIBEVENT_CHECK_NOBUILD] ++#) ++ ++NTP_LIBEVENT_CHECK([2]) + + # Checks for libraries. + +Index: ntp-4.2.8/sntp/m4/ntp_libevent.m4 +=================================================================== +--- ntp-4.2.8.orig/sntp/m4/ntp_libevent.m4 ++++ ntp-4.2.8/sntp/m4/ntp_libevent.m4 +@@ -1,4 +1,25 @@ +-dnl NTP_ENABLE_LOCAL_LIBEVENT -*- Autoconf -*- ++# SYNOPSIS -*- Autoconf -*- ++# ++# NTP_ENABLE_LOCAL_LIBEVENT ++# NTP_LIBEVENT_CHECK([MINVERSION [, DIR]]) ++# NTP_LIBEVENT_CHECK_NOBUILD([MINVERSION [, DIR]]) ++# ++# DESCRIPTION ++# ++# AUTHOR ++# ++# Harlan Stenn ++# ++# LICENSE ++# ++# This file is Copyright (c) 2014 Network Time Foundation ++# ++# Copying and distribution of this file, with or without modification, are ++# permitted in any medium without royalty provided the copyright notice, ++# author attribution and this notice are preserved. This file is offered ++# as-is, without any warranty. ++ ++dnl NTP_ENABLE_LOCAL_LIBEVENT + dnl + dnl Provide only the --enable-local-libevent command-line option. + dnl +@@ -29,7 +50,7 @@ dnl If NOBUILD is provided as the 3rd ar + dnl but DO NOT invoke DIR/configure if we are going to use our bundled + dnl version. This may be the case for nested packages. + dnl +-dnl provide --enable-local-libevent . ++dnl provides --enable-local-libevent . + dnl + dnl Examples: + dnl +Index: ntp-4.2.8/util/Makefile.am +=================================================================== +--- ntp-4.2.8.orig/util/Makefile.am ++++ ntp-4.2.8/util/Makefile.am +@@ -19,6 +19,7 @@ AM_LDFLAGS = $(LDFLAGS_NTP) + LDADD= ../libntp/libntp.a $(LDADD_LIBNTP) $(LIBM) $(PTHREAD_LIBS) + tg2_LDADD= ../libntp/libntp.a $(LDADD_LIBNTP) $(LIBM) + ntp_keygen_LDADD = version.o $(LIBOPTS_LDADD) ../libntp/libntp.a ++ntp_keygen_LDADD += $(LDADD_LIBEVENT) + ntp_keygen_LDADD += $(LDADD_LIBNTP) $(PTHREAD_LIBS) $(LDADD_NTP) $(LIBM) + ntp_keygen_SOURCES = ntp-keygen.c ntp-keygen-opts.c ntp-keygen-opts.h + diff --git a/meta-networking/recipes-support/ntp/files/ntp.conf b/meta-networking/recipes-support/ntp/ntp/ntp.conf index 875b7ebc1d..676e186453 100644 --- a/meta-networking/recipes-support/ntp/files/ntp.conf +++ b/meta-networking/recipes-support/ntp/ntp/ntp.conf @@ -1,7 +1,7 @@ # This is the most basic ntp configuration file # The driftfile must remain in a place specific to this # machine - it records the machine specific clock error -driftfile /etc/ntp.drift +driftfile /var/lib/ntp/drift # This should be a server that is close (in IP terms) # to the machine. Add other servers as required. # Unless you un-comment the line below ntpd will sync diff --git a/meta-networking/recipes-support/ntp/files/ntpd b/meta-networking/recipes-support/ntp/ntp/ntpd index 3cd1c6c585..d1b9c49076 100755 --- a/meta-networking/recipes-support/ntp/files/ntpd +++ b/meta-networking/recipes-support/ntp/ntp/ntpd @@ -20,6 +20,9 @@ test -x $DAEMON -a -r /etc/ntp.conf || exit 0 # rcS contains TICKADJ test -r /etc/default/rcS && . /etc/default/rcS +# Source function library. +. /etc/init.d/functions + # Functions to do individual actions settick(){ # If TICKADJ is set we *must* adjust it before we start, because the @@ -68,8 +71,12 @@ case "$1" in stopdaemon startdaemon ;; + status) + status /usr/sbin/ntpd; + exit $? + ;; *) - echo "Usage: ntpd { start | stop | restart | reload }" >&2 + echo "Usage: ntpd { start | stop | status | restart | reload }" >&2 exit 1 ;; esac diff --git a/meta-networking/recipes-support/ntp/ntp/ntpd.service b/meta-networking/recipes-support/ntp/ntp/ntpd.service index b7c4268646..0e3d7cd37b 100644 --- a/meta-networking/recipes-support/ntp/ntp/ntpd.service +++ b/meta-networking/recipes-support/ntp/ntp/ntpd.service @@ -5,7 +5,7 @@ After=network.target [Service] Type=forking PIDFile=/run/ntpd.pid -ExecStart=/usr/sbin/ntpd -p /run/ntpd.pid -g +ExecStart=/usr/sbin/ntpd -u ntp:ntp -p /run/ntpd.pid -g [Install] WantedBy=multi-user.target diff --git a/meta-networking/recipes-support/ntp/files/ntpdate b/meta-networking/recipes-support/ntp/ntp/ntpdate index 17b64d1335..17b64d1335 100755 --- a/meta-networking/recipes-support/ntp/files/ntpdate +++ b/meta-networking/recipes-support/ntp/ntp/ntpdate diff --git a/meta-networking/recipes-support/ntp/files/ntpdate.default b/meta-networking/recipes-support/ntp/ntp/ntpdate.default index 486b6e07d3..486b6e07d3 100644 --- a/meta-networking/recipes-support/ntp/files/ntpdate.default +++ b/meta-networking/recipes-support/ntp/ntp/ntpdate.default diff --git a/meta-networking/recipes-support/ntp/ntp_4.2.6p5.bb b/meta-networking/recipes-support/ntp/ntp_4.2.6p5.bb deleted file mode 100644 index 588a1b03c9..0000000000 --- a/meta-networking/recipes-support/ntp/ntp_4.2.6p5.bb +++ /dev/null @@ -1,6 +0,0 @@ -require ntp.inc - -PR = "${INC_PR}.0" - -SRC_URI[md5sum] = "00df80a84ec9528fcfb09498075525bc" -SRC_URI[sha256sum] = "d6ab8371f9d31e594eb6922823d5ccd03dcc4e9d84b0e23ea25ac1405432f91c" diff --git a/meta-networking/recipes-support/ntp/ntp.inc b/meta-networking/recipes-support/ntp/ntp_4.2.8.bb index f55a39a923..e802ee700b 100644 --- a/meta-networking/recipes-support/ntp/ntp.inc +++ b/meta-networking/recipes-support/ntp/ntp_4.2.8.bb @@ -6,16 +6,12 @@ or satellite receiver or modem." HOMEPAGE = "http://support.ntp.org" SECTION = "console/network" LICENSE = "NTP" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=fea4b50c33b18c2194b4b1c9ca512670" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=ebe123f74017224947c78d472407c10f" -DEPENDS = "pps-tools" - -INC_PR = "r6" +DEPENDS = "pps-tools libevent" SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.gz \ - file://tickadj.c.patch \ file://ntp-4.2.4_p6-nano.patch \ - file://openssl-check.patch \ file://ntpd \ file://ntp.conf \ file://ntpdate \ @@ -25,18 +21,28 @@ SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.g file://sntp.service \ file://sntp \ file://ntpd.list \ - file://CVE-2013-5211.patch \ + file://ntp-4.2.8-ntp-keygen-no-openssl.patch \ " -inherit autotools update-rc.d useradd systemd +SRC_URI[md5sum] = "6972a626be6150db8cfbd0b63d8719e7" +SRC_URI[sha256sum] = "2e920df8b6a5a410567a73767fa458c00c7f0acec3213e69ed0134414a50d8ee" + +inherit autotools update-rc.d useradd systemd pkgconfig # The ac_cv_header_readline_history is to stop ntpdc depending on either # readline or curses -EXTRA_OECONF += "--with-net-snmp-config=no --without-ntpsnmpd ac_cv_header_readline_history_h=no --with-binsubdir=sbin" +EXTRA_OECONF += "--with-net-snmp-config=no \ + --without-ntpsnmpd \ + ac_cv_header_readline_history_h=no \ + --with-yielding_select=yes \ + --with-locfile=redhat \ + " CFLAGS_append = " -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED" USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system --home-dir /var/lib/ntp \ +NTP_USER_HOME ?= "/var/lib/ntp" +USERADD_PARAM_${PN} = "--system --home-dir ${NTP_USER_HOME} \ + --no-create-home \ --shell /bin/false --user-group ntp" # NB: debug is default-enabled by NTP; keep it default-enabled here. @@ -57,6 +63,9 @@ do_install_append() { install -d ${D}${bindir} install -m 755 ${WORKDIR}/ntpdate ${D}${bindir}/ntpdate-sync + install -m 755 -d ${D}${NTP_USER_HOME} + chown ntp:ntp ${D}${NTP_USER_HOME} + # Fix hardcoded paths in scripts sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync sed -i 's!/usr/bin/!${bindir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync @@ -65,8 +74,10 @@ do_install_append() { sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${bindir}/ntpdate-sync sed -i '1s,#!.*perl -w,#! ${bindir}/env perl,' ${D}${sbindir}/ntptrace sed -i '/use/i use warnings;' ${D}${sbindir}/ntptrace - sed -i '1s,#!.*perl -w,#! ${bindir}/env perl,' ${D}${sbindir}/ntp-wait + sed -i '1s,#!.*perl,#! ${bindir}/env perl,' ${D}${sbindir}/ntp-wait sed -i '/use/i use warnings;' ${D}${sbindir}/ntp-wait + sed -i '1s,#!.*perl -w,#! ${bindir}/env perl,' ${D}${sbindir}/calc_tickadj + sed -i '/use/i use warnings;' ${D}${sbindir}/calc_tickadj install -d ${D}/${sysconfdir}/default install -m 644 ${WORKDIR}/ntpdate.default ${D}${sysconfdir}/default/ntpdate @@ -111,10 +122,12 @@ RCONFLICTS_ntpdate += "ntpdate-systemd" RSUGGESTS_${PN} = "iana-etc" FILES_${PN} = "${sbindir}/ntpd ${sysconfdir}/ntp.conf ${sysconfdir}/init.d/ntpd ${libdir} \ + ${NTP_USER_HOME} \ ${systemd_unitdir}/ntp-units.d/60-ntpd.list \ " FILES_${PN}-tickadj = "${sbindir}/tickadj" -FILES_${PN}-utils = "${sbindir}" +FILES_${PN}-utils = "${sbindir} ${datadir}/ntp/lib" +RDEPENDS_${PN}-utils += "perl" FILES_ntpdate = "${sbindir}/ntpdate \ ${sysconfdir}/network/if-up.d/ntpdate-sync \ ${bindir}/ntpdate-sync \ @@ -123,6 +136,7 @@ FILES_ntpdate = "${sbindir}/ntpdate \ " FILES_sntp = "${sbindir}/sntp \ ${sysconfdir}/default/sntp \ + ${systemd_unitdir}/system/sntp.service \ " CONFFILES_${PN} = "${sysconfdir}/ntp.conf" diff --git a/meta-networking/recipes-support/nuttcp/nuttcp_7.2.1.bb b/meta-networking/recipes-support/nuttcp/nuttcp_7.2.1.bb index b931d04702..a275238a3b 100644 --- a/meta-networking/recipes-support/nuttcp/nuttcp_7.2.1.bb +++ b/meta-networking/recipes-support/nuttcp/nuttcp_7.2.1.bb @@ -8,12 +8,12 @@ network layer throughput by transferring memory buffers from a source system \ across an interconnecting network to a destination system, either transferring \ data for a specified time interval, or alternatively transferring a specified \ number of bytes." -HOMEPAGE = "http://www.nuttcp.net/nuttcp/Welcome%20Page.html" +HOMEPAGE = "http://www.nuttcp.net/Welcome%20Page.html" LICENSE = "GPL-2.0" SECTION = "net" -LIC_FILES_CHKSUM = "file://nuttcp-${PV}.c;beginline=4;endline=30;md5=ae7045c3c3616092e07d87f04ba0d960" +LIC_FILES_CHKSUM = "file://${BP}.c;beginline=4;endline=30;md5=ae7045c3c3616092e07d87f04ba0d960" -SRC_URI = "http://lcp.nrl.navy.mil/nuttcp/beta/nuttcp-${PV}.c" +SRC_URI = "http://nuttcp.net/${BPN}/beta/${BP}.c" SRC_URI[md5sum] = "1ebf4a08bad2a295a8155f02995e8754" SRC_URI[sha256sum] = "c6e33810ccce67260f8d5d627f60e429d44f532365c58ed5673d035e2a59c4db" diff --git a/meta-networking/recipes-support/openvpn/openvpn/openvpn-volatile.conf b/meta-networking/recipes-support/openvpn/openvpn/openvpn-volatile.conf new file mode 100644 index 0000000000..4a3dc4a460 --- /dev/null +++ b/meta-networking/recipes-support/openvpn/openvpn/openvpn-volatile.conf @@ -0,0 +1 @@ +d /var/run/openvpn 0755 root root - diff --git a/meta-networking/recipes-support/openvpn/openvpn/openvpn@.service b/meta-networking/recipes-support/openvpn/openvpn/openvpn@.service new file mode 100644 index 0000000000..358dcb791a --- /dev/null +++ b/meta-networking/recipes-support/openvpn/openvpn/openvpn@.service @@ -0,0 +1,12 @@ +[Unit] +Description=OpenVPN Robust And Highly Flexible Tunneling Application On %I +After=syslog.target network.target + +[Service] +PrivateTmp=true +Type=forking +PIDFile=/var/run/openvpn/%i.pid +ExecStart=/usr/sbin/openvpn --daemon --writepid /var/run/openvpn/%i.pid --cd /etc/openvpn/ --config %i.conf + +[Install] +WantedBy=multi-user.target diff --git a/meta-networking/recipes-support/openvpn/openvpn_2.3.4.bb b/meta-networking/recipes-support/openvpn/openvpn_2.3.4.bb deleted file mode 100644 index 48e04b702d..0000000000 --- a/meta-networking/recipes-support/openvpn/openvpn_2.3.4.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "A full-featured SSL VPN solution via tun device." -HOMEPAGE = "http://openvpn.sourceforge.net" -SECTION = "console/network" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=5aac200199fde47501876cba7263cb0c" -DEPENDS = "lzo openssl iproute2 ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" - -inherit autotools - -SRC_URI = "http://swupdate.openvpn.org/community/releases/openvpn-${PV}.tar.gz \ - file://openvpn" - -SRC_URI[md5sum] = "04d47237907faabe9d046970ffe44b2e" -SRC_URI[sha256sum] = "af506d5f48568fa8d2f2435cb3fad35f9a9a8f263999ea6df3ba296960cec85a" - -CFLAGS += "-fno-inline" - -# I want openvpn to be able to read password from file (hrw) -EXTRA_OECONF += "--enable-password-save --enable-iproute2" -EXTRA_OECONF += "${@base_contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}" -EXTRA_OECONF += "IPROUTE=/bin/ip" - -do_install_append() { - install -d ${D}/${sysconfdir}/init.d - install -d ${D}/${sysconfdir}/openvpn - install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d -} - -RRECOMMENDS_${PN} = "kernel-module-tun" - -FILES_${PN}-dbg += "${libdir}/openvpn/plugins/.debug" diff --git a/meta-networking/recipes-support/openvpn/openvpn_2.3.6.bb b/meta-networking/recipes-support/openvpn/openvpn_2.3.6.bb new file mode 100644 index 0000000000..08f30b50f5 --- /dev/null +++ b/meta-networking/recipes-support/openvpn/openvpn_2.3.6.bb @@ -0,0 +1,67 @@ +SUMMARY = "A full-featured SSL VPN solution via tun device." +HOMEPAGE = "http://openvpn.sourceforge.net" +SECTION = "console/network" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=5aac200199fde47501876cba7263cb0c" +DEPENDS = "lzo openssl iproute2 ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" + +inherit autotools systemd + +SRC_URI = "http://swupdate.openvpn.org/community/releases/openvpn-${PV}.tar.gz \ + file://openvpn \ + file://openvpn@.service \ + file://openvpn-volatile.conf" + +SRC_URI[md5sum] = "6ca03fe0fd093e0d01601abee808835c" +SRC_URI[sha256sum] = "7baed2ff39c12e1a1a289ec0b46fcc49ff094ca58b8d8d5f29b36ac649ee5b26" + +SYSTEMD_SERVICE_${PN} += "openvpn@loopback-server.service openvpn@loopback-client.service" +SYSTEMD_AUTO_ENABLE = "disable" + +CFLAGS += "-fno-inline" + +# I want openvpn to be able to read password from file (hrw) +EXTRA_OECONF += "--enable-password-save --enable-iproute2" +EXTRA_OECONF += "${@base_contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}" + +# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host. +EXTRA_OECONF += "IPROUTE=/sbin/ip" + +do_install_append() { + install -d ${D}/${sysconfdir}/init.d + install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d + + install -d ${D}/${sysconfdir}/openvpn + install -d ${D}/${sysconfdir}/openvpn/sample + install -m 755 ${S}/sample/sample-config-files/loopback-server ${D}${sysconfdir}/openvpn/sample/loopback-server.conf + install -m 755 ${S}/sample/sample-config-files/loopback-client ${D}${sysconfdir}/openvpn/sample/loopback-client.conf + install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-keys + install -m 644 ${S}/sample/sample-keys/* ${D}${sysconfdir}/openvpn/sample/sample-keys + + if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}/${systemd_unitdir}/system + install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system + install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-server.service + install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-client.service + + install -d ${D}/${localstatedir} + install -d ${D}/${localstatedir}/lib + install -d -m 710 ${D}/${localstatedir}/lib/openvpn + install -d -m 755 ${D}/${localstatedir}/run/ + install -d -m 755 ${D}/${localstatedir}/run/openvpn + + install -d ${D}${sysconfdir}/tmpfiles.d + install -m 0644 ${WORKDIR}/openvpn-volatile.conf ${D}${sysconfdir}/tmpfiles.d/openvpn.conf + fi +} + +PACKAGES =+ " ${PN}-sample " + +RRECOMMENDS_${PN} = "kernel-module-tun" + +FILES_${PN}-dbg += "${libdir}/openvpn/plugins/.debug" +FILES_${PN} += "${systemd_unitdir}/system/openvpn@.service \ + /run" +FILES_${PN}-sample += "${systemd_unitdir}/system/openvpn@loopback-server.service \ + ${systemd_unitdir}/system/openvpn@loopback-client.service \ + ${sysconfdir}/openvpn/sample/" diff --git a/meta-networking/recipes-support/pimd/pimd_2.1.8.bb b/meta-networking/recipes-support/pimd/pimd_2.1.8.bb index da097ce825..f0323618dd 100644 --- a/meta-networking/recipes-support/pimd/pimd_2.1.8.bb +++ b/meta-networking/recipes-support/pimd/pimd_2.1.8.bb @@ -8,3 +8,10 @@ SRC_URI[md5sum] = "a12448bc7c9bfcebf51a13ebf1ffa962" SRC_URI[sha256sum] = "01016940543a0a6131d4e6c91b595d47e187012c59a298eec14c3dbc38564b3a" CFLAGS += "-I ${S}/include " + +do_install() { + unset datadir + unset mandir + oe_runmake 'DESTDIR=${D}' install +} + diff --git a/meta-networking/recipes-support/ssmping/files/0001-Makefile-tweak-install-dir.patch b/meta-networking/recipes-support/ssmping/files/0001-Makefile-tweak-install-dir.patch new file mode 100644 index 0000000000..0cb981cf7a --- /dev/null +++ b/meta-networking/recipes-support/ssmping/files/0001-Makefile-tweak-install-dir.patch @@ -0,0 +1,35 @@ +From 693cfce5431e191a3955fd56fa822927d92c9e43 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Fri, 7 Nov 2014 14:27:00 +0800 +Subject: [PATCH] Makefile: tweak install dir + +For oe-core, the man doc should be installed to /usr/share/man +rather than /usr/locale/man. + +Upstream-Status: inappropriate (oe specific) + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + Makefile | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index b5d12f8..9b2663c 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,9 +14,9 @@ install: ssmping asmping ssmpingd mcfirst + install -D asmping $(DESTDIR)$(PREFIX)/bin/asmping + install -D ssmpingd $(DESTDIR)$(PREFIX)/bin/ssmpingd + install -D mcfirst $(DESTDIR)$(PREFIX)/bin/mcfirst +- install -D ssmping.1 $(DESTDIR)$(PREFIX)/man/man1/ssmping.1 +- install -D asmping.1 $(DESTDIR)$(PREFIX)/man/man1/asmping.1 +- install -D mcfirst.1 $(DESTDIR)$(PREFIX)/man/man1/mcfirst.1 ++ install -D ssmping.1 $(DESTDIR)$(PREFIX)/share/man/man1/ssmping.1 ++ install -D asmping.1 $(DESTDIR)$(PREFIX)/share/man/man1/asmping.1 ++ install -D mcfirst.1 $(DESTDIR)$(PREFIX)/share/man/man1/mcfirst.1 + + clean: + rm -f $(OBJ) joinch.o joingrp.o ssmping asmping ssmpingd mcfirst +-- +1.9.1 + diff --git a/meta-networking/recipes-support/ssmping/ssmping_0.9.1.bb b/meta-networking/recipes-support/ssmping/ssmping_0.9.1.bb index 06d6d28fa9..0eaa7ca4cf 100644 --- a/meta-networking/recipes-support/ssmping/ssmping_0.9.1.bb +++ b/meta-networking/recipes-support/ssmping/ssmping_0.9.1.bb @@ -3,8 +3,14 @@ HOMEPAGE = "http://www.venaas.no/multicast/ssmping/" LICENSE = "ISC" LIC_FILES_CHKSUM = "file://asmping.c;beginline=2;endline=11;md5=1ca8d1a1ca931e5cfe604ebf20a78b71" -SRC_URI = "http://www.venaas.no/multicast/ssmping/${BP}.tar.gz" +SRC_URI = "http://www.venaas.no/multicast/ssmping/${BP}.tar.gz \ + file://0001-Makefile-tweak-install-dir.patch \ +" SRC_URI[md5sum] = "ad8e3d13f6d72918f73be7e7975d7fad" SRC_URI[sha256sum] = "22103a37eaa28489169a0927bc01e0596c3485fc4d29fc8456c07fd2c70fca6d" CFLAGS += "-D_GNU_SOURCE " + +do_install() { + oe_runmake 'DESTDIR=${D}' 'PREFIX=${prefix}' install +} diff --git a/meta-networking/recipes-support/strongswan/strongswan_5.2.0.bb b/meta-networking/recipes-support/strongswan/strongswan_5.2.1.bb index 0997fd03c1..6b913190c2 100644 --- a/meta-networking/recipes-support/strongswan/strongswan_5.2.0.bb +++ b/meta-networking/recipes-support/strongswan/strongswan_5.2.1.bb @@ -11,8 +11,8 @@ SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \ file://fix-funtion-parameter.patch \ " -SRC_URI[md5sum] = "5cee4ee1a6ccb74400758b3ace54d46e" -SRC_URI[sha256sum] = "b00c30bd2e60ff2e5fc85f54bbad54fe246585812fdf212dbe777a5258da26ce" +SRC_URI[md5sum] = "dd3717c0aa59ab4591ca1812941ebb82" +SRC_URI[sha256sum] = "ea51ab33b5bb39fecaf10668833a9936583b42145948ae9da1ab98f74e939215" EXTRA_OECONF = "--enable-gmp \ --enable-openssl \ diff --git a/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/add-ptest.patch b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/add-ptest.patch new file mode 100644 index 0000000000..358f6050f6 --- /dev/null +++ b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/add-ptest.patch @@ -0,0 +1,38 @@ +From 7b259580800e259d232229dc89f97058b56e2fe8 Mon Sep 17 00:00:00 2001 +From: "Hongjun.Yang" <hongjun.yang@windriver.com> +Date: Wed, 22 Oct 2014 10:02:48 +0800 +Subject: [PATCH] Add ptest for tcpdump + +Upstream-Status: Pending + +Signed-off-by: Hongjun.Yang <hongjun.yang@windriver.com> +--- + Makefile.in | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index 8c35a45..4fb8ae6 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -428,9 +428,17 @@ distclean: + tests/failure-outputs.txt + rm -rf autom4te.cache tests/DIFF tests/NEW + +-check: tcpdump ++buildtest-TESTS: tcpdump ++ ++runtest-PTEST: + (cd tests && ./TESTrun.sh) + ++install-ptest: ++ cp -r tests $(DESTDIR) ++ cp -r config.h $(DESTDIR) ++ install -m 0755 Makefile $(DESTDIR) ++ ln -sf /usr/sbin/tcpdump $(DESTDIR)/tcpdump ++ + tags: $(TAGFILES) + ctags -wtd $(TAGFILES) + +-- +1.9.1 + diff --git a/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/run-ptest b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/run-ptest new file mode 100755 index 0000000000..c03a8b8ef3 --- /dev/null +++ b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/run-ptest @@ -0,0 +1,5 @@ +#!/bin/sh +make -k runtest-PTEST | sed -e '/: passed/ s/^/PASS: /g' \ + -e '/: failed/ s/^/FAIL: /g' \ + -e 's/: passed//g' \ + -e 's/: failed//g' diff --git a/meta-networking/recipes-support/tcpdump/tcpdump_4.6.1.bb b/meta-networking/recipes-support/tcpdump/tcpdump_4.6.1.bb index 58bcb980f5..1fdaf308d8 100644 --- a/meta-networking/recipes-support/tcpdump/tcpdump_4.6.1.bb +++ b/meta-networking/recipes-support/tcpdump/tcpdump_4.6.1.bb @@ -11,12 +11,14 @@ SRC_URI = " \ file://unnecessary-to-check-libpcap.patch \ file://tcpdump-configure-dlpi.patch \ file://tcpdump-cross-getaddrinfo.patch \ + file://add-ptest.patch \ + file://run-ptest \ " SRC_URI[md5sum] = "dab267ec30216a069747d10314079ec7" SRC_URI[sha256sum] = "4c88c2a9aeb4047074f344fc9b2b6577b219972d359e192f6d12ccf983a13fd7" export LIBS=" -lpcap" -inherit autotools-brokensep +inherit autotools-brokensep ptest CACHED_CONFIGUREVARS = "ac_cv_linux_vers=${ac_cv_linux_vers=2}" PACKAGECONFIG ??= "openssl ipv6" @@ -43,3 +45,7 @@ do_install_append() { # tcpdump 4.0.0 installs a copy to /usr/sbin/tcpdump.4.0.0 rm -f ${D}${sbindir}/tcpdump.${PV} } + +do_compile_ptest() { + oe_runmake buildtest-TESTS +} diff --git a/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-improve-search-for-libpcap.patch b/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-improve-search-for-libpcap.patch new file mode 100644 index 0000000000..50f024c67b --- /dev/null +++ b/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-improve-search-for-libpcap.patch @@ -0,0 +1,33 @@ +tcpreplay: improve search for libpcap + +Add a test which will find libpcap if $testdir/.. is a sysroot. + +Upstream-Status: Pending + +Signed-off-by: Joe Slater <joe.slater@windriver.com> + + +--- a/configure.ac ++++ b/configure.ac +@@ -350,14 +350,20 @@ for testdir in $trypcapdir /usr/local /o + if test -f "${testdir}/include/pcap.h" -a $foundpcap = no ; then + LPCAPINC="${testdir}/include/pcap.h" + LPCAPINCDIR="${testdir}/include" ++ # If testdir/.. is a sysroot, then sDir should point to where the libraries are. ++ sDir=$(readlink -m ${testdir}/../${libdir}) + if test $dynamic_link = yes; then +- if test -f "${testdir}/lib64/libpcap${shrext_cmds}" ; then ++ if test -f "${sDir}/libpcap${shrext_cmds}" ; then ++ LPCAPLIB="-L${sDir} -lpcap" ++ elif test -f "${testdir}/lib64/libpcap${shrext_cmds}" ; then + LPCAPLIB="-L${testdir}/lib64 -lpcap" + elif test -f "${testdir}/lib/libpcap${shrext_cmds}" ; then + LPCAPLIB="-L${testdir}/lib -lpcap" + else + AC_ERROR([Unable to find libpcap in ${testdir}]) + fi ++ elif test -f "${sDir}/libpcap.${libext}" ; then ++ LPCAPLIB="${sDir}/libpcap.${libext}" + elif test -f "${testdir}/lib64/libpcap.${libext}" ; then + LPCAPLIB="${testdir}/lib64/libpcap.${libext}" + elif test -f "${testdir}/lib/libpcap.${libext}" ; then diff --git a/meta-networking/recipes-support/tcpreplay/tcpreplay_3.4.4.bb b/meta-networking/recipes-support/tcpreplay/tcpreplay_3.4.4.bb index 4bce270e4b..9ecb695fde 100644 --- a/meta-networking/recipes-support/tcpreplay/tcpreplay_3.4.4.bb +++ b/meta-networking/recipes-support/tcpreplay/tcpreplay_3.4.4.bb @@ -10,6 +10,7 @@ SRC_URI = "http://prdownloads.sourceforge.net/tcpreplay/${PV}/tcpreplay-${PV}.ta file://tcpreplay-3.4.4-cross-compile.patch \ file://tcpreplay-3.4.4-no-bfp-support.patch \ file://tcpreplay-3.4.4-fix-unable-to-link-libpcap-issue.patch \ + file://tcpreplay-3.4.4-improve-search-for-libpcap.patch \ " SRC_URI[md5sum] = "22725feb9b2590809f9350308ec65180" SRC_URI[sha256sum] = "7a809c58ddec86407fd6e5597ac883d7874a19bea81d716bb2b1c6e3b0e7b58f" diff --git a/meta-networking/recipes-support/traceroute/traceroute_2.0.20.bb b/meta-networking/recipes-support/traceroute/traceroute_2.0.21.bb index 4b49c76863..7bdbe16175 100644 --- a/meta-networking/recipes-support/traceroute/traceroute_2.0.20.bb +++ b/meta-networking/recipes-support/traceroute/traceroute_2.0.21.bb @@ -7,7 +7,7 @@ tool. If you're having network connectivity problems, traceroute will \ show you where the trouble is coming from along the route." SECTION = "console/network" HOMEPAGE = "http://traceroute.sourceforge.net/" -LICENSE = "GPL-2.0 LGPL-2.1" +LICENSE = "GPL-2.0+ & LGPL-2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" @@ -17,8 +17,10 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/traceroute/traceroute/${BP}/${BP}.tar.gz \ file://filter-out-the-patches-from-subdirs.patch \ " -SRC_URI[md5sum] = "559f104e155e0e14ee0c717776a745fa" -SRC_URI[sha256sum] = "2facba9525c95428d7bff3a313fc6ecfd8c529c678ae666c73015558a0edc271" +SRC_URI[md5sum] = "79289adabd6f3ebf9160fc0815ab3150" +SRC_URI[sha256sum] = "f7ac93ef30b13a587292b8d6a7e2538a65bc978a3a576eab238c392b884e96e0" + +EXTRA_OEMAKE = "VPATH=${STAGING_LIBDIR}" do_compile() { export LDFLAGS="${TARGET_LDFLAGS} -L${S}/libsupp" @@ -38,5 +40,6 @@ do_install() { } +ALTERNATIVE_PRIORITY = "60" ALTERNATIVE_${PN} = "traceroute" ALTERNATIVE_LINK_NAME[traceroute] = "${bindir}/traceroute" diff --git a/meta-networking/recipes-support/wireshark/wireshark_1.12.1.bb b/meta-networking/recipes-support/wireshark/wireshark_1.12.3.bb index 147c513955..f16d0f68fa 100644 --- a/meta-networking/recipes-support/wireshark/wireshark_1.12.1.bb +++ b/meta-networking/recipes-support/wireshark/wireshark_1.12.3.bb @@ -4,7 +4,7 @@ SECTION = "network" LICENSE = "GPL-2.0" LIC_FILES_CHKSUM = "file://README.linux;md5=631e077455b7972172eb149195e065b0" -DEPENDS = "perl-native libcap libpcap pcre expat glib-2.0 libnl sbc" +DEPENDS = "perl-native pcre expat glib-2.0 sbc" SRC_URI = " \ http://wiresharkdownloads.riverbed.com/wireshark/src/wireshark-${PV}.tar.bz2 \ @@ -13,8 +13,8 @@ SRC_URI = " \ PE = "1" -SRC_URI[md5sum] = "14b3e3d8979d1eb27ff085bb5f400e67" -SRC_URI[sha256sum]= "82b26bd416ec15903b27785e35a622687008a743342054e96eaaeaa249be584b" +SRC_URI[md5sum] = "e6318b8451d4e56d39bd911da296ef19" +SRC_URI[sha256sum] = "69950b9dcb1a630982b5f680554d73d27ee0dc856fc6aeef88c8d04eb5ac33ea" inherit autotools pkgconfig @@ -23,11 +23,13 @@ ARM_INSTRUCTION_SET = "arm" # Works with either gtk+ or gtk3. WHICH_GTK = "gtk3" -PACKAGECONFIG ??= "gnutls gcrypt" +PACKAGECONFIG ??= "libcap gnutls libnl" PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "x11", "${WHICH_GTK} graphics", "", d)}" PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "ipv6", "ipv6", "", d)}" +PACKAGECONFIG[libcap] = "--with-libcap=${STAGING_DIR_HOST}, --with-libcap=no, libcap" PACKAGECONFIG[libsmi] = "--with-libsmi=yes, --with-libsmi=no, libsmi" +PACKAGECONFIG[libnl] = "--with-libnl=yes, --with-libnl=no, libnl" PACKAGECONFIG[portaudio] = "--with-portaudio=yes, --with-portaudio=no, portaudio-v19" PACKAGECONFIG[gtk2] = "--with-gtk2=yes, --with-gtk2=no, gtk+" PACKAGECONFIG[gtk3] = "--with-gtk3=yes, --with-gtk3=no, gtk+3" @@ -35,8 +37,16 @@ PACKAGECONFIG[graphics] = "--enable-wireshark, --disable-wireshark," PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6," PACKAGECONFIG[gnutls] = "--with-gnutls=yes, --with-gnutls=no, gnutls" PACKAGECONFIG[gcrypt] = "--with-gcrypt=yes, --with-gcrypt=no, libgcrypt" +PACKAGECONFIG[krb5] = "--with-krb5=yes, --with-krb5=no, krb5" +PACKAGECONFIG[lua] = "--with-lua=yes, --with-lua=no, lua" +PACKAGECONFIG[zlib] = "--with-zlib=yes, --with-zlib=no, zlib" +PACKAGECONFIG[geoip] = "--with-geoip=yes, --with-geoip=no, geoip" -EXTRA_OECONF = "--with-qt=no --enable-usr-local=no --enable-tshark --with-c-ares=no" +# these next two options require addional layers +PACKAGECONFIG[adns] = "--with-adns=yes, --with-adns=no, adns" +PACKAGECONFIG[c-ares] = "--with-c-ares=yes, --with-c-ares=no, c-ares" + +EXTRA_OECONF += "--with-qt=no --enable-usr-local=no --enable-tshark --with-pcap=no --enable-pcap-ng-default" do_configure_prepend() { # force to use fallback diff --git a/meta-oe/classes/breakpad.bbclass b/meta-oe/classes/breakpad.bbclass index e4d6808a60..b3abf278d6 100644 --- a/meta-oe/classes/breakpad.bbclass +++ b/meta-oe/classes/breakpad.bbclass @@ -24,7 +24,7 @@ python () { PACKAGE_PREPROCESS_FUNCS += "breakpad_package_preprocess" breakpad_package_preprocess () { mkdir -p ${PKGD}/usr/share/breakpad-syms - find ${D} -name ${BREAKPAD_BIN} -exec sh -c "dump_syms {} > ${PKGD}/usr/share/breakpad-syms/${BREAKPAD_BIN}.syms" \; + find ${D} -name ${BREAKPAD_BIN} -exec sh -c "dump_syms {} > ${PKGD}/usr/share/breakpad-syms/${BREAKPAD_BIN}.sym" \; } PACKAGES =+ "${PN}-breakpad" diff --git a/meta-oe/conf/layer.conf b/meta-oe/conf/layer.conf index 2a5a4286a2..e2a89cdae9 100644 --- a/meta-oe/conf/layer.conf +++ b/meta-oe/conf/layer.conf @@ -23,6 +23,12 @@ BBFILE_PATTERN_openembedded-layer := "^${LAYERDIR}/" BBFILE_PRIORITY_openembedded-layer = "6" +# This should only be incremented on significant changes that will +# cause compatibility issues with other layers +LAYERVERSION_openembedded-layer = "1" + +LAYERDEPENDS_openembedded-layer = "core" + LICENSE_PATH += "${LAYERDIR}/licenses" SIGGEN_EXCLUDERECIPES_ABISAFE += " \ diff --git a/meta-oe/licenses/OpenLDAP b/meta-oe/licenses/OpenLDAP new file mode 100644 index 0000000000..05ad7571e4 --- /dev/null +++ b/meta-oe/licenses/OpenLDAP @@ -0,0 +1,47 @@ +The OpenLDAP Public License + Version 2.8, 17 August 2003 + +Redistribution and use of this software and associated documentation +("Software"), with or without modification, are permitted provided +that the following conditions are met: + +1. Redistributions in source form must retain copyright statements + and notices, + +2. Redistributions in binary form must reproduce applicable copyright + statements and notices, this list of conditions, and the following + disclaimer in the documentation and/or other materials provided + with the distribution, and + +3. Redistributions must contain a verbatim copy of this document. + +The OpenLDAP Foundation may revise this license from time to time. +Each revision is distinguished by a version number. You may use +this Software under terms of this license revision or under the +terms of any subsequent revision of the license. + +THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS +CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED 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 OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S) +OR OWNER(S) OF THE SOFTWARE 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. + +The names of the authors and copyright holders must not be used in +advertising or otherwise to promote the sale, use or other dealing +in this Software without specific, written prior permission. Title +to copyright in this Software shall at all times remain with copyright +holders. + +OpenLDAP is a registered trademark of the OpenLDAP Foundation. + +Copyright 1999-2003 The OpenLDAP Foundation, Redwood City, +California, USA. All Rights Reserved. Permission to copy and +distribute verbatim copies of this document is granted. diff --git a/meta-oe/licenses/SMAIL_GPL b/meta-oe/licenses/SMAIL_GPL deleted file mode 100644 index dfc3fd16cf..0000000000 --- a/meta-oe/licenses/SMAIL_GPL +++ /dev/null @@ -1,164 +0,0 @@ -This is the Debian GNU/Linux package debianutils. - -It is an original Debian package. Programs in it were maintained by -Guy Maor <maor@debian.org>, and are now maintained by Clint Adams -<schizo@debian.org>. - -All its programs except readlink, savelog, and which may be -redistributed under the terms of the GNU GPL, Version 2 or later, -found on Debian systems in the file /usr/share/common-licenses/GPL. - -which is in the public domain. - -readlink is Copyright (c) 1997 Kenneth Stailey, and may also be -distributed under the terms of the BSD copyright. - -savelog may be redistributed under the following terms: (The rest of -this file consists of savelog's distribution terms.) - -#ident "@(#)smail:RELEASE-3_2:COPYING,v 1.2 1996/06/14 18:59:10 woods Exp" - - SMAIL GENERAL PUBLIC LICENSE - (Clarified 11 Feb 1988) - - Copyright (C) 1988 Landon Curt Noll & Ronald S. Karr - Copyright (C) 1992 Ronald S. Karr - Copyleft (GNU) 1988 Landon Curt Noll & Ronald S. Karr - - Everyone is permitted to copy and distribute verbatim copies - of this license, but changing it is not allowed. You can also - use this wording to make the terms for other programs. - - The license agreements of most software companies keep you at the -mercy of those companies. By contrast, our general public license is -intended to give everyone the right to share SMAIL. To make sure that -you get the rights we want you to have, we need to make restrictions -that forbid anyone to deny you these rights or to ask you to surrender -the rights. Hence this license agreement. - - Specifically, we want to make sure that you have the right to give -away copies of SMAIL, that you receive source code or else can get it -if you want it, that you can change SMAIL or use pieces of it in new -free programs, and that you know you can do these things. - - To make sure that everyone has such rights, we have to forbid you to -deprive anyone else of these rights. For example, if you distribute -copies of SMAIL, 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 tell them their rights. - - Also, for our own protection, we must make certain that everyone -finds out that there is no warranty for SMAIL. If SMAIL is modified by -someone else and passed on, we want its recipients to know that what -they have is not what we distributed, so that any problems introduced -by others will not reflect on our reputation. - - Therefore we (Landon Curt Noll and Ronald S. Karr) make the following -terms which say what you must do to be allowed to distribute or change -SMAIL. - - - COPYING POLICIES - - 1. You may copy and distribute verbatim copies of SMAIL source code -as you receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy a valid copyright notice "Copyright -(C) 1988 Landon Curt Noll & Ronald S. Karr" (or with whatever year is -appropriate); keep intact the notices on all files that refer to this -License Agreement and to the absence of any warranty; and give any -other recipients of the SMAIL program a copy of this License -Agreement along with the program. You may charge a distribution fee -for the physical act of transferring a copy. - - 2. You may modify your copy or copies of SMAIL or any portion of it, -and copy and distribute such modifications under the terms of -Paragraph 1 above, provided that you also do the following: - - a) cause the modified files to carry prominent notices stating - that you changed the files and the date of any change; and - - b) cause the whole of any work that you distribute or publish, - that in whole or in part contains or is a derivative of SMAIL or - any part thereof, to be licensed at no charge to all third - parties on terms identical to those contained in this License - Agreement (except that you may choose to grant more extensive - warranty protection to some or all third parties, at your option). - - c) You may charge a distribution fee for the physical act of - transferring a copy, and you may at your option offer warranty - protection in exchange for a fee. - -Mere aggregation of another unrelated program with this program (or its -derivative) on a volume of a storage or distribution medium does not bring -the other program under the scope of these terms. - - 3. You may copy and distribute SMAIL (or a portion or derivative of it, -under Paragraph 2) in object code or executable form under the terms of -Paragraphs 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 - Paragraphs 1 and 2 above; or, - - b) accompany it with a written offer, valid for at least three - years, to give any third party free (except for a nominal - shipping charge) a complete machine-readable copy of the - corresponding source code, to be distributed under the terms of - Paragraphs 1 and 2 above; or, - - c) accompany it with the information you received as to where the - corresponding source code may be obtained. (This alternative is - allowed only for non-commercial distribution and only if you - received the program in object code or executable form alone.) - -For an executable file, complete source code means all the source code for -all modules it contains; but, as a special exception, it need not include -source code for modules which are standard libraries that accompany the -operating system on which the executable file runs. - - 4. You may not copy, sublicense, distribute or transfer SMAIL -except as expressly provided under this License Agreement. Any attempt -otherwise to copy, sublicense, distribute or transfer SMAIL is void and -your rights to use the program under this License agreement shall be -automatically terminated. However, parties who have received computer -software programs from you with this License Agreement will not have -their licenses terminated so long as such parties remain in full compliance. - - 5. If you wish to incorporate parts of SMAIL into other free -programs whose distribution conditions are different, write to Landon -Curt Noll & Ronald S. Karr via the Free Software Foundation at 51 -Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. We have not yet -worked out a simple rule that can be stated here, but we will often -permit this. We 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. - -Your comments and suggestions about our licensing policies and our -software are welcome! This contract was based on the contract made by -the Free Software Foundation. Please contact the Free Software -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, -USA, or call (617) 542-5942 for details on copylefted material in -general. - - NO WARRANTY - - BECAUSE SMAIL IS LICENSED FREE OF CHARGE, WE PROVIDE ABSOLUTELY NO -WARRANTY, TO THE EXTENT PERMITTED BY APPLICABLE STATE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING, LANDON CURT NOLL & RONALD S. KARR AND/OR -OTHER PARTIES PROVIDE SMAIL "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 SMAIL IS WITH -YOU. SHOULD SMAIL PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL -NECESSARY SERVICING, REPAIR OR CORRECTION. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL LANDON CURT NOLL & -RONALD S. KARR AND/OR ANY OTHER PARTY WHO MAY MODIFY AND REDISTRIBUTE -SMAIL AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -LOST PROFITS, LOST MONIES, OR OTHER SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE -(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED -INACCURATE OR LOSSES SUSTAINED BY THIRD PARTIES OR A FAILURE OF THE -PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS) SMAIL, EVEN IF YOU HAVE -BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY -ANY OTHER PARTY. diff --git a/meta-oe/licenses/nbench-byte b/meta-oe/licenses/nbench-byte new file mode 100644 index 0000000000..7e47ba62b4 --- /dev/null +++ b/meta-oe/licenses/nbench-byte @@ -0,0 +1,10 @@ +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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-oe/licenses/unRAR b/meta-oe/licenses/unRAR new file mode 100644 index 0000000000..5f78b728da --- /dev/null +++ b/meta-oe/licenses/unRAR @@ -0,0 +1,41 @@ + ****** ***** ****** unRAR - free utility for RAR archives + ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ****** ******* ****** License for use and distribution of + ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ** ** ** ** ** ** FREE portable version + ~~~~~~~~~~~~~~~~~~~~~ + + The source code of unRAR utility is freeware. This means: + + 1. All copyrights to RAR and the utility unRAR are exclusively + owned by the author - Alexander Roshal. + + 2. The unRAR sources may be used in any software to handle RAR + archives without limitations free of charge, but cannot be used + to re-create the RAR compression algorithm, which is proprietary. + Distribution of modified unRAR sources in separate form or as a + part of other software is permitted, provided that it is clearly + stated in the documentation and source comments that the code may + not be used to develop a RAR (WinRAR) compatible archiver. + + 3. The unRAR utility may be freely distributed. No person or company + may charge a fee for the distribution of unRAR without written + permission from the copyright holder. + + 4. THE RAR ARCHIVER AND THE UNRAR UTILITY ARE DISTRIBUTED "AS IS". + NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED. YOU USE AT + YOUR OWN RISK. THE AUTHOR WILL NOT BE LIABLE FOR DATA LOSS, + DAMAGES, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING + OR MISUSING THIS SOFTWARE. + + 5. Installing and using the unRAR utility signifies acceptance of + these terms and conditions of the license. + + 6. If you don't agree with terms of the license you must remove + unRAR files from your storage devices and cease to use the + utility. + + Thank you for your interest in RAR and unRAR. + + + Alexander L. Roshal
\ No newline at end of file diff --git a/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch b/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch new file mode 100644 index 0000000000..e8a029790b --- /dev/null +++ b/meta-oe/recipes-benchmark/iperf/iperf-2.0.5/0001-fix-out-of-tree-config.patch @@ -0,0 +1,52 @@ +iperf: fix out of tree configuration + +The configure step uses a package header to check for support of types/declares, +this package header encapsulates all the required system header for providing +the needed resources. When configured from an out of tree directory the package +header is not found due to the hard path. +We now make the path for package header relative to our 'srcdir' so it is +found appropriately. + +Signed-off-by: Awais Belal <awais_belal@mentor.com> +--- +diff --git a/configure.ac b/configure.ac +index 2b3fd20..d420f9e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -176,8 +176,8 @@ dnl Check for system services + + dnl check for multicast + if test "$ac_cv_multicast" != no; then +- AC_CHECK_TYPES(struct ip_mreq,,,[#include "compat/headers_slim.h"]) +- AC_CHECK_DECLS(IP_ADD_MEMBERSHIP,,,[#include "compat/headers_slim.h"]) ++ AC_CHECK_TYPES(struct ip_mreq,,,[#include "${srcdir}/compat/headers_slim.h"]) ++ AC_CHECK_DECLS(IP_ADD_MEMBERSHIP,,,[#include "${srcdir}/compat/headers_slim.h"]) + AC_MSG_CHECKING(for multicast support) + ac_cv_multicast=no + if test "$ac_cv_have_decl_IP_ADD_MEMBERSHIP" = yes; then +@@ -193,9 +193,9 @@ fi + + dnl check for IPv6 + if test "$ac_cv_have_ipv6" != no; then +- AC_CHECK_TYPES(struct sockaddr_storage,,,[#include "compat/headers_slim.h"]) +- AC_CHECK_TYPES(struct sockaddr_in6,,,[#include "compat/headers_slim.h"]) +- AC_CHECK_DECLS(AF_INET6,,,[#include "compat/headers_slim.h"]) ++ AC_CHECK_TYPES(struct sockaddr_storage,,,[#include "${srcdir}/compat/headers_slim.h"]) ++ AC_CHECK_TYPES(struct sockaddr_in6,,,[#include "${srcdir}/compat/headers_slim.h"]) ++ AC_CHECK_DECLS(AF_INET6,,,[#include "${srcdir}/compat/headers_slim.h"]) + AC_MSG_CHECKING(for IPv6 headers and structures) + ac_cv_have_ipv6=no + if test "$ac_cv_type_struct_sockaddr_storage" = yes; then +@@ -211,9 +211,9 @@ fi + + if test "$ac_cv_have_ipv6" = yes; then + if test "$ac_cv_multicast" = yes; then +- AC_CHECK_TYPES(struct ipv6_mreq,,,[#include "compat/headers_slim.h"]) +- AC_CHECK_DECLS(IPV6_ADD_MEMBERSHIP,,,[#include "compat/headers_slim.h"]) +- AC_CHECK_DECLS(IPV6_MULTICAST_HOPS,,,[#include "compat/headers_slim.h"]) ++ AC_CHECK_TYPES(struct ipv6_mreq,,,[#include "${srcdir}/compat/headers_slim.h"]) ++ AC_CHECK_DECLS(IPV6_ADD_MEMBERSHIP,,,[#include "${srcdir}/compat/headers_slim.h"]) ++ AC_CHECK_DECLS(IPV6_MULTICAST_HOPS,,,[#include "${srcdir}/compat/headers_slim.h"]) + AC_MSG_CHECKING(for IPv6 multicast support) + ac_cv_have_ipv6_multicast=no + if test "$ac_cv_type_struct_ipv6_mreq" = yes; then diff --git a/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb b/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb index 1bd554bc90..20adc0db93 100644 --- a/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb +++ b/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb @@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e8478eae9f479e39bc34975193360298" SRC_URI = " ${SOURCEFORGE_MIRROR}/iperf/${BP}.tar.gz \ file://iperf-2.0.5_ManPage.patch \ + file://0001-fix-out-of-tree-config.patch \ " SRC_URI[md5sum] = "44b5536b67719f4250faed632a3cd016" diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch b/meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch new file mode 100644 index 0000000000..a27b61e01f --- /dev/null +++ b/meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch @@ -0,0 +1,19 @@ +Pass the 'foreign' option to automake to enable iperf3 to build. + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Ben Shelton <ben.shelton@ni.com> +--- + +diff -rupN iperf-3.0.10.old/configure.ac iperf-3.0.10/configure.ac +--- iperf-3.0.10.old/configure.ac 2014-12-16 13:39:58.000000000 -0600 ++++ iperf-3.0.10/configure.ac 2014-12-29 15:09:27.534992643 -0600 +@@ -32,7 +32,7 @@ AC_CONFIG_AUX_DIR(config) + + + # Initialize the automake system +-AM_INIT_AUTOMAKE ++AM_INIT_AUTOMAKE([foreign]) + + AM_MAINTAINER_MODE + AM_CONFIG_HEADER(src/config.h) diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3/fix-examples.patch b/meta-oe/recipes-benchmark/iperf3/iperf3/fix-examples.patch new file mode 100644 index 0000000000..445570dd4c --- /dev/null +++ b/meta-oe/recipes-benchmark/iperf3/iperf3/fix-examples.patch @@ -0,0 +1,107 @@ +The Makefiles for the examples only work properly when the build is +done in the same directory as the source. Fix this in Makefile.am and +run bootstrap.sh to regenerate Makefile.in. + +Upstream-Status: Pending [iperf-dev@googlegroups.com] + +Signed-off-by: Ben Shelton <ben.shelton@ni.com> +--- + +diff -rupN iperf-3.0.10.old/examples/Makefile.am iperf-3.0.10/examples/Makefile.am +--- iperf-3.0.10.old/examples/Makefile.am 2014-12-16 13:39:58.000000000 -0600 ++++ iperf-3.0.10/examples/Makefile.am 2014-12-29 17:12:02.238979626 -0600 +@@ -2,11 +2,13 @@ noinst_PROGRAMS = mic mis # Build, but + + mic_SOURCES = mic.c + mic_CFLAGS = -g +-mic_LDADD = ../src/libiperf.la ++mic_LDADD = $(top_builddir)/src/libiperf.la + mic_LDFLAGS = -g ++mic_CPPFLAGS = -I$(top_srcdir)/src + + mis_SOURCES = mis.c + mis_CFLAGS = -g +-mis_LDADD = ../src/libiperf.la ++mis_LDADD = $(top_builddir)/src/libiperf.la + mis_LDFLAGS = -g ++mis_CPPFLAGS = -I$(top_srcdir)/src + +diff -rupN iperf-3.0.10.old/examples/Makefile.in iperf-3.0.10/examples/Makefile.in +--- iperf-3.0.10.old/examples/Makefile.in 2014-12-16 13:39:58.000000000 -0600 ++++ iperf-3.0.10/examples/Makefile.in 2014-12-29 17:12:07.518979616 -0600 +@@ -94,7 +94,7 @@ CONFIG_CLEAN_VPATH_FILES = + PROGRAMS = $(noinst_PROGRAMS) + am_mic_OBJECTS = mic-mic.$(OBJEXT) + mic_OBJECTS = $(am_mic_OBJECTS) +-mic_DEPENDENCIES = ../src/libiperf.la ++mic_DEPENDENCIES = $(top_builddir)/src/libiperf.la + AM_V_lt = $(am__v_lt_@AM_V@) + am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) + am__v_lt_0 = --silent +@@ -104,7 +104,7 @@ mic_LINK = $(LIBTOOL) $(AM_V_lt) --tag=C + $(mic_LDFLAGS) $(LDFLAGS) -o $@ + am_mis_OBJECTS = mis-mis.$(OBJEXT) + mis_OBJECTS = $(am_mis_OBJECTS) +-mis_DEPENDENCIES = ../src/libiperf.la ++mis_DEPENDENCIES = $(top_builddir)/src/libiperf.la + mis_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(mis_CFLAGS) $(CFLAGS) \ + $(mis_LDFLAGS) $(LDFLAGS) -o $@ +@@ -286,12 +286,14 @@ top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + mic_SOURCES = mic.c + mic_CFLAGS = -g +-mic_LDADD = ../src/libiperf.la ++mic_LDADD = $(top_builddir)/src/libiperf.la + mic_LDFLAGS = -g ++mic_CPPFLAGS = -I$(top_srcdir)/src + mis_SOURCES = mis.c + mis_CFLAGS = -g +-mis_LDADD = ../src/libiperf.la ++mis_LDADD = $(top_builddir)/src/libiperf.la + mis_LDFLAGS = -g ++mis_CPPFLAGS = -I$(top_srcdir)/src + all: all-am + + .SUFFIXES: +@@ -375,32 +377,32 @@ distclean-compile: + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + + mic-mic.o: mic.c +-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -MT mic-mic.o -MD -MP -MF $(DEPDIR)/mic-mic.Tpo -c -o mic-mic.o `test -f 'mic.c' || echo '$(srcdir)/'`mic.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mic_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -MT mic-mic.o -MD -MP -MF $(DEPDIR)/mic-mic.Tpo -c -o mic-mic.o `test -f 'mic.c' || echo '$(srcdir)/'`mic.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mic-mic.Tpo $(DEPDIR)/mic-mic.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mic.c' object='mic-mic.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -c -o mic-mic.o `test -f 'mic.c' || echo '$(srcdir)/'`mic.c ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mic_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -c -o mic-mic.o `test -f 'mic.c' || echo '$(srcdir)/'`mic.c + + mic-mic.obj: mic.c +-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -MT mic-mic.obj -MD -MP -MF $(DEPDIR)/mic-mic.Tpo -c -o mic-mic.obj `if test -f 'mic.c'; then $(CYGPATH_W) 'mic.c'; else $(CYGPATH_W) '$(srcdir)/mic.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mic_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -MT mic-mic.obj -MD -MP -MF $(DEPDIR)/mic-mic.Tpo -c -o mic-mic.obj `if test -f 'mic.c'; then $(CYGPATH_W) 'mic.c'; else $(CYGPATH_W) '$(srcdir)/mic.c'; fi` + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mic-mic.Tpo $(DEPDIR)/mic-mic.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mic.c' object='mic-mic.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -c -o mic-mic.obj `if test -f 'mic.c'; then $(CYGPATH_W) 'mic.c'; else $(CYGPATH_W) '$(srcdir)/mic.c'; fi` ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mic_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -c -o mic-mic.obj `if test -f 'mic.c'; then $(CYGPATH_W) 'mic.c'; else $(CYGPATH_W) '$(srcdir)/mic.c'; fi` + + mis-mis.o: mis.c +-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -MT mis-mis.o -MD -MP -MF $(DEPDIR)/mis-mis.Tpo -c -o mis-mis.o `test -f 'mis.c' || echo '$(srcdir)/'`mis.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mis_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -MT mis-mis.o -MD -MP -MF $(DEPDIR)/mis-mis.Tpo -c -o mis-mis.o `test -f 'mis.c' || echo '$(srcdir)/'`mis.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mis-mis.Tpo $(DEPDIR)/mis-mis.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mis.c' object='mis-mis.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -c -o mis-mis.o `test -f 'mis.c' || echo '$(srcdir)/'`mis.c ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mis_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -c -o mis-mis.o `test -f 'mis.c' || echo '$(srcdir)/'`mis.c + + mis-mis.obj: mis.c +-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -MT mis-mis.obj -MD -MP -MF $(DEPDIR)/mis-mis.Tpo -c -o mis-mis.obj `if test -f 'mis.c'; then $(CYGPATH_W) 'mis.c'; else $(CYGPATH_W) '$(srcdir)/mis.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mis_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -MT mis-mis.obj -MD -MP -MF $(DEPDIR)/mis-mis.Tpo -c -o mis-mis.obj `if test -f 'mis.c'; then $(CYGPATH_W) 'mis.c'; else $(CYGPATH_W) '$(srcdir)/mis.c'; fi` + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mis-mis.Tpo $(DEPDIR)/mis-mis.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mis.c' object='mis-mis.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -c -o mis-mis.obj `if test -f 'mis.c'; then $(CYGPATH_W) 'mis.c'; else $(CYGPATH_W) '$(srcdir)/mis.c'; fi` ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mis_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -c -o mis-mis.obj `if test -f 'mis.c'; then $(CYGPATH_W) 'mis.c'; else $(CYGPATH_W) '$(srcdir)/mis.c'; fi` + + mostlyclean-libtool: + -rm -f *.lo diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb b/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb new file mode 100644 index 0000000000..b4d2b6193d --- /dev/null +++ b/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb @@ -0,0 +1,26 @@ +SUMMARY = "Network benchmark tool" +DESCRIPTION = "\ +iperf is a tool for active measurements of the maximum achievable bandwidth \ +on IP networks. It supports tuning of various parameters related to timing, \ +protocols, and buffers. For each test it reports the bandwidth, loss, and \ +other parameters." +HOMEPAGE = "http://software.es.net/iperf/" +SECTION = "console/network" +BUGTRACKER = "https://github.com/esnet/iperf/issues" +AUTHOR = "ESNET <info@es.net>, Lawrence Berkeley National Laboratory <websupport@lbl.gov>" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ab59a0c3a4bc3954d1ece68ea19d77a4" + +SRC_URI = "\ + git://github.com/esnet/iperf.git;branch=3.0-STABLE \ + file://automake-foreign.patch \ + file://fix-examples.patch \ +" + +PV = "3.0.10+gitr${SRCPV}" +SRCREV = "de420cc741dd8967ebc57f80b7712556442de81b" + +S = "${WORKDIR}/git" + +inherit autotools +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Makefile-Recognize-all-ix86-arches.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Makefile-Recognize-all-ix86-arches.patch new file mode 100644 index 0000000000..2718275112 --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Makefile-Recognize-all-ix86-arches.patch @@ -0,0 +1,32 @@ +From a0166583ba5f7b6a6d2de434f633126fb12c9d29 Mon Sep 17 00:00:00 2001 +From: "Gary S. Robertson" <gary.robertson@linaro.org> +Date: Wed, 24 Sep 2014 15:27:31 -0500 +Subject: [PATCH] Makefile: Recognize all ix86 arches + +In a non-native build scenario, the makefile +only recognized i386 or x86_64 arches. Added support +to recognize i486, i586, i686. + +Upstream Status: Accepted by libhugetlbfs project + +Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org> +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 91502e1..0bfaee8 100644 +--- a/Makefile ++++ b/Makefile +@@ -71,7 +71,7 @@ ELF64 = aarch64elf + TMPLIB64 = lib64 + CUSTOM_LDSCRIPTS = no + else +-ifeq ($(ARCH),i386) ++ifneq (,$(filter i386 i486 i586 i686,$(ARCH))) + CC32 = $(CC) + ELF32 = elf_i386 + TMPLIB32 = lib +-- +1.7.9.5 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-page-size-not-properly-computed.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-page-size-not-properly-computed.patch deleted file mode 100644 index da60ba0aee..0000000000 --- a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-page-size-not-properly-computed.patch +++ /dev/null @@ -1,32 +0,0 @@ -Subject: [PATCH] aarch64: fix page size not properly computed - -There's 2 issues fixed: -* typo on MB variable (MB -> $MB) -* some linker variants are missing (linux and big endian) - - aarch64elfb - - aarch64linux - - aarch64linuxb - -Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org> - -Upstream-Status: Submitted ---- - ld.hugetlbfs | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ld.hugetlbfs b/ld.hugetlbfs -index df446dd..6553547 100755 ---- a/ld.hugetlbfs -+++ b/ld.hugetlbfs -@@ -87,7 +87,7 @@ elf32ppclinux|elf64ppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;; - elf64lppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;; - elf_i386|elf_x86_64) HPAGE_SIZE=$((4*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; - elf_s390|elf64_s390) HPAGE_SIZE=$((1*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; --armelf_linux_eabi|aarch64elf) HPAGE_SIZE=$((2*MB)) SLICE_SIZE=$HPAGE_SIZE ;; -+armelf_linux_eabi|aarch64elf*|aarch64linux*) HPAGE_SIZE=$((2*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; - esac - - if [ "$HTLB_ALIGN" == "slice" ]; then --- -1.9.2 - diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch new file mode 100644 index 0000000000..4e5b7bbbbc --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch @@ -0,0 +1,57 @@ +From 1ab6f7f9b34fc745451140fc21db6763dffc5785 Mon Sep 17 00:00:00 2001 +From: "Gary S. Robertson" <gary.robertson@linaro.org> +Date: Thu, 25 Sep 2014 14:57:06 -0500 +Subject: [PATCH] ld.hugetlbfs: arm arches - fix page size and text offset + setup + +There's 3 issues fixed: +* typo on MB variable (MB -> $MB) +* some linker variants are missing (linux and big endian) + - armelfb_linux_eabi + - aarch64elfb + - aarch64linux + - aarch64linuxb +* text segment offset was not specified for armv7 BE + +NOTE: This patch replaces and makes obsolete the following previously + submitted patch: + + aarch64: fix page size not properly computed + by: Fathi Boudra <fathi.boudra@linaro.org> + +Upstream Status: Accepted at libhugetlbfs project + +Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org> +--- + ld.hugetlbfs | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/ld.hugetlbfs b/ld.hugetlbfs +index df446dd..4417442 100755 +--- a/ld.hugetlbfs ++++ b/ld.hugetlbfs +@@ -87,7 +87,7 @@ elf32ppclinux|elf64ppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;; + elf64lppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;; + elf_i386|elf_x86_64) HPAGE_SIZE=$((4*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; + elf_s390|elf64_s390) HPAGE_SIZE=$((1*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; +-armelf_linux_eabi|aarch64elf) HPAGE_SIZE=$((2*MB)) SLICE_SIZE=$HPAGE_SIZE ;; ++armelf*_linux_eabi|aarch64elf*|aarch64linux*) HPAGE_SIZE=$((2*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; + esac + + if [ "$HTLB_ALIGN" == "slice" ]; then +@@ -96,9 +96,9 @@ if [ "$HTLB_ALIGN" == "slice" ]; then + + # targeting the ARM platform one needs to explicitly set the text segment offset + # otherwise it will be NULL. +- if [ "$EMU" == "armelf_linux_eabi" ]; then +- HTLBOPTS="$HTLBOPTS -Ttext-segment=$SLICE_SIZE" +- fi ++ case "$EMU" in ++ armelf*_linux_eabi) HTLBOPTS="$HTLBOPTS -Ttext-segment=$SLICE_SIZE" ;; ++ esac + fi + + ${LD} "${args[@]}" ${HTLBOPTS} +-- +1.7.9.5 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb index 851b050ebb..4ce6a1901e 100644 --- a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb +++ b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb @@ -3,7 +3,8 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1" DEPENDS = "sysfsutils perl" -RDEPENDS_${PN} += "python python-io python-lang python-subprocess python-resource" +RDEPENDS_${PN} += "bash perl python python-io python-lang python-subprocess python-resource" +RDEPENDS_${PN}-tests += "bash" PV = "2.18" PE = "1" @@ -15,9 +16,10 @@ SRC_URI = "git://git.code.sf.net/p/libhugetlbfs/code \ file://tests-Makefile-install-static-4G-edge-testcases.patch \ file://0001-run_test.py-not-use-hard-coded-path-.-obj-hugeadm.patch \ file://0001-aarch64-fix-cross-compilation.patch \ - file://0001-aarch64-fix-page-size-not-properly-computed.patch \ + file://0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch \ file://0001-replace-lib-lib64-hardcoded-values-by-LIBDIR32-LIBDI.patch \ file://0001-Extend-arm32-support-to-include-BE-variants.patch \ + file://0001-Makefile-Recognize-all-ix86-arches.patch \ " S = "${WORKDIR}/git" diff --git a/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb index a98d5075cd..2eedd7e313 100644 --- a/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb +++ b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb @@ -2,7 +2,7 @@ DESCRIPTION = "BYTE Magazine's native benchmarks (also called BYTEmark) \ designed to expose the capabilities of a system's CPU, FPU, \ and memory system." HOMEPAGE = "http://www.tux.org/~mayer/linux/" -LICENSE = "freely distributable" +LICENSE = "nbench-byte" LIC_FILES_CHKSUM = "file://README;beginline=57;endline=66;md5=020ef579f8fa5746b7e307a54707834f" SECTION = "console/utils" diff --git a/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb b/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb index 4826452866..acae8689d5 100644 --- a/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb +++ b/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb @@ -9,7 +9,7 @@ DEPENDS = "glib-2.0" X11DEPENDS = " libxpm gtk+" PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" -PACKAGECONFIG[bluez] = "--enable-bluetooth,--disable-bluetooth,bluez4" +PACKAGECONFIG[bluez4] = "--enable-bluetooth,--disable-bluetooth,bluez4" PACKAGECONFIG[libical] = "--enable-libical,--disable-libical,libical" PACKAGECONFIG[pcsc-lite] = "--enable-libpcsclite,--disable-libpcsclite,pcsc-lite" PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" diff --git a/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init index 79f74b681e..8ba4e07940 100644 --- a/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init +++ b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init @@ -8,6 +8,23 @@ test -f $DAEMON || exit 0 set -e +# source function library +. /etc/init.d/functions + +delay_stop() { + count=0 + while [ $count -lt 9 ] ; do + if pidof $DAEMON >/dev/null; then + sleep 1 + else + return 0 + fi + count=`expr $count + 1` + done + echo "Failed to stop $DESC." + return 1 +} + case "$1" in start) echo -n "Starting $DESC: " @@ -16,20 +33,24 @@ case "$1" in ;; stop) echo -n "Stopping $DESC: " - start-stop-daemon -K -x $DAEMON + start-stop-daemon -K --oknodo -x $DAEMON echo "$NAME." ;; restart) $0 stop - $0 start + delay_stop && $0 start ;; reload) echo -n "Reloading $DESC: " killall -HUP $(basename ${DAEMON}) echo "$NAME." ;; + status) + status $DAEMON + exit $? + ;; *) - echo "Usage: $0 {start|stop|restart|reload}" + echo "Usage: $0 {start|stop|restart|reload|status}" exit 1 ;; esac diff --git a/meta-oe/recipes-connectivity/krb5/krb5/0001-Return-only-new-keys-in-randkey-CVE-2014-5351.patch b/meta-oe/recipes-connectivity/krb5/krb5/0001-Return-only-new-keys-in-randkey-CVE-2014-5351.patch new file mode 100644 index 0000000000..08526610aa --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/0001-Return-only-new-keys-in-randkey-CVE-2014-5351.patch @@ -0,0 +1,92 @@ +From af0ed4df4dfae762ab5fb605f5a0c8f59cb4f6ca Mon Sep 17 00:00:00 2001 +From: Greg Hudson <ghudson@mit.edu> +Date: Thu, 21 Aug 2014 13:52:07 -0400 +Subject: [PATCH] Return only new keys in randkey [CVE-2014-5351] + +In kadmind's randkey operation, if a client specifies the keepold +flag, do not include the preserved old keys in the response. + +CVE-2014-5351: + +An authenticated remote attacker can retrieve the current keys for a +service principal when generating a new set of keys for that +principal. The attacker needs to be authenticated as a user who has +the elevated privilege for randomizing the keys of other principals. + +Normally, when a Kerberos administrator randomizes the keys of a +service principal, kadmind returns only the new keys. This prevents +an administrator who lacks legitimate privileged access to a service +from forging tickets to authenticate to that service. If the +"keepold" flag to the kadmin randkey RPC operation is true, kadmind +retains the old keys in the KDC database as intended, but also +unexpectedly returns the old keys to the client, which exposes the +service to ticket forgery attacks from the administrator. + +A mitigating factor is that legitimate clients of the affected service +will start failing to authenticate to the service once they begin to +receive service tickets encrypted in the new keys. The affected +service will be unable to decrypt the newly issued tickets, possibly +alerting the legitimate administrator of the affected service. + +CVSSv2: AV:N/AC:H/Au:S/C:P/I:N/A:N/E:POC/RL:OF/RC:C + +[tlyu@mit.edu: CVE description and CVSS score] + +ticket: 8018 (new) +target_version: 1.13 +tags: pullup + +Upstream-Status: Backport +--- + src/lib/kadm5/srv/svr_principal.c | 21 ++++++++++++++++++--- + 1 files changed, 18 insertions(+), 3 deletions(-) + +diff --git a/lib/kadm5/srv/svr_principal.c b/lib/kadm5/srv/svr_principal.c +index 5d358bd..d4e74cc 100644 +--- a/lib/kadm5/srv/svr_principal.c ++++ b/lib/kadm5/srv/svr_principal.c +@@ -344,6 +344,20 @@ check_1_6_dummy(kadm5_principal_ent_t entry, long mask, + *passptr = NULL; + } + ++/* Return the number of keys with the newest kvno. Assumes that all key data ++ * with the newest kvno are at the front of the key data array. */ ++static int ++count_new_keys(int n_key_data, krb5_key_data *key_data) ++{ ++ int n; ++ ++ for (n = 1; n < n_key_data; n++) { ++ if (key_data[n - 1].key_data_kvno != key_data[n].key_data_kvno) ++ return n; ++ } ++ return n_key_data; ++} ++ + kadm5_ret_t + kadm5_create_principal(void *server_handle, + kadm5_principal_ent_t entry, long mask, +@@ -1593,7 +1607,7 @@ kadm5_randkey_principal_3(void *server_handle, + osa_princ_ent_rec adb; + krb5_int32 now; + kadm5_policy_ent_rec pol; +- int ret, last_pwd; ++ int ret, last_pwd, n_new_keys; + krb5_boolean have_pol = FALSE; + kadm5_server_handle_t handle = server_handle; + krb5_keyblock *act_mkey; +@@ -1686,8 +1700,9 @@ kadm5_randkey_principal_3(void *server_handle, + kdb->fail_auth_count = 0; + + if (keyblocks) { +- ret = decrypt_key_data(handle->context, +- kdb->n_key_data, kdb->key_data, ++ /* Return only the new keys added by krb5_dbe_crk. */ ++ n_new_keys = count_new_keys(kdb->n_key_data, kdb->key_data); ++ ret = decrypt_key_data(handle->context, n_new_keys, kdb->key_data, + keyblocks, n_keys); + if (ret) + goto done; +-- +1.7.4.1 + diff --git a/meta-oe/recipes-connectivity/krb5/krb5_1.12.2.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.12.2.bb index 0b14d3cdf6..c492496b64 100644 --- a/meta-oe/recipes-connectivity/krb5/krb5_1.12.2.bb +++ b/meta-oe/recipes-connectivity/krb5/krb5_1.12.2.bb @@ -22,6 +22,7 @@ inherit autotools-brokensep binconfig perlnative SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}-signed.tar \ file://0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch \ + file://0001-Return-only-new-keys-in-randkey-CVE-2014-5351.patch \ file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \ file://crosscompile_nm.patch \ file://etc/init.d/krb5-kdc \ @@ -32,7 +33,7 @@ SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}-signed.tar SRC_URI[md5sum] = "357f1312b7720a0a591e22db0f7829fe" SRC_URI[sha256sum] = "09bd180107b5c2b3b7378c57c023fb02a103d4cac39d6f2dd600275d7a4f3744" -S = "${WORKDIR}/${P}/src/" +S = "${WORKDIR}/${BP}/src/" PACKAGECONFIG ??= "openssl" PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit" @@ -53,9 +54,12 @@ FILES_${PN} += "${datadir}/gnats" FILES_${PN}-doc += "${datadir}/examples" FILES_${PN}-dbg += "${libdir}/krb5/plugins/*/.debug" +# As this recipe doesn't inherit update-rc.d, we need to add this dependency here +RDEPENDS_${PN} += "initscripts-functions" + krb5_do_unpack() { # ${P}-signed.tar contains ${P}.tar.gz.asc and ${P}.tar.gz - tar xzf ${WORKDIR}/${P}.tar.gz -C ${WORKDIR}/ + tar xzf ${WORKDIR}/${BP}.tar.gz -C ${WORKDIR}/ } python do_unpack() { diff --git a/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb b/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb index 9f2cc49708..5256ce0d29 100644 --- a/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb +++ b/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "\ #| configure:17888: checking for native large file support #| configure:17891: error: in `/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/core2-64-oe-linux/libimobiledevice/1.1.4-r0/libimobiledevice-1.1.4': #| configure:17893: error: cannot run test program while cross compiling -PNBLACKLIST[libimobiledevice] = "cannot run test program while cross compiling" +PNBLACKLIST[libimobiledevice] ?= "cannot run test program while cross compiling" HOMEPAGE ="http://www.libimobiledevice.org/" diff --git a/meta-oe/recipes-connectivity/libmbim/libmbim_1.12.2.bb b/meta-oe/recipes-connectivity/libmbim/libmbim_1.12.2.bb new file mode 100644 index 0000000000..4364bb0e02 --- /dev/null +++ b/meta-oe/recipes-connectivity/libmbim/libmbim_1.12.2.bb @@ -0,0 +1,16 @@ +SUMMARY = "libmbim is library for talking to WWAN devices by MBIM protocol" +DESCRIPTION = "libmbim is a glib-based library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libmbim/" +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ +" + +DEPENDS = "glib-2.0 udev" + +inherit autotools pkgconfig + +SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz" +SRC_URI[md5sum] = "921fb5ab3f13f1e00833e009d8f3b4f6" +SRC_URI[sha256sum] = "949351d3e3d69b81e40a49f1d187944c26149e0647a415f0227ccdc112047b29" diff --git a/meta-oe/recipes-connectivity/libqmi/libqmi_1.12.2.bb b/meta-oe/recipes-connectivity/libqmi/libqmi_1.12.2.bb new file mode 100644 index 0000000000..789692b581 --- /dev/null +++ b/meta-oe/recipes-connectivity/libqmi/libqmi_1.12.2.bb @@ -0,0 +1,16 @@ +SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol" +DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi" +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ +" + +DEPENDS = "glib-2.0" + +inherit autotools pkgconfig + +SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz" +SRC_URI[md5sum] = "5b3b6b37a57e2fa828fd4cb6f86d7a9f" +SRC_URI[sha256sum] = "d1661d73b510482b29b93b7e396756c433d35360b3d44c72afa7921339a98624" diff --git a/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.4.2.bb b/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.4.2.bb new file mode 100644 index 0000000000..6dfd0e256f --- /dev/null +++ b/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.4.2.bb @@ -0,0 +1,40 @@ +SUMMARY = "ModemManager is a daemon controlling broadband devices/connections" +DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/" +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ +" + +inherit autotools gettext gtk-doc systemd + +DEPENDS = "glib-2.0 libmbim libqmi polkit udev dbus-glib" + +SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz" +SRC_URI[md5sum] = "fe74eaa9a77e51e552b4356b4c7195cb" +SRC_URI[sha256sum] = "07d332fbe6f45f788f740810951e04042aaf023bd5ecf8ef0b3a06e37703585d" + +S = "${WORKDIR}/ModemManager-${PV}" + +FILES_${PN} += " \ + ${datadir}/icons \ + ${datadir}/polkit-1 \ + ${libdir}/ModemManager \ + ${systemd_unitdir}/system \ +" + +FILES_${PN}-dev += " \ + ${datadir}/dbus-1 \ + ${libdir}/ModemManager/*.la \ +" + +FILES_${PN}-staticdev += " \ + ${libdir}/ModemManager/*.a \ +" + +FILES_${PN}-dbg += "${libdir}/ModemManager/.debug" + +SYSTEMD_SERVICE_${PN} = "ModemManager.service" +# no need to start on boot - dbus will start on demand +SYSTEMD_AUTO_ENABLE = "disable" diff --git a/meta-oe/recipes-connectivity/networkmanager/modemmanager_0.6.0.0.bb b/meta-oe/recipes-connectivity/networkmanager/modemmanager_0.6.0.0.bb deleted file mode 100644 index 5ff18da057..0000000000 --- a/meta-oe/recipes-connectivity/networkmanager/modemmanager_0.6.0.0.bb +++ /dev/null @@ -1,29 +0,0 @@ -DEPENDS = "ppp udev glib-2.0 dbus-glib" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - - -inherit gnomebase gettext - -SRC_URI = "${GNOME_MIRROR}/ModemManager/${@gnome_verdir("${PV}")}/ModemManager-${PV}.tar.xz" - -SRC_URI[md5sum] = "f32640f6672d997ec0887307186e9639" -SRC_URI[sha256sum] = "d4468300cf4aa7baf21c8564fa515e578056f34de5a64f452b053331f89e8ae2" - -S = "${WORKDIR}/ModemManager-${PV}" - -FILES_${PN}-dbg += "${libdir}/ModemManager/.debug \ - ${libdir}/pppd/*/.debug" -FILES_${PN}-dev += "${datadir}/dbus-1/interfaces \ - ${libdir}/pppd/*/*.la \ - ${libdir}/ModemManager/*.la" -FILES_${PN}-staticdev += "\ - ${libdir}/ModemManager/*.a \ - ${libdir}/pppd/*/*.a" -FILES_${PN} += "${datadir}/dbus-1/*services/ \ - ${libdir}/ModemManager/*.so \ - ${libdir}/pppd/*/*.so \ - ${base_libdir}/udev" - -RRECOMMENDS_${PN} += "ppp" diff --git a/meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.10.bb b/meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.10.bb index 0792e8ed17..8d37c980e0 100644 --- a/meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.10.bb +++ b/meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.10.bb @@ -30,6 +30,7 @@ EXTRA_OECONF = " \ --with-dhclient=${base_sbindir}/dhclient \ --with-iptables=${sbindir}/iptables \ --with-tests \ + --with-dnsmasq=${bindir}/dnsmasq \ " PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES','systemd','systemd','consolekit',d)}" @@ -80,7 +81,7 @@ FILES_${PN} += " \ ${systemd_unitdir}/system/NetworkManager-wait-online.service \ " -RRECOMMENDS_${PN} += "iptables" +RRECOMMENDS_${PN} += "iptables dnsmasq" RCONFLICTS_${PN} = "connman" RDEPENDS_${PN} = " \ wpa-supplicant \ diff --git a/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb b/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb index 4a2b2b1d60..afe6106890 100644 --- a/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb +++ b/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb @@ -3,6 +3,7 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" DEPENDS = "gtk+ bluez4 dbus-glib imagemagick openobex" +RCONFLICTS_${PN} = "bluez5" SRC_URI = "http://tadas.dailyda.com/software/obex-data-server-${PV}.tar.gz" SRC_URI[md5sum] = "961ca5db6fe9c97024e133cc6203cc4d" diff --git a/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.5.0.bb b/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.5.2.bb index 91acb1d3c2..762ecd6279 100644 --- a/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.5.0.bb +++ b/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.5.2.bb @@ -4,8 +4,8 @@ LIC_FILES_CHKSUM = "file://LICENSE-MIT;md5=6b7424f9db80cfb11fdd5c980b583f53" LICENSE = "MIT" SRC_URI = "https://github.com/alanxz/${BPN}/releases/download/v${PV}/${BP}.tar.gz" -SRC_URI[md5sum] = "b1f902c658c772cda464754678d8deb6" -SRC_URI[sha256sum] = "53702ea2ab809af0f923e387458e2cad191d9549f50410035fe82ce5e6ccc4fa" +SRC_URI[md5sum] = "aa8d4d0b949f508c0da25a9c20bd7da7" +SRC_URI[sha256sum] = "1ec3c1141593b91c57bf1051657a1d64fb87da38760c7128a9622b107990f2f2" DEPENDS = "popt openssl" diff --git a/meta-oe/recipes-connectivity/rfkill/rfkill_0.4.bb b/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb index a9f523cbef..3e644760ce 100644 --- a/meta-oe/recipes-connectivity/rfkill/rfkill_0.4.bb +++ b/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb @@ -1,20 +1,20 @@ -SUMMARY = "rfkill CLI utility" +SUMMARY = "Radio enable/disable command line utility" HOMEPAGE = "http://linuxwireless.org/en/users/Documentation/rfkill" SECTION = "base" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=c6036d0eb7edbfced28c4160e5d3fa94" -PR = "r1" -SRC_URI = "http://wireless.kernel.org/download/${BPN}/${BP}.tar.bz2 \ +SRC_URI = "http://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.bz2 \ file://0001-rfkill-makefile-don-t-use-t-the-OE-install-wrapper-d.patch \ file://dont.call.git.rev-parse.on.parent.dir.patch" -SRC_URI[md5sum] = "727892c0fb35c80ee3849fbe89b45350" -SRC_URI[sha256sum] = "ca10e4827a5f0a36e093aee6ad81b5febf81f8097d7d858889ac51ff364168c1" +SRC_URI[md5sum] = "b957713a6cfbcd8ac0e94420aeddcf1a" +SRC_URI[sha256sum] = "3e160cca504a53679f2b3254f31c53a4fb38a021bc50fed8eb57a436d33dfa07" do_compile() { oe_runmake } + do_install() { oe_runmake DESTDIR=${D} install } diff --git a/meta-oe/recipes-connectivity/samba/samba-basic.inc b/meta-oe/recipes-connectivity/samba/samba-basic.inc index d0fa8e603e..e9f891f8c3 100644 --- a/meta-oe/recipes-connectivity/samba/samba-basic.inc +++ b/meta-oe/recipes-connectivity/samba/samba-basic.inc @@ -40,6 +40,7 @@ FILES_winbind = "${sbindir}/winbindd \ ${bindir}/wbinfo \ ${bindir}/ntlm_auth \ ${sysconfdir}/init.d/winbind \ + ${systemd_unitdir}/system/winbind.service \ " FILES_libwinbind = "${libdir}/idmap/*.so \ ${libdir}/pdb \ diff --git a/meta-oe/recipes-connectivity/samba/samba.inc b/meta-oe/recipes-connectivity/samba/samba.inc index 3da056223b..abfd5ca7ba 100644 --- a/meta-oe/recipes-connectivity/samba/samba.inc +++ b/meta-oe/recipes-connectivity/samba/samba.inc @@ -2,17 +2,33 @@ SECTION = "console/network" LICENSE = "GPL-3.0" DEPENDS = "readline virtual/libiconv zlib popt" -SRC_URI = "http://samba.org/samba/ftp/stable/samba-${PV}.tar.gz \ +SAMBA_MIRROR = "http://samba.org/samba/ftp" + +MIRRORS += "\ +${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \ +${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \ +" + +SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \ file://volatiles.03_samba \ file://smb.conf \ file://init.samba \ file://init.winbind \ file://tdb.pc \ + file://nmb.service \ + file://smb.service \ + file://winbind.service \ " S = "${WORKDIR}/samba-${PV}/source" -inherit autotools-brokensep update-rc.d +inherit autotools-brokensep update-rc.d systemd + +SYSTEMD_PACKAGES = "${PN} winbind" +SYSTEMD_SERVICE_${PN} = "nmb.service smb.service" +SYSTEMD_SERVICE_winbind = "winbind.service" +SYSTEMD_AUTO_ENABLE_${PN} = "disable" +SYSTEMD_AUTO_ENABLE_winbind = "disable" SAMBAMMAP = "no" SAMBAMMAP_libc-glibc = "yes" @@ -28,7 +44,7 @@ EXTRA_OECONF='--disable-cups \ --with-privatedir=${sysconfdir}/samba/private \ --with-lockdir=${localstatedir}/lock \ --with-piddir=${localstatedir}/run \ - --with-logfilebase=${localstatedir}/log \ + --with-logfilebase=${localstatedir}/log/samba \ --libdir=${libdir} \ --with-mandir=${mandir} \ --with-swatdir=${datadir}/swat \ @@ -44,6 +60,8 @@ PACKAGECONFIG = "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam" PACKAGECONFIG[fam] = "--enable-fam,--disable-fam,gamin" PACKAGECONFIG[talloc] = "--enable-external-libtalloc --with-libtalloc, --disable-external-libtalloc --without-libtalloc, talloc" +PACKAGECONFIG[valgrind] = "ac_cv_header_valgrind_valgrind_h=yes ac_cv_header_valgrind_memcheck_h=yes, \ + ac_cv_header_valgrind_valgrind_h=no ac_cv_header_valgrind_memcheck_h=no, valgrind" INITSCRIPT_PACKAGES = "samba winbind" INITSCRIPT_NAME_samba = "samba" @@ -103,6 +121,35 @@ do_install_append() { # usershare mount place mkdir -p ${D}${localstatedir}/lib/samba/usershares + + # Remove sysinit script if sysvinit is not in DISTRO_FEATURES + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}; then + rm -rf ${D}${sysconfdir}/init.d/ + fi + + install -d ${D}${systemd_unitdir}/system + for i in nmb smb winbind; do + install -m 0644 ${WORKDIR}/$i.service ${D}${systemd_unitdir}/system + done + sed -e 's,@BASE_BINDIR@,${base_bindir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + -i ${D}${systemd_unitdir}/system/*.service + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d ${localstatedir}/log/samba 0755 root root -" \ + > ${D}${sysconfdir}/tmpfiles.d/99-${BPN}.conf + fi +} + +DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-systemctl-native', '', d)}" +pkg_postinst_${PN} () { + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd sysvinit', 'true', 'false', d)}; then + if [ -n "$D" ]; then + OPTS="--root=$D" + fi + systemctl $OPTS mask samba.service + fi } pkg_postinst_libnss-winbind () { diff --git a/meta-oe/recipes-connectivity/samba/samba/nmb.service b/meta-oe/recipes-connectivity/samba/samba/nmb.service new file mode 100644 index 0000000000..91b997533d --- /dev/null +++ b/meta-oe/recipes-connectivity/samba/samba/nmb.service @@ -0,0 +1,12 @@ +[Unit] +Description=Samba NMB Daemon +After=syslog.target network.target + +[Service] +Type=forking +PIDFile=/var/run/nmbd.pid +ExecStart=@SBINDIR@/nmbd +ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-connectivity/samba/samba/smb.service b/meta-oe/recipes-connectivity/samba/samba/smb.service new file mode 100644 index 0000000000..bc0707a343 --- /dev/null +++ b/meta-oe/recipes-connectivity/samba/samba/smb.service @@ -0,0 +1,13 @@ +[Unit] +Description=Samba SMB Daemon +After=syslog.target network.target nmb.service winbind.service + +[Service] +Type=forking +PIDFile=/var/run/smbd.pid +LimitNOFILE=16384 +ExecStart=@SBINDIR@/smbd +ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-connectivity/samba/samba/winbind.service b/meta-oe/recipes-connectivity/samba/samba/winbind.service new file mode 100644 index 0000000000..bff6fb8e19 --- /dev/null +++ b/meta-oe/recipes-connectivity/samba/samba/winbind.service @@ -0,0 +1,12 @@ +i[Unit] +Description=Samba Winbind Daemon +After=syslog.target network.target nmb.service + +[Service] +Type=forking +PIDFile=/var/run/winbindd.pid +ExecStart=@SBINDIR@/winbindd +ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-connectivity/soft66/soft66_git.bb b/meta-oe/recipes-connectivity/soft66/soft66_git.bb index 050bf98aa2..b6495267c9 100644 --- a/meta-oe/recipes-connectivity/soft66/soft66_git.bb +++ b/meta-oe/recipes-connectivity/soft66/soft66_git.bb @@ -1,9 +1,9 @@ SUMMARY = "Library and tools for Soft66ADD and related SDR radio receivers" -LICENSE = "GPLv3 LGPLv3+" +LICENSE = "GPLv3 & LGPLv3+" LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \ file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 " -PNBLACKLIST[soft66] = "BROKEN: depends on broken libftdi" +PNBLACKLIST[soft66] ?= "BROKEN: depends on broken libftdi" DEPENDS = "libftdi" diff --git a/meta-oe/recipes-connectivity/telepathy/libtelepathy/doublefix.patch b/meta-oe/recipes-connectivity/telepathy/libtelepathy/doublefix.patch new file mode 100644 index 0000000000..a7737fbf03 --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/libtelepathy/doublefix.patch @@ -0,0 +1,18 @@ +Fix double reference to this file to work with recent autoconf+automake + +RP 1/2/10 + +Upstream-Status: Inappropriate [configuration] + +Index: libtelepathy-0.3.3/src/Makefile.am +=================================================================== +--- libtelepathy-0.3.3.orig/src/Makefile.am 2010-02-01 13:13:50.869038984 +0000 ++++ libtelepathy-0.3.3/src/Makefile.am 2010-02-01 13:14:23.267789456 +0000 +@@ -27,7 +27,6 @@ + tp-chan-type-text-gen.h \ + tp-chan-type-tubes-gen.h \ + tp-conn-iface-aliasing-gen.h \ +- tp-conn-iface-avatars-gen.h \ + tp-conn-iface-capabilities-gen.h \ + tp-conn-iface-contact-info-gen.h \ + tp-conn-iface-forwarding-gen.h \ diff --git a/meta-oe/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch b/meta-oe/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch new file mode 100644 index 0000000000..37679ab761 --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch @@ -0,0 +1,15 @@ +Upstream-Status: Inappropriate [configuration] + +Index: libtelepathy-0.3.1/configure.ac +=================================================================== +--- libtelepathy-0.3.1.orig/configure.ac 2007-11-22 19:05:56.000000000 +0000 ++++ libtelepathy-0.3.1/configure.ac 2008-01-04 12:07:28.000000000 +0000 +@@ -51,7 +51,7 @@ + AC_MSG_ERROR([xsltproc (from the libxslt source package) is required]) + fi + +-AC_CHECK_PROGS([PYTHON], [python2.3 python2.4 python2.5 python]) ++AC_CHECK_PROGS([PYTHON], [python2.5 python2.4 python2.3 python]) + if test -z "$PYTHON"; then + AC_MSG_ERROR([Python is required to compile this package]) + fi diff --git a/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb b/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb new file mode 100644 index 0000000000..f13e7093c8 --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb @@ -0,0 +1,23 @@ +SUMMARY = "Telepathy framework" +DESCRIPTION = "Telepathy is a D-Bus framework for unifying real time \ +communication, including instant messaging, voice calls and video calls. It \ +abstracts differences between protocols to provide a unified interface for \ +applications." +HOMEPAGE = "http://telepathy.freedesktop.org/wiki/" +DEPENDS = "glib-2.0 dbus dbus-glib telepathy-glib libxslt-native" +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ + file://src/tp-conn.c;beginline=1;endline=19;md5=4c58069f77d601cc59200bce5396c7cb" +PR = "r5" + +SRC_URI = "http://telepathy.freedesktop.org/releases/libtelepathy/libtelepathy-${PV}.tar.gz \ + file://prefer_python_2.5.patch \ + file://doublefix.patch" + +SRC_URI[md5sum] = "490ca1a0c614d4466394b72d43bf7370" +SRC_URI[sha256sum] = "e0d230be855125163579743418203c6f6be2f10f98c4f065735c1dc9ed115878" + +inherit autotools pkgconfig pythonnative + +FILES_${PN} += "${datadir}/telepathy \ + ${datadir}/dbus-1" diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.0.bb b/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.0.bb new file mode 100644 index 0000000000..6b8c20c381 --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "Telepathy Framework glib-base helper library" +DESCRIPTION = "Telepathy Framework: GLib-based helper library for connection managers" +HOMEPAGE = "http://telepathy.freedesktop.org/wiki/" +DEPENDS = "glib-2.0 dbus python-native-runtime dbus-native dbus-glib libxslt-native" +LICENSE = "LGPLv2.1+" + +SRC_URI = "http://telepathy.freedesktop.org/releases/telepathy-glib/${BP}.tar.gz" +SRC_URI[md5sum] = "93c429e37750b25dcf8de86bb514664f" +SRC_URI[sha256sum] = "ae0002134991217f42e503c43dea7817853afc18863b913744d51ffa029818cf" + +LIC_FILES_CHKSUM = "file://COPYING;md5=e413d83db6ee8f2c8e6055719096a48e" + +inherit autotools pkgconfig gettext + +FILES_${PN} += "${datadir}/telepathy \ + ${datadir}/dbus-1" diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-idle/fix-svc-gtk-doc.h-target.patch b/meta-oe/recipes-connectivity/telepathy/telepathy-idle/fix-svc-gtk-doc.h-target.patch new file mode 100644 index 0000000000..2cd2c78c31 --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/telepathy-idle/fix-svc-gtk-doc.h-target.patch @@ -0,0 +1,15 @@ +Upstream-Status: Pending + +Signed-off-by: Constantin Musca <constantinx.musca@intel.com> +--- a/extensions/Makefile.am ++++ b/extensions/Makefile.am +@@ -37,8 +37,8 @@ _gen/all.xml: all.xml $(wildcard $(srcdi + --xinclude $(tools_dir)/identity.xsl \ + $< > $@ + +-extensions.html: _gen/all.xml $(tools_dir)/doc-generator.xsl ++extensions.html _gen/svc-gtk-doc.h: _gen/all.xml $(tools_dir)/doc-generator.xsl + $(AM_V_GEN)$(XSLTPROC) $(XSLTPROCFLAGS) \ + $(tools_dir)/doc-generator.xsl \ + $< > $@ + diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb b/meta-oe/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb new file mode 100644 index 0000000000..ca09f6daf3 --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "Telepathy IRC connection manager" +DESCRIPTION = "Telepathy implementation of the Internet Relay Chat protocols." +HOMEPAGE = "http://telepathy.freedesktop.org/wiki/" +DEPENDS = "glib-2.0 dbus telepathy-glib openssl libxslt-native" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://src/idle.c;beginline=1;endline=19;md5=b06b1e2594423111a1a7910b0eefc7f9" + +SRC_URI = "http://telepathy.freedesktop.org/releases/${BPN}/${BPN}-${PV}.tar.gz \ + file://fix-svc-gtk-doc.h-target.patch" +SRC_URI[md5sum] = "92a2de5198284cbd3c430b0d1a971a86" +SRC_URI[sha256sum] = "3013ad4b38d14ee630b8cc8ada5e95ccaa849b9a6fe15d2eaf6d0717d76f2fab" + +inherit autotools pkgconfig pythonnative + +FILES_${PN} += "${datadir}/telepathy \ + ${datadir}/dbus-1" diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch b/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch new file mode 100644 index 0000000000..ece1da6bc3 --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch @@ -0,0 +1,76 @@ +From: Robert Yang <liezhi.yang@windriver.com> +Date: Sun, 22 Sep 2013 23:21:01 -0400 +Subject: [PATCH] src/Makefile.am: fix race issue for _gen/gtypes.h and _gen/gtypes-body.h + +There might be an error when parallel build: + +[snip] +Traceback (most recent call last): + File "/path/to/tools/glib-gtypes-generator.py", line 304, in <module> + GTypesGenerator(dom, argv[1], argv[2])() + File "/path/to/tools/glib-gtypes-generator.py", line 295, in __call__ + file_set_contents(self.output + '.h', ''.join(self.header)) + File "/path/to/tools/libtpcodegen.py", line 42, in file_set_contents + os.rename(filename + '.tmp', filename) +OSError: [Errno 2] No such file or directory +[snip] + +This is a race issue, the _gen/gtypes.h and _gen/gtypes-body.h may +write(remove/rename) _gen/gtypes.tmp at the same time, then there would +be the error. + +There was a similar bug in telepathy-glib which was already fixed, we use the +similar patch to fix it. + +Upstream-Status: Pending + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + src/Makefile.am | 18 +++++++++++++++--- + 1 file changed, 15 insertions(+), 3 deletions(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -288,7 +288,11 @@ _gen/interfaces-body.h: _gen/mcd.xml \ + $(tools_dir)/glib-interfaces-body-generator.xsl \ + $< > $@ + +-_gen/gtypes.h _gen/gtypes-body.h: _gen/mcd.xml \ ++# do nothing, output as a side-effect ++_gen/gtypes.h: _gen/gtypes-body.h ++ @: ++ ++_gen/gtypes-body.h: _gen/mcd.xml \ + $(top_srcdir)/tools/glib-gtypes-generator.py + $(AM_V_GEN)$(PYTHON) $(top_srcdir)/tools/glib-gtypes-generator.py \ + $< _gen/gtypes mc +@@ -309,7 +313,11 @@ _gen/%.xml: %.xml $(wildcard $(top_srcdir)/xml/*.xml) Makefile.am + $(AM_V_GEN)$(XSLTPROC) $(XSLTPROCFLAGS) --xinclude $(tools_dir)/identity.xsl \ + $< > $@ + +-_gen/cli-%-body.h _gen/cli-%.h: _gen/%.xml \ ++# do nothing, output as a side-effect ++_gen/cli-%.h: _gen/cli-%-body.h ++ @: ++ ++_gen/cli-%-body.h: _gen/%.xml \ + $(tools_dir)/glib-client-gen.py Makefile.am + $(AM_V_GEN)$(PYTHON) $(tools_dir)/glib-client-gen.py \ + --group=`echo $* | tr x- x_` \ +@@ -317,7 +325,11 @@ _gen/cli-%-body.h _gen/cli-%.h: _gen/%.xml \ + --tp-proxy-api=0.7.6 \ + $< Mc_Cli _gen/cli-$* + +-_gen/svc-%.c _gen/svc-%.h: _gen/%.xml \ ++# do nothing, output as a side-effect ++_gen/svc-%.h: _gen/svc-%.c ++ @: ++ ++_gen/svc-%.c: _gen/%.xml \ + $(tools_dir)/glib-ginterface-gen.py Makefile.am + $(AM_V_GEN)$(PYTHON) $(tools_dir)/glib-ginterface-gen.py \ + --filename=_gen/svc-$* \ +-- +1.7.10.4 + diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb b/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb new file mode 100644 index 0000000000..9ae68ddea9 --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb @@ -0,0 +1,51 @@ +SUMMARY = "Central control for Telepathy IM connection managers" +HOMEPAGE = "http://telepathy.freedesktop.org/wiki/Mission_Control/" +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \ + file://src/request.h;beginline=1;endline=21;md5=f80534d9af1c33291b3b79609f196eb2" +SECTION = "libs" +DEPENDS = "libtelepathy dbus-glib gconf libxslt-native" + +SRC_URI = "http://telepathy.freedesktop.org/releases/telepathy-mission-control/${BP}.tar.gz \ + file://tmc-Makefile-fix-race.patch \ + " +SRC_URI[md5sum] = "421115a35b9e427807326877f86e7f43" +SRC_URI[sha256sum] = "14ceb7d53535b43d44b8271ad11319d1d0fe6d193d154636b9e62b42799b9723" + +inherit autotools-brokensep pkgconfig pythonnative + +PACKAGECONFIG ??= "" +PACKAGECONFIG[upower] = "--enable-upower,--disable-upower,upower" + +# to select connman or nm you need to use "connectivity" and "connman" or "nm", default is to disable both +PACKAGECONFIG[connectivity] = ",--with-connectivity=no" +PACKAGECONFIG[connman] = "--with-connectivity=connman,,connman" +PACKAGECONFIG[nm] = "--with-connectivity=nm,,networkmanager" + +PACKAGES =+ " \ + libmissioncontrol \ + libmissioncontrol-config \ + libmissioncontrol-server \ + libmissioncontrol-dev \ + libmissioncontrol-config-dev \ + libmissioncontrol-server-dev \ + libmissioncontrol-dbg \ + libmissioncontrol-config-dbg \ + libmissioncontrol-server-dbg \ +" + +FILES_${PN} += "${datadir}/dbus* ${datadir}/glib-2.0/schemas" + +FILES_libmissioncontrol = "${libdir}/libmissioncontrol.so.*" +FILES_libmissioncontrol-config = "${libdir}/libmissioncontrol-config.so.*" +FILES_libmissioncontrol-server = "${libdir}/libmissioncontrol-server.so.*" + +FILES_libmissioncontrol-dev = "${libdir}/libmissioncontrol.* \ + ${includedir}/libmissioncontrol/ \ + ${libdir}/pkgconfig/libmissioncontrol.pc" +FILES_libmissioncontrol-config-dev = "${libdir}/libmissioncontrol-config.*" +FILES_libmissioncontrol-server-dev = "${libdir}/libmissioncontrol-server.*" + +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.*" diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch b/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch new file mode 100644 index 0000000000..248824606e --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch @@ -0,0 +1,43 @@ +Add dependency of __init__.py + +Tasks must be done after exec of __init__, which creates the +src/_generated directory that tasks are based on. + +Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> + +Upstream-Status: Submitted +(However it seems that this project is out of maintanence.) + +diff -ruN telepathy-python-0.15.19-orig/src/Makefile.am telepathy-python-0.15.19/src/Makefile.am +--- telepathy-python-0.15.19-orig/src/Makefile.am 2011-03-10 08:51:49.000000000 +0800 ++++ telepathy-python-0.15.19/src/Makefile.am 2011-03-10 08:54:45.000000000 +0800 +@@ -39,17 +39,17 @@ + XSLTPROC_OPTS = --nonet --novalid --xinclude + tools_dir = $(top_srcdir)/tools + +-_generated/interfaces.py: $(tools_dir)/python-interfaces-generator.xsl $(wildcard $(spec_dir)/*.xml) ++_generated/interfaces.py: _generated/__init__.py $(tools_dir)/python-interfaces-generator.xsl $(wildcard $(spec_dir)/*.xml) + $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_OPTS) -o $@ \ + $(tools_dir)/python-interfaces-generator.xsl \ + $(spec_dir)/all.xml + +-_generated/constants.py: $(tools_dir)/python-constants-generator.xsl $(wildcard $(spec_dir)/*.xml) ++_generated/constants.py: _generated/__init__.py $(tools_dir)/python-constants-generator.xsl $(wildcard $(spec_dir)/*.xml) + $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_OPTS) -o $@ \ + $(tools_dir)/python-constants-generator.xsl \ + $(spec_dir)/all.xml + +-_generated/errors.py: $(tools_dir)/python-errors-generator.xsl $(wildcard $(spec_dir)/*.xml) ++_generated/errors.py: _generated/__init__.py $(tools_dir)/python-errors-generator.xsl $(wildcard $(spec_dir)/*.xml) + $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_OPTS) -o $@ \ + $(tools_dir)/python-errors-generator.xsl \ + $(spec_dir)/all.xml +@@ -58,7 +58,7 @@ + $(AM_V_GEN)$(mkdir_p) $(dir $@) + @echo "# Placeholder for package" > $@ + +-_generated/%.py: $(tools_dir)/spec-to-python.xsl $(spec_dir)/%.xml ++_generated/%.py: _generated/__init__.py $(tools_dir)/spec-to-python.xsl $(spec_dir)/%.xml + $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_OPTS) -o $@ \ + $(tools_dir)/spec-to-python.xsl \ + $(spec_dir)/$*.xml diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch b/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch new file mode 100644 index 0000000000..df95a4c138 --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch @@ -0,0 +1,26 @@ +commit f6c67662145de889055a86a6b3b12c70a45fc8d5 +Author: Dongxiao Xu <dongxiao.xu@intel.com> +Date: Wed Sep 7 16:02:20 2011 +0800 + + Avoid duplicated installation of errors.py + + newer version of autotools don't seem to like listing files to install + twice. Remove one errors.py from the installation list. + + Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> + + Upstream-Status: Inappropirate [upstream inactive] + +diff --git a/src/Makefile.am b/src/Makefile.am +index 5c27dfe..7536e43 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -11,7 +11,7 @@ telepathy_PYTHON = \ + + # telepathy._generated.* auto-generated modules + spec_dir = $(top_srcdir)/spec +-spec_files := $(patsubst $(spec_dir)%.xml,_generated%.py,$(wildcard $(spec_dir)/*.xml)) ++spec_files := $(filter-out _generated/errors.py, $(patsubst $(spec_dir)%.xml,_generated%.py,$(wildcard $(spec_dir)/*.xml))) + + BUILT_SOURCES = \ + _generated/interfaces.py \ diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch b/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch new file mode 100644 index 0000000000..f613fdce4d --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch @@ -0,0 +1,26 @@ +Upstream-Status: Pending + +automake 1.12 has deprecated use of mkdir_p, and it recommends +use of MKDIR_P instead. Changed the code to avoid these kind +of warning-errors. + +| make[1]: _generated/: Command not found +| make[1]: *** [_generated/__init__.py] Error 127 +| make[1]: Leaving directory `/srv/home/nitin/builds2/build0/tmp/work/i586-poky-linux/telepathy-python-0.15.19-r4/telepathy-python-0.15.19/src' +| make: *** [all-recursive] Error 1 + +Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> +2012/07/10 +Index: telepathy-python-0.15.19/src/Makefile.am +=================================================================== +--- telepathy-python-0.15.19.orig/src/Makefile.am ++++ telepathy-python-0.15.19/src/Makefile.am +@@ -55,7 +55,7 @@ _generated/errors.py: _generated/__init_ + $(spec_dir)/all.xml + + _generated/__init__.py: +- $(AM_V_GEN)$(mkdir_p) $(dir $@) ++ $(AM_V_GEN)$(MKDIR_P) $(dir $@) + @echo "# Placeholder for package" > $@ + + _generated/%.py: _generated/__init__.py $(tools_dir)/spec-to-python.xsl $(spec_dir)/%.xml diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb b/meta-oe/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb new file mode 100644 index 0000000000..b7aea24a79 --- /dev/null +++ b/meta-oe/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb @@ -0,0 +1,32 @@ +SUMMARY = "Telepathy IM framework - Python package" +HOMEPAGE = "http://telepathy.freedesktop.org/wiki/" +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://src/utils.py;beginline=1;endline=17;md5=9a07d1a9791a7429a14e7b25c6c86822" + +DEPENDS = "libxslt-native" +RDEPENDS_${PN} += "python-dbus" + +SRC_URI = "http://telepathy.freedesktop.org/releases/${BPN}/${BPN}-${PV}.tar.gz \ + file://parallel_make.patch \ + file://remove_duplicate_install.patch \ + file://telepathy-python_fix_for_automake_1.12.patch" + +PR = "r6" + +inherit autotools pythonnative + +SRC_URI[md5sum] = "f7ca25ab3c88874015b7e9728f7f3017" +SRC_URI[sha256sum] = "244c0e1bf4bbd78ae298ea659fe10bf3a73738db550156767cc2477aedf72376" + +FILES_${PN} += "\ + ${libdir}/python*/site-packages/telepathy/*.py \ + ${libdir}/python*/site-packages/telepathy/*/*.py \ +" + +do_install_append () { + rm -f ${D}${libdir}/python*/site-packages/telepathy/*.pyc + rm -f ${D}${libdir}/python*/site-packages/telepathy/*.pyo + rm -f ${D}${libdir}/python*/site-packages/telepathy/*/*.pyc + rm -f ${D}${libdir}/python*/site-packages/telepathy/*/*.pyo +} diff --git a/meta-oe/recipes-connectivity/umip/umip_1.0.bb b/meta-oe/recipes-connectivity/umip/umip_1.0.bb new file mode 100644 index 0000000000..76901abf70 --- /dev/null +++ b/meta-oe/recipes-connectivity/umip/umip_1.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "Mobile IPv6 and NEMO for Linux" +DESCRIPTION = "UMIP is an open source implementation of Mobile IPv6 and NEMO \ +Basic Support for Linux. It is released under the GPLv2 license. It supports \ +the following IETF RFC: RFC6275 (Mobile IPv6), RFC3963 (NEMO), RFC3776 and \ +RFC4877 (IPsec and IKEv2)." +HOMEPAGE = "http://umip.org/" +SECTION = "System Environment/Base" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=073dc31ccb2ebed70db54f1e8aeb4c33" +DEPENDS = "rpm indent-native" + +SRC_URI = "git://git.umip.org/umip.git" +SRCREV = "428974c2d0d8e75a2750a3ab0488708c5dfdd8e3" + +S = "${WORKDIR}/git" +EXTRA_OE_CONF = "--enable-vt" + +inherit autotools-brokensep diff --git a/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice_3.5.1.bb b/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice_3.5.1.bb index e39aa188c3..2b6f56ed4f 100644 --- a/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice_3.5.1.bb +++ b/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice_3.5.1.bb @@ -18,7 +18,7 @@ SRC_URI[sha256sum] = "989e51194c6adadbd156da3288e37bad847b93b3b876502e83033b7049 #| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/db_cxx.h:273:14: note: virtual int Db::set_bt_compare(int (*)(Db*, const Dbt*, const Dbt*, size_t*)) <near match> #| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/db_cxx.h:273:14: note: no known conversion for argument 1 from 'int (*)(DB*, const DBT*, const DBT*) {aka int (*)(__db*, const __db_dbt*, const __db_dbt*)}' to 'int (*)(Db*, const Dbt*, const Dbt*, size_t*) {aka int (*)(Db*, const Dbt*, const Dbt*, long unsigned int*)}' #| make[3]: *** [MapDb.o] Error 1 -PNBLACKLIST[zeroc-ice] = "BROKEN: not compatible with default db version" +PNBLACKLIST[zeroc-ice] ?= "BROKEN: not compatible with default db version" S = "${WORKDIR}/Ice-${PV}" diff --git a/meta-oe/recipes-core/eggdbus/eggdbus/gtk-doc.patch b/meta-oe/recipes-core/eggdbus/eggdbus/gtk-doc.patch new file mode 100644 index 0000000000..abd7ff4166 --- /dev/null +++ b/meta-oe/recipes-core/eggdbus/eggdbus/gtk-doc.patch @@ -0,0 +1,34 @@ +Upstream-Status: Inappropriate [configuration] + +Index: eggdbus-0.6/docs/eggdbus/Makefile.am +=================================================================== +--- eggdbus-0.6.orig/docs/eggdbus/Makefile.am ++++ eggdbus-0.6/docs/eggdbus/Makefile.am +@@ -87,11 +87,7 @@ HTML_IMAGES = \ + # Extra options to supply to gtkdoc-fixref + FIXXREF_OPTIONS= + +-if ENABLE_GTK_DOC +-include $(top_srcdir)/gtk-doc.make +-else + CLEANFILES = +-endif + + CLEANFILES += *~ \ + eggdbus-scan.* \ +Index: eggdbus-0.6/docs/tests/Makefile.am +=================================================================== +--- eggdbus-0.6.orig/docs/tests/Makefile.am ++++ eggdbus-0.6/docs/tests/Makefile.am +@@ -65,11 +65,7 @@ HTML_IMAGES = \ + # Extra options to supply to gtkdoc-fixref + FIXXREF_OPTIONS= + +-if ENABLE_GTK_DOC +-include $(top_srcdir)/gtk-doc.make +-else + CLEANFILES = +-endif + + CLEANFILES += *~ \ + tests-scan.* \ diff --git a/meta-oe/recipes-core/eggdbus/eggdbus/marshal.patch b/meta-oe/recipes-core/eggdbus/eggdbus/marshal.patch new file mode 100644 index 0000000000..a605a34c8e --- /dev/null +++ b/meta-oe/recipes-core/eggdbus/eggdbus/marshal.patch @@ -0,0 +1,28 @@ +Upstream-Status: Inappropriate [configuration] + +Index: eggdbus-0.6/src/eggdbus/Makefile.am +=================================================================== +--- eggdbus-0.6.orig/src/eggdbus/Makefile.am ++++ eggdbus-0.6/src/eggdbus/Makefile.am +@@ -130,7 +130,7 @@ BUILT_SOURCES = \ + $(NULL) + + eggdbus-built-sources.stamp : eggdbus-binding-tool Makefile.am org.freedesktop.DBus.xml org.freedesktop.DBus.Peer.xml org.freedesktop.DBus.Properties.xml org.freedesktop.DBus.Introspectable.xml eggdbus-glib-genmarshal +- EGG_DBUS_GENMARSHAL=$(top_builddir)/src/eggdbus/eggdbus-glib-genmarshal $(top_builddir)/src/eggdbus/eggdbus-binding-tool \ ++ EGG_DBUS_GENMARSHAL=eggdbus-glib-genmarshal eggdbus-binding-tool \ + --namespace EggDBus \ + --dbus-namespace org.freedesktop.DBus \ + --interfaces-only \ +Index: eggdbus-0.6/src/tests/Makefile.am +=================================================================== +--- eggdbus-0.6.orig/src/tests/Makefile.am ++++ eggdbus-0.6/src/tests/Makefile.am +@@ -25,7 +25,7 @@ BUILT_SOURCES = \ + $(NULL) + + test-built-sources.stamp : Makefile.am $(top_builddir)/src/eggdbus/eggdbus-binding-tool com.example.Frob.xml com.example.Tweak.xml com.example.Twiddle.xml +- EGG_DBUS_GENMARSHAL=$(top_builddir)/src/eggdbus/eggdbus-glib-genmarshal $(top_builddir)/src/eggdbus/eggdbus-binding-tool \ ++ EGG_DBUS_GENMARSHAL=eggdbus-glib-genmarshal eggdbus-binding-tool \ + --namespace "Test" \ + --dbus-namespace "com.example" \ + --include-header testtypes.h \ diff --git a/meta-oe/recipes-core/eggdbus/eggdbus_0.6.bb b/meta-oe/recipes-core/eggdbus/eggdbus_0.6.bb new file mode 100644 index 0000000000..cc28ec77cd --- /dev/null +++ b/meta-oe/recipes-core/eggdbus/eggdbus_0.6.bb @@ -0,0 +1,33 @@ +SUMMARY = "An alternative to dbug-glib." +DESCRIPTION = "An alternative to dbus-glib. It is designed specifically to \ +make it comfortable to work with very large and potentially \ +complex D-Bus services like e.g. DeviceKit-disks" + +HOMEPAGE = "http://cgit.freedesktop.org/~david/eggdbus" +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb \ + file://src/eggdbus/eggdbus.h;md5=6b312aef57ed8d738b3f131ad037d6c2" + +DEPENDS = "dbus glib-2.0 dbus-glib eggdbus-native" +DEPENDS_class-native = "dbus-native glib-2.0-native dbus-glib-native" + +SRC_URI = "http://cgit.freedesktop.org/~david/${BPN}/snapshot/${BPN}-${PV}.tar.bz2 \ + file://gtk-doc.patch \ +" +SRC_URI_append_class-target = "file://marshal.patch" +SRC_URI[md5sum] = "0a111faa54dfba2cf432c2c8e8a76e06" +SRC_URI[sha256sum] = "3ad26e271c1a879bafcd181e065fe0ed53b542299a773c3188c9edb25b895ed1" + +inherit autotools gtk-doc + +EXTRA_OECONF = " --disable-man-pages " + +BBCLASSEXTEND = "native" + +PARALLEL_MAKE = "" + +do_configure_prepend() { + # Create ChangeLog to walk around automake error. + # " Makefile.am: error: required file './ChangeLog' not found " + touch ${S}/ChangeLog +} diff --git a/meta-oe/recipes-core/glib-2.0/glibmm_2.36.2.bb b/meta-oe/recipes-core/glib-2.0/glibmm_2.36.2.bb index e68eb50a18..71daf9dea1 100644 --- a/meta-oe/recipes-core/glib-2.0/glibmm_2.36.2.bb +++ b/meta-oe/recipes-core/glib-2.0/glibmm_2.36.2.bb @@ -27,3 +27,5 @@ do_install_append() { FILES_${PN} = "${libdir}/lib*.so.*" FILES_${PN}-dev += "${datadir}/glibmm-* ${libdir}/glibmm-2.4/include/ ${libdir}/glibmm-2.4/proc/ ${libdir}/giomm-2.4/include/" + +RDEPENDS_${PN}-dev = "perl" diff --git a/meta-oe/recipes-core/jpeg/libjpeg-turbo_8d+1.3.1.bb b/meta-oe/recipes-core/jpeg/libjpeg-turbo_8d+1.4.0.bb index 6a09fdac45..8e214c969d 100644 --- a/meta-oe/recipes-core/jpeg/libjpeg-turbo_8d+1.3.1.bb +++ b/meta-oe/recipes-core/jpeg/libjpeg-turbo_8d+1.4.0.bb @@ -2,16 +2,16 @@ DESCRIPTION = "libjpeg-turbo is a derivative of libjpeg that uses SIMD instructi HOMEPAGE = "http://libjpeg-turbo.org/" LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=12;md5=78fa8dbac547bb5b2a0e6457a6cfe21d \ - file://jpeglib.h;endline=14;md5=a08bb0a80f782a9f8da313cc4015ed6f \ - file://djpeg.c;endline=9;md5=7629c51aed78174711c20a40194a8f1b \ +LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=12;md5=cad955d15145c3fdceec6855e078e953 \ + file://jpeglib.h;endline=14;md5=dfc803dc51ae21178d1376ec73c4454d \ + file://djpeg.c;endline=9;md5=e93a8f2061e8a0ac71c7a485c10489e2 \ " BASEPV = "${@d.getVar('PV',True).split('+')[1]}" SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${BASEPV}.tar.gz" -SRC_URI[md5sum] = "2c3a68129dac443a72815ff5bb374b05" -SRC_URI[sha256sum] = "c132907417ddc40ed552fe53d6b91d5fecbb14a356a60ddc7ea50d6be9666fb9" +SRC_URI[md5sum] = "039153dabe61e1ac8d9323b5522b56b0" +SRC_URI[sha256sum] = "d93ad8546b510244f863b39b4c0da0fa4c0d53a77b61a8a3880f258c232bbbee" S = "${WORKDIR}/${BPN}-${BASEPV}" diff --git a/meta-oe/recipes-core/meta/distro-feed-configs.bb b/meta-oe/recipes-core/meta/distro-feed-configs.bb index dde86569e7..ea5ca38486 100644 --- a/meta-oe/recipes-core/meta/distro-feed-configs.bb +++ b/meta-oe/recipes-core/meta/distro-feed-configs.bb @@ -5,10 +5,11 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 DISTRO_FEED_PREFIX ?= "remote" DISTRO_FEED_URI ?= "http://my-distribution.example/remote-feed/" +DISTRO_FEED_ARCHS ?= "all ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}" do_compile() { mkdir -p ${S}/${sysconfdir}/opkg - for feed in all ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}; do + for feed in ${DISTRO_FEED_ARCHS}; do echo "src/gz ${DISTRO_FEED_PREFIX}-${feed} ${DISTRO_FEED_URI}/${feed}" > ${S}/${sysconfdir}/opkg/${feed}-feed.conf done } diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb b/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb index 20b16527e9..4f2992cb6f 100644 --- a/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb +++ b/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb @@ -9,6 +9,7 @@ PR = "r13" PACKAGE_ARCH = "${MACHINE_ARCH}" inherit packagegroup +inherit bluetooth # Poke extra recomendations into the list using your machine.conf # @@ -45,7 +46,7 @@ RRECOMMENDS_${PN} = "\ ${@base_contains("MACHINE_FEATURES", "alsa", "alsa-utils-alsamixer", "", d)} \ ${@base_contains("MACHINE_FEATURES", "usbgadget", "kernel-module-g-ether kernel-module-g-serial kernel-module-g-mass-storage", "", d)} \ \ - ${@base_contains("DISTRO_FEATURES", "bluetooth", "bluez4", "", d)} \ + ${@base_contains("DISTRO_FEATURES", "bluetooth", "${BLUEZ}", "", d)} \ ${@base_contains("DISTRO_FEATURES", "wifi", "iw wpa-supplicant", "", d)} \ \ tzdata \ diff --git a/meta-oe/recipes-core/toybox/toybox/0001-Match-paths-with-busybox.patch b/meta-oe/recipes-core/toybox/toybox/0001-Match-paths-with-busybox.patch index 2213559438..e071f22b16 100644 --- a/meta-oe/recipes-core/toybox/toybox/0001-Match-paths-with-busybox.patch +++ b/meta-oe/recipes-core/toybox/toybox/0001-Match-paths-with-busybox.patch @@ -1,4 +1,4 @@ -From cbd9ac1d0769338411297d2cb97f1608c17c8ae9 Mon Sep 17 00:00:00 2001 +From 27f5ca9f1e212e5ab00cde0bfc91282fc7ff5e16 Mon Sep 17 00:00:00 2001 From: Paul Barker <paul@paulbarker.me.uk> Date: Mon, 18 Aug 2014 12:18:16 +0000 Subject: [PATCH] Match paths with busybox @@ -8,11 +8,16 @@ update-alternatives, the paths of the links installed by toybox should match those installed by busybox. This is accomplished by changing the flags of a few tools within toybox. +v2: + - Forward ported from v0.4.9 to v0.5.0 + - Move new 'mount' command + Signed-off-by: Paul Barker <paul@paulbarker.me.uk> Upstream-status: Inappropriate (specific to update-alternatives use in OpenEmbedded) --- + toys/lsb/mount.c | 2 +- toys/lsb/pidof.c | 2 +- toys/other/chvt.c | 2 +- toys/other/ifconfig.c | 2 +- @@ -37,8 +42,21 @@ Upstream-status: Inappropriate toys/posix/tee.c | 2 +- toys/posix/uniq.c | 2 +- toys/posix/who.c | 2 +- - 24 files changed, 28 insertions(+), 28 deletions(-) + 25 files changed, 29 insertions(+), 29 deletions(-) +diff --git a/toys/lsb/mount.c b/toys/lsb/mount.c +index 01f5c32..65a5aa2 100644 +--- a/toys/lsb/mount.c ++++ b/toys/lsb/mount.c +@@ -6,7 +6,7 @@ + * Note: -hV is bad spec, haven't implemented -FsLU yet + * no mtab (/proc/mounts does it) so -n is NOP. + +-USE_MOUNT(NEWTOY(mount, "?O:afnrvwt:o*[-rw]", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_STAYROOT)) ++USE_MOUNT(NEWTOY(mount, "?O:afnrvwt:o*[-rw]", TOYFLAG_BIN|TOYFLAG_STAYROOT)) + USE_NFSMOUNT(NEWTOY(nfsmount, "?<2>2", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_STAYROOT)) + + config MOUNT diff --git a/toys/lsb/pidof.c b/toys/lsb/pidof.c index 51b742f..a8fc8ef 100644 --- a/toys/lsb/pidof.c @@ -66,7 +84,7 @@ index 6544265..a93327f 100644 config CHVT bool "chvt" diff --git a/toys/other/ifconfig.c b/toys/other/ifconfig.c -index a84e26a..66c7179 100644 +index f5d4215..5e7c54c 100644 --- a/toys/other/ifconfig.c +++ b/toys/other/ifconfig.c @@ -6,7 +6,7 @@ @@ -226,10 +244,10 @@ index 8e57ca1..0c6c640 100644 config SYSCTL bool "sysctl" diff --git a/toys/posix/cut.c b/toys/posix/cut.c -index 38f136e..87a1f0d 100644 +index 7f10c5e..1ab3ce8 100644 --- a/toys/posix/cut.c +++ b/toys/posix/cut.c -@@ -4,7 +4,7 @@ +@@ -5,7 +5,7 @@ * * http://pubs.opengroup.org/onlinepubs/9699919799/utilities/cut.html @@ -265,7 +283,7 @@ index e8517d4..3ac4373 100644 config HEAD bool "head" diff --git a/toys/posix/id.c b/toys/posix/id.c -index a03a097..cfe0b59 100644 +index b4d9c00..df79419 100644 --- a/toys/posix/id.c +++ b/toys/posix/id.c @@ -6,10 +6,10 @@ @@ -274,11 +292,11 @@ index a03a097..cfe0b59 100644 -USE_ID(NEWTOY(id, ">1nGgru[!Ggu]", TOYFLAG_BIN)) +USE_ID(NEWTOY(id, ">1nGgru[!Ggu]", TOYFLAG_USR|TOYFLAG_BIN)) - USE_ID_GROUPS(OLDTOY(groups, id, NULL, TOYFLAG_USR|TOYFLAG_BIN)) --USE_ID_LOGNAME(OLDTOY(logname, id, ">0", TOYFLAG_BIN)) --USE_ID_LOGNAME(OLDTOY(whoami, id, ">0", TOYFLAG_BIN)) -+USE_ID_LOGNAME(OLDTOY(logname, id, ">0", TOYFLAG_USR|TOYFLAG_BIN)) -+USE_ID_LOGNAME(OLDTOY(whoami, id, ">0", TOYFLAG_USR|TOYFLAG_BIN)) + USE_GROUPS(OLDTOY(groups, id, NULL, TOYFLAG_USR|TOYFLAG_BIN)) +-USE_LOGNAME(OLDTOY(logname, id, ">0", TOYFLAG_BIN)) +-USE_LOGNAME(OLDTOY(whoami, id, ">0", TOYFLAG_BIN)) ++USE_LOGNAME(OLDTOY(logname, id, ">0", TOYFLAG_USR|TOYFLAG_BIN)) ++USE_LOGNAME(OLDTOY(whoami, id, ">0", TOYFLAG_USR|TOYFLAG_BIN)) config ID bool "id" @@ -335,7 +353,7 @@ index 0388510..5574088 100644 config TEE bool "tee" diff --git a/toys/posix/uniq.c b/toys/posix/uniq.c -index bd41d4a..374ceab 100644 +index 3cfdb94..c127cfe 100644 --- a/toys/posix/uniq.c +++ b/toys/posix/uniq.c @@ -4,7 +4,7 @@ @@ -361,5 +379,5 @@ index 2c8a2e6..d5cd001 100644 config WHO bool "who" -- -2.0.4 +2.1.2 diff --git a/meta-oe/recipes-core/toybox/toybox_0.4.9.bb b/meta-oe/recipes-core/toybox/toybox_0.5.0.bb index ec76bd61a1..9bdba4da5c 100644 --- a/meta-oe/recipes-core/toybox/toybox_0.4.9.bb +++ b/meta-oe/recipes-core/toybox/toybox_0.5.0.bb @@ -3,11 +3,11 @@ HOMEPAGE = "http://www.landley.net/toybox/" SRC_URI = "http://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.bz2 \ file://0001-Match-paths-with-busybox.patch" -SRC_URI[md5sum] = "a8f1022175689defec51cf5a71c41326" -SRC_URI[sha256sum] = "e6dc9052826a3bdae1923e3301c9e3542e890af5ed66534052943f8412255bff" +SRC_URI[md5sum] = "2cb6e8b34134038d86048e117f77765f" +SRC_URI[sha256sum] = "2718b42154be041435df48d5b5140f4e307767c36b1017e0c8d0da7f75b327a7" LICENSE = "BSD-0-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=57cc240a6204b2ea8c68450d42f9d33f" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f0b8b3dd6431bcaa245da0a08bd0d511" SECTION = "base" diff --git a/meta-oe/recipes-devtools/geany/geany_1.23.bb b/meta-oe/recipes-devtools/geany/geany_1.24.1.bb index 593ba66016..f765e2c8d2 100644 --- a/meta-oe/recipes-devtools/geany/geany_1.23.bb +++ b/meta-oe/recipes-devtools/geany/geany_1.24.1.bb @@ -10,7 +10,7 @@ SRC_URI = " \ http://download.geany.org/${BP}.tar.bz2 \ file://0001-configure.ac-remove-additional-c-test.patch \ " -SRC_URI[md5sum] = "4290e8c32305e916f57bb0f0233bbec2" -SRC_URI[sha256sum] = "cdd4a772694803c837ae59e56f7bdc2faba174509317211f522e7d25dfcbe8b0" +SRC_URI[md5sum] = "d225104cef3973164d70116d46239606" +SRC_URI[sha256sum] = "7fb505d9b01fe6874890525f837644a6a38c23a372bb068c65ef3673108a8c33" FILES_${PN} += "${datadir}/icons" diff --git a/meta-oe/recipes-devtools/glade/glade3_3.8.2.bb b/meta-oe/recipes-devtools/glade/glade3_3.8.5.bb index 69d9eae1a5..4e7ef9b5ca 100644 --- a/meta-oe/recipes-devtools/glade/glade3_3.8.2.bb +++ b/meta-oe/recipes-devtools/glade/glade3_3.8.5.bb @@ -2,17 +2,16 @@ SUMMARY = "Glade - A User Interface Designer" HOMEPAGE = "http://www.gnu.org/software/gnash" LICENSE = "GPLv2 & LGPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \ - file://COPYING.LGPL;md5=3bf50002aefd002f49e7bb854063f7e7" + file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \ + file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475" DEPENDS = "gtk+ gnome-doc-utils-native gnome-common libxml2" -PR = "r1" - inherit autotools pkgconfig pythonnative SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade3/3.8/glade3-${PV}.tar.xz \ file://0001-gnome-doc-utils.make-sysrooted-pkg-config.patch" -SRC_URI[md5sum] = "b5da0ce717b2dc710e93a10b97c0f9ce" -SRC_URI[sha256sum] = "f180a5018eee6e3fe574854cb025af897dd9962b01d17d5752e626876d388b19" +SRC_URI[md5sum] = "4e4b4f5ee34a03e017e4cef97d796c1f" +SRC_URI[sha256sum] = "58a5f6e4df4028230ddecc74c564808b7ec4471b1925058e29304f778b6b2735" EXTRA_OECONF += "--disable-scrollkeeper" diff --git a/meta-oe/recipes-devtools/log4cplus/log4cplus_1.1.1.bb b/meta-oe/recipes-devtools/log4cplus/log4cplus_1.1.1.bb index 6201774721..c9c5c673ae 100644 --- a/meta-oe/recipes-devtools/log4cplus/log4cplus_1.1.1.bb +++ b/meta-oe/recipes-devtools/log4cplus/log4cplus_1.1.1.bb @@ -3,7 +3,7 @@ SECTION = "libs" HOMEPAGE = "http://sourceforge.net/projects/log4cplus/" BUGTRACKER = "http://sourceforge.net/p/log4cplus/bugs/" -LICENSE = "Apache-2.0 BSD-2-Clause" +LICENSE = "Apache-2.0 & BSD-2-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=65053a46f707ee2b93f09ad22f692170" SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}-stable/${PV}/${BP}.tar.gz" diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/configure-allow-to-disable-selinux-support.patch b/meta-oe/recipes-devtools/ltrace/ltrace/configure-allow-to-disable-selinux-support.patch new file mode 100644 index 0000000000..4f89d8f2e6 --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/ltrace/configure-allow-to-disable-selinux-support.patch @@ -0,0 +1,36 @@ +From 887a403e38f590ebf1d04ce600d94cb7a351744c Mon Sep 17 00:00:00 2001 +From: Wenzong Fan <wenzong.fan@windriver.com> +Date: Mon, 1 Dec 2014 00:57:42 -0500 +Subject: [PATCH] ltrace: allow to enable/disable selinux support + +Upstream-Status: Pending + +Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> +--- + configure.ac | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 6fe5e3b..189885a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -125,8 +125,14 @@ AC_SUBST(libstdcxx_LIBS) + + + dnl Check security_get_boolean_active availability. +-AC_CHECK_HEADERS(selinux/selinux.h) +-AC_CHECK_LIB(selinux, security_get_boolean_active) ++AC_ARG_ENABLE([selinux], ++ AS_HELP_STRING([--enable-selinux],[enable SELinux support [default=auto]]), ++ [], [enable_selinux=auto]) ++ ++if test x$enable_selinux != xno; then ++ AC_CHECK_HEADERS(selinux/selinux.h) ++ AC_CHECK_LIB(selinux, security_get_boolean_active) ++fi + + dnl Whether (and which) elfutils libdw.so to use for unwinding. + AC_ARG_WITH(elfutils, +-- +1.7.9.5 + diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb index 507747ae18..69848483d7 100644 --- a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb +++ b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb @@ -17,12 +17,15 @@ DEPENDS = "elfutils" RDEPENDS_${PN} = "elfutils" SRC_URI = "git://anonscm.debian.org/collab-maint/ltrace.git \ file://ltrace-0.7.2-unused-typedef.patch \ + file://configure-allow-to-disable-selinux-support.patch \ " S = "${WORKDIR}/git" inherit autotools +PACKAGECONFIG ?= "${@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}" PACKAGECONFIG[unwind] = "--with-libunwind,--without-libunwind,libunwind" +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux" do_configure_prepend () { ( cd ${S}; ./autogen.sh ) diff --git a/meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb b/meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb new file mode 100644 index 0000000000..caebcb9eab --- /dev/null +++ b/meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb @@ -0,0 +1,19 @@ +SUMMARY = "utilies to read and write Intel model-specific registers" +HOMEPAGE = "https://01.org/msr-tools" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://Makefile;beginline=1;endline=11;md5=678a3928c856042424c734f4a7586e65" +SECTION = "devel" + +SRC_URI = "https://01.org/sites/default/files/downloads/msr-tools/msr-tools-${PV}.zip" +SRC_URI[md5sum] = "67d18527f64fd707c9b7a79f13d19fd5" +SRC_URI[sha256sum] = "f9457b5340f5f274da4239a461f0db6b514142b40461559d9c6150f05aab1d1e" + +S = "${WORKDIR}/msr-tools-master" + +COMPATIBLE_HOST = '(i.86|x86_64).*-linux' + +do_install() { + install -d ${D}${sbindir} + install -m 0755 rdmsr ${D}${sbindir} + install -m 0755 wrmsr ${D}${sbindir} +} diff --git a/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb b/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb index 96cc468e38..59b0a43f4a 100644 --- a/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb +++ b/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb @@ -41,7 +41,6 @@ EXTRA_OECONF = "--with-security-framework=dummy \ do_configure_append() { for i in $(find . -name Makefile) ; do sed -i -e s:${STAGING_DIR_NATIVE}::g \ - -e s:${bindir}/mkdir:${STAGING_BINDIR_NATIVE}/mkdir:g \ -e s:/usr/bin/intltool-merge:${STAGING_BINDIR_NATIVE}/intltool-merge:g \ $i done diff --git a/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb b/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb new file mode 100644 index 0000000000..66054a257f --- /dev/null +++ b/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "\ +IPC::Run allows you run and interact with child processes \ +using files, pipes, and pseudo-ttys. Both system()-style and scripted \ +usages are supported and may be mixed. Likewise, functional and OO API \ +styles are both supported and may be mixed." +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0ebd37caf53781e8b7223e6b99b63f4e" +DEPENDS = "perl" + +SRC_URI = "git://github.com/toddr/IPC-Run.git" +SRCREV = "6bdf41e276e06d23e140783b13a6eaef4745c216" + +S = "${WORKDIR}/git" + +inherit cpan + +EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}" + +do_compile() { + export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')" + cpan_do_compile +} diff --git a/meta-oe/recipes-devtools/php/php.inc b/meta-oe/recipes-devtools/php/php.inc deleted file mode 100644 index 6bdae78fb8..0000000000 --- a/meta-oe/recipes-devtools/php/php.inc +++ /dev/null @@ -1,132 +0,0 @@ -DESCRIPTION = "A server-side, HTML-embedded scripting language. This package provides the CGI." -HOMEPAGE = "http://www.php.net" -SECTION = "console/network" -LICENSE = "PHP-3.0" -BBCLASSEXTEND = "native" -DEPENDS = "zlib libxml2 virtual/libiconv php-native lemon-native \ - libc-client openssl" -DEPENDS_virtclass-native = "zlib-native libxml2-native" - -INC_PR = "r5" - -# The new PHP downloads server groups PHP releases by major version so find -# the major version of the PHP recipe. -PHP_MAJVER = "${@d.getVar('PV',1).split('.')[0]}" - -SRC_URI = "http://museum.php.net/php${PHP_MAJVER}/php-${PV}.tar.bz2" - -S = "${WORKDIR}/php-${PV}" - -inherit autotools pkgconfig pythonnative gettext - -SSTATE_SCAN_FILES += "build-defs.h" - -# Common EXTRA_OECONF -COMMON_EXTRA_OECONF = "--enable-sockets --enable-pcntl --enable-shared" -EXTRA_OECONF = "--enable-mbstring \ - --enable-wddx \ - --enable-fpm \ - --with-imap=${STAGING_DIR_HOST} \ - --with-gettext=${STAGING_LIBDIR}/.. \ - --with-imap-ssl=${STAGING_DIR_HOST} \ - --with-zlib=${STAGING_LIBDIR}/.. \ - --with-iconv=${STAGING_LIBDIR}/.. \ - ${COMMON_EXTRA_OECONF} \ -" -EXTRA_OECONF_virtclass-native = " \ - --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \ - --without-iconv \ - ${COMMON_EXTRA_OECONF} \ -" - -PACKAGECONFIG ??= "mysql sqlite3" -PACKAGECONFIG_class-native = "" - -PACKAGECONFIG[mysql] = "--with-mysql=${STAGING_DIR_TARGET}${prefix} \ - --with-mysqli=${STAGING_BINDIR_CROSS}/mysql_config \ - --with-pdo-mysql=${STAGING_BINDIR_CROSS}/mysql_config \ - , \ - ,mysql5" - -PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \ - --with-pdo-sqlite=${STAGING_LIBDIR}/.. \ - , \ - ,sqlite3" - -export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}" -export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php" -CFLAGS += " -D_GNU_SOURCE" - -EXTRA_OEMAKE = "INSTALL_ROOT=${D}" - -acpaths = "" - -do_install_append_pn-php-native() { - rm -rf ${D}/${libdir}/php/.registry - rm -rf ${D}/${libdir}/php/.channels - rm -rf ${D}/${libdir}/php/.[a-z]* -} - -# fixme -do_install_append_pn-php() { - install -d ${D}/${sysconfdir}/ - if [ -d ${D}/${STAGING_DIR_NATIVE}/${sysconfdir} ];then - mv ${D}/${STAGING_DIR_NATIVE}/${sysconfdir}/* ${D}/${sysconfdir}/ - fi - rm -rf ${D}/${TMPDIR} - rm -rf ${D}/.registry - rm -rf ${D}/.channels - rm -rf ${D}/.[a-z]* - rm -rf ${D}/var - rm -f ${D}/${sysconfdir}/php-fpm.conf.default - sed -i 's:${STAGING_DIR_NATIVE}::g' ${D}/${sysconfdir}/pear.conf - install -m 0644 ${WORKDIR}/php-fpm.conf ${D}/${sysconfdir}/php-fpm.conf - install -d ${D}/${sysconfdir}/apache2/conf.d - install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf - install -d ${D}${sysconfdir}/init.d - sed -i 's:=/usr/sbin:=${sbindir}:g' ${B}/sapi/fpm/init.d.php-fpm - sed -i 's:=/etc:=${sysconfdir}:g' ${B}/sapi/fpm/init.d.php-fpm - sed -i 's:=/var:=${localstatedir}:g' ${B}/sapi/fpm/init.d.php-fpm - install -m 0755 ${B}/sapi/fpm/init.d.php-fpm ${D}${sysconfdir}/init.d/php-fpm - TMP=`dirname ${D}/${TMPDIR}` - while test ${TMP} != ${D}; do - rmdir ${TMP} - TMP=`dirname ${TMP}`; - done -} - -PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}" - -RDEPENDS_${PN}-pear = "${PN}" -RDEPENDS_${PN}-cli = "${PN}" -RDEPENDS_${PN}-dev = "${PN}" - -INITSCRIPT_PACKAGES = "${PN}-fpm" -inherit update-rc.d - -FILES_${PN}-dbg =+ "${bindir}/.debug" -FILES_${PN}-doc += "${libdir}/php/doc" -FILES_${PN}-cli = "${bindir}/php" -FILES_${PN}-cgi = "${bindir}/php-cgi" -FILES_${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/fpm ${sysconfdir}/init.d/php-fpm" -FILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" -CONFFILES_${PN}-fpm = "${sysconfdir}/php-fpm.conf" -CONFFILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" -INITSCRIPT_NAME_${PN}-fpm = "php-fpm" -INITSCRIPT_PARAMS_${PN}-fpm = "defaults 60" -FILES_${PN}-pear = "${bindir}/pear* ${bindir}/pecl ${libdir}/php/PEAR \ - ${libdir}/php/PEAR.php ${libdir}/php/System.php \ - ${libdir}php/peclcmd.php ${libdir}/php/pearcmd.php \ - ${libdir}/php/.channels ${libdir}/php/.channels/.alias \ - ${libdir}/php/.channels\__uri.reg \ - ${libdir}/php/.channels\pear.php.net.reg \ - ${libdir}/php/.channels/pecl.php.net.reg \ - ${libdir}/php/.registry ${libdir}/php/Archive/Tar.php \ - ${libdir}/php/Console/Getopt.php ${libdir}/php/OS/Guess.php \ - ${sysconfdir}/pear.conf" -FILES_${PN}-dev = "${includedir}/php ${libdir}/build ${bindir}/phpize \ - ${bindir}/php-config ${libdir}/php/.depdb \ - ${libdir}/php/.depdblock ${libdir}/php/.filemap \ - ${libdir}/php/.lock ${libdir}/php/test" -FILES_${PN} = "${libdir}/php" -FILES_${PN} += "${bindir}" diff --git a/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch b/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch index 823007e687..51a5e43b60 100644 --- a/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch +++ b/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch @@ -1,7 +1,7 @@ -From 0ff5d4adc9f5950d66738272b3ba88ef74f69117 Mon Sep 17 00:00:00 2001 +From 003c9feaae6ed5c173edcea51193e49bc94ac39a Mon Sep 17 00:00:00 2001 From: Koen Kooi <koen.kooi@linaro.org> Date: Tue, 17 Jun 2014 09:53:00 +0200 -Subject: [PATCH] acinclude: use pkgconfig for libxml2 config +Subject: [PATCH 3/8] acinclude: use pkgconfig for libxml2 config Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Upstream-Status: pending @@ -10,10 +10,10 @@ Upstream-Status: pending 1 file changed, 23 insertions(+), 40 deletions(-) diff --git a/acinclude.m4 b/acinclude.m4 -index 9c7a305..211dbd3 100644 +index 206fcbf..a6c0d84 100644 --- a/acinclude.m4 +++ b/acinclude.m4 -@@ -2529,48 +2529,31 @@ dnl +@@ -2530,48 +2530,31 @@ dnl dnl Common setup macro for libxml dnl AC_DEFUN([PHP_SETUP_LIBXML], [ diff --git a/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch b/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch index 9b71e9d2cc..2f7d581555 100644 --- a/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch +++ b/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch @@ -1,18 +1,18 @@ -From 411ec4b31fdcc524f13fe5be80fd6769b7d16a5d Mon Sep 17 00:00:00 2001 +From ebc101e0728b9db6c687cff525e5dfc8eb0edbf3 Mon Sep 17 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Thu, 3 Nov 2011 14:27:15 +0100 -Subject: [PATCH] php: don't use broken wrapper for mkdir +Subject: [PATCH 2/8] php: don't use broken wrapper for mkdir Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> --- Upstream-Status: Inappropriate - Makefile.global | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) + Makefile.global | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.global b/Makefile.global -index 8dad0e4..abdb5d2 100644 +index ff858c2..ae554b4 100644 --- a/Makefile.global +++ b/Makefile.global @@ -1,4 +1,4 @@ @@ -22,5 +22,5 @@ index 8dad0e4..abdb5d2 100644 INSTALL_DATA = $(INSTALL) -m 644 -- -1.7.2.5 +1.9.3 diff --git a/meta-webserver/recipes-php/modphp/files/70_mod_php5.conf b/meta-oe/recipes-devtools/php/php/70_mod_php5.conf index 1de6fb11ac..1de6fb11ac 100644 --- a/meta-webserver/recipes-php/modphp/files/70_mod_php5.conf +++ b/meta-oe/recipes-devtools/php/php/70_mod_php5.conf diff --git a/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch b/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch index bf519d2934..30811a74bd 100644 --- a/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch +++ b/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch @@ -1,6 +1,10 @@ ---- /orig-acinclude.m4 2007-02-20 15:03:25.000000000 +0200 -+++ /acinclude.m4 2007-02-20 15:03:24.000000000 +0200 -@@ -2359,12 +2359,9 @@ +Upstream-status: Unknown + +diff --git a/acinclude.m4 b/acinclude.m4 +index 4fd452e..206fcbf 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -2532,12 +2532,9 @@ dnl AC_DEFUN([PHP_SETUP_LIBXML], [ AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path, [ @@ -14,5 +18,8 @@ + ac_cv_php_xml2_config_path="$PHP_LIBXML_DIR/xml2-config" + ]) - + if test -x "$ac_cv_php_xml2_config_path"; then +-- +1.9.3 + diff --git a/meta-webserver/recipes-php/modphp/files/configure.patch b/meta-oe/recipes-devtools/php/php/configure.patch index c5334c706e..c5334c706e 100644 --- a/meta-webserver/recipes-php/modphp/files/configure.patch +++ b/meta-oe/recipes-devtools/php/php/configure.patch diff --git a/meta-oe/recipes-devtools/php/php/fix-fpm-cross-compile.patch b/meta-oe/recipes-devtools/php/php/fix-fpm-cross-compile.patch deleted file mode 100644 index b009347a21..0000000000 --- a/meta-oe/recipes-devtools/php/php/fix-fpm-cross-compile.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 0b44f16ea2f18a08eb1249db6621840527eab5e0 Mon Sep 17 00:00:00 2001 -From: Jerome Loyet <fat@php.net> -Date: Wed, 23 May 2012 11:40:22 +0200 -Subject: [PATCH] - Fixed bug #61839 (Unable to cross-compile PHP with - --enable-fpm) - ---- -Upstream-Status: Applied -http://git.php.net/?p=php-src.git;a=commit;h=0b44f16ea2f18a08eb1249db6621840527eab5e0 - - NEWS | 1 + - sapi/fpm/config.m4 | 4 ++++ - 2 files changed, 5 insertions(+) - -diff --git a/sapi/fpm/config.m4 b/sapi/fpm/config.m4 -index 8962810..6c860c9 100644 ---- a/sapi/fpm/config.m4 -+++ b/sapi/fpm/config.m4 -@@ -192,6 +192,8 @@ AC_DEFUN([AC_FPM_TRACE], - have_ptrace=no - have_broken_ptrace=yes - AC_MSG_RESULT([no]) -+ ], [ -+ AC_MSG_RESULT([skipped (cross compiling)]) - ]) - fi - -@@ -264,6 +266,8 @@ AC_DEFUN([AC_FPM_TRACE], - ], [ - proc_mem_file="" - AC_MSG_RESULT([no]) -+ ], [ -+ AC_MSG_RESULT([skipped (cross compiling)]) - ]) - fi - --- -1.7.11.5 diff --git a/meta-oe/recipes-devtools/php/php/iconv.patch b/meta-oe/recipes-devtools/php/php/iconv.patch index f3d2a16bbf..255fbb062c 100644 --- a/meta-oe/recipes-devtools/php/php/iconv.patch +++ b/meta-oe/recipes-devtools/php/php/iconv.patch @@ -1,8 +1,10 @@ +Upstream-status: Unknown + diff --git a/acinclude.m4 b/acinclude.m4 -index 4c28b80..d6491a1 100644 +index a6c0d84..df11abd 100644 --- a/acinclude.m4 +++ b/acinclude.m4 -@@ -2439,7 +2439,8 @@ AC_DEFUN([PHP_SETUP_ICONV], [ +@@ -2452,7 +2452,8 @@ AC_DEFUN([PHP_SETUP_ICONV], [ dnl Check libc first if no path is provided in --with-iconv dnl @@ -25,3 +27,6 @@ index d673b0a..1fbef13 100644 if test -f "$i/include/iconv.h" || test -f "$i/include/giconv.h"; then PHP_ICONV_PREFIX="$i" break +-- +1.9.3 + diff --git a/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch b/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch index 3695b7bc42..da04c2d953 100644 --- a/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch +++ b/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch @@ -1,8 +1,23 @@ -Index: php-5.2.11/ext/imap/config.m4 -=================================================================== ---- php-5.2.11.orig/ext/imap/config.m4 2009-12-10 12:27:52.800974533 -0700 -+++ php-5.2.11/ext/imap/config.m4 2009-12-10 12:28:33.720976583 -0700 -@@ -103,7 +103,7 @@ +Upstream-status: Unknown + +diff --git a/acinclude.m4 b/acinclude.m4 +index df11abd..06e7236 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -2357,7 +2357,7 @@ AC_DEFUN([PHP_SETUP_OPENSSL],[ + PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl" + fi + +- for i in $PHP_OPENSSL_DIR; do ++ for i in $PHP_OPENSSL_DIR $PHP_OPENSSL_DIR/usr; do + if test -r $i/include/openssl/evp.h; then + OPENSSL_INCDIR=$i/include + fi +diff --git a/ext/imap/config.m4 b/ext/imap/config.m4 +index 3fcf674..f08caf7 100644 +--- a/ext/imap/config.m4 ++++ b/ext/imap/config.m4 +@@ -109,7 +109,7 @@ if test "$PHP_IMAP" != "no"; then PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared) AC_DEFINE(HAVE_IMAP,1,[ ]) @@ -11,13 +26,13 @@ Index: php-5.2.11/ext/imap/config.m4 IMAP_INC_CHK() el[]IMAP_INC_CHK(/include/c-client) el[]IMAP_INC_CHK(/include/imap) -@@ -192,13 +192,7 @@ +@@ -198,13 +198,7 @@ if test "$PHP_IMAP" != "no"; then AC_MSG_ERROR(Cannot find rfc822.h. Please check your c-client installation.) fi -- if test -r "$IMAP_DIR/c-client/c-client.a"; then +- if test ! -r "$IMAP_DIR/c-client/libc-client.a" && test -r "$IMAP_DIR/c-client/c-client.a" ; then - ln -s "$IMAP_DIR/c-client/c-client.a" "$IMAP_DIR/c-client/libc-client.a" >/dev/null 2>&1 -- elif test -r "$IMAP_DIR/$PHP_LIBDIR/c-client.a"; then +- elif test ! -r "$IMAP_DIR/$PHP_LIBDIR/libc-client.a" && test -r "$IMAP_DIR/$PHP_LIBDIR/c-client.a"; then - ln -s "$IMAP_DIR/$PHP_LIBDIR/c-client.a" "$IMAP_DIR/$PHP_LIBDIR/libc-client.a" >/dev/null 2>&1 - fi - @@ -26,16 +41,6 @@ Index: php-5.2.11/ext/imap/config.m4 IMAP_LIB=$lib IMAP_LIB_CHK($PHP_LIBDIR) IMAP_LIB_CHK(c-client) -Index: php-5.2.11/acinclude.m4 -=================================================================== ---- php-5.2.11.orig/acinclude.m4 2009-12-10 12:37:13.134722881 -0700 -+++ php-5.2.11/acinclude.m4 2009-12-10 12:37:39.342007053 -0700 -@@ -2338,7 +2338,7 @@ - PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl" - fi - -- for i in $PHP_OPENSSL_DIR; do -+ for i in $PHP_OPENSSL_DIR $PHP_OPENSSL_DIR/usr; do - if test -r $i/include/openssl/evp.h; then - OPENSSL_INCDIR=$i/include - fi +-- +1.9.3 + diff --git a/meta-oe/recipes-devtools/php/php/pear-makefile.patch b/meta-oe/recipes-devtools/php/php/pear-makefile.patch index 1928b98966..9927d2d967 100644 --- a/meta-oe/recipes-devtools/php/php/pear-makefile.patch +++ b/meta-oe/recipes-devtools/php/php/pear-makefile.patch @@ -1,5 +1,7 @@ +Upstream-status: Unknown + diff --git a/pear/Makefile.frag b/pear/Makefile.frag -index 1f6f70e..b19a77c 100644 +index 00bacae..739eeca 100644 --- a/pear/Makefile.frag +++ b/pear/Makefile.frag @@ -11,7 +11,7 @@ PEAR_PREFIX = -dp a${program_prefix} @@ -11,3 +13,6 @@ index 1f6f70e..b19a77c 100644 install-pear: @echo "Installing PEAR environment: $(INSTALL_ROOT)$(peardir)/" +-- +1.9.3 + diff --git a/meta-oe/recipes-devtools/php/php/phar-makefile.patch b/meta-oe/recipes-devtools/php/php/phar-makefile.patch index 6fde251275..2851b0f8df 100644 --- a/meta-oe/recipes-devtools/php/php/phar-makefile.patch +++ b/meta-oe/recipes-devtools/php/php/phar-makefile.patch @@ -1,8 +1,15 @@ +Fix phar packaging + +Inherited from OE-Classic, with some additions to fix host paths leaking +into the target package. + +Upstream-Status: Inappropriate [config] + diff --git a/ext/phar/Makefile.frag b/ext/phar/Makefile.frag -index fc93d1d..9a8cd65 100755 +index 6516ddf..36e6cf4 100644 --- a/ext/phar/Makefile.frag +++ b/ext/phar/Makefile.frag -@@ -6,19 +6,8 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar +@@ -5,20 +5,9 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar PHP_PHARCMD_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0 -d 'safe_mode=0' PHP_PHARCMD_EXECUTABLE = ` \ @@ -19,8 +26,19 @@ index fc93d1d..9a8cd65 100755 - else \ - $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \ - fi;` +-PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";` + $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; ` + - PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";` ++PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";` $(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc + -@test -d $(builddir)/phar || mkdir $(builddir)/phar +@@ -39,7 +28,7 @@ install-pharcmd: pharcmd + -@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir) + $(INSTALL) $(builddir)/phar.phar $(INSTALL_ROOT)$(bindir) + -@rm -f $(INSTALL_ROOT)$(bindir)/phar +- $(LN_S) -f $(INSTALL_ROOT)$(bindir)/phar.phar $(INSTALL_ROOT)$(bindir)/phar ++ $(LN_S) -f $(bindir)/phar.phar $(INSTALL_ROOT)$(bindir)/phar + @$(mkinstalldirs) $(INSTALL_ROOT)$(mandir)/man1 + @$(INSTALL_DATA) $(builddir)/phar.1 $(INSTALL_ROOT)$(mandir)/man1/phar.1 + @$(INSTALL_DATA) $(builddir)/phar.phar.1 $(INSTALL_ROOT)$(mandir)/man1/phar.phar.1 diff --git a/meta-oe/recipes-devtools/php/php/php_exec_native.patch b/meta-oe/recipes-devtools/php/php/php_exec_native.patch index 31be1b70b7..0506bddaf4 100644 --- a/meta-oe/recipes-devtools/php/php/php_exec_native.patch +++ b/meta-oe/recipes-devtools/php/php/php_exec_native.patch @@ -1,12 +1,10 @@ ---- - sapi/cli/config.m4 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) +Upstream-status: Inappriate ---- php-5.4.14.orig/sapi/cli/config.m4 -+++ php-5.4.14/sapi/cli/config.m4 -@@ -34,11 +34,11 @@ if test "$PHP_CLI" != "no"; then - BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)" - ;; +diff --git a/sapi/cli/config.m4 b/sapi/cli/config.m4 +index cdfa1f7..0fe11e3 100644 +--- a/sapi/cli/config.m4 ++++ b/sapi/cli/config.m4 +@@ -36,7 +36,7 @@ if test "$PHP_CLI" != "no"; then esac dnl Set executable for tests @@ -15,5 +13,6 @@ PHP_SUBST(PHP_EXECUTABLE) dnl Expose to Makefile - PHP_SUBST(SAPI_CLI_PATH) - PHP_SUBST(BUILD_CLI) +-- +1.9.3 + diff --git a/meta-webserver/recipes-php/modphp/files/pthread-check-threads-m4.patch b/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch index 0c564cd88e..0c564cd88e 100644 --- a/meta-webserver/recipes-php/modphp/files/pthread-check-threads-m4.patch +++ b/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch diff --git a/meta-oe/recipes-devtools/php/php_5.4.14.bb b/meta-oe/recipes-devtools/php/php_5.4.14.bb deleted file mode 100644 index 3c9d3c0e89..0000000000 --- a/meta-oe/recipes-devtools/php/php_5.4.14.bb +++ /dev/null @@ -1,23 +0,0 @@ -require php.inc - -LIC_FILES_CHKSUM = "file://LICENSE;md5=cb564efdf78cce8ea6e4b5a4f7c05d97" - -PR = "${INC_PR}.0" - -SRC_URI += "file://acinclude-xml2-config.patch \ - file://0001-php-don-t-use-broken-wrapper-for-mkdir.patch \ - file://0001-acinclude-use-pkgconfig-for-libxml2-config.patch \ - " - -SRC_URI_append_pn-php += "file://iconv.patch \ - file://imap-fix-autofoo.patch \ - file://pear-makefile.patch \ - file://phar-makefile.patch \ - file://php_exec_native.patch \ - file://fix-fpm-cross-compile.patch \ - file://php-fpm.conf \ - file://php-fpm-apache.conf \ -" - -SRC_URI[md5sum] = "cfdc044be2c582991a1fe0967898fa38" -SRC_URI[sha256sum] = "5450f3843bc651eb3fb00601f0cce1930aaaf65c7c966c02fe4a46f9c81be20a" diff --git a/meta-oe/recipes-devtools/php/php_5.5.21.bb b/meta-oe/recipes-devtools/php/php_5.5.21.bb new file mode 100644 index 0000000000..4ad198a584 --- /dev/null +++ b/meta-oe/recipes-devtools/php/php_5.5.21.bb @@ -0,0 +1,236 @@ +SUMMARY = "A server-side, HTML-embedded scripting language" +HOMEPAGE = "http://www.php.net" +SECTION = "console/network" + +LICENSE = "PHP-3.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=52dd90569008fee5bcdbb22d945b1108" + +BBCLASSEXTEND = "native" +DEPENDS = "zlib bzip2 libxml2 virtual/libiconv php-native lemon-native \ + openssl libmcrypt" +DEPENDS_class-native = "zlib-native libxml2-native" + +SRC_URI = "http://php.net/distributions/php-${PV}.tar.bz2 \ + file://acinclude-xml2-config.patch \ + file://0001-php-don-t-use-broken-wrapper-for-mkdir.patch \ + file://0001-acinclude-use-pkgconfig-for-libxml2-config.patch \ + " + +SRC_URI_append_class-target += " \ + file://iconv.patch \ + file://imap-fix-autofoo.patch \ + file://pear-makefile.patch \ + file://phar-makefile.patch \ + file://php_exec_native.patch \ + file://php-fpm.conf \ + file://php-fpm-apache.conf \ + file://configure.patch \ + file://pthread-check-threads-m4.patch \ + file://70_mod_php5.conf \ + " + +SRC_URI[md5sum] = "8fe631ac52a3df9d6429faad81cf2562" +SRC_URI[sha256sum] = "62e9429975c4ca5d7067a5052d5388fbf2ac8c51eeee581d59b04cc5a8da83fe" + +S = "${WORKDIR}/php-${PV}" + +inherit autotools pkgconfig pythonnative gettext + +# phpize is not scanned for absolute paths by default (but php-config is). +# +SSTATE_SCAN_FILES += "phpize" +SSTATE_SCAN_FILES += "build-defs.h" + +PHP_LIBDIR = "${libdir}/php5" + +# Common EXTRA_OECONF +COMMON_EXTRA_OECONF = "--enable-sockets \ + --enable-pcntl \ + --enable-shared \ + --disable-opcache \ + --disable-rpath \ + --with-pic \ + --libdir=${PHP_LIBDIR} \ +" +EXTRA_OECONF = "--enable-mbstring \ + --enable-wddx \ + --enable-fpm \ + --enable-zip \ + --with-libdir=${baselib} \ + --with-gettext=${STAGING_LIBDIR}/.. \ + --with-zlib=${STAGING_LIBDIR}/.. \ + --with-iconv=${STAGING_LIBDIR}/.. \ + --with-mcrypt=${STAGING_DIR_TARGET}${exec_prefix} \ + --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \ + --with-config-file-path=${sysconfdir}/php/apache2-php5 \ + ${@base_conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \ + ${COMMON_EXTRA_OECONF} \ +" +EXTRA_OECONF_class-native = " \ + --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \ + --without-iconv \ + ${COMMON_EXTRA_OECONF} \ +" + +PACKAGECONFIG ??= "mysql sqlite3 imap \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" +PACKAGECONFIG_class-native = "" + +PACKAGECONFIG[mysql] = "--with-mysql=${STAGING_DIR_TARGET}${prefix} \ + --with-mysqli=${STAGING_BINDIR_CROSS}/mysql_config \ + --with-pdo-mysql=${STAGING_BINDIR_CROSS}/mysql_config \ + ,--without-mysql --without-mysqli --without-pdo-mysql \ + ,mysql5" + +PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \ + --with-pdo-sqlite=${STAGING_LIBDIR}/.. \ + , \ + ,sqlite3" +PACKAGECONFIG[pgsql] = "--with-pgsql=${STAGING_DIR_TARGET}${exec_prefix},--without-pgsql,postgresql" +PACKAGECONFIG[soap] = "--enable-libxml --enable-soap, --disable-soap, libxml2" +PACKAGECONFIG[apache2] = "--with-apxs2=${STAGING_BINDIR_CROSS}/apxs,,apache2-native apache2" +PACKAGECONFIG[pam] = ",,libpam" +PACKAGECONFIG[imap] = "--with-imap=${STAGING_DIR_HOST} \ + --with-imap-ssl=${STAGING_DIR_HOST} \ + ,--without-imap --without-imap-ssl \ + ,uw-imap" + + +export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}" +export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php" +CFLAGS += " -D_GNU_SOURCE -g -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -I${STAGING_INCDIR}/apache2" + +EXTRA_OEMAKE = "INSTALL_ROOT=${D}" + +acpaths = "" + +do_configure_prepend () { + rm -f ${S}/build/libtool.m4 ${S}/ltmain.sh ${S}/aclocal.m4 + find ${S} -name config.m4 | xargs -n1 sed -i 's!APXS_HTTPD=.*!APXS_HTTPD=${STAGING_BINDIR_NATIVE}/httpd!' +} + +do_configure_append() { + # No, libtool, we really don't want rpath set... + sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${HOST_SYS}-libtool + sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${HOST_SYS}-libtool +} + +do_install_append_class-native() { + rm -rf ${D}/${PHP_LIBDIR}/php/.registry + rm -rf ${D}/${PHP_LIBDIR}/php/.channels + rm -rf ${D}/${PHP_LIBDIR}/php/.[a-z]* +} + +do_install_prepend() { + cat aclocal-copy/libtool.m4 aclocal-copy/lt~obsolete.m4 aclocal-copy/ltoptions.m4 \ + aclocal-copy/ltsugar.m4 aclocal-copy/ltversion.m4 > ${S}/build/libtool.m4 +} + +do_install_prepend_class-target() { + if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then + # Install dummy config file so apxs doesn't fail + install -d ${D}${sysconfdir}/apache2 + printf "\nLoadModule dummy_module modules/mod_dummy.so\n" > ${D}${sysconfdir}/apache2/httpd.conf + fi +} + +# fixme +do_install_append_class-target() { + install -d ${D}/${sysconfdir}/ + if [ -d ${D}/${STAGING_DIR_NATIVE}/${sysconfdir} ];then + mv ${D}/${STAGING_DIR_NATIVE}/${sysconfdir}/* ${D}/${sysconfdir}/ + fi + rm -rf ${D}/${TMPDIR} + rm -rf ${D}/.registry + rm -rf ${D}/.channels + rm -rf ${D}/.[a-z]* + rm -rf ${D}/var + rm -f ${D}/${sysconfdir}/php-fpm.conf.default + sed -i 's:${STAGING_DIR_NATIVE}::g' ${D}/${sysconfdir}/pear.conf + install -m 0644 ${WORKDIR}/php-fpm.conf ${D}/${sysconfdir}/php-fpm.conf + install -d ${D}/${sysconfdir}/apache2/conf.d + install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf + install -d ${D}${sysconfdir}/init.d + sed -i 's:=/usr/sbin:=${sbindir}:g' ${B}/sapi/fpm/init.d.php-fpm + sed -i 's:=/etc:=${sysconfdir}:g' ${B}/sapi/fpm/init.d.php-fpm + sed -i 's:=/var:=${localstatedir}:g' ${B}/sapi/fpm/init.d.php-fpm + install -m 0755 ${B}/sapi/fpm/init.d.php-fpm ${D}${sysconfdir}/init.d/php-fpm + TMP=`dirname ${D}/${TMPDIR}` + while test ${TMP} != ${D}; do + rmdir ${TMP} + TMP=`dirname ${TMP}`; + done + + if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then + install -d ${D}${libdir}/apache2/modules + install -d ${D}${sysconfdir}/apache2/modules.d + install -d ${D}${sysconfdir}/php/apache2-php5 + install -m 755 libs/libphp5.so ${D}${libdir}/apache2/modules + install -m 644 ${WORKDIR}/70_mod_php5.conf ${D}${sysconfdir}/apache2/modules.d + sed -i s,lib/,${libdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php5.conf + cat ${S}/php.ini-production | \ + sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \ + > ${D}${sysconfdir}/php/apache2-php5/php.ini + rm -f ${D}${sysconfdir}/apache2/httpd.conf* + fi +} + +SYSROOT_PREPROCESS_FUNCS += "php_sysroot_preprocess" + +php_sysroot_preprocess () { + install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + install -m 755 ${D}${bindir}/phpize ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + install -m 755 ${D}${bindir}/php-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + + sed -i 's!eval echo /!eval echo ${STAGING_DIR_HOST}/!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/phpize + sed -i 's!^include_dir=.*!include_dir=${STAGING_INCDIR}/php!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/php-config +} + +MODPHP_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', '${PN}-modphp', '', d)}" + +PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}" + +RDEPENDS_${PN}-pear = "${PN}" +RDEPENDS_${PN}-phar = "${PN}-cli" +RDEPENDS_${PN}-cli = "${PN}" +RDEPENDS_${PN}-modphp = "${PN} apache2" +RDEPENDS_${PN}-dev = "${PN}" + +INITSCRIPT_PACKAGES = "${PN}-fpm" +inherit update-rc.d + +FILES_${PN}-dbg =+ "${bindir}/.debug \ + ${libdir}/apache2/modules/.debug" +FILES_${PN}-doc += "${PHP_LIBDIR}/php/doc" +FILES_${PN}-cli = "${bindir}/php" +FILES_${PN}-phar = "${bindir}/phar*" +FILES_${PN}-cgi = "${bindir}/php-cgi" +FILES_${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/fpm ${sysconfdir}/init.d/php-fpm" +FILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" +CONFFILES_${PN}-fpm = "${sysconfdir}/php-fpm.conf" +CONFFILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" +INITSCRIPT_NAME_${PN}-fpm = "php-fpm" +INITSCRIPT_PARAMS_${PN}-fpm = "defaults 60" +FILES_${PN}-pear = "${bindir}/pear* ${bindir}/pecl ${PHP_LIBDIR}/php/PEAR \ + ${PHP_LIBDIR}/php/PEAR*.php ${PHP_LIBDIR}/php/System.php \ + ${PHP_LIBDIR}/php/peclcmd.php ${PHP_LIBDIR}/php/pearcmd.php \ + ${PHP_LIBDIR}/php/.channels ${PHP_LIBDIR}/php/.channels/.alias \ + ${PHP_LIBDIR}/php/.registry ${PHP_LIBDIR}/php/Archive/Tar.php \ + ${PHP_LIBDIR}/php/Console/Getopt.php ${PHP_LIBDIR}/php/OS/Guess.php \ + ${PHP_LIBDIR}/php/data/PEAR \ + ${sysconfdir}/pear.conf" +FILES_${PN}-dev = "${includedir}/php ${PHP_LIBDIR}/build ${bindir}/phpize \ + ${bindir}/php-config ${PHP_LIBDIR}/php/.depdb \ + ${PHP_LIBDIR}/php/.depdblock ${PHP_LIBDIR}/php/.filemap \ + ${PHP_LIBDIR}/php/.lock ${PHP_LIBDIR}/php/test" +FILES_${PN} = "${PHP_LIBDIR}/php" +FILES_${PN} += "${bindir}" + +SUMMARY_${PN}-modphp = "PHP module for the Apache HTTP server" +FILES_${PN}-modphp = "${libdir}/apache2 ${sysconfdir}" + +MODPHP_OLDPACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'modphp', '', d)}" +RPROVIDES_${PN}-modphp = "${MODPHP_OLDPACKAGE}" +RREPLACES_${PN}-modphp = "${MODPHP_OLDPACKAGE}" +RCONFLICTS_${PN}-modphp = "${MODPHP_OLDPACKAGE}" diff --git a/meta-oe/recipes-devtools/protobuf/protobuf_2.4.1.bb b/meta-oe/recipes-devtools/protobuf/protobuf_2.5.0.bb index 8386206ea1..a0db7bf95d 100644 --- a/meta-oe/recipes-devtools/protobuf/protobuf_2.4.1.bb +++ b/meta-oe/recipes-devtools/protobuf/protobuf_2.5.0.bb @@ -12,8 +12,8 @@ LIC_FILES_CHKSUM = "file://COPYING.txt;md5=af6809583bfde9a31595a58bb4a24514" SRC_URI = "http://protobuf.googlecode.com/files/protobuf-${PV}.tar.gz" -SRC_URI[md5sum] = "dc84e9912ea768baa1976cb7bbcea7b5" -SRC_URI[sha256sum] = "eac6969b617f397247e805267da2b0db3ff9e5a9163b123503a192fbb5776567" +SRC_URI[md5sum] = "b751f772bdeb2812a2a8e7202bf1dae8" +SRC_URI[sha256sum] = "c55aa3dc538e6fd5eaf732f4eb6b98bdcb7cedb5b91d3b5bdcf29c98c293f58e" EXTRA_OECONF += " --with-protoc=echo" diff --git a/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/pyqt-generated.patch b/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/pyqt-generated.patch deleted file mode 100644 index 6579aa4000..0000000000 --- a/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/pyqt-generated.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -uNr PyQt-x11-gpl-4.9.5.orig/QtGui/sipQtGuiQSystemTrayIcon.cpp PyQt-x11-gpl-4.9.5/QtGui/sipQtGuiQSystemTrayIcon.cpp ---- PyQt-x11-gpl-4.9.5.orig/QtGui/sipQtGuiQSystemTrayIcon.cpp 2012-10-01 16:48:16.496700577 +0200 -+++ PyQt-x11-gpl-4.9.5/QtGui/sipQtGuiQSystemTrayIcon.cpp 2012-10-01 21:40:43.063130099 +0200 -@@ -993,8 +993,6 @@ - qtgui_untrack(sipCpp); - #line 995 "QtGui/sipQtGuiQSystemTrayIcon.cpp" - -- QSystemTrayIcon *sipCpp = reinterpret_cast<QSystemTrayIcon *>(sipCppV); -- - if (QThread::currentThread() == sipCpp->thread()) - delete sipCpp; - else diff --git a/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/qreal_float_support.diff b/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/qreal_float_support.diff deleted file mode 100644 index abdf70fab0..0000000000 --- a/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/qreal_float_support.diff +++ /dev/null @@ -1,248 +0,0 @@ -## 03_qreal_float_support.dpatch by Michael Casadevall <sonicmctails@gmail.com> -Index: python-qt4-4.8.3/configure.py -=================================================================== ---- python-qt4-4.8.3.orig/configure.py 2011-02-24 10:33:30.000000000 +0200 -+++ python-qt4-4.8.3/configure.py 2011-02-24 10:33:18.000000000 +0200 -@@ -2004,8 +2004,9 @@ - out << "PyQt_NoOpenGLES\\n"; - #endif - -- if (sizeof (qreal) != sizeof (double)) -+#if defined(QT_NO_FPU) || defined(QT_ARCH_ARM) || defined(QT_ARCH_WINDOWSCE) - out << "PyQt_qreal_double\\n"; -+#endif - - return 0; - } -Index: python-qt4-4.8.3/sip/QtCore/qlist.sip -=================================================================== ---- python-qt4-4.8.3.orig/sip/QtCore/qlist.sip 2011-02-24 10:33:27.000000000 +0200 -+++ python-qt4-4.8.3/sip/QtCore/qlist.sip 2011-02-24 10:33:18.000000000 +0200 -@@ -811,3 +811,227 @@ - return sipGetState(sipTransferObj); - %End - }; -+ -+// If we're on an architecture where qreal != double, then we need to also -+// explicately handle doubles. On architectures where qreal == double, they -+// will automaticially be cast upwards -+ -+%If (!PyQt_qreal_double) -+ -+%If (Qt_4_3_0 -) -+// QList<QPair<double, double> > is implemented as a Python list of 2-element tuples. -+%MappedType QList<QPair<double, double> > -+{ -+%TypeHeaderCode -+#include <qlist.h> -+#include <qpair.h> -+%End -+ -+%ConvertFromTypeCode -+ // Create the list. -+ PyObject *l; -+ -+ if ((l = PyList_New(sipCpp->size())) == NULL) -+ return NULL; -+ -+ // Set the list elements. -+ for (int i = 0; i < sipCpp->size(); ++i) -+ { -+ const QPair<double, double> &p = sipCpp->at(i); -+ PyObject *pobj; -+ -+ if ((pobj = Py_BuildValue((char *)"dd", p.first, p.second)) == NULL) -+ { -+ Py_DECREF(l); -+ -+ return NULL; -+ } -+ -+ PyList_SET_ITEM(l, i, pobj); -+ } -+ -+ return l; -+%End -+ -+%ConvertToTypeCode -+ SIP_SSIZE_T len; -+ -+ // Check the type if that is all that is required. -+ if (sipIsErr == NULL) -+ { -+ if (!PySequence_Check(sipPy) || (len = PySequence_Size(sipPy)) < 0) -+ return 0; -+ -+ for (SIP_SSIZE_T i = 0; i < len; ++i) -+ { -+ PyObject *tup = PySequence_ITEM(sipPy, i); -+ -+ if (!PySequence_Check(tup) || PySequence_Size(tup) != 2) -+ return 0; -+ } -+ -+ return 1; -+ } -+ -+ QList<QPair<double, double> > *ql = new QList<QPair<double, double> >; -+ len = PySequence_Size(sipPy); -+ -+ for (SIP_SSIZE_T i = 0; i < len; ++i) -+ { -+ PyObject *tup = PySequence_ITEM(sipPy, i); -+ -+ double first = PyFloat_AsDouble(PySequence_ITEM(tup, 0)); -+ double second = PyFloat_AsDouble(PySequence_ITEM(tup, 1)); -+ -+ ql->append(QPair<double, double>(first, second)); -+ } -+ -+ *sipCppPtr = ql; -+ -+ return sipGetState(sipTransferObj); -+%End -+}; -+%End -+%If (Qt_4_3_0 -) -+// QList<QPair<double, TYPE> > is implemented as a Python list of 2-element tuples. -+template<double, TYPE> -+%MappedType QList<QPair<double, TYPE> > -+{ -+%TypeHeaderCode -+#include <qlist.h> -+#include <qpair.h> -+%End -+ -+%ConvertFromTypeCode -+ // Create the list. -+ PyObject *l; -+ -+ if ((l = PyList_New(sipCpp->size())) == NULL) -+ return NULL; -+ -+ // Set the list elements. -+ for (int i = 0; i < sipCpp->size(); ++i) -+ { -+ const QPair<double, TYPE> &p = sipCpp->at(i); -+ TYPE *t = new TYPE(p.second); -+ PyObject *pobj; -+ -+ if ((pobj = sipBuildResult(NULL, "(dB)", p.first, t, sipClass_TYPE, sipTransferObj)) == NULL) -+ { -+ Py_DECREF(l); -+ delete t; -+ -+ return NULL; -+ } -+ -+ PyList_SET_ITEM(l, i, pobj); -+ } -+ -+ return l; -+%End -+ -+%ConvertToTypeCode -+ SIP_SSIZE_T len; -+ -+ // Check the type if that is all that is required. -+ if (sipIsErr == NULL) -+ { -+ if (!PySequence_Check(sipPy) || (len = PySequence_Size(sipPy)) < 0) -+ return 0; -+ -+ for (SIP_SSIZE_T i = 0; i < len; ++i) -+ { -+ PyObject *tup = PySequence_ITEM(sipPy, i); -+ -+ if (!PySequence_Check(tup) || PySequence_Size(tup) != 2) -+ return 0; -+ -+ if (!sipCanConvertToInstance(PySequence_ITEM(tup, 1), sipClass_TYPE, SIP_NOT_NONE)) -+ return 0; -+ } -+ -+ return 1; -+ } -+ -+ QList<QPair<double, TYPE> > *ql = new QList<QPair<double, TYPE> >; -+ len = PySequence_Size(sipPy); -+ -+ for (SIP_SSIZE_T i = 0; i < len; ++i) -+ { -+ PyObject *tup = PySequence_ITEM(sipPy, i); -+ double d; -+ int state; -+ -+ d = PyFloat_AsDouble(PySequence_ITEM(tup, 0)); -+ TYPE *t = reinterpret_cast<TYPE *>(sipConvertToInstance(PySequence_ITEM(tup, 1), sipClass_TYPE, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); -+ -+ if (*sipIsErr) -+ { -+ sipReleaseInstance(t, sipClass_TYPE, state); -+ -+ delete ql; -+ return 0; -+ } -+ -+ ql->append(QPair<double, TYPE>(d, *t)); -+ -+ sipReleaseInstance(t, sipClass_TYPE, state); -+ } -+ -+ *sipCppPtr = ql; -+ -+ return sipGetState(sipTransferObj); -+%End -+}; -+%End -+ -+// QList<double> is implemented as a Python list of doubles. -+%MappedType QList<double> -+{ -+%TypeHeaderCode -+#include <qlist.h> -+%End -+ -+%ConvertFromTypeCode -+ // Create the list. -+ PyObject *l; -+ -+ if ((l = PyList_New(sipCpp->size())) == NULL) -+ return NULL; -+ -+ // Set the list elements. -+ for (int i = 0; i < sipCpp->size(); ++i) -+ { -+ PyObject *pobj; -+ -+ if ((pobj = PyFloat_FromDouble(sipCpp->value(i))) == NULL) -+ { -+ Py_DECREF(l); -+ -+ return NULL; -+ } -+ -+ PyList_SET_ITEM(l, i, pobj); -+ } -+ -+ return l; -+%End -+ -+%ConvertToTypeCode -+ // Check the type if that is all that is required. -+ if (sipIsErr == NULL) -+ return (PySequence_Check(sipPy) && PySequence_Size(sipPy) >= 0); -+ -+ QList<double> *ql = new QList<double>; -+ SIP_SSIZE_T len = PySequence_Size(sipPy); -+ -+ for (SIP_SSIZE_T i = 0; i < len; ++i) -+ ql->append(PyFloat_AsDouble(PySequence_ITEM(sipPy, i))); -+ -+ *sipCppPtr = ql; -+ -+ return sipGetState(sipTransferObj); -+%End -+}; -+ -+%End diff --git a/meta-oe/recipes-devtools/python/python-pyqt_4.11.3.bb b/meta-oe/recipes-devtools/python/python-pyqt_4.11.3.bb new file mode 100644 index 0000000000..989f2cf515 --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-pyqt_4.11.3.bb @@ -0,0 +1,56 @@ +SUMMARY = "Python Qt4 Bindings" +AUTHOR = "Phil Thomson @ riverbank.co.uk" +HOMEPAGE = "http://riverbankcomputing.co.uk" +SECTION = "devel/python" +LICENSE = "GPLv2 & GPLv3 & GPL_EXCEPTION" +LIC_FILES_CHKSUM = "\ + file://GPL_EXCEPTION.TXT;md5=b73b0be471db679533dc94781c14af58 \ + file://GPL_EXCEPTION_ADDENDUM.TXT;md5=c1e04ec2aa0911061005a801abf81e40 \ + file://OPENSOURCE-NOTICE.TXT;md5=6ad9123620cc04a22c394753ad4767d7 \ + file://LICENSE.GPL2;md5=577ff65f6653562af318bfc3944b1f20 \ + file://LICENSE.GPL3;md5=feee51612c3c1191a1d5f41156fa2c75 \ +" +DEPENDS = "sip sip-native qt4-x11-free python" + +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/pyqt/PyQt-x11-gpl-${PV}.tar.gz \ +" +SRC_URI[md5sum] = "997c3e443165a89a559e0d96b061bf70" +SRC_URI[sha256sum] = "853780dcdbe2e6ba785d703d059b096e1fc49369d3e8d41a060be874b8745686" + +S = "${WORKDIR}/PyQt-x11-gpl-${PV}" + +PARALLEL_MAKE = "" + +inherit qmake2 pythonnative python-dir distro_features_check +# depends on qt4-x11-free +REQUIRED_DISTRO_FEATURES = "x11" + +DISABLED_FEATURES = "PyQt_Desktop_OpenGL PyQt_Accessibility PyQt_SessionManager" + +DISABLED_FEATURES_append_arm = " PyQt_qreal_double" + +do_configure() { + echo "py_platform = linux" > pyqt.cfg + echo "py_inc_dir = %(sysroot)/$includedir/python%(py_major).%(py_minor)" >> pyqt.cfg + echo "py_pylib_dir = %(sysroot)/${libdir}/python%(py_major).%(py_minor)" >> pyqt.cfg + echo "py_pylib_lib = python%(py_major).%(py_minor)mu" >> pyqt.cfg + echo "pyqt_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> pyqt.cfg + echo "pyqt_bin_dir = ${D}/${bindir}" >> pyqt.cfg + echo "pyqt_sip_dir = ${D}/${datadir}/sip/PyQt4" >> pyqt.cfg + echo "pyuic_interpreter = ${D}/${bindir}/python%(py_major).%(py_minor)" >> pyqt.cfg + echo "pyqt_disabled_features = ${DISABLED_FEATURES}" >> pyqt.cfg + echo "qt_shared = True" >> pyqt.cfg + echo "[Qt 4.8]" >> pyqt.cfg + echo "pyqt_modules = QtCore QtGui QtDeclarative QtNetwork QtSvg QtWebKit" >> pyqt.cfg + echo yes | python configure-ng.py --verbose --qmake ${STAGING_BINDIR_NATIVE}/qmake2 --configuration pyqt.cfg --sysroot ${STAGING_DIR_HOST} +} +do_install() { + oe_runmake install +} + +RDEPENDS_${PN} = "python-core" + +FILES_${PN} += "${libdir}/${PYTHON_DIR}/site-packages ${datadir}/sip/PyQt4/" +FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/*/.debug/" + diff --git a/meta-oe/recipes-devtools/python/python-pyqt_4.9.6.bb b/meta-oe/recipes-devtools/python/python-pyqt_4.9.6.bb deleted file mode 100644 index 2f0e189ef4..0000000000 --- a/meta-oe/recipes-devtools/python/python-pyqt_4.9.6.bb +++ /dev/null @@ -1,103 +0,0 @@ -SUMMARY = "Python Qt4 Bindings" -HOMEPAGE = "http://riverbankcomputing.co.uk" -AUTHOR = "Phil Thomson @ riverbank.co.uk" -SECTION = "devel/python" -LICENSE = "GPLv2 & GPLv3 & GPL_EXCEPTION" -LIC_FILES_CHKSUM = "\ - file://GPL_EXCEPTION.TXT;md5=b73b0be471db679533dc94781c14af58 \ - file://GPL_EXCEPTION_ADDENDUM.TXT;md5=c1e04ec2aa0911061005a801abf81e40 \ - file://OPENSOURCE-NOTICE.TXT;md5=6ad9123620cc04a22c394753ad4767d7 \ - file://LICENSE.GPL2;md5=276c6b9cad5f85a3af3534299825feff \ - file://LICENSE.GPL3;md5=eda942b9c6ba7eb0f40fee79e94950d5 \ -" - -DEPENDS = "sip-native python-sip" -RDEPENDS_${PN} = "python-core" - -PYQT_OE_VERSION = "Qt_4_8_3" -PR = "r1" - -SRC_URI = "\ - ${SOURCEFORGE_MIRROR}/pyqt/PyQt-x11-gpl-${PV}.tar.gz \ - file://pyqt-generated.patch;apply=no \ -" -SRC_URI[md5sum] = "514e1f9597771dc732ba75ba9fa5c6b6" -SRC_URI[sha256sum] = "a350f9e5c6d8062671c0f29bf1a70824719b18175ce8372c29bf7c1eda44b18d" -S = "${WORKDIR}/PyQt-x11-gpl-${PV}" - -# arm and mips machines need some extra patches -SRC_URI_append_arm = "\ - file://qreal_float_support.diff \ -" - -SRC_URI_append_mipsel = "\ - file://qreal_float_support.diff \ -" - -inherit qt4x11 sip distutils-base - -PARALLEL_MAKE = "" - -QMAKE_PROFILES = "pyqt.pro" -# NOTE: has to match with MIN(qt version we have in OE, last known Qt version by SIP/PyQt) -EXTRA_SIPTAGS = "-tWS_X11 -t${PYQT_OE_VERSION} -xVendorID -xPyQt_SessionManager -xPyQt_Accessibility" -EXTRA_OEMAKE = " MAKEFLAGS= " - -# arm and mips need extra params for the qreal issue -EXTRA_SIPTAGS_append_arm = " -x PyQt_qreal_double" -EXTRA_SIPTAGS_append_mipsel = " -x PyQt_qreal_double" - -SIP_MODULES = "QtCore QtDeclarative QtGui QtNetwork QtSql QtSvg QtXml QtWebKit" -MAKE_MODULES = "qpy ${SIP_MODULES}" - -EXTRA_QMAKEVARS_POST += "\ - INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/Qt \ - INCLUDEPATH+=${STAGING_INCDIR}/${PYTHON_DIR} \ - INCLUDEPATH+=../qpy/QtCore \ - INCLUDEPATH+=../qpy/QtGui \ - INCLUDEPATH+=../qpy/QtDeclarative \ - INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtCore \ - INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtGui \ - INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtDeclarative \ - INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtWebKit \ - INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtNetwork \ -" -FIX_QREAL = "\ -" - -do_generate_prepend() { - for i in ${FIX_QREAL}; do - sed -i -e s,qreal,float,g sip/$i - done -} - -do_configure_prepend() { - printf "TEMPLATE=subdirs\nSUBDIRS=${MAKE_MODULES}\n" >pyqt.pro - printf "TEMPLATE=subdirs\nSUBDIRS=QtCore QtDeclarative QtGui\n" >qpy/qpy.pro - ln -sf ./qpycore.pro qpy/QtCore/QtCore.pro - ln -sf ./qpydeclarative.pro qpy/QtDeclarative/QtDeclarative.pro - ln -sf ./qpygui.pro qpy/QtGui/QtGui.pro - echo "INCLUDEPATH+=${S}/QtCore" >>qpy/QtCore/QtCore.pro - echo "INCLUDEPATH+=${S}/QtGui" >>qpy/QtGui/QtGui.pro - echo "INCLUDEPATH+=${S}/QtDeclarative" >>qpy/QtDeclarative/QtDeclarative.pro - echo "LIBS+=-L../qpy/QtGui/ -lqpygui" >>QtGui/QtGui.pro - echo "LIBS+=-L../qpy/QtCore/ -lqpycore" >>QtCore/QtCore.pro - echo "LIBS+=-L../qpy/QtDeclarative/ -lqpydeclarative" >>QtDeclarative/QtDeclarative.pro - # hack for broken generated code (duplicated sipCpp declaration). - patch -p1 < ${WORKDIR}/pyqt-generated.patch || echo "pyqt-generated.patch failed to apply, probably reexecuting do_configure, ignoring that" -} - -do_install() { - install -d ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4 - install -d ${D}${datadir}/sip/qt/ - for module in ${SIP_MODULES} - do - install -m 0644 ${S}/sip/${module}/*.sip ${D}${datadir}/sip/qt/ - echo "from PyQt4.${module} import *\n" >> ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/Qt.py - install -m 0755 ${module}/lib${module}.so ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/${module}.so - done - cp -pPR elementtree ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/ - cp __init__.py ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/ -} - -FILES_${PN} = "${libdir}/${PYTHON_DIR}/site-packages ${datadir}/sip/qt/" diff --git a/meta-oe/recipes-devtools/python/python-sip_4.14.2.bb b/meta-oe/recipes-devtools/python/python-sip_4.14.2.bb deleted file mode 100644 index acabc97210..0000000000 --- a/meta-oe/recipes-devtools/python/python-sip_4.14.2.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "Runtime helper for sip-generated python wrapper libraries" -SECTION = "devel/python" -HOMEPAGE = "http://www.riverbankcomputing.co.uk/sip" -AUTHOR = "Phil Thompson" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://siplib.sbf.in;endline=15;md5=3d462bd8cb43db3e4be998fe155ae9cf" -DEPENDS = "python" -RDEPENDS_${PN} = "python-core" - -# riverbankcomputing is upstream, but keeps only latest version, sf usually have few older -#SRC_URI = "http://www.riverbankcomputing.com/static/Downloads/sip4/sip-${PV}.tar.gz" -SRC_URI = "${SOURCEFORGE_MIRROR}/project/pyqt/sip/sip-${PV}/sip-${PV}.tar.gz" -SRC_URI[md5sum] = "b93442e745b3be2fad89de0686a76ce9" -SRC_URI[sha256sum] = "1a9d3bf26c821f369c175f8e68946b79bc994da4f96e8f5ecff06e6ee7ac0528" - -S = "${WORKDIR}/sip-${PV}/siplib" - -inherit qt4x11 distutils-base - -EXTRA_QMAKEVARS_POST += " TEMPLATE=lib \ - CONFIG=console \ - DESTDIR= \ - VERSION=1.0.0 \ - TARGET=sip \ - DEFINES=SIP_QT_SUPPORT \ - INCLUDEPATH+=. \ - INCLUDEPATH+=${STAGING_INCDIR}/${PYTHON_DIR} \ - INCLUDEPATH+=${STAGING_INCDIR}" - - -do_configure_prepend() { - cat siplib.sbf.in | sed s,target,TARGET, | sed s,sources,SOURCES, | sed s,headers,HEADERS, | sed s,@CFG_MODULE_BASENAME@,sip, > siplib.pro - cat siplib.c.in | sed s,@CFG_MODULE_BASENAME@,sip, > siplib.c - cat sip.h.in | sed -e s,@CFG_MODULE_NAME@,sip,g > sip.h -} - -do_install() { - install -d ${D}${libdir}/${PYTHON_DIR}/site-packages/ - install -m 0755 libsip.so.1.0.0 ${D}${libdir}/${PYTHON_DIR}/site-packages/sip.so - # sipconfig.py sipdistutils.py - install -d ${D}${includedir} - install -m 0644 ../siplib/sip.h ${D}${includedir}/sip.h -} - -FILES_${PN} = "${libdir}/${PYTHON_DIR}/site-packages/sip.so" - diff --git a/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb b/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb index c6bedea097..ab15a7e7f4 100644 --- a/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb +++ b/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb @@ -11,4 +11,6 @@ SRC_URI = "git://git.code.sf.net/p/tclap/code \ S = "${WORKDIR}/git" inherit autotools +ALLOW_EMPTY_${PN} = "1" + BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb b/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb index 1177d03688..14c6ce54c0 100644 --- a/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb +++ b/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb @@ -35,7 +35,9 @@ S = "${WORKDIR}/${BPN}${PV}/unix" VER = "${@os.path.splitext(d.getVar('PV', True))[0]}" LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/${PV}/lib" -inherit autotools +inherit autotools distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" EXTRA_OECONF = "\ --enable-threads \ diff --git a/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007e-shared.patch b/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007e-shared.patch new file mode 100644 index 0000000000..4434e839f8 --- /dev/null +++ b/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007e-shared.patch @@ -0,0 +1,82 @@ +Fix linking libraries built with -fPIC with this library + +Patch borrowed from Fedora + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> + +Upstream-Status: Pending + +diff -up imap-2007e/src/osdep/unix/Makefile.shared imap-2007e/src/osdep/unix/Makefile +--- imap-2007e/src/osdep/unix/Makefile.shared 2009-07-07 19:28:02.909755512 -0500 ++++ imap-2007e/src/osdep/unix/Makefile 2009-07-07 19:29:35.870006799 -0500 +@@ -170,6 +170,10 @@ BUILD=$(MAKE) build EXTRACFLAGS='$(EXTRA + EXTRADRIVERS='$(EXTRADRIVERS)' EXTRAAUTHENTICATORS='$(EXTRAAUTHENTICATORS)'\ + PASSWDTYPE=$(PASSWDTYPE) SSLTYPE=$(SSLTYPE) IP=$(IP) + ++# Need this for the shared library rule to work correctly ++.SUFFIXES: .o .so ++SOFILES=${BINARIES:.o=.so} ++ + + # Here if no make argument established + +@@ -845,18 +849,24 @@ vu2: # VAX Ultrix 2.3, etc. + + # Build it! + +-build: clean once $(ARCHIVE) ++build: clean once $(ARCHIVE) $(SHLIBNAME) + +-all: $(ARCHIVE) ++all: $(ARCHIVE) $(SHLIBNAME) + + $(ARCHIVE): $(BINARIES) + sh -c '$(RM) $(ARCHIVE) || true' + @$(CAT) ARCHIVE + @$(SH) ARCHIVE + +-.c.o: +- `$(CAT) CCTYPE` -c `$(CAT) CFLAGS` $*.c ++$(SHLIBNAME): $(SOFILES) ++ gcc -shared -Wl,-soname,$(SHLIBNAME) -o $(SHLIBNAME) $(SOFILES) `cat LDFLAGS` ++ ln -s $(SHLIBNAME) lib$(SHLIBBASE).so + ++.c.so: osdep.h ++ $(CC) -fPIC -DPIC -D_REENTRANT -c `$(CAT) CFLAGS` ${@:.so=.c} -o $@ ++ ++.c.o: ++ $(CC) -fPIC -DPIC -D_REENTRANT -c `$(CAT) CFLAGS` $*.c + + # Cleanup + +@@ -895,8 +905,7 @@ utf8aux.o: mail.h misc.h osdep.h utf8.h + + + # OS-dependent +- +-osdep.o:mail.h misc.h env.h fs.h ftl.h nl.h tcp.h \ ++OSDEPS= mail.h misc.h env.h fs.h ftl.h nl.h tcp.h \ + osdep.h env_unix.h tcp_unix.h \ + osdep.c env_unix.c fs_unix.c ftl_unix.c nl_unix.c tcp_unix.c ip_unix.c\ + auths.c crexcl.c flockcyg.c flocklnx.c flocksim.c fsync.c \ +@@ -910,12 +919,19 @@ osdep.o:mail.h misc.h env.h fs.h ftl.h n + write.c sslstdio.c \ + strerror.c strpbrk.c strstr.c strtok.c strtoul.c \ + OSCFLAGS ++ ++osdep.o: $(OSDEPS) ++ $(CC) -fPIC -DPIC -D_REENTRANT `$(CAT) CFLAGS` `$(CAT) OSCFLAGS` -c osdep.c ++ @echo ======================================================================== + @echo Building OS-dependent module + @echo If you get No such file error messages for files x509.h, ssl.h, + @echo pem.h, buffer.h, bio.h, and crypto.h, that means that OpenSSL + @echo is not installed on your system. Either install OpenSSL first + @echo or build with command: make `$(CAT) OSTYPE` SSLTYPE=none +- `$(CAT) CCTYPE` -c `$(CAT) CFLAGS` `$(CAT) OSCFLAGS` -c osdep.c ++ @echo ======================================================================== ++ ++osdep.so: $(OSDEPS) ++ $(CC) -fPIC -DPIC -D_REENTRANT `$(CAT) CFLAGS` `cat OSCFLAGS` -c osdep.c -o $@ + + osdep.c: osdepbas.c osdepckp.c osdeplog.c osdepssl.c + $(CAT) osdepbas.c osdepckp.c osdeplog.c osdepssl.c > osdep.c diff --git a/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007f-format-security.patch b/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007f-format-security.patch new file mode 100644 index 0000000000..6ec04761a3 --- /dev/null +++ b/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007f-format-security.patch @@ -0,0 +1,20 @@ +Fix error found with "-Werror=format-security" flag + +Patch borrowed from Fedora + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> + +Upstream-Status: Pending + +diff -Naur imap-2007f.orig/src/osdep/unix/flocklnx.c imap-2007f/src/osdep/unix/flocklnx.c +--- imap-2007f.orig/src/osdep/unix/flocklnx.c 2011-07-23 02:20:11.000000000 +0200 ++++ imap-2007f/src/osdep/unix/flocklnx.c 2014-04-14 19:17:46.429000000 +0200 +@@ -57,7 +57,7 @@ + case ENOLCK: /* lock table is full */ + sprintf (tmp,"File locking failure: %s",strerror (errno)); + mm_log (tmp,WARN); /* give the user a warning of what happened */ +- if (!logged++) syslog (LOG_ERR,tmp); ++ if (!logged++) syslog (LOG_ERR, "%s", tmp); + /* return failure if non-blocking lock */ + if (op & LOCK_NB) return -1; + sleep (5); /* slow down in case it loops */ diff --git a/meta-oe/recipes-devtools/libc-client/files/quote_cctype.patch b/meta-oe/recipes-devtools/uw-imap/uw-imap/quote_cctype.patch index f729ee2074..f729ee2074 100644 --- a/meta-oe/recipes-devtools/libc-client/files/quote_cctype.patch +++ b/meta-oe/recipes-devtools/uw-imap/uw-imap/quote_cctype.patch diff --git a/meta-oe/recipes-devtools/libc-client/libc-client_2007e.bb b/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb index 150ff9028d..52b689ed68 100644 --- a/meta-oe/recipes-devtools/libc-client/libc-client_2007e.bb +++ b/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb @@ -4,25 +4,29 @@ SECTION = "devel" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a6a4ddbb7cd2999f6827ee143f6fcd97" -DEPENDS = "openssl libpam" - -PR = "r1" +DEPENDS = "openssl" SRC_URI = "ftp://ftp.cac.washington.edu/imap/imap-${PV}.tar.gz \ - file://quote_cctype.patch" + file://quote_cctype.patch \ + file://imap-2007e-shared.patch \ + file://imap-2007f-format-security.patch \ + " -SRC_URI[md5sum] = "7903800dc2604000016de070e0c55840" -SRC_URI[sha256sum] = "4b1137b87249782496ec3eeacaf83bbf09312a7d2ae3aead262179041b55565f" +SRC_URI[md5sum] = "2126fd125ea26b73b20f01fcd5940369" +SRC_URI[sha256sum] = "53e15a2b5c1bc80161d42e9f69792a3fa18332b7b771910131004eb520004a28" S = "${WORKDIR}/imap-${PV}" +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" +PACKAGECONFIG[pam] = ",,libpam" + EXTRA_OEMAKE = "CC='${CC}'" HEADERS = "src/c-client/*.h src/osdep/unix/*.h c-client/auths.c c-client/linkage.c c-client/linkage.h c-client/osdep.h" do_compile() { echo "SSLINCLUDE=${STAGING_INCDIR} SSLLIB=${STAGING_LIBDIR}" > ${S}/SPECIALS - oe_runmake lnp + oe_runmake ${@bb.utils.contains('PACKAGECONFIG', 'pam', 'lnp', 'slx', d)} } do_install() { @@ -32,4 +36,9 @@ do_install() { install c-client/c-client.a ${D}${libdir}/libc-client.a } +RPROVIDES_${PN} = "libc-client" +RREPLACES_${PN} = "libc-client" +RCONFLICTS_${PN} = "libc-client" + ALLOW_EMPTY_${PN} = "1" + diff --git a/meta-oe/recipes-extended/acpica/acpitests/aapits-linux.patch b/meta-oe/recipes-extended/acpica/acpitests/aapits-linux.patch index 116761d574..7c5d6b0443 100644 --- a/meta-oe/recipes-extended/acpica/acpitests/aapits-linux.patch +++ b/meta-oe/recipes-extended/acpica/acpitests/aapits-linux.patch @@ -326,8 +326,8 @@ diff -urN acpica-unix2-20130626/tests/aapits/Makefile acpica-unix2-20130626-aapi --- acpica-unix2-20130626/tests/aapits/Makefile 2013-01-17 12:48:29.000000000 -0700 +++ acpica-unix2-20130626-aapits/tests/aapits/Makefile 2013-07-25 15:17:09.309236422 -0600 @@ -194,7 +194,7 @@ - CFLAGS+= -Wall -g -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_EXEC_APP -D_MULTI_THREADED -Wstrict-prototypes -I../../source/include - + CFLAGS+= -Wall -g -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_APITS -DACPI_EXEC_APP -D_MULTI_THREADED -Wstrict-prototypes -I../../source/include + -acpiexec : $(patsubst %.c,%.o, $(SRCS)) +$(PROG) : $(patsubst %.c,%.o, $(SRCS)) diff --git a/meta-oe/recipes-extended/acpica/acpitests/aapits-makefile.patch b/meta-oe/recipes-extended/acpica/acpitests/aapits-makefile.patch index d38501b772..4d9e9974dd 100644 --- a/meta-oe/recipes-extended/acpica/acpitests/aapits-makefile.patch +++ b/meta-oe/recipes-extended/acpica/acpitests/aapits-makefile.patch @@ -8,19 +8,27 @@ Upstream-status: Unknown diff -urN acpica-unix2-20140325/tests/aapits/Makefile acpica-unix2-20140325/tests/aapits/Makefile --- acpica-unix2-20140325/tests/aapits/Makefile 2014-04-05 14:23:14.683636794 -0600 +++ acpica-unix2-20140325-aapits/tests/aapits/Makefile 2014-04-05 15:10:57.879184598 -0600 -@@ -20,6 +20,7 @@ - ../../source/components/hardware/hwxface.c \ +@@ -16,6 +16,7 @@ + atosxfwrap.c \ + osunixxf.c \ + ../../source/common/ahids.c \ ++ ../../source/common/ahuuids.c \ ../../source/common/cmfsize.c \ ../../source/common/getopt.c \ -+ ../../source/common/ahids.c \ - ../../source/components/debugger/dbcmds.c \ - ../../source/components/debugger/dbconvert.c \ - ../../source/components/debugger/dbdisply.c \ -@@ -154,6 +155,7 @@ - ../../source/components/tables/tbfadt.c \ - ../../source/components/tables/tbfind.c \ - ../../source/components/tables/tbinstal.c \ -+ ../../source/components/tables/tbdata.c \ - ../../source/components/tables/tbprint.c \ - ../../source/components/tables/tbutils.c \ - ../../source/components/tables/tbxface.c \ + ../../source/components/hardware/hwtimer.c \ +@@ -174,6 +175,7 @@ + ../../source/components/utilities/utexcep.c \ + ../../source/components/utilities/utfileio.c \ + ../../source/components/utilities/utglobal.c \ ++ ../../source/components/utilities/uthex.c \ + ../../source/components/utilities/utids.c \ + ../../source/components/utilities/utinit.c \ + ../../source/components/utilities/utlock.c \ +@@ -189,6 +191,7 @@ + ../../source/components/utilities/utstate.c \ + ../../source/components/utilities/utstring.c \ + ../../source/components/utilities/uttrack.c \ ++ ../../source/components/utilities/utuuid.c \ + ../../source/components/utilities/utxface.c \ + ../../source/components/utilities/utxferror.c \ + ../../source/components/utilities/utxfinit.c \ diff --git a/meta-oe/recipes-extended/acpica/acpitests_20140424.bb b/meta-oe/recipes-extended/acpica/acpitests_20140828.bb index e3c706cc4a..da2658218e 100644 --- a/meta-oe/recipes-extended/acpica/acpitests_20140424.bb +++ b/meta-oe/recipes-extended/acpica/acpitests_20140828.bb @@ -10,15 +10,15 @@ SRC_URI = "https://acpica.org/sites/acpica/files/acpitests-unix-${PV}.tar.gz;nam https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz;name=acpica \ file://aapits-linux.patch \ file://aapits-makefile.patch \ - " -SRC_URI[acpitests.md5sum] = "bfc399cecb21e9491d362d8e480b2689" -SRC_URI[acpitests.sha256sum] = "e7d7ff638872543909b38c2498e88958251ee6ce4d22bc13d4e3925771212c0e" -SRC_URI[acpica.md5sum] = "733532f005fba5d1c5344440651b13d1" -SRC_URI[acpica.sha256sum] = "72ece982bbbdfb1b17418f1feb3a9daaa01803d0d41dcf00e19d702cdf751bbc" +" +SRC_URI[acpitests.md5sum] = "db9d6fdaa8e3eb101d700ee5ba4938ed" +SRC_URI[acpitests.sha256sum] = "e576c74bf1bf1c9f7348bf9419e05c8acfece7105abcdc052e66670c7af2cf00" +SRC_URI[acpica.md5sum] = "6f05f0d10166a1b1ff6107f3d1cdf1e5" +SRC_URI[acpica.sha256sum] = "01d8867656c5ba41dec307c4383ce676196ad4281ac2c9dec9f5be5fac6d888e" S = "${WORKDIR}/acpitests-unix-${PV}" -EXTRA_OEMAKE = "'CC=${TARGET_PREFIX}gcc ${HOST_CC_ARCH}' 'OPT_CFLAGS=-Wall'" +EXTRA_OEMAKE = "'${HOST_CC_ARCH}' 'OPT_CFLAGS=-Wall'" # The Makefiles expect a specific layout do_compile() { diff --git a/meta-oe/recipes-extended/anki/anki_0.4.3.bb b/meta-oe/recipes-extended/anki/anki_0.4.3.bb index 7943ce8cd0..d441a7011c 100644 --- a/meta-oe/recipes-extended/anki/anki_0.4.3.bb +++ b/meta-oe/recipes-extended/anki/anki_0.4.3.bb @@ -1,4 +1,4 @@ require ${PN}-${PV}.inc -RDEPENDS_${PN} = "python-pyqt python-sip libanki" +RDEPENDS_${PN} = "python-pyqt sip libanki" RRECOMMENDS_${PN} = "virtual-japanese-font" diff --git a/meta-oe/recipes-extended/collectd/collectd_5.4.1.bb b/meta-oe/recipes-extended/collectd/collectd_5.4.1.bb index 46752c895f..92b231c81e 100644 --- a/meta-oe/recipes-extended/collectd/collectd_5.4.1.bb +++ b/meta-oe/recipes-extended/collectd/collectd_5.4.1.bb @@ -35,8 +35,10 @@ PACKAGECONFIG[sensors] = "--enable-sensors --with-libsensors=yes, \ --disable-sensors --with-libsensors=no,lmsensors" PACKAGECONFIG[amqp] = "--enable-amqp --with-librabbitmq=yes, \ --disable-amqp --with-librabbitmq=no,rabbitmq-c" -# protobuf-c that is currently only available in meta-virtualization layer +# protobuf-c, libvirt that are currently only available in meta-virtualization layer PACKAGECONFIG[pinba] = "--enable-pinba,--disable-pinba,protobuf-c-native protobuf-c" +PACKAGECONFIG[libvirt] = "--enable-libvirt,--disable-libvirt,libvirt" +PACKAGECONFIG[libesmtp] = "--with-libesmtp,--without-libesmtp,libesmtp" EXTRA_OECONF = " \ ${FPLAYOUT} \ diff --git a/meta-oe/recipes-extended/corosync/corosync_2.3.4.bb b/meta-oe/recipes-extended/corosync/corosync_2.3.4.bb new file mode 100644 index 0000000000..b84257fc0d --- /dev/null +++ b/meta-oe/recipes-extended/corosync/corosync_2.3.4.bb @@ -0,0 +1,61 @@ +SUMMARY = "The Corosync Cluster Engine and Application Programming Interfaces" +DESCRIPTION = "This package contains the Corosync Cluster Engine Executive, several default \ +APIs and libraries, default configuration files, and an init script." +HOMEPAGE = "http://corosync.github.io/corosync/" + +SECTION = "base" + +inherit autotools pkgconfig systemd + +SRC_URI = "http://build.clusterlabs.org/corosync/releases/${BP}.tar.gz \ + " + +SRC_URI[md5sum] = "4b0f36a1dc014527e5b192265dbd7e70" +SRC_URI[sha256sum] = "3dae93fb1cf5c560295253b0560cbc25421ed053ee373852864f3a60c03247d4" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a85eb4ce24033adb6088dd1d6ffc5e5d" + +DEPENDS = "groff-native nss libqb" + +SYSTEMD_SERVICE_${PN} = "corosync.service corosync-notifyd.service" +SYSTEMD_AUTO_ENABLE = "enable" + +INITSCRIPT_NAME = "corosync-daemon" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" + +PACKAGECONFIG[systemd] = "--enable-systemd --with-systemddir=${systemd_unitdir}/system/,--with-systemddir=" + +EXTRA_OECONF = "--disable-nss \ + --with-upstartdir=%{_sysconfdir}/init \ +" +EXTRA_OECONF += " --enable-nss " + +do_configure_prepend() { + ( cd ${S} + ${S}/autogen.sh ) +} + +do_install_append() { + install -d ${D}${sysconfdir}/sysconfig/ + install -d ${D}/${sysconfdir}/init.d + install -m 0644 ${S}/init/corosync.sysconfig.example ${D}${sysconfdir}/sysconfig/corosync + install -m 0644 ${S}/init/corosync-notifyd.conf.in ${D}${sysconfdir}/sysconfig/corosync-notifyd.conf + install -m 0644 ${S}/init/corosync.conf.in ${D}${sysconfdir}/sysconfig/corosync.conf + install -m 0644 ${S}/init/corosync.in ${D}${sysconfdir}/init.d/corosync + install -m 0644 ${S}/init/corosync-notifyd.in ${D}${sysconfdir}/init.d/corosync-notifyd + + if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${S}/init/corosync.service.in ${D}${systemd_unitdir}/system/corosync.service + install -m 0644 ${S}/init/corosync-notifyd.service.in ${D}${systemd_unitdir}/system/corosync-notifyd.service + sed -i -e 's,@INITWRAPPERSDIR@,${sysconfdir}/init.d,g' ${D}${systemd_unitdir}/system/corosync.service + sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/corosync-notifyd.service + sed -i -e 's,@SBINDIR@,${base_sbindir},g' ${D}${systemd_unitdir}/system/corosync-notifyd.service + fi +} + +RDEPENDS_${PN} += "bash" + +FILES_${PN}-dbg += "${libexecdir}/lcrso/.debug" diff --git a/meta-oe/recipes-extended/dash/dash_0.5.8.bb b/meta-oe/recipes-extended/dash/dash_0.5.8.bb new file mode 100644 index 0000000000..4961d7b83f --- /dev/null +++ b/meta-oe/recipes-extended/dash/dash_0.5.8.bb @@ -0,0 +1,27 @@ +SUMMARY = "Small and fast POSIX-compliant shell" +HOMEPAGE = "http://gondor.apana.org.au/~herbert/dash/" +SECTION = "System Environment/Shells" + +LICENSE = "BSD & GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b5262b4a1a1bff72b48e935531976d2e" + +inherit autotools update-alternatives + +SRC_URI = "http://gondor.apana.org.au/~herbert/${BPN}/files/${BP}.tar.gz" +SRC_URI[md5sum] = "5c152209680dab3c319e8923f6c51378" +SRC_URI[sha256sum] = "c6db3a237747b02d20382a761397563d813b306c020ae28ce25a1c3915fac60f" + +EXTRA_OECONF += "--bindir=${base_bindir}" + +ALTERNATIVE_${PN} = "sh" +ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh" +ALTERNATIVE_TARGET[sh] = "${base_bindir}/dash" +ALTERNATIVE_PRIORITY = "10" + +pkg_postinst_${PN} () { + grep -q "^${base_bindir}/dash$" $D${sysconfdir}/shells || echo ${base_bindir}/dash >> $D${sysconfdir}/shells +} + +pkg_postrm_${PN} () { + printf "$(grep -v "^${base_bindir}/dash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells +} diff --git a/meta-oe/recipes-extended/ddrescue/ddrescue_1.16.bb b/meta-oe/recipes-extended/ddrescue/ddrescue_1.16.bb deleted file mode 100644 index a36c250851..0000000000 --- a/meta-oe/recipes-extended/ddrescue/ddrescue_1.16.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Data recovery tool" -DESCRIPTION = "GNU ddrescue is a data recovery tool. It copies data \ - from one file or block device (hard disc, cdrom, etc) to another, \ - trying hard to rescue data in case of read errors." -HOMEPAGE = "http://www.gnu.org/software/ddrescue/ddrescue.html" -SECTION = "console" -LICENSE = "GPLv3+" - -LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \ - file://main_common.cc;beginline=5;endline=16;md5=b5a59150a33658cc1ffc31b1a4ffb9f2" - -SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz" -SRC_URI[md5sum] = "57b67407e882c6418531d48a2f20d16b" -SRC_URI[sha256sum] = "76b3f2e5fb0306d24f2632c3e168cccb73dc0a348e3a7089cd9230748ff23de6" - -inherit autotools - -EXTRA_OECONF = "'CXX=${CXX}' 'CPPFLAGS=${CPPFLAGS}' 'CXXFLAGS=${CXXFLAGS}' 'LDFLAGS=${LDFLAGS}'" diff --git a/meta-oe/recipes-extended/ddrescue/ddrescue_1.19.bb b/meta-oe/recipes-extended/ddrescue/ddrescue_1.19.bb new file mode 100644 index 0000000000..27e00a5e63 --- /dev/null +++ b/meta-oe/recipes-extended/ddrescue/ddrescue_1.19.bb @@ -0,0 +1,45 @@ +SUMMARY = "Data recovery tool" +DESCRIPTION = "GNU ddrescue is a data recovery tool. It copies data \ + from one file or block device (hard disc, cdrom, etc) to another, \ + trying hard to rescue data in case of read errors." +HOMEPAGE = "http://www.gnu.org/software/ddrescue/ddrescue.html" +SECTION = "console" +LICENSE = "GPLv2+" + +LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \ + file://main_common.cc;beginline=5;endline=16;md5=3ec288b2676528cd2b069364e313016f" + +SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.lz" +SRC_URI[md5sum] = "ed6b5b82d74cbd925db2b829350e74b1" +SRC_URI[sha256sum] = "ed8d0c9d9aac80a9110e9cb0d0a91a7390d3bf9f816b67a62ca4eb140f4747b8" + +# This isn't already added by base.bbclass +do_unpack[depends] += "lzip-native:do_populate_sysroot" + +CONFIGUREOPTS = "\ + '--srcdir=${S}' \ + '--prefix=${prefix}' \ + '--exec-prefix=${exec_prefix}' \ + '--bindir=${bindir}' \ + '--datadir=${datadir}' \ + '--infodir=${infodir}' \ + '--sysconfdir=${sysconfdir}' \ + 'CXX=${CXX}' \ + 'CPPFLAGS=${CPPFLAGS}' \ + 'CXXFLAGS=${CXXFLAGS}' \ + 'LDFLAGS=${LDFLAGS}' \ +" +EXTRA_OEMAKE = "" + +do_configure () { + ${S}/configure ${CONFIGUREOPTS} +} + +do_install () { + oe_runmake 'DESTDIR=${D}' install + # 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 +} + diff --git a/meta-oe/recipes-extended/dlm/dlm_4.0.2.bb b/meta-oe/recipes-extended/dlm/dlm_4.0.2.bb new file mode 100644 index 0000000000..560630c74b --- /dev/null +++ b/meta-oe/recipes-extended/dlm/dlm_4.0.2.bb @@ -0,0 +1,49 @@ +DESCRIPTION = "dlm control daemon and tool" + +SECTION = "utils" +HOMEPAGE = "https://fedorahosted.org/cluster/wiki/HomePage" + +REQUIRED_DISTRO_FEATURES = "systemd" + +SRC_URI = "https://git.fedorahosted.org/cgit/dlm.git/snapshot/${BP}.tar.xz" + +SRC_URI[md5sum] = "efc2ee6093aa6aa0a88aaad83e998a3f" +SRC_URI[sha256sum] = "b89bc557aaffbab0ac005398025f247718a5589cff6574d902eaffe2b20e683e" + +LICENSE = "LGPLv2+ & GPLv2 & GPLv2+" +LIC_FILES_CHKSUM = "file://README.license;md5=8f0bbcdd678df1bce9863492b6c8832d" + +DEPENDS = "corosync systemd" + +inherit pkgconfig systemd distro_features_check + +SYSTEMD_SERVICE_${PN} = "dlm.service" +SYSTEMD_AUTO_ENABLE = "enable" + +export EXTRA_OEMAKE = "" + +do_compile_prepend() { + sed -i "s/libsystemd-daemon/libsystemd/g" ${S}/dlm_controld/Makefile +} + +do_compile () { + oe_runmake 'CC=${CC}' +} + +do_install_append (){ + install -d ${D}${sysconfdir}/sysconfig/ + install -d ${D}${sysconfdir}/init.d/ + install -m 0644 ${S}/init/dlm.sysconfig ${D}${sysconfdir}/sysconfig/dlm + install -m 0644 ${S}/init/dlm.init ${D}${sysconfdir}/init.d/dlm + + # install systemd unit files + if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${S}/init/dlm.service ${D}${systemd_unitdir}/system + fi +} + +do_install() { + oe_runmake install DESTDIR=${D} LIBDIR=${libdir} +} + diff --git a/meta-oe/recipes-extended/fwts/fwts_git.bb b/meta-oe/recipes-extended/fwts/fwts_git.bb index 4fa1d6be1a..8b0e61b9a8 100644 --- a/meta-oe/recipes-extended/fwts/fwts_git.bb +++ b/meta-oe/recipes-extended/fwts/fwts_git.bb @@ -5,14 +5,14 @@ HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=deb8af5388e838d133eaa036f4d1496f" -PV = "14.05.00" +PV = "14.09.00" -SRCREV = "fb5385fec1f3468b479e87c0bba38ab76f60915b" +SRCREV = "cf14f3b4bab716dea95de772ad52786c1cbe862a" SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git" S = "${WORKDIR}/git" -DEPENDS = "libpcre json-c" +DEPENDS = "libpcre json-c glib-2.0" inherit autotools-brokensep diff --git a/meta-oe/recipes-extended/gnuplot/gnuplot.inc b/meta-oe/recipes-extended/gnuplot/gnuplot.inc index 6c27e6d8ab..69bc74b047 100644 --- a/meta-oe/recipes-extended/gnuplot/gnuplot.inc +++ b/meta-oe/recipes-extended/gnuplot/gnuplot.inc @@ -6,7 +6,9 @@ LICENSE = "gnuplot" LIC_FILES_CHKSUM = "file://Copyright;md5=243a186fc2fd3b992125d60d5b1bab8f" DEPENDS = "virtual/libx11 gd readline" -inherit autotools +inherit autotools distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" acpaths = "" diff --git a/meta-oe/recipes-extended/haveged/haveged/remove-systemd-unit-503.patch b/meta-oe/recipes-extended/haveged/haveged/remove-systemd-unit-503.patch new file mode 100644 index 0000000000..df27bcb091 --- /dev/null +++ b/meta-oe/recipes-extended/haveged/haveged/remove-systemd-unit-503.patch @@ -0,0 +1,20 @@ +--- a/init.d/Makefile.am 2014-01-02 18:55:53.000000000 +0100 ++++ b/init.d/Makefile.am 2014-08-11 10:59:40.000000000 +0200 +@@ -34,11 +34,11 @@ + $(do_subst) < $(srcdir)/$(src_tmpl) > haveged.service; + + install-data-hook: +-if ENABLE_SYSTEMD_LOOKUP +- install -p -m644 haveged.service `pkg-config --variable=systemdsystemunitdir systemd`/haveged.service; +-else +- install -p -m644 haveged.service ($unit_dir)/haveged.service; +-endif +- systemctl enable haveged.service; ++#if ENABLE_SYSTEMD_LOOKUP ++# install -p -m644 haveged.service `pkg-config --variable=systemdsystemunitdir systemd`/haveged.service; ++#else ++# install -p -m644 haveged.service ($unit_dir)/haveged.service; ++#endif ++# systemctl enable haveged.service; + + endif diff --git a/meta-oe/recipes-extended/haveged/haveged_1.9.1.bb b/meta-oe/recipes-extended/haveged/haveged_1.9.1.bb new file mode 100644 index 0000000000..fbd1992d63 --- /dev/null +++ b/meta-oe/recipes-extended/haveged/haveged_1.9.1.bb @@ -0,0 +1,32 @@ +SUMMARY = "haveged - A simple entropy daemon" +DESCRIPTION = "The haveged project is an attempt to provide an easy-to-use, unpredictable random number generator based upon an adaptation of the HAVEGE algorithm. Haveged was created to remedy low-entropy conditions in the Linux random device that can occur under some workloads, especially on headless servers." +AUTHOR = "Gary Wuertz" +HOMEPAGE = "http://www.issihosts.com/haveged/index.html" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM="file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +SRC_URI = "http://www.issihosts.com/haveged/haveged-${PV}.tar.gz \ + file://remove-systemd-unit-503.patch \ + " + +SRC_URI[md5sum] = "015ff58cd10607db0e0de60aeca2f5f8" +SRC_URI[sha256sum] = "9c2363ed9542a6784ff08e247182137e71f2ddb79e8e6c1ac4ad50d21ced3715" + +PR = "r0" + +inherit autotools systemd + +EXTRA_OECONF = "\ + --enable-init=service.redhat \ + --enable-nistest=yes \ + --enable-olt=yes \ + --enable-threads=no \ + " + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "haveged.service" + +do_install_append() { + mkdir -p ${D}${systemd_unitdir}/system + install -p -m644 ${B}/init.d/haveged.service ${D}${systemd_unitdir}/system +} diff --git a/meta-oe/recipes-extended/indent/indent_2.2.10.bb b/meta-oe/recipes-extended/indent/indent_2.2.10.bb new file mode 100644 index 0000000000..dbd6b7b595 --- /dev/null +++ b/meta-oe/recipes-extended/indent/indent_2.2.10.bb @@ -0,0 +1,22 @@ +SUMMARY = "A GNU program for formatting C code" +HOMEPAGE = "http://www.gnu.org/software/indent/" +SECTION = "Applications/Text" +DESCRIPTION = "Indent is a GNU program for beautifying C code, so that \ +it is easier to read. Indent can also convert from one C writing style \ +to a different one. Indent understands correct C syntax and tries to handle \ +incorrect C syntax. \ +Install the indent package if you are developing applications in C and \ +you want a program to format your code." +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +DEPENDS = "virtual/gettext" + +SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz" +SRC_URI[md5sum] = "be35ea62705733859fbf8caf816d8959" +SRC_URI[sha256sum] = "8a9b41be5bfcab5d8c1be74204b10ae78789fc3deabea0775fdced8677292639" + +inherit autotools gettext + +FILES_${PN}-doc += "/usr/doc/indent/indent.html" + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-extended/iotop/iotop_0.4.4.bb b/meta-oe/recipes-extended/iotop/iotop_0.4.4.bb index 111b072f29..d6292453f4 100644 --- a/meta-oe/recipes-extended/iotop/iotop_0.4.4.bb +++ b/meta-oe/recipes-extended/iotop/iotop_0.4.4.bb @@ -20,6 +20,6 @@ do_install_append() { rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/site.py || true } -RDEPENDS_${PN} = "python-distutils python-curses python-textutils \ +RDEPENDS_${PN} = "python-curses python-textutils \ python-codecs python-ctypes python-pprint \ python-shell" diff --git a/meta-oe/recipes-extended/lcdproc/lcdproc/automake-111-fix.patch b/meta-oe/recipes-extended/lcdproc/lcdproc/automake-111-fix.patch deleted file mode 100644 index 061cc22f0c..0000000000 --- a/meta-oe/recipes-extended/lcdproc/lcdproc/automake-111-fix.patch +++ /dev/null @@ -1,21 +0,0 @@ -Description: With automake 1.11.3, pkglib_PROGRAMS is not valid anymore, - so work around this by using my_execbin_PROGRAMS. -Author: Andreas Moog <amoog@ubuntu.com> -Bug-Ubuntu: https://bugs.launchpad.net/bugs/934265 - -Upstream-Status: Backport - -Index: lcdproc-0.5.5/server/drivers/Makefile.am -=================================================================== ---- lcdproc-0.5.5.orig/server/drivers/Makefile.am 2012-02-26 14:04:37.000000000 +0100 -+++ lcdproc-0.5.5/server/drivers/Makefile.am 2012-02-26 14:13:17.764467350 +0100 -@@ -20,7 +20,8 @@ - - ## Keep the lists sorted! - --pkglib_PROGRAMS = @DRIVERS@ -+my_execbindir = $(pkglibdir) -+my_execbin_PROGRAMS = @DRIVERS@ - EXTRA_PROGRAMS = bayrad CFontz CFontz633 CFontzPacket curses debug CwLnx ea65 EyeboxOne g15 glcdlib glk hd44780 icp_a106 imon imonlcd IOWarrior irman joy lb216 lcdm001 lcterm lirc lis MD8800 mdm166a ms6931 mtc_s16209x MtxOrb mx5000 NoritakeVFD picolcd pyramid sed1330 sed1520 serialPOS serialVFD shuttleVFD stv5730 SureElec svga t6963 text tyan sli ula200 xosd i2500vfd irtrans - noinst_LIBRARIES = libLCD.a libbignum.a - diff --git a/meta-oe/recipes-extended/lcdproc/lcdproc_0.5.5.bb b/meta-oe/recipes-extended/lcdproc/lcdproc_0.5.6.bb index 6d66af65fc..4761ef7e9b 100644 --- a/meta-oe/recipes-extended/lcdproc/lcdproc_0.5.5.bb +++ b/meta-oe/recipes-extended/lcdproc/lcdproc_0.5.6.bb @@ -1,9 +1,7 @@ require lcdproc5.inc -SRC_URI += "file://automake-111-fix.patch" - -SRC_URI[md5sum] = "c92d4529d36eeec6d9d6fd0a4aa3ec82" -SRC_URI[sha256sum] = "b136b47d7bf585a003334f432d8730a36ef5ed1cd520084b919667d825e48d42" +SRC_URI[md5sum] = "df4f5c2c7285eaf6979b9c7768b4877f" +SRC_URI[sha256sum] = "bd2f43c30ff43b30f43110abe6b4a5bc8e0267cb9f57fa97cc5e5ef9488b984a" PACKAGECONFIG ?= "" PACKAGECONFIG[g15] = ",,libg15 g15daemon libg15render," diff --git a/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb b/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb index 1154dc0c53..6c4f4a0721 100644 --- a/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb +++ b/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb @@ -2,18 +2,19 @@ DESCRIPTION = "Libdivecomputer is a cross-platform and open source library for c HOMEPAGE = "http://www.divesoftware.org/libdc/" LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" +LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad" DEPENDS = "libusb1" inherit autotools pkgconfig -PV = "0.0.0" -PR = "r1" +PV = "0.4.2+gitr${SRCPV}" + +SRCREV = "5f765f91430f16932d96b3777404420aa2dd4c7c" +SRC_URI = "git://git.libdivecomputer.org/libdivecomputer.git \ + file://fix-ar.patch \ + " -SRCREV = "b7a6be15ca58cc8f89fbc8fa1a4c840e13d51092" -SRC_URI = "git://libdivecomputer.git.sourceforge.net/gitroot/libdivecomputer/libdivecomputer \ -file://fix-ar.patch" S = "${WORKDIR}/git" diff --git a/meta-oe/recipes-extended/libgxim/libgxim/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch b/meta-oe/recipes-extended/libgxim/libgxim/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch new file mode 100644 index 0000000000..3d293b473e --- /dev/null +++ b/meta-oe/recipes-extended/libgxim/libgxim/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch @@ -0,0 +1,21 @@ +multi-line ACLOCAL_AMFLAGS isn't supported by autoreconf. +It will cause configure error as follow. + + aclocal: error: non-option arguments are not accepted: '\'. + +Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com> + +diff -Nurp libgxim-0.5.0.orig/Makefile.am libgxim-0.5.0/Makefile.am +--- libgxim-0.5.0.orig/Makefile.am 2012-12-13 15:48:09.000000000 +0800 ++++ libgxim-0.5.0/Makefile.am 2014-12-19 11:05:50.727209821 +0800 +@@ -2,9 +2,7 @@ NULL = + AUTOMAKE_OPTIONS = dist-bzip2 + SUBDIRS = libgxim m4macros po tests docs + +-ACLOCAL_AMFLAGS = \ +- -I m4macros \ +- $(NULL) ++ACLOCAL_AMFLAGS = -I m4macros $(NULL) + + CONFIGURE_DEPENDENCIES = \ + requires \ diff --git a/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb b/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb new file mode 100644 index 0000000000..0b4b743a88 --- /dev/null +++ b/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "GObject-based XIM protocol library" +DESCRIPTION = "libgxim is a X Input Method protocol library that is implemented by GObject.\ +this library helps you to implement XIM servers or client applications to\ +communicate through XIM protocol without using Xlib API directly, particularly\ +if your application uses GObject-based main loop.\ +\ +This package contains the shared library." + +HOMEPAGE = "http://code.google.com/p/libgxim/" +SECTION = "System Environment/Libraries" + +SRC_URI = "https://bitbucket.org/tagoh/libgxim/downloads/${BPN}-${PV}.tar.bz2 \ + file://multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch" + +SRC_URI[md5sum] = "4bb1fa63d00eb224439d413591c29a6a" +SRC_URI[sha256sum] = "75e20d1744139644f9951b78ea3910b162d3380302315cb4b3d0640f23694c79" + +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "\ +file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" + +EXTRA_OECONF = " --disable-static --disable-rebuilds" +DEPENDS += "gtk+ glib-2.0 ruby-native" + +inherit autotools pkgconfig diff --git a/meta-oe/recipes-extended/libqb/libqb_0.17.1.bb b/meta-oe/recipes-extended/libqb/libqb_0.17.1.bb new file mode 100644 index 0000000000..77307fe002 --- /dev/null +++ b/meta-oe/recipes-extended/libqb/libqb_0.17.1.bb @@ -0,0 +1,26 @@ +SUMMARY = "An IPC library for high performance servers" +DESCRIPTION = "libqb is a library with the primary purpose of providing high performance client server reusable features. \ +It provides high performance logging, tracing, ipc, and poll." + +HOMEPAGE = "https://github.com/clusterlabs/libqb/wiki" + +SECTION = "libs" + +inherit autotools pkgconfig + +SRC_URI = "https://fedorahosted.org/releases/q/u/quarterback/${BP}.tar.xz \ + " + +SRC_URI[md5sum] = "5770b343baa4528f6fec90120ec55048" +SRC_URI[sha256sum] = "7a2115f83bfe20eaa5f2e4ed235e8f2994235d3b87e3e5ca41ba47b320f12e29" + +LICENSE = "LGPL-2.1" + +LIC_FILES_CHKSUM = "file://COPYING;md5=321bf41f280cf805086dd5a720b37785" + +do_configure_prepend() { + ( cd ${S} + ${S}/autogen.sh ) +} + + diff --git a/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.17.bb b/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.17.bb new file mode 100644 index 0000000000..4354fff9a2 --- /dev/null +++ b/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.17.bb @@ -0,0 +1,24 @@ +SUMMARY = "Command-line programs to safely lock and unlock files and mailboxes" +DESCRIPTION = "\ +lockfile-progs provide a method to lock and unlock mailboxes and files \ +safely (via liblockfile)." +HOMEPAGE = "http://packages.qa.debian.org/l/lockfile-progs.html" +SECTION = "Applications/System" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" +DEPENDS = "liblockfile" + +SRC_URI = "http://ftp.de.debian.org/debian/pool/main/l/${BPN}/${BPN}_${PV}.tar.gz" +SRC_URI[md5sum] = "64424a766fbc8cf6d613fcc14a096e14" +SRC_URI[sha256sum] = "03fb05d25499532f497775b1747b61fa6beebf12d3bcc951e125349ae166c511" + +do_compile() { + oe_runmake CFLAGS=' -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables' +} + +do_install() { + install -m 755 -d ${D}${bindir} + install bin/* ${D}${bindir} + install -m 755 -d ${D}${mandir}/man1 + install man/* ${D}${mandir}/man1 +} diff --git a/meta-oe/recipes-extended/logcheck/logcheck_1.3.17.bb b/meta-oe/recipes-extended/logcheck/logcheck_1.3.17.bb new file mode 100644 index 0000000000..ba4c2ab9ac --- /dev/null +++ b/meta-oe/recipes-extended/logcheck/logcheck_1.3.17.bb @@ -0,0 +1,38 @@ +SUMMARY = "Analyzes log files and sends noticeable events as email" +DESCRIPTION = "\ +Logcheck is a simple utility which is designed to allow a system administrator \ +to view the log-files which are produced upon hosts under their control. \ +It does this by mailing summaries of the log-files to them, after first \ +filtering out "normal" entries. \ +Normal entries are entries which match one of the many included regular \ +expression files contain in the database." +SECTION = "Applications/System" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c93c0550bd3173f4504b2cbd8991e50b" + +SRC_URI = "git://git.debian.org/git/logcheck/logcheck.git" +SRCREV = "2429e67ad875fee8a0234c64d504277b038c89cd" + +S = "${WORKDIR}/git" + +do_install() { + # Fix QA Issue + sed -i '/install -d $(DESTDIR)\/var\/lock\/logcheck/s/^/#/' Makefile + + # "make install" do not install the manpages. Install them manually. + install -m 755 -d ${D}${mandir}/man1 + install -m 755 -d ${D}${mandir}/man8 + install -m 644 docs/logcheck-test.1 ${D}${mandir}/man1/ + install -m 644 docs/logtail.8 ${D}${mandir}/man8/ + install -m 644 docs/logtail2.8 ${D}${mandir}/man8/ + sed -i "s/syslog/messages/" etc/logcheck.logfiles + sed -i "s/auth\.log/secure/" etc/logcheck.logfiles + install -m 755 -d ${D}${sysconfdir}/cron.d + install -m 644 debian/logcheck.cron.d ${D}${sysconfdir}/cron.d/logcheck + install -m 755 -d ${D}/var/lib/logcheck + oe_runmake install DESTDIR=${D} +} + +RDEPENDS_${PN} = "perl" + +FILES_${PN} += "${datadir}/logtail" diff --git a/meta-oe/recipes-extended/logwatch/logwatch_7.4.1.bb b/meta-oe/recipes-extended/logwatch/logwatch_7.4.1.bb new file mode 100644 index 0000000000..001b3dedc2 --- /dev/null +++ b/meta-oe/recipes-extended/logwatch/logwatch_7.4.1.bb @@ -0,0 +1,57 @@ +SUMMARY = "A log file analysis program" +DESCRIPTION = "\ +Logwatch is a customizable, pluggable log-monitoring system. It will go \ +through your logs for a given period of time and make a report in the areas \ +that you wish with the detail that you wish. Easy to use - works right out of \ +the package on many systems.\ +" +SECTION = "devel" +HOMEPAGE = "http://www.logwatch.org/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f2566bb12b16d2d80d90ebc533261aa7" +RDEPENDS_${PN} = "perl" + +SRC_URI = "http://jaist.dl.sourceforge.net/project/${BPN}/${BP}/${BP}.tar.gz" +SRC_URI[md5sum] = "a0c3d8721f877bdcd4a9089eb1b4691b" +SRC_URI[sha256sum] = "35ec31f9fe981aaa727b144ab3ff2eb655997d8ccabaf66586458f5dfc3a56eb" + +do_install() { + install -m 0755 -d ${D}${sysconfdir}/logwatch/scripts + install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/logfiles + install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/services + install -m 0755 -d ${D}${localstatedir}/cache/logwatch + mv conf/ ${D}${datadir}/logwatch/default.conf + mv scripts/ ${D}${datadir}/logwatch/scripts + mv lib ${D}${datadir}/logwatch/lib + + install -m 0755 -d ${D}${mandir}/man1 + install -m 0755 -d ${D}${mandir}/man5 + install -m 0755 -d ${D}${mandir}/man8 + install -m 0644 amavis-logwatch.1 ${D}${mandir}/man1 + install -m 0644 postfix-logwatch.1 ${D}${mandir}/man1 + install -m 0644 ignore.conf.5 ${D}${mandir}/man5 + install -m 0644 override.conf.5 ${D}${mandir}/man5 + install -m 0644 logwatch.conf.5 ${D}${mandir}/man5 + install -m 0644 logwatch.8 ${D}${mandir}/man8 + + install -m 0755 -d ${D}${sysconfdir}/cron.daily + install -m 0755 -d ${D}${sbindir} + ln -sf ../..${datadir}/logwatch/scripts/logwatch.pl ${D}${sbindir}/logwatch + cat > ${D}${sysconfdir}/cron.daily/0logwatch <<EOF + DailyReport=\`grep -e "^[[:space:]]*DailyReport[[:space:]]*=[[:space:]]*" /usr/share/logwatch/default.conf/logwatch.conf | head -n1 | sed -e "s|^\s*DailyReport\s*=\s*||"\` + if [ "\$DailyReport" != "No" ] && [ "\$DailyReport" != "no" ] + then + logwatch + fi +EOF + chmod 755 ${D}${sysconfdir}/cron.daily/0logwatch + + install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/logfiles + install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/services + touch ${D}${sysconfdir}/logwatch/conf/logwatch.conf + touch ${D}${sysconfdir}/logwatch/conf/ignore.conf + touch ${D}${sysconfdir}/logwatch/conf/override.conf + echo "# Local configuration options go here (defaults are in /usr/share/logwatch/default.conf/logwatch.conf)" > ${D}${sysconfdir}/logwatch/conf/logwatch.conf + echo "###### REGULAR EXPRESSIONS IN THIS FILE WILL BE TRIMMED FROM REPORT OUTPUT #####" > ${D}${sysconfdir}/logwatch/conf/ignore.conf + echo "# Configuration overrides for specific logfiles/services may be placed here." > ${D}${sysconfdir}/logwatch/conf/override.conf +} diff --git a/meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch b/meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch new file mode 100644 index 0000000000..de72d4f9a3 --- /dev/null +++ b/meta-oe/recipes-extended/mozjs/mozjs/0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch @@ -0,0 +1,36 @@ +From da3929a96d9c74e11bf37d128890e18fcb745365 Mon Sep 17 00:00:00 2001 +From: Lei Maohui <leimaohui@cn.fujitsu.com> +Date: Mon, 26 Jan 2015 08:53:19 +0900 +Subject: [PATCH] mozjs17.0.0: fix the compile bug of powerpc + +To fix the bug as following + +error: cannot convert '__va_list_tag**' to '__va_list_tag (*)[1]' for +argument '5' to 'JSBool TryArgumentFormatter(JSContext*, const char**, +JSBool, jsval**, __va_list_tag (*)[1])' + +Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com> +--- + jscpucfg.h | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/jscpucfg.h b/jscpucfg.h +index dfb1c14..8683491 100644 +--- a/jscpucfg.h ++++ b/jscpucfg.h +@@ -47,6 +47,12 @@ + #elif defined(JS_HAVE_ENDIAN_H) + # include <endian.h> + ++#if defined(_POWER) || defined(__powerpc__) || \ ++ defined(__ppc__) ++# define HAVE_VA_LIST_AS_ARRAY 1 ++# endif ++ ++ + # if defined(__BYTE_ORDER) + # if __BYTE_ORDER == __LITTLE_ENDIAN + # define IS_LITTLE_ENDIAN 1 +-- +1.8.4.2 + diff --git a/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb b/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb index ab01471d0b..174f6fe0a8 100644 --- a/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb +++ b/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb @@ -5,6 +5,7 @@ LIC_FILES_CHKSUM = "file://../../LICENSE;md5=815ca599c9df247a0c7f619bab123dad" SRC_URI = " \ http://ftp.mozilla.org/pub/mozilla.org/js/${BPN}${PV}.tar.gz \ file://0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch \ + file://0001-mozjs17.0.0-fix-the-compile-bug-of-powerpc.patch \ " SRC_URI[md5sum] = "20b6f8f1140ef6e47daa3b16965c9202" SRC_URI[sha256sum] = "321e964fe9386785d3bf80870640f2fa1c683e32fe988eeb201b04471c172fba" diff --git a/meta-oe/recipes-extended/nana/nana/change-mandir-to-DESTDIR.patch b/meta-oe/recipes-extended/nana/nana/change-mandir-to-DESTDIR.patch new file mode 100644 index 0000000000..653a7e44c1 --- /dev/null +++ b/meta-oe/recipes-extended/nana/nana/change-mandir-to-DESTDIR.patch @@ -0,0 +1,40 @@ +From 7b04c4873c0a4510bdaf9145bf01ca34b3549fdb Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Thu, 4 Dec 2014 03:50:19 +0900 +Subject: [PATCH 1/2] change mandir to DESTDIR + +Upstream-Status: pending + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + man/Makefile.am | 2 +- + man/Makefile.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/man/Makefile.am b/man/Makefile.am +index 80d24d8..944bc57 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -16,5 +16,5 @@ install-data-local: + @sect=1; \ + inst=`echo "nana" | sed '$(transform)'`.1; \ + echo installing nana.1 as $(mandir)/man$$sect/$$inst; \ +- $(INSTALL_DATA) $(srcdir)/nana.1 $(mandir)/man$$sect/$$inst ++ $(INSTALL_DATA) $(srcdir)/nana.1 $(DESTDIR)$(mandir)/man$$sect/$$inst + +diff --git a/man/Makefile.in b/man/Makefile.in +index 6008b20..64bb84c 100644 +--- a/man/Makefile.in ++++ b/man/Makefile.in +@@ -274,7 +274,7 @@ install-data-local: + @sect=1; \ + inst=`echo "nana" | sed '$(transform)'`.1; \ + echo installing nana.1 as $(mandir)/man$$sect/$$inst; \ +- $(INSTALL_DATA) $(srcdir)/nana.1 $(mandir)/man$$sect/$$inst ++ $(INSTALL_DATA) $(srcdir)/nana.1 $(DESTDIR)$(mandir)/man$$sect/$$inst + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. +-- +1.8.4.2 + diff --git a/meta-oe/recipes-extended/nana/nana/modify-acinclude.m4-and-configure.in.patch b/meta-oe/recipes-extended/nana/nana/modify-acinclude.m4-and-configure.in.patch new file mode 100644 index 0000000000..aeb25466ca --- /dev/null +++ b/meta-oe/recipes-extended/nana/nana/modify-acinclude.m4-and-configure.in.patch @@ -0,0 +1,137 @@ +From 679e33bfe74d713240fdd930602b993b937dce39 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Fri, 23 Jan 2015 03:30:47 +0900 +Subject: [PATCH] modify acinclude.m4 and configure.in + +this patch is from Debian to fix build errors. +"acinclude.m4:34: error: automatic de-ANSI-fication +support has been removed" + +Upstream-Status: pending + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + acinclude.m4 | 79 ------------------------------------------------------------ + configure.in | 12 +++++++++ + 2 files changed, 12 insertions(+), 79 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index e9e5500..d467fb5 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -30,82 +30,3 @@ AC_SUBST($1) + ## ------------------------------- ## + ## Check for function prototypes. ## + ## ------------------------------- ## +- +-AC_DEFUN(fp_C_PROTOTYPES, +-[AC_REQUIRE([AM_PROG_CC_STDC]) +-AC_MSG_CHECKING([for function prototypes]) +-if test "$ac_cv_prog_cc_stdc" != no; then +- AC_MSG_RESULT(yes) +- AC_DEFINE(PROTOTYPES) +- U= ANSI2KNR= +-else +- AC_MSG_RESULT(no) +- U=_ ANSI2KNR=./ansi2knr +-fi +-AC_SUBST(U)dnl +-AC_SUBST(ANSI2KNR)dnl +-]) +- +-## ----------------------------------------- ## +-## ANSIfy the C compiler whenever possible. ## +-## ----------------------------------------- ## +- +-# @defmac AC_PROG_CC_STDC +-# @maindex PROG_CC_STDC +-# @ovindex CC +-# If the C compiler in not in ANSI C mode by default, try to add an option +-# to output variable @code{CC} to make it so. This macro tries various +-# options that select ANSI C on some system or another. It considers the +-# compiler to be in ANSI C mode if it defines @code{__STDC__} to 1 and +-# handles function prototypes correctly. +-# +-# If you use this macro, you should check after calling it whether the C +-# compiler has been set to accept ANSI C; if not, the shell variable +-# @code{ac_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source +-# code in ANSI C, you can make an un-ANSIfied copy of it by using the +-# program @code{ansi2knr}, which comes with Ghostscript. +-# @end defmac +- +-AC_DEFUN(fp_PROG_CC_STDC, +-[AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C) +-AC_CACHE_VAL(ac_cv_prog_cc_stdc, +-[ac_cv_prog_cc_stdc=no +-ac_save_CFLAGS="$CFLAGS" +-# 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 +-for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" -Xc +-do +- CFLAGS="$ac_save_CFLAGS $ac_arg" +- AC_TRY_COMPILE( +-[#if !defined(__STDC__) || __STDC__ != 1 +-choke me +-#endif +-], [int test (int i, double x); +-struct s1 {int (*f) (int a);}; +-struct s2 {int (*f) (double a);};], +-[ac_cv_prog_cc_stdc="$ac_arg"; break]) +-done +-CFLAGS="$ac_save_CFLAGS" +-]) +-AC_MSG_RESULT($ac_cv_prog_cc_stdc) +-case "x$ac_cv_prog_cc_stdc" in +- x|xno) ;; +- *) CC="$CC $ac_cv_prog_cc_stdc" ;; +-esac +-]) +- +-## --------------------------------------------------------- ## +-## Use AC_PROG_INSTALL, supplementing it with INSTALL_SCRIPT ## +-## substitution. ## +-## --------------------------------------------------------- ## +- +-AC_DEFUN(fp_PROG_INSTALL, +-[AC_PROG_INSTALL +-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL} -m 755' +-AC_SUBST(INSTALL_SCRIPT)dnl +-]) +- +diff --git a/configure.in b/configure.in +index 6b25ed5..a6a7f5b 100644 +--- a/configure.in ++++ b/configure.in +@@ -103,6 +103,12 @@ nana_DEFINE(DI_MAKE_VALID_BREAKPOINT,(exprn), + sparc-*-*|i?86-*-*) + DI_MAKE_VALID_BREAKPOINT='asm("nop")' + ;; ++ arm*-*-*|frv-*-*|mips*-*-*) ++ DI_MAKE_VALID_BREAKPOINT='asm("nop")' ++ ;; ++ sh*-*-*) ++ DI_MAKE_VALID_BREAKPOINT='asm("nop\n\tnop\n\t")' ++ ;; + esac + ]) + +@@ -113,6 +119,12 @@ nana_DEFINE(DL_MAKE_VALID_BREAKPOINT,(), + sparc-*-*|i?86-*-*) + DL_MAKE_VALID_BREAKPOINT='asm("nop")' + ;; ++ arm*-*-*|frv-*-*|mips*-*-*) ++ DL_MAKE_VALID_BREAKPOINT='asm("nop")' ++ ;; ++ sh*-*-*) ++ DL_MAKE_VALID_BREAKPOINT='asm("nop\n\tnop\n\t")' ++ ;; + esac + ]) + +-- +1.8.4.2 + diff --git a/meta-oe/recipes-extended/nana/nana_2.5.bb b/meta-oe/recipes-extended/nana/nana_2.5.bb new file mode 100644 index 0000000000..e55cec884a --- /dev/null +++ b/meta-oe/recipes-extended/nana/nana_2.5.bb @@ -0,0 +1,34 @@ +SUMMARY = "Support for assertion checking and logging in GNU C/C++" +DESCRIPTION = "GNU Nana is a free library providing improved support for assertion\ +checking (as in assert.h) and logging (printf style debugging) in \ +GNU C and C++." +SECTION = "Development/Languages/C and C++" + +SRC_URI = "http://download.savannah.gnu.org/releases/${PN}/${BP}.tar.gz \ + file://change-mandir-to-DESTDIR.patch \ + file://modify-acinclude.m4-and-configure.in.patch \ +" +SRC_URI[md5sum] = "66c88aa0ad095b2e67673773135475f1" +SRC_URI[sha256sum] = "fd1819ffea94b209513959447e4802afe2719600e7d161cd78b265a42812affa" + +LICENSE = "BSD-2-Clause" + +LIC_FILES_CHKSUM = "file://COPYING;md5=16aa57f3b7fdda870cee597275bd5d11" + +inherit autotools-brokensep pkgconfig + +EXTRA_OEMAKE = "DESTDIR=${D}" + +do_configure_prepend_virtclass-nativesdk() { + sed -i -e 's:@CPP@:\$\{CXX\} \$\{CXXFLAGS\} \-E:g' ${S}/src/nana.in + sed -i -e 's:@CC@:\$\{CC\} \$\{CFLAGS\} \-E:g' ${S}/src/nana-clg.in + sed -i -e 's:@CXX@::g' ${S}/src/nana-c++lg.in + sed -i -e 's:@GDB@:\$\{GDB\}:g' ${S}/src/nana-run.in +} + +do_install_prepend() { + install -d ${D}${mandir}/man1 + install -d ${D}${mandir}/man3 + install -d ${D}${datadir}/info +} +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb b/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb new file mode 100644 index 0000000000..5126a31cd6 --- /dev/null +++ b/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "nicstat is a Solaris and Linux command-line that prints out network \ +statistics for all network interface cards (NICs), including packets, kilobytes \ +per second, average packet sizes and more." +HOMEPAGE = "http://nicstat.sourceforge.net" +LICENSE = "Artistic-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b4a94da2a1f918b217ef5156634fc9e0" + +SRC_URI = "http://softlayer-sng.dl.sourceforge.net/project/${BPN}/${BP}.tar.gz" +SRC_URI[md5sum] = "9a0b87bbc670c1e738e5b40c7afd184d" +SRC_URI[sha256sum] = "c4cc33f8838f4523f27c3d7584eedbe59f4c587f0821612f5ac2201adc18b367" + +do_compile() { + ${CC} ${CFLAGS} ${LDFLAGS} -o nicstat nicstat.c +} +do_install() { + install -d ${D}/${bindir}/ + install -d ${D}/${mandir}/ + install -m 0755 ${S}/nicstat ${D}${bindir}/ + install -m 0644 ${S}/nicstat.1 ${D}/${mandir}/ +} diff --git a/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch b/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch new file mode 100644 index 0000000000..a3b02c5dc0 --- /dev/null +++ b/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch @@ -0,0 +1,31 @@ +do not override compiler and do not strip + +The default makefile sets the compiler to g++ or gcc. This leads to a wrong architecture when cross-compiling. +Remove the hardcoded compiler and just append the flags to CXX and CC. + +Upstream-Status: Pending +Signed-off-by: Raphael Freudiger <raphael.freudiger@siemens.com> +Reviewed-By: Pascal Bach <pascal.bach@siemens.com> + +Index: p7zip_9.20.1/makefile.machine +===================================================================== +--- p7zip_9.20.1/makefile.machine 2011-03-13 12:54:57.000000000 +0100 ++++ p7zip_9.20.1/makefile.machine 2015-02-03 08:39:44.427696944 +0100 +@@ -4,14 +4,14 @@ + + OPTFLAGS=-O + +-ALLFLAGS=${OPTFLAGS} -pipe -s \ ++ALLFLAGS=${OPTFLAGS} -pipe \ + -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \ + -DNDEBUG -D_REENTRANT -DENV_UNIX \ + -D_7ZIP_LARGE_PAGES \ + $(LOCAL_FLAGS) + +-CXX=g++ $(ALLFLAGS) +-CC=gcc $(ALLFLAGS) ++CXX+=$(ALLFLAGS) ++CC+=$(ALLFLAGS) + CC_SHARED=-fPIC + LINK_SHARED=-fPIC -shared + diff --git a/meta-oe/recipes-extended/p7zip/p7zip_9.20.1.bb b/meta-oe/recipes-extended/p7zip/p7zip_9.20.1.bb new file mode 100644 index 0000000000..8905ae9d0a --- /dev/null +++ b/meta-oe/recipes-extended/p7zip/p7zip_9.20.1.bb @@ -0,0 +1,17 @@ +SUMMARY = "7-zip is a commandline utility handling 7z archives." +HOMEPAGE = "http://www.7-zip.org/" +LICENSE = "LGPL-2.1+ & unRAR" +LIC_FILES_CHKSUM = "file://DOCS/copying.txt;md5=ecfc54c9e37b63ac58900061ce2eab5a \ + file://DOCS/unRarLicense.txt;md5=9c87ddde469ef94aed153b0951d088de" + +SRC_URI = "http://downloads.sourceforge.net/p7zip/p7zip/${PV}/p7zip_${PV}_src_all.tar.bz2 \ + file://do_not_override_compiler_and_do_not_strip.patch" +SRC_URI[md5sum] = "bd6caaea567dc0d995c990c5cc883c89" +SRC_URI[sha256sum] = "49557e7ffca08100f9fc687f4dfc5aea703ca207640c76d9dee7b66f03cb4782" + +S = "${WORKDIR}/${PN}_${PV}" + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${S}/bin/* ${D}${bindir} +} diff --git a/meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb b/meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb index b262b5ef8f..f5480e780f 100644 --- a/meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb +++ b/meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb @@ -10,6 +10,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=74579fab173e4c5e12aac0cd83ee98ec \ SRC_URI = "http://hal.freedesktop.org/releases/polkit-gnome-${PV}.tar.bz2 \ " +PNBLACKLIST[polkit-gnome] ?= "Fails to build, m4:configure.ac:125: recursion limit of 1024 exceeded, use -L<N> to change it" + PR = "r2" EXTRA_OECONF = "\ diff --git a/meta-oe/recipes-extended/polkit/polkit-group-rule.inc b/meta-oe/recipes-extended/polkit/polkit-group-rule.inc index 8d1a89aa3e..3435e93a0f 100644 --- a/meta-oe/recipes-extended/polkit/polkit-group-rule.inc +++ b/meta-oe/recipes-extended/polkit/polkit-group-rule.inc @@ -7,3 +7,4 @@ do_install_prepend() { install -m 700 -d ${D}${sysconfdir}/polkit-1/rules.d chown polkitd:polkitd ${D}${sysconfdir}/polkit-1/rules.d } +USERADD_PARAM_${PN}_prepend = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;" diff --git a/meta-oe/recipes-extended/rarpd/rarpd/0001-rarpd.8-add-man-file.patch b/meta-oe/recipes-extended/rarpd/rarpd/0001-rarpd.8-add-man-file.patch new file mode 100644 index 0000000000..77c75b4a27 --- /dev/null +++ b/meta-oe/recipes-extended/rarpd/rarpd/0001-rarpd.8-add-man-file.patch @@ -0,0 +1,89 @@ +From d91161eb163c16408202a91b4325a3381ab33752 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 18 Nov 2014 17:55:31 +0900 +Subject: [PATCH 1/5] rarpd.8 : add man file + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + rarpd.8 | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 69 insertions(+) + create mode 100644 rarpd.8 + +diff --git a/rarpd.8 b/rarpd.8 +new file mode 100644 +index 0000000..ce7bd70 +--- /dev/null ++++ b/rarpd.8 +@@ -0,0 +1,69 @@ ++.TH RARP 8 "7 April 2000" "rarpd" "Linux Programmer's Manual" ++.SH NAME ++rarpd \- Reverse Address Resolution Protocol (RARP) daemon ++.SH SYNOPSIS ++.B "rarpd [-aAvde] [-b bootdir ] [ interface ]" ++.SH DESCRIPTION ++.B Rarpd ++is a daemon which responds to RARP requests. ++RARP is used by some machines at boot time to discover their IP address. ++They provide their Ethernet address and ++.B rarpd ++responds with their IP address if it finds it in the ethers database ++(either ++.I /etc/ethers ++file or NIS+ lookup) and using DNS lookup if ethers database ++contains a hostname and not an IP address. ++By default ++.B rarpd ++also checks if a bootable image with a name starting with the IP address ++in hexadecimal uppercase letters is present in the TFTP boot directory ++(usually ++.I /tftpboot ++) before it decides to respond to the RARP request. ++.SH OPTIONS ++.TP ++.B \-a ++Do not bind to the interface. ++.TP ++.B \-A ++Respond to ARP as well as RARP requests. ++.TP ++.B \-v ++Tell the user what is going on by being verbose. ++.TP ++.B \-d ++Debugging mode. Do not detach from the tty. ++.TP ++.B \-e ++Skip the check for bootable image in the TFTP boot directory. If not ++present, then even if the Ethernet address is present in ++the ethers database but the bootable image for the resolved IP does not exist, ++.B rarpd ++will not respond to the request. ++.TP ++.B "\-b bootdir" ++Use ++.I bootdir ++instead of the default ++.I /tftpboot ++as the TFTP boot directory for bootable image checks. ++.SH OBSOLETES ++This ++.B rarpd ++obsoletes kernel ++.B rarp ++daemon present in Linux kernels up to 2.2 which was controlled by the ++rarp(8) command. ++.SH FILES ++.I /etc/ethers, ++.br ++.I /etc/nsswitch.conf, ++.br ++.I /tftpboot ++.SH SEE ALSO ++ethers(5) ++.SH AUTHORS ++Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> ++.br ++Jakub Jelinek, <jakub@redhat.com> +-- +1.8.4.2 + diff --git a/meta-oe/recipes-extended/rarpd/rarpd/0002-Makefile-modify-compile-parameters.patch b/meta-oe/recipes-extended/rarpd/rarpd/0002-Makefile-modify-compile-parameters.patch new file mode 100644 index 0000000000..0b3ebc468f --- /dev/null +++ b/meta-oe/recipes-extended/rarpd/rarpd/0002-Makefile-modify-compile-parameters.patch @@ -0,0 +1,26 @@ +From d23b13bd959204824070433d954c5dfbfc421bb7 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 18 Nov 2014 18:05:27 +0900 +Subject: [PATCH 2/5] Makefile : modify compile parameters + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 19966b4..86a8169 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,7 +1,7 @@ + CC=gcc + CFLAGS=-O2 -Wall -g $(DEFINES) + +-OBJ=rarpd.o ethernet.o ++OBJ=rarpd.o + + all: rarpd + +-- +1.8.4.2 + diff --git a/meta-oe/recipes-extended/rarpd/rarpd/0003-rarpd.c-bug-fix.patch b/meta-oe/recipes-extended/rarpd/rarpd/0003-rarpd.c-bug-fix.patch new file mode 100644 index 0000000000..7ce1279090 --- /dev/null +++ b/meta-oe/recipes-extended/rarpd/rarpd/0003-rarpd.c-bug-fix.patch @@ -0,0 +1,263 @@ +From b49c8e6e66801406520d1bff791c66dff7b1cddb Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 18 Nov 2014 18:10:20 +0900 +Subject: [PATCH 3/5] rarpd.c : bug fix + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + rarpd.c | 98 +++++++++++++++++++++++++++++++++++++---------------------------- + 1 file changed, 56 insertions(+), 42 deletions(-) + +diff --git a/rarpd.c b/rarpd.c +index 335d2d2..d45300e 100644 +--- a/rarpd.c ++++ b/rarpd.c +@@ -7,9 +7,11 @@ + * 2 of the License, or (at your option) any later version. + * + * Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> ++ * Jakub Jelinek, <jakub@redhat.com> + */ + + #include <stdio.h> ++#include <stdlib.h> + #include <syslog.h> + #include <dirent.h> + #include <malloc.h> +@@ -26,6 +28,8 @@ + #include <net/if.h> + #include <net/if_arp.h> + #include <netinet/in.h> ++#include <netinet/ether.h> ++#include <asm/types.h> + #include <linux/if_packet.h> + #include <linux/filter.h> + +@@ -39,27 +43,26 @@ int only_ethers; + int all_ifaces; + int listen_arp; + char *ifname; +-char *tftp_dir = "/etc/tftpboot"; ++char *tftp_dir = "/tftpboot"; + +-extern int ether_ntohost(char *name, unsigned char *ea); + void usage(void) __attribute__((noreturn)); + +-struct iflink ++struct rarpiflink + { +- struct iflink *next; +- int index; +- int hatype; +- unsigned char lladdr[16]; +- unsigned char name[IFNAMSIZ]; +- struct ifaddr *ifa_list; ++ struct rarpiflink *next; ++ int index; ++ int hatype; ++ unsigned char lladdr[16]; ++ unsigned char name[IFNAMSIZ]; ++ struct rarpifaddr *ifa_list; + } *ifl_list; + +-struct ifaddr ++struct rarpifaddr + { +- struct ifaddr *next; +- __u32 prefix; +- __u32 mask; +- __u32 local; ++ struct rarpifaddr *next; ++ __u32 prefix; ++ __u32 mask; ++ __u32 local; + }; + + struct rarp_map +@@ -87,8 +90,8 @@ void load_if() + { + int fd; + struct ifreq *ifrp, *ifend; +- struct iflink *ifl; +- struct ifaddr *ifa; ++ struct rarpiflink *ifl; ++ struct rarpifaddr *ifa; + struct ifconf ifc; + struct ifreq ibuf[256]; + +@@ -144,7 +147,7 @@ void load_if() + continue; + } + +- ifl = (struct iflink*)malloc(sizeof(*ifl)); ++ ifl = (struct rarpiflink*)malloc(sizeof(*ifl)); + if (ifl == NULL) + continue; + memset(ifl, 0, sizeof(*ifl)); +@@ -154,6 +157,7 @@ void load_if() + ifl->hatype = ifrp->ifr_hwaddr.sa_family; + memcpy(ifl->lladdr, ifrp->ifr_hwaddr.sa_data, 14); + strncpy(ifl->name, ifrp->ifr_name, IFNAMSIZ); ++ ifl->name[IFNAMSIZ-1] = 0; + p = strchr(ifl->name, ':'); + if (p) + *p = 0; +@@ -179,7 +183,7 @@ void load_if() + if (ifa == NULL) { + if (mask == 0 || prefix == 0) + continue; +- ifa = (struct ifaddr*)malloc(sizeof(*ifa)); ++ ifa = (struct rarpifaddr*)malloc(sizeof(*ifa)); + memset(ifa, 0, sizeof(*ifa)); + ifa->local = addr; + ifa->prefix = prefix; +@@ -207,6 +211,7 @@ void load_if() + } + } + } ++ close(fd); + } + + void configure() +@@ -225,20 +230,21 @@ int bootable(__u32 addr) + d = opendir(tftp_dir); + if (d == NULL) { + syslog(LOG_ERR, "opendir: %m"); +- return 0; ++ goto done_bootable; + } + while ((dent = readdir(d)) != NULL) { + if (strncmp(dent->d_name, name, 8) == 0) + break; + } ++done_bootable: + closedir(d); + return dent != NULL; + } + +-struct ifaddr *select_ipaddr(int ifindex, __u32 *sel_addr, __u32 **alist) ++struct rarpifaddr *select_ipaddr(int ifindex, __u32 *sel_addr, __u32 **alist) + { +- struct iflink *ifl; +- struct ifaddr *ifa; ++ struct rarpiflink *ifl; ++ struct rarpifaddr *ifa; + int retry = 0; + int i; + +@@ -294,7 +300,7 @@ struct rarp_map *rarp_lookup(int ifindex, int hatype, + + if (r == NULL) { + if (hatype == ARPHRD_ETHER && halen == 6) { +- struct ifaddr *ifa; ++ struct rarpifaddr *ifa; + struct hostent *hp; + char ename[256]; + static struct rarp_map emap = { +@@ -304,7 +310,7 @@ struct rarp_map *rarp_lookup(int ifindex, int hatype, + 6, + }; + +- if (ether_ntohost(ename, lladdr) != 0 || ++ if (ether_ntohost(ename, (struct ether_addr *)lladdr) != 0 || + (hp = gethostbyname(ename)) == NULL) { + if (verbose) + syslog(LOG_INFO, "not found in /etc/ethers"); +@@ -345,7 +351,7 @@ static int load_arp_bpflet(int fd) + + int put_mylladdr(unsigned char **ptr_p, int ifindex, int alen) + { +- struct iflink *ifl; ++ struct rarpiflink *ifl; + + for (ifl=ifl_list; ifl; ifl = ifl->next) + if (ifl->index == ifindex) +@@ -362,8 +368,8 @@ int put_mylladdr(unsigned char **ptr_p, int ifindex, int alen) + int put_myipaddr(unsigned char **ptr_p, int ifindex, __u32 hisipaddr) + { + __u32 laddr = 0; +- struct iflink *ifl; +- struct ifaddr *ifa; ++ struct rarpiflink *ifl; ++ struct rarpifaddr *ifa; + + for (ifl=ifl_list; ifl; ifl = ifl->next) + if (ifl->index == ifindex) +@@ -388,7 +394,7 @@ void arp_advise(int ifindex, unsigned char *lladdr, int lllen, __u32 ipaddr) + int fd; + struct arpreq req; + struct sockaddr_in *sin; +- struct iflink *ifl; ++ struct rarpiflink *ifl; + + for (ifl=ifl_list; ifl; ifl = ifl->next) + if (ifl->index == ifindex) +@@ -421,6 +427,10 @@ void serve_it(int fd) + struct rarp_map *rmap; + unsigned char *ptr; + int n; ++ int i; ++ char tmpbuf[16*3]; ++ char tmpname[IFNAMSIZ]; ++ struct rarpiflink *ifl; + + n = recvfrom(fd, buf, sizeof(buf), MSG_DONTWAIT, (struct sockaddr*)&sll, &sll_len); + if (n<0) { +@@ -447,21 +457,23 @@ void serve_it(int fd) + if (a->ar_op != htons(ARPOP_RREQUEST)) + return; + +- if (verbose) { +- int i; +- char tmpbuf[16*3]; +- char *ptr = tmpbuf; +- for (i=0; i<sll.sll_halen; i++) { +- if (i) { +- sprintf(ptr, ":%02x", sll.sll_addr[i]); +- ptr++; +- } else +- sprintf(ptr, "%02x", sll.sll_addr[i]); +- ptr += 2; +- } +- syslog(LOG_INFO, "RARP request from %s on if%d", tmpbuf, sll.sll_ifindex); ++ ptr = tmpbuf; ++ snprintf(tmpbuf, 2, "%02x", sll.sll_addr[0]); ++ for (ptr=tmpbuf+2, i=1; i<sll.sll_halen; i++) { ++ snprintf(ptr, 3, ":%02x", sll.sll_addr[i]); ++ ptr += 3; + } + ++ for (ifl=ifl_list; ifl; ifl = ifl->next) ++ if (ifl->index == sll.sll_ifindex) ++ break; ++ if (ifl) { ++ strncpy(tmpname, ifl->name, IFNAMSIZ); ++ tmpname[IFNAMSIZ-1] = 0; ++ } else ++ sprintf(tmpname, "if%d", sll.sll_ifindex); ++ syslog(LOG_INFO, "RARP request from %s on %s", tmpbuf, tmpname); ++ + /* Sanity checks */ + + /* 1. IP only -> pln==4 */ +@@ -526,6 +538,8 @@ void serve_it(int fd) + ptr += rmap->lladdr_len; + memcpy(ptr, &rmap->ipaddr, 4); + ptr += 4; ++ syslog(LOG_INFO, "RARP response to %s %s on %s", tmpbuf, ++ inet_ntoa(*(struct in_addr *)&rmap->ipaddr), tmpname); + + /* Update our ARP cache. Probably, this guy + will not able to make ARP (if it is broken) +@@ -613,7 +627,7 @@ int main(int argc, char **argv) + if (ifname) { + struct ifreq ifr; + memset(&ifr, 0, sizeof(ifr)); +- strncpy(ifr.ifr_name, ifname, IFNAMSIZ); ++ strncpy(ifr.ifr_name, ifname, IFNAMSIZ-1); + if (ioctl(pset[0].fd, SIOCGIFINDEX, &ifr)) { + perror("ioctl(SIOCGIFINDEX)"); + usage(); +-- +1.8.4.2 + diff --git a/meta-oe/recipes-extended/rarpd/rarpd/0004-rarpd.init-add-new-init-file.patch b/meta-oe/recipes-extended/rarpd/rarpd/0004-rarpd.init-add-new-init-file.patch new file mode 100644 index 0000000000..3ba11ffe55 --- /dev/null +++ b/meta-oe/recipes-extended/rarpd/rarpd/0004-rarpd.init-add-new-init-file.patch @@ -0,0 +1,116 @@ +From 0ef1a95b220c7e110da950e5cc544c50c25b1bc6 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 18 Nov 2014 18:11:56 +0900 +Subject: [PATCH 4/5] rarpd.init : add new init file + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + rarpd.init | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 96 insertions(+) + create mode 100644 rarpd.init + +diff --git a/rarpd.init b/rarpd.init +new file mode 100644 +index 0000000..efcf825 +--- /dev/null ++++ b/rarpd.init +@@ -0,0 +1,96 @@ ++#!/bin/bash ++# ++# /etc/init.d/rarpd ++# ++# Starts the rarpd daemon ++# ++# chkconfig: - 82 16 ++# description: Server Reverse Address Resolution Protocol requests. ++# processname: rarpd ++ ++### BEGIN INIT INFO ++# Provides: rarpd ++# Required-Start: $syslog $network ++# Required-Stop: $syslog $network ++# Default-Start: ++# Default-Stop: 0 1 2 3 4 5 6 ++# Short-Description: start and stop rarpd ++# Description: RARP (Reverse Address Resolution Protocol) is a protocol \ ++# which allows individual devices on an IP network to get \ ++# their own IP addresses from the RARP server. \ ++### END INIT INFO ++ ++# Source function library. ++. /etc/init.d/functions ++ ++# Read the config file if exists ++if [ -f /etc/sysconfig/rarpd ]; then ++ . /etc/sysconfig/rarpd ++fi ++ ++RETVAL=0 ++prog="rarpd" ++ ++ ++start() { ++ #if these files don't exist rarpd can't work ++ test -x /usr/sbin/rarpd -a -f /etc/ethers || exit 6 ++ # Check if rarpd is already running ++ #if [ ! -f /var/lock/subsys/rarpd ]; then ++ status rarpd; ++ if [ $? -ne 0 ]; then ++ echo -n $"Starting $prog: " ++ daemon /usr/sbin/rarpd $OPTIONS $INTERFACE ++ RETVAL=$? ++ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/rarpd ++ echo ++ fi ++ return $RETVAL ++} ++ ++stop() { ++ echo -n $"Stopping $prog: " ++ killproc /usr/sbin/rarpd ++ RETVAL=$? ++ [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/rarpd ++ echo ++ return $RETVAL ++} ++reload() { ++ RETVAL=3 ++} ++ ++# ++# See how we were called. ++# ++case "$1" in ++ start) ++ start ++ ;; ++ stop) ++ stop ++ ;; ++ reload) ++ reload ++ ;; ++ force-reload|restart) ++ stop ++ start ++ ;; ++ condrestart) ++ if [ -f /var/lock/subsys/rarpd ]; then ++ stop ++ start ++ fi ++ ;; ++ status) ++ status rarpd ++ RETVAL=$? ++ ;; ++ *) ++ echo $"Usage: $0 {start|stop|restart|condrestart|reload|status|force-reload}" ++ RETVAL=2 ++ ++esac ++ ++exit $RETVAL +-- +1.8.4.2 + diff --git a/meta-oe/recipes-extended/rarpd/rarpd/0005-ethernet.c-remove-it.patch b/meta-oe/recipes-extended/rarpd/rarpd/0005-ethernet.c-remove-it.patch new file mode 100644 index 0000000000..c77c806127 --- /dev/null +++ b/meta-oe/recipes-extended/rarpd/rarpd/0005-ethernet.c-remove-it.patch @@ -0,0 +1,244 @@ +From abe15ba10ddc3548c528ccb088097d7abf5be48b Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 18 Nov 2014 18:14:07 +0900 +Subject: [PATCH 5/5] ethernet.c : remove it + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + ethernet.c | 224 ------------------------------------------------------------- + 1 file changed, 224 deletions(-) + delete mode 100644 ethernet.c + +diff --git a/ethernet.c b/ethernet.c +deleted file mode 100644 +index d682b63..0000000 +--- a/ethernet.c ++++ /dev/null +@@ -1,224 +0,0 @@ +-/* +- * Copyright (c) 1990, 1993 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: (1) source code distributions +- * retain the above copyright notice and this paragraph in its entirety, (2) +- * distributions including binary code include the above copyright notice and +- * this paragraph in its entirety in the documentation or other materials +- * provided with the distribution, and (3) all advertising materials mentioning +- * features or use of this software display the following acknowledgement: +- * ``This product includes software developed by the University of California, +- * Lawrence Berkeley Laboratory and its contributors.'' 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED +- * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF +- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +- */ +-#ifndef lint +-static char rcsid[] = +- "@(#) $Header: etherent.c,v 1.4 96/06/14 20:34:25 leres Exp $ (LBL)"; +-#endif +- +-#include <sys/types.h> +-#include <sys/stat.h> +-#include <sys/time.h> +- +-#include <ctype.h> +-#include <stdio.h> +-#include <string.h> +- +-#ifndef ETHERS_FILE +-#define ETHERS_FILE "/etc/ethers" +-#endif +- +-struct etherent { +- u_char addr[6]; +- char name[122]; +-}; +- +-static FILE *ether_fp = NULL; +- +- +-/* Hex digit to integer. */ +-static inline int +-xdtoi(c) +- int c; +-{ +- +- if (isdigit(c)) +- return c - '0'; +- else if (islower(c)) +- return c - 'a' + 10; +- else +- return c - 'A' + 10; +-} +- +-static inline int +-skip_space(f) +- FILE *f; +-{ +- int c; +- +- do { +- c = getc(f); +- } while (isspace(c) && c != '\n'); +- +- return c; +-} +- +-static inline int +-skip_line(f) +- FILE *f; +-{ +- int c; +- +- do +- c = getc(f); +- while (c != '\n' && c != EOF); +- +- return c; +-} +- +-static struct etherent * +-next_etherent(fp) +- FILE *fp; +-{ +- register int c, d, i; +- char *bp; +- static struct etherent e; +- static int nline = 1; +- top: +- while (nline) { +- /* Find addr */ +- c = skip_space(fp); +- if (c == '\n') +- continue; +- /* If this is a comment, or first thing on line +- cannot be etehrnet address, skip the line. */ +- else if (!isxdigit(c)) +- c = skip_line(fp); +- else { +- /* must be the start of an address */ +- for (i = 0; i < 6; i += 1) { +- d = xdtoi(c); +- c = getc(fp); +- if (c != ':') { +- d <<= 4; +- d |= xdtoi(c); +- c = getc(fp); +- } +- e.addr[i] = d; +- if (c != ':') +- break; +- c = getc(fp); +- } +- nline = 0; +- } +- if (c == EOF) +- return NULL; +- } +- +- /* If we started a new line, 'c' holds the char past the ether addr, +- which we assume is white space. If we are continuing a line, +- 'c' is garbage. In either case, we can throw it away. */ +- +- c = skip_space(fp); +- if (c == '\n') { +- nline = 1; +- goto top; +- } +- else if (c == '#') { +- (void)skip_line(fp); +- nline = 1; +- goto top; +- } +- else if (c == EOF) +- return NULL; +- +- /* Must be a name. */ +- bp = e.name; +- /* Use 'd' to prevent buffer overflow. */ +- d = sizeof(e.name) - 1; +- do { +- *bp++ = c; +- c = getc(fp); +- } while (!isspace(c) && c != EOF && --d > 0); +- *bp = '\0'; +- if (c == '\n') +- nline = 1; +- +- return &e; +-} +- +-/* Open/rewind the ethers files; returns 1 if file was reopened */ +-int +-ether_rewind() +-{ +- struct stat st; +- static long mtime = 0, ctime = 0; +- +- if (ether_fp != NULL) { +- if (fstat(fileno(ether_fp), &st) < 0 || +- mtime != st.st_mtime || ctime != st.st_ctime || +- fseek(ether_fp, 0L, SEEK_SET) < 0) { +- fclose(ether_fp); +- ether_fp = NULL; +- } +- } +- if (ether_fp == NULL) { +- ether_fp = fopen(ETHERS_FILE, "r"); +- if (ether_fp == NULL) +- return (-1); +- if (fstat(fileno(ether_fp), &st) < 0) { +- fclose(ether_fp); +- ether_fp = NULL; +- return (-1); +- } +- mtime = st.st_mtime; +- ctime = st.st_ctime; +- return (1); +- } +- return (0); +-} +- +-/* Map an ethernet address to a name; returns 0 on success, else 1. */ +-int +-ether_ntohost(name, ea) +- register char *name; +- register u_char *ea; +-{ +- register struct etherent *ep; +- +- if (ether_rewind() < 0) +- return (1); +- +- while ((ep = next_etherent(ether_fp)) != NULL) +- if (bcmp(ep->addr, ea, 6) == 0) { +- strcpy(name, ep->name); +- return (0); +- } +- return (1); +-} +- +-/* Map an ethernet name to an address; returns 0 on success, else 1. */ +-int +-ether_hostton(name, ea) +- register char *name; +- register u_char *ea; +-{ +- register struct etherent *ep; +- +- if (ether_rewind() < 0) +- return (1); +- +- while ((ep = next_etherent(ether_fp)) != NULL) +- if (strcmp(ep->name, name) == 0) { +- bcopy(ep->addr, ea, 6); +- return (0); +- } +- return (1); +-} +-- +1.8.4.2 + diff --git a/meta-oe/recipes-extended/rarpd/rarpd/ethers.sample b/meta-oe/recipes-extended/rarpd/rarpd/ethers.sample new file mode 100644 index 0000000000..249ca6b3c3 --- /dev/null +++ b/meta-oe/recipes-extended/rarpd/rarpd/ethers.sample @@ -0,0 +1 @@ +# see man ethers for syntax diff --git a/meta-oe/recipes-extended/rarpd/rarpd/rarpd.service b/meta-oe/recipes-extended/rarpd/rarpd/rarpd.service new file mode 100644 index 0000000000..137710eb15 --- /dev/null +++ b/meta-oe/recipes-extended/rarpd/rarpd/rarpd.service @@ -0,0 +1,14 @@ +[Unit] +Description=Reverse Address Resolution Protocol Requests Server +Requires=network.target +After=syslog.target network.target + +[Service] +Type=forking +EnvironmentFile=-/etc/sysconfig/rarpd +ExecStart=/usr/sbin/rarpd $OPTIONS $INTERFACE +StandardError=syslog + +[Install] +WantedBy=multi-user.target + diff --git a/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb b/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb new file mode 100644 index 0000000000..0fe79cf4c1 --- /dev/null +++ b/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb @@ -0,0 +1,49 @@ +SUMMARY = "The RARP daemon." +DESCRIPTION = "RARP (Reverse Address Resolution Protocol) is a protocol which \ +allows individual devices on an IP network to get their own IP addresses from \ +the RARP server. Some machines (e.g. SPARC boxes) use this protocol instead \ +of e.g. DHCP to query their IP addresses during network bootup. \ +Linux kernels up to 2.2 used to provide a kernel daemon for this service, \ +but since 2.3 kernels it is served by this userland daemon. \ +You should install rarpd if you want to set up a RARP server on your \ +network." +SECTION = "System Environment/Daemons" + +SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/${BPN}/${BP}.tar.gz/be2a88f8ccddf2a40ac484cb3294fedc/${BP}.tar.gz" +SRC_URI[md5sum] = "be2a88f8ccddf2a40ac484cb3294fedc" +SRC_URI[sha256sum] = "4d6145d435a5d8b567b9798620f57f9b0a464078a1deba267958f168fbe776e6" + +SRC_URI += "file://0001-rarpd.8-add-man-file.patch \ + file://0002-Makefile-modify-compile-parameters.patch \ + file://0003-rarpd.c-bug-fix.patch \ + file://0004-rarpd.init-add-new-init-file.patch \ + file://0005-ethernet.c-remove-it.patch \ + file://ethers.sample \ + file://rarpd.service \ +" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://rarpd.c;md5=199b20b172ea93121bc613a9c77b6931" + +S = "${WORKDIR}/${BPN}" + +do_install() { + install -d ${D}${sysconfdir}/init.d + install -d ${D}${sbindir} + install -d ${D}${mandir}/man8 + install -m 755 rarpd.init ${D}${sysconfdir}/init.d/rarpd + install -m 755 rarpd ${D}${sbindir}/rarpd + install -m 644 rarpd.8 ${D}${mandir}/man8/rarpd.8 + install -m 644 ${WORKDIR}/ethers.sample ${D}${sysconfdir}/ethers + + if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/rarpd.service ${D}${systemd_unitdir}/system/ + fi +} + +inherit ${@base_contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','',d)} + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "rarpd.service" +SYSTEMD_AUTO_ENABLE = "disable" diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.8.bb b/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.8.bb index 449a923489..6bc5e98633 100644 --- a/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.8.bb +++ b/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.8.bb @@ -4,7 +4,7 @@ HOMEPAGE = "http://oss.oetiker.ch/rrdtool/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=44fee82a1d2ed0676cf35478283e0aa0" -DEPENDS = "libpng zlib cairo pango glib-2.0 libxml2" +DEPENDS = "libpng zlib cairo pango glib-2.0 libxml2 groff-native" SRCREV = "1850e00a17e25e93c39e608f4e2da50f29c5c712" PV = "1.4.8" @@ -17,7 +17,7 @@ SRC_URI = "\ S = "${WORKDIR}/git" -inherit autotools-brokensep gettext pythonnative perlnative python-dir +inherit autotools-brokensep gettext pythonnative perlnative python-dir cpan-base EXTRA_AUTORECONF = "-I m4" @@ -56,6 +56,12 @@ export HOST_SYS export STAGING_LIBDIR export STAGING_INCDIR +# Env var which tells perl if it should use host (no) or target (yes) settings +export PERLCONFIGTARGET = "${@is_target(d)}" +export PERL_INC = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}/CORE" +export PERL_LIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}" +export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}" + do_configure() { #fix the pkglib problem with newer automake #perl @@ -71,9 +77,6 @@ do_configure() { autotools_do_configure - perl_version=`perl -v 2>/dev/null | \ - sed -n 's/This is perl.*v[a-z ]*\([0-9]\.[0-9][0-9.]*\).*$/\1/p'` - #modify python sitepkg #remove the dependency of perl-shared:Makefile #or perl-shared/Makefile will be regenerated @@ -86,13 +89,10 @@ do_configure() { #redo the perl bindings ( cd ${S}/bindings/perl-shared; - perl -I${STAGING_LIBDIR}/perl/$perl_version Makefile.PL INSTALLDIRS="vendor" - INSTALLPRIVLIB="abc"; - sed -i -e "s| ${libdir}/perl/| ${STAGING_LIBDIR}/perl/|g" Makefile; + perl Makefile.PL INSTALLDIRS="vendor" INSTALLPRIVLIB="abc"; cd ../../bindings/perl-piped; - perl -I${STAGING_LIBDIR}/perl/$perl_version Makefile.PL INSTALLDIRS="vendor"; - sed -i -e "s| ${libdir}/perl/| ${STAGING_LIBDIR}/perl/|g" Makefile; + perl Makefile.PL INSTALLDIRS="vendor"; ) #change the interpreter in file diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/json-0.12-fix.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/json-0.12-fix.patch new file mode 100644 index 0000000000..7390a7f542 --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/json-0.12-fix.patch @@ -0,0 +1,45 @@ +json-c-0.12 unlike 0.11 doesn't install json -> json-c symlink in include + +* Resolved in Version 7.6.4 [v7.6-stable] 2014-09-12 + https://github.com/rsyslog/rsyslog/blob/v7-stable/ChangeLog +* permits to build against json-c 0.12 + Unfortunately, json-c had an ABI breakage, so this is necessary. Note + that versions prior to 0.12 had security issues (CVE-2013-6370, + CVE-2013-6371) and so it is desirable to link against the new version. + Thanks to Thomas D. for the patch. Note that at least some distros + have fixed the security issue in older versions of json-c, so this + seems to apply mostly when building from sources. + +Upstream-Status: Backport +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + +diff -uNr rsyslog-7.4.4.orig/plugins/ommongodb/ommongodb.c rsyslog-7.4.4/plugins/ommongodb/ommongodb.c +--- rsyslog-7.4.4.orig/plugins/ommongodb/ommongodb.c 2013-09-03 11:54:20.000000000 +0200 ++++ rsyslog-7.4.4/plugins/ommongodb/ommongodb.c 2015-01-12 16:11:51.542591825 +0100 +@@ -33,9 +33,9 @@ + #include <stdint.h> + #include <time.h> + #include <mongo.h> +-#include <json.h> ++#include <json-c/json.h> + /* For struct json_object_iter, should not be necessary in future versions */ +-#include <json/json_object_private.h> ++#include <json-c/json_object_private.h> + + #include "rsyslog.h" + #include "conf.h" +diff -uNr rsyslog-7.4.4.orig/runtime/msg.c rsyslog-7.4.4/runtime/msg.c +--- rsyslog-7.4.4.orig/runtime/msg.c 2013-09-03 12:31:42.000000000 +0200 ++++ rsyslog-7.4.4/runtime/msg.c 2015-01-12 16:12:00.403592142 +0100 +@@ -41,9 +41,9 @@ + #endif + #include <netdb.h> + #include <libestr.h> +-#include <json.h> ++#include <json-c/json.h> + /* For struct json_object_iter, should not be necessary in future versions */ +-#include <json/json_object_private.h> ++#include <json-c/json_object_private.h> + #if HAVE_MALLOC_H + # include <malloc.h> + #endif diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf index 54f8bb6a56..324ae6d82a 100644 --- a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf @@ -14,6 +14,8 @@ $ModLoad imklog # kernel logging (formerly provided by rklogd) # # Set the default permissions # +$FileOwner root +$FileGroup adm $FileCreateMode 0640 $DirCreateMode 0755 $Umask 0022 diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate index ba1120af44..94ec517b21 100644 --- a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate @@ -9,7 +9,7 @@ delaycompress compress postrotate - /etc/init.d/rsyslog reload 2> /dev/null || true + /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true endscript } @@ -34,6 +34,6 @@ delaycompress sharedscripts postrotate - /etc/init.d/rsyslog reload 2> /dev/null || true + /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true endscript } diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb b/meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb index aeca09a278..5ab6a309de 100644 --- a/meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb +++ b/meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb @@ -25,6 +25,7 @@ SRC_URI = "http://www.rsyslog.com/files/download/rsyslog/${BPN}-${PV}.tar.gz \ file://run-ptest \ file://rsyslog-fix-ptest-not-finish.patch \ file://rsyslog-use-serial-tests-config-needed-by-ptest.patch \ + file://json-0.12-fix.patch \ " SRC_URI[md5sum] = "ebcc010a6205c28eb505c0fe862f32c6" @@ -37,7 +38,7 @@ EXTRA_OECONF += "--enable-cached-man-pages" # first line is default yes in configure PACKAGECONFIG ??= " \ zlib rsyslogd rsyslogrt klog inet regexp uuid libgcrypt \ - imdiag gnutls \ + imdiag gnutls imfile \ ${@base_contains('DISTRO_FEATURES', 'snmp', 'snmp', '', d)} \ ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ ${@base_contains('DISTRO_FEATURES', 'ptest', 'testbench ${VALGRIND}', '', d)} \ @@ -57,6 +58,7 @@ PACKAGECONFIG[testbench] = "--enable-testbench,--disable-testbench,," # default no in configure PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,," PACKAGECONFIG[imdiag] = "--enable-imdiag,--disable-imdiag,," +PACKAGECONFIG[imfile] = "--enable-imfile,--disable-imfile,," PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp," PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls," PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd," @@ -125,10 +127,10 @@ INITSCRIPT_PARAMS = "defaults" # higher than sysklogd's 100 ALTERNATIVE_PRIORITY = "110" -ALTERNATIVE_${PN} = "rsyslogd syslog-conf syslog-logrotate" +ALTERNATIVE_${PN} = "syslogd syslog-conf syslog-logrotate" -ALTERNATIVE_LINK_NAME[rsyslogd] = "${base_sbindir}/syslogd" -ALTERNATIVE_TARGET[rsyslogd] = "${sbindir}/rsyslogd" +ALTERNATIVE_LINK_NAME[syslogd] = "${base_sbindir}/syslogd" +ALTERNATIVE_TARGET[syslogd] = "${sbindir}/rsyslogd" ALTERNATIVE_LINK_NAME[syslog-conf] = "${sysconfdir}/syslog.conf" ALTERNATIVE_TARGET[syslog-conf] = "${sysconfdir}/rsyslog.conf" ALTERNATIVE_LINK_NAME[syslog-logrotate] = "${sysconfdir}/logrotate.d/syslog" diff --git a/meta-oe/recipes-extended/sip/sip-native_4.14.2.bb b/meta-oe/recipes-extended/sip/sip-native_4.14.2.bb deleted file mode 100644 index 602dc250f5..0000000000 --- a/meta-oe/recipes-extended/sip/sip-native_4.14.2.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "SIP is a C++/Python Wrapper Generator" -AUTHOR = "Phil Thompson" -HOMEPAGE = "http://www.riverbankcomputing.co.uk/sip" -SECTION = "devel" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://sipgen.sbf;endline=15;md5=61b2ce7ddd624968411804d2fa9d776c" - -# riverbankcomputing is upstream, but keeps only latest version, sf usually have few older -#SRC_URI = "http://www.riverbankcomputing.com/static/Downloads/sip4/sip-${PV}.tar.gz" -SRC_URI = "${SOURCEFORGE_MIRROR}/project/pyqt/sip/sip-${PV}/sip-${PV}.tar.gz" -SRC_URI[md5sum] = "b93442e745b3be2fad89de0686a76ce9" -SRC_URI[sha256sum] = "1a9d3bf26c821f369c175f8e68946b79bc994da4f96e8f5ecff06e6ee7ac0528" -S = "${WORKDIR}/sip-${PV}/sipgen" - -inherit qmake2 native python-dir - -EXTRA_QMAKEVARS_POST += "DESTDIR=${S} CONFIG=console" - -export BUILD_SYS -export HOST_SYS -export STAGING_LIBDIR -export STAGING_INCDIR - -do_configure_prepend() { - cat sipgen.sbf | sed s,target,TARGET, | sed s,sources,SOURCES, | sed s,headers,HEADERS, > sipgen.pro -} -do_install() { - install -d ${D}${bindir} - install -m 0755 sip ${D}${bindir}/sip - # python-pyqt expects sip4 - ln -sf sip ${D}${bindir}/sip4 - cd ${WORKDIR}/sip-${PV} && python configure.py - install -d ${D}${PYTHON_SITEPACKAGES_DIR} - install -m 0755 sip*.py ${D}${PYTHON_SITEPACKAGES_DIR} -} diff --git a/meta-oe/recipes-extended/sip/sip_4.16.4.bb b/meta-oe/recipes-extended/sip/sip_4.16.4.bb new file mode 100644 index 0000000000..607ace69fa --- /dev/null +++ b/meta-oe/recipes-extended/sip/sip_4.16.4.bb @@ -0,0 +1,52 @@ +SUMMARY = "SIP is a C++/Python Wrapper Generator" +AUTHOR = "Phil Thompson" +HOMEPAGE = "http://www.riverbankcomputing.co.uk/sip" +SECTION = "devel" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://LICENSE-GPL2;md5=e91355d8a6f8bd8f7c699d62863c7303" +DEPENDS_class-target = "qt4-x11-free python" + +# riverbankcomputing is upstream, but keeps only latest version, sf usually have few older +#SRC_URI = "http://www.riverbankcomputing.com/static/Downloads/sip4/sip-${PV}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/project/pyqt/sip/sip-${PV}/sip-${PV}.tar.gz" +SRC_URI[md5sum] = "a9840670a064dbf8f63a8f653776fec9" +SRC_URI[sha256sum] = "ceda443fc5e129e67a067e2cd7b73ff037f8b10b50e407baa2b1d9f2199d57f5" + +BBCLASSEXTEND = "native" + +inherit qmake2 python-dir pythonnative distro_features_check +# depends on qt4-x11-free +REQUIRED_DISTRO_FEATURES = "x11" + +EXTRA_QMAKEVARS_POST += "CONFIG=console" + +export BUILD_SYS +export HOST_SYS +export STAGING_LIBDIR +export STAGING_INCDIR + +do_configure_prepend_class-target() { + echo "py_platform = linux" > sip.cfg + echo "py_inc_dir = %(sysroot)/${includedir}/python%(py_major).%(py_minor)" >> sip.cfg + echo "sip_bin_dir = ${D}/${bindir}" >> sip.cfg + echo "sip_inc_dir = ${D}/${includedir}" >> sip.cfg + echo "sip_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> sip.cfg + echo "sip_sip_dir = ${D}/${datadir}/sip" >> sip.cfg + python configure.py --use-qmake --configuration sip.cfg --sysroot ${STAGING_DIR_HOST} +} +do_configure_prepend_class-native() { + echo "py_platform = linux" > sip.cfg + echo "py_inc_dir = ${includedir}/python%(py_major).%(py_minor)" >> sip.cfg + echo "sip_bin_dir = ${D}/${bindir}" >> sip.cfg + echo "sip_inc_dir = ${D}/${includedir}" >> sip.cfg + echo "sip_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> sip.cfg + echo "sip_sip_dir = ${D}/${datadir}/sip" >> sip.cfg + python configure.py --use-qmake --configuration sip.cfg --sysroot ${STAGING_DIR_NATIVE} +} +do_install() { + oe_runmake install +} + +FILES_${PN} += "${libdir}/${PYTHON_DIR}/site-packages/" +FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/.debug" + diff --git a/meta-oe/recipes-extended/subsurface/subsurface/libm.patch b/meta-oe/recipes-extended/subsurface/subsurface/libm.patch deleted file mode 100644 index 79956089df..0000000000 --- a/meta-oe/recipes-extended/subsurface/subsurface/libm.patch +++ /dev/null @@ -1,17 +0,0 @@ -| /media/build1/poky/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.9.0/ld: divelist.o: undefined reference to symbol 'pow@@GLIBC_2.0' -| /media/build1/poky/build1/tmp/sysroots/qemux86/lib/libm.so.6: error adding symbols: DSO missing from command line -| collect2: error: ld returned 1 exit status - -Index: git/Makefile -=================================================================== ---- git.orig/Makefile 2014-07-17 20:59:03.152489041 +0000 -+++ git/Makefile 2014-07-17 20:59:19.020489473 +0000 -@@ -50,7 +50,7 @@ - LIBDIVECOMPUTERCFLAGS = -I$(LIBDIVECOMPUTERINCLUDES) - LIBDIVECOMPUTER = $(LIBDIVECOMPUTERARCHIVE) $(LIBUSB) - --LIBS = $(LIBXML2) $(LIBGTK) $(LIBDIVECOMPUTER) -lpthread -+LIBS = $(LIBXML2) $(LIBGTK) $(LIBDIVECOMPUTER) -lpthread -lm - - OBJS = main.o dive.o profile.o info.o equipment.o divelist.o \ - parse-xml.o save-xml.o libdivecomputer.o print.o uemis.o \ diff --git a/meta-oe/recipes-extended/subsurface/subsurface/pkgconfig.patch b/meta-oe/recipes-extended/subsurface/subsurface/pkgconfig.patch deleted file mode 100644 index 1f294fc88f..0000000000 --- a/meta-oe/recipes-extended/subsurface/subsurface/pkgconfig.patch +++ /dev/null @@ -1,22 +0,0 @@ -Index: git/Makefile -=================================================================== ---- git.orig/Makefile 2014-07-17 20:53:23.620479788 +0000 -+++ git/Makefile 2014-07-17 20:56:07.992484267 +0000 -@@ -45,7 +45,7 @@ - # about it if it doesn't. - LIBUSB = $(shell pkg-config --libs libusb-1.0 2> /dev/null) - --LIBXML2 = $(shell xml2-config --libs) -+LIBXML2 = $(shell pkg-config --libs libxml-2.0) - LIBGTK = $(shell pkg-config --libs gtk+-2.0 glib-2.0 gconf-2.0) - LIBDIVECOMPUTERCFLAGS = -I$(LIBDIVECOMPUTERINCLUDES) - LIBDIVECOMPUTER = $(LIBDIVECOMPUTERARCHIVE) $(LIBUSB) -@@ -71,7 +71,7 @@ - $(INSTALL) $(MANFILES) $(MANDIR) - - parse-xml.o: parse-xml.c dive.h -- $(CC) $(CFLAGS) `pkg-config --cflags glib-2.0` -c `xml2-config --cflags` parse-xml.c -+ $(CC) $(CFLAGS) `pkg-config --cflags glib-2.0` -c `pkg-config --cflags libxml-2.0` parse-xml.c - - save-xml.o: save-xml.c dive.h - $(CC) $(CFLAGS) `pkg-config --cflags glib-2.0` -c save-xml.c diff --git a/meta-oe/recipes-extended/subsurface/subsurface_git.bb b/meta-oe/recipes-extended/subsurface/subsurface_git.bb index fc50eb6806..22b9d2fd70 100644 --- a/meta-oe/recipes-extended/subsurface/subsurface_git.bb +++ b/meta-oe/recipes-extended/subsurface/subsurface_git.bb @@ -4,29 +4,18 @@ LIC_FILES_CHKSUM = "file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263" DEPENDS = "libdivecomputer gtk+ libxml2 glib-2.0 gconf" -inherit gtk-icon-cache +PNBLACKLIST[subsurface] ?= "Needs to be upgraded for compatibility with new libdivecomputer" + +inherit gtk-icon-cache cmake inherit gitpkgv PKGV = "${GITPKGVTAG}" -PV = "1.1" +PV = "4.2" -SRCREV = "bd275d73ac06823619230915a3aa29deddc996fb" -SRC_URI = "git://subsurface.hohndel.org/subsurface.git \ - file://pkgconfig.patch \ - file://libm.patch" +SRCREV = "f61ee20ba356ecfc4c5b247f548f52d588179c94" +SRC_URI = "git://subsurface.hohndel.org/subsurface.git" S = "${WORKDIR}/git" -EXTRA_OEMAKE = "CC='${CC}' \ - libdc-usr=${STAGING_INCDIR}/libdivecomputer/* \ - LIBDIVECOMPUTERINCLUDES=${STAGING_INCDIR}/libdivecomputer \ - LIBDIVECOMPUTERARCHIVE=${STAGING_LIBDIR}/libdivecomputer.a \ -" - -do_install() { - oe_runmake install DESTDIR=${D} - rm ${D}${datadir}/icons/hicolor/icon-theme.cache -} - -FILES_${PN} += "${datadir}/icons/hicolor/scalable/apps/subsurface.svg" +#FILES_${PN} += "${datadir}/icons/hicolor/scalable/apps/subsurface.svg" RRECOMMENDS_${PN}_append_libc-glibc = " glibc-gconv-iso8859-15" diff --git a/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb b/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb index 86cc166e2d..1d670a7d76 100644 --- a/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb +++ b/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb @@ -2,7 +2,7 @@ SUMMARY = "A Type1 Font Rastering Library" SECTION = "libs" DEPENDS = "virtual/libx11 libxaw" -LICENSE = "LGPLv2 GPLv2" +LICENSE = "LGPLv2 & GPLv2" LIC_FILES_CHKSUM = "file://LICENSE;md5=8ca43cbc842c2336e835926c2166c28b \ file://LGPL;md5=6e29c688d912da12b66b73e32b03d812 \ " @@ -13,7 +13,9 @@ SRC_URI = "${DEBIAN_MIRROR}/main/t/t1lib/t1lib_${PV}.orig.tar.gz \ SRC_URI[md5sum] = "a5629b56b93134377718009df1435f3c" SRC_URI[sha256sum] = "821328b5054f7890a0d0cd2f52825270705df3641dbd476d58d17e56ed957b59" -inherit autotools-brokensep +inherit autotools-brokensep distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" # Fix GNU_HASH problem TARGET_CC_ARCH += "${LDFLAGS}" diff --git a/meta-oe/recipes-extended/tiptop/tiptop_2.2.bb b/meta-oe/recipes-extended/tiptop/tiptop_2.2.bb new file mode 100644 index 0000000000..a803e26af1 --- /dev/null +++ b/meta-oe/recipes-extended/tiptop/tiptop_2.2.bb @@ -0,0 +1,26 @@ +SUMMARY = "Hardware performance monitoring counters" +HOMEPAGE = "http://tiptop.gforge.inria.fr/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "ncurses libxml2" + +SRC_URI = "http://tiptop.gforge.inria.fr/releases/${BP}.tar.gz" +SRC_URI[md5sum] = "74255a29acf44569db021b080ad3e3f7" +SRC_URI[sha256sum] = "965cb99b16cb59df78363d83b62877ce8501b0aac1116a86bed8a16aa96b171d" + +inherit autotools-brokensep +EXTRA_OECONF = "CFLAGS="$CFLAGS -I${STAGING_INCDIR}/libxml2"" +COMPATIBLE_HOST = "(i.86|x86_64|arm|powerpc).*-linux" + +do_configure_prepend () { + # Two bugs in configure.ac when cross-compiling. + # 1. The path of libxml2. Specify it in EXTRA_OECONF. + # 2. hw's value on other platforms. Replace it if the target is + # not i*86/x86_64. + if ( echo "${TARGET_ARCH}" | grep -q -e 'i.86' -e 'x86_64' ); then + sed -i 's= -I/usr/include/libxml2==' ${S}/configure.ac + else + sed -i 's/hw=`uname -m`/hw="unknown"/' ${S}/configure.ac + sed -i 's= -I/usr/include/libxml2==' ${S}/configure.ac + fi +} diff --git a/meta-oe/recipes-extended/tmux/tmux_1.6.bb b/meta-oe/recipes-extended/tmux/tmux_1.6.bb index 5ce99ea06e..b4294d75ee 100644 --- a/meta-oe/recipes-extended/tmux/tmux_1.6.bb +++ b/meta-oe/recipes-extended/tmux/tmux_1.6.bb @@ -5,7 +5,7 @@ SECTION = "console/utils" LICENSE = "ISC" LIC_FILES_CHKSUM = "file://tmux.c;beginline=3;endline=17;md5=8685b4455330a940fab1ff451aa941a0" -DEPENDS = "ncurses libevent sed-native" +DEPENDS = "ncurses libevent" SRC_URI = "${SOURCEFORGE_MIRROR}/tmux/${BP}.tar.gz" SRC_URI[md5sum] = "3e37db24aa596bf108a0442a81c845b3" diff --git a/meta-oe/recipes-extended/zram/zram/init b/meta-oe/recipes-extended/zram/zram/init index d12616936c..7b6cbf414c 100644 --- a/meta-oe/recipes-extended/zram/zram/init +++ b/meta-oe/recipes-extended/zram/zram/init @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh ### BEGIN INIT INFO # Provides: zram # Required-Start: @@ -26,7 +26,7 @@ start() { #default Factor % = 90 change this value here or create /etc/default/zram FACTOR=90 #& put the above single line in /etc/default/zram with the value you want - [ -f /etc/default/zram ] && source /etc/default/zram || true + [ -f /etc/default/zram ] && . /etc/default/zram || true factor=$FACTOR # percentage # get the amount of memory in the machine diff --git a/meta-oe/recipes-extended/zsh/zsh.inc b/meta-oe/recipes-extended/zsh/zsh.inc index 86a546e6e9..b8fce807aa 100644 --- a/meta-oe/recipes-extended/zsh/zsh.inc +++ b/meta-oe/recipes-extended/zsh/zsh.inc @@ -8,8 +8,6 @@ SECTION = "base/shell" LICENSE = "zsh" LIC_FILES_CHKSUM = "file://LICENCE;md5=b7bc853894664be455a922db9805288e" -PNBLACKLIST[zsh] = "BROKEN: doesn't build with B!=S (gnu-configize executed in ${B})" - DEPENDS = "ncurses bison-native" SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz" @@ -38,7 +36,7 @@ ALTERNATIVE_PRIORITY = "100" export AUTOHEADER = "true" do_configure () { - gnu-configize --force + gnu-configize --force ${S} oe_runconf } diff --git a/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb b/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb index b19110af23..194d1046fd 100644 --- a/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb +++ b/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://box2d/License.txt;md5=e5d39ad91f7dc4692dcdb1d85139ec6 # 0.12.1+gitAUTOINC+de5452e56b-r1/git/clutter-box2d/clutter-box2d.h:226:47: # fatal error: clutter-box2d/clutter-box2d-child.h: No such file or directory # | #include <clutter-box2d/clutter-box2d-child.h> -PNBLACKLIST[clutter-box2d] = "BROKEN: doesn't build with B!=S" +PNBLACKLIST[clutter-box2d] ?= "BROKEN: doesn't build with B!=S" SRCREV = "de5452e56b537a11fd7f9453d048ff4b4793b5a2" PV = "0.12.1+git${SRCPV}" diff --git a/meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb b/meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb index 1d4e3317ab..90ac702164 100644 --- a/meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb +++ b/meta-oe/recipes-graphics/fim/fim_0.4-rc1.bb @@ -8,7 +8,7 @@ HOMEPAGE = "http://www.autistici.org/dezperado/fim/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=fa01bff138cc98a62b8840a157951c88" -PNBLACKLIST[fim] = "BROKEN: doesn't build with B!=S (flex: can't open lex.lex)" +PNBLACKLIST[fim] ?= "BROKEN: doesn't build with B!=S (flex: can't open lex.lex)" # flex with provide /usr/include/FlexLexer.h DEPENDS = "flex-native bison-native flex" diff --git a/meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch b/meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch new file mode 100644 index 0000000000..fecd0121c3 --- /dev/null +++ b/meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch @@ -0,0 +1,38 @@ +From 72ad76841d87e857428693d812a961935284ac62 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> +Date: Thu, 12 Feb 2015 15:57:47 +0100 +Subject: [PATCH] configure-ac: do not check for freetype-config +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +freetype-config is not allowed in our environment - see also binconfig-disabled + +Upstream-Status: inappropriate [OE specific] + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- + configure.ac | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 26812b6..abec714 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -647,13 +647,6 @@ if test "x$fontconfig_ok" = xno; then + fi + + +-AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no) +-if test "x$FREETYPE_CONFIG" != "xno" ; then +- AC_MSG_CHECKING([for freetype libraries]) +- FREETYPE_LIBS=`$FREETYPE_CONFIG --libs` +- AC_MSG_RESULT($FREETYPE_LIBS) +-fi +-AC_SUBST(FREETYPE_LIBS) + + + ########################################## +-- +1.9.3 + diff --git a/meta-oe/recipes-graphics/gimp/gimp/freetype.patch b/meta-oe/recipes-graphics/gimp/gimp/freetype.patch deleted file mode 100644 index ed6c097915..0000000000 --- a/meta-oe/recipes-graphics/gimp/gimp/freetype.patch +++ /dev/null @@ -1,30 +0,0 @@ -Include the freetype headers via macros ( recommended way) - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Backport - -From 6c73f28b6d87a2afd11974552a075bffec52347f Mon Sep 17 00:00:00 2001 -From: Michael Natterer <mitch@gimp.org> -Date: Fri, 29 Nov 2013 20:57:46 +0000 -Subject: Bug 719560 - Build failure with freetype 2.5.1 - -Apply patch from su-v that fixes the freetype include to -the madness devised and recommended by freetype. ---- -diff --git a/app/text/gimpfont.c b/app/text/gimpfont.c -index 4045ca9..66c6e52 100644 ---- a/app/text/gimpfont.c -+++ b/app/text/gimpfont.c -@@ -28,7 +28,9 @@ - - #define PANGO_ENABLE_ENGINE 1 /* Argh */ - #include <pango/pango-ot.h> --#include <freetype/tttables.h> -+ -+#include <ft2build.h> -+#include FT_TRUETYPE_TABLES_H - - #include "text-types.h" - --- -cgit v0.9.2 diff --git a/meta-oe/recipes-graphics/gimp/gimp_2.8.10.bb b/meta-oe/recipes-graphics/gimp/gimp_2.8.14.bb index a893dc259a..7d52cf18ef 100644 --- a/meta-oe/recipes-graphics/gimp/gimp_2.8.10.bb +++ b/meta-oe/recipes-graphics/gimp/gimp_2.8.14.bb @@ -7,16 +7,17 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" DEPENDS = "babl gdk-pixbuf-native libart-lgpl gtk+ jpeg libpng libexif tiff lcms gegl poppler jasper bzip2" DEPENDS += "${@base_contains('DISTRO_FEATURES', 'x11', 'libxmu libxpm', '', d)}" -inherit gnome +inherit gnome gtk-doc PACKAGECONFIG ??= "" PACKAGECONFIG[helpbrowser] = "--with-webkit, --without-webkit, webkit-gtk" -SRC_URI = "http://ftp.gimp.org/pub/gimp/v2.8/gimp-${PV}.tar.bz2 \ - file://freetype.patch \ - " -SRC_URI[md5sum] = "84c964aab7044489af69f7319bb59b47" -SRC_URI[sha256sum] = "e7fd8b19f989138d826003c75f56bd5b6f136eef597e86e3978ede0bba470ae6" +SRC_URI = " \ + http://ftp.gimp.org/pub/gimp/v2.8/gimp-${PV}.tar.bz2 \ + file://0001-configure-ac-do-not-check-for-freetype-config.patch \ +" +SRC_URI[md5sum] = "233c948203383fa078434cc3f8f925cb" +SRC_URI[sha256sum] = "d82a958641c9c752d68e35f65840925c08e314cea90222ad845892a40e05b22d" EXTRA_OECONF = "--disable-python \ --without-wmf" diff --git a/meta-oe/recipes-graphics/glcompbench/glcompbench_2012.08.bb b/meta-oe/recipes-graphics/glcompbench/glcompbench_2012.08.bb index 51f57b9340..d0f449438f 100644 --- a/meta-oe/recipes-graphics/glcompbench/glcompbench_2012.08.bb +++ b/meta-oe/recipes-graphics/glcompbench/glcompbench_2012.08.bb @@ -11,4 +11,6 @@ SRC_URI = "https://launchpad.net/glcompbench/trunk/${PV}/+download/${BPN}-${PV}. SRC_URI[md5sum] = "c939d9156fe940960098f38707fea827" SRC_URI[sha256sum] = "b04b738cec06c6786ceafa86e4735fd8b971c078265754854ef356b0379542ee" -inherit pkgconfig waf +inherit pkgconfig waf distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.4.11.bb b/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.4.11.bb index ec96920ef1..523efa773b 100644 --- a/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.4.11.bb +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.4.11.bb @@ -48,6 +48,7 @@ do_install_append() { PACKAGES =+ "libgphotoport libgphoto2-camlibs" FILES_libgphoto2-camlibs = "${libdir}/libgphoto2*/*/*.so*" RRECOMMENDS_${PN} = "libgphoto2-camlibs" +RDEPENDS_${PN} = "bash" FILES_libgphotoport = "${libdir}/libgphoto2_port.so.*" diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch new file mode 100644 index 0000000000..43f542a31d --- /dev/null +++ b/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch @@ -0,0 +1,62 @@ +From 0ea0329f2c19a43acdc8444fa89e233ba617973d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> +Date: Mon, 6 Oct 2014 13:06:24 +0200 +Subject: [PATCH] let autotools create lxdm.conf +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +in out of tree builds lxdm.conf is empty + +Upstream-Status: submitted [1] + +[1] http://sourceforge.net/p/lxde/mailman/message/32901417/ + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- + configure.ac | 1 + + data/Makefile.am | 5 ----- + data/lxdm.conf.in | 2 +- + 3 files changed, 2 insertions(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index f28c89a..a2fff5b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -183,6 +183,7 @@ AC_CONFIG_FILES([ + data/PreReboot + data/PreShutdown + data/LoginReady ++ data/lxdm.conf + ]) + AC_CONFIG_FILES([data/lxdm], [chmod +x data/lxdm]) + AC_OUTPUT +diff --git a/data/Makefile.am b/data/Makefile.am +index 9500da9..ad64b11 100644 +--- a/data/Makefile.am ++++ b/data/Makefile.am +@@ -1,8 +1,3 @@ +-FULL_LIBEXECDIR=$(libexecdir) +- +-lxdm.conf: lxdm.conf.in +- cat lxdm.conf.in | sed 's,@FULL_LIBEXECDIR@,$(FULL_LIBEXECDIR),' > $@ +- + NULL= + + sbin_SCRIPTS = lxdm +diff --git a/data/lxdm.conf.in b/data/lxdm.conf.in +index d93f280..6206262 100644 +--- a/data/lxdm.conf.in ++++ b/data/lxdm.conf.in +@@ -19,7 +19,7 @@ + # skip_password=1 + + ## greeter used to welcome the user +-greeter=@FULL_LIBEXECDIR@/lxdm-greeter-gtk ++greeter=@libexecdir@/lxdm-greeter-gtk + + [server] + ## arg used to start xserver, not fully function +-- +1.8.3.1 + diff --git a/meta-oe/recipes-graphics/lxdm/lxdm_git.bb b/meta-oe/recipes-graphics/lxdm/lxdm_git.bb index dc40fb2d3c..29b8dc5828 100644 --- a/meta-oe/recipes-graphics/lxdm/lxdm_git.bb +++ b/meta-oe/recipes-graphics/lxdm/lxdm_git.bb @@ -5,14 +5,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" SRC_URI = " \ git://lxde.git.sourceforge.net/gitroot/lxde/${BPN};branch=master \ file://lxdm.conf \ - file://lxdm-pam \ - file://lxdm-pam-debug \ + ${@base_contains('DISTRO_FEATURES', 'pam', 'file://lxdm-pam file://lxdm-pam-debug', '', d)} \ ${@base_contains("DISTRO_TYPE", "debug", "", "file://0001-lxdm.conf.in-blacklist-root-for-release-images.patch",d)} \ + file://0002-let-autotools-create-lxdm.conf.patch \ " -LXDM_PAM = "${@base_contains("DISTRO_TYPE", "debug", "lxdm-pam-debug", "lxdm-pam",d)}" - -SRCREV = "07fb151a99ef99318b71f3de0afbba977b1e6267" +SRCREV = "bf90ec7df5ff6745f703500c5792c344fbaef301" PV = "0.5.0+git${SRCPV}" PE = "1" @@ -22,14 +20,18 @@ DEPENDS += "${@base_contains("DISTRO_FEATURES", "systemd", "", "consolekit", d)} # combine oe-core way with angstrom DISTRO_TYPE DISTRO_TYPE ?= "${@base_contains("IMAGE_FEATURES", "debug-tweaks", "debug", "",d)}" -inherit autotools pkgconfig gettext systemd +inherit autotools pkgconfig gettext systemd distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" S = "${WORKDIR}/git" CFLAGS_append = " -fno-builtin-fork -fno-builtin-memset -fno-builtin-strstr " EXTRA_OECONF += "--enable-gtk3=no --enable-password=yes --with-x -with-xconn=xcb \ - ${@base_contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/ --disable-consolekit', '--without-systemdsystemunitdir', d)}" + ${@base_contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/ --disable-consolekit', '--without-systemdsystemunitdir', d)} \ + ${@base_contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \ +" do_configure_prepend() { cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in ${S}/po/ @@ -48,10 +50,12 @@ do_compile_append() { do_install_append() { install -d ${D}${localstatedir}/lib/lxdm install -m 644 ${WORKDIR}/lxdm.conf ${D}${localstatedir}/lib/lxdm - # ArchLinux version of pam config has the following advantages: - # * simple setup of passwordless login - # * in XFCE powerdown/restart enabled in logoff dialog - install -m 644 ${WORKDIR}/${LXDM_PAM} ${D}${sysconfdir}/pam.d/lxdm + if ${@base_contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then + # ArchLinux version of pam config has the following advantages: + # * simple setup of passwordless login + # * in XFCE powerdown/restart enabled in logoff dialog + install -m 644 ${WORKDIR}/${@base_contains("DISTRO_TYPE", "debug", "lxdm-pam-debug", "lxdm-pam",d)} ${D}${sysconfdir}/pam.d/lxdm + fi } # make installed languages choosable @@ -68,7 +72,7 @@ done sed -i "s:last_langs=.*$:last_langs=$langs:g" $D${localstatedir}/lib/lxdm/lxdm.conf } -RDEPENDS_${PN} = "pam-plugin-loginuid setxkbmap" +RDEPENDS_${PN} = "${@base_contains('DISTRO_FEATURES', 'pam', 'pam-plugin-loginuid', '', d)} setxkbmap bash librsvg-gtk" RPROVIDES_${PN} += "${PN}-systemd" RREPLACES_${PN} += "${PN}-systemd" diff --git a/meta-oe/recipes-graphics/mesa/mesa-glut_8.0.1.bb b/meta-oe/recipes-graphics/mesa/mesa-glut_8.0.1.bb index f23621d9c2..404ee53314 100644 --- a/meta-oe/recipes-graphics/mesa/mesa-glut_8.0.1.bb +++ b/meta-oe/recipes-graphics/mesa/mesa-glut_8.0.1.bb @@ -9,6 +9,8 @@ PV = "8.0.0+git${SRCPV}" S = "${WORKDIR}/git" -inherit autotools-brokensep pkgconfig +inherit autotools-brokensep pkgconfig distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" DEPENDS = "virtual/libx11 libxmu libxi virtual/libgl libglu" diff --git a/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb b/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb index 47ec504478..08d7f5b52a 100644 --- a/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb +++ b/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb @@ -10,7 +10,9 @@ SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/numlockx/numlockx-${PV}.tar.g SRC_URI[md5sum] = "be9109370447eae23f6f3f8527bb1a67" SRC_URI[sha256sum] = "e468eb9121c94c9089dc6a287eeb347e900ce04a14be37da29d7696cbce772e4" -inherit autotools +inherit autotools distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" EXTRA_OECONF = "--x-includes=${STAGING_INCDIR} \ --x-libraries=${STAGING_LIBDIR}" diff --git a/meta-oe/recipes-graphics/openbox/openbox_3.5.0.bb b/meta-oe/recipes-graphics/openbox/openbox_3.5.0.bb index 7c1d4a0128..d9e58f1af8 100644 --- a/meta-oe/recipes-graphics/openbox/openbox_3.5.0.bb +++ b/meta-oe/recipes-graphics/openbox/openbox_3.5.0.bb @@ -11,7 +11,9 @@ SRC_URI[sha256sum] = "6fa90016530b3aa6102e254079461977439398531fb23e7ec076ff2c14 PR = "r2" -inherit autotools gettext update-alternatives pkgconfig +inherit autotools gettext update-alternatives pkgconfig distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" ALTERNATIVE_${PN}-core = "x-window-manager" ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/openbox" diff --git a/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.02.01.bb b/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.02.01.bb new file mode 100644 index 0000000000..0a0f6d16c2 --- /dev/null +++ b/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.02.01.bb @@ -0,0 +1,21 @@ +SUMMARY = "Takao Fonts are a community developed derivatives of IPA Fonts." +DESCRIPTION = "Takao Fonts are a community developed derivatives of IPA Fonts." + +HOMEPAGE = "https://launchpad.net/takao-fonts" +SECTION = "User Interface/X" + +LICENSE = "IPA" +LIC_FILES_CHKSUM = "file://IPA_Font_License_Agreement_v1.0.txt;md5=6cd3351ba979cf9db1fad644e8221276" + +SRC_URI = "http://launchpad.net/takao-fonts/003.02/${PV}/+download/takao-fonts-ttf-${PV}.zip" +SRC_URI[md5sum] = "ca480e5edb9f26d871bf6df6cb910306" +SRC_URI[sha256sum] = "2f526a16c7931958f560697d494d8304949b3ce0aef246fb0c727fbbcc39089e" + +S = "${WORKDIR}/${PN}-ttf-${PV}" + +do_install() { + install -m 0755 -d ${D}/${datadir}/fonts + install -m 0644 -p ${S}/*.ttf ${D}/${datadir}/fonts/ +} + +FILES_${PN} += "${datadir}/fonts/*.ttf" diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb index 2d413ba418..efdcec8404 100644 --- a/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb +++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb @@ -5,7 +5,7 @@ SUMMARY_ttf-sazanami-gothic = "Sazanami Gothic Japanese TrueType font" SUMMARY_ttf-sazanami-mincho = "Sazanami Mincho Japanese TrueType font" AUTHOR = "Electronic Font Open Laboratory (/efont/)" HOMEPAGE = "http://sourceforge.jp/projects/efont/" -LICENSE = "Public domain" +LICENSE = "PD" LIC_FILES_CHKSUM = "file://README;md5=97d739900be6e852830f55aa3c07d4a0" SRC_DISTRIBUTE_LICENSES += "${PN}" RPROVIDES_${PN} = "virtual-japanese-font" diff --git a/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb b/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb index e71846509a..43e6fda6a6 100644 --- a/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb +++ b/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb @@ -7,6 +7,10 @@ DEPENDS = "virtual/libx11 libxtst" PR = "r1" +inherit distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + SRC_URI = "http://semicomplete.googlecode.com/files/xdotool-${PV}.tar.gz" SRC_URI[md5sum] = "1d5be641e512c343abfe5f78b39e6f19" SRC_URI[sha256sum] = "42d7271fbc796e53db71bb221f311b9ff3c51d90a71c9487a9bd3101ca39894f" diff --git a/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.4.bb b/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.4.bb deleted file mode 100644 index 9d4d1c7680..0000000000 --- a/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.4.bb +++ /dev/null @@ -1,8 +0,0 @@ -require recipes-graphics/xorg-app/xorg-app-common.inc -SUMMARY = "Tool for manipulating ICE protocol authorization records" -LIC_FILES_CHKSUM = "file://COPYING;md5=13f70acf3c27f5f834bbc954df775f8e" -DEPENDS += "libice" -PR = "r6" - -SRC_URI[md5sum] = "bb2e4d2611047f7c5a1a82ec956a9de4" -SRC_URI[sha256sum] = "0ee6fd4554f0131b1ed526ee00b9cf643e7dc97eb70fb51448848ef2f349938d" diff --git a/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.6.bb b/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.6.bb new file mode 100644 index 0000000000..22007d9af2 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.6.bb @@ -0,0 +1,15 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" + +DESCRIPTION = "A collection of utilities used to tweak and query the runtime configuration\ +of the X server." + +LIC_FILES_CHKSUM = "file://COPYING;md5=13f70acf3c27f5f834bbc954df775f8e" + +BBCLASSEXTEND = "native" + +DEPENDS += "libice" + +SRC_URI[md5sum] = "2527344acc60741a709f4858564c5ae6" +SRC_URI[sha256sum] = "bd990837353b439e6f45d478a87b8dbfa3f67d72d903e7a9ed4eb8de52f2e2f4" diff --git a/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.2.0.bb b/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.2.0.bb deleted file mode 100644 index 127b0f69b2..0000000000 --- a/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.2.0.bb +++ /dev/null @@ -1,8 +0,0 @@ -require recipes-graphics/xorg-app/xorg-app-common.inc -LIC_FILES_CHKSUM = "file://COPYING;md5=5feafdbe6dfe9e2bd32325be0cfc86f8" -DEPENDS += " libxkbfile" -PE = "1" -PR = "r6" - -SRC_URI[md5sum] = "2f6df89201eb9a2cbfb905d6b82a191e" -SRC_URI[sha256sum] = "999591bf1ba8ca2a7d480b2c01702396e6c349d499fb583c0de136ec00dbae39" diff --git a/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.0.bb b/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.0.bb new file mode 100644 index 0000000000..62a3ee2785 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.0.bb @@ -0,0 +1,19 @@ +require recipes-graphics/xorg-app/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=5feafdbe6dfe9e2bd32325be0cfc86f8" + +PE = "1" + +DEPENDS += "libxkbfile" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "1001771344608e120e943a396317c33a" +SRC_URI[sha256sum] = "3d305c9d1f38224169b2e501ef0665cc3ab52d4dbc2b9a60c9dbb047f77ddec6" diff --git a/meta-oe/recipes-graphics/xorg-app/twm_1.0.6.bb b/meta-oe/recipes-graphics/xorg-app/twm_1.0.8.bb index d569fd0c2e..3574ba9aeb 100644 --- a/meta-oe/recipes-graphics/xorg-app/twm_1.0.6.bb +++ b/meta-oe/recipes-graphics/xorg-app/twm_1.0.8.bb @@ -6,8 +6,8 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=4c6d42ef60e8166aa26606524c0b9586" -SRC_URI[md5sum] = "952d06a0c2ec34687b536c7b619fc671" -SRC_URI[sha256sum] = "e7dccad7879a7570442f0cd9df0b9064e926466b5a52b710fca8cfb167f294e9" +SRC_URI[md5sum] = "4b28317d4a9f7ca61bef8462e132bd4c" +SRC_URI[sha256sum] = "7660352353d632127ff50390991706aa660b28a4ada816c2582ac02720722e44" FILES_${PN} += "${datadir}/X11/twm/system.twmrc" ALTERNATIVE_NAME = "x-window-manager" diff --git a/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.5.bb new file mode 100644 index 0000000000..6fb9259006 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.5.bb @@ -0,0 +1,15 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" + +DESCRIPTION = "xgamma allows X users to query and alter the gamma \ +correction of a monitor via the X video mode extension." + +LIC_FILES_CHKSUM = "file://COPYING;md5=ac9801b8423fd7a7699ccbd45cf134d8" + +DEPENDS += "libxxf86vm" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "c06067f572bc4a5298f324f27340da95" +SRC_URI[sha256sum] = "e322a2fea80d559c09d6bc285ebe1a9e454dbeae2a07116cb7d2207db9d2c310" diff --git a/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.3.bb b/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.3.bb new file mode 100644 index 0000000000..e81a3c9c38 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.3.bb @@ -0,0 +1,13 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc +SUMMARY = "A program to compile XKB keyboard description" +DESCRIPTION = "The xkbevd event daemon listens for specified XKB \ +events and executes requested commands if they occur. " + +LIC_FILES_CHKSUM = "file://COPYING;md5=208668fa9004709ba22c2b748140956c" + +DEPENDS += "libxkbfile" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "37ed71525c63a9acd42e7cde211dcc5b" +SRC_URI[sha256sum] = "55b2484f9851112c2685d503b64b319f0f98fce74863ef735ecd52b52ceb0116" diff --git a/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.3.bb b/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.3.bb new file mode 100644 index 0000000000..64b54dd3ec --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.3.bb @@ -0,0 +1,13 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc +SUMMARY = "A program to compile XKB keyboard description" +DESCRIPTION = "xkbprint generates a printable or encapsulated PostScript \ +description of an XKB keyboard description." + +LIC_FILES_CHKSUM = "file://COPYING;md5=20f28f97555b220fde762bc2a4406a8f" + +DEPENDS += "libxkbfile" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "526b5ba87cccd05aa700fa628bcfda3e" +SRC_URI[sha256sum] = "fa846db8e588018134bd550f80eb129e4ddfdb96f3b157603a57ae2cdf5892c0" diff --git a/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb b/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb new file mode 100644 index 0000000000..6a05e98e32 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb @@ -0,0 +1,19 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "XKeyboard (XKB) extension to the X11 protocol" +DESCRIPTION = " \ +xkbutils is a collection of small utilities utilizing the XKeyboard (XKB) \ +extension to the X11 protocol. \ +It includes: \ + xkbbell - generate XKB bell events \ + xkbvleds - display the state of LEDs on an XKB keyboard in a window \ + xkbwatch - reports changes in the XKB keyboard state \ +" +LIC_FILES_CHKSUM = "file://COPYING;md5=64322fab5239f5c8d97cf6e0e14f1c62" + +DEPENDS += "libxaw libxkbfile" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "502b14843f610af977dffc6cbf2102d5" +SRC_URI[sha256sum] = "d2a18ab90275e8bca028773c44264d2266dab70853db4321bdbc18da75148130" diff --git a/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.1.bb b/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.1.bb new file mode 100644 index 0000000000..dd432139cd --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.1.bb @@ -0,0 +1,14 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsatoms/" +DESCRIPTION = "Xlsatoms lists the interned atoms defined on an X11 server" +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8" + +DEPENDS += "libxmu" +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "9d0e16d116d1c89e6b668c1b2672eb57" +SRC_URI[sha256sum] = "3b8bd98c1ca9789178db80bca75556b0c76e5092403014995d5ddaa3117536f9" diff --git a/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.3.bb b/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.3.bb new file mode 100644 index 0000000000..583a531baf --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.3.bb @@ -0,0 +1,14 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsclients/" +DESCRIPTION = "xlsclients is a utility for listing information about the \ +client applications running on a X11 server." +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=350e1b718a56df39cfe8ca9345ea4575" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "9fbf6b174a5138a61738a42e707ad8f5" +SRC_URI[sha256sum] = "5d9666fcc6c3de210fc70d5a841a404955af709a616fde530fe4e8f7723e3d3d" diff --git a/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb b/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb new file mode 100644 index 0000000000..9960706d0c --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb @@ -0,0 +1,10 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "Display a message or query in a window" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=73c7f696a728de728d7446cbca814cc5" + +DEPENDS += "libxaw" + +SRC_URI[md5sum] = "2dd5ae46fa18abc9331bc26250a25005" +SRC_URI[sha256sum] = "bcdf4b461c439bb3ade6e1e41c47d6218b912da8e9396b7ad70856db2f95ab68" diff --git a/meta-oe/recipes-graphics/xorg-app/xrdb_1.0.9.bb b/meta-oe/recipes-graphics/xorg-app/xrdb_1.1.0.bb index f258bb2516..85957e056f 100644 --- a/meta-oe/recipes-graphics/xorg-app/xrdb_1.0.9.bb +++ b/meta-oe/recipes-graphics/xorg-app/xrdb_1.1.0.bb @@ -4,7 +4,6 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=d1167c4f586bd41f0c62166db4384a69" DEPENDS += "libxmu" -PR = "r6" -SRC_URI[md5sum] = "ed2e48cf33584455d74615ad4bbe4246" -SRC_URI[sha256sum] = "642401e12996efe3e5e5307a245e24c282b94a44c1f147e177c8484b862aeab7" +SRC_URI[md5sum] = "b54c7e3e53b4f332d41ed435433fbda0" +SRC_URI[sha256sum] = "73827b6bbfc9d27ca287d95a1224c306d7053cd7b8156641698d7dc541ca565b" diff --git a/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb new file mode 100644 index 0000000000..a2a4941e96 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb @@ -0,0 +1,13 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xrefresh/" +DESCRIPTION = "xrefresh - refresh all or part of an X screen" +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=dad633bce9c3cd0e3abf72a16e0057cf" + +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "a896382bc53ef3e149eaf9b13bc81d42" +SRC_URI[sha256sum] = "3213671b0a8a9d1e8d1d5d9e3fd86842c894dd9acc1be2560eda50bc1fb791d6" diff --git a/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb b/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb new file mode 100644 index 0000000000..b757329d94 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb @@ -0,0 +1,15 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xsetmode/" +DESCRIPTION = "xsetmode sets the mode of an XInput device to either absolute \ +or relative." +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=9b37e00e7793b667cbc64f9df7b6d733" + +DEPENDS += "libxi" +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "d074e79d380b031d2f60e4cd56538c93" +SRC_URI[sha256sum] = "988b47cd922991c6e6adbce15dc386ac75690b61744b526c3af5a4eaa9afa0aa" diff --git a/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb b/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb new file mode 100644 index 0000000000..2c79f27ca4 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb @@ -0,0 +1,14 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xsetroot/" +DESCRIPTION = "xsetroot is a root window parameter setting utility for X" +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=6ea29dbee22324787c061f039e0529de" + +DEPENDS += "xbitmaps libxcursor" +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "7211b31ec70631829ebae9460999aa0b" +SRC_URI[sha256sum] = "ba215daaa78c415fce11b9e58c365d03bb602eaa5ea916578d76861a468cc3d9" diff --git a/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb b/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb new file mode 100644 index 0000000000..3f5511e754 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb @@ -0,0 +1,15 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xstdcmap" +DESCRIPTION = "The xstdcmap utility can be used to selectively define \ +standard colormap properties." +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8" + +RDEPENDS_${PN} = "libxmu" +BBCLASSEXTEND = "native" + +SRC_URI[md5sum] = "eb5473acaef15a5db9b50df29c6a7f90" +SRC_URI[sha256sum] = "f648e2b0cf16aa29856de998e2c7204be39dc1f8daeda9464d32288e0b580fc1" diff --git a/meta-oe/recipes-graphics/xorg-app/xwud_1.0.4.bb b/meta-oe/recipes-graphics/xorg-app/xwud_1.0.4.bb new file mode 100644 index 0000000000..33bd7f03f6 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xwud_1.0.4.bb @@ -0,0 +1,12 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "X.Org X11 X client utilities" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xwud/" +DESCRIPTION = "xwud allows X users to display in a window an image saved \ +in a specially formatted dump file, such as produced by xwd." +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=31e8892c80b7a0c1c5f37c8e8ae6d794" + +SRC_URI[md5sum] = "3025b152b4f13fdffd0c46d0be587be6" +SRC_URI[sha256sum] = "d6b3a09ccfe750868e26bd2384900ab5ff0d434f7f40cd272a50eda8aaa1f8bd" diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb index a1943be0ae..547ec86c16 100644 --- a/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-mtev_git.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8a71d0475d08eee76d8b6d0c6dbec543" DEPENDS += "pixman" -PNBLACKLIST[xf86-input-mtev] = "BROKEN: doesn't build with B!=S (Makefile without ${S} in sed call)" +PNBLACKLIST[xf86-input-mtev] ?= "BROKEN: doesn't build with B!=S (Makefile without ${S} in sed call)" SRC_URI = "git://gitorious.org/xorg/xf86-input-mtev.git file://fix-it.patch" SRCREV = "1eb469166ffc095c5801475f057f911f97a6e641" diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode/0001-Add-config.h-include-to-src-lx_memory.c.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode/0001-Add-config.h-include-to-src-lx_memory.c.patch new file mode 100644 index 0000000000..fcd2f684b1 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode/0001-Add-config.h-include-to-src-lx_memory.c.patch @@ -0,0 +1,41 @@ +From 621d946e56efac2c779b83b1a5c6b645169c4ebd Mon Sep 17 00:00:00 2001 +From: "Brian A. Lloyd" <brian.lloyd@familyhonor.net> +Date: Wed, 1 Oct 2014 12:35:18 +0300 +Subject: [PATCH] Add config.h include to src/lx_memory.c + +The src/lx_memory.c file uses the xf86.h header file. This file must have +HAVE_STRNDUP defined before calling it when the building platform has a strndup +function. When using config.h, this file doesn't have that define and so fails +to compile. + +The attached patch adds the conditional config.h to this file so it may compile +on the affected platforms. + +The patch is trivial and may be included and used under whatever licensing +desired. + +Closes: Free Desktop Bug #84541 + +Signed-off-by: Brian A. Lloyd <brian.lloyd@familyhonor.net> +Upstream-Status: Backport +--- + src/lx_memory.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/lx_memory.c b/src/lx_memory.c +index f26d280..992446f 100644 +--- a/src/lx_memory.c ++++ b/src/lx_memory.c +@@ -22,6 +22,9 @@ + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + */ ++#if HAVE_CONFIG_H ++#include "config.h" ++#endif + + #include "xf86.h" + #include "geode.h" +-- +2.1.1 + diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb index 4e8df46c78..478d08805d 100644 --- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb @@ -4,6 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e7f3e39474aeea5af381a8e103dafc36" SUMMARY = "X.org server -- Geode GX2/LX display driver" PR = "${INC_PR}.0" +SRC_URI += "file://0001-Add-config.h-include-to-src-lx_memory.c.patch" SRC_URI[md5sum] = "35fa387f6a33f6b22a56ce4bda424392" SRC_URI[sha256sum] = "38fc1f55e29fb7985b90c9021a4b7e5295d42888bd669174f42f3b7f681fc1a7" diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0004-glamo.h-use-const-for-jbt6k74_state_path.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0004-glamo.h-use-const-for-jbt6k74_state_path.patch new file mode 100644 index 0000000000..a82037109e --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0004-glamo.h-use-const-for-jbt6k74_state_path.patch @@ -0,0 +1,29 @@ +From 180a00634f351a09ceabc5695d8e1acc3e585501 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Fri, 12 Dec 2014 12:00:10 +0100 +Subject: [PATCH] glamo.h: use const for jbt6k74_state_path + +* fix build issue with xserver 1.16: + glamo-driver.c:501:32: error: assignment discards 'const' qualifier from pointer target type [-Werror] + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + src/glamo.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/glamo.h b/src/glamo.h +index 5fd5c04..5e072be 100644 +--- a/src/glamo.h ++++ b/src/glamo.h +@@ -148,7 +148,7 @@ typedef struct { + #endif + + #ifdef JBT6K74_SET_STATE +- char *jbt6k74_state_path; ++ const char *jbt6k74_state_path; + char saved_jbt6k74_state[14]; + #endif + +-- +2.1.3 + diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb index 38c12f3217..78c65648f9 100644 --- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb @@ -14,6 +14,7 @@ SRC_URI = "git://git.openmoko.org/git/xf86-video-glamo.git;branch=master \ file://0001-fix-build-with-KMS-disabled.patch \ file://0003-glamo-driver-adapt-to-xserver-0.13-video-API.patch \ file://0001-glamo-driver-remove-references-to-mibstore.patch \ + file://0004-glamo.h-use-const-for-jbt6k74_state_path.patch \ " S = "${WORKDIR}/git" diff --git a/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb index 04d3efa151..85a44660eb 100644 --- a/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb +++ b/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb @@ -10,5 +10,9 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native" RDEPENDS_${PN} = "encodings font-util" RDEPENDS_${PN}_class-native = "font-util-native" +inherit distro_features_check +# depends on bdftopcf-native -> virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + SRC_URI[md5sum] = "1347c3031b74c9e91dc4dfa53b12f143" SRC_URI[sha256sum] = "b2c08433eab5cb202470aa9f779efefce8d9cab2534f34f3aa4a31d05671c054" diff --git a/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb b/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb index f3d2815f96..16e3d2ceca 100644 --- a/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb +++ b/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb @@ -10,6 +10,9 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native" RDEPENDS_${PN} = "encodings font-util" RDEPENDS_${PN}_class-native = "font-util-native" +inherit distro_features_check +# depends on bdftopcf-native -> virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + SRC_URI[md5sum] = "66fb6de561648a6dce2755621d6aea17" SRC_URI[sha256sum] = "d16f5e3f227cc6dd07a160a71f443559682dbc35f1c056a5385085aaec4fada5" - diff --git a/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb index 3ee91cef49..08ed6b6160 100644 --- a/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb +++ b/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb @@ -10,5 +10,9 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native" RDEPENDS_${PN} = "encodings font-util" RDEPENDS_${PN}_class-native = "font-util-native" +inherit distro_features_check +# depends on bdftopcf-native -> virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + SRC_URI[md5sum] = "9f11ade089d689b9d59e0f47d26f39cd" SRC_URI[sha256sum] = "23c07162708e4b79eb33095c8bfa62c783717a9431254bbf44863734ea239481" diff --git a/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb index c83137b187..5ded41aeb4 100644 --- a/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb +++ b/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb @@ -10,5 +10,9 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native" RDEPENDS_${PN} = "encodings font-util" RDEPENDS_${PN}_class-native = "font-util-native" +inherit distro_features_check +# depends on bdftopcf-native -> virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + SRC_URI[md5sum] = "c8b73a53dcefe3e8d3907d3500e484a9" SRC_URI[sha256sum] = "62a83363c2536095fda49d260d21e0847675676e4e3415054064cbdffa641fbb" diff --git a/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb index 9a83ac1e2d..e8cfb615a9 100644 --- a/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb +++ b/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb @@ -10,5 +10,9 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native" RDEPENDS_${PN} = "encodings font-util" RDEPENDS_${PN}_class-native = "font-util-native" +inherit distro_features_check +# depends on bdftopcf-native -> virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + SRC_URI[md5sum] = "6b223a54b15ecbd5a1bc52312ad790d8" SRC_URI[sha256sum] = "ebe0d7444e3d7c8da7642055ac2206f0190ee060700d99cd876f8fc9964cb6ce" diff --git a/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb index 7db03eb96e..d425ce5157 100644 --- a/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb +++ b/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb @@ -9,5 +9,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8b32ccac3ad25e75e68478deb7780265" DEPENDS = "util-macros-native font-util-native bdftopcf-native" RDEPENDS_${PN} = "encodings font-util" +inherit distro_features_check +# depends on bdftopcf-native -> virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + SRC_URI[md5sum] = "3e0069d4f178a399cffe56daa95c2b63" SRC_URI[sha256sum] = "17363eb35eece2e08144da5f060c70103b59d0972b4f4d77fd84c9a7a2dba635" diff --git a/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb b/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb index 685d647db6..a7c284a2f5 100644 --- a/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb +++ b/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb @@ -9,5 +9,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=200c507f595ee97008c7c5c3e94ab9a8" DEPENDS = "util-macros-native font-util-native bdftopcf-native" RDEPENDS_${PN} = "encodings font-util" +inherit distro_features_check +# depends on bdftopcf-native -> virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + SRC_URI[md5sum] = "c88eb44b3b903d79fb44b860a213e623" SRC_URI[sha256sum] = "b8e77940e4e1769dc47ef1805918d8c9be37c708735832a07204258bacc11794" diff --git a/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb b/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb index fd6c992dc6..158416b084 100644 --- a/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb +++ b/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb @@ -1,7 +1,9 @@ SUMMARY = "Xorg 100 DPI font set" LICENSE = "Custom" -inherit packagegroup +inherit packagegroup distro_features_check +# rdepends on font recipes with this restriction +REQUIRED_DISTRO_FEATURES = "x11" RDEPENDS_${PN} = "\ font-adobe-100dpi \ diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0015-xserver-common-disable-TCP-connections.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0015-xserver-common-disable-TCP-connections.patch new file mode 100644 index 0000000000..06df2618bd --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0015-xserver-common-disable-TCP-connections.patch @@ -0,0 +1,24 @@ +From: Javier Viguera <javier.viguera@digi.com> +Date: Wed, 26 Nov 2014 09:24:44 +0100 +Subject: [PATCH] xserver-common: disable TCP connections + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Javier Viguera <javier.viguera@digi.com> +--- + X11/xserver-common | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/X11/xserver-common b/X11/xserver-common +index 017e5aee1ab0..4dc48c412741 100644 +--- a/X11/xserver-common ++++ b/X11/xserver-common +@@ -44,7 +44,7 @@ SCREEN_SIZE=`fallback_screen_arg` + export USER=root + export XSERVER_DEFAULT_ORIENTATION=normal + +-ARGS="-br -pn $INPUT_EXTRA_ARGS" ++ARGS="-br -pn -nolisten tcp $INPUT_EXTRA_ARGS" + DPI="100" + MOUSE="" + KDRIVEARGS="" diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb b/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb index 12fff9ae9a..f5b1984cdd 100644 --- a/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb @@ -24,6 +24,7 @@ SRC_URI_append = " \ file://0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch \ file://0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch \ file://0014-Xserver-Start-Xsession-like-x11-common-does.patch \ + file://0015-xserver-common-disable-TCP-connections.patch \ " do_install_append() { diff --git a/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm index d2e2f866c3..5d7e8a2f36 100755 --- a/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm +++ b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm @@ -1,4 +1,13 @@ #!/bin/sh +# +### BEGIN INIT INFO +# Provides: xserver +# Required-Start: $local_fs $remote_fs dbus +# Required-Stop: $local_fs $remote_fs +# Default-Start: 5 +# Default-Stop: 0 1 2 3 6 +### END INIT INFO + . /etc/init.d/functions diff --git a/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb index 47470fbfe1..f9bf007a42 100644 --- a/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb +++ b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb @@ -15,8 +15,8 @@ S = "${WORKDIR}" inherit allarch update-rc.d systemd INITSCRIPT_NAME = "xserver-nodm" -INITSCRIPT_PARAMS = "start 01 5 2 . stop 01 0 1 6 ." -INITSCRIPT_PARAMS_shr = "start 90 5 2 . stop 90 0 1 6 ." +INITSCRIPT_PARAMS = "start 01 5 . stop 01 0 1 2 3 6 ." +INITSCRIPT_PARAMS_shr = "start 90 5 . stop 90 0 1 2 3 6 ." do_install() { install -d ${D}${sysconfdir}/init.d diff --git a/meta-oe/recipes-kernel/crash/crash-7.0.9/0001-cross_add_configure_option.patch b/meta-oe/recipes-kernel/crash/crash-7.0.9/0001-cross_add_configure_option.patch new file mode 100644 index 0000000000..229647f009 --- /dev/null +++ b/meta-oe/recipes-kernel/crash/crash-7.0.9/0001-cross_add_configure_option.patch @@ -0,0 +1,34 @@ +From cbaaa42933bb27b1bcff4c7d71d54c913201ee88 Mon Sep 17 00:00:00 2001 +From: Lei Maohui <leimaohui@cn.fujitsu.com> +Date: Fri, 9 Jan 2015 11:51:18 +0900 +Subject: [PATCH] cross_add_configure_option + +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 9c44633..39bebd0 100644 +--- a/Makefile ++++ b/Makefile +@@ -229,7 +229,7 @@ gdb_merge: force + @echo "../../${PROGRAM} ../../${PROGRAM}lib.a" > ${GDB}/gdb/mergeobj + @rm -f ${PROGRAM} + @if [ ! -f ${GDB}/config.status ]; then \ +- (cd ${GDB}; ./configure ${GDB_CONF_FLAGS} --with-separate-debug-dir=/usr/lib/debug \ ++ (cd ${GDB}; ./configure --host=${GDB_TARGET} --build=${GDB_HOST} --with-separate-debug-dir=/usr/lib/debug \ + --with-bugurl="" --with-expat=no --with-python=no; \ + make --no-print-directory CRASH_TARGET=${TARGET}; echo ${TARGET} > crash.target) \ + else make --no-print-directory rebuild; fi +@@ -277,7 +277,7 @@ force: + + make_configure: force + @rm -f configure +- @${CC} ${CONF_FLAGS} -o configure configure.c ${WARNING_ERROR} ${WARNING_OPTIONS} ++ @cc ${CONF_FLAGS} -o configure configure.c ${WARNING_ERROR} ${WARNING_OPTIONS} + + clean: make_configure + @./configure ${CONF_TARGET_FLAG} -q -b +-- +1.8.4.2 + diff --git a/meta-oe/recipes-kernel/crash/crash-7.0.9/7001force_define_architecture.patch b/meta-oe/recipes-kernel/crash/crash-7.0.9/7001force_define_architecture.patch new file mode 100644 index 0000000000..0d44c7f176 --- /dev/null +++ b/meta-oe/recipes-kernel/crash/crash-7.0.9/7001force_define_architecture.patch @@ -0,0 +1,13 @@ +diff -uprN crash-5.1.8.org/configure.c crash-5.1.8/configure.c +--- crash-5.1.8.org/configure.c 2011-09-17 04:01:12.000000000 +0900 ++++ crash-5.1.8/configure.c 2012-09-13 13:28:45.393344108 +0900 +@@ -391,6 +391,9 @@ get_current_configuration(struct support + arch_mismatch(sp); + } + ++ /** Force define archtecture */ ++ target_data.target = FORCE_DEFINE_ARCH; ++ + if ((fp = fopen("Makefile", "r")) == NULL) { + perror("Makefile"); + goto get_release; diff --git a/meta-oe/recipes-kernel/crash/crash-7.0.9/7003cross_ranlib.patch b/meta-oe/recipes-kernel/crash/crash-7.0.9/7003cross_ranlib.patch new file mode 100644 index 0000000000..d567fa0a82 --- /dev/null +++ b/meta-oe/recipes-kernel/crash/crash-7.0.9/7003cross_ranlib.patch @@ -0,0 +1,10 @@ +--- crash-5.1.8/Makefile.orig 2011-12-27 11:21:58.220652105 +0900 ++++ crash-5.1.8/Makefile 2011-12-27 11:22:29.563651593 +0900 +@@ -285,6 +285,7 @@ + + library: make_build_data ${OBJECT_FILES} + ar -rs ${PROGRAM}lib.a ${OBJECT_FILES} ++ ${RANLIB} ${PROGRAM}lib.a + + gdb: force + rm -f ${GDB_OFILES} diff --git a/meta-oe/recipes-kernel/crash/crash-7.0.9/config-site.crash-7.0.9 b/meta-oe/recipes-kernel/crash/crash-7.0.9/config-site.crash-7.0.9 new file mode 100644 index 0000000000..d6fc22fb34 --- /dev/null +++ b/meta-oe/recipes-kernel/crash/crash-7.0.9/config-site.crash-7.0.9 @@ -0,0 +1 @@ +bash_cv_have_mbstate_t=yes diff --git a/meta-oe/recipes-kernel/crash/crash_7.0.9.bb b/meta-oe/recipes-kernel/crash/crash_7.0.9.bb new file mode 100644 index 0000000000..8d62481091 --- /dev/null +++ b/meta-oe/recipes-kernel/crash/crash_7.0.9.bb @@ -0,0 +1,59 @@ +SUMMARY = "Kernel analysis utility for live systems, netdump, diskdump, kdump, LKCD or mcore dumpfiles" +DESCRIPTION = "The core analysis suite is a self-contained tool that can be used to\ +investigate either live systems, kernel core dumps created from the\ +netdump, diskdump and kdump packages from Red Hat Linux, the mcore kernel patch\ +offered by Mission Critical Linux, or the LKCD kernel patch." + +HOMEPAGE = "http://people.redhat.com/anderson" +SECTION = "devel" + +inherit gettext + +DEPENDS = "zlib readline" + +SRC_URI = "https://github.com/crash-utility/${BPN}/archive/${PV}.tar.gz \ + file://7001force_define_architecture.patch \ + file://7003cross_ranlib.patch \ + file://0001-cross_add_configure_option.patch \ + " + +SRC_URI[md5sum] = "d70ad2ed0f6d210ed11e88b8e977f5fd" +SRC_URI[sha256sum] = "c6034c6eb6b52691c60d0b72dbdec58fac4c1b3ed1cd0697c209dc48d13a577e" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504" + +EXTRA_OEMAKE = 'RPMPKG="${PV}" \ + GDB_TARGET="${TARGET_SYS}" \ + GDB_HOST="${BUILD_SYS}" \ + ' +do_configure() { + : +} + +do_compile_prepend() { + case ${TARGET_ARCH} in + arm*) ARCH=ARM ;; + i*86*) ARCH=X86 ;; + powerpc*) ARCH=PPC ;; + x86_64*) ARCH=X86_64 ;; + esac + + sed -i s/FORCE_DEFINE_ARCH/"${ARCH}"/g ${S}/configure.c + sed -i -e 's/#define TARGET_CFLAGS_ARM_ON_X86_64.*/#define TARGET_CFLAGS_ARM_ON_X86_64\t\"TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64\"/g' ${S}/configure.c + sed -i 's/>/>/g' ${S}/Makefile +} +do_compile() { + oe_runmake ${EXTRA_OEMAKE} +} + +do_install () { + install -d ${D}${bindir} + install -d ${D}/${mandir}/man8 + install -d ${D}${includedir}/crash + + oe_runmake DESTDIR=${D} install + install -m 0644 ${S}/crash.8 ${D}/${mandir}/man8/ + install -m 0644 ${S}/defs.h ${D}${includedir}/crash +} +RDEPENDS_${PN} += "liblzma" diff --git a/meta-oe/recipes-kernel/linux/linux.inc b/meta-oe/recipes-kernel/linux/linux.inc index 7b301ae211..e200127718 100644 --- a/meta-oe/recipes-kernel/linux/linux.inc +++ b/meta-oe/recipes-kernel/linux/linux.inc @@ -28,14 +28,14 @@ kernel_conf_variable() { CONF_SED_SCRIPT="$CONF_SED_SCRIPT /CONFIG_$1[ =]/d;" if test "$2" = "n" then - echo "# CONFIG_$1 is not set" >> ${S}/.config + echo "# CONFIG_$1 is not set" >> ${B}/.config else - echo "CONFIG_$1=$2" >> ${S}/.config + echo "CONFIG_$1=$2" >> ${B}/.config fi } do_configure_prepend() { - echo "" > ${S}/.config + echo "" > ${B}/.config CONF_SED_SCRIPT="" # @@ -43,8 +43,8 @@ do_configure_prepend() { # if [ -e ${WORKDIR}/logo_linux_clut224.ppm ]; then install -m 0644 ${WORKDIR}/logo_linux_clut224.ppm drivers/video/logo/logo_linux_clut224.ppm - kernel_conf_variable LOGO y - kernel_conf_variable LOGO_LINUX_CLUT224 y + kernel_conf_variable LOGO y + kernel_conf_variable LOGO_LINUX_CLUT224 y fi # @@ -59,7 +59,7 @@ do_configure_prepend() { # When enabling thumb for userspace we also need thumb support in the kernel if [ "${ARM_INSTRUCTION_SET}" = "thumb" ] ; then - kernel_conf_variable ARM_THUMB y + kernel_conf_variable ARM_THUMB y fi kernel_conf_variable CMDLINE "\"${CMDLINE} ${CMDLINE_DEBUG}\"" @@ -112,9 +112,9 @@ do_configure_prepend() { fi sed -e "${CONF_SED_SCRIPT}" \ - < '${WORKDIR}/defconfig' >>'${S}/.config' + < '${WORKDIR}/defconfig' >>'${B}/.config' - yes '' | oe_runmake oldconfig + yes '' | oe_runmake -C ${S} O=${B} oldconfig } do_configure_append() { diff --git a/meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.bb b/meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.bb index ecfc9882d6..61886599ac 100644 --- a/meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.bb +++ b/meta-oe/recipes-multimedia/audiofile/audiofile_0.2.7.bb @@ -8,7 +8,7 @@ LICENSE = "LGPLv2 & GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3" -SRC_URI = "http://www.68k.org/~michael/audiofile/${BP}.tar.gz" +SRC_URI = "${GNOME_MIRROR}/audiofile/0.2/${BP}.tar.gz" SRC_URI[md5sum] = "a39be317a7b1971b408805dc5e371862" SRC_URI[sha256sum] = "a61c4036c2600a645843f16bec4be166093a9df5f15b02c85291213aa9cf15a2" diff --git a/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.7.bb b/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.8.5.bb index 2361875c95..1070246c86 100644 --- a/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.7.bb +++ b/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.8.5.bb @@ -5,8 +5,8 @@ LICENSE = "PD" LIC_FILES_CHKSUM = "file://COPYING;md5=c9182faa1f7c316f7b97d404bcbe3685" SRC_URI = "${SOURCEFORGE_MIRROR}/modplug-xmms/libmodplug-${PV}.tar.gz" -SRC_URI[md5sum] = "d2d9ccd8da22412999caed076140f786" -SRC_URI[sha256sum] = "3cfdebb60833a082e2f2b8faa3892bc9201d05c64051503e8007d8c98ae9e4c2" +SRC_URI[md5sum] = "5f30241db109d647781b784e62ddfaa1" +SRC_URI[sha256sum] = "77462d12ee99476c8645cb5511363e3906b88b33a6b54362b4dbc0f39aa2daad" inherit autotools pkgconfig diff --git a/meta-oe/recipes-multimedia/libpostproc/libpostproc_git.bb b/meta-oe/recipes-multimedia/libpostproc/libpostproc_git.bb deleted file mode 100644 index 811175ce8c..0000000000 --- a/meta-oe/recipes-multimedia/libpostproc/libpostproc_git.bb +++ /dev/null @@ -1,43 +0,0 @@ -SUMMARY = "FFmpeg derived postprocessing library" -HOMEPAGE = "http://git.videolan.org/?p=libpostproc.git;a=summary" -SECTION = "libs" -DEPENDS = "libav" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -PV = "52.3.0+git${SRCPV}" - -SRCREV = "811db3b957dfde24aef2d0f82e297e5bf552d873" -SRC_URI = "git://github.com/lu-zero/postproc;protocol=https" - -S = "${WORKDIR}/git" - -inherit autotools lib_package pkgconfig - -FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math" -BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}" - -EXTRA_FFCONF_armv7a = "--cpu=cortex-a8" -EXTRA_FFCONF ?= "" - -EXTRA_OECONF = " \ - --enable-shared \ - --enable-pthreads \ - --enable-gpl \ - --enable-postproc \ - \ - --cross-prefix=${TARGET_PREFIX} \ - --prefix=${prefix} \ - \ - --arch=${TARGET_ARCH} \ - --target-os="linux" \ - --enable-cross-compile \ - --extra-cflags="${TARGET_CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \ - --extra-ldflags="${TARGET_LDFLAGS}" \ - --sysroot="${STAGING_DIR_TARGET}" \ - ${EXTRA_FFCONF} \ -" - -do_configure() { - ${S}/configure ${EXTRA_OECONF} -} diff --git a/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb b/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb index 65fab1fda3..2de26b0a40 100644 --- a/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb +++ b/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb @@ -3,7 +3,7 @@ SECTION = "multimedia" HOMEPAGE = "http://www.mplayerhq.hu/" DEPENDS = "libvpx libdvdread libtheora virtual/libsdl ffmpeg xsp zlib \ libpng jpeg liba52 freetype fontconfig alsa-lib lzo ncurses \ - libxv virtual/libx11 libass speex faad2" + libxv virtual/libx11 libass speex faad2 libxscrnsaver" RDEPENDS_${PN} = "mplayer-common" PROVIDES = "mplayer" @@ -13,8 +13,6 @@ RCONFLICTS_${PN} = "mplayer" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504" -PNBLACKLIST[mplayer2] = "Requires newer libav which has negative D_P" - SRC_URI = "git://repo.or.cz/mplayer.git \ file://0001-configure-don-t-disable-ASS-support-when-explicitly-.patch \ " @@ -36,7 +34,7 @@ CONFFILES_${PN} += "/usr/etc/mplayer/input.conf \ /usr/etc/mplayer/codecs.conf \ " -inherit autotools pkgconfig +inherit autotools-brokensep pkgconfig EXTRA_OECONF = " \ --prefix=/usr \ @@ -109,9 +107,14 @@ EXTRA_OECONF = " \ EXTRA_OECONF_append_armv6 = " --enable-armv6" EXTRA_OECONF_append_armv7a = " --enable-armv6 --enable-neon" +PACKAGECONFIG ??= "vorbis postproc" PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad" PACKAGECONFIG[a52] = "--enable-liba52,--disable-liba52,liba52" PACKAGECONFIG[lame] = ",,lame" +PACKAGECONFIG[postproc] = ",--disable-libpostproc,libpostproc" +PACKAGECONFIG[vorbis] = ",--disable-libvorbis,libvorbis" +PACKAGECONFIG[portaudio] = ",--disable-portaudio,portaudio-v19" +PACKAGECONFIG[mpg123] = ",--disable-mpg123,mpg123" FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O4 -ffast-math" BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}" @@ -141,4 +144,5 @@ do_install() { install ${S}/etc/input.conf ${D}/usr/etc/mplayer/ install ${S}/etc/example.conf ${D}/usr/etc/mplayer/ install ${S}/etc/codecs.conf ${D}/usr/etc/mplayer/ + [ -e ${D}/usr/lib ] && rmdir ${D}/usr/lib } diff --git a/meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb b/meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb index ebcfd127f1..098b08d476 100644 --- a/meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb +++ b/meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb @@ -1,6 +1,6 @@ SUMMARY = "Freedesktop sound theme" HOMEPAGE = "http://freedesktop.org/wiki/Specifications/sound-theme-spec" -LICENSE = "GPLv2+ CC-BY-3.0 CC-BY-SA-3.0" +LICENSE = "GPLv2+ & CC-BY-3.0 & CC-BY-SA-3.0" LIC_FILES_CHKSUM = "file://CREDITS;md5=3213e601ce34bb42ddc3498903ac4e69" # glib-2.0 for glib-gettext.m4 which provides AM_GLIB_GNU_GETTEXT diff --git a/meta-oe/recipes-multimedia/v4l2apps/media-ctl_git.bb b/meta-oe/recipes-multimedia/v4l2apps/media-ctl_git.bb deleted file mode 100644 index 86e5364df0..0000000000 --- a/meta-oe/recipes-multimedia/v4l2apps/media-ctl_git.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Media controller control application" -LICENSE = "LGPLv2+" -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=d749e86a105281d7a44c2328acebc4b0" - -DEPENDS = "linux-libc-headers" - -SRC_URI = "git://git.ideasonboard.org/media-ctl.git" -SRCREV = "a6ec4a37028952ffd6e62eb52648cf66248eb519" - -PV = "0.0.1" -PR = "r4" -S = "${WORKDIR}/git" - -inherit autotools pkgconfig - -EXTRA_OECONF = "--with-kernel-headers=${STAGING_EXECPREFIXDIR}" - -PACKAGES =+ "libmediactl libv4l2subdev" -FILES_libmediactl = "${libdir}/libmediactl${SOLIBS}" -FILES_libv4l2subdev = "${libdir}/libv4l2subdev${SOLIBS}" - diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.0.1.bb b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.6.2.bb index c3a13703a8..219ed1526f 100644 --- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.0.1.bb +++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.6.2.bb @@ -12,8 +12,8 @@ inherit autotools gettext pkgconfig PROVIDES = "libv4l" SRC_URI = "http://linuxtv.org/downloads/v4l-utils/v4l-utils-${PV}.tar.bz2" -SRC_URI[md5sum] = "b06ea8b15e27cff352b4536e835448bc" -SRC_URI[sha256sum] = "fc0132e82a18dfad9619be3abf50c206e2f449b1c14440cde36f25874fdce7df" +SRC_URI[md5sum] = "9cb3c178f937954e65bf30920af433ef" +SRC_URI[sha256sum] = "d3d6eb1f0204fb11f3d318bfca35d5f73cc077f88fac7665a47856a16496be7d" EXTRA_OECONF = "--disable-qv4l2 --enable-shared --with-udevdir=${base_libdir}/udev" @@ -22,6 +22,7 @@ PACKAGES =+ "rc-keymaps libv4l libv4l-dbg libv4l-dev" FILES_rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*" FILES_${PN} = "${bindir} ${sbindir} ${base_libdir}/udev/rules.d/70-infrared.rules" FILES_libv4l += "${libdir}/libv4l*${SOLIBS} ${libdir}/libv4l/*.so ${libdir}/libv4l/plugins/*.so \ + ${libdir}/libdvbv5*${SOLIBS} \ ${libdir}/libv4l/*-decomp" FILES_libv4l-dbg += "${libdir}/libv4l/.debug ${libdir}/libv4l/plugins/.debug" FILES_libv4l-dev += "${libdir}/v4l*${SOLIBSDEV} ${libdir}/libv4l/*.la ${libdir}/libv4l/plugins/*.la" diff --git a/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb b/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb index 1ca8b1ff70..d65546d0b9 100644 --- a/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb +++ b/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb @@ -9,7 +9,9 @@ SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/${BPN}/${BPN}_${ file://auxdir.patch;striplevel=0" S = "${WORKDIR}/xpext-1.0" -inherit autotools pkgconfig +inherit autotools pkgconfig distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" SRC_URI[md5sum] = "1b0cb67b6f2bd7c4abef17648b062896" SRC_URI[sha256sum] = "a3b06f5188fd9effd0799ae31352b3cd65cb913b964e2c1a923ffa9d3c08abbe" diff --git a/meta-oe/recipes-multimedia/xsp/xsp_1.0.0-8.bb b/meta-oe/recipes-multimedia/xsp/xsp_1.0.0-8.bb index 968d342b13..c7a068df38 100644 --- a/meta-oe/recipes-multimedia/xsp/xsp_1.0.0-8.bb +++ b/meta-oe/recipes-multimedia/xsp/xsp_1.0.0-8.bb @@ -7,7 +7,9 @@ SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/xsp/${BPN}_${PV} file://xsp-fix-pc.patch" S = "${WORKDIR}/Xsp" -inherit autotools pkgconfig +inherit autotools pkgconfig distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" SRC_URI[md5sum] = "2a0d8d02228d4cbd28b6e07bb7c17cf5" SRC_URI[sha256sum] = "8b722b952b64841d996c70c3278499886c81bb5012991beed5f66f4158418f59" diff --git a/meta-oe/recipes-navigation/gdal/gdal_1.10.1.bb b/meta-oe/recipes-navigation/gdal/gdal_1.11.1.bb index 14f1a5704b..b181b3ef8f 100644 --- a/meta-oe/recipes-navigation/gdal/gdal_1.10.1.bb +++ b/meta-oe/recipes-navigation/gdal/gdal_1.11.1.bb @@ -1,14 +1,14 @@ SUMMARY = "GDAL is a translator library for raster geospatial data formats" HOMEPAGE = "http://www.gdal.org/" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=b9bd75ae5af7ff87ab259be0121c4106" +LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=0952e17969fab12227096b5228f23149" -DEPENDS = "proj sqlite3 tiff" +DEPENDS = "proj sqlite3 tiff json-c" SRC_URI = "ftp://download.osgeo.org/gdal/${PV}/${BP}.tar.xz" -SRC_URI[md5sum] = "f354c614aea76e5630e4edbf06e5c292" -SRC_URI[sha256sum] = "e6c9c6c4480228c943af29120d87435ddfe9ca460458bc60b91639fb8d443791" +SRC_URI[md5sum] = "2e126d7c6605691d38f3e71b945f5c73" +SRC_URI[sha256sum] = "20e1042cff15a71038459a299732fb342428aea9912f32df30c85790fcab6302" inherit autotools-brokensep lib_package binconfig @@ -79,8 +79,10 @@ EXTRA_OECONF = "--without-perl \ --with-pcraster=internal \ --with-geotiff=internal \ \ - --with-sqlite3=${STAGING_LIBDIR} \ - --with-libtiff=${STAGING_LIBDIR} \ + --with-sqlite3=${STAGING_EXECPREFIXDIR} \ + --with-libtiff=${STAGING_EXECPREFIXDIR} \ + --with-libjson-c=${STAGING_EXECPREFIXDIR} \ + --with-expat=${STAGING_EXECPREFIXDIR} \ " EXTRA_OEMAKE += "INST_DATA="${datadir}/gdal"" diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb index 6d3adc18da..93cf1aec72 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb +++ b/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb @@ -20,7 +20,7 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \ SRC_URI[md5sum] = "fc5b03aae38b9b5b6880b31924d0ace3" SRC_URI[sha256sum] = "706fc2c1cf3dfbf87c941f543381bccc9c4dc9f8240eec407dcbf2f70b854320" -inherit scons update-rc.d python-dir pythonnative systemd +inherit scons update-rc.d python-dir pythonnative systemd bluetooth INITSCRIPT_NAME = "gpsd" INITSCRIPT_PARAMS = "defaults 35" @@ -30,8 +30,8 @@ SYSTEMD_OESCONS = "${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false export STAGING_INCDIR export STAGING_LIBDIR -PACKAGECONFIG ??= "bluez" -PACKAGECONFIG[bluez] = "bluez='true',bluez='false',bluez4" +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)}" +PACKAGECONFIG[bluez4] = "bluez='true',bluez='false',bluez4" EXTRA_OESCONS = " \ sysroot=${STAGING_DIR_TARGET} \ diff --git a/meta-oe/recipes-navigation/libspatialite/libspatialite-4.2.0/geos-config.patch b/meta-oe/recipes-navigation/libspatialite/libspatialite-4.2.0/geos-config.patch new file mode 100644 index 0000000000..28bd7dad87 --- /dev/null +++ b/meta-oe/recipes-navigation/libspatialite/libspatialite-4.2.0/geos-config.patch @@ -0,0 +1,17 @@ +https://www.gaia-gis.it/fossil/libspatialite/tktview?name=abeeaad448 + +Upstream-Status: Submitted [rpm5-devel@rpm5.org] + +Index: libspatialite-4.2.0/configure.ac +=================================================================== +--- libspatialite-4.2.0.orig/configure.ac ++++ libspatialite-4.2.0/configure.ac +@@ -260,7 +260,7 @@ if test x"$enable_geos" != "xno"; then + fi + # Extract the linker and include flags + GEOS_LDFLAGS=`$GEOSCONFIG --ldflags` +- GEOS_CFLAGS=-I`$GEOSCONFIG --includes` ++ GEOS_CFLAGS=`$GEOSCONFIG --cflags` + AC_SUBST([GEOS_LDFLAGS]) + AC_SUBST([GEOS_CFLAGS]) + # Ensure that we can parse geos_c.h diff --git a/meta-oe/recipes-navigation/libspatialite/libspatialite/fix-the-configure-script-and-freexl.patch b/meta-oe/recipes-navigation/libspatialite/libspatialite/fix-the-configure-script-and-freexl.patch deleted file mode 100644 index 0cd0c3f6ac..0000000000 --- a/meta-oe/recipes-navigation/libspatialite/libspatialite/fix-the-configure-script-and-freexl.patch +++ /dev/null @@ -1,200 +0,0 @@ -From upstream fossil repo, extracted via git, dropping configure.ac for amalgamation - -From: sandro <sandro> -Date: Sat, 21 Jan 2012 16:53:28 +0000 -Subject: [PATCH] fixing the ./configure script: --enable-geocallbacks=no is - the new default and fixing some flaws for - --enable-freexl=no - ---- - configure | 20 ++++++++++---------- - configure.ac | 20 ++++++++++---------- - src/shapefiles/shapefiles.c | 2 ++ - 4 files changed, 32 insertions(+), 30 deletions(-) - -diff --git a/configure b/configure -index e8cf620..917bfca 100755 ---- a/configure -+++ b/configure -@@ -1410,7 +1410,7 @@ Optional Features: - optimize for fast installation [default=yes] - --disable-libtool-lock avoid locking (might break parallel builds) - --enable-mathsql enables SQL math functions [default=yes] -- --enable-geocallbacks enables geometry callbacks [default=yes] -+ --enable-geocallbacks enables geometry callbacks [default=no] - --enable-proj enables PROJ.4 inclusion [default=yes] - --enable-geos enables GEOS inclusion [default=yes] - --enable-geosadvanced enables GEOS advanced features [default=yes] -@@ -16980,7 +16980,7 @@ ac_config_files="$ac_config_files Makefile src/Makefile src/headers/Makefile src - if test "${enable_mathsql+set}" = set; then : - enableval=$enable_mathsql; - else -- mathsql=yes -+ enable_mathsql=yes - fi - - if test x"$enable_mathsql" != "xno"; then -@@ -16998,10 +16998,10 @@ fi - if test "${enable_geocallbacks+set}" = set; then : - enableval=$enable_geocallbacks; - else -- geocallbacks=yes -+ enable_geocallbacks=no - fi - --if test x"$enable_geocallbacks" != "xno"; then -+if test x"$enable_geocallbacks" == "xyes"; then - OMIT_GEOCALLBACKS_FLAGS= - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_rtree_geometry_callback in -lsqlite3" >&5 - $as_echo_n "checking for sqlite3_rtree_geometry_callback in -lsqlite3... " >&6; } -@@ -17063,7 +17063,7 @@ fi - if test "${enable_proj+set}" = set; then : - enableval=$enable_proj; - else -- proj=yes -+ enable_proj=yes - fi - - if test x"$enable_proj" != "xno"; then -@@ -17153,7 +17153,7 @@ fi - if test "${enable_geos+set}" = set; then : - enableval=$enable_geos; - else -- geos=yes -+ enable_geos=yes - fi - - if test x"$enable_geos" != "xno"; then -@@ -17237,7 +17237,7 @@ fi - if test "${enable_geosadvanced+set}" = set; then : - enableval=$enable_geosadvanced; - else -- geosadvanced=yes -+ enable_geosadvanced=yes - fi - - if test x"$enable_geosadvanced" != "xno"; then -@@ -17316,7 +17316,7 @@ fi - if test "${enable_iconv+set}" = set; then : - enableval=$enable_iconv; - else -- geos=yes -+ enable_iconv=yes - fi - - if test x"$enable_iconv" != "xno"; then -@@ -17579,7 +17579,7 @@ fi - if test "${enable_freexl+set}" = set; then : - enableval=$enable_freexl; - else -- proj=yes -+ enable_freexl=yes - fi - - if test x"$enable_freexl" != "xno"; then -@@ -17669,7 +17669,7 @@ fi - if test "${enable_epsg+set}" = set; then : - enableval=$enable_epsg; - else -- epsg=yes -+ enable_epsg=yes - fi - - if test x"$enable_epsg" != "xno"; then -diff --git a/configure.ac b/configure.ac -index 216cc9f..69cb6c5 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -79,7 +79,7 @@ AC_CONFIG_FILES([Makefile \ - # - AC_ARG_ENABLE(mathsql, [AS_HELP_STRING( - [--enable-mathsql], [enables SQL math functions [default=yes]])], -- [], [mathsql=yes]) -+ [], [enable_mathsql=yes]) - if test x"$enable_mathsql" != "xno"; then - OMIT_MATHSQL_FLAGS= - else -@@ -92,9 +92,9 @@ AC_SUBST(OMIT_MATHSQL_FLAGS) - # --enable-geocallbacks - # - AC_ARG_ENABLE(geocallbacks, [AS_HELP_STRING( -- [--enable-geocallbacks], [enables geometry callbacks [default=yes]])], -- [], [geocallbacks=yes]) --if test x"$enable_geocallbacks" != "xno"; then -+ [--enable-geocallbacks], [enables geometry callbacks [default=no]])], -+ [], [enable_geocallbacks=no]) -+if test x"$enable_geocallbacks" == "xyes"; then - OMIT_GEOCALLBACKS_FLAGS= - AC_CHECK_LIB(sqlite3,sqlite3_rtree_geometry_callback,,AC_MSG_ERROR([obsolete 'libsqlite3' (< v.3.7.3). please retry specifying: --disable-geocallbacks]),-lm) - else -@@ -108,7 +108,7 @@ AC_SUBST(OMIT_GEOCALLBACKS_FLAGS) - # - AC_ARG_ENABLE(proj, [AS_HELP_STRING( - [--enable-proj], [enables PROJ.4 inclusion [default=yes]])], -- [], [proj=yes]) -+ [], [enable_proj=yes]) - if test x"$enable_proj" != "xno"; then - OMIT_PROJ_FLAGS= - AC_CHECK_HEADERS(proj_api.h,, [AC_MSG_ERROR([cannot find proj_api.h, bailing out])]) -@@ -124,7 +124,7 @@ AC_SUBST(OMIT_PROJ_FLAGS) - # - AC_ARG_ENABLE(geos, [AS_HELP_STRING( - [--enable-geos], [enables GEOS inclusion [default=yes]])], -- [], [geos=yes]) -+ [], [enable_geos=yes]) - if test x"$enable_geos" != "xno"; then - OMIT_GEOS_FLAGS= - AC_CHECK_HEADERS(geos_c.h,, [AC_MSG_ERROR([cannot find geos_c.h, bailing out])]) -@@ -134,7 +134,7 @@ if test x"$enable_geos" != "xno"; then - # - AC_ARG_ENABLE(geosadvanced, [AS_HELP_STRING( - [--enable-geosadvanced], [enables GEOS advanced features [default=yes]])], -- [], [geosadvanced=yes]) -+ [], [enable_geosadvanced=yes]) - if test x"$enable_geosadvanced" != "xno"; then - GEOSADVANCED_FLAGS=-DGEOS_ADVANCED - AC_SEARCH_LIBS(GEOSCoveredBy,geos_c,,AC_MSG_ERROR([obsolete 'libgeos_c' (< v.3.3.0). please retry specifying: --disable-geosadvanced.]),-lm -lgeos) -@@ -152,7 +152,7 @@ AC_SUBST(OMIT_GEOS_FLAGS) - # - AC_ARG_ENABLE(iconv, [AS_HELP_STRING( - [--enable-iconv], [enables ICONV inclusion [default=yes]])], -- [], [geos=yes]) -+ [], [enable_iconv=yes]) - if test x"$enable_iconv" != "xno"; then - OMIT_ICONV_FLAGS= - AC_CHECK_HEADERS(iconv.h,, [AC_MSG_ERROR([cannot find iconv.h, bailing out])]) -@@ -172,7 +172,7 @@ AC_SUBST(OMIT_ICONV_FLAGS) - # - AC_ARG_ENABLE(freexl, [AS_HELP_STRING( - [--enable-freexl], [enables FreeXL inclusion [default=yes]])], -- [], [proj=yes]) -+ [], [enable_freexl=yes]) - if test x"$enable_freexl" != "xno"; then - OMIT_FREEXL_FLAGS= - AC_CHECK_HEADERS(freexl.h,, [AC_MSG_ERROR([cannot find freexl.h, bailing out])]) -@@ -188,7 +188,7 @@ AC_SUBST(OMIT_FREEXL_FLAGS) - # - AC_ARG_ENABLE(epsg, [AS_HELP_STRING( - [--enable-epsg], [enables full EPSG dataset support [default=yes]])], -- [], [epsg=yes]) -+ [], [enable_epsg=yes]) - if test x"$enable_epsg" != "xno"; then - OMIT_EPSG_FLAGS= - else -diff --git a/src/shapefiles/shapefiles.c b/src/shapefiles/shapefiles.c -index 4bf5fd0..09e3cd3 100644 ---- a/src/shapefiles/shapefiles.c -+++ b/src/shapefiles/shapefiles.c -@@ -62,7 +62,9 @@ the terms of any one of the MPL, the GPL or the LGPL. - #include <spatialite/gaiageo.h> - #include <spatialite.h> - -+#ifndef OMIT_FREEXL - #include <freexl.h> -+#endif - - #if defined(_WIN32) && !defined(__MINGW32__) - #define strcasecmp _stricmp --- -1.7.9.1 - diff --git a/meta-oe/recipes-navigation/libspatialite/libspatialite_3.0.1.bb b/meta-oe/recipes-navigation/libspatialite/libspatialite_3.0.1.bb deleted file mode 100644 index 1cb72e8283..0000000000 --- a/meta-oe/recipes-navigation/libspatialite/libspatialite_3.0.1.bb +++ /dev/null @@ -1,9 +0,0 @@ -require libspatialite.inc - -PR = "${INC_PR}.0" - -SRC_URI[md5sum] = "450d1a0d9da1bd9f770b7db3f2509f69" -SRC_URI[sha256sum] = "4983d6584069fd5ff0cfcccccee1015088dab2db177c0dc7050ce8306b68f8e6" - -SRC_URI =+ "file://fix-the-configure-script-and-freexl.patch" - diff --git a/meta-oe/recipes-navigation/libspatialite/libspatialite.inc b/meta-oe/recipes-navigation/libspatialite/libspatialite_4.2.0.bb index c8d7ec1e97..d66dc875be 100644 --- a/meta-oe/recipes-navigation/libspatialite/libspatialite.inc +++ b/meta-oe/recipes-navigation/libspatialite/libspatialite_4.2.0.bb @@ -1,11 +1,9 @@ DESCRIPTION = "Library extending the SQLite core to support fully fledged Spatial SQL capabilities" HOMEPAGE = "https://www.gaia-gis.it/fossil/libspatialite/" SECTION = "libs" -DEPENDS = "proj geos sqlite3" +DEPENDS = "proj geos sqlite3 libxml2 zlib" -INC_PR = "r0" - -LICENSE = "MPLv1.1 GPLv2+ LGPLv2.1+" +LICENSE = "MPLv1.1 & GPLv2+ & LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=0e92e1a36cc384b60f5b31dde0bdd39e" SRC_URI = "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${PV}.tar.gz" @@ -14,3 +12,12 @@ inherit autotools pkgconfig EXTRA_OECONF = "--enable-freexl=no" +# package plugins for SQLite3 +PACKAGES += "${PN}-plugin" +INSANE_SKIP_${PN}-plugin = "dev-so" +FILES_${PN}-plugin += "${libdir}/mod_*" + +SRC_URI[md5sum] = "83305ed694a77152120d1f74c5151779" +SRC_URI[sha256sum] = "9f138a6854740c7827fdee53845eb1485fce3e805a7aa9fc9151f8046ebd312d" + +SRC_URI += "file://geos-config.patch" diff --git a/meta-oe/recipes-navigation/navit/navit.inc b/meta-oe/recipes-navigation/navit/navit.inc index 4347436074..9d4f4eccba 100644 --- a/meta-oe/recipes-navigation/navit/navit.inc +++ b/meta-oe/recipes-navigation/navit/navit.inc @@ -1,5 +1,5 @@ DESCRIPTION = "Navit is a car navigation system with routing engine." -LICENSE = "GPLv2 LGPLv2" +LICENSE = "GPLv2 & LGPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=ed539d099d6ce08de6ea0dfed9ecb333 \ file://LGPL-2;md5=3214f080875748938ba060314b4f727d \ file://GPL-2;md5=751419260aa954499f7abaabaa882bbe \ diff --git a/meta-oe/recipes-navigation/omgps/omgps/fix.build.with.gcc.4.9.patch b/meta-oe/recipes-navigation/omgps/omgps/fix.build.with.gcc.4.9.patch new file mode 100644 index 0000000000..1680bc0627 --- /dev/null +++ b/meta-oe/recipes-navigation/omgps/omgps/fix.build.with.gcc.4.9.patch @@ -0,0 +1,22 @@ +omgps: omgps fails compilation due to uninitialized variables + +omgps does not compile with gcc 4.9 due to uninitialized variables +with the option -Werror=maybe-uninitialized +To solve the problem, just initiated the variable and checked for side +effects. +Upstream-Status: Submitted ++https://code.google.com/p/omgps/issues/detail?id=16 + +Signed-off-by: Raphael Silva <rapphil@gmail.com> +diff -urpN omgps.orig/src/sound.c omgps/src/sound.c +--- omgps.orig/src/sound.c 2014-12-14 15:13:29.609243994 -0200 ++++ omgps/src/sound.c 2014-12-14 15:14:13.831116745 -0200 +@@ -44,7 +44,7 @@ static gboolean play_sound_files(char *f + return FALSE; + + char *bak = strdup(files); +- char *saveptr; ++ char *saveptr = NULL; + char *p = strtok_r(bak, ";", &saveptr); + + #define MAX_SOUND_FILES 14 diff --git a/meta-oe/recipes-navigation/omgps/omgps_svn.bb b/meta-oe/recipes-navigation/omgps/omgps_svn.bb index 2304b3686e..391545e39e 100644 --- a/meta-oe/recipes-navigation/omgps/omgps_svn.bb +++ b/meta-oe/recipes-navigation/omgps/omgps_svn.bb @@ -9,11 +9,10 @@ PV = "0.1+svnr${SRCPV}" PR = "r2" S = "${WORKDIR}/${PN}" -PNBLACKLIST[omgps] = "BROKEN: sound.c:61:35: error: 'saveptr' may be used uninitialized in this function [-Werror=maybe-uninitialized]" - do_configure_prepend() { sed -i "s#PY_VERSION = 2.6#PY_VERSION = ${PYTHON_BASEVERSION}#g" ${S}/Makefile.am sed -i "s#PY_INC_DIR = \$(OPIEDIR)#PY_INC_DIR = ${STAGING_DIR_HOST}#g" ${S}/Makefile.am + sed -i "s#dist_conf_DATA = data/etc/\*\.\*#dist_conf_DATA = ${S}/data/etc/\*\.\*#g" ${S}/Makefile.am } SRC_URI = "svn://omgps.googlecode.com/svn/trunk;module=omgps;protocol=http \ @@ -24,6 +23,7 @@ SRC_URI = "svn://omgps.googlecode.com/svn/trunk;module=omgps;protocol=http \ file://fix.build.with.glib.2.34.patch \ file://gdk-pixbuf-2.26.5.patch \ file://0001-g_type_init-is-deprecated-for-glib-2.35.0.patch \ + file://fix.build.with.gcc.4.9.patch \ " inherit autotools pkgconfig diff --git a/meta-oe/recipes-qt/qconnman/qconnman-e_git.bb b/meta-oe/recipes-qt/qconnman/qconnman-e_git.bb index baf802703d..e307a72c19 100644 --- a/meta-oe/recipes-qt/qconnman/qconnman-e_git.bb +++ b/meta-oe/recipes-qt/qconnman/qconnman-e_git.bb @@ -4,7 +4,7 @@ RCONFLICTS_${PN} = "qconnman" inherit qt4e -PNBLACKLIST[qconnman-e] = "BROKEN: doesn't work with B!=S, ls: cannot access *.pro: No such file or directory" +PNBLACKLIST[qconnman-e] ?= "BROKEN: doesn't work with B!=S, ls: cannot access *.pro: No such file or directory" EXTRA_QMAKEVARS_PRE += "PREFIX=/usr" EXTRA_OEMAKE += "INSTALL_ROOT=${D}" diff --git a/meta-oe/recipes-qt/qconnman/qconnman_git.bb b/meta-oe/recipes-qt/qconnman/qconnman_git.bb index e2bd2edc57..2f8cca25a0 100644 --- a/meta-oe/recipes-qt/qconnman/qconnman_git.bb +++ b/meta-oe/recipes-qt/qconnman/qconnman_git.bb @@ -4,7 +4,7 @@ RCONFLICTS_${PN} = "qconnman-e" inherit qt4x11 -PNBLACKLIST[qconnman] = "BROKEN: doesn't work with B!=S, ls: cannot access *.pro: No such file or directory" +PNBLACKLIST[qconnman] ?= "BROKEN: doesn't work with B!=S, ls: cannot access *.pro: No such file or directory" EXTRA_QMAKEVARS_PRE += "PREFIX=/usr" EXTRA_OEMAKE += "INSTALL_ROOT=${D}" diff --git a/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb b/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb index 214ca5826e..1b010a5b6c 100644 --- a/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb +++ b/meta-oe/recipes-sato/claws-mail/sylpheed_2.7.1.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4 \ PR = "r2" -PNBLACKLIST[sylpheed] = "BROKEN: Doesn't work with B!=S" +PNBLACKLIST[sylpheed] ?= "BROKEN: Doesn't work with B!=S" SRC_URI = "http://sylpheed.sraoss.jp/sylpheed/v2.7/sylpheed-${PV}.tar.bz2 \ file://glib-2.32.patch \ diff --git a/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb b/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb index 4cd3f774c1..18979d574b 100644 --- a/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb +++ b/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb @@ -7,7 +7,7 @@ SRC_URI = "http://garr.dl.sourceforge.net/project/apcupsd/apcupsd%20-%20Stable/3 SRC_URI[md5sum] = "5928822d855c5cf7ac29655e3e0b8c23" SRC_URI[sha256sum] = "0707b5ec9916fbde9e44eb8d18037c8d8f75dfd6aeef51aba5487e189eef2032" -PNBLACKLIST[apcupsd] = "BROKEN: doesn't build with B!=S" +PNBLACKLIST[apcupsd] ?= "BROKEN: doesn't build with B!=S" inherit autotools diff --git a/meta-oe/recipes-support/cpufrequtils/cpufrequtils_008.bb b/meta-oe/recipes-support/cpufrequtils/cpufrequtils_008.bb index e74fa44543..e3b4de1020 100644 --- a/meta-oe/recipes-support/cpufrequtils/cpufrequtils_008.bb +++ b/meta-oe/recipes-support/cpufrequtils/cpufrequtils_008.bb @@ -22,7 +22,7 @@ S = "${WORKDIR}/git" TARGET_CC_ARCH += "${LDFLAGS}" -EXTRA_OEMAKE = "V=1 CROSS=${TARGET_PREFIX} LIBTOOL='${HOST_SYS}-libtool --tag cc' STRIPCMD=echo" +EXTRA_OEMAKE = "V=1 CROSS=${TARGET_PREFIX} LIBTOOL='${HOST_SYS}-libtool --tag cc' STRIPCMD=echo 'CP=cp'" do_compile() { oe_runmake diff --git a/meta-oe/recipes-support/cryptsetup/cryptsetup_1.6.2.bb b/meta-oe/recipes-support/cryptsetup/cryptsetup_1.6.6.bb index 500dc572cc..d84ad2f074 100644 --- a/meta-oe/recipes-support/cryptsetup/cryptsetup_1.6.2.bb +++ b/meta-oe/recipes-support/cryptsetup/cryptsetup_1.6.6.bb @@ -11,9 +11,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326" DEPENDS = "util-linux lvm2 popt libgcrypt" -SRC_URI = "http://cryptsetup.googlecode.com/files/cryptsetup-${PV}.tar.bz2" -SRC_URI[md5sum] = "cd834da49fbe92dd66df02cc5c61280f" -SRC_URI[sha256sum] = "15723f0198303d4bcb99d480b7a773918e2d319f0348457988c063bdd03e109a" +SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v1.6/${BP}.tar.xz" +SRC_URI[md5sum] = "179c0781de59838a4e39f61b2df5ea48" +SRC_URI[sha256sum] = "2d2ce28e4e1137dd599d87884b62ef6dbf14fd7848b2a2bf7d61cf125fbd8e6f" inherit autotools gettext pkgconfig diff --git a/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-11.bb b/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-11.bb new file mode 100644 index 0000000000..a3b67f7e8c --- /dev/null +++ b/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-11.bb @@ -0,0 +1,23 @@ +SUMMARY = "Common files and packaging infrastructure for CT-API modules" +HOMEPAGE = "http://fedoraproject.org/" +SECTION = "System Environment/Libraries" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://../ctapi-common.LICENSE;md5=8744cd52545ecb45befebd0da6f70f0a" + +SRC_URI = "http://ftp.riken.jp/Linux/fedora/releases/20/Fedora/source/SRPMS/c/${BPN}-${PV}.fc20.src.rpm;extract=ctapi-common.LICENSE \ + http://ftp.riken.jp/Linux/fedora/releases/20/Fedora/source/SRPMS/c/${BPN}-${PV}.fc20.src.rpm;extract=ctapi-common.README" +SRC_URI[md5sum] = "f02e67487c48319376800563a2659502" +SRC_URI[sha256sum] = "32399819b0a1cac1abb2b8f0f180c572c93809faad36c46825dd536e4844c7cf" + +do_compile() { + install -pm 644 ${WORKDIR}/ctapi-common.LICENSE LICENSE + install -pm 644 ${WORKDIR}/ctapi-common.README README + echo ${libdir}/ctapi > ctapi.conf +} + +do_install() { + install -Dpm 644 ctapi.conf ${D}${sysconfdir}/ld.so.conf.d/ctapi-${TARGET_ARCH}.conf + install -dm 755 ${D}${libdir}/ctapi +} + +FILES_${PN} += "${libdir}/ctapi" diff --git a/meta-oe/recipes-support/daemontools/daemontools/0001-error.h-include-errno.h-instead-of-extern-int.diff b/meta-oe/recipes-support/daemontools/daemontools/0001-error.h-include-errno.h-instead-of-extern-int.diff new file mode 100644 index 0000000000..ce1959782a --- /dev/null +++ b/meta-oe/recipes-support/daemontools/daemontools/0001-error.h-include-errno.h-instead-of-extern-int.diff @@ -0,0 +1,25 @@ +From d3e7651e2f2492dd1031d09a99713644b604cab5 Mon Sep 17 00:00:00 2001 +From: Gerrit Pape <pape@smarden.org> +Date: Wed, 12 Dec 2007 13:44:15 +0000 +Subject: [PATCH] error.h: '#include <errno.h>' instead of 'extern int errno;' + +--- + daemontools-0.76/src/error.h | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git daemontools-0.76.orig/src/error.h daemontools-0.76/src/error.h +index 086fb55..f7e8273 100644 +--- daemontools-0.76.orig/src/error.h ++++ daemontools-0.76/src/error.h +@@ -3,7 +3,7 @@ + #ifndef ERROR_H + #define ERROR_H + +-extern int errno; ++#include <errno.h> + + extern int error_intr; + extern int error_nomem; +-- +1.5.4.2 + diff --git a/meta-oe/recipes-support/daemontools/daemontools/0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff b/meta-oe/recipes-support/daemontools/daemontools/0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff new file mode 100644 index 0000000000..73dce90726 --- /dev/null +++ b/meta-oe/recipes-support/daemontools/daemontools/0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff @@ -0,0 +1,47 @@ +From 7ee585cab1d5b68f804a5601a66ae87799c8a7c3 Mon Sep 17 00:00:00 2001 +From: Gerrit Pape <pape@smarden.org> +Date: Sun, 24 Feb 2008 10:54:26 +0000 +Subject: [PATCH] supervise.c: ./supervise may be a symlink, if it's dangling, create link target + +--- + daemontools-0.76/src/supervise.c | 17 ++++++++++++++++- + 1 files changed, 16 insertions(+), 1 deletions(-) + +diff --git daemontools-0.76.orig/src/supervise.c daemontools-0.76/src/supervise.c +index 2482ad2..f43cabf 100644 +--- daemontools-0.76.orig/src/supervise.c ++++ daemontools-0.76/src/supervise.c +@@ -208,6 +208,8 @@ void doit(void) + int main(int argc,char **argv) + { + struct stat st; ++ int r; ++ char buf[256]; + + dir = argv[1]; + if (!dir || argv[2]) +@@ -232,7 +234,20 @@ int main(int argc,char **argv) + if (errno != error_noent) + strerr_die4sys(111,FATAL,"unable to stat ",dir,"/down: "); + +- mkdir("supervise",0700); ++ if (mkdir("supervise",0700) == -1) { ++ if ((r = readlink("supervise", buf, 256)) != -1) { ++ if (r == 256) { ++ errno = EOVERFLOW; ++ strerr_die1sys(111,"unable to readlink ./supervise: "); ++ } ++ buf[r] = 0; ++ mkdir(buf, 0700); ++ } ++ else { ++ if ((errno != ENOENT) && (errno != EINVAL)) ++ strerr_die1sys(111, "unable to readlink ./supervise: "); ++ } ++ } + fdlock = open_append("supervise/lock"); + if ((fdlock == -1) || (lock_exnb(fdlock) == -1)) + strerr_die4sys(111,FATAL,"unable to acquire ",dir,"/supervise/lock: "); +-- +1.5.4.2 + diff --git a/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch b/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch new file mode 100644 index 0000000000..f164c2d10d --- /dev/null +++ b/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch @@ -0,0 +1,45 @@ +make sure it can be compiled for cross target + +1. never try to compile target binary by native gcc +2. target's chkshsgr doesn't work on native. +3. it's wrong to do target tests on native. + +Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com> + +diff -Nurp daemontools-0.76.orig/src/conf-cc daemontools-0.76/src/conf-cc +--- daemontools-0.76.orig/src/conf-cc 2001-07-13 00:49:49.000000000 +0800 ++++ daemontools-0.76/src/conf-cc 2014-11-26 09:34:38.828812162 +0800 +@@ -1,3 +1,3 @@ +-gcc -O2 -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wcast-qual -Wcast-align -Wwrite-strings ++${CC} -O2 -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized -Wshadow -Wcast-qual -Wcast-align -Wwrite-strings + + This will be used to compile .c files. +diff -Nurp daemontools-0.76.orig/src/conf-ld daemontools-0.76/src/conf-ld +--- daemontools-0.76.orig/src/conf-ld 2001-07-13 00:49:49.000000000 +0800 ++++ daemontools-0.76/src/conf-ld 2014-11-26 09:34:49.880811730 +0800 +@@ -1,3 +1,3 @@ +-gcc -s ++${CC} + + This will be used to link .o files into an executable. +diff -Nurp daemontools-0.76.orig/src/Makefile daemontools-0.76/src/Makefile +--- daemontools-0.76.orig/src/Makefile 2001-07-13 00:49:49.000000000 +0800 ++++ daemontools-0.76/src/Makefile 2014-11-26 09:38:47.120802459 +0800 +@@ -165,7 +165,7 @@ hassgprm.h: choose compile hassgprm.h1 h + + hasshsgr.h: chkshsgr choose compile hasshsgr.h1 hasshsgr.h2 load \ + tryshsgr.c warn-shsgr +- ./chkshsgr || ( cat warn-shsgr; exit 1 ) ++ chkshsgr || ( cat warn-shsgr; exit 1 ) + ./choose clr tryshsgr hasshsgr.h1 hasshsgr.h2 > hasshsgr.h + + haswaitp.h: choose compile haswaitp.h1 haswaitp.h2 load trywaitp.c +@@ -265,7 +265,7 @@ readproctitle.o: compile error.h readpro + rts: envdir envuidgid fghack matchtest multilog pgrphack \ + readproctitle rts.tests setlock setuidgid softlimit supervise svc \ + svok svscan svscanboot svstat tai64n tai64nlocal +- env - /bin/sh rts.tests 2>&1 | cat -v > rts ++ echo "Warning: We can not run test on cross target." + + scan_ulong.o: compile scan.h scan_ulong.c + ./compile scan_ulong.c diff --git a/meta-oe/recipes-support/daemontools/daemontools_0.76.bb b/meta-oe/recipes-support/daemontools/daemontools_0.76.bb new file mode 100644 index 0000000000..fb87ea8ad2 --- /dev/null +++ b/meta-oe/recipes-support/daemontools/daemontools_0.76.bb @@ -0,0 +1,47 @@ +SUMMARY = "DJB daemontools" +DESCRIPTION = "supervise monitors a service. It starts the service and restarts the \ +service if it dies. The companion svc program stops, pauses, or restarts \ +the service on sysadmin request. The svstat program prints a one-line \ +status report. \ +multilog saves error messages to one or more logs. It optionally timestamps \ +each line and, for each log, includes or excludes lines matching specified \ +patterns. It automatically rotates logs to limit the amount of disk space \ +used. If the disk fills up, it pauses and tries again, without losing any \ +data." + +SECTION = "System/Servers" + +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/PD;md5=b3597d12946881e13cb3b548d1173851" +LICENSE = "PD" + +SRC_URI = "http://cr.yp.to/daemontools/${BPN}-${PV}.tar.gz \ + file://0001-error.h-include-errno.h-instead-of-extern-int.diff \ + file://0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff " + +SRC_URI_append_class-target = "file://cross-compile.patch" + +SRC_URI[md5sum] = "1871af2453d6e464034968a0fbcb2bfc" +SRC_URI[sha256sum] = "a55535012b2be7a52dcd9eccabb9a198b13be50d0384143bd3b32b8710df4c1f" + +S = "${WORKDIR}/admin/${BPN}-${PV}" + +DEPENDS += "daemontools-native" +DEPENDS_virtclass-native = "" + +do_compile() { + ./package/compile +} + +do_install() { + install -d ${D}/${bindir} +} + +do_install_append_class-native() { + install -m 755 ${S}/compile/chkshsgr ${D}/${bindir} +} + +do_install_append_class-target() { + install -m755 ${S}/command/* ${D}/${bindir} +} + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/debianutils/debianutils_4.4.bb b/meta-oe/recipes-support/debianutils/debianutils_4.4.bb deleted file mode 100644 index 346eaf16eb..0000000000 --- a/meta-oe/recipes-support/debianutils/debianutils_4.4.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "Miscellaneous utilities specific to Debian" -SECTION = "base" -LICENSE = "GPLv2 & SMAIL_GPL" -LIC_FILES_CHKSUM = "file://debian/copyright;md5=f01a5203d50512fc4830b4332b696a9f" - -SRC_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/${BPN}_${PV}.tar.gz" -SRC_URI[md5sum] = "c0cb076754d7f4eb1e3397d00916647f" -SRC_URI[sha256sum] = "190850cdd6b5302e0a1ba1aaed1bc7074d67d3bd8d04c613f242f7145afa53a6" - -inherit autotools update-alternatives - -do_configure_prepend() { - sed -i -e 's:tempfile.1 which.1:which.1:g' ${S}/Makefile.am -} - -do_install_append() { - if [ "${base_bindir}" != "${bindir}" ]; then - # Debian places some utils into ${base_bindir} as does busybox - install -d ${D}${base_bindir} - for app in run-parts tempfile; do - mv ${D}${bindir}/$app ${D}${base_bindir}/$app - done - fi -} - -ALTERNATIVE_PRIORITY="100" -ALTERNATIVE_${PN} = "add-shell installkernel remove-shell run-parts savelog tempfile which" - -ALTERNATIVE_LINK_NAME[add-shell]="${sbindir}/add-shell" -ALTERNATIVE_LINK_NAME[installkernel]="${sbindir}/installkernel" -ALTERNATIVE_LINK_NAME[remove-shell]="${sbindir}/remove-shell" -ALTERNATIVE_LINK_NAME[run-parts]="${base_bindir}/run-parts" -ALTERNATIVE_LINK_NAME[savelog]="${bindir}/savelog" -ALTERNATIVE_LINK_NAME[tempfile]="${base_bindir}/tempfile" -ALTERNATIVE_LINK_NAME[which]="${bindir}/which" diff --git a/meta-oe/recipes-support/dfu-util/dfu-util_0.7.bb b/meta-oe/recipes-support/dfu-util/dfu-util_0.7.bb index aa2b84db78..7f06f8f6af 100644 --- a/meta-oe/recipes-support/dfu-util/dfu-util_0.7.bb +++ b/meta-oe/recipes-support/dfu-util/dfu-util_0.7.bb @@ -4,13 +4,16 @@ AUTHOR = "Harald Welte <laforge@openmoko.org>" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -SRC_URI = "http://${BPN}.gnumonks.org/releases/${BP}.tar.gz \ +S = "${WORKDIR}/git" + +SRC_URI = "git://gitorious.org/dfu-util/dfu-util.git \ file://0001-configure.ac-Don-t-check-for-usbpath.patch \ " +SRCREV="a0a3668e0571a9b007f7d62b01e7dcfd7754ce50" inherit autotools pkgconfig DEPENDS = "libusb1" -SRC_URI[md5sum] = "56844020177d4db4c1ea2e926fe9d588" -SRC_URI[sha256sum] = "f52a2a5489fbf9f3204a6ada05e0b47ee322e19d81c712e0c58a332d80ec3eab" +SRC_URI[md5sum] = "1de724551604bce1962960b7a301cc08" +SRC_URI[sha256sum] = "5d253f924fd29bc13054b664bba9aa86b865299971195969478253c1775b7e56" diff --git a/meta-oe/recipes-support/dstat/dstat_0.7.2.bb b/meta-oe/recipes-support/dstat/dstat_0.7.2.bb new file mode 100644 index 0000000000..63f1812b99 --- /dev/null +++ b/meta-oe/recipes-support/dstat/dstat_0.7.2.bb @@ -0,0 +1,23 @@ +SUMMARY = "versatile resource statics tool" +DESCRIPTION = "Dstat is a versatile replacement for vmstat, iostat, netstat and ifstat. \ +Dstat overcomes some of their limitations and adds some extra features, more counters \ +and flexibility. Dstat is handy for monitoring systems during performance tuning tests, \ +benchmarks or troubleshooting." +HOMEPAGE = "http://dag.wiee.rs/home-made/dstat" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +SRC_URI = "git://github.com/dagwieers/dstat.git" +SRC_URI[md5sum] = "798e050e2e024f08a272dd4b0e1eba41" +SRC_URI[sha256sum] = "96d1e6ea2434e477fa97322d92778f68458d7e57bc55bc4f72e29467a52cffd1" + +SRCREV = "5251397eb8d3b284a90bfdfaec0c8e1210146e3f" + +S = "${WORKDIR}/git" + +do_compile_prepend() { + #undo the step "make docs" + sed -i -e 's/$(MAKE) -C docs docs/# $(MAKE) -C docs docs/;' ${S}/Makefile +} +do_install() { + oe_runmake 'DESTDIR=${D}' install +} diff --git a/meta-oe/recipes-support/emacs/emacs_23.4.bb b/meta-oe/recipes-support/emacs/emacs_23.4.bb index 3db5da68dc..a32482883b 100644 --- a/meta-oe/recipes-support/emacs/emacs_23.4.bb +++ b/meta-oe/recipes-support/emacs/emacs_23.4.bb @@ -2,7 +2,7 @@ require emacs.inc PR = "r4" -PNBLACKLIST[emacs] = "qemu: uncaught target signal 11 (Segmentation fault) - core dumped" +PNBLACKLIST[emacs] ?= "qemu: uncaught target signal 11 (Segmentation fault) - core dumped" SRC_URI = "${GNU_MIRROR}/emacs/emacs-${PV}.tar.gz;name=tarball \ file://use-qemu.patch \ diff --git a/meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch b/meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch new file mode 100644 index 0000000000..dbf0fb8ea7 --- /dev/null +++ b/meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch @@ -0,0 +1,28 @@ +From 7e144495093187143a3d1589f74c2eac37e4d790 Mon Sep 17 00:00:00 2001 +From: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> +Date: Sun, 4 May 2014 15:49:28 +0200 +Subject: [PATCH] libiconv.m4: Fix AM_ICONV macro usage + +This patch come straight from the Buildroot source tree. + +Signed-off-by: Bernd Kuhls <berndkuhls@hotmail.com> +Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> +--- + m4/libiconv.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/m4/libiconv.m4 b/m4/libiconv.m4 +index fc8c6f8..3a59549 100644 +--- a/m4/libiconv.m4 ++++ b/m4/libiconv.m4 +@@ -17,7 +17,7 @@ AC_REQUIRE([AC_C_CONST])dnl + dnl + + dnl Use standard iconv test +-AM_ICONV ++m4_pattern_allow([AM_ICONV]) + CONVERTOR_LIBS="$CONVERTOR_LIBS $LIBICONV" + + dnl Compile iconvcap.c and run it to determine what encodings iconv actually +-- +1.9.3 diff --git a/meta-oe/recipes-support/enca/enca_1.9.bb b/meta-oe/recipes-support/enca/enca_1.9.bb index efea5a3c1e..184b27e534 100644 --- a/meta-oe/recipes-support/enca/enca_1.9.bb +++ b/meta-oe/recipes-support/enca/enca_1.9.bb @@ -11,7 +11,8 @@ SRC_URI = "http://www.sourcefiles.org/Networking/Tools/Miscellanenous/enca-${PV} file://configure-hack.patch \ file://dont-run-tests.patch \ file://configure-remove-dumbness.patch \ - file://makefile-remove-tools.patch " + file://makefile-remove-tools.patch \ + file://libenca-003-iconv.patch " SRC_URI[md5sum] = "b3581e28d68d452286fb0bfe58bed3b3" SRC_URI[sha256sum] = "02acfef2b24a9c842612da49338138311f909f1cd33933520c07b8b26c410f4d" diff --git a/meta-oe/recipes-support/engine-pkcs11/engine-pkcs11_0.1.8.bb b/meta-oe/recipes-support/engine-pkcs11/engine-pkcs11_0.1.8.bb new file mode 100644 index 0000000000..d665242bb1 --- /dev/null +++ b/meta-oe/recipes-support/engine-pkcs11/engine-pkcs11_0.1.8.bb @@ -0,0 +1,29 @@ +SUMMARY = "A PKCS" +DESCRIPTION = "\ +Engine_pkcs11 is an implementation of an engine for OpenSSL. It can be \ +loaded using code, config file or command line and will pass any function \ +call by openssl to a PKCS cards and software for using smart cards in PKCS" +HOMEPAGE = "https://github.com/OpenSC/engine_pkcs11" +SECTION = "Development/Libraries" +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://doc/README;md5=d2ab6bf8854463fa6bf98f5bb6dfc47c" +DEPENDS = "openssl libp11" + +SRC_URI = "git://github.com/OpenSC/engine_pkcs11.git" +SRCREV = "bb775c32dba8cc4b4381a53da7ab5d7b22b7921d" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +EXTRA_OECONF = "\ + --disable-static \ + --libdir ${libdir}/openssl \ +" + +do_install_append () { + rm -f ${D}${libdir}/openssl/engines/engine_pkcs11.la +} + +FILES_${PN} += "/usr/lib/openssl/engines/engine_pkcs11.so*" +FILES_${PN}-dbg += "/usr/lib/openssl/engines/.debug/*" diff --git a/meta-oe/recipes-support/fbtest/fb-test_git.bb b/meta-oe/recipes-support/fbtest/fb-test_git.bb index 65f98c1fe4..13f9e377a8 100644 --- a/meta-oe/recipes-support/fbtest/fb-test_git.bb +++ b/meta-oe/recipes-support/fbtest/fb-test_git.bb @@ -11,9 +11,10 @@ SRC_URI = "git://github.com/prpplague/fb-test-app.git" S = "${WORKDIR}/git" do_install() { - install -d ${D}${bindir} - for prog in perf rect fb-test offset ; do - install -m 0755 $prog ${D}${bindir} - done + install -d ${D}${bindir} + install -m 0755 fb-test ${D}${bindir} + # avoid collisions with perf (perf) and mesa-demos (offset) + for prog in perf rect offset ; do + install -m 0755 $prog ${D}${bindir}/fb-$prog + done } - diff --git a/meta-oe/recipes-support/fftw/fftw.inc b/meta-oe/recipes-support/fftw/fftw.inc index 6bd622d9b8..1522ea0bb4 100644 --- a/meta-oe/recipes-support/fftw/fftw.inc +++ b/meta-oe/recipes-support/fftw/fftw.inc @@ -3,6 +3,8 @@ SECTION = "libs" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" +PROVIDES = "virtual/fftw" + RPROVIDES_${PN} += "libfftw3" SRC_URI = "http://www.fftw.org/fftw-${PV}.tar.gz" @@ -17,7 +19,7 @@ do_configure_prepend() { echo 'AM_PROG_AS' >> ${S}/configure.ac } -PACKAGES =+ "lib${PN}" -FILES_lib${PN} = "${libdir}/lib*.so.*" +PACKAGES =+ "lib${BPN}" +FILES_lib${BPN} = "${libdir}/lib*.so.*" # rename binary in /bin and use u-a tpo choose between different precision implementations? diff --git a/meta-oe/recipes-support/fftw/fftwf_3.3.4.bb b/meta-oe/recipes-support/fftw/fftwf_3.3.4.bb index 59f4a111f6..7a4fbac8c1 100644 --- a/meta-oe/recipes-support/fftw/fftwf_3.3.4.bb +++ b/meta-oe/recipes-support/fftw/fftwf_3.3.4.bb @@ -1,5 +1,8 @@ require fftw.inc +# conflicts with fftw and fftwl +EXCLUDE_FROM_WORLD = "1" + EXTRA_OECONF += "--enable-single \ ${@base_contains('TUNE_FEATURES', 'neon', '--enable-neon', '', d)} \ " diff --git a/meta-oe/recipes-support/fftw/fftwl_3.3.4.bb b/meta-oe/recipes-support/fftw/fftwl_3.3.4.bb index 8f37346596..432ff1241e 100644 --- a/meta-oe/recipes-support/fftw/fftwl_3.3.4.bb +++ b/meta-oe/recipes-support/fftw/fftwl_3.3.4.bb @@ -1,5 +1,8 @@ require fftw.inc +# conflicts with fftw and fftwf +EXCLUDE_FROM_WORLD = "1" + EXTRA_OECONF += "--enable-long-double" SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3" diff --git a/meta-oe/recipes-support/fltk/fltk_1.1.10.bb b/meta-oe/recipes-support/fltk/fltk_1.1.10.bb index fa01455312..4fd3645c66 100644 --- a/meta-oe/recipes-support/fltk/fltk_1.1.10.bb +++ b/meta-oe/recipes-support/fltk/fltk_1.1.10.bb @@ -8,6 +8,8 @@ DEPENDS = "alsa-lib zlib jpeg libpng libxext libxft" PR = "r1" +PNBLACKLIST[fltk] ?= "broken: still uses /usr/bin/freetype-config" + SRC_URI = "ftp://ftp.rz.tu-bs.de/pub/mirror/ftp.easysw.com/ftp/pub/fltk/${PV}/fltk-${PV}-source.tar.bz2 \ file://disable_test.patch \ file://dso-fix.patch \ diff --git a/meta-oe/recipes-support/gradm/gradm/0001-Makefile-remove-strip.patch b/meta-oe/recipes-support/gradm/gradm/0001-Makefile-remove-strip.patch new file mode 100644 index 0000000000..f0c697c7b5 --- /dev/null +++ b/meta-oe/recipes-support/gradm/gradm/0001-Makefile-remove-strip.patch @@ -0,0 +1,61 @@ +From fbf7b9e5a8e2978acd5b0a7a8311912a080ee9b9 Mon Sep 17 00:00:00 2001 +From: Qian Lei <qianl.fnst@cn.fujitsu.com> +Date: Thu, 18 Dec 2014 11:09:01 +0800 +Subject: [PATCH] Makefile: remove strip + +Avoid QA error by removing strip from Makefile + +[...] +ERROR: QA Issue: File '/sbin/gradm' from gradm was already stripped, +this will prevent future debugging! [already-stripped] +ERROR: QA Issue: File '/sbin/grlearn' from gradm was already stripped, +this will prevent future debugging! [already-stripped] +[...] + +Upstream-Status: Pending + +Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com> + +--- + Makefile | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/Makefile b/Makefile +index 6c33fee..3570a4e 100644 +--- a/Makefile ++++ b/Makefile +@@ -24,7 +24,6 @@ MKNOD=/bin/mknod + #CC=/usr/bin/diet /usr/bin/gcc + CC=/usr/bin/gcc + FIND=/usr/bin/find +-STRIP=/usr/bin/strip + LIBS := $(shell if [ "`uname -m`" != "sparc64" -a "`uname -m`" != "x86_64" ]; then echo "-lfl" ; else echo "" ; fi) + OPT_FLAGS := -O2 + # for older versions of grsecurity, comment the above line and uncomment the below: +@@ -140,15 +139,12 @@ install: $(GRADM_BIN) gradm.8 policy grlearn + @mkdir -p $(DESTDIR)/sbin + @echo "Installing gradm..." + @$(INSTALL) -m 0755 $(GRADM_BIN) $(DESTDIR)/sbin +- @$(STRIP) $(DESTDIR)/sbin/$(GRADM_BIN) + @if [ -f $(GRADM_PAM) ] ; then \ + echo "Installing gradm_pam..." ; \ + $(INSTALL) -m 4755 $(GRADM_PAM) $(DESTDIR)/sbin ; \ +- $(STRIP) $(DESTDIR)/sbin/$(GRADM_PAM) ; \ + fi + @echo "Installing grlearn..." + @$(INSTALL) -m 0700 grlearn $(DESTDIR)/sbin +- @$(STRIP) $(DESTDIR)/sbin/grlearn + @mkdir -p -m 700 $(DESTDIR)$(GRSEC_DIR) + @if [ ! -f $(DESTDIR)$(GRSEC_DIR)/policy ] ; then \ + if [ -f $(DESTDIR)$(GRSEC_DIR)/acl ] ; then \ +@@ -168,6 +164,7 @@ install: $(GRADM_BIN) gradm.8 policy grlearn + $(MKNOD) -m 0622 $(DESTDIR)/dev/grsec c 1 13 ; \ + fi \ + fi ++ @mkdir -p $(DESTDIR)/etc/udev/rules.d + @if [ -d $(DESTDIR)/etc/udev/rules.d ] ; then \ + echo "ACTION!=\"add|change\", GOTO=\"permissions_end\"" > $(DESTDIR)/etc/udev/rules.d/80-grsec.rules ; \ + echo "KERNEL==\"grsec\", MODE=\"0622\"" >> $(DESTDIR)/etc/udev/rules.d/80-grsec.rules ; \ +-- +1.8.3.1 + diff --git a/meta-oe/recipes-support/gradm/gradm_3.0.bb b/meta-oe/recipes-support/gradm/gradm_3.0.bb new file mode 100644 index 0000000000..2f1d39d996 --- /dev/null +++ b/meta-oe/recipes-support/gradm/gradm_3.0.bb @@ -0,0 +1,50 @@ +SUMMARY = "Administration program for the grsecurity RBAC syste" +DESCRIPTION = "\ +gradm is the userspace RBAC parsing and authentication program for \ +grsecurity grsecurity aims to be a complete security system. gradm \ +performs several tasks for the RBAC system including authenticated \ +via a password to the kernel and parsing rules to be passed to the \ +kernel" +HOMEPAGE = "http://grsecurity.net/index.php" +SECTION = "admin" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4641e94ec96f98fabc56ff9cc48be14b" +DEPENDS = "flex-native bison-native ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" + +SRC_URI = "http://grsecurity.net/stable/${BP}-201408301734.tar.gz \ + file://0001-Makefile-remove-strip.patch" +SRC_URI[md5sum] = "79ec912e6544c5e58753f658623763f9" +SRC_URI[sha256sum] = "b190e5afecdf3ac5020a4e5e4b698645f1c01b20d036129dd8b609c4bd0c319c" + +S = "${WORKDIR}/gradm" + +inherit autotools-brokensep + +do_compile() { + oe_runmake 'CC=${CC}' \ + 'OPT_FLAGS=${CFLAGS}' \ + 'LLEX=${STAGING_BINDIR_NATIVE}/lex' \ + 'FLEX=${STAGING_BINDIR_NATIVE}/flex' \ + 'BISON=${STAGING_BINDIR_NATIVE}/bison' \ + ${@base_contains('DISTRO_FEATURES', 'pam', ' ', 'nopam', d)} +} + +do_install() { + oe_runmake 'CC=${CC}' \ + 'DESTDIR=${D}' \ + 'LLEX=${STAGING_BINDIR_NATIVE}/lex' \ + 'FLEX=${STAGING_BINDIR_NATIVE}/flex' \ + 'BISON=${STAGING_BINDIR_NATIVE}/bison' \ + install + + # The device nodes are generated by postinstall or udev + rm -rf ${D}/dev +} + +pkg_postinst_${PN}() { + # make sure running on the target + if [ x"$D" != "x" ]; then + exit 1 + fi + /bin/mknod -m 0622 /dev/grsec c 1 13 +} diff --git a/meta-oe/recipes-support/imagemagick/imagemagick/do-not-install-magick-baseconfig.h-repeatedly.patch b/meta-oe/recipes-support/imagemagick/imagemagick/do-not-install-magick-baseconfig.h-repeatedly.patch deleted file mode 100644 index 114fb5ed40..0000000000 --- a/meta-oe/recipes-support/imagemagick/imagemagick/do-not-install-magick-baseconfig.h-repeatedly.patch +++ /dev/null @@ -1,49 +0,0 @@ -From bbdd42384d0b5f3ccb11465f63d90097579a1897 Mon Sep 17 00:00:00 2001 -From: Konrad Scherer <konrad.scherer@windriver.com> -Date: Tue, 10 Jun 2014 15:43:16 +0800 -Subject: [PATCH] imagemagick: do not install magick-baseconfig.h repeatedly - -Both targets install-data-local & install-includeHEADERS will install -header file magick-baseconfig.h to the same location, and they might -be run in the same time while enabling parallel build: - -* target dependencies: - + install-data-am: ... install-data-local ... install-includeHEADERS - -* make install error: - /usr/bin/install: cannot create regular file \ - `.../usr/include/ImageMagick-6/magick/magick-baseconfig.h': \ - File exists \ - make[3]: *** [install-magickincarchHEADERS] Error 1 - -* reproduce the error: - $ /usr/bin/install test /tmp & /usr/bin/install test /tmp - [1] 4052 - /usr/bin/install: cannot create regular file `/tmp/test': File exists - [1]+ Exit 1 /usr/bin/install test /tmp - -Just disable the one from install-data-local to remove this race issue. - -Upstream-Status: pending - -Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> ---- - magick/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/magick/Makefile.am b/magick/Makefile.am -index 2f72461..e45466c 100644 ---- a/magick/Makefile.am -+++ b/magick/Makefile.am -@@ -468,7 +468,7 @@ MAGICK_EXTRA_DIST = \ - magick/xwdfile.h_vms - - # Install magick-baseconfig.h --MAGICK_INSTALL_DATA_LOCAL_TARGETS = magick-install-data-local -+MAGICK_INSTALL_DATA_LOCAL_TARGETS = - magick-install-data-local: - $(mkinstalldirs) $(DESTDIR)$(magickincarchdir) - $(INSTALL_HEADER) magick/magick-baseconfig.h $(DESTDIR)$(magickincarchdir)/magick-baseconfig.h --- -1.8.2.1 - diff --git a/meta-oe/recipes-support/imagemagick/imagemagick/remove.dist-lzip.patch b/meta-oe/recipes-support/imagemagick/imagemagick/remove.dist-lzip.patch deleted file mode 100644 index 559aa247d0..0000000000 --- a/meta-oe/recipes-support/imagemagick/imagemagick/remove.dist-lzip.patch +++ /dev/null @@ -1,17 +0,0 @@ -Our automake-1.11.2 doesn't support it yet, see: -http://lists.gnu.org/archive/html/automake/2011-12/msg00081.html - -Upstream-Status: Inappropriate [fix or upgrade oe-core automake] - -diff -uNr ImageMagick-6.7.5-6.orig/configure.ac ImageMagick-6.7.5-6/configure.ac ---- ImageMagick-6.7.5-6.orig/configure.ac 2012-02-12 18:07:28.000000000 +0100 -+++ ImageMagick-6.7.5-6/configure.ac 2012-02-15 12:55:47.668813474 +0100 -@@ -128,7 +128,7 @@ - # Ensure that make can run correctly - AM_SANITY_CHECK - --AM_INIT_AUTOMAKE([1.11 color-tests foreign parallel-tests silent-rules subdir-objects dist-bzip2 dist-lzip dist-xz dist-zip]) -+AM_INIT_AUTOMAKE([1.11 color-tests foreign parallel-tests silent-rules subdir-objects dist-bzip2 dist-xz dist-zip]) - - # Enable support for silent build rules - m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) diff --git a/meta-oe/recipes-support/imagemagick/imagemagick_6.8.8.bb b/meta-oe/recipes-support/imagemagick/imagemagick_6.8.9.bb index 847ab34932..1252020d27 100644 --- a/meta-oe/recipes-support/imagemagick/imagemagick_6.8.8.bb +++ b/meta-oe/recipes-support/imagemagick/imagemagick_6.8.9.bb @@ -3,24 +3,23 @@ SECTION = "console/utils" LICENSE = "ImageMagick" LIC_FILES_CHKSUM = "file://LICENSE;md5=5d84c6ddd4028aa53d028b4c50f9361e" # FIXME: There are many more checked libraries. All should be added or explicitly disabled to get consistent results. -DEPENDS = "lcms bzip2 jpeg libpng librsvg tiff zlib fftw freetype" +DEPENDS = "lcms bzip2 jpeg libpng librsvg tiff zlib virtual/fftw freetype" -PATCHSET = "10" -SRC_URI = "http://www.imagemagick.org/download/legacy/ImageMagick-${PV}-${PATCHSET}.tar.bz2 \ - file://remove.dist-lzip.patch \ - file://do-not-install-magick-baseconfig.h-repeatedly.patch \ +PATCHSET = "9" +SRC_URI = "http://www.imagemagick.org/download/releases/ImageMagick-${PV}-${PATCHSET}.tar.bz2 \ " -SRC_URI[md5sum] = "a3a0fa301965d6fde68fccd066f62b0b" -SRC_URI[sha256sum] = "8c0982b2bc0c1cea8ac9627b4e1e5d37f8171ef8282ee09aef32529cf68e1820" +SRC_URI[md5sum] = "971648be6ae5f5070d98e2b6c5fb004d" +SRC_URI[sha256sum] = "ea0c4f00019b58b290b1329e4e747972c61a00780a67b35df9228a76f26f1592" S = "${WORKDIR}/ImageMagick-${PV}-${PATCHSET}" -inherit autotools binconfig pkgconfig +inherit autotools pkgconfig # xml disabled because it's using xml2-config --prefix to determine prefix which returns just /usr with our libxml2 # if someone needs xml support then fix it first EXTRA_OECONF = "--program-prefix= --program-suffix=.im6 --without-x --without-perl --disable-openmp --without-xml --disable-opencl" +CACHED_CONFIGUREVARS = "ac_cv_sys_file_offset_bits=yes" PACKAGECONFIG ??= "" PACKAGECONFIG[jp2] = "--with-jp2,,jasper" PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz" @@ -40,9 +39,3 @@ FILES_${PN}-dev += "${libdir}/ImageMagick-${PV}/modules-Q16/*/*.a" FILES_${PN}-dbg += "${libdir}/ImageMagick-${PV}/modules-Q16/*/.debug/*" BBCLASSEXTEND = "native" - -LEAD_SONAME = "libMagickCore.so.*" - -do_configure_prepend() { - export ac_cv_sys_file_offset_bits=yes -} diff --git a/meta-oe/recipes-support/lcov/lcov_1.11.bb b/meta-oe/recipes-support/lcov/lcov_1.11.bb new file mode 100644 index 0000000000..5f3b889346 --- /dev/null +++ b/meta-oe/recipes-support/lcov/lcov_1.11.bb @@ -0,0 +1,28 @@ +SUMMARY = "A graphical front-end for gcov" +HOMEPAGE = "http://ltp.sourceforge.net/coverage/lcov.php" +DESCRIPTION = "LCOV is a graphical front-end for GCC's coverage testing \ +tool gcov. It collects gcov data for multiple source files and creates \ +HTML pages containing the source code annotated with coverage information. \ +It also adds overview pages for easy navigation within the file structure. \ +LCOV supports statement, function and branch coverage measurement." +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +RDEPENDS_${PN} += " \ + gcov \ + perl \ + perl-module-filehandle \ + perl-module-getopt-std \ + perl-module-digest-sha \ +" + +SRC_URI = "http://downloads.sourceforge.net/ltp/${BP}.tar.gz" + +SRC_URI[md5sum] = "e79b799ae3ce149aa924c7520e993024" +SRC_URI[sha256sum] = "c282de8d678ecbfda32ce4b5c85fc02f77c2a39a062f068bd8e774d29ddc9bf8" + +do_install() { + oe_runmake install PREFIX=${D} + sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/* +} + diff --git a/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb b/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb index cb171ac62f..0f00b209fb 100644 --- a/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb +++ b/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb @@ -59,4 +59,4 @@ FILES_${PN}-gtk3 = "${libdir}/${BPN}-gtk3.so.* \ FILES_${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/ \ ${datadir}/gdm/ ${datadir}/gnome/" -FILES_${PN}-systemd = "${base_libdir}/systemd/system/*.service" +FILES_${PN}-systemd = "${systemd_unitdir}/system/*.service" diff --git a/meta-oe/recipes-support/libcap-ng/libcap-ng/python.patch b/meta-oe/recipes-support/libcap-ng/libcap-ng/python.patch new file mode 100644 index 0000000000..d82ceb454b --- /dev/null +++ b/meta-oe/recipes-support/libcap-ng/libcap-ng/python.patch @@ -0,0 +1,39 @@ +configure.ac - Avoid an incorrect check for python. +Makefile.am - avoid hard coded host include paths. + +Signed-off-by: Mark Hatle <mark.hatle@windriver.com> + +--- libcap-ng-0.6.5/configure.ac.orig 2012-01-17 13:59:03.645898989 -0600 ++++ libcap-ng-0.6.5/configure.ac 2012-01-17 13:59:46.353959252 -0600 +@@ -120,17 +120,8 @@ + else + AC_MSG_RESULT(testing) + AM_PATH_PYTHON +-if test -f /usr/include/python${am_cv_python_version}/Python.h ; then +- python_found="yes" +- AC_MSG_NOTICE(Python bindings will be built) +-else +- python_found="no" +- if test x$use_python = xyes ; then +- AC_MSG_ERROR([Python explicitly required and python headers found]) +- else +- AC_MSG_WARN("Python headers not found - python bindings will not be made") +- fi +-fi ++python_found="yes" ++AC_MSG_NOTICE(Python bindings will be built) + fi + AM_CONDITIONAL(HAVE_PYTHON, test ${python_found} = "yes") + +--- libcap-ng-0.6.5/bindings/python/Makefile.am.orig 2010-11-03 12:31:59.000000000 -0500 ++++ libcap-ng-0.6.5/bindings/python/Makefile.am 2012-01-17 14:05:50.199834467 -0600 +@@ -24,7 +24,8 @@ + CONFIG_CLEAN_FILES = *.loT *.rej *.orig + AM_CFLAGS = -fPIC -DPIC + PYLIBVER ?= python$(PYTHON_VERSION) +-INCLUDES = -I. -I$(top_builddir) -I/usr/include/$(PYLIBVER) ++PYINC ?= /usr/include/$(PYLIBVER) ++INCLUDES = -I. -I$(top_builddir) -I$(PYINC) + LIBS = $(top_builddir)/src/libcap-ng.la + pyexec_PYTHON = capng.py + pyexec_LTLIBRARIES = _capng.la diff --git a/meta-oe/recipes-support/libcap-ng/libcap-ng_0.7.4.bb b/meta-oe/recipes-support/libcap-ng/libcap-ng_0.7.4.bb new file mode 100644 index 0000000000..8823dad390 --- /dev/null +++ b/meta-oe/recipes-support/libcap-ng/libcap-ng_0.7.4.bb @@ -0,0 +1,37 @@ +SUMMARY = "An alternate posix capabilities library" +DESCRIPTION = "The libcap-ng library is intended to make programming \ +with POSIX capabilities much easier than the traditional libcap library." +HOMEPAGE = "http://freecode.com/projects/libcap-ng" +SECTION = "base" +LICENSE = "GPLv2+ & LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06" + +SRC_URI = "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz \ + file://python.patch" + +inherit lib_package autotools pythonnative + +SRC_URI[md5sum] = "55c57c0673b944ea1a755bcb2636dabd" +SRC_URI[sha256sum] = "48a2083276f9820cb92dcb05d001b30733bcbf48c14c230303cac3cd08b45b6b" + +DEPENDS += "swig-native python" + +EXTRA_OEMAKE += "PYLIBVER='python${PYTHON_BASEVERSION}' PYINC='${STAGING_INCDIR}/${PYLIBVER}'" + +PACKAGES += "${PN}-python" + +FILES_${PN}-dbg += "${libdir}/python${PYTHON_BASEVERSION}/*/.debug" +FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}" + +BBCLASSEXTEND = "native" + +do_install_append() { + # Moving libcap-ng to base_libdir + if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then + mkdir -p ${D}/${base_libdir}/ + mv -f ${D}${libdir}/libcap-ng.so.* ${D}${base_libdir}/ + relpath=${@os.path.relpath("${base_libdir}", "${libdir}")} + ln -sf ${relpath}/libcap-ng.so.0.0.0 ${D}${libdir}/libcap-ng.so + fi +} diff --git a/meta-oe/recipes-support/libftdi/libftdi-0.19/libtool-m4.patch b/meta-oe/recipes-support/libftdi/libftdi-0.19/libtool-m4.patch deleted file mode 100644 index fff90a93d5..0000000000 --- a/meta-oe/recipes-support/libftdi/libftdi-0.19/libtool-m4.patch +++ /dev/null @@ -1,7377 +0,0 @@ -Index: libftdi-0.18/Makefile.am -=================================================================== ---- libftdi-0.18.orig/Makefile.am 2009-11-03 08:19:36.000000000 -0800 -+++ libftdi-0.18/Makefile.am 2010-08-06 21:37:38.723444001 -0700 -@@ -2,7 +2,8 @@ - # have all needed files, that a GNU package needs - AUTOMAKE_OPTIONS = foreign 1.4 - --SUBDIRS = src bindings $(LIBFTDI_MODULES) examples doc -+ACLOCAL_AMFLAGS = -I m4 -+SUBDIRS = src bindings $(LIBFTDI_MODULES) doc - - EXTRA_DIST = libftdi.spec libftdi.spec.in COPYING.LIB COPYING.GPL LICENSE \ - README AUTHORS ChangeLog libftdi-config.in CMakeLists.txt \ -Index: libftdi-0.18/m4/libtool.m4 -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ libftdi-0.18/m4/libtool.m4 2010-08-06 21:39:28.863444000 -0700 -@@ -0,0 +1,7358 @@ -+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -+# -+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -+# 2006, 2007, 2008 Free Software Foundation, Inc. -+# Written by Gordon Matzigkeit, 1996 -+# -+# This file is free software; the Free Software Foundation gives -+# unlimited permission to copy and/or distribute it, with or without -+# modifications, as long as this notice is preserved. -+ -+m4_define([_LT_COPYING], [dnl -+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -+# 2006, 2007, 2008 Free Software Foundation, Inc. -+# Written by Gordon Matzigkeit, 1996 -+# -+# This file is part of GNU Libtool. -+# -+# GNU Libtool 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. -+# -+# As a special exception to the GNU General Public License, -+# if you distribute this file as part of a program or library that -+# is built using GNU Libtool, you may include this file under the -+# same distribution terms that you use for the rest of that program. -+# -+# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy -+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -+# obtained by writing to the Free Software Foundation, Inc., -+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -+]) -+ -+# serial 56 LT_INIT -+ -+ -+# LT_PREREQ(VERSION) -+# ------------------ -+# Complain and exit if this libtool version is less that VERSION. -+m4_defun([LT_PREREQ], -+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, -+ [m4_default([$3], -+ [m4_fatal([Libtool version $1 or higher is required], -+ 63)])], -+ [$2])]) -+ -+ -+# _LT_CHECK_BUILDDIR -+# ------------------ -+# Complain if the absolute build directory name contains unusual characters -+m4_defun([_LT_CHECK_BUILDDIR], -+[case `pwd` in -+ *\ * | *\ *) -+ AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; -+esac -+]) -+ -+ -+# LT_INIT([OPTIONS]) -+# ------------------ -+AC_DEFUN([LT_INIT], -+[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT -+AC_BEFORE([$0], [LT_LANG])dnl -+AC_BEFORE([$0], [LT_OUTPUT])dnl -+AC_BEFORE([$0], [LTDL_INIT])dnl -+m4_require([_LT_CHECK_BUILDDIR])dnl -+ -+dnl Autoconf doesn't catch unexpanded LT_ macros by default: -+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl -+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 -+dnl unless we require an AC_DEFUNed macro: -+AC_REQUIRE([LTOPTIONS_VERSION])dnl -+AC_REQUIRE([LTSUGAR_VERSION])dnl -+AC_REQUIRE([LTVERSION_VERSION])dnl -+AC_REQUIRE([LTOBSOLETE_VERSION])dnl -+m4_require([_LT_PROG_LTMAIN])dnl -+ -+dnl Parse OPTIONS -+_LT_SET_OPTIONS([$0], [$1]) -+ -+# This can be used to rebuild libtool when needed -+LIBTOOL_DEPS="$ltmain" -+ -+# Always use our own libtool. -+LIBTOOL='$(SHELL) $(top_builddir)' -+LIBTOOL="$LIBTOOL/$host_alias-libtool" -+AC_SUBST(LIBTOOL)dnl -+ -+_LT_SETUP -+ -+# Only expand once: -+m4_define([LT_INIT]) -+])# LT_INIT -+ -+# Old names: -+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) -+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) -+dnl aclocal-1.4 backwards compatibility: -+dnl AC_DEFUN([AC_PROG_LIBTOOL], []) -+dnl AC_DEFUN([AM_PROG_LIBTOOL], []) -+ -+ -+# _LT_CC_BASENAME(CC) -+# ------------------- -+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -+m4_defun([_LT_CC_BASENAME], -+[for cc_temp in $1""; do -+ case $cc_temp in -+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; -+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; -+ \-*) ;; -+ *) break;; -+ esac -+done -+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` -+]) -+ -+ -+# _LT_FILEUTILS_DEFAULTS -+# ---------------------- -+# It is okay to use these file commands and assume they have been set -+# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. -+m4_defun([_LT_FILEUTILS_DEFAULTS], -+[: ${CP="cp -f"} -+: ${MV="mv -f"} -+: ${RM="rm -f"} -+])# _LT_FILEUTILS_DEFAULTS -+ -+ -+# _LT_SETUP -+# --------- -+m4_defun([_LT_SETUP], -+[AC_REQUIRE([AC_CANONICAL_HOST])dnl -+AC_REQUIRE([AC_CANONICAL_BUILD])dnl -+_LT_DECL([], [host_alias], [0], [The host system])dnl -+_LT_DECL([], [host], [0])dnl -+_LT_DECL([], [host_os], [0])dnl -+dnl -+_LT_DECL([], [build_alias], [0], [The build system])dnl -+_LT_DECL([], [build], [0])dnl -+_LT_DECL([], [build_os], [0])dnl -+dnl -+AC_REQUIRE([AC_PROG_CC])dnl -+AC_REQUIRE([LT_PATH_LD])dnl -+AC_REQUIRE([LT_PATH_NM])dnl -+dnl -+AC_REQUIRE([AC_PROG_LN_S])dnl -+test -z "$LN_S" && LN_S="ln -s" -+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl -+dnl -+AC_REQUIRE([LT_CMD_MAX_LEN])dnl -+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl -+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl -+dnl -+m4_require([_LT_FILEUTILS_DEFAULTS])dnl -+m4_require([_LT_CHECK_SHELL_FEATURES])dnl -+m4_require([_LT_CMD_RELOAD])dnl -+m4_require([_LT_CHECK_MAGIC_METHOD])dnl -+m4_require([_LT_CMD_OLD_ARCHIVE])dnl -+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -+ -+_LT_CONFIG_LIBTOOL_INIT([ -+# See if we are running on zsh, and set the options which allow our -+# commands through without removal of \ escapes INIT. -+if test -n "\${ZSH_VERSION+set}" ; then -+ setopt NO_GLOB_SUBST -+fi -+]) -+if test -n "${ZSH_VERSION+set}" ; then -+ setopt NO_GLOB_SUBST -+fi -+ -+_LT_CHECK_OBJDIR -+ -+m4_require([_LT_TAG_COMPILER])dnl -+_LT_PROG_ECHO_BACKSLASH -+ -+case $host_os in -+aix3*) -+ # AIX sometimes has problems with the GCC collect2 program. For some -+ # reason, if we set the COLLECT_NAMES environment variable, the problems -+ # vanish in a puff of smoke. -+ if test "X${COLLECT_NAMES+set}" != Xset; then -+ COLLECT_NAMES= -+ export COLLECT_NAMES -+ fi -+ ;; -+esac -+ -+# Sed substitution that helps us do robust quoting. It backslashifies -+# metacharacters that are still active within double-quoted strings. -+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' -+ -+# Same as above, but do not quote variable references. -+double_quote_subst='s/\([["`\\]]\)/\\\1/g' -+ -+# Sed substitution to delay expansion of an escaped shell variable in a -+# double_quote_subst'ed string. -+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' -+ -+# Sed substitution to delay expansion of an escaped single quote. -+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' -+ -+# Sed substitution to avoid accidental globbing in evaled expressions -+no_glob_subst='s/\*/\\\*/g' -+ -+# Global variables: -+ofile=${host_alias}-libtool -+can_build_shared=yes -+ -+# All known linkers require a `.a' archive for static linking (except MSVC, -+# which needs '.lib'). -+libext=a -+ -+with_gnu_ld="$lt_cv_prog_gnu_ld" -+ -+old_CC="$CC" -+old_CFLAGS="$CFLAGS" -+ -+# Set sane defaults for various variables -+test -z "$CC" && CC=cc -+test -z "$LTCC" && LTCC=$CC -+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -+test -z "$LD" && LD=ld -+test -z "$ac_objext" && ac_objext=o -+ -+_LT_CC_BASENAME([$compiler]) -+ -+# Only perform the check for file, if the check method requires it -+test -z "$MAGIC_CMD" && MAGIC_CMD=file -+case $deplibs_check_method in -+file_magic*) -+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then -+ _LT_PATH_MAGIC -+ fi -+ ;; -+esac -+ -+# Use C for the default configuration in the libtool script -+LT_SUPPORTED_TAG([CC]) -+_LT_LANG_C_CONFIG -+_LT_LANG_DEFAULT_CONFIG -+_LT_CONFIG_COMMANDS -+])# _LT_SETUP -+ -+ -+# _LT_PROG_LTMAIN -+# --------------- -+# Note that this code is called both from `configure', and `config.status' -+# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, -+# `config.status' has no value for ac_aux_dir unless we are using Automake, -+# so we pass a copy along to make sure it has a sensible value anyway. -+m4_defun([_LT_PROG_LTMAIN], -+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl -+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) -+ltmain="$ac_aux_dir/ltmain.sh" -+])# _LT_PROG_LTMAIN -+ -+ -+## ------------------------------------- ## -+## Accumulate code for creating libtool. ## -+## ------------------------------------- ## -+ -+# So that we can recreate a full libtool script including additional -+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS -+# in macros and then make a single call at the end using the `libtool' -+# label. -+ -+ -+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) -+# ---------------------------------------- -+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. -+m4_define([_LT_CONFIG_LIBTOOL_INIT], -+[m4_ifval([$1], -+ [m4_append([_LT_OUTPUT_LIBTOOL_INIT], -+ [$1 -+])])]) -+ -+# Initialize. -+m4_define([_LT_OUTPUT_LIBTOOL_INIT]) -+ -+ -+# _LT_CONFIG_LIBTOOL([COMMANDS]) -+# ------------------------------ -+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. -+m4_define([_LT_CONFIG_LIBTOOL], -+[m4_ifval([$1], -+ [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], -+ [$1 -+])])]) -+ -+# Initialize. -+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) -+ -+ -+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) -+# ----------------------------------------------------- -+m4_defun([_LT_CONFIG_SAVE_COMMANDS], -+[_LT_CONFIG_LIBTOOL([$1]) -+_LT_CONFIG_LIBTOOL_INIT([$2]) -+]) -+ -+ -+# _LT_FORMAT_COMMENT([COMMENT]) -+# ----------------------------- -+# Add leading comment marks to the start of each line, and a trailing -+# full-stop to the whole comment if one is not present already. -+m4_define([_LT_FORMAT_COMMENT], -+[m4_ifval([$1], [ -+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], -+ [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) -+)]) -+ -+ -+ -+## ------------------------ ## -+## FIXME: Eliminate VARNAME ## -+## ------------------------ ## -+ -+ -+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) -+# ------------------------------------------------------------------- -+# CONFIGNAME is the name given to the value in the libtool script. -+# VARNAME is the (base) name used in the configure script. -+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on -+# VARNAME. Any other value will be used directly. -+m4_define([_LT_DECL], -+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], -+ [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], -+ [m4_ifval([$1], [$1], [$2])]) -+ lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) -+ m4_ifval([$4], -+ [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) -+ lt_dict_add_subkey([lt_decl_dict], [$2], -+ [tagged?], [m4_ifval([$5], [yes], [no])])]) -+]) -+ -+ -+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) -+# -------------------------------------------------------- -+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) -+ -+ -+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) -+# ------------------------------------------------ -+m4_define([lt_decl_tag_varnames], -+[_lt_decl_filter([tagged?], [yes], $@)]) -+ -+ -+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) -+# --------------------------------------------------------- -+m4_define([_lt_decl_filter], -+[m4_case([$#], -+ [0], [m4_fatal([$0: too few arguments: $#])], -+ [1], [m4_fatal([$0: too few arguments: $#: $1])], -+ [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], -+ [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], -+ [lt_dict_filter([lt_decl_dict], $@)])[]dnl -+]) -+ -+ -+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) -+# -------------------------------------------------- -+m4_define([lt_decl_quote_varnames], -+[_lt_decl_filter([value], [1], $@)]) -+ -+ -+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) -+# --------------------------------------------------- -+m4_define([lt_decl_dquote_varnames], -+[_lt_decl_filter([value], [2], $@)]) -+ -+ -+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) -+# --------------------------------------------------- -+m4_define([lt_decl_varnames_tagged], -+[m4_assert([$# <= 2])dnl -+_$0(m4_quote(m4_default([$1], [[, ]])), -+ m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), -+ m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) -+m4_define([_lt_decl_varnames_tagged], -+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) -+ -+ -+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) -+# ------------------------------------------------ -+m4_define([lt_decl_all_varnames], -+[_$0(m4_quote(m4_default([$1], [[, ]])), -+ m4_if([$2], [], -+ m4_quote(lt_decl_varnames), -+ m4_quote(m4_shift($@))))[]dnl -+]) -+m4_define([_lt_decl_all_varnames], -+[lt_join($@, lt_decl_varnames_tagged([$1], -+ lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl -+]) -+ -+ -+# _LT_CONFIG_STATUS_DECLARE([VARNAME]) -+# ------------------------------------ -+# Quote a variable value, and forward it to `config.status' so that its -+# declaration there will have the same value as in `configure'. VARNAME -+# must have a single quote delimited value for this to work. -+m4_define([_LT_CONFIG_STATUS_DECLARE], -+[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) -+ -+ -+# _LT_CONFIG_STATUS_DECLARATIONS -+# ------------------------------ -+# We delimit libtool config variables with single quotes, so when -+# we write them to config.status, we have to be sure to quote all -+# embedded single quotes properly. In configure, this macro expands -+# each variable declared with _LT_DECL (and _LT_TAGDECL) into: -+# -+# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`' -+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], -+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), -+ [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) -+ -+ -+# _LT_LIBTOOL_TAGS -+# ---------------- -+# Output comment and list of tags supported by the script -+m4_defun([_LT_LIBTOOL_TAGS], -+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl -+available_tags="_LT_TAGS"dnl -+]) -+ -+ -+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) -+# ----------------------------------- -+# Extract the dictionary values for VARNAME (optionally with TAG) and -+# expand to a commented shell variable setting: -+# -+# # Some comment about what VAR is for. -+# visible_name=$lt_internal_name -+m4_define([_LT_LIBTOOL_DECLARE], -+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], -+ [description])))[]dnl -+m4_pushdef([_libtool_name], -+ m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl -+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), -+ [0], [_libtool_name=[$]$1], -+ [1], [_libtool_name=$lt_[]$1], -+ [2], [_libtool_name=$lt_[]$1], -+ [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl -+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl -+]) -+ -+ -+# _LT_LIBTOOL_CONFIG_VARS -+# ----------------------- -+# Produce commented declarations of non-tagged libtool config variables -+# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' -+# script. Tagged libtool config variables (even for the LIBTOOL CONFIG -+# section) are produced by _LT_LIBTOOL_TAG_VARS. -+m4_defun([_LT_LIBTOOL_CONFIG_VARS], -+[m4_foreach([_lt_var], -+ m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), -+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) -+ -+ -+# _LT_LIBTOOL_TAG_VARS(TAG) -+# ------------------------- -+m4_define([_LT_LIBTOOL_TAG_VARS], -+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), -+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) -+ -+ -+# _LT_TAGVAR(VARNAME, [TAGNAME]) -+# ------------------------------ -+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) -+ -+ -+# _LT_CONFIG_COMMANDS -+# ------------------- -+# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of -+# variables for single and double quote escaping we saved from calls -+# to _LT_DECL, we can put quote escaped variables declarations -+# into `config.status', and then the shell code to quote escape them in -+# for loops in `config.status'. Finally, any additional code accumulated -+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. -+m4_defun([_LT_CONFIG_COMMANDS], -+[AC_PROVIDE_IFELSE([LT_OUTPUT], -+ dnl If the libtool generation code has been placed in $CONFIG_LT, -+ dnl instead of duplicating it all over again into config.status, -+ dnl then we will have config.status run $CONFIG_LT later, so it -+ dnl needs to know what name is stored there: -+ [AC_CONFIG_COMMANDS([libtool], -+ [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], -+ dnl If the libtool generation code is destined for config.status, -+ dnl expand the accumulated commands and init code now: -+ [AC_CONFIG_COMMANDS([libtool], -+ [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) -+])#_LT_CONFIG_COMMANDS -+ -+ -+# Initialize. -+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], -+[ -+ -+# The HP-UX ksh and POSIX shell print the target directory to stdout -+# if CDPATH is set. -+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH -+ -+sed_quote_subst='$sed_quote_subst' -+double_quote_subst='$double_quote_subst' -+delay_variable_subst='$delay_variable_subst' -+_LT_CONFIG_STATUS_DECLARATIONS -+LTCC='$LTCC' -+LTCFLAGS='$LTCFLAGS' -+compiler='$compiler_DEFAULT' -+ -+# Quote evaled strings. -+for var in lt_decl_all_varnames([[ \ -+]], lt_decl_quote_varnames); do -+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in -+ *[[\\\\\\\`\\"\\\$]]*) -+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" -+ ;; -+ *) -+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" -+ ;; -+ esac -+done -+ -+# Double-quote double-evaled strings. -+for var in lt_decl_all_varnames([[ \ -+]], lt_decl_dquote_varnames); do -+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in -+ *[[\\\\\\\`\\"\\\$]]*) -+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" -+ ;; -+ *) -+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" -+ ;; -+ esac -+done -+ -+# Fix-up fallback echo if it was mangled by the above quoting rules. -+case \$lt_ECHO in -+*'\\\[$]0 --fallback-echo"')dnl " -+ lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` -+ ;; -+esac -+ -+_LT_OUTPUT_LIBTOOL_INIT -+]) -+ -+ -+# LT_OUTPUT -+# --------- -+# This macro allows early generation of the libtool script (before -+# AC_OUTPUT is called), incase it is used in configure for compilation -+# tests. -+AC_DEFUN([LT_OUTPUT], -+[: ${CONFIG_LT=./config.lt} -+AC_MSG_NOTICE([creating $CONFIG_LT]) -+cat >"$CONFIG_LT" <<_LTEOF -+#! $SHELL -+# Generated by $as_me. -+# Run this file to recreate a libtool stub with the current configuration. -+ -+lt_cl_silent=false -+SHELL=\${CONFIG_SHELL-$SHELL} -+_LTEOF -+ -+cat >>"$CONFIG_LT" <<\_LTEOF -+AS_SHELL_SANITIZE -+_AS_PREPARE -+ -+exec AS_MESSAGE_FD>&1 -+exec AS_MESSAGE_LOG_FD>>config.log -+{ -+ echo -+ AS_BOX([Running $as_me.]) -+} >&AS_MESSAGE_LOG_FD -+ -+lt_cl_help="\ -+\`$as_me' creates a local libtool stub from the current configuration, -+for use in further configure time tests before the real libtool is -+generated. -+ -+Usage: $[0] [[OPTIONS]] -+ -+ -h, --help print this help, then exit -+ -V, --version print version number, then exit -+ -q, --quiet do not print progress messages -+ -d, --debug don't remove temporary files -+ -+Report bugs to <bug-libtool@gnu.org>." -+ -+lt_cl_version="\ -+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl -+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) -+configured by $[0], generated by m4_PACKAGE_STRING. -+ -+Copyright (C) 2008 Free Software Foundation, Inc. -+This config.lt script is free software; the Free Software Foundation -+gives unlimited permision to copy, distribute and modify it." -+ -+while test $[#] != 0 -+do -+ case $[1] in -+ --version | --v* | -V ) -+ echo "$lt_cl_version"; exit 0 ;; -+ --help | --h* | -h ) -+ echo "$lt_cl_help"; exit 0 ;; -+ --debug | --d* | -d ) -+ debug=: ;; -+ --quiet | --q* | --silent | --s* | -q ) -+ lt_cl_silent=: ;; -+ -+ -*) AC_MSG_ERROR([unrecognized option: $[1] -+Try \`$[0] --help' for more information.]) ;; -+ -+ *) AC_MSG_ERROR([unrecognized argument: $[1] -+Try \`$[0] --help' for more information.]) ;; -+ esac -+ shift -+done -+ -+if $lt_cl_silent; then -+ exec AS_MESSAGE_FD>/dev/null -+fi -+_LTEOF -+ -+cat >>"$CONFIG_LT" <<_LTEOF -+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT -+_LTEOF -+ -+cat >>"$CONFIG_LT" <<\_LTEOF -+AC_MSG_NOTICE([creating $ofile]) -+_LT_OUTPUT_LIBTOOL_COMMANDS -+AS_EXIT(0) -+_LTEOF -+chmod +x "$CONFIG_LT" -+ -+# configure is writing to config.log, but config.lt does its own redirection, -+# appending to config.log, which fails on DOS, as config.log is still kept -+# open by configure. Here we exec the FD to /dev/null, effectively closing -+# config.log, so it can be properly (re)opened and appended to by config.lt. -+if test "$no_create" != yes; then -+ lt_cl_success=: -+ test "$silent" = yes && -+ lt_config_lt_args="$lt_config_lt_args --quiet" -+ exec AS_MESSAGE_LOG_FD>/dev/null -+ $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false -+ exec AS_MESSAGE_LOG_FD>>config.log -+ $lt_cl_success || AS_EXIT(1) -+fi -+])# LT_OUTPUT -+ -+ -+# _LT_CONFIG(TAG) -+# --------------- -+# If TAG is the built-in tag, create an initial libtool script with a -+# default configuration from the untagged config vars. Otherwise add code -+# to config.status for appending the configuration named by TAG from the -+# matching tagged config vars. -+m4_defun([_LT_CONFIG], -+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -+_LT_CONFIG_SAVE_COMMANDS([ -+ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl -+ m4_if(_LT_TAG, [C], [ -+ # See if we are running on zsh, and set the options which allow our -+ # commands through without removal of \ escapes. -+ if test -n "${ZSH_VERSION+set}" ; then -+ setopt NO_GLOB_SUBST -+ fi -+ -+ cfgfile="${ofile}T" -+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15 -+ $RM "$cfgfile" -+ -+ cat <<_LT_EOF >> "$cfgfile" -+#! $SHELL -+ -+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -+# NOTE: Changes made to this file will be lost: look at ltmain.sh. -+# -+_LT_COPYING -+_LT_LIBTOOL_TAGS -+ -+# ### BEGIN LIBTOOL CONFIG -+_LT_LIBTOOL_CONFIG_VARS -+_LT_LIBTOOL_TAG_VARS -+# ### END LIBTOOL CONFIG -+ -+_LT_EOF -+ -+ case $host_os in -+ aix3*) -+ cat <<\_LT_EOF >> "$cfgfile" -+# AIX sometimes has problems with the GCC collect2 program. For some -+# reason, if we set the COLLECT_NAMES environment variable, the problems -+# vanish in a puff of smoke. -+if test "X${COLLECT_NAMES+set}" != Xset; then -+ COLLECT_NAMES= -+ export COLLECT_NAMES -+fi -+_LT_EOF -+ ;; -+ esac -+ -+ _LT_PROG_LTMAIN -+ -+ # We use sed instead of cat because bash on DJGPP gets confused if -+ # 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) -+ -+ _LT_PROG_XSI_SHELLFNS -+ -+ sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ -+ || (rm -f "$cfgfile"; exit 1) -+ -+ mv -f "$cfgfile" "$ofile" || -+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") -+ chmod +x "$ofile" -+], -+[cat <<_LT_EOF >> "$ofile" -+ -+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded -+dnl in a comment (ie after a #). -+# ### BEGIN LIBTOOL TAG CONFIG: $1 -+_LT_LIBTOOL_TAG_VARS(_LT_TAG) -+# ### END LIBTOOL TAG CONFIG: $1 -+_LT_EOF -+])dnl /m4_if -+], -+[m4_if([$1], [], [ -+ PACKAGE='$PACKAGE' -+ VERSION='$VERSION' -+ TIMESTAMP='$TIMESTAMP' -+ RM='$RM' -+ ofile='$ofile'], []) -+])dnl /_LT_CONFIG_SAVE_COMMANDS -+])# _LT_CONFIG -+ -+ -+# LT_SUPPORTED_TAG(TAG) -+# --------------------- -+# Trace this macro to discover what tags are supported by the libtool -+# --tag option, using: -+# autoconf --trace 'LT_SUPPORTED_TAG:$1' -+AC_DEFUN([LT_SUPPORTED_TAG], []) -+ -+ -+# C support is built-in for now -+m4_define([_LT_LANG_C_enabled], []) -+m4_define([_LT_TAGS], []) -+ -+ -+# LT_LANG(LANG) -+# ------------- -+# Enable libtool support for the given language if not already enabled. -+AC_DEFUN([LT_LANG], -+[AC_BEFORE([$0], [LT_OUTPUT])dnl -+m4_case([$1], -+ [C], [_LT_LANG(C)], -+ [C++], [_LT_LANG(CXX)], -+ [Java], [_LT_LANG(GCJ)], -+ [Fortran 77], [_LT_LANG(F77)], -+ [Fortran], [_LT_LANG(FC)], -+ [Windows Resource], [_LT_LANG(RC)], -+ [m4_ifdef([_LT_LANG_]$1[_CONFIG], -+ [_LT_LANG($1)], -+ [m4_fatal([$0: unsupported language: "$1"])])])dnl -+])# LT_LANG -+ -+ -+# _LT_LANG(LANGNAME) -+# ------------------ -+m4_defun([_LT_LANG], -+[m4_ifdef([_LT_LANG_]$1[_enabled], [], -+ [LT_SUPPORTED_TAG([$1])dnl -+ m4_append([_LT_TAGS], [$1 ])dnl -+ m4_define([_LT_LANG_]$1[_enabled], [])dnl -+ _LT_LANG_$1_CONFIG($1)])dnl -+])# _LT_LANG -+ -+ -+# _LT_LANG_DEFAULT_CONFIG -+# ----------------------- -+m4_defun([_LT_LANG_DEFAULT_CONFIG], -+[AC_PROVIDE_IFELSE([AC_PROG_CXX], -+ [LT_LANG(CXX)], -+ [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) -+ -+AC_PROVIDE_IFELSE([AC_PROG_F77], -+ [LT_LANG(F77)], -+ [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) -+ -+AC_PROVIDE_IFELSE([AC_PROG_FC], -+ [LT_LANG(FC)], -+ [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) -+ -+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal -+dnl pulling things in needlessly. -+AC_PROVIDE_IFELSE([AC_PROG_GCJ], -+ [LT_LANG(GCJ)], -+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], -+ [LT_LANG(GCJ)], -+ [AC_PROVIDE_IFELSE([LT_PROG_GCJ], -+ [LT_LANG(GCJ)], -+ [m4_ifdef([AC_PROG_GCJ], -+ [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) -+ m4_ifdef([A][M_PROG_GCJ], -+ [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) -+ m4_ifdef([LT_PROG_GCJ], -+ [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) -+ -+AC_PROVIDE_IFELSE([LT_PROG_RC], -+ [LT_LANG(RC)], -+ [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) -+])# _LT_LANG_DEFAULT_CONFIG -+ -+# Obsolete macros: -+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) -+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) -+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) -+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) -+dnl aclocal-1.4 backwards compatibility: -+dnl AC_DEFUN([AC_LIBTOOL_CXX], []) -+dnl AC_DEFUN([AC_LIBTOOL_F77], []) -+dnl AC_DEFUN([AC_LIBTOOL_FC], []) -+dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) -+ -+ -+# _LT_TAG_COMPILER -+# ---------------- -+m4_defun([_LT_TAG_COMPILER], -+[AC_REQUIRE([AC_PROG_CC])dnl -+ -+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl -+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl -+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl -+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl -+ -+# If no C compiler was specified, use CC. -+LTCC=${LTCC-"$CC"} -+ -+# If no C compiler flags were specified, use CFLAGS. -+LTCFLAGS=${LTCFLAGS-"$CFLAGS"} -+ -+# Allow CC to be a program name with arguments. -+compiler=$CC -+])# _LT_TAG_COMPILER -+ -+ -+# _LT_COMPILER_BOILERPLATE -+# ------------------------ -+# Check for compiler boilerplate output or warnings with -+# the simple compiler test code. -+m4_defun([_LT_COMPILER_BOILERPLATE], -+[m4_require([_LT_DECL_SED])dnl -+ac_outfile=conftest.$ac_objext -+echo "$lt_simple_compile_test_code" >conftest.$ac_ext -+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -+_lt_compiler_boilerplate=`cat conftest.err` -+$RM conftest* -+])# _LT_COMPILER_BOILERPLATE -+ -+ -+# _LT_LINKER_BOILERPLATE -+# ---------------------- -+# Check for linker boilerplate output or warnings with -+# the simple link test code. -+m4_defun([_LT_LINKER_BOILERPLATE], -+[m4_require([_LT_DECL_SED])dnl -+ac_outfile=conftest.$ac_objext -+echo "$lt_simple_link_test_code" >conftest.$ac_ext -+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -+_lt_linker_boilerplate=`cat conftest.err` -+$RM -r conftest* -+])# _LT_LINKER_BOILERPLATE -+ -+# _LT_REQUIRED_DARWIN_CHECKS -+# ------------------------- -+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ -+ case $host_os in -+ rhapsody* | darwin*) -+ AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) -+ AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) -+ AC_CHECK_TOOL([LIPO], [lipo], [:]) -+ AC_CHECK_TOOL([OTOOL], [otool], [:]) -+ AC_CHECK_TOOL([OTOOL64], [otool64], [:]) -+ _LT_DECL([], [DSYMUTIL], [1], -+ [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) -+ _LT_DECL([], [NMEDIT], [1], -+ [Tool to change global to local symbols on Mac OS X]) -+ _LT_DECL([], [LIPO], [1], -+ [Tool to manipulate fat objects and archives on Mac OS X]) -+ _LT_DECL([], [OTOOL], [1], -+ [ldd/readelf like tool for Mach-O binaries on Mac OS X]) -+ _LT_DECL([], [OTOOL64], [1], -+ [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) -+ -+ AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], -+ [lt_cv_apple_cc_single_mod=no -+ if test -z "${LT_MULTI_MODULE}"; then -+ # By default we will add the -single_module flag. You can override -+ # by either setting the environment variable LT_MULTI_MODULE -+ # non-empty at configure time, or by adding -multi_module to the -+ # link flags. -+ rm -rf libconftest.dylib* -+ echo "int foo(void){return 1;}" > conftest.c -+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD -+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err -+ _lt_result=$? -+ if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then -+ lt_cv_apple_cc_single_mod=yes -+ else -+ cat conftest.err >&AS_MESSAGE_LOG_FD -+ fi -+ rm -rf libconftest.dylib* -+ rm -f conftest.* -+ fi]) -+ AC_CACHE_CHECK([for -exported_symbols_list linker flag], -+ [lt_cv_ld_exported_symbols_list], -+ [lt_cv_ld_exported_symbols_list=no -+ save_LDFLAGS=$LDFLAGS -+ echo "_main" > conftest.sym -+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" -+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], -+ [lt_cv_ld_exported_symbols_list=yes], -+ [lt_cv_ld_exported_symbols_list=no]) -+ LDFLAGS="$save_LDFLAGS" -+ ]) -+ case $host_os in -+ rhapsody* | darwin1.[[012]]) -+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; -+ darwin1.*) -+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; -+ darwin*) # darwin 5.x on -+ # if running on 10.5 or later, the deployment target defaults -+ # to the OS version, if on x86, and 10.4, the deployment -+ # target defaults to 10.4. Don't you love it? -+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in -+ 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) -+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; -+ 10.[[012]]*) -+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; -+ 10.*) -+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; -+ esac -+ ;; -+ esac -+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then -+ _lt_dar_single_mod='$single_module' -+ fi -+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then -+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' -+ else -+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' -+ fi -+ if test "$DSYMUTIL" != ":"; then -+ _lt_dsymutil='~$DSYMUTIL $lib || :' -+ else -+ _lt_dsymutil= -+ fi -+ ;; -+ esac -+]) -+ -+ -+# _LT_DARWIN_LINKER_FEATURES -+# -------------------------- -+# Checks for linker and compiler features on darwin -+m4_defun([_LT_DARWIN_LINKER_FEATURES], -+[ -+ m4_require([_LT_REQUIRED_DARWIN_CHECKS]) -+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no -+ _LT_TAGVAR(hardcode_direct, $1)=no -+ _LT_TAGVAR(hardcode_automatic, $1)=yes -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -+ _LT_TAGVAR(whole_archive_flag_spec, $1)='' -+ _LT_TAGVAR(link_all_deplibs, $1)=yes -+ _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" -+ case $cc_basename in -+ ifort*) _lt_dar_can_shared=yes ;; -+ *) _lt_dar_can_shared=$GCC ;; -+ esac -+ if test "$_lt_dar_can_shared" = "yes"; then -+ output_verbose_link_cmd=echo -+ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" -+ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" -+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" -+ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" -+ m4_if([$1], [CXX], -+[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then -+ _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" -+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" -+ fi -+],[]) -+ else -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ fi -+]) -+ -+# _LT_SYS_MODULE_PATH_AIX -+# ----------------------- -+# 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. -+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 -+])# _LT_SYS_MODULE_PATH_AIX -+ -+ -+# _LT_SHELL_INIT(ARG) -+# ------------------- -+m4_define([_LT_SHELL_INIT], -+[ifdef([AC_DIVERSION_NOTICE], -+ [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], -+ [AC_DIVERT_PUSH(NOTICE)]) -+$1 -+AC_DIVERT_POP -+])# _LT_SHELL_INIT -+ -+ -+# _LT_PROG_ECHO_BACKSLASH -+# ----------------------- -+# Add some code to the start of the generated configure script which -+# will find an echo command which doesn't interpret backslashes. -+m4_defun([_LT_PROG_ECHO_BACKSLASH], -+[_LT_SHELL_INIT([ -+# Check that we are running under the correct shell. -+SHELL=${CONFIG_SHELL-/bin/sh} -+ -+case X$lt_ECHO in -+X*--fallback-echo) -+ # Remove one level of quotation (which was required for Make). -+ ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` -+ ;; -+esac -+ -+ECHO=${lt_ECHO-echo} -+if test "X[$]1" = X--no-reexec; then -+ # Discard the --no-reexec flag, and continue. -+ shift -+elif test "X[$]1" = X--fallback-echo; then -+ # Avoid inline document here, it may be left over -+ : -+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then -+ # Yippee, $ECHO works! -+ : -+else -+ # Restart under the correct shell. -+ exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} -+fi -+ -+if test "X[$]1" = X--fallback-echo; then -+ # used as fallback echo -+ shift -+ cat <<_LT_EOF -+[$]* -+_LT_EOF -+ exit 0 -+fi -+ -+# The HP-UX ksh and POSIX shell print the target directory to stdout -+# if CDPATH is set. -+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH -+ -+if test -z "$lt_ECHO"; then -+ if test "X${echo_test_string+set}" != Xset; then -+ # find a string as large as possible, as long as the shell can cope with it -+ for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do -+ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... -+ if { echo_test_string=`eval $cmd`; } 2>/dev/null && -+ { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null -+ then -+ break -+ fi -+ done -+ fi -+ -+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && -+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && -+ test "X$echo_testing_string" = "X$echo_test_string"; then -+ : -+ else -+ # The Solaris, AIX, and Digital Unix default echo programs unquote -+ # backslashes. This makes it impossible to quote backslashes using -+ # echo "$something" | sed 's/\\/\\\\/g' -+ # -+ # So, first we look for a working echo in the user's PATH. -+ -+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -+ for dir in $PATH /usr/ucb; do -+ IFS="$lt_save_ifs" -+ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && -+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && -+ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && -+ test "X$echo_testing_string" = "X$echo_test_string"; then -+ ECHO="$dir/echo" -+ break -+ fi -+ done -+ IFS="$lt_save_ifs" -+ -+ if test "X$ECHO" = Xecho; then -+ # We didn't find a better echo, so look for alternatives. -+ if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && -+ echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && -+ test "X$echo_testing_string" = "X$echo_test_string"; then -+ # This shell has a builtin print -r that does the trick. -+ ECHO='print -r' -+ elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && -+ test "X$CONFIG_SHELL" != X/bin/ksh; then -+ # If we have ksh, try running configure again with it. -+ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} -+ export ORIGINAL_CONFIG_SHELL -+ CONFIG_SHELL=/bin/ksh -+ export CONFIG_SHELL -+ exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} -+ else -+ # Try using printf. -+ ECHO='printf %s\n' -+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && -+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && -+ test "X$echo_testing_string" = "X$echo_test_string"; then -+ # Cool, printf works -+ : -+ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && -+ test "X$echo_testing_string" = 'X\t' && -+ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && -+ test "X$echo_testing_string" = "X$echo_test_string"; then -+ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL -+ export CONFIG_SHELL -+ SHELL="$CONFIG_SHELL" -+ export SHELL -+ ECHO="$CONFIG_SHELL [$]0 --fallback-echo" -+ elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && -+ test "X$echo_testing_string" = 'X\t' && -+ echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && -+ test "X$echo_testing_string" = "X$echo_test_string"; then -+ ECHO="$CONFIG_SHELL [$]0 --fallback-echo" -+ else -+ # maybe with a smaller string... -+ prev=: -+ -+ for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do -+ if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null -+ then -+ break -+ fi -+ prev="$cmd" -+ done -+ -+ if test "$prev" != 'sed 50q "[$]0"'; then -+ echo_test_string=`eval $prev` -+ export echo_test_string -+ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} -+ else -+ # Oops. We lost completely, so just stick with echo. -+ ECHO=echo -+ fi -+ fi -+ fi -+ fi -+ fi -+fi -+ -+# Copy echo and quote the copy suitably for passing to libtool from -+# the Makefile, instead of quoting the original, which is used later. -+lt_ECHO=$ECHO -+if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then -+ lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" -+fi -+ -+AC_SUBST(lt_ECHO) -+]) -+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) -+_LT_DECL([], [ECHO], [1], -+ [An echo program that does not interpret backslashes]) -+])# _LT_PROG_ECHO_BACKSLASH -+ -+ -+# _LT_ENABLE_LOCK -+# --------------- -+m4_defun([_LT_ENABLE_LOCK], -+[AC_ARG_ENABLE([libtool-lock], -+ [AS_HELP_STRING([--disable-libtool-lock], -+ [avoid locking (might break parallel builds)])]) -+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes -+ -+# Some flags need to be propagated to the compiler or linker for good -+# libtool support. -+case $host in -+ia64-*-hpux*) -+ # Find out which ABI we are using. -+ echo 'int i;' > conftest.$ac_ext -+ if AC_TRY_EVAL(ac_compile); then -+ case `/usr/bin/file conftest.$ac_objext` in -+ *ELF-32*) -+ HPUX_IA64_MODE="32" -+ ;; -+ *ELF-64*) -+ HPUX_IA64_MODE="64" -+ ;; -+ esac -+ fi -+ rm -rf conftest* -+ ;; -+*-*-irix6*) -+ # Find out which ABI we are using. -+ echo '[#]line __oline__ "configure"' > conftest.$ac_ext -+ if AC_TRY_EVAL(ac_compile); then -+ if test "$lt_cv_prog_gnu_ld" = yes; then -+ case `/usr/bin/file conftest.$ac_objext` in -+ *32-bit*) -+ LD="${LD-ld} -melf32bsmip" -+ ;; -+ *N32*) -+ LD="${LD-ld} -melf32bmipn32" -+ ;; -+ *64-bit*) -+ LD="${LD-ld} -melf64bmip" -+ ;; -+ esac -+ else -+ case `/usr/bin/file conftest.$ac_objext` in -+ *32-bit*) -+ LD="${LD-ld} -32" -+ ;; -+ *N32*) -+ LD="${LD-ld} -n32" -+ ;; -+ *64-bit*) -+ LD="${LD-ld} -64" -+ ;; -+ esac -+ fi -+ fi -+ rm -rf conftest* -+ ;; -+ -+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -+s390*-*linux*|s390*-*tpf*|sparc*-*linux*) -+ # Find out which ABI we are using. -+ echo 'int i;' > conftest.$ac_ext -+ if AC_TRY_EVAL(ac_compile); then -+ case `/usr/bin/file conftest.o` in -+ *32-bit*) -+ case $host in -+ x86_64-*kfreebsd*-gnu) -+ LD="${LD-ld} -m elf_i386_fbsd" -+ ;; -+ x86_64-*linux*) -+ LD="${LD-ld} -m elf_i386" -+ ;; -+ ppc64-*linux*|powerpc64-*linux*) -+ LD="${LD-ld} -m elf32ppclinux" -+ ;; -+ s390x-*linux*) -+ LD="${LD-ld} -m elf_s390" -+ ;; -+ sparc64-*linux*) -+ LD="${LD-ld} -m elf32_sparc" -+ ;; -+ esac -+ ;; -+ *64-bit*) -+ case $host in -+ x86_64-*kfreebsd*-gnu) -+ LD="${LD-ld} -m elf_x86_64_fbsd" -+ ;; -+ x86_64-*linux*) -+ LD="${LD-ld} -m elf_x86_64" -+ ;; -+ ppc*-*linux*|powerpc*-*linux*) -+ LD="${LD-ld} -m elf64ppc" -+ ;; -+ s390*-*linux*|s390*-*tpf*) -+ LD="${LD-ld} -m elf64_s390" -+ ;; -+ sparc*-*linux*) -+ LD="${LD-ld} -m elf64_sparc" -+ ;; -+ esac -+ ;; -+ esac -+ fi -+ rm -rf conftest* -+ ;; -+ -+*-*-sco3.2v5*) -+ # On SCO OpenServer 5, we need -belf to get full-featured binaries. -+ SAVE_CFLAGS="$CFLAGS" -+ CFLAGS="$CFLAGS -belf" -+ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, -+ [AC_LANG_PUSH(C) -+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) -+ AC_LANG_POP]) -+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then -+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf -+ CFLAGS="$SAVE_CFLAGS" -+ fi -+ ;; -+sparc*-*solaris*) -+ # Find out which ABI we are using. -+ echo 'int i;' > conftest.$ac_ext -+ if AC_TRY_EVAL(ac_compile); then -+ case `/usr/bin/file conftest.o` in -+ *64-bit*) -+ case $lt_cv_prog_gnu_ld in -+ yes*) LD="${LD-ld} -m elf64_sparc" ;; -+ *) -+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then -+ LD="${LD-ld} -64" -+ fi -+ ;; -+ esac -+ ;; -+ esac -+ fi -+ rm -rf conftest* -+ ;; -+esac -+ -+need_locks="$enable_libtool_lock" -+])# _LT_ENABLE_LOCK -+ -+ -+# _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]) -+ -+AC_CHECK_TOOL(STRIP, strip, :) -+test -z "$STRIP" && STRIP=: -+_LT_DECL([], [STRIP], [1], [A symbol stripping program]) -+ -+AC_CHECK_TOOL(RANLIB, ranlib, :) -+test -z "$RANLIB" && RANLIB=: -+_LT_DECL([], [RANLIB], [1], -+ [Commands used to install an old-style archive]) -+ -+# Determine commands to create old-style static archives. -+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -+old_postinstall_cmds='chmod 644 $oldlib' -+old_postuninstall_cmds= -+ -+if test -n "$RANLIB"; then -+ case $host_os in -+ openbsd*) -+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" -+ ;; -+ *) -+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" -+ ;; -+ esac -+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -+fi -+_LT_DECL([], [old_postinstall_cmds], [2]) -+_LT_DECL([], [old_postuninstall_cmds], [2]) -+_LT_TAGDECL([], [old_archive_cmds], [2], -+ [Commands used to build an old-style archive]) -+])# _LT_CMD_OLD_ARCHIVE -+ -+ -+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -+# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -+# ---------------------------------------------------------------- -+# Check whether the given compiler option works -+AC_DEFUN([_LT_COMPILER_OPTION], -+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -+m4_require([_LT_DECL_SED])dnl -+AC_CACHE_CHECK([$1], [$2], -+ [$2=no -+ m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) -+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext -+ lt_compiler_flag="$3" -+ # Insert the option either (1) after the last *FLAGS variable, or -+ # (2) before a word containing "conftest.", or (3) at the end. -+ # Note that $ac_compile itself does not contain backslashes and begins -+ # with a dollar sign (not a hyphen), so the echo should work correctly. -+ # The option is referenced via a variable to avoid confusing sed. -+ lt_compile=`echo "$ac_compile" | $SED \ -+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -+ -e 's:$: $lt_compiler_flag:'` -+ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) -+ (eval "$lt_compile" 2>conftest.err) -+ ac_status=$? -+ cat conftest.err >&AS_MESSAGE_LOG_FD -+ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD -+ if (exit $ac_status) && test -s "$ac_outfile"; then -+ # The compiler can only warn and ignore the option if not recognized -+ # So say no if there are warnings other than the usual output. -+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp -+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 -+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then -+ $2=yes -+ fi -+ fi -+ $RM conftest* -+]) -+ -+if test x"[$]$2" = xyes; then -+ m4_if([$5], , :, [$5]) -+else -+ m4_if([$6], , :, [$6]) -+fi -+])# _LT_COMPILER_OPTION -+ -+# Old name: -+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) -+dnl aclocal-1.4 backwards compatibility: -+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) -+ -+ -+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -+# [ACTION-SUCCESS], [ACTION-FAILURE]) -+# ---------------------------------------------------- -+# Check whether the given linker option works -+AC_DEFUN([_LT_LINKER_OPTION], -+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -+m4_require([_LT_DECL_SED])dnl -+AC_CACHE_CHECK([$1], [$2], -+ [$2=no -+ save_LDFLAGS="$LDFLAGS" -+ LDFLAGS="$LDFLAGS $3" -+ echo "$lt_simple_link_test_code" > conftest.$ac_ext -+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then -+ # The linker can only warn and ignore the option if not recognized -+ # So say no if there are warnings -+ if test -s conftest.err; then -+ # Append any errors to the config.log. -+ cat conftest.err 1>&AS_MESSAGE_LOG_FD -+ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp -+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 -+ if diff conftest.exp conftest.er2 >/dev/null; then -+ $2=yes -+ fi -+ else -+ $2=yes -+ fi -+ fi -+ $RM -r conftest* -+ LDFLAGS="$save_LDFLAGS" -+]) -+ -+if test x"[$]$2" = xyes; then -+ m4_if([$4], , :, [$4]) -+else -+ m4_if([$5], , :, [$5]) -+fi -+])# _LT_LINKER_OPTION -+ -+# Old name: -+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) -+dnl aclocal-1.4 backwards compatibility: -+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) -+ -+ -+# LT_CMD_MAX_LEN -+#--------------- -+AC_DEFUN([LT_CMD_MAX_LEN], -+[AC_REQUIRE([AC_CANONICAL_HOST])dnl -+# find the maximum length of command line arguments -+AC_MSG_CHECKING([the maximum length of command line arguments]) -+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl -+ i=0 -+ teststring="ABCD" -+ -+ case $build_os in -+ msdosdjgpp*) -+ # On DJGPP, this test can blow up pretty badly due to problems in libc -+ # (any single argument exceeding 2000 bytes causes a buffer overrun -+ # during glob expansion). Even if it were fixed, the result of this -+ # check would be larger than it should be. -+ lt_cv_sys_max_cmd_len=12288; # 12K is about right -+ ;; -+ -+ gnu*) -+ # Under GNU Hurd, this test is not required because there is -+ # no limit to the length of command line arguments. -+ # Libtool will interpret -1 as no limit whatsoever -+ lt_cv_sys_max_cmd_len=-1; -+ ;; -+ -+ cygwin* | mingw* | cegcc*) -+ # On Win9x/ME, this test blows up -- it succeeds, but takes -+ # about 5 minutes as the teststring grows exponentially. -+ # Worse, since 9x/ME are not pre-emptively multitasking, -+ # you end up with a "frozen" computer, even though with patience -+ # the test eventually succeeds (with a max line length of 256k). -+ # Instead, let's just punt: use the minimum linelength reported by -+ # all of the supported platforms: 8192 (on NT/2K/XP). -+ lt_cv_sys_max_cmd_len=8192; -+ ;; -+ -+ amigaos*) -+ # On AmigaOS with pdksh, this test takes hours, literally. -+ # So we just punt and use a minimum line length of 8192. -+ lt_cv_sys_max_cmd_len=8192; -+ ;; -+ -+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) -+ # This has been around since 386BSD, at least. Likely further. -+ if test -x /sbin/sysctl; then -+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` -+ elif test -x /usr/sbin/sysctl; then -+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` -+ else -+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs -+ fi -+ # And add a safety zone -+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` -+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` -+ ;; -+ -+ interix*) -+ # We know the value 262144 and hardcode it with a safety zone (like BSD) -+ lt_cv_sys_max_cmd_len=196608 -+ ;; -+ -+ osf*) -+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure -+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not -+ # nice to cause kernel panics so lets avoid the loop below. -+ # First set a reasonable default. -+ lt_cv_sys_max_cmd_len=16384 -+ # -+ if test -x /sbin/sysconfig; then -+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in -+ *1*) lt_cv_sys_max_cmd_len=-1 ;; -+ esac -+ fi -+ ;; -+ sco3.2v5*) -+ lt_cv_sys_max_cmd_len=102400 -+ ;; -+ sysv5* | sco5v6* | sysv4.2uw2*) -+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` -+ if test -n "$kargmax"; then -+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` -+ else -+ lt_cv_sys_max_cmd_len=32768 -+ fi -+ ;; -+ *) -+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` -+ if test -n "$lt_cv_sys_max_cmd_len"; then -+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` -+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` -+ else -+ # Make teststring a little bigger before we do anything with it. -+ # a 1K string should be a reasonable start. -+ for i in 1 2 3 4 5 6 7 8 ; do -+ teststring=$teststring$teststring -+ done -+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} -+ # If test is not a shell built-in, we'll probably end up computing a -+ # maximum length that is only half of the actual maximum length, but -+ # we can't tell. -+ while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ -+ = "XX$teststring$teststring"; } >/dev/null 2>&1 && -+ test $i != 17 # 1/2 MB should be enough -+ do -+ i=`expr $i + 1` -+ teststring=$teststring$teststring -+ done -+ # Only check the string length outside the loop. -+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` -+ teststring= -+ # Add a significant safety factor because C++ compilers can tack on -+ # massive amounts of additional arguments before passing them to the -+ # linker. It appears as though 1/2 is a usable value. -+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` -+ fi -+ ;; -+ esac -+]) -+if test -n $lt_cv_sys_max_cmd_len ; then -+ AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -+else -+ AC_MSG_RESULT(none) -+fi -+max_cmd_len=$lt_cv_sys_max_cmd_len -+_LT_DECL([], [max_cmd_len], [0], -+ [What is the maximum length of a command?]) -+])# LT_CMD_MAX_LEN -+ -+# Old name: -+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) -+dnl aclocal-1.4 backwards compatibility: -+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) -+ -+ -+# _LT_HEADER_DLFCN -+# ---------------- -+m4_defun([_LT_HEADER_DLFCN], -+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl -+])# _LT_HEADER_DLFCN -+ -+ -+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -+# ---------------------------------------------------------------- -+m4_defun([_LT_TRY_DLOPEN_SELF], -+[m4_require([_LT_HEADER_DLFCN])dnl -+if test "$cross_compiling" = yes; then : -+ [$4] -+else -+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 -+ lt_status=$lt_dlunknown -+ cat > conftest.$ac_ext <<_LT_EOF -+[#line __oline__ "configure" -+#include "confdefs.h" -+ -+#if HAVE_DLFCN_H -+#include <dlfcn.h> -+#endif -+ -+#include <stdio.h> -+ -+#ifdef RTLD_GLOBAL -+# define LT_DLGLOBAL RTLD_GLOBAL -+#else -+# ifdef DL_GLOBAL -+# define LT_DLGLOBAL DL_GLOBAL -+# else -+# define LT_DLGLOBAL 0 -+# endif -+#endif -+ -+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we -+ find out it does not work in some platform. */ -+#ifndef LT_DLLAZY_OR_NOW -+# ifdef RTLD_LAZY -+# define LT_DLLAZY_OR_NOW RTLD_LAZY -+# else -+# ifdef DL_LAZY -+# define LT_DLLAZY_OR_NOW DL_LAZY -+# else -+# ifdef RTLD_NOW -+# define LT_DLLAZY_OR_NOW RTLD_NOW -+# else -+# ifdef DL_NOW -+# define LT_DLLAZY_OR_NOW DL_NOW -+# else -+# define LT_DLLAZY_OR_NOW 0 -+# endif -+# endif -+# endif -+# endif -+#endif -+ -+void fnord() { int i=42;} -+int main () -+{ -+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); -+ int status = $lt_dlunknown; -+ -+ if (self) -+ { -+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore; -+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; -+ /* dlclose (self); */ -+ } -+ else -+ puts (dlerror ()); -+ -+ return status; -+}] -+_LT_EOF -+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then -+ (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null -+ lt_status=$? -+ case x$lt_status in -+ x$lt_dlno_uscore) $1 ;; -+ x$lt_dlneed_uscore) $2 ;; -+ x$lt_dlunknown|x*) $3 ;; -+ esac -+ else : -+ # compilation failed -+ $3 -+ fi -+fi -+rm -fr conftest* -+])# _LT_TRY_DLOPEN_SELF -+ -+ -+# LT_SYS_DLOPEN_SELF -+# ------------------ -+AC_DEFUN([LT_SYS_DLOPEN_SELF], -+[m4_require([_LT_HEADER_DLFCN])dnl -+if test "x$enable_dlopen" != xyes; then -+ enable_dlopen=unknown -+ enable_dlopen_self=unknown -+ enable_dlopen_self_static=unknown -+else -+ lt_cv_dlopen=no -+ lt_cv_dlopen_libs= -+ -+ case $host_os in -+ beos*) -+ lt_cv_dlopen="load_add_on" -+ lt_cv_dlopen_libs= -+ lt_cv_dlopen_self=yes -+ ;; -+ -+ mingw* | pw32* | cegcc*) -+ lt_cv_dlopen="LoadLibrary" -+ lt_cv_dlopen_libs= -+ ;; -+ -+ cygwin*) -+ lt_cv_dlopen="dlopen" -+ lt_cv_dlopen_libs= -+ ;; -+ -+ darwin*) -+ # if libdl is installed we need to link against it -+ AC_CHECK_LIB([dl], [dlopen], -+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ -+ lt_cv_dlopen="dyld" -+ lt_cv_dlopen_libs= -+ lt_cv_dlopen_self=yes -+ ]) -+ ;; -+ -+ *) -+ AC_CHECK_FUNC([shl_load], -+ [lt_cv_dlopen="shl_load"], -+ [AC_CHECK_LIB([dld], [shl_load], -+ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], -+ [AC_CHECK_FUNC([dlopen], -+ [lt_cv_dlopen="dlopen"], -+ [AC_CHECK_LIB([dl], [dlopen], -+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], -+ [AC_CHECK_LIB([svld], [dlopen], -+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], -+ [AC_CHECK_LIB([dld], [dld_link], -+ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) -+ ]) -+ ]) -+ ]) -+ ]) -+ ]) -+ ;; -+ esac -+ -+ if test "x$lt_cv_dlopen" != xno; then -+ enable_dlopen=yes -+ else -+ enable_dlopen=no -+ fi -+ -+ case $lt_cv_dlopen in -+ dlopen) -+ save_CPPFLAGS="$CPPFLAGS" -+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" -+ -+ save_LDFLAGS="$LDFLAGS" -+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" -+ -+ save_LIBS="$LIBS" -+ LIBS="$lt_cv_dlopen_libs $LIBS" -+ -+ AC_CACHE_CHECK([whether a program can dlopen itself], -+ lt_cv_dlopen_self, [dnl -+ _LT_TRY_DLOPEN_SELF( -+ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, -+ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) -+ ]) -+ -+ if test "x$lt_cv_dlopen_self" = xyes; then -+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" -+ AC_CACHE_CHECK([whether a statically linked program can dlopen itself], -+ lt_cv_dlopen_self_static, [dnl -+ _LT_TRY_DLOPEN_SELF( -+ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, -+ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) -+ ]) -+ fi -+ -+ CPPFLAGS="$save_CPPFLAGS" -+ LDFLAGS="$save_LDFLAGS" -+ LIBS="$save_LIBS" -+ ;; -+ esac -+ -+ case $lt_cv_dlopen_self in -+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; -+ *) enable_dlopen_self=unknown ;; -+ esac -+ -+ case $lt_cv_dlopen_self_static in -+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; -+ *) enable_dlopen_self_static=unknown ;; -+ esac -+fi -+_LT_DECL([dlopen_support], [enable_dlopen], [0], -+ [Whether dlopen is supported]) -+_LT_DECL([dlopen_self], [enable_dlopen_self], [0], -+ [Whether dlopen of programs is supported]) -+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], -+ [Whether dlopen of statically linked programs is supported]) -+])# LT_SYS_DLOPEN_SELF -+ -+# Old name: -+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) -+dnl aclocal-1.4 backwards compatibility: -+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) -+ -+ -+# _LT_COMPILER_C_O([TAGNAME]) -+# --------------------------- -+# Check to see if options -c and -o are simultaneously supported by compiler. -+# This macro does not hard code the compiler like AC_PROG_CC_C_O. -+m4_defun([_LT_COMPILER_C_O], -+[m4_require([_LT_DECL_SED])dnl -+m4_require([_LT_FILEUTILS_DEFAULTS])dnl -+m4_require([_LT_TAG_COMPILER])dnl -+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], -+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], -+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no -+ $RM -r conftest 2>/dev/null -+ mkdir conftest -+ cd conftest -+ mkdir out -+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext -+ -+ lt_compiler_flag="-o out/conftest2.$ac_objext" -+ # Insert the option either (1) after the last *FLAGS variable, or -+ # (2) before a word containing "conftest.", or (3) at the end. -+ # Note that $ac_compile itself does not contain backslashes and begins -+ # with a dollar sign (not a hyphen), so the echo should work correctly. -+ lt_compile=`echo "$ac_compile" | $SED \ -+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -+ -e 's:$: $lt_compiler_flag:'` -+ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) -+ (eval "$lt_compile" 2>out/conftest.err) -+ ac_status=$? -+ cat out/conftest.err >&AS_MESSAGE_LOG_FD -+ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD -+ if (exit $ac_status) && test -s out/conftest2.$ac_objext -+ then -+ # The compiler can only warn and ignore the option if not recognized -+ # So say no if there are warnings -+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp -+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 -+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then -+ _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes -+ fi -+ fi -+ chmod u+w . 2>&AS_MESSAGE_LOG_FD -+ $RM conftest* -+ # SGI C++ compiler will create directory out/ii_files/ for -+ # template instantiation -+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files -+ $RM out/* && rmdir out -+ cd .. -+ $RM -r conftest -+ $RM conftest* -+]) -+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], -+ [Does compiler simultaneously support -c and -o options?]) -+])# _LT_COMPILER_C_O -+ -+ -+# _LT_COMPILER_FILE_LOCKS([TAGNAME]) -+# ---------------------------------- -+# Check to see if we can do hard links to lock some files if needed -+m4_defun([_LT_COMPILER_FILE_LOCKS], -+[m4_require([_LT_ENABLE_LOCK])dnl -+m4_require([_LT_FILEUTILS_DEFAULTS])dnl -+_LT_COMPILER_C_O([$1]) -+ -+hard_links="nottested" -+if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then -+ # do not overwrite the value of need_locks provided by the user -+ AC_MSG_CHECKING([if we can lock with hard links]) -+ hard_links=yes -+ $RM conftest* -+ ln conftest.a conftest.b 2>/dev/null && hard_links=no -+ touch conftest.a -+ ln conftest.a conftest.b 2>&5 || hard_links=no -+ ln conftest.a conftest.b 2>/dev/null && hard_links=no -+ AC_MSG_RESULT([$hard_links]) -+ if test "$hard_links" = no; then -+ AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) -+ need_locks=warn -+ fi -+else -+ need_locks=no -+fi -+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) -+])# _LT_COMPILER_FILE_LOCKS -+ -+ -+# _LT_CHECK_OBJDIR -+# ---------------- -+m4_defun([_LT_CHECK_OBJDIR], -+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -+[rm -f .libs 2>/dev/null -+mkdir .libs 2>/dev/null -+if test -d .libs; then -+ lt_cv_objdir=.libs -+else -+ # MS-DOS does not allow filenames that begin with a dot. -+ lt_cv_objdir=_libs -+fi -+rmdir .libs 2>/dev/null]) -+objdir=$lt_cv_objdir -+_LT_DECL([], [objdir], [0], -+ [The name of the directory that contains temporary libtool files])dnl -+m4_pattern_allow([LT_OBJDIR])dnl -+AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", -+ [Define to the sub-directory in which libtool stores uninstalled libraries.]) -+])# _LT_CHECK_OBJDIR -+ -+ -+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) -+# -------------------------------------- -+# Check hardcoding attributes. -+m4_defun([_LT_LINKER_HARDCODE_LIBPATH], -+[AC_MSG_CHECKING([how to hardcode library paths into programs]) -+_LT_TAGVAR(hardcode_action, $1)= -+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || -+ test -n "$_LT_TAGVAR(runpath_var, $1)" || -+ test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then -+ -+ # We can hardcode non-existent directories. -+ if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && -+ # If the only mechanism to avoid hardcoding is shlibpath_var, we -+ # have to relink, otherwise we might link with an installed library -+ # when we should be linking with a yet-to-be-installed one -+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && -+ test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then -+ # Linking always hardcodes the temporary library directory. -+ _LT_TAGVAR(hardcode_action, $1)=relink -+ else -+ # We can link without hardcoding, and we can hardcode nonexisting dirs. -+ _LT_TAGVAR(hardcode_action, $1)=immediate -+ fi -+else -+ # We cannot hardcode anything, or else we can only hardcode existing -+ # directories. -+ _LT_TAGVAR(hardcode_action, $1)=unsupported -+fi -+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) -+ -+if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || -+ test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then -+ # Fast installation is not supported -+ enable_fast_install=no -+elif test "$shlibpath_overrides_runpath" = yes || -+ test "$enable_shared" = no; then -+ # Fast installation is not necessary -+ enable_fast_install=needless -+fi -+_LT_TAGDECL([], [hardcode_action], [0], -+ [How to hardcode a shared library path into an executable]) -+])# _LT_LINKER_HARDCODE_LIBPATH -+ -+ -+# _LT_CMD_STRIPLIB -+# ---------------- -+m4_defun([_LT_CMD_STRIPLIB], -+[m4_require([_LT_DECL_EGREP]) -+striplib= -+old_striplib= -+AC_MSG_CHECKING([whether stripping libraries is possible]) -+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then -+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" -+ test -z "$striplib" && striplib="$STRIP --strip-unneeded" -+ AC_MSG_RESULT([yes]) -+else -+# FIXME - insert some real tests, host_os isn't really good enough -+ case $host_os in -+ darwin*) -+ if test -n "$STRIP" ; then -+ striplib="$STRIP -x" -+ old_striplib="$STRIP -S" -+ AC_MSG_RESULT([yes]) -+ else -+ AC_MSG_RESULT([no]) -+ fi -+ ;; -+ *) -+ AC_MSG_RESULT([no]) -+ ;; -+ esac -+fi -+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) -+_LT_DECL([], [striplib], [1]) -+])# _LT_CMD_STRIPLIB -+ -+ -+# _LT_SYS_DYNAMIC_LINKER([TAG]) -+# ----------------------------- -+# PORTME Fill in your ld.so characteristics -+m4_defun([_LT_SYS_DYNAMIC_LINKER], -+[AC_REQUIRE([AC_CANONICAL_HOST])dnl -+m4_require([_LT_DECL_EGREP])dnl -+m4_require([_LT_FILEUTILS_DEFAULTS])dnl -+m4_require([_LT_DECL_OBJDUMP])dnl -+m4_require([_LT_DECL_SED])dnl -+AC_MSG_CHECKING([dynamic linker characteristics]) -+m4_if([$1], -+ [], [ -+if test "$GCC" = yes; then -+ case $host_os in -+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; -+ *) lt_awk_arg="/^libraries:/" ;; -+ esac -+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` -+ if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then -+ # if the path contains ";" then we assume it to be the separator -+ # otherwise default to the standard path separator (i.e. ":") - it is -+ # assumed that no part of a normal pathname contains ";" but that should -+ # okay in the real world where ";" in dirpaths is itself problematic. -+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` -+ else -+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` -+ fi -+ # Ok, now we have the path, separated by spaces, we can step through it -+ # and add multilib dir if necessary. -+ lt_tmp_lt_search_path_spec= -+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` -+ for lt_sys_path in $lt_search_path_spec; do -+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then -+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" -+ else -+ test -d "$lt_sys_path" && \ -+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" -+ fi -+ done -+ lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' -+BEGIN {RS=" "; FS="/|\n";} { -+ lt_foo=""; -+ lt_count=0; -+ for (lt_i = NF; lt_i > 0; lt_i--) { -+ if ($lt_i != "" && $lt_i != ".") { -+ if ($lt_i == "..") { -+ lt_count++; -+ } else { -+ if (lt_count == 0) { -+ lt_foo="/" $lt_i lt_foo; -+ } else { -+ lt_count--; -+ } -+ } -+ } -+ } -+ if (lt_foo != "") { lt_freq[[lt_foo]]++; } -+ if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -+}'` -+ sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` -+else -+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -+fi]) -+library_names_spec= -+libname_spec='lib$name' -+soname_spec= -+shrext_cmds=".so" -+postinstall_cmds= -+postuninstall_cmds= -+finish_cmds= -+finish_eval= -+shlibpath_var= -+shlibpath_overrides_runpath=unknown -+version_type=none -+dynamic_linker="$host_os ld.so" -+sys_lib_dlsearch_path_spec="/lib /usr/lib" -+need_lib_prefix=unknown -+hardcode_into_libs=no -+ -+# when you set need_version to no, make sure it does not cause -set_version -+# flags to be left without arguments -+need_version=unknown -+ -+case $host_os in -+aix3*) -+ version_type=linux -+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' -+ shlibpath_var=LIBPATH -+ -+ # AIX 3 has no versioning support, so we append a major version to the name. -+ soname_spec='${libname}${release}${shared_ext}$major' -+ ;; -+ -+aix[[4-9]]*) -+ version_type=linux -+ need_lib_prefix=no -+ need_version=no -+ hardcode_into_libs=yes -+ if test "$host_cpu" = ia64; then -+ # AIX 5 supports IA64 -+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' -+ shlibpath_var=LD_LIBRARY_PATH -+ else -+ # With GCC up to 2.95.x, collect2 would create an import file -+ # for dependence libraries. The import file would start with -+ # the line `#! .'. This would cause the generated library to -+ # depend on `.', always an invalid library. This was fixed in -+ # development snapshots of GCC prior to 3.0. -+ case $host_os in -+ aix4 | aix4.[[01]] | aix4.[[01]].*) -+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' -+ echo ' yes ' -+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then -+ : -+ else -+ can_build_shared=no -+ fi -+ ;; -+ esac -+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct -+ # soname into executable. Probably we can add versioning support to -+ # collect2, so additional links can be useful in future. -+ if test "$aix_use_runtimelinking" = yes; then -+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so -+ # instead of lib<name>.a to let people know that these are not -+ # typical AIX shared libraries. -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -+ else -+ # We preserve .a as extension for shared libraries through AIX4.2 -+ # and later when we are not doing run time linking. -+ library_names_spec='${libname}${release}.a $libname.a' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ fi -+ shlibpath_var=LIBPATH -+ fi -+ ;; -+ -+amigaos*) -+ case $host_cpu in -+ powerpc) -+ # Since July 2007 AmigaOS4 officially supports .so libraries. -+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -+ ;; -+ m68k) -+ library_names_spec='$libname.ixlibrary $libname.a' -+ # Create ${libname}_ixlibrary.a entries in /sys/libs. -+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' -+ ;; -+ esac -+ ;; -+ -+beos*) -+ library_names_spec='${libname}${shared_ext}' -+ dynamic_linker="$host_os ld.so" -+ shlibpath_var=LIBRARY_PATH -+ ;; -+ -+bsdi[[45]]*) -+ version_type=linux -+ need_version=no -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' -+ shlibpath_var=LD_LIBRARY_PATH -+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" -+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" -+ # the default ld.so.conf also contains /usr/contrib/lib and -+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow -+ # libtool to hard-code these into programs -+ ;; -+ -+cygwin* | mingw* | pw32* | cegcc*) -+ version_type=windows -+ shrext_cmds=".dll" -+ need_version=no -+ need_lib_prefix=no -+ -+ case $GCC,$host_os in -+ yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) -+ library_names_spec='$libname.dll.a' -+ # 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~ -+ chmod a+x \$dldir/$dlname~ -+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then -+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; -+ fi' -+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ -+ dlpath=$dir/\$dldll~ -+ $RM \$dlpath' -+ shlibpath_overrides_runpath=yes -+ -+ case $host_os in -+ cygwin*) -+ # Cygwin DLLs use 'cyg' prefix rather than 'lib' -+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' -+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" -+ ;; -+ mingw* | cegcc*) -+ # MinGW DLLs use traditional 'lib' prefix -+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' -+ sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` -+ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then -+ # It is most probably a Windows format PATH printed by -+ # mingw gcc, but we are running on Cygwin. Gcc prints its search -+ # path with ; separators, and with drive letters. We can handle the -+ # drive letters (cygwin fileutils understands them), so leave them, -+ # especially as we might pass files found there to a mingw objdump, -+ # which wouldn't understand a cygwinified path. Ahh. -+ 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 -+ ;; -+ pw32*) -+ # pw32 DLLs use 'pw' prefix rather than 'lib' -+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' -+ ;; -+ esac -+ ;; -+ -+ *) -+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' -+ ;; -+ esac -+ dynamic_linker='Win32 ld.exe' -+ # FIXME: first we should search . and the directory the executable is in -+ shlibpath_var=PATH -+ ;; -+ -+darwin* | rhapsody*) -+ dynamic_linker="$host_os dyld" -+ version_type=darwin -+ need_lib_prefix=no -+ need_version=no -+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' -+ soname_spec='${libname}${release}${major}$shared_ext' -+ shlibpath_overrides_runpath=yes -+ shlibpath_var=DYLD_LIBRARY_PATH -+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -+m4_if([$1], [],[ -+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) -+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' -+ ;; -+ -+dgux*) -+ version_type=linux -+ need_lib_prefix=no -+ need_version=no -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ shlibpath_var=LD_LIBRARY_PATH -+ ;; -+ -+freebsd1*) -+ dynamic_linker=no -+ ;; -+ -+freebsd* | dragonfly*) -+ # DragonFly does not have aout. When/if they implement a new -+ # versioning mechanism, adjust this. -+ if test -x /usr/bin/objformat; then -+ objformat=`/usr/bin/objformat` -+ else -+ case $host_os in -+ freebsd[[123]]*) objformat=aout ;; -+ *) objformat=elf ;; -+ esac -+ fi -+ version_type=freebsd-$objformat -+ case $version_type in -+ freebsd-elf*) -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' -+ need_version=no -+ need_lib_prefix=no -+ ;; -+ freebsd-*) -+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' -+ need_version=yes -+ ;; -+ esac -+ shlibpath_var=LD_LIBRARY_PATH -+ case $host_os in -+ freebsd2*) -+ shlibpath_overrides_runpath=yes -+ ;; -+ freebsd3.[[01]]* | freebsdelf3.[[01]]*) -+ shlibpath_overrides_runpath=yes -+ hardcode_into_libs=yes -+ ;; -+ freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ -+ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) -+ shlibpath_overrides_runpath=no -+ hardcode_into_libs=yes -+ ;; -+ *) # from 4.6 on, and DragonFly -+ shlibpath_overrides_runpath=yes -+ hardcode_into_libs=yes -+ ;; -+ esac -+ ;; -+ -+gnu*) -+ version_type=linux -+ need_lib_prefix=no -+ need_version=no -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ shlibpath_var=LD_LIBRARY_PATH -+ hardcode_into_libs=yes -+ ;; -+ -+hpux9* | hpux10* | hpux11*) -+ # Give a soname corresponding to the major version so that dld.sl refuses to -+ # link against other versions. -+ version_type=sunos -+ need_lib_prefix=no -+ need_version=no -+ case $host_cpu in -+ ia64*) -+ shrext_cmds='.so' -+ hardcode_into_libs=yes -+ dynamic_linker="$host_os dld.so" -+ shlibpath_var=LD_LIBRARY_PATH -+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ if test "X$HPUX_IA64_MODE" = X32; then -+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" -+ else -+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" -+ fi -+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec -+ ;; -+ hppa*64*) -+ shrext_cmds='.sl' -+ hardcode_into_libs=yes -+ dynamic_linker="$host_os dld.sl" -+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH -+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" -+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec -+ ;; -+ *) -+ shrext_cmds='.sl' -+ dynamic_linker="$host_os dld.sl" -+ shlibpath_var=SHLIB_PATH -+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ ;; -+ esac -+ # HP-UX runs *really* slowly unless shared libraries are mode 555. -+ postinstall_cmds='chmod 555 $lib' -+ ;; -+ -+interix[[3-9]]*) -+ version_type=linux -+ need_lib_prefix=no -+ need_version=no -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' -+ shlibpath_var=LD_LIBRARY_PATH -+ shlibpath_overrides_runpath=no -+ hardcode_into_libs=yes -+ ;; -+ -+irix5* | irix6* | nonstopux*) -+ case $host_os in -+ nonstopux*) version_type=nonstopux ;; -+ *) -+ if test "$lt_cv_prog_gnu_ld" = yes; then -+ version_type=linux -+ else -+ version_type=irix -+ fi ;; -+ esac -+ need_lib_prefix=no -+ need_version=no -+ soname_spec='${libname}${release}${shared_ext}$major' -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' -+ case $host_os in -+ irix5* | nonstopux*) -+ libsuff= shlibsuff= -+ ;; -+ *) -+ case $LD in # libtool.m4 will add one of these switches to LD -+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") -+ libsuff= shlibsuff= libmagic=32-bit;; -+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") -+ libsuff=32 shlibsuff=N32 libmagic=N32;; -+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") -+ libsuff=64 shlibsuff=64 libmagic=64-bit;; -+ *) libsuff= shlibsuff= libmagic=never-match;; -+ esac -+ ;; -+ esac -+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH -+ shlibpath_overrides_runpath=no -+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" -+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" -+ hardcode_into_libs=yes -+ ;; -+ -+# No shared lib support for Linux oldld, aout, or coff. -+linux*oldld* | linux*aout* | linux*coff*) -+ dynamic_linker=no -+ ;; -+ -+# This must be Linux ELF. -+linux* | k*bsd*-gnu) -+ version_type=linux -+ need_lib_prefix=no -+ need_version=no -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' -+ shlibpath_var=LD_LIBRARY_PATH -+ shlibpath_overrides_runpath=no -+ # Some binutils ld are patched to set DT_RUNPATH -+ save_LDFLAGS=$LDFLAGS -+ save_libdir=$libdir -+ eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ -+ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" -+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], -+ [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], -+ [shlibpath_overrides_runpath=yes])]) -+ LDFLAGS=$save_LDFLAGS -+ libdir=$save_libdir -+ -+ # This implies no fast_install, which is unacceptable. -+ # Some rework will be needed to allow for fast_install -+ # before this can be enabled. -+ hardcode_into_libs=yes -+ -+ # Append ld.so.conf contents to the search path -+ if test -f /etc/ld.so.conf; then -+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` -+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" -+ fi -+ -+ # We used to test for /lib/ld.so.1 and disable shared libraries on -+ # powerpc, because MkLinux only supported shared libraries with the -+ # GNU dynamic linker. Since this was broken with cross compilers, -+ # most powerpc-linux boxes support dynamic linking these days and -+ # people can always --disable-shared, the test was removed, and we -+ # assume the GNU/Linux dynamic linker is in use. -+ dynamic_linker='GNU/Linux ld.so' -+ ;; -+ -+netbsd*) -+ version_type=sunos -+ need_lib_prefix=no -+ need_version=no -+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' -+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' -+ dynamic_linker='NetBSD (a.out) ld.so' -+ else -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ dynamic_linker='NetBSD ld.elf_so' -+ fi -+ shlibpath_var=LD_LIBRARY_PATH -+ shlibpath_overrides_runpath=yes -+ hardcode_into_libs=yes -+ ;; -+ -+newsos6) -+ version_type=linux -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -+ shlibpath_var=LD_LIBRARY_PATH -+ shlibpath_overrides_runpath=yes -+ ;; -+ -+*nto* | *qnx*) -+ version_type=qnx -+ need_lib_prefix=no -+ need_version=no -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ shlibpath_var=LD_LIBRARY_PATH -+ shlibpath_overrides_runpath=no -+ hardcode_into_libs=yes -+ dynamic_linker='ldqnx.so' -+ ;; -+ -+openbsd*) -+ version_type=sunos -+ sys_lib_dlsearch_path_spec="/usr/lib" -+ need_lib_prefix=no -+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. -+ case $host_os in -+ openbsd3.3 | openbsd3.3.*) need_version=yes ;; -+ *) need_version=no ;; -+ esac -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' -+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' -+ shlibpath_var=LD_LIBRARY_PATH -+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then -+ case $host_os in -+ openbsd2.[[89]] | openbsd2.[[89]].*) -+ shlibpath_overrides_runpath=no -+ ;; -+ *) -+ shlibpath_overrides_runpath=yes -+ ;; -+ esac -+ else -+ shlibpath_overrides_runpath=yes -+ fi -+ ;; -+ -+os2*) -+ libname_spec='$name' -+ shrext_cmds=".dll" -+ need_lib_prefix=no -+ library_names_spec='$libname${shared_ext} $libname.a' -+ dynamic_linker='OS/2 ld.exe' -+ shlibpath_var=LIBPATH -+ ;; -+ -+osf3* | osf4* | osf5*) -+ version_type=osf -+ need_lib_prefix=no -+ need_version=no -+ soname_spec='${libname}${release}${shared_ext}$major' -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -+ shlibpath_var=LD_LIBRARY_PATH -+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" -+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" -+ ;; -+ -+rdos*) -+ dynamic_linker=no -+ ;; -+ -+solaris*) -+ version_type=linux -+ need_lib_prefix=no -+ need_version=no -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ shlibpath_var=LD_LIBRARY_PATH -+ shlibpath_overrides_runpath=yes -+ hardcode_into_libs=yes -+ # ldd complains unless libraries are executable -+ postinstall_cmds='chmod +x $lib' -+ ;; -+ -+sunos4*) -+ version_type=sunos -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' -+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' -+ shlibpath_var=LD_LIBRARY_PATH -+ shlibpath_overrides_runpath=yes -+ if test "$with_gnu_ld" = yes; then -+ need_lib_prefix=no -+ fi -+ need_version=yes -+ ;; -+ -+sysv4 | sysv4.3*) -+ version_type=linux -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ shlibpath_var=LD_LIBRARY_PATH -+ case $host_vendor in -+ sni) -+ shlibpath_overrides_runpath=no -+ need_lib_prefix=no -+ runpath_var=LD_RUN_PATH -+ ;; -+ siemens) -+ need_lib_prefix=no -+ ;; -+ motorola) -+ need_lib_prefix=no -+ need_version=no -+ shlibpath_overrides_runpath=no -+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' -+ ;; -+ esac -+ ;; -+ -+sysv4*MP*) -+ if test -d /usr/nec ;then -+ version_type=linux -+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' -+ soname_spec='$libname${shared_ext}.$major' -+ shlibpath_var=LD_LIBRARY_PATH -+ fi -+ ;; -+ -+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) -+ version_type=freebsd-elf -+ need_lib_prefix=no -+ need_version=no -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ shlibpath_var=LD_LIBRARY_PATH -+ shlibpath_overrides_runpath=yes -+ hardcode_into_libs=yes -+ if test "$with_gnu_ld" = yes; then -+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' -+ else -+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' -+ case $host_os in -+ sco3.2v5*) -+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" -+ ;; -+ esac -+ fi -+ sys_lib_dlsearch_path_spec='/usr/lib' -+ ;; -+ -+tpf*) -+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux. -+ version_type=linux -+ need_lib_prefix=no -+ need_version=no -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -+ shlibpath_var=LD_LIBRARY_PATH -+ shlibpath_overrides_runpath=no -+ hardcode_into_libs=yes -+ ;; -+ -+uts4*) -+ version_type=linux -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ shlibpath_var=LD_LIBRARY_PATH -+ ;; -+ -+*) -+ dynamic_linker=no -+ ;; -+esac -+AC_MSG_RESULT([$dynamic_linker]) -+test "$dynamic_linker" = no && can_build_shared=no -+ -+variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -+if test "$GCC" = yes; then -+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -+fi -+ -+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then -+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -+fi -+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then -+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -+fi -+ -+_LT_DECL([], [variables_saved_for_relink], [1], -+ [Variables whose values should be saved in libtool wrapper scripts and -+ restored at link time]) -+_LT_DECL([], [need_lib_prefix], [0], -+ [Do we need the "lib" prefix for modules?]) -+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) -+_LT_DECL([], [version_type], [0], [Library versioning type]) -+_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) -+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) -+_LT_DECL([], [shlibpath_overrides_runpath], [0], -+ [Is shlibpath searched before the hard-coded library search path?]) -+_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) -+_LT_DECL([], [library_names_spec], [1], -+ [[List of archive names. First name is the real one, the rest are links. -+ The last name is the one that the linker finds with -lNAME]]) -+_LT_DECL([], [soname_spec], [1], -+ [[The coded name of the library, if different from the real name]]) -+_LT_DECL([], [postinstall_cmds], [2], -+ [Command to use after installation of a shared archive]) -+_LT_DECL([], [postuninstall_cmds], [2], -+ [Command to use after uninstallation of a shared archive]) -+_LT_DECL([], [finish_cmds], [2], -+ [Commands used to finish a libtool library installation in a directory]) -+_LT_DECL([], [finish_eval], [1], -+ [[As "finish_cmds", except a single script fragment to be evaled but -+ not shown]]) -+_LT_DECL([], [hardcode_into_libs], [0], -+ [Whether we should hardcode library paths into libraries]) -+_LT_DECL([], [sys_lib_search_path_spec], [2], -+ [Compile-time system search path for libraries]) -+_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], -+ [Run-time system search path for libraries]) -+])# _LT_SYS_DYNAMIC_LINKER -+ -+ -+# _LT_PATH_TOOL_PREFIX(TOOL) -+# -------------------------- -+# find a file program which can recognize shared library -+AC_DEFUN([_LT_PATH_TOOL_PREFIX], -+[m4_require([_LT_DECL_EGREP])dnl -+AC_MSG_CHECKING([for $1]) -+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -+[case $MAGIC_CMD in -+[[\\/*] | ?:[\\/]*]) -+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. -+ ;; -+*) -+ lt_save_MAGIC_CMD="$MAGIC_CMD" -+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -+dnl $ac_dummy forces splitting on constant user-supplied paths. -+dnl POSIX.2 word splitting is done only on the output of word expansions, -+dnl not every word. This closes a longstanding sh security hole. -+ ac_dummy="m4_if([$2], , $PATH, [$2])" -+ for ac_dir in $ac_dummy; do -+ IFS="$lt_save_ifs" -+ test -z "$ac_dir" && ac_dir=. -+ if test -f $ac_dir/$1; then -+ lt_cv_path_MAGIC_CMD="$ac_dir/$1" -+ if test -n "$file_magic_test_file"; then -+ case $deplibs_check_method in -+ "file_magic "*) -+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` -+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | -+ $EGREP "$file_magic_regex" > /dev/null; then -+ : -+ else -+ cat <<_LT_EOF 1>&2 -+ -+*** Warning: the command libtool uses to detect shared libraries, -+*** $file_magic_cmd, produces output that libtool cannot recognize. -+*** The result is that libtool may fail to recognize shared libraries -+*** as such. This will affect the creation of libtool libraries that -+*** depend on shared libraries, but programs linked with such libtool -+*** libraries will work regardless of this problem. Nevertheless, you -+*** may want to report the problem to your system manager and/or to -+*** bug-libtool@gnu.org -+ -+_LT_EOF -+ fi ;; -+ esac -+ fi -+ break -+ fi -+ done -+ IFS="$lt_save_ifs" -+ MAGIC_CMD="$lt_save_MAGIC_CMD" -+ ;; -+esac]) -+MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -+if test -n "$MAGIC_CMD"; then -+ AC_MSG_RESULT($MAGIC_CMD) -+else -+ AC_MSG_RESULT(no) -+fi -+_LT_DECL([], [MAGIC_CMD], [0], -+ [Used to examine libraries when file_magic_cmd begins with "file"])dnl -+])# _LT_PATH_TOOL_PREFIX -+ -+# Old name: -+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) -+dnl aclocal-1.4 backwards compatibility: -+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) -+ -+ -+# _LT_PATH_MAGIC -+# -------------- -+# find a file program which can recognize a shared library -+m4_defun([_LT_PATH_MAGIC], -+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -+if test -z "$lt_cv_path_MAGIC_CMD"; then -+ if test -n "$ac_tool_prefix"; then -+ _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) -+ else -+ MAGIC_CMD=: -+ fi -+fi -+])# _LT_PATH_MAGIC -+ -+ -+# LT_PATH_LD -+# ---------- -+# find the pathname to the GNU or non-GNU linker -+AC_DEFUN([LT_PATH_LD], -+[AC_REQUIRE([AC_PROG_CC])dnl -+AC_REQUIRE([AC_CANONICAL_HOST])dnl -+AC_REQUIRE([AC_CANONICAL_BUILD])dnl -+m4_require([_LT_DECL_SED])dnl -+m4_require([_LT_DECL_EGREP])dnl -+ -+AC_ARG_WITH([gnu-ld], -+ [AS_HELP_STRING([--with-gnu-ld], -+ [assume the C compiler uses GNU ld @<:@default=no@:>@])], -+ [test "$withval" = no || with_gnu_ld=yes], -+ [with_gnu_ld=no])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 $CC]) -+ 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. -+ [[\\/]]* | ?:[[\\/]]*) -+ re_direlt='/[[^/]][[^/]]*/\.\./' -+ # Canonicalize the pathname 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(lt_cv_path_LD, -+[if test -z "$LD"; then -+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -+ for ac_dir in $PATH; do -+ IFS="$lt_save_ifs" -+ test -z "$ac_dir" && ac_dir=. -+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then -+ lt_cv_path_LD="$ac_dir/$ac_prog" -+ # Check to see if the program is GNU ld. I'd rather use --version, -+ # but apparently some variants of GNU ld only accept -v. -+ # Break only if it was the GNU/non-GNU ld that we prefer. -+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in -+ *GNU* | *'with BFD'*) -+ test "$with_gnu_ld" != no && break -+ ;; -+ *) -+ test "$with_gnu_ld" != yes && break -+ ;; -+ esac -+ fi -+ done -+ IFS="$lt_save_ifs" -+else -+ lt_cv_path_LD="$LD" # Let the user override the test with a path. -+fi]) -+LD="$lt_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]) -+_LT_PATH_LD_GNU -+AC_SUBST([LD]) -+ -+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries]) -+])# LT_PATH_LD -+ -+# Old names: -+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD]) -+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD]) -+dnl aclocal-1.4 backwards compatibility: -+dnl AC_DEFUN([AM_PROG_LD], []) -+dnl AC_DEFUN([AC_PROG_LD], []) -+ -+ -+# _LT_PATH_LD_GNU -+#- -------------- -+m4_defun([_LT_PATH_LD_GNU], -+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, -+[# I'd rather use --version here, but apparently some GNU lds only accept -v. -+case `$LD -v 2>&1 </dev/null` in -+*GNU* | *'with BFD'*) -+ lt_cv_prog_gnu_ld=yes -+ ;; -+*) -+ lt_cv_prog_gnu_ld=no -+ ;; -+esac]) -+with_gnu_ld=$lt_cv_prog_gnu_ld -+])# _LT_PATH_LD_GNU -+ -+ -+# _LT_CMD_RELOAD -+# -------------- -+# find reload flag for linker -+# -- PORTME Some linkers may need a different reload flag. -+m4_defun([_LT_CMD_RELOAD], -+[AC_CACHE_CHECK([for $LD option to reload object files], -+ lt_cv_ld_reload_flag, -+ [lt_cv_ld_reload_flag='-r']) -+reload_flag=$lt_cv_ld_reload_flag -+case $reload_flag in -+"" | " "*) ;; -+*) reload_flag=" $reload_flag" ;; -+esac -+reload_cmds='$LD$reload_flag -o $output$reload_objs' -+case $host_os in -+ darwin*) -+ if test "$GCC" = yes; then -+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' -+ else -+ reload_cmds='$LD$reload_flag -o $output$reload_objs' -+ fi -+ ;; -+esac -+_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl -+_LT_DECL([], [reload_cmds], [2])dnl -+])# _LT_CMD_RELOAD -+ -+ -+# _LT_CHECK_MAGIC_METHOD -+# ---------------------- -+# how to check for library dependencies -+# -- PORTME fill in with the dynamic library characteristics -+m4_defun([_LT_CHECK_MAGIC_METHOD], -+[m4_require([_LT_DECL_EGREP]) -+m4_require([_LT_DECL_OBJDUMP]) -+AC_CACHE_CHECK([how to recognize dependent libraries], -+lt_cv_deplibs_check_method, -+[lt_cv_file_magic_cmd='$MAGIC_CMD' -+lt_cv_file_magic_test_file= -+lt_cv_deplibs_check_method='unknown' -+# Need to set the preceding variable on all platforms that support -+# interlibrary dependencies. -+# 'none' -- dependencies not supported. -+# `unknown' -- same as none, but documents that we really don't know. -+# 'pass_all' -- all dependencies passed with no checks. -+# 'test_compile' -- check by making test program. -+# 'file_magic [[regex]]' -- check by looking for files in library path -+# which responds to the $file_magic_cmd with a given extended regex. -+# If you have `file' or equivalent on your system and you're not sure -+# whether `pass_all' will *always* work, you probably want this one. -+ -+case $host_os in -+aix[[4-9]]*) -+ lt_cv_deplibs_check_method=pass_all -+ ;; -+ -+beos*) -+ lt_cv_deplibs_check_method=pass_all -+ ;; -+ -+bsdi[[45]]*) -+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' -+ lt_cv_file_magic_cmd='/usr/bin/file -L' -+ lt_cv_file_magic_test_file=/shlib/libc.so -+ ;; -+ -+cygwin*) -+ # func_win32_libid is a shell function defined in ltmain.sh -+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' -+ lt_cv_file_magic_cmd='func_win32_libid' -+ ;; -+ -+mingw* | pw32*) -+ # Base MSYS/MinGW do not provide the 'file' command needed by -+ # func_win32_libid shell function, so use a weaker test based on 'objdump', -+ # unless we find 'file', for example because we are cross-compiling. -+ if ( file / ) >/dev/null 2>&1; then -+ 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)?' -+ lt_cv_file_magic_cmd='$OBJDUMP -f' -+ fi -+ ;; -+ -+cegcc) -+ # use the weaker test based on 'objdump'. See mingw*. -+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' -+ lt_cv_file_magic_cmd='$OBJDUMP -f' -+ ;; -+ -+darwin* | rhapsody*) -+ lt_cv_deplibs_check_method=pass_all -+ ;; -+ -+freebsd* | dragonfly*) -+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then -+ case $host_cpu in -+ i*86 ) -+ # Not sure whether the presence of OpenBSD here was a mistake. -+ # Let's accept both of them until this is cleared up. -+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' -+ lt_cv_file_magic_cmd=/usr/bin/file -+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` -+ ;; -+ esac -+ else -+ lt_cv_deplibs_check_method=pass_all -+ fi -+ ;; -+ -+gnu*) -+ lt_cv_deplibs_check_method=pass_all -+ ;; -+ -+hpux10.20* | hpux11*) -+ lt_cv_file_magic_cmd=/usr/bin/file -+ case $host_cpu in -+ ia64*) -+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' -+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so -+ ;; -+ hppa*64*) -+ [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] -+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl -+ ;; -+ *) -+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' -+ lt_cv_file_magic_test_file=/usr/lib/libc.sl -+ ;; -+ esac -+ ;; -+ -+interix[[3-9]]*) -+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here -+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' -+ ;; -+ -+irix5* | irix6* | nonstopux*) -+ case $LD in -+ *-32|*"-32 ") libmagic=32-bit;; -+ *-n32|*"-n32 ") libmagic=N32;; -+ *-64|*"-64 ") libmagic=64-bit;; -+ *) libmagic=never-match;; -+ esac -+ lt_cv_deplibs_check_method=pass_all -+ ;; -+ -+# This must be Linux ELF. -+linux* | k*bsd*-gnu) -+ lt_cv_deplibs_check_method=pass_all -+ ;; -+ -+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)$' -+ else -+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' -+ fi -+ ;; -+ -+newos6*) -+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' -+ lt_cv_file_magic_cmd=/usr/bin/file -+ lt_cv_file_magic_test_file=/usr/lib/libnls.so -+ ;; -+ -+*nto* | *qnx*) -+ lt_cv_deplibs_check_method=pass_all -+ ;; -+ -+openbsd*) -+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then -+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' -+ else -+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' -+ fi -+ ;; -+ -+osf3* | osf4* | osf5*) -+ lt_cv_deplibs_check_method=pass_all -+ ;; -+ -+rdos*) -+ lt_cv_deplibs_check_method=pass_all -+ ;; -+ -+solaris*) -+ lt_cv_deplibs_check_method=pass_all -+ ;; -+ -+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) -+ lt_cv_deplibs_check_method=pass_all -+ ;; -+ -+sysv4 | sysv4.3*) -+ case $host_vendor in -+ motorola) -+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' -+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` -+ ;; -+ ncr) -+ lt_cv_deplibs_check_method=pass_all -+ ;; -+ sequent) -+ lt_cv_file_magic_cmd='/bin/file' -+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' -+ ;; -+ sni) -+ lt_cv_file_magic_cmd='/bin/file' -+ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" -+ lt_cv_file_magic_test_file=/lib/libc.so -+ ;; -+ siemens) -+ lt_cv_deplibs_check_method=pass_all -+ ;; -+ pc) -+ lt_cv_deplibs_check_method=pass_all -+ ;; -+ esac -+ ;; -+ -+tpf*) -+ lt_cv_deplibs_check_method=pass_all -+ ;; -+esac -+]) -+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 -+ -+_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"]) -+])# _LT_CHECK_MAGIC_METHOD -+ -+ -+# LT_PATH_NM -+# ---------- -+# find the pathname to a BSD- or MS-compatible name lister -+AC_DEFUN([LT_PATH_NM], -+[AC_REQUIRE([AC_PROG_CC])dnl -+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, -+[if test -n "$NM"; then -+ # Let the user override the test. -+ lt_cv_path_NM="$NM" -+else -+ lt_nm_to_check="${ac_tool_prefix}nm" -+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then -+ lt_nm_to_check="$lt_nm_to_check nm" -+ fi -+ for lt_tmp_nm in $lt_nm_to_check; do -+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do -+ IFS="$lt_save_ifs" -+ test -z "$ac_dir" && ac_dir=. -+ tmp_nm="$ac_dir/$lt_tmp_nm" -+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then -+ # Check to see if the nm accepts a BSD-compat flag. -+ # Adding the `sed 1q' prevents false positives on HP-UX, which says: -+ # nm: unknown option "B" ignored -+ # Tru64's nm complains that /dev/null is an invalid object file -+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in -+ */dev/null* | *'Invalid file or object type'*) -+ lt_cv_path_NM="$tmp_nm -B" -+ break -+ ;; -+ *) -+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in -+ */dev/null*) -+ lt_cv_path_NM="$tmp_nm -p" -+ break -+ ;; -+ *) -+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but -+ continue # so that we can try to find one that supports BSD flags -+ ;; -+ esac -+ ;; -+ esac -+ fi -+ done -+ IFS="$lt_save_ifs" -+ done -+ : ${lt_cv_path_NM=no} -+fi]) -+if test "$lt_cv_path_NM" != "no"; then -+ NM="$lt_cv_path_NM" -+else -+ # Didn't find any BSD compatible name lister, look for dumpbin. -+ AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) -+ AC_SUBST([DUMPBIN]) -+ if test "$DUMPBIN" != ":"; then -+ NM="$DUMPBIN" -+ fi -+fi -+test -z "$NM" && NM=nm -+AC_SUBST([NM]) -+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl -+ -+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], -+ [lt_cv_nm_interface="BSD nm" -+ echo "int some_variable = 0;" > conftest.$ac_ext -+ (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) -+ (eval "$ac_compile" 2>conftest.err) -+ cat conftest.err >&AS_MESSAGE_LOG_FD -+ (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) -+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) -+ cat conftest.err >&AS_MESSAGE_LOG_FD -+ (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) -+ cat conftest.out >&AS_MESSAGE_LOG_FD -+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then -+ lt_cv_nm_interface="MS dumpbin" -+ fi -+ rm -f conftest*]) -+])# LT_PATH_NM -+ -+# Old names: -+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) -+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) -+dnl aclocal-1.4 backwards compatibility: -+dnl AC_DEFUN([AM_PROG_NM], []) -+dnl AC_DEFUN([AC_PROG_NM], []) -+ -+ -+# LT_LIB_M -+# -------- -+# check for math library -+AC_DEFUN([LT_LIB_M], -+[AC_REQUIRE([AC_CANONICAL_HOST])dnl -+LIBM= -+case $host in -+*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) -+ # These system don't have libm, or don't need it -+ ;; -+*-ncr-sysv4.3*) -+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") -+ AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") -+ ;; -+*) -+ AC_CHECK_LIB(m, cos, LIBM="-lm") -+ ;; -+esac -+AC_SUBST([LIBM]) -+])# LT_LIB_M -+ -+# Old name: -+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) -+dnl aclocal-1.4 backwards compatibility: -+dnl AC_DEFUN([AC_CHECK_LIBM], []) -+ -+ -+# _LT_COMPILER_NO_RTTI([TAGNAME]) -+# ------------------------------- -+m4_defun([_LT_COMPILER_NO_RTTI], -+[m4_require([_LT_TAG_COMPILER])dnl -+ -+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= -+ -+if test "$GCC" = yes; then -+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' -+ -+ _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], -+ lt_cv_prog_compiler_rtti_exceptions, -+ [-fno-rtti -fno-exceptions], [], -+ [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -+fi -+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], -+ [Compiler flag to turn off builtin functions]) -+])# _LT_COMPILER_NO_RTTI -+ -+ -+# _LT_CMD_GLOBAL_SYMBOLS -+# ---------------------- -+m4_defun([_LT_CMD_GLOBAL_SYMBOLS], -+[AC_REQUIRE([AC_CANONICAL_HOST])dnl -+AC_REQUIRE([AC_PROG_CC])dnl -+AC_REQUIRE([LT_PATH_NM])dnl -+AC_REQUIRE([LT_PATH_LD])dnl -+m4_require([_LT_DECL_SED])dnl -+m4_require([_LT_DECL_EGREP])dnl -+m4_require([_LT_TAG_COMPILER])dnl -+ -+# Check for command to grab the raw symbol name followed by C symbol from nm. -+AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -+[ -+# These are sane defaults that work on at least a few old systems. -+# [They come from Ultrix. What could be older than Ultrix?!! ;)] -+ -+# Character class describing NM global symbol codes. -+symcode='[[BCDEGRST]]' -+ -+# Regexp to match symbols that can be accessed directly from C. -+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' -+ -+# Define system-specific variables. -+case $host_os in -+aix*) -+ symcode='[[BCDT]]' -+ ;; -+cygwin* | mingw* | pw32* | cegcc*) -+ symcode='[[ABCDGISTW]]' -+ ;; -+hpux*) -+ if test "$host_cpu" = ia64; then -+ symcode='[[ABCDEGRST]]' -+ fi -+ ;; -+irix* | nonstopux*) -+ symcode='[[BCDEGRST]]' -+ ;; -+osf*) -+ symcode='[[BCDEGQRST]]' -+ ;; -+solaris*) -+ symcode='[[BDRT]]' -+ ;; -+sco3.2v5*) -+ symcode='[[DT]]' -+ ;; -+sysv4.2uw2*) -+ symcode='[[DT]]' -+ ;; -+sysv5* | sco5v6* | unixware* | OpenUNIX*) -+ symcode='[[ABDT]]' -+ ;; -+sysv4) -+ symcode='[[DFNSTU]]' -+ ;; -+esac -+ -+# If we're using GNU nm, then use its standard symbol codes. -+case `$NM -V 2>&1` in -+*GNU* | *'with BFD'*) -+ symcode='[[ABCDGIRSTW]]' ;; -+esac -+ -+# Transform an extracted symbol line into a proper C declaration. -+# Some systems (esp. on ia64) link data and code symbols differently, -+# so use this general approach. -+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'" -+ -+# Handle CRLF in mingw tool chain -+opt_cr= -+case $build_os in -+mingw*) -+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp -+ ;; -+esac -+ -+# Try without a prefix underscore, then with it. -+for ac_symprfx in "" "_"; do -+ -+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. -+ symxfrm="\\1 $ac_symprfx\\2 \\2" -+ -+ # Write the raw and C identifiers. -+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then -+ # Fake it for dumpbin and say T for any non-static function -+ # and D for any global variable. -+ # Also find C++ and __fastcall symbols from MSVC++, -+ # which start with @ or ?. -+ lt_cv_sys_global_symbol_pipe="$AWK ['"\ -+" {last_section=section; section=\$ 3};"\ -+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -+" \$ 0!~/External *\|/{next};"\ -+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -+" {if(hide[section]) next};"\ -+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -+" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -+" ' prfx=^$ac_symprfx]" -+ else -+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" -+ fi -+ -+ # Check to see that the pipe works correctly. -+ pipe_works=no -+ -+ rm -f conftest* -+ cat > conftest.$ac_ext <<_LT_EOF -+#ifdef __cplusplus -+extern "C" { -+#endif -+char nm_test_var; -+void nm_test_func(void); -+void nm_test_func(void){} -+#ifdef __cplusplus -+} -+#endif -+int main(){nm_test_var='a';nm_test_func();return(0);} -+_LT_EOF -+ -+ if AC_TRY_EVAL(ac_compile); then -+ # Now try to grab the symbols. -+ nlist=conftest.nm -+ if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then -+ # Try sorting and uniquifying the output. -+ if sort "$nlist" | uniq > "$nlist"T; then -+ mv -f "$nlist"T "$nlist" -+ else -+ rm -f "$nlist"T -+ fi -+ -+ # Make sure that we snagged all the symbols we need. -+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then -+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then -+ cat <<_LT_EOF > conftest.$ac_ext -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+_LT_EOF -+ # Now generate the symbol file. -+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' -+ -+ cat <<_LT_EOF >> conftest.$ac_ext -+ -+/* The mapping between symbol names and symbols. */ -+const struct { -+ const char *name; -+ void *address; -+} -+lt__PROGRAM__LTX_preloaded_symbols[[]] = -+{ -+ { "@PROGRAM@", (void *) 0 }, -+_LT_EOF -+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext -+ cat <<\_LT_EOF >> conftest.$ac_ext -+ {0, (void *) 0} -+}; -+ -+/* This works around a problem in FreeBSD linker */ -+#ifdef FREEBSD_WORKAROUND -+static const void *lt_preloaded_setup() { -+ return lt__PROGRAM__LTX_preloaded_symbols; -+} -+#endif -+ -+#ifdef __cplusplus -+} -+#endif -+_LT_EOF -+ # Now try linking the two files. -+ mv conftest.$ac_objext conftstm.$ac_objext -+ lt_save_LIBS="$LIBS" -+ lt_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" -+ else -+ echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD -+ fi -+ else -+ echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD -+ fi -+ else -+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD -+ fi -+ else -+ echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD -+ cat conftest.$ac_ext >&5 -+ fi -+ rm -rf conftest* conftst* -+ -+ # Do not use the global_symbol_pipe unless it works. -+ if test "$pipe_works" = yes; then -+ break -+ else -+ lt_cv_sys_global_symbol_pipe= -+ fi -+done -+]) -+if test -z "$lt_cv_sys_global_symbol_pipe"; then -+ lt_cv_sys_global_symbol_to_cdecl= -+fi -+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then -+ AC_MSG_RESULT(failed) -+else -+ AC_MSG_RESULT(ok) -+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], -+ [Transform the output of nm in a proper C declaration]) -+_LT_DECL([global_symbol_to_c_name_address], -+ [lt_cv_sys_global_symbol_to_c_name_address], [1], -+ [Transform the output of nm in a C name address pair]) -+_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_CMD_GLOBAL_SYMBOLS -+ -+ -+# _LT_COMPILER_PIC([TAGNAME]) -+# --------------------------- -+m4_defun([_LT_COMPILER_PIC], -+[m4_require([_LT_TAG_COMPILER])dnl -+_LT_TAGVAR(lt_prog_compiler_wl, $1)= -+_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 -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' -+ -+ case $host_os in -+ aix*) -+ # All AIX code is PIC. -+ if test "$host_cpu" = ia64; then -+ # AIX 5 now supports IA64 processor -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' -+ fi -+ ;; -+ -+ amigaos*) -+ case $host_cpu in -+ powerpc) -+ # see comment about AmigaOS4 .so support -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' -+ ;; -+ m68k) -+ # FIXME: we need at least 68020 code to build shared libraries, but -+ # adding the `-m68020' flag to GCC prevents building anything better, -+ # like `-m68040'. -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' -+ ;; -+ esac -+ ;; -+ -+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) -+ # PIC is the default for these OSes. -+ ;; -+ 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). -+ # Although the cygwin gcc ignores -fPIC, still need this for old-style -+ # (--disable-auto-import) libraries -+ m4_if([$1], [GCJ], [], -+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) -+ ;; -+ darwin* | rhapsody*) -+ # PIC is the default on this platform -+ # Common symbols not allowed in MH_DYLIB files -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' -+ ;; -+ *djgpp*) -+ # DJGPP does not support shared libraries at all -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)= -+ ;; -+ interix[[3-9]]*) -+ # Interix 3.x gcc -fpic/-fPIC options generate broken code. -+ # Instead, we relocate shared libraries at runtime. -+ ;; -+ sysv4*MP*) -+ if test -d /usr/nec; then -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic -+ fi -+ ;; -+ hpux*) -+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit -+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag -+ # sets the default TLS model and affects inlining. -+ case $host_cpu in -+ hppa*64*) -+ ;; -+ *) -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' -+ ;; -+ esac -+ ;; -+ *qnx* | *nto*) -+ # QNX uses GNU C++, but need to define -shared option too, otherwise -+ # it will coredump. -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' -+ ;; -+ *) -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' -+ ;; -+ esac -+ else -+ case $host_os in -+ aix[[4-9]]*) -+ # All AIX code is PIC. -+ if test "$host_cpu" = ia64; then -+ # AIX 5 now supports IA64 processor -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' -+ else -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' -+ fi -+ ;; -+ chorus*) -+ case $cc_basename in -+ cxch68*) -+ # Green Hills C++ Compiler -+ # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" -+ ;; -+ esac -+ ;; -+ dgux*) -+ case $cc_basename in -+ ec++*) -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' -+ ;; -+ ghcx*) -+ # Green Hills C++ Compiler -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' -+ ;; -+ *) -+ ;; -+ esac -+ ;; -+ freebsd* | dragonfly*) -+ # FreeBSD uses GNU C++ -+ ;; -+ hpux9* | hpux10* | hpux11*) -+ case $cc_basename in -+ CC*) -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' -+ if test "$host_cpu" != ia64; then -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' -+ fi -+ ;; -+ aCC*) -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' -+ case $host_cpu in -+ hppa*64*|ia64*) -+ # +Z the default -+ ;; -+ *) -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' -+ ;; -+ esac -+ ;; -+ *) -+ ;; -+ esac -+ ;; -+ interix*) -+ # This is c89, which is MS Visual C++ (no shared libs) -+ # Anyone wants to do a port? -+ ;; -+ irix5* | irix6* | nonstopux*) -+ case $cc_basename in -+ CC*) -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' -+ # CC pic flag -KPIC is the default. -+ ;; -+ *) -+ ;; -+ esac -+ ;; -+ linux* | k*bsd*-gnu) -+ case $cc_basename in -+ KCC*) -+ # KAI C++ Compiler -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' -+ ;; -+ ecpc* ) -+ # old Intel C++ for x86_64 which still supported -KPIC. -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' -+ ;; -+ icpc* ) -+ # Intel C++, used to be incompatible with GCC. -+ # ICC 10 doesn't accept -KPIC any more. -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' -+ ;; -+ pgCC* | pgcpp*) -+ # Portland Group C++ compiler -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' -+ ;; -+ cxx*) -+ # Compaq C++ -+ # Make sure the PIC flag is empty. It appears that all Alpha -+ # Linux and Compaq Tru64 Unix objects are PIC. -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)= -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' -+ ;; -+ xlc* | xlC*) -+ # IBM XL 8.0 on PPC -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' -+ ;; -+ *) -+ case `$CC -V 2>&1 | sed 5q` in -+ *Sun\ C*) -+ # Sun C++ 5.9 -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' -+ ;; -+ esac -+ ;; -+ esac -+ ;; -+ lynxos*) -+ ;; -+ m88k*) -+ ;; -+ mvs*) -+ case $cc_basename in -+ cxx*) -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' -+ ;; -+ *) -+ ;; -+ esac -+ ;; -+ netbsd*) -+ ;; -+ *qnx* | *nto*) -+ # QNX uses GNU C++, but need to define -shared option too, otherwise -+ # it will coredump. -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' -+ ;; -+ osf3* | osf4* | osf5*) -+ case $cc_basename in -+ KCC*) -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' -+ ;; -+ RCC*) -+ # Rational C++ 2.4.1 -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' -+ ;; -+ cxx*) -+ # Digital/Compaq C++ -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ # Make sure the PIC flag is empty. It appears that all Alpha -+ # Linux and Compaq Tru64 Unix objects are PIC. -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)= -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' -+ ;; -+ *) -+ ;; -+ esac -+ ;; -+ psos*) -+ ;; -+ solaris*) -+ case $cc_basename in -+ CC*) -+ # 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' -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' -+ ;; -+ gcx*) -+ # Green Hills C++ Compiler -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' -+ ;; -+ *) -+ ;; -+ esac -+ ;; -+ sunos4*) -+ case $cc_basename in -+ CC*) -+ # Sun C++ 4.x -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' -+ ;; -+ lcc*) -+ # Lucid -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' -+ ;; -+ *) -+ ;; -+ esac -+ ;; -+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) -+ case $cc_basename in -+ CC*) -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' -+ ;; -+ esac -+ ;; -+ tandem*) -+ case $cc_basename in -+ NCC*) -+ # NonStop-UX NCC 3.20 -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' -+ ;; -+ *) -+ ;; -+ esac -+ ;; -+ vxworks*) -+ ;; -+ *) -+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no -+ ;; -+ esac -+ fi -+], -+[ -+ if test "$GCC" = yes; then -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' -+ -+ case $host_os in -+ aix*) -+ # All AIX code is PIC. -+ if test "$host_cpu" = ia64; then -+ # AIX 5 now supports IA64 processor -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' -+ fi -+ ;; -+ -+ amigaos*) -+ case $host_cpu in -+ powerpc) -+ # see comment about AmigaOS4 .so support -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' -+ ;; -+ m68k) -+ # FIXME: we need at least 68020 code to build shared libraries, but -+ # adding the `-m68020' flag to GCC prevents building anything better, -+ # like `-m68040'. -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' -+ ;; -+ esac -+ ;; -+ -+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) -+ # PIC is the default for these OSes. -+ ;; -+ -+ mingw* | cygwin* | pw32* | os2* | 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). -+ # Although the cygwin gcc ignores -fPIC, still need this for old-style -+ # (--disable-auto-import) libraries -+ m4_if([$1], [GCJ], [], -+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) -+ ;; -+ -+ darwin* | rhapsody*) -+ # PIC is the default on this platform -+ # Common symbols not allowed in MH_DYLIB files -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' -+ ;; -+ -+ hpux*) -+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit -+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag -+ # sets the default TLS model and affects inlining. -+ case $host_cpu in -+ hppa*64*) -+ # +Z the default -+ ;; -+ *) -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' -+ ;; -+ esac -+ ;; -+ -+ interix[[3-9]]*) -+ # Interix 3.x gcc -fpic/-fPIC options generate broken code. -+ # Instead, we relocate shared libraries at runtime. -+ ;; -+ -+ msdosdjgpp*) -+ # Just because we use GCC doesn't mean we suddenly get shared libraries -+ # on systems that don't support them. -+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no -+ enable_shared=no -+ ;; -+ -+ *nto* | *qnx*) -+ # QNX uses GNU C++, but need to define -shared option too, otherwise -+ # it will coredump. -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' -+ ;; -+ -+ sysv4*MP*) -+ if test -d /usr/nec; then -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic -+ fi -+ ;; -+ -+ *) -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' -+ ;; -+ esac -+ else -+ # PORTME Check for flag to pass linker flags through the system compiler. -+ case $host_os in -+ aix*) -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ if test "$host_cpu" = ia64; then -+ # AIX 5 now supports IA64 processor -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' -+ else -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' -+ fi -+ ;; -+ -+ mingw* | cygwin* | pw32* | os2* | 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']) -+ ;; -+ -+ hpux9* | hpux10* | hpux11*) -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but -+ # not for PA HP-UX. -+ case $host_cpu in -+ hppa*64*|ia64*) -+ # +Z the default -+ ;; -+ *) -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' -+ ;; -+ esac -+ # Is there a better lt_prog_compiler_static that works with the bundled CC? -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' -+ ;; -+ -+ irix5* | irix6* | nonstopux*) -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ # PIC (with -KPIC) is the default. -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' -+ ;; -+ -+ linux* | k*bsd*-gnu) -+ case $cc_basename in -+ # old Intel for x86_64 which still supported -KPIC. -+ ecc*) -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' -+ ;; -+ # icc used to be incompatible with GCC. -+ # ICC 10 doesn't accept -KPIC any more. -+ icc* | ifort*) -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' -+ ;; -+ # Lahey Fortran 8.1. -+ lf95*) -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' -+ ;; -+ pgcc* | pgf77* | pgf90* | pgf95*) -+ # Portland Group compilers (*not* the Pentium gcc compiler, -+ # which looks to be a dead project) -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' -+ ;; -+ ccc*) -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ # All Alpha code is PIC. -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' -+ ;; -+ xl*) -+ # IBM XL C 8.0/Fortran 10.1 on PPC -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' -+ ;; -+ *) -+ case `$CC -V 2>&1 | sed 5q` in -+ *Sun\ C*) -+ # Sun C 5.9 -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ ;; -+ *Sun\ F*) -+ # Sun Fortran 8.3 passes all unrecognized flags to the linker -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='' -+ ;; -+ esac -+ ;; -+ esac -+ ;; -+ -+ newsos6) -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' -+ ;; -+ -+ *nto* | *qnx*) -+ # QNX uses GNU C++, but need to define -shared option too, otherwise -+ # it will coredump. -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' -+ ;; -+ -+ osf3* | osf4* | osf5*) -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ # All OSF/1 code is PIC. -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' -+ ;; -+ -+ rdos*) -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' -+ ;; -+ -+ solaris*) -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' -+ case $cc_basename in -+ f77* | f90* | f95*) -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; -+ *) -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; -+ esac -+ ;; -+ -+ sunos4*) -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' -+ ;; -+ -+ sysv4 | sysv4.2uw2* | sysv4.3*) -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' -+ ;; -+ -+ sysv4*MP*) -+ if test -d /usr/nec ;then -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' -+ fi -+ ;; -+ -+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' -+ ;; -+ -+ unicos*) -+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' -+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no -+ ;; -+ -+ uts4*) -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' -+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' -+ ;; -+ -+ *) -+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no -+ ;; -+ esac -+ fi -+]) -+case $host_os in -+ # For platforms which do not support PIC, -DPIC is meaningless: -+ *djgpp*) -+ _LT_TAGVAR(lt_prog_compiler_pic, $1)= -+ ;; -+ *) -+ _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]) -+ -+# -+# Check to make sure the PIC flag actually works. -+# -+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then -+ _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], -+ [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], -+ [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], -+ [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in -+ "" | " "*) ;; -+ *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; -+ esac], -+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)= -+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -+fi -+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], -+ [Additional compiler flags for building library objects]) -+ -+# -+# Check to make sure the static flag actually works. -+# -+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" -+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], -+ _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), -+ $lt_tmp_static_flag, -+ [], -+ [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) -+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], -+ [Compiler flag to prevent dynamic linking]) -+])# _LT_COMPILER_PIC -+ -+ -+# _LT_LINKER_SHLIBS([TAGNAME]) -+# ---------------------------- -+# See if the linker supports building shared libraries. -+m4_defun([_LT_LINKER_SHLIBS], -+[AC_REQUIRE([LT_PATH_LD])dnl -+AC_REQUIRE([LT_PATH_NM])dnl -+m4_require([_LT_FILEUTILS_DEFAULTS])dnl -+m4_require([_LT_DECL_EGREP])dnl -+m4_require([_LT_DECL_SED])dnl -+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -+m4_require([_LT_TAG_COMPILER])dnl -+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' -+ case $host_os in -+ aix[[4-9]]*) -+ # If we're using GNU nm, then we don't want the "-C" option. -+ # -C means demangle to AIX nm, but means don't demangle with GNU nm -+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then -+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' -+ else -+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' -+ fi -+ ;; -+ 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' -+ ;; -+ *) -+ _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)= -+ _LT_TAGVAR(always_export_symbols, $1)=no -+ _LT_TAGVAR(archive_cmds, $1)= -+ _LT_TAGVAR(archive_expsym_cmds, $1)= -+ _LT_TAGVAR(compiler_needs_object, $1)=no -+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)= -+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' -+ _LT_TAGVAR(hardcode_automatic, $1)=no -+ _LT_TAGVAR(hardcode_direct, $1)=no -+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -+ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -+ _LT_TAGVAR(hardcode_libdir_separator, $1)= -+ _LT_TAGVAR(hardcode_minus_L, $1)=no -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -+ _LT_TAGVAR(inherit_rpath, $1)=no -+ _LT_TAGVAR(link_all_deplibs, $1)=unknown -+ _LT_TAGVAR(module_cmds, $1)= -+ _LT_TAGVAR(module_expsym_cmds, $1)= -+ _LT_TAGVAR(old_archive_from_new_cmds, $1)= -+ _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= -+ _LT_TAGVAR(thread_safe_flag_spec, $1)= -+ _LT_TAGVAR(whole_archive_flag_spec, $1)= -+ # include_expsyms should be a list of space-separated symbols to be *always* -+ # included in the symbol list -+ _LT_TAGVAR(include_expsyms, $1)= -+ # exclude_expsyms can be an extended regexp of symbols to exclude -+ # it will be wrapped by ` (' and `)$', so one must not match beginning or -+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', -+ # as well as any symbol that contains `d'. -+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] -+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out -+ # platforms (ab)use it in PIC code, but their linkers get confused if -+ # the symbol is explicitly referenced. Since portable code cannot -+ # rely on this symbol name, it's probably fine to never include it in -+ # preloaded symbol tables. -+ # Exclude shared library initialization/finalization symbols. -+dnl Note also adjust exclude_expsyms for C++ above. -+ extract_expsyms_cmds= -+ -+ case $host_os in -+ cygwin* | mingw* | pw32* | cegcc*) -+ # FIXME: the MSVC++ port hasn't been tested in a loooong time -+ # When not using gcc, we currently assume that we are using -+ # Microsoft Visual C++. -+ if test "$GCC" != yes; then -+ with_gnu_ld=no -+ fi -+ ;; -+ interix*) -+ # we just hope/assume this is gcc and not c89 (= MSVC++) -+ with_gnu_ld=yes -+ ;; -+ openbsd*) -+ with_gnu_ld=no -+ ;; -+ esac -+ -+ _LT_TAGVAR(ld_shlibs, $1)=yes -+ if test "$with_gnu_ld" = yes; then -+ # If archive_cmds runs LD, not CC, wlarc should be empty -+ wlarc='${wl}' -+ -+ # Set some defaults for GNU ld with shared library support. These -+ # are reset later if shared libraries are not supported. Putting them -+ # here allows them to be overridden if necessary. -+ runpath_var=LD_RUN_PATH -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' -+ # ancient GNU ld didn't support --whole-archive et. al. -+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then -+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' -+ else -+ _LT_TAGVAR(whole_archive_flag_spec, $1)= -+ fi -+ supports_anon_versioning=no -+ case `$LD -v 2>&1` in -+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 -+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... -+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... -+ *\ 2.11.*) ;; # other 2.11 versions -+ *) supports_anon_versioning=yes ;; -+ esac -+ -+ # See if GNU ld supports shared libraries. -+ case $host_os in -+ aix[[3-9]]*) -+ # On AIX/PPC, the GNU linker is very broken -+ if test "$host_cpu" != ia64; then -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ cat <<_LT_EOF 1>&2 -+ -+*** Warning: the GNU linker, at least up to release 2.9.1, is reported -+*** to be unable to reliably create shared libraries on AIX. -+*** Therefore, libtool is disabling shared libraries support. If you -+*** really care for shared libraries, you may want to modify your PATH -+*** so that a non-GNU linker is found, and then restart. -+ -+_LT_EOF -+ fi -+ ;; -+ -+ amigaos*) -+ case $host_cpu in -+ powerpc) -+ # see comment about AmigaOS4 .so support -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='' -+ ;; -+ m68k) -+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' -+ _LT_TAGVAR(hardcode_minus_L, $1)=yes -+ ;; -+ esac -+ ;; -+ -+ beos*) -+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then -+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported -+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc -+ # support --undefined. This deserves some investigation. FIXME -+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' -+ else -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ fi -+ ;; -+ -+ 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(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' -+ -+ 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' -+ # 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 $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' -+ else -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ fi -+ ;; -+ -+ interix[[3-9]]*) -+ _LT_TAGVAR(hardcode_direct, $1)=no -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' -+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. -+ # Instead, shared libraries are loaded at an image base (0x10000000 by -+ # default) and relocated if they conflict, which is a slow very memory -+ # consuming and fragmenting process. To avoid this, we pick a random, -+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link -+ # time. Moving up from 0x10000000 also allows more sbrk(2) space. -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' -+ ;; -+ -+ gnu* | linux* | tpf* | k*bsd*-gnu) -+ tmp_diet=no -+ if test "$host_os" = linux-dietlibc; then -+ case $cc_basename in -+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) -+ esac -+ fi -+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ -+ && test "$tmp_diet" = no -+ then -+ tmp_addflag= -+ tmp_sharedflag='-shared' -+ case $cc_basename,$host_cpu in -+ pgcc*) # Portland Group C compiler -+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' -+ tmp_addflag=' $pic_flag' -+ ;; -+ pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers -+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' -+ tmp_addflag=' $pic_flag -Mnomain' ;; -+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 -+ tmp_addflag=' -i_dynamic' ;; -+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 -+ tmp_addflag=' -i_dynamic -nofor_main' ;; -+ ifc* | ifort*) # Intel Fortran compiler -+ tmp_addflag=' -nofor_main' ;; -+ lf95*) # Lahey Fortran 8.1 -+ _LT_TAGVAR(whole_archive_flag_spec, $1)= -+ tmp_sharedflag='--shared' ;; -+ xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) -+ tmp_sharedflag='-qmkshrobj' -+ tmp_addflag= ;; -+ esac -+ case `$CC -V 2>&1 | sed 5q` in -+ *Sun\ C*) # Sun C 5.9 -+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' -+ _LT_TAGVAR(compiler_needs_object, $1)=yes -+ tmp_sharedflag='-G' ;; -+ *Sun\ F*) # Sun Fortran 8.3 -+ tmp_sharedflag='-G' ;; -+ esac -+ _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$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~ -+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' -+ fi -+ -+ case $cc_basename in -+ xlf*) -+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself -+ _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' -+ 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' -+ fi -+ ;; -+ esac -+ else -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ fi -+ ;; -+ -+ netbsd*) -+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then -+ _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' -+ fi -+ ;; -+ -+ solaris*) -+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ cat <<_LT_EOF 1>&2 -+ -+*** Warning: The releases 2.8.* of the GNU linker cannot reliably -+*** create shared libraries on Solaris systems. Therefore, libtool -+*** is disabling shared libraries support. We urge you to upgrade GNU -+*** binutils to release 2.9.1 or newer. Another option is to modify -+*** your PATH or compiler configuration so that the native linker is -+*** used, and then restart. -+ -+_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' -+ else -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ fi -+ ;; -+ -+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) -+ case `$LD -v 2>&1` in -+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ cat <<_LT_EOF 1>&2 -+ -+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -+*** reliably create shared libraries on SCO systems. Therefore, libtool -+*** is disabling shared libraries support. We urge you to upgrade GNU -+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -+*** your PATH or compiler configuration so that the native linker is -+*** used, and then restart. -+ -+_LT_EOF -+ ;; -+ *) -+ # For security reasons, it is highly recommended that you always -+ # use absolute paths for naming shared libraries, and exclude the -+ # DT_RUNPATH tag from executables and libraries. But doing so -+ # requires that you compile everything twice, which is a pain. -+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' -+ _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' -+ else -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ fi -+ ;; -+ esac -+ ;; -+ -+ sunos4*) -+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' -+ wlarc= -+ _LT_TAGVAR(hardcode_direct, $1)=yes -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ ;; -+ -+ *) -+ 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' -+ else -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ fi -+ ;; -+ esac -+ -+ if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then -+ runpath_var= -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)= -+ _LT_TAGVAR(whole_archive_flag_spec, $1)= -+ fi -+ else -+ # PORTME fill in a description of your system's linker (not GNU ld) -+ case $host_os in -+ aix3*) -+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported -+ _LT_TAGVAR(always_export_symbols, $1)=yes -+ _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' -+ # Note: this linker hardcodes the directories in LIBPATH if there -+ # are no directories specified by -L. -+ _LT_TAGVAR(hardcode_minus_L, $1)=yes -+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then -+ # Neither direct hardcoding nor static linking is supported with a -+ # broken collect2. -+ _LT_TAGVAR(hardcode_direct, $1)=unsupported -+ fi -+ ;; -+ -+ aix[[4-9]]*) -+ if test "$host_cpu" = ia64; then -+ # On IA64, the linker does run time linking by default, so we don't -+ # have to do anything special. -+ aix_use_runtimelinking=no -+ exp_sym_flag='-Bexport' -+ no_entry_flag="" -+ else -+ # If we're using GNU nm, then we don't want the "-C" option. -+ # -C means demangle to AIX nm, but means don't demangle with GNU nm -+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then -+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' -+ else -+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' -+ fi -+ aix_use_runtimelinking=no -+ -+ # Test if we are trying to use run time linking or normal -+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we -+ # need to do runtime linking. -+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) -+ for ld_flag in $LDFLAGS; do -+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then -+ aix_use_runtimelinking=yes -+ break -+ fi -+ done -+ ;; -+ esac -+ -+ exp_sym_flag='-bexport' -+ no_entry_flag='-bnoentry' -+ fi -+ -+ # When large executables or shared objects are built, AIX ld can -+ # have problems creating the table of contents. If linking a library -+ # or program results in "error TOC overflow" add -mminimal-toc to -+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not -+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. -+ -+ _LT_TAGVAR(archive_cmds, $1)='' -+ _LT_TAGVAR(hardcode_direct, $1)=yes -+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes -+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':' -+ _LT_TAGVAR(link_all_deplibs, $1)=yes -+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' -+ -+ if test "$GCC" = yes; then -+ case $host_os in aix4.[[012]]|aix4.[[012]].*) -+ # We only want to do this on AIX 4.2 and lower, the check -+ # below for broken collect2 doesn't work under 4.3+ -+ collect2name=`${CC} -print-prog-name=collect2` -+ if test -f "$collect2name" && -+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null -+ then -+ # We have reworked collect2 -+ : -+ else -+ # We have old collect2 -+ _LT_TAGVAR(hardcode_direct, $1)=unsupported -+ # It fails to find uninstalled libraries when the uninstalled -+ # path is not listed in the libpath. Setting hardcode_minus_L -+ # to unsupported forces relinking -+ _LT_TAGVAR(hardcode_minus_L, $1)=yes -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' -+ _LT_TAGVAR(hardcode_libdir_separator, $1)= -+ fi -+ ;; -+ esac -+ shared_flag='-shared' -+ if test "$aix_use_runtimelinking" = yes; then -+ shared_flag="$shared_flag "'${wl}-G' -+ fi -+ else -+ # not using gcc -+ if test "$host_cpu" = ia64; then -+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release -+ # chokes on -Wl,-G. The following line is correct: -+ shared_flag='-G' -+ else -+ if test "$aix_use_runtimelinking" = yes; then -+ shared_flag='${wl}-G' -+ else -+ shared_flag='${wl}-bM:SRE' -+ fi -+ fi -+ fi -+ -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' -+ # It seems that -bexpall does not export symbols beginning with -+ # underscore (_), so it is better to generate a list of symbols to export. -+ _LT_TAGVAR(always_export_symbols, $1)=yes -+ if test "$aix_use_runtimelinking" = yes; then -+ # Warning - without using the other runtime loading flags (-brtl), -+ # -berok will link without error, but may produce a broken library. -+ _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_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 $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" -+ else -+ if test "$host_cpu" = ia64; then -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' -+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" -+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" -+ else -+ # Determine the default libpath from the value encoded in an -+ # empty executable. -+ _LT_SYS_MODULE_PATH_AIX -+ _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. -+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' -+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' -+ # Exported symbols can be pulled into shared objects from archives -+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' -+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes -+ # This is similar to how AIX traditionally builds its shared libraries. -+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' -+ fi -+ fi -+ ;; -+ -+ amigaos*) -+ case $host_cpu in -+ powerpc) -+ # see comment about AmigaOS4 .so support -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='' -+ ;; -+ m68k) -+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' -+ _LT_TAGVAR(hardcode_minus_L, $1)=yes -+ ;; -+ esac -+ ;; -+ -+ bsdi[[45]]*) -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic -+ ;; -+ -+ cygwin* | mingw* | pw32* | cegcc*) -+ # When not using gcc, we currently assume that we are using -+ # 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 `$ECHO "X$deplibs" | $Xsed -e '\''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 -+ ;; -+ -+ darwin* | rhapsody*) -+ _LT_DARWIN_LINKER_FEATURES($1) -+ ;; -+ -+ dgux*) -+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ ;; -+ -+ freebsd1*) -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ -+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor -+ # support. Future versions do this automatically, but an explicit c++rt0.o -+ # does not break anything, and helps significantly (at the cost of a little -+ # extra space). -+ freebsd2.2*) -+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' -+ _LT_TAGVAR(hardcode_direct, $1)=yes -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ ;; -+ -+ # Unfortunately, older versions of FreeBSD 2 do not have this feature. -+ freebsd2*) -+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' -+ _LT_TAGVAR(hardcode_direct, $1)=yes -+ _LT_TAGVAR(hardcode_minus_L, $1)=yes -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ ;; -+ -+ # 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(hardcode_libdir_flag_spec, $1)='-R$libdir' -+ _LT_TAGVAR(hardcode_direct, $1)=yes -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ ;; -+ -+ 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' -+ 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 -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' -+ _LT_TAGVAR(hardcode_libdir_separator, $1)=: -+ _LT_TAGVAR(hardcode_direct, $1)=yes -+ -+ # hardcode_minus_L: Not really in the search PATH, -+ # but as the default location of the library. -+ _LT_TAGVAR(hardcode_minus_L, $1)=yes -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' -+ ;; -+ -+ hpux10*) -+ if test "$GCC" = yes -a "$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' -+ else -+ _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' -+ fi -+ if test "$with_gnu_ld" = no; then -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' -+ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' -+ _LT_TAGVAR(hardcode_libdir_separator, $1)=: -+ _LT_TAGVAR(hardcode_direct, $1)=yes -+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' -+ # hardcode_minus_L: Not really in the search PATH, -+ # but as the default location of the library. -+ _LT_TAGVAR(hardcode_minus_L, $1)=yes -+ fi -+ ;; -+ -+ hpux11*) -+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then -+ case $host_cpu in -+ hppa*64*) -+ _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 -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' -+ ;; -+ esac -+ else -+ case $host_cpu in -+ hppa*64*) -+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' -+ ;; -+ ia64*) -+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' -+ ;; -+ *) -+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' -+ ;; -+ esac -+ fi -+ if test "$with_gnu_ld" = no; then -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' -+ _LT_TAGVAR(hardcode_libdir_separator, $1)=: -+ -+ case $host_cpu in -+ hppa*64*|ia64*) -+ _LT_TAGVAR(hardcode_direct, $1)=no -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ ;; -+ *) -+ _LT_TAGVAR(hardcode_direct, $1)=yes -+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' -+ -+ # hardcode_minus_L: Not really in the search PATH, -+ # but as the default location of the library. -+ _LT_TAGVAR(hardcode_minus_L, $1)=yes -+ ;; -+ esac -+ fi -+ ;; -+ -+ 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" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${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" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' -+ ) -+ LDFLAGS="$save_LDFLAGS" -+ else -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -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" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' -+ fi -+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no' -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' -+ _LT_TAGVAR(hardcode_libdir_separator, $1)=: -+ _LT_TAGVAR(inherit_rpath, $1)=yes -+ _LT_TAGVAR(link_all_deplibs, $1)=yes -+ ;; -+ -+ netbsd*) -+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then -+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out -+ else -+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF -+ fi -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' -+ _LT_TAGVAR(hardcode_direct, $1)=yes -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ ;; -+ -+ newsos6) -+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' -+ _LT_TAGVAR(hardcode_direct, $1)=yes -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' -+ _LT_TAGVAR(hardcode_libdir_separator, $1)=: -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ ;; -+ -+ *nto* | *qnx*) -+ ;; -+ -+ openbsd*) -+ if test -f /usr/libexec/ld.so; then -+ _LT_TAGVAR(hardcode_direct, $1)=yes -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes -+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' -+ else -+ case $host_os in -+ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) -+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' -+ ;; -+ *) -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' -+ ;; -+ esac -+ fi -+ else -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ fi -+ ;; -+ -+ os2*) -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' -+ _LT_TAGVAR(hardcode_minus_L, $1)=yes -+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported -+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' -+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' -+ ;; -+ -+ osf3*) -+ 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}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' -+ else -+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' -+ fi -+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no' -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' -+ _LT_TAGVAR(hardcode_libdir_separator, $1)=: -+ ;; -+ -+ 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" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${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 \*' -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ -+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' -+ -+ # Both c and cxx compiler support -rpath directly -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' -+ fi -+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no' -+ _LT_TAGVAR(hardcode_libdir_separator, $1)=: -+ ;; -+ -+ solaris*) -+ _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_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' -+ else -+ case `$CC -V 2>&1` in -+ *"Compilers 5.0"*) -+ wlarc='' -+ _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ -+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' -+ ;; -+ *) -+ wlarc='${wl}' -+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $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 -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' -+ ;; -+ esac -+ fi -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ case $host_os in -+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; -+ *) -+ # The compiler driver will combine and reorder linker options, -+ # but understands `-z linker_flag'. GCC discards it without `$wl', -+ # but is careful enough not to reorder. -+ # Supported since Solaris 2.6 (maybe 2.5.1?) -+ if test "$GCC" = yes; then -+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' -+ else -+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' -+ fi -+ ;; -+ esac -+ _LT_TAGVAR(link_all_deplibs, $1)=yes -+ ;; -+ -+ sunos4*) -+ if test "x$host_vendor" = xsequent; then -+ # Use $CC to link under sequent, because it throws in some extra .o -+ # files that make .init and .fini sections work. -+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' -+ else -+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' -+ fi -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' -+ _LT_TAGVAR(hardcode_direct, $1)=yes -+ _LT_TAGVAR(hardcode_minus_L, $1)=yes -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ ;; -+ -+ sysv4) -+ case $host_vendor in -+ sni) -+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' -+ _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? -+ ;; -+ siemens) -+ ## LD is ld it makes a PLAMLIB -+ ## CC just makes a GrossModule. -+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' -+ _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' -+ _LT_TAGVAR(hardcode_direct, $1)=no -+ ;; -+ motorola) -+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' -+ _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie -+ ;; -+ esac -+ runpath_var='LD_RUN_PATH' -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ ;; -+ -+ sysv4.3*) -+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' -+ ;; -+ -+ sysv4*MP*) -+ if test -d /usr/nec; then -+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ runpath_var=LD_RUN_PATH -+ hardcode_runpath_var=yes -+ _LT_TAGVAR(ld_shlibs, $1)=yes -+ fi -+ ;; -+ -+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) -+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' -+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ runpath_var='LD_RUN_PATH' -+ -+ if test "$GCC" = yes; then -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' -+ else -+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' -+ fi -+ ;; -+ -+ sysv5* | sco3.2v5* | sco5v6*) -+ # Note: We can NOT use -z defs as we might desire, because we do not -+ # link with -lc, and that would cause any symbols used from libc to -+ # always be unresolved, which means just about no library would -+ # ever link correctly. If we're not using GNU ld we use -z text -+ # though, which does catch some bad symbols but isn't as heavy-handed -+ # as -z defs. -+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' -+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' -+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' -+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':' -+ _LT_TAGVAR(link_all_deplibs, $1)=yes -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' -+ runpath_var='LD_RUN_PATH' -+ -+ if test "$GCC" = yes; then -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' -+ else -+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' -+ fi -+ ;; -+ -+ uts4*) -+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ ;; -+ -+ *) -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ esac -+ -+ if test x$host_vendor = xsni; then -+ case $host in -+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' -+ ;; -+ esac -+ fi -+ fi -+]) -+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) -+test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no -+ -+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld -+ -+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl -+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl -+_LT_DECL([], [extract_expsyms_cmds], [2], -+ [The commands to extract the exported symbol list from a shared archive]) -+ -+# -+# Do we need to explicitly link libc? -+# -+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in -+x|xyes) -+ # Assume -lc should be added -+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes -+ -+ if test "$enable_shared" = yes && test "$GCC" = yes; then -+ case $_LT_TAGVAR(archive_cmds, $1) in -+ *'~'*) -+ # FIXME: we may have to deal with multi-command sequences. -+ ;; -+ '$CC '*) -+ # Test whether the compiler implicitly links with -lc since on some -+ # systems, -lgcc has to come before -lc. If gcc already passes -lc -+ # to ld, don't add -lc before -lgcc. -+ AC_MSG_CHECKING([whether -lc should be explicitly linked in]) -+ $RM conftest* -+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext -+ -+ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then -+ soname=conftest -+ lib=conftest -+ libobjs=conftest.$ac_objext -+ deplibs= -+ wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) -+ pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) -+ compiler_flags=-v -+ linker_flags=-v -+ verstring= -+ output_objdir=. -+ libname=conftest -+ lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) -+ _LT_TAGVAR(allow_undefined_flag, $1)= -+ if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) -+ then -+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no -+ else -+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes -+ fi -+ _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag -+ else -+ cat conftest.err 1>&5 -+ fi -+ $RM conftest* -+ AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) -+ ;; -+ esac -+ fi -+ ;; -+esac -+ -+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], -+ [Whether or not to add -lc for building shared libraries]) -+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], -+ [enable_shared_with_static_runtimes], [0], -+ [Whether or not to disallow shared libs when runtime libs are static]) -+_LT_TAGDECL([], [export_dynamic_flag_spec], [1], -+ [Compiler flag to allow reflexive dlopens]) -+_LT_TAGDECL([], [whole_archive_flag_spec], [1], -+ [Compiler flag to generate shared objects directly from archives]) -+_LT_TAGDECL([], [compiler_needs_object], [1], -+ [Whether the compiler copes with passing no objects directly]) -+_LT_TAGDECL([], [old_archive_from_new_cmds], [2], -+ [Create an old-style archive from a shared archive]) -+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], -+ [Create a temporary old-style archive to link instead of a shared archive]) -+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) -+_LT_TAGDECL([], [archive_expsym_cmds], [2]) -+_LT_TAGDECL([], [module_cmds], [2], -+ [Commands used to build a loadable module if different from building -+ a shared archive.]) -+_LT_TAGDECL([], [module_expsym_cmds], [2]) -+_LT_TAGDECL([], [with_gnu_ld], [1], -+ [Whether we are building with GNU ld or not]) -+_LT_TAGDECL([], [allow_undefined_flag], [1], -+ [Flag that allows shared libraries with undefined symbols to be built]) -+_LT_TAGDECL([], [no_undefined_flag], [1], -+ [Flag that enforces no undefined symbols]) -+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], -+ [Flag to hardcode $libdir into a binary during linking. -+ This must work even if $libdir does not exist]) -+_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], -+ [[If ld is used when linking, flag to hardcode $libdir into a binary -+ during linking. This must work even if $libdir does not exist]]) -+_LT_TAGDECL([], [hardcode_libdir_separator], [1], -+ [Whether we need a single "-rpath" flag with a separated argument]) -+_LT_TAGDECL([], [hardcode_direct], [0], -+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes -+ DIR into the resulting binary]) -+_LT_TAGDECL([], [hardcode_direct_absolute], [0], -+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes -+ DIR into the resulting binary and the resulting library dependency is -+ "absolute", i.e impossible to change by setting ${shlibpath_var} if the -+ library is relocated]) -+_LT_TAGDECL([], [hardcode_minus_L], [0], -+ [Set to "yes" if using the -LDIR flag during linking hardcodes DIR -+ into the resulting binary]) -+_LT_TAGDECL([], [hardcode_shlibpath_var], [0], -+ [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -+ into the resulting binary]) -+_LT_TAGDECL([], [hardcode_automatic], [0], -+ [Set to "yes" if building a shared library automatically hardcodes DIR -+ into the library and all subsequent libraries and executables linked -+ against it]) -+_LT_TAGDECL([], [inherit_rpath], [0], -+ [Set to yes if linker adds runtime paths of dependent libraries -+ 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], -+ [The commands to list exported symbols]) -+_LT_TAGDECL([], [exclude_expsyms], [1], -+ [Symbols that should not be listed in the preloaded symbols]) -+_LT_TAGDECL([], [include_expsyms], [1], -+ [Symbols that must always be exported]) -+_LT_TAGDECL([], [prelink_cmds], [2], -+ [Commands necessary for linking programs (against libraries) with templates]) -+_LT_TAGDECL([], [file_list_spec], [1], -+ [Specify filename containing input files]) -+dnl FIXME: Not yet implemented -+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], -+dnl [Compiler flag to generate thread safe objects]) -+])# _LT_LINKER_SHLIBS -+ -+ -+# _LT_LANG_C_CONFIG([TAG]) -+# ------------------------ -+# Ensure that the configuration variables for a C compiler are suitably -+# defined. These variables are subsequently used by _LT_CONFIG to write -+# the compiler configuration to `libtool'. -+m4_defun([_LT_LANG_C_CONFIG], -+[m4_require([_LT_DECL_EGREP])dnl -+lt_save_CC="$CC" -+AC_LANG_PUSH(C) -+ -+# Source file extension for C test sources. -+ac_ext=c -+ -+# Object file extension for compiled C test sources. -+objext=o -+_LT_TAGVAR(objext, $1)=$objext -+ -+# Code to be used in simple compile tests -+lt_simple_compile_test_code="int some_variable = 0;" -+ -+# Code to be used in simple link tests -+lt_simple_link_test_code='int main(){return(0);}' -+ -+_LT_TAG_COMPILER -+# Save the default compiler, since it gets overwritten when the other -+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -+compiler_DEFAULT=$CC -+ -+# save warnings/boilerplate of simple test code -+_LT_COMPILER_BOILERPLATE -+_LT_LINKER_BOILERPLATE -+ -+## CAVEAT EMPTOR: -+## There is no encapsulation within the following macros, do not change -+## the running order or otherwise move them around unless you know exactly -+## what you are doing... -+if test -n "$compiler"; then -+ _LT_COMPILER_NO_RTTI($1) -+ _LT_COMPILER_PIC($1) -+ _LT_COMPILER_C_O($1) -+ _LT_COMPILER_FILE_LOCKS($1) -+ _LT_LINKER_SHLIBS($1) -+ _LT_SYS_DYNAMIC_LINKER($1) -+ _LT_LINKER_HARDCODE_LIBPATH($1) -+ LT_SYS_DLOPEN_SELF -+ _LT_CMD_STRIPLIB -+ -+ # Report which library types will actually be built -+ AC_MSG_CHECKING([if libtool supports shared libraries]) -+ AC_MSG_RESULT([$can_build_shared]) -+ -+ AC_MSG_CHECKING([whether to build shared libraries]) -+ test "$can_build_shared" = "no" && enable_shared=no -+ -+ # On AIX, shared libraries and static libraries use the same namespace, and -+ # are all built from PIC. -+ case $host_os in -+ aix3*) -+ test "$enable_shared" = yes && enable_static=no -+ if test -n "$RANLIB"; then -+ archive_cmds="$archive_cmds~\$RANLIB \$lib" -+ postinstall_cmds='$RANLIB $lib' -+ fi -+ ;; -+ -+ aix[[4-9]]*) -+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then -+ test "$enable_shared" = yes && enable_static=no -+ fi -+ ;; -+ esac -+ AC_MSG_RESULT([$enable_shared]) -+ -+ AC_MSG_CHECKING([whether to build static libraries]) -+ # Make sure either enable_shared or enable_static is yes. -+ test "$enable_shared" = yes || enable_static=yes -+ AC_MSG_RESULT([$enable_static]) -+ -+ _LT_CONFIG($1) -+fi -+AC_LANG_POP -+CC="$lt_save_CC" -+])# _LT_LANG_C_CONFIG -+ -+ -+# _LT_PROG_CXX -+# ------------ -+# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ -+# compiler, we have our own version here. -+m4_defun([_LT_PROG_CXX], -+[ -+pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) -+AC_PROG_CXX -+if test -n "$CXX" && ( test "X$CXX" != "Xno" && -+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || -+ (test "X$CXX" != "Xg++"))) ; then -+ AC_PROG_CXXCPP -+else -+ _lt_caught_CXX_error=yes -+fi -+popdef([AC_MSG_ERROR]) -+])# _LT_PROG_CXX -+ -+dnl aclocal-1.4 backwards compatibility: -+dnl AC_DEFUN([_LT_PROG_CXX], []) -+ -+ -+# _LT_LANG_CXX_CONFIG([TAG]) -+# -------------------------- -+# Ensure that the configuration variables for a C++ compiler are suitably -+# defined. These variables are subsequently used by _LT_CONFIG to write -+# the compiler configuration to `libtool'. -+m4_defun([_LT_LANG_CXX_CONFIG], -+[AC_REQUIRE([_LT_PROG_CXX])dnl -+m4_require([_LT_FILEUTILS_DEFAULTS])dnl -+m4_require([_LT_DECL_EGREP])dnl -+ -+AC_LANG_PUSH(C++) -+_LT_TAGVAR(archive_cmds_need_lc, $1)=no -+_LT_TAGVAR(allow_undefined_flag, $1)= -+_LT_TAGVAR(always_export_symbols, $1)=no -+_LT_TAGVAR(archive_expsym_cmds, $1)= -+_LT_TAGVAR(compiler_needs_object, $1)=no -+_LT_TAGVAR(export_dynamic_flag_spec, $1)= -+_LT_TAGVAR(hardcode_direct, $1)=no -+_LT_TAGVAR(hardcode_direct_absolute, $1)=no -+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -+_LT_TAGVAR(hardcode_libdir_separator, $1)= -+_LT_TAGVAR(hardcode_minus_L, $1)=no -+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -+_LT_TAGVAR(hardcode_automatic, $1)=no -+_LT_TAGVAR(inherit_rpath, $1)=no -+_LT_TAGVAR(module_cmds, $1)= -+_LT_TAGVAR(module_expsym_cmds, $1)= -+_LT_TAGVAR(link_all_deplibs, $1)=unknown -+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -+_LT_TAGVAR(no_undefined_flag, $1)= -+_LT_TAGVAR(whole_archive_flag_spec, $1)= -+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no -+ -+# Source file extension for C++ test sources. -+ac_ext=cpp -+ -+# Object file extension for compiled C++ test sources. -+objext=o -+_LT_TAGVAR(objext, $1)=$objext -+ -+# No sense in running all these tests if we already determined that -+# the CXX compiler isn't working. Some variables (like enable_shared) -+# are currently assumed to apply to all compilers on this platform, -+# and will be corrupted by setting them based on a non-working compiler. -+if test "$_lt_caught_CXX_error" != yes; then -+ # Code to be used in simple compile tests -+ lt_simple_compile_test_code="int some_variable = 0;" -+ -+ # Code to be used in simple link tests -+ lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' -+ -+ # ltmain only uses $CC for tagged configurations so make sure $CC is set. -+ _LT_TAG_COMPILER -+ -+ # save warnings/boilerplate of simple test code -+ _LT_COMPILER_BOILERPLATE -+ _LT_LINKER_BOILERPLATE -+ -+ # Allow CC to be a program name with arguments. -+ lt_save_CC=$CC -+ lt_save_LD=$LD -+ lt_save_GCC=$GCC -+ GCC=$GXX -+ lt_save_with_gnu_ld=$with_gnu_ld -+ lt_save_path_LD=$lt_cv_path_LD -+ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then -+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx -+ else -+ $as_unset lt_cv_prog_gnu_ld -+ fi -+ if test -n "${lt_cv_path_LDCXX+set}"; then -+ lt_cv_path_LD=$lt_cv_path_LDCXX -+ else -+ $as_unset lt_cv_path_LD -+ fi -+ test -z "${LDCXX+set}" || LD=$LDCXX -+ CC=${CXX-"c++"} -+ compiler=$CC -+ _LT_TAGVAR(compiler, $1)=$CC -+ _LT_CC_BASENAME([$compiler]) -+ -+ if test -n "$compiler"; then -+ # We don't want -fno-exception when compiling C++ code, so set the -+ # no_builtin_flag separately -+ if test "$GXX" = yes; then -+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' -+ else -+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= -+ fi -+ -+ if test "$GXX" = yes; then -+ # Set up default GNU C++ configuration -+ -+ LT_PATH_LD -+ -+ # 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(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' -+ -+ # If archive_cmds runs LD, not CC, wlarc should be empty -+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to -+ # investigate it a little bit more. (MM) -+ wlarc='${wl}' -+ -+ # ancient GNU ld didn't support --whole-archive et. al. -+ if eval "`$CC -print-prog-name=ld` --help 2>&1" | -+ $GREP 'no-whole-archive' > /dev/null; then -+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' -+ else -+ _LT_TAGVAR(whole_archive_flag_spec, $1)= -+ fi -+ else -+ with_gnu_ld=no -+ wlarc= -+ -+ # A generic and very simple default shared library creation -+ # command for GNU C++ for the case where it uses the native -+ # linker, instead of GNU ld. If possible, this setting should -+ # overridden to take advantage of the native linker features on -+ # the platform it is being used on. -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' -+ fi -+ -+ # Commands to make compiler produce verbose output that lists -+ # what "hidden" libraries, object files and flags are used when -+ # linking a shared library. -+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' -+ -+ else -+ GXX=no -+ with_gnu_ld=no -+ wlarc= -+ fi -+ -+ # PORTME: fill in a description of your system's C++ link characteristics -+ AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -+ _LT_TAGVAR(ld_shlibs, $1)=yes -+ case $host_os in -+ aix3*) -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ aix[[4-9]]*) -+ if test "$host_cpu" = ia64; then -+ # On IA64, the linker does run time linking by default, so we don't -+ # have to do anything special. -+ aix_use_runtimelinking=no -+ exp_sym_flag='-Bexport' -+ no_entry_flag="" -+ else -+ aix_use_runtimelinking=no -+ -+ # Test if we are trying to use run time linking or normal -+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we -+ # need to do runtime linking. -+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) -+ for ld_flag in $LDFLAGS; do -+ case $ld_flag in -+ *-brtl*) -+ aix_use_runtimelinking=yes -+ break -+ ;; -+ esac -+ done -+ ;; -+ esac -+ -+ exp_sym_flag='-bexport' -+ no_entry_flag='-bnoentry' -+ fi -+ -+ # When large executables or shared objects are built, AIX ld can -+ # have problems creating the table of contents. If linking a library -+ # or program results in "error TOC overflow" add -mminimal-toc to -+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not -+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. -+ -+ _LT_TAGVAR(archive_cmds, $1)='' -+ _LT_TAGVAR(hardcode_direct, $1)=yes -+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes -+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':' -+ _LT_TAGVAR(link_all_deplibs, $1)=yes -+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' -+ -+ if test "$GXX" = yes; then -+ case $host_os in aix4.[[012]]|aix4.[[012]].*) -+ # We only want to do this on AIX 4.2 and lower, the check -+ # below for broken collect2 doesn't work under 4.3+ -+ collect2name=`${CC} -print-prog-name=collect2` -+ if test -f "$collect2name" && -+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null -+ then -+ # We have reworked collect2 -+ : -+ else -+ # We have old collect2 -+ _LT_TAGVAR(hardcode_direct, $1)=unsupported -+ # It fails to find uninstalled libraries when the uninstalled -+ # path is not listed in the libpath. Setting hardcode_minus_L -+ # to unsupported forces relinking -+ _LT_TAGVAR(hardcode_minus_L, $1)=yes -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' -+ _LT_TAGVAR(hardcode_libdir_separator, $1)= -+ fi -+ esac -+ shared_flag='-shared' -+ if test "$aix_use_runtimelinking" = yes; then -+ shared_flag="$shared_flag "'${wl}-G' -+ fi -+ else -+ # not using gcc -+ if test "$host_cpu" = ia64; then -+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release -+ # chokes on -Wl,-G. The following line is correct: -+ shared_flag='-G' -+ else -+ if test "$aix_use_runtimelinking" = yes; then -+ shared_flag='${wl}-G' -+ else -+ shared_flag='${wl}-bM:SRE' -+ fi -+ fi -+ fi -+ -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' -+ # It seems that -bexpall does not export symbols beginning with -+ # underscore (_), so it is better to generate a list of symbols to -+ # export. -+ _LT_TAGVAR(always_export_symbols, $1)=yes -+ if test "$aix_use_runtimelinking" = yes; then -+ # Warning - without using the other runtime loading flags (-brtl), -+ # -berok will link without error, but may produce a broken library. -+ _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_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 $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" -+ else -+ if test "$host_cpu" = ia64; then -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' -+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" -+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" -+ else -+ # Determine the default libpath from the value encoded in an -+ # empty executable. -+ _LT_SYS_MODULE_PATH_AIX -+ _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. -+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' -+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' -+ # Exported symbols can be pulled into shared objects from archives -+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' -+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes -+ # This is similar to how AIX traditionally builds its shared -+ # libraries. -+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' -+ fi -+ fi -+ ;; -+ -+ beos*) -+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then -+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported -+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc -+ # support --undefined. This deserves some investigation. FIXME -+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' -+ else -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ fi -+ ;; -+ -+ chorus*) -+ case $cc_basename in -+ *) -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ esac -+ ;; -+ -+ 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(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 -+ ;; -+ darwin* | rhapsody*) -+ _LT_DARWIN_LINKER_FEATURES($1) -+ ;; -+ -+ dgux*) -+ case $cc_basename in -+ ec++*) -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ ghcx*) -+ # Green Hills C++ Compiler -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ *) -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ esac -+ ;; -+ -+ freebsd[[12]]*) -+ # C++ shared libraries reported to be fairly broken before -+ # switch to ELF -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ -+ freebsd-elf*) -+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no -+ ;; -+ -+ freebsd* | dragonfly*) -+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF -+ # conventions -+ _LT_TAGVAR(ld_shlibs, $1)=yes -+ ;; -+ -+ gnu*) -+ ;; -+ -+ hpux9*) -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' -+ _LT_TAGVAR(hardcode_libdir_separator, $1)=: -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' -+ _LT_TAGVAR(hardcode_direct, $1)=yes -+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, -+ # but as the default -+ # location of the library. -+ -+ case $cc_basename in -+ CC*) -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ aCC*) -+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${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' -+ # Commands to make compiler produce verbose output that lists -+ # what "hidden" libraries, object files and flags are used when -+ # linking a shared library. -+ # -+ # There doesn't appear to be a way to prevent this compiler from -+ # explicitly linking system object files so we need to strip them -+ # from the output so that they don't get included in the library -+ # dependencies. -+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' -+ ;; -+ *) -+ 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' -+ else -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ fi -+ ;; -+ esac -+ ;; -+ -+ hpux10*|hpux11*) -+ if test $with_gnu_ld = no; then -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' -+ _LT_TAGVAR(hardcode_libdir_separator, $1)=: -+ -+ case $host_cpu in -+ hppa*64*|ia64*) -+ ;; -+ *) -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' -+ ;; -+ esac -+ fi -+ case $host_cpu in -+ hppa*64*|ia64*) -+ _LT_TAGVAR(hardcode_direct, $1)=no -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ ;; -+ *) -+ _LT_TAGVAR(hardcode_direct, $1)=yes -+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes -+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, -+ # but as the default -+ # location of the library. -+ ;; -+ esac -+ -+ case $cc_basename in -+ CC*) -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ aCC*) -+ case $host_cpu in -+ hppa*64*) -+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' -+ ;; -+ ia64*) -+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' -+ ;; -+ *) -+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' -+ ;; -+ esac -+ # Commands to make compiler produce verbose output that lists -+ # what "hidden" libraries, object files and flags are used when -+ # linking a shared library. -+ # -+ # There doesn't appear to be a way to prevent this compiler from -+ # explicitly linking system object files so we need to strip them -+ # from the output so that they don't get included in the library -+ # dependencies. -+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' -+ ;; -+ *) -+ if test "$GXX" = yes; then -+ if test $with_gnu_ld = no; then -+ case $host_cpu in -+ hppa*64*) -+ _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 -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' -+ ;; -+ esac -+ fi -+ else -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ fi -+ ;; -+ esac -+ ;; -+ -+ interix[[3-9]]*) -+ _LT_TAGVAR(hardcode_direct, $1)=no -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' -+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. -+ # Instead, shared libraries are loaded at an image base (0x10000000 by -+ # default) and relocated if they conflict, which is a slow very memory -+ # consuming and fragmenting process. To avoid this, we pick a random, -+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link -+ # time. Moving up from 0x10000000 also allows more sbrk(2) space. -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' -+ ;; -+ irix5* | irix6*) -+ case $cc_basename in -+ CC*) -+ # SGI C++ -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' -+ -+ # Archives containing C++ object files must be created using -+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is -+ # necessary to make sure instantiated templates are included -+ # in the archive. -+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' -+ ;; -+ *) -+ 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" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${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" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' -+ fi -+ fi -+ _LT_TAGVAR(link_all_deplibs, $1)=yes -+ ;; -+ esac -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' -+ _LT_TAGVAR(hardcode_libdir_separator, $1)=: -+ _LT_TAGVAR(inherit_rpath, $1)=yes -+ ;; -+ -+ linux* | k*bsd*-gnu) -+ case $cc_basename in -+ KCC*) -+ # Kuck and Associates, Inc. (KAI) C++ Compiler -+ -+ # KCC will only create a shared library if the output file -+ # ends with ".so" (or ".sl" for HP-UX), so rename the library -+ # to its proper name (with version) after linking. -+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' -+ # Commands to make compiler produce verbose output that lists -+ # what "hidden" libraries, object files and flags are used when -+ # linking a shared library. -+ # -+ # There doesn't appear to be a way to prevent this compiler from -+ # explicitly linking system object files so we need to strip them -+ # from the output so that they don't get included in the library -+ # dependencies. -+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' -+ -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' -+ -+ # Archives containing C++ object files must be created using -+ # "CC -Bstatic", where "CC" is the KAI C++ compiler. -+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' -+ ;; -+ icpc* | ecpc* ) -+ # Intel C++ -+ with_gnu_ld=yes -+ # version 8.0 and above of icpc choke on multiply defined symbols -+ # if we add $predep_objects and $postdep_objects, however 7.1 and -+ # earlier do not add the objects themselves. -+ case `$CC -V 2>&1` in -+ *"Version 7."*) -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' -+ ;; -+ *) # Version 8.0 or newer -+ tmp_idyn= -+ case $host_cpu in -+ ia64*) tmp_idyn=' -i_dynamic';; -+ esac -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' -+ ;; -+ esac -+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' -+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' -+ ;; -+ pgCC* | pgcpp*) -+ # Portland Group C++ compiler -+ case `$CC -V` in -+ *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) -+ _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`"' -+ _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`~ -+ $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' -+ _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' -+ ;; -+ *) # Version 6 will 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' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' -+ ;; -+ esac -+ -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' -+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' -+ ;; -+ cxx*) -+ # Compaq C++ -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' -+ -+ runpath_var=LD_RUN_PATH -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' -+ _LT_TAGVAR(hardcode_libdir_separator, $1)=: -+ -+ # Commands to make compiler produce verbose output that lists -+ # what "hidden" libraries, object files and flags are used when -+ # linking a shared library. -+ # -+ # There doesn't appear to be a way to prevent this compiler from -+ # explicitly linking system object files so we need to strip them -+ # from the output so that they don't get included in the library -+ # dependencies. -+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' -+ ;; -+ xl*) -+ # IBM XL 8.0 on PPC, with GNU ld -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' -+ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$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~ -+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' -+ fi -+ ;; -+ *) -+ case `$CC -V 2>&1 | sed 5q` in -+ *Sun\ C*) -+ # Sun C++ 5.9 -+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' -+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' -+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' -+ _LT_TAGVAR(compiler_needs_object, $1)=yes -+ -+ # Not sure whether something based on -+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 -+ # would be better. -+ output_verbose_link_cmd='echo' -+ -+ # Archives containing C++ object files must be created using -+ # "CC -xar", where "CC" is the Sun C++ compiler. This is -+ # necessary to make sure instantiated templates are included -+ # in the archive. -+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' -+ ;; -+ esac -+ ;; -+ esac -+ ;; -+ -+ lynxos*) -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ -+ m88k*) -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ -+ mvs*) -+ case $cc_basename in -+ cxx*) -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ *) -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ esac -+ ;; -+ -+ netbsd*) -+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then -+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' -+ wlarc= -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' -+ _LT_TAGVAR(hardcode_direct, $1)=yes -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ fi -+ # Workaround some broken pre-1.5 toolchains -+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' -+ ;; -+ -+ *nto* | *qnx*) -+ _LT_TAGVAR(ld_shlibs, $1)=yes -+ ;; -+ -+ openbsd2*) -+ # C++ shared libraries are fairly broken -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ -+ openbsd*) -+ if test -f /usr/libexec/ld.so; then -+ _LT_TAGVAR(hardcode_direct, $1)=yes -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' -+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then -+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' -+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' -+ fi -+ output_verbose_link_cmd=echo -+ else -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ fi -+ ;; -+ -+ osf3* | osf4* | osf5*) -+ case $cc_basename in -+ KCC*) -+ # Kuck and Associates, Inc. (KAI) C++ Compiler -+ -+ # KCC will only create a shared library if the output file -+ # ends with ".so" (or ".sl" for HP-UX), so rename the library -+ # to its proper name (with version) after linking. -+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' -+ -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' -+ _LT_TAGVAR(hardcode_libdir_separator, $1)=: -+ -+ # Archives containing C++ object files must be created using -+ # the KAI C++ compiler. -+ case $host in -+ osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; -+ *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; -+ esac -+ ;; -+ RCC*) -+ # Rational C++ 2.4.1 -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ cxx*) -+ case $host in -+ osf3*) -+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' -+ ;; -+ *) -+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ -+ echo "-hidden">> $lib.exp~ -+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ -+ $RM $lib.exp' -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' -+ ;; -+ esac -+ -+ _LT_TAGVAR(hardcode_libdir_separator, $1)=: -+ -+ # Commands to make compiler produce verbose output that lists -+ # what "hidden" libraries, object files and flags are used when -+ # linking a shared library. -+ # -+ # There doesn't appear to be a way to prevent this compiler from -+ # explicitly linking system object files so we need to strip them -+ # from the output so that they don't get included in the library -+ # dependencies. -+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' -+ ;; -+ *) -+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then -+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' -+ case $host in -+ osf3*) -+ _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" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${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" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' -+ ;; -+ esac -+ -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' -+ _LT_TAGVAR(hardcode_libdir_separator, $1)=: -+ -+ # Commands to make compiler produce verbose output that lists -+ # what "hidden" libraries, object files and flags are used when -+ # linking a shared library. -+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' -+ -+ else -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ fi -+ ;; -+ esac -+ ;; -+ -+ psos*) -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ -+ sunos4*) -+ case $cc_basename in -+ CC*) -+ # Sun C++ 4.x -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ lcc*) -+ # Lucid -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ *) -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ esac -+ ;; -+ -+ solaris*) -+ case $cc_basename in -+ CC*) -+ # Sun C++ 4.2, 5.x and Centerline C++ -+ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes -+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' -+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $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 -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' -+ -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ case $host_os in -+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; -+ *) -+ # The compiler driver will combine and reorder linker options, -+ # but understands `-z linker_flag'. -+ # Supported since Solaris 2.6 (maybe 2.5.1?) -+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' -+ ;; -+ esac -+ _LT_TAGVAR(link_all_deplibs, $1)=yes -+ -+ output_verbose_link_cmd='echo' -+ -+ # Archives containing C++ object files must be created using -+ # "CC -xar", where "CC" is the Sun C++ compiler. This is -+ # necessary to make sure instantiated templates are included -+ # in the archive. -+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' -+ ;; -+ gcx*) -+ # Green Hills C++ Compiler -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' -+ -+ # The C++ compiler must be used to create the archive. -+ _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' -+ ;; -+ *) -+ # GNU C++ compiler with Solaris linker -+ 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_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' -+ -+ # Commands to make compiler produce verbose output that lists -+ # what "hidden" libraries, object files and flags are used when -+ # linking a shared library. -+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' -+ else -+ # g++ 2.7 appears to require `-G' NOT `-shared' on this -+ # platform. -+ _LT_TAGVAR(archive_cmds, $1)='$CC -G -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 -G -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 -+ # linking a shared library. -+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' -+ fi -+ -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' -+ case $host_os in -+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; -+ *) -+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' -+ ;; -+ esac -+ fi -+ ;; -+ esac -+ ;; -+ -+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) -+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' -+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ runpath_var='LD_RUN_PATH' -+ -+ case $cc_basename in -+ CC*) -+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' -+ ;; -+ *) -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' -+ ;; -+ esac -+ ;; -+ -+ sysv5* | sco3.2v5* | sco5v6*) -+ # Note: We can NOT use -z defs as we might desire, because we do not -+ # link with -lc, and that would cause any symbols used from libc to -+ # always be unresolved, which means just about no library would -+ # ever link correctly. If we're not using GNU ld we use -z text -+ # though, which does catch some bad symbols but isn't as heavy-handed -+ # as -z defs. -+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' -+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' -+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no -+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no -+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' -+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':' -+ _LT_TAGVAR(link_all_deplibs, $1)=yes -+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' -+ runpath_var='LD_RUN_PATH' -+ -+ case $cc_basename in -+ CC*) -+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' -+ ;; -+ *) -+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' -+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' -+ ;; -+ esac -+ ;; -+ -+ tandem*) -+ case $cc_basename in -+ NCC*) -+ # NonStop-UX NCC 3.20 -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ *) -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ esac -+ ;; -+ -+ vxworks*) -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ -+ *) -+ # FIXME: insert proper C++ library support -+ _LT_TAGVAR(ld_shlibs, $1)=no -+ ;; -+ esac -+ -+ AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) -+ test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no -+ -+ _LT_TAGVAR(GCC, $1)="$GXX" -+ _LT_TAGVAR(LD, $1)="$LD" -+ -+ ## CAVEAT EMPTOR: -+ ## There is no encapsulation within the following macros, do not change -+ ## the running order or otherwise move them around unless you know exactly -+ ## what you are doing... -+ _LT_SYS_HIDDEN_LIBDEPS($1) -+ _LT_COMPILER_PIC($1) -+ _LT_COMPILER_C_O($1) -+ _LT_COMPILER_FILE_LOCKS($1) -+ _LT_LINKER_SHLIBS($1) -+ _LT_SYS_DYNAMIC_LINKER($1) -+ _LT_LINKER_HARDCODE_LIBPATH($1) -+ -+ _LT_CONFIG($1) -+ fi # test -n "$compiler" -+ -+ CC=$lt_save_CC -+ LDCXX=$LD -+ LD=$lt_save_LD -+ GCC=$lt_save_GCC -+ with_gnu_ld=$lt_save_with_gnu_ld -+ lt_cv_path_LDCXX=$lt_cv_path_LD -+ lt_cv_path_LD=$lt_save_path_LD -+ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld -+ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -+fi # test "$_lt_caught_CXX_error" != yes -+ -+AC_LANG_POP -+])# _LT_LANG_CXX_CONFIG -+ -+ -+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) -+# --------------------------------- -+# Figure out "hidden" library dependencies from verbose -+# compiler output when linking a shared library. -+# Parse the compiler output and extract the necessary -+# objects, libraries and library flags. -+m4_defun([_LT_SYS_HIDDEN_LIBDEPS], -+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -+# Dependencies to place before and after the object being linked: -+_LT_TAGVAR(predep_objects, $1)= -+_LT_TAGVAR(postdep_objects, $1)= -+_LT_TAGVAR(predeps, $1)= -+_LT_TAGVAR(postdeps, $1)= -+_LT_TAGVAR(compiler_lib_search_path, $1)= -+ -+dnl we can't use the lt_simple_compile_test_code here, -+dnl because it contains code intended for an executable, -+dnl not a library. It's possible we should let each -+dnl tag define a new lt_????_link_test_code variable, -+dnl but it's only used here... -+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF -+int a; -+void foo (void) { a = 0; } -+_LT_EOF -+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF -+class Foo -+{ -+public: -+ Foo (void) { a = 0; } -+private: -+ int a; -+}; -+_LT_EOF -+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF -+ subroutine foo -+ implicit none -+ integer*4 a -+ a=0 -+ return -+ end -+_LT_EOF -+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF -+ subroutine foo -+ implicit none -+ integer a -+ a=0 -+ return -+ end -+_LT_EOF -+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF -+public class foo { -+ private int a; -+ public void bar (void) { -+ a = 0; -+ } -+}; -+_LT_EOF -+]) -+dnl Parse the compiler output and extract the necessary -+dnl objects, libraries and library flags. -+if AC_TRY_EVAL(ac_compile); then -+ # Parse the compiler output and extract the necessary -+ # objects, libraries and library flags. -+ -+ # Sentinel used to keep track of whether or not we are before -+ # the conftest object file. -+ pre_test_object_deps_done=no -+ -+ for p in `eval "$output_verbose_link_cmd"`; do -+ case $p in -+ -+ -L* | -R* | -l*) -+ # Some compilers place space between "-{L,R}" and the path. -+ # Remove the space. -+ if test $p = "-L" || -+ test $p = "-R"; then -+ prev=$p -+ continue -+ else -+ prev= -+ fi -+ -+ if test "$pre_test_object_deps_done" = no; then -+ case $p 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. -+ if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then -+ _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" -+ else -+ _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" -+ fi -+ ;; -+ # The "-l" case would never come before the object being -+ # linked, so don't bother handling this case. -+ esac -+ else -+ if test -z "$_LT_TAGVAR(postdeps, $1)"; then -+ _LT_TAGVAR(postdeps, $1)="${prev}${p}" -+ else -+ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" -+ fi -+ fi -+ ;; -+ -+ *.$objext) -+ # This assumes that the test object file only shows up -+ # once in the compiler output. -+ if test "$p" = "conftest.$objext"; then -+ pre_test_object_deps_done=yes -+ continue -+ fi -+ -+ if test "$pre_test_object_deps_done" = no; then -+ if test -z "$_LT_TAGVAR(predep_objects, $1)"; then -+ _LT_TAGVAR(predep_objects, $1)="$p" -+ else -+ _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" -+ fi -+ else -+ if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then -+ _LT_TAGVAR(postdep_objects, $1)="$p" -+ else -+ _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" -+ fi -+ fi -+ ;; -+ -+ *) ;; # Ignore the rest. -+ -+ esac -+ done -+ -+ # Clean up. -+ rm -f a.out a.exe -+else -+ echo "libtool.m4: error: problem compiling $1 test program" -+fi -+ -+$RM -f confest.$objext -+ -+# PORTME: override above test on systems where it is broken -+m4_if([$1], [CXX], -+[case $host_os in -+interix[[3-9]]*) -+ # Interix 3.5 installs completely hosed .la files for C++, so rather than -+ # hack all around it, let's just trust "g++" to DTRT. -+ _LT_TAGVAR(predep_objects,$1)= -+ _LT_TAGVAR(postdep_objects,$1)= -+ _LT_TAGVAR(postdeps,$1)= -+ ;; -+ -+linux*) -+ case `$CC -V 2>&1 | sed 5q` in -+ *Sun\ C*) -+ # Sun C++ 5.9 -+ -+ # The more standards-conforming stlport4 library is -+ # incompatible with the Cstd library. Avoid specifying -+ # it if it's in CXXFLAGS. Ignore libCrun as -+ # -library=stlport4 depends on it. -+ case " $CXX $CXXFLAGS " in -+ *" -library=stlport4 "*) -+ solaris_use_stlport4=yes -+ ;; -+ esac -+ -+ if test "$solaris_use_stlport4" != yes; then -+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' -+ fi -+ ;; -+ esac -+ ;; -+ -+solaris*) -+ case $cc_basename in -+ CC*) -+ # The more standards-conforming stlport4 library is -+ # incompatible with the Cstd library. Avoid specifying -+ # it if it's in CXXFLAGS. Ignore libCrun as -+ # -library=stlport4 depends on it. -+ case " $CXX $CXXFLAGS " in -+ *" -library=stlport4 "*) -+ solaris_use_stlport4=yes -+ ;; -+ esac -+ -+ # Adding this requires a known-good setup of shared libraries for -+ # Sun compiler versions before 5.6, else PIC objects from an old -+ # archive will be linked into the output, leading to subtle bugs. -+ if test "$solaris_use_stlport4" != yes; then -+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' -+ fi -+ ;; -+ esac -+ ;; -+esac -+]) -+ -+case " $_LT_TAGVAR(postdeps, $1) " in -+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; -+esac -+ _LT_TAGVAR(compiler_lib_search_dirs, $1)= -+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then -+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` -+fi -+_LT_TAGDECL([], [compiler_lib_search_dirs], [1], -+ [The directories searched by this compiler when creating a shared library]) -+_LT_TAGDECL([], [predep_objects], [1], -+ [Dependencies to place before and after the objects being linked to -+ create a shared library]) -+_LT_TAGDECL([], [postdep_objects], [1]) -+_LT_TAGDECL([], [predeps], [1]) -+_LT_TAGDECL([], [postdeps], [1]) -+_LT_TAGDECL([], [compiler_lib_search_path], [1], -+ [The library search path used internally by the compiler when linking -+ a shared library]) -+])# _LT_SYS_HIDDEN_LIBDEPS -+ -+ -+# _LT_PROG_F77 -+# ------------ -+# Since AC_PROG_F77 is broken, in that it returns the empty string -+# if there is no fortran compiler, we have our own version here. -+m4_defun([_LT_PROG_F77], -+[ -+pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) -+AC_PROG_F77 -+if test -z "$F77" || test "X$F77" = "Xno"; then -+ _lt_disable_F77=yes -+fi -+popdef([AC_MSG_ERROR]) -+])# _LT_PROG_F77 -+ -+dnl aclocal-1.4 backwards compatibility: -+dnl AC_DEFUN([_LT_PROG_F77], []) -+ -+ -+# _LT_LANG_F77_CONFIG([TAG]) -+# -------------------------- -+# Ensure that the configuration variables for a Fortran 77 compiler are -+# suitably defined. These variables are subsequently used by _LT_CONFIG -+# to write the compiler configuration to `libtool'. -+m4_defun([_LT_LANG_F77_CONFIG], -+[AC_REQUIRE([_LT_PROG_F77])dnl -+AC_LANG_PUSH(Fortran 77) -+ -+_LT_TAGVAR(archive_cmds_need_lc, $1)=no -+_LT_TAGVAR(allow_undefined_flag, $1)= -+_LT_TAGVAR(always_export_symbols, $1)=no -+_LT_TAGVAR(archive_expsym_cmds, $1)= -+_LT_TAGVAR(export_dynamic_flag_spec, $1)= -+_LT_TAGVAR(hardcode_direct, $1)=no -+_LT_TAGVAR(hardcode_direct_absolute, $1)=no -+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -+_LT_TAGVAR(hardcode_libdir_separator, $1)= -+_LT_TAGVAR(hardcode_minus_L, $1)=no -+_LT_TAGVAR(hardcode_automatic, $1)=no -+_LT_TAGVAR(inherit_rpath, $1)=no -+_LT_TAGVAR(module_cmds, $1)= -+_LT_TAGVAR(module_expsym_cmds, $1)= -+_LT_TAGVAR(link_all_deplibs, $1)=unknown -+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -+_LT_TAGVAR(no_undefined_flag, $1)= -+_LT_TAGVAR(whole_archive_flag_spec, $1)= -+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no -+ -+# Source file extension for f77 test sources. -+ac_ext=f -+ -+# Object file extension for compiled f77 test sources. -+objext=o -+_LT_TAGVAR(objext, $1)=$objext -+ -+# No sense in running all these tests if we already determined that -+# the F77 compiler isn't working. Some variables (like enable_shared) -+# are currently assumed to apply to all compilers on this platform, -+# and will be corrupted by setting them based on a non-working compiler. -+if test "$_lt_disable_F77" != yes; then -+ # Code to be used in simple compile tests -+ lt_simple_compile_test_code="\ -+ subroutine t -+ return -+ end -+" -+ -+ # Code to be used in simple link tests -+ lt_simple_link_test_code="\ -+ program t -+ end -+" -+ -+ # ltmain only uses $CC for tagged configurations so make sure $CC is set. -+ _LT_TAG_COMPILER -+ -+ # save warnings/boilerplate of simple test code -+ _LT_COMPILER_BOILERPLATE -+ _LT_LINKER_BOILERPLATE -+ -+ # Allow CC to be a program name with arguments. -+ lt_save_CC="$CC" -+ lt_save_GCC=$GCC -+ CC=${F77-"f77"} -+ compiler=$CC -+ _LT_TAGVAR(compiler, $1)=$CC -+ _LT_CC_BASENAME([$compiler]) -+ GCC=$G77 -+ if test -n "$compiler"; then -+ AC_MSG_CHECKING([if libtool supports shared libraries]) -+ AC_MSG_RESULT([$can_build_shared]) -+ -+ AC_MSG_CHECKING([whether to build shared libraries]) -+ test "$can_build_shared" = "no" && enable_shared=no -+ -+ # On AIX, shared libraries and static libraries use the same namespace, and -+ # are all built from PIC. -+ case $host_os in -+ aix3*) -+ test "$enable_shared" = yes && enable_static=no -+ if test -n "$RANLIB"; then -+ archive_cmds="$archive_cmds~\$RANLIB \$lib" -+ postinstall_cmds='$RANLIB $lib' -+ fi -+ ;; -+ aix[[4-9]]*) -+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then -+ test "$enable_shared" = yes && enable_static=no -+ fi -+ ;; -+ esac -+ AC_MSG_RESULT([$enable_shared]) -+ -+ AC_MSG_CHECKING([whether to build static libraries]) -+ # Make sure either enable_shared or enable_static is yes. -+ test "$enable_shared" = yes || enable_static=yes -+ AC_MSG_RESULT([$enable_static]) -+ -+ _LT_TAGVAR(GCC, $1)="$G77" -+ _LT_TAGVAR(LD, $1)="$LD" -+ -+ ## CAVEAT EMPTOR: -+ ## There is no encapsulation within the following macros, do not change -+ ## the running order or otherwise move them around unless you know exactly -+ ## what you are doing... -+ _LT_COMPILER_PIC($1) -+ _LT_COMPILER_C_O($1) -+ _LT_COMPILER_FILE_LOCKS($1) -+ _LT_LINKER_SHLIBS($1) -+ _LT_SYS_DYNAMIC_LINKER($1) -+ _LT_LINKER_HARDCODE_LIBPATH($1) -+ -+ _LT_CONFIG($1) -+ fi # test -n "$compiler" -+ -+ GCC=$lt_save_GCC -+ CC="$lt_save_CC" -+fi # test "$_lt_disable_F77" != yes -+ -+AC_LANG_POP -+])# _LT_LANG_F77_CONFIG -+ -+ -+# _LT_PROG_FC -+# ----------- -+# Since AC_PROG_FC is broken, in that it returns the empty string -+# if there is no fortran compiler, we have our own version here. -+m4_defun([_LT_PROG_FC], -+[ -+pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) -+AC_PROG_FC -+if test -z "$FC" || test "X$FC" = "Xno"; then -+ _lt_disable_FC=yes -+fi -+popdef([AC_MSG_ERROR]) -+])# _LT_PROG_FC -+ -+dnl aclocal-1.4 backwards compatibility: -+dnl AC_DEFUN([_LT_PROG_FC], []) -+ -+ -+# _LT_LANG_FC_CONFIG([TAG]) -+# ------------------------- -+# Ensure that the configuration variables for a Fortran compiler are -+# suitably defined. These variables are subsequently used by _LT_CONFIG -+# to write the compiler configuration to `libtool'. -+m4_defun([_LT_LANG_FC_CONFIG], -+[AC_REQUIRE([_LT_PROG_FC])dnl -+AC_LANG_PUSH(Fortran) -+ -+_LT_TAGVAR(archive_cmds_need_lc, $1)=no -+_LT_TAGVAR(allow_undefined_flag, $1)= -+_LT_TAGVAR(always_export_symbols, $1)=no -+_LT_TAGVAR(archive_expsym_cmds, $1)= -+_LT_TAGVAR(export_dynamic_flag_spec, $1)= -+_LT_TAGVAR(hardcode_direct, $1)=no -+_LT_TAGVAR(hardcode_direct_absolute, $1)=no -+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -+_LT_TAGVAR(hardcode_libdir_separator, $1)= -+_LT_TAGVAR(hardcode_minus_L, $1)=no -+_LT_TAGVAR(hardcode_automatic, $1)=no -+_LT_TAGVAR(inherit_rpath, $1)=no -+_LT_TAGVAR(module_cmds, $1)= -+_LT_TAGVAR(module_expsym_cmds, $1)= -+_LT_TAGVAR(link_all_deplibs, $1)=unknown -+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -+_LT_TAGVAR(no_undefined_flag, $1)= -+_LT_TAGVAR(whole_archive_flag_spec, $1)= -+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no -+ -+# Source file extension for fc test sources. -+ac_ext=${ac_fc_srcext-f} -+ -+# Object file extension for compiled fc test sources. -+objext=o -+_LT_TAGVAR(objext, $1)=$objext -+ -+# No sense in running all these tests if we already determined that -+# the FC compiler isn't working. Some variables (like enable_shared) -+# are currently assumed to apply to all compilers on this platform, -+# and will be corrupted by setting them based on a non-working compiler. -+if test "$_lt_disable_FC" != yes; then -+ # Code to be used in simple compile tests -+ lt_simple_compile_test_code="\ -+ subroutine t -+ return -+ end -+" -+ -+ # Code to be used in simple link tests -+ lt_simple_link_test_code="\ -+ program t -+ end -+" -+ -+ # ltmain only uses $CC for tagged configurations so make sure $CC is set. -+ _LT_TAG_COMPILER -+ -+ # save warnings/boilerplate of simple test code -+ _LT_COMPILER_BOILERPLATE -+ _LT_LINKER_BOILERPLATE -+ -+ # Allow CC to be a program name with arguments. -+ lt_save_CC="$CC" -+ lt_save_GCC=$GCC -+ CC=${FC-"f95"} -+ compiler=$CC -+ GCC=$ac_cv_fc_compiler_gnu -+ -+ _LT_TAGVAR(compiler, $1)=$CC -+ _LT_CC_BASENAME([$compiler]) -+ -+ if test -n "$compiler"; then -+ AC_MSG_CHECKING([if libtool supports shared libraries]) -+ AC_MSG_RESULT([$can_build_shared]) -+ -+ AC_MSG_CHECKING([whether to build shared libraries]) -+ test "$can_build_shared" = "no" && enable_shared=no -+ -+ # On AIX, shared libraries and static libraries use the same namespace, and -+ # are all built from PIC. -+ case $host_os in -+ aix3*) -+ test "$enable_shared" = yes && enable_static=no -+ if test -n "$RANLIB"; then -+ archive_cmds="$archive_cmds~\$RANLIB \$lib" -+ postinstall_cmds='$RANLIB $lib' -+ fi -+ ;; -+ aix[[4-9]]*) -+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then -+ test "$enable_shared" = yes && enable_static=no -+ fi -+ ;; -+ esac -+ AC_MSG_RESULT([$enable_shared]) -+ -+ AC_MSG_CHECKING([whether to build static libraries]) -+ # Make sure either enable_shared or enable_static is yes. -+ test "$enable_shared" = yes || enable_static=yes -+ AC_MSG_RESULT([$enable_static]) -+ -+ _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" -+ _LT_TAGVAR(LD, $1)="$LD" -+ -+ ## CAVEAT EMPTOR: -+ ## There is no encapsulation within the following macros, do not change -+ ## the running order or otherwise move them around unless you know exactly -+ ## what you are doing... -+ _LT_SYS_HIDDEN_LIBDEPS($1) -+ _LT_COMPILER_PIC($1) -+ _LT_COMPILER_C_O($1) -+ _LT_COMPILER_FILE_LOCKS($1) -+ _LT_LINKER_SHLIBS($1) -+ _LT_SYS_DYNAMIC_LINKER($1) -+ _LT_LINKER_HARDCODE_LIBPATH($1) -+ -+ _LT_CONFIG($1) -+ fi # test -n "$compiler" -+ -+ GCC=$lt_save_GCC -+ CC="$lt_save_CC" -+fi # test "$_lt_disable_FC" != yes -+ -+AC_LANG_POP -+])# _LT_LANG_FC_CONFIG -+ -+ -+# _LT_LANG_GCJ_CONFIG([TAG]) -+# -------------------------- -+# Ensure that the configuration variables for the GNU Java Compiler compiler -+# are suitably defined. These variables are subsequently used by _LT_CONFIG -+# to write the compiler configuration to `libtool'. -+m4_defun([_LT_LANG_GCJ_CONFIG], -+[AC_REQUIRE([LT_PROG_GCJ])dnl -+AC_LANG_SAVE -+ -+# Source file extension for Java test sources. -+ac_ext=java -+ -+# Object file extension for compiled Java test sources. -+objext=o -+_LT_TAGVAR(objext, $1)=$objext -+ -+# Code to be used in simple compile tests -+lt_simple_compile_test_code="class foo {}" -+ -+# Code to be used in simple link tests -+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' -+ -+# ltmain only uses $CC for tagged configurations so make sure $CC is set. -+_LT_TAG_COMPILER -+ -+# save warnings/boilerplate of simple test code -+_LT_COMPILER_BOILERPLATE -+_LT_LINKER_BOILERPLATE -+ -+# Allow CC to be a program name with arguments. -+lt_save_CC="$CC" -+lt_save_GCC=$GCC -+GCC=yes -+CC=${GCJ-"gcj"} -+compiler=$CC -+_LT_TAGVAR(compiler, $1)=$CC -+_LT_TAGVAR(LD, $1)="$LD" -+_LT_CC_BASENAME([$compiler]) -+ -+# GCJ did not exist at the time GCC didn't implicitly link libc in. -+_LT_TAGVAR(archive_cmds_need_lc, $1)=no -+ -+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -+ -+## CAVEAT EMPTOR: -+## There is no encapsulation within the following macros, do not change -+## the running order or otherwise move them around unless you know exactly -+## what you are doing... -+if test -n "$compiler"; then -+ _LT_COMPILER_NO_RTTI($1) -+ _LT_COMPILER_PIC($1) -+ _LT_COMPILER_C_O($1) -+ _LT_COMPILER_FILE_LOCKS($1) -+ _LT_LINKER_SHLIBS($1) -+ _LT_LINKER_HARDCODE_LIBPATH($1) -+ -+ _LT_CONFIG($1) -+fi -+ -+AC_LANG_RESTORE -+ -+GCC=$lt_save_GCC -+CC="$lt_save_CC" -+])# _LT_LANG_GCJ_CONFIG -+ -+ -+# _LT_LANG_RC_CONFIG([TAG]) -+# ------------------------- -+# Ensure that the configuration variables for the Windows resource compiler -+# are suitably defined. These variables are subsequently used by _LT_CONFIG -+# to write the compiler configuration to `libtool'. -+m4_defun([_LT_LANG_RC_CONFIG], -+[AC_REQUIRE([LT_PROG_RC])dnl -+AC_LANG_SAVE -+ -+# Source file extension for RC test sources. -+ac_ext=rc -+ -+# Object file extension for compiled RC test sources. -+objext=o -+_LT_TAGVAR(objext, $1)=$objext -+ -+# Code to be used in simple compile tests -+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' -+ -+# Code to be used in simple link tests -+lt_simple_link_test_code="$lt_simple_compile_test_code" -+ -+# ltmain only uses $CC for tagged configurations so make sure $CC is set. -+_LT_TAG_COMPILER -+ -+# save warnings/boilerplate of simple test code -+_LT_COMPILER_BOILERPLATE -+_LT_LINKER_BOILERPLATE -+ -+# Allow CC to be a program name with arguments. -+lt_save_CC="$CC" -+lt_save_GCC=$GCC -+GCC= -+CC=${RC-"windres"} -+compiler=$CC -+_LT_TAGVAR(compiler, $1)=$CC -+_LT_CC_BASENAME([$compiler]) -+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes -+ -+if test -n "$compiler"; then -+ : -+ _LT_CONFIG($1) -+fi -+ -+GCC=$lt_save_GCC -+AC_LANG_RESTORE -+CC="$lt_save_CC" -+])# _LT_LANG_RC_CONFIG -+ -+ -+# LT_PROG_GCJ -+# ----------- -+AC_DEFUN([LT_PROG_GCJ], -+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], -+ [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], -+ [AC_CHECK_TOOL(GCJ, gcj,) -+ test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" -+ AC_SUBST(GCJFLAGS)])])[]dnl -+]) -+ -+# Old name: -+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) -+dnl aclocal-1.4 backwards compatibility: -+dnl AC_DEFUN([LT_AC_PROG_GCJ], []) -+ -+ -+# LT_PROG_RC -+# ---------- -+AC_DEFUN([LT_PROG_RC], -+[AC_CHECK_TOOL(RC, windres,) -+]) -+ -+# Old name: -+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) -+dnl aclocal-1.4 backwards compatibility: -+dnl AC_DEFUN([LT_AC_PROG_RC], []) -+ -+ -+# _LT_DECL_EGREP -+# -------------- -+# If we don't have a new enough Autoconf to choose the best grep -+# available, choose the one first in the user's PATH. -+m4_defun([_LT_DECL_EGREP], -+[AC_REQUIRE([AC_PROG_EGREP])dnl -+AC_REQUIRE([AC_PROG_FGREP])dnl -+test -z "$GREP" && GREP=grep -+_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) -+_LT_DECL([], [EGREP], [1], [An ERE matcher]) -+_LT_DECL([], [FGREP], [1], [A literal string matcher]) -+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too -+AC_SUBST([GREP]) -+]) -+ -+ -+# _LT_DECL_OBJDUMP -+# -------------- -+# If we don't have a new enough Autoconf to choose the best objdump -+# available, choose the one first in the user's PATH. -+m4_defun([_LT_DECL_OBJDUMP], -+[AC_CHECK_TOOL(OBJDUMP, objdump, false) -+test -z "$OBJDUMP" && OBJDUMP=objdump -+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) -+AC_SUBST([OBJDUMP]) -+]) -+ -+ -+# _LT_DECL_SED -+# ------------ -+# Check for a fully-functional sed program, that truncates -+# as few characters as possible. Prefer GNU sed if found. -+m4_defun([_LT_DECL_SED], -+[AC_PROG_SED -+test -z "$SED" && SED=sed -+Xsed="$SED -e 1s/^X//" -+_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) -+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], -+ [Sed that helps us avoid accidentally triggering echo(1) options like -n]) -+])# _LT_DECL_SED -+ -+m4_ifndef([AC_PROG_SED], [ -+############################################################ -+# NOTE: This macro has been submitted for inclusion into # -+# GNU Autoconf as AC_PROG_SED. When it is available in # -+# a released version of Autoconf we should remove this # -+# macro and use it instead. # -+############################################################ -+ -+m4_defun([AC_PROG_SED], -+[AC_MSG_CHECKING([for a sed that does not truncate output]) -+AC_CACHE_VAL(lt_cv_path_SED, -+[# Loop through the user's path and test for sed and gsed. -+# Then use that list of sed's as ones to test for truncation. -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for lt_ac_prog in sed gsed; do -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then -+ lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" -+ fi -+ done -+ done -+done -+IFS=$as_save_IFS -+lt_ac_max=0 -+lt_ac_count=0 -+# Add /usr/xpg4/bin/sed as it is typically found on Solaris -+# along with /bin/sed that truncates output. -+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do -+ test ! -f $lt_ac_sed && continue -+ cat /dev/null > conftest.in -+ lt_ac_count=0 -+ echo $ECHO_N "0123456789$ECHO_C" >conftest.in -+ # Check for GNU sed and select it if it is found. -+ if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then -+ lt_cv_path_SED=$lt_ac_sed -+ break -+ fi -+ while true; do -+ cat conftest.in conftest.in >conftest.tmp -+ mv conftest.tmp conftest.in -+ cp conftest.in conftest.nl -+ echo >>conftest.nl -+ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break -+ cmp -s conftest.out conftest.nl || break -+ # 10000 chars as input seems more than enough -+ test $lt_ac_count -gt 10 && break -+ lt_ac_count=`expr $lt_ac_count + 1` -+ if test $lt_ac_count -gt $lt_ac_max; then -+ lt_ac_max=$lt_ac_count -+ lt_cv_path_SED=$lt_ac_sed -+ fi -+ done -+done -+]) -+SED=$lt_cv_path_SED -+AC_SUBST([SED]) -+AC_MSG_RESULT([$SED]) -+])#AC_PROG_SED -+])#m4_ifndef -+ -+# Old name: -+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) -+dnl aclocal-1.4 backwards compatibility: -+dnl AC_DEFUN([LT_AC_PROG_SED], []) -+ -+ -+# _LT_CHECK_SHELL_FEATURES -+# ------------------------ -+# Find out whether the shell is Bourne or XSI compatible, -+# or has some other useful features. -+m4_defun([_LT_CHECK_SHELL_FEATURES], -+[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) -+# Try some XSI features -+xsi_shell=no -+( _lt_dummy="a/b/c" -+ test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ -+ = c,a/b,, \ -+ && eval 'test $(( 1 + 1 )) -eq 2 \ -+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ -+ && xsi_shell=yes -+AC_MSG_RESULT([$xsi_shell]) -+_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) -+ -+AC_MSG_CHECKING([whether the shell understands "+="]) -+lt_shell_append=no -+( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ -+ >/dev/null 2>&1 \ -+ && lt_shell_append=yes -+AC_MSG_RESULT([$lt_shell_append]) -+_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) -+ -+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then -+ lt_unset=unset -+else -+ lt_unset=false -+fi -+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl -+ -+# test EBCDIC or ASCII -+case `echo X|tr X '\101'` in -+ A) # ASCII based system -+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr -+ lt_SP2NL='tr \040 \012' -+ lt_NL2SP='tr \015\012 \040\040' -+ ;; -+ *) # EBCDIC based system -+ lt_SP2NL='tr \100 \n' -+ lt_NL2SP='tr \r\n \100\100' -+ ;; -+esac -+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl -+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl -+])# _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 "X${1}" | $Xsed -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 file -+func_basename () -+{ -+ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` -+} -+ -+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 "X${3}" \ -+ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; -+ *) func_stripname_result=`$ECHO "X${3}" \ -+ | $Xsed -e "s%^${1}%%" -e "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 "X${1}" | $Xsed -e "$my_sed_long_opt"` -+ func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` -+} -+ -+# func_lo2o object -+func_lo2o () -+{ -+ func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` -+} -+ -+# func_xform libobj-or-source -+func_xform () -+{ -+ func_xform_result=`$ECHO "X${1}" | $Xsed -e '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 -+]) diff --git a/meta-oe/recipes-support/libftdi/libftdi_0.19.bb b/meta-oe/recipes-support/libftdi/libftdi_0.19.bb deleted file mode 100644 index 773b791f4f..0000000000 --- a/meta-oe/recipes-support/libftdi/libftdi_0.19.bb +++ /dev/null @@ -1,31 +0,0 @@ -DESCRIPTION = "libftdi is a library to talk to FTDI chips.\ -FT232BM/245BM, FT2232C/D and FT232/245R using libusb,\ -including the popular bitbang mode." -HOMEPAGE = "http://www.intra2net.com/en/developer/libftdi/" -SECTION = "libs" - -PR = "r1" - -LICENSE = "LGPLv2.1 GPLv2" -LIC_FILES_CHKSUM= "file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe \ - file://COPYING.LIB;md5=db979804f025cf55aabec7129cb671ed \ -" - -PNBLACKLIST[libftdi] = "BROKEN: needs to be updated to detect libusb with pkg-config instead of libusb-config" - -DEPENDS = "virtual/libusb0" -DEPENDS_virtclass-native = "virtual/libusb0-native" - -SRC_URI = "http://www.intra2net.com/en/developer/libftdi/download/libftdi-${PV}.tar.gz \ - file://libtool-m4.patch \ -" -SRC_URI[md5sum] = "e6e25f33b4327b1b7aa1156947da45f3" -SRC_URI[sha256sum] = "567c9d2c42d92fc401c5aba2deed45ffb2433990984e816bcdf31e441aef06be" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[cpp-wrapper] = "--enable-libftdipp,--disable-libftdipp,boost" - -inherit autotools binconfig pkgconfig - -BBCLASSEXTEND = "native" - diff --git a/meta-oe/recipes-support/libftdi/libftdi_1.1.bb b/meta-oe/recipes-support/libftdi/libftdi_1.1.bb new file mode 100644 index 0000000000..d8b189be95 --- /dev/null +++ b/meta-oe/recipes-support/libftdi/libftdi_1.1.bb @@ -0,0 +1,29 @@ +DESCRIPTION = "libftdi is a library to talk to FTDI chips.\ +FT232BM/245BM, FT2232C/D and FT232/245R using libusb,\ +including the popular bitbang mode." +HOMEPAGE = "http://www.intra2net.com/en/developer/libftdi/" +SECTION = "libs" + +LICENSE = "LGPLv2.1 & GPLv2" +LIC_FILES_CHKSUM= "\ + file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe \ + file://COPYING.LIB;md5=db979804f025cf55aabec7129cb671ed \ +" + +DEPENDS = "libusb1" + +SRC_URI = "http://www.intra2net.com/en/developer/${BPN}/download/${BPN}1-${PV}.tar.bz2" + +SRC_URI[md5sum] = "b79a6356978aa8e69f8eecc3a720ff79" +SRC_URI[sha256sum] = "c0b1af1a13e2c6682a1d8041e5b164a1e0d90267cd378bb51e059bd62f821e21" + +S = "${WORKDIR}/${BPN}1-${PV}" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[cpp-wrapper] = "-DFTDI_BUILD_CPP=on,-DFTDI_BUILD_CPP=off,boost" + +inherit cmake binconfig pkgconfig + +FILES_${PN}-dev += "${libdir}/cmake" + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/libjs/libjs-jquery_1.7.1.bb b/meta-oe/recipes-support/libjs/libjs-jquery_1.7.1.bb new file mode 100644 index 0000000000..cf7c2d54dd --- /dev/null +++ b/meta-oe/recipes-support/libjs/libjs-jquery_1.7.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "JavaScript library for dynamic web applications" +LICENSE = "GPLv2+ & MIT" +LIC_FILES_CHKSUM = "file://usr/share/doc/libjs-jquery/copyright;md5=2b490904c50a58472452b6e9e1c81203" + +SRC_URI = "http://kr.archive.ubuntu.com/ubuntu/pool/main/j/jquery/${BPN}_${PV}-1ubuntu1_all.deb;subdir=${BP}" +SRC_URI[md5sum] = "1ac8a9e4dfe18de22e65baec3dd53f8b" +SRC_URI[sha256sum] = "0551e20c88035d80c00b552707573d62ee89e8e5a204d8b427a6020b065e2542" + +JQUERYDIR = "${datadir}/javascript/jquery" +JQUERYDOCDIR = "${docdir}/libjs-jquery" + +do_install() { + install -d -m 0755 ${D}${JQUERYDIR} + install -m 0644 ${S}${JQUERYDIR}/jquery.js ${D}${JQUERYDIR}/ + install -m 0644 ${S}${JQUERYDIR}/jquery.min.js ${D}${JQUERYDIR}/ + + ln -sf jquery.min.js ${D}${JQUERYDIR}/jquery.lite.js + ln -sf jquery.min.js ${D}${JQUERYDIR}/jquery.pack.js + + install -d -m 0644 ${D}${JQUERYDOCDIR} + install -m 0644 ${S}${JQUERYDOCDIR}/copyright ${D}${JQUERYDOCDIR}/ +} + +FILES_${PN} = "/usr/share/javascript/jquery" diff --git a/meta-oe/recipes-support/libjs/libjs-sizzle_1.9.3.bb b/meta-oe/recipes-support/libjs/libjs-sizzle_1.9.3.bb new file mode 100644 index 0000000000..ad0f9c64d5 --- /dev/null +++ b/meta-oe/recipes-support/libjs/libjs-sizzle_1.9.3.bb @@ -0,0 +1,20 @@ +SUMMARY = "Pure-JavaScript CSS selector engine" +LICENSE = "GPLv2+ & MIT & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://usr/share/doc/libjs-sizzle/copyright;md5=9b35efb1635ff8f06d1984376b06ee5a" + +SRC_URI = "http://kr.archive.ubuntu.com/ubuntu/pool/universe/s/sizzle/${BPN}_${PV}-1_all.deb;subdir=${BP}" +SRC_URI[md5sum] = "748b8805e21caed658f6765f7c491d46" +SRC_URI[sha256sum] = "2a6468763c40a30f6f7d0df8906cd17aaebd6edaa5478aeaffd7b6b5fb8abd35" + +SIZZLEDIR = "${datadir}/javascript/sizzle" +SIZZLEDOCDIR = "${docdir}/libjs-sizzle" + +do_install() { + install -d -m 0755 ${D}${SIZZLEDIR} + install -m 0644 ${S}${SIZZLEDIR}/sizzle.js ${D}${SIZZLEDIR}/ + install -m 0644 ${S}${SIZZLEDIR}/sizzle.min.js ${D}${SIZZLEDIR}/ + install -d -m 0755 ${D}${SIZZLEDOCDIR} + install -m 0644 ${S}${SIZZLEDOCDIR}/* ${D}${SIZZLEDOCDIR}/ +} + +FILES_${PN} = "/usr/share/javascript/sizzle/" diff --git a/meta-oe/recipes-support/libp11/libp11_0.2.8.bb b/meta-oe/recipes-support/libp11/libp11_0.2.8.bb new file mode 100644 index 0000000000..5801484c2b --- /dev/null +++ b/meta-oe/recipes-support/libp11/libp11_0.2.8.bb @@ -0,0 +1,23 @@ +SUMMARY = "Library for using PKCS" +DESCRIPTION = "\ +Libp11 is a library implementing a small layer on top of PKCS \ +make using PKCS" +HOMEPAGE = "http://www.opensc-project.org/libp11" +SECTION = "Development/Libraries" +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29" +DEPENDS = "libtool openssl" + +SRC_URI = "git://github.com/OpenSC/libp11.git" +SRCREV = "7d56d89fcad6440d108bbbccfb1ebd958e7eb740" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--disable-static" + +do_install_append () { + rm -rf ${D}${libdir}/*.la + rm -rf ${D}${docdir}/${BPN} +} diff --git a/meta-oe/recipes-support/libssh/libssh_0.6.3.bb b/meta-oe/recipes-support/libssh/libssh_git.bb index 771a47a6c0..47fb39a5b6 100644 --- a/meta-oe/recipes-support/libssh/libssh_0.6.3.bb +++ b/meta-oe/recipes-support/libssh/libssh_git.bb @@ -8,9 +8,11 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=388a4fb1dea8ceae0be78ba9b01fc139" SRC_URI = "git://git.libssh.org/projects/libssh.git;branch=v0-6" -SRCREV = "87145387aa12b720b52d6bc75b4dd6cd058c868a" +SRCREV = "3880a8ed80a4b1e2c052bd62f328bba2f869d5ae" S = "${WORKDIR}/git" +PV = "0.6.4+git${SRCPV}" + EXTRA_OECMAKE = " \ -DWITH_GCRYPT=1 \ -DWITH_PCAP=1 \ @@ -18,6 +20,9 @@ EXTRA_OECMAKE = " \ -DWITH_ZLIB=1 \ " +PACKAGECONFIG ??="" +PACKAGECONFIG[gssapi] = "-DWITH_GSSAPI=1, -DWITH_GSSAPI=0, krb5, " + inherit cmake do_configure_prepend () { diff --git a/meta-oe/recipes-support/libssh2/libssh2_1.4.3.bb b/meta-oe/recipes-support/libssh2/libssh2_1.4.3.bb new file mode 100644 index 0000000000..b53766333b --- /dev/null +++ b/meta-oe/recipes-support/libssh2/libssh2_1.4.3.bb @@ -0,0 +1,18 @@ +SUMMARY = "A client-side C library implementing the SSH2 protocol" +HOMEPAGE = "http://www.libssh2.org/" +SECTION = "libs" + +DEPENDS = "zlib openssl" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=d00afe44f336a79a2ca7e1681ce14509" + +SRC_URI = "http://www.libssh2.org/download/${BP}.tar.gz" +SRC_URI[md5sum] = "071004c60c5d6f90354ad1b701013a0b" +SRC_URI[sha256sum] = "eac6f85f9df9db2e6386906a6227eb2cd7b3245739561cad7d6dc1d5d021b96d" + +inherit autotools pkgconfig + +EXTRA_OECONF += "--with-openssl \ + --with-libz \ + " diff --git a/meta-oe/recipes-support/libtinyxml2/libtinyxml2_git.bb b/meta-oe/recipes-support/libtinyxml2/libtinyxml2_git.bb new file mode 100644 index 0000000000..1d3cffd778 --- /dev/null +++ b/meta-oe/recipes-support/libtinyxml2/libtinyxml2_git.bb @@ -0,0 +1,38 @@ +SUMMARY = "TinyXML-2 is a simple, small, efficient, C++ XML parser that can be easily integrating into other programs." +HOMEPAGE = "http://www.grinninglizard.com/tinyxml2/" +LICENSE = "Zlib" +LIC_FILES_CHKSUM = "file://readme.md;md5=0033b2f8a25283414b21354670bb1334" +SECTION = "libs" + +SRCREV = "d211bb13512cf4edb408e2c4badbcf4100ce0fd0" + +PV = "2.2.0+git${SRCPV}" + +SRC_URI = "git://github.com/leethomason/tinyxml2.git" + +S = "${WORKDIR}/git" + +EXTRA_CXXFLAGS = "-I. -fPIC" + +do_compile() { + ${CXX} ${CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o tinyxml2.o tinyxml2.cpp + ${CXX} ${CXXFLAGS} \ + -shared \ + -Wl,-soname,libtinyxml2.so.${PV} \ + -o libtinyxml2.so.${PV} \ + ${LDFLAGS} \ + tinyxml2.o \ + +} + +do_install() { + install -d ${D}${libdir} + install -m 0755 ${S}/libtinyxml2.so.${PV} ${D}${libdir} + ln -sf libtinyxml2.so.${PV} ${D}${libdir}/libtinyxml2.so + + install -d ${D}${includedir} + install -m 0644 ${S}/tinyxml2.h ${D}${includedir} +} + +BBCLASSEXTEND += "native" + diff --git a/meta-oe/recipes-support/libutempter/libutempter/0001-Fix-macro-error.patch b/meta-oe/recipes-support/libutempter/libutempter/0001-Fix-macro-error.patch new file mode 100644 index 0000000000..8140ea3438 --- /dev/null +++ b/meta-oe/recipes-support/libutempter/libutempter/0001-Fix-macro-error.patch @@ -0,0 +1,36 @@ +From fc2bd592ad17d1c2a2a989750e69dfaedc28c633 Mon Sep 17 00:00:00 2001 +From: Qian Lei <qianl.fnst@cn.fujitsu.com> +Date: Fri, 9 Jan 2015 10:40:29 +0800 +Subject: [PATCH] Fix macro error + +compile error when build on almost all architectures. + +Upstream-Status: Pending +Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com> +--- + iface.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/iface.c b/iface.c +index 5951d81..27793f0 100644 +--- a/iface.c ++++ b/iface.c +@@ -43,7 +43,14 @@ + __result; })) + #endif + +-#define UTEMPTER_DEFAULT_PATHNAME LIBEXECDIR "/utempter/utempter" ++#ifdef LIBEXECDIR ++# define CAT_PATH(DIR1,DIR2) DIR1##DIR2 ++# define RAW_UTEMPTER_PATH CAT_PATH(LIBEXECDIR,/utempter/utempter) ++#else ++# define RAW_UTEMPTER_PATH /usr/lib/libtempter/utempter/utempter ++#endif ++#define STR_PATH(RAW_STR) #RAW_STR ++#define UTEMPTER_DEFAULT_PATHNAME STR_PATH(RAW_UTEMPTER_PATH) + + static const char *utempter_pathname; + static int saved_fd = -1; +-- +1.8.3.1 + diff --git a/meta-oe/recipes-support/libutempter/libutempter_1.1.6.bb b/meta-oe/recipes-support/libutempter/libutempter_1.1.6.bb new file mode 100644 index 0000000000..f84e6493c7 --- /dev/null +++ b/meta-oe/recipes-support/libutempter/libutempter_1.1.6.bb @@ -0,0 +1,36 @@ +SUMMARY = "A privileged helper for utmp/wtmp updates" +DESCRIPTION = "\ +This library provides interface for terminal emulators such as \ +screen and xterm to record user sessions to utmp and wtmp files." +HOMEPAGE = "ftp://ftp.altlinux.org/pub/people/ldv/utempter" +SECTION = "System Environment/Libraries" +LICENSE = "GPLv2 & GPLv2+ & LGPLv2 & MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" + +SRC_URI = "ftp://ftp.altlinux.org/pub/people/ldv/utempter/${BP}.tar.bz2 \ + file://0001-Fix-macro-error.patch" +SRC_URI[md5sum] = "b43827806923903aba2bc7cd3a2d45b7" +SRC_URI[sha256sum] = "b898565f31ced7e5c1fa0a2eaa0f6ff0ed862b5fe375d26375b64bfbdfeac397" + +CFLAGS += "-DLIBEXECDIR=${libexecdir}" + +do_compile() { + oe_runmake \ + libdir=${libdir} \ + libexecdir=${libexecdir} +} + +do_install() { + oe_runmake install \ + DESTDIR=${D} \ + libdir="${libdir}" \ + libexecdir="${libexecdir}" \ + includedir=${includedir} \ + mandir=${mandir} + + rm -f ${D}${libdir}/*.a +} + +FILES_${PN} = "${libdir}/*.so.*" +FILES_${PN} += "${libexecdir}/utempter/utempter" +FILES_${PN}-dbg += "${libexecdir}/utempter/.debug/utempter" diff --git a/meta-oe/recipes-support/libyaml/files/libyaml-CVE-2014-2525.patch b/meta-oe/recipes-support/libyaml/files/libyaml-CVE-2014-2525.patch new file mode 100644 index 0000000000..2fdcba3eca --- /dev/null +++ b/meta-oe/recipes-support/libyaml/files/libyaml-CVE-2014-2525.patch @@ -0,0 +1,42 @@ +Heap-based buffer overflow in the yaml_parser_scan_uri_escapes function +in LibYAML before 0.1.6 allows context-dependent attackers to execute +arbitrary code via a long sequence of percent-encoded characters in a +URI in a YAML file. + +Upstream-Status: Backport + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- +diff --git a/src/scanner.c.old b/src/scanner.c +index a2e8619..c6cde3b 100644 +--- a/src/scanner.c.old ++++ b/src/scanner.c +@@ -2619,6 +2619,9 @@ yaml_parser_scan_tag_uri(yaml_parser_t *parser, int directive, + /* Check if it is a URI-escape sequence. */ + + if (CHECK(parser->buffer, '%')) { ++ if (!STRING_EXTEND(parser, string)) ++ goto error; ++ + if (!yaml_parser_scan_uri_escapes(parser, + directive, start_mark, &string)) goto error; + } +diff --git a/src/yaml_private.h.old b/src/yaml_private.h +index ed5ea66..d72acb4 100644 +--- a/src/yaml_private.h.old ++++ b/src/yaml_private.h +@@ -132,9 +132,12 @@ yaml_string_join( + (string).start = (string).pointer = (string).end = 0) + + #define STRING_EXTEND(context,string) \ +- (((string).pointer+5 < (string).end) \ ++ ((((string).pointer+5 < (string).end) \ + || yaml_string_extend(&(string).start, \ +- &(string).pointer, &(string).end)) ++ &(string).pointer, &(string).end)) ? \ ++ 1 : \ ++ ((context)->error = YAML_MEMORY_ERROR, \ ++ 0)) + + #define CLEAR(context,string) \ + ((string).pointer = (string).start, \ diff --git a/meta-oe/recipes-support/libyaml/libyaml_0.1.5.bb b/meta-oe/recipes-support/libyaml/libyaml_0.1.5.bb index c44eda4ee1..1279541966 100644 --- a/meta-oe/recipes-support/libyaml/libyaml_0.1.5.bb +++ b/meta-oe/recipes-support/libyaml/libyaml_0.1.5.bb @@ -7,7 +7,9 @@ SECTION = "libs/devel" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17" -SRC_URI = "http://pyyaml.org/download/libyaml/yaml-${PV}.tar.gz" +SRC_URI = "http://pyyaml.org/download/libyaml/yaml-${PV}.tar.gz \ + file://libyaml-CVE-2014-2525.patch \ + " SRC_URI[md5sum] = "24f6093c1e840ca5df2eb09291a1dbf1" SRC_URI[sha256sum] = "fa87ee8fb7b936ec04457bc044cd561155e1000a4d25029867752e543c2d3bef" diff --git a/meta-oe/recipes-support/links/links-x11_2.7.bb b/meta-oe/recipes-support/links/links-x11_2.7.bb index 87666534e5..2ae11ac97e 100644 --- a/meta-oe/recipes-support/links/links-x11_2.7.bb +++ b/meta-oe/recipes-support/links/links-x11_2.7.bb @@ -3,6 +3,10 @@ require links.inc DEPENDS += "virtual/libx11" RCONFLICTS_${PN} = "links" +inherit distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + SRC_URI += " file://links2.desktop \ http://www.xora.org.uk/oe/links2.png;name=icon" diff --git a/meta-oe/recipes-support/links/links.inc b/meta-oe/recipes-support/links/links.inc index ef48d737e6..e072408206 100644 --- a/meta-oe/recipes-support/links/links.inc +++ b/meta-oe/recipes-support/links/links.inc @@ -12,6 +12,6 @@ SRC_URI = "http://links.twibright.com/download/links-${PV}.tar.bz2 \ PACKAGECONFIG ??= "" PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2" -PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,lzma" +PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz" inherit autotools pkgconfig diff --git a/meta-oe/recipes-support/lm_sensors/lmsensors/sensord.service b/meta-oe/recipes-support/lm_sensors/lmsensors/sensord.service new file mode 100644 index 0000000000..4836d8ff05 --- /dev/null +++ b/meta-oe/recipes-support/lm_sensors/lmsensors/sensord.service @@ -0,0 +1,11 @@ +[Unit] +Description=Sensor Information Logging + +[Service] +Type=forking +EnvironmentFile=-@SYSCONFDIR@/sensord.conf +PIDFile=@LOCALSTATEDIR@/run/sensord.pid +ExecStart=@SBINDIR@/sensord $SENSORD_ARGS + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-support/lm_sensors/lmsensors_3.3.5.bb b/meta-oe/recipes-support/lm_sensors/lmsensors_3.3.5.bb index c2aefba27f..d2cd31716e 100644 --- a/meta-oe/recipes-support/lm_sensors/lmsensors_3.3.5.bb +++ b/meta-oe/recipes-support/lm_sensors/lmsensors_3.3.5.bb @@ -10,11 +10,12 @@ DEPENDS = "sysfsutils virtual/libiconv bison-native flex-native rrdtool" SRC_URI = "http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-${PV}.tar.bz2 \ file://fancontrol.init \ file://sensord.init \ + file://sensord.service \ " SRC_URI[md5sum] = "da506dedceb41822e64865f6ba34828a" SRC_URI[sha256sum] = "5dae6a665e1150159a93743c4ff1943a7efe02cd9d3bb12c4805e7d7adcf4fcf" -inherit update-rc.d +inherit update-rc.d systemd RDEPENDS_${PN}-dev = "" @@ -24,6 +25,10 @@ INITSCRIPT_NAME_${PN}-sensord = "sensord" INITSCRIPT_PARAMS_${PN}-fancontrol = "defaults 66" INITSCRIPT_PARAMS_${PN}-sensord = "defaults 67" +SYSTEMD_PACKAGES = "${PN}-sensord" +SYSTEMD_SERVICE_${PN}-sensord = "sensord.service" +SYSTEMD_AUTO_ENABLE = "disable" + S = "${WORKDIR}/lm_sensors-${PV}" EXTRA_OEMAKE = 'LINUX=${STAGING_KERNEL_DIR} EXLDFLAGS="${LDFLAGS}" \ @@ -37,7 +42,7 @@ do_compile() { do_install() { oe_runmake user_install DESTDIR=${D} - install -m 0755 ${S}/prog/sensord/sensord ${D}${bindir} + install -m 0755 ${S}/prog/sensord/sensord ${D}${sbindir} install -m 0644 ${S}/prog/sensord/sensord.8 ${D}${mandir}/man8 # Install directory @@ -49,6 +54,16 @@ do_install() { # Install sensord init script install -m 0755 ${WORKDIR}/sensord.init ${D}${sysconfdir}/init.d/sensord + + # Insall sensord service script + if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/sensord.service ${D}${systemd_unitdir}/system + + sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/sensord.service + sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${systemd_unitdir}/system/sensord.service + sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/sensord.service + fi } # libsensors packages @@ -90,7 +105,7 @@ FILES_${PN}-sensors-doc = "${mandir}/man1 ${mandir}/man5" RDEPENDS_${PN}-sensors = "${PN}-libsensors" # sensord logging daemon -FILES_${PN}-sensord = "${bindir}/sensord ${sysconfdir}/init.d/sensord" +FILES_${PN}-sensord = "${sbindir}/sensord ${sysconfdir}/init.d/sensord ${systemd_unitdir}/system/sensord.service" FILES_${PN}-sensord-dbg = "${bindir}/.debug/sensord" FILES_${PN}-sensord-doc = "${mandir}/man8/sensord.8" RDEPENDS_${PN}-sensord = "${PN}-sensors rrdtool" diff --git a/meta-oe/recipes-support/log4c/log4c/fix_configure_with-expat.patch b/meta-oe/recipes-support/log4c/log4c/fix_configure_with-expat.patch new file mode 100644 index 0000000000..4872eb4f5e --- /dev/null +++ b/meta-oe/recipes-support/log4c/log4c/fix_configure_with-expat.patch @@ -0,0 +1,21 @@ +The original use of AC_ARG_WITH is buggy and causes expat support +to be *disabled* if "--with-expat" is passed to configure. + +Upstream status: pending + +Index: log4c-1.2.4/configure.in +=================================================================== +--- log4c-1.2.4.orig/configure.in ++++ log4c-1.2.4/configure.in +@@ -217,9 +217,9 @@ AC_ARG_WITH(expat, + have any effect and Log4C uses some bundled yacc/lex code + for parsing it's configuration file. + ]), +- with_expat=no, ++ [], + with_expat=yes) +-if test x$with_expat = xyes ; then ++if test x$with_expat != xno ; then + use_expat=yes + AM_PATH_EXPAT(1.95.1) + fi diff --git a/meta-oe/recipes-support/log4c/log4c_1.2.4.bb b/meta-oe/recipes-support/log4c/log4c_1.2.4.bb new file mode 100644 index 0000000000..ea75757f80 --- /dev/null +++ b/meta-oe/recipes-support/log4c/log4c_1.2.4.bb @@ -0,0 +1,15 @@ +SUMMARY = "Log4c is a C library for flexible logging to files, syslog and other destinations" +HOMEPAGE = "http://log4c.sourceforge.net" +LICENSE = "LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \ + file://fix_configure_with-expat.patch" + +SRC_URI[md5sum] = "0d94919136e1d16b68427562e74cb3dd" +SRC_URI[sha256sum] = "5991020192f52cc40fa852fbf6bbf5bd5db5d5d00aa9905c67f6f0eadeed48ea" + +PACKAGECONFIG ??= "expat" +PACKAGECONFIG[expat] = "--with-expat,--without-expat,expat" + +inherit autotools diff --git a/meta-oe/recipes-support/log4cpp/log4cpp_1.1.1.bb b/meta-oe/recipes-support/log4cpp/log4cpp_1.1.1.bb new file mode 100644 index 0000000000..dba4fa07aa --- /dev/null +++ b/meta-oe/recipes-support/log4cpp/log4cpp_1.1.1.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations." +HOMEPAGE = "http://sourceforge.net/projects/log4cpp/" +PRIORITY = "optional" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" + +SRC_URI[md5sum] = "1e173df8ee97205f412ff84aa93b8fbe" +SRC_URI[sha256sum] = "35abf332630a6809c969276b1d60b90c81a95daf24c86cfd7866ffef72f9bed0" + +SRC_URI = "http://downloads.sourceforge.net/${BPN}/${BP}.tar.gz" + +S="${WORKDIR}/${BPN}" + +inherit autotools pkgconfig + +EXTRA_OECONF = "\ + --enable-doxygen=no \ + --enable-dot=no \ + --enable-html-docs=no \ + --enable-latex-docs=no \ + LDFLAGS=-lpthread \ +" diff --git a/meta-oe/recipes-support/lvm2/lvm2.inc b/meta-oe/recipes-support/lvm2/lvm2.inc index 1bbb158d83..42f6e3a43e 100644 --- a/meta-oe/recipes-support/lvm2/lvm2.inc +++ b/meta-oe/recipes-support/lvm2/lvm2.inc @@ -48,3 +48,5 @@ FILES_${PN} += "${libdir}/device-mapper/*.so ${base_libdir}/udev" FILES_${PN}-dbg += "${libdir}/device-mapper/.debug" RDEPENDS_${PN} = "bash" + +CONFFILES_${PN} += "${sysconfdir}/lvm/lvm.conf" diff --git a/meta-oe/recipes-support/lzip/lzip_1.15.bb b/meta-oe/recipes-support/lzip/lzip_1.16.bb index 3d646953bd..af0b6ae8e6 100644 --- a/meta-oe/recipes-support/lzip/lzip_1.15.bb +++ b/meta-oe/recipes-support/lzip/lzip_1.16.bb @@ -1,16 +1,14 @@ -SUMMARY = "Lzip is a lossless data compressor based on the LZMA algorithm" +SUMMARY = "Lossless data compressor based on the LZMA algorithm" HOMEPAGE = "http://lzip.nongnu.org/lzip.html" SECTION = "console/utils" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \ + file://decoder.cc;endline=16;md5=0809128ac32163252846e09a70c8b80b" SRC_URI = "${SAVANNAH_GNU_MIRROR}/lzip/lzip-${PV}.tar.gz" -# Only the latest version is available in .tar.gz format from savannah.gnu.org, -# FreeBSD distfiles is known to have version 1.13. - -SRC_URI[md5sum] = "e83a364c8544fc66cccb552369d93220" -SRC_URI[sha256sum] = "7cd3fcda68fc9900efcf7784313e3bdd1303fef1a0546db9723f5e5564dd05b6" +SRC_URI[md5sum] = "716a9876dc595ec52d4f3bda81e42471" +SRC_URI[sha256sum] = "128cc25baf92c8b69700831e6f984d954016318cc78edca87870d0c033112751" CONFIGUREOPTS = "\ '--srcdir=${S}' \ diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/001-large_files.patch b/meta-oe/recipes-support/lzma/lzma-4.65/001-large_files.patch deleted file mode 100644 index b95fe9e90f..0000000000 --- a/meta-oe/recipes-support/lzma/lzma-4.65/001-large_files.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc -=================================================================== ---- lzma-4.65.orig/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-05-15 23:33:51.000000000 +0200 -+++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-06-01 22:00:54.000000000 +0200 -@@ -3,7 +3,7 @@ - CXX_C = gcc -O2 -Wall - LIB = -lm - RM = rm -f --CFLAGS = -c -+CFLAGS = -c -D_FILE_OFFSET_BITS=64 - - ifdef SystemDrive - IS_MINGW = 1 diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/002-lzmp.patch b/meta-oe/recipes-support/lzma/lzma-4.65/002-lzmp.patch deleted file mode 100644 index 72d881cdb2..0000000000 --- a/meta-oe/recipes-support/lzma/lzma-4.65/002-lzmp.patch +++ /dev/null @@ -1,1059 +0,0 @@ -Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzmp.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzmp.cpp 2009-06-01 22:01:10.000000000 +0200 -@@ -0,0 +1,895 @@ -+/* -+ * LZMA command line tool similar to gzip to encode and decode LZMA files. -+ * -+ * Copyright (C) 2005 Ville Koskinen -+ * -+ * 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. -+ */ -+ -+#include "../../../Common/MyInitGuid.h" -+ -+#include <iostream> -+using std::cout; -+using std::cerr; -+using std::endl; -+ -+#include <cstdio> -+#include <cstdlib> -+#include <cstring> -+ -+#include <string> -+using std::string; -+#include <vector> -+using std::vector; -+typedef vector<string> stringVector; -+ -+#include <unistd.h> -+#include <getopt.h> -+#include <signal.h> -+ -+#include <sys/types.h> -+#include <sys/stat.h> -+#include <utime.h> -+#include <sys/time.h> // futimes() -+ -+// For Solaris -+#ifndef HAVE_FUTIMES -+//#define futimes(fd, tv) futimesat(fd, NULL, tv) -+#endif -+ -+#if defined(_WIN32) || defined(OS2) || defined(MSDOS) -+#include <fcntl.h> -+#include <io.h> -+#define MY_SET_BINARY_MODE(file) setmode(fileno(file),O_BINARY) -+#else -+#define MY_SET_BINARY_MODE(file) -+#endif -+ -+#include "../../../7zip/Common/FileStreams.h" -+ -+#include "../../../Common/Types.h" -+ -+#include "../../../7zip/Compress/LzmaDecoder.h" -+#include "../../../7zip/Compress/LzmaEncoder.h" -+ -+#include "Exception.h" -+ -+#include "lzma_version.h" -+ -+namespace lzma { -+ -+const char *PROGRAM_VERSION = PACKAGE_VERSION; -+const char *PROGRAM_COPYRIGHT = "Copyright (C) 2006 Ville Koskinen"; -+ -+/* LZMA_Alone switches: -+ -a{N}: set compression mode - [0, 2], default: 2 (max) -+ -d{N}: set dictionary - [0,28], default: 23 (8MB) -+ -fb{N}: set number of fast bytes - [5, 255], default: 128 -+ -lc{N}: set number of literal context bits - [0, 8], default: 3 -+ -lp{N}: set number of literal pos bits - [0, 4], default: 0 -+ -pb{N}: set number of pos bits - [0, 4], default: 2 -+ -mf{MF_ID}: set Match Finder: [bt2, bt3, bt4, bt4b, pat2r, pat2, -+ pat2h, pat3h, pat4h, hc3, hc4], default: bt4 -+*/ -+ -+struct lzma_option { -+ short compression_mode; // -a -+ short dictionary; // -d -+ short fast_bytes; // -fb -+ wchar_t *match_finder; // -mf -+ short literal_context_bits; // -lc -+ short literal_pos_bits; // -lp -+ short pos_bits; // -pb -+}; -+ -+/* The following is a mapping from gzip/bzip2 style -1 .. -9 compression modes -+ * to the corresponding LZMA compression modes. Thanks, Larhzu, for coining -+ * these. */ -+const lzma_option option_mapping[] = { -+ { 0, 0, 0, NULL, 0, 0, 0}, // -0 (needed for indexing) -+ { 0, 16, 64, L"hc4", 3, 0, 2}, // -1 -+ { 0, 20, 64, L"hc4", 3, 0, 2}, // -2 -+ { 1, 19, 64, L"bt4", 3, 0, 2}, // -3 -+ { 2, 20, 64, L"bt4", 3, 0, 2}, // -4 -+ { 2, 21, 128, L"bt4", 3, 0, 2}, // -5 -+ { 2, 22, 128, L"bt4", 3, 0, 2}, // -6 -+ { 2, 23, 128, L"bt4", 3, 0, 2}, // -7 -+ { 2, 24, 255, L"bt4", 3, 0, 2}, // -8 -+ { 2, 25, 255, L"bt4", 3, 0, 2}, // -9 -+}; -+ -+struct extension_pair { -+ char *from; -+ char *to; -+}; -+ -+const extension_pair known_extensions[] = { -+ { ".lzma", "" }, -+ { ".tlz", ".tar" }, -+ { NULL, NULL } -+}; -+ -+/* Sorry, I just happen to like enumerations. */ -+enum PROGRAM_MODE { -+ PM_COMPRESS = 0, -+ PM_DECOMPRESS, -+ PM_TEST, -+ PM_HELP, -+ PM_LICENSE, -+ PM_VERSION -+}; -+ -+enum { -+ STATUS_OK = 0, -+ STATUS_ERROR = 1, -+ STATUS_WARNING = 2 -+}; -+ -+/* getopt options. */ -+/* struct option { name, has_arg, flag, val } */ -+const struct option long_options[] = { -+ { "stdout", 0, 0, 'c' }, -+ { "decompress", 0, 0, 'd' }, -+ { "compress", 0, 0, 'z' }, -+ { "keep", 0, 0, 'k' }, -+ { "force", 0, 0, 'f' }, -+ { "test", 0, 0, 't' }, -+ { "suffix", 1, 0, 'S' }, -+ { "quiet", 0, 0, 'q' }, -+ { "verbose", 0, 0, 'v' }, -+ { "help", 0, 0, 'h' }, -+ { "license", 0, 0, 'L' }, -+ { "version", 0, 0, 'V' }, -+ { "fast", 0, 0, '1' }, -+ { "best", 0, 0, '9' }, -+ { 0, 0, 0, 0 } -+}; -+ -+/* getopt option string (for the above options). */ -+const char option_string[] = "cdzkftS:qvhLV123456789A:D:F:"; -+ -+/* Defaults. */ -+PROGRAM_MODE program_mode = PM_COMPRESS; -+int verbosity = 0; -+bool stdinput = false; -+bool stdoutput = false; -+bool keep = false; -+bool force = false; -+int compression_mode = 7; -+//char *suffix = strdup(".lzma"); -+char *suffix = strdup(known_extensions[0].from); -+lzma_option advanced_options = { -1, -1, -1, NULL, -1, -1, -1 }; -+ -+void print_help(const char *const argv0) -+{ -+ // Help goes to stdout while other messages go to stderr. -+ cout << "\nlzma " << PROGRAM_VERSION -+ << " " << PROGRAM_COPYRIGHT << "\n" -+ "Based on LZMA SDK " << LZMA_SDK_VERSION_STRING << " " -+ << LZMA_SDK_COPYRIGHT_STRING -+ << "\n\nUsage: " << argv0 -+ << " [flags and input files in any order]\n" -+" -c --stdout output to standard output\n" -+" -d --decompress force decompression\n" -+" -z --compress force compression\n" -+" -k --keep keep (don't delete) input files\n" -+" -f --force force overwrite of output file and compress links\n" -+" -t --test test compressed file integrity\n" -+" -S .suf --suffix .suf use suffix .suf on compressed files\n" -+" -q --quiet suppress error messages\n" -+" -v --verbose be verbose\n" -+" -h --help print this message\n" -+" -L --license display the license information\n" -+" -V --version display version numbers of LZMA SDK and lzma\n" -+" -1 .. -2 fast compression\n" -+" -3 .. -9 good to excellent compression. -7 is the default.\n" -+" --fast alias for -1\n" -+" --best alias for -9 (usually *not* what you want)\n\n" -+" Memory usage depends a lot on the chosen compression mode -1 .. -9.\n" -+" See the man page lzma(1) for details.\n\n"; -+} -+ -+void print_license(void) -+{ -+ cout << "\n LZMA command line tool " << PROGRAM_VERSION << " - " -+ << PROGRAM_COPYRIGHT -+ << "\n LZMA SDK " << LZMA_SDK_VERSION_STRING << " - " -+ << LZMA_SDK_COPYRIGHT_STRING -+ << "\n This program is a part of the LZMA utils package.\n" -+ " http://tukaani.org/lzma/\n\n" -+" This program is free software; you can redistribute it and/or\n" -+" modify it under the terms of the GNU General Public License\n" -+" as published by the Free Software Foundation; either version 2\n" -+" of the License, or (at your option) any later version.\n" -+"\n" -+" This program is distributed in the hope that it will be useful,\n" -+" but WITHOUT ANY WARRANTY; without even the implied warranty of\n" -+" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" -+" GNU General Public License for more details.\n" -+"\n"; -+} -+ -+void print_version(void) -+{ -+ cout << "LZMA command line tool " << PROGRAM_VERSION << "\n" -+ << "LZMA SDK " << LZMA_SDK_VERSION_STRING << "\n"; -+} -+ -+short str2int (const char *str, const int &min, const int &max) -+{ -+ int value = -1; -+ char *endptr = NULL; -+ if (str == NULL || str[0] == '\0') -+ throw ArgumentException("Invalid integer option"); -+ value = strtol (str, &endptr, 10); -+ if (*endptr != '\0' || value < min || value > max) -+ throw ArgumentException("Invalid integer option"); -+ return value; -+} -+ -+void parse_options(int argc, char **argv, stringVector &filenames) -+{ -+ /* Snatched from getopt(3). */ -+ int c; -+ -+ /* Check how we were called */ -+ { -+ char *p = strrchr (argv[0], '/'); // Remove path prefix, if any -+ if (p++ == NULL) -+ p = argv[0]; -+ if (strstr (p, "un") != NULL) { -+ program_mode = PM_DECOMPRESS; -+ } else if (strstr (p, "cat") != NULL) { -+ program_mode = PM_DECOMPRESS; -+ stdoutput = true; -+ } -+ } -+ -+ while (-1 != (c = getopt_long(argc, argv, option_string, -+ long_options, NULL))) { -+ switch (c) { -+ // stdout -+ case 'c': -+ stdoutput = true; -+ break; -+ -+ // decompress -+ case 'd': -+ program_mode = PM_DECOMPRESS; -+ break; -+ -+ // compress -+ case 'z': -+ program_mode = PM_COMPRESS; -+ break; -+ -+ // keep -+ case 'k': -+ keep = true; -+ break; -+ -+ // force -+ case 'f': -+ force = true; -+ break; -+ -+ // test -+ case 't': -+ program_mode = PM_TEST; -+ break; -+ -+ // suffix -+ case 'S': -+ if (optarg) { -+ free(suffix); -+ suffix = strdup(optarg); -+ } -+ break; -+ -+ // quiet -+ case 'q': -+ verbosity = 0; -+ break; -+ -+ // verbose -+ case 'v': -+ verbosity++; -+ break; -+ -+ // help -+ case 'h': -+ program_mode = PM_HELP; -+ break; -+ -+ // license -+ case 'L': -+ program_mode = PM_LICENSE; -+ break; -+ -+ // version -+ case 'V': -+ program_mode = PM_VERSION; -+ break; -+ -+ case '1': case '2': case '3': case '4': case '5': -+ case '6': case '7': case '8': case '9': -+ compression_mode = c - '0'; -+ break; -+ -+ // Advanced options // -+ // Compression mode -+ case 'A': -+ advanced_options.compression_mode = -+ str2int (optarg, 0, 2); -+ break; -+ -+ // Dictionary size -+ case 'D': -+ advanced_options.dictionary = -+ str2int (optarg, 0, 28); -+ break; -+ -+ // Fast bytes -+ case 'F': -+ advanced_options.fast_bytes = -+ str2int (optarg, 0, 273); -+ break; -+ -+ default: -+ throw ArgumentException(""); -+ break; -+ } // switch(c) -+ } // while(1) -+ -+ for (int i = optind; i < argc; i++) { -+ if (strcmp("-", argv[i]) == 0) -+ continue; -+ filenames.push_back(argv[i]); -+ } -+} // parse_options -+ -+void set_encoder_properties(NCompress::NLzma::CEncoder *encoder, -+ lzma_option &opt) -+{ -+ /* Almost verbatim from LzmaAlone.cpp. */ -+ PROPID propIDs[] = -+ { -+ NCoderPropID::kDictionarySize, -+ NCoderPropID::kPosStateBits, -+ NCoderPropID::kLitContextBits, -+ NCoderPropID::kLitPosBits, -+ NCoderPropID::kAlgorithm, -+ NCoderPropID::kNumFastBytes, -+ NCoderPropID::kMatchFinder, -+ NCoderPropID::kEndMarker -+ }; -+ const int kNumProps = sizeof(propIDs) / sizeof(propIDs[0]); -+#define VALUE(x) (advanced_options.x >= 0 ? advanced_options.x : opt.x) -+ PROPVARIANT properties[kNumProps]; -+ for (int p = 0; p < 6; p++) -+ properties[p].vt = VT_UI4; -+ properties[0].ulVal = UInt32(1 << VALUE (dictionary)); -+ properties[1].ulVal = UInt32(VALUE (pos_bits)); -+ properties[2].ulVal = UInt32(VALUE (literal_context_bits)); -+ properties[3].ulVal = UInt32(VALUE (literal_pos_bits)); -+ properties[4].ulVal = UInt32(VALUE (compression_mode)); -+ properties[5].ulVal = UInt32(VALUE (fast_bytes)); -+#undef VALUE -+ -+ properties[6].vt = VT_BSTR; -+ properties[6].bstrVal = (BSTR)opt.match_finder; -+ -+ properties[7].vt = VT_BOOL; -+ properties[7].boolVal = stdinput ? VARIANT_TRUE : VARIANT_FALSE; -+ -+ if (encoder->SetCoderProperties(propIDs, properties, kNumProps) != S_OK) -+ throw Exception("SetCoderProperties() error"); -+} -+ -+void encode(NCompress::NLzma::CEncoder *encoderSpec, -+ CMyComPtr<ISequentialInStream> inStream, -+ CMyComPtr<ISequentialOutStream> outStream, -+ lzma_option encoder_options, -+ UInt64 fileSize) -+{ -+ set_encoder_properties(encoderSpec, encoder_options); -+ -+ encoderSpec->WriteCoderProperties(outStream); -+ -+ for (int i = 0; i < 8; i++) -+ { -+ Byte b = Byte(fileSize >> (8 * i)); -+ if (outStream->Write(&b, sizeof(b), 0) != S_OK) -+ throw Exception("Write error while encoding"); -+ } -+ -+ HRESULT result = encoderSpec->Code(inStream, outStream, 0, 0, 0); -+ -+ if (result == E_OUTOFMEMORY) -+ throw Exception("Cannot allocate memory"); -+ else if (result != S_OK) { -+ char buffer[33]; -+ snprintf(buffer, 33, "%d", (unsigned int)result); -+ throw Exception(string("Encoder error: ") + buffer); -+ } -+} -+ -+void decode(NCompress::NLzma::CDecoder *decoderSpec, -+ CMyComPtr<ISequentialInStream> inStream, -+ CMyComPtr<ISequentialOutStream> outStream) -+{ -+ const UInt32 kPropertiesSize = 5; -+ Byte properties[kPropertiesSize]; -+ UInt32 processedSize; -+ UInt64 fileSize = 0; -+ -+ if (inStream->Read(properties, kPropertiesSize, &processedSize) != S_OK) -+ throw Exception("Read error"); -+ if (processedSize != kPropertiesSize) -+ throw Exception("Read error"); -+ if (decoderSpec->SetDecoderProperties2(properties, kPropertiesSize) != S_OK) -+ throw Exception("SetDecoderProperties() error"); -+ -+ for (int i = 0; i < 8; i++) -+ { -+ Byte b; -+ -+ if (inStream->Read(&b, sizeof(b), &processedSize) != S_OK) -+ throw Exception("Read error"); -+ if (processedSize != 1) -+ throw Exception("Read error"); -+ -+ fileSize |= ((UInt64)b) << (8 * i); -+ } -+ -+ if (decoderSpec->Code(inStream, outStream, 0, &fileSize, 0) != S_OK) -+ throw Exception("Decoder error"); -+} -+ -+int open_instream(const string infile, -+ CMyComPtr<ISequentialInStream> &inStream, -+ UInt64 &fileSize) -+{ -+ CInFileStream *inStreamSpec = new CInFileStream; -+ inStream = inStreamSpec; -+ if (!inStreamSpec->Open(infile.c_str())) -+ throw Exception("Cannot open input file " + infile); -+ -+ inStreamSpec->File.GetLength(fileSize); -+ -+ return inStreamSpec->File.GetHandle(); -+} -+ -+int open_outstream(const string outfile, -+ CMyComPtr<ISequentialOutStream> &outStream) -+{ -+ COutFileStream *outStreamSpec = new COutFileStream; -+ outStream = outStreamSpec; -+ -+ bool open_by_force = (program_mode == PM_TEST) | force; -+ -+ if (!outStreamSpec->Create(outfile.c_str(), open_by_force)) -+ throw Exception("Cannot open output file " + outfile); -+ -+ return outStreamSpec->File.GetHandle(); -+} -+ -+double get_ratio(int inhandle, int outhandle) -+{ -+ struct stat in_stats, out_stats; -+ fstat(inhandle, &in_stats); -+ fstat(outhandle, &out_stats); -+ -+ return (double)out_stats.st_size / (double)in_stats.st_size; -+} -+ -+mode_t get_file_mode(string filename) -+{ -+ struct stat in_stat; -+ lstat(filename.c_str(), &in_stat); -+ -+ return in_stat.st_mode; -+} -+ -+bool string_ends_with(string str, string ending) -+{ -+ return equal(ending.rbegin(), ending.rend(), str.rbegin()); -+} -+ -+bool extension_is_known(string filename) -+{ -+ bool known_format = false; -+ extension_pair extension; int i = 1; -+ -+ extension = known_extensions[0]; -+ while (extension.from != NULL) { -+ if (string_ends_with(filename, extension.from)) { -+ known_format = true; -+ break; -+ } -+ extension = known_extensions[i]; -+ i++; -+ } -+ -+ if (!known_format) { -+ if (!string_ends_with(filename, suffix)) { -+ return false; -+ } -+ } -+ -+ return true; -+} -+ -+string replace_extension(string filename) -+{ -+ int suffix_starts_at = filename.length() - strlen (suffix); -+ string from_suffix = filename.substr(suffix_starts_at, strlen (suffix)); -+ string ret = filename.substr(0, suffix_starts_at); -+ extension_pair extension; int i = 1; -+ -+ bool found_replacement = false; -+ extension = known_extensions[0]; -+ while (extension.from != NULL) { -+ if (from_suffix.compare(extension.from) == 0) { -+ ret += extension.to; -+ found_replacement = true; -+ break; -+ } -+ -+ extension = known_extensions[i]; -+ i++; -+ } -+ -+ return ret; -+} -+ -+string pretty_print_status(string filename, string output_filename, -+ string ratio) -+{ -+ string ret = ""; -+ -+ ret += filename; -+ ret += ":\t "; -+ -+ if (program_mode == PM_TEST) { -+ ret += "decoded succesfully"; -+ -+ return ret; -+ } -+ -+ if (!stdinput && !stdoutput) { -+ ret += ratio; -+ ret += " -- "; -+ } -+ -+ if (program_mode == PM_COMPRESS) { -+ if (keep) { -+ ret += "encoded succesfully"; -+ -+ return ret; -+ } -+ -+ ret += "replaced with "; -+ ret += output_filename; -+ -+ return ret; -+ } -+ -+ if (program_mode == PM_DECOMPRESS) { -+ if (keep) { -+ ret += "decoded succesfully"; -+ -+ return ret; -+ } -+ -+ ret += "replaced with "; -+ ret += output_filename; -+ -+ return ret; -+ } -+ -+ return ret; -+} -+ -+static string archive_name; // I know, it is crude, but I haven't found any other -+ // way then making a global variable to transfer filename to handler -+ -+void signal_handler (int signum) -+{ -+ unlink (archive_name.c_str()); // deleting -+ signal (signum, SIG_DFL); // we return the default function to used signal -+ kill (getpid(), signum); // and then send this signal to the process again -+} -+ -+} // namespace lzma -+ -+ -+int main(int argc, char **argv) -+{ -+ using namespace lzma; -+ using std::cerr; -+ -+ stringVector filenames; -+ -+ signal (SIGTERM,signal_handler); -+ signal (SIGHUP,signal_handler); -+ signal (SIGINT,signal_handler); -+ -+ try { -+ parse_options(argc, argv, filenames); -+ } -+ catch (...) { -+ return STATUS_ERROR; -+ } -+ -+ if (program_mode == PM_HELP) { -+ print_help(argv[0]); -+ return STATUS_OK; -+ } -+ else if (program_mode == PM_LICENSE) { -+ print_license(); -+ return STATUS_OK; -+ } -+ else if (program_mode == PM_VERSION) { -+ print_version(); -+ return STATUS_OK; -+ } -+ -+ if (filenames.empty()) { -+ stdinput = true; -+ stdoutput = true; -+ -+ /* FIXME: get rid of this */ -+ filenames.push_back("-"); -+ } -+ -+ /* Protection: always create new files with 0600 in order to prevent -+ * outsiders from reading incomplete data. */ -+ umask(0077); -+ -+ bool warning = false; -+ -+ for (int i = 0; i < filenames.size(); i++) { -+ CMyComPtr<ISequentialInStream> inStream; -+ CMyComPtr<ISequentialOutStream> outStream; -+ UInt64 fileSize = 0; -+ int inhandle = 0, outhandle = 0; -+ string output_filename; -+ -+ if (stdinput) { -+ inStream = new CStdInFileStream; -+ MY_SET_BINARY_MODE(stdin); -+ fileSize = (UInt64)(Int64)-1; -+ -+ inhandle = STDIN_FILENO; -+ -+ outStream = new CStdOutFileStream; -+ MY_SET_BINARY_MODE(stdout); -+ -+ outhandle = STDOUT_FILENO; -+ } -+ else { -+ mode_t infile_mode = get_file_mode(filenames[i]); -+ if (!S_ISREG(infile_mode)) { -+ if (S_ISDIR(infile_mode)) { -+ warning = true; -+ cerr << argv[0] << ": " << filenames[i] << ": " -+ << "cowardly refusing to work on directory" -+ << endl; -+ -+ continue; -+ } -+ else if (S_ISLNK(infile_mode)) { -+ if (!stdoutput && !force) { -+ warning = true; -+ -+ cerr << argv[0] << ": " << filenames[i] << ": " -+ << "cowardly refusing to work on symbolic link " -+ << "(use --force to force encoding or decoding)" -+ << endl; -+ -+ continue; -+ } -+ } -+ else { -+ warning = true; -+ -+ cerr << argv[0] << ": " << filenames[i] << ": " -+ << "doesn't exist or is not a regular file" -+ << endl; -+ -+ continue; -+ } -+ } -+ -+ // Test if the file already ends with *suffix. -+ if (program_mode == PM_COMPRESS && !force -+ && string_ends_with(filenames[i], -+ suffix)) { -+ warning = true; -+ -+ cerr << filenames[i] << " already has " -+ << suffix << " suffix -- unchanged\n"; -+ -+ continue; -+ } -+ -+ // Test if the file extension is known. -+ if (program_mode == PM_DECOMPRESS -+ && !extension_is_known(filenames[i])) { -+ warning = true; -+ -+ cerr << filenames[i] << ": " -+ << " unknown suffix -- unchanged" -+ << endl; -+ -+ continue; -+ } -+ -+ try { -+ inhandle = open_instream(filenames[i], inStream, fileSize); -+ } -+ catch (Exception e) { -+ cerr << argv[0] << ": " << e.what() << endl; -+ return STATUS_ERROR; -+ } -+ -+ if (stdoutput) { -+ outStream = new CStdOutFileStream; -+ MY_SET_BINARY_MODE(stdout); -+ -+ outhandle = STDOUT_FILENO; -+ } -+ else { -+ /* Testing mode is nothing else but decoding -+ * and throwing away the result. */ -+ if (program_mode == PM_TEST) -+ output_filename = "/dev/null"; -+ else if (program_mode == PM_DECOMPRESS) -+ output_filename = replace_extension(filenames[i]); -+ else -+ output_filename = filenames[i] -+ + suffix; -+ archive_name = output_filename; -+ -+ try { -+ outhandle = open_outstream(output_filename, outStream); -+ } -+ catch (Exception e) { -+ cerr << argv[0] << ": " << e.what() << endl; -+ return STATUS_ERROR; -+ } -+ } -+ -+ } -+ -+ // Unless --force is specified, do not read/write compressed -+ // data from/to a terminal. -+ if (!force) { -+ if (program_mode == PM_COMPRESS && isatty(outhandle)) { -+ cerr << argv[0] << ": compressed data not " -+ "written to a terminal. Use " -+ "-f to force compression.\n" -+ << argv[0] << ": For help, type: " -+ << argv[0] << " -h\n"; -+ return STATUS_ERROR; -+ } else if (program_mode == PM_DECOMPRESS -+ && isatty(inhandle)) { -+ cerr << argv[0] << ": compressed data not " -+ "read from a terminal. Use " -+ "-f to force decompression.\n" -+ << argv[0] << ": For help, type: " -+ << argv[0] << " -h\n"; -+ return STATUS_ERROR; -+ } -+ } -+ -+ if (program_mode == PM_COMPRESS) { -+ NCompress::NLzma::CEncoder *encoderSpec = -+ new NCompress::NLzma::CEncoder; -+ -+ lzma_option options = option_mapping[compression_mode]; -+ -+ try { -+ encode(encoderSpec, inStream, outStream, options, fileSize); -+ } -+ catch (Exception e) { -+ cerr << argv[0] << ": " << e.what() << endl; -+ unlink(output_filename.c_str()); -+ delete(encoderSpec); -+ -+ return STATUS_ERROR; -+ } -+ -+ delete(encoderSpec); -+ } -+ else { // PM_DECOMPRESS | PM_TEST -+ NCompress::NLzma::CDecoder *decoderSpec = -+ new NCompress::NLzma::CDecoder; -+ -+ try { -+ decode(decoderSpec, inStream, outStream); -+ } -+ catch (Exception e) { -+ cerr << argv[0] << ": " << e.what() << endl; -+ unlink(output_filename.c_str()); -+ delete(decoderSpec); -+ -+ return STATUS_ERROR; -+ } -+ -+ delete(decoderSpec); -+ } -+ -+ /* Set permissions and owners. */ -+ if ( (program_mode == PM_COMPRESS || program_mode == PM_DECOMPRESS ) -+ && (!stdinput && !stdoutput) ) { -+ -+ int ret = 0; -+ struct stat file_stats; -+ ret = fstat(inhandle, &file_stats); -+ -+ ret = fchmod(outhandle, file_stats.st_mode); -+ ret = fchown(outhandle, file_stats.st_uid, file_stats.st_gid); -+ // We need to call fchmod() again, since otherwise the SUID bits -+ // are lost. -+ ret = fchmod(outhandle, file_stats.st_mode); -+ -+ struct timeval file_times[2]; -+ // Access time -+ file_times[0].tv_sec = file_stats.st_atime; -+ file_times[0].tv_usec = 0; -+ // Modification time -+ file_times[1].tv_sec = file_stats.st_mtime; -+ file_times[1].tv_usec = 0; -+ -+ ret = futimes(outhandle, file_times); -+ -+ if (!keep) -+ unlink(filenames[i].c_str()); -+ } -+ -+ if (verbosity > 0) { -+ if (stdoutput) { -+ cerr << filenames[i] << ":\t "; -+ cerr << "decoded succesfully" -+ << endl; -+ } -+ -+ else { -+ char buf[10] = { 0 }; -+ -+ if (program_mode == PM_DECOMPRESS) -+ snprintf(buf, 10, "%.2f%%", -+ (1 - get_ratio(outhandle, inhandle)) * 100); -+ if (program_mode == PM_COMPRESS) -+ snprintf(buf, 10, "%.2f%%", -+ (1 - get_ratio(inhandle, outhandle)) * 100); -+ -+ string ratio = buf; -+ cerr << pretty_print_status(filenames[i], output_filename, -+ ratio) -+ << endl; -+ } -+ } -+ } -+ -+ if (warning) -+ return STATUS_WARNING; -+ -+ return STATUS_OK; -+} -+ -Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/Exception.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/Exception.h 2009-06-01 22:01:10.000000000 +0200 -@@ -0,0 +1,45 @@ -+/* A couple of exceptions for lzmp. -+ * -+ * Copyright (C) 2005 Ville Koskinen -+ * -+ * 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. -+ */ -+ -+#ifndef _EXCEPTION_H_ -+#define _EXCEPTION_H_ -+ -+#include <string> -+using std::string; -+ -+class Exception -+{ -+private: -+ string message; -+public: -+ Exception(char *what): message(what) { } -+ Exception(string what): message(what) { } -+ -+ ~Exception() { } -+ -+ string what(void) { return message; } -+}; -+ -+class ArgumentException: public Exception -+{ -+public: -+ ArgumentException(char *what): Exception(what) { } -+ ArgumentException(string what): Exception(what) { } -+ -+ ~ArgumentException() { } -+}; -+ -+#endif -+ -Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc -=================================================================== ---- lzma-4.65.orig/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-06-01 22:00:54.000000000 +0200 -+++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-06-01 22:06:13.000000000 +0200 -@@ -1,9 +1,10 @@ --PROG = lzma -+PROG = lzma_alone -+PROG2 = lzma - CXX = g++ -O2 -Wall - CXX_C = gcc -O2 -Wall - LIB = -lm - RM = rm -f --CFLAGS = -c -D_FILE_OFFSET_BITS=64 -+CFLAGS = -c -I ../../../ -D_FILE_OFFSET_BITS=64 -DPACKAGE_VERSION="\"4.32.0beta3\"" - - ifdef SystemDrive - IS_MINGW = 1 -@@ -45,12 +46,35 @@ - Lzma86Dec.o \ - Lzma86Enc.o \ - -+OBJS2 = \ -+ C_FileIO.o \ -+ CRC.o \ -+ Alloc.o \ -+ FileStreams.o \ -+ StreamUtils.o \ -+ InBuffer.o \ -+ OutBuffer.o \ -+ LzmaDecoder.o \ -+ StringConvert.o \ -+ StringToInt.o \ -+ LzmaEncoder.o \ -+ LzmaDec.o \ -+ LzmaEnc.o \ -+ LzFind.o \ -+ 7zCrc.o \ -+ lzmp.o - --all: $(PROG) -+all: $(PROG) $(PROG2) - - $(PROG): $(OBJS) - $(CXX) -o $(PROG) $(LDFLAGS) $(OBJS) $(LIB) $(LIB2) - -+$(PROG2): $(OBJS2) -+ $(CXX) -o $(PROG2) $(LDFLAGS) $(OBJS2) $(LIB) -+ -+lzmp.o: lzmp.cpp -+ $(CXX) $(CFLAGS) lzmp.cpp -+ - LzmaAlone.o: LzmaAlone.cpp - $(CXX) $(CFLAGS) LzmaAlone.cpp - -@@ -131,5 +153,5 @@ - $(CXX_C) $(CFLAGS) ../../../../C/LzmaUtil/Lzma86Enc.c - - clean: -- -$(RM) $(PROG) $(OBJS) -+ -$(RM) $(PROG) $(PROG2) $(OBJS) - -Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzma_version.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzma_version.h 2009-06-01 22:01:10.000000000 +0200 -@@ -0,0 +1,31 @@ -+#ifndef LZMA_VERSION_H -+#define LZMA_VERSION_H -+ -+/* -+ Version and copyright information used by LZMA utils. -+*/ -+ -+static const char *LZMA_SDK_VERSION_STRING = "4.43"; -+ -+static const char *LZMA_SDK_COPYRIGHT_STRING = -+ "Copyright (C) 1999-2006 Igor Pavlov"; -+ -+static const char *LZMA_SDK_COPYRIGHT_INFO = -+ " See http://7-zip.org/sdk.html or the documentation of LZMA SDK for\n" -+ " the license. For reference, the version 4.43 is free software\n" -+ " licensed under the GNU LGPL."; -+ -+ -+static const char *LZMA_UTILS_VERSION_STRING = PACKAGE_VERSION; -+ -+static const char *LZMA_UTILS_COPYRIGHT_STRING = -+ "Copyright (C) 2006 Lasse Collin"; -+ -+static const char *LZMA_UTILS_COPYRIGHT_INFO = -+ "This program comes with ABSOLUTELY NO WARRANTY.\n" -+ "You may redistribute copies of this program\n" -+ "under the terms of the GNU General Public License.\n" -+ "For more information about these matters, see the file " -+ "named COPYING.\n"; -+ -+#endif /* ifndef LZMA_VERSION_H */ -Index: lzma-4.65/CPP/Common/C_FileIO.h -=================================================================== ---- lzma-4.65.orig/CPP/Common/C_FileIO.h 2009-05-15 23:33:51.000000000 +0200 -+++ lzma-4.65/CPP/Common/C_FileIO.h 2009-06-01 22:06:56.000000000 +0200 -@@ -24,6 +24,7 @@ - bool Close(); - bool GetLength(UInt64 &length) const; - off_t Seek(off_t distanceToMove, int moveMethod) const; -+ int GetHandle() const { return _handle; } - }; - - class CInFile: public CFileBase diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/003-compile_fixes.patch b/meta-oe/recipes-support/lzma/lzma-4.65/003-compile_fixes.patch deleted file mode 100644 index 49ae66b9c4..0000000000 --- a/meta-oe/recipes-support/lzma/lzma-4.65/003-compile_fixes.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -urN lzma-4.65/CPP/7zip/Common/FileStreams.h lzma-4.65.new/CPP/7zip/Common/FileStreams.h ---- lzma-4.65/CPP/7zip/Common/FileStreams.h 2009-05-15 23:33:51.000000000 +0200 -+++ lzma-4.65.new/CPP/7zip/Common/FileStreams.h 2009-06-01 22:30:01.000000000 +0200 -@@ -72,6 +72,7 @@ - public IOutStream, - public CMyUnknownImp - { -+public: - #ifdef USE_WIN_FILE - NWindows::NFile::NIO::COutFile File; - #else -diff -urN lzma-4.65/CPP/Common/MyWindows.h lzma-4.65.new/CPP/Common/MyWindows.h ---- lzma-4.65/CPP/Common/MyWindows.h 2009-05-15 23:33:51.000000000 +0200 -+++ lzma-4.65.new/CPP/Common/MyWindows.h 2009-06-01 22:29:26.000000000 +0200 -@@ -101,8 +101,11 @@ - - #ifdef __cplusplus - -+#ifndef INITGUID -+#define INITGUID - DEFINE_GUID(IID_IUnknown, - 0x00000000, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46); -+#endif - struct IUnknown - { - STDMETHOD(QueryInterface) (REFIID iid, void **outObject) PURE; diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/100-static_library.patch b/meta-oe/recipes-support/lzma/lzma-4.65/100-static_library.patch deleted file mode 100644 index 15ab4e0552..0000000000 --- a/meta-oe/recipes-support/lzma/lzma-4.65/100-static_library.patch +++ /dev/null @@ -1,70 +0,0 @@ ---- a/C/LzmaUtil/makefile.gcc -+++ b/C/LzmaUtil/makefile.gcc -@@ -1,44 +1,53 @@ - PROG = lzma --CXX = g++ --LIB = -+CC = gcc -+LIB = liblzma.a - RM = rm -f - CFLAGS = -c -O2 -Wall -+AR = ar -+RANLIB = ranlib - - OBJS = \ -- LzmaUtil.o \ - Alloc.o \ - LzFind.o \ - LzmaDec.o \ - LzmaEnc.o \ -+ LzmaLib.o \ - 7zFile.o \ - 7zStream.o \ - -- - all: $(PROG) - --$(PROG): $(OBJS) -- $(CXX) -o $(PROG) $(LDFLAGS) $(OBJS) $(LIB) $(LIB2) -+$(PROG): LzmaUtil.o $(LIB) -+ $(CC) -o $(PROG) $(LDFLAGS) $< $(LIB) - - LzmaUtil.o: LzmaUtil.c -- $(CXX) $(CFLAGS) LzmaUtil.c -+ $(CC) $(CFLAGS) LzmaUtil.c -+ -+$(LIB): $(OBJS) -+ rm -f $@ -+ $(AR) rcu $@ $(OBJS) -+ $(RANLIB) $@ - - Alloc.o: ../Alloc.c -- $(CXX) $(CFLAGS) ../Alloc.c -+ $(CC) $(CFLAGS) ../Alloc.c - - LzFind.o: ../LzFind.c -- $(CXX) $(CFLAGS) ../LzFind.c -+ $(CC) $(CFLAGS) ../LzFind.c - - LzmaDec.o: ../LzmaDec.c -- $(CXX) $(CFLAGS) ../LzmaDec.c -+ $(CC) $(CFLAGS) ../LzmaDec.c - - LzmaEnc.o: ../LzmaEnc.c -- $(CXX) $(CFLAGS) ../LzmaEnc.c -+ $(CC) $(CFLAGS) ../LzmaEnc.c -+ -+LzmaLib.o: ../LzmaLib.c -+ $(CC) $(CFLAGS) ../LzmaLib.c - - 7zFile.o: ../7zFile.c -- $(CXX) $(CFLAGS) ../7zFile.c -+ $(CC) $(CFLAGS) ../7zFile.c - - 7zStream.o: ../7zStream.c -- $(CXX) $(CFLAGS) ../7zStream.c -+ $(CC) $(CFLAGS) ../7zStream.c - - clean: -- -$(RM) $(PROG) $(OBJS) -+ -$(RM) $(PROG) *.o *.a diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/makefile-cleanup.patch b/meta-oe/recipes-support/lzma/lzma-4.65/makefile-cleanup.patch deleted file mode 100644 index ccca4d9e83..0000000000 --- a/meta-oe/recipes-support/lzma/lzma-4.65/makefile-cleanup.patch +++ /dev/null @@ -1,18 +0,0 @@ -Index: lzma-4.65/C/LzmaUtil/makefile.gcc -=================================================================== ---- lzma-4.65.orig/C/LzmaUtil/makefile.gcc -+++ lzma-4.65/C/LzmaUtil/makefile.gcc -@@ -1,10 +1,10 @@ - PROG = lzma --CC = gcc -+CC ?= gcc - LIB = liblzma.a - RM = rm -f - CFLAGS = -c -O2 -Wall --AR = ar --RANLIB = ranlib -+AR ?= ar -+RANLIB ?= ranlib - - OBJS = \ - Alloc.o \ diff --git a/meta-oe/recipes-support/lzma/lzma.inc b/meta-oe/recipes-support/lzma/lzma.inc deleted file mode 100644 index 912d281187..0000000000 --- a/meta-oe/recipes-support/lzma/lzma.inc +++ /dev/null @@ -1,35 +0,0 @@ -DESCRIPTION = "LZMA is a general compression method. LZMA provides high compression ratio and very fast decompression." -HOMEPAGE = "http://www.7-zip.org/" -LICENSE = "LGPL" -LIC_FILES_CHKSUM = "file://lzma.txt;md5=20251cdc2e3793cceab11878d0aa11b1" -INC_PR = "r7" - -SRC_URI = "http://downloads.sourceforge.net/sevenzip/lzma${@d.getVar('PV',1).replace('.','')}.tar.bz2;subdir=${BPN}-${PV} \ - file://001-large_files.patch \ - file://002-lzmp.patch \ - file://003-compile_fixes.patch \ - file://100-static_library.patch \ - file://makefile-cleanup.patch" - -EXTRA_OEMAKE = "-f makefile.gcc" - -do_unpack_append() { - import subprocess - # Replace MS-DOS line-endings with Unix style line-endings - subprocess.call("find . -type f -print0 | xargs -0 sed 's/\r$//' -i", - cwd=d.getVar("S", True), shell=True) -} - -do_compile() { - oe_runmake CFLAGS='${CFLAGS} -c' -C C/LzmaUtil - oe_runmake CXX_C='${CC} ${CFLAGS}' CXX='${CXX} ${CXXFLAGS}' \ - -C CPP/7zip/Compress/LZMA_Alone -} - -do_install() { - install -d ${D}${bindir} ${D}${libdir} - install -m 0755 CPP/7zip/Compress/LZMA_Alone/lzma ${D}${bindir} - oe_libinstall -a -C C/LzmaUtil liblzma ${D}${libdir} -} - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/lzma/lzma_4.65.bb b/meta-oe/recipes-support/lzma/lzma_4.65.bb deleted file mode 100644 index 5295cd9a92..0000000000 --- a/meta-oe/recipes-support/lzma/lzma_4.65.bb +++ /dev/null @@ -1,5 +0,0 @@ -require lzma.inc -PR = "${INC_PR}.1" - -SRC_URI[md5sum] = "29d5ffd03a5a3e51aef6a74e9eafb759" -SRC_URI[sha256sum] = "c935fd04dd8e0e8c688a3078f3675d699679a90be81c12686837e0880aa0fa1e" diff --git a/meta-oe/recipes-support/mailcap/mailcap_2.1.43.bb b/meta-oe/recipes-support/mailcap/mailcap_2.1.43.bb new file mode 100644 index 0000000000..95d7d1107e --- /dev/null +++ b/meta-oe/recipes-support/mailcap/mailcap_2.1.43.bb @@ -0,0 +1,23 @@ +SUMMARY = "Helper application and MIME type associations for file types" +DESCRIPTION = "The mailcap file is used by the metamail program. Metamail reads the \ +mailcap file to determine how it should display non-text or multimedia \ +material. Basically, mailcap associates a particular type of file \ +with a particular program that a mail agent or other program can call \ +in order to handle the file. Mailcap should be installed to allow \ +certain programs to be able to handle non-text files. \ +\ +Also included in this package is the mime.types file which contains a \ +list of MIME types and their filename extension associations, used \ +by several applications e.g. to determine MIME types for filenames." + +SECTION = "System Environment/Base" + +SRC_URI = "https://git.fedorahosted.org/cgit/${PN}.git/snapshot/r2-1-43.tar.gz" +SRC_URI[md5sum] = "8fd185ffae710301de3bc297877a404b" +SRC_URI[sha256sum] = "a630892b5fe59eb9e3bef30c597de1c2b7f35243dea4b0c995fd482aa20c2d6b" +LICENSE = "PD & MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=100fcfb84512ccc03ffc7d89ac391305" +S = "${WORKDIR}/r2-1-43" +do_install() { + oe_runmake install DESTDIR=${D} sysconfdir=${sysconfdir} mandir=${mandir} +} diff --git a/meta-oe/recipes-support/maliit/maliit-framework_git.bb b/meta-oe/recipes-support/maliit/maliit-framework_git.bb index f387ce26b1..3eb7f30dfc 100644 --- a/meta-oe/recipes-support/maliit/maliit-framework_git.bb +++ b/meta-oe/recipes-support/maliit/maliit-framework_git.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=5c917f6ce94ceb8d8d5e16e2fca5b9ad" inherit autotools qt4x11 gtk-immodules-cache -PNBLACKLIST[maliit-framework] = "BROKEN: Wasn't updated to work with B!=S, maybe incorrectly inherits autotools" +PNBLACKLIST[maliit-framework] ?= "BROKEN: Wasn't updated to work with B!=S, maybe incorrectly inherits autotools" DEPENDS = "libxcomposite dbus gtk+3 gtk+" diff --git a/meta-oe/recipes-support/maliit/maliit-plugins_git.bb b/meta-oe/recipes-support/maliit/maliit-plugins_git.bb index 0fa8ac25ef..3c040d87a7 100644 --- a/meta-oe/recipes-support/maliit/maliit-plugins_git.bb +++ b/meta-oe/recipes-support/maliit/maliit-plugins_git.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=f29b21caa8e460097bfad9c026a33621" inherit autotools qt4x11 -PNBLACKLIST[maliit-plugins] = "BROKEN: depends on broken maliit-framework" +PNBLACKLIST[maliit-plugins] ?= "BROKEN: depends on broken maliit-framework" DEPENDS = "maliit-framework" diff --git a/meta-oe/recipes-support/mcelog/mcelog_1.04.bb b/meta-oe/recipes-support/mcelog/mcelog_1.04.bb new file mode 100644 index 0000000000..ceadf7a0a7 --- /dev/null +++ b/meta-oe/recipes-support/mcelog/mcelog_1.04.bb @@ -0,0 +1,28 @@ +SUMMARY = "mcelog daemon accounts memory and some other errors in various ways." +DESCRIPTION = "mcelog is required by both 32bit x86 Linux kernels (since 2.6.30) \ +and 64bit Linux kernels (since early 2.6 kernel releases) to log machine checks \ +and should run on all Linux systems that need error handling." +HOMEPAGE = "http://mcelog.org/" +SECTION = "System Environment/Base" +DEPENDS += "bash" +SRC_URI = "git://git.kernel.org/pub/scm/utils/cpu/mce/mcelog.git" +SRC_URI[md5sum] = "a06761ad5fed8596238b5a5ea76ed662" +SRC_URI[sha256sum] = "519390825ec5a0545a7ed48717ef7c7480bb8b9bce68d63a58a52f4e4e275e0f" +SRCREV = "9de4924e751346df6e2d40ae1007b40ea1915e2b" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://README;md5=3eb76ca64fa07ad53ebb0ebb5b4c8ede" + +S = "${WORKDIR}/git" + +do_install() { + install -d ${D}/${sbindir} + install -m 0755 ${S}/mcelog ${D}/${sbindir} + install -d ${D}/${mandir}/man8 + install -m 0644 ${S}/mcelog.8 ${D}/${mandir}/man8/ + install -d ${D}/etc/cron.hourly + install -m 0755 ${S}/mcelog.cron ${D}/etc/cron.hourly/ +} + +COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux' + +RDEPENDS_${PN} = "bash" diff --git a/meta-oe/recipes-support/mime-support/mime-support_3.48.bb b/meta-oe/recipes-support/mime-support/mime-support_3.48.bb index a4628c1f6c..7f8b40a48b 100644 --- a/meta-oe/recipes-support/mime-support/mime-support_3.48.bb +++ b/meta-oe/recipes-support/mime-support/mime-support_3.48.bb @@ -4,6 +4,7 @@ LICENSE = "PD" LIC_FILES_CHKSUM = "file://debian/README;md5=36bbe2ace0a05c3fb684b73208fbf30b" DEPENDS = "file" +RDEPENDS_${PN} = "perl" RRECOMMENDS_${PN} = "file" SRC_URI = "${DEBIAN_MIRROR}/main/m/mime-support/mime-support_${PV}-1.tar.gz" diff --git a/meta-oe/recipes-support/mongodb/mongodb_git.bb b/meta-oe/recipes-support/mongodb/mongodb_git.bb index 2701c4cfca..879fc7c9ed 100644 --- a/meta-oe/recipes-support/mongodb/mongodb_git.bb +++ b/meta-oe/recipes-support/mongodb/mongodb_git.bb @@ -9,6 +9,13 @@ DEPENDS_append_x86-64 = " gperftools" inherit scons +# Target 'build/linux2/disable-scripting/ld_arm-oe-linux-gnueabi-g++/ssl/use-system-boost/use-system-pcre/use-system-tcmalloc/mongo/mongod' depends on the availability of a system provided library for 'boost_program_options', but no suitable library was found during configuration. +# | Target 'build/linux2/disable-scripting/ld_arm-oe-linux-gnueabi-g++/ssl/use-system-boost/use-system-pcre/use-system-tcmalloc/mongo/mongod' depends on the availability of a system provided library for 'boost_program_options', but no suitable library was found during configuration. +# | scons: *** [build/linux2/disable-scripting/ld_arm-oe-linux-gnueabi-g++/ssl/use-system-boost/use-system-pcre/use-system-tcmalloc/mongo/mongod] Error 1 +# | scons: building terminated because of errors. +# | ERROR: scons build execution failed. +PNBLACKLIST[mongodb] ?= "Fails to build with system boost" + PV = "2.6.0+git${SRCPV}" SRCREV = "be1905c24c7e5ea258e537fbf0d2c502c4fc6de2" SRC_URI = "git://github.com/mongodb/mongo.git;branch=v2.6 \ diff --git a/meta-oe/recipes-support/mysql/mariadb-native_5.5.39.bb b/meta-oe/recipes-support/mysql/mariadb-native_5.5.41.bb index 9148deefc8..4ce960d7da 100644 --- a/meta-oe/recipes-support/mysql/mariadb-native_5.5.39.bb +++ b/meta-oe/recipes-support/mysql/mariadb-native_5.5.41.bb @@ -1,8 +1,8 @@ -require mariadb_${PV}.inc +require mariadb.inc inherit native PROVIDES += "mysql5-native" -DEPENDS = "ncurses-native zlib-native" +DEPENDS = "ncurses-native zlib-native bison-native" RDEPENDS_${PN} = "" PACKAGES = "" diff --git a/meta-oe/recipes-support/mysql/mariadb_5.5.39.inc b/meta-oe/recipes-support/mysql/mariadb.inc index ae2e92b5d1..f385bfcda5 100644 --- a/meta-oe/recipes-support/mysql/mariadb_5.5.39.inc +++ b/meta-oe/recipes-support/mysql/mariadb.inc @@ -10,10 +10,11 @@ SRC_URI = "http://mirror.stshosting.co.uk/mariadb/mariadb-${PV}/source/mariadb-$ file://fix-mysqlclient-r-version.patch \ file://my.cnf \ file://mysqld.service \ + file://configure.cmake-fix-valgrind.patch \ " -SRC_URI[md5sum] = "917a807d8cf2c8ef9deedd2a89b6decd" -SRC_URI[sha256sum] = "cb850865ab55ce5f01c99a612cc75b76ead5d75adfa75a606f453d32f9089d14" +SRC_URI[md5sum] = "d2415efc6a6d73d7a58f3c79bb42f2e8" +SRC_URI[sha256sum] = "a16dc62e4bcabecd5c483f2f8b657483a8c51934e7be5ad4ab21b8baea1f5332" S = "${WORKDIR}/mariadb-${PV}" @@ -31,13 +32,15 @@ GROUPADD_PARAM_${PN}-server = "--system mysql" SYSTEMD_PACKAGES = "${PN}-server" SYSTEMD_SERVICE_${PN}-server = "mysqld.service" -SYSTEMD_AUTO_ENABLE_mariadb-server = "disable" +SYSTEMD_AUTO_ENABLE_${PN}-server = "disable" EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'" PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" PACKAGECONFIG_class-native = "" PACKAGECONFIG[pam] = ",-DWITHOUT_AUTH_PAM=TRUE,libpam" +PACKAGECONFIG[valgrind] = "-DWITH_VALGRIND=TRUE,-DWITHOUT_VALGRIND=TRUE,valgrind" +PACKAGECONFIG[libedit] = "-DLIBEDIT_INTERFACE=TRUE,-DLIBEDIT_INTERFACE=FALSE,libedit" # MariaDB doesn't link properly with gold # https://mariadb.atlassian.net/browse/MDEV-5982 @@ -125,13 +128,16 @@ pkg_postinst_${PN}-server () { mysql_install_db --basedir=${prefix} --user=mysql + [ -x /sbin/restorecon ] && /sbin/restorecon -RF /var/lib/mysql } PACKAGES = "${PN}-dbg ${PN} \ libmysqlclient-r libmysqlclient-r-dev libmysqlclient-r-staticdev libmysqlclient-r-dbg \ libmysqlclient libmysqlclient-dev libmysqlclient-staticdev libmysqlclient-dbg \ libmysqld libmysqld-dev ${PN}-client ${PN}-server ${PN}-leftovers" -CONFFILES_${PN}-server += "${sysconfdir}/my.cnf" +CONFFILES_${PN}-server += "${sysconfdir}/my.cnf ${sysconfdir}/my.cnf.d/server.cnf" +CONFFILES_${PN}-client += "${sysconfdir}/my.cnf.d/mysql-clients.cnf" +CONFFILES_libmysqlclient += "${sysconfdir}/my.cnf.d/client.cnf" FILES_${PN} = " " RDEPENDS_${PN} = "${PN}-client ${PN}-server" @@ -142,7 +148,8 @@ RDEPENDS_${PN}-client = "perl perl-module-getopt-long perl-module-file-temp \ perl-module-exporter" RDEPENDS_${PN}-server = "perl perl-module-getopt-long perl-module-data-dumper \ perl-module-file-basename perl-module-file-path perl-module-sys-hostname \ - perl-module-file-copy perl-module-file-temp perl-module-posix" + perl-module-file-copy perl-module-file-temp perl-module-posix \ + ${PN}-client" RDEPENDS_${PN}-leftovers = "perl perl-module-cwd perl-module-benchmark perl-module-getopt-long \ perl-module-posix perl-module-data-dumper perl-module-sigtrap perl-module-threads \ perl-module-threads-shared perl-module-io-socket perl-module-sys-hostname perl-module-file-copy \ @@ -151,7 +158,8 @@ RDEPENDS_${PN}-leftovers = "perl perl-module-cwd perl-module-benchmark perl-modu perl-module-io-socket-inet perl-module-io-select" FILES_libmysqlclient = "\ - ${libdir}/libmysqlclient.so.*" + ${libdir}/libmysqlclient.so.* \ + ${sysconfdir}/my.cnf.d/client.cnf" FILES_libmysqlclient-dev = " \ ${includedir}/mysql/ \ ${libdir}/libmysqlclient.so \ @@ -196,7 +204,8 @@ FILES_${PN}-client = "\ ${bindir}/mysqlshow \ ${bindir}/mysqlslap \ ${bindir}/mysqltest_embedded \ - ${libexecdir}/mysqlmanager" + ${libexecdir}/mysqlmanager \ + ${sysconfdir}/my.cnf.d/mysql-clients.cnf" FILES_${PN}-server = "\ ${bindir}/comp_err \ @@ -246,6 +255,7 @@ FILES_${PN}-server = "\ ${localstatedir}/mysql/ \ ${sysconfdir}/init.d \ ${sysconfdir}/my.cnf \ + ${sysconfdir}/my.cnf.d/server.cnf \ ${sysconfdir}/tmpfiles.d" DESCRIPTION_${PN}-leftovers = "unpackaged and probably unneeded files for ${PN}" diff --git a/meta-oe/recipes-support/mysql/mariadb/configure.cmake-fix-valgrind.patch b/meta-oe/recipes-support/mysql/mariadb/configure.cmake-fix-valgrind.patch new file mode 100644 index 0000000000..e97def6021 --- /dev/null +++ b/meta-oe/recipes-support/mysql/mariadb/configure.cmake-fix-valgrind.patch @@ -0,0 +1,41 @@ +From 5effba0d7d47071a3f1bca56823190d5a95bb1a6 Mon Sep 17 00:00:00 2001 +From: Jackie Huang <jackie.huang@windriver.com> +Date: Wed, 12 Nov 2014 03:09:10 -0500 +Subject: [PATCH] configure.cmake: fix valgrind + +Check valgrind headers only if WITH_VALGRIND is set. + +mariadb uses two macros for valgrind compilations: +HAVE_valgrind - valgrind is installed and can be set by configure option -DWITH_VALGRIND +HAVE_VALGRIND - valgrind debug libraries is installed, set by auto check + +We would like to set them both by the configure option so that we can use +PACKAGECONFIG to decide if valgrind is needed or not. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + configure.cmake | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.cmake b/configure.cmake +index 0bd7bbe..51a098f 100644 +--- a/configure.cmake ++++ b/configure.cmake +@@ -1047,10 +1047,10 @@ MARK_AS_ADVANCED(WITH_ATOMIC_LOCKS MY_ATOMIC_MODE_RWLOCK MY_ATOMIC_MODE_DUMMY) + + IF(WITH_VALGRIND) + SET(HAVE_valgrind 1) ++ CHECK_INCLUDE_FILES("valgrind/memcheck.h;valgrind/valgrind.h" ++ HAVE_VALGRIND) + ENDIF() + +-CHECK_INCLUDE_FILES("valgrind/memcheck.h;valgrind/valgrind.h" +- HAVE_VALGRIND) + + #-------------------------------------------------------------------- + # Check for IPv6 support +-- +2.0.0 + diff --git a/meta-oe/recipes-support/mysql/mariadb/my.cnf b/meta-oe/recipes-support/mysql/mariadb/my.cnf index f2c9b9036f..28d389922b 100644 --- a/meta-oe/recipes-support/mysql/mariadb/my.cnf +++ b/meta-oe/recipes-support/mysql/mariadb/my.cnf @@ -1,7 +1,7 @@ [client] #password = password port = 3306 -socket = /tmp/mysql.sock +socket = /var/lib/mysql/mysql.sock [mysqld_safe] err-log = /var/log/mysql.err @@ -9,14 +9,18 @@ err-log = /var/log/mysql.err [mysqld] user = mysql port = 3306 -socket = /tmp/mysql.sock +socket = /var/lib/mysql/mysql.sock pid-file = /var/lib/mysql/mysqld.pid log-error = /var/log/mysqld.err basedir = /usr -datadir = /var/mysql +datadir = /var/lib/mysql skip-external-locking skip-networking ignore-builtin-innodb default-storage-engine = myisam bind-address = localhost +# +# include all files from the config directory +# +!includedir /etc/my.cnf.d diff --git a/meta-oe/recipes-support/mysql/mariadb/mysqld.service b/meta-oe/recipes-support/mysql/mariadb/mysqld.service index 18ad8d54d7..757d0386c3 100644 --- a/meta-oe/recipes-support/mysql/mariadb/mysqld.service +++ b/meta-oe/recipes-support/mysql/mariadb/mysqld.service @@ -4,6 +4,7 @@ After=syslog.target After=network.target [Service] +PIDFile=/var/lib/mysql/mysqld.pid Type=simple User=mysql Group=mysql diff --git a/meta-oe/recipes-support/mysql/mariadb_5.5.39.bb b/meta-oe/recipes-support/mysql/mariadb_5.5.41.bb index fee5b6297d..8f998a3a56 100644 --- a/meta-oe/recipes-support/mysql/mariadb_5.5.39.bb +++ b/meta-oe/recipes-support/mysql/mariadb_5.5.41.bb @@ -1,8 +1,8 @@ -require ${PN}_${PV}.inc +require mariadb.inc EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1" -DEPENDS += "mariadb-native ncurses zlib readline libaio" +DEPENDS += "mariadb-native ncurses zlib readline libaio libevent" PROVIDES += "mysql5" @@ -25,4 +25,3 @@ RCONFLICTS_${PN}-client += "mysql5-client" RPROVIDES_${PN}-server += "mysql5-server" RREPLACES_${PN}-server += "mysql5-server" RCONFLICTS_${PN}-server += "mysql5-server" - diff --git a/meta-oe/recipes-support/nonworking/fftw/benchfft_3.1.bb b/meta-oe/recipes-support/nonworking/fftw/benchfft_3.1.bb index 5da4561680..feb3c3c25d 100644 --- a/meta-oe/recipes-support/nonworking/fftw/benchfft_3.1.bb +++ b/meta-oe/recipes-support/nonworking/fftw/benchfft_3.1.bb @@ -3,7 +3,7 @@ SECTION = "libs" LICENSE = "GPLv2" # single precision fftw is called fftwf -DEPENDS = "fftwf" +DEPENDS = "virtual/fftw" SRC_URI = "http://www.fftw.org/benchfft/benchfft-${PV}.tar.gz" diff --git a/meta-oe/recipes-support/openct/openct/etc-openct.udev.in-disablePROGRAM.patch b/meta-oe/recipes-support/openct/openct/etc-openct.udev.in-disablePROGRAM.patch new file mode 100644 index 0000000000..745f923af1 --- /dev/null +++ b/meta-oe/recipes-support/openct/openct/etc-openct.udev.in-disablePROGRAM.patch @@ -0,0 +1,31 @@ +From e0d3e0bb1e38ff851696a7d8826e651d364ad8ce Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Fri, 5 Dec 2014 02:00:57 +0900 +Subject: [PATCH 1/2] etc/openct.udev.in: disablePROGRAM + +Bug fix: https://bugzilla.redhat.com/show_bug.cgi?id=287871 + +Upstream-status: Pending + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + etc/openct.udev.in | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/etc/openct.udev.in b/etc/openct.udev.in +index d11d0e1..48083c9 100644 +--- a/etc/openct.udev.in ++++ b/etc/openct.udev.in +@@ -22,7 +22,8 @@ ACTION!="add", GOTO="openct_usb_rules_end" + # 2010-01-06 removed, as latest udev doesn't know WAIT_FOR_ATTR any more. + + # sleep for 100ms - the wait_for_sysfs might not be enough +-PROGRAM="/bin/sleep 0.1" ++# Disabled in this package - see https://bugzilla.redhat.com/287871 ++# PROGRAM="/bin/sleep 0.1" + + # ccid + ATTR{bInterfaceClass}=="0b", ATTR{bInterfaceSubClass}=="00", ATTR{bInterfaceProtocol}=="00", ATTRS{idVendor}=="?*" RUN+="@udevdir@/openct_usb /dev/$parent" +-- +1.8.4.2 + diff --git a/meta-oe/recipes-support/openct/openct/etc-openct_usb.in-modify-UDEVINFO.patch b/meta-oe/recipes-support/openct/openct/etc-openct_usb.in-modify-UDEVINFO.patch new file mode 100644 index 0000000000..d5e3fe5753 --- /dev/null +++ b/meta-oe/recipes-support/openct/openct/etc-openct_usb.in-modify-UDEVINFO.patch @@ -0,0 +1,35 @@ +From d93985a137b553b2723235d03bda341dab14064f Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Fri, 5 Dec 2014 02:04:03 +0900 +Subject: [PATCH 2/2] etc/openct_usb.in: modify UDEVINFO + +this patch is from Fedora + +Upstream-status: Pending + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + etc/openct_usb.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/etc/openct_usb.in b/etc/openct_usb.in +index 32f91aa..917467d 100644 +--- a/etc/openct_usb.in ++++ b/etc/openct_usb.in +@@ -15,10 +15,10 @@ if [ -z "$DEVNAME" ]; then + # Guess udev info interface. + # Newer udev uses udevadm + # +- if which udevinfo > /dev/null 2>&1; then +- UDEVINFO="udevinfo" +- else ++ if which udevadm > /dev/null 2>&1; then + UDEVINFO="udevadm info" ++ else ++ UDEVINFO="udevinfo" + fi + DEVNAME=/dev/$($UDEVINFO --query=name --path=$(dirname $DEVPATH)) + fi +-- +1.8.4.2 + diff --git a/meta-oe/recipes-support/openct/openct/openct.init b/meta-oe/recipes-support/openct/openct/openct.init new file mode 100644 index 0000000000..c6896095e3 --- /dev/null +++ b/meta-oe/recipes-support/openct/openct/openct.init @@ -0,0 +1,89 @@ +#!/bin/sh +# +# openct This shell script takes care of starting and stopping OpenCT. +# +# chkconfig: 2345 24 89 +# description: OpenCT is a middleware framework for smart card terminals. +# +# processname: ifdhandler +# config: /etc/openct.conf + +### BEGIN INIT INFO +# Provides: openct +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Should-Start: $syslog $network +# Should-Stop: $syslog $network +# Short-Description: Middleware framework for smart card terminals +# Description: This starts/stops the OpenCT middleware framework support +# for smart card terminals. +### END INIT INFO + +. /etc/init.d/functions + +exec="/usr/sbin/openct-control" +prog=openct +proc=ifdhandler + +OPENCT_OPTIONS= +[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog + +lockfile=/var/lock/subsys/$prog + +start() { + retval=0 + if ! status $proc >/dev/null 2>&1 ; then + action $"Initializing OpenCT smart card terminals: " \ + $exec $OPENCT_OPTIONS init + retval=$? + [ $retval -eq 0 ] && touch $lockfile + fi + return $retval +} + +stop() { + if status $proc >/dev/null 2>&1 ; then + action $"Stopping OpenCT smart card terminals: " \ + $exec $OPENCT_OPTIONS shutdown + fi + retval=$? + if [ $retval -eq 0 ] ; then + rm -f /var/run/openct/status + rm -f $lockfile + fi + return $retval +} + +restart() { + stop + start +} + +oct_status() { + status $proc + retval=$? + if [ -e /var/run/openct/status ] ; then + $exec $OPENCT_OPTIONS status + [ -e /var/run/openct/status ] && \ + echo $"Waiting for reader attach/detach events..." + fi + return $retval +} + +case "$1" in + start|stop|restart) + $1 + ;; + reload|force-reload) + restart + ;; + status) + oct_status + ;; + try-restart|condrestart) + [ ! -f $lockfile ] || restart + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|try-restart|reload|force-reload}" + exit 2 +esac diff --git a/meta-oe/recipes-support/openct/openct/openct.service b/meta-oe/recipes-support/openct/openct/openct.service new file mode 100644 index 0000000000..c9ec497fa5 --- /dev/null +++ b/meta-oe/recipes-support/openct/openct/openct.service @@ -0,0 +1,13 @@ +[Unit] +Description=Openct Middleware framework for smart card terminals +After=syslog.target network.target + +[Service] +EnvironmentFile=-/etc/sysconfig/openct +ExecStart=/usr/sbin/openct-control $OPENCT_OPTIONS init +ExecStop=/usr/sbin/openct-control $OPENCT_OPTIONS shutdown +RemainAfterExit=yes +KillMode=none + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-support/openct/openct/openct.sysconfig b/meta-oe/recipes-support/openct/openct/openct.sysconfig new file mode 100644 index 0000000000..ffc270790f --- /dev/null +++ b/meta-oe/recipes-support/openct/openct/openct.sysconfig @@ -0,0 +1,5 @@ +# -*- sh -*- +# Extra options to pass to openct-control. +# Consult "/usr/sbin/openct-control -h" for available options. +# +OPENCT_OPTIONS="" diff --git a/meta-oe/recipes-support/openct/openct_0.6.20.bb b/meta-oe/recipes-support/openct/openct_0.6.20.bb new file mode 100644 index 0000000000..70c73fd6e6 --- /dev/null +++ b/meta-oe/recipes-support/openct/openct_0.6.20.bb @@ -0,0 +1,92 @@ +Summanry = "Middleware framework for smart card terminals" +DESCRIPTION = " \ +OpenCT implements drivers for several smart card readers. \ +It comes as driver in ifdhandler format for PC/SC-Lite, \ +as CT-API driver, or as a small and lean middleware, \ +so applications can use it with minimal overhead. \ +OpenCT also has a primitive mechanism to export smart card \ +readers to remote machines via TCP/IP." + +DEPENDS += "libtool pcsc-lite libusb-compat" + +SRC_URI = " \ + ${DEBIAN_MIRROR}/main/o/${PN}/${PN}_${PV}.orig.tar.gz \ + file://etc-openct.udev.in-disablePROGRAM.patch \ + file://etc-openct_usb.in-modify-UDEVINFO.patch \ + file://openct.init \ + file://openct.sysconfig \ + file://openct.service \ +" + +SRC_URI[md5sum] = "a1da3358ab798f1cb9232f1dbababc21" +SRC_URI[sha256sum] = "6cd3e2933d29eb1f875c838ee58b8071fd61f0ec8ed5922a86c01c805d181a68" + +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1" + +inherit ${@base_contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)} +SYSTEMD_SERVICE_${PN} += "openct.service " +SYSTEMD_AUTO_ENABLE = "enable" + +EXTRA_OECONF=" \ + --disable-static \ + --enable-usb \ + --enable-pcsc \ + --enable-doc \ + --enable-api-doc \ + --with-udev=/lib/udev \ + --with-bundle=${libdir}/pcsc/drivers \ +" + +inherit autotools pkgconfig + +FILES_${PN} += " \ + ${libdir}/ctapi \ + /lib/udev \ + ${libdir}/openct-ifd.so \ + ${libdir}/pcsc \ + /run/openct/status \ +" + +FILES_${PN}-dbg += " \ + ${libdir}/ctapi/.debug \ + ${libdir}/pcsc/drivers/openct-ifd.bundle/Contents/Linux/.debug \ +" + +INSANE_SKIP_${PN} += "dev-deps" + + +do_install () { + rm -rf ${D} + install -d ${D}/etc + install -dm 755 ${D}/lib/udev + # fix up hardcoded paths + sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir}/,' \ + ${WORKDIR}/openct.service ${WORKDIR}/openct.init + + oe_runmake install DESTDIR=${D} + install -dm 755 ${D}${libdir}/ctapi/ + mv ${D}${libdir}/libopenctapi.so ${D}${libdir}/ctapi/ + install -Dpm 644 etc/openct.udev ${D}/etc/udev/rules.d/60-openct.rules + install -pm 644 etc/openct.conf ${D}/etc/openct.conf + + install -Dpm 755 ${WORKDIR}/openct.init ${D}/etc/init.d/openct + install -Dpm 644 ${WORKDIR}/openct.sysconfig ${D}/etc/sysconfig/openct + + if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}/${systemd_unitdir}/system + install -m 644 ${WORKDIR}/openct.service ${D}/${systemd_unitdir}/system + fi + + so=$(find ${D} -name \*.so | sed "s|^${D}||") + sed -i -e 's|\\(LIBPATH\\s*\\).*|\\1$so|' etc/reader.conf + install -Dpm 644 etc/reader.conf ${D}/etc/reader.conf.d/openct.conf + + install -dm 755 ${D}${localstatedir}/run/openct + touch ${D}${localstatedir}/run/openct/status + chmod 644 ${D}${localstatedir}/run/openct/status +} + +pkg_postinst_${PN} () { + ln -sf ctapi/libopenctapi.so ${libdir}/libopenctapi.so +} diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.39/ITS-7723-fix-reference-counting.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/ITS-7723-fix-reference-counting.patch new file mode 100644 index 0000000000..9a0f4cb142 --- /dev/null +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/ITS-7723-fix-reference-counting.patch @@ -0,0 +1,38 @@ +From 59688044386dfeee0c837a15133f4e878f1bb661 Mon Sep 17 00:00:00 2001 +From: Jan Synacek <jsynacek@redhat.com> +Date: Wed, 13 Nov 2013 09:06:54 +0100 +Subject: [PATCH] ITS#7723 fix reference counting + +Upstream-Status: Backport + +Commit 59688044386dfeee0c837a15133f4e878f1bb661 upstream + +Signed-off-by: Yue Tao <Yue.Tao@windriver.com> +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + libraries/librewrite/session.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +diff --git a/libraries/librewrite/session.c b/libraries/librewrite/session.c +index fcc7698..02fc054 100644 +--- a/libraries/librewrite/session.c ++++ b/libraries/librewrite/session.c +@@ -161,6 +161,7 @@ rewrite_session_find( + #ifdef USE_REWRITE_LDAP_PVT_THREADS + if ( session ) { + ldap_pvt_thread_mutex_lock( &session->ls_mutex ); ++ session->ls_count++; + } + ldap_pvt_thread_rdwr_runlock( &info->li_cookies_mutex ); + #endif /* USE_REWRITE_LDAP_PVT_THREADS */ +@@ -178,6 +179,7 @@ rewrite_session_return( + ) + { + assert( session != NULL ); ++ session->ls_count--; + ldap_pvt_thread_mutex_unlock( &session->ls_mutex ); + } + +-- +1.7.5.4 + diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.23/0205e83f4670d10ad3c6ae4b8fc5ec1d0c7020c0.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/gnutls-Avoid-use-of-deprecated-function.patch index dffd3ca512..dffd3ca512 100644 --- a/meta-oe/recipes-support/openldap/openldap-2.4.23/0205e83f4670d10ad3c6ae4b8fc5ec1d0c7020c0.patch +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/gnutls-Avoid-use-of-deprecated-function.patch diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.23/initscript b/meta-oe/recipes-support/openldap/openldap-2.4.39/initscript index 1395f72560..08d1067a7e 100644 --- a/meta-oe/recipes-support/openldap/openldap-2.4.23/initscript +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/initscript @@ -5,8 +5,10 @@ # > update-rc.d openldap defaults 60 # +# Source function library. +. /etc/init.d/functions -slapd=/usr/libexec/slapd +slapd=/usr/sbin/slapd test -x "$slapd" || exit 0 @@ -21,8 +23,12 @@ case "$1" in start-stop-daemon --stop --quiet --pidfile /var/run/slapd.pid echo "." ;; + status) + status $slapd; + exit $? + ;; *) - echo "Usage: /etc/init.d/openldap {start|stop}" + echo "Usage: /etc/init.d/openldap {start|stop|status}" exit 1 esac diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.23/install-strip.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/install-strip.patch index 2992b7030d..2992b7030d 100644 --- a/meta-oe/recipes-support/openldap/openldap-2.4.23/install-strip.patch +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/install-strip.patch diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.23/kill-icu.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/kill-icu.patch index dcf5411372..dcf5411372 100644 --- a/meta-oe/recipes-support/openldap/openldap-2.4.23/kill-icu.patch +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/kill-icu.patch diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.23/openldap-2.4.28-gnutls-gcrypt.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-2.4.28-gnutls-gcrypt.patch index c7b1552c1c..c7b1552c1c 100644 --- a/meta-oe/recipes-support/openldap/openldap-2.4.23/openldap-2.4.28-gnutls-gcrypt.patch +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-2.4.28-gnutls-gcrypt.patch diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.23/openldap-m4-pthread.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-m4-pthread.patch index b669b7254d..b669b7254d 100644 --- a/meta-oe/recipes-support/openldap/openldap-2.4.23/openldap-m4-pthread.patch +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-m4-pthread.patch diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.39/slapd.service b/meta-oe/recipes-support/openldap/openldap-2.4.39/slapd.service new file mode 100644 index 0000000000..f5f83fdc37 --- /dev/null +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/slapd.service @@ -0,0 +1,10 @@ +[Unit] +Description=Standalone LDAP Daemon +After=syslog.target network.target + +[Service] +Type=forking +ExecStart=@SBINDIR@/slapd + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.39/use-urandom.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/use-urandom.patch new file mode 100644 index 0000000000..e7b988fafd --- /dev/null +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/use-urandom.patch @@ -0,0 +1,38 @@ +openldap: assume /dev/urandom exists + +When we are cross-compiling, we want to assume +that /dev/urandom exists. We could change the source +code to look for it, but this is the easy way out. + +Upstream-Status: pending + +Signed-off-by: Joe Slater <jslater@windriver.com> + + +--- a/configure.in ++++ b/configure.in +@@ -2142,8 +2142,8 @@ fi + + dnl ---------------------------------------------------------------- + dnl Check for entropy sources ++dev=no + if test $cross_compiling != yes && test "$ac_cv_mingw32" != yes ; then +- dev=no + if test -r /dev/urandom ; then + dev="/dev/urandom"; + elif test -r /idev/urandom ; then +@@ -2156,9 +2156,11 @@ if test $cross_compiling != yes && test + dev="/idev/random"; + fi + +- if test $dev != no ; then +- AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device]) +- fi ++elif test $cross_compiling == yes ; then ++ dev="/dev/urandom"; ++fi ++if test $dev != no ; then ++ AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device]) + fi + + dnl ---------------------------------------------------------------- diff --git a/meta-oe/recipes-support/openldap/openldap_2.4.23.bb b/meta-oe/recipes-support/openldap/openldap_2.4.39.bb index b2693b5b0d..e2c700f1d6 100644 --- a/meta-oe/recipes-support/openldap/openldap_2.4.23.bb +++ b/meta-oe/recipes-support/openldap/openldap_2.4.39.bb @@ -1,5 +1,6 @@ # OpenLDAP, a license free (see http://www.OpenLDAP.org/license.html) # +SUMMARY = "OpenLDAP Directory Service" DESCRIPTION = "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol." HOMEPAGE = "http://www.OpenLDAP.org/license.html" # The OpenLDAP Public License - see the HOMEPAGE - defines @@ -8,7 +9,9 @@ HOMEPAGE = "http://www.OpenLDAP.org/license.html" # basically BSD. opensource.org does not record this license # at present (so it is apparently not OSI certified). LICENSE = "OpenLDAP" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3d82d3085f228af211a6502c7ea7c3c7" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=f2bdbaa4f50199a00b6de2ca7ec1db05 \ + file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972 \ +" SECTION = "libs" LDAP_VER = "${@'.'.join(d.getVar('PV',1).split('.')[0:2])}" @@ -16,22 +19,24 @@ LDAP_VER = "${@'.'.join(d.getVar('PV',1).split('.')[0:2])}" SRC_URI = "ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/${BP}.tgz \ file://openldap-m4-pthread.patch \ file://kill-icu.patch \ - file://0205e83f4670d10ad3c6ae4b8fc5ec1d0c7020c0.patch \ + file://gnutls-Avoid-use-of-deprecated-function.patch \ file://openldap-2.4.28-gnutls-gcrypt.patch \ + file://ITS-7723-fix-reference-counting.patch \ + file://use-urandom.patch \ file://initscript \ + file://slapd.service \ " -SRC_URI[md5sum] = "90150b8c0d0192e10b30157e68844ddf" -SRC_URI[sha256sum] = "5a5ede91d5e8ab3c7f637620aa29a3b96eb34318a8b26c8eef2d2c789fc055e3" +SRC_URI[md5sum] = "b0d5ee4b252c841dec6b332d679cf943" +SRC_URI[sha256sum] = "8267c87347103fef56b783b24877c0feda1063d3cb85d070e503d076584bf8a7" DEPENDS = "util-linux groff-native" -PR = "r1" # The original top.mk used INSTALL, not INSTALL_STRIP_PROGRAM when # installing .so and executables, this fails in cross compilation # environments SRC_URI += "file://install-strip.patch" -inherit autotools-brokensep +inherit autotools-brokensep update-rc.d systemd # CV SETTINGS # Required to work round AC_FUNC_MEMCMP which gets the wrong answer @@ -47,7 +52,7 @@ EXTRA_OECONF += "--with-yielding-select=yes" EXTRA_OECONF += "--enable-dynamic" PACKAGECONFIG ??= "gnutls modules \ - ldap meta monitor null passwd shell proxycache dnssrv \ + bdb hdb ldap meta monitor null passwd shell proxycache dnssrv \ " #--with-tls with TLS/SSL support auto|openssl|gnutls [auto] PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls libgcrypt" @@ -64,14 +69,9 @@ EXTRA_OECONF += "--enable-crypt" # SLAPD BACKEND # # The backend must be set by the configuration. This controls the -# required database, the default database, bdb, is turned off but -# can be turned back on again and it *is* below! The monitor backend -# is also disabled. If you try to change the backends but fail to -# enable a single one the build will fail in an obvious way. -# -EXTRA_OECONF += "--disable-bdb --disable-hdb --disable-monitor" +# required database. # -# Backends="bdb dnssrv hdb ldap ldbm meta monitor null passwd perl shell sql" +# Backends="bdb dnssrv hdb ldap mdb meta monitor ndb null passwd perl relay shell sock sql" # # Note that multiple backends can be built. The ldbm backend requires a # build-time choice of database API. The bdb backend forces this to be @@ -82,27 +82,19 @@ md = "${libexecdir}/openldap" #--enable-bdb enable Berkeley DB backend no|yes|mod yes # The Berkely DB is the standard choice. This version of OpenLDAP requires # the version 4 implementation or better. -PACKAGECONFIG[bdb] = "--enable-bdb=mod,--enable-bdb=no,db" +PACKAGECONFIG[bdb] = "--enable-bdb=yes,--enable-bdb=no,db" #--enable-dnssrv enable dnssrv backend no|yes|mod no PACKAGECONFIG[dnssrv] = "--enable-dnssrv=mod,--enable-dnssrv=no" #--enable-hdb enable Hierarchical DB backend no|yes|mod no -# This forces ldbm to use Berkeley too, remove to use gdbm -PACKAGECONFIG[hdb] = "--enable-hdb=mod,--enable-hdb=no,db" +PACKAGECONFIG[hdb] = "--enable-hdb=yes,--enable-hdb=no,db" #--enable-ldap enable ldap backend no|yes|mod no PACKAGECONFIG[ldap] = "--enable-ldap=mod,--enable-ldap=no," -#--enable-ldbm enable ldbm backend no|yes|mod no -# ldbm requires further specification of the underlying database API, because -# bdb is enabled above this must be set to berkeley, however the config -# defaults this correctly so --with-ldbm-api is *not* set. The build will -# fail if bdb is removed, but no database is built to provide the -# support for ldbm -# guide.html:<P>back-ldbm was both slow and unreliable. Its byzantine indexing code was prone to spontaneous corruption, as were the underlying database libraries that were commonly used (e.g. GDBM or NDBM). back-bdb and back-hdb are superior in every aspect, with simplified indexing to avoid index corruption, fine-grained locking for greater concurrency, hierarchical caching for greater performance, streamlined on-disk format for greater efficiency and portability, and full transaction support for greater reliability.</P> -# configure: WARNING: unrecognized options: --disable-silent-rules, --enable-ldbm, --with-ldbm-api -#PACKAGECONFIG[ldbm] = "--enable-ldbm=mod --with-ldbm-api=gdbm,--enable-ldbm-no,gdbm" +#--enable-mdb enable mdb database backend no|yes|mod [yes] +PACKAGECONFIG[mdb] = "--enable-mdb=mod,--enable-mdb=no," #--enable-meta enable metadirectory backend no|yes|mod no PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no," @@ -110,6 +102,9 @@ PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no," #--enable-monitor enable monitor backend no|yes|mod yes PACKAGECONFIG[monitor] = "--enable-monitor=mod,--enable-monitor=no," +#--enable-ndb enable MySQL NDB Cluster backend no|yes|mod [no] +PACKAGECONFIG[ndb] = "--enable-ndb=mod,--enable-ndb=no," + #--enable-null enable null backend no|yes|mod no PACKAGECONFIG[null] = "--enable-null=mod,--enable-null=no," @@ -122,10 +117,16 @@ PACKAGECONFIG[passwd] = "--enable-passwd=mod,--enable-passwd=no," # up the build machine perl - not good (inherit perlnative?) PACKAGECONFIG[perl] = "--enable-perl=mod,--enable-perl=no,perl" +#--enable-relay enable relay backend no|yes|mod [yes] +PACKAGECONFIG[relay] = "--enable-relay=mod,--enable-relay=no," + #--enable-shell enable shell backend no|yes|mod no # configure: WARNING: Use of --without-threads is recommended with back-shell PACKAGECONFIG[shell] = "--enable-shell=mod --without-threads,--enable-shell=no," +#--enable-sock enable sock backend no|yes|mod [no] +PACKAGECONFIG[sock] = "--enable-sock=mod,--enable-sock=no," + #--enable-sql enable sql backend no|yes|mod no # sql requires some sql backend which provides sql.h, sqlite* provides # sqlite.h (which may be compatible but hasn't been tried.) @@ -141,10 +142,13 @@ PACKAGECONFIG[proxycache] = "--enable-proxycache=mod,--enable-proxycache=no," FILES_${PN}-overlay-proxycache = "${md}/pcache-*.so.*" PACKAGES += "${PN}-overlay-proxycache" -CPPFLAGS_append = " -D_GNU_SOURCE" +# Append URANDOM_DEVICE='/dev/urandom' to CPPFLAGS: +# This allows tls to obtain random bits from /dev/urandom, by default +# it was disabled for cross-compiling. +CPPFLAGS_append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\'/dev/urandom\'" do_configure() { - cp ${STAGING_DATADIR_NATIVE}/libtool/config/ltmain.sh ${S}/build + cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/ltmain.sh ${S}/build rm -f ${S}/libtool aclocal libtoolize --force --copy @@ -164,7 +168,7 @@ PACKAGES += "${PN}-slapd ${PN}-slurpd ${PN}-bin" FILES_${PN} = "${libdir}/lib*.so.* ${sysconfdir}/openldap/ldap.* ${localstatedir}/openldap-data" FILES_${PN}-slapd = "${sysconfdir}/init.d ${libexecdir}/slapd ${sbindir} ${localstatedir}/run ${localstatedir}/volatile/run \ ${sysconfdir}/openldap/slapd.* ${sysconfdir}/openldap/schema \ - ${sysconfdir}/openldap/DB_CONFIG.example" + ${sysconfdir}/openldap/DB_CONFIG.example ${systemd_unitdir}/system/*" FILES_${PN}-slurpd = "${libexecdir}/slurpd ${localstatedir}/openldap-slurp ${localstatedir}/run ${localstatedir}/volatile/run" FILES_${PN}-bin = "${bindir}" FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libdir}/*.a ${libexecdir}/openldap/*.a ${libexecdir}/openldap/*.la ${libexecdir}/openldap/*.so" @@ -176,31 +180,36 @@ do_install_append() { chmod 755 ${D}${sysconfdir}/init.d/openldap # This is duplicated in /etc/openldap and is for slapd rm -f ${D}${localstatedir}/openldap-data/DB_CONFIG.example + + # Installing slapd under ${sbin} is more FHS and LSB compliance + mv ${D}${libexecdir}/slapd ${D}/${sbindir}/slapd + SLAPTOOLS="slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl slapschema" + cd ${D}/${sbindir}/ + rm -f ${SLAPTOOLS} + for i in ${SLAPTOOLS}; do ln -sf slapd $i; done + rmdir "${D}${localstatedir}/run" rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" -} -pkg_postinst_${PN}-slapd () { - if test -n "${D}"; then - D="-r $D" - fi - update-rc.d $D openldap defaults + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/slapd.service ${D}${systemd_unitdir}/system/ + sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/*.service } -pkg_prerm_${PN}-slapd () { - if test -n "${D}"; then - D="-r $D" - fi - update-rc.d $D openldap remove -} +INITSCRIPT_PACKAGES = "${PN}-slapd" +INITSCRIPT_NAME_${PN}-slapd = "openldap" +INITSCRIPT_PARAMS_${PN}-slapd = "defaults" +SYSTEMD_SERVICE_${PN}-slapd = "hostapd.service" +SYSTEMD_AUTO_ENABLE_${PN}-slapd ?= "disable" + -PACKAGES_DYNAMIC += "^openldap-backends.* ^openldap-backend-.*" +PACKAGES_DYNAMIC += "^${PN}-backends.* ^${PN}-backend-.*" python populate_packages_prepend () { backend_dir = d.expand('${libexecdir}/openldap') do_split_packages(d, backend_dir, 'back_([a-z]*)\-.*\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True) - metapkg = "openldap-backends" + metapkg = "${PN}-backends" d.setVar('ALLOW_EMPTY_' + metapkg, "1") d.setVar('FILES_' + metapkg, "") metapkg_rdepends = [] diff --git a/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb b/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb index ac4d188c5a..2baeda0251 100644 --- a/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb +++ b/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=14f692c82491db3d52419929d2f3b343" PR = "r3" -PNBLACKLIST[openmotif] = "BROKEN: doesn't build with B!=S" +PNBLACKLIST[openmotif] ?= "BROKEN: doesn't build with B!=S" SRC_URI = "http://motif.ics.com/sites/default/files/openmotif-2.3.3.tar.gz \ file://configure.patch;patch=1" diff --git a/meta-oe/recipes-support/opensc/opensc_0.14.0.bb b/meta-oe/recipes-support/opensc/opensc_0.14.0.bb new file mode 100644 index 0000000000..87ea2addd8 --- /dev/null +++ b/meta-oe/recipes-support/opensc/opensc_0.14.0.bb @@ -0,0 +1,45 @@ +SUMMARY = "Smart card library and applications" +DESCRIPTION = "OpenSC is a tool for accessing smart card devices. Basic\ +functionality (e.g. SELECT FILE, READ BINARY) should work on any ISO\ +7816-4 compatible smart card. Encryption and decryption using private\ +keys on the smart card is possible with PKCS\ +such as the FINEID (Finnish Electronic IDentity) card. Swedish Posten\ +eID cards have also been confirmed to work." + +HOMEPAGE = "http://www.opensc-project.org/opensc/" +SECTION = "System Environment/Libraries" + +SRC_URI = "${DEBIAN_MIRROR}/main/o/${BPN}/${BPN}_${PV}.orig.tar.gz" + +SRC_URI[md5sum] = "1ee31dc2e89860458fd984e0cac9795e" +SRC_URI[sha256sum] = "ffe8bcc704f2ab9a05c6781bc815f00eaf75cba0a1bd21e3142b9194a7bed5c9" + +S = "${WORKDIR}/OpenSC-${PV}" +DEPENDS = "openct pcsc-lite virtual/libiconv openssl" + +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" + +inherit autotools pkgconfig + +EXTRA_OECONF = " \ + --disable-static \ + --enable-openct \ + --disable-pcsc \ + --disable-ctapi \ + --disable-doc \ +" +EXTRA_OEMAKE = "DESTDIR=${D}" + +RDEPENDS_${PN} = "readline" + +FILES_${PN} += "\ + ${libdir}/opensc-pkcs11.so \ + ${libdir}/onepin-opensc-pkcs11.so \ + ${libdir}/pkcs11-spy.so \ +" +FILES_${PN}-dev += "\ + ${libdir}/pkcs11/opensc-pkcs11.so \ + ${libdir}/pkcs11/onepin-opensc-pkcs11.so \ + ${libdir}/pkcs11/pkcs11-spy.so \ +" diff --git a/meta-oe/recipes-support/openwbem/openwbem/checkserverkey b/meta-oe/recipes-support/openwbem/openwbem/checkserverkey new file mode 100644 index 0000000000..bcfa361010 --- /dev/null +++ b/meta-oe/recipes-support/openwbem/openwbem/checkserverkey @@ -0,0 +1,20 @@ +#!/bin/bash + +if [ ! -f "/etc/openwbem/serverkey.pem" ]; then + if [ -f "/etc/ssl/servercerts/servercert.pem" \ + -a -f "/etc/ssl/servercerts/serverkey.pem" ]; then + echo "Using common server certificate /etc/ssl/servercerts/servercert.pem" + ln -s /etc/ssl/servercerts/server{cert,key}.pem /etc/openwbem/ + else + echo "FAILED: Starting OpenWBEM server" + echo "There is no ssl server key available for OpenWBEM server to use." + echo -e "Please generate one with the following script and start the OpenWBEM service again:\n" + echo "##################################" + echo "/etc/openwbem/owgencert" + echo "=================================" + + echo "NOTE: The script uses /dev/random device for generating some random bits while generating the server key." + echo " If this takes too long, you can replace the value of \"RANDFILE\" in /etc/openwsman/ssleay.cnf with /dev/urandom. Please understand the implications" + exit 1 + fi +fi diff --git a/meta-oe/recipes-support/openwbem/openwbem/loadmof.sh b/meta-oe/recipes-support/openwbem/openwbem/loadmof.sh new file mode 100644 index 0000000000..dd87811a37 --- /dev/null +++ b/meta-oe/recipes-support/openwbem/openwbem/loadmof.sh @@ -0,0 +1,118 @@ +#!/bin/sh +# +# options: +# loadmof.sh <MOF_PATH> <NAMESPACE> <FILES> +# +# - or - +# +# options: +# loadmof.sh -n <NAMESPACE> <FILES> [...] +# +# The former is preserved for compatibility with Pegasus and +# sblim providers. The latter is preferred. If $1 is "-n", +# the latter code path is executed. Otherwise the former is +# executed. + +if [ "x$1" != "x-n" -a "x$1" != "x-v" ]; then +# OLD STYLE +if [ -f "/etc/init.d/owcimomd" ]; then + /etc/init.d/owcimomd status 1>&2 > /dev/null + if [ $? = "0" ]; then + CIMOM_RUNNING="true" + else + CIMOM_RUNNING="false" + fi +else + exit 1 +fi +if [ "$YAST_IS_RUNNING" = "instsys" ]; then + CIMOM_RUNNING="false" +fi + +CIMOM=$1 +shift +case "$CIMOM" in + pegasus) + exit 0 + ;; +esac +MOF_PATH=$1 +shift +NS=$1 +shift + +REPOSITORY="/var/lib/openwbem" +#tmp_dir=`mktemp -d -p /tmp openwbem.XXXXXX` +case "$CIMOM_RUNNING" in + true|false) + while [ "$#" -gt 0 ] + do + echo "Loading $MOF_PATH/$1" + #sed "s/cmpi:/cmpi::/g" $MOF_PATH/$1 > $tmp_dir/$1 + /usr/bin/owmofc -c -n $NS -d $REPOSITORY $MOF_PATH/$1 > /dev/null 2>&1 + shift + done + ;; +esac +#rm -rf $tmp_dir +# END OLD STYLE + +else +# NEW STYLE +if [ "x$3" = "x" ]; then + echo "Usage: $0 -n <NAMESPACE> <FILES> [...]" + exit 1 +fi + +if [ "x$1" = "x-v" ]; then + VERBOSE=1 + shift +fi + +# get rid of "-n" arg +shift + +NS="$1" + +shift + +DBDIR=/var/lib/openwbem +LOGFILE=$DBDIR/loadmof.log +CIMOM_INIT=/etc/init.d/owcimomd +if [ "$YAST_IS_RUNNING" != "instsys" ] ; then + $CIMOM_INIT status > /dev/null 2>&1 + CIMOM_RUNNING=$? +fi +if [ "x$CIMOM_RUNNING" = "x0" ]; then + $CIMOM_INIT stop > /dev/null 2>&1 +fi +bkpdir=$DBDIR/backup-$$ +mkdir $bkpdir +cp -a $DBDIR/*.{dat,ndx,lock} $bkpdir/ +rm -f $LOGFILE.9 +for i in 8 7 6 5 4 3 2 1 0; do + let newI=$i+1 + if [ -f $LOGFILE.$i ]; then + mv $LOGFILE.$i $LOGFILE.$newI + fi +done +if [ -f $LOGFILE ]; then + mv $LOGFILE $LOGFILE.0 +fi +if [ "x$VERBOSE" = "x1" ]; then + /usr/bin/owmofc -c -n $NS -d $DBDIR -s /usr/share/mof/cim-current "$@" 2>&1 | tee $LOGFILE +else + /usr/bin/owmofc -c -n $NS -d $DBDIR -s /usr/share/mof/cim-current "$@" > $LOGFILE 2>&1 +fi +RVAL=$? +if [ "x$RVAL" != "x0" ]; then + echo "MOF import failed! Check $LOGFILE for details." + mv $bkpdir/* $DBDIR/ +fi +rm -rf $bkpdir +if [ "x$CIMOM_RUNNING" = "x0" ]; then + $CIMOM_INIT start > /dev/null 2>&1 +fi +exit $RVAL +fi + diff --git a/meta-oe/recipes-support/openwbem/openwbem/novell-openwbem-root-acl.mof b/meta-oe/recipes-support/openwbem/openwbem/novell-openwbem-root-acl.mof new file mode 100644 index 0000000000..c9970c79e9 --- /dev/null +++ b/meta-oe/recipes-support/openwbem/openwbem/novell-openwbem-root-acl.mof @@ -0,0 +1,21 @@ +#pragma namespace("root/security") + +instance of OpenWBEM_NamespaceACL +{ + nspace = "root"; + capability = ""; +}; + +instance of OpenWBEM_NamespaceACL +{ + nspace = "root/cimv2"; + capability = ""; +}; + +instance of OpenWBEM_UserACL +{ + nspace = "root/cimv2"; + username = "root"; + capability = "rw"; +}; + diff --git a/meta-oe/recipes-support/openwbem/openwbem/openwbem-etc_pam.d_openwbem b/meta-oe/recipes-support/openwbem/openwbem/openwbem-etc_pam.d_openwbem new file mode 100644 index 0000000000..b3785aa49d --- /dev/null +++ b/meta-oe/recipes-support/openwbem/openwbem/openwbem-etc_pam.d_openwbem @@ -0,0 +1,7 @@ +#%PAM-1.0 +auth required pam_unix2.so nullok +auth required pam_nologin.so +account required pam_unix2.so +password required pam_pwcheck.so nullok +password required pam_unix2.so nullok use_first_pass use_authtok +session required pam_unix2.so none diff --git a/meta-oe/recipes-support/openwbem/openwbem/openwbem-owcimomd.init b/meta-oe/recipes-support/openwbem/openwbem/openwbem-owcimomd.init new file mode 100644 index 0000000000..47fa8a7c67 --- /dev/null +++ b/meta-oe/recipes-support/openwbem/openwbem/openwbem-owcimomd.init @@ -0,0 +1,131 @@ +#!/bin/sh +# +### BEGIN INIT INFO +# Provides: owcimomd +# Required-Start: $network +# Required-Stop: $network +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: OpenWBEM CIMOM Daemon +# Description: owcimomd +# Start/Stop the OpenWBEM CIMOM Daemon +### END INIT INFO +# +# +# chkconfig: 2345 36 64 +# description: OpenWBEM CIMOM Daemon +# processname: owcimomd + +NAME=owcimomd +DAEMON=/usr/sbin/$NAME +OPTIONS= +PIDFILE=/var/run/$NAME.pid + +if [ $EUID != 0 ]; then + echo "This script must be run as root." + exit 1; +fi + +if [ "$DESCRIPTIVE" = "" ]; then + DESCRIPTIVE="OpenWBEM CIMOM Daemon" +fi + +lockfile=${SVIlock:-/var/lock/subsys/$NAME} + +[ -x $DAEMON ] || exit 0 + +# See how we were called. +. /etc/init.d/functions + +start() { + if [ ! -f "/etc/openwbem/serverkey.pem" ]; then + if [ -f "/etc/ssl/servercerts/servercert.pem" \ + -a -f "/etc/ssl/servercerts/serverkey.pem" ]; then + echo "Using common server certificate /etc/ssl/servercerts/servercert.pem" + ln -s /etc/ssl/servercerts/server{cert,key}.pem /etc/openwbem/ + else + echo "Generating OpenWBEM server public certificate and private key" + FQDN=`hostname --fqdn` + if [ "x${FQDN}" = "x" ]; then + FQDN=localhost.localdomain + fi +cat << EOF | sh /etc/openwbem/owgencert > /dev/null 2>&1 +-- +SomeState +SomeCity +SomeOrganization +SomeOrganizationalUnit +${FQDN} +root@${FQDN} +EOF + fi + fi + + # Start daemons. + echo -n "Starting the $DESCRIPTIVE" + daemon $DAEMON $OPTIONS > /dev/null 2>&1 + RETVAL=$? + + if [ $RETVAL -eq 0 ]; then + touch $lockfile + success + fi + + echo + return $RETVAL +} + +stop() { + # Stop daemons. + echo -n "Shutting down $DESCRIPTIVE" + killproc $DAEMON + RETVAL=$? + + if [ $RETVAL -eq 0 ]; then + rm -f $lockfile + success + else + failure + fi + echo + return $RETVAL +} + +restart() { + stop + start +} + +case "$1" in + start) + start + ;; + + stop) + stop + ;; + + restart|force-reload) + restart + ;; + + reload) + echo -n "Reload service $DESCRIPTIVE" + killproc -p $PIDFILE -HUP $DAEMON + RETVAL=$? + echo + exit $RETVAL + ;; + + status) + echo -n "Checking for service $DESCRIPTIVE" + status $DAEMON + RETVAL=$? + exit $RETVAL + ;; + + *) + echo "Usage: $0 {restart|start|stop|reload|force-reload|status}" +esac + +exit $RETVAL diff --git a/meta-oe/recipes-support/openwbem/openwbem/openwbem-rpmlintrc b/meta-oe/recipes-support/openwbem/openwbem/openwbem-rpmlintrc new file mode 100644 index 0000000000..785e32aaa6 --- /dev/null +++ b/meta-oe/recipes-support/openwbem/openwbem/openwbem-rpmlintrc @@ -0,0 +1,2 @@ +addFilter("devel-file-in-non-devel-package .*/lib.*\.so") + diff --git a/meta-oe/recipes-support/openwbem/openwbem/owcimomd.service b/meta-oe/recipes-support/openwbem/openwbem/owcimomd.service new file mode 100644 index 0000000000..c6694b7196 --- /dev/null +++ b/meta-oe/recipes-support/openwbem/openwbem/owcimomd.service @@ -0,0 +1,12 @@ +[Unit] +Description=Web Based Enterprise Management (WBEM) Implementation +After=syslog.target + +[Service] +Type=forking +ExecStart=/usr/sbin/owcimomd +ExecStartPre=/etc/openwbem/checkserverkey +PIDFile=/var/run/owcimomd.pid + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-support/openwbem/openwbem/rmmof.sh b/meta-oe/recipes-support/openwbem/openwbem/rmmof.sh new file mode 100644 index 0000000000..a495415be5 --- /dev/null +++ b/meta-oe/recipes-support/openwbem/openwbem/rmmof.sh @@ -0,0 +1,53 @@ +#!/bin/sh +# +# options: +# rmmof.sh <MOF_PATH> <NAMESPACE> <FILES> +# +# - or - +# +# options: +# loadmof.sh -n <NAMESPACE> <FILES> [...] +# +# The former is preserved for compatibility with Pegasus and +# sblim providers. The latter is preferred. If $1 is "-n", +# the latter code path is executed. Otherwise the former is +# executed. + +if [ "x$3" = "x" ]; then + echo "Usage: $0 -n <NAMESPACE> <FILES> [...]" + exit 1 +fi + +# get rid of "-n" arg +shift + +NS="$1" + +shift + +DBDIR=/var/lib/openwbem +CIMOM_INIT=/etc/init.d/owcimomd +if [ "$YAST_IS_RUNNING" != "instsys" ] ; then + $CIMOM_INIT status + CIMOM_RUNNING=$? +fi +if [ "x$CIMOM_RUNNING" = "x0" ]; then + $CIMOM_INIT stop +fi +bkpdir=/tmp/owrep.bkp-$$ +mkdir $bkpdir +cp -a $DBDIR $bkpdir/ +echo "Compiling MOF files" +/usr/bin/owmofc -r -n $NS -d $DBDIR "$@" > /dev/null 2>&1 +RVAL=$? +if [ "x$RVAL" != "x0" ]; then + echo "MOF import failed!" + rm -rf $DBDIR + mv $bkpdir/openwbem $DBDIR +fi +rm -rf $bkpdir +if [ "x$CIMOM_RUNNING" = "x0" ]; then + $CIMOM_INIT start +fi +exit $RVAL + diff --git a/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb b/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb new file mode 100644 index 0000000000..1b186329ce --- /dev/null +++ b/meta-oe/recipes-support/openwbem/openwbem_3.2.3.bb @@ -0,0 +1,112 @@ +SUMMARY = "Web Based Enterprise Management (WBEM) Implementation" +DESCRIPTION = "OpenWBEM is a set of software components that help facilitate \ +deployment of the Common Information Model (CIM) and Web-Based \ +Enterprise Management (WBEM) technologies of the Distributed Management \ +Task Force (DMTF). \ + \ +Web-Based Enterprise Management (WBEM) is a set of management and \ +Internet standard technologies developed to unify the management of \ +distributed computing environments. WBEM provides the ability for the \ +industry to deliver a well-integrated set of standards-based management \ +tools, facilitating the exchange of data across otherwise disparate \ +technologies and platforms. \ + \ +For more information about DMTF and its technologies, visit \ +http://www.dmtf.org/standards. " +SECTION = "System/Management" +HOMEPAGE = "http://openwbem.sourceforge.net/" + +inherit autotools-brokensep pkgconfig + +SOURCE1="novell-openwbem-root-acl.mof" +SOURCE2="loadmof.sh" +SOURCE3="rmmof.sh" +SOURCE4="openwbem-owcimomd.init" +SOURCE5="openwbem-etc_pam.d_openwbem" +SOURCE6="openwbem-rpmlintrc" + +SRC_URI = " \ + git://github.com/kkaempf/openwbem.git \ + file://${SOURCE1} \ + file://${SOURCE2} \ + file://${SOURCE3} \ + file://${SOURCE4} \ + file://${SOURCE5} \ + file://${SOURCE6} \ + file://checkserverkey \ + file://owcimomd.service \ +" +SRCREV = "5c688eefc1f8e35a4b1c58529aae5f114c25c2a8" +S = "${WORKDIR}/git" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM += "file://COPYING;md5=0504a2eb85e01aa92c9efd4125a34660" +INSANE_SKIP_${PN} = "dev-so" +DEPENDS += "openssl libpam bash" +RDEPENDS_${PN} += "bash" +EXTRA_OECONF = " \ + --prefix=/usr \ + --sysconfdir=/etc \ + --libdir=${libdir} \ + --localstatedir=/var/lib \ + --libexecdir=${libdir}/openwbem/bin \ + --mandir=/usr/share/man \ + --enable-threads-run-as-user \ +" +do_configure_prepend() { + autoreconf --force --install +} + +do_install() { + oe_runmake DESTDIR=${D} install + install -d ${D}/etc/openwbem/openwbem.conf.d + install -d ${D}/var/adm/fillup-templates + install -m 644 etc/sysconfig/daemons/owcimomd ${D}/var/adm/fillup-templates/sysconfig.owcimomd + + # fix up hardcoded paths + sed -i -e 's,/usr/sbin/,${sbindir}/,' ${WORKDIR}/owcimomd.service + if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}/${systemd_unitdir}/system + install -m 644 ${WORKDIR}/owcimomd.service ${D}/${systemd_unitdir}/system + install -m 755 ${WORKDIR}/checkserverkey ${D}${sysconfdir}/openwbem/ + fi + + install -d ${D}/etc/init.d + ln -sf ../../etc/init.d/owcimomd ${D}/usr/sbin/rcowcimomd + install -m 755 ${WORKDIR}/${SOURCE4} ${D}/etc/init.d/owcimomd + install -d ${D}${sbindir} + install -d ${D}/usr/bin + install -d ${D}/etc/pam.d + install -d ${D}/${libdir}/openwbem/cmpiproviders + install -m 644 etc/pam.d/openwbem ${D}/etc/pam.d + install -d ${D}/${libdir}/openwbem/c++providers + install -d ${D}/var/lib/openwbem + install -m 755 ${WORKDIR}/${SOURCE2} ${D}/usr/bin/ow-loadmof.sh + install -m 755 ${WORKDIR}/${SOURCE3} ${D}/usr/bin/ow-rmmof.sh + install -m 644 ${WORKDIR}/${SOURCE5} ${D}/etc/pam.d/openwbem + + MOFPATH=${D}/usr/share/mof/openwbem + install -d $MOFPATH + mv ${D}/usr/share/openwbem/* $MOFPATH/ + rmdir ${D}/usr/share/openwbem + install -m 644 ${WORKDIR}/${SOURCE1} $MOFPATH/ + + touch ${D}/var/lib/openwbem/{classassociation,instances,instassociation,namespaces,schema}.{dat,ndx,lock} +} + +inherit ${@base_contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)} +SYSTEMD_SERVICE_${PN} = "owcimomd.service" +SYSTEMD_AUTO_ENABLE = "disable" +FILES_${PN} += " \ + ${libdir} \ + ${datadir}/mof \ + ${systemd_unitdir} \ +" +FILES_${PN}-dbg += " \ + ${libdir}/openwbem/c++providers/.debug \ + ${libdir}/openwbem/provifcs/.debug \ + ${libdir}/openwbem/bin/openwbem/.debug \ +" +FILES_${PN}-dev = " \ + ${includedir} \ + ${datadir}/aclocal/openwbem.m4 \ +" diff --git a/meta-oe/recipes-support/pam-passwdqc/files/1000patch-219201.patch b/meta-oe/recipes-support/pam-passwdqc/files/1000patch-219201.patch new file mode 100644 index 0000000000..366d461eb8 --- /dev/null +++ b/meta-oe/recipes-support/pam-passwdqc/files/1000patch-219201.patch @@ -0,0 +1,156 @@ +diff -urNp pam_passwdqc-1.0.5-orig/pam_passwdqc.c pam_passwdqc-1.0.5/pam_passwdqc.c +--- pam_passwdqc-1.0.5-orig/pam_passwdqc.c 2008-02-12 15:11:13.000000000 -0500 ++++ pam_passwdqc-1.0.5/pam_passwdqc.c 2009-09-28 12:10:32.171696694 -0400 +@@ -70,6 +70,8 @@ typedef struct { + passwdqc_params_t qc; + int flags; + int retry; ++ char oldpass_prompt_file[FILE_LEN+1]; ++ char newpass_prompt_file[FILE_LEN+1]; + } params_t; + + static params_t defaults = { +@@ -79,10 +81,13 @@ static params_t defaults = { + 3, /* passphrase_words */ + 4, /* match_length */ + 1, /* similar_deny */ +- 42 /* random_bits */ ++ 42, /* random_bits */ ++ 1 /* firstupper_lastdigit_check */ + }, + F_ENFORCE_EVERYONE, /* flags */ +- 3 /* retry */ ++ 3, /* retry */ ++ "", /* oldpass_prompt_file */ ++ "" /* newpass_prompt_file */ + }; + + #define PROMPT_OLDPASS \ +@@ -361,6 +366,37 @@ static int parse(params_t *params, pam_h + if (!strcmp(*argv, "use_authtok")) { + params->flags |= F_USE_AUTHTOK; + } else ++ if (!strcmp(*argv, "disable_firstupper_lastdigit_check")) { ++ params->qc.firstupper_lastdigit_check = 0; ++ } else ++ if (!strncmp(*argv, "oldpass_prompt_file=", 20)) { ++ int n; ++ FILE *fp = fopen(*argv + 20, "r"); ++ if (fp) { ++ n=fread(params->oldpass_prompt_file, sizeof(char), FILE_LEN, fp); ++ if (0==n || ferror(fp)!=0 ) { ++ memset(params->oldpass_prompt_file, '\0', FILE_LEN+1); ++ } ++ else { ++ feof(fp)? (params->oldpass_prompt_file[n-1]='\0'): (params->oldpass_prompt_file[n]='\0'); ++ } ++ fclose(fp); ++ } ++ } else ++ if (!strncmp(*argv, "newpass_prompt_file=", 20)) { ++ int n; ++ FILE *fp = fopen(*argv + 20, "r"); ++ if (fp) { ++ n=fread(params->newpass_prompt_file, sizeof(char), FILE_LEN, fp); ++ if (0==n || ferror(fp)!=0 ) { ++ memset(params->newpass_prompt_file, '\0', FILE_LEN+1); ++ } ++ else { ++ feof(fp)? (params->newpass_prompt_file[n-1]='\0'): (params->newpass_prompt_file[n]='\0'); ++ } ++ fclose(fp); ++ } ++ } else + break; + argc--; argv++; + } +@@ -406,7 +442,7 @@ PAM_EXTERN int pam_sm_chauthtok(pam_hand + + if (ask_oldauthtok && !am_root(pamh)) { + status = converse(pamh, PAM_PROMPT_ECHO_OFF, +- PROMPT_OLDPASS, &resp); ++ strlen(params.oldpass_prompt_file) ? params.oldpass_prompt_file : PROMPT_OLDPASS, &resp); + + if (status == PAM_SUCCESS) { + if (resp && resp->resp) { +@@ -540,8 +576,7 @@ retry: + MESSAGE_RANDOMFAILED : MESSAGE_MISCONFIGURED); + return PAM_AUTHTOK_ERR; + } +- +- status = converse(pamh, PAM_PROMPT_ECHO_OFF, PROMPT_NEWPASS1, &resp); ++ status = converse(pamh, PAM_PROMPT_ECHO_OFF, strlen(params.newpass_prompt_file) ? params.newpass_prompt_file : PROMPT_NEWPASS1, &resp); + if (status == PAM_SUCCESS && (!resp || !resp->resp)) + status = PAM_AUTHTOK_ERR; + +diff -urNp pam_passwdqc-1.0.5-orig/passwdqc_check.c pam_passwdqc-1.0.5/passwdqc_check.c +--- pam_passwdqc-1.0.5-orig/passwdqc_check.c 2008-02-12 14:31:52.000000000 -0500 ++++ pam_passwdqc-1.0.5/passwdqc_check.c 2009-09-25 22:45:16.080842425 -0400 +@@ -90,10 +90,12 @@ static int is_simple(passwdqc_params_t * + + /* Upper case characters and digits used in common ways don't increase the + * strength of a password */ +- c = (unsigned char)newpass[0]; +- if (uppers && isascii(c) && isupper(c)) uppers--; +- c = (unsigned char)newpass[length - 1]; +- if (digits && isascii(c) && isdigit(c)) digits--; ++ if (params->firstupper_lastdigit_check) { ++ c = (unsigned char)newpass[0]; ++ if (uppers && isascii(c) && isupper(c)) uppers--; ++ c = (unsigned char)newpass[length - 1]; ++ if (digits && isascii(c) && isdigit(c)) digits--; ++ } + + /* Count the number of different character classes we've seen. We assume + * that there are no non-ASCII characters for digits. */ +diff -urNp pam_passwdqc-1.0.5-orig/passwdqc.h pam_passwdqc-1.0.5/passwdqc.h +--- pam_passwdqc-1.0.5-orig/passwdqc.h 2008-02-12 14:30:00.000000000 -0500 ++++ pam_passwdqc-1.0.5/passwdqc.h 2009-09-25 14:08:56.214695858 -0400 +@@ -7,12 +7,15 @@ + + #include <pwd.h> + ++#define FILE_LEN 4096 /* Max file len = 4096 */ ++ + typedef struct { + int min[5], max; + int passphrase_words; + int match_length; + int similar_deny; + int random_bits; ++ int firstupper_lastdigit_check; + } passwdqc_params_t; + + extern char _passwdqc_wordset_4k[0x1000][6]; +diff -urNp pam_passwdqc-1.0.5-orig/README pam_passwdqc-1.0.5/README +--- pam_passwdqc-1.0.5-orig/README 2008-02-12 14:43:33.000000000 -0500 ++++ pam_passwdqc-1.0.5/README 2009-09-28 12:12:40.251016423 -0400 +@@ -41,9 +41,12 @@ words (see the "passphrase" option below + N3 and N4 are used for passwords consisting of characters from three + and four character classes, respectively. + ++ disable_firstupper_lastdigit_check [] ++ + When calculating the number of character classes, upper-case letters + used as the first character and digits used as the last character of a +-password are not counted. ++password are not counted. To disable this, you can specify ++"disable_firstupper_lastdigit_check". + + In addition to being sufficiently long, passwords are required to + contain enough different characters for the character classes and +@@ -142,6 +145,14 @@ This disables user interaction within pa + the only difference between "use_first_pass" and "use_authtok" is that + the former is incompatible with "ask_oldauthtok". + ++ oldpass_prompt_file=absolute-file-path [] ++ newpass_prompt_file=abosulte-file-path [] ++ ++The options "oldpass_prompt_file" and "newpass_prompt_file" can be used ++to override prompts while requesting old password and new password, ++respectively. The maximum size of the prompt files can be 4096 ++characters at present. If the file size is more than 4096 characters, the ++output will be truncated to 4096 characters. + -- + Solar Designer <solar at openwall.com> + diff --git a/meta-oe/recipes-support/pam-passwdqc/files/7000Makefile-fix-CC.patch b/meta-oe/recipes-support/pam-passwdqc/files/7000Makefile-fix-CC.patch new file mode 100644 index 0000000000..536fba1329 --- /dev/null +++ b/meta-oe/recipes-support/pam-passwdqc/files/7000Makefile-fix-CC.patch @@ -0,0 +1,11 @@ +--- pam_passwdqc-1.0.5/Makefile.orig 2012-10-02 20:53:55.443592886 +0900 ++++ pam_passwdqc-1.0.5/Makefile 2012-10-02 20:54:19.076108001 +0900 +@@ -2,7 +2,7 @@ + # Copyright (c) 2000-2003,2005 by Solar Designer. See LICENSE. + # + +-CC = gcc ++#CC = gcc + LD = $(CC) + RM = rm -f + MKDIR = mkdir -p diff --git a/meta-oe/recipes-support/pam-passwdqc/pam-passwdqc_1.0.5.bb b/meta-oe/recipes-support/pam-passwdqc/pam-passwdqc_1.0.5.bb new file mode 100644 index 0000000000..4add367d5c --- /dev/null +++ b/meta-oe/recipes-support/pam-passwdqc/pam-passwdqc_1.0.5.bb @@ -0,0 +1,34 @@ +SUMMARY = "Pluggable password quality-control module." +DESCRIPTION = "pam_passwdqc is a simple password strength checking module for \ +PAM-aware password changing programs, such as passwd(1). In addition \ +to checking regular passwords, it offers support for passphrases and \ +can provide randomly generated passwords. All features are optional \ +and can be (re-)configured without rebuilding." + +HOMEPAGE = "http://www.openwall.com/passwdqc/" +SECTION = "System Environment/Base" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e284d013ef08e66d4737f446c5890550" + +SRC_URI = "http://www.openwall.com/pam/modules/pam_passwdqc/pam_passwdqc-1.0.5.tar.gz \ + file://1000patch-219201.patch \ + file://7000Makefile-fix-CC.patch \ + " +SRC_URI[md5sum] = "cd9c014f736158b1a60384a8e2bdc28a" +SRC_URI[sha256sum] = "32528ddf7d8219c788b6e7702361611ff16c6340b6dc0f418ff164aadc4a4a88" + + +S = "${WORKDIR}/pam_passwdqc-${PV}" + +DEPENDS = "libpam" + +EXTRA_OEMAKE = "CFLAGS="${CFLAGS} -Wall -fPIC -DHAVE_SHADOW"" + +do_install() { + oe_runmake install DESTDIR=${D} +} + +FILES_${PN} += "/lib/security/pam_passwdqc.so" +FILES_${PN}-dbg += "/lib/security/.debug" + diff --git a/meta-oe/recipes-support/picocom/picocom_1.6.bb b/meta-oe/recipes-support/picocom/picocom_1.7.bb index 6b5200cdda..8141106bf0 100644 --- a/meta-oe/recipes-support/picocom/picocom_1.6.bb +++ b/meta-oe/recipes-support/picocom/picocom_1.7.bb @@ -4,7 +4,10 @@ LICENSE = "GPLv2+" HOMEPAGE = "http://code.google.com/p/picocom/" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=393a5ca445f6965873eca0259a17f833" -SRC_URI = "http://picocom.googlecode.com/files/picocom-1.6.tar.gz" +SRC_URI = "http://picocom.googlecode.com/files/picocom-${PV}.tar.gz" + +SRC_URI[md5sum] = "8eaba1d31407e8408674d6e57af447ef" +SRC_URI[sha256sum] = "d0f31c8f7a215a76922d30c81a52b9a2348c89e02a84935517002b3bc2c1129e" CPPFLAGS_append = '-DVERSION_STR=\\"${PV}\\" -DUUCP_LOCK_DIR=\\"/var/lock\\" -DHIGH_BAUD' @@ -13,5 +16,3 @@ do_install () { install -m 0755 ${PN} pcasc pcxm pcym pczm ${D}${bindir}/ } -SRC_URI[md5sum] = "426c3d30b82cbc80b0dafdccd6020c6c" -SRC_URI[sha256sum] = "df5774072de805ff06c6b1420dbcc932b1b00e919b49e22a7be14bcad5a0b3a1" diff --git a/meta-oe/recipes-support/pkcs11-helper/pkcs11-helper_1.11.bb b/meta-oe/recipes-support/pkcs11-helper/pkcs11-helper_1.11.bb new file mode 100644 index 0000000000..a833297500 --- /dev/null +++ b/meta-oe/recipes-support/pkcs11-helper/pkcs11-helper_1.11.bb @@ -0,0 +1,29 @@ +SUMMARY = "A library for using PKCS" +DESCRIPTION = "pkcs11-helper is a library that simplifies the interaction with PKCS \ +providers for end-user applications using a simple API and optional OpenSSL \ +engine. The library allows using multiple PKCS enumerating available token \ +certificates, or selecting a certificate directly by serialized id, handling \ +card removal and card insert events, handling card ie-insert to a different \ +slot, supporting session expiration and much more all using a simple API." + +HOMEPAGE = "http://www.opensc-project.org/pkcs11-helper/" +SECTION = "Development/Libraries" + +LICENSE = "GPLv2 & BSD" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=4948810631bcac142af53d32df5b6ee1 \ + file://COPYING.GPL;md5=8a71d0475d08eee76d8b6d0c6dbec543 \ + file://COPYING.BSD;md5=f79f90ea7a106796af80b5d05f1f8da1 \ +" +SRC_URI = "git://github.com/OpenSC/${BPN}.git" +SRC_URI[md5sum] = "9f62af9f475901b89355266141306673" +SRC_URI[sha256sum] = "494ec59c93e7c56c528f335d9353849e2e7c94a6b1b41c89604694e738113386" + +S = "${WORKDIR}/git" +SRCREV = "e7adf8f35be232a4f04c53b4ac409be52792093e" + +DEPENDS = "zlib nettle gnutls gmp openssl" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--disable-static" diff --git a/meta-oe/recipes-support/postgresql/files/0002-Predict-integer-overflow-to-avoid-buffer-overruns.patch b/meta-oe/recipes-support/postgresql/files/0002-Predict-integer-overflow-to-avoid-buffer-overruns.patch new file mode 100644 index 0000000000..c8b4c80aa3 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0002-Predict-integer-overflow-to-avoid-buffer-overruns.patch @@ -0,0 +1,605 @@ +From 12bbce15d93d7692ddff1405aa04b67f8a327f57 Mon Sep 17 00:00:00 2001 +From: Noah Misch <noah@leadboat.com> +Date: Mon, 17 Feb 2014 09:33:31 -0500 +Subject: [PATCH] Predict integer overflow to avoid buffer overruns. + +commit 12bbce15d93d7692ddff1405aa04b67f8a327f57 REL9_2_STABLE + +Several functions, mostly type input functions, calculated an allocation +size such that the calculation wrapped to a small positive value when +arguments implied a sufficiently-large requirement. Writes past the end +of the inadvertent small allocation followed shortly thereafter. +Coverity identified the path_in() vulnerability; code inspection led to +the rest. In passing, add check_stack_depth() to prevent stack overflow +in related functions. + +Back-patch to 8.4 (all supported versions). The non-comment hstore +changes touch code that did not exist in 8.4, so that part stops at 9.0. + +Noah Misch and Heikki Linnakangas, reviewed by Tom Lane. + +Security: CVE-2014-0064 + +Upstream-Status: Backport + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + contrib/hstore/hstore.h | 15 ++++++++++++--- + contrib/hstore/hstore_io.c | 21 +++++++++++++++++++++ + contrib/hstore/hstore_op.c | 15 +++++++++++++++ + contrib/intarray/_int.h | 2 ++ + contrib/intarray/_int_bool.c | 9 +++++++++ + contrib/ltree/ltree.h | 3 +++ + contrib/ltree/ltree_io.c | 11 +++++++++++ + contrib/ltree/ltxtquery_io.c | 13 ++++++++++++- + src/backend/utils/adt/geo_ops.c | 30 ++++++++++++++++++++++++++++-- + src/backend/utils/adt/tsquery.c | 7 ++++++- + src/backend/utils/adt/tsquery_util.c | 5 +++++ + src/backend/utils/adt/txid.c | 15 +++++---------- + src/backend/utils/adt/varbit.c | 32 ++++++++++++++++++++++++++++++-- + src/include/tsearch/ts_type.h | 3 +++ + src/include/utils/varbit.h | 7 +++++++ + 15 files changed, 169 insertions(+), 19 deletions(-) + +diff --git a/contrib/hstore/hstore.h b/contrib/hstore/hstore.h +index 8906397..4e55f6e 100644 +--- a/contrib/hstore/hstore.h ++++ b/contrib/hstore/hstore.h +@@ -49,9 +49,12 @@ typedef struct + } HStore; + + /* +- * it's not possible to get more than 2^28 items into an hstore, +- * so we reserve the top few bits of the size field. See hstore_compat.c +- * for one reason why. Some bits are left for future use here. ++ * It's not possible to get more than 2^28 items into an hstore, so we reserve ++ * the top few bits of the size field. See hstore_compat.c for one reason ++ * why. Some bits are left for future use here. MaxAllocSize makes the ++ * practical count limit slightly more than 2^28 / 3, or INT_MAX / 24, the ++ * limit for an hstore full of 4-byte keys and null values. Therefore, we ++ * don't explicitly check the format-imposed limit. + */ + #define HS_FLAG_NEWVERSION 0x80000000 + +@@ -59,6 +62,12 @@ typedef struct + #define HS_SETCOUNT(hsp_,c_) ((hsp_)->size_ = (c_) | HS_FLAG_NEWVERSION) + + ++/* ++ * "x" comes from an existing HS_COUNT() (as discussed, <= INT_MAX/24) or a ++ * Pairs array length (due to MaxAllocSize, <= INT_MAX/40). "lenstr" is no ++ * more than INT_MAX, that extreme case arising in hstore_from_arrays(). ++ * Therefore, this calculation is limited to about INT_MAX / 5 + INT_MAX. ++ */ + #define HSHRDSIZE (sizeof(HStore)) + #define CALCDATASIZE(x, lenstr) ( (x) * 2 * sizeof(HEntry) + HSHRDSIZE + (lenstr) ) + +diff --git a/contrib/hstore/hstore_io.c b/contrib/hstore/hstore_io.c +index dde6c4b..5bcdc95 100644 +--- a/contrib/hstore/hstore_io.c ++++ b/contrib/hstore/hstore_io.c +@@ -9,6 +9,7 @@ + #include "funcapi.h" + #include "libpq/pqformat.h" + #include "utils/lsyscache.h" ++#include "utils/memutils.h" + #include "utils/typcache.h" + + #include "hstore.h" +@@ -437,6 +438,11 @@ hstore_recv(PG_FUNCTION_ARGS) + PG_RETURN_POINTER(out); + } + ++ if (pcount < 0 || pcount > MaxAllocSize / sizeof(Pairs)) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("number of pairs (%d) exceeds the maximum allowed (%d)", ++ pcount, (int) (MaxAllocSize / sizeof(Pairs))))); + pairs = palloc(pcount * sizeof(Pairs)); + + for (i = 0; i < pcount; ++i) +@@ -552,6 +558,13 @@ hstore_from_arrays(PG_FUNCTION_ARGS) + TEXTOID, -1, false, 'i', + &key_datums, &key_nulls, &key_count); + ++ /* see discussion in hstoreArrayToPairs() */ ++ if (key_count > MaxAllocSize / sizeof(Pairs)) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("number of pairs (%d) exceeds the maximum allowed (%d)", ++ key_count, (int) (MaxAllocSize / sizeof(Pairs))))); ++ + /* value_array might be NULL */ + + if (PG_ARGISNULL(1)) +@@ -674,6 +687,13 @@ hstore_from_array(PG_FUNCTION_ARGS) + + count = in_count / 2; + ++ /* see discussion in hstoreArrayToPairs() */ ++ if (count > MaxAllocSize / sizeof(Pairs)) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("number of pairs (%d) exceeds the maximum allowed (%d)", ++ count, (int) (MaxAllocSize / sizeof(Pairs))))); ++ + pairs = palloc(count * sizeof(Pairs)); + + for (i = 0; i < count; ++i) +@@ -805,6 +825,7 @@ hstore_from_record(PG_FUNCTION_ARGS) + my_extra->ncolumns = ncolumns; + } + ++ Assert(ncolumns <= MaxTupleAttributeNumber); /* thus, no overflow */ + pairs = palloc(ncolumns * sizeof(Pairs)); + + if (rec) +diff --git a/contrib/hstore/hstore_op.c b/contrib/hstore/hstore_op.c +index fee2c3c..8de175a 100644 +--- a/contrib/hstore/hstore_op.c ++++ b/contrib/hstore/hstore_op.c +@@ -7,6 +7,7 @@ + #include "catalog/pg_type.h" + #include "funcapi.h" + #include "utils/builtins.h" ++#include "utils/memutils.h" + + #include "hstore.h" + +@@ -89,6 +90,19 @@ hstoreArrayToPairs(ArrayType *a, int *npairs) + return NULL; + } + ++ /* ++ * A text array uses at least eight bytes per element, so any overflow in ++ * "key_count * sizeof(Pairs)" is small enough for palloc() to catch. ++ * However, credible improvements to the array format could invalidate ++ * that assumption. Therefore, use an explicit check rather than relying ++ * on palloc() to complain. ++ */ ++ if (key_count > MaxAllocSize / sizeof(Pairs)) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("number of pairs (%d) exceeds the maximum allowed (%d)", ++ key_count, (int) (MaxAllocSize / sizeof(Pairs))))); ++ + key_pairs = palloc(sizeof(Pairs) * key_count); + + for (i = 0, j = 0; i < key_count; i++) +@@ -647,6 +661,7 @@ hstore_slice_to_hstore(PG_FUNCTION_ARGS) + PG_RETURN_POINTER(out); + } + ++ /* hstoreArrayToPairs() checked overflow */ + out_pairs = palloc(sizeof(Pairs) * nkeys); + bufsiz = 0; + +diff --git a/contrib/intarray/_int.h b/contrib/intarray/_int.h +index 11c0698..755cd9e 100644 +--- a/contrib/intarray/_int.h ++++ b/contrib/intarray/_int.h +@@ -5,6 +5,7 @@ + #define ___INT_H__ + + #include "utils/array.h" ++#include "utils/memutils.h" + + /* number ranges for compression */ + #define MAXNUMRANGE 100 +@@ -137,6 +138,7 @@ typedef struct QUERYTYPE + + #define HDRSIZEQT offsetof(QUERYTYPE, items) + #define COMPUTESIZE(size) ( HDRSIZEQT + (size) * sizeof(ITEM) ) ++#define QUERYTYPEMAXITEMS ((MaxAllocSize - HDRSIZEQT) / sizeof(ITEM)) + #define GETQUERY(x) ( (x)->items ) + + /* "type" codes for ITEM */ +diff --git a/contrib/intarray/_int_bool.c b/contrib/intarray/_int_bool.c +index 4e63f6d..62294d1 100644 +--- a/contrib/intarray/_int_bool.c ++++ b/contrib/intarray/_int_bool.c +@@ -451,6 +451,9 @@ boolop(PG_FUNCTION_ARGS) + static void + findoprnd(ITEM *ptr, int4 *pos) + { ++ /* since this function recurses, it could be driven to stack overflow. */ ++ check_stack_depth(); ++ + #ifdef BS_DEBUG + elog(DEBUG3, (ptr[*pos].type == OPR) ? + "%d %c" : "%d %d", *pos, ptr[*pos].val); +@@ -511,7 +514,13 @@ bqarr_in(PG_FUNCTION_ARGS) + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("empty query"))); + ++ if (state.num > QUERYTYPEMAXITEMS) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("number of query items (%d) exceeds the maximum allowed (%d)", ++ state.num, (int) QUERYTYPEMAXITEMS))); + commonlen = COMPUTESIZE(state.num); ++ + query = (QUERYTYPE *) palloc(commonlen); + SET_VARSIZE(query, commonlen); + query->size = state.num; +diff --git a/contrib/ltree/ltree.h b/contrib/ltree/ltree.h +index aec4458..49e9907 100644 +--- a/contrib/ltree/ltree.h ++++ b/contrib/ltree/ltree.h +@@ -5,6 +5,7 @@ + + #include "fmgr.h" + #include "tsearch/ts_locale.h" ++#include "utils/memutils.h" + + typedef struct + { +@@ -111,6 +112,8 @@ typedef struct + + #define HDRSIZEQT MAXALIGN(VARHDRSZ + sizeof(int4)) + #define COMPUTESIZE(size,lenofoperand) ( HDRSIZEQT + (size) * sizeof(ITEM) + (lenofoperand) ) ++#define LTXTQUERY_TOO_BIG(size,lenofoperand) \ ++ ((size) > (MaxAllocSize - HDRSIZEQT - (lenofoperand)) / sizeof(ITEM)) + #define GETQUERY(x) (ITEM*)( (char*)(x)+HDRSIZEQT ) + #define GETOPERAND(x) ( (char*)GETQUERY(x) + ((ltxtquery*)x)->size * sizeof(ITEM) ) + +diff --git a/contrib/ltree/ltree_io.c b/contrib/ltree/ltree_io.c +index 3e88b81..d64debb 100644 +--- a/contrib/ltree/ltree_io.c ++++ b/contrib/ltree/ltree_io.c +@@ -8,6 +8,7 @@ + #include <ctype.h> + + #include "ltree.h" ++#include "utils/memutils.h" + #include "crc32.h" + + PG_FUNCTION_INFO_V1(ltree_in); +@@ -64,6 +65,11 @@ ltree_in(PG_FUNCTION_ARGS) + ptr += charlen; + } + ++ if (num + 1 > MaxAllocSize / sizeof(nodeitem)) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("number of levels (%d) exceeds the maximum allowed (%d)", ++ num + 1, (int) (MaxAllocSize / sizeof(nodeitem))))); + list = lptr = (nodeitem *) palloc(sizeof(nodeitem) * (num + 1)); + ptr = buf; + while (*ptr) +@@ -228,6 +234,11 @@ lquery_in(PG_FUNCTION_ARGS) + } + + num++; ++ if (num > MaxAllocSize / ITEMSIZE) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("number of levels (%d) exceeds the maximum allowed (%d)", ++ num, (int) (MaxAllocSize / ITEMSIZE)))); + curqlevel = tmpql = (lquery_level *) palloc0(ITEMSIZE * num); + ptr = buf; + while (*ptr) +diff --git a/contrib/ltree/ltxtquery_io.c b/contrib/ltree/ltxtquery_io.c +index 826f4e1..13ea58d 100644 +--- a/contrib/ltree/ltxtquery_io.c ++++ b/contrib/ltree/ltxtquery_io.c +@@ -9,6 +9,7 @@ + + #include "crc32.h" + #include "ltree.h" ++#include "miscadmin.h" + + PG_FUNCTION_INFO_V1(ltxtq_in); + Datum ltxtq_in(PG_FUNCTION_ARGS); +@@ -213,6 +214,9 @@ makepol(QPRS_STATE *state) + int4 lenstack = 0; + uint16 flag = 0; + ++ /* since this function recurses, it could be driven to stack overflow */ ++ check_stack_depth(); ++ + while ((type = gettoken_query(state, &val, &lenval, &strval, &flag)) != END) + { + switch (type) +@@ -277,6 +281,9 @@ makepol(QPRS_STATE *state) + static void + findoprnd(ITEM *ptr, int4 *pos) + { ++ /* since this function recurses, it could be driven to stack overflow. */ ++ check_stack_depth(); ++ + if (ptr[*pos].type == VAL || ptr[*pos].type == VALTRUE) + { + ptr[*pos].left = 0; +@@ -341,8 +348,12 @@ queryin(char *buf) + errmsg("syntax error"), + errdetail("Empty query."))); + +- /* make finish struct */ ++ if (LTXTQUERY_TOO_BIG(state.num, state.sumlen)) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("ltxtquery is too large"))); + commonlen = COMPUTESIZE(state.num, state.sumlen); ++ + query = (ltxtquery *) palloc(commonlen); + SET_VARSIZE(query, commonlen); + query->size = state.num; +diff --git a/src/backend/utils/adt/geo_ops.c b/src/backend/utils/adt/geo_ops.c +index ac7b4b8..7ebcaaa 100644 +--- a/src/backend/utils/adt/geo_ops.c ++++ b/src/backend/utils/adt/geo_ops.c +@@ -1403,6 +1403,7 @@ path_in(PG_FUNCTION_ARGS) + char *s; + int npts; + int size; ++ int base_size; + int depth = 0; + + if ((npts = pair_count(str, ',')) <= 0) +@@ -1421,7 +1422,15 @@ path_in(PG_FUNCTION_ARGS) + depth++; + } + +- size = offsetof(PATH, p[0]) +sizeof(path->p[0]) * npts; ++ base_size = sizeof(path->p[0]) * npts; ++ size = offsetof(PATH, p[0]) + base_size; ++ ++ /* Check for integer overflow */ ++ if (base_size / npts != sizeof(path->p[0]) || size <= base_size) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("too many points requested"))); ++ + path = (PATH *) palloc(size); + + SET_VARSIZE(path, size); +@@ -3465,6 +3474,7 @@ poly_in(PG_FUNCTION_ARGS) + POLYGON *poly; + int npts; + int size; ++ int base_size; + int isopen; + char *s; + +@@ -3473,7 +3483,15 @@ poly_in(PG_FUNCTION_ARGS) + (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION), + errmsg("invalid input syntax for type polygon: \"%s\"", str))); + +- size = offsetof(POLYGON, p[0]) +sizeof(poly->p[0]) * npts; ++ base_size = sizeof(poly->p[0]) * npts; ++ size = offsetof(POLYGON, p[0]) + base_size; ++ ++ /* Check for integer overflow */ ++ if (base_size / npts != sizeof(poly->p[0]) || size <= base_size) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("too many points requested"))); ++ + poly = (POLYGON *) palloc0(size); /* zero any holes */ + + SET_VARSIZE(poly, size); +@@ -4379,6 +4397,10 @@ path_poly(PG_FUNCTION_ARGS) + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("open path cannot be converted to polygon"))); + ++ /* ++ * Never overflows: the old size fit in MaxAllocSize, and the new size is ++ * just a small constant larger. ++ */ + size = offsetof(POLYGON, p[0]) +sizeof(poly->p[0]) * path->npts; + poly = (POLYGON *) palloc(size); + +@@ -4484,6 +4506,10 @@ poly_path(PG_FUNCTION_ARGS) + int size; + int i; + ++ /* ++ * Never overflows: the old size fit in MaxAllocSize, and the new size is ++ * smaller by a small constant. ++ */ + size = offsetof(PATH, p[0]) +sizeof(path->p[0]) * poly->npts; + path = (PATH *) palloc(size); + +diff --git a/src/backend/utils/adt/tsquery.c b/src/backend/utils/adt/tsquery.c +index 6e1f8cf..1322b5e 100644 +--- a/src/backend/utils/adt/tsquery.c ++++ b/src/backend/utils/adt/tsquery.c +@@ -515,8 +515,13 @@ parse_tsquery(char *buf, + return query; + } + +- /* Pack the QueryItems in the final TSQuery struct to return to caller */ ++ if (TSQUERY_TOO_BIG(list_length(state.polstr), state.sumlen)) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("tsquery is too large"))); + commonlen = COMPUTESIZE(list_length(state.polstr), state.sumlen); ++ ++ /* Pack the QueryItems in the final TSQuery struct to return to caller */ + query = (TSQuery) palloc0(commonlen); + SET_VARSIZE(query, commonlen); + query->size = list_length(state.polstr); +diff --git a/src/backend/utils/adt/tsquery_util.c b/src/backend/utils/adt/tsquery_util.c +index 0724d33..9003702 100644 +--- a/src/backend/utils/adt/tsquery_util.c ++++ b/src/backend/utils/adt/tsquery_util.c +@@ -333,6 +333,11 @@ QTN2QT(QTNode *in) + QTN2QTState state; + + cntsize(in, &sumlen, &nnode); ++ ++ if (TSQUERY_TOO_BIG(nnode, sumlen)) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("tsquery is too large"))); + len = COMPUTESIZE(nnode, sumlen); + + out = (TSQuery) palloc0(len); +diff --git a/src/backend/utils/adt/txid.c b/src/backend/utils/adt/txid.c +index 08a8c89..c71daaf 100644 +--- a/src/backend/utils/adt/txid.c ++++ b/src/backend/utils/adt/txid.c +@@ -27,6 +27,7 @@ + #include "miscadmin.h" + #include "libpq/pqformat.h" + #include "utils/builtins.h" ++#include "utils/memutils.h" + #include "utils/snapmgr.h" + + +@@ -66,6 +67,8 @@ typedef struct + + #define TXID_SNAPSHOT_SIZE(nxip) \ + (offsetof(TxidSnapshot, xip) + sizeof(txid) * (nxip)) ++#define TXID_SNAPSHOT_MAX_NXIP \ ++ ((MaxAllocSize - offsetof(TxidSnapshot, xip)) / sizeof(txid)) + + /* + * Epoch values from xact.c +@@ -445,20 +448,12 @@ txid_snapshot_recv(PG_FUNCTION_ARGS) + txid last = 0; + int nxip; + int i; +- int avail; +- int expect; + txid xmin, + xmax; + +- /* +- * load nxip and check for nonsense. +- * +- * (nxip > avail) check is against int overflows in 'expect'. +- */ ++ /* load and validate nxip */ + nxip = pq_getmsgint(buf, 4); +- avail = buf->len - buf->cursor; +- expect = 8 + 8 + nxip * 8; +- if (nxip < 0 || nxip > avail || expect > avail) ++ if (nxip < 0 || nxip > TXID_SNAPSHOT_MAX_NXIP) + goto bad_format; + + xmin = pq_getmsgint64(buf); +diff --git a/src/backend/utils/adt/varbit.c b/src/backend/utils/adt/varbit.c +index 2bcf5b8..0deefda 100644 +--- a/src/backend/utils/adt/varbit.c ++++ b/src/backend/utils/adt/varbit.c +@@ -148,12 +148,22 @@ bit_in(PG_FUNCTION_ARGS) + sp = input_string; + } + ++ /* ++ * Determine bitlength from input string. MaxAllocSize ensures a regular ++ * input is small enough, but we must check hex input. ++ */ + slen = strlen(sp); +- /* Determine bitlength from input string */ + if (bit_not_hex) + bitlen = slen; + else ++ { ++ if (slen > VARBITMAXLEN / 4) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("bit string length exceeds the maximum allowed (%d)", ++ VARBITMAXLEN))); + bitlen = slen * 4; ++ } + + /* + * Sometimes atttypmod is not supplied. If it is supplied we need to make +@@ -450,12 +460,22 @@ varbit_in(PG_FUNCTION_ARGS) + sp = input_string; + } + ++ /* ++ * Determine bitlength from input string. MaxAllocSize ensures a regular ++ * input is small enough, but we must check hex input. ++ */ + slen = strlen(sp); +- /* Determine bitlength from input string */ + if (bit_not_hex) + bitlen = slen; + else ++ { ++ if (slen > VARBITMAXLEN / 4) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("bit string length exceeds the maximum allowed (%d)", ++ VARBITMAXLEN))); + bitlen = slen * 4; ++ } + + /* + * Sometimes atttypmod is not supplied. If it is supplied we need to make +@@ -535,6 +555,9 @@ varbit_in(PG_FUNCTION_ARGS) + /* + * varbit_out - + * Prints the string as bits to preserve length accurately ++ * ++ * XXX varbit_recv() and hex input to varbit_in() can load a value that this ++ * cannot emit. Consider using hex output for such values. + */ + Datum + varbit_out(PG_FUNCTION_ARGS) +@@ -944,6 +967,11 @@ bit_catenate(VarBit *arg1, VarBit *arg2) + bitlen1 = VARBITLEN(arg1); + bitlen2 = VARBITLEN(arg2); + ++ if (bitlen1 > VARBITMAXLEN - bitlen2) ++ ereport(ERROR, ++ (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), ++ errmsg("bit string length exceeds the maximum allowed (%d)", ++ VARBITMAXLEN))); + bytelen = VARBITTOTALLEN(bitlen1 + bitlen2); + + result = (VarBit *) palloc(bytelen); +diff --git a/src/include/tsearch/ts_type.h b/src/include/tsearch/ts_type.h +index 3adc336..9ee5610 100644 +--- a/src/include/tsearch/ts_type.h ++++ b/src/include/tsearch/ts_type.h +@@ -13,6 +13,7 @@ + #define _PG_TSTYPE_H_ + + #include "fmgr.h" ++#include "utils/memutils.h" + #include "utils/pg_crc.h" + + +@@ -244,6 +245,8 @@ typedef TSQueryData *TSQuery; + * QueryItems, and lenofoperand is the total length of all operands + */ + #define COMPUTESIZE(size, lenofoperand) ( HDRSIZETQ + (size) * sizeof(QueryItem) + (lenofoperand) ) ++#define TSQUERY_TOO_BIG(size, lenofoperand) \ ++ ((size) > (MaxAllocSize - HDRSIZETQ - (lenofoperand)) / sizeof(QueryItem)) + + /* Returns a pointer to the first QueryItem in a TSQuery */ + #define GETQUERY(x) ((QueryItem*)( (char*)(x)+HDRSIZETQ )) +diff --git a/src/include/utils/varbit.h b/src/include/utils/varbit.h +index 52dca8b..61531a8 100644 +--- a/src/include/utils/varbit.h ++++ b/src/include/utils/varbit.h +@@ -15,6 +15,8 @@ + #ifndef VARBIT_H + #define VARBIT_H + ++#include <limits.h> ++ + #include "fmgr.h" + + /* +@@ -53,6 +55,11 @@ typedef struct + /* Number of bytes needed to store a bit string of a given length */ + #define VARBITTOTALLEN(BITLEN) (((BITLEN) + BITS_PER_BYTE-1)/BITS_PER_BYTE + \ + VARHDRSZ + VARBITHDRSZ) ++/* ++ * Maximum number of bits. Several code sites assume no overflow from ++ * computing bitlen + X; VARBITTOTALLEN() has the largest such X. ++ */ ++#define VARBITMAXLEN (INT_MAX - BITS_PER_BYTE + 1) + /* pointer beyond the end of the bit string (like end() in STL containers) */ + #define VARBITEND(PTR) (((bits8 *) (PTR)) + VARSIZE(PTR)) + /* Mask that will cover exactly one byte, i.e. BITS_PER_BYTE bits */ +-- +1.7.5.4 + diff --git a/meta-oe/recipes-support/postgresql/files/0003-Shore-up-ADMIN-OPTION-restrictions.patch b/meta-oe/recipes-support/postgresql/files/0003-Shore-up-ADMIN-OPTION-restrictions.patch new file mode 100644 index 0000000000..abbe142495 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0003-Shore-up-ADMIN-OPTION-restrictions.patch @@ -0,0 +1,273 @@ +From 15a8f97b9d16aaf659f58c981242b9da591cf24c Mon Sep 17 00:00:00 2001 +From: Noah Misch <noah@leadboat.com> +Date: Mon, 17 Feb 2014 09:33:31 -0500 +Subject: [PATCH] Shore up ADMIN OPTION restrictions. + +commit 15a8f97b9d16aaf659f58c981242b9da591cf24c REL9_2_STABLE + +Granting a role without ADMIN OPTION is supposed to prevent the grantee +from adding or removing members from the granted role. Issuing SET ROLE +before the GRANT bypassed that, because the role itself had an implicit +right to add or remove members. Plug that hole by recognizing that +implicit right only when the session user matches the current role. +Additionally, do not recognize it during a security-restricted operation +or during execution of a SECURITY DEFINER function. The restriction on +SECURITY DEFINER is not security-critical. However, it seems best for a +user testing his own SECURITY DEFINER function to see the same behavior +others will see. Back-patch to 8.4 (all supported versions). + +The SQL standards do not conflate roles and users as PostgreSQL does; +only SQL roles have members, and only SQL users initiate sessions. An +application using PostgreSQL users and roles as SQL users and roles will +never attempt to grant membership in the role that is the session user, +so the implicit right to add or remove members will never arise. + +The security impact was mostly that a role member could revoke access +from others, contrary to the wishes of his own grantor. Unapproved role +member additions are less notable, because the member can still largely +achieve that by creating a view or a SECURITY DEFINER function. + +Reviewed by Andres Freund and Tom Lane. Reported, independently, by +Jonas Sundman and Noah Misch. + +Security: CVE-2014-0060 + + +Upstream-Status: Backport + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + doc/src/sgml/ref/grant.sgml | 12 ++++--- + src/backend/commands/user.c | 11 ++++++- + src/backend/utils/adt/acl.c | 50 ++++++++++++++++++++++++------ + src/test/regress/expected/privileges.out | 36 +++++++++++++++++++++- + src/test/regress/sql/privileges.sql | 29 ++++++++++++++++- + 5 files changed, 120 insertions(+), 18 deletions(-) + +diff --git a/doc/src/sgml/ref/grant.sgml b/doc/src/sgml/ref/grant.sgml +index fb81af4..2b5a843 100644 +--- a/doc/src/sgml/ref/grant.sgml ++++ b/doc/src/sgml/ref/grant.sgml +@@ -396,11 +396,13 @@ GRANT <replaceable class="PARAMETER">role_name</replaceable> [, ...] TO <replace + <para> + If <literal>WITH ADMIN OPTION</literal> is specified, the member can + in turn grant membership in the role to others, and revoke membership +- in the role as well. Without the admin option, ordinary users cannot do +- that. However, +- database superusers can grant or revoke membership in any role to anyone. +- Roles having <literal>CREATEROLE</> privilege can grant or revoke +- membership in any role that is not a superuser. ++ in the role as well. Without the admin option, ordinary users cannot ++ do that. A role is not considered to hold <literal>WITH ADMIN ++ OPTION</literal> on itself, but it may grant or revoke membership in ++ itself from a database session where the session user matches the ++ role. Database superusers can grant or revoke membership in any role ++ to anyone. Roles having <literal>CREATEROLE</> privilege can grant ++ or revoke membership in any role that is not a superuser. + </para> + + <para> +diff --git a/src/backend/commands/user.c b/src/backend/commands/user.c +index a22092c..39bf172 100644 +--- a/src/backend/commands/user.c ++++ b/src/backend/commands/user.c +@@ -1334,7 +1334,16 @@ AddRoleMems(const char *rolename, Oid roleid, + rolename))); + } + +- /* XXX not sure about this check */ ++ /* ++ * The role membership grantor of record has little significance at ++ * present. Nonetheless, inasmuch as users might look to it for a crude ++ * audit trail, let only superusers impute the grant to a third party. ++ * ++ * Before lifting this restriction, give the member == role case of ++ * is_admin_of_role() a fresh look. Ensure that the current role cannot ++ * use an explicit grantor specification to take advantage of the session ++ * user's self-admin right. ++ */ + if (grantorId != GetUserId() && !superuser()) + ereport(ERROR, + (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), +diff --git a/src/backend/utils/adt/acl.c b/src/backend/utils/adt/acl.c +index 1d6ae8b..9a52edb 100644 +--- a/src/backend/utils/adt/acl.c ++++ b/src/backend/utils/adt/acl.c +@@ -4580,6 +4580,11 @@ pg_role_aclcheck(Oid role_oid, Oid roleid, AclMode mode) + { + if (mode & ACL_GRANT_OPTION_FOR(ACL_CREATE)) + { ++ /* ++ * XXX For roleid == role_oid, is_admin_of_role() also examines the ++ * session and call stack. That suits two-argument pg_has_role(), but ++ * it gives the three-argument version a lamentable whimsy. ++ */ + if (is_admin_of_role(roleid, role_oid)) + return ACLCHECK_OK; + } +@@ -4897,11 +4902,9 @@ is_member_of_role_nosuper(Oid member, Oid role) + + + /* +- * Is member an admin of role (directly or indirectly)? That is, is it +- * a member WITH ADMIN OPTION? +- * +- * We could cache the result as for is_member_of_role, but currently this +- * is not used in any performance-critical paths, so we don't. ++ * Is member an admin of role? That is, is member the role itself (subject to ++ * restrictions below), a member (directly or indirectly) WITH ADMIN OPTION, ++ * or a superuser? + */ + bool + is_admin_of_role(Oid member, Oid role) +@@ -4910,14 +4913,41 @@ is_admin_of_role(Oid member, Oid role) + List *roles_list; + ListCell *l; + +- /* Fast path for simple case */ +- if (member == role) +- return true; +- +- /* Superusers have every privilege, so are part of every role */ + if (superuser_arg(member)) + return true; + ++ if (member == role) ++ /* ++ * A role can admin itself when it matches the session user and we're ++ * outside any security-restricted operation, SECURITY DEFINER or ++ * similar context. SQL-standard roles cannot self-admin. However, ++ * SQL-standard users are distinct from roles, and they are not ++ * grantable like roles: PostgreSQL's role-user duality extends the ++ * standard. Checking for a session user match has the effect of ++ * letting a role self-admin only when it's conspicuously behaving ++ * like a user. Note that allowing self-admin under a mere SET ROLE ++ * would make WITH ADMIN OPTION largely irrelevant; any member could ++ * SET ROLE to issue the otherwise-forbidden command. ++ * ++ * Withholding self-admin in a security-restricted operation prevents ++ * object owners from harnessing the session user identity during ++ * administrative maintenance. Suppose Alice owns a database, has ++ * issued "GRANT alice TO bob", and runs a daily ANALYZE. Bob creates ++ * an alice-owned SECURITY DEFINER function that issues "REVOKE alice ++ * FROM carol". If he creates an expression index calling that ++ * function, Alice will attempt the REVOKE during each ANALYZE. ++ * Checking InSecurityRestrictedOperation() thwarts that attack. ++ * ++ * Withholding self-admin in SECURITY DEFINER functions makes their ++ * behavior independent of the calling user. There's no security or ++ * SQL-standard-conformance need for that restriction, though. ++ * ++ * A role cannot have actual WITH ADMIN OPTION on itself, because that ++ * would imply a membership loop. Therefore, we're done either way. ++ */ ++ return member == GetSessionUserId() && ++ !InLocalUserIdChange() && !InSecurityRestrictedOperation(); ++ + /* + * Find all the roles that member is a member of, including multi-level + * recursion. We build a list in the same way that is_member_of_role does +diff --git a/src/test/regress/expected/privileges.out b/src/test/regress/expected/privileges.out +index e8930cb..bc6d731 100644 +--- a/src/test/regress/expected/privileges.out ++++ b/src/test/regress/expected/privileges.out +@@ -32,7 +32,7 @@ ALTER GROUP regressgroup1 ADD USER regressuser4; + ALTER GROUP regressgroup2 ADD USER regressuser2; -- duplicate + NOTICE: role "regressuser2" is already a member of role "regressgroup2" + ALTER GROUP regressgroup2 DROP USER regressuser2; +-ALTER GROUP regressgroup2 ADD USER regressuser4; ++GRANT regressgroup2 TO regressuser4 WITH ADMIN OPTION; + -- test owner privileges + SET SESSION AUTHORIZATION regressuser1; + SELECT session_user, current_user; +@@ -929,6 +929,40 @@ SELECT has_table_privilege('regressuser1', 'atest4', 'SELECT WITH GRANT OPTION') + t + (1 row) + ++-- Admin options ++SET SESSION AUTHORIZATION regressuser4; ++CREATE FUNCTION dogrant_ok() RETURNS void LANGUAGE sql SECURITY DEFINER AS ++ 'GRANT regressgroup2 TO regressuser5'; ++GRANT regressgroup2 TO regressuser5; -- ok: had ADMIN OPTION ++SET ROLE regressgroup2; ++GRANT regressgroup2 TO regressuser5; -- fails: SET ROLE suspended privilege ++ERROR: must have admin option on role "regressgroup2" ++SET SESSION AUTHORIZATION regressuser1; ++GRANT regressgroup2 TO regressuser5; -- fails: no ADMIN OPTION ++ERROR: must have admin option on role "regressgroup2" ++SELECT dogrant_ok(); -- ok: SECURITY DEFINER conveys ADMIN ++NOTICE: role "regressuser5" is already a member of role "regressgroup2" ++CONTEXT: SQL function "dogrant_ok" statement 1 ++ dogrant_ok ++------------ ++ ++(1 row) ++ ++SET ROLE regressgroup2; ++GRANT regressgroup2 TO regressuser5; -- fails: SET ROLE did not help ++ERROR: must have admin option on role "regressgroup2" ++SET SESSION AUTHORIZATION regressgroup2; ++GRANT regressgroup2 TO regressuser5; -- ok: a role can self-admin ++NOTICE: role "regressuser5" is already a member of role "regressgroup2" ++CREATE FUNCTION dogrant_fails() RETURNS void LANGUAGE sql SECURITY DEFINER AS ++ 'GRANT regressgroup2 TO regressuser5'; ++SELECT dogrant_fails(); -- fails: no self-admin in SECURITY DEFINER ++ERROR: must have admin option on role "regressgroup2" ++CONTEXT: SQL function "dogrant_fails" statement 1 ++DROP FUNCTION dogrant_fails(); ++SET SESSION AUTHORIZATION regressuser4; ++DROP FUNCTION dogrant_ok(); ++REVOKE regressgroup2 FROM regressuser5; + -- has_sequence_privilege tests + \c - + CREATE SEQUENCE x_seq; +diff --git a/src/test/regress/sql/privileges.sql b/src/test/regress/sql/privileges.sql +index d4d328e..5f1018a 100644 +--- a/src/test/regress/sql/privileges.sql ++++ b/src/test/regress/sql/privileges.sql +@@ -37,7 +37,7 @@ ALTER GROUP regressgroup1 ADD USER regressuser4; + + ALTER GROUP regressgroup2 ADD USER regressuser2; -- duplicate + ALTER GROUP regressgroup2 DROP USER regressuser2; +-ALTER GROUP regressgroup2 ADD USER regressuser4; ++GRANT regressgroup2 TO regressuser4 WITH ADMIN OPTION; + + -- test owner privileges + +@@ -581,6 +581,33 @@ SELECT has_table_privilege('regressuser3', 'atest4', 'SELECT'); -- false + SELECT has_table_privilege('regressuser1', 'atest4', 'SELECT WITH GRANT OPTION'); -- true + + ++-- Admin options ++ ++SET SESSION AUTHORIZATION regressuser4; ++CREATE FUNCTION dogrant_ok() RETURNS void LANGUAGE sql SECURITY DEFINER AS ++ 'GRANT regressgroup2 TO regressuser5'; ++GRANT regressgroup2 TO regressuser5; -- ok: had ADMIN OPTION ++SET ROLE regressgroup2; ++GRANT regressgroup2 TO regressuser5; -- fails: SET ROLE suspended privilege ++ ++SET SESSION AUTHORIZATION regressuser1; ++GRANT regressgroup2 TO regressuser5; -- fails: no ADMIN OPTION ++SELECT dogrant_ok(); -- ok: SECURITY DEFINER conveys ADMIN ++SET ROLE regressgroup2; ++GRANT regressgroup2 TO regressuser5; -- fails: SET ROLE did not help ++ ++SET SESSION AUTHORIZATION regressgroup2; ++GRANT regressgroup2 TO regressuser5; -- ok: a role can self-admin ++CREATE FUNCTION dogrant_fails() RETURNS void LANGUAGE sql SECURITY DEFINER AS ++ 'GRANT regressgroup2 TO regressuser5'; ++SELECT dogrant_fails(); -- fails: no self-admin in SECURITY DEFINER ++DROP FUNCTION dogrant_fails(); ++ ++SET SESSION AUTHORIZATION regressuser4; ++DROP FUNCTION dogrant_ok(); ++REVOKE regressgroup2 FROM regressuser5; ++ ++ + -- has_sequence_privilege tests + \c - + +-- +1.7.5.4 + diff --git a/meta-oe/recipes-support/postgresql/files/0004-Prevent-privilege-escalation-in-explicit-calls-to-PL.patch b/meta-oe/recipes-support/postgresql/files/0004-Prevent-privilege-escalation-in-explicit-calls-to-PL.patch new file mode 100644 index 0000000000..cc2183a2ab --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0004-Prevent-privilege-escalation-in-explicit-calls-to-PL.patch @@ -0,0 +1,267 @@ +From 1d701d28a796ea2d1a4d2be9e9ee06209eaea040 Mon Sep 17 00:00:00 2001 +From: Noah Misch <noah@leadboat.com> +Date: Mon, 17 Feb 2014 09:33:31 -0500 +Subject: [PATCH] Prevent privilege escalation in explicit calls to PL + validators. + +commit 1d701d28a796ea2d1a4d2be9e9ee06209eaea040 REL9_2_STABLE + +The primary role of PL validators is to be called implicitly during +CREATE FUNCTION, but they are also normal functions that a user can call +explicitly. Add a permissions check to each validator to ensure that a +user cannot use explicit validator calls to achieve things he could not +otherwise achieve. Back-patch to 8.4 (all supported versions). +Non-core procedural language extensions ought to make the same two-line +change to their own validators. + +Andres Freund, reviewed by Tom Lane and Noah Misch. + +Security: CVE-2014-0061 + +Upstream-Status: Backport +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + doc/src/sgml/plhandler.sgml | 5 ++- + src/backend/catalog/pg_proc.c | 9 ++++ + src/backend/commands/functioncmds.c | 1 - + src/backend/utils/fmgr/fmgr.c | 84 +++++++++++++++++++++++++++++++++++ + src/include/fmgr.h | 1 + + src/pl/plperl/plperl.c | 4 ++ + src/pl/plpgsql/src/pl_handler.c | 3 + + src/pl/plpython/plpy_main.c | 4 ++ + 8 files changed, 109 insertions(+), 2 deletions(-) + +diff --git a/doc/src/sgml/plhandler.sgml b/doc/src/sgml/plhandler.sgml +index 024ef9d..aa4bba3 100644 +--- a/doc/src/sgml/plhandler.sgml ++++ b/doc/src/sgml/plhandler.sgml +@@ -178,7 +178,10 @@ CREATE LANGUAGE plsample + or updated a function written in the procedural language. + The passed-in OID is the OID of the function's <classname>pg_proc</> + row. The validator must fetch this row in the usual way, and do +- whatever checking is appropriate. Typical checks include verifying ++ whatever checking is appropriate. ++ First, call <function>CheckFunctionValidatorAccess()</> to diagnose ++ explicit calls to the validator that the user could not achieve through ++ <command>CREATE FUNCTION</>. Typical checks then include verifying + that the function's argument and result types are supported by the + language, and that the function's body is syntactically correct + in the language. If the validator finds the function to be okay, +diff --git a/src/backend/catalog/pg_proc.c b/src/backend/catalog/pg_proc.c +index 3812408..3124868 100644 +--- a/src/backend/catalog/pg_proc.c ++++ b/src/backend/catalog/pg_proc.c +@@ -718,6 +718,9 @@ fmgr_internal_validator(PG_FUNCTION_ARGS) + Datum tmp; + char *prosrc; + ++ if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid)) ++ PG_RETURN_VOID(); ++ + /* + * We do not honor check_function_bodies since it's unlikely the function + * name will be found later if it isn't there now. +@@ -763,6 +766,9 @@ fmgr_c_validator(PG_FUNCTION_ARGS) + char *prosrc; + char *probin; + ++ if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid)) ++ PG_RETURN_VOID(); ++ + /* + * It'd be most consistent to skip the check if !check_function_bodies, + * but the purpose of that switch is to be helpful for pg_dump loading, +@@ -814,6 +820,9 @@ fmgr_sql_validator(PG_FUNCTION_ARGS) + bool haspolyarg; + int i; + ++ if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid)) ++ PG_RETURN_VOID(); ++ + tuple = SearchSysCache1(PROCOID, ObjectIdGetDatum(funcoid)); + if (!HeapTupleIsValid(tuple)) + elog(ERROR, "cache lookup failed for function %u", funcoid); +diff --git a/src/backend/commands/functioncmds.c b/src/backend/commands/functioncmds.c +index 9ba6dd8..ea74b5e 100644 +--- a/src/backend/commands/functioncmds.c ++++ b/src/backend/commands/functioncmds.c +@@ -997,7 +997,6 @@ CreateFunction(CreateFunctionStmt *stmt, const char *queryString) + prorows); + } + +- + /* + * Guts of function deletion. + * +diff --git a/src/backend/utils/fmgr/fmgr.c b/src/backend/utils/fmgr/fmgr.c +index 2ec63fa..8d6f183 100644 +--- a/src/backend/utils/fmgr/fmgr.c ++++ b/src/backend/utils/fmgr/fmgr.c +@@ -24,6 +24,7 @@ + #include "miscadmin.h" + #include "nodes/nodeFuncs.h" + #include "pgstat.h" ++#include "utils/acl.h" + #include "utils/builtins.h" + #include "utils/fmgrtab.h" + #include "utils/guc.h" +@@ -2445,3 +2446,86 @@ get_call_expr_arg_stable(Node *expr, int argnum) + + return false; + } ++ ++/*------------------------------------------------------------------------- ++ * Support routines for procedural language implementations ++ *------------------------------------------------------------------------- ++ */ ++ ++/* ++ * Verify that a validator is actually associated with the language of a ++ * particular function and that the user has access to both the language and ++ * the function. All validators should call this before doing anything ++ * substantial. Doing so ensures a user cannot achieve anything with explicit ++ * calls to validators that he could not achieve with CREATE FUNCTION or by ++ * simply calling an existing function. ++ * ++ * When this function returns false, callers should skip all validation work ++ * and call PG_RETURN_VOID(). This never happens at present; it is reserved ++ * for future expansion. ++ * ++ * In particular, checking that the validator corresponds to the function's ++ * language allows untrusted language validators to assume they process only ++ * superuser-chosen source code. (Untrusted language call handlers, by ++ * definition, do assume that.) A user lacking the USAGE language privilege ++ * would be unable to reach the validator through CREATE FUNCTION, so we check ++ * that to block explicit calls as well. Checking the EXECUTE privilege on ++ * the function is often superfluous, because most users can clone the ++ * function to get an executable copy. It is meaningful against users with no ++ * database TEMP right and no permanent schema CREATE right, thereby unable to ++ * create any function. Also, if the function tracks persistent state by ++ * function OID or name, validating the original function might permit more ++ * mischief than creating and validating a clone thereof. ++ */ ++bool ++CheckFunctionValidatorAccess(Oid validatorOid, Oid functionOid) ++{ ++ HeapTuple procTup; ++ HeapTuple langTup; ++ Form_pg_proc procStruct; ++ Form_pg_language langStruct; ++ AclResult aclresult; ++ ++ /* Get the function's pg_proc entry */ ++ procTup = SearchSysCache1(PROCOID, ObjectIdGetDatum(functionOid)); ++ if (!HeapTupleIsValid(procTup)) ++ elog(ERROR, "cache lookup failed for function %u", functionOid); ++ procStruct = (Form_pg_proc) GETSTRUCT(procTup); ++ ++ /* ++ * Fetch pg_language entry to know if this is the correct validation ++ * function for that pg_proc entry. ++ */ ++ langTup = SearchSysCache1(LANGOID, ObjectIdGetDatum(procStruct->prolang)); ++ if (!HeapTupleIsValid(langTup)) ++ elog(ERROR, "cache lookup failed for language %u", procStruct->prolang); ++ langStruct = (Form_pg_language) GETSTRUCT(langTup); ++ ++ if (langStruct->lanvalidator != validatorOid) ++ ereport(ERROR, ++ (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), ++ errmsg("language validation function %u called for language %u instead of %u", ++ validatorOid, procStruct->prolang, ++ langStruct->lanvalidator))); ++ ++ /* first validate that we have permissions to use the language */ ++ aclresult = pg_language_aclcheck(procStruct->prolang, GetUserId(), ++ ACL_USAGE); ++ if (aclresult != ACLCHECK_OK) ++ aclcheck_error(aclresult, ACL_KIND_LANGUAGE, ++ NameStr(langStruct->lanname)); ++ ++ /* ++ * Check whether we are allowed to execute the function itself. If we can ++ * execute it, there should be no possible side-effect of ++ * compiling/validation that execution can't have. ++ */ ++ aclresult = pg_proc_aclcheck(functionOid, GetUserId(), ACL_EXECUTE); ++ if (aclresult != ACLCHECK_OK) ++ aclcheck_error(aclresult, ACL_KIND_PROC, NameStr(procStruct->proname)); ++ ++ ReleaseSysCache(procTup); ++ ReleaseSysCache(langTup); ++ ++ return true; ++} +diff --git a/src/include/fmgr.h b/src/include/fmgr.h +index 0a25776..f944cc6 100644 +--- a/src/include/fmgr.h ++++ b/src/include/fmgr.h +@@ -624,6 +624,7 @@ extern Oid get_fn_expr_argtype(FmgrInfo *flinfo, int argnum); + extern Oid get_call_expr_argtype(fmNodePtr expr, int argnum); + extern bool get_fn_expr_arg_stable(FmgrInfo *flinfo, int argnum); + extern bool get_call_expr_arg_stable(fmNodePtr expr, int argnum); ++extern bool CheckFunctionValidatorAccess(Oid validatorOid, Oid functionOid); + + /* + * Routines in dfmgr.c +diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c +index 7c2aee9..49d50c4 100644 +--- a/src/pl/plperl/plperl.c ++++ b/src/pl/plperl/plperl.c +@@ -1847,6 +1847,9 @@ plperl_validator(PG_FUNCTION_ARGS) + bool istrigger = false; + int i; + ++ if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid)) ++ PG_RETURN_VOID(); ++ + /* Get the new function's pg_proc entry */ + tuple = SearchSysCache1(PROCOID, ObjectIdGetDatum(funcoid)); + if (!HeapTupleIsValid(tuple)) +@@ -1926,6 +1929,7 @@ PG_FUNCTION_INFO_V1(plperlu_validator); + Datum + plperlu_validator(PG_FUNCTION_ARGS) + { ++ /* call plperl validator with our fcinfo so it gets our oid */ + return plperl_validator(fcinfo); + } + +diff --git a/src/pl/plpgsql/src/pl_handler.c b/src/pl/plpgsql/src/pl_handler.c +index 022ec3f..00b1a6f 100644 +--- a/src/pl/plpgsql/src/pl_handler.c ++++ b/src/pl/plpgsql/src/pl_handler.c +@@ -227,6 +227,9 @@ plpgsql_validator(PG_FUNCTION_ARGS) + bool istrigger = false; + int i; + ++ if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid)) ++ PG_RETURN_VOID(); ++ + /* Get the new function's pg_proc entry */ + tuple = SearchSysCache1(PROCOID, ObjectIdGetDatum(funcoid)); + if (!HeapTupleIsValid(tuple)) +diff --git a/src/pl/plpython/plpy_main.c b/src/pl/plpython/plpy_main.c +index c4de762..3847847 100644 +--- a/src/pl/plpython/plpy_main.c ++++ b/src/pl/plpython/plpy_main.c +@@ -159,6 +159,9 @@ plpython_validator(PG_FUNCTION_ARGS) + Form_pg_proc procStruct; + bool is_trigger; + ++ if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid)) ++ PG_RETURN_VOID(); ++ + if (!check_function_bodies) + { + PG_RETURN_VOID(); +@@ -184,6 +187,7 @@ plpython_validator(PG_FUNCTION_ARGS) + Datum + plpython2_validator(PG_FUNCTION_ARGS) + { ++ /* call plpython validator with our fcinfo so it gets our oid */ + return plpython_validator(fcinfo); + } + #endif /* PY_MAJOR_VERSION < 3 */ +-- +1.7.5.4 + diff --git a/meta-oe/recipes-support/postgresql/files/0005-Avoid-repeated-name-lookups-during-table-and-index-D.patch b/meta-oe/recipes-support/postgresql/files/0005-Avoid-repeated-name-lookups-during-table-and-index-D.patch new file mode 100644 index 0000000000..f1aa212502 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0005-Avoid-repeated-name-lookups-during-table-and-index-D.patch @@ -0,0 +1,1082 @@ +From 820ab11fbfd508fc75a39c43ad2c1b3e79c4982b Mon Sep 17 00:00:00 2001 +From: Robert Haas <rhaas@postgresql.org> +Date: Mon, 17 Feb 2014 09:33:31 -0500 +Subject: [PATCH] Avoid repeated name lookups during table and index DDL. + +commit 820ab11fbfd508fc75a39c43ad2c1b3e79c4982b REL9_2_STABLE + +If the name lookups come to different conclusions due to concurrent +activity, we might perform some parts of the DDL on a different table +than other parts. At least in the case of CREATE INDEX, this can be +used to cause the permissions checks to be performed against a +different table than the index creation, allowing for a privilege +escalation attack. + +This changes the calling convention for DefineIndex, CreateTrigger, +transformIndexStmt, transformAlterTableStmt, CheckIndexCompatible +(in 9.2 and newer), and AlterTable (in 9.1 and older). In addition, +CheckRelationOwnership is removed in 9.2 and newer and the calling +convention is changed in older branches. A field has also been added +to the Constraint node (FkConstraint in 8.4). Third-party code calling +these functions or using the Constraint node will require updating. + +Report by Andres Freund. Patch by Robert Haas and Andres Freund, +reviewed by Tom Lane. + +Security: CVE-2014-0062 + +Upstream-Status: Backport + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + src/backend/bootstrap/bootparse.y | 17 ++++- + src/backend/catalog/index.c | 10 +-- + src/backend/catalog/pg_constraint.c | 19 +++++ + src/backend/commands/indexcmds.c | 22 ++++-- + src/backend/commands/tablecmds.c | 137 +++++++++++++++++++++++++---------- + src/backend/commands/trigger.c | 28 ++++++-- + src/backend/nodes/copyfuncs.c | 1 + + src/backend/nodes/equalfuncs.c | 1 + + src/backend/nodes/outfuncs.c | 1 + + src/backend/parser/parse_utilcmd.c | 64 ++++++----------- + src/backend/tcop/utility.c | 73 +++++++------------ + src/include/catalog/pg_constraint.h | 1 + + src/include/commands/defrem.h | 4 +- + src/include/commands/tablecmds.h | 2 + + src/include/commands/trigger.h | 2 +- + src/include/nodes/parsenodes.h | 2 + + src/include/parser/parse_utilcmd.h | 5 +- + src/include/tcop/utility.h | 2 - + 18 files changed, 234 insertions(+), 157 deletions(-) + +diff --git a/src/backend/bootstrap/bootparse.y b/src/backend/bootstrap/bootparse.y +index f4a1b8f..eeffb0f 100644 +--- a/src/backend/bootstrap/bootparse.y ++++ b/src/backend/bootstrap/bootparse.y +@@ -27,6 +27,7 @@ + #include "bootstrap/bootstrap.h" + #include "catalog/catalog.h" + #include "catalog/heap.h" ++#include "catalog/namespace.h" + #include "catalog/pg_am.h" + #include "catalog/pg_attribute.h" + #include "catalog/pg_authid.h" +@@ -281,6 +282,7 @@ Boot_DeclareIndexStmt: + XDECLARE INDEX boot_ident oidspec ON boot_ident USING boot_ident LPAREN boot_index_params RPAREN + { + IndexStmt *stmt = makeNode(IndexStmt); ++ Oid relationId; + + do_start(); + +@@ -302,7 +304,12 @@ Boot_DeclareIndexStmt: + stmt->initdeferred = false; + stmt->concurrent = false; + +- DefineIndex(stmt, ++ /* locks and races need not concern us in bootstrap mode */ ++ relationId = RangeVarGetRelid(stmt->relation, NoLock, ++ false); ++ ++ DefineIndex(relationId, ++ stmt, + $4, + false, + false, +@@ -316,6 +323,7 @@ Boot_DeclareUniqueIndexStmt: + XDECLARE UNIQUE INDEX boot_ident oidspec ON boot_ident USING boot_ident LPAREN boot_index_params RPAREN + { + IndexStmt *stmt = makeNode(IndexStmt); ++ Oid relationId; + + do_start(); + +@@ -337,7 +345,12 @@ Boot_DeclareUniqueIndexStmt: + stmt->initdeferred = false; + stmt->concurrent = false; + +- DefineIndex(stmt, ++ /* locks and races need not concern us in bootstrap mode */ ++ relationId = RangeVarGetRelid(stmt->relation, NoLock, ++ false); ++ ++ DefineIndex(relationId, ++ stmt, + $5, + false, + false, +diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c +index 7d6346a..ca8acf3 100644 +--- a/src/backend/catalog/index.c ++++ b/src/backend/catalog/index.c +@@ -1202,18 +1202,13 @@ index_constraint_create(Relation heapRelation, + */ + if (deferrable) + { +- RangeVar *heapRel; + CreateTrigStmt *trigger; + +- heapRel = makeRangeVar(get_namespace_name(namespaceId), +- pstrdup(RelationGetRelationName(heapRelation)), +- -1); +- + trigger = makeNode(CreateTrigStmt); + trigger->trigname = (constraintType == CONSTRAINT_PRIMARY) ? + "PK_ConstraintTrigger" : + "Unique_ConstraintTrigger"; +- trigger->relation = heapRel; ++ trigger->relation = NULL; + trigger->funcname = SystemFuncName("unique_key_recheck"); + trigger->args = NIL; + trigger->row = true; +@@ -1226,7 +1221,8 @@ index_constraint_create(Relation heapRelation, + trigger->initdeferred = initdeferred; + trigger->constrrel = NULL; + +- (void) CreateTrigger(trigger, NULL, conOid, indexRelationId, true); ++ (void) CreateTrigger(trigger, NULL, RelationGetRelid(heapRelation), ++ InvalidOid, conOid, indexRelationId, true); + } + + /* +diff --git a/src/backend/catalog/pg_constraint.c b/src/backend/catalog/pg_constraint.c +index 107a780..08a94cf 100644 +--- a/src/backend/catalog/pg_constraint.c ++++ b/src/backend/catalog/pg_constraint.c +@@ -746,6 +746,25 @@ AlterConstraintNamespaces(Oid ownerId, Oid oldNspId, + } + + /* ++ * get_constraint_relation_oids ++ * Find the IDs of the relations to which a constraint refers. ++ */ ++void ++get_constraint_relation_oids(Oid constraint_oid, Oid *conrelid, Oid *confrelid) ++{ ++ HeapTuple tup; ++ Form_pg_constraint con; ++ ++ tup = SearchSysCache1(CONSTROID, ObjectIdGetDatum(constraint_oid)); ++ if (!HeapTupleIsValid(tup)) /* should not happen */ ++ elog(ERROR, "cache lookup failed for constraint %u", constraint_oid); ++ con = (Form_pg_constraint) GETSTRUCT(tup); ++ *conrelid = con->conrelid; ++ *confrelid = con->confrelid; ++ ReleaseSysCache(tup); ++} ++ ++/* + * get_relation_constraint_oid + * Find a constraint on the specified relation with the specified name. + * Returns constraint's OID. +diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c +index f3ee278..ec5fb0d 100644 +--- a/src/backend/commands/indexcmds.c ++++ b/src/backend/commands/indexcmds.c +@@ -111,7 +111,6 @@ static void RangeVarCallbackForReindexIndex(const RangeVar *relation, + */ + bool + CheckIndexCompatible(Oid oldId, +- RangeVar *heapRelation, + char *accessMethodName, + List *attributeList, + List *exclusionOpNames) +@@ -139,7 +138,7 @@ CheckIndexCompatible(Oid oldId, + Datum d; + + /* Caller should already have the relation locked in some way. */ +- relationId = RangeVarGetRelid(heapRelation, NoLock, false); ++ relationId = IndexGetRelation(oldId, false); + + /* + * We can pretend isconstraint = false unconditionally. It only serves to +@@ -279,6 +278,8 @@ CheckIndexCompatible(Oid oldId, + * DefineIndex + * Creates a new index. + * ++ * 'relationId': the OID of the heap relation on which the index is to be ++ * created + * 'stmt': IndexStmt describing the properties of the new index. + * 'indexRelationId': normally InvalidOid, but during bootstrap can be + * nonzero to specify a preselected OID for the index. +@@ -292,7 +293,8 @@ CheckIndexCompatible(Oid oldId, + * Returns the OID of the created index. + */ + Oid +-DefineIndex(IndexStmt *stmt, ++DefineIndex(Oid relationId, ++ IndexStmt *stmt, + Oid indexRelationId, + bool is_alter_table, + bool check_rights, +@@ -305,7 +307,6 @@ DefineIndex(IndexStmt *stmt, + Oid *collationObjectId; + Oid *classObjectId; + Oid accessMethodId; +- Oid relationId; + Oid namespaceId; + Oid tablespaceId; + List *indexColNames; +@@ -325,6 +326,7 @@ DefineIndex(IndexStmt *stmt, + int n_old_snapshots; + LockRelId heaprelid; + LOCKTAG heaplocktag; ++ LOCKMODE lockmode; + Snapshot snapshot; + int i; + +@@ -343,14 +345,18 @@ DefineIndex(IndexStmt *stmt, + INDEX_MAX_KEYS))); + + /* +- * Open heap relation, acquire a suitable lock on it, remember its OID +- * + * Only SELECT ... FOR UPDATE/SHARE are allowed while doing a standard + * index build; but for concurrent builds we allow INSERT/UPDATE/DELETE + * (but not VACUUM). ++ * ++ * NB: Caller is responsible for making sure that relationId refers ++ * to the relation on which the index should be built; except in bootstrap ++ * mode, this will typically require the caller to have already locked ++ * the relation. To avoid lock upgrade hazards, that lock should be at ++ * least as strong as the one we take here. + */ +- rel = heap_openrv(stmt->relation, +- (stmt->concurrent ? ShareUpdateExclusiveLock : ShareLock)); ++ lockmode = stmt->concurrent ? ShareUpdateExclusiveLock : ShareLock; ++ rel = heap_open(relationId, lockmode); + + relationId = RelationGetRelid(rel); + namespaceId = RelationGetNamespace(rel); +diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c +index 7c1f779..bcb81ea 100644 +--- a/src/backend/commands/tablecmds.c ++++ b/src/backend/commands/tablecmds.c +@@ -283,7 +283,8 @@ static void validateCheckConstraint(Relation rel, HeapTuple constrtup); + static void validateForeignKeyConstraint(char *conname, + Relation rel, Relation pkrel, + Oid pkindOid, Oid constraintOid); +-static void createForeignKeyTriggers(Relation rel, Constraint *fkconstraint, ++static void createForeignKeyTriggers(Relation rel, Oid refRelOid, ++ Constraint *fkconstraint, + Oid constraintOid, Oid indexOid); + static void ATController(Relation rel, List *cmds, bool recurse, LOCKMODE lockmode); + static void ATPrepCmd(List **wqueue, Relation rel, AlterTableCmd *cmd, +@@ -360,8 +361,9 @@ static void ATExecAlterColumnType(AlteredTableInfo *tab, Relation rel, + static void ATExecAlterColumnGenericOptions(Relation rel, const char *colName, + List *options, LOCKMODE lockmode); + static void ATPostAlterTypeCleanup(List **wqueue, AlteredTableInfo *tab, LOCKMODE lockmode); +-static void ATPostAlterTypeParse(Oid oldId, char *cmd, +- List **wqueue, LOCKMODE lockmode, bool rewrite); ++static void ATPostAlterTypeParse(Oid oldId, Oid oldRelId, Oid refRelId, ++ char *cmd, List **wqueue, LOCKMODE lockmode, ++ bool rewrite); + static void TryReuseIndex(Oid oldId, IndexStmt *stmt); + static void TryReuseForeignKey(Oid oldId, Constraint *con); + static void change_owner_fix_column_acls(Oid relationOid, +@@ -5406,7 +5408,8 @@ ATExecAddIndex(AlteredTableInfo *tab, Relation rel, + + /* The IndexStmt has already been through transformIndexStmt */ + +- new_index = DefineIndex(stmt, ++ new_index = DefineIndex(RelationGetRelid(rel), ++ stmt, + InvalidOid, /* no predefined OID */ + true, /* is_alter_table */ + check_rights, +@@ -5728,7 +5731,10 @@ ATAddForeignKeyConstraint(AlteredTableInfo *tab, Relation rel, + * table; trying to start with a lesser lock will just create a risk of + * deadlock.) + */ +- pkrel = heap_openrv(fkconstraint->pktable, AccessExclusiveLock); ++ if (OidIsValid(fkconstraint->old_pktable_oid)) ++ pkrel = heap_open(fkconstraint->old_pktable_oid, AccessExclusiveLock); ++ else ++ pkrel = heap_openrv(fkconstraint->pktable, AccessExclusiveLock); + + /* + * Validity checks (permission checks wait till we have the column +@@ -6066,7 +6072,8 @@ ATAddForeignKeyConstraint(AlteredTableInfo *tab, Relation rel, + /* + * Create the triggers that will enforce the constraint. + */ +- createForeignKeyTriggers(rel, fkconstraint, constrOid, indexOid); ++ createForeignKeyTriggers(rel, RelationGetRelid(pkrel), fkconstraint, ++ constrOid, indexOid); + + /* + * Tell Phase 3 to check that the constraint is satisfied by existing +@@ -6736,7 +6743,7 @@ validateForeignKeyConstraint(char *conname, + } + + static void +-CreateFKCheckTrigger(RangeVar *myRel, Constraint *fkconstraint, ++CreateFKCheckTrigger(Oid myRelOid, Oid refRelOid, Constraint *fkconstraint, + Oid constraintOid, Oid indexOid, bool on_insert) + { + CreateTrigStmt *fk_trigger; +@@ -6752,7 +6759,7 @@ CreateFKCheckTrigger(RangeVar *myRel, Constraint *fkconstraint, + */ + fk_trigger = makeNode(CreateTrigStmt); + fk_trigger->trigname = "RI_ConstraintTrigger_c"; +- fk_trigger->relation = myRel; ++ fk_trigger->relation = NULL; + fk_trigger->row = true; + fk_trigger->timing = TRIGGER_TYPE_AFTER; + +@@ -6773,10 +6780,11 @@ CreateFKCheckTrigger(RangeVar *myRel, Constraint *fkconstraint, + fk_trigger->isconstraint = true; + fk_trigger->deferrable = fkconstraint->deferrable; + fk_trigger->initdeferred = fkconstraint->initdeferred; +- fk_trigger->constrrel = fkconstraint->pktable; ++ fk_trigger->constrrel = NULL; + fk_trigger->args = NIL; + +- (void) CreateTrigger(fk_trigger, NULL, constraintOid, indexOid, true); ++ (void) CreateTrigger(fk_trigger, NULL, myRelOid, refRelOid, constraintOid, ++ indexOid, true); + + /* Make changes-so-far visible */ + CommandCounterIncrement(); +@@ -6786,18 +6794,13 @@ CreateFKCheckTrigger(RangeVar *myRel, Constraint *fkconstraint, + * Create the triggers that implement an FK constraint. + */ + static void +-createForeignKeyTriggers(Relation rel, Constraint *fkconstraint, ++createForeignKeyTriggers(Relation rel, Oid refRelOid, Constraint *fkconstraint, + Oid constraintOid, Oid indexOid) + { +- RangeVar *myRel; ++ Oid myRelOid; + CreateTrigStmt *fk_trigger; + +- /* +- * Reconstruct a RangeVar for my relation (not passed in, unfortunately). +- */ +- myRel = makeRangeVar(get_namespace_name(RelationGetNamespace(rel)), +- pstrdup(RelationGetRelationName(rel)), +- -1); ++ myRelOid = RelationGetRelid(rel); + + /* Make changes-so-far visible */ + CommandCounterIncrement(); +@@ -6808,14 +6811,14 @@ createForeignKeyTriggers(Relation rel, Constraint *fkconstraint, + */ + fk_trigger = makeNode(CreateTrigStmt); + fk_trigger->trigname = "RI_ConstraintTrigger_a"; +- fk_trigger->relation = fkconstraint->pktable; ++ fk_trigger->relation = NULL; + fk_trigger->row = true; + fk_trigger->timing = TRIGGER_TYPE_AFTER; + fk_trigger->events = TRIGGER_TYPE_DELETE; + fk_trigger->columns = NIL; + fk_trigger->whenClause = NULL; + fk_trigger->isconstraint = true; +- fk_trigger->constrrel = myRel; ++ fk_trigger->constrrel = NULL; + switch (fkconstraint->fk_del_action) + { + case FKCONSTR_ACTION_NOACTION: +@@ -6850,7 +6853,8 @@ createForeignKeyTriggers(Relation rel, Constraint *fkconstraint, + } + fk_trigger->args = NIL; + +- (void) CreateTrigger(fk_trigger, NULL, constraintOid, indexOid, true); ++ (void) CreateTrigger(fk_trigger, NULL, refRelOid, myRelOid, constraintOid, ++ indexOid, true); + + /* Make changes-so-far visible */ + CommandCounterIncrement(); +@@ -6861,14 +6865,14 @@ createForeignKeyTriggers(Relation rel, Constraint *fkconstraint, + */ + fk_trigger = makeNode(CreateTrigStmt); + fk_trigger->trigname = "RI_ConstraintTrigger_a"; +- fk_trigger->relation = fkconstraint->pktable; ++ fk_trigger->relation = NULL; + fk_trigger->row = true; + fk_trigger->timing = TRIGGER_TYPE_AFTER; + fk_trigger->events = TRIGGER_TYPE_UPDATE; + fk_trigger->columns = NIL; + fk_trigger->whenClause = NULL; + fk_trigger->isconstraint = true; +- fk_trigger->constrrel = myRel; ++ fk_trigger->constrrel = NULL; + switch (fkconstraint->fk_upd_action) + { + case FKCONSTR_ACTION_NOACTION: +@@ -6903,7 +6907,8 @@ createForeignKeyTriggers(Relation rel, Constraint *fkconstraint, + } + fk_trigger->args = NIL; + +- (void) CreateTrigger(fk_trigger, NULL, constraintOid, indexOid, true); ++ (void) CreateTrigger(fk_trigger, NULL, refRelOid, myRelOid, constraintOid, ++ indexOid, true); + + /* Make changes-so-far visible */ + CommandCounterIncrement(); +@@ -6912,8 +6917,10 @@ createForeignKeyTriggers(Relation rel, Constraint *fkconstraint, + * Build and execute CREATE CONSTRAINT TRIGGER statements for the CHECK + * action for both INSERTs and UPDATEs on the referencing table. + */ +- CreateFKCheckTrigger(myRel, fkconstraint, constraintOid, indexOid, true); +- CreateFKCheckTrigger(myRel, fkconstraint, constraintOid, indexOid, false); ++ CreateFKCheckTrigger(myRelOid, refRelOid, fkconstraint, constraintOid, ++ indexOid, true); ++ CreateFKCheckTrigger(myRelOid, refRelOid, fkconstraint, constraintOid, ++ indexOid, false); + } + + /* +@@ -7832,15 +7839,36 @@ ATPostAlterTypeCleanup(List **wqueue, AlteredTableInfo *tab, LOCKMODE lockmode) + * lock on the table the constraint is attached to, and we need to get + * that before dropping. It's safe because the parser won't actually look + * at the catalogs to detect the existing entry. ++ * ++ * We can't rely on the output of deparsing to tell us which relation ++ * to operate on, because concurrent activity might have made the name ++ * resolve differently. Instead, we've got to use the OID of the ++ * constraint or index we're processing to figure out which relation ++ * to operate on. + */ + forboth(oid_item, tab->changedConstraintOids, + def_item, tab->changedConstraintDefs) +- ATPostAlterTypeParse(lfirst_oid(oid_item), (char *) lfirst(def_item), ++ { ++ Oid oldId = lfirst_oid(oid_item); ++ Oid relid; ++ Oid confrelid; ++ ++ get_constraint_relation_oids(oldId, &relid, &confrelid); ++ ATPostAlterTypeParse(oldId, relid, confrelid, ++ (char *) lfirst(def_item), + wqueue, lockmode, tab->rewrite); ++ } + forboth(oid_item, tab->changedIndexOids, + def_item, tab->changedIndexDefs) +- ATPostAlterTypeParse(lfirst_oid(oid_item), (char *) lfirst(def_item), ++ { ++ Oid oldId = lfirst_oid(oid_item); ++ Oid relid; ++ ++ relid = IndexGetRelation(oldId, false); ++ ATPostAlterTypeParse(oldId, relid, InvalidOid, ++ (char *) lfirst(def_item), + wqueue, lockmode, tab->rewrite); ++ } + + /* + * Now we can drop the existing constraints and indexes --- constraints +@@ -7873,12 +7901,13 @@ ATPostAlterTypeCleanup(List **wqueue, AlteredTableInfo *tab, LOCKMODE lockmode) + } + + static void +-ATPostAlterTypeParse(Oid oldId, char *cmd, ++ATPostAlterTypeParse(Oid oldId, Oid oldRelId, Oid refRelId, char *cmd, + List **wqueue, LOCKMODE lockmode, bool rewrite) + { + List *raw_parsetree_list; + List *querytree_list; + ListCell *list_item; ++ Relation rel; + + /* + * We expect that we will get only ALTER TABLE and CREATE INDEX +@@ -7894,16 +7923,21 @@ ATPostAlterTypeParse(Oid oldId, char *cmd, + + if (IsA(stmt, IndexStmt)) + querytree_list = lappend(querytree_list, +- transformIndexStmt((IndexStmt *) stmt, ++ transformIndexStmt(oldRelId, ++ (IndexStmt *) stmt, + cmd)); + else if (IsA(stmt, AlterTableStmt)) + querytree_list = list_concat(querytree_list, +- transformAlterTableStmt((AlterTableStmt *) stmt, ++ transformAlterTableStmt(oldRelId, ++ (AlterTableStmt *) stmt, + cmd)); + else + querytree_list = lappend(querytree_list, stmt); + } + ++ /* Caller should already have acquired whatever lock we need. */ ++ rel = relation_open(oldRelId, NoLock); ++ + /* + * Attach each generated command to the proper place in the work queue. + * Note this could result in creation of entirely new work-queue entries. +@@ -7915,7 +7949,6 @@ ATPostAlterTypeParse(Oid oldId, char *cmd, + foreach(list_item, querytree_list) + { + Node *stm = (Node *) lfirst(list_item); +- Relation rel; + AlteredTableInfo *tab; + + switch (nodeTag(stm)) +@@ -7928,14 +7961,12 @@ ATPostAlterTypeParse(Oid oldId, char *cmd, + if (!rewrite) + TryReuseIndex(oldId, stmt); + +- rel = relation_openrv(stmt->relation, lockmode); + tab = ATGetQueueEntry(wqueue, rel); + newcmd = makeNode(AlterTableCmd); + newcmd->subtype = AT_ReAddIndex; + newcmd->def = (Node *) stmt; + tab->subcmds[AT_PASS_OLD_INDEX] = + lappend(tab->subcmds[AT_PASS_OLD_INDEX], newcmd); +- relation_close(rel, NoLock); + break; + } + case T_AlterTableStmt: +@@ -7943,7 +7974,6 @@ ATPostAlterTypeParse(Oid oldId, char *cmd, + AlterTableStmt *stmt = (AlterTableStmt *) stm; + ListCell *lcmd; + +- rel = relation_openrv(stmt->relation, lockmode); + tab = ATGetQueueEntry(wqueue, rel); + foreach(lcmd, stmt->cmds) + { +@@ -7964,6 +7994,7 @@ ATPostAlterTypeParse(Oid oldId, char *cmd, + case AT_AddConstraint: + Assert(IsA(cmd->def, Constraint)); + con = (Constraint *) cmd->def; ++ con->old_pktable_oid = refRelId; + /* rewriting neither side of a FK */ + if (con->contype == CONSTR_FOREIGN && + !rewrite && !tab->rewrite) +@@ -7977,7 +8008,6 @@ ATPostAlterTypeParse(Oid oldId, char *cmd, + (int) cmd->subtype); + } + } +- relation_close(rel, NoLock); + break; + } + default: +@@ -7985,6 +8015,8 @@ ATPostAlterTypeParse(Oid oldId, char *cmd, + (int) nodeTag(stm)); + } + } ++ ++ relation_close(rel, NoLock); + } + + /* +@@ -7995,7 +8027,6 @@ static void + TryReuseIndex(Oid oldId, IndexStmt *stmt) + { + if (CheckIndexCompatible(oldId, +- stmt->relation, + stmt->accessMethod, + stmt->indexParams, + stmt->excludeOpNames)) +@@ -10291,6 +10322,38 @@ RangeVarCallbackOwnsTable(const RangeVar *relation, + } + + /* ++ * Callback to RangeVarGetRelidExtended(), similar to ++ * RangeVarCallbackOwnsTable() but without checks on the type of the relation. ++ */ ++void ++RangeVarCallbackOwnsRelation(const RangeVar *relation, ++ Oid relId, Oid oldRelId, void *arg) ++{ ++ HeapTuple tuple; ++ ++ /* Nothing to do if the relation was not found. */ ++ if (!OidIsValid(relId)) ++ return; ++ ++ tuple = SearchSysCache1(RELOID, ObjectIdGetDatum(relId)); ++ if (!HeapTupleIsValid(tuple)) /* should not happen */ ++ elog(ERROR, "cache lookup failed for relation %u", relId); ++ ++ if (!pg_class_ownercheck(relId, GetUserId())) ++ aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_CLASS, ++ relation->relname); ++ ++ if (!allowSystemTableMods && ++ IsSystemClass((Form_pg_class) GETSTRUCT(tuple))) ++ ereport(ERROR, ++ (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), ++ errmsg("permission denied: \"%s\" is a system catalog", ++ relation->relname))); ++ ++ ReleaseSysCache(tuple); ++} ++ ++/* + * Common RangeVarGetRelid callback for rename, set schema, and alter table + * processing. + */ +diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c +index f546d94..9e6c954 100644 +--- a/src/backend/commands/trigger.c ++++ b/src/backend/commands/trigger.c +@@ -42,6 +42,7 @@ + #include "pgstat.h" + #include "rewrite/rewriteManip.h" + #include "storage/bufmgr.h" ++#include "storage/lmgr.h" + #include "tcop/utility.h" + #include "utils/acl.h" + #include "utils/builtins.h" +@@ -94,6 +95,13 @@ static void AfterTriggerSaveEvent(EState *estate, ResultRelInfo *relinfo, + * queryString is the source text of the CREATE TRIGGER command. + * This must be supplied if a whenClause is specified, else it can be NULL. + * ++ * relOid, if nonzero, is the relation on which the trigger should be ++ * created. If zero, the name provided in the statement will be looked up. ++ * ++ * refRelOid, if nonzero, is the relation to which the constraint trigger ++ * refers. If zero, the constraint relation name provided in the statement ++ * will be looked up as needed. ++ * + * constraintOid, if nonzero, says that this trigger is being created + * internally to implement that constraint. A suitable pg_depend entry will + * be made to link the trigger to that constraint. constraintOid is zero when +@@ -116,7 +124,7 @@ static void AfterTriggerSaveEvent(EState *estate, ResultRelInfo *relinfo, + */ + Oid + CreateTrigger(CreateTrigStmt *stmt, const char *queryString, +- Oid constraintOid, Oid indexOid, ++ Oid relOid, Oid refRelOid, Oid constraintOid, Oid indexOid, + bool isInternal) + { + int16 tgtype; +@@ -145,7 +153,10 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString, + ObjectAddress myself, + referenced; + +- rel = heap_openrv(stmt->relation, AccessExclusiveLock); ++ if (OidIsValid(relOid)) ++ rel = heap_open(relOid, AccessExclusiveLock); ++ else ++ rel = heap_openrv(stmt->relation, AccessExclusiveLock); + + /* + * Triggers must be on tables or views, and there are additional +@@ -194,7 +205,7 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString, + errmsg("permission denied: \"%s\" is a system catalog", + RelationGetRelationName(rel)))); + +- if (stmt->isconstraint && stmt->constrrel != NULL) ++ if (stmt->isconstraint) + { + /* + * We must take a lock on the target relation to protect against +@@ -203,7 +214,14 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString, + * might end up creating a pg_constraint entry referencing a + * nonexistent table. + */ +- constrrelid = RangeVarGetRelid(stmt->constrrel, AccessShareLock, false); ++ if (OidIsValid(refRelOid)) ++ { ++ LockRelationOid(refRelOid, AccessShareLock); ++ constrrelid = refRelOid; ++ } ++ else if (stmt->constrrel != NULL) ++ constrrelid = RangeVarGetRelid(stmt->constrrel, AccessShareLock, ++ false); + } + + /* permission checks */ +@@ -513,7 +531,7 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString, + ereport(ERROR, + (errcode(ERRCODE_DUPLICATE_OBJECT), + errmsg("trigger \"%s\" for relation \"%s\" already exists", +- trigname, stmt->relation->relname))); ++ trigname, RelationGetRelationName(rel)))); + } + systable_endscan(tgscan); + } +diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c +index 9bac994..dbe0f6a 100644 +--- a/src/backend/nodes/copyfuncs.c ++++ b/src/backend/nodes/copyfuncs.c +@@ -2357,6 +2357,7 @@ _copyConstraint(const Constraint *from) + COPY_SCALAR_FIELD(fk_upd_action); + COPY_SCALAR_FIELD(fk_del_action); + COPY_NODE_FIELD(old_conpfeqop); ++ COPY_SCALAR_FIELD(old_pktable_oid); + COPY_SCALAR_FIELD(skip_validation); + COPY_SCALAR_FIELD(initially_valid); + +diff --git a/src/backend/nodes/equalfuncs.c b/src/backend/nodes/equalfuncs.c +index d185654..f8770b0 100644 +--- a/src/backend/nodes/equalfuncs.c ++++ b/src/backend/nodes/equalfuncs.c +@@ -2143,6 +2143,7 @@ _equalConstraint(const Constraint *a, const Constraint *b) + COMPARE_SCALAR_FIELD(fk_upd_action); + COMPARE_SCALAR_FIELD(fk_del_action); + COMPARE_NODE_FIELD(old_conpfeqop); ++ COMPARE_SCALAR_FIELD(old_pktable_oid); + COMPARE_SCALAR_FIELD(skip_validation); + COMPARE_SCALAR_FIELD(initially_valid); + +diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c +index 1df71f6..888ffd2 100644 +--- a/src/backend/nodes/outfuncs.c ++++ b/src/backend/nodes/outfuncs.c +@@ -2653,6 +2653,7 @@ _outConstraint(StringInfo str, const Constraint *node) + WRITE_CHAR_FIELD(fk_upd_action); + WRITE_CHAR_FIELD(fk_del_action); + WRITE_NODE_FIELD(old_conpfeqop); ++ WRITE_OID_FIELD(old_pktable_oid); + WRITE_BOOL_FIELD(skip_validation); + WRITE_BOOL_FIELD(initially_valid); + break; +diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c +index e3f9c62..5df939a 100644 +--- a/src/backend/parser/parse_utilcmd.c ++++ b/src/backend/parser/parse_utilcmd.c +@@ -1867,14 +1867,18 @@ transformFKConstraints(CreateStmtContext *cxt, + * a predicate expression. There are several code paths that create indexes + * without bothering to call this, because they know they don't have any + * such expressions to deal with. ++ * ++ * To avoid race conditions, it's important that this function rely only on ++ * the passed-in relid (and not on stmt->relation) to determine the target ++ * relation. + */ + IndexStmt * +-transformIndexStmt(IndexStmt *stmt, const char *queryString) ++transformIndexStmt(Oid relid, IndexStmt *stmt, const char *queryString) + { +- Relation rel; + ParseState *pstate; + RangeTblEntry *rte; + ListCell *l; ++ Relation rel; + + /* + * We must not scribble on the passed-in IndexStmt, so copy it. (This is +@@ -1882,26 +1886,17 @@ transformIndexStmt(IndexStmt *stmt, const char *queryString) + */ + stmt = (IndexStmt *) copyObject(stmt); + +- /* +- * Open the parent table with appropriate locking. We must do this +- * because addRangeTableEntry() would acquire only AccessShareLock, +- * leaving DefineIndex() needing to do a lock upgrade with consequent risk +- * of deadlock. Make sure this stays in sync with the type of lock +- * DefineIndex() wants. If we are being called by ALTER TABLE, we will +- * already hold a higher lock. +- */ +- rel = heap_openrv(stmt->relation, +- (stmt->concurrent ? ShareUpdateExclusiveLock : ShareLock)); +- + /* Set up pstate */ + pstate = make_parsestate(NULL); + pstate->p_sourcetext = queryString; + + /* + * Put the parent table into the rtable so that the expressions can refer +- * to its fields without qualification. ++ * to its fields without qualification. Caller is responsible for locking ++ * relation, but we still need to open it. + */ +- rte = addRangeTableEntry(pstate, stmt->relation, NULL, false, true); ++ rel = relation_open(relid, NoLock); ++ rte = addRangeTableEntryForRelation(pstate, rel, NULL, false, true); + + /* no to join list, yes to namespaces */ + addRTEtoQuery(pstate, rte, false, true, true); +@@ -1955,7 +1950,7 @@ transformIndexStmt(IndexStmt *stmt, const char *queryString) + + free_parsestate(pstate); + +- /* Close relation, but keep the lock */ ++ /* Close relation */ + heap_close(rel, NoLock); + + return stmt; +@@ -2277,9 +2272,14 @@ transformRuleStmt(RuleStmt *stmt, const char *queryString, + * Returns a List of utility commands to be done in sequence. One of these + * will be the transformed AlterTableStmt, but there may be additional actions + * to be done before and after the actual AlterTable() call. ++ * ++ * To avoid race conditions, it's important that this function rely only on ++ * the passed-in relid (and not on stmt->relation) to determine the target ++ * relation. + */ + List * +-transformAlterTableStmt(AlterTableStmt *stmt, const char *queryString) ++transformAlterTableStmt(Oid relid, AlterTableStmt *stmt, ++ const char *queryString) + { + Relation rel; + ParseState *pstate; +@@ -2291,7 +2291,6 @@ transformAlterTableStmt(AlterTableStmt *stmt, const char *queryString) + List *newcmds = NIL; + bool skipValidation = true; + AlterTableCmd *newcmd; +- LOCKMODE lockmode; + + /* + * We must not scribble on the passed-in AlterTableStmt, so copy it. (This +@@ -2299,29 +2298,8 @@ transformAlterTableStmt(AlterTableStmt *stmt, const char *queryString) + */ + stmt = (AlterTableStmt *) copyObject(stmt); + +- /* +- * Determine the appropriate lock level for this list of subcommands. +- */ +- lockmode = AlterTableGetLockLevel(stmt->cmds); +- +- /* +- * Acquire appropriate lock on the target relation, which will be held +- * until end of transaction. This ensures any decisions we make here +- * based on the state of the relation will still be good at execution. We +- * must get lock now because execution will later require it; taking a +- * lower grade lock now and trying to upgrade later risks deadlock. Any +- * new commands we add after this must not upgrade the lock level +- * requested here. +- */ +- rel = relation_openrv_extended(stmt->relation, lockmode, stmt->missing_ok); +- if (rel == NULL) +- { +- /* this message is consistent with relation_openrv */ +- ereport(NOTICE, +- (errmsg("relation \"%s\" does not exist, skipping", +- stmt->relation->relname))); +- return NIL; +- } ++ /* Caller is responsible for locking the relation */ ++ rel = relation_open(relid, NoLock); + + /* Set up pstate and CreateStmtContext */ + pstate = make_parsestate(NULL); +@@ -2434,7 +2412,7 @@ transformAlterTableStmt(AlterTableStmt *stmt, const char *queryString) + IndexStmt *idxstmt = (IndexStmt *) lfirst(l); + + Assert(IsA(idxstmt, IndexStmt)); +- idxstmt = transformIndexStmt(idxstmt, queryString); ++ idxstmt = transformIndexStmt(relid, idxstmt, queryString); + newcmd = makeNode(AlterTableCmd); + newcmd->subtype = OidIsValid(idxstmt->indexOid) ? AT_AddIndexConstraint : AT_AddIndex; + newcmd->def = (Node *) idxstmt; +@@ -2458,7 +2436,7 @@ transformAlterTableStmt(AlterTableStmt *stmt, const char *queryString) + newcmds = lappend(newcmds, newcmd); + } + +- /* Close rel but keep lock */ ++ /* Close rel */ + relation_close(rel, NoLock); + + /* +diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c +index 509bf4d..7903e03 100644 +--- a/src/backend/tcop/utility.c ++++ b/src/backend/tcop/utility.c +@@ -67,49 +67,6 @@ ProcessUtility_hook_type ProcessUtility_hook = NULL; + + + /* +- * Verify user has ownership of specified relation, else ereport. +- * +- * If noCatalogs is true then we also deny access to system catalogs, +- * except when allowSystemTableMods is true. +- */ +-void +-CheckRelationOwnership(RangeVar *rel, bool noCatalogs) +-{ +- Oid relOid; +- HeapTuple tuple; +- +- /* +- * XXX: This is unsafe in the presence of concurrent DDL, since it is +- * called before acquiring any lock on the target relation. However, +- * locking the target relation (especially using something like +- * AccessExclusiveLock) before verifying that the user has permissions is +- * not appealing either. +- */ +- relOid = RangeVarGetRelid(rel, NoLock, false); +- +- tuple = SearchSysCache1(RELOID, ObjectIdGetDatum(relOid)); +- if (!HeapTupleIsValid(tuple)) /* should not happen */ +- elog(ERROR, "cache lookup failed for relation %u", relOid); +- +- if (!pg_class_ownercheck(relOid, GetUserId())) +- aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_CLASS, +- rel->relname); +- +- if (noCatalogs) +- { +- if (!allowSystemTableMods && +- IsSystemClass((Form_pg_class) GETSTRUCT(tuple))) +- ereport(ERROR, +- (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), +- errmsg("permission denied: \"%s\" is a system catalog", +- rel->relname))); +- } +- +- ReleaseSysCache(tuple); +-} +- +- +-/* + * CommandIsReadOnly: is an executable query read-only? + * + * This is a much stricter test than we apply for XactReadOnly mode; +@@ -723,7 +680,8 @@ standard_ProcessUtility(Node *parsetree, + if (OidIsValid(relid)) + { + /* Run parse analysis ... */ +- stmts = transformAlterTableStmt(atstmt, queryString); ++ stmts = transformAlterTableStmt(relid, atstmt, ++ queryString); + + /* ... and do it */ + foreach(l, stmts) +@@ -910,18 +868,36 @@ standard_ProcessUtility(Node *parsetree, + case T_IndexStmt: /* CREATE INDEX */ + { + IndexStmt *stmt = (IndexStmt *) parsetree; ++ Oid relid; ++ LOCKMODE lockmode; + + if (stmt->concurrent) + PreventTransactionChain(isTopLevel, + "CREATE INDEX CONCURRENTLY"); + +- CheckRelationOwnership(stmt->relation, true); ++ /* ++ * Look up the relation OID just once, right here at the ++ * beginning, so that we don't end up repeating the name ++ * lookup later and latching onto a different relation ++ * partway through. To avoid lock upgrade hazards, it's ++ * important that we take the strongest lock that will ++ * eventually be needed here, so the lockmode calculation ++ * needs to match what DefineIndex() does. ++ */ ++ lockmode = stmt->concurrent ? ShareUpdateExclusiveLock ++ : ShareLock; ++ relid = ++ RangeVarGetRelidExtended(stmt->relation, lockmode, ++ false, false, ++ RangeVarCallbackOwnsRelation, ++ NULL); + + /* Run parse analysis ... */ +- stmt = transformIndexStmt(stmt, queryString); ++ stmt = transformIndexStmt(relid, stmt, queryString); + + /* ... and do it */ +- DefineIndex(stmt, ++ DefineIndex(relid, /* OID of heap relation */ ++ stmt, + InvalidOid, /* no predefined OID */ + false, /* is_alter_table */ + true, /* check_rights */ +@@ -1057,7 +1033,8 @@ standard_ProcessUtility(Node *parsetree, + + case T_CreateTrigStmt: + (void) CreateTrigger((CreateTrigStmt *) parsetree, queryString, +- InvalidOid, InvalidOid, false); ++ InvalidOid, InvalidOid, InvalidOid, ++ InvalidOid, false); + break; + + case T_CreatePLangStmt: +diff --git a/src/include/catalog/pg_constraint.h b/src/include/catalog/pg_constraint.h +index d9d40b2..d8f8da4 100644 +--- a/src/include/catalog/pg_constraint.h ++++ b/src/include/catalog/pg_constraint.h +@@ -246,6 +246,7 @@ extern char *ChooseConstraintName(const char *name1, const char *name2, + + extern void AlterConstraintNamespaces(Oid ownerId, Oid oldNspId, + Oid newNspId, bool isType, ObjectAddresses *objsMoved); ++extern void get_constraint_relation_oids(Oid constraint_oid, Oid *conrelid, Oid *confrelid); + extern Oid get_relation_constraint_oid(Oid relid, const char *conname, bool missing_ok); + extern Oid get_domain_constraint_oid(Oid typid, const char *conname, bool missing_ok); + +diff --git a/src/include/commands/defrem.h b/src/include/commands/defrem.h +index 9b6d57a..a00fd37 100644 +--- a/src/include/commands/defrem.h ++++ b/src/include/commands/defrem.h +@@ -20,7 +20,8 @@ + extern void RemoveObjects(DropStmt *stmt); + + /* commands/indexcmds.c */ +-extern Oid DefineIndex(IndexStmt *stmt, ++extern Oid DefineIndex(Oid relationId, ++ IndexStmt *stmt, + Oid indexRelationId, + bool is_alter_table, + bool check_rights, +@@ -35,7 +36,6 @@ extern char *makeObjectName(const char *name1, const char *name2, + extern char *ChooseRelationName(const char *name1, const char *name2, + const char *label, Oid namespaceid); + extern bool CheckIndexCompatible(Oid oldId, +- RangeVar *heapRelation, + char *accessMethodName, + List *attributeList, + List *exclusionOpNames); +diff --git a/src/include/commands/tablecmds.h b/src/include/commands/tablecmds.h +index 4f32062..d41f8a1 100644 +--- a/src/include/commands/tablecmds.h ++++ b/src/include/commands/tablecmds.h +@@ -78,4 +78,6 @@ extern void AtEOSubXact_on_commit_actions(bool isCommit, + extern void RangeVarCallbackOwnsTable(const RangeVar *relation, + Oid relId, Oid oldRelId, void *arg); + ++extern void RangeVarCallbackOwnsRelation(const RangeVar *relation, ++ Oid relId, Oid oldRelId, void *noCatalogs); + #endif /* TABLECMDS_H */ +diff --git a/src/include/commands/trigger.h b/src/include/commands/trigger.h +index 9303341..0869c0b 100644 +--- a/src/include/commands/trigger.h ++++ b/src/include/commands/trigger.h +@@ -109,7 +109,7 @@ extern PGDLLIMPORT int SessionReplicationRole; + #define TRIGGER_DISABLED 'D' + + extern Oid CreateTrigger(CreateTrigStmt *stmt, const char *queryString, +- Oid constraintOid, Oid indexOid, ++ Oid relOid, Oid refRelOid, Oid constraintOid, Oid indexOid, + bool isInternal); + + extern void RemoveTriggerById(Oid trigOid); +diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h +index 327f7cf..31f5479 100644 +--- a/src/include/nodes/parsenodes.h ++++ b/src/include/nodes/parsenodes.h +@@ -1566,6 +1566,8 @@ typedef struct Constraint + /* Fields used for constraints that allow a NOT VALID specification */ + bool skip_validation; /* skip validation of existing rows? */ + bool initially_valid; /* mark the new constraint as valid? */ ++ ++ Oid old_pktable_oid; /* pg_constraint.confrelid of my former self */ + } Constraint; + + /* ---------------------- +diff --git a/src/include/parser/parse_utilcmd.h b/src/include/parser/parse_utilcmd.h +index 4ad793a..d8b340e 100644 +--- a/src/include/parser/parse_utilcmd.h ++++ b/src/include/parser/parse_utilcmd.h +@@ -18,9 +18,10 @@ + + + extern List *transformCreateStmt(CreateStmt *stmt, const char *queryString); +-extern List *transformAlterTableStmt(AlterTableStmt *stmt, ++extern List *transformAlterTableStmt(Oid relid, AlterTableStmt *stmt, + const char *queryString); +-extern IndexStmt *transformIndexStmt(IndexStmt *stmt, const char *queryString); ++extern IndexStmt *transformIndexStmt(Oid relid, IndexStmt *stmt, ++ const char *queryString); + extern void transformRuleStmt(RuleStmt *stmt, const char *queryString, + List **actions, Node **whereClause); + extern List *transformCreateSchemaStmt(CreateSchemaStmt *stmt); +diff --git a/src/include/tcop/utility.h b/src/include/tcop/utility.h +index 54190b2..ae871ca 100644 +--- a/src/include/tcop/utility.h ++++ b/src/include/tcop/utility.h +@@ -42,6 +42,4 @@ extern LogStmtLevel GetCommandLogLevel(Node *parsetree); + + extern bool CommandIsReadOnly(Node *parsetree); + +-extern void CheckRelationOwnership(RangeVar *rel, bool noCatalogs); +- + #endif /* UTILITY_H */ +-- +1.7.5.4 + diff --git a/meta-oe/recipes-support/postgresql/files/0006-Fix-handling-of-wide-datetime-input-output.patch b/meta-oe/recipes-support/postgresql/files/0006-Fix-handling-of-wide-datetime-input-output.patch new file mode 100644 index 0000000000..fac0a7347c --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0006-Fix-handling-of-wide-datetime-input-output.patch @@ -0,0 +1,465 @@ +From f416622be81d1320417bbc7892fd562cae0dba72 Mon Sep 17 00:00:00 2001 +From: Noah Misch <noah@leadboat.com> +Date: Mon, 17 Feb 2014 09:33:31 -0500 +Subject: [PATCH] Fix handling of wide datetime input/output. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +commit f416622be81d1320417bbc7892fd562cae0dba72 REL9_2_STABLE + +Many server functions use the MAXDATELEN constant to size a buffer for +parsing or displaying a datetime value. It was much too small for the +longest possible interval output and slightly too small for certain +valid timestamp input, particularly input with a long timezone name. +The long input was rejected needlessly; the long output caused +interval_out() to overrun its buffer. ECPG's pgtypes library has a copy +of the vulnerable functions, which bore the same vulnerabilities along +with some of its own. In contrast to the server, certain long inputs +caused stack overflow rather than failing cleanly. Back-patch to 8.4 +(all supported versions). + +Reported by Daniel Schüssler, reviewed by Tom Lane. + +Security: CVE-2014-0063 + + +Upstream-Status: Backport + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + src/include/utils/datetime.h | 17 +++++--- + src/interfaces/ecpg/pgtypeslib/datetime.c | 4 +- + src/interfaces/ecpg/pgtypeslib/dt.h | 17 +++++--- + src/interfaces/ecpg/pgtypeslib/dt_common.c | 44 ++++++++++++++------ + src/interfaces/ecpg/pgtypeslib/interval.c | 2 +- + src/interfaces/ecpg/pgtypeslib/timestamp.c | 2 +- + .../ecpg/test/expected/pgtypeslib-dt_test2.c | 22 +++++++--- + .../ecpg/test/expected/pgtypeslib-dt_test2.stdout | 19 ++++++++ + src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc | 10 ++++ + src/test/regress/expected/interval.out | 7 +++ + src/test/regress/sql/interval.sql | 2 + + 11 files changed, 111 insertions(+), 35 deletions(-) + +diff --git a/src/include/utils/datetime.h b/src/include/utils/datetime.h +index d73cc8d..4b805b6 100644 +--- a/src/include/utils/datetime.h ++++ b/src/include/utils/datetime.h +@@ -188,12 +188,17 @@ struct tzEntry; + #define DTK_DATE_M (DTK_M(YEAR) | DTK_M(MONTH) | DTK_M(DAY)) + #define DTK_TIME_M (DTK_M(HOUR) | DTK_M(MINUTE) | DTK_ALL_SECS_M) + +-#define MAXDATELEN 63 /* maximum possible length of an input date +- * string (not counting tr. null) */ +-#define MAXDATEFIELDS 25 /* maximum possible number of fields in a date +- * string */ +-#define TOKMAXLEN 10 /* only this many chars are stored in +- * datetktbl */ ++/* ++ * Working buffer size for input and output of interval, timestamp, etc. ++ * Inputs that need more working space will be rejected early. Longer outputs ++ * will overrun buffers, so this must suffice for all possible output. As of ++ * this writing, interval_out() needs the most space at ~90 bytes. ++ */ ++#define MAXDATELEN 128 ++/* maximum possible number of fields in a date string */ ++#define MAXDATEFIELDS 25 ++/* only this many chars are stored in datetktbl */ ++#define TOKMAXLEN 10 + + /* keep this struct small; it gets used a lot */ + typedef struct +diff --git a/src/interfaces/ecpg/pgtypeslib/datetime.c b/src/interfaces/ecpg/pgtypeslib/datetime.c +index 823626f..4adcd1e 100644 +--- a/src/interfaces/ecpg/pgtypeslib/datetime.c ++++ b/src/interfaces/ecpg/pgtypeslib/datetime.c +@@ -61,14 +61,14 @@ PGTYPESdate_from_asc(char *str, char **endptr) + int nf; + char *field[MAXDATEFIELDS]; + int ftype[MAXDATEFIELDS]; +- char lowstr[MAXDATELEN + 1]; ++ char lowstr[MAXDATELEN + MAXDATEFIELDS]; + char *realptr; + char **ptr = (endptr != NULL) ? endptr : &realptr; + + bool EuroDates = FALSE; + + errno = 0; +- if (strlen(str) >= sizeof(lowstr)) ++ if (strlen(str) > MAXDATELEN) + { + errno = PGTYPES_DATE_BAD_DATE; + return INT_MIN; +diff --git a/src/interfaces/ecpg/pgtypeslib/dt.h b/src/interfaces/ecpg/pgtypeslib/dt.h +index dfe6f9e..2780593 100644 +--- a/src/interfaces/ecpg/pgtypeslib/dt.h ++++ b/src/interfaces/ecpg/pgtypeslib/dt.h +@@ -192,12 +192,17 @@ typedef double fsec_t; + #define DTK_DATE_M (DTK_M(YEAR) | DTK_M(MONTH) | DTK_M(DAY)) + #define DTK_TIME_M (DTK_M(HOUR) | DTK_M(MINUTE) | DTK_M(SECOND)) + +-#define MAXDATELEN 63 /* maximum possible length of an input date +- * string (not counting tr. null) */ +-#define MAXDATEFIELDS 25 /* maximum possible number of fields in a date +- * string */ +-#define TOKMAXLEN 10 /* only this many chars are stored in +- * datetktbl */ ++/* ++ * Working buffer size for input and output of interval, timestamp, etc. ++ * Inputs that need more working space will be rejected early. Longer outputs ++ * will overrun buffers, so this must suffice for all possible output. As of ++ * this writing, PGTYPESinterval_to_asc() needs the most space at ~90 bytes. ++ */ ++#define MAXDATELEN 128 ++/* maximum possible number of fields in a date string */ ++#define MAXDATEFIELDS 25 ++/* only this many chars are stored in datetktbl */ ++#define TOKMAXLEN 10 + + /* keep this struct small; it gets used a lot */ + typedef struct +diff --git a/src/interfaces/ecpg/pgtypeslib/dt_common.c b/src/interfaces/ecpg/pgtypeslib/dt_common.c +index 6b89e4a..18178dd 100644 +--- a/src/interfaces/ecpg/pgtypeslib/dt_common.c ++++ b/src/interfaces/ecpg/pgtypeslib/dt_common.c +@@ -1171,15 +1171,22 @@ DecodeNumberField(int len, char *str, int fmask, + if ((cp = strchr(str, '.')) != NULL) + { + #ifdef HAVE_INT64_TIMESTAMP +- char fstr[MAXDATELEN + 1]; ++ char fstr[7]; ++ int i; ++ ++ cp++; + + /* + * OK, we have at most six digits to care about. Let's construct a +- * string and then do the conversion to an integer. ++ * string with those digits, zero-padded on the right, and then do ++ * the conversion to an integer. ++ * ++ * XXX This truncates the seventh digit, unlike rounding it as do ++ * the backend and the !HAVE_INT64_TIMESTAMP case. + */ +- strcpy(fstr, (cp + 1)); +- strcpy(fstr + strlen(fstr), "000000"); +- *(fstr + 6) = '\0'; ++ for (i = 0; i < 6; i++) ++ fstr[i] = *cp != '\0' ? *cp++ : '0'; ++ fstr[i] = '\0'; + *fsec = strtol(fstr, NULL, 10); + #else + *fsec = strtod(cp, NULL); +@@ -1531,15 +1538,22 @@ DecodeTime(char *str, int *tmask, struct tm * tm, fsec_t *fsec) + else if (*cp == '.') + { + #ifdef HAVE_INT64_TIMESTAMP +- char fstr[MAXDATELEN + 1]; ++ char fstr[7]; ++ int i; ++ ++ cp++; + + /* +- * OK, we have at most six digits to work with. Let's construct a +- * string and then do the conversion to an integer. ++ * OK, we have at most six digits to care about. Let's construct a ++ * string with those digits, zero-padded on the right, and then do ++ * the conversion to an integer. ++ * ++ * XXX This truncates the seventh digit, unlike rounding it as do ++ * the backend and the !HAVE_INT64_TIMESTAMP case. + */ +- strncpy(fstr, (cp + 1), 7); +- strcpy(fstr + strlen(fstr), "000000"); +- *(fstr + 6) = '\0'; ++ for (i = 0; i < 6; i++) ++ fstr[i] = *cp != '\0' ? *cp++ : '0'; ++ fstr[i] = '\0'; + *fsec = strtol(fstr, &cp, 10); + #else + str = cp; +@@ -1665,6 +1679,9 @@ DecodePosixTimezone(char *str, int *tzp) + * DTK_NUMBER can hold date fields (yy.ddd) + * DTK_STRING can hold months (January) and time zones (PST) + * DTK_DATE can hold Posix time zones (GMT-8) ++ * ++ * The "lowstr" work buffer must have at least strlen(timestr) + MAXDATEFIELDS ++ * bytes of space. On output, field[] entries will point into it. + */ + int + ParseDateTime(char *timestr, char *lowstr, +@@ -1677,7 +1694,10 @@ ParseDateTime(char *timestr, char *lowstr, + /* outer loop through fields */ + while (*(*endstr) != '\0') + { ++ /* Record start of current field */ + field[nf] = lp; ++ if (nf >= MAXDATEFIELDS) ++ return -1; + + /* leading digit? then date or time */ + if (isdigit((unsigned char) *(*endstr))) +@@ -1818,8 +1838,6 @@ ParseDateTime(char *timestr, char *lowstr, + /* force in a delimiter after each field */ + *lp++ = '\0'; + nf++; +- if (nf > MAXDATEFIELDS) +- return -1; + } + + *numfields = nf; +diff --git a/src/interfaces/ecpg/pgtypeslib/interval.c b/src/interfaces/ecpg/pgtypeslib/interval.c +index bcc10ee..fdd8f49 100644 +--- a/src/interfaces/ecpg/pgtypeslib/interval.c ++++ b/src/interfaces/ecpg/pgtypeslib/interval.c +@@ -1092,7 +1092,7 @@ PGTYPESinterval_from_asc(char *str, char **endptr) + tm->tm_sec = 0; + fsec = 0; + +- if (strlen(str) >= sizeof(lowstr)) ++ if (strlen(str) > MAXDATELEN) + { + errno = PGTYPES_INTVL_BAD_INTERVAL; + return NULL; +diff --git a/src/interfaces/ecpg/pgtypeslib/timestamp.c b/src/interfaces/ecpg/pgtypeslib/timestamp.c +index 7d3f7c8..4f91e63 100644 +--- a/src/interfaces/ecpg/pgtypeslib/timestamp.c ++++ b/src/interfaces/ecpg/pgtypeslib/timestamp.c +@@ -297,7 +297,7 @@ PGTYPEStimestamp_from_asc(char *str, char **endptr) + char *realptr; + char **ptr = (endptr != NULL) ? endptr : &realptr; + +- if (strlen(str) >= sizeof(lowstr)) ++ if (strlen(str) > MAXDATELEN) + { + errno = PGTYPES_TS_BAD_TIMESTAMP; + return (noresult); +diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c +index d3ebb0e..0ba1936 100644 +--- a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c ++++ b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c +@@ -45,6 +45,15 @@ char *dates[] = { "19990108foobar", + "1999.008", + "J2451187", + "January 8, 99 BC", ++ /* ++ * Maximize space usage in ParseDateTime() with 25 ++ * (MAXDATEFIELDS) fields and 128 (MAXDATELEN) total length. ++ */ ++ "........................Xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ++ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ++ /* 26 fields */ ++ ".........................aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ++ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + NULL }; + + /* do not conflict with libc "times" symbol */ +@@ -52,6 +61,7 @@ static char *times[] = { "0:04", + "1:59 PDT", + "13:24:40 -8:00", + "13:24:40.495+3", ++ "13:24:40.123456789+3", + NULL }; + + char *intervals[] = { "1 minute", +@@ -73,22 +83,22 @@ main(void) + + + +-#line 52 "dt_test2.pgc" ++#line 62 "dt_test2.pgc" + date date1 ; + +-#line 53 "dt_test2.pgc" ++#line 63 "dt_test2.pgc" + timestamp ts1 , ts2 ; + +-#line 54 "dt_test2.pgc" ++#line 64 "dt_test2.pgc" + char * text ; + +-#line 55 "dt_test2.pgc" ++#line 65 "dt_test2.pgc" + interval * i1 ; + +-#line 56 "dt_test2.pgc" ++#line 66 "dt_test2.pgc" + date * dc ; + /* exec sql end declare section */ +-#line 57 "dt_test2.pgc" ++#line 67 "dt_test2.pgc" + + + int i, j; +diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.stdout b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.stdout +index 24e9d26..9a4587b 100644 +--- a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.stdout ++++ b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.stdout +@@ -8,85 +8,104 @@ TS[3,0]: 1999-01-08 00:04:00 + TS[3,1]: 1999-01-08 01:59:00 + TS[3,2]: 1999-01-08 13:24:40 + TS[3,3]: 1999-01-08 13:24:40.495 ++TS[3,4]: 1999-01-08 13:24:40.123456 + Date[4]: 1999-01-08 (N - F) + TS[4,0]: 1999-01-08 00:04:00 + TS[4,1]: 1999-01-08 01:59:00 + TS[4,2]: 1999-01-08 13:24:40 + TS[4,3]: 1999-01-08 13:24:40.495 ++TS[4,4]: 1999-01-08 13:24:40.123456 + Date[5]: 1999-01-08 (N - F) + TS[5,0]: 1999-01-08 00:04:00 + TS[5,1]: 1999-01-08 01:59:00 + TS[5,2]: 1999-01-08 13:24:40 + TS[5,3]: 1999-01-08 13:24:40.495 ++TS[5,4]: 1999-01-08 13:24:40.123456 + Date[6]: 1999-01-18 (N - F) + TS[6,0]: 1999-01-18 00:04:00 + TS[6,1]: 1999-01-18 01:59:00 + TS[6,2]: 1999-01-18 13:24:40 + TS[6,3]: 1999-01-18 13:24:40.495 ++TS[6,4]: 1999-01-18 13:24:40.123456 + Date[7]: 2003-01-02 (N - F) + TS[7,0]: 2003-01-02 00:04:00 + TS[7,1]: 2003-01-02 01:59:00 + TS[7,2]: 2003-01-02 13:24:40 + TS[7,3]: 2003-01-02 13:24:40.495 ++TS[7,4]: 2003-01-02 13:24:40.123456 + Date[8]: 1999-01-08 (N - F) + TS[8,0]: 1999-01-08 00:04:00 + TS[8,1]: 1999-01-08 01:59:00 + TS[8,2]: 1999-01-08 13:24:40 + TS[8,3]: 1999-01-08 13:24:40.495 ++TS[8,4]: 1999-01-08 13:24:40.123456 + Date[9]: 1999-01-08 (N - F) + TS[9,0]: 1999-01-08 00:04:00 + TS[9,1]: 1999-01-08 01:59:00 + TS[9,2]: 1999-01-08 13:24:40 + TS[9,3]: 1999-01-08 13:24:40.495 ++TS[9,4]: 1999-01-08 13:24:40.123456 + Date[10]: 1999-01-08 (N - F) + TS[10,0]: 1999-01-08 00:04:00 + TS[10,1]: 1999-01-08 01:59:00 + TS[10,2]: 1999-01-08 13:24:40 + TS[10,3]: 1999-01-08 13:24:40.495 ++TS[10,4]: 1999-01-08 13:24:40.123456 + Date[11]: 1999-01-08 (N - F) + TS[11,0]: 1999-01-08 00:04:00 + TS[11,1]: 1999-01-08 01:59:00 + TS[11,2]: 1999-01-08 13:24:40 + TS[11,3]: 1999-01-08 13:24:40.495 ++TS[11,4]: 1999-01-08 13:24:40.123456 + Date[12]: 1999-01-08 (N - F) + TS[12,0]: 1999-01-08 00:04:00 + TS[12,1]: 1999-01-08 01:59:00 + TS[12,2]: 1999-01-08 13:24:40 + TS[12,3]: 1999-01-08 13:24:40.495 ++TS[12,4]: 1999-01-08 13:24:40.123456 + Date[13]: 2006-01-08 (N - F) + TS[13,0]: 2006-01-08 00:04:00 + TS[13,1]: 2006-01-08 01:59:00 + TS[13,2]: 2006-01-08 13:24:40 + TS[13,3]: 2006-01-08 13:24:40.495 ++TS[13,4]: 2006-01-08 13:24:40.123456 + Date[14]: 1999-01-08 (N - F) + TS[14,0]: 1999-01-08 00:04:00 + TS[14,1]: 1999-01-08 01:59:00 + TS[14,2]: 1999-01-08 13:24:40 + TS[14,3]: 1999-01-08 13:24:40.495 ++TS[14,4]: 1999-01-08 13:24:40.123456 + Date[15]: 1999-01-08 (N - F) + TS[15,0]: 1999-01-08 00:04:00 + TS[15,1]: 1999-01-08 01:59:00 + TS[15,2]: 1999-01-08 13:24:40 + TS[15,3]: 1999-01-08 13:24:40.495 ++TS[15,4]: 1999-01-08 13:24:40.123456 + Date[16]: 1999-01-08 (N - F) + TS[16,0]: 1999-01-08 00:04:00 + TS[16,1]: 1999-01-08 01:59:00 + TS[16,2]: 1999-01-08 13:24:40 + TS[16,3]: 1999-01-08 13:24:40.495 ++TS[16,4]: 1999-01-08 13:24:40.123456 + Date[17]: 1999-01-08 (N - F) + TS[17,0]: 1999-01-08 00:04:00 + TS[17,1]: 1999-01-08 01:59:00 + TS[17,2]: 1999-01-08 13:24:40 + TS[17,3]: 1999-01-08 13:24:40.495 ++TS[17,4]: 1999-01-08 13:24:40.123456 + Date[18]: 1999-01-08 (N - F) + TS[18,0]: 1999-01-08 00:04:00 + TS[18,1]: 1999-01-08 01:59:00 + TS[18,2]: 1999-01-08 13:24:40 + TS[18,3]: 1999-01-08 13:24:40.495 ++TS[18,4]: 1999-01-08 13:24:40.123456 + Date[19]: 0099-01-08 BC (N - F) + TS[19,0]: 0099-01-08 00:04:00 BC + TS[19,1]: 0099-01-08 01:59:00 BC + TS[19,2]: 0099-01-08 13:24:40 BC ++TS[19,4]: 0099-01-08 13:24:40.123456 BC ++Date[20]: - (N - T) ++Date[21]: - (N - T) + interval[0]: @ 1 min + interval_copy[0]: @ 1 min + interval[1]: @ 1 day 12 hours 59 mins 10 secs +diff --git a/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc b/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc +index 0edf012..a127dd9 100644 +--- a/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc ++++ b/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc +@@ -27,6 +27,15 @@ char *dates[] = { "19990108foobar", + "1999.008", + "J2451187", + "January 8, 99 BC", ++ /* ++ * Maximize space usage in ParseDateTime() with 25 ++ * (MAXDATEFIELDS) fields and 128 (MAXDATELEN) total length. ++ */ ++ "........................Xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ++ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", ++ /* 26 fields */ ++ ".........................aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ++ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + NULL }; + + /* do not conflict with libc "times" symbol */ +@@ -34,6 +43,7 @@ static char *times[] = { "0:04", + "1:59 PDT", + "13:24:40 -8:00", + "13:24:40.495+3", ++ "13:24:40.123456789+3", + NULL }; + + char *intervals[] = { "1 minute", +diff --git a/src/test/regress/expected/interval.out b/src/test/regress/expected/interval.out +index 3bf2211..99fd0ca 100644 +--- a/src/test/regress/expected/interval.out ++++ b/src/test/regress/expected/interval.out +@@ -306,6 +306,13 @@ select '4 millenniums 5 centuries 4 decades 1 year 4 months 4 days 17 minutes 31 + @ 4541 years 4 mons 4 days 17 mins 31 secs + (1 row) + ++-- test long interval output ++select '100000000y 10mon -1000000000d -1000000000h -10min -10.000001s ago'::interval; ++ interval ++------------------------------------------------------------------------------------------- ++ @ 100000000 years 10 mons -1000000000 days -1000000000 hours -10 mins -10.000001 secs ago ++(1 row) ++ + -- test justify_hours() and justify_days() + SELECT justify_hours(interval '6 months 3 days 52 hours 3 minutes 2 seconds') as "6 mons 5 days 4 hours 3 mins 2 seconds"; + 6 mons 5 days 4 hours 3 mins 2 seconds +diff --git a/src/test/regress/sql/interval.sql b/src/test/regress/sql/interval.sql +index f1da4c2..7cee286 100644 +--- a/src/test/regress/sql/interval.sql ++++ b/src/test/regress/sql/interval.sql +@@ -108,6 +108,8 @@ select avg(f1) from interval_tbl; + -- test long interval input + select '4 millenniums 5 centuries 4 decades 1 year 4 months 4 days 17 minutes 31 seconds'::interval; + ++-- test long interval output ++select '100000000y 10mon -1000000000d -1000000000h -10min -10.000001s ago'::interval; + + -- test justify_hours() and justify_days() + +-- +1.7.5.4 + diff --git a/meta-oe/recipes-support/postgresql/files/0007-Make-pqsignal-available-to-pg_regress-of-ECPG-and-is.patch b/meta-oe/recipes-support/postgresql/files/0007-Make-pqsignal-available-to-pg_regress-of-ECPG-and-is.patch new file mode 100644 index 0000000000..3cffc0a852 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0007-Make-pqsignal-available-to-pg_regress-of-ECPG-and-is.patch @@ -0,0 +1,75 @@ +From 0ae841a98c21c53901d5bc9a9323a8cc800364f6 Mon Sep 17 00:00:00 2001 +From: Noah Misch <noah@leadboat.com> +Date: Sat, 14 Jun 2014 10:52:25 -0400 +Subject: [PATCH] Make pqsignal() available to pg_regress of ECPG and + isolation suites. + +commit 0ae841a98c21c53901d5bc9a9323a8cc800364f6 REL9_2_STABLE + +Commit 453a5d91d49e4d35054f92785d830df4067e10c1 made it available to the +src/test/regress build of pg_regress, but all pg_regress builds need the +same treatment. Patch 9.2 through 8.4; in 9.3 and later, pg_regress +gets pqsignal() via libpgport. + + +Upstream-Status: Backport + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + src/interfaces/ecpg/test/Makefile | 4 ++-- + src/test/isolation/Makefile | 12 +++++++----- + 2 files changed, 9 insertions(+), 7 deletions(-) + +diff --git a/src/interfaces/ecpg/test/Makefile b/src/interfaces/ecpg/test/Makefile +index e9944c6..4bb9525 100644 +--- a/src/interfaces/ecpg/test/Makefile ++++ b/src/interfaces/ecpg/test/Makefile +@@ -47,10 +47,10 @@ clean distclean maintainer-clean: + + all: pg_regress$(X) + +-pg_regress$(X): pg_regress_ecpg.o $(top_builddir)/src/test/regress/pg_regress.o ++pg_regress$(X): pg_regress_ecpg.o $(top_builddir)/src/test/regress/pg_regress.o $(top_builddir)/src/test/regress/pqsignal.o + $(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_EX) $^ $(LIBS) -o $@ + +-$(top_builddir)/src/test/regress/pg_regress.o: ++$(top_builddir)/src/test/regress/pg_regress.o $(top_builddir)/src/test/regress/pqsignal.o: + $(MAKE) -C $(dir $@) $(notdir $@) + + # dependencies ensure that path changes propagate +diff --git a/src/test/isolation/Makefile b/src/test/isolation/Makefile +index 46ea6f0..e20ba48 100644 +--- a/src/test/isolation/Makefile ++++ b/src/test/isolation/Makefile +@@ -15,13 +15,15 @@ OBJS = specparse.o isolationtester.o + + all: isolationtester$(X) pg_isolation_regress$(X) + +-submake-regress: ++pg_regress.o: + $(MAKE) -C $(top_builddir)/src/test/regress pg_regress.o +- +-pg_regress.o: | submake-regress + rm -f $@ && $(LN_S) $(top_builddir)/src/test/regress/pg_regress.o . + +-pg_isolation_regress$(X): isolation_main.o pg_regress.o ++pqsignal.o: ++ $(MAKE) -C $(top_builddir)/src/test/regress pqsignal.o ++ rm -f $@ && $(LN_S) $(top_builddir)/src/test/regress/pqsignal.o . ++ ++pg_isolation_regress$(X): isolation_main.o pg_regress.o pqsignal.o + $(CC) $(CFLAGS) $^ $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@ + + isolationtester$(X): $(OBJS) | submake-libpq submake-libpgport +@@ -59,7 +61,7 @@ endif + # so do not clean them here + clean distclean: + rm -f isolationtester$(X) pg_isolation_regress$(X) $(OBJS) isolation_main.o +- rm -f pg_regress.o ++ rm -f pg_regress.o pqsignal.o + rm -rf $(pg_regress_clean_files) + + maintainer-clean: distclean +-- +1.7.5.4 + diff --git a/meta-oe/recipes-support/postgresql/files/0008-Prevent-potential-overruns-of-fixed-size-buffers.patch b/meta-oe/recipes-support/postgresql/files/0008-Prevent-potential-overruns-of-fixed-size-buffers.patch new file mode 100644 index 0000000000..62ec9354d4 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0008-Prevent-potential-overruns-of-fixed-size-buffers.patch @@ -0,0 +1,393 @@ +From 655b665f745e2e07cf6936c6063b0250f5caa98f Mon Sep 17 00:00:00 2001 +From: Tom Lane <tgl@sss.pgh.pa.us> +Date: Mon, 17 Feb 2014 11:20:27 -0500 +Subject: [PATCH] Prevent potential overruns of fixed-size buffers. + +commit 655b665f745e2e07cf6936c6063b0250f5caa98f REL9_2_STABLE + +Coverity identified a number of places in which it couldn't prove that a +string being copied into a fixed-size buffer would fit. We believe that +most, perhaps all of these are in fact safe, or are copying data that is +coming from a trusted source so that any overrun is not really a security +issue. Nonetheless it seems prudent to forestall any risk by using +strlcpy() and similar functions. + +Fixes by Peter Eisentraut and Jozef Mlich based on Coverity reports. + +In addition, fix a potential null-pointer-dereference crash in +contrib/chkpass. The crypt(3) function is defined to return NULL on +failure, but chkpass.c didn't check for that before using the result. +The main practical case in which this could be an issue is if libc is +configured to refuse to execute unapproved hashing algorithms (e.g., +"FIPS mode"). This ideally should've been a separate commit, but +since it touches code adjacent to one of the buffer overrun changes, +I included it in this commit to avoid last-minute merge issues. +This issue was reported by Honza Horak. + +Security: CVE-2014-0065 for buffer overruns, CVE-2014-0066 for crypt() + +Upsteam-Status: Backport + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + contrib/chkpass/chkpass.c | 29 ++++++++++++++++++++++++++--- + contrib/pg_standby/pg_standby.c | 2 +- + src/backend/access/transam/xlog.c | 10 +++++----- + src/backend/tsearch/spell.c | 2 +- + src/backend/utils/adt/datetime.c | 11 ++++++----- + src/bin/initdb/findtimezone.c | 4 ++-- + src/bin/pg_basebackup/pg_basebackup.c | 8 ++++---- + src/interfaces/ecpg/preproc/pgc.l | 2 +- + src/interfaces/libpq/fe-protocol2.c | 2 +- + src/interfaces/libpq/fe-protocol3.c | 2 +- + src/port/exec.c | 4 ++-- + src/test/regress/pg_regress.c | 6 +++--- + src/timezone/pgtz.c | 2 +- + 13 files changed, 54 insertions(+), 30 deletions(-) + +diff --git a/contrib/chkpass/chkpass.c b/contrib/chkpass/chkpass.c +index 0c9fec0..1795b8c 100644 +--- a/contrib/chkpass/chkpass.c ++++ b/contrib/chkpass/chkpass.c +@@ -70,6 +70,7 @@ chkpass_in(PG_FUNCTION_ARGS) + char *str = PG_GETARG_CSTRING(0); + chkpass *result; + char mysalt[4]; ++ char *crypt_output; + static char salt_chars[] = + "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + +@@ -92,7 +93,15 @@ chkpass_in(PG_FUNCTION_ARGS) + mysalt[1] = salt_chars[random() & 0x3f]; + mysalt[2] = 0; /* technically the terminator is not necessary + * but I like to play safe */ +- strcpy(result->password, crypt(str, mysalt)); ++ ++ crypt_output = crypt(str, mysalt); ++ if (crypt_output == NULL) ++ ereport(ERROR, ++ (errcode(ERRCODE_INVALID_PARAMETER_VALUE), ++ errmsg("crypt() failed"))); ++ ++ strlcpy(result->password, crypt_output, sizeof(result->password)); ++ + PG_RETURN_POINTER(result); + } + +@@ -141,9 +150,16 @@ chkpass_eq(PG_FUNCTION_ARGS) + chkpass *a1 = (chkpass *) PG_GETARG_POINTER(0); + text *a2 = PG_GETARG_TEXT_PP(1); + char str[9]; ++ char *crypt_output; + + text_to_cstring_buffer(a2, str, sizeof(str)); +- PG_RETURN_BOOL(strcmp(a1->password, crypt(str, a1->password)) == 0); ++ crypt_output = crypt(str, a1->password); ++ if (crypt_output == NULL) ++ ereport(ERROR, ++ (errcode(ERRCODE_INVALID_PARAMETER_VALUE), ++ errmsg("crypt() failed"))); ++ ++ PG_RETURN_BOOL(strcmp(a1->password, crypt_output) == 0); + } + + PG_FUNCTION_INFO_V1(chkpass_ne); +@@ -153,7 +169,14 @@ chkpass_ne(PG_FUNCTION_ARGS) + chkpass *a1 = (chkpass *) PG_GETARG_POINTER(0); + text *a2 = PG_GETARG_TEXT_PP(1); + char str[9]; ++ char *crypt_output; + + text_to_cstring_buffer(a2, str, sizeof(str)); +- PG_RETURN_BOOL(strcmp(a1->password, crypt(str, a1->password)) != 0); ++ crypt_output = crypt(str, a1->password); ++ if (crypt_output == NULL) ++ ereport(ERROR, ++ (errcode(ERRCODE_INVALID_PARAMETER_VALUE), ++ errmsg("crypt() failed"))); ++ ++ PG_RETURN_BOOL(strcmp(a1->password, crypt_output) != 0); + } +diff --git a/contrib/pg_standby/pg_standby.c b/contrib/pg_standby/pg_standby.c +index 84941ed..0f1e0c1 100644 +--- a/contrib/pg_standby/pg_standby.c ++++ b/contrib/pg_standby/pg_standby.c +@@ -338,7 +338,7 @@ SetWALFileNameForCleanup(void) + if (strcmp(restartWALFileName, nextWALFileName) > 0) + return false; + +- strcpy(exclusiveCleanupFileName, restartWALFileName); ++ strlcpy(exclusiveCleanupFileName, restartWALFileName, sizeof(exclusiveCleanupFileName)); + return true; + } + +diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c +index d639c4a..49bb453 100644 +--- a/src/backend/access/transam/xlog.c ++++ b/src/backend/access/transam/xlog.c +@@ -3017,7 +3017,7 @@ KeepFileRestoredFromArchive(char *path, char *xlogfname) + xlogfpath, oldpath))); + } + #else +- strncpy(oldpath, xlogfpath, MAXPGPATH); ++ strlcpy(oldpath, xlogfpath, MAXPGPATH); + #endif + if (unlink(oldpath) != 0) + ereport(FATAL, +@@ -5913,7 +5913,7 @@ recoveryStopsHere(XLogRecord *record, bool *includeThis) + + recordRestorePointData = (xl_restore_point *) XLogRecGetData(record); + recordXtime = recordRestorePointData->rp_time; +- strncpy(recordRPName, recordRestorePointData->rp_name, MAXFNAMELEN); ++ strlcpy(recordRPName, recordRestorePointData->rp_name, MAXFNAMELEN); + } + else + return false; +@@ -6008,7 +6008,7 @@ recoveryStopsHere(XLogRecord *record, bool *includeThis) + } + else + { +- strncpy(recoveryStopName, recordRPName, MAXFNAMELEN); ++ strlcpy(recoveryStopName, recordRPName, MAXFNAMELEN); + + ereport(LOG, + (errmsg("recovery stopping at restore point \"%s\", time %s", +@@ -6348,7 +6348,7 @@ StartupXLOG(void) + * see them + */ + XLogCtl->RecoveryTargetTLI = recoveryTargetTLI; +- strncpy(XLogCtl->archiveCleanupCommand, ++ strlcpy(XLogCtl->archiveCleanupCommand, + archiveCleanupCommand ? archiveCleanupCommand : "", + sizeof(XLogCtl->archiveCleanupCommand)); + +@@ -8760,7 +8760,7 @@ XLogRestorePoint(const char *rpName) + xl_restore_point xlrec; + + xlrec.rp_time = GetCurrentTimestamp(); +- strncpy(xlrec.rp_name, rpName, MAXFNAMELEN); ++ strlcpy(xlrec.rp_name, rpName, MAXFNAMELEN); + + rdata.buffer = InvalidBuffer; + rdata.data = (char *) &xlrec; +diff --git a/src/backend/tsearch/spell.c b/src/backend/tsearch/spell.c +index 449aa6a..4acc33e 100644 +--- a/src/backend/tsearch/spell.c ++++ b/src/backend/tsearch/spell.c +@@ -255,7 +255,7 @@ NIAddSpell(IspellDict *Conf, const char *word, const char *flag) + } + Conf->Spell[Conf->nspell] = (SPELL *) tmpalloc(SPELLHDRSZ + strlen(word) + 1); + strcpy(Conf->Spell[Conf->nspell]->word, word); +- strncpy(Conf->Spell[Conf->nspell]->p.flag, flag, MAXFLAGLEN); ++ strlcpy(Conf->Spell[Conf->nspell]->p.flag, flag, MAXFLAGLEN); + Conf->nspell++; + } + +diff --git a/src/backend/utils/adt/datetime.c b/src/backend/utils/adt/datetime.c +index 4763a6f..4105f17 100644 +--- a/src/backend/utils/adt/datetime.c ++++ b/src/backend/utils/adt/datetime.c +@@ -90,10 +90,10 @@ char *days[] = {"Sunday", "Monday", "Tuesday", "Wednesday", + * Note that this table must be strictly alphabetically ordered to allow an + * O(ln(N)) search algorithm to be used. + * +- * The text field is NOT guaranteed to be NULL-terminated. ++ * The token field is NOT guaranteed to be NULL-terminated. + * +- * To keep this table reasonably small, we divide the lexval for TZ and DTZ +- * entries by 15 (so they are on 15 minute boundaries) and truncate the text ++ * To keep this table reasonably small, we divide the value for TZ and DTZ ++ * entries by 15 (so they are on 15 minute boundaries) and truncate the token + * field at TOKMAXLEN characters. + * Formerly, we divided by 10 rather than 15 but there are a few time zones + * which are 30 or 45 minutes away from an even hour, most are on an hour +@@ -108,7 +108,7 @@ static datetkn *timezonetktbl = NULL; + static int sztimezonetktbl = 0; + + static const datetkn datetktbl[] = { +-/* text, token, lexval */ ++ /* token, type, value */ + {EARLY, RESERV, DTK_EARLY}, /* "-infinity" reserved for "early time" */ + {DA_D, ADBC, AD}, /* "ad" for years > 0 */ + {"allballs", RESERV, DTK_ZULU}, /* 00:00:00 */ +@@ -188,7 +188,7 @@ static const datetkn datetktbl[] = { + static int szdatetktbl = sizeof datetktbl / sizeof datetktbl[0]; + + static datetkn deltatktbl[] = { +- /* text, token, lexval */ ++ /* token, type, value */ + {"@", IGNORE_DTF, 0}, /* postgres relative prefix */ + {DAGO, AGO, 0}, /* "ago" indicates negative time offset */ + {"c", UNITS, DTK_CENTURY}, /* "century" relative */ +@@ -4201,6 +4201,7 @@ ConvertTimeZoneAbbrevs(TimeZoneAbbrevTable *tbl, + tbl->numabbrevs = n; + for (i = 0; i < n; i++) + { ++ /* do NOT use strlcpy here; token field need not be null-terminated */ + strncpy(newtbl[i].token, abbrevs[i].abbrev, TOKMAXLEN); + newtbl[i].type = abbrevs[i].is_dst ? DTZ : TZ; + TOVAL(&newtbl[i], abbrevs[i].offset / MINS_PER_HOUR); +diff --git a/src/bin/initdb/findtimezone.c b/src/bin/initdb/findtimezone.c +index 6d6f96a..6d38151 100644 +--- a/src/bin/initdb/findtimezone.c ++++ b/src/bin/initdb/findtimezone.c +@@ -68,7 +68,7 @@ pg_open_tzfile(const char *name, char *canonname) + if (canonname) + strlcpy(canonname, name, TZ_STRLEN_MAX + 1); + +- strcpy(fullname, pg_TZDIR()); ++ strlcpy(fullname, pg_TZDIR(), sizeof(fullname)); + if (strlen(fullname) + 1 + strlen(name) >= MAXPGPATH) + return -1; /* not gonna fit */ + strcat(fullname, "/"); +@@ -375,7 +375,7 @@ identify_system_timezone(void) + } + + /* Search for the best-matching timezone file */ +- strcpy(tmptzdir, pg_TZDIR()); ++ strlcpy(tmptzdir, pg_TZDIR(), sizeof(tmptzdir)); + bestscore = -1; + resultbuf[0] = '\0'; + scan_available_timezones(tmptzdir, tmptzdir + strlen(tmptzdir) + 1, +diff --git a/src/bin/pg_basebackup/pg_basebackup.c b/src/bin/pg_basebackup/pg_basebackup.c +index 9d840a1..26cc758 100644 +--- a/src/bin/pg_basebackup/pg_basebackup.c ++++ b/src/bin/pg_basebackup/pg_basebackup.c +@@ -735,9 +735,9 @@ ReceiveAndUnpackTarFile(PGconn *conn, PGresult *res, int rownum) + FILE *file = NULL; + + if (PQgetisnull(res, rownum, 0)) +- strcpy(current_path, basedir); ++ strlcpy(current_path, basedir, sizeof(current_path)); + else +- strcpy(current_path, PQgetvalue(res, rownum, 1)); ++ strlcpy(current_path, PQgetvalue(res, rownum, 1), sizeof(current_path)); + + /* + * Get the COPY data +@@ -1053,7 +1053,7 @@ BaseBackup(void) + progname); + disconnect_and_exit(1); + } +- strcpy(xlogstart, PQgetvalue(res, 0, 0)); ++ strlcpy(xlogstart, PQgetvalue(res, 0, 0), sizeof(xlogstart)); + if (verbose && includewal) + fprintf(stderr, "transaction log start point: %s\n", xlogstart); + PQclear(res); +@@ -1153,7 +1153,7 @@ BaseBackup(void) + progname); + disconnect_and_exit(1); + } +- strcpy(xlogend, PQgetvalue(res, 0, 0)); ++ strlcpy(xlogend, PQgetvalue(res, 0, 0), sizeof(xlogend)); + if (verbose && includewal) + fprintf(stderr, "transaction log end point: %s\n", xlogend); + PQclear(res); +diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l +index f2e7edd..7ae8556 100644 +--- a/src/interfaces/ecpg/preproc/pgc.l ++++ b/src/interfaces/ecpg/preproc/pgc.l +@@ -1315,7 +1315,7 @@ parse_include(void) + yytext[i] = '\0'; + memmove(yytext, yytext+1, strlen(yytext)); + +- strncpy(inc_file, yytext, sizeof(inc_file)); ++ strlcpy(inc_file, yytext, sizeof(inc_file)); + yyin = fopen(inc_file, "r"); + if (!yyin) + { +diff --git a/src/interfaces/libpq/fe-protocol2.c b/src/interfaces/libpq/fe-protocol2.c +index 1ba5885..af4c412 100644 +--- a/src/interfaces/libpq/fe-protocol2.c ++++ b/src/interfaces/libpq/fe-protocol2.c +@@ -500,7 +500,7 @@ pqParseInput2(PGconn *conn) + if (!conn->result) + return; + } +- strncpy(conn->result->cmdStatus, conn->workBuffer.data, ++ strlcpy(conn->result->cmdStatus, conn->workBuffer.data, + CMDSTATUS_LEN); + checkXactStatus(conn, conn->workBuffer.data); + conn->asyncStatus = PGASYNC_READY; +diff --git a/src/interfaces/libpq/fe-protocol3.c b/src/interfaces/libpq/fe-protocol3.c +index d289f82..6f8a470 100644 +--- a/src/interfaces/libpq/fe-protocol3.c ++++ b/src/interfaces/libpq/fe-protocol3.c +@@ -206,7 +206,7 @@ pqParseInput3(PGconn *conn) + if (!conn->result) + return; + } +- strncpy(conn->result->cmdStatus, conn->workBuffer.data, ++ strlcpy(conn->result->cmdStatus, conn->workBuffer.data, + CMDSTATUS_LEN); + conn->asyncStatus = PGASYNC_READY; + break; +diff --git a/src/port/exec.c b/src/port/exec.c +index c79e8ba..0726dbe 100644 +--- a/src/port/exec.c ++++ b/src/port/exec.c +@@ -66,7 +66,7 @@ validate_exec(const char *path) + if (strlen(path) >= strlen(".exe") && + pg_strcasecmp(path + strlen(path) - strlen(".exe"), ".exe") != 0) + { +- strcpy(path_exe, path); ++ strlcpy(path_exe, path, sizeof(path_exe) - 4); + strcat(path_exe, ".exe"); + path = path_exe; + } +@@ -275,7 +275,7 @@ resolve_symlinks(char *path) + } + + /* must copy final component out of 'path' temporarily */ +- strcpy(link_buf, fname); ++ strlcpy(link_buf, fname, sizeof(link_buf)); + + if (!getcwd(path, MAXPGPATH)) + { +diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c +index d991a5c..a6466eb 100644 +--- a/src/test/regress/pg_regress.c ++++ b/src/test/regress/pg_regress.c +@@ -1233,7 +1233,7 @@ results_differ(const char *testname, const char *resultsfile, const char *defaul + */ + platform_expectfile = get_expectfile(testname, resultsfile); + +- strcpy(expectfile, default_expectfile); ++ strlcpy(expectfile, default_expectfile, sizeof(expectfile)); + if (platform_expectfile) + { + /* +@@ -1288,7 +1288,7 @@ results_differ(const char *testname, const char *resultsfile, const char *defaul + { + /* This diff was a better match than the last one */ + best_line_count = l; +- strcpy(best_expect_file, alt_expectfile); ++ strlcpy(best_expect_file, alt_expectfile, sizeof(best_expect_file)); + } + free(alt_expectfile); + } +@@ -1316,7 +1316,7 @@ results_differ(const char *testname, const char *resultsfile, const char *defaul + { + /* This diff was a better match than the last one */ + best_line_count = l; +- strcpy(best_expect_file, default_expectfile); ++ strlcpy(best_expect_file, default_expectfile, sizeof(best_expect_file)); + } + } + +diff --git a/src/timezone/pgtz.c b/src/timezone/pgtz.c +index d5bc83e..80c5635 100644 +--- a/src/timezone/pgtz.c ++++ b/src/timezone/pgtz.c +@@ -83,7 +83,7 @@ pg_open_tzfile(const char *name, char *canonname) + * Loop to split the given name into directory levels; for each level, + * search using scan_directory_ci(). + */ +- strcpy(fullname, pg_TZDIR()); ++ strlcpy(fullname, pg_TZDIR(), sizeof(fullname)); + orignamelen = fullnamelen = strlen(fullname); + fname = name; + for (;;) +-- +1.7.5.4 + diff --git a/meta-oe/recipes-support/postgresql/postgresql.inc b/meta-oe/recipes-support/postgresql/postgresql.inc index d45f4b5edf..1397f564de 100644 --- a/meta-oe/recipes-support/postgresql/postgresql.inc +++ b/meta-oe/recipes-support/postgresql/postgresql.inc @@ -28,10 +28,17 @@ SRC_URI = "http://ftp.postgresql.org/pub/source/v${PV}/${BP}.tar.bz2 \ file://postgresql.init \ file://postgresql-bashprofile \ file://postgresql.pam \ - file://0001-Use-pkg-config-for-libxml2-detection.patch \ file://postgresql-setup \ file://postgresql.service \ -" + file://0001-Use-pkg-config-for-libxml2-detection.patch \ + file://0002-Predict-integer-overflow-to-avoid-buffer-overruns.patch \ + file://0003-Shore-up-ADMIN-OPTION-restrictions.patch \ + file://0004-Prevent-privilege-escalation-in-explicit-calls-to-PL.patch \ + file://0005-Avoid-repeated-name-lookups-during-table-and-index-D.patch \ + file://0006-Fix-handling-of-wide-datetime-input-output.patch \ + file://0007-Make-pqsignal-available-to-pg_regress-of-ECPG-and-is.patch \ + file://0008-Prevent-potential-overruns-of-fixed-size-buffers.patch \ + " LEAD_SONAME = "libpq.so" diff --git a/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-compile-errors.patch b/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-compile-errors.patch new file mode 100644 index 0000000000..8341a8ecde --- /dev/null +++ b/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-compile-errors.patch @@ -0,0 +1,606 @@ +From 898e9514bc889b4a540f667efed95a5af101c824 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 2 Dec 2014 07:00:36 +0900 +Subject: [PATCH 1/3] From debian to fix compile errors + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + src/Makefile.0 | 7 +++---- + src/autoconf | 64 +++++++++++++------------------------------------------- + src/comsat.c | 65 +++++++++++++++++++-------------------------------------- + src/fields.c | 6 +++--- + src/foldinfo.h | 2 +- + src/formail.c | 6 +++--- + src/formisc.c | 2 +- + src/formisc.h | 2 +- + src/mailfold.c | 14 ++++++++++--- + src/manconf.c | 2 +- + src/memblk.c | 24 ++++++++++----------- + src/memblk.h | 2 +- + src/network.h | 10 ++------- + src/pipes.c | 10 ++++----- + src/procmail.c | 3 +-- + src/recommend.c | 2 +- + 16 files changed, 81 insertions(+), 140 deletions(-) + +diff --git a/src/Makefile.0 b/src/Makefile.0 +index 6eb5b51..15a2039 100644 +--- a/src/Makefile.0 ++++ b/src/Makefile.0 +@@ -40,7 +40,7 @@ multigram: multigram.$(O) $(MG_OBJ) setid + @cd ..; $(MAKE) config.check + + _autotst: _autotst.$(O) sublib.c sublib.h +- $(CC) $(CFLAGS) $@.$(O) -o $@ $(LDFLAGS) ++ gcc $@.$(O) -o $@ $(LDFLAGS) + + ../autoconf.h: autoconf Makefile ../patchlevel.h + @echo No this was not make -n >make_n +@@ -175,17 +175,16 @@ recommend: recommend.$(O) sublib.$(O) + + ../man/man.sed: manconf.c ../autoconf.h ../config.h includes.h procmail.h + ../man/man.sed: ../patchlevel.h +- @$(CC) $(CFLAGS) "-DBINDIR=\"$(VISIBLE_BINDIR)\"" -o _autotst \ ++ gcc "-DBINDIR=\"$(VISIBLE_BINDIR)\"" -o _autotst \ + manconf.c $(LDFLAGS) + @./_autotst $@ + @echo Housekeeping file >$@ +- @$(RM) _autotst + + clean: + $(RM) -r _locktest + $(RM) procmail.$(O) $(PM_OBJ) lockfile.$(O) $(LF_OBJ) formail.$O \ + $(FM_OBJ) multigram.$(O) $(MG_OBJ) $(BINSS) multigram ../autoconf.h \ +- _autotst* lookfor _locktst* grepfor recommend recommend.$(O) manconf \ ++ lookfor _locktst* grepfor recommend recommend.$(O) manconf \ + _Makefile lock.log *core* targetdir.h setid setid.$(O) gethome \ + gethome.$(O) make_n realloc.log + +diff --git a/src/autoconf b/src/autoconf +index 1cb4c42..ff78048 100755 +--- a/src/autoconf ++++ b/src/autoconf +@@ -68,8 +68,6 @@ + # #define NOfsync + #Ok #define endpwent() + #Ok #define endgrent() +-#Ok #define endhostent() +-#Ok #define endservent() + #Ok #define endprotoent() + # #define h_0addr_list h_addr + #Ok #define NOpw_passwd +@@ -896,7 +894,7 @@ int main(){int i=0; + {uid_t vuid_t;i+=vuid_t=1;} + {gid_t vgid_t;i+=vgid_t=1;} + #ifndef NO_COMSAT +- {struct hostent vhostent;i+=!(vhostent.h_addr_list=0);} ++ {struct addrinfo res; i+=!(res.ai_socktype=0);} + #endif + #ifndef NOuname + {struct utsname vutsname;i+=!(*vutsname.nodename='\0');} +@@ -917,8 +915,6 @@ do + test -z "$i3" && grepfor mode_t 'typedef int mode_t;' && i3=I + test -z "$i4" && grepfor uid_t 'typedef int uid_t;' && i4=I + test -z "$i5" && grepfor gid_t 'typedef int gid_t;' && i5=I +- test -z "$i6" && grepfor h_addr_list '#define h_0addr_list h_addr' && i6=I +- test -z "$i6" && grepfor hostent '#define h_0addr_list h_addr' && i6=I + test -z "$i6" && grepfor member '#define h_0addr_list h_addr' && i6=I + test -z "$i7" && grepfor utsname "#define NOuname \ + /* <sys/utsname.h> is there, but empty */" && i7=I +@@ -1048,8 +1044,12 @@ int main(){char a[2]; + {struct utsname b;uname(&b);} + #endif + #ifndef NO_COMSAT +- gethostbyname("0");getprotobyname(COMSATprotocol);endhostent();endservent(); +- endprotoent(); ++ { ++ struct addrinfo *res, hints; ++ memset(&hints, '\0', sizeof(hints)); ++ if(getaddrinfo(COMSAThost,BIFF_serviceport,&hints,&res)) ++ freeaddrinfo(res); ++ } + #endif + _exit(0); + return 0;} +@@ -1103,14 +1103,9 @@ grepfor uname "\ + /* <sys/utsname.h> defines it, the libraries don't */" + grepfor endpwent '#define endpwent()' + grepfor endgrent '#define endgrent()' +-if grepfor gethostbyname '#define NO_COMSAT' ++if grepfor getaddrinfo '#define NO_COMSAT' + then + : +-else +- grepfor getprotobyname '#define UDP_protocolno 17' +- grepfor endhostent '#define endhostent()' +- grepfor endservent '#define endservent()' +- grepfor endprotoent '#define endprotoent()' + fi + grepfor strstr '#define SLOWstrstr' || + grepfor clock '#define SLOWstrstr' +@@ -1239,39 +1234,9 @@ int main(argc,argv)int argc;const char*argv[]; + printf("/* Insufficient memory to perform the benchmark! */\n"); + #endif /* SLOWstrstr */ + #ifndef NO_COMSAT +-#ifndef UDP_protocolno +- ;{ const struct protoent*p; +- if(p=getprotobyname(COMSATprotocol)) +- { printf("#define UDP_protocolno %d\n",p->p_proto); +-#else +- ;{ if(1) +- { +-#endif +- ;{ const struct servent*serv; +- if(serv=getservbyname(COMSATservice,COMSATprotocol)) +- printf("#define BIFF_serviceport \"%d\"\n", +- ntohs(serv->s_port)); +- } +-#ifdef AF_INET +- ;{ const struct hostent*host; +- if(!strcmp("localhost",COMSAThost)&& +- (host=gethostbyname(COMSAThost))&& +- host->h_0addr_list&&host->h_addrtype==AF_INET&& +- host->h_length) +- { int j=host->h_length; +- const unsigned char*ad=(void*)host->h_0addr_list; +- printf("#define IP_localhost {"); +- printf("%d",*ad++); +- while(--j) +- printf(",%d",*ad++); +- puts("}"); +- } +- } ++#ifndef AF_INET ++ puts("#define NO_COMSAT"); + #endif /* AF_INET */ +- } +- else +- puts("#define NO_COMSAT"); +- } + #endif /* NO_COMSAT */ + ;{ unsigned long s=(size_t)~0;int bits; + for(bits=1;s>>=1;bits++); +@@ -1470,15 +1435,14 @@ cat /usr/lib/sendmail.cf /etc/sendmail.cf /etc/mail/sendmail.cf 2>$DEVNULL | + grep 'Mlocal.*procmail' >$DEVNULL || + echo '#define CF_no_procmail_yet' >>$ACONF + +-cat /usr/lib/sendmail.cf /etc/sendmail.cf /etc/mail/sendmail.cf 2>$DEVNULL | +- grep '^V' >$DEVNULL || +- echo '#define buggy_SENDMAIL' >>$ACONF ++# cat /usr/lib/sendmail.cf /etc/sendmail.cf /etc/mail/sendmail.cf 2>$DEVNULL | ++# grep '^V' >$DEVNULL || ++# echo '#define buggy_SENDMAIL' >>$ACONF + + lpath='/bin' + bins="/bin" + +-for newd in /usr/bin /usr/ucb /usr/5bin $BINDIR /local/bin /usr/local/bin \ +- /global/bin /usr/bin/X11 /usr/X*/bin ++for newd in /usr/bin $BINDIR /usr/bin/X11 /usr/X*/bin + do + if test -d $newd + then +diff --git a/src/comsat.c b/src/comsat.c +index 77dba34..5082b16 100644 +--- a/src/comsat.c ++++ b/src/comsat.c +@@ -27,7 +27,8 @@ static /*const*/char rcsid[]= + #include "comsat.h" + + static int csvalid; /* is it turned on with a good address? */ +-static struct sockaddr_in csaddr; ++static struct addrinfo cai; ++static struct sockaddr *csaddr; + static char*cslastf,*cslgname; + + void setlfcs(folder)const char*folder; /* set lastfolder for comsat */ +@@ -62,56 +63,32 @@ void setlgcs(name)const char*name; /* set logname for comsat */ + } + + int setcomsat(chp)const char*chp; +-{ char*chad;int newvalid; struct sockaddr_in newaddr; ++{ char*chad;int newvalid; struct addrinfo *res, hints; + chad=strchr(chp,SERV_ADDRsep); /* @ separator? */ + if(!chad&&!renvint(-1L,chp)) + return csvalid=0; /* turned off comsat */ + newvalid=1; + if(chad) + *chad++='\0'; /* split the specifier */ ++ if(!chad||!*chp) /* no service */ ++ chp=BIFF_serviceport; /* new balls please! */ + if(!chad||!*chad) /* no host */ +-#ifndef IP_localhost /* Is "localhost" preresolved? */ + chad=COMSAThost; /* nope, use default */ +-#else /* IP_localhost */ +- { static const unsigned char ip_localhost[]=IP_localhost; +- newaddr.sin_family=AF_INET; +- tmemmove(&newaddr.sin_addr,ip_localhost,sizeof ip_localhost); +- } +- else +-#endif /* IP_localhost */ +- { const struct hostent*host; /* what host? paranoid checks */ +- if(!(host=gethostbyname(chad))||!host->h_0addr_list) +- { bbzero(&newaddr.sin_addr,sizeof newaddr.sin_addr); +- newvalid=0; /* host can't be found, too bad */ +- } +- else +- { newaddr.sin_family=host->h_addrtype; /* address number found */ +- tmemmove(&newaddr.sin_addr,host->h_0addr_list,host->h_length); +- } +- endhostent(); +- } +- if(newvalid) /* so far, so good */ +- { int s; +- if(!*chp) /* no service */ +- chp=BIFF_serviceport; /* new balls please! */ +- s=strtol(chp,&chad,10); +- if(chp!=chad) /* the service is not numeric */ +- newaddr.sin_port=htons((short)s); /* network order */ +- else +- { const struct servent*serv; +- serv=getservbyname(chp,COMSATprotocol); /* so get its no. */ +- if(serv) +- newaddr.sin_port=serv->s_port; +- else +- { newaddr.sin_port=htons((short)0); /* no such service */ +- newvalid=0; +- } +- endservent(); +- } +- } ++ bzero(&hints,sizeof(hints)); ++ hints.ai_socktype=SOCK_DGRAM; ++ hints.ai_flags=AI_ADDRCONFIG; ++ if(getaddrinfo(chad,chp,&hints,&res)) ++ newvalid=0; ++ + onguard(); /* update the address atomically */ + if(csvalid=newvalid) +- tmemmove(&csaddr,&newaddr,sizeof(newaddr)); ++ { if(csaddr) ++ free(csaddr); ++ csaddr=malloc(res->ai_addrlen); ++ tmemmove(csaddr,res->ai_addr,res->ai_addrlen); ++ tmemmove(&cai,res,sizeof(cai)); ++ freeaddrinfo(res); ++ } + offguard(); + return newvalid; + } +@@ -120,7 +97,7 @@ void sendcomsat(folder)const char*folder; + { int s;const char*p; + if(!csvalid||!buf) /* is comat on and set to a valid address? */ + return; +- if(!*cslgname||strlen(cslgname)+2>linebuf) /* is $LOGNAME bogus? */ ++ if(!cslgname||!*cslgname||strlen(cslgname)+2>linebuf)/* is $LOGNAME bogus? */ + return; + if(!(p=folder?folder:cslastf)) /* do we have a folder? */ + return; +@@ -132,8 +109,8 @@ void sendcomsat(folder)const char*folder; + } + strlcat(buf,COMSATxtrsep,linebuf); /* custom seperator */ + strlcat(buf,p,linebuf); /* where was it delivered? */ +- if((s=socket(AF_INET,SOCK_DGRAM,UDP_protocolno))>=0) +- { sendto(s,buf,strlen(buf),0,(struct sockaddr*)&csaddr,sizeof(csaddr)); ++ if((s=socket(cai.ai_family,cai.ai_socktype,cai.ai_protocol))>=0) ++ { sendto(s,buf,strlen(buf),0,csaddr,cai.ai_addrlen); + rclose(s); + yell("Notified comsat:",buf); + } +diff --git a/src/fields.c b/src/fields.c +index a2bd77f..37ed154 100644 +--- a/src/fields.c ++++ b/src/fields.c +@@ -110,16 +110,16 @@ void dispfield(p)register const struct field*p; + /* try and append one valid field to rdheader from stdin */ + int readhead P((void)) + { int idlen; +- getline(); ++ get_line(); + if((idlen=breakfield(buf,buffilled))<=0) /* not the start of a valid field */ + return 0; + if(idlen==STRLEN(FROM)&&eqFrom_(buf)) /* it's a From_ line */ + { if(rdheader) + return 0; /* the From_ line was a fake! */ +- for(;buflast=='>';getline()); /* gather continued >From_ lines */ ++ for(;buflast=='>';get_line()); /* gather continued >From_ lines */ + } + else +- for(;;getline()) /* get the rest of the continued field */ ++ for(;;get_line()) /* get the rest of the continued field */ + { switch(buflast) /* will this line be continued? */ + { case ' ':case '\t': /* yep, it sure is */ + continue; +diff --git a/src/foldinfo.h b/src/foldinfo.h +index 9e4ebb6..797f9be 100644 +--- a/src/foldinfo.h ++++ b/src/foldinfo.h +@@ -10,7 +10,7 @@ + + #define ft_lock(type) ((type)>ft_MAILDIR) /* kernel lock fd */ + #define ft_atime(type) ((type)==ft_FILE) /* force atime < mtime */ +-#define ft_dotlock(type) ((type)==ft_FILE) /* dotlock $DEFAULT */ ++#define ft_dotlock(type) ((type)>ft_MAILDIR) /* dotlock $DEFAULT */ + #define ft_delim(type) ((type)==ft_FILE) /* add MMDF delim */ + #define ft_checkcloser(type) ((type)>ft_MH) + #define ft_forceblank(type) ((type)!=ft_MAILDIR) /* force blank line at end */ +diff --git a/src/formail.c b/src/formail.c +index fe5e6be..1f5c9dd 100644 +--- a/src/formail.c ++++ b/src/formail.c +@@ -758,9 +758,9 @@ startover: + lputssn(buf,buffilled),ctlength-=buffilled,buffilled=lnl=0; + ;{ int tbl=buflast,lwr='\n'; + while(--ctlength>=0&&tbl!=EOF) /* skip Content-Length: bytes */ +- lnl=lwr==tbl&&lwr=='\n',putcs(lwr=tbl),tbl=getchar(); ++ lnl=lwr==tbl&&lwr=='\n',lputcs(lwr=tbl),tbl=getchar(); + if((buflast=tbl)=='\n'&&lwr!=tbl) /* just before a line break? */ +- putcs('\n'),buflast=getchar(); /* wrap up loose end */ ++ lputcs('\n'),buflast=getchar(); /* wrap up loose end */ + } + if(!quiet&&ctlength>0) + { charNUM(num,ctlength); +@@ -819,7 +819,7 @@ splitit: { if(!lnl) /* did the previous mail end with an empty line? */ + { if(split) /* gobble up the next start separator */ + { buffilled=0; + #ifdef sMAILBOX_SEPARATOR +- getline();buffilled=0; /* but only if it's defined */ ++ get_line();buffilled=0; /* but only if it's defined */ + #endif + if(buflast!=EOF) /* if any */ + goto splitit; +diff --git a/src/formisc.c b/src/formisc.c +index d6cab90..338733b 100644 +--- a/src/formisc.c ++++ b/src/formisc.c +@@ -115,7 +115,7 @@ void loadchar(c)const int c; /* append one character to buf */ + buf[buffilled++]=c; + } + +-int getline P((void)) /* read a newline-terminated line */ ++int get_line P((void)) /* read a newline-terminated line */ + { if(buflast==EOF) /* at the end of our Latin already? */ + { loadchar('\n'); /* fake empty line */ + return EOF; /* spread the word */ +diff --git a/src/formisc.h b/src/formisc.h +index 1c4ca20..f25211c 100644 +--- a/src/formisc.h ++++ b/src/formisc.h +@@ -17,4 +17,4 @@ void + char* + skipwords P((char*start)); + int +- getline P((void)); ++ get_line P((void)); +diff --git a/src/mailfold.c b/src/mailfold.c +index 917b502..6c8bcf4 100644 +--- a/src/mailfold.c ++++ b/src/mailfold.c +@@ -30,6 +30,7 @@ static /*const*/char rcsid[]= + + int logopened,rawnonl; + off_t lasttell; ++static int trunced; + static long lastdump; + static volatile int mailread; /* if the mail is completely read in already */ + static struct dyna_array confield; /* escapes, concatenations */ +@@ -81,6 +82,7 @@ long dump(s,type,source,len)const int s,type;const char*source; + long len; + { int i;long part; + lasttell=i= -1;SETerrno(EBADF); ++ trunced=0; + if(s>=0) + { if(ft_lock(type)&&(lseek(s,(off_t)0,SEEK_END),fdlock(s))) + nlog("Kernel-lock failed\n"); +@@ -120,13 +122,18 @@ jin: while(part&&(i=rwrite(s,source,BLKSIZ<part?BLKSIZ:(int)part))) + } + writefin: + i=type!=ft_PIPE&&fsync(s)&&errno!=EINVAL; /* EINVAL => wasn't a file */ ++ if ((i||len)&&lasttell>=0) ++ { int serrno=errno; ++ if(!ftruncate(s,lasttell)) trunced=1; ++ SETerrno(serrno); ++ } + if(ft_lock(type)) + { int serrno=errno; /* save any error information */ + if(fdunlock()) + nlog("Kernel-unlock failed\n"); + SETerrno(serrno); + } +- i=rclose(s)||i; ++ i=rclose(s)||i; /* if this fails, we should truncate, but it's too late */ + } /* return an error even if nothing was to be sent */ + return i&&!len?-1:len; + } +@@ -237,7 +244,7 @@ dumpf: { switch(errno) + #endif + default:writeerr(buf); + } +- if(lasttell>=0&&!truncate(boxname,lasttell)&&(logopened||verbose)) ++ if(lasttell>=0&&trunced&&(logopened||verbose)) + nlog("Truncated file to former size\n"); /* undo garbage */ + ret0: return 0; + } +@@ -378,7 +385,8 @@ void readmail(rhead,tobesent)const long tobesent; + dfilled=mailread=0; + else if(rhead) /* only read in a new header */ + { memblk new; +- dfilled=mailread=0;makeblock(&new,0);readdyn(&new,&dfilled,0); ++ dfilled=mailread=0;makeblock(&new,0); ++ readdyn(&new,&dfilled,thebody-themail.p); + if(tobesent>dfilled&&isprivate) /* put it in place here */ + { tmemmove(themail.p+dfilled,thebody,filled-=tobesent); + tmemmove(themail.p,new.p,dfilled); +diff --git a/src/manconf.c b/src/manconf.c +index a9e9f1c..5c8ec36 100644 +--- a/src/manconf.c ++++ b/src/manconf.c +@@ -233,7 +233,7 @@ a security violation was found (e.g. \1.B \2-@PRESERVOPT@\1or variable\ + \2-@PRESERVOPT@\1and\1.BR \2-@FROMWHOPT@ .\1"); + pc("LMTPOPT",LMTPOPT); + #else +- ps("LMTPOPTdesc","");ps("LMTPusage",""); ++ ps("LMTPOPTdesc","");ps("LMTPusage","\1"); + #endif + pname("INIT_UMASK",0);printf("0%lo/g\n",(unsigned long)INIT_UMASK);lines--; + pn("DEFlinebuf",DEFlinebuf); +diff --git a/src/memblk.c b/src/memblk.c +index e2f13f0..97e02d3 100644 +--- a/src/memblk.c ++++ b/src/memblk.c +@@ -51,11 +51,11 @@ void lockblock(mb)memblk*const mb; + { + #ifdef USE_MMAP + if(mb->fd>=0) +- { long len=mb->len+1; +- if(munmap(mb->p,len)) +- mmapfailed(len); /* don't want to continue here */ +- if((mb->p=mmap(0,len,PROT_READ,MAP_PRIVATE,mb->fd,(off_t)0))==MAP_FAILED) +- mmapfailed(len); ++ { long mlen=mb->len+1; ++ if(munmap(mb->p,mlen)) ++ mmapfailed(mlen); /* don't want to continue here */ ++ if((mb->p=mmap(0,mlen,PROT_READ,MAP_PRIVATE,mb->fd,(off_t)0))==MAP_FAILED) ++ mmapfailed(mlen); + close(mb->fd); + mb->fd=ropen(devnull,O_RDWR,0); /* XXX Perhaps -1 is better? */ + } +@@ -77,8 +77,8 @@ int resizeblock(mb,len,nonfatal)memblk*const mb;const long len; + strcpy(filename,MMAP_DIR); + if(unique(filename,strchr(filename,'\0'),MMAP_FILE_LEN,MMAP_PERM,0,0)&& + (mb->fd=ropen(filename,O_RDWR,MMAP_PERM),unlink(filename),mb->fd>=0)) +- { mb->filelen=len; +- if(lseek(mb->fd,mb->filelen-1,SEEK_SET)<0||1!=rwrite(mb->fd,empty,1)) ++ { mb->filelen=len+1; ++ if(lseek(mb->fd,len,SEEK_SET)<0||1!=rwrite(mb->fd,empty,1)) + dropf: { close(mb->fd);mb->fd= -1; + if(verbose)nlog("Unable to extend or use tempfile"); + } +@@ -98,9 +98,9 @@ dropf: { close(mb->fd);mb->fd= -1; + } + } + if(mb->fd>=0) +- { if(len>mb->filelen) /* need to extend? */ +- { mb->filelen=len; +- if(lseek(mb->fd,mb->filelen-1,SEEK_SET)<0||1!=rwrite(mb->fd,empty,1)) ++ { if(len>=mb->filelen) /* need to extend? */ ++ { mb->filelen=len+1; ++ if(lseek(mb->fd,len,SEEK_SET)<0||1!=rwrite(mb->fd,empty,1)) + { char*p=malloc(len+1); /* can't extend, switch to malloc */ + tmemmove(p,mb->p,mb->len); + munmap(mb->p,mb->len+1); +@@ -124,9 +124,9 @@ mmap: if((mb->p=mmap(0,len+1,P_RW,MAP_SHARED,mb->fd,(off_t)0))==MAP_FAILED) + } + else + mb->p=realloc(mb->p,len+1); +- mb->len=len+1; +- mb->p[len]='\0'; ++ mb->len=len; + ret1: ++ mb->p[len]='\0'; + return 1; + } + +diff --git a/src/memblk.h b/src/memblk.h +index 6fd1d1d..b57f369 100644 +--- a/src/memblk.h ++++ b/src/memblk.h +@@ -1,6 +1,6 @@ + typedef struct memblk { + char*p; /* where it starts */ +- long len; /* currently allocated size */ ++ long len; /* current size, not including trailing NUL */ + #ifdef USE_MMAP + off_t filelen; /* how long is the file */ + int fd; /* file which is mmap()ed */ +diff --git a/src/network.h b/src/network.h +index d7d08f2..b09b6c4 100644 +--- a/src/network.h ++++ b/src/network.h +@@ -1,19 +1,13 @@ + /*$Id: network.h,v 1.7 1997/04/02 03:15:41 srb Exp $*/ + +-#include <sys/socket.h> /* socket() sendto() AF_INET ++#include <sys/socket.h> /* socket() sendto() */ + /* SOCK_DGRAM */ +-#include <netdb.h> /* gethostbyname() getservbyname() +- /* getprotobyname() */ +-#include <netinet/in.h> /* htons() struct sockaddr_in */ ++#include <netdb.h> /* getaddrinfo() */ + + #ifndef BIFF_serviceport + #define BIFF_serviceport COMSATservice + #endif + +-#ifndef h_0addr_list +-#define h_0addr_list h_addr_list[0] /* POSIX struct member */ +-#endif +- + #ifndef NO_const /* since network.h is outside the autoconf const check */ + #ifdef const /* loop, we need this backcheck for some systems */ + #undef const +diff --git a/src/pipes.c b/src/pipes.c +index 1fdb9e6..7754300 100644 +--- a/src/pipes.c ++++ b/src/pipes.c +@@ -145,7 +145,9 @@ int pipthrough(line,source,len)char*line,*source;const long len; + if(Stdout) + { *(eq=strchr(Stdout,'\0')-1)='\0'; /* chop the '=' */ + if(!(backblock=getenv(Stdout))) /* no current value? */ +- PRDB=PWRB= -1; ++ { PRDB=PWRB= -1; ++ backlen=0; ++ } + else + { backlen=strlen(backblock); + goto pip; +@@ -155,9 +157,7 @@ int pipthrough(line,source,len)char*line,*source;const long len; + pip: rpipe(pbackfd); + rpipe(pinfd); /* main pipes setup */ + if(!(pidchild=sfork())) /* create a sending procmail */ +- { if(Stdout&&backblock) +- backlen=strlen(backblock); +- else ++ { if(!Stdout) + backblock=source,backlen=len; + childsetup();rclose(PRDI);rclose(PRDB); + rpipe(poutfd);rclose(STDOUT); +@@ -194,7 +194,7 @@ perr: progerr(line,excode,pwait==4); /* I'm going to tell my mommy! */ + makeblock(&temp,Stdfilled); + tmemmove(temp.p,Stdout,Stdfilled); + readdyn(&temp,&Stdfilled,Stdfilled+backlen+1); +- Stdout=realloc(Stdout,&Stdfilled+1); ++ Stdout=realloc(Stdout,Stdfilled+1); + tmemmove(Stdout,temp.p,Stdfilled+1); + freeblock(&temp); + retStdout(Stdout,pwait&&pipw,!backblock); +diff --git a/src/procmail.c b/src/procmail.c +index 4a232f2..2bb449b 100644 +--- a/src/procmail.c ++++ b/src/procmail.c +@@ -652,8 +652,7 @@ commint:do skipspace(); /* skip whitespace */ + nrcond= -1; + if(tolock) /* clear temporary buffer for lockfile name */ + free(tolock); +- for(i=maxindex(flags);i;i--) /* clear the flags */ +- flags[i]=0; ++ bbzero(flags,sizeof(flags)); /* clear the flags */ + for(tolock=0,locknext=0;;) + { chp=skpspace(chp); + switch(i= *chp++) +diff --git a/src/recommend.c b/src/recommend.c +index 5d41e01..9002268 100644 +--- a/src/recommend.c ++++ b/src/recommend.c +@@ -47,7 +47,7 @@ int main(argc,argv)const int argc;const char*const argv[]; + printf("chmod %lo %s\n",(unsigned long)(sgid|PERMIS),argv[2]); + else if(chmdir==1) + goto nogchmod; +- if(chmdir) ++ if(0) + printf("chmod %c+w %s/.\n",chmdir==1?'g':'a',mailspooldir); + nogchmod: + return EXIT_SUCCESS; +-- +1.8.4.2 + diff --git a/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-man-file.patch b/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-man-file.patch new file mode 100644 index 0000000000..7b3c643b2b --- /dev/null +++ b/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-man-file.patch @@ -0,0 +1,83 @@ +From 3cbc5e6e624235f9ba40cfd5a2b18c11be371399 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 2 Dec 2014 07:02:01 +0900 +Subject: [PATCH 2/3] From debian to fix man file + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + man/procmail.man | 24 +++++++++++++++++------- + man/procmailrc.man | 2 +- + 2 files changed, 18 insertions(+), 8 deletions(-) + +diff --git a/man/procmail.man b/man/procmail.man +index 175043a..1274ce8 100644 +--- a/man/procmail.man ++++ b/man/procmail.man +@@ -44,11 +44,11 @@ at the end. + should be invoked automatically over the + .B @DOT_FORWARD@ + file mechanism as soon as mail arrives. Alternatively, when installed by +-a system administrator, it can be invoked from within the mailer immediately. +-When invoked, it first sets some environment variables to default values, +-reads the mail message from stdin until an EOF, separates the body from the +-header, and then, if no command line arguments are present, it starts to look +-for a file named ++a system administrator (and in the standard Red Hat Linux configuration), it ++can be invoked from within the mailer immediately. When invoked, it ++first sets some environment variables to default values, reads the mail message from ++stdin until an EOF, separates the body from the header, and then, if no command line ++arguments are present, it starts to look for a file named + .BR @PROCMAILRC@ . + According to the processing recipes in this file, + the mail message that just arrived gets distributed into the right folder +@@ -166,7 +166,8 @@ must be specified on the command line. After the rcfile, procmail will + accept an unlimited number of arguments.@ETCRCS_desc@ + For some advanced usage of this option you should look in the + .B EXAMPLES +-section below.@LMTPOPTdesc@.SH ARGUMENTS ++section below.@LMTPOPTdesc@ ++.SH ARGUMENTS + Any arguments containing an '=' are considered to be environment variable + assignments, they will + .I all +@@ -723,6 +724,15 @@ path.@FW_comment@ + .fi + .ad + .PP ++Some mailers (notably exim) do not currently accept the above syntax. ++In such case use this instead: ++.PP ++.na ++.nf ++|/usr/bin/procmail ++.fi ++.ad ++.PP + Procmail can also be invoked to postprocess an already filled system + mailbox. This can be useful if you don't want to or can't use a + $HOME/@DOT_FORWARD@ file (in which case the following script could +@@ -754,7 +764,7 @@ exit 0 + .SS "A sample small @PROCMAILRC@:" + .na + .nf +-PATH=/bin:/usr/bin:@BINDIR@ ++PATH=/usr/local/bin:/usr/bin:/bin + MAILDIR=$HOME/Mail #you'd better make sure it exists + DEFAULT=$MAILDIR/mbox #completely optional + LOGFILE=$MAILDIR/from #recommended +diff --git a/man/procmailrc.man b/man/procmailrc.man +index 472035f..7bf08dd 100644 +--- a/man/procmailrc.man ++++ b/man/procmailrc.man +@@ -779,7 +779,7 @@ one trailing newline will be stripped. + .PP + Some non-optimal and non-obvious regexps set MATCH to an incorrect + value. The regexp can be made to work by removing one or more unneeded +-'*', '+', or '?' operator on the left-hand side of the \e/ token. ++\&'*', '+', or '?' operator on the left-hand side of the \e/ token. + .SH MISCELLANEOUS + If the regular expression contains `\fB@TO_key@\fP' it will be substituted by + .na +-- +1.8.4.2 + diff --git a/meta-oe/recipes-support/procmail/procmail/from-debian-to-modify-parameters.patch b/meta-oe/recipes-support/procmail/procmail/from-debian-to-modify-parameters.patch new file mode 100644 index 0000000000..a94e436703 --- /dev/null +++ b/meta-oe/recipes-support/procmail/procmail/from-debian-to-modify-parameters.patch @@ -0,0 +1,127 @@ +From 95c742242769721f963c50702e1445fb70c6a45a Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 2 Dec 2014 07:07:33 +0900 +Subject: [PATCH 3/3] From debian to modify parameters + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + Makefile | 16 ++++++++-------- + config.h | 13 +++++++------ + 2 files changed, 15 insertions(+), 14 deletions(-) + +diff --git a/Makefile b/Makefile +index 1e9568c..9e48201 100644 +--- a/Makefile ++++ b/Makefile +@@ -23,7 +23,7 @@ MAN5DIR = $(MANDIR)/man$(MAN5SUFFIX) + + # Uncomment to install compressed man pages (possibly add extra suffix + # to the definitions of MAN?DIR and/or MAN?SUFFIX by hand) +-#MANCOMPRESS = compress ++# MANCOMPRESS = compress + + ############################*# + # Things that can be made are: +@@ -55,7 +55,7 @@ MAN5DIR = $(MANDIR)/man$(MAN5SUFFIX) + + LOCKINGTEST=__defaults__ + +-#LOCKINGTEST=/tmp . # Uncomment and add any directories you see fit. ++LOCKINGTEST=/tmp . # Uncomment and add any directories you see fit. + # If LOCKINGTEST is defined, autoconf will NOT + # prompt you to enter additional directories. + # See INSTALL for more information about the +@@ -65,7 +65,7 @@ LOCKINGTEST=__defaults__ + # Only edit below this line if you *think* you know what you are doing # + ######################################################################## + +-#LOCKINGTEST=100 # Uncomment (and change) if you think you know ++LOCKINGTEST=100 # Uncomment (and change) if you think you know + # it better than the autoconf lockingtests. + # This will cause the lockingtests to be hotwired. + # 100 to enable fcntl() +@@ -74,20 +74,20 @@ LOCKINGTEST=__defaults__ + # Or them together to get the desired combination. + + # Optional system libraries we search for +-SEARCHLIBS = -lm -ldir -lx -lsocket -lnet -linet -lnsl_s -lnsl_i -lnsl -lsun \ +- -lgen -lsockdns -ldl ++SEARCHLIBS = -lm -ldir -lx -lsocket -lnet -linet -lnsl_s -lnsl_i -lsun \ ++ -lgen -lsockdns + # -lresolv # not really needed, is it? + + # Informal list of directories where we look for the libraries in SEARCHLIBS +-LIBPATHS=/lib /usr/lib /usr/local/lib ++LIBPATHS=/lib /usr/lib + + GCC_WARNINGS = -O2 -pedantic -Wreturn-type -Wunused -Wformat -Wtraditional \ + -Wpointer-arith -Wconversion -Waggregate-return \ + #-Wimplicit -Wshadow -Wid-clash-6 #-Wuninitialized + + # The place to put your favourite extra cc flag +-CFLAGS0 = -O #$(GCC_WARNINGS) +-LDFLAGS0= -s ++CFLAGS0 = $(RPM_OPT_FLAGS) #$(GCC_WARNINGS) ++LDFLAGS0= + # Read my libs :-) + LIBS= + +diff --git a/config.h b/config.h +index c4135a9..a07453f 100644 +--- a/config.h ++++ b/config.h +@@ -35,7 +35,8 @@ + */ + /*#define DEFSPATH "PATH=/bin:/usr/bin" /* */ + /*#define DEFPATH "PATH=$HOME/bin:/bin:/usr/bin" /* */ +- ++#define DEFPATH "PATH=$HOME/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin" /* */ ++ + /* every environment variable appearing in PRESTENV will be set or wiped + * out of the environment (variables without an '=' sign will be thrown + * out), e.g. you could define PRESTENV as follows: +@@ -46,13 +47,13 @@ + */ + #define PRESTENV {"IFS","ENV","PWD",0} + +-/*#define GROUP_PER_USER /* uncomment this if each ++#define GROUP_PER_USER /* uncomment this if each + user has his or her own + group and procmail can therefore trust a $HOME/.procmailrc that + is group writable or contained in a group writable home directory + if the group involved is the user's default group. */ + +-/*#define LMTP /* uncomment this if you ++#define LMTP /* uncomment this if you + want to use procmail + as an LMTP (rfc2033) server, presumably for invocation by an MTA. + The file examples/local_procmail_lmtp.m4 contains info on how to +@@ -79,7 +80,7 @@ + + /*#define NO_fcntl_LOCK /* uncomment any of these three if you */ + /*#define NO_lockf_LOCK /* definitely do not want procmail to make */ +-/*#define NO_flock_LOCK /* use of those kernel-locking methods */ ++#define NO_flock_LOCK /* use of those kernel-locking methods */ + /* If you set LOCKINGTEST to a binary number + than there's no need to set these. These #defines are only useful + if you want to disable particular locking styles but are unsure which +@@ -91,14 +92,14 @@ + restriction does not apply to the /etc/procmailrc and + /etc/procmailrcs files) */ + +-/*#define NO_NFS_ATIME_HACK /* uncomment if you're definitely not using ++#define NO_NFS_ATIME_HACK /* uncomment if you're definitely not using + NFS mounted filesystems and can't afford + procmail to sleep for 1 sec. before writing to an empty regular + mailbox. This lets programs correctly judge whether there is unread + mail present. procmail automatically suppresses this when it isn't + needed or under heavy load. */ + +-/*#define DEFsendmail "/usr/sbin/sendmail" /* uncomment and/or change if ++#define DEFsendmail "/usr/sbin/sendmail" /* uncomment and/or change if + the autoconfigured default + SENDMAIL is not suitable. This program should quack like a sendmail: + it should accept the -oi flag (to tell it to _not_ treat a line +-- +1.8.4.2 + diff --git a/meta-oe/recipes-support/procmail/procmail/man-file-mailstat.1-from-debian.patch b/meta-oe/recipes-support/procmail/procmail/man-file-mailstat.1-from-debian.patch new file mode 100644 index 0000000000..46d973e060 --- /dev/null +++ b/meta-oe/recipes-support/procmail/procmail/man-file-mailstat.1-from-debian.patch @@ -0,0 +1,60 @@ +From 8ac56108e5f0a72d1bec0fb4f1fa4763a2479331 Mon Sep 17 00:00:00 2001 +From: Li xin <lixin.fnst@cn.fujitsu.com> +Date: Tue, 2 Dec 2014 06:56:14 +0900 +Subject: [PATCH] man file mailstat.1 from debian + +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> +--- + debian/mailstat.1 | 40 ++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 40 insertions(+) + create mode 100644 debian/mailstat.1 + +diff --git a/debian/mailstat.1 b/debian/mailstat.1 +new file mode 100644 +index 0000000..f13265a +--- /dev/null ++++ b/debian/mailstat.1 +@@ -0,0 +1,40 @@ ++.TH MAILSTAT 1 ++.SH NAME ++mailstat \- shows mail-arrival statistics ++.SH SYNOPSIS ++.B mailstat ++[\-klmots] [logfile] ++.SH DESCRIPTION ++.B mailstat ++parses a procmail-generated $LOGFILE and displays ++a summary about the messages delivered to all folders ++(total size, average size, nr of messages). ++The $LOGFILE is truncated to zero length, unless the ++.B -k ++option is used. ++Exit code 0 if mail arrived, 1 if no mail arrived. ++.SH OPTIONS ++.TP ++.I \-k ++keep logfile intact ++.TP ++.I \-l ++long display format ++.TP ++.I \-m ++merge any errors into one line ++.TP ++.I \-o ++use the old logfile ++.TP ++.I \-t ++terse display format ++.TP ++.I \-s ++silent in case of no mail ++.SH NOTES ++Customise to your heart's content, this program is only provided as a ++guideline. ++.SH AUTHOR ++This manual page was written by Santiago Vila <sanvila@debian.org> ++for the Debian GNU/Linux distribution (but may be used by others). +-- +1.8.4.2 + diff --git a/meta-oe/recipes-support/procmail/procmail_3.22.bb b/meta-oe/recipes-support/procmail/procmail_3.22.bb new file mode 100644 index 0000000000..1063654f5c --- /dev/null +++ b/meta-oe/recipes-support/procmail/procmail_3.22.bb @@ -0,0 +1,44 @@ +SUMMARY = "Mail processing program" +DESCRIPTION = "Procmail can be used to create mail-servers, mailing lists, sort your\ +incoming mail into separate folders/files (real convenient when subscribing\ +to one or more mailing lists or for prioritising your mail), preprocess\ +your mail, start any programs upon mail arrival (e.g. to generate different\ +chimes on your workstation for different types of mail) or selectively\ +forward certain incoming mail automatically to someone." +HOMEPAGE = "http://www.procmail.org/" +SECTION = "Applications/System" + +SRC_URI = "http://www.ring.gr.jp/archives/net/mail/${BPN}/${BP}.tar.gz \ + file://from-debian-to-fix-compile-errors.patch \ + file://from-debian-to-modify-parameters.patch \ + file://from-debian-to-fix-man-file.patch \ + file://man-file-mailstat.1-from-debian.patch" +SRC_URI[md5sum] = "1678ea99b973eb77eda4ecf6acae53f1" +SRC_URI[sha256sum] = "087c75b34dd33d8b9df5afe9e42801c9395f4bf373a784d9bc97153b0062e117" + +LICENSE = "GPL-2.0 & Artistic-1.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=a71e50e197a992c862379e576e669757 \ + file://Artistic;md5=505e00d03c3428cde21b17b2a386590e" + +DEPENDS = "libnet" +inherit autotools-brokensep +do_configure() { + find examples -type f | xargs chmod 644 + export CC="${BUILD_CC}" + export LD="${BUILD_LD}" + export CFLAGS="${BUILD_CFLAGS}" + export AR="${BUILD_AR}" + export AS="${BUILD_AS}" + make TARGET_CFLAGS="$TARGET_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" autoconf.h +} + +do_compile() { + oe_runmake -i TARGET_CFLAGS="$TARGET_CFLAGS -Wno-comments -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" +} + +do_install() { + install -d ${D}${bindir} + install -d ${D}${mandir}/man{1,5} + oe_runmake -i BASENAME=${D}/usr MANDIR=${D}${mandir} install + install -m 0644 debian/mailstat.1 ${D}${mandir}/man1 +} diff --git a/meta-oe/recipes-support/rng-tools/files/default b/meta-oe/recipes-support/rng-tools/files/default index ab7cd9327f..7aede9be03 100644 --- a/meta-oe/recipes-support/rng-tools/files/default +++ b/meta-oe/recipes-support/rng-tools/files/default @@ -1,2 +1,3 @@ # Specify rng device -RNG_DEVICE=/dev/hwrng +#RNG_DEVICE=/dev/hwrng +RNG_DEVICE=/dev/urandom diff --git a/meta-oe/recipes-support/rng-tools/rng-tools_4.bb b/meta-oe/recipes-support/rng-tools/rng-tools_4.bb index f10fad1df9..b3d880ff35 100644 --- a/meta-oe/recipes-support/rng-tools/rng-tools_4.bb +++ b/meta-oe/recipes-support/rng-tools/rng-tools_4.bb @@ -10,17 +10,27 @@ SRC_URI = "http://heanet.dl.sourceforge.net/sourceforge/gkernel/${BP}.tar.gz \ SRC_URI[md5sum] = "ae89dbfcf08bdfbea19066cfbf599127" SRC_URI[sha256sum] = "b71bdfd4222c05e8316001556be90e1606f2a1bac3efde60153bd84e873cc195" +# As the recipe doesn't inherit systemd.bbclass, we need to set this variable +# manually to avoid unnecessary postinst/preinst generated. +python () { + if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): + d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1") +} + inherit autotools update-rc.d do_install_append() { - install -d "${D}${sysconfdir}/init.d" - install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools - sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir},' \ - ${D}${sysconfdir}/init.d/rng-tools + # Only install the init script when 'sysvinit' is in DISTRO_FEATURES. + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -d "${D}${sysconfdir}/init.d" + install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools + sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir}/,' \ + ${D}${sysconfdir}/init.d/rng-tools - install -d "${D}${sysconfdir}/default" - install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default + install -d "${D}${sysconfdir}/default" + install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/rng-tools + fi } INITSCRIPT_NAME = "rng-tools" -INITSCRIPT_PARAMS = "defaults" +INITSCRIPT_PARAMS = "start 30 S . stop 30 0 6 1 ." diff --git a/meta-oe/recipes-support/rsnapshot/rsnapshot/configure-fix-cmd_rsync.patch b/meta-oe/recipes-support/rsnapshot/rsnapshot/configure-fix-cmd_rsync.patch new file mode 100644 index 0000000000..7b2361b4a2 --- /dev/null +++ b/meta-oe/recipes-support/rsnapshot/rsnapshot/configure-fix-cmd_rsync.patch @@ -0,0 +1,44 @@ +From 26ad431e19788898fb4ed19ff91392e8b20f1bab Mon Sep 17 00:00:00 2001 +From: Wenzong Fan <wenzong.fan@windriver.com> +Date: Thu, 16 Oct 2014 04:06:55 -0400 +Subject: [PATCH] fix cmd_rsync + +Don't break configure if rsync is not installed on host. + +rsync is a runtime dependency and this change is only used for +generating rsnapshot.conf.default. It allows cmd_rsync to use +default path if options --without-rsync is specfied. + +Upstream-Status: Pending + +Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> +--- + configure.ac | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index bc9df9e..2a33d29 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -55,7 +55,7 @@ AC_ARG_WITH(rsync, + AC_MSG_ERROR(rsync not found) + fi + else +- AC_MSG_ERROR(rsync is required) ++ RSYNC=no + fi + ] + ) +@@ -67,7 +67,8 @@ if test "$RSYNC" = ""; then + fi + dnl bail out if we can't find it + if test "$RSYNC" = "no"; then +- AC_MSG_ERROR(rsync is required) ++ RSYNC=/usr/bin/rsync ++ AC_SUBST(CMD_RSYNC, "cmd_rsync $RSYNC") + fi + + +-- +1.7.9.5 + diff --git a/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb b/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb new file mode 100644 index 0000000000..d6805110c9 --- /dev/null +++ b/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb @@ -0,0 +1,43 @@ +SUMMARY = "A filesystem snapshot utility based on rsync" +HOMEPAGE = "http://www.rsnapshot.org" +BUGTRACKER = "https://sourceforge.net/projects/rsnapshot/" +SECTION = "console/network" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a" + +RDEPENDS_${PN} = "rsync \ + perl \ + perl-module-dirhandle \ + perl-module-cwd \ + perl-module-getopt-std \ + perl-module-file-path \ + perl-module-file-stat \ + perl-module-posix \ + perl-module-fcntl \ + perl-module-io-file \ + perl-module-constant \ + perl-module-overloading \ + " + +SRCREV = "1047cbb57937c29233388e2fcd847fecd3babe74" +PV = "1.3.1+git${SRCPV}" + +SRC_URI = "git://github.com/DrHyde/${BPN};branch=master;protocol=git \ + file://configure-fix-cmd_rsync.patch \ + " + +S = "${WORKDIR}/git" + +inherit autotools + +# Fix rsnapshot.conf.default: +# don't inject the host path into target configs. +EXTRA_OECONF += "--without-cp \ + --without-rm \ + --without-du \ + --without-ssh \ + --without-logger \ + --without-rsync \ + ac_cv_path_PERL=${bindir}/perl \ + " diff --git a/meta-oe/recipes-support/sharutils/sharutils-4.14/fix-for-cross-compiling.patch b/meta-oe/recipes-support/sharutils/sharutils-4.14/fix-for-cross-compiling.patch new file mode 100644 index 0000000000..86a7da63c2 --- /dev/null +++ b/meta-oe/recipes-support/sharutils/sharutils-4.14/fix-for-cross-compiling.patch @@ -0,0 +1,29 @@ +From 990234af84a5399017d1c4fe03c5c756a8e51e23 Mon Sep 17 00:00:00 2001 +From: Hongjun Yang <Hongjun.Yang@windriver.com> +Date: Tue, 20 Aug 2013 09:41:43 +0800 +Subject: [PATCH] fix cross compiling issue + +Upstream-Status: Pending + +Signed-off-by: Hongjun.Yang <hongjun.yang@windriver.com> + +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index 6ee98e0..8067f54 100755 +--- a/configure ++++ b/configure +@@ -26965,7 +26965,7 @@ fi + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +-as_fn_error $? "cannot run test program while cross compiling ++$as_echo "cannot run test program while cross compiling + See \`config.log' for more details" "$LINENO" 5; } + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-- +1.8.1.4 + diff --git a/meta-oe/recipes-support/sharutils/sharutils_4.14.bb b/meta-oe/recipes-support/sharutils/sharutils_4.14.bb new file mode 100644 index 0000000000..49981e7f7a --- /dev/null +++ b/meta-oe/recipes-support/sharutils/sharutils_4.14.bb @@ -0,0 +1,18 @@ +SUMMARY = "This is the set of GNU shar utilities." +HOMEPAGE = "http://www.gnu.org/software/sharutils/" +SECTION = "console/utils" +LICENSE="GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +inherit gettext autotools-brokensep + +SRC_URI = "ftp://ftp.gnu.org/gnu/sharutils/sharutils-4.14.tar.gz \ + file://fix-for-cross-compiling.patch \ + " + +SRC_URI[md5sum] = "5686c11131b4c4c0841f8f3ef34d136a" +SRC_URI[sha256sum] = "90f5107c167cfd1b299bb211828d2586471087863dbed698f53109cd5f717208" + +do_configure () { + oe_runconf +} diff --git a/meta-oe/recipes-support/smem/smem_1.4.bb b/meta-oe/recipes-support/smem/smem_1.4.bb new file mode 100644 index 0000000000..8768c4896b --- /dev/null +++ b/meta-oe/recipes-support/smem/smem_1.4.bb @@ -0,0 +1,26 @@ +SUMMARY = "Report application memory usage in a meaningful way" +DESCRIPTION = "smem is a tool that can give numerous reports on memory usage on Linux \ +systems. Unlike existing tools, smem can report proportional set size (PSS), \ +which is a more meaningful representation of the amount of memory used by \ +libraries and applications in a virtual memory system." +HOMEPAGE = "http://www.selenic.com/smem/" +SECTION = "Applications/System" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "http://www.selenic.com/${BPN}/download/${BP}.tar.gz" +SRC_URI[md5sum] = "fe79435c3930389bfdb560255c802162" +SRC_URI[sha256sum] = "2ea9f878f4cf3c276774c3f7e2a41977a1f2d64f98d2dcb6a15f1f3d84df61ec" + +do_compile() { + ${CC} ${CFLAGS} ${LDFLAGS} smemcap.c -o smemcap +} + +do_install() { + install -d ${D}/${bindir}/ + install -d ${D}/${mandir}/man8 + install -m 0755 ${S}/smem ${D}${bindir}/ + install -m 0755 ${S}/smemcap ${D}${bindir}/ + install -m 0644 ${S}/smem.8 ${D}/${mandir}/man8/ +} diff --git a/meta-oe/recipes-support/synergy/synergy_1.3.8.bb b/meta-oe/recipes-support/synergy/synergy_1.3.8.bb index 642845f967..45c0bc2f52 100644 --- a/meta-oe/recipes-support/synergy/synergy_1.3.8.bb +++ b/meta-oe/recipes-support/synergy/synergy_1.3.8.bb @@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=9772a11e3569985855e2ce450e56f991" LICENSE = "GPL-2.0" SECTION = "x11/utils" -DEPENDS = "libx11 libxtst libxinerama" +DEPENDS = "virtual/libx11 libxtst libxinerama" SRC_URI = "http://synergy.googlecode.com/files/synergy-${PV}-Source.tar.gz" @@ -13,7 +13,9 @@ SRC_URI[sha256sum] = "0afc83e4ed0b46ed497d4229b2b2854e8d3c581a112f4da05110943edb S = "${WORKDIR}/${PN}-${PV}-Source" -inherit cmake +inherit cmake distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" do_install() { install -d ${D}/usr/bin diff --git a/meta-oe/recipes-support/syslog-ng/files/logwriter-dont-allocate-a-new-buffer.patch b/meta-oe/recipes-support/syslog-ng/files/logwriter-dont-allocate-a-new-buffer.patch new file mode 100644 index 0000000000..9e3d64bbf2 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/logwriter-dont-allocate-a-new-buffer.patch @@ -0,0 +1,26 @@ +logwriter: Don't allocate a new buffer if fails to consume current item + +Upstream-Status: Pending + +Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com> +--- +--- a/lib/logwriter.c ++++ b/lib/logwriter.c +@@ -1010,7 +1010,7 @@ + { + status = log_proto_client_post(proto, (guchar *) self->line_buffer->str, self->line_buffer->len, &consumed); + +- if (consumed) ++ if (consumed && status != LPS_ERROR) + log_writer_realloc_line_buffer(self); + + if (status == LPS_ERROR) +@@ -1028,7 +1028,7 @@ + NULL); + consumed = TRUE; + } +- if (consumed) ++ if (consumed && status != LPS_ERROR) + { + if (lm->flags & LF_LOCAL) + step_sequence_number(&self->seq_num); diff --git a/meta-oe/recipes-support/syslog-ng/files/logwriter-still-free-the-unconsumed-item.patch b/meta-oe/recipes-support/syslog-ng/files/logwriter-still-free-the-unconsumed-item.patch deleted file mode 100644 index 31110933f0..0000000000 --- a/meta-oe/recipes-support/syslog-ng/files/logwriter-still-free-the-unconsumed-item.patch +++ /dev/null @@ -1,47 +0,0 @@ -logwritter: still free the unconsumed item during reloading configuration - -Otherwise we have no chance to free this stuff. - -Upstream-Status: Pending - -Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com> ---- ---- a/lib/logwriter.c -+++ b/lib/logwriter.c -@@ -39,6 +39,7 @@ - #include <iv.h> - #include <iv_event.h> - #include <iv_work.h> -+#include "logproto/logproto-text-client.h" - - typedef enum - { -@@ -978,6 +979,7 @@ - gint count = 0; - gboolean ignore_throttle = (flush_mode >= LW_FLUSH_QUEUE); - LogProtoStatus status = LPS_SUCCESS; -+ LogProtoTextClient *self_text; - - if (!proto) - return FALSE; -@@ -1035,7 +1037,18 @@ - } - else - { -- /* push back to the queue */ -- log_queue_push_head(self->queue, lm, &path_options); -+ self_text = (LogProtoTextClient *) proto; -+ /* free the unconsumed message during reloading configuration */ -+ if ((LW_FLUSH_QUEUE == flush_mode) && self_text->partial_free && self_text->partial) -+ { -+ self_text->partial_free(self_text->partial); -+ self_text->partial = NULL; -+ log_msg_unref(lm); -+ } -+ else -+ { -+ /* push back to the queue */ -+ log_queue_push_head(self->queue, lm, &path_options); -+ } - msg_set_context(NULL); - log_msg_refcache_stop(); diff --git a/meta-oe/recipes-support/syslog-ng/files/rewrite-expr-grammar.ym-Free-up-token.patch b/meta-oe/recipes-support/syslog-ng/files/rewrite-expr-grammar.ym-Free-up-token.patch new file mode 100644 index 0000000000..1951af9fcc --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/rewrite-expr-grammar.ym-Free-up-token.patch @@ -0,0 +1,17 @@ +rewrite-expr-grammar.ym: Free up token. + +Upsteam-Status: Backport + +Reported-by: Xufeng Zhang <xufeng.zhang@windriver.com> +Signed-off-by: Viktor Tusa <tusavik@gmail.com> +--- +--- a/lib/rewrite/rewrite-expr-grammar.ym ++++ b/lib/rewrite/rewrite-expr-grammar.ym +@@ -78,6 +78,7 @@ + + $$ = log_template_new(configuration, $1); + CHECK_ERROR(log_template_compile($$, $1, &error), @1, "Error compiling template (%s)", error->message); ++ free($1); + } + ; + diff --git a/meta-oe/recipes-support/syslog-ng/files/still-free-the-unconsumed-item.patch b/meta-oe/recipes-support/syslog-ng/files/still-free-the-unconsumed-item.patch new file mode 100644 index 0000000000..ea18682300 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/still-free-the-unconsumed-item.patch @@ -0,0 +1,90 @@ +From 365020c5c0823c91a8011e34597f970a7cfb4fb3 Mon Sep 17 00:00:00 2001 +From: Tusa Viktor <tusavik@gmail.com> +Date: Wed, 23 Apr 2014 17:10:58 +0000 +Subject: [PATCH] logwriter: still free the unconsumed item during reloading + configuration + +Upstream-Status: Backport + +Otherwise we have no chance to free this stuff. + +Reported-by: Xufeng Zhang <xufeng.zhang@windriver.com> +Signed-off-by: Tusa Viktor <tusavik@gmail.com> +Signed-off-by: Gergely Nagy <algernon@madhouse-project.org> +--- + lib/logproto/logproto-client.h | 2 +- + lib/logproto/logproto-text-client.c | 11 +++++++++++ + lib/logwriter.c | 9 +++++++-- + 3 files changed, 19 insertions(+), 3 deletions(-) + +diff --git a/lib/logproto/logproto-client.h b/lib/logproto/logproto-client.h +index 254ecf9..5adc917 100644 +--- a/lib/logproto/logproto-client.h ++++ b/lib/logproto/logproto-client.h +@@ -47,7 +47,6 @@ void log_proto_client_options_defaults(LogProtoClientOptions *options); + void log_proto_client_options_init(LogProtoClientOptions *options, GlobalConfig *cfg); + void log_proto_client_options_destroy(LogProtoClientOptions *options); + +- + struct _LogProtoClient + { + LogProtoStatus status; +@@ -107,6 +106,7 @@ log_proto_client_reset_error(LogProtoClient *s) + gboolean log_proto_client_validate_options(LogProtoClient *self); + void log_proto_client_init(LogProtoClient *s, LogTransport *transport, const LogProtoClientOptions *options); + void log_proto_client_free(LogProtoClient *s); ++void log_proto_client_free_method(LogProtoClient *s); + + #define DEFINE_LOG_PROTO_CLIENT(prefix) \ + static gpointer \ +diff --git a/lib/logproto/logproto-text-client.c b/lib/logproto/logproto-text-client.c +index 3248759..a5100f3 100644 +--- a/lib/logproto/logproto-text-client.c ++++ b/lib/logproto/logproto-text-client.c +@@ -146,12 +146,23 @@ log_proto_text_client_post(LogProtoClient *s, guchar *msg, gsize msg_len, gboole + } + + void ++log_proto_text_client_free(LogProtoClient *s) ++{ ++ LogProtoTextClient *self = (LogProtoTextClient *)s; ++ if (self->partial_free) ++ self->partial_free(self->partial); ++ self->partial = NULL; ++ log_proto_client_free_method(s); ++}; ++ ++void + log_proto_text_client_init(LogProtoTextClient *self, LogTransport *transport, const LogProtoClientOptions *options) + { + log_proto_client_init(&self->super, transport, options); + self->super.prepare = log_proto_text_client_prepare; + self->super.flush = log_proto_text_client_flush; + self->super.post = log_proto_text_client_post; ++ self->super.free_fn = log_proto_text_client_free; + self->super.transport = transport; + self->next_state = -1; + } +diff --git a/lib/logwriter.c b/lib/logwriter.c +index 3292e31..470bcdb 100644 +--- a/lib/logwriter.c ++++ b/lib/logwriter.c +@@ -1063,8 +1063,13 @@ log_writer_flush(LogWriter *self, LogWriterFlushMode flush_mode) + } + else + { +- /* push back to the queue */ +- log_queue_push_head(self->queue, lm, &path_options); ++ if (flush_mode == LW_FLUSH_QUEUE) ++ log_msg_unref(lm); ++ else ++ { ++ /* push back to the queue */ ++ log_queue_push_head(self->queue, lm, &path_options); ++ } + msg_set_context(NULL); + log_msg_refcache_stop(); + break; +-- +1.7.10.4 + diff --git a/meta-oe/recipes-support/syslog-ng/syslog-ng.inc b/meta-oe/recipes-support/syslog-ng/syslog-ng.inc index 22767778f6..4aead31b75 100644 --- a/meta-oe/recipes-support/syslog-ng/syslog-ng.inc +++ b/meta-oe/recipes-support/syslog-ng/syslog-ng.inc @@ -53,6 +53,7 @@ PACKAGECONFIG[libnet] = "--enable-libnet --with-libnet=${STAGING_BINDIR_CROSS},- PACKAGECONFIG[smtp] = "--enable-smtp --with-libesmtp=${STAGING_LIBDIR},--disable-smtp,libesmtp," PACKAGECONFIG[json] = "--enable-json,--disable-json,json-c," PACKAGECONFIG[tcp-wrapper] = "--enable-tcp-wrapper,--disable-tcp-wrapper,tcp-wrappers," +PACKAGECONFIG[geoip] = "--enable-geoip,--disable-geoip,geoip," do_configure_prepend() { eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "s/-D_LARGEFILE_SOURCE//" -e "s/-D_FILE_OFFSET_BITS=64//" ${S}/configure.in', d)}" @@ -71,6 +72,7 @@ do_install_append() { } FILES_${PN} += "${datadir}/include/scl/ ${datadir}/xsd ${datadir}/tools" +RDEPENDS_${PN} += "gawk" # This overcomes the syslog-ng rdepends on syslog-ng-dev QA Error PACKAGES =+ "${PN}-libs ${PN}-libs-dev ${PN}-libs-dbg" diff --git a/meta-oe/recipes-support/syslog-ng/syslog-ng_3.5.4.1.bb b/meta-oe/recipes-support/syslog-ng/syslog-ng_3.5.4.1.bb index d5939e4623..b54842030c 100644 --- a/meta-oe/recipes-support/syslog-ng/syslog-ng_3.5.4.1.bb +++ b/meta-oe/recipes-support/syslog-ng/syslog-ng_3.5.4.1.bb @@ -9,10 +9,12 @@ SRC_URI += " \ file://Fix-the-memory-leak-problem-for-mutex.patch \ file://Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch \ file://free-global-LogTemplateOptions.patch \ - file://logwriter-still-free-the-unconsumed-item.patch \ + file://still-free-the-unconsumed-item.patch \ file://syslog-ng-verify-the-list-before-del.patch \ file://configure.patch \ file://dbifix.patch \ + file://rewrite-expr-grammar.ym-Free-up-token.patch \ + file://logwriter-dont-allocate-a-new-buffer.patch \ " SRC_URI[md5sum] = "ff3bf223ebafbaa92b69a2d5b729f368" diff --git a/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb b/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb new file mode 100644 index 0000000000..eaca96dcaa --- /dev/null +++ b/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "a graphical user interface that allows the user to \ +change the default keyboard of the system" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +SRC_URI = "https://fedorahosted.org/releases/s/y/${BPN}/${BP}.tar.bz2" +SRC_URI[md5sum] = "c267db0ee7a2131ba418399dc17f9e72" +SRC_URI[sha256sum] = "218c883e4e2bfcc82bfe07e785707b5c2ece28df772f2155fd044b9bb1614284" +inherit python-dir +DEPENDS = "intltool" + +EXTRA_OEMAKE = " \ + PYTHON='${STAGING_BINDIR_NATIVE}'/python-native/python \ + PYTHON_SITELIB=${PYTHON_SITEPACKAGES_DIR} \ +" +do_install() { + oe_runmake 'DESTDIR=${D}' install +} + +do_install_append_class-native() { + rm -rf ${D}/usr +} + +FILES_${PN} += " \ + ${libdir}/python${PYTHON_BASEVERSION}/* \ + ${datadir}/* \ +" +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/system-setup-keyboard/system-setup-keyboard_0.8.8.bb b/meta-oe/recipes-support/system-setup-keyboard/system-setup-keyboard_0.8.8.bb new file mode 100644 index 0000000000..d2199c2cf7 --- /dev/null +++ b/meta-oe/recipes-support/system-setup-keyboard/system-setup-keyboard_0.8.8.bb @@ -0,0 +1,29 @@ +SUMMARY = "xorg.conf keyboard layout callout" +DESCRIPTION = "system-setup-keyboard is a daemon to monitor the keyboard layout configured in \ +/etc/sysconfig/keyboard and transfer this into the matching xorg.conf.d snippet." + +HOMEPAGE = "https://git.fedorahosted.org/git/system-setup-keyboard.git" +SECTION = "Applications/System" + +SRC_URI = "https://git.fedorahosted.org/cgit/${PN}.git/snapshot/${BP}.tar.gz" +SRC_URI[md5sum] = "399003968ccc739cddd9cc370af377a0" +SRC_URI[sha256sum] = "1ef6ef79c3588e85d7f42e99eb80a2e459f966284cf029c2d6fc1b645abcb860" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=bf57969a59612c5aca007b340c49d3a2" + +inherit pythonnative + +DEPENDS = "glib-2.0 system-config-keyboard-native" + +do_compile_prepend() { + ${PYTHON} -v get_layouts.py > keyboards.h +} + +do_install() { + oe_runmake install DESTDIR=${D} + install -d ${D}/etc/X11/xorg.conf.d + touch ${D}/etc/X11/xorg.conf.d/00-system-setup-keyboard.conf +} + +FILES_${PN} += "${systemd_unitdir}/system/${PN}.service" diff --git a/meta-oe/recipes-support/tomoyo-tools/tomoyo-tools_2.5.0.bb b/meta-oe/recipes-support/tomoyo-tools/tomoyo-tools_2.5.0.bb new file mode 100644 index 0000000000..adb538b7b4 --- /dev/null +++ b/meta-oe/recipes-support/tomoyo-tools/tomoyo-tools_2.5.0.bb @@ -0,0 +1,29 @@ +SUMMARY = "TOMOYO Linux tools" +DESCRIPTION = "TOMOYO Linux is a Mandatory Access Control (MAC) implementation \ +for Linux that can be used to increase the security of a system, while also \ +being useful purely as a system analysis tool." +HOMEPAGE = "http://tomoyo.sourceforge.jp/" +SECTION = "System Environment/Kernel" + +SRC_URI = "http://jaist.dl.sourceforge.jp/tomoyo/53357/${BP}-20140601.tar.gz" +SRC_URI[md5sum] = "888869b793127f00d6439a3246598b83" +SRC_URI[sha256sum] = "118ef6ba1fbf7c0b83018c3a0d4d5485dfb9b5b7f647f37ce9f63841a3133c2a" + +S = "${WORKDIR}/${BPN}" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING.tomoyo;md5=751419260aa954499f7abaabaa882bbe" + +FILES_${PN} += "${libdir}/tomoyo" +FILES_${PN}-dbg += "${libdir}/tomoyo/.debug" + +DEPENDS = "linux-libc-headers ncurses" +CFLAGS_append += "-D_GNU_SOURCE" + +do_compile () { + oe_runmake 'CC=${CC}' +} + +do_install() { + oe_runmake install INSTALLDIR=${D} +} diff --git a/meta-oe/recipes-support/utouch/utouch-mtview_git.bb b/meta-oe/recipes-support/utouch/utouch-mtview_git.bb index bcf7e23846..8cb180dc8b 100644 --- a/meta-oe/recipes-support/utouch/utouch-mtview_git.bb +++ b/meta-oe/recipes-support/utouch/utouch-mtview_git.bb @@ -5,7 +5,9 @@ HOMEPAGE = "http://bitmath.org/code/mtview/" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=4c61b8950dc1aab4d2aa7c2ae6b1cfb3" -inherit autotools pkgconfig +inherit autotools pkgconfig distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" SRC_URI = "git://bitmath.org/git/mtview.git;protocol=http" SRCREV = "ad437c38dc111cf3990a03abf14efe1b5d89604b" diff --git a/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb b/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb index 78af9b62c5..07ff318203 100644 --- a/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb +++ b/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb @@ -8,7 +8,7 @@ PV = "1.3+gitr${SRCPV}" PE = "1" PR = "r1" -PNBLACKLIST[vala-terminal] = "BROKEN: Doesn't work with B!=S, touch: cannot touch `src/.stamp': No such file or directory" +PNBLACKLIST[vala-terminal] ?= "BROKEN: Doesn't work with B!=S, touch: cannot touch `src/.stamp': No such file or directory" inherit autotools perlnative vala diff --git a/meta-oe/recipes-support/vim/vim-tiny_7.4.481.bb b/meta-oe/recipes-support/vim/vim-tiny_7.4.481.bb new file mode 100644 index 0000000000..bb8f2b7eae --- /dev/null +++ b/meta-oe/recipes-support/vim/vim-tiny_7.4.481.bb @@ -0,0 +1,13 @@ +require vim_${PV}.bb + +SUMMARY += " (with tiny features)" + +PACKAGECONFIG += "tiny" + +do_install() { + install -d ${D}/${bindir} + install -m 0755 ${S}/vim ${D}/${bindir}/vim.tiny +} + +ALTERNATIVE_PRIORITY = "90" +ALTERNATIVE_TARGET = "${bindir}/vim.tiny" diff --git a/meta-oe/recipes-support/vim/vim_7.4.373.bb b/meta-oe/recipes-support/vim/vim_7.4.481.bb index 81c0ddf80b..7490229185 100644 --- a/meta-oe/recipes-support/vim/vim_7.4.373.bb +++ b/meta-oe/recipes-support/vim/vim_7.4.481.bb @@ -10,11 +10,11 @@ SRC_URI = "hg://vim.googlecode.com/hg/;protocol=https;module=vim \ file://disable_acl_header_check.patch;patchdir=.. \ file://vim-add-knob-whether-elf.h-are-checked.patch;patchdir=.. \ " -SRCREV = "v7-4-373" +SRCREV = "v7-4-481" -S = "${WORKDIR}/${BPN}/src" +S = "${WORKDIR}/vim/src" -VIMDIR = "${BPN}${@d.getVar('PV',1).split('.')[0]}${@d.getVar('PV',1).split('.')[1]}" +VIMDIR = "vim${@d.getVar('PV',1).split('.')[0]}${@d.getVar('PV',1).split('.')[1]}" inherit autotools update-alternatives inherit autotools-brokensep @@ -59,7 +59,9 @@ EXTRA_OECONF = " \ STRIP=/bin/true \ " -do_install_append() { +do_install() { + autotools_do_install + # Work around rpm picking up csh or awk or perl as a dep chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/vim132 chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/mve.awk @@ -67,6 +69,9 @@ do_install_append() { # Install example vimrc from runtime files install -m 0644 ../runtime/vimrc_example.vim ${D}/${datadir}/${BPN}/vimrc + + # we use --with-features=big as default + mv ${D}${bindir}/${BPN} ${D}${bindir}/${BPN}.${BPN} } PARALLEL_MAKEINST = "" @@ -93,10 +98,12 @@ FILES_${PN}-common = " \ ${datadir}/${BPN}/${VIMDIR}/tools \ " +RDEPENDS_${PN} = "ncurses-terminfo-base" # Recommend that runtime data is installed along with vim RRECOMMENDS_${PN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common" -ALTERNATIVE_${PN} = "vi" -ALTERNATIVE_TARGET[vi] = "${bindir}/${BPN}" -ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi" -ALTERNATIVE_PRIORITY[vi] = "100" +ALTERNATIVE_${PN} = "vi vim" +ALTERNATIVE_TARGET = "${bindir}/${BPN}.${BPN}" +ALTERNATIVE_LINK_NAME[vi] = "${bindir}/vi" +ALTERNATIVE_LINK_NAME[vim] = "${bindir}/vim" +ALTERNATIVE_PRIORITY = "100" diff --git a/meta-oe/recipes-support/xmlto/xmlto-0.0.25/obsolete_automake_macros.patch b/meta-oe/recipes-support/xmlto/xmlto-0.0.25/obsolete_automake_macros.patch deleted file mode 100644 index faa8acce89..0000000000 --- a/meta-oe/recipes-support/xmlto/xmlto-0.0.25/obsolete_automake_macros.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nurd xmlto-0.0.25/configure.in xmlto-0.0.25/configure.in ---- xmlto-0.0.25/configure.in 2011-12-01 17:49:00.000000000 +0200 -+++ xmlto-0.0.25/configure.in 2013-01-07 05:24:16.169953519 +0200 -@@ -1,7 +1,7 @@ - AC_INIT(xmlto, 0.0.25) - AC_CONFIG_SRCDIR(xmlto.spec.in) - AM_INIT_AUTOMAKE([dist-bzip2 subdir-objects 1.6]) --AM_CONFIG_HEADER(config.h) -+AC_CONFIG_HEADERS(config.h) - - AC_PROG_CC - AM_PROG_CC_C_O diff --git a/meta-oe/recipes-support/xmlto/xmlto_0.0.25.bb b/meta-oe/recipes-support/xmlto/xmlto_0.0.25.bb deleted file mode 100644 index 9188c8acf7..0000000000 --- a/meta-oe/recipes-support/xmlto/xmlto_0.0.25.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "A shell-script tool for converting XML files to various formats" -HOMEPAGE = "https://fedorahosted.org/xmlto/" -SECTION = "docs/xmlto" -LICENSE = "GPLv2" - -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" - -PR = "r1" - -SRC_URI = "https://fedorahosted.org/releases/x/m/xmlto/xmlto-${PV}.tar.gz \ - file://obsolete_automake_macros.patch \ -" -SRC_URI[md5sum] = "a88cd3f08789b4825d1ac89fa065170d" -SRC_URI[sha256sum] = "c52b56d929e8d20fc19cd3b7ec238f8d039730c56ee311cc352e843147e3e31a" - -inherit autotools - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-test/fwts/fwts_git.bb b/meta-oe/recipes-test/fwts/fwts_git.bb new file mode 100644 index 0000000000..b943d6d48e --- /dev/null +++ b/meta-oe/recipes-test/fwts/fwts_git.bb @@ -0,0 +1,24 @@ +SUMMARY = "Firmware testsuite" +DESCRIPTION = "The tool fwts comprises of over fifty tests that are designed to exercise and test different aspects of a machine's firmware. Many of these tests need super user access to read BIOS data and ACPI tables, so the tool requires running with super user privileges (e.g. with sudo)." +HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=deb8af5388e838d133eaa036f4d1496f" + +PV = "14.12.00" + +SRCREV = "efc18d16294f492b7f72bba64344b2eed50e6a69" +SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git" + +S = "${WORKDIR}/git" + +DEPENDS = "libpcre json-c glib-2.0" + +inherit autotools-brokensep + +CFLAGS += "-I${STAGING_INCDIR}/json-c" + +FILES_${PN} += "${libdir}/fwts/lib*${SOLIBS}" +FILES_${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la" +FILES_${PN}-staticdev += "${libdir}/fwts/lib*a" +FILES_${PN}-dbg += "${libdir}/fwts/.debug" diff --git a/meta-oe/recipes-test/gmock/gmock/cmake-Add-install-command-for-libraries-and-headers.patch b/meta-oe/recipes-test/gmock/gmock/cmake-Add-install-command-for-libraries-and-headers.patch new file mode 100644 index 0000000000..92a6393655 --- /dev/null +++ b/meta-oe/recipes-test/gmock/gmock/cmake-Add-install-command-for-libraries-and-headers.patch @@ -0,0 +1,40 @@ +From ba0a7d65c918cb7e3f2073553c4cc7af5858ed03 Mon Sep 17 00:00:00 2001 +From: Otavio Salvador <otavio@ossystems.com.br> +Date: Thu, 31 Jul 2014 16:54:00 -0300 +Subject: [PATCH] cmake: Add install command for libraries and headers +Organization: O.S. Systems Software LTDA. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> +--- + CMakeLists.txt | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 572d044..90e797a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -63,6 +63,8 @@ include_directories("${gmock_SOURCE_DIR}/include" + # Test sources. + "${gtest_SOURCE_DIR}") + ++install(DIRECTORY ${gmock_SOURCE_DIR}/include/gmock DESTINATION include) ++ + ######################################################################## + # + # Defines the gmock & gmock_main libraries. User tests should link +@@ -82,6 +84,10 @@ cxx_library(gmock_main + src/gmock-all.cc + src/gmock_main.cc) + ++ ++install(TARGETS gmock DESTINATION lib) ++install(TARGETS gmock_main DESTINATION lib) ++ + ######################################################################## + # + # Google Mock's own tests. +-- +1.9.1 + diff --git a/meta-oe/recipes-test/gmock/gmock/cmake-gmock.pc.in-Add-pkg-config-support.patch b/meta-oe/recipes-test/gmock/gmock/cmake-gmock.pc.in-Add-pkg-config-support.patch new file mode 100644 index 0000000000..aa38fe49ff --- /dev/null +++ b/meta-oe/recipes-test/gmock/gmock/cmake-gmock.pc.in-Add-pkg-config-support.patch @@ -0,0 +1,56 @@ +From 45661183a7c78d8c4f75adcf53c6ddd663dc8b2d Mon Sep 17 00:00:00 2001 +From: Mario Domenech Goulart <mario@ossystems.com.br> +Date: Mon, 20 Oct 2014 17:12:58 -0200 +Subject: [PATCH] CMakeLists, gmock.pc.in: Add pkg-config support +Organization: O.S. Systems Software LTDA. + +Signed-off-by: Mario Domenech Goulart <mario@ossystems.com.br> +--- + CMakeLists.txt | 7 ++++++- + gmock.pc.in | 9 +++++++++ + 2 files changed, 15 insertions(+), 1 deletion(-) + create mode 100644 gmock.pc.in + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 90e797a..98fd824 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -27,6 +27,9 @@ if (COMMAND pre_project_set_up_hermetic_build) + pre_project_set_up_hermetic_build() + endif() + ++# pkg-config support ++configure_file("gmock.pc.in" "gmock.pc" @ONLY) ++ + ######################################################################## + # + # Project-wide settings +@@ -87,7 +90,9 @@ cxx_library(gmock_main + + install(TARGETS gmock DESTINATION lib) + install(TARGETS gmock_main DESTINATION lib) +- ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gmock.pc" ++ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig/" ++) + ######################################################################## + # + # Google Mock's own tests. +diff --git a/gmock.pc.in b/gmock.pc.in +new file mode 100644 +index 0000000..08ad8d2 +--- /dev/null ++++ b/gmock.pc.in +@@ -0,0 +1,9 @@ ++Name: libgmock ++Version: 1.7.0 ++Description: Google's framework for writing C++ tests on a variety of platforms ++ ++prefix=@CMAKE_INSTALL_PREFIX@ ++includedir=${prefix}/include ++libdir=${prefix}/lib ++Cflags:-I${includedir}/gmock ++Libs: -L${libdir} -lgmock -lgmock_main +-- +1.9.1 + diff --git a/meta-oe/recipes-test/gmock/gmock_1.7.0.bb b/meta-oe/recipes-test/gmock/gmock_1.7.0.bb new file mode 100644 index 0000000000..bd5cf4e200 --- /dev/null +++ b/meta-oe/recipes-test/gmock/gmock_1.7.0.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "Google C++ Mocking Framework" +SECTION = "libs" +HOMEPAGE = "http://code.google.com/p/googlemock/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=cbbd27594afd089daa160d3a16dd515a" + +SRC_URI = "\ + http://googlemock.googlecode.com/files/${BPN}-${PV}.zip \ + file://cmake-Add-install-command-for-libraries-and-headers.patch \ + file://cmake-gmock.pc.in-Add-pkg-config-support.patch \ +" + +SRC_URI[md5sum] = "073b984d8798ea1594f5e44d85b20d66" +SRC_URI[sha256sum] = "26fcbb5925b74ad5fc8c26b0495dfc96353f4d553492eb97e85a8a6d2f43095b" + +inherit lib_package cmake + +ALLOW_EMPTY_${PN} = "1" +ALLOW_EMPTY_${PN}-dbg = "1" + +RDEPENDS_${PN}-dev += "${PN}-staticdev" + +BBCLASSEXTEND = "nativesdk" diff --git a/meta-oe/recipes-test/gtest/gtest/CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch b/meta-oe/recipes-test/gtest/gtest/CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch new file mode 100644 index 0000000000..1ece136b6a --- /dev/null +++ b/meta-oe/recipes-test/gtest/gtest/CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch @@ -0,0 +1,55 @@ +From d4b25ce723812faf78d8ee038b7cbed00cbba682 Mon Sep 17 00:00:00 2001 +From: Rodrigo Caimi <caimi@datacom.ind.br> +Date: Tue, 7 Oct 2014 15:37:10 -0300 +Subject: [PATCH] CMakeLists, gtest.pc.in: Add pkg-config support to gtest + 1.7.0 + +Signed-off-by: Rodrigo Caimi <caimi@datacom.ind.br> +--- + CMakeLists.txt | 6 ++++++ + gtest.pc.in | 9 +++++++++ + 2 files changed, 15 insertions(+) + create mode 100644 gtest.pc.in + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 281c4c2..e4354a8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -29,6 +29,9 @@ if (COMMAND pre_project_set_up_hermetic_build) + pre_project_set_up_hermetic_build() + endif() + ++# pkg-config support ++configure_file("gtest.pc.in" "gtest.pc" @ONLY) ++ + ######################################################################## + # + # Project-wide settings +@@ -75,6 +78,9 @@ target_link_libraries(gtest_main gtest) + + install(TARGETS gtest DESTINATION lib) + install(TARGETS gtest_main DESTINATION lib) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gtest.pc" ++ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig/" ++) + + ######################################################################## + # +diff --git a/gtest.pc.in b/gtest.pc.in +new file mode 100644 +index 0000000..57b1049 +--- /dev/null ++++ b/gtest.pc.in +@@ -0,0 +1,9 @@ ++Name: libgtest ++Version: 1.7.0 ++Description: Google's framework for writing C++ tests on a variety of platforms ++ ++prefix=@CMAKE_INSTALL_PREFIX@ ++includedir=${prefix}/include ++libdir=${prefix}/lib ++Cflags:-I${includedir}/gtest ++Libs: -L${libdir} -lgtest -lgtest_main +-- +1.9.1 + diff --git a/meta-oe/recipes-test/gtest/gtest/cmake-Add-install-command-for-libraries-and-headers.patch b/meta-oe/recipes-test/gtest/gtest/cmake-Add-install-command-for-libraries-and-headers.patch new file mode 100644 index 0000000000..0c160b02a9 --- /dev/null +++ b/meta-oe/recipes-test/gtest/gtest/cmake-Add-install-command-for-libraries-and-headers.patch @@ -0,0 +1,39 @@ +From 5318983562be6babeb5a6996e7dda4b31acfdba8 Mon Sep 17 00:00:00 2001 +From: Otavio Salvador <otavio@ossystems.com.br> +Date: Wed, 30 Jul 2014 16:49:53 -0300 +Subject: [PATCH] cmake: Add install command for libraries and headers +Organization: O.S. Systems Software LTDA. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> +--- + CMakeLists.txt | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 57470c8..281c4c2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -56,6 +56,8 @@ include_directories( + ${gtest_SOURCE_DIR}/include + ${gtest_SOURCE_DIR}) + ++install(DIRECTORY ${gtest_SOURCE_DIR}/include/gtest DESTINATION include) ++ + # Where Google Test's libraries can be found. + link_directories(${gtest_BINARY_DIR}/src) + +@@ -71,6 +73,9 @@ cxx_library(gtest "${cxx_strict}" src/gtest-all.cc) + cxx_library(gtest_main "${cxx_strict}" src/gtest_main.cc) + target_link_libraries(gtest_main gtest) + ++install(TARGETS gtest DESTINATION lib) ++install(TARGETS gtest_main DESTINATION lib) ++ + ######################################################################## + # + # Samples on how to link user tests with gtest or gtest_main. +-- +1.9.1 + diff --git a/meta-oe/recipes-test/gtest/gtest_1.7.0.bb b/meta-oe/recipes-test/gtest/gtest_1.7.0.bb new file mode 100644 index 0000000000..9f148d549e --- /dev/null +++ b/meta-oe/recipes-test/gtest/gtest_1.7.0.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "Google's framework for writing C++ tests" +HOMEPAGE = "http://code.google.com/p/googletest/" +SECTION = "libs" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=cbbd27594afd089daa160d3a16dd515a" + +SRC_URI = "\ + http://googletest.googlecode.com/files/${BPN}-${PV}.zip \ + file://cmake-Add-install-command-for-libraries-and-headers.patch \ + file://CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch \ +" + +SRC_URI[md5sum] = "2d6ec8ccdf5c46b05ba54a9fd1d130d7" +SRC_URI[sha256sum] = "247ca18dd83f53deb1328be17e4b1be31514cedfc1e3424f672bf11fd7e0d60d" + +inherit lib_package cmake + +ALLOW_EMPTY_${PN} = "1" +ALLOW_EMPTY_${PN}-dbg = "1" + +RDEPENDS_${PN}-dev += "${PN}-staticdev" + +BBCLASSEXTEND = "nativesdk" diff --git a/meta-perl/conf/layer.conf b/meta-perl/conf/layer.conf index 09ed0e572f..0485ac8df1 100644 --- a/meta-perl/conf/layer.conf +++ b/meta-perl/conf/layer.conf @@ -8,3 +8,9 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "perl-layer" BBFILE_PATTERN_perl-layer := "^${LAYERDIR}/" BBFILE_PRIORITY_perl-layer = "6" + +# This should only be incremented on significant changes that will +# cause compatibility issues with other layers +LAYERVERSION_perl-layer = "1" + +LAYERDEPENDS_perl-layer = "core" diff --git a/meta-perl/recipes-perl/adduser/adduser_3.113+nmu3.bb b/meta-perl/recipes-perl/adduser/adduser_3.113+nmu3.bb new file mode 100644 index 0000000000..969a739d49 --- /dev/null +++ b/meta-perl/recipes-perl/adduser/adduser_3.113+nmu3.bb @@ -0,0 +1,53 @@ +SUMMARY = "a utility to add users/groups to the system" +DESCRIPTION = "adduser, addgroup - add a user or group to the system" +HOMEPAGE = "http://alioth.debian.org/projects/adduser/" +SECTION = "base/utils" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://debian/copyright;md5=caed49ab166f22ef31bf1127f558d0ef" + +SRC_URI = "http://ftp.de.debian.org/debian/pool/main/a/${BPN}/${BPN}_${PV}.tar.gz \ + file://adduser-add-M-option-for-useradd-when-no-create-home.patch \ +" + +SRC_URI[md5sum] = "ccb5864bde56683182c89c44474e7182" +SRC_URI[sha256sum] = "02682be3f51f3e732121f20a3e4922bb8bef15cfacb8767fc250a01d09502122" + +inherit cpan-base update-alternatives + +do_install() { + install -d ${D}${sbindir} + install -m 0755 ${S}/adduser ${D}${sbindir} + install -m 0755 ${S}/deluser ${D}${sbindir} + + install -d ${D}${libdir}/perl/${PERLVERSION}/Debian + install -m 0644 ${S}/AdduserCommon.pm ${D}${libdir}/perl/${PERLVERSION}/Debian + sed -i -e "s/VERSION/${PV}/" ${D}${sbindir}/* + + install -d ${D}/${sysconfdir} + install -m 0644 ${S}/*.conf ${D}/${sysconfdir} + + install -d ${D}${mandir}/man5 + install -m 0644 ${S}/doc/*.conf.5 ${D}${mandir}/man5 + install -d ${D}${mandir}/man8 + install -m 0644 ${S}/doc/*.8 ${D}${mandir}/man8 + install -d ${D}${docdir}/${BPN} + cp -rf ${S}/examples ${D}${docdir}/${BPN} +} + +RDEPENDS_${PN} += "\ + shadow \ + perl-module-getopt-long \ + perl-module-overloading \ + perl-module-file-find \ + perl-module-file-temp \ +" + +ALTERNATIVE_${PN} = "adduser deluser addgroup delgroup" +ALTERNATIVE_PRIORITY = "60" +ALTERNATIVE_LINK_NAME[adduser] = "${sbindir}/adduser" +ALTERNATIVE_LINK_NAME[deluser] = "${sbindir}/deluser" +ALTERNATIVE_LINK_NAME[addgroup] = "${sbindir}/addgroup" +ALTERNATIVE_LINK_NAME[delgroup] = "${sbindir}/delgroup" +ALTERNATIVE_TARGET[addgroup] = "${sbindir}/adduser.${BPN}" +ALTERNATIVE_TARGET[delgroup] = "${sbindir}/deluser.${BPN}" diff --git a/meta-perl/recipes-perl/adduser/files/adduser-add-M-option-for-useradd-when-no-create-home.patch b/meta-perl/recipes-perl/adduser/files/adduser-add-M-option-for-useradd-when-no-create-home.patch new file mode 100644 index 0000000000..4b0a03f02a --- /dev/null +++ b/meta-perl/recipes-perl/adduser/files/adduser-add-M-option-for-useradd-when-no-create-home.patch @@ -0,0 +1,57 @@ +From 809f00a6ef0224b41b2e1207194c8da3cd3e3c7e Mon Sep 17 00:00:00 2001 +From: Jackie Huang <jackie.huang@windriver.com> +Date: Thu, 18 Dec 2014 17:23:37 +0800 +Subject: [PATCH] adduser: add -M option for useradd when --no-create-home is specified + +The useradd (from package passwd) in debian based system sets -M (--no-create-home) by default, +but the one we are using (from package shadow) sets -m (--create-home) by default, so we +need to explicitly add -M option for useradd call when --no-create-home is specified for adduser. + +Upstream-Status: Pending + +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + adduser | 20 ++++++++++++++++---- + 1 files changed, 16 insertions(+), 4 deletions(-) + +diff --git a/adduser b/adduser +index c3bd8b0..9a07f9f 100755 +--- a/adduser ++++ b/adduser +@@ -434,8 +434,14 @@ if ($action eq "addsysuser") { + $shell = $special_shell || '/bin/false'; + $undouser = $new_name; + my $useradd = &which('useradd'); +- &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s', +- $shell, '-u', $new_uid, $new_name); ++ if ($no_create_home) { ++ &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s', ++ $shell, '-u', $new_uid, '-M', $new_name); ++ } ++ else { ++ &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s', ++ $shell, '-u', $new_uid, $new_name); ++ } + if(!$disabled_login) { + my $usermod = &which('usermod'); + &systemcall($usermod, '-p', '*', $new_name); +@@ -524,8 +530,14 @@ if ($action eq "adduser") { + $shell = $special_shell || $config{"dshell"}; + $undouser = $new_name; + my $useradd = &which('useradd'); +- &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s', +- $shell, '-u', $new_uid, $new_name); ++ if ($no_create_home) { ++ &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s', ++ $shell, '-u', $new_uid, '-M', $new_name); ++ } ++ else { ++ &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s', ++ $shell, '-u', $new_uid, $new_name); ++ } + &invalidate_nscd(); + + create_homedir (1); # copy skeleton data +-- +1.7.1 + diff --git a/meta-perl/recipes-perl/libcurses/libcurses-perl_1.32.bb b/meta-perl/recipes-perl/libcurses/libcurses-perl_1.32.bb new file mode 100644 index 0000000000..d78ca478d2 --- /dev/null +++ b/meta-perl/recipes-perl/libcurses/libcurses-perl_1.32.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "lib-curses provides an interface between Perl programs and \ +the curses library." + +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0+" + +LIC_FILES_CHKSUM = "file://README;beginline=26;endline=30;md5=0b37356c5e9e28080a3422d82af8af09" + +DEPENDS += "perl ncurses " + +SRC_URI = "http://www.cpan.org/authors/id/G/GI/GIRAFFED/Curses-${PV}.tgz" + +SRC_URI[md5sum] = "e4d9066bfc5a69cb2cee3e1dfc3209b3" +SRC_URI[sha256sum] = "5dba44fd7964806d9765e6692bc7eb8eb30aeced2740f28b9a4070a5d14ba650" + +S = "${WORKDIR}/Curses-${PV}" + +EXTRA_CPANFLAGS = "INC=-I${STAGING_INCDIR} LIBS=-L${STAGING_LIBDIR}" + +inherit cpan + +do_compile() { + export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')" + cpan_do_compile +} + diff --git a/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.71.bb b/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.71.bb new file mode 100644 index 0000000000..be0f4b29f1 --- /dev/null +++ b/meta-perl/recipes-perl/libhtml/libhtml-parser-perl_3.71.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "This package contains the Parser.pm module with friends." + +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0+" + +LIC_FILES_CHKSUM = "file://README;md5=6c3dacf9f405c7483870ab5f148770c3" + +DEPENDS += "perl" + +SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTML-Parser-${PV}.tar.gz" + +SRC_URI[md5sum] = "9128a45893097dfa3bf03301b19c5efe" +SRC_URI[sha256sum] = "be918b3749d3ff93627f72ee4b825683332ecb4c81c67a3a8d72b0435ffbd802" + +S = "${WORKDIR}/HTML-Parser-${PV}" + +EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}" + +inherit cpan + +do_compile() { + export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')" + cpan_do_compile +} +BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libnet/libnet-dns-perl_0.81.bb b/meta-perl/recipes-perl/libnet/libnet-dns-perl_0.81.bb new file mode 100644 index 0000000000..9dc426860e --- /dev/null +++ b/meta-perl/recipes-perl/libnet/libnet-dns-perl_0.81.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "This package contains the DNS.pm module with friends." + +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0+" + +LIC_FILES_CHKSUM = "file://README;md5=524da96a3365f2caff73fea0ae67c3a0" + +DEPENDS += "perl" + +SRC_URI = "http://search.cpan.org/CPAN/authors/id/N/NL/NLNETLABS/Net-DNS-${PV}.tar.gz" + +SRC_URI[md5sum] = "26375d4310beb108b0e2b3bf30403ee5" +SRC_URI[sha256sum] = "b36c8ead6edf68da5d9de2b0a22a47d7216e2d7eb52c8cde96724988f68a6d46" + +S = "${WORKDIR}/Net-DNS-${PV}" + +EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}" + +inherit cpan + +do_compile() { + export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')" + cpan_do_compile +} +BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.65.bb b/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.65.bb index 63594b94b2..f6c4b8b36c 100644 --- a/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.65.bb +++ b/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.65.bb @@ -28,12 +28,16 @@ S = "${WORKDIR}/Net-SSLeay-${PV}" inherit cpan ptest -EXTRA_CPANFLAGS = "LIBS='-L=${libdir} -L=${base_libdir}' \ - INC=-I=${includedir} \ +EXTRA_CPANFLAGS = "LIBS='-L=${STAGING_LIBDIR} -L=${STAGING_BASELIBDIR}' \ + INC=-I=${STAGING_INCDIR} \ 'EXTRALIBS=-lssl -lcrypto -lz' \ 'LDLOADLIBS=-lssl -lcrypto -lz' \ " +do_configure_prepend() { + export OPENSSL_PREFIX=${STAGING_DIR_NATIVE}${prefix_native} +} + do_install_ptest() { cp -r ${B}/t ${D}${PTEST_PATH} } diff --git a/meta-python/conf/layer.conf b/meta-python/conf/layer.conf index 4e8eca3c33..55169e4fbb 100644 --- a/meta-python/conf/layer.conf +++ b/meta-python/conf/layer.conf @@ -7,3 +7,9 @@ BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend" BBFILE_COLLECTIONS += "meta-python" BBFILE_PATTERN_meta-python := "^${LAYERDIR}/" BBFILE_PRIORITY_meta-python = "7" + +# This should only be incremented on significant changes that will +# cause compatibility issues with other layers +LAYERVERSION_meta-python = "1" + +LAYERDEPENDS_meta-python = "core openembedded-layer" diff --git a/meta-python/recipes-devtools/python/python-backports-ssl_3.4.0.2.bb b/meta-python/recipes-devtools/python/python-backports-ssl_3.4.0.2.bb new file mode 100644 index 0000000000..9caae41bf8 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-backports-ssl_3.4.0.2.bb @@ -0,0 +1,23 @@ +SUMMARY = "The ssl.match_hostname() function from Python 3.4" +DESCRIPTION = "The Secure Sockets layer is only actually secure if you check the hostname in the \ +certificate returned by the server to which you are connecting, and verify that it matches to hostname \ +that you are trying to reach. But the matching logic, defined in RFC2818, can be a bit tricky to implement \ +on your own. So the ssl package in the Standard Library of Python 3.2 and greater now includes a \ +match_hostname() function for performing this check instead of requiring every application to \ +implement the check separately. This backport brings match_hostname() to users of earlier versions of Python" +HOMEPAGE = "https://pypi.python.org/pypi/backports.ssl_match_hostname" +SECTION = "devel/python" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://PKG-INFO;md5=77b684960b86b7a4bb4a450ffde08605" + +SRCNAME = "backports.ssl_match_hostname" + +SRC_URI = "https://pypi.python.org/packages/source/b/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "788214f20214c64631f0859dc79f23c6" +SRC_URI[sha256sum] = "07410e7fb09aab7bdaf5e618de66c3dac84e2e3d628352814dc4c37de321d6ae" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools diff --git a/meta-python/recipes-devtools/python/python-certifi_14.05.14.bb b/meta-python/recipes-devtools/python/python-certifi_14.05.14.bb new file mode 100644 index 0000000000..5e0404e960 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-certifi_14.05.14.bb @@ -0,0 +1,20 @@ +SUMMARY = "Python package for providing Mozilla's CA Bundle." +DESCRIPTION = "This installable Python package contains a CA Bundle that you can reference in your \ +Python code. This is useful for verifying HTTP requests, for example. This is the same CA Bundle \ +which ships with the Requests codebase, and is derived from Mozilla Firefox's canonical set." +HOMEPAGE = "https://pypi.python.org/pypi/certifi" +SECTION = "devel/python" + +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f77f61d14ee6feac4228d3ebd26cc1f1" + +SRCNAME = "certifi" + +SRC_URI = "https://pypi.python.org/packages/source/c/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "315ea4e50673a16ab047099f816fd32a" +SRC_URI[sha256sum] = "1e1bcbacd6357c151ae37cf0290dcc809721d32ce21fd6b7339568f3ddef1b69" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools diff --git a/meta-python/recipes-devtools/python/python-cmd2_0.6.7.bb b/meta-python/recipes-devtools/python/python-cmd2_0.6.7.bb new file mode 100644 index 0000000000..fc7f024a47 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-cmd2_0.6.7.bb @@ -0,0 +1,20 @@ +# Imported from git://git.yoctoproject.org/meta-cloud-services + +SUMMARY = "Extra features for standard library's cmd module" +HOMEPAGE = "http://packages.python.org/cmd2/" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://setup.py;beginline=21;endline=21;md5=a00047b7e92e0781452d0beba4e7b44e" + +SRCNAME = "cmd2" + +SRC_URI = "http://pypi.python.org/packages/source/c/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "842df29ff2f72d64d7f0d917039c0e51" +SRC_URI[sha256sum] = "8e98c7a1cfd106183559240b269e7cd9fe97e8342b5c05295f591aab6fd2f4f0" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} += "python-pyparsing" diff --git a/meta-python/recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch b/meta-python/recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch new file mode 100644 index 0000000000..fdd00b6a4d --- /dev/null +++ b/meta-python/recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch @@ -0,0 +1,53 @@ +From eebe0f66435c4d821b0f5f93f69efe17b4a384c2 Mon Sep 17 00:00:00 2001 +From: Simon Busch <simon.busch@lge.com> +Date: Wed, 9 Apr 2014 13:18:33 +0200 +Subject: [PATCH 1/2] Add functionality to add own objects to internal object + list + +In some case the tests might want to create dynamically dbus objects which extended +functionality from own class definitions within templates. In such cases we need to +register those objects with the internal object manager of dbusmock. + +Signed-off-by: Simon Busch <simon.busch@lge.com> +--- + dbusmock/__init__.py | 4 ++-- + dbusmock/mockobject.py | 8 ++++++++ + 2 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/dbusmock/__init__.py b/dbusmock/__init__.py +index f799cc7..6718c06 100644 +--- a/dbusmock/__init__.py ++++ b/dbusmock/__init__.py +@@ -14,8 +14,8 @@ __license__ = 'LGPL 3+' + __version__ = '0.10.1' + + from dbusmock.mockobject import (DBusMockObject, MOCK_IFACE, +- OBJECT_MANAGER_IFACE, get_object, get_objects) ++ OBJECT_MANAGER_IFACE, get_object, get_objects, add_object) + from dbusmock.testcase import DBusTestCase + + __all__ = ['DBusMockObject', 'MOCK_IFACE', 'OBJECT_MANAGER_IFACE', +- 'DBusTestCase', 'get_object', 'get_objects'] ++ 'DBusTestCase', 'get_object', 'get_objects', 'add_object'] +diff --git a/dbusmock/mockobject.py b/dbusmock/mockobject.py +index 97b79ce..a98e03d 100644 +--- a/dbusmock/mockobject.py ++++ b/dbusmock/mockobject.py +@@ -682,6 +682,14 @@ dbus.service._method_lookup = _dbusmock_method_lookup + # Helper API for templates + # + ++def add_object(path, obj): ++ if path in objects: ++ raise dbus.exceptions.DBusException( ++ 'org.freedesktop.DBus.Mock.NameError', ++ 'object %s already exists' % path) ++ ++ objects[path] = obj ++ + + def get_objects(): + '''Return all existing object paths''' +-- +1.7.9.5 + diff --git a/meta-python/recipes-devtools/python/python-dbusmock/0001-Don-t-use-gobject-introspection-for-bindings.patch b/meta-python/recipes-devtools/python/python-dbusmock/0001-Don-t-use-gobject-introspection-for-bindings.patch new file mode 100644 index 0000000000..f3ab53c546 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-dbusmock/0001-Don-t-use-gobject-introspection-for-bindings.patch @@ -0,0 +1,29 @@ +From 29960f2fce7ab42ed0a1bf8ce96499fdb6eedf3c Mon Sep 17 00:00:00 2001 +From: Simon Busch <simon.busch@lge.com> +Date: Tue, 25 Mar 2014 15:28:54 +0100 +Subject: [PATCH] Don't use gobject introspection for bindings + +In our environment we're not providing the glib python bindings through +introspection but just pygobject so we need to use the right import. + +Signed-off-by: Simon Busch <simon.busch@lge.com> +--- + dbusmock/__main__.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dbusmock/__main__.py b/dbusmock/__main__.py +index 44b63fb..bfd089c 100644 +--- a/dbusmock/__main__.py ++++ b/dbusmock/__main__.py +@@ -51,7 +51,7 @@ def parse_args(): + + if __name__ == '__main__': + import dbus.mainloop.glib +- from gi.repository import GLib ++ import glib as GLib + + args = parse_args() + dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) +-- +1.7.9.5 + diff --git a/meta-python/recipes-devtools/python/python-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch b/meta-python/recipes-devtools/python/python-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch new file mode 100644 index 0000000000..981694f0e8 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch @@ -0,0 +1,29 @@ +From ff1dffd5673bcd2cbd9554ad62476d108dbc18af Mon Sep 17 00:00:00 2001 +From: Simon Busch <simon.busch@lge.com> +Date: Wed, 9 Apr 2014 13:20:33 +0200 +Subject: [PATCH 2/2] Add possibility to import templates from packages + +Does not have any unit tests yet. + +Signed-off-by: Simon Busch <simon.busch@lge.com> +--- + dbusmock/mockobject.py | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/dbusmock/mockobject.py b/dbusmock/mockobject.py +index a98e03d..9530c2a 100644 +--- a/dbusmock/mockobject.py ++++ b/dbusmock/mockobject.py +@@ -49,6 +49,9 @@ def load_module(name): + + return module + ++ if '.' in name: ++ return importlib.import_module(name) ++ + return importlib.import_module('dbusmock.templates.' + name) + + +-- +1.7.9.5 + diff --git a/meta-python/recipes-devtools/python/python-dbusmock_0.10.1.bb b/meta-python/recipes-devtools/python/python-dbusmock_0.10.1.bb new file mode 100644 index 0000000000..b24794395a --- /dev/null +++ b/meta-python/recipes-devtools/python/python-dbusmock_0.10.1.bb @@ -0,0 +1,22 @@ +# Copyright (c) 2014 LG Electronics, Inc. + +SUMMARY = "With this program/Python library you can easily create mock objects on D-Bus" +AUTHOR = "Martin Pitt <martin.pitt@ubuntu.com>" +SECTION = "devel/python" + +LICENSE = "GPL-3.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02" + +DEPENDS += "python-pygobject python-dbus" + +SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BP}.tar.gz" +SRC_URI[md5sum] = "7370d325c4a75494dd71885ca65b79e8" +SRC_URI[sha256sum] = "03aadc93bdc26ea18d4d78fcff7b6cb34f4e18623bc5cc41cf9539d663cee11e" + +SRC_URI += " \ + file://0001-Don-t-use-gobject-introspection-for-bindings.patch \ + file://0001-Add-functionality-to-add-own-objects-to-internal-obj.patch \ + file://0002-Add-possibility-to-import-templates-from-packages.patch \ +" + +inherit setuptools diff --git a/meta-python/recipes-devtools/python/python-django-south_1.0.2.bb b/meta-python/recipes-devtools/python/python-django-south_1.0.2.bb new file mode 100644 index 0000000000..9eab13d04a --- /dev/null +++ b/meta-python/recipes-devtools/python/python-django-south_1.0.2.bb @@ -0,0 +1,19 @@ +SUMMARY = "Migrations for Django" +DESCRIPTION = "South is an intelligent database migrations library for the Django web framework. It is database-independent and DVCS-friendly, as well as a whole host of other features." +HOMEPAGE = "http://south.aeracode.org/" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=17;endline=18;md5=2155d8ae21e7c23101d5febac696b27e" + +SRCNAME = "South" + +SRC_URI = "https://pypi.python.org/packages/source/S/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "c76a9758b2011bc3b6c39f881bba2f66" +SRC_URI[sha256sum] = "d360bd31898f9df59f6faa786551065bba45b35e7ee3c39b381b4fbfef7392f4" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit distutils + +BBCLASSEXTEND = "nativesdk" diff --git a/meta-python/recipes-devtools/python/python-django_1.6.10.bb b/meta-python/recipes-devtools/python/python-django_1.6.10.bb new file mode 100644 index 0000000000..a7ca803f23 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-django_1.6.10.bb @@ -0,0 +1,20 @@ +SUMMARY = "A high-level Python Web framework" +HOMEPAGE = "http://www.djangoproject.com/" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fa8608154dcdd4029ae653131d4b7365" + +SRCNAME = "Django" + +SRC_URI = "https://pypi.python.org/packages/source/D/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "d7123f14ac19ae001be02ed841937b91" +SRC_URI[sha256sum] = "54eb59ce785401c7d1fdeed245efce597e90f811d6a20f6b5c6931c0049d63a6" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit distutils + +FILES_${PN} += "${datadir}/django" + +BBCLASSEXTEND = "nativesdk" diff --git a/meta-python/recipes-devtools/python/python-flufl-enum_4.0.1.bb b/meta-python/recipes-devtools/python/python-flufl-enum_4.0.1.bb new file mode 100644 index 0000000000..a7376db5d1 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-flufl-enum_4.0.1.bb @@ -0,0 +1,33 @@ +SUMMARY = "A Python enumeration package." +DESCRIPTION = "The flufl.enum library is a Python enumeration package. Its goal is to provide simple, \ +specific, concise semantics in an easy to read and write syntax. flufl.enum has just enough of the \ +features needed to make enumerations useful, but without a lot of extra baggage to weigh them down. " +HOMEPAGE = "https://pypi.python.org/pypi/flufl.enum" +SECTION = "devel/python" + +LICENSE = "LGPLv3" +LIC_FILES_CHKSUM = "file://PKG-INFO;md5=1fa25baed15d3be23c902636379438e8" + +SRCNAME = "flufl.enum" + +SRC_URI = " \ + http://pypi.python.org/packages/source/f/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \ +" + +SRC_URI[md5sum] = "b3ad23761a78232bc78499ced7cb85d9" +SRC_URI[sha256sum] = "4af7e7cf2dcc7517251570c7ef9ad194e30ee4b6f860eba500c03954ae95f9d8" + +inherit setuptools + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +PACKAGES =+ "\ + ${PN}-test \ +" + +FILES_${PN}-doc += "\ + ${libdir}/${PYTHON_DIR}/site-packages/flufl/enum/*.rst \ + ${libdir}/${PYTHON_DIR}/site-packages/flufl/enum/docs \ +" + +FILES_${PN}-test += "${libdir}/${PYTHON_DIR}/site-packages/flufl/enum/tests" diff --git a/meta-python/recipes-devtools/python/python-jinja2_2.7.3.bb b/meta-python/recipes-devtools/python/python-jinja2_2.7.3.bb new file mode 100644 index 0000000000..e66077af17 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-jinja2_2.7.3.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "Python Jinja2: A small but fast and easy to use stand-alone template engine written in pure python." +HOMEPAGE = "https://pypi.python.org/pypi/Jinja2" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=20c831f91dd3bd486020f672ba2be386" + +PR = "r0" +SRCNAME = "Jinja2" + +SRC_URI = "https://pypi.python.org/packages/source/J/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "b9dffd2f3b43d673802fe857c8445b1a" +SRC_URI[sha256sum] = "2e24ac5d004db5714976a04ac0e80c6df6e47e98c354cb2c0d82f8879d4f8fdb" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} += "python-io python-pickle python-crypt python-math python-netclient python-re python-textutils python-lang python-pprint python-shell python-markupsafe" diff --git a/meta-python/recipes-devtools/python/python-ldap_2.4.10.bb b/meta-python/recipes-devtools/python/python-ldap_2.4.10.bb new file mode 100644 index 0000000000..78a878a15b --- /dev/null +++ b/meta-python/recipes-devtools/python/python-ldap_2.4.10.bb @@ -0,0 +1,27 @@ +# +# Copyright (C) 2012 Wind River Systems, Inc. +# +SUMMARY = "Provides a wrapper in Python to LDAP" +DESCRIPTION = "This module provides access to the LDAP \ +(Lightweight Directory Access Protocol) through Python operations \ +instead of C API. The module mainly acts as a wrapper for the \ +OpenLDAP 2.x libraries. Errors will appear as exceptions." + +SECTION = "devel/python" +PRIORITY = "optional" +LICENSE = "PSF" +HOMEPAGE = "http://www.python-ldap.org/" +DEPENDS = "python openldap cyrus-sasl" + +SRC_URI = "http://pypi.python.org/packages/source/p/${PN}/${BPN}-${PV}.tar.gz" + +inherit setuptools + +LIC_FILES_CHKSUM = "file://LICENCE;md5=a41c82edffa04912007cae1d20cac555" +SRC_URI[md5sum] = "a15827ca13c90e9101e5e9405c1d83be" +SRC_URI[sha256sum] = "67cc7801bf24c29386ab99966ceb68d6a60fa9e0566cc95a4fbb2c4695a8ce54" + +do_configure_prepend() { + sed -i -e 's:^library_dirs =.*::' setup.cfg + sed -i -e 's:^include_dirs =.*:include_dirs = =/usr/include/sasl/:' setup.cfg +} diff --git a/meta-python/recipes-devtools/python/python-lxml/python-lxml-3.2.5-fix-CVE-2014-3146.patch b/meta-python/recipes-devtools/python/python-lxml/python-lxml-3.2.5-fix-CVE-2014-3146.patch new file mode 100644 index 0000000000..0a8e211bd3 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-lxml/python-lxml-3.2.5-fix-CVE-2014-3146.patch @@ -0,0 +1,91 @@ +Upstream-status:Backport + +--- a/src/lxml/html/clean.py ++++ b/src/lxml/html/clean.py +@@ -70,9 +70,10 @@ _css_import_re = re.compile( + + # All kinds of schemes besides just javascript: that can cause + # execution: +-_javascript_scheme_re = re.compile( +- r'\s*(?:javascript|jscript|livescript|vbscript|data|about|mocha):', re.I) +-_substitute_whitespace = re.compile(r'\s+').sub ++_is_javascript_scheme = re.compile( ++ r'(?:javascript|jscript|livescript|vbscript|data|about|mocha):', ++ re.I).search ++_substitute_whitespace = re.compile(r'[\s\x00-\x08\x0B\x0C\x0E-\x19]+').sub + # FIXME: should data: be blocked? + + # FIXME: check against: http://msdn2.microsoft.com/en-us/library/ms537512.aspx +@@ -467,7 +468,7 @@ class Cleaner(object): + def _remove_javascript_link(self, link): + # links like "j a v a s c r i p t:" might be interpreted in IE + new = _substitute_whitespace('', link) +- if _javascript_scheme_re.search(new): ++ if _is_javascript_scheme(new): + # FIXME: should this be None to delete? + return '' + return link +--- a/src/lxml/html/tests/test_clean.txt ++++ b/src/lxml/html/tests/test_clean.txt +@@ -1,3 +1,4 @@ ++>>> import re + >>> from lxml.html import fromstring, tostring + >>> from lxml.html.clean import clean, clean_html, Cleaner + >>> from lxml.html import usedoctest +@@ -17,6 +18,7 @@ + ... <body onload="evil_function()"> + ... <!-- I am interpreted for EVIL! --> + ... <a href="javascript:evil_function()">a link</a> ++... <a href="j\x01a\x02v\x03a\x04s\x05c\x06r\x07i\x0Ep t:evil_function()">a control char link</a> + ... <a href="data:text/html;base64,PHNjcmlwdD5hbGVydCgidGVzdCIpOzwvc2NyaXB0Pg==">data</a> + ... <a href="#" onclick="evil_function()">another link</a> + ... <p onclick="evil_function()">a paragraph</p> +@@ -33,7 +35,7 @@ + ... </body> + ... </html>''' + +->>> print(doc) ++>>> print(re.sub('[\x00-\x07\x0E]', '', doc)) + <html> + <head> + <script type="text/javascript" src="evil-site"></script> +@@ -49,6 +51,7 @@ + <body onload="evil_function()"> + <!-- I am interpreted for EVIL! --> + <a href="javascript:evil_function()">a link</a> ++ <a href="javascrip t:evil_function()">a control char link</a> + <a href="data:text/html;base64,PHNjcmlwdD5hbGVydCgidGVzdCIpOzwvc2NyaXB0Pg==">data</a> + <a href="#" onclick="evil_function()">another link</a> + <p onclick="evil_function()">a paragraph</p> +@@ -81,6 +84,7 @@ + <body onload="evil_function()"> + <!-- I am interpreted for EVIL! --> + <a href="javascript:evil_function()">a link</a> ++ <a href="javascrip%20t:evil_function()">a control char link</a> + <a href="data:text/html;base64,PHNjcmlwdD5hbGVydCgidGVzdCIpOzwvc2NyaXB0Pg==">data</a> + <a href="#" onclick="evil_function()">another link</a> + <p onclick="evil_function()">a paragraph</p> +@@ -104,6 +108,7 @@ + </head> + <body> + <a href="">a link</a> ++ <a href="">a control char link</a> + <a href="">data</a> + <a href="#">another link</a> + <p>a paragraph</p> +@@ -123,6 +128,7 @@ + </head> + <body> + <a href="">a link</a> ++ <a href="">a control char link</a> + <a href="">data</a> + <a href="#">another link</a> + <p>a paragraph</p> +@@ -146,6 +152,7 @@ + </head> + <body> + <a href="">a link</a> ++ <a href="">a control char link</a> + <a href="">data</a> + <a href="#">another link</a> + <p>a paragraph</p> diff --git a/meta-python/recipes-devtools/python/python-lxml_3.0.2.bb b/meta-python/recipes-devtools/python/python-lxml_3.2.5.bb index 5ab7b4a793..68e36771fe 100644 --- a/meta-python/recipes-devtools/python/python-lxml_3.0.2.bb +++ b/meta-python/recipes-devtools/python/python-lxml_3.2.5.bb @@ -8,9 +8,11 @@ SRCNAME = "lxml" DEPENDS = "libxml2 libxslt" -SRC_URI = "http://pypi.python.org/packages/source/l/${SRCNAME}/${SRCNAME}-${PV}.tar.gz;name=lxml" -SRC_URI[lxml.md5sum] = "38b15b0dd5e9292cf98be800e84a3ce4" -SRC_URI[lxml.sha256sum] = "cadba4cf0e235127795f76a6f7092cb035da23a6e9ec4c93f8af43a6784cd101" +SRC_URI = "http://pypi.python.org/packages/source/l/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \ + file://python-lxml-3.2.5-fix-CVE-2014-3146.patch " + +SRC_URI[md5sum] = "6c4fb9b1840631cff09b8229a12a9ef7" +SRC_URI[sha256sum] = "2bf072808a6546d0e56bf1ad3b98a43cca828724360d7419fad135141bd31f7e" S = "${WORKDIR}/${SRCNAME}-${PV}" @@ -18,7 +20,7 @@ inherit setuptools DISTUTILS_BUILD_ARGS += " \ --with-xslt-config='${STAGING_BINDIR_NATIVE}/pkg-config libxslt' \ - --with-xml2-config='${STAGING_BINDIR_CROSS}/xml2-config' \ + --with-xml2-config='${STAGING_BINDIR_CROSS}/pkg-config libxml2' \ " DISTUTILS_INSTALL_ARGS += " \ diff --git a/meta-python/recipes-devtools/python/python-markupsafe_0.23.bb b/meta-python/recipes-devtools/python/python-markupsafe_0.23.bb new file mode 100644 index 0000000000..4821c0a3b6 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-markupsafe_0.23.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "Implements a XML/HTML/XHTML Markup safe string for Python" +HOMEPAGE = "http://github.com/mitsuhiko/markupsafe" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c6d1adcf45d69359f256c1cea3254127" + +PR = "r0" +SRCNAME = "MarkupSafe" + +SRC_URI = "https://pypi.python.org/packages/source/M/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "f5ab3deee4c37cd6a922fb81e730da6e" +SRC_URI[sha256sum] = "a4ec1aff59b95a14b45eb2e23761a0179e98319da5a7eb76b56ea8cdc7b871c3" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} += "python-re" diff --git a/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch b/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch index e07159552f..9a13a1850f 100644 --- a/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch +++ b/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch @@ -1,9 +1,20 @@ This fixes the numpy import problem in setupext.py using a hard-coded path. -diff --git a/setupext.py b/setupext.py -index 962cedc..82297c4 100644 ---- a/setupext.py -+++ b/setupext.py +Index: matplotlib-1.1.0/setupext.py +=================================================================== +--- matplotlib-1.1.0.orig/setupext.py ++++ matplotlib-1.1.0/setupext.py +@@ -122,8 +122,8 @@ numpy_inc_dirs = [] + # matplotlib build options, which can be altered using setup.cfg + options = {'display_status': True, + 'verbose': False, +- 'provide_pytz': 'auto', +- 'provide_dateutil': 'auto', ++ 'provide_pytz': False, ++ 'provide_dateutil': False, + 'build_agg': True, + 'build_gtk': 'auto', + 'build_gtkagg': 'auto', @@ -176,10 +176,7 @@ if os.path.exists(setup_cfg): except: pass diff --git a/meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb b/meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb index 7bb61fd57e..69f71c7116 100644 --- a/meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb +++ b/meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb @@ -4,8 +4,8 @@ LICENSE = "PSF" LIC_FILES_CHKSUM = "file://README.txt;md5=83c5bf8b16a5f99507f2f47a21ae3b81" PR = "r1" -DEPENDS += "python-numpy freetype libpng" -RDEPENDS_${PN} = "python-core python-distutils python-numpy freetype libpng" +DEPENDS += "python-numpy freetype libpng python-dateutil python-pytz" +RDEPENDS_${PN} = "python-core python-distutils python-numpy freetype libpng python-dateutil python-pytz" SRC_URI = "${SOURCEFORGE_MIRROR}/matplotlib/matplotlib-${PV}.tar.gz \ file://fix_setup.patch \ diff --git a/meta-python/recipes-devtools/python/python-mccabe_0.2.1.bb b/meta-python/recipes-devtools/python/python-mccabe_0.2.1.bb new file mode 100644 index 0000000000..a056c092cb --- /dev/null +++ b/meta-python/recipes-devtools/python/python-mccabe_0.2.1.bb @@ -0,0 +1,23 @@ +# Imported from git://git.yoctoproject.org/meta-cloud-services + +SUMMARY = "McCabe checker, plugin for flake8" +HOMEPAGE = "https://github.com/dreamhost/cliff" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://README.rst;md5=aa0383f6aee4f5c20084a97cd13164c4" + +SRCNAME = "mccabe" + +SRC_URI = "https://pypi.python.org/packages/source/m/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "5a3f3fa6a4bad126c88aaaa7dab682f5" +SRC_URI[sha256sum] = "5a2a170e47de5593a6abfae1e9542bd2c3924ac62bbe4e6ed96c953c0352243a" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} += " \ + python-prettytable \ + python-cmd2 \ + python-pyparsing" diff --git a/meta-python/recipes-devtools/python/python-mock_1.0.1.bb b/meta-python/recipes-devtools/python/python-mock_1.0.1.bb new file mode 100644 index 0000000000..a23b5523f4 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-mock_1.0.1.bb @@ -0,0 +1,26 @@ +# Imported from git://git.yoctoproject.org/meta-cloud-services + +SUMMARY = "A Python Mocking and Patching Library for Testing" +HOMEPAGE = "https://pypi.python.org/pypi/mock" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=80e5ba73891255687dff3bee2b4cbb16" + +SRCNAME = "mock" + +SRC_URI = "https://pypi.python.org/packages/source/m/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "c3971991738caa55ec7c356bbc154ee2" +SRC_URI[sha256sum] = "b839dd2d9c117c701430c149956918a423a9863b48b09c90e30a6013e7d2f44f" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} += " \ + python-prettytable \ + python-cmd2 \ + python-pyparsing \ + python-mccabe \ + python-pep8 \ + python-pyflakes" diff --git a/meta-python/recipes-devtools/python/python-msgpack_0.4.5.bb b/meta-python/recipes-devtools/python/python-msgpack_0.4.5.bb new file mode 100644 index 0000000000..206b03dd4d --- /dev/null +++ b/meta-python/recipes-devtools/python/python-msgpack_0.4.5.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "MessagePack (de)serializer" +HOMEPAGE = "https://pypi.python.org/pypi/msgpack-python/" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=cd9523181d9d4fbf7ffca52eaa2a5751" + +PR = "r0" +SRCNAME = "msgpack-python" + +SRC_URI = "https://pypi.python.org/packages/source/m/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "3b82bc542d5599896695512e7c32f42d" +SRC_URI[sha256sum] = "a07cd6615a6bf38cfa2f010b121c7e77b74a3e7b971ef3e475c3d33308014cbb" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools diff --git a/meta-python/recipes-devtools/python/python-pep8_1.4.6.bb b/meta-python/recipes-devtools/python/python-pep8_1.4.6.bb new file mode 100644 index 0000000000..b3c743ebd7 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pep8_1.4.6.bb @@ -0,0 +1,23 @@ +# Imported from git://git.yoctoproject.org/meta-cloud-services + +SUMMARY = "Python style guide checker" +HOMEPAGE = "https://github.com/dreamhost/cliff" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://README.rst;md5=b0d37793ab91ca25ad5c200e9ea22331" + +SRCNAME = "pep8" + +SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "a03bb494859e87b42601b61b1b043a0c" +SRC_URI[sha256sum] = "603a46e5c358ce20ac4807a0eeafac7505d1125a4c1bd8378757ada06f61bed8" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} += " \ + python-prettytable \ + python-cmd2 \ + python-pyparsing" diff --git a/meta-python/recipes-devtools/python/python-pip_1.3.1.bb b/meta-python/recipes-devtools/python/python-pip_1.3.1.bb deleted file mode 100644 index d1a7c8b3ae..0000000000 --- a/meta-python/recipes-devtools/python/python-pip_1.3.1.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "PIP is a tool for installing and managing Python packages" -LICENSE = "MIT & GPL" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd00425a3465a0e4c81929b94241d3de" - -SRC_URI = "https://pypi.python.org/packages/source/p/pip/pip-${PV}.tar.gz" -SRC_URI[md5sum] = "cbb27a191cebc58997c4da8513863153" -SRC_URI[sha256sum] = "145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957" - -S = "${WORKDIR}/pip-${PV}" - -inherit setuptools - -# Since PIP is like CPAN for PERL we need to drag in all python modules to ensure everything works -RDEPENDS_${PN} = "python-modules" diff --git a/meta-python/recipes-devtools/python/python-pip_1.5.6.bb b/meta-python/recipes-devtools/python/python-pip_1.5.6.bb new file mode 100644 index 0000000000..b4ce9e5f3c --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pip_1.5.6.bb @@ -0,0 +1,15 @@ +SUMMARY = "PIP is a tool for installing and managing Python packages" +LICENSE = "MIT & LGPL-2.1" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=45665b53032c02b35e29ddab8e61fa91" + +SRC_URI = "https://pypi.python.org/packages/source/p/pip/pip-${PV}.tar.gz" + +SRC_URI[md5sum] = "01026f87978932060cc86c1dc527903e" +SRC_URI[sha256sum] = "b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" + +S = "${WORKDIR}/pip-${PV}" + +inherit setuptools + +# Since PIP is like CPAN for PERL we need to drag in all python modules to ensure everything works +RDEPENDS_${PN} = "python-modules python-distribute" diff --git a/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb b/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb new file mode 100644 index 0000000000..fdc13eb119 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb @@ -0,0 +1,25 @@ +# Imported from git://git.yoctoproject.org/meta-cloud-services + +SUMMARY = "Python library for displaying tabular data in a ASCII table format" +HOMEPAGE = "http://code.google.com/p/prettytable" +SECTION = "devel/python" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=3e73500ffa52de5071cff65990055282" + +SRCNAME = "prettytable" + +SRC_URI = "http://pypi.python.org/packages/source/P/PrettyTable/${SRCNAME}-${PV}.zip" + +SRC_URI[md5sum] = "0c1361104caff8b09f220748f9d69899" +SRC_URI[sha256sum] = "a53da3b43d7a5c229b5e3ca2892ef982c46b7923b51e98f0db49956531211c4f" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +do_install_append() { + perm_files=`find "${D}${PYTHON_SITEPACKAGES_DIR}/" -name "top_level.txt"` + for f in $perm_files; do + chmod 644 "${f}" + done +} diff --git a/meta-python/recipes-devtools/python/python-pyflakes_0.7.3.bb b/meta-python/recipes-devtools/python/python-pyflakes_0.7.3.bb new file mode 100644 index 0000000000..ce48cd7323 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pyflakes_0.7.3.bb @@ -0,0 +1,23 @@ +# Imported from git://git.yoctoproject.org/meta-cloud-services + +SUMMARY = "passive checker of Python programs" +HOMEPAGE = "https://github.com/dreamhost/cliff" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://README.rst;md5=1815018ebbbfc8659a9df33681a0936e" + +SRCNAME = "pyflakes" + +SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "ec94ac11cb110e6e72cca23c104b66b1" +SRC_URI[sha256sum] = "dbd2c940a1030a4f811afc1a04017a44011c0cb54f8f384b66aa624097d9b5e3" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} += " \ + python-prettytable \ + python-cmd2 \ + python-pyparsing" diff --git a/meta-python/recipes-devtools/python/python-pyparsing_2.0.1.bb b/meta-python/recipes-devtools/python/python-pyparsing_2.0.1.bb new file mode 100644 index 0000000000..06d6d40143 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pyparsing_2.0.1.bb @@ -0,0 +1,18 @@ +# Imported from git://git.yoctoproject.org/meta-cloud-services + +SUMMARY = "Python parsing module" +HOMEPAGE = "http://pyparsing.wikispaces.com/" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fb46329938e6bc829b256e37d5c1e31a" + +SRCNAME = "pyparsing" + +SRC_URI = "http://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.zip" + +SRC_URI[md5sum] = "dc7036a6f1ab01c3baed3d97af8d77c0" +SRC_URI[sha256sum] = "7e1766ee747cca79fe172b670fd53ef58fc55d2b1804fd6c66d857abb62d143a" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit distutils diff --git a/meta-python/recipes-devtools/python/python-pytz_2014.7.bb b/meta-python/recipes-devtools/python/python-pytz_2014.7.bb new file mode 100644 index 0000000000..92d07961c5 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pytz_2014.7.bb @@ -0,0 +1,19 @@ +SUMMARY = "World timezone definitions, modern and historical" +HOMEPAGE = " http://pythonhosted.org/pytz" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=22b38951eb857cf285a4560a914b7cd6" +SRCNAME = "pytz" + +SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} = "\ + python-core \ + python-datetime \ +" + +SRC_URI[md5sum] = "8940ddae309e44b593c75a9e05dd2a0b" +SRC_URI[sha256sum] = "bfc2bd00147e5ecf75399f4a94cb84cc00ce9b511a15f9958bb6c85a455f76eb" diff --git a/meta-python/recipes-devtools/python/python-pyzmq/club-rpath-out.patch b/meta-python/recipes-devtools/python/python-pyzmq/club-rpath-out.patch new file mode 100644 index 0000000000..2dc3b73f9e --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pyzmq/club-rpath-out.patch @@ -0,0 +1,26 @@ +diff --git a/setup.py b/setup.py +index 62df445..1fdbdeb 100755 +--- a/setup.py ++++ b/setup.py +@@ -213,12 +213,6 @@ def settings_from_prefix(prefix=None, bundle_libzmq_dylib=False): + pass + # unused rpath args for OS X: + # settings['extra_link_args'] = ['-Wl,-rpath','-Wl,$ORIGIN/..'] +- else: +- settings['runtime_library_dirs'] += ['$ORIGIN/..'] +- elif sys.platform != 'darwin': +- settings['runtime_library_dirs'] += [ +- os.path.abspath(x) for x in settings['library_dirs'] +- ] + + return settings + +@@ -592,8 +586,6 @@ class Configure(build_ext): + pass + # unused rpath args for OS X: + # settings['extra_link_args'] = ['-Wl,-rpath','-Wl,$ORIGIN/../zmq'] +- else: +- settings['runtime_library_dirs'] = [ os.path.abspath(pjoin('.', 'zmq')) ] + + line() + info("Configure: Autodetecting ZMQ settings...") diff --git a/meta-python/recipes-devtools/python/python-pyzmq_14.5.0.bb b/meta-python/recipes-devtools/python/python-pyzmq_14.5.0.bb new file mode 100644 index 0000000000..626e29d960 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pyzmq_14.5.0.bb @@ -0,0 +1,27 @@ +SUMMARY = "Pyzmq provides Zero message queue access for the Python language" +HOMEPAGE = "http://zeromq.org/bindings:python" +SECTION = "devel/python" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING.BSD;md5=11c65680f637c3df7f58bbc8d133e96e" +DEPENDS = "zeromq" + +SRC_URI = "https://pypi.python.org/packages/source/p/pyzmq/pyzmq-${PV}.tar.gz \ + file://club-rpath-out.patch \ +" +SRC_URI[md5sum] = "8d3351a8ca2ca2a272a3f96bcb963e41" +SRC_URI[sha256sum] = "5d6e045634456cf5496f50871fd3e3a5ede2b90433284dbfe985bb67c97f77bd" + +S = "${WORKDIR}/pyzmq-${PV}" + +inherit setuptools pkgconfig + +FILES_${PN}-dbg =+ "${PYTHON_SITEPACKAGES_DIR}/zmq/backend/cython/.debug" + +do_compile_prepend() { + echo [global] > ${S}/setup.cfg + echo zmq_prefix = ${STAGING_DIR_HOST} >> ${S}/setup.cfg + echo have_sys_un_h = True >> ${S}/setup.cfg + echo skip_check_zmq = True >> ${S}/setup.cfg + echo libzmq_extension = False >> ${S}/setup.cfg + echo no_libzmq_extension = True >> ${S}/setup.cfg +} diff --git a/meta-python/recipes-devtools/python/python-requests_2.5.1.bb b/meta-python/recipes-devtools/python/python-requests_2.5.1.bb new file mode 100644 index 0000000000..b719dca8d3 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-requests_2.5.1.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Python HTTP for Humans." +HOMEPAGE = "http://python-requests.org" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c7869e52c8275537186de35e3cd5f9ec" + +PR = "r0" +SRCNAME = "requests" + +SRC_URI = "http://pypi.python.org/packages/source/r/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "c270eb5551a02e8ab7a4cbb83e22af2e" +SRC_URI[sha256sum] = "7b7735efd3b1e2323dc9fcef060b380d05f5f18bd0f247f5e9e74a628279de66" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools diff --git a/meta-python/recipes-devtools/python/python-tornado_4.0.2.bb b/meta-python/recipes-devtools/python/python-tornado_4.0.2.bb new file mode 100644 index 0000000000..f1b8141a24 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-tornado_4.0.2.bb @@ -0,0 +1,34 @@ +SUMMARY = "Tornado is an open source version of the scalable, non-blocking web server and tools that power FriendFeed." +DESCRIPTION = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. \ +By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long \ +polling, WebSockets, and other applications that require a long-lived connection to each user." +HOMEPAGE = "http://www.tornadoweb.org/en/stable/" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://PKG-INFO;md5=5208df23820f490f691712a654be256d" + +SRCNAME = "tornado" + +SRC_URI = " \ + https://pypi.python.org/packages/source/t/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \ +" +SRC_URI[md5sum] = "985c0e704b765c33a6193d49d1935588" +SRC_URI[sha256sum] = "900c5124ebdb6598ca8e8a0c5888f41a5f14117952d5515258e3d20222b21bfa" + +inherit setuptools + +RDEPENDS_${PN} += "python-compression python-numbers python-email python-subprocess \ + python-pkgutil python-html python-json python-backports-ssl python-certifi" + +RDEPENDS_${PN}-test += "${PN} python-unittest" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +PACKAGES =+ "\ + ${PN}-test \ +" + +FILES_${PN}-test = " \ + ${libdir}/${PYTHON_DIR}/site-packages/${SRCNAME}/test \ + ${libdir}/${PYTHON_DIR}/site-packages/${SRCNAME}/testing.py* \ +" diff --git a/meta-python/recipes-devtools/python/python-twisted_13.2.0.bb b/meta-python/recipes-devtools/python/python-twisted_13.2.0.bb index 80d64a0193..2b433f718e 100644 --- a/meta-python/recipes-devtools/python/python-twisted_13.2.0.bb +++ b/meta-python/recipes-devtools/python/python-twisted_13.2.0.bb @@ -38,8 +38,13 @@ PACKAGES += "\ ${PN}-core \ " -RDEPENDS_${PN} = "python-core python-zopeinterface" -RDEPENDS_${PN} += "\ +PACKAGES =+ "\ + ${PN}-src \ + ${PN}-bin \ +" + +RDEPENDS_${PN} = "\ + ${PN}-bin \ ${PN}-conch \ ${PN}-lore \ ${PN}-mail \ @@ -50,6 +55,20 @@ RDEPENDS_${PN} += "\ ${PN}-words \ " +RDEPENDS_${PN}-core = "python-core python-zopeinterface python-contextlib" +RDEPENDS_${PN}-test = "${PN}" +RDEPENDS_${PN}-conch = "${PN}-core ${PN}-protocols" +RDEPENDS_${PN}-lore = "${PN}-core" +RDEPENDS_${PN}-mail = "${PN}-core ${PN}-protocols" +RDEPENDS_${PN}-names = "${PN}-core" +RDEPENDS_${PN}-news = "${PN}-core ${PN}-protocols" +RDEPENDS_${PN}-runner = "${PN}-core ${PN}-protocols" +RDEPENDS_${PN}-web += "${PN}-core ${PN}-protocols" +RDEPENDS_${PN}-words += "${PN}-core" +RDEPENDS_${PN}-flow += "${PN}-core" +RDEPENDS_${PN}-pair += "${PN}-core" +RDEPENDS_${PN}-dbg = "${PN}" + ALLOW_EMPTY_${PN} = "1" FILES_${PN} = "" @@ -220,3 +239,9 @@ ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/.debug \ ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*/.debug \ " +RDEPENDS_{PN}-src = "${PN}" +FILES_${PN}-src = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*.py \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*/*.py \ + " diff --git a/meta-python/recipes-devtools/python/python-ujson_1.33.bb b/meta-python/recipes-devtools/python/python-ujson_1.33.bb new file mode 100644 index 0000000000..8fdd2b8351 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-ujson_1.33.bb @@ -0,0 +1,21 @@ +SUMMARY = "Ultra fast JSON encoder and decoder for Python" +DESCRIPTION = "UltraJSON is an ultra fast JSON encoder and decoder written in pure C with bindings for Python 2.5+ and 3." +HOMEPAGE = "https://pypi.python.org/pypi/ujson" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://PKG-INFO;md5=5b206f6ba5e41c60df8cdcddf79a3d82" + +SRCNAME = "ujson" + +SRC_URI = " \ + http://pypi.python.org/packages/source/u/ujson/${SRCNAME}-${PV}.zip \ +" + +SRC_URI[md5sum] = "8148a2493fff78940feab1e11dc0a893" +SRC_URI[sha256sum] = "68cf825f227c82e1ac61e423cfcad923ff734c27b5bdd7174495d162c42c602b" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} += "python-numbers" diff --git a/meta-ruby/conf/layer.conf b/meta-ruby/conf/layer.conf index 6c2369f2c4..b526a5d394 100644 --- a/meta-ruby/conf/layer.conf +++ b/meta-ruby/conf/layer.conf @@ -7,3 +7,9 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend" BBFILE_COLLECTIONS += "ruby-layer" BBFILE_PATTERN_ruby-layer := "^${LAYERDIR}/" BBFILE_PRIORITY_ruby-layer = "7" + +# This should only be incremented on significant changes that will +# cause compatibility issues with other layers +LAYERVERSION_ruby-layer = "1" + +LAYERDEPENDS_ruby-layer = "core openembedded-layer" diff --git a/meta-ruby/recipes-devtools/ruby/ruby.inc b/meta-ruby/recipes-devtools/ruby/ruby.inc index 409a320fdd..770286960d 100644 --- a/meta-ruby/recipes-devtools/ruby/ruby.inc +++ b/meta-ruby/recipes-devtools/ruby/ruby.inc @@ -20,7 +20,7 @@ DEPENDS_class-native = "libyaml-native" INC_PR = "r1" SHRT_VER = "${@bb.data.getVar('PV',d,1).split('.')[0]}.${@bb.data.getVar('PV',d,1).split('.')[1]}" -SRC_URI = "http://ftp.ruby-lang.org/pub/ruby/${SHRT_VER}/ruby-${PV}.tar.gz \ +SRC_URI = "http://cache.ruby-lang.org/pub/ruby/${SHRT_VER}/ruby-${PV}.tar.gz \ file://extmk.patch \ " diff --git a/meta-ruby/recipes-devtools/ruby/ruby_1.9.3-p547.bb b/meta-ruby/recipes-devtools/ruby/ruby_1.9.3-p547.bb index 2d5938f874..834cb7187f 100644 --- a/meta-ruby/recipes-devtools/ruby/ruby_1.9.3-p547.bb +++ b/meta-ruby/recipes-devtools/ruby/ruby_1.9.3-p547.bb @@ -21,6 +21,9 @@ SRC_URI[sha256sum] = "9ba118e4aba04c430bc4d5efb09b31a0277e101c9fd2ef3b80b9c684d7 # 0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch UNKNOWN_CONFIGURE_WHITELIST += "--enable-wide-getaddrinfo" +PACKAGECONFIG ??= "" +PACKAGECONFIG[valgrind] = "--with-valgrind=yes, --with-valgrind=no, valgrind" + EXTRA_OECONF = "\ --enable-wide-getaddrinfo \ --disable-versioned-paths \ diff --git a/meta-systemd/oe-core/recipes-extended/at/at/atd.service b/meta-systemd/oe-core/recipes-extended/at/at/atd.service deleted file mode 100644 index 64a9015500..0000000000 --- a/meta-systemd/oe-core/recipes-extended/at/at/atd.service +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=Job spooling tools -After=syslog.target - -[Service] -ExecStart=/usr/sbin/atd -f - -[Install] -WantedBy=multi-user.target diff --git a/meta-systemd/oe-core/recipes-extended/at/at_%.bbappend b/meta-systemd/oe-core/recipes-extended/at/at_%.bbappend index 3a22fe3bda..181b8784dd 100644 --- a/meta-systemd/oe-core/recipes-extended/at/at_%.bbappend +++ b/meta-systemd/oe-core/recipes-extended/at/at_%.bbappend @@ -1,16 +1,4 @@ -inherit systemd - -# look for files in the layer first -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -SRC_URI += "file://atd.service" - RPROVIDES_${PN} += "${PN}-systemd" RREPLACES_${PN} += "${PN}-systemd" RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "atd.service" -do_install_append() { - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/atd.service ${D}${systemd_unitdir}/system -} diff --git a/meta-systemd/oe-core/recipes-extended/cronie/cronie_1.4.11.bbappend b/meta-systemd/oe-core/recipes-extended/cronie/cronie_%.bbappend index 181b8784dd..f006b3fb5b 100644 --- a/meta-systemd/oe-core/recipes-extended/cronie/cronie_1.4.11.bbappend +++ b/meta-systemd/oe-core/recipes-extended/cronie/cronie_%.bbappend @@ -1,4 +1,3 @@ RPROVIDES_${PN} += "${PN}-systemd" RREPLACES_${PN} += "${PN}-systemd" RCONFLICTS_${PN} += "${PN}-systemd" - diff --git a/meta-webserver/README b/meta-webserver/README index f3fe735558..379b54a02b 100644 --- a/meta-webserver/README +++ b/meta-webserver/README @@ -29,10 +29,24 @@ Layout ------ recipes-httpd/ Web servers -recipes-php/ PHP and PHP applications +recipes-php/ PHP applications +recipes-support/ Miscellaneous support recipes recipes-webadmin/ Standalone web administration interfaces +Notes +----- + +* This layer used to provide a modphp recipe that built mod_php, but + this is now built as part of the php recipe in meta-oe. However, since + apache2 is required to build mod_php, and apache2 recipe is in this + layer and recipes in meta-oe can't depend on it, mod_php is not built + by default. If you do wish to use mod_php, you need to add "apache2" + to the PACKAGECONFIG value for the php recipe in order to enable it. + See here for info on how to do that: + + http://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-PACKAGECONFIG + Maintenance ----------- diff --git a/meta-webserver/recipes-httpd/apache2/apache2/apache-CVE-2014-0117.patch b/meta-webserver/recipes-httpd/apache2/apache2/apache-CVE-2014-0117.patch new file mode 100644 index 0000000000..8585f0bb30 --- /dev/null +++ b/meta-webserver/recipes-httpd/apache2/apache2/apache-CVE-2014-0117.patch @@ -0,0 +1,289 @@ +apache: CVE-2014-0117 + +The patch comes from upstream: +http://svn.apache.org/viewvc?view=revision&revision=1610674 + +SECURITY (CVE-2014-0117): Fix a crash in mod_proxy. In a +reverse proxy configuration, a remote attacker could send a carefully crafted +request which could crash a server process, resulting in denial of service. + +Thanks to Marek Kroemeke working with HP's Zero Day Initiative for +reporting this issue. + +Upstream-Status: Backport + +Submitted by: Edward Lu, breser, covener +Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com> +--- + modules/proxy/mod_proxy_http.c | 8 +++- + include/httpd.h | 17 ++++++++ + modules/proxy/proxy_util.c | 67 ++++++++++++++---------------- + server/util.c | 89 ++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 143 insertions(+), 38 deletions(-) + +diff --git a/modules/proxy/mod_proxy_http.c b/modules/proxy/mod_proxy_http.c +index cffad2e..f11c16f 100644 +--- a/modules/proxy/mod_proxy_http.c ++++ b/modules/proxy/mod_proxy_http.c +@@ -1362,6 +1362,7 @@ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r, + */ + if (apr_date_checkmask(buffer, "HTTP/#.# ###*")) { + int major, minor; ++ int toclose; + + major = buffer[5] - '0'; + minor = buffer[7] - '0'; +@@ -1470,7 +1471,12 @@ apr_status_t ap_proxy_http_process_response(apr_pool_t * p, request_rec *r, + te = apr_table_get(r->headers_out, "Transfer-Encoding"); + + /* strip connection listed hop-by-hop headers from response */ +- backend->close = ap_proxy_clear_connection_fn(r, r->headers_out); ++ toclose = ap_proxy_clear_connection_fn(r, r->headers_out); ++ backend->close = (toclose != 0); ++ if (toclose < 0) { ++ return ap_proxyerror(r, HTTP_BAD_REQUEST, ++ "Malformed connection header"); ++ } + + if ((buf = apr_table_get(r->headers_out, "Content-Type"))) { + ap_set_content_type(r, apr_pstrdup(p, buf)); +diff --git a/include/httpd.h b/include/httpd.h +index 36cd58d..9a2cf5c 100644 +--- a/include/httpd.h ++++ b/include/httpd.h +@@ -1528,6 +1528,23 @@ AP_DECLARE(int) ap_find_etag_weak(apr_pool_t *p, const char *line, const char *t + AP_DECLARE(int) ap_find_etag_strong(apr_pool_t *p, const char *line, const char *tok); + + /** ++ * Retrieve an array of tokens in the format "1#token" defined in RFC2616. Only ++ * accepts ',' as a delimiter, does not accept quoted strings, and errors on ++ * any separator. ++ * @param p The pool to allocate from ++ * @param tok The line to read tokens from ++ * @param tokens Pointer to an array of tokens. If not NULL, must be an array ++ * of char*, otherwise it will be allocated on @a p when a token is found ++ * @param skip_invalid If true, when an invalid separator is encountered, it ++ * will be ignored. ++ * @return NULL on success, an error string otherwise. ++ * @remark *tokens may be NULL on output if NULL in input and no token is found ++ */ ++AP_DECLARE(const char *) ap_parse_token_list_strict(apr_pool_t *p, const char *tok, ++ apr_array_header_t **tokens, ++ int skip_invalid); ++ ++/** + * Retrieve a token, spacing over it and adjusting the pointer to + * the first non-white byte afterwards. Note that these tokens + * are delimited by semis and commas and can also be delimited +diff --git a/modules/proxy/proxy_util.c b/modules/proxy/proxy_util.c +index 67dc939..58daa21 100644 +--- a/modules/proxy/proxy_util.c ++++ b/modules/proxy/proxy_util.c +@@ -2847,68 +2847,59 @@ PROXY_DECLARE(proxy_balancer_shared *) ap_proxy_find_balancershm(ap_slotmem_prov + typedef struct header_connection { + apr_pool_t *pool; + apr_array_header_t *array; +- const char *first; +- unsigned int closed:1; ++ const char *error; ++ int is_req; + } header_connection; + + static int find_conn_headers(void *data, const char *key, const char *val) + { + header_connection *x = data; +- const char *name; +- +- do { +- while (*val == ',' || *val == ';') { +- val++; +- } +- name = ap_get_token(x->pool, &val, 0); +- if (!strcasecmp(name, "close")) { +- x->closed = 1; +- } +- if (!x->first) { +- x->first = name; +- } +- else { +- const char **elt; +- if (!x->array) { +- x->array = apr_array_make(x->pool, 4, sizeof(char *)); +- } +- elt = apr_array_push(x->array); +- *elt = name; +- } +- } while (*val); + +- return 1; ++ x->error = ap_parse_token_list_strict(x->pool, val, &x->array, !x->is_req); ++ return !x->error; + } + + /** + * Remove all headers referred to by the Connection header. ++ * Returns -1 on error. Otherwise, returns 1 if 'Close' was seen in ++ * the Connection header tokens, and 0 if not. + */ + static int ap_proxy_clear_connection(request_rec *r, apr_table_t *headers) + { +- const char **name; ++ int closed = 0; + header_connection x; + + x.pool = r->pool; + x.array = NULL; +- x.first = NULL; +- x.closed = 0; ++ x.error = NULL; ++ x.is_req = (headers == r->headers_in); + + apr_table_unset(headers, "Proxy-Connection"); + + apr_table_do(find_conn_headers, &x, headers, "Connection", NULL); +- if (x.first) { +- /* fast path - no memory allocated for one header */ +- apr_table_unset(headers, "Connection"); +- apr_table_unset(headers, x.first); ++ apr_table_unset(headers, "Connection"); ++ ++ if (x.error) { ++ ap_log_rerror(APLOG_MARK, APLOG_NOTICE, 0, r, APLOGNO() ++ "Error parsing Connection header: %s", x.error); ++ return -1; + } ++ + if (x.array) { +- /* two or more headers */ +- while ((name = apr_array_pop(x.array))) { +- apr_table_unset(headers, *name); ++ int i; ++ for (i = 0; i < x.array->nelts; i++) { ++ const char *name = APR_ARRAY_IDX(x.array, i, const char *); ++ ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO() ++ "Removing header '%s' listed in Connection header", ++ name); ++ if (!strcasecmp(name, "close")) { ++ closed = 1; ++ } ++ apr_table_unset(headers, name); + } + } + +- return x.closed; ++ return closed; + } + + PROXY_DECLARE(int) ap_proxy_create_hdrbrgd(apr_pool_t *p, +@@ -3095,7 +3086,9 @@ PROXY_DECLARE(int) ap_proxy_create_hdrbrgd(apr_pool_t *p, + * apr is compiled with APR_POOL_DEBUG. + */ + headers_in_copy = apr_table_copy(r->pool, r->headers_in); +- ap_proxy_clear_connection(r, headers_in_copy); ++ if (ap_proxy_clear_connection(r, headers_in_copy) < 0) { ++ return HTTP_BAD_REQUEST; ++ } + /* send request headers */ + headers_in_array = apr_table_elts(headers_in_copy); + headers_in = (const apr_table_entry_t *) headers_in_array->elts; +diff --git a/server/util.c b/server/util.c +index e0ba5c2..541c9f0 100644 +--- a/server/util.c ++++ b/server/util.c +@@ -1449,6 +1449,95 @@ AP_DECLARE(int) ap_find_etag_weak(apr_pool_t *p, const char *line, + return find_list_item(p, line, tok, AP_ETAG_WEAK); + } + ++/* Grab a list of tokens of the format 1#token (from RFC7230) */ ++AP_DECLARE(const char *) ap_parse_token_list_strict(apr_pool_t *p, ++ const char *str_in, ++ apr_array_header_t **tokens, ++ int skip_invalid) ++{ ++ int in_leading_space = 1; ++ int in_trailing_space = 0; ++ int string_end = 0; ++ const char *tok_begin; ++ const char *cur; ++ ++ if (!str_in) { ++ return NULL; ++ } ++ ++ tok_begin = cur = str_in; ++ ++ while (!string_end) { ++ const unsigned char c = (unsigned char)*cur; ++ ++ if (!TEST_CHAR(c, T_HTTP_TOKEN_STOP) && c != '\0') { ++ /* Non-separator character; we are finished with leading ++ * whitespace. We must never have encountered any trailing ++ * whitespace before the delimiter (comma) */ ++ in_leading_space = 0; ++ if (in_trailing_space) { ++ return "Encountered illegal whitespace in token"; ++ } ++ } ++ else if (c == ' ' || c == '\t') { ++ /* "Linear whitespace" only includes ASCII CRLF, space, and tab; ++ * we can't get a CRLF since headers are split on them already, ++ * so only look for a space or a tab */ ++ if (in_leading_space) { ++ /* We're still in leading whitespace */ ++ ++tok_begin; ++ } ++ else { ++ /* We must be in trailing whitespace */ ++ ++in_trailing_space; ++ } ++ } ++ else if (c == ',' || c == '\0') { ++ if (!in_leading_space) { ++ /* If we're out of the leading space, we know we've read some ++ * characters of a token */ ++ if (*tokens == NULL) { ++ *tokens = apr_array_make(p, 4, sizeof(char *)); ++ } ++ APR_ARRAY_PUSH(*tokens, char *) = ++ apr_pstrmemdup((*tokens)->pool, tok_begin, ++ (cur - tok_begin) - in_trailing_space); ++ } ++ /* We're allowed to have null elements, just don't add them to the ++ * array */ ++ ++ tok_begin = cur + 1; ++ in_leading_space = 1; ++ in_trailing_space = 0; ++ string_end = (c == '\0'); ++ } ++ else { ++ /* Encountered illegal separator char */ ++ if (skip_invalid) { ++ /* Skip to the next separator */ ++ const char *temp; ++ temp = ap_strchr_c(cur, ','); ++ if(!temp) { ++ temp = ap_strchr_c(cur, '\0'); ++ } ++ ++ /* Act like we haven't seen a token so we reset */ ++ cur = temp - 1; ++ in_leading_space = 1; ++ in_trailing_space = 0; ++ } ++ else { ++ return apr_psprintf(p, "Encountered illegal separator " ++ "'\\x%.2x'", (unsigned int)c); ++ } ++ } ++ ++ ++cur; ++ } ++ ++ return NULL; ++} ++ + /* Retrieve a token, spacing over it and returning a pointer to + * the first non-white byte afterwards. Note that these tokens + * are delimited by semis and commas; and can also be delimited +-- diff --git a/meta-webserver/recipes-httpd/apache2/apache2_2.4.10.bb b/meta-webserver/recipes-httpd/apache2/apache2_2.4.10.bb index 573cd6fb00..55d507f757 100644 --- a/meta-webserver/recipes-httpd/apache2/apache2_2.4.10.bb +++ b/meta-webserver/recipes-httpd/apache2/apache2_2.4.10.bb @@ -17,9 +17,12 @@ SRC_URI = "http://www.apache.org/dist/httpd/httpd-${PV}.tar.bz2 \ file://httpd-2.4.3-fix-race-issue-of-dir-install.patch \ file://npn-patch-2.4.7.patch \ file://0001-configure-use-pkg-config-for-PCRE-detection.patch \ + file://configure-allow-to-disable-selinux-support.patch \ file://init \ file://apache2-volatile.conf \ - file://apache2.service" + file://apache2.service \ + file://apache-CVE-2014-0117.patch \ + " LIC_FILES_CHKSUM = "file://LICENSE;md5=dbff5a2b542fa58854455bf1a0b94b83" SRC_URI[md5sum] = "44543dff14a4ebc1e9e2d86780507156" @@ -56,6 +59,9 @@ EXTRA_OECONF = "--enable-ssl \ --enable-mpms-shared \ ac_cv_have_threadsafe_pollset=no" +PACKAGECONFIG ?= "${@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}" +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux" + do_install_append() { install -d ${D}/${sysconfdir}/init.d cat ${WORKDIR}/init | \ diff --git a/meta-webserver/recipes-httpd/apache2/files/apache2.service b/meta-webserver/recipes-httpd/apache2/files/apache2.service index f4bcf9efaf..9b5548c761 100644 --- a/meta-webserver/recipes-httpd/apache2/files/apache2.service +++ b/meta-webserver/recipes-httpd/apache2/files/apache2.service @@ -1,5 +1,5 @@ [Unit] -Decription=The Apache HTTP Server +Description=The Apache HTTP Server After=network.target remote-fs.target nss-lookup.target [Service] diff --git a/meta-webserver/recipes-httpd/apache2/files/configure-allow-to-disable-selinux-support.patch b/meta-webserver/recipes-httpd/apache2/files/configure-allow-to-disable-selinux-support.patch new file mode 100644 index 0000000000..5b5c297077 --- /dev/null +++ b/meta-webserver/recipes-httpd/apache2/files/configure-allow-to-disable-selinux-support.patch @@ -0,0 +1,40 @@ +From d23dd33e373340f6fddf11904839d1a118824401 Mon Sep 17 00:00:00 2001 +From: Wenzong Fan <wenzong.fan@windriver.com> +Date: Mon, 1 Dec 2014 02:08:27 -0500 +Subject: [PATCH] apache2: allow to disable selinux support + +Upstream-Status: Pending + +Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> +--- + configure.in | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +diff --git a/configure.in b/configure.in +index df94ee5..8c3ab21 100644 +--- a/configure.in ++++ b/configure.in +@@ -466,10 +466,16 @@ getloadavg + dnl confirm that a void pointer is large enough to store a long integer + APACHE_CHECK_VOID_PTR_LEN + +-AC_CHECK_LIB(selinux, is_selinux_enabled, [ +- AC_DEFINE(HAVE_SELINUX, 1, [Defined if SELinux is supported]) +- APR_ADDTO(AP_LIBS, [-lselinux]) +-]) ++# SELinux support ++AC_ARG_ENABLE(selinux,APACHE_HELP_STRING(--enable-selinux,Enable SELinux support [default=auto]), ++ [],[enable_selinux=auto]) ++ ++if test x$enable_selinux != xno; then ++ AC_CHECK_LIB(selinux, is_selinux_enabled, [ ++ AC_DEFINE(HAVE_SELINUX, 1, [Defined if SELinux is supported]) ++ APR_ADDTO(AP_LIBS, [-lselinux]) ++ ]) ++fi + + AC_CACHE_CHECK([for gettid()], ac_cv_gettid, + [AC_TRY_RUN(#define _GNU_SOURCE +-- +1.7.9.5 + diff --git a/meta-webserver/recipes-httpd/cherokee/cherokee_1.2.98.bb b/meta-webserver/recipes-httpd/cherokee/cherokee_1.2.98.bb index 054858ed33..451e97cb74 100644 --- a/meta-webserver/recipes-httpd/cherokee/cherokee_1.2.98.bb +++ b/meta-webserver/recipes-httpd/cherokee/cherokee_1.2.98.bb @@ -22,6 +22,7 @@ inherit autotools pkgconfig binconfig update-rc.d systemd PACKAGECONFIG ??= "" PACKAGECONFIG[ffmpeg] = "--with-ffmpeg,--without-ffmpeg,libav" PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap" +PACKAGECONFIG[geoip] = "--with-geoip,--without-geoip,geoip" EXTRA_OECONF = "--disable-static \ --disable-nls \ diff --git a/meta-webserver/recipes-httpd/monkey/monkey_1.5.3.bb b/meta-webserver/recipes-httpd/monkey/monkey_1.5.4.bb index 06095ba88f..a4963afcd3 100644 --- a/meta-webserver/recipes-httpd/monkey/monkey_1.5.3.bb +++ b/meta-webserver/recipes-httpd/monkey/monkey_1.5.4.bb @@ -11,8 +11,8 @@ SRC_URI = "http://monkey-project.com/releases/1.5/monkey-${PV}.tar.gz \ file://monkey.service \ file://monkey.init" -SRC_URI[md5sum] = "1fa9ddbb4c0100b22f2fc4b8da56dbe9" -SRC_URI[sha256sum] = "0ac300e04f052818bc26b7da0183c3c5cd13be8090aaabd3505838587be8c0ec" +SRC_URI[md5sum] = "b794724ac38cfedee2a5d27c175bc87e" +SRC_URI[sha256sum] = "662bbafc614d32f645059e6e00258fed640665594f5b7f11cf4c4763cf09ddcf" EXTRA_OECONF = "--plugdir=${libdir}/monkey/ \ --logdir=${localstatedir}/log/monkey/ \ diff --git a/meta-webserver/recipes-php/modphp/modphp5.inc b/meta-webserver/recipes-php/modphp/modphp5.inc deleted file mode 100644 index 69324295a5..0000000000 --- a/meta-webserver/recipes-php/modphp/modphp5.inc +++ /dev/null @@ -1,104 +0,0 @@ -SECTION = "console/network" -DESCRIPTION = "A server-side, HTML-embedded scripting language. This package provides the apache php module." -LICENSE = "PHP-3.0" -INC_PR = "r1" -DEPENDS = "apache2-native apache2 zlib bzip2 libmcrypt" - -SRC_URI = "http://www.php.net/distributions/php-${PV}.tar.bz2 \ - file://configure.patch \ - file://pthread-check-threads-m4.patch \ - file://70_mod_php5.conf \ -" - -S = "${WORKDIR}/php-${PV}" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=52dd90569008fee5bcdbb22d945b1108" - -inherit autotools - -CFLAGS += " -g -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -I${STAGING_INCDIR}/apache2" - -EXTRA_OECONF = "--with-apxs2=${STAGING_BINDIR_CROSS}/apxs \ - --with-pic \ - --enable-maintainer-zts \ - --without-mysql \ - --disable-cgi \ - --disable-cli \ - --disable-pdo \ - --without-pear \ - --without-iconv \ - --disable-ipv6 \ - --disable-xml \ - --disable-xmlreader \ - --disable-xmlwriter \ - --disable-simplexml \ - --disable-libxml \ - --disable-dom \ - --disable-rpath \ - --libdir=${libdir}/php5 \ - --with-zlib --with-zlib-dir=${STAGING_DIR_TARGET}${exec_prefix} \ - --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \ - --with-mcrypt=${STAGING_DIR_TARGET}${exec_prefix} \ - --enable-zip \ - --enable-mbstring \ - --with-config-file-path=${sysconfdir}/php/apache2-php5 \ - ${@base_conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)}" - -PACKAGECONFIG ??= "mysql" -PACKAGECONFIG[mysql] = "--with-mysqli=${STAGING_BINDIR_CROSS}/mysql_config,--without-mysqli,mysql5" -PACKAGECONFIG[pgsql] = "--with-pgsql=${STAGING_DIR_TARGET}${exec_prefix},--without-pgsql,mysql5" - -acpaths = "" - -do_configure_prepend () { - rm -f ${S}/build/libtool.m4 ${S}/ltmain.sh ${S}/aclocal.m4 - find ${S} -name config.m4 | xargs -n1 sed -i 's!APXS_HTTPD=.*!APXS_HTTPD=${STAGING_BINDIR_NATIVE}/httpd!' -} - -do_configure_append() { - # No libtool, we really don't want rpath set... - sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${HOST_SYS}-libtool - sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${HOST_SYS}-libtool -} - -do_install () { - install -d ${D}${libdir}/apache2/modules - install -d ${D}${sysconfdir}/apache2/modules.d - install -d ${D}${sysconfdir}/php/apache2-php5 - install -m 755 libs/libphp5.so ${D}${libdir}/apache2/modules - install -m 644 ${WORKDIR}/70_mod_php5.conf ${D}${sysconfdir}/apache2/modules.d - sed -i s,lib/,${libdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php5.conf - cat ${S}/php.ini-production | \ - sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \ - > ${D}${sysconfdir}/php/apache2-php5/php.ini - - install -d ${D}${bindir} - install -m 755 scripts/phpize ${D}${bindir} - install -m 755 scripts/php-config ${D}${bindir} - cat aclocal-copy/libtool.m4 aclocal-copy/lt~obsolete.m4 aclocal-copy/ltoptions.m4 \ - aclocal-copy/ltsugar.m4 aclocal-copy/ltversion.m4 > ${S}/build/libtool.m4 - - oe_runmake install-build install-headers INSTALL_ROOT=${D} -} - -SYSROOT_PREPROCESS_FUNCS += "php_sysroot_preprocess" - -php_sysroot_preprocess () { - install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ - install -m 755 ${D}${bindir}/phpize ${SYSROOT_DESTDIR}${bindir_crossscripts}/ - install -m 755 ${D}${bindir}/php-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/ - - sed -i 's!eval echo /!eval echo ${STAGING_DIR_HOST}/!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/phpize - sed -i 's!^include_dir=.*!include_dir=${STAGING_INCDIR}/php!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/php-config -} - -# phpize is not scanned for absolute paths by default (but php-config is). -# -SSTATE_SCAN_FILES += "phpize" - -RDEPENDS_${PN} = "apache2" - -FILES_${PN} = "${libdir}/apache2 ${sysconfdir}" -FILES_${PN}-dev += "${bindir}/phpize ${bindir}/php-config ${libdir}/php5" -FILES_${PN}-dbg += "${libdir}/apache2/modules/.debug" - diff --git a/meta-webserver/recipes-php/modphp/modphp_5.5.15.bb b/meta-webserver/recipes-php/modphp/modphp_5.5.15.bb deleted file mode 100644 index aed620f5b7..0000000000 --- a/meta-webserver/recipes-php/modphp/modphp_5.5.15.bb +++ /dev/null @@ -1,7 +0,0 @@ -include modphp5.inc - -EXTRA_OECONF += "--disable-opcache" - -SRC_URI[md5sum] = "5cb5f2ed9099299f8a4c952d59d93812" -SRC_URI[sha256sum] = "00f24226b12fee27e332383b6304f1b9ed3f4d9173dd728a68c5c3f5a59b8ba7" - diff --git a/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.2.7.bb b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.3.4.bb index 0de3f6d43c..76068e2cf6 100644 --- a/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.2.7.bb +++ b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.3.4.bb @@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a \ SRC_URI = "${SOURCEFORGE_MIRROR}/phpmyadmin/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-languages.tar.xz \ file://apache.conf" -SRC_URI[md5sum] = "0dcd755450dac819f33502590c88ad29" -SRC_URI[sha256sum] = "5d101dd88a99a869bc0c684a7f687cf290abc4bf306daac73337cbde2d7743e4" +SRC_URI[md5sum] = "f811243e241ee81defb97e014ca713ef" +SRC_URI[sha256sum] = "91258e07e04e25c5e49284b194ebff8ffa807ad38832fbe802cc6af3f7cb96d3" S = "${WORKDIR}/phpMyAdmin-${PV}-all-languages" @@ -18,6 +18,8 @@ inherit allarch do_install() { install -d ${D}${datadir}/${BPN} cp -a * ${D}${datadir}/${BPN} + # Don't install patches to target + rm -rf ${D}${datadir}/${BPN}/patches install -d ${D}${sysconfdir}/apache2/conf.d install -m 0644 ${WORKDIR}/apache.conf ${D}${sysconfdir}/apache2/conf.d/phpmyadmin.conf diff --git a/meta-webserver/recipes-php/xdebug/xdebug_2.2.5.bb b/meta-webserver/recipes-php/xdebug/xdebug_2.2.6.bb index ffff13565e..1ecac88f03 100644 --- a/meta-webserver/recipes-php/xdebug/xdebug_2.2.5.bb +++ b/meta-webserver/recipes-php/xdebug/xdebug_2.2.6.bb @@ -2,13 +2,12 @@ SUMMARY = "Debugging and profiling extension for PHP" LICENSE = "Xdebug" LIC_FILES_CHKSUM = "file://LICENSE;md5=34df3a274aa12b795417c65634c07f16" -DEPENDS = "modphp" - +DEPENDS = "php" SRC_URI = "http://xdebug.org/files/xdebug-${PV}.tgz" -SRC_URI[md5sum] = "7e571ce8eb6fa969fd8263969019849d" -SRC_URI[sha256sum] = "adc6fe92dcff2368be94d20a5997aadb4d46d74551e2dd6602a704a35a195a6f" +SRC_URI[md5sum] = "f216356861e27284580d0208060ea7fa" +SRC_URI[sha256sum] = "6dd1cba0605e75009331aa3625a19ef49ade5a75aa9fe2ff8a818108d2cce84e" inherit autotools diff --git a/meta-webserver/recipes-webadmin/webmin/webmin_1.700.bb b/meta-webserver/recipes-webadmin/webmin/webmin_1.700.bb index 2a363cbcf2..c6523c53d8 100644 --- a/meta-webserver/recipes-webadmin/webmin/webmin_1.700.bb +++ b/meta-webserver/recipes-webadmin/webmin/webmin_1.700.bb @@ -82,6 +82,7 @@ do_install() { install -d ${D}${libexecdir}/webmin cp -pPR ${S}/* ${D}${libexecdir}/webmin rm -f ${D}${libexecdir}/webmin/webmin-init + rm -f ${D}${libexecdir}/webmin/ajaxterm/ajaxterm/configure.initd.gentoo rm -rf ${D}${libexecdir}/webmin/patches # Run setup script diff --git a/meta-xfce/classes/xfce-app.bbclass b/meta-xfce/classes/xfce-app.bbclass index c60ad3d67a..8780ebfd9d 100644 --- a/meta-xfce/classes/xfce-app.bbclass +++ b/meta-xfce/classes/xfce-app.bbclass @@ -1,4 +1,4 @@ inherit xfce -SRC_URI = "http://archive.xfce.org/src/apps/${BPN}/${@'${PV}'[0:3]}/${BPN}-${PV}.tar.bz2" +SRC_URI = "http://archive.xfce.org/src/apps/${BPN}/${@xfce_verdir("${PV}")}/${BPN}-${PV}.tar.bz2" diff --git a/meta-xfce/recipes-apps/gigolo/gigolo_0.4.2.bb b/meta-xfce/recipes-apps/gigolo/gigolo_0.4.2.bb new file mode 100644 index 0000000000..c846e7802f --- /dev/null +++ b/meta-xfce/recipes-apps/gigolo/gigolo_0.4.2.bb @@ -0,0 +1,11 @@ +SUMMARY = "Gigolo is a frontend to easily manage connections to remote filesystems using GIO/GVfs" +SECTION = "x11/application" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +DEPENDS = "gtk+ intltool-native xfce4-dev-tools-native" + +inherit xfce-app + +SRC_URI[md5sum] = "4abc6fde56572adf3ec3a0181092584c" +SRC_URI[sha256sum] = "553fc78fe4e7bd2f01f3851baea7e63f6414fe652dfb4b08c60b5c4b2b909164" diff --git a/meta-xfce/recipes-apps/orage/orage_4.8.4.bb b/meta-xfce/recipes-apps/orage/orage_4.10.0.bb index cf3081e378..8164c3c147 100644 --- a/meta-xfce/recipes-apps/orage/orage_4.8.4.bb +++ b/meta-xfce/recipes-apps/orage/orage_4.10.0.bb @@ -6,8 +6,8 @@ DEPENDS = "gtk+ xfce4-panel libical popt" inherit xfce-app -SRC_URI[md5sum] = "d5105981a9d77ed22be42615d70f3cc0" -SRC_URI[sha256sum] = "b19df727da9da48b979e238ac7113c803976de80bd1e2dadf6d84b864956dfd5" +SRC_URI[md5sum] = "b33fa272d92f539a224a7a40b1926dfc" +SRC_URI[sha256sum] = "6cb854f3437e31bab23abfce97bd10afa1636a9a1480d80e14e26c85d06be7c0" PACKAGECONFIG ??= "" PACKAGECONFIG[notify] = "--enable-libnotify,--disable-libnotify,libnotify" diff --git a/meta-xfce/recipes-apps/xfce4-screenshooter/files/0001-Fix-panel-plugin-build.patch b/meta-xfce/recipes-apps/xfce4-screenshooter/files/0001-Fix-panel-plugin-build.patch deleted file mode 100644 index 98ce875b78..0000000000 --- a/meta-xfce/recipes-apps/xfce4-screenshooter/files/0001-Fix-panel-plugin-build.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 08053be7adc6d4a83191efed735c3f565bcbcf1f Mon Sep 17 00:00:00 2001 -From: Samuli Suominen <ssuominen@gentoo.org> -Date: Sat, 5 May 2012 17:13:45 +0200 -Subject: [PATCH] Fix panel plugin build. - -- Don't use a versioned library. -- Build as a module. -- Only export needed symbols. ---- -Upstream-Status: applied - Makefile.am | 12 +++++++++--- - 1 files changed, 9 insertions(+), 3 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 45100fd..d0c0adb 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -132,13 +132,19 @@ panel_plugin_libscreenshooterplugin_la_CFLAGS = \ - @SOUP_CFLAGS@ - - panel_plugin_libscreenshooterplugin_la_LDFLAGS = \ -+ -avoid-version \ -+ -module \ -+ -no-undefined \ -+ -export-symbols-regex '^xfce_panel_module_(preinit|init|construct)' \ -+ $(PLATFORM_LDFLAGS) -+ -+panel_plugin_libscreenshooterplugin_la_LIBADD = \ - @EXO_LIBS@ \ - @LIBXFCE4PANEL_LIBS@ \ - @GTHREAD_LIBS@ \ - @SOUP_LIBS@ \ -- @LIBXFCE4UI_LIBS@ -- --panel_plugin_libscreenshooterplugin_la_LIBADD = lib/libscreenshooter.la -+ @LIBXFCE4UI_LIBS@ \ -+ lib/libscreenshooter.la - - panel_plugin_libscreenshooterplugin_la_SOURCES = \ - panel-plugin/screenshooter-plugin.c --- -1.7.4.4 - diff --git a/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.8.1.bb b/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.8.2.bb index 0e2e327f03..ae19492f3c 100644 --- a/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.8.1.bb +++ b/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.8.2.bb @@ -7,13 +7,15 @@ DEPENDS = "xfce4-panel libxfce4util libxfce4ui gdk-pixbuf gtk+ glib-2.0 libsoup- inherit xfce-app -SRC_URI += "file://0001-Fix-panel-plugin-build.patch" -SRC_URI[md5sum] = "d0ffea2052a8e70154cf13789070711f" -SRC_URI[sha256sum] = "40419892bd28989315eed053c159bba0f4264ed8c6c6738806024e481eab9492" +SRC_URI[md5sum] = "3a32ecc5566453a58f6a4ddd70649444" +SRC_URI[sha256sum] = "9dce2ddfaa87f703e870e29bae13f3fc82a1b3f06b44f8386640e45a135f5f69" do_compile_prepend() { mkdir -p lib } -FILES_${PN} += "${datadir}/xfce4/panel/plugins \ - ${libdir}/xfce4/panel/plugins" +FILES_${PN} += " \ + ${datadir}/appdata \ + ${datadir}/xfce4/panel/plugins \ + ${libdir}/xfce4/panel/plugins \ +" diff --git a/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.6.2.bb b/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.6.3.bb index 8b2619d77e..1049b27a8d 100644 --- a/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.6.2.bb +++ b/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.6.3.bb @@ -8,5 +8,5 @@ inherit xfce-app FILES_${PN} += "${datadir}/xfce4 \ ${datadir}/gnome-control-center" -SRC_URI[md5sum] = "d5cdb302bd770c9f2d30262c26639006" -SRC_URI[sha256sum] = "3d92422288d26311880af694bb4e02c9235997ca307a5e85001bf6bef65c3b35" +SRC_URI[md5sum] = "6a2816d8b0933cd707ed456ceb731399" +SRC_URI[sha256sum] = "912f4716c2395a14a80620ef982b4af1e2a67a8df9a1ef0b802ecae826057e08" diff --git a/meta-xfce/recipes-bindings/vala/xfce4-vala_4.10.3.bb b/meta-xfce/recipes-bindings/vala/xfce4-vala_4.10.3.bb index 8e8e691299..7bcffe541c 100644 --- a/meta-xfce/recipes-bindings/vala/xfce4-vala_4.10.3.bb +++ b/meta-xfce/recipes-bindings/vala/xfce4-vala_4.10.3.bb @@ -5,6 +5,8 @@ DEPENDS = "libxfce4util garcon xfconf libxfce4ui xfce4-panel exo vala xfce4-dev- inherit xfce +PNBLACKLIST[xfce4-vala] ?= "Fails to build since vala upgrade to 0.26.1" + SRC_URI = "http://archive.xfce.org/src/bindings/${BPN}/${@xfce_verdir("${PV}")}/${BPN}-${PV}.tar.bz2" SRC_URI[md5sum] = "0bbb1d6e473e0fe9b335b7b1b49d8a71" SRC_URI[sha256sum] = "07a8f2b7c09fcdd3d86e0c52adea3c58ca011d0142a93997a01b4af77260ae7b" diff --git a/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.2.3.bb b/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.2.6.bb index 06f0d94402..aee4a3dc20 100644 --- a/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.2.3.bb +++ b/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.2.6.bb @@ -8,8 +8,10 @@ inherit xfce-panel-plugin DEPENDS += "xfconf xproto libxtst" -SRC_URI[md5sum] = "61f3be97efa379cb358980c94e14692a" -SRC_URI[sha256sum] = "4424447067cb2c3972c375330d2e1d19f12e59c41bd03e111c2e6e9e174a5067" +SRC_URI[md5sum] = "f7f2440647493243cbd7787eaee92fcb" +SRC_URI[sha256sum] = "23043f99c3e5257d1f3d68b5ee5125e3469c15620d098e22c6250386197f48a5" PACKAGECONFIG ??= "" PACKAGECONFIG[unique] = "--enable-unique,--disable-unique,libunique" + +FILES_${PN} += "${datadir}/appdata" diff --git a/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.1.0.bb b/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.1.0.bb deleted file mode 100644 index 7a99b4f752..0000000000 --- a/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.1.0.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "Panel plugin to display frequency of all cpus" -HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-cpufreq-plugin" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=1f6f1c0be32491a0c8d2915607a28f36" - -inherit xfce-panel-plugin - -SRC_URI[md5sum] = "dcc56af0e19266956c297d124ba551f4" -SRC_URI[sha256sum] = "eafa261bf984231ed8487c08decea6d916339d82b52f4bbe748e5c6a95c7f6b6" - -# defaults in xfce4-panel-plugin.bbclass don't match so override here -FILES_${PN} = "${datadir}/icons ${datadir}/xfce4 ${libdir}/xfce4/panel/plugins/*.so*" - -# *.so are required for plugin detection -INSANE_SKIP_${PN} = "dev-so" diff --git a/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.1.1.bb b/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.1.1.bb new file mode 100644 index 0000000000..224f85f87b --- /dev/null +++ b/meta-xfce/recipes-panel-plugins/cpufreq/xfce4-cpufreq-plugin_1.1.1.bb @@ -0,0 +1,9 @@ +SUMMARY = "Panel plugin to display frequency of all cpus" +HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-cpufreq-plugin" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=1f6f1c0be32491a0c8d2915607a28f36" + +inherit xfce-panel-plugin + +SRC_URI[md5sum] = "cc3447ee6663f2946fce86308ba3566b" +SRC_URI[sha256sum] = "474c45c007e65bfc107d6bcc902330c5e964906e6da120af48f7e2dba7f5cae7" diff --git a/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.5.4.bb b/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.5.4.bb index 1aadd2c1ae..2df9b9f525 100644 --- a/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.5.4.bb +++ b/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.5.4.bb @@ -1,6 +1,6 @@ SUMMARY = "Panel plugin displaying instant disk/partition performance" HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-diskperf-plugin" -LICENSE = "RogerSeguin" +LICENSE = "BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=d3e627798d6a60bece47aa8b3532e1f1" inherit xfce-panel-plugin diff --git a/meta-xfce/recipes-panel-plugins/equake/xfce4-equake-plugin_1.3.3.bb b/meta-xfce/recipes-panel-plugins/equake/xfce4-equake-plugin_1.3.6.bb index 95d1d66c89..d4f069f712 100644 --- a/meta-xfce/recipes-panel-plugins/equake/xfce4-equake-plugin_1.3.3.bb +++ b/meta-xfce/recipes-panel-plugins/equake/xfce4-equake-plugin_1.3.6.bb @@ -6,8 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" inherit xfce-panel-plugin -SRC_URI = "http://www.e-quake.org/wp-uploads/2013/09/xfce4-equake-plugin-${PV}.tar.gz" -SRC_URI[md5sum] = "fa1e934f5b7e522efc4e30a99278f908" -SRC_URI[sha256sum] = "ea37e691606dbcd705f98cecccabd69b870c7acd008f47faae6d0fee21fe14a2" +SRC_URI[md5sum] = "ee76ed3825999b24ee9c2c976d906e22" +SRC_URI[sha256sum] = "8129067080c8a4656063e7cde20f13fabb47b49c84ce610916f54644acb93d67" FILES_${PN} += "${libdir}/xfce4/panel-plugins/xfce4-equake-plugin" diff --git a/meta-xfce/recipes-panel-plugins/eyes/xfce4-eyes-plugin_4.4.2.bb b/meta-xfce/recipes-panel-plugins/eyes/xfce4-eyes-plugin_4.4.3.bb index f1ed6c7c43..2ac63f9c76 100644 --- a/meta-xfce/recipes-panel-plugins/eyes/xfce4-eyes-plugin_4.4.2.bb +++ b/meta-xfce/recipes-panel-plugins/eyes/xfce4-eyes-plugin_4.4.3.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" inherit xfce-panel-plugin -SRC_URI[md5sum] = "1ef352c68dd8929c9e8743200b758b3c" -SRC_URI[sha256sum] = "dad102fedd0d9e6df45338a018387b2aacaf24b05eb798275be0dfc05ffa3021" +SRC_URI[md5sum] = "86ae8bce96e028921fcc0ee8424ff565" +SRC_URI[sha256sum] = "4b9a335bcfdb8e4e2f6aedb3556575e5331f181912565f4289e354126230817c" FILES_${PN} += "${datadir}/xfce4/eyes" diff --git a/meta-xfce/recipes-panel-plugins/kbdleds/xfce4-kbdleds-plugin_0.0.6.bb b/meta-xfce/recipes-panel-plugins/kbdleds/xfce4-kbdleds-plugin_0.0.6.bb new file mode 100644 index 0000000000..caf55084f2 --- /dev/null +++ b/meta-xfce/recipes-panel-plugins/kbdleds/xfce4-kbdleds-plugin_0.0.6.bb @@ -0,0 +1,15 @@ +SUMMARY = "XFCE panel plugin displaying status of keyboard LEDs" +DESCRIPTION = "This plugin shows the state of your keyboard LEDs: Caps, Scroll and Num Lock in Xfce panel" +HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-kbdleds-plugin" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://COPYING.LIB;md5=252890d9eee26aab7b432e8b8a616475 \ +" + +inherit xfce-panel-plugin + +SRC_URI[md5sum] = "db6ad8e3502f3373f087ba2034141552" +SRC_URI[sha256sum] = "6d280ad7207bcb9cc87c279dc3ab9084fd93325e87f67858e8917729b50201cd" + +FILES_${PN} += "${libdir}/xfce4/panel-plugins/xfce4-kbdleds-plugin" diff --git a/meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.2.0.bb b/meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.2.0.bb new file mode 100644 index 0000000000..00859a176f --- /dev/null +++ b/meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.2.0.bb @@ -0,0 +1,11 @@ +SUMMARY = "Multi-protocol, multi-mailbox mail watcher for the Xfce4 panel" +HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-mailwatch-plugin" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +inherit xfce-panel-plugin + +DEPENDS += "gnutls libgcrypt" + +SRC_URI[md5sum] = "7263114ec0f2987a3aff15afeeb45577" +SRC_URI[sha256sum] = "624acc8229a8593c0dfeb28f883f4958119a715cc81cecdbaf29efc8ab1edcad" diff --git a/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.2.0.bb b/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.2.4.bb index ef1039b797..c9f7a2a661 100644 --- a/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.2.0.bb +++ b/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.2.4.bb @@ -5,5 +5,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=35a7203c41b86d15546dddc05995f97f" inherit xfce-panel-plugin -SRC_URI[md5sum] = "05180d60ed347029dc125368c1d4406e" -SRC_URI[sha256sum] = "c824f09e2d3860011b44d8272d661c458237786828027f3d9ad6a1d4f0096845" +SRC_URI[md5sum] = "ce53e1135e4bff5afcd899627110bd11" +SRC_URI[sha256sum] = "fface918822c012d806717116566e54947ad7613b9290b45a18e2d5ffb8730d3" diff --git a/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.5.0.bb b/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.6.0.bb index f68365c6e2..c76340fcf1 100644 --- a/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.5.0.bb +++ b/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.6.0.bb @@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b6952d9a47fc2ad0f315510e1290455f" inherit xfce-panel-plugin -SRC_URI[md5sum] = "84c39fb123e07e1c7caaf006d9383656" -SRC_URI[sha256sum] = "6996051669a13d4791a5a453747801dc2f7f6fa5546785622d80b34966283d44" +SRC_URI[md5sum] = "8f3ec883efb0775052eeea816bbd8a23" +SRC_URI[sha256sum] = "07b044025a75f02b84e8848d6f81b0fcbb0cd9b8a4bf919cb7f0777b096b27a4" PACKAGECONFIG ??= "" PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify" diff --git a/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.1.1.bb b/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.1.2.bb index 53f6c4a3c1..c212f889b0 100644 --- a/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.1.1.bb +++ b/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.1.2.bb @@ -7,5 +7,5 @@ inherit xfce-panel-plugin DEPENDS += "upower" -SRC_URI[md5sum] = "22d48c0883f9d598bce24e81d93e692e" -SRC_URI[sha256sum] = "1ac13efbe9e576c9effd5e0675574a57c8fd44cfee60d6e319eb4d03c1c8d9ae" +SRC_URI[md5sum] = "68c9d20b352c13f3eb6b39a0d9fe2ba2" +SRC_URI[sha256sum] = "b469b6b3a08ec29b9061151950d876d36bf25a3106ec77256923fdd6b5d18a7c" diff --git a/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.6.0.bb b/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.6.0.bb new file mode 100644 index 0000000000..d61235fe0e --- /dev/null +++ b/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.6.0.bb @@ -0,0 +1,10 @@ +SUMMARY = "XFCE panel plugin to generate alarm messages" +DESCRIPTION = "This is a simple plugin that lets the user run an alarm at a specified time or at the end of a specified countdown period" +HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-timer-plugin" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=ae39271267fd63eb7619432ff24e7ff1" + +inherit xfce-panel-plugin + +SRC_URI[md5sum] = "3be2a4ccfb2af20441b1d25c2cea5f28" +SRC_URI[sha256sum] = "39d7d21f099bc4219f6a6156142f0bbb8374986ee1970a9c0c8dc138b87f867c" diff --git a/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.5.11.bb b/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.5.11.bb index 1883a0c7d5..7a3335a0b6 100644 --- a/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.5.11.bb +++ b/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.5.11.bb @@ -1,6 +1,6 @@ SUMMARY = "Panel plugin displaying stats from a wireless lan interface" HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-wavelan-plugin" -LICENSE = "BenediktMeurer FlorianRivoal" +LICENSE = "BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=e1e5872df9c5cf1a23f16493d9104920" inherit xfce-panel-plugin diff --git a/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.3.bb b/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.5.bb index d03a259047..3fc5eae7a7 100644 --- a/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.3.bb +++ b/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.8.5.bb @@ -7,7 +7,7 @@ inherit xfce-panel-plugin DEPENDS += "libsoup-2.4 dbus-glib upower" -SRC_URI[md5sum] = "755b33089c02afe88abb39253003a7f3" -SRC_URI[sha256sum] = "40a6a22be7653b15a47174a430da89040f178695b48e5e01e77990050f715ce4" +SRC_URI[md5sum] = "cc6d9039540a71e57102ae75224a3f5e" +SRC_URI[sha256sum] = "be8ac0e5635355d568e4095a3459f53efd5f10a8ef46976a43dc30cbb277e5cd" FILES_${PN} += "${datadir}/xfce4/weather" diff --git a/meta-xfce/recipes-panel-plugins/whisker/xfce4-whiskermenu-plugin_1.3.2.bb b/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_1.4.2.bb index dd3d8fd6e2..77641099fc 100644 --- a/meta-xfce/recipes-panel-plugins/whisker/xfce4-whiskermenu-plugin_1.3.2.bb +++ b/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_1.4.2.bb @@ -6,5 +6,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" inherit xfce-panel-plugin cmake SRC_URI = "http://gottcode.org/${BPN}/${BPN}-${PV}-src.tar.bz2" -SRC_URI[md5sum] = "f4de7546588952f84df8a4ad3552c526" -SRC_URI[sha256sum] = "a104b2266675a3ea3c7b98aab7b075a351d813ea29098504031a62f365e5a0fc" +SRC_URI[md5sum] = "967bbff0e98fdf0c1b78e61b3b152c2d" +SRC_URI[sha256sum] = "7266d7a16df4bffe6f00d3d4711b8b8fd972491bac70f13a9d7edd9f0472d311" diff --git a/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.7.0.bb b/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.7.0.bb index 1109f31943..22ead2a1ce 100644 --- a/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.7.0.bb +++ b/meta-xfce/recipes-panel-plugins/xkb/xfce4-xkb-plugin_0.7.0.bb @@ -1,7 +1,7 @@ SUMMARY = "XKB layout switching panel plug-in for the Xfce desktop environment" HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-xkb-plugin" SECTION = "x11/application" -LICENSE = "Alexander_Iliev" +LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=496f09f084b0f7e6f02f769a84490c6b" inherit xfce-panel-plugin diff --git a/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb b/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb index 32f220cca6..28e452a683 100644 --- a/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb +++ b/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb @@ -31,16 +31,19 @@ RRECOMMENDS_${PN} = " \ xfce4-places-plugin \ xfce4-systemload-plugin \ xfce4-time-out-plugin \ + xfce4-timer-plugin \ xfce4-embed-plugin \ xfce4-weather-plugin \ xfce4-fsguard-plugin \ xfce4-battery-plugin \ xfce4-mount-plugin \ - xfce4-brightness-plugin \ + xfce4-powermanager-plugin \ xfce4-closebutton-plugin \ xfce4-equake-plugin \ xfce4-notes-plugin \ xfce4-whiskermenu-plugin \ + xfce4-mailwatch-plugin \ + xfce4-kbdleds-plugin \ \ thunar-media-tags-plugin \ thunar-archive-plugin \ @@ -51,4 +54,5 @@ RRECOMMENDS_${PN} = " \ xfce4-mixer \ ristretto \ xfce4-taskmanager \ + gigolo \ " diff --git a/meta-xfce/recipes-xfce/thunar/thunar_1.6.3.bb b/meta-xfce/recipes-xfce/thunar/thunar_1.6.3.bb index 3feb242c4d..36c5ed07eb 100644 --- a/meta-xfce/recipes-xfce/thunar/thunar_1.6.3.bb +++ b/meta-xfce/recipes-xfce/thunar/thunar_1.6.3.bb @@ -2,7 +2,7 @@ SUMMARY = "File manager for the Xfce Desktop Environment" SECTION = "x11" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -DEPENDS = "exo glib-2.0 gtk+ gdk-pixbuf libxfce4util libxfce4ui libsm dbus-glib startup-notification libnotify xfce4-panel" +DEPENDS = "exo glib-2.0 gtk+ gdk-pixbuf libxfce4util libxfce4ui libsm dbus-glib startup-notification libnotify xfce4-panel udev" inherit xfce diff --git a/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.30.bb b/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.30.bb index 9f361e970a..5359545337 100644 --- a/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.30.bb +++ b/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.30.bb @@ -17,6 +17,9 @@ do_install_append() { ln -sf ${libdir}/tumbler-1/plugins/cache/tumbler-xdg-cache.so ${D}${libdir}/tumbler-1/plugins/cache/tumbler-cache-plugin.so } +PACKAGECONFIG ??= "" +PACKAGECONFIG[gstreamer-thumbnailer] = "--enable-gstreamer-thumbnailer,--disable-gstreamer-thumbnailer,gstreamer1.0 gstreamer1.0-plugins-base" + FILES_${PN} += "${datadir}/dbus-1/services \ ${libdir}/tumbler-1/tumblerd \ ${libdir}/tumbler-1/plugins/*.so \ diff --git a/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.11.0.bb b/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.11.0.bb index 1d1a082ef9..5884ef64c8 100644 --- a/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.11.0.bb +++ b/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.11.0.bb @@ -22,3 +22,5 @@ do_install_append() { } FILES_${PN} += "${datadir}/xfce4/dev-tools/m4macros/*.m4" + +RDEPENDS_${PN} = "bash" diff --git a/meta-xfce/recipes-xfce/xfce4-power-manager/files/0001-Add-shutdown-reboot-functionality-for-systemd.patch b/meta-xfce/recipes-xfce/xfce4-power-manager/files/0001-Add-shutdown-reboot-functionality-for-systemd.patch deleted file mode 100644 index d5c5487b82..0000000000 --- a/meta-xfce/recipes-xfce/xfce4-power-manager/files/0001-Add-shutdown-reboot-functionality-for-systemd.patch +++ /dev/null @@ -1,677 +0,0 @@ -From 023333688f73ed26097c693d43f76e4b7d5698e2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> -Date: Fri, 7 Jun 2013 18:38:42 +0200 -Subject: [PATCH] Add shutdown/reboot functionality for systemd -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Upstream-Status: Submitted [2] - -[1] http://git.xfce.org/xfce/xfce4-session/commit/?id=ae28aef315a7a6b90f1649ce6d1f30b842791cbf -[2] https://bugzilla.xfce.org/show_bug.cgi?id=10167 - -Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> ---- - configure.ac | 2 + - src/Makefile.am | 14 +++- - src/xfpm-manager.c | 29 ++++++- - src/xfpm-power.c | 66 ++++++++++++++- - src/xfpm-systemd.c | 245 ++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/xfpm-systemd.h | 60 +++++++++++++ - 6 files changed, 411 insertions(+), 5 deletions(-) - create mode 100644 src/xfpm-systemd.c - create mode 100644 src/xfpm-systemd.h - -diff --git a/configure.ac b/configure.ac -index 633b340..1db2036 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -95,6 +95,8 @@ if test "x$ac_cv_enable_polkit" = "xno"; then - polkit="no" - else - AC_MSG_RESULT([yes]) -+ m4_define([polkit_minimum_version], [0.100]) -+ XDT_CHECK_PACKAGE([SYSTEMD], [polkit-gobject-1], [polkit_minimum_version]) - AC_DEFINE(ENABLE_POLKIT, 1 , [PolicyKit support]) - polkit="yes" - fi -diff --git a/src/Makefile.am b/src/Makefile.am -index 0435bed..9b7fdd0 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -18,8 +18,6 @@ xfce4_power_manager_SOURCES = \ - xfpm-xfconf.h \ - xfpm-disks.c \ - xfpm-disks.h \ -- xfpm-console-kit.c \ -- xfpm-console-kit.h \ - egg-idletime.c \ - egg-idletime.h \ - xfpm-backlight.c \ -@@ -39,6 +37,16 @@ xfce4_power_manager_SOURCES = \ - xfpm-errors.c \ - xfpm-errors.h - -+if ENABLE_POLKIT -+xfce4_power_manager_SOURCES += \ -+ xfpm-systemd.c \ -+ xfpm-systemd.h -+else -+xfce4_power_manager_SOURCES += \ -+ xfpm-console-kit.c \ -+ xfpm-console-kit.h -+endif -+ - xfce4_power_manager_CFLAGS = \ - -I$(top_srcdir) \ - -I$(top_srcdir)/common \ -@@ -52,6 +60,7 @@ xfce4_power_manager_CFLAGS = \ - $(LIBXFCE4UI_CFLAGS) \ - $(XFCONF_CFLAGS) \ - $(LIBNOTIFY_CFLAGS) \ -+ $(SYSTEMD_CFLAGS) \ - $(XRANDR_CFLAGS) \ - $(DPMS_CFLAGS) \ - $(PLATFORM_CPPFLAGS) \ -@@ -70,6 +79,7 @@ xfce4_power_manager_LDADD = \ - $(LIBXFCE4UI_LIBS) \ - $(XFCONF_LIBS) \ - $(LIBNOTIFY_LIBS) \ -+ $(SYSTEMD_LIBS) \ - $(XRANDR_LIBS) \ - $(DPMS_LIBS) - -diff --git a/src/xfpm-manager.c b/src/xfpm-manager.c -index 472ee3e..9bfb53c 100644 ---- a/src/xfpm-manager.c -+++ b/src/xfpm-manager.c -@@ -43,7 +43,6 @@ - #include "xfpm-disks.h" - #include "xfpm-dpms.h" - #include "xfpm-manager.h" --#include "xfpm-console-kit.h" - #include "xfpm-button.h" - #include "xfpm-backlight.h" - #include "xfpm-inhibit.h" -@@ -58,6 +57,12 @@ - #include "xfpm-enum-types.h" - #include "xfpm-dbus-monitor.h" - -+#ifdef ENABLE_POLKIT -+#include "xfpm-systemd.h" -+#else -+#include "xfpm-console-kit.h" -+#endif -+ - static void xfpm_manager_finalize (GObject *object); - - static void xfpm_manager_dbus_class_init (XfpmManagerClass *klass); -@@ -80,7 +85,11 @@ struct XfpmManagerPrivate - XfpmButton *button; - XfpmXfconf *conf; - XfpmBacklight *backlight; -+#ifdef ENABLE_POLKIT -+ XfpmSystemd *systemd; -+#else - XfpmConsoleKit *console; -+#endif - XfpmDBusMonitor *monitor; - XfpmDisks *disks; - XfpmInhibit *inhibit; -@@ -131,7 +140,11 @@ xfpm_manager_finalize (GObject *object) - g_object_unref (manager->priv->button); - g_object_unref (manager->priv->conf); - g_object_unref (manager->priv->client); -+#ifdef ENABLE_POLKIT -+ g_object_unref (manager->priv->systemd); -+#else - g_object_unref (manager->priv->console); -+#endif - g_object_unref (manager->priv->monitor); - g_object_unref (manager->priv->disks); - g_object_unref (manager->priv->inhibit); -@@ -201,7 +214,11 @@ static void - xfpm_manager_shutdown (XfpmManager *manager) - { - GError *error = NULL; -+#ifdef ENABLE_POLKIT -+ xfpm_systemd_shutdown (manager->priv->systemd, &error ); -+#else - xfpm_console_kit_shutdown (manager->priv->console, &error ); -+#endif - - if ( error ) - { -@@ -521,7 +538,11 @@ void xfpm_manager_start (XfpmManager *manager) - manager->priv->power = xfpm_power_get (); - manager->priv->button = xfpm_button_new (); - manager->priv->conf = xfpm_xfconf_new (); -+#ifdef ENABLE_POLKIT -+ manager->priv->systemd = xfpm_systemd_new (); -+#else - manager->priv->console = xfpm_console_kit_new (); -+#endif - manager->priv->monitor = xfpm_dbus_monitor_new (); - manager->priv->disks = xfpm_disks_new (); - manager->priv->inhibit = xfpm_inhibit_new (); -@@ -603,9 +624,15 @@ GHashTable *xfpm_manager_get_config (XfpmManager *manager) - - hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); - -+#ifdef ENABLE_POLKIT -+ g_object_get (G_OBJECT (manager->priv->systemd), -+ "can-shutdown", &can_shutdown, -+ NULL); -+#else - g_object_get (G_OBJECT (manager->priv->console), - "can-shutdown", &can_shutdown, - NULL); -+#endif - - g_object_get (G_OBJECT (manager->priv->power), - "auth-suspend", &auth_suspend, -diff --git a/src/xfpm-power.c b/src/xfpm-power.c -index 796bef8..391c7fc 100644 ---- a/src/xfpm-power.c -+++ b/src/xfpm-power.c -@@ -39,7 +39,6 @@ - #include "xfpm-xfconf.h" - #include "xfpm-notify.h" - #include "xfpm-errors.h" --#include "xfpm-console-kit.h" - #include "xfpm-inhibit.h" - #include "xfpm-polkit.h" - #include "xfpm-network-manager.h" -@@ -51,6 +50,12 @@ - #include "xfpm-enum-types.h" - #include "egg-idletime.h" - -+#ifdef ENABLE_POLKIT -+#include "xfpm-systemd.h" -+#else -+#include "xfpm-console-kit.h" -+#endif -+ - static void xfpm_power_finalize (GObject *object); - - static void xfpm_power_get_property (GObject *object, -@@ -75,7 +80,11 @@ struct XfpmPowerPrivate - - GHashTable *hash; - -+#ifdef ENABLE_POLKIT -+ XfpmSystemd *systemd; -+#else - XfpmConsoleKit *console; -+#endif - XfpmInhibit *inhibit; - XfpmXfconf *conf; - GtkStatusIcon *adapter_icon; -@@ -680,9 +689,15 @@ xfpm_power_add_actions_to_notification (XfpmPower *power, NotifyNotification *n) - { - gboolean can_shutdown; - -+#ifdef ENABLE_POLKIT -+ g_object_get (G_OBJECT (power->priv->systemd), -+ "can-shutdown", &can_shutdown, -+ NULL); -+#else - g_object_get (G_OBJECT (power->priv->console), - "can-shutdown", &can_shutdown, - NULL); -+#endif - - if ( power->priv->can_hibernate && power->priv->auth_hibernate ) - { -@@ -756,9 +771,15 @@ xfpm_power_show_critical_action_gtk (XfpmPower *power) - const gchar *message; - gboolean can_shutdown; - -+#ifdef ENABLE_POLKIT -+ g_object_get (G_OBJECT (power->priv->systemd), -+ "can-shutdown", &can_shutdown, -+ NULL); -+#else - g_object_get (G_OBJECT (power->priv->console), - "can-shutdown", &can_shutdown, - NULL); -+#endif - - message = _("System is running on low power. "\ - "Save your work to avoid losing data"); -@@ -1327,7 +1348,11 @@ xfpm_power_init (XfpmPower *power) - power->priv->inhibit = xfpm_inhibit_new (); - power->priv->notify = xfpm_notify_new (); - power->priv->conf = xfpm_xfconf_new (); -+#ifdef ENABLE_POLKIT -+ power->priv->systemd = xfpm_systemd_new (); -+#else - power->priv->console = xfpm_console_kit_new (); -+#endif - - g_signal_connect_swapped (power->priv->conf, "notify::" SHOW_TRAY_ICON_CFG, - G_CALLBACK (xfpm_power_refresh_adaptor_visible), power); -@@ -1445,7 +1470,11 @@ xfpm_power_finalize (GObject *object) - g_object_unref (power->priv->inhibit); - g_object_unref (power->priv->notify); - g_object_unref (power->priv->conf); -+#ifdef ENABLE_POLKIT -+ g_object_unref (power->priv->systemd); -+#else - g_object_unref (power->priv->console); -+#endif - - xfpm_power_hide_adapter_icon (power); - -@@ -1607,9 +1636,15 @@ static gboolean xfpm_power_dbus_shutdown (XfpmPower *power, - { - gboolean can_reboot; - -+#ifdef ENABLE_POLKIT -+ g_object_get (G_OBJECT (power->priv->systemd), -+ "can-shutdown", &can_reboot, -+ NULL); -+#else - g_object_get (G_OBJECT (power->priv->console), - "can-shutdown", &can_reboot, - NULL); -+#endif - - if ( !can_reboot) - { -@@ -1618,7 +1653,11 @@ static gboolean xfpm_power_dbus_shutdown (XfpmPower *power, - return FALSE; - } - -+#ifdef ENABLE_POLKIT -+ xfpm_systemd_shutdown (power->priv->systemd, error); -+#else - xfpm_console_kit_shutdown (power->priv->console, error); -+#endif - - return TRUE; - } -@@ -1628,9 +1667,15 @@ static gboolean xfpm_power_dbus_reboot (XfpmPower *power, - { - gboolean can_reboot; - -+#ifdef ENABLE_POLKIT -+ g_object_get (G_OBJECT (power->priv->systemd), -+ "can-restart", &can_reboot, -+ NULL); -+#else - g_object_get (G_OBJECT (power->priv->console), - "can-restart", &can_reboot, - NULL); -+#endif - - if ( !can_reboot) - { -@@ -1639,7 +1684,11 @@ static gboolean xfpm_power_dbus_reboot (XfpmPower *power, - return FALSE; - } - -+#ifdef ENABLE_POLKIT -+ xfpm_systemd_reboot (power->priv->systemd, error); -+#else - xfpm_console_kit_reboot (power->priv->console, error); -+#endif - - return TRUE; - } -@@ -1694,10 +1743,16 @@ static gboolean xfpm_power_dbus_can_reboot (XfpmPower * power, - gboolean * OUT_can_reboot, - GError ** error) - { -+#ifdef ENABLE_POLKIT -+ g_object_get (G_OBJECT (power->priv->systemd), -+ "can-reboot", OUT_can_reboot, -+ NULL); -+#else - g_object_get (G_OBJECT (power->priv->console), - "can-reboot", OUT_can_reboot, - NULL); -- -+#endif -+ - return TRUE; - } - -@@ -1705,9 +1760,16 @@ static gboolean xfpm_power_dbus_can_shutdown (XfpmPower * power, - gboolean * OUT_can_shutdown, - GError ** error) - { -+#ifdef ENABLE_POLKIT -+ g_object_get (G_OBJECT (power->priv->systemd), -+ "can-shutdown", OUT_can_shutdown, -+ NULL); -+#else - g_object_get (G_OBJECT (power->priv->console), - "can-shutdown", OUT_can_shutdown, - NULL); -+#endif -+ - return TRUE; - } - -diff --git a/src/xfpm-systemd.c b/src/xfpm-systemd.c -new file mode 100644 -index 0000000..cc1cba1 ---- /dev/null -+++ b/src/xfpm-systemd.c -@@ -0,0 +1,245 @@ -+/* -+ * * Copyright (C) 2009-2011 Ali <aliov@xfce.org> -+ * * Copyright (C) 2013 Andreas Müller <schnitzeltony@googlemail.com> -+ * -+ * Licensed under the GNU General Public License Version 2 -+ * -+ * 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 -+ */ -+ -+#ifdef HAVE_CONFIG_H -+#include <config.h> -+#endif -+ -+#include <stdio.h> -+#include <stdlib.h> -+#include <string.h> -+ -+#include <dbus/dbus-glib.h> -+#include <polkit/polkit.h> -+ -+#include "xfpm-systemd.h" -+ -+ -+static void xfpm_systemd_finalize (GObject *object); -+ -+static void xfpm_systemd_get_property (GObject *object, -+ guint prop_id, -+ GValue *value, -+ GParamSpec *pspec); -+ -+#define XFPM_SYSTEMD_GET_PRIVATE(o) \ -+(G_TYPE_INSTANCE_GET_PRIVATE ((o), XFPM_TYPE_SYSTEMD, XfpmSystemdPrivate)) -+ -+struct XfpmSystemdPrivate -+{ -+ gboolean can_shutdown; -+ gboolean can_restart; -+ -+ PolkitAuthority *authority; -+ PolkitSubject *subject; -+}; -+ -+enum -+{ -+ PROP_0, -+ PROP_CAN_RESTART, -+ PROP_CAN_SHUTDOWN -+}; -+ -+G_DEFINE_TYPE (XfpmSystemd, xfpm_systemd, G_TYPE_OBJECT) -+ -+#define SYSTEMD_DBUS_NAME "org.freedesktop.login1" -+#define SYSTEMD_DBUS_PATH "/org/freedesktop/login1" -+#define SYSTEMD_DBUS_INTERFACE "org.freedesktop.login1.Manager" -+#define SYSTEMD_REBOOT_ACTION "Reboot" -+#define SYSTEMD_POWEROFF_ACTION "PowerOff" -+#define SYSTEMD_REBOOT_TEST "org.freedesktop.login1.reboot" -+#define SYSTEMD_POWEROFF_TEST "org.freedesktop.login1.power-off" -+ -+static void -+xfpm_systemd_class_init (XfpmSystemdClass *klass) -+{ -+ GObjectClass *object_class = G_OBJECT_CLASS (klass); -+ -+ object_class->finalize = xfpm_systemd_finalize; -+ -+ object_class->get_property = xfpm_systemd_get_property; -+ -+ g_object_class_install_property (object_class, -+ PROP_CAN_RESTART, -+ g_param_spec_boolean ("can-restart", -+ NULL, NULL, -+ FALSE, -+ G_PARAM_READABLE)); -+ -+ g_object_class_install_property (object_class, -+ PROP_CAN_SHUTDOWN, -+ g_param_spec_boolean ("can-shutdown", -+ NULL, NULL, -+ FALSE, -+ G_PARAM_READABLE)); -+ -+ g_type_class_add_private (klass, sizeof (XfpmSystemdPrivate)); -+} -+ -+static gboolean -+xfpm_systemd_can_method (XfpmSystemd *systemd, -+ gboolean *can_method, -+ const gchar *method) -+{ -+ PolkitAuthorizationResult *res; -+ GError *local_error = NULL; -+ -+ *can_method = FALSE; -+ res = polkit_authority_check_authorization_sync (systemd->priv->authority, -+ systemd->priv->subject, -+ method, -+ NULL, -+ POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE, -+ NULL, -+ &local_error); -+ if ( local_error ) -+ { -+ g_critical ("Unable to get %s : %s", method, local_error->message); -+ g_error_free (local_error); -+ } -+ -+ if(res) -+ { -+ *can_method = polkit_authorization_result_get_is_authorized (res) || -+ polkit_authorization_result_get_is_challenge (res); -+ g_object_unref (G_OBJECT (res)); -+ } -+} -+ -+static void -+xfpm_systemd_init (XfpmSystemd *systemd) -+{ -+ PolkitAuthorizationResult *res; -+ -+ systemd->priv = XFPM_SYSTEMD_GET_PRIVATE (systemd); -+ systemd->priv->authority = polkit_authority_get_sync (NULL, NULL); -+ systemd->priv->subject = polkit_unix_process_new (getpid()); -+ systemd->priv->can_shutdown = FALSE; -+ systemd->priv->can_restart = FALSE; -+ -+ if(systemd->priv->authority && systemd->priv->subject) -+ { -+ xfpm_systemd_can_method (systemd, -+ &systemd->priv->can_shutdown, -+ SYSTEMD_POWEROFF_TEST); -+ xfpm_systemd_can_method (systemd, -+ &systemd->priv->can_restart, -+ SYSTEMD_REBOOT_TEST); -+ } -+} -+ -+static void xfpm_systemd_get_property (GObject *object, -+ guint prop_id, -+ GValue *value, -+ GParamSpec *pspec) -+{ -+ XfpmSystemd *systemd; -+ systemd = XFPM_SYSTEMD (object); -+ -+ switch (prop_id) -+ { -+ case PROP_CAN_SHUTDOWN: -+ g_value_set_boolean (value, systemd->priv->can_shutdown); -+ break; -+ case PROP_CAN_RESTART: -+ g_value_set_boolean (value, systemd->priv->can_restart); -+ break; -+ default: -+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); -+ break; -+ } -+} -+ -+static void -+xfpm_systemd_finalize (GObject *object) -+{ -+ XfpmSystemd *systemd; -+ -+ systemd = XFPM_SYSTEMD (object); -+ -+ if(systemd->priv->authority) -+ g_object_unref (G_OBJECT (systemd->priv->authority)); -+ if(systemd->priv->subject) -+ g_object_unref (G_OBJECT (systemd->priv->subject)); -+ -+ G_OBJECT_CLASS (xfpm_systemd_parent_class)->finalize (object); -+} -+ -+XfpmSystemd * -+xfpm_systemd_new (void) -+{ -+ static gpointer systemd_obj = NULL; -+ -+ if ( G_LIKELY (systemd_obj != NULL ) ) -+ { -+ g_object_ref (systemd_obj); -+ } -+ else -+ { -+ systemd_obj = g_object_new (XFPM_TYPE_SYSTEMD, NULL); -+ g_object_add_weak_pointer (systemd_obj, &systemd_obj); -+ } -+ -+ return XFPM_SYSTEMD (systemd_obj); -+} -+ -+static void -+xfpm_systemd_try_method (XfpmSystemd *systemd, -+ const gchar *method, -+ GError **error) -+{ -+ GDBusConnection *bus; -+ GError *local_error = NULL; -+ -+ bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, error); -+ if (G_LIKELY (bus != NULL)) -+ { -+ g_dbus_connection_call_sync (bus, -+ SYSTEMD_DBUS_NAME, -+ SYSTEMD_DBUS_PATH, -+ SYSTEMD_DBUS_INTERFACE, -+ method, -+ g_variant_new ("(b)", TRUE), -+ NULL, 0, G_MAXINT, NULL, -+ &local_error); -+ g_object_unref (G_OBJECT (bus)); -+ -+ if (local_error != NULL) -+ { -+ g_propagate_error (error, local_error); -+ } -+ } -+} -+ -+void xfpm_systemd_shutdown (XfpmSystemd *systemd, GError **error) -+{ -+ xfpm_systemd_try_method (systemd, -+ SYSTEMD_POWEROFF_ACTION, -+ error); -+} -+ -+void xfpm_systemd_reboot (XfpmSystemd *systemd, GError **error) -+{ -+ xfpm_systemd_try_method (systemd, -+ SYSTEMD_REBOOT_ACTION, -+ error); -+} -diff --git a/src/xfpm-systemd.h b/src/xfpm-systemd.h -new file mode 100644 -index 0000000..2890e08 ---- /dev/null -+++ b/src/xfpm-systemd.h -@@ -0,0 +1,60 @@ -+/* -+ * * Copyright (C) 2009-2011 Ali <aliov@xfce.org> -+ * * Copyright (C) 2013 Andreas Müller <schnitzeltony@googlemail.com> -+ * -+ * Licensed under the GNU General Public License Version 2 -+ * -+ * 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 -+ */ -+ -+#ifndef __XFPM_SYSTEMD_H -+#define __XFPM_SYSTEMD_H -+ -+#include <glib-object.h> -+ -+G_BEGIN_DECLS -+ -+#define XFPM_TYPE_SYSTEMD (xfpm_systemd_get_type () ) -+#define XFPM_SYSTEMD(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), XFPM_TYPE_SYSTEMD, XfpmSystemd)) -+#define XFPM_IS_SYSTEMD(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), XFPM_TYPE_SYSTEMD)) -+ -+typedef struct XfpmSystemdPrivate XfpmSystemdPrivate; -+ -+typedef struct -+{ -+ GObject parent; -+ XfpmSystemdPrivate *priv; -+ -+} XfpmSystemd; -+ -+typedef struct -+{ -+ GObjectClass parent_class; -+ -+} XfpmSystemdClass; -+ -+GType XFPM_SYSTEMD_get_type (void) G_GNUC_CONST; -+ -+XfpmSystemd *XFPM_SYSTEMD_new (void); -+ -+void XFPM_SYSTEMD_shutdown (XfpmSystemd *systemd, -+ GError **error); -+ -+void XFPM_SYSTEMD_reboot (XfpmSystemd *systemd, -+ GError **error); -+ -+G_END_DECLS -+ -+#endif /* __XFPM_SYSTEMD_H */ --- -1.7.6.5 - diff --git a/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.2.0.bb b/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.4.1.bb index 6e92186ab9..a4aaf668d7 100644 --- a/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.2.0.bb +++ b/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.4.1.bb @@ -10,9 +10,8 @@ inherit xfce DEPENDS = "gtk+ glib-2.0 dbus-glib xfconf libxfce4ui libxfce4util libnotify \ libxrandr virtual/libx11 libxext xfce4-panel" -SRC_URI += "file://0001-Add-shutdown-reboot-functionality-for-systemd.patch" - -RDEPENDS_${PN} = "networkmanager udisks upower ${@base_contains('DISTRO_FEATURES','systemd','','consolekit',d)}" +SRC_URI[md5sum] = "808a2630487d75e6eae915e464b7fda3" +SRC_URI[sha256sum] = "16a9e9bf3e0f8480d05b248817fbdc59e701e9161d3d0c7e53f3de28ed491f58" EXTRA_OECONF = " \ --enable-network-manager \ @@ -22,12 +21,22 @@ EXTRA_OECONF = " \ PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES','systemd','systemd','',d)}" PACKAGECONFIG[systemd] = "--enable-polkit, --disable-polkit, polkit" -PACKAGES += "xfce4-brightness-plugin" -FILES_${PN} += "${datadir}/polkit-1" -FILES_xfce4-brightness-plugin = " \ - ${libdir}/xfce4/panel-plugins/xfce4-brightness-plugin \ - ${datadir}/xfce4/panel-plugins/xfce4-brightness-plugin.desktop \ +PACKAGES += "xfce4-powermanager-plugin" + +FILES_${PN} += " \ + ${datadir}/polkit-1 \ + ${datadir}/appdata \ " -SRC_URI[md5sum] = "935599b7114b0a4b0e2c9a5d6c72524c" -SRC_URI[sha256sum] = "d7fb98a540284b62f4201527de17d4b24123f9d26c9f49131dd497c8387184e9" +FILES_xfce4-powermanager-plugin = " \ + ${libdir}/xfce4 \ + ${datadir}/xfce4 \ +" + +RDEPENDS_xfce4-powermanager-plugin = "${PN}" +RDEPENDS_${PN} = "networkmanager udisks upower ${@base_contains('DISTRO_FEATURES','systemd','','consolekit',d)}" + +# xfce4-brightness-plugin was replaced by xfce4-powermanager-plugin +RPROVIDES_xfce4-powermanager-plugin += "xfce4-brightness-plugin" +RREPLACES_xfce4-powermanager-plugin += "xfce4-brightness-plugin" +RCONFLICTS_xfce4-powermanager-plugin += "xfce4-brightness-plugin" diff --git a/toolchain-layer/conf/layer.conf b/toolchain-layer/conf/layer.conf index ca81eb148a..b377f12360 100644 --- a/toolchain-layer/conf/layer.conf +++ b/toolchain-layer/conf/layer.conf @@ -23,3 +23,8 @@ BBFILE_PATTERN_toolchain-layer := "^${LAYERDIR}/" BBFILE_PRIORITY_toolchain-layer = "6" +# This should only be incremented on significant changes that will +# cause compatibility issues with other layers +LAYERVERSION_toolchain-layer = "1" + +LAYERDEPENDS_toolchain-layer = "core" |